@hkdigital/lib-sveltekit 0.1.62 → 0.1.65
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 +135 -135
- package/dist/assets/autospuiten/car-paint-picker.js +41 -41
- package/dist/assets/autospuiten/labels.js +7 -7
- package/dist/classes/data/IterableTree.js +243 -243
- package/dist/classes/data/Selector.js +190 -190
- package/dist/classes/data/index.js +2 -2
- package/dist/classes/index.js +4 -4
- package/dist/classes/promise/HkPromise.js +377 -377
- package/dist/classes/promise/index.js +1 -1
- package/dist/classes/stores/SubscribersCount.js +107 -107
- package/dist/classes/stores/index.js +1 -1
- package/dist/classes/streams/LogTransformStream.js +19 -19
- package/dist/classes/streams/ServerEventsStore.js +110 -110
- package/dist/classes/streams/TimeStampSource.js +26 -26
- package/dist/classes/streams/index.js +3 -3
- package/dist/classes/svelte/audio/AudioLoader.svelte.js +58 -58
- package/dist/classes/svelte/audio/AudioScene.svelte.js +295 -295
- package/dist/classes/svelte/audio/mocks.js +35 -35
- package/dist/classes/svelte/finite-state-machine/FiniteStateMachine.svelte.js +133 -133
- package/dist/classes/svelte/finite-state-machine/index.js +1 -1
- package/dist/classes/svelte/image/ImageLoader.svelte.js +47 -47
- package/dist/classes/svelte/image/ImageScene.svelte.js +253 -253
- package/dist/classes/svelte/image/ImageVariantsLoader.svelte.js +152 -152
- package/dist/classes/svelte/image/index.js +4 -4
- package/dist/classes/svelte/image/mocks.js +35 -35
- package/dist/classes/svelte/image/typedef.js +8 -8
- package/dist/classes/svelte/index.js +14 -14
- package/dist/classes/svelte/loading-state-machine/LoadingStateMachine.svelte.js +109 -109
- package/dist/classes/svelte/loading-state-machine/constants.js +16 -16
- package/dist/classes/svelte/loading-state-machine/index.js +3 -3
- package/dist/classes/svelte/network-loader/NetworkLoader.svelte.js +331 -331
- package/dist/classes/svelte/network-loader/constants.js +3 -3
- package/dist/classes/svelte/network-loader/index.js +3 -3
- package/dist/classes/svelte/network-loader/mocks.js +30 -30
- package/dist/classes/svelte/network-loader/typedef.js +8 -8
- package/dist/components/area/HkArea.svelte +49 -49
- package/dist/components/area/HkGridArea.svelte +77 -77
- package/dist/components/area/index.js +2 -2
- package/dist/components/buttons/button/Button.svelte +82 -82
- package/dist/components/buttons/button-icon-steeze/SteezeIconButton.svelte +30 -30
- package/dist/components/buttons/button-text/TextButton.svelte +21 -21
- package/dist/components/buttons/index.js +3 -3
- package/dist/components/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +146 -146
- package/dist/components/debug/index.js +1 -1
- package/dist/components/hkdev/blocks/TextBlock.svelte +46 -46
- package/dist/components/hkdev/buttons/CheckButton.svelte +62 -62
- package/dist/components/icons/HkIcon.svelte +86 -86
- package/dist/components/icons/HkTabIcon.svelte +116 -116
- package/dist/components/icons/SteezeIcon.svelte +97 -97
- package/dist/components/icons/index.js +6 -6
- package/dist/components/icons/typedef.js +16 -16
- package/dist/components/index.js +2 -2
- package/dist/components/inputs/index.js +1 -1
- package/dist/components/inputs/text-input/TestTextInput.svelte__ +102 -102
- package/dist/components/inputs/text-input/TextInput.svelte +223 -223
- package/dist/components/inputs/text-input/TextInput.svelte___ +83 -83
- package/dist/components/inputs/text-input/assets/IconInvalid.svelte +14 -14
- package/dist/components/inputs/text-input/assets/IconValid.svelte +12 -12
- package/dist/components/layout/grid-layers/GridLayers.svelte +167 -167
- package/dist/components/layout/index.js +1 -1
- package/dist/components/panels/index.js +1 -1
- package/dist/components/panels/panel/Panel.svelte +43 -43
- package/dist/components/rows/index.js +3 -3
- package/dist/components/rows/panel-grid-row/PanelGridRow.svelte +104 -104
- package/dist/components/rows/panel-row-2/PanelRow2.svelte +40 -40
- package/dist/components/tab-bar/HkTabBar.state.svelte.js +149 -149
- package/dist/components/tab-bar/HkTabBar.svelte +74 -74
- package/dist/components/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
- package/dist/components/tab-bar/HkTabBarSelector.svelte +49 -49
- package/dist/components/tab-bar/index.js +17 -17
- package/dist/components/tab-bar/typedef.js +8 -8
- package/dist/config/imagetools-config.js +189 -189
- package/dist/config/imagetools.d.ts +71 -71
- package/dist/config/typedef.js +8 -8
- package/dist/constants/bases.js +13 -13
- package/dist/constants/errors/api.js +9 -9
- package/dist/constants/errors/generic.js +5 -5
- package/dist/constants/errors/index.js +3 -3
- package/dist/constants/errors/jwt.js +5 -5
- package/dist/constants/http/headers.js +6 -6
- package/dist/constants/http/index.js +2 -2
- package/dist/constants/http/methods.js +2 -2
- package/dist/constants/index.js +3 -3
- package/dist/constants/mime/application.js +5 -5
- package/dist/constants/mime/audio.js +13 -13
- package/dist/constants/mime/image.js +3 -3
- package/dist/constants/mime/index.js +4 -4
- package/dist/constants/mime/text.js +2 -2
- package/dist/constants/regexp/index.js +31 -31
- package/dist/constants/regexp/inspiratie.js__ +95 -95
- package/dist/constants/regexp/text.js +49 -49
- package/dist/constants/regexp/user.js +32 -32
- package/dist/constants/regexp/web.js +3 -3
- package/dist/constants/state-labels/input-states.js +11 -11
- package/dist/constants/state-labels/submit-states.js +4 -4
- package/dist/constants/time.js +28 -28
- package/dist/css/utilities.css +43 -43
- package/dist/design/design-config.js +73 -73
- package/dist/design/tailwind-theme-extend.js +158 -158
- package/dist/schemas/index.js +1 -1
- package/dist/schemas/validate-url.js +180 -180
- package/dist/server/index.js +1 -1
- package/dist/server/logger.js +94 -94
- package/dist/states/index.js +1 -1
- package/dist/states/navigation.svelte.js +55 -55
- package/dist/stores/index.js +1 -1
- package/dist/stores/theme.js +80 -80
- package/dist/themes/hkdev/components/blocks/text-block.css +41 -41
- package/dist/themes/hkdev/components/boxes/game-box.css +12 -12
- package/dist/themes/hkdev/components/buttons/button-icon-steeze.css +22 -22
- package/dist/themes/hkdev/components/buttons/button-text.css +32 -32
- package/dist/themes/hkdev/components/buttons/button.css +142 -142
- package/dist/themes/hkdev/components/buttons/skip-button.css +6 -6
- package/dist/themes/hkdev/components/icons/icon-steeze.css +22 -22
- package/dist/themes/hkdev/components/inputs/text-input.css +104 -104
- package/dist/themes/hkdev/components/panels/panel.css +27 -27
- package/dist/themes/hkdev/components/rows/panel-grid-row.css +6 -6
- package/dist/themes/hkdev/components/rows/panel-row-2.css +7 -7
- package/dist/themes/hkdev/components.css +47 -47
- package/dist/themes/hkdev/debug.css +1 -1
- package/dist/themes/hkdev/global/layout.css +39 -39
- package/dist/themes/hkdev/global/on-colors.css +53 -53
- package/dist/themes/hkdev/globals.css +11 -11
- package/dist/themes/hkdev/responsive.css +12 -12
- package/dist/themes/hkdev/theme-ext.js +15 -15
- package/dist/themes/hkdev/theme.js +235 -235
- package/dist/themes/index.js +1 -1
- package/dist/util/array/index.js +455 -455
- package/dist/util/bases/base58.js +262 -262
- package/dist/util/bases/index.js +1 -1
- package/dist/util/compare/index.js +247 -247
- package/dist/util/css/css-vars.js +83 -83
- package/dist/util/css/index.js +1 -1
- package/dist/util/design-system/components/states.js +22 -22
- package/dist/util/design-system/css/clamp.js +66 -66
- package/dist/util/design-system/css/root-design-vars.js +100 -100
- package/dist/util/design-system/index.js +5 -5
- package/dist/util/design-system/layout/scaling.js +228 -228
- package/dist/util/design-system/skeleton.js +208 -208
- package/dist/util/design-system/tailwind.js +288 -288
- package/dist/util/expect/arrays.js +47 -47
- package/dist/util/expect/index.js +259 -259
- package/dist/util/expect/primitives.js +55 -55
- package/dist/util/expect/url.js +60 -60
- package/dist/util/function/index.js +218 -218
- package/dist/util/http/errors.js +97 -97
- package/dist/util/http/headers.js +45 -45
- package/dist/util/http/http-request.js +294 -294
- package/dist/util/http/index.js +22 -22
- package/dist/util/http/json-request.js +143 -143
- package/dist/util/http/mocks.js +65 -65
- package/dist/util/http/response.js +241 -241
- package/dist/util/http/test-data__/content-length-test-hkdigital-small.V4HfZyBQ.avif +0 -0
- package/dist/util/http/url.js +52 -52
- package/dist/util/image/index.js +86 -86
- package/dist/util/index.js +2 -2
- package/dist/util/is/index.js +140 -140
- package/dist/util/iterate/index.js +234 -234
- package/dist/util/object/index.js +1361 -1361
- package/dist/util/singleton/index.js +97 -97
- package/dist/util/string/array-path.js +75 -75
- package/dist/util/string/convert.js +54 -54
- package/dist/util/string/fs.js +226 -226
- package/dist/util/string/index.js +5 -5
- package/dist/util/string/interpolate.js +61 -61
- package/dist/util/string/pad.js +10 -10
- package/dist/util/svelte/index.js +4 -4
- package/dist/util/svelte/loading/loading-tracker.svelte.js +108 -108
- package/dist/util/svelte/observe/index.js +49 -49
- package/dist/util/svelte/state-context/index.js +83 -83
- package/dist/util/svelte/wait/index.js +38 -38
- package/dist/util/sveltekit/index.js +1 -1
- package/dist/util/sveltekit/route-folders/index.js +101 -101
- package/dist/util/time/index.js +323 -323
- package/dist/util/unique/index.js +249 -249
- package/dist/valibot/date.js__ +10 -10
- package/dist/valibot/index.js +9 -9
- package/dist/valibot/url.js +95 -95
- package/dist/valibot/user.js +23 -23
- package/dist/widgets/button-group/ButtonGroup.svelte +82 -94
- package/dist/widgets/button-group/ButtonGroup.svelte.d.ts +0 -2
- package/dist/widgets/button-group/typedef.js +10 -10
- package/dist/widgets/compare-left-right/CompareLeftRight.svelte +179 -179
- package/dist/widgets/compare-left-right/index.js +1 -1
- package/dist/widgets/game-box/GameBox.svelte +579 -186
- package/dist/widgets/game-box/GameBox.svelte.d.ts +64 -4
- package/dist/widgets/game-box/gamebox.util.js +83 -83
- package/dist/widgets/hk-app-layout/HkAppLayout.state.svelte.js +25 -25
- package/dist/widgets/hk-app-layout/HkAppLayout.svelte +251 -251
- package/dist/widgets/image-box/ImageBox.svelte +212 -212
- package/dist/widgets/image-box/index.js +5 -5
- package/dist/widgets/image-box/typedef.js +32 -32
- package/dist/widgets/index.js +23 -23
- package/dist/widgets/presenter/(broken) Presenter.state.svelte.js__ +613 -0
- package/dist/widgets/presenter/ImageSlide.svelte +64 -64
- package/dist/widgets/presenter/Presenter.state.svelte.js +636 -636
- package/dist/widgets/presenter/Presenter.svelte +140 -140
- package/dist/widgets/presenter/Presenter.svelte__ +125 -0
- package/dist/widgets/presenter/constants.js +7 -7
- package/dist/widgets/presenter/index.js +10 -10
- package/dist/widgets/presenter/typedef.js +106 -106
- package/dist/widgets/presenter/util.js +210 -210
- package/dist/widgets/virtual-viewport/VirtualViewport.svelte +196 -196
- package/dist/zod/all.js +33 -33
- package/dist/zod/generic.js +11 -11
- package/dist/zod/javascript.js +32 -32
- package/dist/zod/user.js +16 -16
- package/dist/zod/web.js +52 -52
- package/package.json +102 -102
@@ -9,6 +9,11 @@ type GameBox = {
|
|
9
9
|
style?: string;
|
10
10
|
aspectOnLandscape?: number;
|
11
11
|
aspectOnPortrait?: number;
|
12
|
+
marginLeft?: number;
|
13
|
+
marginRight?: number;
|
14
|
+
marginTop?: number;
|
15
|
+
marginBottom?: number;
|
16
|
+
center?: boolean;
|
12
17
|
enableScaling?: boolean;
|
13
18
|
designLandscape?: {
|
14
19
|
width: number;
|
@@ -36,8 +41,10 @@ type GameBox = {
|
|
36
41
|
max: number;
|
37
42
|
};
|
38
43
|
};
|
39
|
-
snippetLandscape?: Snippet<[]>;
|
40
|
-
snippetPortrait?: Snippet<[]>;
|
44
|
+
snippetLandscape?: Snippet<[SnippetParams]>;
|
45
|
+
snippetPortrait?: Snippet<[SnippetParams]>;
|
46
|
+
snippetRequireFullscreen?: Snippet<[SnippetParams]>;
|
47
|
+
snippetInstallOnHomeScreen?: Snippet<[SnippetParams]>;
|
41
48
|
}>): void;
|
42
49
|
};
|
43
50
|
declare const GameBox: import("svelte").Component<{
|
@@ -48,6 +55,11 @@ declare const GameBox: import("svelte").Component<{
|
|
48
55
|
style?: string;
|
49
56
|
aspectOnLandscape?: number;
|
50
57
|
aspectOnPortrait?: number;
|
58
|
+
marginLeft?: number;
|
59
|
+
marginRight?: number;
|
60
|
+
marginTop?: number;
|
61
|
+
marginBottom?: number;
|
62
|
+
center?: boolean;
|
51
63
|
enableScaling?: boolean;
|
52
64
|
designLandscape?: {
|
53
65
|
width: number;
|
@@ -75,6 +87,54 @@ declare const GameBox: import("svelte").Component<{
|
|
75
87
|
max: number;
|
76
88
|
};
|
77
89
|
};
|
78
|
-
snippetLandscape?: import("svelte").Snippet
|
79
|
-
|
90
|
+
snippetLandscape?: import("svelte").Snippet<[{
|
91
|
+
isMobile: boolean;
|
92
|
+
device: string;
|
93
|
+
isFullscreen: boolean;
|
94
|
+
isDevMode: boolean;
|
95
|
+
requestDevmode: Function;
|
96
|
+
requestFullscreen: Function;
|
97
|
+
gameWidth: number;
|
98
|
+
gameHeight: number;
|
99
|
+
}]>;
|
100
|
+
snippetPortrait?: import("svelte").Snippet<[{
|
101
|
+
isMobile: boolean;
|
102
|
+
device: string;
|
103
|
+
isFullscreen: boolean;
|
104
|
+
isDevMode: boolean;
|
105
|
+
requestDevmode: Function;
|
106
|
+
requestFullscreen: Function;
|
107
|
+
gameWidth: number;
|
108
|
+
gameHeight: number;
|
109
|
+
}]>;
|
110
|
+
snippetRequireFullscreen?: import("svelte").Snippet<[{
|
111
|
+
isMobile: boolean;
|
112
|
+
device: string;
|
113
|
+
isFullscreen: boolean;
|
114
|
+
isDevMode: boolean;
|
115
|
+
requestDevmode: Function;
|
116
|
+
requestFullscreen: Function;
|
117
|
+
gameWidth: number;
|
118
|
+
gameHeight: number;
|
119
|
+
}]>;
|
120
|
+
snippetInstallOnHomeScreen?: import("svelte").Snippet<[{
|
121
|
+
isMobile: boolean;
|
122
|
+
device: string;
|
123
|
+
isFullscreen: boolean;
|
124
|
+
isDevMode: boolean;
|
125
|
+
requestDevmode: Function;
|
126
|
+
requestFullscreen: Function;
|
127
|
+
gameWidth: number;
|
128
|
+
gameHeight: number;
|
129
|
+
}]>;
|
80
130
|
}, {}, "">;
|
131
|
+
type SnippetParams = {
|
132
|
+
isMobile: boolean;
|
133
|
+
device: string;
|
134
|
+
isFullscreen: boolean;
|
135
|
+
isDevMode: boolean;
|
136
|
+
requestDevmode: Function;
|
137
|
+
requestFullscreen: Function;
|
138
|
+
gameWidth: number;
|
139
|
+
gameHeight: number;
|
140
|
+
};
|
@@ -1,83 +1,83 @@
|
|
1
|
-
export const ERROR_WINDOW_SIZE_NOT_LANDSCAPE = 'Window size is not landsccape';
|
2
|
-
|
3
|
-
export const ERROR_WINDOW_SIZE_NOT_PORTRAIT = 'Window size is not portrait';
|
4
|
-
|
5
|
-
/**
|
6
|
-
* Get game width for landscape mode
|
7
|
-
*
|
8
|
-
* @param {object} _
|
9
|
-
* @param {number} _.windowWidth
|
10
|
-
* @param {number} _.windowHeight
|
11
|
-
* @param {number} [_.aspectOnLandscape]
|
12
|
-
*
|
13
|
-
* @returns {number} game width
|
14
|
-
*/
|
15
|
-
export function getGameWidthOnLandscape({
|
16
|
-
windowWidth,
|
17
|
-
windowHeight,
|
18
|
-
aspectOnLandscape
|
19
|
-
}) {
|
20
|
-
if (!windowHeight) {
|
21
|
-
return 0;
|
22
|
-
}
|
23
|
-
|
24
|
-
if (windowWidth < windowHeight) {
|
25
|
-
throw new Error(ERROR_WINDOW_SIZE_NOT_LANDSCAPE);
|
26
|
-
}
|
27
|
-
|
28
|
-
if (!aspectOnLandscape) {
|
29
|
-
// No game aspect specified for landscape
|
30
|
-
// => return full width
|
31
|
-
return windowWidth;
|
32
|
-
}
|
33
|
-
|
34
|
-
const windowAspect = windowWidth / windowHeight;
|
35
|
-
|
36
|
-
if (windowAspect > aspectOnLandscape) {
|
37
|
-
// aspect of window if wider than game aspect => fill height
|
38
|
-
return aspectOnLandscape * windowHeight;
|
39
|
-
} else {
|
40
|
-
// aspect of game is wider => fill width
|
41
|
-
return windowWidth;
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
/**
|
46
|
-
* Get game width for portrait mode
|
47
|
-
*
|
48
|
-
* @param {object} _
|
49
|
-
* @param {number} _.windowWidth
|
50
|
-
* @param {number} _.windowHeight
|
51
|
-
* @param {number} [_.aspectOnPortrait]
|
52
|
-
*
|
53
|
-
* @returns {number} game width
|
54
|
-
*/
|
55
|
-
export function getGameWidthOnPortrait({
|
56
|
-
windowWidth,
|
57
|
-
windowHeight,
|
58
|
-
aspectOnPortrait
|
59
|
-
}) {
|
60
|
-
if (!windowHeight) {
|
61
|
-
return 0;
|
62
|
-
}
|
63
|
-
|
64
|
-
if (windowHeight < windowWidth) {
|
65
|
-
throw new Error(ERROR_WINDOW_SIZE_NOT_PORTRAIT);
|
66
|
-
}
|
67
|
-
|
68
|
-
if (!aspectOnPortrait) {
|
69
|
-
// No game aspect specified for portrait
|
70
|
-
// => return full width
|
71
|
-
return windowWidth;
|
72
|
-
}
|
73
|
-
|
74
|
-
const windowAspect = windowWidth / windowHeight;
|
75
|
-
|
76
|
-
if (windowAspect > aspectOnPortrait) {
|
77
|
-
// aspect of window if wider than game aspect => fill height
|
78
|
-
return aspectOnPortrait * windowHeight;
|
79
|
-
} else {
|
80
|
-
// aspect of game is wider => fill width
|
81
|
-
return windowWidth;
|
82
|
-
}
|
83
|
-
}
|
1
|
+
export const ERROR_WINDOW_SIZE_NOT_LANDSCAPE = 'Window size is not landsccape';
|
2
|
+
|
3
|
+
export const ERROR_WINDOW_SIZE_NOT_PORTRAIT = 'Window size is not portrait';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Get game width for landscape mode
|
7
|
+
*
|
8
|
+
* @param {object} _
|
9
|
+
* @param {number} _.windowWidth
|
10
|
+
* @param {number} _.windowHeight
|
11
|
+
* @param {number} [_.aspectOnLandscape]
|
12
|
+
*
|
13
|
+
* @returns {number} game width
|
14
|
+
*/
|
15
|
+
export function getGameWidthOnLandscape({
|
16
|
+
windowWidth,
|
17
|
+
windowHeight,
|
18
|
+
aspectOnLandscape
|
19
|
+
}) {
|
20
|
+
if (!windowHeight) {
|
21
|
+
return 0;
|
22
|
+
}
|
23
|
+
|
24
|
+
if (windowWidth < windowHeight) {
|
25
|
+
throw new Error(ERROR_WINDOW_SIZE_NOT_LANDSCAPE);
|
26
|
+
}
|
27
|
+
|
28
|
+
if (!aspectOnLandscape) {
|
29
|
+
// No game aspect specified for landscape
|
30
|
+
// => return full width
|
31
|
+
return windowWidth;
|
32
|
+
}
|
33
|
+
|
34
|
+
const windowAspect = windowWidth / windowHeight;
|
35
|
+
|
36
|
+
if (windowAspect > aspectOnLandscape) {
|
37
|
+
// aspect of window if wider than game aspect => fill height
|
38
|
+
return aspectOnLandscape * windowHeight;
|
39
|
+
} else {
|
40
|
+
// aspect of game is wider => fill width
|
41
|
+
return windowWidth;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
/**
|
46
|
+
* Get game width for portrait mode
|
47
|
+
*
|
48
|
+
* @param {object} _
|
49
|
+
* @param {number} _.windowWidth
|
50
|
+
* @param {number} _.windowHeight
|
51
|
+
* @param {number} [_.aspectOnPortrait]
|
52
|
+
*
|
53
|
+
* @returns {number} game width
|
54
|
+
*/
|
55
|
+
export function getGameWidthOnPortrait({
|
56
|
+
windowWidth,
|
57
|
+
windowHeight,
|
58
|
+
aspectOnPortrait
|
59
|
+
}) {
|
60
|
+
if (!windowHeight) {
|
61
|
+
return 0;
|
62
|
+
}
|
63
|
+
|
64
|
+
if (windowHeight < windowWidth) {
|
65
|
+
throw new Error(ERROR_WINDOW_SIZE_NOT_PORTRAIT);
|
66
|
+
}
|
67
|
+
|
68
|
+
if (!aspectOnPortrait) {
|
69
|
+
// No game aspect specified for portrait
|
70
|
+
// => return full width
|
71
|
+
return windowWidth;
|
72
|
+
}
|
73
|
+
|
74
|
+
const windowAspect = windowWidth / windowHeight;
|
75
|
+
|
76
|
+
if (windowAspect > aspectOnPortrait) {
|
77
|
+
// aspect of window if wider than game aspect => fill height
|
78
|
+
return aspectOnPortrait * windowHeight;
|
79
|
+
} else {
|
80
|
+
// aspect of game is wider => fill width
|
81
|
+
return windowWidth;
|
82
|
+
}
|
83
|
+
}
|
@@ -1,25 +1,25 @@
|
|
1
|
-
import { defineStateContext } from '../../util/svelte/state-context';
|
2
|
-
|
3
|
-
import { browser } from '$app/environment';
|
4
|
-
|
5
|
-
import { MediaQuery } from 'svelte/reactivity';
|
6
|
-
|
7
|
-
/* ------------------------------------------------------- Define state class */
|
8
|
-
|
9
|
-
export class AppLayoutState {
|
10
|
-
landscapeOnSmallScreen = $state(false);
|
11
|
-
|
12
|
-
constructor() {
|
13
|
-
if (browser) {
|
14
|
-
let mq = new MediaQuery('(max-height: 400px');
|
15
|
-
|
16
|
-
$effect(() => {
|
17
|
-
this.landscapeOnSmallScreen = mq.matches ? true : false;
|
18
|
-
});
|
19
|
-
}
|
20
|
-
}
|
21
|
-
}
|
22
|
-
|
23
|
-
/* -------------------------------------- Export create & get state functions */
|
24
|
-
|
25
|
-
export const [createOrGetState, createState, getState] = defineStateContext(AppLayoutState);
|
1
|
+
import { defineStateContext } from '../../util/svelte/state-context';
|
2
|
+
|
3
|
+
import { browser } from '$app/environment';
|
4
|
+
|
5
|
+
import { MediaQuery } from 'svelte/reactivity';
|
6
|
+
|
7
|
+
/* ------------------------------------------------------- Define state class */
|
8
|
+
|
9
|
+
export class AppLayoutState {
|
10
|
+
landscapeOnSmallScreen = $state(false);
|
11
|
+
|
12
|
+
constructor() {
|
13
|
+
if (browser) {
|
14
|
+
let mq = new MediaQuery('(max-height: 400px');
|
15
|
+
|
16
|
+
$effect(() => {
|
17
|
+
this.landscapeOnSmallScreen = mq.matches ? true : false;
|
18
|
+
});
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
/* -------------------------------------- Export create & get state functions */
|
24
|
+
|
25
|
+
export const [createOrGetState, createState, getState] = defineStateContext(AppLayoutState);
|