@entur-partner/app-shell-standalone 6.0.4 → 6.0.5-alpha.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.
@@ -10,5 +10,6 @@ export interface AppShellStandaloneProps extends Omit<AppShellProps, 'children'>
10
10
  */
11
11
  getOrganisations: GetOrganisationsFn | string;
12
12
  environment?: Environment;
13
+ postHogApiKey?: string;
13
14
  }
14
- export declare const AppShellStandalone: ({ children, audience, domain, clientId, decorateUser, getOrganisations, redirectUri, environment, }: AppShellStandaloneProps) => React.JSX.Element;
15
+ export declare const AppShellStandalone: ({ children, audience, domain, clientId, decorateUser, getOrganisations, redirectUri, environment, postHogApiKey, }: AppShellStandaloneProps) => React.JSX.Element;
package/dist/Menu.d.ts CHANGED
@@ -1,30 +1,34 @@
1
1
  import React from 'react';
2
+ import { Environment } from '@entur-partner/common';
2
3
  import { AppShellValues, GetOrganisationsFn } from '@entur-partner/app-shell';
3
- import { Environment } from '@entur-partner/common/src';
4
4
  export declare const messages: {
5
5
  readonly nb: {
6
6
  switchLanguage: string;
7
7
  logout: string;
8
8
  appVersion: string;
9
9
  myProfile: string;
10
+ cookieSettings: string;
10
11
  };
11
12
  readonly en: {
12
13
  switchLanguage: string;
13
14
  logout: string;
14
15
  appVersion: string;
15
16
  myProfile: string;
17
+ cookieSettings: string;
16
18
  };
17
19
  readonly 'nb-NO': {
18
20
  switchLanguage: string;
19
21
  logout: string;
20
22
  appVersion: string;
21
23
  myProfile: string;
24
+ cookieSettings: string;
22
25
  };
23
26
  readonly 'en-GB': {
24
27
  switchLanguage: string;
25
28
  logout: string;
26
29
  appVersion: string;
27
30
  myProfile: string;
31
+ cookieSettings: string;
28
32
  };
29
33
  };
30
34
  interface MenuProps extends AppShellValues {
@@ -0,0 +1,18 @@
1
+ import React, { ReactNode } from 'react';
2
+ export declare const useMFPostHog: () => {
3
+ capture: (event_name: import("posthog-js").EventName, properties?: import("posthog-js").Properties | null | undefined, options?: import("posthog-js").CaptureOptions | undefined) => import("posthog-js").CaptureResult | undefined;
4
+ alias: (alias: string, original?: string | undefined) => number | void | import("posthog-js").CaptureResult;
5
+ identify: (new_distinct_id?: string | undefined, userPropertiesToSet?: import("posthog-js").Properties | undefined, userPropertiesToSetOnce?: import("posthog-js").Properties | undefined) => void;
6
+ register: (properties: import("posthog-js").Properties, days?: number | undefined) => void;
7
+ register_once: (properties: import("posthog-js").Properties, default_value?: any, days?: number | undefined) => void;
8
+ unregister: (property: string) => void;
9
+ group: (groupType: string, groupKey: string, groupPropertiesToSet?: import("posthog-js").Properties | undefined) => void;
10
+ setPersonProperties: (userPropertiesToSet?: import("posthog-js").Properties | undefined, userPropertiesToSetOnce?: import("posthog-js").Properties | undefined) => void;
11
+ reset: (reset_device_id?: boolean | undefined) => void;
12
+ };
13
+ type Props = {
14
+ postHogApiKey?: string;
15
+ children: ReactNode;
16
+ };
17
+ export declare const PostHogProviderWrapper: ({ postHogApiKey, children }: Props) => React.JSX.Element;
18
+ export {};
@@ -7,11 +7,345 @@ var common = require('@entur-partner/common');
7
7
  var appShell = require('@entur-partner/app-shell');
8
8
  var menu = require('@entur/menu');
9
9
  var tokens = require('@entur/tokens');
10
+ var postHog = require('posthog-js');
11
+ var react = require('posthog-js/react');
10
12
 
11
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
14
 
13
15
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+ var postHog__default = /*#__PURE__*/_interopDefaultLegacy(postHog);
14
17
 
18
+ function _regeneratorRuntime() {
19
+ _regeneratorRuntime = function () {
20
+ return e;
21
+ };
22
+ var t,
23
+ e = {},
24
+ r = Object.prototype,
25
+ n = r.hasOwnProperty,
26
+ o = Object.defineProperty || function (t, e, r) {
27
+ t[e] = r.value;
28
+ },
29
+ i = "function" == typeof Symbol ? Symbol : {},
30
+ a = i.iterator || "@@iterator",
31
+ c = i.asyncIterator || "@@asyncIterator",
32
+ u = i.toStringTag || "@@toStringTag";
33
+ function define(t, e, r) {
34
+ return Object.defineProperty(t, e, {
35
+ value: r,
36
+ enumerable: !0,
37
+ configurable: !0,
38
+ writable: !0
39
+ }), t[e];
40
+ }
41
+ try {
42
+ define({}, "");
43
+ } catch (t) {
44
+ define = function (t, e, r) {
45
+ return t[e] = r;
46
+ };
47
+ }
48
+ function wrap(t, e, r, n) {
49
+ var i = e && e.prototype instanceof Generator ? e : Generator,
50
+ a = Object.create(i.prototype),
51
+ c = new Context(n || []);
52
+ return o(a, "_invoke", {
53
+ value: makeInvokeMethod(t, r, c)
54
+ }), a;
55
+ }
56
+ function tryCatch(t, e, r) {
57
+ try {
58
+ return {
59
+ type: "normal",
60
+ arg: t.call(e, r)
61
+ };
62
+ } catch (t) {
63
+ return {
64
+ type: "throw",
65
+ arg: t
66
+ };
67
+ }
68
+ }
69
+ e.wrap = wrap;
70
+ var h = "suspendedStart",
71
+ l = "suspendedYield",
72
+ f = "executing",
73
+ s = "completed",
74
+ y = {};
75
+ function Generator() {}
76
+ function GeneratorFunction() {}
77
+ function GeneratorFunctionPrototype() {}
78
+ var p = {};
79
+ define(p, a, function () {
80
+ return this;
81
+ });
82
+ var d = Object.getPrototypeOf,
83
+ v = d && d(d(values([])));
84
+ v && v !== r && n.call(v, a) && (p = v);
85
+ var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
86
+ function defineIteratorMethods(t) {
87
+ ["next", "throw", "return"].forEach(function (e) {
88
+ define(t, e, function (t) {
89
+ return this._invoke(e, t);
90
+ });
91
+ });
92
+ }
93
+ function AsyncIterator(t, e) {
94
+ function invoke(r, o, i, a) {
95
+ var c = tryCatch(t[r], t, o);
96
+ if ("throw" !== c.type) {
97
+ var u = c.arg,
98
+ h = u.value;
99
+ return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
100
+ invoke("next", t, i, a);
101
+ }, function (t) {
102
+ invoke("throw", t, i, a);
103
+ }) : e.resolve(h).then(function (t) {
104
+ u.value = t, i(u);
105
+ }, function (t) {
106
+ return invoke("throw", t, i, a);
107
+ });
108
+ }
109
+ a(c.arg);
110
+ }
111
+ var r;
112
+ o(this, "_invoke", {
113
+ value: function (t, n) {
114
+ function callInvokeWithMethodAndArg() {
115
+ return new e(function (e, r) {
116
+ invoke(t, n, e, r);
117
+ });
118
+ }
119
+ return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
120
+ }
121
+ });
122
+ }
123
+ function makeInvokeMethod(e, r, n) {
124
+ var o = h;
125
+ return function (i, a) {
126
+ if (o === f) throw Error("Generator is already running");
127
+ if (o === s) {
128
+ if ("throw" === i) throw a;
129
+ return {
130
+ value: t,
131
+ done: !0
132
+ };
133
+ }
134
+ for (n.method = i, n.arg = a;;) {
135
+ var c = n.delegate;
136
+ if (c) {
137
+ var u = maybeInvokeDelegate(c, n);
138
+ if (u) {
139
+ if (u === y) continue;
140
+ return u;
141
+ }
142
+ }
143
+ if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
144
+ if (o === h) throw o = s, n.arg;
145
+ n.dispatchException(n.arg);
146
+ } else "return" === n.method && n.abrupt("return", n.arg);
147
+ o = f;
148
+ var p = tryCatch(e, r, n);
149
+ if ("normal" === p.type) {
150
+ if (o = n.done ? s : l, p.arg === y) continue;
151
+ return {
152
+ value: p.arg,
153
+ done: n.done
154
+ };
155
+ }
156
+ "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
157
+ }
158
+ };
159
+ }
160
+ function maybeInvokeDelegate(e, r) {
161
+ var n = r.method,
162
+ o = e.iterator[n];
163
+ if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
164
+ var i = tryCatch(o, e.iterator, r.arg);
165
+ if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
166
+ var a = i.arg;
167
+ return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
168
+ }
169
+ function pushTryEntry(t) {
170
+ var e = {
171
+ tryLoc: t[0]
172
+ };
173
+ 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
174
+ }
175
+ function resetTryEntry(t) {
176
+ var e = t.completion || {};
177
+ e.type = "normal", delete e.arg, t.completion = e;
178
+ }
179
+ function Context(t) {
180
+ this.tryEntries = [{
181
+ tryLoc: "root"
182
+ }], t.forEach(pushTryEntry, this), this.reset(!0);
183
+ }
184
+ function values(e) {
185
+ if (e || "" === e) {
186
+ var r = e[a];
187
+ if (r) return r.call(e);
188
+ if ("function" == typeof e.next) return e;
189
+ if (!isNaN(e.length)) {
190
+ var o = -1,
191
+ i = function next() {
192
+ for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
193
+ return next.value = t, next.done = !0, next;
194
+ };
195
+ return i.next = i;
196
+ }
197
+ }
198
+ throw new TypeError(typeof e + " is not iterable");
199
+ }
200
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
201
+ value: GeneratorFunctionPrototype,
202
+ configurable: !0
203
+ }), o(GeneratorFunctionPrototype, "constructor", {
204
+ value: GeneratorFunction,
205
+ configurable: !0
206
+ }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
207
+ var e = "function" == typeof t && t.constructor;
208
+ return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
209
+ }, e.mark = function (t) {
210
+ return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
211
+ }, e.awrap = function (t) {
212
+ return {
213
+ __await: t
214
+ };
215
+ }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
216
+ return this;
217
+ }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
218
+ void 0 === i && (i = Promise);
219
+ var a = new AsyncIterator(wrap(t, r, n, o), i);
220
+ return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
221
+ return t.done ? t.value : a.next();
222
+ });
223
+ }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
224
+ return this;
225
+ }), define(g, "toString", function () {
226
+ return "[object Generator]";
227
+ }), e.keys = function (t) {
228
+ var e = Object(t),
229
+ r = [];
230
+ for (var n in e) r.push(n);
231
+ return r.reverse(), function next() {
232
+ for (; r.length;) {
233
+ var t = r.pop();
234
+ if (t in e) return next.value = t, next.done = !1, next;
235
+ }
236
+ return next.done = !0, next;
237
+ };
238
+ }, e.values = values, Context.prototype = {
239
+ constructor: Context,
240
+ reset: function (e) {
241
+ if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
242
+ },
243
+ stop: function () {
244
+ this.done = !0;
245
+ var t = this.tryEntries[0].completion;
246
+ if ("throw" === t.type) throw t.arg;
247
+ return this.rval;
248
+ },
249
+ dispatchException: function (e) {
250
+ if (this.done) throw e;
251
+ var r = this;
252
+ function handle(n, o) {
253
+ return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
254
+ }
255
+ for (var o = this.tryEntries.length - 1; o >= 0; --o) {
256
+ var i = this.tryEntries[o],
257
+ a = i.completion;
258
+ if ("root" === i.tryLoc) return handle("end");
259
+ if (i.tryLoc <= this.prev) {
260
+ var c = n.call(i, "catchLoc"),
261
+ u = n.call(i, "finallyLoc");
262
+ if (c && u) {
263
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
264
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
265
+ } else if (c) {
266
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
267
+ } else {
268
+ if (!u) throw Error("try statement without catch or finally");
269
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
270
+ }
271
+ }
272
+ }
273
+ },
274
+ abrupt: function (t, e) {
275
+ for (var r = this.tryEntries.length - 1; r >= 0; --r) {
276
+ var o = this.tryEntries[r];
277
+ if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
278
+ var i = o;
279
+ break;
280
+ }
281
+ }
282
+ i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
283
+ var a = i ? i.completion : {};
284
+ return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
285
+ },
286
+ complete: function (t, e) {
287
+ if ("throw" === t.type) throw t.arg;
288
+ return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
289
+ },
290
+ finish: function (t) {
291
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
292
+ var r = this.tryEntries[e];
293
+ if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
294
+ }
295
+ },
296
+ catch: function (t) {
297
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
298
+ var r = this.tryEntries[e];
299
+ if (r.tryLoc === t) {
300
+ var n = r.completion;
301
+ if ("throw" === n.type) {
302
+ var o = n.arg;
303
+ resetTryEntry(r);
304
+ }
305
+ return o;
306
+ }
307
+ }
308
+ throw Error("illegal catch attempt");
309
+ },
310
+ delegateYield: function (e, r, n) {
311
+ return this.delegate = {
312
+ iterator: values(e),
313
+ resultName: r,
314
+ nextLoc: n
315
+ }, "next" === this.method && (this.arg = t), y;
316
+ }
317
+ }, e;
318
+ }
319
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
320
+ try {
321
+ var info = gen[key](arg);
322
+ var value = info.value;
323
+ } catch (error) {
324
+ reject(error);
325
+ return;
326
+ }
327
+ if (info.done) {
328
+ resolve(value);
329
+ } else {
330
+ Promise.resolve(value).then(_next, _throw);
331
+ }
332
+ }
333
+ function _asyncToGenerator(fn) {
334
+ return function () {
335
+ var self = this,
336
+ args = arguments;
337
+ return new Promise(function (resolve, reject) {
338
+ var gen = fn.apply(self, args);
339
+ function _next(value) {
340
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
341
+ }
342
+ function _throw(err) {
343
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
344
+ }
345
+ _next(undefined);
346
+ });
347
+ };
348
+ }
15
349
  function _extends() {
16
350
  _extends = Object.assign ? Object.assign.bind() : function (target) {
17
351
  for (var i = 1; i < arguments.length; i++) {
@@ -27,17 +361,63 @@ function _extends() {
27
361
  return _extends.apply(this, arguments);
28
362
  }
29
363
 
364
+ var useMFPostHog = function useMFPostHog() {
365
+ var postHog = react.usePostHog();
366
+ if (!postHog) {
367
+ throw new Error('PostHog is not initialized. Ensure PostHog API key is provided in the AppShellStandalone.');
368
+ }
369
+ return {
370
+ capture: postHog.capture,
371
+ alias: postHog.alias,
372
+ identify: postHog.identify,
373
+ register: postHog.register,
374
+ register_once: postHog.register_once,
375
+ unregister: postHog.unregister,
376
+ group: postHog.group,
377
+ setPersonProperties: postHog.setPersonProperties,
378
+ reset: postHog.reset
379
+ };
380
+ };
381
+ var PostHogProviderWrapper = function PostHogProviderWrapper(_ref) {
382
+ var postHogApiKey = _ref.postHogApiKey,
383
+ children = _ref.children;
384
+ var consents = appShell.useConsentManager();
385
+ React.useEffect(function () {
386
+ if (!postHogApiKey) {
387
+ return;
388
+ }
389
+ if (consents.PostHog.consentGiven) {
390
+ postHog__default["default"].opt_in_capturing();
391
+ } else {
392
+ postHog__default["default"].opt_out_capturing();
393
+ }
394
+ }, [consents.PostHog.consentGiven, postHogApiKey]);
395
+ if (!postHogApiKey) {
396
+ console.warn('AppShellStandalone Warning: PostHog API key is not provided. PostHog will not be initialized.');
397
+ return React__default["default"].createElement(React__default["default"].Fragment, null, children);
398
+ }
399
+ postHog__default["default"].init(postHogApiKey, {
400
+ api_host: 'https://eu.posthog.com',
401
+ opt_out_capturing_by_default: true
402
+ });
403
+ return React__default["default"].createElement(react.PostHogProvider, {
404
+ client: postHog__default["default"]
405
+ }, children);
406
+ };
407
+
30
408
  var EN_GB = {
31
409
  switchLanguage: 'Bytt til norsk',
32
410
  logout: 'Sign out',
33
411
  appVersion: 'Versjon',
34
- myProfile: 'My profile'
412
+ myProfile: 'My profile',
413
+ cookieSettings: 'Cookie settings'
35
414
  };
36
415
  var NO_NB = {
37
416
  switchLanguage: 'Switch to English',
38
417
  logout: 'Logg ut',
39
418
  appVersion: 'Version',
40
- myProfile: 'Min profil'
419
+ myProfile: 'Min profil',
420
+ cookieSettings: 'Cookieinstillinger'
41
421
  };
42
422
  var messages = {
43
423
  nb: NO_NB,
@@ -60,6 +440,7 @@ var Menu = function Menu(_ref) {
60
440
  setOrganisationId = _useOrganisation.setOrganisationId,
61
441
  organisationId = _useOrganisation.organisationId;
62
442
  var items = getItemsForPath('app-shell');
443
+ var mfPostHog = useMFPostHog();
63
444
  return React__default["default"].createElement(common.Menu, null, React__default["default"].createElement("div", {
64
445
  style: {
65
446
  marginLeft: tokens.space.extraLarge2,
@@ -78,13 +459,35 @@ var Menu = function Menu(_ref) {
78
459
  space: "small"
79
460
  }, React__default["default"].createElement(common.UserMenu, {
80
461
  onLanguageChange: setLanguage,
81
- onLogout: logout,
462
+ onLogout: function () {
463
+ var _onLogout = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
464
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
465
+ while (1) switch (_context.prev = _context.next) {
466
+ case 0:
467
+ mfPostHog.reset();
468
+ _context.next = 3;
469
+ return logout();
470
+ case 3:
471
+ case "end":
472
+ return _context.stop();
473
+ }
474
+ }, _callee);
475
+ }));
476
+ function onLogout() {
477
+ return _onLogout.apply(this, arguments);
478
+ }
479
+ return onLogout;
480
+ }(),
82
481
  language: language,
83
482
  messages: messages[language],
84
483
  userName: user.given_name ? user.given_name + " " + user.family_name : user.name,
85
484
  environment: environment,
86
485
  showVersionItem: false,
87
486
  showMyProfileItem: false,
487
+ showCookieSettingsItem: true,
488
+ onCookieSettingsOpen: function onCookieSettingsOpen() {
489
+ window.UC_UI.showSecondLayer();
490
+ },
88
491
  onNavigateToMyProfile: function onNavigateToMyProfile() {}
89
492
  }), React__default["default"].createElement(appShell.OrganisationSelector, {
90
493
  getOrganisations: getOrganisations,
@@ -115,6 +518,8 @@ var Menu = function Menu(_ref) {
115
518
  var Content = function Content(_ref) {
116
519
  var children = _ref.children,
117
520
  values = _ref.values;
521
+ var mfPostHog = useMFPostHog();
522
+ var consents = appShell.useConsentManager();
118
523
  var _useMenu = appShell.useMenu(),
119
524
  addItems = _useMenu.addItems,
120
525
  _setMFNavigate = _useMenu.setMFNavigate;
@@ -125,6 +530,9 @@ var Content = function Content(_ref) {
125
530
  return addItems(items, 'app-shell');
126
531
  };
127
532
  return React__default["default"].createElement(common.Content, null, children(_extends({}, values, {
533
+ user: _extends({}, values.user, {
534
+ consents: consents
535
+ }),
128
536
  language: language,
129
537
  navigate: function navigate() {
130
538
  {
@@ -135,7 +543,8 @@ var Content = function Content(_ref) {
135
543
  organisationId: organisationId.toString(),
136
544
  setMFNavigate: function setMFNavigate(navigate) {
137
545
  return _setMFNavigate('app-shell', navigate);
138
- }
546
+ },
547
+ mfPostHog: mfPostHog
139
548
  })));
140
549
  };
141
550
  var AppShellStandalone = function AppShellStandalone(_ref2) {
@@ -146,7 +555,8 @@ var AppShellStandalone = function AppShellStandalone(_ref2) {
146
555
  decorateUser = _ref2.decorateUser,
147
556
  getOrganisations = _ref2.getOrganisations,
148
557
  redirectUri = _ref2.redirectUri,
149
- environment = _ref2.environment;
558
+ environment = _ref2.environment,
559
+ postHogApiKey = _ref2.postHogApiKey;
150
560
  return React__default["default"].createElement(appShell.AppShell, {
151
561
  audience: audience,
152
562
  domain: domain,
@@ -160,13 +570,15 @@ var AppShellStandalone = function AppShellStandalone(_ref2) {
160
570
  language: (_languageStorage$get = appShell.languageStorage.get()) != null ? _languageStorage$get : 'nb'
161
571
  }, React__default["default"].createElement(appShell.OrganisationProvider, {
162
572
  organisationId: (_organisationStorage$ = appShell.organisationStorage.get()) != null ? _organisationStorage$ : values.user['https://entur.io/organisationID'].toString()
573
+ }, React__default["default"].createElement(appShell.ConsentManagerProvider, null, React__default["default"].createElement(PostHogProviderWrapper, {
574
+ postHogApiKey: postHogApiKey
163
575
  }, React__default["default"].createElement(appShell.MenuProvider, null, React__default["default"].createElement(Menu, _extends({}, values, {
164
576
  getOrganisations: getOrganisations,
165
577
  environment: environment
166
578
  })), React__default["default"].createElement(Content, {
167
579
  children: children,
168
580
  values: values
169
- }))));
581
+ }))))));
170
582
  });
171
583
  };
172
584
 
@@ -1 +1 @@
1
- {"version":3,"file":"app-shell-standalone.cjs.development.js","sources":["../src/Menu.tsx","../src/AppShellStandalone.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Menu as MenuContainer,\n UserMenu,\n EnturPartnerLogo,\n Stack,\n} from '@entur-partner/common';\nimport { SideNavigation, SideNavigationItem } from '@entur/menu';\nimport { space } from '@entur/tokens';\nimport {\n AppShellValues,\n useLanguage,\n useMenu,\n GetOrganisationsFn,\n OrganisationSelector,\n MicroFrontendLink,\n useOrganisation,\n} from '@entur-partner/app-shell';\nimport { Environment } from '@entur-partner/common/src';\n\nconst EN_GB = {\n switchLanguage: 'Bytt til norsk',\n logout: 'Sign out',\n appVersion: 'Versjon',\n myProfile: 'My profile',\n};\n\nconst NO_NB = {\n switchLanguage: 'Switch to English',\n logout: 'Logg ut',\n appVersion: 'Version',\n myProfile: 'Min profil',\n};\n\nexport const messages = {\n nb: NO_NB,\n en: EN_GB,\n 'nb-NO': NO_NB,\n 'en-GB': EN_GB,\n} as const;\n\ninterface MenuProps extends AppShellValues {\n getOrganisations: GetOrganisationsFn | string;\n environment?: Environment;\n}\n\nexport const Menu = ({\n getOrganisations,\n user,\n getToken,\n logout,\n environment,\n}: MenuProps) => {\n const { getItemsForPath } = useMenu();\n const { language, setLanguage } = useLanguage();\n const { setOrganisationId, organisationId } = useOrganisation();\n const items = getItemsForPath('app-shell');\n\n return (\n <MenuContainer>\n <div\n style={{\n marginLeft: space.extraLarge2,\n marginTop: space.large,\n marginBottom: space.extraLarge,\n }}\n >\n <EnturPartnerLogo\n altText={'Entur partner logo'}\n className=\"menu-space menu-logo\"\n environment={environment}\n />\n </div>\n <div style={{ margin: space.large }}>\n <Stack space=\"small\">\n <UserMenu\n onLanguageChange={setLanguage}\n onLogout={logout}\n language={language}\n messages={messages[language as keyof typeof messages]}\n userName={\n user.given_name\n ? `${user.given_name} ${user.family_name}`\n : user.name\n }\n environment={environment}\n showVersionItem={false}\n showMyProfileItem={false}\n onNavigateToMyProfile={() => {}}\n />\n <OrganisationSelector\n getOrganisations={getOrganisations}\n getToken={getToken}\n selectedOrganisationId={organisationId}\n onChange={(organisationId: number) =>\n setOrganisationId(organisationId)\n }\n />\n </Stack>\n </div>\n <SideNavigation>\n {items.map(({ to, title, disabled, navigate }) => {\n const itemProps = {\n as: MicroFrontendLink,\n href: to,\n navigate: disabled ? null : () => navigate(to),\n disabled: !!disabled,\n };\n return (\n <SideNavigationItem key={to.toString()} {...itemProps}>\n {title}\n </SideNavigationItem>\n );\n })}\n </SideNavigation>\n </MenuContainer>\n );\n};\n","import React, { ReactNode } from 'react';\nimport { Content as ContentWrapper, Environment } from '@entur-partner/common';\nimport { MenuItem, MicroFrontendPayload } from '@entur-partner/micro-frontend';\nimport {\n AppShell,\n AppShellValues,\n AppShellProps,\n MenuProvider,\n useMenu,\n OrganisationProvider,\n useOrganisationId,\n useLanguage,\n LanguageProvider,\n languageStorage,\n GetOrganisationsFn,\n organisationStorage,\n} from '@entur-partner/app-shell';\n\nimport { Menu } from './Menu';\n\ntype ContentProps = {\n values: AppShellValues;\n children: (options: MicroFrontendPayload) => ReactNode;\n};\n\nconst Content = ({ children, values }: ContentProps) => {\n const { addItems, setMFNavigate } = useMenu();\n const organisationId = useOrganisationId();\n const { language } = useLanguage();\n\n const addMenuItems = (items: MenuItem[]) => addItems(items, 'app-shell');\n\n return (\n <ContentWrapper>\n {children({\n ...values,\n language,\n navigate: () => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n 'Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.'\n );\n }\n },\n addMenuItems,\n organisationId: organisationId.toString(),\n setMFNavigate: (navigate) => setMFNavigate('app-shell', navigate),\n })}\n </ContentWrapper>\n );\n};\n\nexport interface AppShellStandaloneProps\n extends Omit<AppShellProps, 'children'> {\n children: (options: MicroFrontendPayload) => ReactNode;\n /**\n * Either a function for fetching organisations or an url where organisations\n * can be fetched. Url will be called with access token in header.\n */\n getOrganisations: GetOrganisationsFn | string;\n environment?: Environment;\n}\n\nexport const AppShellStandalone = ({\n children,\n audience,\n domain,\n clientId,\n decorateUser,\n getOrganisations,\n redirectUri,\n environment,\n}: AppShellStandaloneProps) => {\n return (\n <AppShell\n audience={audience}\n domain={domain}\n clientId={clientId}\n decorateUser={decorateUser}\n redirectUri={redirectUri}\n environment={environment}\n >\n {(values) => (\n <LanguageProvider language={languageStorage.get() ?? 'nb'}>\n <OrganisationProvider\n organisationId={\n organisationStorage.get() ??\n values.user['https://entur.io/organisationID'].toString()\n }\n >\n <MenuProvider>\n <Menu\n {...values}\n getOrganisations={getOrganisations}\n environment={environment}\n />\n <Content children={children} values={values} />\n </MenuProvider>\n </OrganisationProvider>\n </LanguageProvider>\n )}\n </AppShell>\n );\n};\n"],"names":["EN_GB","switchLanguage","logout","appVersion","myProfile","NO_NB","messages","nb","en","Menu","_ref","getOrganisations","user","getToken","environment","_useMenu","useMenu","getItemsForPath","_useLanguage","useLanguage","language","setLanguage","_useOrganisation","useOrganisation","setOrganisationId","organisationId","items","React","MenuContainer","createElement","style","marginLeft","space","extraLarge2","marginTop","large","marginBottom","extraLarge","EnturPartnerLogo","altText","className","margin","Stack","UserMenu","onLanguageChange","onLogout","userName","given_name","family_name","name","showVersionItem","showMyProfileItem","onNavigateToMyProfile","OrganisationSelector","selectedOrganisationId","onChange","SideNavigation","map","_ref2","to","title","disabled","navigate","itemProps","as","MicroFrontendLink","href","SideNavigationItem","_extends","key","toString","Content","children","values","addItems","setMFNavigate","useOrganisationId","addMenuItems","ContentWrapper","console","warn","AppShellStandalone","audience","domain","clientId","decorateUser","redirectUri","AppShell","_languageStorage$get","_organisationStorage$","LanguageProvider","languageStorage","get","OrganisationProvider","organisationStorage","MenuProvider"],"mappings":"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"}
1
+ {"version":3,"file":"app-shell-standalone.cjs.development.js","sources":["../src/PostHogProviderWrapper.tsx","../src/Menu.tsx","../src/AppShellStandalone.tsx"],"sourcesContent":["import React, { ReactNode, useEffect } from 'react';\nimport postHog from 'posthog-js';\nimport { PostHogProvider, usePostHog } from 'posthog-js/react';\nimport { useConsentManager } from '@entur-partner/app-shell';\nimport { MFPostHog } from '@entur-partner/micro-frontend';\n\nexport const useMFPostHog = () => {\n const postHog = usePostHog();\n if (!postHog) {\n throw new Error(\n 'PostHog is not initialized. Ensure PostHog API key is provided in the AppShellStandalone.'\n );\n }\n\n return {\n capture: postHog.capture,\n alias: postHog.alias,\n identify: postHog.identify,\n register: postHog.register,\n register_once: postHog.register_once,\n unregister: postHog.unregister,\n group: postHog.group,\n setPersonProperties: postHog.setPersonProperties,\n reset: postHog.reset,\n } satisfies MFPostHog;\n};\n\ntype Props = {\n postHogApiKey?: string;\n children: ReactNode;\n};\n\nexport const PostHogProviderWrapper = ({ postHogApiKey, children }: Props) => {\n const consents = useConsentManager();\n\n useEffect(() => {\n if (!postHogApiKey) {\n return;\n }\n\n if (consents.PostHog.consentGiven) {\n postHog.opt_in_capturing();\n } else {\n postHog.opt_out_capturing();\n }\n }, [consents.PostHog.consentGiven, postHogApiKey]);\n\n if (!postHogApiKey) {\n console.warn(\n 'AppShellStandalone Warning: PostHog API key is not provided. PostHog will not be initialized.'\n );\n return <>{children}</>;\n }\n\n postHog.init(postHogApiKey, {\n api_host: 'https://eu.posthog.com',\n opt_out_capturing_by_default: true,\n });\n\n return <PostHogProvider client={postHog}>{children}</PostHogProvider>;\n};\n","import React from 'react';\nimport {\n Menu as MenuContainer,\n UserMenu,\n EnturPartnerLogo,\n Stack,\n Environment,\n} from '@entur-partner/common';\nimport { SideNavigation, SideNavigationItem } from '@entur/menu';\nimport { space } from '@entur/tokens';\nimport {\n AppShellValues,\n useLanguage,\n useMenu,\n GetOrganisationsFn,\n OrganisationSelector,\n MicroFrontendLink,\n useOrganisation,\n} from '@entur-partner/app-shell';\n\nimport { useMFPostHog } from './PostHogProviderWrapper';\n\nconst EN_GB = {\n switchLanguage: 'Bytt til norsk',\n logout: 'Sign out',\n appVersion: 'Versjon',\n myProfile: 'My profile',\n cookieSettings: 'Cookie settings',\n};\n\nconst NO_NB = {\n switchLanguage: 'Switch to English',\n logout: 'Logg ut',\n appVersion: 'Version',\n myProfile: 'Min profil',\n cookieSettings: 'Cookieinstillinger',\n};\n\nexport const messages = {\n nb: NO_NB,\n en: EN_GB,\n 'nb-NO': NO_NB,\n 'en-GB': EN_GB,\n} as const;\n\ninterface MenuProps extends AppShellValues {\n getOrganisations: GetOrganisationsFn | string;\n environment?: Environment;\n}\n\nexport const Menu = ({\n getOrganisations,\n user,\n getToken,\n logout,\n environment,\n}: MenuProps) => {\n const { getItemsForPath } = useMenu();\n const { language, setLanguage } = useLanguage();\n const { setOrganisationId, organisationId } = useOrganisation();\n const items = getItemsForPath('app-shell');\n const mfPostHog = useMFPostHog();\n\n return (\n <MenuContainer>\n <div\n style={{\n marginLeft: space.extraLarge2,\n marginTop: space.large,\n marginBottom: space.extraLarge,\n }}\n >\n <EnturPartnerLogo\n altText={'Entur partner logo'}\n className=\"menu-space menu-logo\"\n environment={environment}\n />\n </div>\n <div style={{ margin: space.large }}>\n <Stack space=\"small\">\n <UserMenu\n onLanguageChange={setLanguage}\n onLogout={async () => {\n mfPostHog.reset();\n await logout();\n }}\n language={language}\n messages={messages[language as keyof typeof messages]}\n userName={\n user.given_name\n ? `${user.given_name} ${user.family_name}`\n : user.name\n }\n environment={environment}\n showVersionItem={false}\n showMyProfileItem={false}\n showCookieSettingsItem={true}\n onCookieSettingsOpen={() => {\n window.UC_UI.showSecondLayer();\n }}\n onNavigateToMyProfile={() => {}}\n />\n <OrganisationSelector\n getOrganisations={getOrganisations}\n getToken={getToken}\n selectedOrganisationId={organisationId}\n onChange={(organisationId: number) =>\n setOrganisationId(organisationId)\n }\n />\n </Stack>\n </div>\n <SideNavigation>\n {items.map(({ to, title, disabled, navigate }) => {\n const itemProps = {\n as: MicroFrontendLink,\n href: to,\n navigate: disabled ? null : () => navigate(to),\n disabled: !!disabled,\n };\n return (\n <SideNavigationItem key={to.toString()} {...itemProps}>\n {title}\n </SideNavigationItem>\n );\n })}\n </SideNavigation>\n </MenuContainer>\n );\n};\n","import React, { ReactNode } from 'react';\nimport { Content as ContentWrapper, Environment } from '@entur-partner/common';\nimport { MenuItem, MicroFrontendPayload } from '@entur-partner/micro-frontend';\nimport {\n AppShell,\n AppShellValues,\n AppShellProps,\n MenuProvider,\n useMenu,\n OrganisationProvider,\n useOrganisationId,\n useLanguage,\n LanguageProvider,\n languageStorage,\n GetOrganisationsFn,\n organisationStorage,\n ConsentManagerProvider,\n useConsentManager,\n} from '@entur-partner/app-shell';\n\nimport { Menu } from './Menu';\nimport { PostHogProviderWrapper, useMFPostHog } from './PostHogProviderWrapper';\n\ntype ContentProps = {\n values: AppShellValues;\n children: (options: MicroFrontendPayload) => ReactNode;\n};\n\nconst Content = ({ children, values }: ContentProps) => {\n const mfPostHog = useMFPostHog();\n const consents = useConsentManager();\n const { addItems, setMFNavigate } = useMenu();\n const organisationId = useOrganisationId();\n const { language } = useLanguage();\n\n const addMenuItems = (items: MenuItem[]) => addItems(items, 'app-shell');\n\n return (\n <ContentWrapper>\n {children({\n ...values,\n user: {\n ...values.user,\n consents,\n },\n language,\n navigate: () => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n 'Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.'\n );\n }\n },\n addMenuItems,\n organisationId: organisationId.toString(),\n setMFNavigate: (navigate) => setMFNavigate('app-shell', navigate),\n mfPostHog: mfPostHog,\n })}\n </ContentWrapper>\n );\n};\n\nexport interface AppShellStandaloneProps\n extends Omit<AppShellProps, 'children'> {\n children: (options: MicroFrontendPayload) => ReactNode;\n /**\n * Either a function for fetching organisations or an url where organisations\n * can be fetched. Url will be called with access token in header.\n */\n getOrganisations: GetOrganisationsFn | string;\n environment?: Environment;\n postHogApiKey?: string;\n}\n\nexport const AppShellStandalone = ({\n children,\n audience,\n domain,\n clientId,\n decorateUser,\n getOrganisations,\n redirectUri,\n environment,\n postHogApiKey,\n}: AppShellStandaloneProps) => {\n return (\n <AppShell\n audience={audience}\n domain={domain}\n clientId={clientId}\n decorateUser={decorateUser}\n redirectUri={redirectUri}\n environment={environment}\n >\n {(values) => (\n <LanguageProvider language={languageStorage.get() ?? 'nb'}>\n <OrganisationProvider\n organisationId={\n organisationStorage.get() ??\n values.user['https://entur.io/organisationID'].toString()\n }\n >\n <ConsentManagerProvider>\n <PostHogProviderWrapper postHogApiKey={postHogApiKey}>\n <MenuProvider>\n <Menu\n {...values}\n getOrganisations={getOrganisations}\n environment={environment}\n />\n <Content children={children} values={values} />\n </MenuProvider>\n </PostHogProviderWrapper>\n </ConsentManagerProvider>\n </OrganisationProvider>\n </LanguageProvider>\n )}\n </AppShell>\n );\n};\n"],"names":["useMFPostHog","postHog","usePostHog","Error","capture","alias","identify","register","register_once","unregister","group","setPersonProperties","reset","PostHogProviderWrapper","_ref","postHogApiKey","children","consents","useConsentManager","useEffect","PostHog","consentGiven","opt_in_capturing","opt_out_capturing","console","warn","React","createElement","Fragment","init","api_host","opt_out_capturing_by_default","PostHogProvider","client","EN_GB","switchLanguage","logout","appVersion","myProfile","cookieSettings","NO_NB","messages","nb","en","Menu","getOrganisations","user","getToken","environment","_useMenu","useMenu","getItemsForPath","_useLanguage","useLanguage","language","setLanguage","_useOrganisation","useOrganisation","setOrganisationId","organisationId","items","mfPostHog","MenuContainer","style","marginLeft","space","extraLarge2","marginTop","large","marginBottom","extraLarge","EnturPartnerLogo","altText","className","margin","Stack","UserMenu","onLanguageChange","onLogout","_onLogout","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stop","apply","arguments","userName","given_name","family_name","name","showVersionItem","showMyProfileItem","showCookieSettingsItem","onCookieSettingsOpen","window","UC_UI","showSecondLayer","onNavigateToMyProfile","OrganisationSelector","selectedOrganisationId","onChange","SideNavigation","map","_ref2","to","title","disabled","navigate","itemProps","as","MicroFrontendLink","href","SideNavigationItem","_extends","key","toString","Content","values","addItems","setMFNavigate","useOrganisationId","addMenuItems","ContentWrapper","AppShellStandalone","audience","domain","clientId","decorateUser","redirectUri","AppShell","_languageStorage$get","_organisationStorage$","LanguageProvider","languageStorage","get","OrganisationProvider","organisationStorage","ConsentManagerProvider","MenuProvider"],"mappings":"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"}