@inzombieland/nuxt-common 1.16.5 → 1.16.7

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/dist/module.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inzombieland/nuxt-common",
3
- "version": "1.16.5",
3
+ "version": "1.16.7",
4
4
  "configKey": "nuxt-common",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "0.6.0",
package/dist/module.mjs CHANGED
@@ -2,7 +2,7 @@ import { fileURLToPath } from 'node:url';
2
2
  import { defineNuxtModule, createResolver, addServerHandler, addImportsDir, addPlugin, addComponent } from '@nuxt/kit';
3
3
 
4
4
  const name = "@inzombieland/nuxt-common";
5
- const version = "1.16.5";
5
+ const version = "1.16.7";
6
6
 
7
7
  const module = defineNuxtModule({
8
8
  meta: {
@@ -2,13 +2,13 @@ import { type Fetch } from "../packages/api";
2
2
  export { type ActiveSession, type Fetch, type User, type Visitor } from "../packages/api";
3
3
  export { getVisitor, getVisitorId, useUser } from "../packages/api";
4
4
  export declare const config: {
5
- getApiBaseURL: () => string;
6
- getCometServerURL: () => string;
7
- getAppClientID: () => string;
8
- getAppClientSecret: () => string;
9
- getIsMobileApp: () => boolean;
10
- getIsDesktopApp: () => boolean;
11
- getAppName: () => string;
5
+ apiBaseURL: any;
6
+ cometServerURL: any;
7
+ appClientID: any;
8
+ appClientSecret: any;
9
+ isMobileApp: boolean;
10
+ isDesktopApp: boolean;
11
+ appName: any;
12
12
  getHostname: () => string;
13
13
  getDevice: () => Promise<any>;
14
14
  useRequestHeaders: (include?: string[]) => {
@@ -1,14 +1,14 @@
1
- import { useNuxtApp, useRequestHeaders, useRequestURL, useRuntimeConfig } from "#imports";
1
+ import { useNuxtApp, useRequestHeaders, useRequestURL } from "#imports";
2
2
  import { initApiFetch } from "../packages/api/index.mjs";
3
3
  export { getVisitor, getVisitorId, useUser } from "../packages/api/index.mjs";
4
4
  export const config = {
5
- getApiBaseURL: () => String(useRuntimeConfig().public.apiBaseURL),
6
- getCometServerURL: () => String(useRuntimeConfig().public.cometServer),
7
- getAppClientID: () => String(useRuntimeConfig().public.appClientID),
8
- getAppClientSecret: () => String(useRuntimeConfig().public.appClientSecret),
9
- getIsMobileApp: () => useRuntimeConfig().public.isMobileApp === true,
10
- getIsDesktopApp: () => useRuntimeConfig().public.isDesktopApp === true,
11
- getAppName: () => String(useRuntimeConfig().public.appName),
5
+ apiBaseURL: import.meta.env.VITE_API_BASE_URL,
6
+ cometServerURL: import.meta.env.VITE_COMET_SERVER_URL,
7
+ appClientID: import.meta.env.VITE_APP_CLIENT_ID,
8
+ appClientSecret: import.meta.env.VITE_APP_CLIENT_SECRET,
9
+ isMobileApp: import.meta.env.VITE_IS_MOBILE_APP === "true",
10
+ isDesktopApp: import.meta.env.VITE_IS_DESKTOP_APP === "true",
11
+ appName: import.meta.env.VITE_APP_NAME,
12
12
  getHostname: () => useRequestURL().hostname,
13
13
  getDevice: async () => {
14
14
  const { $device } = useNuxtApp();
@@ -72,22 +72,22 @@ const errorHandler = (error) => {
72
72
  return new Error(message);
73
73
  };
74
74
  const optionsHandler = (options = {}, config) => {
75
- const { getApiBaseURL, getAppClientID, getAppClientSecret, getIsMobileApp, getIsDesktopApp, getHostname } = config;
75
+ const { apiBaseURL, appClientID, appClientSecret, isMobileApp, isDesktopApp, getHostname } = config;
76
76
  const baseURL = "/api";
77
77
  const headers = {};
78
78
  const visitor = { platform: "web", hostname: getHostname() };
79
79
  if (token) {
80
80
  headers.authorization = `JWT ${token}`;
81
- } else if (typeof window !== "undefined" && getAppClientID() && getAppClientSecret()) {
82
- const credentials = btoa(`${getAppClientID()}:${getAppClientSecret()}`);
81
+ } else if (typeof window !== "undefined" && appClientID && appClientSecret) {
82
+ const credentials = btoa(`${appClientID}:${appClientSecret}`);
83
83
  headers.authorization = `Basic ${credentials}`;
84
84
  }
85
- if (getIsMobileApp()) {
86
- options.baseURL = getApiBaseURL();
85
+ if (isMobileApp) {
86
+ options.baseURL = apiBaseURL;
87
87
  visitor.platform = "mobile";
88
88
  }
89
- if (getIsDesktopApp()) {
90
- options.baseURL = getApiBaseURL();
89
+ if (isDesktopApp) {
90
+ options.baseURL = apiBaseURL;
91
91
  visitor.platform = "desktop";
92
92
  }
93
93
  if (typeof window !== "undefined") {
@@ -128,7 +128,7 @@ const fetchRequest = (url, options = {}, fetch, config) => {
128
128
  };
129
129
  export const createApiFetch = once((fetch, config) => {
130
130
  if (typeof window !== "undefined") {
131
- const cometServerURL = config.getCometServerURL();
131
+ const cometServerURL = config.cometServerURL;
132
132
  let cometClient;
133
133
  bus.subscribe("user:onUpdated", (user) => {
134
134
  if (user) {
@@ -24,7 +24,7 @@ export const getVisitorIdentifier = async (config) => {
24
24
  setVisitor({ ip: data?.ip ?? "unknown" });
25
25
  });
26
26
  const device = await config.getDevice() || "unknown";
27
- const appName = config.getAppName() || "unknown";
27
+ const appName = config.appName || "unknown";
28
28
  setVisitor({ id, ip, device, appName });
29
29
  };
30
30
  export const createApiGetVisitorIdentifier = once((config) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inzombieland/api",
3
- "version": "1.16.5",
3
+ "version": "1.16.7",
4
4
  "type": "module",
5
5
  "license": "ISC",
6
6
  "main": "./index.mjs",
@@ -25,13 +25,13 @@ export interface Fetch {
25
25
  create: (defaults: FetchOptions & FetchExtraOptions) => Fetch;
26
26
  }
27
27
  export type FetchConfig = {
28
- getApiBaseURL: () => string;
29
- getCometServerURL: () => string;
30
- getAppClientID: () => string;
31
- getAppClientSecret: () => string;
32
- getIsMobileApp: () => boolean;
33
- getIsDesktopApp: () => boolean;
34
- getAppName: () => string;
28
+ apiBaseURL: string;
29
+ cometServerURL: string;
30
+ appClientID: string;
31
+ appClientSecret: string;
32
+ isMobileApp: boolean;
33
+ isDesktopApp: boolean;
34
+ appName: string;
35
35
  getHostname: () => string;
36
36
  getDevice: () => Promise<string>;
37
37
  useRequestHeaders?: (include: string[]) => {};
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inzombieland/helpers",
3
- "version": "1.16.5",
3
+ "version": "1.16.6",
4
4
  "type": "module",
5
5
  "license": "ISC",
6
6
  "main": "./index.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inzombieland/layer-manager",
3
- "version": "1.16.5",
3
+ "version": "1.16.6",
4
4
  "type": "module",
5
5
  "license": "ISC",
6
6
  "main": "./index.mjs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inzombieland/nuxt-common",
3
- "version": "1.16.5",
3
+ "version": "1.16.7",
4
4
  "license": "ISC",
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,305 +0,0 @@
1
- @charset "utf-8";
2
-
3
- @font-face {
4
- font-family: icon-font-layer-close;
5
- src: url("data:application/font-woff;base64,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");
6
- font-weight: 400;
7
- font-style: normal;
8
- }
9
-
10
- .layer-header {
11
- background: var(--color-surface-container-low);
12
- height: 50px;
13
- padding: 0 24px 0 52px;
14
- box-sizing: border-box;
15
- align-items: center;
16
- display: flex;
17
- justify-content: flex-start;
18
- position: relative;
19
- z-index: 100;
20
- }
21
-
22
- /* light */
23
- .layer-header {
24
- color: #243036;
25
- box-shadow: inset 0 -1px 0 rgba(218, 220, 224, 0.6);
26
- }
27
-
28
- .dark .layer-header {
29
- color: rgba(255, 255, 255, 0.87);
30
- box-shadow: inset 0 -1px 0 rgba(64, 64, 64, 0.9);
31
- }
32
-
33
- .layer-header > h1 {
34
- display: inline-block;
35
- flex: 1 1 0;
36
- font-size: 14px;
37
- font-weight: 600;
38
- line-height: normal;
39
- text-align: center;
40
- margin: 0;
41
- padding-right: 28px;
42
- -webkit-font-smoothing: antialiased;
43
- -moz-osx-font-smoothing: grayscale;
44
- }
45
-
46
- /* light */
47
- .layer-header > h1 {
48
- color: #243036;
49
- }
50
-
51
- .dark .layer-header > h1 {
52
- color: rgba(255, 255, 255, 0.87);
53
- }
54
-
55
- .layer-footer {
56
- background: var(--color-surface-container-low);
57
- box-sizing: border-box;
58
- transition: box-shadow 0.5s;
59
- padding: 0 32px 0 52px;
60
- align-items: center;
61
- display: flex;
62
- justify-content: flex-start;
63
- position: absolute;
64
- left: 0;
65
- bottom: 0;
66
- width: 100%;
67
- height: 40px;
68
- z-index: 1;
69
- }
70
-
71
- /* light */
72
- .layer-footer {
73
- color: #243036;
74
- box-shadow: 0 -6px 5px -7px rgba(45, 70, 104, 0.3);
75
- }
76
-
77
- .dark .layer-footer {
78
- color: rgba(255, 255, 255, 0.87);
79
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
80
- }
81
-
82
- .layer-main {
83
- background: var(--color-surface-layer-high);
84
- position: absolute;
85
- top: 50px;
86
- left: 0;
87
- bottom: 0;
88
- overflow-y: auto;
89
- margin: 0;
90
- padding: 3rem 0;
91
- width: 100%;
92
- -webkit-overflow-scrolling: auto;
93
- }
94
-
95
- /* light */
96
- .layer-main {
97
- color: #243036;
98
- }
99
-
100
- .dark .layer-main {
101
- color: rgba(255, 255, 255, 0.87);
102
- }
103
-
104
- .layer-main.layer-main__with__footer {
105
- bottom: 40px;
106
- }
107
-
108
- .layer-content {
109
- width: 80%;
110
- max-width: 512px;
111
- min-width: 320px;
112
- margin: 0 auto;
113
- }
114
-
115
- .layer {
116
- position: fixed;
117
- top: 0;
118
- right: 0;
119
- bottom: 0;
120
- left: auto;
121
- box-sizing: border-box;
122
- width: 50%;
123
- max-width: 1000px;
124
- opacity: 0;
125
- transform: translateX(150px) translateZ(0);
126
- transition:
127
- width 0.4s ease,
128
- max-width 0.4s ease,
129
- opacity 0.1s cubic-bezier(0.33, 0.13, 0.32, 1),
130
- transform 0.3s cubic-bezier(0.33, 0.13, 0.32, 1);
131
- z-index: 500;
132
- }
133
-
134
- /* light */
135
- .layer {
136
- box-shadow: -4px 10px 30px rgba(45, 70, 104, 0.25);
137
- }
138
-
139
- .dark .layer {
140
- box-shadow: -1px 0 0 0 rgba(64, 64, 64, 0.9);
141
- }
142
-
143
- .layout {
144
- position: absolute;
145
- top: 0;
146
- right: 0;
147
- bottom: 0;
148
- left: 0;
149
- width: 100%;
150
- height: 100%;
151
- transform: none;
152
- transition:
153
- width 0.4s ease,
154
- max-width 0.4s ease,
155
- opacity 0.1s cubic-bezier(0.33, 0.13, 0.32, 1),
156
- transform 0.3s cubic-bezier(0.33, 0.13, 0.32, 1);
157
- box-shadow: -4px 10px 30px rgba(45, 70, 104, 0.25);
158
- }
159
-
160
- @media (max-width: 767px) {
161
- .layer {
162
- width: 100%;
163
- min-width: 320px;
164
- }
165
-
166
- .layout.layer-open {
167
- transform: translateX(-20%) translateZ(0);
168
- }
169
-
170
- .layout.layer-hide {
171
- transform: none;
172
- transition:
173
- width 0.4s ease,
174
- max-width 0.4s ease,
175
- opacity 0.3s cubic-bezier(0.69, 0.08, 0.72, 0.59),
176
- transform 0.3s cubic-bezier(0.69, 0.08, 0.72, 0.59) !important;
177
- }
178
-
179
- .layer-header {
180
- justify-content: center;
181
- }
182
-
183
- .layer-main {
184
- padding: 2rem 1rem;
185
- }
186
-
187
- .layer-content {
188
- width: 100%;
189
- max-width: 512px;
190
- min-width: 280px;
191
- }
192
-
193
- .layer-close {
194
- top: 15px !important;
195
- }
196
-
197
- .layer-close:before {
198
- font-size: 20px !important;
199
- content: "\64" !important;
200
- }
201
- }
202
-
203
- .layer.open {
204
- opacity: 1 !important;
205
- transform: translateX(0) translateZ(0);
206
- }
207
-
208
- .layer.open:nth-last-of-type(n + 2) {
209
- transform: translateX(-12px);
210
- }
211
-
212
- .layer.open:nth-last-of-type(n + 3) {
213
- transform: translateX(-24px);
214
- }
215
-
216
- .layer.open:nth-last-of-type(n + 4) {
217
- transform: translateX(-36px);
218
- }
219
-
220
- .layer.open:nth-last-of-type(n + 5) {
221
- transform: translateX(-48px);
222
- }
223
-
224
- .layer.hide {
225
- opacity: 0 !important;
226
- transform: translateX(150px) translateZ(0);
227
- transition:
228
- width 0.4s ease,
229
- max-width 0.4s ease,
230
- opacity 0.3s cubic-bezier(0.69, 0.08, 0.72, 0.59),
231
- transform 0.3s cubic-bezier(0.69, 0.08, 0.72, 0.59) !important;
232
- pointer-events: none;
233
- }
234
-
235
- .layer-close {
236
- position: absolute;
237
- top: 14px;
238
- left: 16px;
239
- width: 20px;
240
- height: 20px;
241
- display: flex;
242
- justify-content: center;
243
- align-items: center;
244
- font-size: 15px;
245
- line-height: 0;
246
- text-decoration: none;
247
- transition: color 0.2s;
248
- z-index: 110;
249
- }
250
-
251
- /* light */
252
- .layer-close {
253
- color: #243036;
254
- }
255
-
256
- .dark .layer-close {
257
- color: rgba(255, 255, 255, 0.87);
258
- }
259
-
260
- /* light */
261
- .layer-close:hover {
262
- color: rgba(36, 48, 54, 0.7);
263
- }
264
-
265
- .dark .layer-close:hover {
266
- color: rgba(255, 255, 255, 0.67);
267
- }
268
-
269
- .layer-close:before {
270
- font-family: icon-font-layer-close !important;
271
- font-style: normal !important;
272
- font-weight: 400 !important;
273
- font-variant: normal !important;
274
- text-transform: none !important;
275
- speak: none;
276
- line-height: 1;
277
- -webkit-font-smoothing: antialiased;
278
- -moz-osx-font-smoothing: grayscale;
279
- content: "\77";
280
- }
281
-
282
- .layer,
283
- .layout {
284
- top: env(safe-area-inset-top);
285
- bottom: env(safe-area-inset-bottom);
286
- height: calc(100% - (env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
287
- }
288
-
289
- .layer::before,
290
- .layout::before {
291
- background: var(--color-surface-container-low);
292
- display: block;
293
- position: absolute;
294
- top: calc(env(safe-area-inset-top) * -1);
295
- right: 0;
296
- bottom: 0;
297
- left: calc(env(safe-area-inset-top) * -1);
298
- height: env(safe-area-inset-top);
299
- content: "";
300
- z-index: 9999;
301
- }
302
-
303
- .layout.base-main::before {
304
- background: var(--color-surface-container-low);
305
- }