@swisspost/internet-header 1.16.0 → 1.16.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 (32) hide show
  1. package/dist/cjs/focus-trap.cjs.entry.js +32 -50
  2. package/dist/cjs/index.cjs.js +1 -1
  3. package/dist/cjs/{post-internet-header-72edf928.js → post-internet-header-a55dfcff.js} +2 -3
  4. package/dist/cjs/swisspost-internet-header.cjs.entry.js +1 -1
  5. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +2 -8
  6. package/dist/collection/components/post-internet-header/post-internet-header.js +22 -62
  7. package/dist/components/focus-trap2.js +32 -50
  8. package/dist/components/swisspost-internet-header.js +2 -3
  9. package/dist/docs.json +31 -120
  10. package/dist/esm/focus-trap.entry.js +32 -50
  11. package/dist/esm/index.js +1 -1
  12. package/dist/esm/{post-internet-header-25cbaecc.js → post-internet-header-af82bc5f.js} +2 -3
  13. package/dist/esm/swisspost-internet-header.entry.js +1 -1
  14. package/dist/esm-es5/focus-trap.entry.js +3 -3
  15. package/dist/esm-es5/index.js +1 -1
  16. package/dist/esm-es5/{post-internet-header-25cbaecc.js → post-internet-header-af82bc5f.js} +1 -1
  17. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  18. package/dist/swisspost-internet-header/index.esm.js +1 -1
  19. package/dist/swisspost-internet-header/{p-2ca95ddf.system.js → p-20543d6d.system.js} +1 -1
  20. package/dist/swisspost-internet-header/{p-c45a080c.system.entry.js → p-4d5bddc5.system.entry.js} +3 -3
  21. package/dist/swisspost-internet-header/{p-572ff7a8.js → p-5c93e1e9.js} +1 -1
  22. package/dist/swisspost-internet-header/p-695fe962.system.js +1 -1
  23. package/dist/swisspost-internet-header/{p-5a806d1a.system.js → p-7936d692.system.js} +1 -1
  24. package/dist/swisspost-internet-header/{p-935c52e3.entry.js → p-8de89a63.entry.js} +1 -1
  25. package/dist/swisspost-internet-header/p-944e8412.entry.js +11 -0
  26. package/dist/swisspost-internet-header/{p-df70d07e.system.entry.js → p-b8d92cc7.system.entry.js} +1 -1
  27. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  28. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +0 -2
  29. package/dist/types/components/post-internet-header/post-internet-header.d.ts +1 -16
  30. package/dist/types/components.d.ts +4 -37
  31. package/package.json +2 -2
  32. package/dist/swisspost-internet-header/p-085d38af.entry.js +0 -11
@@ -1,12 +1,15 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
 
3
3
  /*!
4
- * tabbable 6.4.0
4
+ * tabbable 6.2.0
5
5
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
6
6
  */
7
7
  // NOTE: separate `:not()` selectors has broader browser support than the newer
8
8
  // `:not([inert], [inert] *)` (Feb 2023)
9
- var candidateSelectors = ['input:not([inert]):not([inert] *)', 'select:not([inert]):not([inert] *)', 'textarea:not([inert]):not([inert] *)', 'a[href]:not([inert]):not([inert] *)', 'button:not([inert]):not([inert] *)', '[tabindex]:not(slot):not([inert]):not([inert] *)', 'audio[controls]:not([inert]):not([inert] *)', 'video[controls]:not([inert]):not([inert] *)', '[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)', 'details>summary:first-of-type:not([inert]):not([inert] *)', 'details:not([inert]):not([inert] *)'];
9
+ // CAREFUL: JSDom does not support `:not([inert] *)` as a selector; using it causes
10
+ // the entire query to fail, resulting in no nodes found, which will break a lot
11
+ // of things... so we have to rely on JS to identify nodes inside an inert container
12
+ var candidateSelectors = ['input:not([inert])', 'select:not([inert])', 'textarea:not([inert])', 'a[href]:not([inert])', 'button:not([inert])', '[tabindex]:not(slot):not([inert])', 'audio[controls]:not([inert])', 'video[controls]:not([inert])', '[contenteditable]:not([contenteditable="false"]):not([inert])', 'details>summary:first-of-type:not([inert])', 'details:not([inert])'];
10
13
  var candidateSelector = /* #__PURE__ */candidateSelectors.join(',');
11
14
  var NoElement = typeof Element === 'undefined';
12
15
  var matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
@@ -19,13 +22,13 @@ var getRootNode = !NoElement && Element.prototype.getRootNode ? function (elemen
19
22
 
20
23
  /**
21
24
  * Determines if a node is inert or in an inert ancestor.
22
- * @param {Node} [node]
25
+ * @param {Element} [node]
23
26
  * @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to
24
27
  * see if any of them are inert. If false, only `node` itself is considered.
25
28
  * @returns {boolean} True if inert itself or by way of being in an inert ancestor.
26
29
  * False if `node` is falsy.
27
30
  */
28
- var _isInert = function isInert(node, lookUp) {
31
+ var isInert = function isInert(node, lookUp) {
29
32
  var _node$getAttribute;
30
33
  if (lookUp === void 0) {
31
34
  lookUp = true;
@@ -39,10 +42,10 @@ var _isInert = function isInert(node, lookUp) {
39
42
  // NOTE: this could also be handled with `node.matches('[inert], :is([inert] *)')`
40
43
  // if it weren't for `matches()` not being a function on shadow roots; the following
41
44
  // code works for any kind of node
42
- var result = inert || lookUp && node && (
43
- // closest does not exist on shadow roots, so we fall back to a manual
44
- // lookup upward, in case it is not defined.
45
- typeof node.closest === 'function' ? node.closest('[inert]') : _isInert(node.parentNode));
45
+ // CAREFUL: JSDom does not appear to support certain selectors like `:not([inert] *)`
46
+ // so it likely would not support `:is([inert] *)` either...
47
+ var result = inert || lookUp && node && isInert(node.parentNode); // recursive
48
+
46
49
  return result;
47
50
  };
48
51
 
@@ -68,8 +71,8 @@ var isContentEditable = function isContentEditable(node) {
68
71
  */
69
72
  var getCandidates = function getCandidates(el, includeContainer, filter) {
70
73
  // even if `includeContainer=false`, we still have to check it for inertness because
71
- // if it's inert (either by itself or via its parent), then all its children are inert
72
- if (_isInert(el)) {
74
+ // if it's inert, all its children are inert
75
+ if (isInert(el)) {
73
76
  return [];
74
77
  }
75
78
  var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
@@ -114,12 +117,12 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
114
117
  * @param {IterativeOptions} options
115
118
  * @returns {Array.<Element|CandidateScope>}
116
119
  */
117
- var _getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {
120
+ var getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {
118
121
  var candidates = [];
119
122
  var elementsToCheck = Array.from(elements);
120
123
  while (elementsToCheck.length) {
121
124
  var element = elementsToCheck.shift();
122
- if (_isInert(element, false)) {
125
+ if (isInert(element, false)) {
123
126
  // no need to look up since we're drilling down
124
127
  // anything inside this container will also be inert
125
128
  continue;
@@ -128,7 +131,7 @@ var _getCandidatesIteratively = function getCandidatesIteratively(elements, incl
128
131
  // add shadow dom slot scope (slot itself cannot be focusable)
129
132
  var assigned = element.assignedElements();
130
133
  var content = assigned.length ? assigned : element.children;
131
- var nestedCandidates = _getCandidatesIteratively(content, true, options);
134
+ var nestedCandidates = getCandidatesIteratively(content, true, options);
132
135
  if (options.flatten) {
133
136
  candidates.push.apply(candidates, nestedCandidates);
134
137
  } else {
@@ -152,7 +155,7 @@ var _getCandidatesIteratively = function getCandidatesIteratively(elements, incl
152
155
  // no inert look up because we're already drilling down and checking for inertness
153
156
  // on the way down, so all containers to this root node should have already been
154
157
  // vetted as non-inert
155
- var validShadowRoot = !_isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));
158
+ var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));
156
159
  if (shadowRoot && validShadowRoot) {
157
160
  // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed
158
161
  // shadow exists, so look at light dom children as fallback BUT create a scope for any
@@ -160,7 +163,7 @@ var _getCandidatesIteratively = function getCandidatesIteratively(elements, incl
160
163
  // children of the web component element (which has the shadow), in the light dom, but
161
164
  // slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,
162
165
  // _after_ we return from this recursive call
163
- var _nestedCandidates = _getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);
166
+ var _nestedCandidates = getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);
164
167
  if (options.flatten) {
165
168
  candidates.push.apply(candidates, _nestedCandidates);
166
169
  } else {
@@ -337,28 +340,6 @@ var isZeroArea = function isZeroArea(node) {
337
340
  var isHidden = function isHidden(node, _ref) {
338
341
  var displayCheck = _ref.displayCheck,
339
342
  getShadowRoot = _ref.getShadowRoot;
340
- if (displayCheck === 'full-native') {
341
- if ('checkVisibility' in node) {
342
- // Chrome >= 105, Edge >= 105, Firefox >= 106, Safari >= 17.4
343
- // @see https://developer.mozilla.org/en-US/docs/Web/API/Element/checkVisibility#browser_compatibility
344
- var visible = node.checkVisibility({
345
- // Checking opacity might be desirable for some use cases, but natively,
346
- // opacity zero elements _are_ focusable and tabbable.
347
- checkOpacity: false,
348
- opacityProperty: false,
349
- contentVisibilityAuto: true,
350
- visibilityProperty: true,
351
- // This is an alias for `visibilityProperty`. Contemporary browsers
352
- // support both. However, this alias has wider browser support (Chrome
353
- // >= 105 and Firefox >= 106, vs. Chrome >= 121 and Firefox >= 122), so
354
- // we include it anyway.
355
- checkVisibilityCSS: true
356
- });
357
- return !visible;
358
- }
359
- // Fall through to manual visibility checks
360
- }
361
-
362
343
  // NOTE: visibility will be `undefined` if node is detached from the document
363
344
  // (see notes about this further down), which means we will consider it visible
364
345
  // (this is legacy behavior from a very long way back)
@@ -372,10 +353,7 @@ var isHidden = function isHidden(node, _ref) {
372
353
  if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {
373
354
  return true;
374
355
  }
375
- if (!displayCheck || displayCheck === 'full' ||
376
- // full-native can run this branch when it falls through in case
377
- // Element#checkVisibility is unsupported
378
- displayCheck === 'full-native' || displayCheck === 'legacy-full') {
356
+ if (!displayCheck || displayCheck === 'full' || displayCheck === 'legacy-full') {
379
357
  if (typeof getShadowRoot === 'function') {
380
358
  // figure out if we should consider the node to be in an undisclosed shadow and use the
381
359
  // 'non-zero-area' fallback
@@ -484,7 +462,11 @@ var isDisabledFromFieldset = function isDisabledFromFieldset(node) {
484
462
  return false;
485
463
  };
486
464
  var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {
487
- if (node.disabled || isHiddenInput(node) || isHidden(node, options) ||
465
+ if (node.disabled ||
466
+ // we must do an inert look up to filter out any elements inside an inert ancestor
467
+ // because we're limited in the type of selectors we can use in JSDom (see related
468
+ // note related to `candidateSelectors`)
469
+ isInert(node) || isHiddenInput(node) || isHidden(node, options) ||
488
470
  // For a details element with a summary, the summary element gets the focus
489
471
  isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
490
472
  return false;
@@ -497,7 +479,7 @@ var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(opt
497
479
  }
498
480
  return true;
499
481
  };
500
- var isShadowRootTabbable = function isShadowRootTabbable(shadowHostNode) {
482
+ var isValidShadowRootTabbable = function isValidShadowRootTabbable(shadowHostNode) {
501
483
  var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);
502
484
  if (isNaN(tabIndex) || tabIndex >= 0) {
503
485
  return true;
@@ -511,14 +493,14 @@ var isShadowRootTabbable = function isShadowRootTabbable(shadowHostNode) {
511
493
  * @param {Array.<Element|CandidateScope>} candidates
512
494
  * @returns Element[]
513
495
  */
514
- var _sortByOrder = function sortByOrder(candidates) {
496
+ var sortByOrder = function sortByOrder(candidates) {
515
497
  var regularTabbables = [];
516
498
  var orderedTabbables = [];
517
499
  candidates.forEach(function (item, i) {
518
500
  var isScope = !!item.scopeParent;
519
501
  var element = isScope ? item.scopeParent : item;
520
502
  var candidateTabindex = getSortOrderTabIndex(element, isScope);
521
- var elements = isScope ? _sortByOrder(item.candidates) : element;
503
+ var elements = isScope ? sortByOrder(item.candidates) : element;
522
504
  if (candidateTabindex === 0) {
523
505
  isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
524
506
  } else {
@@ -540,22 +522,22 @@ var tabbable = function tabbable(container, options) {
540
522
  options = options || {};
541
523
  var candidates;
542
524
  if (options.getShadowRoot) {
543
- candidates = _getCandidatesIteratively([container], options.includeContainer, {
525
+ candidates = getCandidatesIteratively([container], options.includeContainer, {
544
526
  filter: isNodeMatchingSelectorTabbable.bind(null, options),
545
527
  flatten: false,
546
528
  getShadowRoot: options.getShadowRoot,
547
- shadowRootFilter: isShadowRootTabbable
529
+ shadowRootFilter: isValidShadowRootTabbable
548
530
  });
549
531
  } else {
550
532
  candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
551
533
  }
552
- return _sortByOrder(candidates);
534
+ return sortByOrder(candidates);
553
535
  };
554
536
  var focusable = function focusable(container, options) {
555
537
  options = options || {};
556
538
  var candidates;
557
539
  if (options.getShadowRoot) {
558
- candidates = _getCandidatesIteratively([container], options.includeContainer, {
540
+ candidates = getCandidatesIteratively([container], options.includeContainer, {
559
541
  filter: isNodeMatchingSelectorFocusable.bind(null, options),
560
542
  flatten: true,
561
543
  getShadowRoot: options.getShadowRoot
@@ -575,7 +557,7 @@ var isTabbable = function isTabbable(node, options) {
575
557
  }
576
558
  return isNodeMatchingSelectorTabbable(options, node);
577
559
  };
578
- var focusableCandidateSelector = /* #__PURE__ */candidateSelectors.concat('iframe:not([inert]):not([inert] *)').join(',');
560
+ var focusableCandidateSelector = /* #__PURE__ */candidateSelectors.concat('iframe').join(',');
579
561
  var isFocusable = function isFocusable(node, options) {
580
562
  options = options || {};
581
563
  if (!node) {
@@ -378,7 +378,7 @@ const setMainNavigationIds = (navMainEntities) => {
378
378
  };
379
379
 
380
380
  const name = "@swisspost/internet-header";
381
- const version = "1.16.0";
381
+ const version = "1.16.2";
382
382
  const description = "The header for client facing applications.";
383
383
  const author = "Swiss Post <design-system@post.ch>";
384
384
  const license = "Apache-2.0";
@@ -419,7 +419,7 @@ const scripts = {
419
419
  generate: "stencil generate"
420
420
  };
421
421
  const dependencies = {
422
- "@swisspost/design-system-styles": "workspace:9.7.0",
422
+ "@swisspost/design-system-styles": "workspace:9.9.0",
423
423
  "body-scroll-lock": "4.0.0-beta.0",
424
424
  "iframe-resizer": "4.4.5",
425
425
  jquery: "3.7.1",
@@ -589,7 +589,6 @@ const PostInternetHeader = /*@__PURE__*/ proxyCustomElement(class PostInternetHe
589
589
  /**
590
590
  * Get the currently set language as a two letter string ("de", "fr" "it" or "en")
591
591
  * @returns string
592
- * @deprecated use `document.documentElement.lang` instead
593
592
  */
594
593
  async getCurrentLanguage() {
595
594
  var _a;
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-02-23T18:09:42",
2
+ "timestamp": "2026-03-09T14:27:24",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.19.2",
@@ -750,13 +750,7 @@
750
750
  "attr": "custom-items",
751
751
  "reflectToAttr": false,
752
752
  "docs": "Add custom breadcrumb items to the end of the pre-configured list. Handy if your online service has its own navigation structure.",
753
- "docsTags": [
754
- {
755
- "name": "deprecated",
756
- "text": "overlays will no longer be provided in the next major release, therefore this method will no longer be needed."
757
- }
758
- ],
759
- "deprecation": "overlays will no longer be provided in the next major release, therefore this method will no longer be needed.",
753
+ "docsTags": [],
760
754
  "values": [
761
755
  {
762
756
  "type": "IBreadcrumbItem[]"
@@ -783,14 +777,8 @@
783
777
  "attr": "hide-buttons",
784
778
  "reflectToAttr": false,
785
779
  "docs": "Hide all buttons.",
786
- "docsTags": [
787
- {
788
- "name": "deprecated",
789
- "text": "Help and Contact buttons will no longer be provided in the next major release, therefore this prop will no longer be needed."
790
- }
791
- ],
780
+ "docsTags": [],
792
781
  "default": "false",
793
- "deprecation": "Help and Contact buttons will no longer be provided in the next major release, therefore this prop will no longer be needed.",
794
782
  "values": [
795
783
  {
796
784
  "type": "boolean"
@@ -893,22 +881,22 @@
893
881
  "name": "activeRoute",
894
882
  "type": "boolean | string | undefined",
895
883
  "complexType": {
896
- "original": "'auto' | false | string",
884
+ "original": "ActiveRouteProp",
897
885
  "resolved": "boolean | string | undefined",
898
- "references": {}
886
+ "references": {
887
+ "ActiveRouteProp": {
888
+ "location": "import",
889
+ "path": "../../models/general.model",
890
+ "id": "src/models/general.model.ts::ActiveRouteProp"
891
+ }
892
+ }
899
893
  },
900
894
  "mutable": false,
901
895
  "attr": "active-route",
902
896
  "reflectToAttr": false,
903
897
  "docs": "Set the currently activated route. If there is a link matching this URL in the header, it will be highlighted.\nWill also highlight partly matching URLs. When set to auto, will use current location.href for comparison.",
904
- "docsTags": [
905
- {
906
- "name": "deprecated",
907
- "text": "boolean values will no longer be accepted in the next major release. Use \"none\" for false and \"auto\" for true. All other values remain unchanged."
908
- }
909
- ],
898
+ "docsTags": [],
910
899
  "default": "'auto'",
911
- "deprecation": "boolean values will no longer be accepted in the next major release. Use \"none\" for false and \"auto\" for true. All other values remain unchanged.",
912
900
  "values": [
913
901
  {
914
902
  "type": "boolean"
@@ -935,13 +923,7 @@
935
923
  "attr": "config-proxy",
936
924
  "reflectToAttr": false,
937
925
  "docs": "Define a proxy URL for the config fetch request.",
938
- "docsTags": [
939
- {
940
- "name": "deprecated",
941
- "text": "this functionality will no longer be provided in the next major release and was deprecated previously."
942
- }
943
- ],
944
- "deprecation": "this functionality will no longer be provided in the next major release and was deprecated previously.",
926
+ "docsTags": [],
945
927
  "values": [
946
928
  {
947
929
  "type": "string"
@@ -971,13 +953,7 @@
971
953
  "attr": "custom-config",
972
954
  "reflectToAttr": false,
973
955
  "docs": "Customize the header config loaded from the post portal.",
974
- "docsTags": [
975
- {
976
- "name": "deprecated",
977
- "text": "use the main navigation slot to add custom menu entries. This option will be removed in the next major release."
978
- }
979
- ],
980
- "deprecation": "use the main navigation slot to add custom menu entries. This option will be removed in the next major release.",
956
+ "docsTags": [],
981
957
  "values": [
982
958
  {
983
959
  "type": "ICustomConfig"
@@ -1119,13 +1095,7 @@
1119
1095
  "attr": "language-cookie-key",
1120
1096
  "reflectToAttr": false,
1121
1097
  "docs": "The header uses this cookie to set the language. Disables automatic language detection.",
1122
- "docsTags": [
1123
- {
1124
- "name": "deprecated",
1125
- "text": "this will no longer be supported in the next major release due to low usage, in favor of a project-specific solution."
1126
- }
1127
- ],
1128
- "deprecation": "this will no longer be supported in the next major release due to low usage, in favor of a project-specific solution.",
1098
+ "docsTags": [],
1129
1099
  "values": [
1130
1100
  {
1131
1101
  "type": "string"
@@ -1149,14 +1119,8 @@
1149
1119
  "attr": "language-local-storage-key",
1150
1120
  "reflectToAttr": false,
1151
1121
  "docs": "The header uses this local storage key to set the language. Disables automatic language selection.",
1152
- "docsTags": [
1153
- {
1154
- "name": "deprecated",
1155
- "text": "this will no longer be supported in the next major release due to low usage, in favor of a project-specific solution."
1156
- }
1157
- ],
1122
+ "docsTags": [],
1158
1123
  "default": "'swisspost-internet-header-language'",
1159
- "deprecation": "this will no longer be supported in the next major release due to low usage, in favor of a project-specific solution.",
1160
1124
  "values": [
1161
1125
  {
1162
1126
  "type": "string"
@@ -1186,13 +1150,7 @@
1186
1150
  "attr": "language-switch-overrides",
1187
1151
  "reflectToAttr": false,
1188
1152
  "docs": "Override the language switch links with custom URLs. Helpful when your application contains sub-pages, and you\nwould like to stay on subpages when the user changes language.",
1189
- "docsTags": [
1190
- {
1191
- "name": "deprecated",
1192
- "text": "use the language menu slot to override the language switch and specify custom URLs. This option will be removed in the next major release."
1193
- }
1194
- ],
1195
- "deprecation": "use the language menu slot to override the language switch and specify custom URLs. This option will be removed in the next major release.",
1153
+ "docsTags": [],
1196
1154
  "values": [
1197
1155
  {
1198
1156
  "type": "IAvailableLanguage[]"
@@ -1219,14 +1177,8 @@
1219
1177
  "attr": "login",
1220
1178
  "reflectToAttr": false,
1221
1179
  "docs": "Toggle the login link (when logged out) or the user widget (when logged in).",
1222
- "docsTags": [
1223
- {
1224
- "name": "deprecated",
1225
- "text": "use the new configuration API to show or hide the login. This option will be removed in the next major release."
1226
- }
1227
- ],
1180
+ "docsTags": [],
1228
1181
  "default": "true",
1229
- "deprecation": "use the new configuration API to show or hide the login. This option will be removed in the next major release.",
1230
1182
  "values": [
1231
1183
  {
1232
1184
  "type": "boolean"
@@ -1247,13 +1199,7 @@
1247
1199
  "attr": "logout-url",
1248
1200
  "reflectToAttr": false,
1249
1201
  "docs": "Overrides the logout-url provided by the portal config.",
1250
- "docsTags": [
1251
- {
1252
- "name": "deprecated",
1253
- "text": "use the new configuration API to specify the logout URL. This option will be removed in the next major release."
1254
- }
1255
- ],
1256
- "deprecation": "use the new configuration API to specify the logout URL. This option will be removed in the next major release.",
1202
+ "docsTags": [],
1257
1203
  "values": [
1258
1204
  {
1259
1205
  "type": "string"
@@ -1277,14 +1223,8 @@
1277
1223
  "attr": "meta",
1278
1224
  "reflectToAttr": false,
1279
1225
  "docs": "Toggle the meta navigation.",
1280
- "docsTags": [
1281
- {
1282
- "name": "deprecated",
1283
- "text": "use the new configuration API to show or hide the meta navigation links. This option will be removed in the next major release."
1284
- }
1285
- ],
1226
+ "docsTags": [],
1286
1227
  "default": "true",
1287
- "deprecation": "use the new configuration API to show or hide the meta navigation links. This option will be removed in the next major release.",
1288
1228
  "values": [
1289
1229
  {
1290
1230
  "type": "boolean"
@@ -1311,12 +1251,7 @@
1311
1251
  "attr": "os-flyout-overrides",
1312
1252
  "reflectToAttr": false,
1313
1253
  "docs": "Online Services only: Add custom links to the special online service navigation entry",
1314
- "docsTags": [
1315
- {
1316
- "name": "deprecatedthe",
1317
- "text": "new header will no longer include this flyout in the next major release. Use the main navigation slot to add application-specific menu items."
1318
- }
1319
- ],
1254
+ "docsTags": [],
1320
1255
  "values": [
1321
1256
  {
1322
1257
  "type": "NavMainEntity"
@@ -1364,14 +1299,8 @@
1364
1299
  "attr": "search",
1365
1300
  "reflectToAttr": false,
1366
1301
  "docs": "Toggle the search button.",
1367
- "docsTags": [
1368
- {
1369
- "name": "deprecated",
1370
- "text": "use the new configuration API to show or hide the search. This option will be removed in the next major release."
1371
- }
1372
- ],
1302
+ "docsTags": [],
1373
1303
  "default": "true",
1374
- "deprecation": "use the new configuration API to show or hide the search. This option will be removed in the next major release.",
1375
1304
  "values": [
1376
1305
  {
1377
1306
  "type": "boolean"
@@ -1392,13 +1321,7 @@
1392
1321
  "attr": "self-admin-origin",
1393
1322
  "reflectToAttr": false,
1394
1323
  "docs": "Overrides the selfadmin url in case it needs to differ from the logoutUrl, which is the url that is used by default.\nThe selfadmin url is used in the KLP login widget to set the user menu links.",
1395
- "docsTags": [
1396
- {
1397
- "name": "deprecated",
1398
- "text": "use the new configuration API to specify these URLs. This option will be removed in the next major release."
1399
- }
1400
- ],
1401
- "deprecation": "use the new configuration API to specify these URLs. This option will be removed in the next major release.",
1324
+ "docsTags": [],
1402
1325
  "values": [
1403
1326
  {
1404
1327
  "type": "string"
@@ -1422,14 +1345,8 @@
1422
1345
  "attr": "skiplinks",
1423
1346
  "reflectToAttr": false,
1424
1347
  "docs": "Toggle skiplinks. They help keyboard users to quickly jump to important sections of the page.",
1425
- "docsTags": [
1426
- {
1427
- "name": "deprecated",
1428
- "text": "please implement the skiplinks component. This option will be removed in the next major release."
1429
- }
1430
- ],
1348
+ "docsTags": [],
1431
1349
  "default": "true",
1432
- "deprecation": "please implement the skiplinks component. This option will be removed in the next major release.",
1433
1350
  "values": [
1434
1351
  {
1435
1352
  "type": "boolean"
@@ -1456,14 +1373,8 @@
1456
1373
  "attr": "stickyness",
1457
1374
  "reflectToAttr": false,
1458
1375
  "docs": "Sticky behaviour of the header.",
1459
- "docsTags": [
1460
- {
1461
- "name": "deprecated",
1462
- "text": "this option will no longer be configurable with the new header in the next major release."
1463
- }
1464
- ],
1376
+ "docsTags": [],
1465
1377
  "default": "'minimal'",
1466
- "deprecation": "this option will no longer be configurable with the new header in the next major release.",
1467
1378
  "values": [
1468
1379
  {
1469
1380
  "value": "full",
@@ -1511,13 +1422,8 @@
1511
1422
  {
1512
1423
  "name": "returns",
1513
1424
  "text": "string"
1514
- },
1515
- {
1516
- "name": "deprecated",
1517
- "text": "use `document.documentElement.lang` instead"
1518
1425
  }
1519
- ],
1520
- "deprecation": "use `document.documentElement.lang` instead"
1426
+ ]
1521
1427
  }
1522
1428
  ],
1523
1429
  "events": [
@@ -1593,6 +1499,11 @@
1593
1499
  "docstring": "",
1594
1500
  "path": "src/models/general.model.ts"
1595
1501
  },
1502
+ "src/models/general.model.ts::ActiveRouteProp": {
1503
+ "declaration": "export type ActiveRouteProp = 'auto' | 'exact' | false | string;",
1504
+ "docstring": "",
1505
+ "path": "src/models/general.model.ts"
1506
+ },
1596
1507
  "src/models/header.model.ts::NavMainEntity": {
1597
1508
  "declaration": "export interface NavMainEntity {\n id?: string;\n text: string;\n title: string;\n url: string;\n isActive?: boolean;\n isActiveOverride?: boolean;\n noFlyout?: boolean;\n flyout?: FlyoutEntity[];\n}",
1598
1509
  "docstring": "",