@creative-web-solution/front-library 7.0.7 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/DOM/Class.ts +10 -12
- package/DOM/DocumentSize.ts +3 -1
- package/DOM/Filter.ts +0 -2
- package/DOM/Index.ts +1 -3
- package/DOM/Manipulation.ts +0 -3
- package/DOM/Matrix.ts +12 -12
- package/DOM/Offset.ts +4 -5
- package/DOM/OuterSize.ts +12 -12
- package/DOM/PageToDOM.ts +2 -2
- package/DOM/Position.ts +3 -3
- package/DOM/Size.ts +3 -7
- package/DOM/StrToDOM.ts +0 -1
- package/DOM/Styles.ts +3 -12
- package/DOM/Traversing.ts +0 -6
- package/DOM/WindowScroll.ts +3 -1
- package/DOM/WindowSize.ts +3 -1
- package/DOM/Wrap.ts +0 -1
- package/Events/DeviceOrientation.ts +27 -31
- package/Events/EventsManager.ts +10 -25
- package/Events/Gesture.ts +36 -37
- package/Events/HistoryController.ts +11 -17
- package/Events/ImageLoad.ts +35 -19
- package/Events/IntersectObserver.ts +15 -19
- package/Events/KeyboardHandler.ts +10 -8
- package/Events/MediaQueriesEvents.ts +53 -51
- package/Events/OnAnimationEnd.ts +2 -3
- package/Events/OnTransitionEnd.ts +3 -3
- package/Events/PubSub.ts +5 -8
- package/Events/TouchHover.ts +18 -21
- package/Events/WindowEvents.ts +26 -30
- package/Helpers/Colors.ts +7 -23
- package/Helpers/Cookie.ts +5 -12
- package/Helpers/Coordinates.ts +0 -7
- package/Helpers/Debounce.ts +3 -7
- package/Helpers/Defer.ts +1 -1
- package/Helpers/GetValue.ts +0 -2
- package/Helpers/Insert.ts +0 -1
- package/Helpers/Sequential.ts +0 -2
- package/Helpers/Slice.ts +0 -3
- package/Helpers/Throttle.ts +0 -1
- package/Helpers/TransitionHelpers.ts +8 -6
- package/Helpers/Type.ts +1 -14
- package/Helpers/Unique.ts +3 -3
- package/Helpers/UrlParser.ts +13 -22
- package/Helpers/Wait.ts +1 -1
- package/Modules/Accordion/Tab.ts +18 -16
- package/Modules/Accordion/index.ts +24 -16
- package/Modules/Autocomplete.ts +95 -101
- package/Modules/DragSlider.ts +72 -63
- package/Modules/GlobalState.ts +60 -53
- package/Modules/LoadGMap.ts +4 -7
- package/Modules/Notifications/Notification.ts +28 -32
- package/Modules/Notifications/index.ts +43 -36
- package/Modules/Popin/Popin.ts +100 -110
- package/Modules/Popin/PopinAccessibility.ts +8 -8
- package/Modules/Popin/PopinBackground.ts +11 -11
- package/Modules/Popin/PopinController.ts +23 -29
- package/Modules/Popin/Tools.ts +18 -19
- package/Modules/QuickTemplate.ts +4 -6
- package/Modules/ScrollSnap.ts +110 -104
- package/Modules/SkinCheckbox.ts +51 -37
- package/Modules/SkinFile.ts +62 -52
- package/Modules/SkinRadio.ts +62 -42
- package/Modules/SkinSelect.ts +116 -100
- package/Modules/Slider/Slide.ts +49 -52
- package/Modules/Slider/Slider.ts +100 -136
- package/Modules/Slider/SliderControls.ts +60 -59
- package/Modules/Tabs/Tab.ts +27 -23
- package/Modules/Tabs/index.ts +35 -25
- package/Modules/Validator/Date.ts +2 -1
- package/Modules/Validator/Equals.ts +1 -1
- package/Modules/Validator/Internal/Input.ts +370 -0
- package/Modules/Validator/Internal/InputValidator.ts +99 -0
- package/Modules/Validator/Internal/ValidatorFunctionsController.ts +58 -0
- package/Modules/Validator/Max.ts +1 -1
- package/Modules/Validator/Min.ts +1 -1
- package/Modules/Validator/MultiRequired.ts +5 -5
- package/Modules/Validator/Number.ts +1 -0
- package/Modules/Validator/Pattern.ts +1 -1
- package/Modules/Validator/Recaptcha.ts +1 -0
- package/Modules/Validator/Required.ts +3 -2
- package/Modules/Validator/ServerCheck.ts +23 -15
- package/Modules/Validator/Tools/GetQueryFromForm.ts +1 -6
- package/Modules/Validator/Tools/IsDate.ts +2 -3
- package/Modules/Validator/Tools/IsEmail.ts +2 -5
- package/Modules/Validator/Tools/IsEmpty.ts +0 -2
- package/Modules/Validator/Tools/IsNumber.ts +0 -2
- package/Modules/Validator/Tools/IsUrl.ts +1 -3
- package/Modules/Validator/Tools/Label.ts +5 -15
- package/Modules/Validator/Tools/RadioButton.ts +4 -10
- package/Modules/Validator/Url.ts +1 -0
- package/Modules/Validator/index.ts +36 -36
- package/Modules/YouTubePlayer.ts +18 -16
- package/README.md +1 -1
- package/Types/Accordion.d.ts +36 -0
- package/Types/Autocomplete.d.ts +95 -0
- package/Types/DOM.d.ts +69 -0
- package/Types/DragSlider.d.ts +56 -0
- package/Types/EventsHelpers.d.ts +390 -0
- package/Types/GLImageTransition.d.ts +47 -43
- package/Types/GlobalState.d.ts +9 -0
- package/Types/Helpers.d.ts +30 -0
- package/Types/Notifications.d.ts +48 -44
- package/Types/Popin.d.ts +95 -0
- package/Types/ScrollSnap.d.ts +66 -0
- package/Types/SkinCheckbox.d.ts +26 -0
- package/Types/SkinFile.d.ts +38 -0
- package/Types/SkinRadio.d.ts +28 -0
- package/Types/SkinSelect.d.ts +59 -0
- package/Types/Slider.d.ts +106 -0
- package/Types/Tabs.d.ts +26 -0
- package/Types/Validator.d.ts +72 -0
- package/Types/YouTubePlayer.d.ts +27 -0
- package/Types/index.d.ts +22 -21
- package/WebGL/GLImageTransition/GLImageTransition.ts +83 -80
- package/WebGL/GLImageTransition/Presets/Cellular.ts +11 -11
- package/WebGL/GLImageTransition/Presets/Fade.ts +2 -3
- package/WebGL/GLImageTransition/Presets/HorizontalMovingGrid.ts +9 -9
- package/WebGL/GLImageTransition/Presets/PresetSample.ts +11 -9
- package/WebGL/GLImageTransition/Presets/Solarisation.ts +7 -12
- package/package.json +1 -1
- package/Modules/Template.ts +0 -209
- package/Types/AccordionTypes.d.ts +0 -29
- package/Types/AutocompleteTypes.d.ts +0 -85
- package/Types/DOMTypes.d.ts +0 -62
- package/Types/DragSliderTypes.d.ts +0 -52
- package/Types/EventsHelpersTypes.d.ts +0 -370
- package/Types/GlobalStateTypes.d.ts +0 -5
- package/Types/HelpersTypes.d.ts +0 -23
- package/Types/MediaPreloaderTypes.d.ts +0 -12
- package/Types/PopinTypes.d.ts +0 -83
- package/Types/ScrollSnapTypes.d.ts +0 -62
- package/Types/SkinCheckboxTypes.d.ts +0 -23
- package/Types/SkinFileTypes.d.ts +0 -34
- package/Types/SkinRadioTypes.d.ts +0 -24
- package/Types/SkinSelectTypes.d.ts +0 -48
- package/Types/SliderTypes.d.ts +0 -97
- package/Types/TabsTypes.d.ts +0 -22
- package/Types/ValidatorTypes.d.ts +0 -61
- package/Types/YouTubePlayerTypes.d.ts +0 -23
|
@@ -1,47 +1,51 @@
|
|
|
1
|
-
|
|
1
|
+
namespace FLib {
|
|
2
|
+
namespace GLImageTransition {
|
|
3
|
+
type FitType = 'cover' | 'contains';
|
|
2
4
|
|
|
3
|
-
interface
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
5
|
+
interface Preset {
|
|
6
|
+
fsSource: string;
|
|
7
|
+
addUniform?( GL: WebGLRenderingContext, SHADER_PROGRAM: WebGLProgram ): void;
|
|
8
|
+
updateUniform?( GL: WebGLRenderingContext ): void;
|
|
9
|
+
onTransitionStart?();
|
|
10
|
+
onTransitionEnd?();
|
|
11
|
+
}
|
|
10
12
|
|
|
11
13
|
|
|
12
|
-
type
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
14
|
+
type Options = {
|
|
15
|
+
preset: Preset;
|
|
16
|
+
/** @defaultValue document.body */
|
|
17
|
+
$wrapper: HTMLElement;
|
|
18
|
+
/** @defaultValue webgl */
|
|
19
|
+
context: string;
|
|
20
|
+
/** @defaultValue cover */
|
|
21
|
+
fitMode: FitType;
|
|
22
|
+
/**
|
|
23
|
+
* Transition duration in second
|
|
24
|
+
* @defaultValue 1
|
|
25
|
+
*/
|
|
26
|
+
duration: number;
|
|
27
|
+
/**
|
|
28
|
+
* 0 <= color <= 1
|
|
29
|
+
* @defaultValue [0, 0, 0, 1]
|
|
30
|
+
*/
|
|
31
|
+
backgroundColor: number[];
|
|
32
|
+
/**
|
|
33
|
+
* Color displayed instead of the texture when an error occured on image loading. 0 <= color <= 1
|
|
34
|
+
* @defaultValue [0, 0, 1, 1]
|
|
35
|
+
*/
|
|
36
|
+
dummyTextureColor: number[];
|
|
37
|
+
canvasCssClass?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Should the canvas size respond to the browser's size change
|
|
40
|
+
* @defaultValue false
|
|
41
|
+
*/
|
|
42
|
+
fluid: boolean;
|
|
43
|
+
/** Called juste before the loading start */
|
|
44
|
+
onImageLoading?: ( url: string, isInit: boolean ) => void;
|
|
45
|
+
/** Called once the loading is done */
|
|
46
|
+
onImageLoaded?: ( url: string, isInit: boolean ) => void;
|
|
47
|
+
/** Called on image loading error */
|
|
48
|
+
onImageError?: ( url: string, isInit: boolean ) => void;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
47
51
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
namespace FLib {
|
|
2
|
+
namespace Helpers {
|
|
3
|
+
namespace Color {
|
|
4
|
+
type RenderType = 'obj' | 'hex' | 'rgba';
|
|
5
|
+
|
|
6
|
+
type Color = {
|
|
7
|
+
r: number;
|
|
8
|
+
g: number;
|
|
9
|
+
b: number;
|
|
10
|
+
a: number;
|
|
11
|
+
hr: string;
|
|
12
|
+
hg: string;
|
|
13
|
+
hb: string;
|
|
14
|
+
ha: string;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
namespace Cookie {
|
|
19
|
+
type Options = {
|
|
20
|
+
days: number | null;
|
|
21
|
+
/** Default value is true if the location protocol is https */
|
|
22
|
+
secure: boolean;
|
|
23
|
+
/** Default: window.location.hostname */
|
|
24
|
+
domain: string;
|
|
25
|
+
/** Default: / */
|
|
26
|
+
path: string;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
package/Types/Notifications.d.ts
CHANGED
|
@@ -1,47 +1,51 @@
|
|
|
1
|
-
|
|
1
|
+
namespace FLib {
|
|
2
|
+
namespace Notifications {
|
|
3
|
+
type Type = 'info' | 'success' | 'warning' | 'danger';
|
|
2
4
|
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
5
|
+
type Options = {
|
|
6
|
+
/** @defaultValue document.body */
|
|
7
|
+
$wrapper: HTMLElement;
|
|
8
|
+
onClick: ( notification ) => void;
|
|
9
|
+
/**
|
|
10
|
+
* In second
|
|
11
|
+
* @defaultValue 5
|
|
12
|
+
*/
|
|
13
|
+
autoCloseDelay: number;
|
|
14
|
+
templates: {
|
|
15
|
+
/** @defaultValue <div class="notifications"><div class="list"></div></div> */
|
|
16
|
+
notifications: string;
|
|
17
|
+
/** @defaultValue <div class="notification"></div> */
|
|
18
|
+
notification : string;
|
|
19
|
+
};
|
|
20
|
+
selectors: {
|
|
21
|
+
/** @defaultValue .notifications */
|
|
22
|
+
notifications: string;
|
|
23
|
+
/** @defaultValue .notification */
|
|
24
|
+
notification: string;
|
|
25
|
+
/** @defaultValue .list */
|
|
26
|
+
list: string;
|
|
27
|
+
};
|
|
28
|
+
cssClass: {
|
|
29
|
+
/** @defaultValue open */
|
|
30
|
+
open: string;
|
|
31
|
+
/** @defaultValue success */
|
|
32
|
+
success: string;
|
|
33
|
+
/** @defaultValue danger */
|
|
34
|
+
danger: string;
|
|
35
|
+
/** @defaultValue warning */
|
|
36
|
+
warning: string;
|
|
37
|
+
/** @defaultValue info */
|
|
38
|
+
info: string;
|
|
39
|
+
};
|
|
40
|
+
animations: {
|
|
41
|
+
show: ( $notification, options ) => Promise
|
|
42
|
+
hide: ( $notification, options ) => Promise
|
|
43
|
+
};
|
|
44
|
+
}
|
|
43
45
|
|
|
44
|
-
type
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
type NotificationOptions = {
|
|
47
|
+
closeDelay?: number | false;
|
|
48
|
+
onClick?: ( e: Event ) => void;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
47
51
|
}
|
package/Types/Popin.d.ts
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
namespace FLib {
|
|
2
|
+
namespace Popin {
|
|
3
|
+
type AnimationFunction = ( $element: HTMLElement ) => Promise<void>;
|
|
4
|
+
type ResponseType = 'arrayBuffer' | 'blob' | 'json' | 'text' | 'formData';
|
|
5
|
+
|
|
6
|
+
interface TemplatesOptions {
|
|
7
|
+
/** @defaultValue `<div class="popin-loader"></div>` */
|
|
8
|
+
popinLoader: string;
|
|
9
|
+
/** @defaultValue `<div class="popin"><div class="popin-content"></div></div>` */
|
|
10
|
+
popin: string;
|
|
11
|
+
/** @defaultValue `<div class="bg-popin"></div>` */
|
|
12
|
+
bgLayer: string;
|
|
13
|
+
/** @defaultValue `"<div class="error">{{ message }}</div>"` */
|
|
14
|
+
errorMessage: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface SelectorsOptions {
|
|
18
|
+
/** @defaultValue .popin */
|
|
19
|
+
popin: string;
|
|
20
|
+
/** @defaultValue .popin-content */
|
|
21
|
+
popinContent: string;
|
|
22
|
+
/** @defaultValue a[data-popin] */
|
|
23
|
+
links: string;
|
|
24
|
+
/** @defaultValue form[data-popin] */
|
|
25
|
+
forms: string;
|
|
26
|
+
/** @defaultValue button[data-close-popin] */
|
|
27
|
+
btClosePopin: string;
|
|
28
|
+
/** @defaultValue data-onload-popin */
|
|
29
|
+
openOnLoadAttribute: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface AnimationsOptions {
|
|
33
|
+
/** @defaultValue `$bg => { $bg.style.display = 'block'; return Promise.resolve(); }` */
|
|
34
|
+
openBg: AnimationFunction;
|
|
35
|
+
/** @defaultValue `$bg => { $bg.style.display = 'none'; return Promise.resolve(); }` */
|
|
36
|
+
closeBg: AnimationFunction;
|
|
37
|
+
/** @defaultValue `$popin => { $popin.style.display = 'block'; $popin.style.opacity = 0; return Promise.resolve(); }` */
|
|
38
|
+
initOpenPopin: AnimationFunction;
|
|
39
|
+
/** @defaultValue `$popin => { $popin.style.opacity = 1; return Promise.resolve(); }` */
|
|
40
|
+
openPopin: AnimationFunction;
|
|
41
|
+
/** @defaultValue `$popin => { $popin.style.display = 'none'; return Promise.resolve(); }` */
|
|
42
|
+
closePopin: AnimationFunction;
|
|
43
|
+
/** @defaultValue `$loader => { $loader.style.display = 'block'; return Promise.resolve(); }` */
|
|
44
|
+
openLoader: AnimationFunction;
|
|
45
|
+
/** @defaultValue `$loader => { $loader.style.display = 'none'; return Promise.resolve(); }` */
|
|
46
|
+
closeLoader: AnimationFunction;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
interface Options {
|
|
50
|
+
/** @defaultValue false */
|
|
51
|
+
modal: boolean;
|
|
52
|
+
/** @defaultValue 20 */
|
|
53
|
+
marginHeight: number;
|
|
54
|
+
/** @defaultValue false */
|
|
55
|
+
autoResize: boolean;
|
|
56
|
+
/** @defaultValue "Error while loading.." */
|
|
57
|
+
errorMessage: string;
|
|
58
|
+
/** @defaultValue true */
|
|
59
|
+
enableKeyboard: boolean;
|
|
60
|
+
onOpen?: ( $popin: HTMLElement ) => void;
|
|
61
|
+
onClose?: ( $popin: HTMLElement ) => void;
|
|
62
|
+
onLoad: ( $popin: HTMLElement ) => Promise<void>;
|
|
63
|
+
/** @defaultValue `() => 'text'` */
|
|
64
|
+
setLinkResponseType: ( url: string, $link: HTMLAnchorElement ) => ResponseType;
|
|
65
|
+
/** @defaultValue `() => 'text'` */
|
|
66
|
+
setFormResponseType: ( $form: HTMLElement ) => ResponseType;
|
|
67
|
+
/** @defaultValue `() => true` */
|
|
68
|
+
checkValidity: ( $form: HTMLElement ) => boolean | Promise<void>;
|
|
69
|
+
/** @defaultValue `(body) => { return { success: true, data: body }` */
|
|
70
|
+
normalize: ( body, response, isHttpError: boolean ) => { success: boolean, data };
|
|
71
|
+
/**
|
|
72
|
+
* If false, ajax http error (404, 500, ...) should be handled in the normalize function
|
|
73
|
+
* @defaultValue true
|
|
74
|
+
*/
|
|
75
|
+
autoHandleAjaxError: boolean;
|
|
76
|
+
templates: TemplatesOptions;
|
|
77
|
+
selectors: SelectorsOptions;
|
|
78
|
+
animations: AnimationsOptions;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
interface ControllerOptions {
|
|
83
|
+
controller: Controller;
|
|
84
|
+
background: Background;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
interface OptionsInit extends Partial<Options> {
|
|
89
|
+
templates?: Partial<TemplatesOptions>;
|
|
90
|
+
selectors?: Partial<SelectorsOptions>;
|
|
91
|
+
animations?: Partial<AnimationsOptions>;
|
|
92
|
+
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
namespace FLib {
|
|
2
|
+
namespace ScrollSnap {
|
|
3
|
+
type SnapType = 'scroll' | 'api';
|
|
4
|
+
|
|
5
|
+
type DirectionType = 'h' | 'v';
|
|
6
|
+
|
|
7
|
+
type ScrollPropertyType = 'scrollLeft' | 'scrollTop';
|
|
8
|
+
|
|
9
|
+
type SizePropertyType = 'scrollWidth' | 'scrollHeight';
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
type Item = {
|
|
13
|
+
coord: number;
|
|
14
|
+
index: number;
|
|
15
|
+
isFirst: boolean;
|
|
16
|
+
isLast: boolean;
|
|
17
|
+
$item: HTMLElement;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
type ScrollToCallback = ( snapItem: Item, snapItemType: SnapType ) => void;
|
|
21
|
+
type Callback = ( item: CallbackParam ) => void;
|
|
22
|
+
|
|
23
|
+
type CallbackParam = {
|
|
24
|
+
$scroller: HTMLElement;
|
|
25
|
+
snapItem: Item;
|
|
26
|
+
/** If the event comes after a scroll: scroll. If it comes after a function call (like next, previous, ...): api. */
|
|
27
|
+
type: SnapType;
|
|
28
|
+
scrollerSize: number;
|
|
29
|
+
offsetSize: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
type RefreshOption = {
|
|
33
|
+
/** Selector or DOMList of the items */
|
|
34
|
+
snapTo?: string | NodeList;
|
|
35
|
+
/** Item to put on the left */
|
|
36
|
+
$itemToSnapOn?: HTMLElement;
|
|
37
|
+
$offsetElement?: HTMLElement;
|
|
38
|
+
offset?: {
|
|
39
|
+
top?: number;
|
|
40
|
+
left?: number;
|
|
41
|
+
};
|
|
42
|
+
direction?: DirectionType;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
type Options = {
|
|
46
|
+
/** @defaultValue locked */
|
|
47
|
+
lockedClass?: string;
|
|
48
|
+
/** @defaultValue 2 */
|
|
49
|
+
minItemsToActivate?: number;
|
|
50
|
+
/** @defaultValue h */
|
|
51
|
+
direction?: DirectionType;
|
|
52
|
+
/** Internal function using GSAP and scrollTo plugin to set the scroll. Can be override to use another library */
|
|
53
|
+
_setScroll?: ( $scroller: HTMLElement, x: number, y: number ) => void;
|
|
54
|
+
$offsetElement?: HTMLElement;
|
|
55
|
+
offset?: {
|
|
56
|
+
top?: number;
|
|
57
|
+
left?: number;
|
|
58
|
+
};
|
|
59
|
+
onSnapStart?: Callback;
|
|
60
|
+
onSnapEnd?: Callback;
|
|
61
|
+
onReachStart?: Callback;
|
|
62
|
+
onReachEnd?: Callback;
|
|
63
|
+
snapTo?: string | NodeList;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
namespace FLib {
|
|
2
|
+
namespace SkinCheckbox {
|
|
3
|
+
type Options = {
|
|
4
|
+
/** @defaultValue <span class="cb-skin"></span> */
|
|
5
|
+
wrap: string;
|
|
6
|
+
/** @defaultValue invalid */
|
|
7
|
+
invalidClass: string;
|
|
8
|
+
/** @defaultValue disabled */
|
|
9
|
+
disabledClass: string;
|
|
10
|
+
/** @defaultValue checked */
|
|
11
|
+
checkedClass: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
type AllOptions = Options & {
|
|
15
|
+
selector: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
type CustomCheckbox = HTMLInputElement & {
|
|
19
|
+
__skinAPI?: SkinCheckbox
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
type CustomCheckboxParent = HTMLElement & {
|
|
23
|
+
__skinAPI?: SkinCheckbox
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
namespace FLib {
|
|
2
|
+
namespace SkinFile {
|
|
3
|
+
type Options = {
|
|
4
|
+
/** @defaultValue .file-skin */
|
|
5
|
+
selector: string;
|
|
6
|
+
/** @defaultValue <div class="file-skin"></div> */
|
|
7
|
+
wrap: string;
|
|
8
|
+
/** @defaultValue .file-info */
|
|
9
|
+
fileInfoSelector: string;
|
|
10
|
+
/** @defaultValue <div class="file-info"></div> */
|
|
11
|
+
fileInfo: string;
|
|
12
|
+
/** @defaultValue true */
|
|
13
|
+
autoHideFileInfo: boolean;
|
|
14
|
+
/** @defaultValue .file-reset */
|
|
15
|
+
resetButtonSelector: string;
|
|
16
|
+
/** @defaultValue <span class="file-reset">×</span> */
|
|
17
|
+
resetButton: string;
|
|
18
|
+
/** @defaultValue disabled */
|
|
19
|
+
disabledClass: string;
|
|
20
|
+
/** @defaultValue invalid */
|
|
21
|
+
invalidClass: string;
|
|
22
|
+
/** @defaultValue selected */
|
|
23
|
+
selectedClass: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
type AllOptions = Options & {
|
|
27
|
+
selector: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
type CustomInputFile = HTMLInputElement & {
|
|
31
|
+
__skinAPI?: SkinFile
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
type CustomInputFileParent = HTMLElement & {
|
|
35
|
+
__skinAPI?: SkinFile
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
namespace FLib {
|
|
2
|
+
namespace SkinRadio {
|
|
3
|
+
type Options = {
|
|
4
|
+
/** @defaultValue <span class="rb-skin"></span> */
|
|
5
|
+
wrap: string;
|
|
6
|
+
/** @defaultValue invalid */
|
|
7
|
+
invalidClass: string;
|
|
8
|
+
/** @defaultValue disabled */
|
|
9
|
+
disabledClass: string;
|
|
10
|
+
/** @defaultValue checked */
|
|
11
|
+
checkedClass: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
type AllOptions = Options & {
|
|
15
|
+
selector: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
type CustomRadioButton = HTMLInputElement & {
|
|
19
|
+
__skinAPI?: SkinRadioButton;
|
|
20
|
+
__$radioGroup?: NodeListOf<CustomRadioButton>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type CustomRadioButtonParent = HTMLElement & {
|
|
24
|
+
__skinAPI?: SkinRadioButton;
|
|
25
|
+
__$radioGroup?: NodeListOf<CustomRadioButton>;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
namespace FLib {
|
|
2
|
+
namespace SkinSelect {
|
|
3
|
+
type Options = {
|
|
4
|
+
/**
|
|
5
|
+
* If true, skin event the option list
|
|
6
|
+
* @defaultValue false
|
|
7
|
+
*/
|
|
8
|
+
full: boolean;
|
|
9
|
+
/** @defaultValue [] */
|
|
10
|
+
extraClass: string[];
|
|
11
|
+
/** @defaultValue select-skin */
|
|
12
|
+
className: string;
|
|
13
|
+
/** @defaultValue select-itm */
|
|
14
|
+
itemClassName: string;
|
|
15
|
+
/** @defaultValue select */
|
|
16
|
+
selectWrapClassName: string;
|
|
17
|
+
/** @defaultValue select-layer */
|
|
18
|
+
layerClassName: string;
|
|
19
|
+
/** @defaultValue select-list */
|
|
20
|
+
listClassName: string;
|
|
21
|
+
/** @defaultValue hover */
|
|
22
|
+
hoverItemClass: string;
|
|
23
|
+
/** @defaultValue show */
|
|
24
|
+
openedListClass: string;
|
|
25
|
+
/** @defaultValue on */
|
|
26
|
+
activeOptionClass: string;
|
|
27
|
+
/** @defaultValue disabled */
|
|
28
|
+
disabledClass: string;
|
|
29
|
+
/** @defaultValue invalid */
|
|
30
|
+
invalidClass: string;
|
|
31
|
+
/** @defaultValue loading */
|
|
32
|
+
loadingClass: string;
|
|
33
|
+
listTpl: {
|
|
34
|
+
/** @defaultValue `<div class="{{ layerClassName }}"><ul class="{{ listClassName }}">{{ items }}</ul></div>` */
|
|
35
|
+
wrapper: string;
|
|
36
|
+
/** @defaultValue `<li class="{{ itemClassName }}{{ onClass }}" data-value="{{ value }}">{{ text }}</li>` */
|
|
37
|
+
item: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
type AllOptions = Options & {
|
|
42
|
+
selector: string;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
type CustomSelect = HTMLSelectElement & {
|
|
46
|
+
__skinAPI?: SkinSelect;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
type CustomSelectParent = HTMLElement & {
|
|
50
|
+
__skinAPI?: SkinSelect;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
type OptionArray = {
|
|
54
|
+
text: string;
|
|
55
|
+
value: string;
|
|
56
|
+
selected?: boolean;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
namespace FLib {
|
|
2
|
+
namespace Slider {
|
|
3
|
+
type SlideDirection = -1 | 1;
|
|
4
|
+
|
|
5
|
+
type SlideProperties = {
|
|
6
|
+
$slide: HTMLElement;
|
|
7
|
+
id: string;
|
|
8
|
+
delay: number;
|
|
9
|
+
index: number;
|
|
10
|
+
position: number;
|
|
11
|
+
isFirst: boolean;
|
|
12
|
+
isLast: boolean;
|
|
13
|
+
isVisible: boolean;
|
|
14
|
+
isActive: boolean;
|
|
15
|
+
page: number;
|
|
16
|
+
pageIndex: number;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
type SlideOptions = {
|
|
21
|
+
nbSlideVisibleBefore: number;
|
|
22
|
+
nbSlideVisibleAfter: number;
|
|
23
|
+
slidePerPage: number;
|
|
24
|
+
moveByPage: boolean;
|
|
25
|
+
nbSlides: number;
|
|
26
|
+
nbPages: number;
|
|
27
|
+
speed: number;
|
|
28
|
+
$slide: HTMLElement;
|
|
29
|
+
index: number;
|
|
30
|
+
/** Internal function using GSAP to set CSS styles. Can be override to use another library */
|
|
31
|
+
_setStyle?: ( $elem, styles ) => void;
|
|
32
|
+
/** Internal function using GSAP to tween element. Can be override to use another library */
|
|
33
|
+
_tweenTo?: ( $elem, styles ) => void;
|
|
34
|
+
/** Internal function using GSAP to initialize and tween element. Can be override to use another library */
|
|
35
|
+
_tweenFromTo?: ( $elem, init, styles ) => void;
|
|
36
|
+
/** Internal function using GSAP to remove tweens from element. Can be override to use another library */
|
|
37
|
+
_killTweens?: ( $elem ) => void;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
type CallbackParam = {
|
|
41
|
+
currentSlide: SlideProperties;
|
|
42
|
+
targetSlide: SlideProperties;
|
|
43
|
+
direction?: SlideDirection;
|
|
44
|
+
$button?: HTMLElement
|
|
45
|
+
}
|
|
46
|
+
type Callback = ( data: CallbackParam ) => void;
|
|
47
|
+
type InitCallback = ({ currentSlide: SlidePropertiesType }) => void;
|
|
48
|
+
|
|
49
|
+
type Options = {
|
|
50
|
+
/** @defaultValue 0 */
|
|
51
|
+
startSlide: number;
|
|
52
|
+
/** @defaultValue 0 */
|
|
53
|
+
nbSlideVisibleBefore: number;
|
|
54
|
+
/** @defaultValue 0 */
|
|
55
|
+
nbSlideVisibleAfter: number;
|
|
56
|
+
/** @defaultValue 1 */
|
|
57
|
+
slidePerPage: number;
|
|
58
|
+
/** @defaultValue true */
|
|
59
|
+
moveByPage: boolean;
|
|
60
|
+
/** In second
|
|
61
|
+
* @defaultValue 0.5
|
|
62
|
+
*/
|
|
63
|
+
speed: number;
|
|
64
|
+
/** @defaultValue true */
|
|
65
|
+
smoothHeight: boolean;
|
|
66
|
+
/** @defaultValue .list */
|
|
67
|
+
listSelector: string;
|
|
68
|
+
/** @defaultValue .item */
|
|
69
|
+
itemsSelector: string;
|
|
70
|
+
/** @defaultValue active-slide */
|
|
71
|
+
activeClass: string;
|
|
72
|
+
/** @defaultValue true*/
|
|
73
|
+
loop: boolean;
|
|
74
|
+
/** Called one time at the begining of the animation */
|
|
75
|
+
onBefore?: Callback;
|
|
76
|
+
/** Called for every slide that will come in the 1st position during the animation */
|
|
77
|
+
onBeforeEach?: Callback;
|
|
78
|
+
/** Called one time at the end of the animation */
|
|
79
|
+
onAfter?: Callback;
|
|
80
|
+
/** Called for every slide that is came in the 1st position during the animation */
|
|
81
|
+
onAfterEach?: Callback;
|
|
82
|
+
/** Called one time at the initialisation of the slider */
|
|
83
|
+
onStart?: InitCallback;
|
|
84
|
+
/** Internal function using GSAP to set CSS styles. Can be override to use another library */
|
|
85
|
+
_setStyle: ( $elem, styles ) => void;
|
|
86
|
+
/** Internal function using GSAP to tween element. Can be override to use another library */
|
|
87
|
+
_tweenTo: ( $elem, styles ) => void;
|
|
88
|
+
/** Internal function using GSAP to initialize and tween element. Can be override to use another library */
|
|
89
|
+
_tweenFromTo: ( $elem, init, styles ) => void;
|
|
90
|
+
/** Internal function using GSAP to remove tweens from element. Can be override to use another library */
|
|
91
|
+
_killTweens: ( $elem ) => void;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
type ControlsOptions = {
|
|
95
|
+
$btPrev?: HTMLElement;
|
|
96
|
+
$btNext?: HTMLElement;
|
|
97
|
+
$pagination?: HTMLElement;
|
|
98
|
+
paginationItemsSelector?: string;
|
|
99
|
+
/** In second */
|
|
100
|
+
autoslide?: number | boolean;
|
|
101
|
+
swipe?: boolean;
|
|
102
|
+
enableKeyboard?: boolean;
|
|
103
|
+
gestureOptions?: FLib.Events.Gesture.Options;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|