@swisspost/design-system-components 10.0.0-next.46 → 10.0.0-next.47

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 (139) hide show
  1. package/dist/cjs/index-CpDyH7Ww.js +4 -4
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{package-Din0le0Q.js → package-wsZ6ig4j.js} +1 -1
  4. package/dist/cjs/post-accordion_2.cjs.entry.js +1 -1
  5. package/dist/cjs/post-avatar.cjs.entry.js +1 -1
  6. package/dist/cjs/post-back-to-top.cjs.entry.js +32 -7
  7. package/dist/cjs/post-banner.cjs.entry.js +31 -35
  8. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +1 -1
  9. package/dist/cjs/post-breadcrumbs.cjs.entry.js +1 -1
  10. package/dist/cjs/post-card-control.cjs.entry.js +3 -3
  11. package/dist/cjs/post-closebutton_15.cjs.entry.js +38 -6
  12. package/dist/cjs/post-collapsible_2.cjs.entry.js +1 -1
  13. package/dist/cjs/post-components.cjs.js +1 -1
  14. package/dist/cjs/post-footer.cjs.entry.js +1 -1
  15. package/dist/cjs/post-linkarea.cjs.entry.js +1 -1
  16. package/dist/cjs/post-popover.cjs.entry.js +1 -1
  17. package/dist/cjs/post-rating.cjs.entry.js +1 -1
  18. package/dist/cjs/post-tab-header.cjs.entry.js +1 -1
  19. package/dist/cjs/post-tab-panel.cjs.entry.js +1 -1
  20. package/dist/cjs/post-tabs.cjs.entry.js +1 -1
  21. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +1 -1
  22. package/dist/cjs/post-tooltip.cjs.entry.js +1 -1
  23. package/dist/collection/animations/slide-and-fade.js +25 -0
  24. package/dist/collection/components/post-avatar/post-avatar.js +1 -1
  25. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -1
  26. package/dist/collection/components/post-back-to-top/post-back-to-top.js +5 -5
  27. package/dist/collection/components/post-banner/post-banner.css +1 -1
  28. package/dist/collection/components/post-banner/post-banner.js +41 -81
  29. package/dist/collection/components/post-card-control/post-card-control.js +8 -8
  30. package/dist/collection/components/post-closebutton/post-closebutton.js +27 -1
  31. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +1 -1
  32. package/dist/components/{p-Dg6sSnLv.js → p-336Lbkey.js} +1 -1
  33. package/dist/components/{p-DQE6fqIb.js → p-BM8mtEfS.js} +1 -1
  34. package/dist/components/{p-DNnYEFO6.js → p-BSvy4uym.js} +4 -4
  35. package/dist/components/{p-Cd5RHPSU.js → p-C0H2ohSv.js} +1 -1
  36. package/dist/components/{p-Cpy7mEQb.js → p-Cxrx7SXz.js} +1 -1
  37. package/dist/components/{p-jLh9Y0sO.js → p-DEi5TIMq.js} +2 -2
  38. package/dist/components/{p-D1Ldeko3.js → p-DP5pj8mq.js} +2 -2
  39. package/dist/components/{p-9rHPmDn6.js → p-DVGX_JCp.js} +1 -1
  40. package/dist/components/p-Z01QMrov.js +3 -0
  41. package/dist/components/{p-C8YtuR96.js → p-i0-mizzM.js} +1 -1
  42. package/dist/components/{p-C1i4rB_c.js → p-pHxypsHK.js} +2 -2
  43. package/dist/components/post-accordion-item.js +1 -1
  44. package/dist/components/post-accordion.js +1 -1
  45. package/dist/components/post-avatar.js +1 -1
  46. package/dist/components/post-back-to-top.js +33 -8
  47. package/dist/components/post-banner.js +34 -45
  48. package/dist/components/post-breadcrumb-item.js +1 -1
  49. package/dist/components/post-breadcrumbs.js +7 -7
  50. package/dist/components/post-card-control.js +4 -4
  51. package/dist/components/post-closebutton.js +13 -4
  52. package/dist/components/post-collapsible-trigger.js +1 -1
  53. package/dist/components/post-collapsible.js +1 -1
  54. package/dist/components/post-footer.js +6 -6
  55. package/dist/components/post-header.js +25 -2
  56. package/dist/components/post-icon.js +1 -1
  57. package/dist/components/post-language-option.js +1 -1
  58. package/dist/components/post-language-switch.js +5 -5
  59. package/dist/components/post-linkarea.js +1 -1
  60. package/dist/components/post-list-item.js +1 -1
  61. package/dist/components/post-list.js +1 -1
  62. package/dist/components/post-logo.js +1 -1
  63. package/dist/components/post-mainnavigation.js +2 -2
  64. package/dist/components/post-megadropdown-trigger.js +1 -1
  65. package/dist/components/post-megadropdown.js +1 -1
  66. package/dist/components/post-menu-item.js +1 -1
  67. package/dist/components/post-menu-trigger.js +1 -1
  68. package/dist/components/post-menu.js +1 -1
  69. package/dist/components/post-popover.js +2 -2
  70. package/dist/components/post-popovercontainer.js +1 -1
  71. package/dist/components/post-rating.js +2 -2
  72. package/dist/components/post-tab-header.js +1 -1
  73. package/dist/components/post-tab-panel.js +1 -1
  74. package/dist/components/post-tabs.js +1 -1
  75. package/dist/components/post-togglebutton.js +1 -1
  76. package/dist/components/post-tooltip-trigger.js +1 -1
  77. package/dist/components/post-tooltip.js +2 -2
  78. package/dist/docs.json +42 -65
  79. package/dist/esm/index-C8a0ddDa.js +4 -4
  80. package/dist/esm/loader.js +1 -1
  81. package/dist/esm/package-Z01QMrov.js +3 -0
  82. package/dist/esm/post-accordion_2.entry.js +1 -1
  83. package/dist/esm/post-avatar.entry.js +1 -1
  84. package/dist/esm/post-back-to-top.entry.js +32 -7
  85. package/dist/esm/post-banner.entry.js +32 -36
  86. package/dist/esm/post-breadcrumb-item_2.entry.js +1 -1
  87. package/dist/esm/post-breadcrumbs.entry.js +1 -1
  88. package/dist/esm/post-card-control.entry.js +3 -3
  89. package/dist/esm/post-closebutton_15.entry.js +37 -5
  90. package/dist/esm/post-collapsible_2.entry.js +1 -1
  91. package/dist/esm/post-components.js +1 -1
  92. package/dist/esm/post-footer.entry.js +1 -1
  93. package/dist/esm/post-linkarea.entry.js +1 -1
  94. package/dist/esm/post-popover.entry.js +1 -1
  95. package/dist/esm/post-rating.entry.js +1 -1
  96. package/dist/esm/post-tab-header.entry.js +1 -1
  97. package/dist/esm/post-tab-panel.entry.js +1 -1
  98. package/dist/esm/post-tabs.entry.js +1 -1
  99. package/dist/esm/post-tooltip-trigger.entry.js +1 -1
  100. package/dist/esm/post-tooltip.entry.js +1 -1
  101. package/dist/post-components/{p-30f12b7c.entry.js → p-031f7489.entry.js} +1 -1
  102. package/dist/post-components/{p-a69c874a.entry.js → p-1e6a068a.entry.js} +1 -1
  103. package/dist/post-components/{p-74a9aafc.entry.js → p-2ca196d6.entry.js} +1 -1
  104. package/dist/post-components/{p-7689015e.entry.js → p-2f698af4.entry.js} +1 -1
  105. package/dist/post-components/{p-a0a1cab6.entry.js → p-3adbdda7.entry.js} +1 -1
  106. package/dist/post-components/{p-1dee733a.entry.js → p-45007aac.entry.js} +1 -1
  107. package/dist/post-components/p-57703aee.entry.js +1 -0
  108. package/dist/post-components/{p-ea9ae6b7.entry.js → p-7b8ab026.entry.js} +1 -1
  109. package/dist/post-components/{p-3789cf50.entry.js → p-9428231b.entry.js} +1 -1
  110. package/dist/post-components/p-Z01QMrov.js +1 -0
  111. package/dist/post-components/p-a2fa5ce4.entry.js +1 -0
  112. package/dist/post-components/{p-ba13450e.entry.js → p-ab8017bb.entry.js} +1 -1
  113. package/dist/post-components/p-ac73ab00.entry.js +1 -0
  114. package/dist/post-components/{p-eddb07df.entry.js → p-bbe02ba3.entry.js} +1 -1
  115. package/dist/post-components/{p-7819009b.entry.js → p-c1cf39cb.entry.js} +1 -1
  116. package/dist/post-components/{p-cb937e6b.entry.js → p-d0d92071.entry.js} +1 -1
  117. package/dist/post-components/{p-26730afe.entry.js → p-e96239c4.entry.js} +1 -1
  118. package/dist/post-components/{p-80bad606.entry.js → p-e9802b56.entry.js} +1 -1
  119. package/dist/post-components/{p-470750be.entry.js → p-f67b616a.entry.js} +1 -1
  120. package/dist/post-components/post-components.esm.js +1 -1
  121. package/dist/types/animations/slide-and-fade.d.ts +2 -0
  122. package/dist/types/components/post-avatar/post-avatar.d.ts +1 -1
  123. package/dist/types/components/post-banner/post-banner.d.ts +6 -14
  124. package/dist/types/components/post-card-control/post-card-control.d.ts +7 -7
  125. package/dist/types/components/post-closebutton/post-closebutton.d.ts +8 -0
  126. package/dist/types/components.d.ts +28 -27
  127. package/hydrate/index.js +103 -77
  128. package/hydrate/index.mjs +103 -77
  129. package/package.json +4 -4
  130. package/dist/cjs/slide-CbBL7A8w.js +0 -28
  131. package/dist/components/p-7hVD-I9l.js +0 -3
  132. package/dist/components/p-BuLMaH5t.js +0 -25
  133. package/dist/esm/package-7hVD-I9l.js +0 -3
  134. package/dist/esm/slide-BuLMaH5t.js +0 -25
  135. package/dist/post-components/p-2d3fb75c.entry.js +0 -1
  136. package/dist/post-components/p-2ed74834.entry.js +0 -1
  137. package/dist/post-components/p-7hVD-I9l.js +0 -1
  138. package/dist/post-components/p-BuLMaH5t.js +0 -1
  139. package/dist/post-components/p-cb5af9d8.entry.js +0 -1
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-08-25T12:55:51",
2
+ "timestamp": "2025-09-08T11:03:57",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.35.0",
@@ -508,7 +508,7 @@
508
508
  "mutable": false,
509
509
  "attr": "userid",
510
510
  "reflectToAttr": false,
511
- "docs": "Defines the company internal userId.<div className=\"mb-4 banner banner-warning banner-sm\">Can only be used on post.ch domains!</div>",
511
+ "docs": "Defines the company internal userId.<post-banner type=\"warning\" data-size=\"sm\"><p>Can only be used on post.ch domains!</p></post-banner>",
512
512
  "docsTags": [],
513
513
  "values": [
514
514
  {
@@ -600,6 +600,10 @@
600
600
  "name": "slot",
601
601
  "text": "actions - Slot for placing custom actions (buttons, links, etc.) within the banner."
602
602
  },
603
+ {
604
+ "name": "slot",
605
+ "text": "close-button - Slot for placing a `post-closebutton` component to make the banner dismissible."
606
+ },
603
607
  {
604
608
  "name": "slot",
605
609
  "text": "default - Slot for placing the main content/message of the banner."
@@ -607,58 +611,6 @@
607
611
  ],
608
612
  "usage": {},
609
613
  "props": [
610
- {
611
- "name": "dismissLabel",
612
- "type": "string",
613
- "complexType": {
614
- "original": "string",
615
- "resolved": "string",
616
- "references": {}
617
- },
618
- "mutable": false,
619
- "attr": "dismiss-label",
620
- "reflectToAttr": false,
621
- "docs": "The label to use for the close button of a dismissible banner.",
622
- "docsTags": [],
623
- "values": [
624
- {
625
- "type": "string"
626
- }
627
- ],
628
- "optional": true,
629
- "required": false,
630
- "getter": false,
631
- "setter": false
632
- },
633
- {
634
- "name": "dismissible",
635
- "type": "boolean",
636
- "complexType": {
637
- "original": "boolean",
638
- "resolved": "boolean",
639
- "references": {}
640
- },
641
- "mutable": false,
642
- "attr": "dismissible",
643
- "reflectToAttr": false,
644
- "docs": "If `true`, a close button (×) is displayed and the banner can be dismissed by the user.",
645
- "docsTags": [
646
- {
647
- "name": "default",
648
- "text": "false"
649
- }
650
- ],
651
- "default": "false",
652
- "values": [
653
- {
654
- "type": "boolean"
655
- }
656
- ],
657
- "optional": false,
658
- "required": false,
659
- "getter": false,
660
- "setter": false
661
- },
662
614
  {
663
615
  "name": "type",
664
616
  "type": "\"error\" | \"info\" | \"success\" | \"warning\"",
@@ -675,7 +627,7 @@
675
627
  },
676
628
  "mutable": false,
677
629
  "attr": "type",
678
- "reflectToAttr": false,
630
+ "reflectToAttr": true,
679
631
  "docs": "The type of the banner.",
680
632
  "docsTags": [
681
633
  {
@@ -748,13 +700,23 @@
748
700
  "docsTags": []
749
701
  }
750
702
  ],
751
- "listeners": [],
703
+ "listeners": [
704
+ {
705
+ "event": "postClick",
706
+ "capture": false,
707
+ "passive": false
708
+ }
709
+ ],
752
710
  "styles": [],
753
711
  "slots": [
754
712
  {
755
713
  "name": "actions",
756
714
  "docs": "Slot for placing custom actions (buttons, links, etc.) within the banner."
757
715
  },
716
+ {
717
+ "name": "close-button",
718
+ "docs": "Slot for placing a `post-closebutton` component to make the banner dismissible."
719
+ },
758
720
  {
759
721
  "name": "default",
760
722
  "docs": "Slot for placing the main content/message of the banner."
@@ -946,11 +908,11 @@
946
908
  },
947
909
  {
948
910
  "name": "slot",
949
- "text": "default - Content to place into the `default` slot.<p>Markup accepted: <a href=\"https://developer.mozilla.org/en-US/docs/Glossary/Block-level_contentt\">block content</a>.<p className=\"banner banner-sm banner-warning\">Even if it is generally possible, we do not recommend using interactive elements in this slot because the background of the card control is clickable.<br/>This can lead to confusion when the hit box of nested interactive controls is not clearly separated from the background, is invalid HTML and click events bubbling up to the card control will unexpectedly toggle it if they're not captured.<br/>More info: <a href=\"https://accessibilityinsights.io/info-examples/web/nested-interactive/\">https://accessibilityinsights.io/info-examples/web/nested-interactive/</a></p>"
911
+ "text": "default - Content to place into the `default` slot.<p>Markup accepted: <a href=\"https://developer.mozilla.org/en-US/docs/Glossary/Block-level_contentt\">block content</a>.<post-banner type=\"warning\" data-size=\"sm\"><p>Even if it is generally possible, we do not recommend using interactive elements in this slot because the background of the card control is clickable.<br/>This can lead to confusion when the hit box of nested interactive controls is not clearly separated from the background, is invalid HTML and click events bubbling up to the card control will unexpectedly toggle it if they're not captured.<br/>More info: <a href=\"https://accessibilityinsights.io/info-examples/web/nested-interactive/\">https://accessibilityinsights.io/info-examples/web/nested-interactive/</a></p></post-banner>"
950
912
  },
951
913
  {
952
914
  "name": "slot",
953
- "text": "icon - To insert a custom icon into the named `icon` slot.<p>Markup accepted: <a href=\"https://developer.mozilla.org/en-US/docs/Glossary/Inline-level_content\">inline content</a>.<p className=\"banner banner-sm banner-info\">It is only meant for <code>img</code> or <code>svg</code> elements and overrides the `icon` property.</p>"
915
+ "text": "icon - To insert a custom icon into the named `icon` slot.<p>Markup accepted: <a href=\"https://developer.mozilla.org/en-US/docs/Glossary/Inline-level_content\">inline content</a>.<post-banner data-size=\"sm\"><p>It is only meant for <code>img</code> or <code>svg</code> elements and overrides the `icon` property.</p></post-banner>"
954
916
  }
955
917
  ],
956
918
  "usage": {},
@@ -1047,7 +1009,7 @@
1047
1009
  "mutable": false,
1048
1010
  "attr": "icon",
1049
1011
  "reflectToAttr": false,
1050
- "docs": "Defines the icon `name` inside the card.\n<span className=\"banner banner-sm banner-info\">If not set the icon will not show up.</span>",
1012
+ "docs": "Defines the icon `name` inside the card.\n<post-banner data-size=\"sm\"><p>If not set the icon will not show up.</p></post-banner>",
1051
1013
  "docsTags": [],
1052
1014
  "values": [
1053
1015
  {
@@ -1093,7 +1055,7 @@
1093
1055
  "mutable": false,
1094
1056
  "attr": "name",
1095
1057
  "reflectToAttr": false,
1096
- "docs": "Defines the `name` attribute of the control.\n<span className=\"mb-4 banner banner-sm banner-info\">This is a required property, when the control should participate in a native `form`. If not specified, a native `form` will never contain this controls value.</span>\n<span className=\"banner banner-sm banner-info\">This is a required property, when the control is used with type `radio`.</span>",
1058
+ "docs": "Defines the `name` attribute of the control.\n<post-banner data-size=\"sm\"><p>This is a required property, when the control should participate in a native `form`. If not specified, a native `form` will never contain this controls value.</p></post-banner>\n<post-banner data-size=\"sm\"><p>This is a required property, when the control is used with type `radio`.</p></post-banner>",
1097
1059
  "docsTags": [],
1098
1060
  "values": [
1099
1061
  {
@@ -1167,7 +1129,7 @@
1167
1129
  "mutable": false,
1168
1130
  "attr": "value",
1169
1131
  "reflectToAttr": false,
1170
- "docs": "Defines the `value` attribute of the control. <span className=\"banner banner-sm banner-info\">This is a required property, when the control is used with type `radio`.</span>",
1132
+ "docs": "Defines the `value` attribute of the control. <post-banner data-size=\"sm\"><p>This is a required property, when the control is used with type `radio`.</p></post-banner>",
1171
1133
  "docsTags": [],
1172
1134
  "values": [
1173
1135
  {
@@ -1238,7 +1200,7 @@
1238
1200
  },
1239
1201
  "cancelable": true,
1240
1202
  "composed": true,
1241
- "docs": "An event emitted whenever the components checked state is toggled.\nThe event payload (emitted under `event.detail.state`) is a boolean: `true` if the component is checked, `false` if it is unchecked.\n<span className=\"banner banner-sm banner-info\">If the component is used with type `radio`, it will only emit this event, when the checked state is changing to `true`.</span>",
1203
+ "docs": "An event emitted whenever the components checked state is toggled.\nThe event payload (emitted under `event.detail.state`) is a boolean: `true` if the component is checked, `false` if it is unchecked.\n<post-banner data-size=\"sm\"><p>If the component is used with type `radio`, it will only emit this event, when the checked state is changing to `true`.</p></post-banner>",
1242
1204
  "docsTags": []
1243
1205
  },
1244
1206
  {
@@ -1261,11 +1223,11 @@
1261
1223
  "slots": [
1262
1224
  {
1263
1225
  "name": "default",
1264
- "docs": "Content to place into the `default` slot.<p>Markup accepted: <a href=\"https://developer.mozilla.org/en-US/docs/Glossary/Block-level_contentt\">block content</a>.<p className=\"banner banner-sm banner-warning\">Even if it is generally possible, we do not recommend using interactive elements in this slot because the background of the card control is clickable.<br/>This can lead to confusion when the hit box of nested interactive controls is not clearly separated from the background, is invalid HTML and click events bubbling up to the card control will unexpectedly toggle it if they're not captured.<br/>More info: <a href=\"https://accessibilityinsights.io/info-examples/web/nested-interactive/\">https://accessibilityinsights.io/info-examples/web/nested-interactive/</a></p>"
1226
+ "docs": "Content to place into the `default` slot.<p>Markup accepted: <a href=\"https://developer.mozilla.org/en-US/docs/Glossary/Block-level_contentt\">block content</a>.<post-banner type=\"warning\" data-size=\"sm\"><p>Even if it is generally possible, we do not recommend using interactive elements in this slot because the background of the card control is clickable.<br/>This can lead to confusion when the hit box of nested interactive controls is not clearly separated from the background, is invalid HTML and click events bubbling up to the card control will unexpectedly toggle it if they're not captured.<br/>More info: <a href=\"https://accessibilityinsights.io/info-examples/web/nested-interactive/\">https://accessibilityinsights.io/info-examples/web/nested-interactive/</a></p></post-banner>"
1265
1227
  },
1266
1228
  {
1267
1229
  "name": "icon",
1268
- "docs": "To insert a custom icon into the named `icon` slot.<p>Markup accepted: <a href=\"https://developer.mozilla.org/en-US/docs/Glossary/Inline-level_content\">inline content</a>.<p className=\"banner banner-sm banner-info\">It is only meant for <code>img</code> or <code>svg</code> elements and overrides the `icon` property.</p>"
1230
+ "docs": "To insert a custom icon into the named `icon` slot.<p>Markup accepted: <a href=\"https://developer.mozilla.org/en-US/docs/Glossary/Inline-level_content\">inline content</a>.<post-banner data-size=\"sm\"><p>It is only meant for <code>img</code> or <code>svg</code> elements and overrides the `icon` property.</p></post-banner>"
1269
1231
  }
1270
1232
  ],
1271
1233
  "parts": [],
@@ -1294,7 +1256,22 @@
1294
1256
  "usage": {},
1295
1257
  "props": [],
1296
1258
  "methods": [],
1297
- "events": [],
1259
+ "events": [
1260
+ {
1261
+ "event": "postClick",
1262
+ "detail": "void",
1263
+ "bubbles": true,
1264
+ "complexType": {
1265
+ "original": "void",
1266
+ "resolved": "void",
1267
+ "references": {}
1268
+ },
1269
+ "cancelable": true,
1270
+ "composed": true,
1271
+ "docs": "An event emitted when the close button is clicked.\nIt has no payload.",
1272
+ "docsTags": []
1273
+ }
1274
+ ],
1298
1275
  "listeners": [],
1299
1276
  "styles": [],
1300
1277
  "slots": [
@@ -98,10 +98,6 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
98
98
  return import(
99
99
  /* webpackMode: "lazy" */
100
100
  './post-avatar.entry.js').then(processMod, consoleError);
101
- case 'post-back-to-top':
102
- return import(
103
- /* webpackMode: "lazy" */
104
- './post-back-to-top.entry.js').then(processMod, consoleError);
105
101
  case 'post-card-control':
106
102
  return import(
107
103
  /* webpackMode: "lazy" */
@@ -130,6 +126,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
130
126
  return import(
131
127
  /* webpackMode: "lazy" */
132
128
  './post-tooltip.entry.js').then(processMod, consoleError);
129
+ case 'post-back-to-top':
130
+ return import(
131
+ /* webpackMode: "lazy" */
132
+ './post-back-to-top.entry.js').then(processMod, consoleError);
133
133
  case 'post-banner':
134
134
  return import(
135
135
  /* webpackMode: "lazy" */
@@ -4,7 +4,7 @@ export { s as setNonce } from './index-C8a0ddDa.js';
4
4
  const defineCustomElements = async (win, options) => {
5
5
  if (typeof window === 'undefined') return undefined;
6
6
  await globalScripts();
7
- return bootstrapLazy([["post-breadcrumbs",[[1,"post-breadcrumbs",{"homeUrl":[1,"home-url"],"homeText":[1,"home-text"],"breadcrumbItems":[32],"isConcatenated":[32],"lastWindowWidth":[32]},null,{"homeUrl":["validateHomeUrl"],"homeText":["validateHomeText"]}]]],["post-footer",[[1,"post-footer",{"label":[1],"device":[32],"gridSlotDisplayed":[32]},null,{"label":["validateLabel"]}]]],["post-back-to-top",[[1,"post-back-to-top",{"label":[513],"belowFold":[32]},null,{"label":["validateLabel"],"belowFold":["watchBelowFold"]}]]],["post-card-control",[[65,"post-card-control",{"label":[513],"description":[1],"type":[1],"name":[1],"value":[1],"checked":[1028],"disabled":[1028],"validity":[1028],"icon":[1],"focused":[32],"reset":[64],"groupReset":[64]},null,{"label":["validateControlLabel"],"description":["validateControlDescription"],"type":["validateControlType"],"name":["validateControlName"],"value":["validateControlValue"],"icon":["validateControlIcon"],"checked":["updateControlChecked"],"disabled":["updateControlDisabled"]}]]],["post-popover",[[1,"post-popover",{"placement":[1],"closeButtonCaption":[1,"close-button-caption"],"arrow":[4],"show":[64],"hide":[64],"toggle":[64]},null,{"placement":["validatePlacement"],"closeButtonCaption":["validateCloseButtonCaption"]}]]],["post-rating",[[1,"post-rating",{"label":[1],"stars":[2],"currentRating":[1026,"current-rating"],"readonly":[4],"hoveredIndex":[32]},null,{"label":["validateLabel"],"stars":["validateStars"],"currentRating":["validateCurrentRating"]}]]],["post-tooltip",[[1,"post-tooltip",{"placement":[1],"arrow":[4],"animation":[1],"open":[1540],"show":[64],"hide":[64],"toggle":[64]},null,{"placement":["validatePlacement"]}]]],["post-avatar",[[1,"post-avatar",{"firstname":[513],"lastname":[1],"userid":[1],"email":[1],"slottedImage":[32],"avatarType":[32],"imageUrl":[32],"imageAlt":[32],"initials":[32]},null,{"firstname":["validateFirstname"],"lastname":["validateLastname"],"userid":["validateUserid"],"email":["validateEmail"]}]]],["post-banner",[[1,"post-banner",{"dismissible":[4],"dismissLabel":[1,"dismiss-label"],"type":[1],"bannerId":[32],"classes":[32],"hasActions":[32],"hasHeading":[32],"onDismissButtonClick":[32],"dismiss":[64]},null,{"dismissible":["checkDismissible"],"type":["validateType"]}]]],["post-linkarea",[[1,"post-linkarea"]]],["post-tab-header",[[1,"post-tab-header",{"panel":[513],"tabId":[32]},null,{"panel":["validateFor"]}]]],["post-tab-panel",[[1,"post-tab-panel",{"name":[513],"panelId":[32]},null,{"name":["validateName"]}]]],["post-tabs",[[1,"post-tabs",{"activePanel":[1,"active-panel"],"fullWidth":[516,"full-width"],"show":[64]}]]],["post-tooltip-trigger",[[1,"post-tooltip-trigger",{"for":[513],"delay":[2]},null,{"for":["validateControlFor"]}]]],["post-collapsible_2",[[1,"post-collapsible",{"collapsed":[1028],"toggle":[64]},null,{"collapsed":["collapsedChange"]}],[1,"post-collapsible-trigger",{"for":[513],"update":[64]},null,{"for":["validateAriaAttributes"]}]]],["post-closebutton_15",[[1,"post-language-switch",{"caption":[1],"description":[1],"variant":[1],"activeLang":[32]},[[0,"postChange","handlePostChange"],[0,"postLanguageOptionInitiallyActive","handleInitiallyActive"]],{"caption":["validateCaption"],"description":["validateDescription"],"variant":["validateVariant"]}],[1,"post-closebutton"],[4,"post-mainnavigation",{"canScrollLeft":[32],"canScrollRight":[32]},[[9,"mouseup","stopScrolling"],[9,"mouseleave","stopScrolling"]]],[1,"post-header",{"device":[32],"hasNavigation":[32],"mobileMenuExtended":[32],"megadropdownOpen":[32],"toggleMobileMenu":[64]},null,{"device":["lockBody"],"mobileMenuExtended":["lockBody"]}],[4,"post-language-option",{"code":[1],"active":[1540],"variant":[1],"name":[1],"url":[1],"select":[64]},null,{"code":["validateCode"],"variant":["validateVariant"],"name":["validateName"],"url":["validateUrl"]}],[4,"post-list",{"titleHidden":[4,"title-hidden"],"horizontal":[516],"titleId":[32]}],[1,"post-list-item"],[1,"post-logo",{"url":[1]},null,{"url":["validateUrl"]}],[4,"post-megadropdown",{"device":[32],"isVisible":[32],"animationClass":[32],"toggle":[64],"show":[64],"hide":[64],"focusFirst":[64]}],[4,"post-megadropdown-trigger",{"for":[1],"ariaExpanded":[32]},null,{"for":["validateControlFor"]}],[1,"post-togglebutton",{"toggled":[1028]}],[1,"post-menu",{"placement":[1],"isVisible":[32],"toggle":[64],"show":[64],"hide":[64]},null,{"placement":["validatePlacement"]}],[4,"post-menu-trigger",{"for":[513],"ariaExpanded":[32]},null,{"for":["validateControlFor"]}],[4,"post-popovercontainer",{"placement":[1],"edgeGap":[2,"edge-gap"],"animation":[1],"arrow":[4],"manualClose":[4,"manual-close"],"safeSpace":[513,"safe-space"],"show":[64],"hide":[64],"toggle":[64]},null,{"placement":["validatePlacement"],"edgeGap":["validateEdgeGap"],"safeSpace":["validateSafeSpace"]}],[1,"post-icon",{"animation":[1],"base":[1],"flipH":[4,"flip-h"],"flipV":[4,"flip-v"],"name":[513],"rotate":[2],"scale":[2]},null,{"animation":["validateAnimation"],"base":["validateBase"],"name":["validateName"],"rotate":["validateRotate"],"scale":["validateScale"]}]]],["post-accordion_2",[[1,"post-accordion-item",{"collapsed":[1028],"headingLevel":[2,"heading-level"],"id":[32],"slottedLogo":[32],"toggle":[64]},[[2,"postToggle","onCollapseToggle"]],{"headingLevel":["validateHeadingLevel"]}],[1,"post-accordion",{"headingLevel":[2,"heading-level"],"multiple":[4],"toggle":[64],"expandAll":[64],"collapseAll":[64]},[[0,"postToggle","collapseToggleHandler"]],{"headingLevel":["validateHeadingLevel"]}]]],["post-breadcrumb-item_2",[[1,"post-breadcrumb-item",{"url":[1],"fullUrl":[32]},null,{"url":["validateUrl"]}],[4,"post-menu-item"]]]], options);
7
+ return bootstrapLazy([["post-breadcrumbs",[[1,"post-breadcrumbs",{"homeUrl":[1,"home-url"],"homeText":[1,"home-text"],"breadcrumbItems":[32],"isConcatenated":[32],"lastWindowWidth":[32]},null,{"homeUrl":["validateHomeUrl"],"homeText":["validateHomeText"]}]]],["post-footer",[[1,"post-footer",{"label":[1],"device":[32],"gridSlotDisplayed":[32]},null,{"label":["validateLabel"]}]]],["post-back-to-top",[[1,"post-back-to-top",{"label":[513],"belowFold":[32]},null,{"label":["validateLabel"],"belowFold":["watchBelowFold"]}]]],["post-card-control",[[65,"post-card-control",{"label":[513],"description":[1],"type":[1],"name":[1],"value":[1],"checked":[1028],"disabled":[1028],"validity":[1028],"icon":[1],"focused":[32],"reset":[64],"groupReset":[64]},null,{"label":["validateControlLabel"],"description":["validateControlDescription"],"type":["validateControlType"],"name":["validateControlName"],"value":["validateControlValue"],"icon":["validateControlIcon"],"checked":["updateControlChecked"],"disabled":["updateControlDisabled"]}]]],["post-popover",[[1,"post-popover",{"placement":[1],"closeButtonCaption":[1,"close-button-caption"],"arrow":[4],"show":[64],"hide":[64],"toggle":[64]},null,{"placement":["validatePlacement"],"closeButtonCaption":["validateCloseButtonCaption"]}]]],["post-rating",[[1,"post-rating",{"label":[1],"stars":[2],"currentRating":[1026,"current-rating"],"readonly":[4],"hoveredIndex":[32]},null,{"label":["validateLabel"],"stars":["validateStars"],"currentRating":["validateCurrentRating"]}]]],["post-tooltip",[[1,"post-tooltip",{"placement":[1],"arrow":[4],"animation":[1],"open":[1540],"show":[64],"hide":[64],"toggle":[64]},null,{"placement":["validatePlacement"]}]]],["post-avatar",[[1,"post-avatar",{"firstname":[513],"lastname":[1],"userid":[1],"email":[1],"slottedImage":[32],"avatarType":[32],"imageUrl":[32],"imageAlt":[32],"initials":[32]},null,{"firstname":["validateFirstname"],"lastname":["validateLastname"],"userid":["validateUserid"],"email":["validateEmail"]}]]],["post-banner",[[1,"post-banner",{"type":[513],"hasActions":[32],"dismiss":[64]},[[0,"postClick","onCloseButtonClick"]],{"type":["validateType"]}]]],["post-linkarea",[[1,"post-linkarea"]]],["post-tab-header",[[1,"post-tab-header",{"panel":[513],"tabId":[32]},null,{"panel":["validateFor"]}]]],["post-tab-panel",[[1,"post-tab-panel",{"name":[513],"panelId":[32]},null,{"name":["validateName"]}]]],["post-tabs",[[1,"post-tabs",{"activePanel":[1,"active-panel"],"fullWidth":[516,"full-width"],"show":[64]}]]],["post-tooltip-trigger",[[1,"post-tooltip-trigger",{"for":[513],"delay":[2]},null,{"for":["validateControlFor"]}]]],["post-collapsible_2",[[1,"post-collapsible",{"collapsed":[1028],"toggle":[64]},null,{"collapsed":["collapsedChange"]}],[1,"post-collapsible-trigger",{"for":[513],"update":[64]},null,{"for":["validateAriaAttributes"]}]]],["post-closebutton_15",[[1,"post-language-switch",{"caption":[1],"description":[1],"variant":[1],"activeLang":[32]},[[0,"postChange","handlePostChange"],[0,"postLanguageOptionInitiallyActive","handleInitiallyActive"]],{"caption":["validateCaption"],"description":["validateDescription"],"variant":["validateVariant"]}],[1,"post-closebutton"],[4,"post-mainnavigation",{"canScrollLeft":[32],"canScrollRight":[32]},[[9,"mouseup","stopScrolling"],[9,"mouseleave","stopScrolling"]]],[1,"post-header",{"device":[32],"hasNavigation":[32],"mobileMenuExtended":[32],"megadropdownOpen":[32],"toggleMobileMenu":[64]},null,{"device":["lockBody"],"mobileMenuExtended":["lockBody"]}],[4,"post-language-option",{"code":[1],"active":[1540],"variant":[1],"name":[1],"url":[1],"select":[64]},null,{"code":["validateCode"],"variant":["validateVariant"],"name":["validateName"],"url":["validateUrl"]}],[4,"post-list",{"titleHidden":[4,"title-hidden"],"horizontal":[516],"titleId":[32]}],[1,"post-list-item"],[1,"post-logo",{"url":[1]},null,{"url":["validateUrl"]}],[4,"post-megadropdown",{"device":[32],"isVisible":[32],"animationClass":[32],"toggle":[64],"show":[64],"hide":[64],"focusFirst":[64]}],[4,"post-megadropdown-trigger",{"for":[1],"ariaExpanded":[32]},null,{"for":["validateControlFor"]}],[1,"post-togglebutton",{"toggled":[1028]}],[1,"post-menu",{"placement":[1],"isVisible":[32],"toggle":[64],"show":[64],"hide":[64]},null,{"placement":["validatePlacement"]}],[4,"post-menu-trigger",{"for":[513],"ariaExpanded":[32]},null,{"for":["validateControlFor"]}],[4,"post-popovercontainer",{"placement":[1],"edgeGap":[2,"edge-gap"],"animation":[1],"arrow":[4],"manualClose":[4,"manual-close"],"safeSpace":[513,"safe-space"],"show":[64],"hide":[64],"toggle":[64]},null,{"placement":["validatePlacement"],"edgeGap":["validateEdgeGap"],"safeSpace":["validateSafeSpace"]}],[1,"post-icon",{"animation":[1],"base":[1],"flipH":[4,"flip-h"],"flipV":[4,"flip-v"],"name":[513],"rotate":[2],"scale":[2]},null,{"animation":["validateAnimation"],"base":["validateBase"],"name":["validateName"],"rotate":["validateRotate"],"scale":["validateScale"]}]]],["post-accordion_2",[[1,"post-accordion-item",{"collapsed":[1028],"headingLevel":[2,"heading-level"],"id":[32],"slottedLogo":[32],"toggle":[64]},[[2,"postToggle","onCollapseToggle"]],{"headingLevel":["validateHeadingLevel"]}],[1,"post-accordion",{"headingLevel":[2,"heading-level"],"multiple":[4],"toggle":[64],"expandAll":[64],"collapseAll":[64]},[[0,"postToggle","collapseToggleHandler"]],{"headingLevel":["validateHeadingLevel"]}]]],["post-breadcrumb-item_2",[[1,"post-breadcrumb-item",{"url":[1],"fullUrl":[32]},null,{"url":["validateUrl"]}],[4,"post-menu-item"]]]], options);
8
8
  };
9
9
 
10
10
  export { defineCustomElements };
@@ -0,0 +1,3 @@
1
+ const version = "10.0.0-next.47";
2
+
3
+ export { version as v };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, a as getElement } from './index-C8a0ddDa.js';
2
- import { v as version } from './package-7hVD-I9l.js';
2
+ import { v as version } from './package-Z01QMrov.js';
3
3
  import { d as checkRequiredAndOneOf, e as checkEmptyOrOneOf } from './index-BWC0gtGU.js';
4
4
  import './breakpoints-_0G7tavk.js';
5
5
  import { E as EventFrom } from './event-from-8U5GFtQP.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, a as getElement } from './index-C8a0ddDa.js';
2
- import { v as version } from './package-7hVD-I9l.js';
2
+ import { v as version } from './package-Z01QMrov.js';
3
3
  import { c as checkRequiredAndType, a as checkEmptyOrType, b as checkEmptyOrPattern } from './index-BWC0gtGU.js';
4
4
  import './breakpoints-_0G7tavk.js';
5
5
 
@@ -1,10 +1,35 @@
1
1
  import { r as registerInstance, h, H as Host, a as getElement } from './index-C8a0ddDa.js';
2
- import { s as slideDown, a as slideUp } from './slide-BuLMaH5t.js';
3
- import { v as version } from './package-7hVD-I9l.js';
2
+ import { v as version } from './package-Z01QMrov.js';
4
3
  import { c as checkRequiredAndType } from './index-BWC0gtGU.js';
5
4
  import './breakpoints-_0G7tavk.js';
6
5
 
7
- const postBackToTopCss = ":host{--post-floating-button-position-top:var(--post-device-position-4);--post-back-to-top-position-top:calc( var(--post-header-height) + var(--post-floating-button-position-top) );--post-back-to-top-elevation:var(--post-device-elevation-300);position:fixed;inset-block-start:var(--post-back-to-top-position-top);inset-inline-end:var(--post-device-position-1)}:host .back-to-top{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;box-shadow:var(--post-back-to-top-elevation);cursor:pointer;border-radius:var(--post-device-border-radius-round);width:var(--post-device-sizing-interactive-button-height-2);height:var(--post-device-sizing-interactive-button-height-2);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-button-secondary-enabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg);display:flex;align-items:center;justify-content:center}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top{background-color:ButtonFace !important}:host .back-to-top:hover{background-color:Highlight !important}}:host .back-to-top{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}:host .back-to-top:hover{border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke);color:var(--post-scheme-color-interactive-button-secondary-hover-fg);background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:hover{color:HighlightText !important}}:host .back-to-top post-icon{height:var(--post-device-sizing-interactive-button-icon-3);width:var(--post-device-sizing-interactive-button-icon-3)}:host .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}";
6
+ // Define common animation options
7
+ const easing = 'ease';
8
+ const defaultDuration = 500;
9
+ const fill = 'forwards';
10
+ function createSlideFadeAnimation(el, keyframes, duration = defaultDuration) {
11
+ return el.animate(keyframes, {
12
+ duration: duration,
13
+ easing,
14
+ fill,
15
+ });
16
+ }
17
+ function slideUpAndFadeOut(el, translateY = '-100%', duration = defaultDuration) {
18
+ const keyframes = [
19
+ { transform: 'translateY(0)', opacity: '1' },
20
+ { transform: `translateY(${translateY})`, opacity: '0' },
21
+ ];
22
+ return createSlideFadeAnimation(el, keyframes, duration);
23
+ }
24
+ function slideDownAndFadeIn(el, translateY = '-100%', duration = defaultDuration) {
25
+ const keyframes = [
26
+ { transform: `translateY(${translateY})`, opacity: '0' },
27
+ { transform: 'translateY(0)', opacity: '1' },
28
+ ];
29
+ return createSlideFadeAnimation(el, keyframes, duration);
30
+ }
31
+
32
+ const postBackToTopCss = ":host{opacity:0;--post-floating-button-position-top:var(--post-device-position-4);--post-back-to-top-position-top:calc( var(--post-header-height) + var(--post-floating-button-position-top) );--post-back-to-top-elevation:var(--post-device-elevation-300);position:fixed;inset-block-start:var(--post-back-to-top-position-top);inset-inline-end:var(--post-device-position-1)}:host .back-to-top{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;box-shadow:var(--post-back-to-top-elevation);cursor:pointer;border-radius:var(--post-device-border-radius-round);width:var(--post-device-sizing-interactive-button-height-2);height:var(--post-device-sizing-interactive-button-height-2);border:var(--post-device-border-width-default) solid var(--post-scheme-color-interactive-button-secondary-enabled-stroke);color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);background-color:var(--post-scheme-color-interactive-button-secondary-enabled-bg);display:flex;align-items:center;justify-content:center}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top{background-color:ButtonFace !important}:host .back-to-top:hover{background-color:Highlight !important}}:host .back-to-top{outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}:host .back-to-top:hover{border-color:var(--post-scheme-color-interactive-button-secondary-hover-stroke);color:var(--post-scheme-color-interactive-button-secondary-hover-fg);background-color:var(--post-scheme-color-interactive-button-secondary-hover-bg)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host .back-to-top:hover{color:HighlightText !important}}:host .back-to-top post-icon{height:var(--post-device-sizing-interactive-button-icon-3);width:var(--post-device-sizing-interactive-button-icon-3)}:host .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}";
8
33
 
9
34
  const PostBackToTop = class {
10
35
  constructor(hostRef) {
@@ -23,10 +48,10 @@ const PostBackToTop = class {
23
48
  /*Watch for changes in belowFold to show/hide the back to top button*/
24
49
  watchBelowFold(newValue) {
25
50
  if (newValue) {
26
- slideDown(this.host, this.translateY);
51
+ slideDownAndFadeIn(this.host, this.translateY);
27
52
  }
28
53
  else {
29
- slideUp(this.host, this.translateY);
54
+ slideUpAndFadeOut(this.host, this.translateY);
30
55
  }
31
56
  }
32
57
  scrollToTop() {
@@ -57,7 +82,7 @@ const PostBackToTop = class {
57
82
  parseFloat(positionTop.replace('px', '')) -
58
83
  parseFloat(elevationHeight.replace('px', ''))) + 'px';
59
84
  if (this.belowFold) {
60
- slideDown(this.host, this.translateY);
85
+ slideDownAndFadeIn(this.host, this.translateY);
61
86
  }
62
87
  if (!this.belowFold) {
63
88
  this.host.style.transform = `translateY(${this.translateY})`;
@@ -76,7 +101,7 @@ const PostBackToTop = class {
76
101
  window.removeEventListener('scroll', this.handleScroll);
77
102
  }
78
103
  render() {
79
- return (h(Host, { key: '7edc6db9d849cf9ce0308a2ac5b2c2f9bc4e47a9', "data-version": version }, h("button", { key: '610e81756ce3dd927f55d48beb8cd829b66fc247', class: "back-to-top", "aria-hidden": this.belowFold ? 'false' : 'true', tabindex: this.belowFold ? '0' : '-1', onClick: this.scrollToTop }, h("post-icon", { key: 'bb1f3cc462de7680361f4cfd04abb1816aebd488', "aria-hidden": "true", name: "3026" }), h("span", { key: '4fbd84d78c425140adea5833450cef60af967f5a', class: "visually-hidden" }, this.label))));
104
+ return (h(Host, { key: '820244e9c039304895d78887000ed986707bf3b1', "data-version": version }, h("button", { key: 'c1d38883fbf31c50b2b00e08e6b22cbc6be37adb', class: "back-to-top", "aria-hidden": this.belowFold ? 'false' : 'true', tabindex: this.belowFold ? '0' : '-1', onClick: this.scrollToTop }, h("post-icon", { key: '3cc57c355a12bf500f368e906d147be10f9014e7', "aria-hidden": "true", name: "3026" }), h("span", { key: '134e5c579e2d99d64c25ce21ab538e51520a6dd6', class: "visually-hidden" }, this.label))));
80
105
  }
81
106
  get host() { return getElement(this); }
82
107
  static get watchers() { return {