@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.
Files changed (76) hide show
  1. package/README.md +509 -54
  2. package/package.json +30 -18
  3. package/src/index.js +15 -10
  4. package/src/modules/Application/index.js +236 -158
  5. package/src/modules/Breakpoints/index.js +116 -36
  6. package/src/modules/Cookies/index.js +95 -64
  7. package/src/modules/CoverOverlay/index.js +21 -14
  8. package/src/modules/Dataloader/index.js +71 -24
  9. package/src/modules/Dataloader/url-sync.js +238 -0
  10. package/src/modules/Dom/index.js +24 -0
  11. package/src/modules/DoubleHeader/index.js +571 -0
  12. package/src/modules/Dropdown/index.js +108 -73
  13. package/src/modules/EqualHeightElements/index.js +8 -8
  14. package/src/modules/EqualHeightImages/index.js +15 -7
  15. package/src/modules/FixedHeader/index.js +116 -30
  16. package/src/modules/FooterReveal/index.js +5 -5
  17. package/src/modules/HeroSlider/index.js +231 -106
  18. package/src/modules/HeroVideo/index.js +72 -44
  19. package/src/modules/Lazyload/index.js +128 -80
  20. package/src/modules/Lightbox/index.js +101 -80
  21. package/src/modules/Links/index.js +77 -51
  22. package/src/modules/Looper/index.js +1737 -0
  23. package/src/modules/Marquee/index.js +106 -37
  24. package/src/modules/MobileMenu/index.js +105 -130
  25. package/src/modules/Moonwalk/index.js +479 -153
  26. package/src/modules/Parallax/index.js +280 -57
  27. package/src/modules/Popover/index.js +187 -17
  28. package/src/modules/Popup/index.js +172 -53
  29. package/src/modules/ScrollSpy/index.js +21 -0
  30. package/src/modules/StackedBoxes/index.js +8 -6
  31. package/src/modules/StickyHeader/index.js +394 -164
  32. package/src/modules/Toggler/index.js +207 -11
  33. package/src/modules/Typography/index.js +33 -20
  34. package/src/utils/motion-helpers.js +330 -0
  35. package/types/README.md +159 -0
  36. package/types/events/index.d.ts +20 -0
  37. package/types/index.d.ts +6 -0
  38. package/types/modules/Application/index.d.ts +168 -0
  39. package/types/modules/Breakpoints/index.d.ts +40 -0
  40. package/types/modules/Cookies/index.d.ts +81 -0
  41. package/types/modules/CoverOverlay/index.d.ts +6 -0
  42. package/types/modules/Dataloader/index.d.ts +38 -0
  43. package/types/modules/Dataloader/url-sync.d.ts +36 -0
  44. package/types/modules/Dom/index.d.ts +47 -0
  45. package/types/modules/DoubleHeader/index.d.ts +63 -0
  46. package/types/modules/Dropdown/index.d.ts +15 -0
  47. package/types/modules/EqualHeightElements/index.d.ts +8 -0
  48. package/types/modules/EqualHeightImages/index.d.ts +11 -0
  49. package/types/modules/FeatureTests/index.d.ts +27 -0
  50. package/types/modules/FixedHeader/index.d.ts +219 -0
  51. package/types/modules/Fontloader/index.d.ts +5 -0
  52. package/types/modules/FooterReveal/index.d.ts +5 -0
  53. package/types/modules/HeroSlider/index.d.ts +28 -0
  54. package/types/modules/HeroVideo/index.d.ts +83 -0
  55. package/types/modules/Lazyload/index.d.ts +80 -0
  56. package/types/modules/Lightbox/index.d.ts +123 -0
  57. package/types/modules/Links/index.d.ts +55 -0
  58. package/types/modules/Looper/index.d.ts +127 -0
  59. package/types/modules/Marquee/index.d.ts +23 -0
  60. package/types/modules/MobileMenu/index.d.ts +63 -0
  61. package/types/modules/Moonwalk/index.d.ts +322 -0
  62. package/types/modules/Parallax/index.d.ts +71 -0
  63. package/types/modules/Popover/index.d.ts +29 -0
  64. package/types/modules/Popup/index.d.ts +76 -0
  65. package/types/modules/ScrollSpy/index.d.ts +29 -0
  66. package/types/modules/StackedBoxes/index.d.ts +9 -0
  67. package/types/modules/StickyHeader/index.d.ts +220 -0
  68. package/types/modules/Toggler/index.d.ts +48 -0
  69. package/types/modules/Typography/index.d.ts +77 -0
  70. package/types/utils/dispatchElementEvent.d.ts +1 -0
  71. package/types/utils/imageIsLoaded.d.ts +1 -0
  72. package/types/utils/imagesAreLoaded.d.ts +1 -0
  73. package/types/utils/loadScript.d.ts +2 -0
  74. package/types/utils/prefersReducedMotion.d.ts +4 -0
  75. package/types/utils/rafCallback.d.ts +2 -0
  76. package/types/utils/zoom.d.ts +4 -0
@@ -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";
@@ -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,6 @@
1
+ export default class CoverOverlay {
2
+ constructor(app: any, opts?: {});
3
+ app: any;
4
+ opts: any;
5
+ initialize(): void;
6
+ }
@@ -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
+ }
@@ -0,0 +1,8 @@
1
+ export default class EqualHeightElements {
2
+ constructor(app: any, selector: any, opts?: {}, container?: HTMLElement);
3
+ app: any;
4
+ container: HTMLElement;
5
+ opts: any;
6
+ selector: any;
7
+ initialize(): void;
8
+ }