@brandocms/jupiter 3.55.0 → 4.0.0-beta.2
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/README.md +509 -54
- package/package.json +30 -18
- package/src/index.js +15 -10
- package/src/modules/Application/index.js +236 -158
- package/src/modules/Breakpoints/index.js +116 -36
- package/src/modules/Cookies/index.js +95 -64
- package/src/modules/CoverOverlay/index.js +21 -14
- package/src/modules/Dataloader/index.js +71 -24
- package/src/modules/Dataloader/url-sync.js +238 -0
- package/src/modules/Dom/index.js +24 -0
- package/src/modules/DoubleHeader/index.js +571 -0
- package/src/modules/Dropdown/index.js +108 -73
- package/src/modules/EqualHeightElements/index.js +8 -8
- package/src/modules/EqualHeightImages/index.js +15 -7
- package/src/modules/FixedHeader/index.js +116 -30
- package/src/modules/FooterReveal/index.js +5 -5
- package/src/modules/HeroSlider/index.js +231 -106
- package/src/modules/HeroVideo/index.js +72 -44
- package/src/modules/Lazyload/index.js +128 -80
- package/src/modules/Lightbox/index.js +101 -80
- package/src/modules/Links/index.js +77 -51
- package/src/modules/Looper/index.js +1737 -0
- package/src/modules/Marquee/index.js +106 -37
- package/src/modules/MobileMenu/index.js +105 -130
- package/src/modules/Moonwalk/index.js +479 -153
- package/src/modules/Parallax/index.js +280 -57
- package/src/modules/Popover/index.js +187 -17
- package/src/modules/Popup/index.js +172 -53
- package/src/modules/ScrollSpy/index.js +21 -0
- package/src/modules/StackedBoxes/index.js +8 -6
- package/src/modules/StickyHeader/index.js +394 -164
- package/src/modules/Toggler/index.js +207 -11
- package/src/modules/Typography/index.js +33 -20
- package/src/utils/motion-helpers.js +330 -0
- package/types/README.md +159 -0
- package/types/events/index.d.ts +20 -0
- package/types/index.d.ts +6 -0
- package/types/modules/Application/index.d.ts +168 -0
- package/types/modules/Breakpoints/index.d.ts +40 -0
- package/types/modules/Cookies/index.d.ts +81 -0
- package/types/modules/CoverOverlay/index.d.ts +6 -0
- package/types/modules/Dataloader/index.d.ts +38 -0
- package/types/modules/Dataloader/url-sync.d.ts +36 -0
- package/types/modules/Dom/index.d.ts +47 -0
- package/types/modules/DoubleHeader/index.d.ts +63 -0
- package/types/modules/Dropdown/index.d.ts +15 -0
- package/types/modules/EqualHeightElements/index.d.ts +8 -0
- package/types/modules/EqualHeightImages/index.d.ts +11 -0
- package/types/modules/FeatureTests/index.d.ts +27 -0
- package/types/modules/FixedHeader/index.d.ts +219 -0
- package/types/modules/Fontloader/index.d.ts +5 -0
- package/types/modules/FooterReveal/index.d.ts +5 -0
- package/types/modules/HeroSlider/index.d.ts +28 -0
- package/types/modules/HeroVideo/index.d.ts +83 -0
- package/types/modules/Lazyload/index.d.ts +80 -0
- package/types/modules/Lightbox/index.d.ts +123 -0
- package/types/modules/Links/index.d.ts +55 -0
- package/types/modules/Looper/index.d.ts +127 -0
- package/types/modules/Marquee/index.d.ts +23 -0
- package/types/modules/MobileMenu/index.d.ts +63 -0
- package/types/modules/Moonwalk/index.d.ts +322 -0
- package/types/modules/Parallax/index.d.ts +71 -0
- package/types/modules/Popover/index.d.ts +29 -0
- package/types/modules/Popup/index.d.ts +76 -0
- package/types/modules/ScrollSpy/index.d.ts +29 -0
- package/types/modules/StackedBoxes/index.d.ts +9 -0
- package/types/modules/StickyHeader/index.d.ts +220 -0
- package/types/modules/Toggler/index.d.ts +48 -0
- package/types/modules/Typography/index.d.ts +77 -0
- package/types/utils/dispatchElementEvent.d.ts +1 -0
- package/types/utils/imageIsLoaded.d.ts +1 -0
- package/types/utils/imagesAreLoaded.d.ts +1 -0
- package/types/utils/loadScript.d.ts +2 -0
- package/types/utils/prefersReducedMotion.d.ts +4 -0
- package/types/utils/rafCallback.d.ts +2 -0
- package/types/utils/zoom.d.ts +4 -0
package/types/README.md
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Jupiter TypeScript Definitions
|
|
2
|
+
|
|
3
|
+
This directory contains TypeScript declaration files (.d.ts) for Jupiter modules.
|
|
4
|
+
|
|
5
|
+
## Using Type Definitions
|
|
6
|
+
|
|
7
|
+
When importing Jupiter modules, you'll get autocomplete and type checking for options:
|
|
8
|
+
|
|
9
|
+
```javascript
|
|
10
|
+
import { Moonwalk } from '@brandocms/jupiter';
|
|
11
|
+
|
|
12
|
+
// Options object will have autocomplete
|
|
13
|
+
const moonwalk = new Moonwalk(app, {
|
|
14
|
+
clearNestedSections: true,
|
|
15
|
+
rootMargin: '-5% 0%',
|
|
16
|
+
walks: {
|
|
17
|
+
// Autocomplete for walk properties
|
|
18
|
+
default: {
|
|
19
|
+
interval: 0.1,
|
|
20
|
+
duration: 0.5
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Available Typed Modules
|
|
27
|
+
|
|
28
|
+
The following modules have TypeScript definitions:
|
|
29
|
+
|
|
30
|
+
### Core Modules
|
|
31
|
+
- **Application** - Main application controller
|
|
32
|
+
- **Breakpoints** - Responsive design and media query handling
|
|
33
|
+
- **Dom** - DOM utility functions
|
|
34
|
+
|
|
35
|
+
### Media Modules
|
|
36
|
+
- **Lazyload** - Image lazy loading functionality
|
|
37
|
+
- **Lightbox** - Image gallery overlay
|
|
38
|
+
- **HeroVideo** - Background video with controls
|
|
39
|
+
|
|
40
|
+
### Navigation and UI Modules
|
|
41
|
+
- **Links** - Navigation and page transitions
|
|
42
|
+
- **Popup** - Modal dialogs and popups
|
|
43
|
+
- **Toggler** - Show/hide component for collapsible content
|
|
44
|
+
|
|
45
|
+
### Animation Modules
|
|
46
|
+
- **Parallax** - Parallax scrolling effect for background images
|
|
47
|
+
- **Moonwalk** - Animation system for element reveals
|
|
48
|
+
|
|
49
|
+
## Adding Type Definitions for a New Module
|
|
50
|
+
|
|
51
|
+
1. **Create JSDoc annotations** in your source file (src/modules/YourModule/index.js):
|
|
52
|
+
|
|
53
|
+
```javascript
|
|
54
|
+
/**
|
|
55
|
+
* @typedef {Object} YourModuleOptions
|
|
56
|
+
* @property {boolean} [someOption=false] - Description of the option
|
|
57
|
+
* @property {number} [anotherOption=10] - Description of another option
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
/** @type {YourModuleOptions} */
|
|
61
|
+
const DEFAULT_OPTIONS = {
|
|
62
|
+
someOption: false,
|
|
63
|
+
anotherOption: 10
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Your module description
|
|
68
|
+
*/
|
|
69
|
+
export default class YourModule {
|
|
70
|
+
/**
|
|
71
|
+
* @param {Object} app - Application instance
|
|
72
|
+
* @param {YourModuleOptions} [opts={}] - Configuration options
|
|
73
|
+
*/
|
|
74
|
+
constructor(app, opts = {}) {
|
|
75
|
+
// ...
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* @param {string} someParam - Parameter description
|
|
80
|
+
* @returns {boolean} Return value description
|
|
81
|
+
*/
|
|
82
|
+
someMethod(someParam) {
|
|
83
|
+
// ...
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
2. **Create a TypeScript declaration file** in types/modules/YourModule/index.d.ts:
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
/**
|
|
92
|
+
* Types for YourModule
|
|
93
|
+
*/
|
|
94
|
+
import Application from '../Application';
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* YourModule options
|
|
98
|
+
*/
|
|
99
|
+
export interface YourModuleOptions {
|
|
100
|
+
/** Description of the option */
|
|
101
|
+
someOption?: boolean;
|
|
102
|
+
|
|
103
|
+
/** Description of another option */
|
|
104
|
+
anotherOption?: number;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Your module description
|
|
109
|
+
*/
|
|
110
|
+
export default class YourModule {
|
|
111
|
+
/** Application instance */
|
|
112
|
+
app: Application;
|
|
113
|
+
|
|
114
|
+
/** Module options */
|
|
115
|
+
opts: YourModuleOptions;
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Create a new YourModule instance
|
|
119
|
+
* @param app - Application instance
|
|
120
|
+
* @param opts - YourModule options
|
|
121
|
+
*/
|
|
122
|
+
constructor(app: Application, opts?: Partial<YourModuleOptions>);
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Method description
|
|
126
|
+
* @param someParam - Parameter description
|
|
127
|
+
* @returns Return value description
|
|
128
|
+
*/
|
|
129
|
+
someMethod(someParam: string): boolean;
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
3. **Update the main index.d.ts file** to export your new module:
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
export {
|
|
137
|
+
default as YourModule,
|
|
138
|
+
YourModuleOptions
|
|
139
|
+
} from './modules/YourModule';
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Place this export in the appropriate section (Core, Media, Navigation/UI, or Animation).
|
|
143
|
+
|
|
144
|
+
## Typing Guidelines
|
|
145
|
+
|
|
146
|
+
- Use `Partial<Options>` for optional constructor parameters
|
|
147
|
+
- Use descriptive JSDoc comments for all properties and methods
|
|
148
|
+
- Group related interfaces together (e.g., options and element interfaces)
|
|
149
|
+
- Always import `Application` from '../Application'
|
|
150
|
+
- Use consistent naming patterns:
|
|
151
|
+
- `ModuleOptions` for options interfaces
|
|
152
|
+
- `ModuleElements` for element collections
|
|
153
|
+
- Use camelCase for methods and properties
|
|
154
|
+
|
|
155
|
+
## Running Type Checking
|
|
156
|
+
|
|
157
|
+
Run `yarn types` to generate and check type definitions.
|
|
158
|
+
|
|
159
|
+
If there are errors, don't worry about typechecking passing completely. The primary goal is to provide autocomplete and documentation for developers.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export const APPLICATION_MOBILE_MENU_OPEN: "APPLICATION:MOBILE_MENU:OPEN";
|
|
2
|
+
export const APPLICATION_MOBILE_MENU_CLOSED: "APPLICATION:MOBILE_MENU:CLOSED";
|
|
3
|
+
export const APPLICATION_PRELUDIUM: "APPLICATION_PRELUDIUM";
|
|
4
|
+
export const APPLICATION_INITIALIZED: "APPLICATION:INITIALIZED";
|
|
5
|
+
export const APPLICATION_READY: "APPLICATION:READY";
|
|
6
|
+
export const APPLICATION_REVEALED: "APPLICATION:REVEALED";
|
|
7
|
+
export const APPLICATION_RESIZE: "APPLICATION:RESIZE";
|
|
8
|
+
export const APPLICATION_SCROLL: "APPLICATION:SCROLL";
|
|
9
|
+
export const APPLICATION_SCROLL_LOCKED: "APPLICATION:SCROLL_LOCKED";
|
|
10
|
+
export const APPLICATION_SCROLL_RELEASED: "APPLICATION:SCROLL_RELEASED";
|
|
11
|
+
export const APPLICATION_FORCED_SCROLL_START: "APPLICATION:FORCED_SCROLL_START";
|
|
12
|
+
export const APPLICATION_FORCED_SCROLL_END: "APPLICATION:FORCED_SCROLL_END";
|
|
13
|
+
export const APPLICATION_OUTLINE: "APPLICATION:OUTLINE";
|
|
14
|
+
export const APPLICATION_VISIBILITY_CHANGE: "APPLICATION:VISIBILITY_CHANGE";
|
|
15
|
+
export const APPLICATION_HIDDEN: "APPLICATION:HIDDEN";
|
|
16
|
+
export const APPLICATION_VISIBLE: "APPLICATION:VISIBLE";
|
|
17
|
+
export const BREAKPOINT_CHANGE: "BREAKPOINT:CHANGE";
|
|
18
|
+
export const IMAGE_LAZYLOADED: "IMAGE:LAZYLOADED";
|
|
19
|
+
export const IMAGE_REVEALED: "IMAGE:REVEALED";
|
|
20
|
+
export const SECTION_LAZYLOADED: "SECTION:LAZYLOADED";
|
package/types/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import imageIsLoaded from './utils/imageIsLoaded';
|
|
2
|
+
import imagesAreLoaded from './utils/imagesAreLoaded';
|
|
3
|
+
import loadScript from './utils/loadScript';
|
|
4
|
+
import prefersReducedMotion from './utils/prefersReducedMotion';
|
|
5
|
+
import rafCallback from './utils/rafCallback';
|
|
6
|
+
export { Application, Breakpoints, Cookies, CoverOverlay, Dataloader, Dom, DoubleHeader, Draggable, Dropdown, EqualHeightElements, EqualHeightImages, Events, FixedHeader, FooterReveal, Parallax, HeroSlider, HeroVideo, Lazyload, Lightbox, Links, Looper, Marquee, MobileMenu, Moonwalk, Popover, Popup, ScrollSpy, StackedBoxes, StickyHeader, Toggler, Typography, imageIsLoaded, imagesAreLoaded, loadScript, prefersReducedMotion, rafCallback, _defaultsDeep, gsap, CSSPlugin, ScrollToPlugin, ScrollTrigger, SplitText, InertiaPlugin };
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
export default class Application {
|
|
2
|
+
constructor(opts?: {});
|
|
3
|
+
debugType: number;
|
|
4
|
+
debugOverlay: Element;
|
|
5
|
+
userAgent: string;
|
|
6
|
+
_lastWindowHeight: number;
|
|
7
|
+
breakpoint: any;
|
|
8
|
+
language: string;
|
|
9
|
+
size: {
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
initialInnerHeight: number;
|
|
13
|
+
initialOuterHeight: number;
|
|
14
|
+
initialInnerWidth: number;
|
|
15
|
+
initialOuterWidth: number;
|
|
16
|
+
zoom: number;
|
|
17
|
+
};
|
|
18
|
+
position: {
|
|
19
|
+
top: number;
|
|
20
|
+
left: number;
|
|
21
|
+
lastTop: number;
|
|
22
|
+
lastLeft: number;
|
|
23
|
+
};
|
|
24
|
+
state: {
|
|
25
|
+
revealed: boolean;
|
|
26
|
+
forcedScroll: boolean;
|
|
27
|
+
scrollDirection: any;
|
|
28
|
+
};
|
|
29
|
+
opts: any;
|
|
30
|
+
focusableSelectors: any;
|
|
31
|
+
featureTests: any;
|
|
32
|
+
breakpoints: any;
|
|
33
|
+
fontLoader: any;
|
|
34
|
+
fader: any;
|
|
35
|
+
callbacks: {};
|
|
36
|
+
SCROLL_LOCKED: boolean;
|
|
37
|
+
SCROLLBAR_WIDTH: number;
|
|
38
|
+
INITIALIZED: boolean;
|
|
39
|
+
PREFERS_REDUCED_MOTION: boolean;
|
|
40
|
+
beforeInitializedEvent: CustomEvent<any>;
|
|
41
|
+
initializedEvent: CustomEvent<any>;
|
|
42
|
+
readyEvent: CustomEvent<any>;
|
|
43
|
+
revealedEvent: CustomEvent<any>;
|
|
44
|
+
/**
|
|
45
|
+
* Main init. Called from client application on DOMReady.
|
|
46
|
+
*/
|
|
47
|
+
initialize(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Application is initialized and ready.
|
|
50
|
+
* Fade in, then execute callbacks
|
|
51
|
+
*/
|
|
52
|
+
ready(): void;
|
|
53
|
+
getZoom(): void;
|
|
54
|
+
_lastDevicePixelRatio: number;
|
|
55
|
+
_initialZoom: any;
|
|
56
|
+
_zoomSVG: SVGSVGElement;
|
|
57
|
+
zoomCalculateChrome(dimsChanged: any): void;
|
|
58
|
+
zoomCalculateSafari(): void;
|
|
59
|
+
updateZoom(dimsChanged?: boolean, dprDelta?: number): void;
|
|
60
|
+
/**
|
|
61
|
+
* Fade in application, as declared in the `faderOpts`
|
|
62
|
+
*/
|
|
63
|
+
fadeIn(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Register callbacks by `type`
|
|
66
|
+
*/
|
|
67
|
+
registerCallback(type: any, callback: any): void;
|
|
68
|
+
/**
|
|
69
|
+
* Execute callbacks by `type`
|
|
70
|
+
*/
|
|
71
|
+
executeCallbacks(type: any): void;
|
|
72
|
+
/**
|
|
73
|
+
* Set section
|
|
74
|
+
*/
|
|
75
|
+
setSection(): void;
|
|
76
|
+
section: string;
|
|
77
|
+
/**
|
|
78
|
+
* Check if document is scrolled
|
|
79
|
+
*/
|
|
80
|
+
isScrolled(): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Locks body scroll
|
|
83
|
+
* `extraPaddedElements` can be a list of elements that also need padding, such as the header!
|
|
84
|
+
* @param {*} extraPaddedElements
|
|
85
|
+
*/
|
|
86
|
+
scrollLock(extraPaddedElements?: any): void;
|
|
87
|
+
_scrollPaddedElements: any[];
|
|
88
|
+
scrollRelease(defaultOverflow?: string): void;
|
|
89
|
+
/**
|
|
90
|
+
*
|
|
91
|
+
* @param {*} target
|
|
92
|
+
* this can be an object too if you want to override scrollTo: `{y: "#someID", offsetY: 50}`
|
|
93
|
+
* @param {*} time
|
|
94
|
+
* @param {*} emitEvents
|
|
95
|
+
*/
|
|
96
|
+
scrollTo(target: any, time?: any, emitEvents?: any, ease?: string): void;
|
|
97
|
+
hardScrollToTop(): void;
|
|
98
|
+
hardScrollTo(target: any): void;
|
|
99
|
+
scrollVoid(e: any): void;
|
|
100
|
+
/**
|
|
101
|
+
* Get current scrollbar width — if there is none, there is none
|
|
102
|
+
*/
|
|
103
|
+
getCurrentScrollBarWidth(): number;
|
|
104
|
+
/**
|
|
105
|
+
* Get scrollbar width by FORCE. No matter if there is
|
|
106
|
+
* currently a scrollbar or not
|
|
107
|
+
*/
|
|
108
|
+
getScrollBarWidth(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Ugly hacks
|
|
111
|
+
*/
|
|
112
|
+
hacks(): void;
|
|
113
|
+
getIOSCurrentInnerHeight(): number;
|
|
114
|
+
getIOSInnerHeightMax(): number;
|
|
115
|
+
/**
|
|
116
|
+
* Event emitters
|
|
117
|
+
*/
|
|
118
|
+
_emitBeforeInitializedEvent(): void;
|
|
119
|
+
_emitInitializedEvent(): void;
|
|
120
|
+
_emitReadyEvent(): void;
|
|
121
|
+
_emitRevealedEvent(): void;
|
|
122
|
+
_getBaseVW(): string;
|
|
123
|
+
setDims(): void;
|
|
124
|
+
setFontBaseVw(): void;
|
|
125
|
+
setZoom(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Inner height of mobiles may change when showing hiding bottom bar.
|
|
128
|
+
*/
|
|
129
|
+
setvh100(): void;
|
|
130
|
+
setvw100(): void;
|
|
131
|
+
/**
|
|
132
|
+
* Get the max 100vh for iOS
|
|
133
|
+
*/
|
|
134
|
+
setvh100Max(): void;
|
|
135
|
+
setScrollHeight(): void;
|
|
136
|
+
onBreakpointChanged(): void;
|
|
137
|
+
/**
|
|
138
|
+
* RAF'ed resize event
|
|
139
|
+
*/
|
|
140
|
+
onResize(e: any): void;
|
|
141
|
+
/**
|
|
142
|
+
* RAF'ed scroll event
|
|
143
|
+
*/
|
|
144
|
+
onScroll(e: any): void;
|
|
145
|
+
onVisibilityChange(e: any): void;
|
|
146
|
+
pollForElement(selector: any, time?: number, callback?: () => void): void;
|
|
147
|
+
pollForVar(variable: any, time?: number, callback?: () => void): void;
|
|
148
|
+
setupDebug(): void;
|
|
149
|
+
toggleDebug(): void;
|
|
150
|
+
/**
|
|
151
|
+
* CTRL-G to show grid overlay
|
|
152
|
+
*/
|
|
153
|
+
setupGridoverlay(): void;
|
|
154
|
+
/**
|
|
155
|
+
* Add in extra selectors that are focusable
|
|
156
|
+
* @param {array} extraSelectors
|
|
157
|
+
*/
|
|
158
|
+
addFocusableSelectors(extraSelectors: any[]): void;
|
|
159
|
+
/**
|
|
160
|
+
* Set focusable selectors. Replaces default array.
|
|
161
|
+
* @param {array} selectors
|
|
162
|
+
*/
|
|
163
|
+
setFocusableSelectors(selectors: any[]): void;
|
|
164
|
+
/**
|
|
165
|
+
* Returns focusable selectors as a comma separated list
|
|
166
|
+
*/
|
|
167
|
+
getFocusableSelectors(): any;
|
|
168
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Breakpoints module for responsive design
|
|
3
|
+
*/
|
|
4
|
+
export default class Breakpoints {
|
|
5
|
+
/**
|
|
6
|
+
* Create a new Breakpoints instance
|
|
7
|
+
* @param {Object} app - Application instance
|
|
8
|
+
* @param {BreakpointsOptions} [opts={}] - Breakpoints options
|
|
9
|
+
*/
|
|
10
|
+
constructor(app: any, opts?: BreakpointsOptions);
|
|
11
|
+
app: any;
|
|
12
|
+
mediaQueries: {};
|
|
13
|
+
opts: any;
|
|
14
|
+
currentBreakpoint: string;
|
|
15
|
+
initialized: boolean;
|
|
16
|
+
initialize(reveal?: boolean): void;
|
|
17
|
+
getCurrentBreakpoint(): {
|
|
18
|
+
key: string;
|
|
19
|
+
mq: any;
|
|
20
|
+
};
|
|
21
|
+
defaultListener(e: any): void;
|
|
22
|
+
setCurrentBreakpoint(): void;
|
|
23
|
+
_getVal(key: any): string;
|
|
24
|
+
}
|
|
25
|
+
export type BreakpointsOptions = {
|
|
26
|
+
/**
|
|
27
|
+
* - Whether to run listener on initialization
|
|
28
|
+
*/
|
|
29
|
+
runListenerOnInit?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* - Breakpoint names
|
|
32
|
+
*/
|
|
33
|
+
breakpoints?: string[];
|
|
34
|
+
/**
|
|
35
|
+
* - Listener functions for breakpoints
|
|
36
|
+
*/
|
|
37
|
+
listeners?: {
|
|
38
|
+
[x: string]: Function;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cookies module for handling cookie consent
|
|
3
|
+
*/
|
|
4
|
+
export default class Cookies {
|
|
5
|
+
/**
|
|
6
|
+
* Create a new Cookies instance
|
|
7
|
+
* @param {Object} app - Application instance
|
|
8
|
+
* @param {CookiesOptions} [opts={}] - Cookies options
|
|
9
|
+
*/
|
|
10
|
+
constructor(app: any, opts?: CookiesOptions);
|
|
11
|
+
app: any;
|
|
12
|
+
opts: any;
|
|
13
|
+
cc: Element;
|
|
14
|
+
inner: Element;
|
|
15
|
+
text: Element;
|
|
16
|
+
btns: Element;
|
|
17
|
+
btn: Element;
|
|
18
|
+
btnRefuse: Element;
|
|
19
|
+
/**
|
|
20
|
+
* Get a cookie value by key
|
|
21
|
+
* @param {string} sKey - Cookie key
|
|
22
|
+
* @returns {string|null} Cookie value or null if not found
|
|
23
|
+
*/
|
|
24
|
+
getCookie(sKey: string): string | null;
|
|
25
|
+
/**
|
|
26
|
+
* Set a cookie
|
|
27
|
+
* @param {string} sKey - Cookie key
|
|
28
|
+
* @param {string|number} sValue - Cookie value
|
|
29
|
+
* @param {Date|string|number} vEnd - Expiration date, string date, or max age in seconds
|
|
30
|
+
* @param {string} [sPath] - Cookie path
|
|
31
|
+
* @param {string} [sDomain] - Cookie domain
|
|
32
|
+
* @param {boolean} [bSecure] - Secure flag
|
|
33
|
+
* @returns {boolean} Whether cookie was set successfully
|
|
34
|
+
*/
|
|
35
|
+
setCookie(sKey: string, sValue: string | number, vEnd: Date | string | number, sPath?: string, sDomain?: string, bSecure?: boolean): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Remove a cookie
|
|
38
|
+
* @param {string} sKey - Cookie key
|
|
39
|
+
* @param {string} [sPath] - Cookie path
|
|
40
|
+
* @param {string} [sDomain] - Cookie domain
|
|
41
|
+
* @returns {boolean} Whether cookie was removed successfully
|
|
42
|
+
*/
|
|
43
|
+
removeCookie(sKey: string, sPath?: string, sDomain?: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Check if a cookie exists
|
|
46
|
+
* @param {string} sKey - Cookie key
|
|
47
|
+
* @returns {boolean} Whether cookie exists
|
|
48
|
+
*/
|
|
49
|
+
hasCookie(sKey: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Get all cookie keys
|
|
52
|
+
* @returns {string[]} Array of cookie keys
|
|
53
|
+
*/
|
|
54
|
+
keys(): string[];
|
|
55
|
+
}
|
|
56
|
+
export type CookiesOptions = {
|
|
57
|
+
/**
|
|
58
|
+
* - Called when cookies are accepted
|
|
59
|
+
*/
|
|
60
|
+
onAccept?: Function;
|
|
61
|
+
/**
|
|
62
|
+
* - Called when cookies are refused
|
|
63
|
+
*/
|
|
64
|
+
onRefuse?: Function;
|
|
65
|
+
/**
|
|
66
|
+
* - Called if user has already consented to cookies
|
|
67
|
+
*/
|
|
68
|
+
alreadyConsented?: Function;
|
|
69
|
+
/**
|
|
70
|
+
* - Called if user has already refused cookies
|
|
71
|
+
*/
|
|
72
|
+
alreadyRefused?: Function;
|
|
73
|
+
/**
|
|
74
|
+
* - Custom function to set cookies
|
|
75
|
+
*/
|
|
76
|
+
setCookies?: Function;
|
|
77
|
+
/**
|
|
78
|
+
* - Custom function to display cookie consent dialog
|
|
79
|
+
*/
|
|
80
|
+
showCC?: Function;
|
|
81
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export default class Dataloader {
|
|
2
|
+
static replaceInnerHTML(el: any, url: any): Promise<any>;
|
|
3
|
+
constructor(app: any, $el: any, opts?: {});
|
|
4
|
+
status: string;
|
|
5
|
+
app: any;
|
|
6
|
+
$el: any;
|
|
7
|
+
id: any;
|
|
8
|
+
$canvasEl: any;
|
|
9
|
+
opts: any;
|
|
10
|
+
debounce(func: any, delay?: number): (...args: any[]) => void;
|
|
11
|
+
updateBaseURL(url: any): void;
|
|
12
|
+
baseURL: any;
|
|
13
|
+
setInitialParams(): void;
|
|
14
|
+
initialize(): void;
|
|
15
|
+
$paramEls: any;
|
|
16
|
+
urlSync: DataloaderUrlSync;
|
|
17
|
+
$moreBtn: any;
|
|
18
|
+
$filterInput: any;
|
|
19
|
+
onFilterInput(e: any): void;
|
|
20
|
+
onMore(e: any): void;
|
|
21
|
+
onParam(e: any): void;
|
|
22
|
+
fetch(addEntries?: boolean): void;
|
|
23
|
+
/**
|
|
24
|
+
* Set [data-loader-loading] on main el
|
|
25
|
+
*/
|
|
26
|
+
loading(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Remove [data-loader-loading] on main el
|
|
29
|
+
*/
|
|
30
|
+
complete(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Update the MORE button
|
|
33
|
+
*
|
|
34
|
+
* Sets [data-loader-starved] attribute if there is no more to fetch
|
|
35
|
+
*/
|
|
36
|
+
updateButton(): void;
|
|
37
|
+
}
|
|
38
|
+
import DataloaderUrlSync from './url-sync';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* URL synchronization module for Dataloader
|
|
3
|
+
* Handles bidirectional sync between dataloader parameters and browser URL
|
|
4
|
+
*/
|
|
5
|
+
export default class DataloaderUrlSync {
|
|
6
|
+
constructor(dataloader: any, config: any);
|
|
7
|
+
dataloader: any;
|
|
8
|
+
config: any;
|
|
9
|
+
language: string;
|
|
10
|
+
languageInPath: any;
|
|
11
|
+
hideDefaultLanguage: boolean;
|
|
12
|
+
defaultLanguage: any;
|
|
13
|
+
omitFromUrl: any;
|
|
14
|
+
initialize(): void;
|
|
15
|
+
popstateHandler: () => void;
|
|
16
|
+
/**
|
|
17
|
+
* Build URL from parameters using template
|
|
18
|
+
*/
|
|
19
|
+
buildUrl(params: any): any;
|
|
20
|
+
/**
|
|
21
|
+
* Parse current URL and extract parameters based on template
|
|
22
|
+
*/
|
|
23
|
+
parseUrl(): any;
|
|
24
|
+
/**
|
|
25
|
+
* Update browser URL with current parameters
|
|
26
|
+
*/
|
|
27
|
+
updateUrl(params: any): void;
|
|
28
|
+
/**
|
|
29
|
+
* Sync dataloader parameters from current URL
|
|
30
|
+
*/
|
|
31
|
+
syncFromUrl(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Clean up event listeners
|
|
34
|
+
*/
|
|
35
|
+
destroy(): void;
|
|
36
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
declare const _default: DOM;
|
|
2
|
+
export default _default;
|
|
3
|
+
/**
|
|
4
|
+
* DOM utility class for simplifying DOM operations
|
|
5
|
+
*/
|
|
6
|
+
declare class DOM {
|
|
7
|
+
body: HTMLElement;
|
|
8
|
+
html: HTMLElement;
|
|
9
|
+
"new"(arg: any): ChildNode[];
|
|
10
|
+
find(arg1: any, arg2: any): any;
|
|
11
|
+
all(arg1: any, arg2: any): any[];
|
|
12
|
+
create(element: any, ...classes: any[]): any;
|
|
13
|
+
append(element: any): void;
|
|
14
|
+
remove(element: any): void;
|
|
15
|
+
addClass(element: any, ...classes: any[]): any;
|
|
16
|
+
removeClass(element: any, ...classes: any[]): any;
|
|
17
|
+
hasClass(element: any, className: any): any;
|
|
18
|
+
toggleClass(element: any, ...classes: any[]): any[];
|
|
19
|
+
hasAttribute(element: any, attributeName: any): any;
|
|
20
|
+
overlapsVertically($div1: any, $div2: any): number;
|
|
21
|
+
outerHeight(el: any): any;
|
|
22
|
+
outerWidth(el: any): any;
|
|
23
|
+
getCSSVar(key: any, element?: HTMLElement): string;
|
|
24
|
+
setCSSVar(key: any, val: any, element?: HTMLElement): void;
|
|
25
|
+
removeCSSVar(key: any, element?: HTMLElement): void;
|
|
26
|
+
offset(el: any): {
|
|
27
|
+
top: any;
|
|
28
|
+
left: any;
|
|
29
|
+
};
|
|
30
|
+
position(el: any): {
|
|
31
|
+
top: any;
|
|
32
|
+
left: any;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Check if parts of `el` is in viewport
|
|
36
|
+
*
|
|
37
|
+
* @param {*} el
|
|
38
|
+
*/
|
|
39
|
+
inViewport(el: any): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Strict viewport check - element must be fully contained within viewport bounds
|
|
42
|
+
* Useful for popovers/tooltips that need to be completely visible
|
|
43
|
+
*
|
|
44
|
+
* @param {*} el
|
|
45
|
+
*/
|
|
46
|
+
inViewportStrict(el: any): boolean;
|
|
47
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export default class DoubleHeader {
|
|
2
|
+
constructor(app: any, opts?: {});
|
|
3
|
+
app: any;
|
|
4
|
+
mainOpts: any;
|
|
5
|
+
preventUnpin: boolean;
|
|
6
|
+
el: any;
|
|
7
|
+
opts: any;
|
|
8
|
+
auxEl: any;
|
|
9
|
+
lis: any;
|
|
10
|
+
preventPin: boolean;
|
|
11
|
+
_isResizing: boolean;
|
|
12
|
+
_firstLoad: boolean;
|
|
13
|
+
_pinned: boolean;
|
|
14
|
+
_top: boolean;
|
|
15
|
+
_bottom: boolean;
|
|
16
|
+
_small: boolean;
|
|
17
|
+
_hiding: boolean;
|
|
18
|
+
lastKnownScrollY: number;
|
|
19
|
+
currentScrollY: number;
|
|
20
|
+
mobileMenuOpen: boolean;
|
|
21
|
+
timer: any;
|
|
22
|
+
resetResizeTimer: any;
|
|
23
|
+
firstReveal: boolean;
|
|
24
|
+
initialize(): void;
|
|
25
|
+
setupObserver(): void;
|
|
26
|
+
observer: IntersectionObserver;
|
|
27
|
+
_navVisible: boolean;
|
|
28
|
+
bindObserver(): void;
|
|
29
|
+
setResizeTimer(): void;
|
|
30
|
+
_hideAlt(): void;
|
|
31
|
+
_showAlt(): void;
|
|
32
|
+
update(): void;
|
|
33
|
+
lock(): void;
|
|
34
|
+
unlock(): void;
|
|
35
|
+
checkSize(force: any): void;
|
|
36
|
+
checkTop(force: any): void;
|
|
37
|
+
checkBot(force: any): void;
|
|
38
|
+
checkPin(force: any, toleranceExceeded: any): void;
|
|
39
|
+
redraw(force?: boolean): void;
|
|
40
|
+
notTop(): void;
|
|
41
|
+
top(): void;
|
|
42
|
+
notBottom(): void;
|
|
43
|
+
bottom(): void;
|
|
44
|
+
unpin(): void;
|
|
45
|
+
pin(): void;
|
|
46
|
+
notSmall(): void;
|
|
47
|
+
small(): void;
|
|
48
|
+
shouldUnpin(toleranceExceeded: any): any;
|
|
49
|
+
shouldPin(toleranceExceeded: any): any;
|
|
50
|
+
isOutOfBounds(): boolean;
|
|
51
|
+
getScrollerPhysicalHeight(): number;
|
|
52
|
+
getScrollerHeight(): number;
|
|
53
|
+
getDocumentHeight(): number;
|
|
54
|
+
getViewportHeight(): number;
|
|
55
|
+
getElementHeight(el: any): number;
|
|
56
|
+
getElementPhysicalHeight(el: any): number;
|
|
57
|
+
getScrollY(): any;
|
|
58
|
+
toleranceExceeded(): boolean;
|
|
59
|
+
_getOptionsForSection(section: any, opts: any): any;
|
|
60
|
+
_bindMobileMenuListeners(): void;
|
|
61
|
+
_onMobileMenuOpen(): void;
|
|
62
|
+
_onMobileMenuClose(): void;
|
|
63
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default class Dropdown {
|
|
2
|
+
constructor(app: any, opts?: {});
|
|
3
|
+
app: any;
|
|
4
|
+
opts: any;
|
|
5
|
+
elements: {};
|
|
6
|
+
open: boolean;
|
|
7
|
+
element: any;
|
|
8
|
+
timeline: any;
|
|
9
|
+
handleDocumentClick(event: any): void;
|
|
10
|
+
initialize(): void;
|
|
11
|
+
onClick(event: any): Promise<void>;
|
|
12
|
+
openMenu(): Promise<void>;
|
|
13
|
+
closeMenu(): Promise<void>;
|
|
14
|
+
checkForInitialOpen(): void;
|
|
15
|
+
}
|