@getflip/swirl-components 0.484.0 → 0.485.0

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.
@@ -1,5 +1,6 @@
1
1
  :host {
2
2
  --header-height: 3.5625rem;
3
+ --swirl-app-layout-sidebar-width: 25rem;
3
4
 
4
5
  position: relative;
5
6
  z-index: 1;
@@ -172,7 +173,10 @@
172
173
 
173
174
  @media (min-width: 768px) {
174
175
  .app-layout--has-sidebar.app-layout--sidebar-active .app-layout__grid, .app-layout--has-sidebar.app-layout--sidebar-opening .app-layout__grid {
175
- grid-template-columns: 1fr min(50%, 25rem);
176
+ grid-template-columns: 1fr min(
177
+ 50%,
178
+ var(--swirl-app-layout-sidebar-width)
179
+ );
176
180
  grid-template-areas:
177
181
  "body sidebar"
178
182
  "body sidebar";
@@ -186,6 +190,12 @@
186
190
  "body";
187
191
  }
188
192
 
193
+ @media (min-width: 768px) {
194
+ .app-layout--sidebar-inline.app-layout--sidebar-custom-width.app-layout--sidebar-active .app-layout__grid, .app-layout--sidebar-inline.app-layout--sidebar-custom-width.app-layout--sidebar-opening .app-layout__grid {
195
+ grid-template-columns: 1fr var(--swirl-app-layout-sidebar-width);
196
+ }
197
+ }
198
+
189
199
  @media (min-width: 1800px) {
190
200
 
191
201
  .app-layout--has-navigation.app-layout--has-sidebar:not(
@@ -193,7 +203,7 @@
193
203
  ) .app-layout__sidebar {
194
204
  position: static;
195
205
  z-index: auto;
196
- width: 25rem;
206
+ width: var(--swirl-app-layout-sidebar-width);
197
207
  animation: none;
198
208
  box-shadow: none;
199
209
  background-color: var(--s-background-default)
@@ -207,7 +217,7 @@
207
217
  ).app-layout--sidebar-opening .app-layout__grid, .app-layout--has-navigation.app-layout--has-sidebar:not(
208
218
  .app-layout--sidebar-positioning-overlay
209
219
  ).app-layout--sidebar-active .app-layout__grid {
210
- grid-template-columns: 25rem 1fr 25rem;
220
+ grid-template-columns: 25rem 1fr var(--swirl-app-layout-sidebar-width);
211
221
  grid-template-areas:
212
222
  "header body sidebar"
213
223
  "navigation body sidebar"
@@ -301,7 +311,7 @@
301
311
  top: 0;
302
312
  right: 0;
303
313
  bottom: 0;
304
- width: min(40%, 25rem);
314
+ width: min(40%, var(--swirl-app-layout-sidebar-width));
305
315
  }
306
316
 
307
317
  .app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--rounded-corners) {
@@ -310,6 +320,12 @@
310
320
  }
311
321
  }
312
322
 
323
+ @media (min-width: 768px) {
324
+ .app-layout--has-navigation.app-layout--has-sidebar.app-layout--sidebar-custom-width .app-layout__sidebar {
325
+ width: var(--swirl-app-layout-sidebar-width);
326
+ }
327
+ }
328
+
313
329
  @media (max-width: 767px) {
314
330
  .app-layout--mobile-view-navigation .app-layout__grid {
315
331
  grid-template-areas:
@@ -771,12 +787,20 @@
771
787
  top: 0;
772
788
  right: 0;
773
789
  bottom: 0;
774
- width: min(50%, 25rem);
790
+ width: min(50%, var(--swirl-app-layout-sidebar-width));
775
791
  border-left: var(--s-border-width-default) solid var(--s-border-default);
776
792
  box-shadow: var(--s-shadow-level-3);
777
793
  }
778
794
  }
779
795
 
796
+ @media (min-width: 768px) {
797
+ .app-layout--sidebar-positioning-overlay:not(
798
+ .app-layout--has-navigation
799
+ ).app-layout--has-sidebar.app-layout--sidebar-custom-width .app-layout__sidebar {
800
+ width: var(--swirl-app-layout-sidebar-width);
801
+ }
802
+ }
803
+
780
804
  @keyframes app-layout-nav-overlay-slide-in-desktop {
781
805
  from {
782
806
  width: 0;
@@ -1216,7 +1240,7 @@
1216
1240
  }
1217
1241
  to {
1218
1242
  overflow: hidden;
1219
- grid-template-columns: 25rem 1fr 25rem;
1243
+ grid-template-columns: 25rem 1fr var(--swirl-app-layout-sidebar-width);
1220
1244
  }
1221
1245
  }
1222
1246
 
@@ -1227,14 +1251,14 @@
1227
1251
  }
1228
1252
  to {
1229
1253
  overflow: hidden;
1230
- grid-template-columns: 0 1fr 25rem;
1254
+ grid-template-columns: 0 1fr var(--swirl-app-layout-sidebar-width);
1231
1255
  }
1232
1256
  }
1233
1257
 
1234
1258
  @keyframes app-layout-sidebar-slide-out {
1235
1259
  from {
1236
1260
  overflow: hidden;
1237
- grid-template-columns: 25rem 1fr 25rem;
1261
+ grid-template-columns: 25rem 1fr var(--swirl-app-layout-sidebar-width);
1238
1262
  }
1239
1263
  to {
1240
1264
  overflow: hidden;
@@ -1245,7 +1269,7 @@
1245
1269
  @keyframes app-layout-sidebar-slide-out-with-collapsed-nav {
1246
1270
  from {
1247
1271
  overflow: hidden;
1248
- grid-template-columns: 0 1fr 25rem;
1272
+ grid-template-columns: 0 1fr var(--swirl-app-layout-sidebar-width);
1249
1273
  }
1250
1274
  to {
1251
1275
  overflow: hidden;
@@ -1260,14 +1284,14 @@
1260
1284
  }
1261
1285
  to {
1262
1286
  overflow: hidden;
1263
- grid-template-columns: 1fr 25rem;
1287
+ grid-template-columns: 1fr var(--swirl-app-layout-sidebar-width);
1264
1288
  }
1265
1289
  }
1266
1290
 
1267
1291
  @keyframes app-layout-no-nav-sidebar-slide-out {
1268
1292
  from {
1269
1293
  overflow: hidden;
1270
- grid-template-columns: 1fr 25rem;
1294
+ grid-template-columns: 1fr var(--swirl-app-layout-sidebar-width);
1271
1295
  }
1272
1296
  to {
1273
1297
  overflow: hidden;
@@ -347,18 +347,24 @@ export class SwirlAppLayout {
347
347
  "app-layout--rounded-corners": this.roundedCorners,
348
348
  "app-layout--sidebar-active": this.mobileView === "sidebar" || this.sidebarActive,
349
349
  "app-layout--sidebar-closing": this.sidebarClosing,
350
+ "app-layout--sidebar-custom-width": Boolean(this.sidebarWidth),
351
+ "app-layout--sidebar-inline": this.hasSidebar &&
352
+ !this.hasNavigation &&
353
+ this.sidebarPositioning !== "overlay",
350
354
  "app-layout--sidebar-opening": this.sidebarOpening,
351
355
  "app-layout--sidebar-scrollable": this.sidebarScrollState.scrollable,
352
356
  "app-layout--sidebar-scrolled-to-top": this.sidebarScrollState.scrolledToTop,
353
357
  });
354
- return (h(Host, { key: 'e8fa3517c20be50f23651a6618d0a654360dd8bb' }, h("section", { key: '29bae81c9047360e9a41d1e1b5b4478f18e65900', "aria-labelledby": "app-name", class: className }, h("div", { key: '8399a6c2d5885a8abaa3da3183282d6838026bc9', class: "app-layout__grid" }, h("header", { key: '7139743470378cd46bc6b01b3d3628d9e4e2fd4d', class: "app-layout__header", ref: (el) => (this.headerEl = el) }, h("span", { key: '79057b7fc1b7f969a72e3a5bf2f6f19abd5c1d58', class: "app-layout__navigation-mobile-menu-button" }, h("slot", { key: '48113ac7f2a57bee6cf7ea639d8f62a9192582cd', name: "navigation-mobile-menu-button" })), this.collapsibleNavigation && (h("span", { key: '7414f2ec88b8369728d76d419b169cb3d936b6f5', class: "app-layout__nav-overlay-toggle" }, h("swirl-button", { key: 'cce77f4a0de5288ab8496e2d27aa40952e9997ed', hideLabel: true, icon: this.navExpansionState !== "expanded"
358
+ return (h(Host, { key: 'ea5e9984dfa86c576366d2ec73e8649152c14928', style: {
359
+ "--swirl-app-layout-sidebar-width": this.sidebarWidth,
360
+ } }, h("section", { key: '8480c594adca8240e1f54b80e38b1fbb7e987276', "aria-labelledby": "app-name", class: className }, h("div", { key: '85ad1344215084054ffa8703d68bb1de1a4cabef', class: "app-layout__grid" }, h("header", { key: 'd47c99f2762bcd6be5a327dbeb10a43fb4568557', class: "app-layout__header", ref: (el) => (this.headerEl = el) }, h("span", { key: '3561308f08c40d1450fba3d76d8a4ca9801b42ef', class: "app-layout__navigation-mobile-menu-button" }, h("slot", { key: '7161e03c5a97a5610b71c1a84396a582c5372d3e', name: "navigation-mobile-menu-button" })), this.collapsibleNavigation && (h("span", { key: '815e76032a56f68a3a29c7209c2f00b84c4266f0', class: "app-layout__nav-overlay-toggle" }, h("swirl-button", { key: 'c84849add9c4f76a2f226a5c050bb0540f7df07b', hideLabel: true, icon: this.navExpansionState !== "expanded"
355
361
  ? "<swirl-icon-dock-left-expand></swirl-icon-dock-left-expand>"
356
- : "<swirl-icon-dock-left-collapse></swirl-icon-dock-left-collapse>", label: this.navigationToggleLabel, onClick: this.toggleNavigation }))), this.showNavigationBackButton && (h("span", { key: 'e1a586370b0b04dc4d100fcb895e2ba371dae64e', class: "app-layout__navigation-back-button" }, h("swirl-button", { key: '0b77ac2c49a9db06cc3f7792d06dd269945c58da', hideLabel: true, icon: "<swirl-icon-arrow-back></swirl-icon-arrow-back>", label: this.navigationBackButtonLabel, onClick: this.onNavigationBackButtonClick }))), h("swirl-heading", { key: 'd2e7989615352c42dce6005da07dbaed0c6d99ee', as: "h1", class: "app-layout__app-name", headingId: "app-name", level: 3, text: this.appName }), navigationActive && (h("span", { key: 'd6655e944086aa11f95c4cab4da3ea9ef827cc76', class: "app-layout__navigation-controls" }, h("slot", { key: '6c7d9dbf8b2707cdcb01bffaff8ce9f6059389b4', name: "navigation-controls" })))), h("nav", { key: '111e910171f0d799ac8e3eb5fd6fd5e7c7f832a6', "aria-label": this.navigationLabel, class: "app-layout__navigation", onScroll: this.onNavScroll, ref: (el) => (this.navEl = el), inert: this.isDesktop &&
362
+ : "<swirl-icon-dock-left-collapse></swirl-icon-dock-left-collapse>", label: this.navigationToggleLabel, onClick: this.toggleNavigation }))), this.showNavigationBackButton && (h("span", { key: '4f1931413fb83b0667d07e75f700abf06335230e', class: "app-layout__navigation-back-button" }, h("swirl-button", { key: '8188874ac49378f4de9c49ee84f70a9b6e111e37', hideLabel: true, icon: "<swirl-icon-arrow-back></swirl-icon-arrow-back>", label: this.navigationBackButtonLabel, onClick: this.onNavigationBackButtonClick }))), h("swirl-heading", { key: '889b1fcacbf88a72710cd36af7c54a7728df089f', as: "h1", class: "app-layout__app-name", headingId: "app-name", level: 3, text: this.appName }), navigationActive && (h("span", { key: 'd0d371a1e080e10dcda1d29204a117798730eee8', class: "app-layout__navigation-controls" }, h("slot", { key: '3bca7780bb2bfe59471467de001f849b9b232662', name: "navigation-controls" })))), h("nav", { key: 'e612f7874dc250d88f4c554c1200eb07c7f97f41', "aria-label": this.navigationLabel, class: "app-layout__navigation", onScroll: this.onNavScroll, ref: (el) => (this.navEl = el), inert: this.isDesktop &&
357
363
  this.collapsibleNavigation &&
358
- this.navExpansionState === "collapsed" }, h("slot", { key: '580dd1a0a999a77195279c7cc887585857080276', name: "navigation" })), h("section", { key: 'f77cb25f6be2b64d7213ff7f917b5f6869880b9f', "aria-labelledby": "app-name", class: "app-layout__body" }, !this.hideAppBar && (h("header", { key: '06467a7005a8bccfa66bd662a28e9aea4771d27a', class: "app-layout__app-bar" }, h("span", { key: 'a2f2d531d1b7f304d9f3fa5159dbea8f78b45553', class: "app-layout__app-bar-mobile-menu-button" }, h("slot", { key: '4e83761fc85b17c739abc1d8c7158d5cd362706f', name: "app-bar-mobile-menu-button" })), showBackToNavigationButton && (h("span", { key: '1c257404a9cfd84debbd0486f8f17b2d7916839c', class: "app-layout__back-to-navigation-button" }, h("swirl-button", { key: 'f67661832bb9ed96006e13f4cf998cb395adcce5', hideLabel: true, icon: this.transitionStyle === "dialog"
364
+ this.navExpansionState === "collapsed" }, h("slot", { key: '913cb8b7bc4cbc05d7fe30e5651937a5d8ac7258', name: "navigation" })), h("section", { key: 'ae73f4764e10c73b404601a765f735fb0c2b3c51', "aria-labelledby": "app-name", class: "app-layout__body" }, !this.hideAppBar && (h("header", { key: '0179719859439f3d433486d36ad5eb87cff76e93', class: "app-layout__app-bar" }, h("span", { key: 'c3f902620abf9db0369184ee9dba7e61bbde8ecb', class: "app-layout__app-bar-mobile-menu-button" }, h("slot", { key: '520cbff25beeacac88c63ef52f1169fc1cd82bac', name: "app-bar-mobile-menu-button" })), showBackToNavigationButton && (h("span", { key: '2c237ec3f04ce5da7d571ed4aa3e69c42eeb19b2', class: "app-layout__back-to-navigation-button" }, h("swirl-button", { key: 'ab1cc889450248c3a2555a46558d8a8d1d3e6e69', hideLabel: true, icon: this.transitionStyle === "dialog"
359
365
  ? "<swirl-icon-close></swirl-icon-close>"
360
366
  : "<swirl-icon-arrow-back></swirl-icon-arrow-back>", label: this.backToNavigationViewButtonLabel, onClick: this.onBackToNavigationViewButtonClick }))), this.collapsibleNavigation &&
361
- this.navExpansionState !== "expanded" && (h("span", { key: '39d626d775997e9bab9e9ae3946084d73d715583', class: "app-layout__nav-expansion-toggle" }, h("swirl-button", { key: '7e967c7d6314707a913b461271e4908ca80d70a7', hideLabel: true, icon: "<swirl-icon-hamburger-menu></swirl-icon-hamburger-menu>", label: this.navigationOverlayLabel, onClick: this.overlayNavigation }))), h("span", { key: '76e4be74a94b18c027c33140736c36c98e7024e3', class: "app-layout__custom-app-bar-back-button" }, h("slot", { key: '81df9b04bc26d1fb85f8160c55cc2df72aafedfa', name: "custom-app-bar-back-button" })), h("div", { key: '955ccd31ee748b0f9bf03e573f920884a402b7f4', class: "app-layout__app-bar-content" }, h("slot", { key: '16deec03db91173bf75664f2fbc1ceac7a30004f', name: "app-bar" })), h("div", { key: 'bce238fc1df86c571e663419d8f3faeeffa36982', class: "app-layout__app-bar-controls" }, h("slot", { key: '540b1410a2cf45d6b04b1ae7ebd8c1f92b9edeaa', name: "app-bar-controls" })))), h("div", { key: '110496d5b1001a4cfd1510c5b01e6ba108d5de17', class: "app-layout__banner" }, h("slot", { key: 'd899e047a077a3ea4638311913623cc6ef8d3112', name: "banner" })), h("div", { key: '137484f06a5e4fea74ab0f5febc30b327c500710', class: "app-layout__content", onScroll: this.onContentScroll, ref: (el) => (this.contentEl = el) }, h("div", { key: '3854ac4b1108ec4083c05b6d989b899e5b4bd999', class: "app-layout__content-inner" }, h("slot", { key: '68d9a207834dcf01164545df8d813d817b1fcad0', name: "content" })), h("div", { key: 'e7c2fd5cc7802e3d4cfa83fc54e1b58587fc05b7', class: "app-layout__bottom-banner" }, h("slot", { key: '655ad74d80da4bde2d8e1c5f76e5276f8debbf67', name: "bottom-banner" }))), h("div", { key: '6fa13e005398621057950af22593851bc5bb40bb', class: "app-layout__bottom-bar" }, h("slot", { key: '7f3c36cb64f027d9db9ed6f6343242fdccffc313', name: "bottom-bar" }))), h("aside", { key: '7269ec313d3bcc3cd1dec5abe8cf81b440987e8f', class: "app-layout__sidebar" }, h("header", { key: '63ba307a1ee8755ed86cfdf73eda6cfe38b4b8ac', class: "app-layout__custom-sidebar-header" }, h("slot", { key: '4027a4f20d4b2703422547bbbdd81221b8816c85', name: "custom-sidebar-header" })), h("header", { key: 'f853e2f2fc57e27a9d14265bb4abb948c198e8ea', class: "app-layout__sidebar-header" }, h("swirl-button", { key: 'a5afb72e7cf946c9078732708d02ab26eae5c955', class: "app-layout__sidebar-close-button", hideLabel: true, icon: "<swirl-icon-close></swirl-icon-close>", label: this.sidebarCloseButtonLabel, onClick: this.onSidebarCloseButtonClick }), h("swirl-heading", { key: '797791edbae180dd39835a407479f56b824f2733', as: "h3", class: "app-layout__sidebar-heading", headingId: "sidebar-heading", level: 3, text: this.sidebarHeading })), h("div", { key: '1d1a0a76937293430f572b6c5930e010d70102fd', class: "app-layout__sidebar-content", onScroll: this.onSidebarScroll, ref: (el) => (this.sidebarEl = el) }, h("slot", { key: 'dc8ff45e81cbd1be539e851d2da00042b6d3ce26', name: "sidebar" }))), h("span", { key: 'e11c29160fcf21b6212d28e55a8092cc8bb36931', class: "app-layout__floating-action-button" }, this.ctaLabel && (h("swirl-button", { key: '15eb5b55036b38780182689b7d11f084c9425038', hideLabel: Boolean(this.ctaIcon), icon: this.ctaIcon, intent: "primary", label: this.ctaLabel, onClick: this.onCtaClick, variant: "floating" })), h("slot", { key: '50383a0c6b5cb438fd606f2bba6ad0184eb2a953', name: "floating-action-button" }))))));
367
+ this.navExpansionState !== "expanded" && (h("span", { key: '39640ad1337b38b65cb04e209298964217dc5b97', class: "app-layout__nav-expansion-toggle" }, h("swirl-button", { key: '63be47f8bdefdc5335e975b8288f4252e388676a', hideLabel: true, icon: "<swirl-icon-hamburger-menu></swirl-icon-hamburger-menu>", label: this.navigationOverlayLabel, onClick: this.overlayNavigation }))), h("span", { key: 'a73ca0324d442a9fd2f76f28fe422070ebfd3392', class: "app-layout__custom-app-bar-back-button" }, h("slot", { key: '6b168560d179661b6ccbbaf84fde150f9445c33a', name: "custom-app-bar-back-button" })), h("div", { key: 'ff9df5292be7e45fa73a6aa3fad3d160946c16e8', class: "app-layout__app-bar-content" }, h("slot", { key: 'f0d622141406b628d83722090b0b2a30e1210ac5', name: "app-bar" })), h("div", { key: 'ae0d9fa3eeb8acad36e2fa2890a39debaf7858c1', class: "app-layout__app-bar-controls" }, h("slot", { key: '7a645cda89b0e3224bed75a33b4a11949e2ccdf7', name: "app-bar-controls" })))), h("div", { key: '2ec277c97e569e907f95c5719fed9103fa2f69f2', class: "app-layout__banner" }, h("slot", { key: '7c3fa21988e8c6aa5a5ce19461a9c493e22520a0', name: "banner" })), h("div", { key: '2d818bf92b9f02f6339bf04e9305b543a724fc6a', class: "app-layout__content", onScroll: this.onContentScroll, ref: (el) => (this.contentEl = el) }, h("div", { key: '42fa90a807337bdffeaea454f1d1abc0e8f26c01', class: "app-layout__content-inner" }, h("slot", { key: 'a4561df256b12e7893e3ee3832b75dfa15b06d5b', name: "content" })), h("div", { key: 'd20801097b89fa70739fed10c35b8960fc93ff95', class: "app-layout__bottom-banner" }, h("slot", { key: '99b0849ace8d3d1c128b744f96bbd4587d77fd52', name: "bottom-banner" }))), h("div", { key: 'dfca52dba0807f59010d6820a18b45ad4ed43359', class: "app-layout__bottom-bar" }, h("slot", { key: '1cbf5067eba3dd9cedd53debbf0c9613f2d95af1', name: "bottom-bar" }))), h("aside", { key: 'b9a3cb541c078c17f55935ac703f2bd5a63d26f1', class: "app-layout__sidebar" }, h("header", { key: '658023fbfd242bcfb41ca7fb1b1702f91eecc273', class: "app-layout__custom-sidebar-header" }, h("slot", { key: 'd1b4f31b3a65f6906737c4e5cb8d623967ff3756', name: "custom-sidebar-header" })), h("header", { key: 'a0613856d435c7ab946838da48bea242f54b9076', class: "app-layout__sidebar-header" }, h("swirl-button", { key: 'f097dddd068842235cf9d59f6f367419b5d1fb90', class: "app-layout__sidebar-close-button", hideLabel: true, icon: "<swirl-icon-close></swirl-icon-close>", label: this.sidebarCloseButtonLabel, onClick: this.onSidebarCloseButtonClick }), h("swirl-heading", { key: '582ddba3782037f96a6b76b661348e5357a5579f', as: "h3", class: "app-layout__sidebar-heading", headingId: "sidebar-heading", level: 3, text: this.sidebarHeading })), h("div", { key: 'fd66588b9c671f934e7a49e16c60e5c707fd38eb', class: "app-layout__sidebar-content", onScroll: this.onSidebarScroll, ref: (el) => (this.sidebarEl = el) }, h("slot", { key: '9b6f8493ce6d38cf25ff0446b90c4feba5de166c', name: "sidebar" }))), h("span", { key: '19c8eb89279ef4932cc44c60228301f20d0e1457', class: "app-layout__floating-action-button" }, this.ctaLabel && (h("swirl-button", { key: '44ff78e3f1de73f50e64565e78edec285c75aab7', hideLabel: Boolean(this.ctaIcon), icon: this.ctaIcon, intent: "primary", label: this.ctaLabel, onClick: this.onCtaClick, variant: "floating" })), h("slot", { key: '03c26b21b33b29619055763717d6c7fb3d4ac288', name: "floating-action-button" }))))));
362
368
  }
363
369
  static get is() { return "swirl-app-layout"; }
364
370
  static get encapsulation() { return "shadow"; }
@@ -754,6 +760,25 @@ export class SwirlAppLayout {
754
760
  "reflect": false,
755
761
  "attribute": "sidebar-heading"
756
762
  },
763
+ "sidebarWidth": {
764
+ "type": "string",
765
+ "mutable": false,
766
+ "complexType": {
767
+ "original": "string",
768
+ "resolved": "string",
769
+ "references": {}
770
+ },
771
+ "required": false,
772
+ "optional": true,
773
+ "docs": {
774
+ "tags": [],
775
+ "text": ""
776
+ },
777
+ "getter": false,
778
+ "setter": false,
779
+ "reflect": false,
780
+ "attribute": "sidebar-width"
781
+ },
757
782
  "transitionStyle": {
758
783
  "type": "string",
759
784
  "mutable": false,
@@ -5,6 +5,9 @@ export default {
5
5
  appName: {
6
6
  description: "Displayed above the navigation area, if present. Otherwise displayed above the content area.",
7
7
  },
8
+ sidebarWidth: {
9
+ description: "Sets a fixed sidebar width on tablet and desktop viewports. Mobile sidebar views remain full width.",
10
+ },
8
11
  transitionStyle: {
9
12
  control: "select",
10
13
  options: ["none", "slides", "dialog"],
@@ -1 +1 @@
1
- import{proxyCustomElement as a,HTMLElement as t,createEvent as o,h as i,Host as e,transformTag as n}from"@stencil/core/internal/client";import{c as p}from"./index2.js";import{D as l}from"./media-query.service.js";import{d as s,i as r,p as d}from"./utils.js";import{d as y}from"./swirl-button2.js";import{d as u}from"./swirl-heading2.js";const b=a(class extends t{constructor(a){super(),!1!==a&&this.__registerHost(),this.__attachShadow(),this.ctaClick=o(this,"ctaClick",7),this.mobileViewChange=o(this,"mobileViewChange",7),this.navigationBackButtonClick=o(this,"navigationBackButtonClick",7),this.navigationExpansionStateChange=o(this,"navigationExpansionStateChange",7),this.sidebarToggle=o(this,"sidebarToggle",7),this.backToNavigationViewButtonLabel="Back to navigation",this.navigationBackButtonLabel="Go back",this.navigationExpansionStateStorageKey="SWIRL_APP_LAYOUT_NAV_EXPANSION_STATE",this.navigationToggleLabel="Toggle navigation",this.navigationOverlayLabel="Show navigation",this.sidebarPositioning="auto",this.sidebarCloseButtonLabel="Close sidebar",this.transitionStyle="slides",this.contentScrollState={scrollable:!1,scrolledToTop:!1,scrolledToBottom:!1},this.mobileView="navigation",this.navScrollState={scrollable:!1,scrolledToTop:!1},this.navExpansionState="expanded",this.sidebarScrollState={scrollable:!1,scrolledToTop:!1},this.mediaQueryUnsubscribe=()=>{},this.onBackToNavigationViewButtonClick=()=>{this.changeMobileView("navigation")},this.onCtaClick=a=>{this.ctaClick.emit(a)},this.onNavigationBackButtonClick=a=>{this.navigationBackButtonClick.emit(a)},this.onSidebarCloseButtonClick=()=>{this.hideSidebar()},this.onContentScroll=s((()=>{this.updateContentScrollState()}),16),this.onNavScroll=s((()=>{this.updateNavScrollState()}),16),this.onSidebarScroll=s((()=>{this.updateSidebarScrollState()}),16),this.toggleNavigation=()=>{this.collapsibleNavigation&&this.setCollapsibleNavigationState("expanded"===this.navExpansionState?"collapsed":"expanded")},this.overlayNavigation=a=>{a.stopPropagation(),this.setCollapsibleNavigationState("overlayed")}}componentWillLoad(){this.initialMobileView&&(this.mobileView=this.initialMobileView),this.mutationObserver=new MutationObserver((()=>{this.updateBottomBarStatus(),this.updateBottomBannerStatus(),this.updateCustomAppBarBackButtonStatus(),this.updateNavigationStatus(),this.updateSidebarStatus()})),this.mutationObserver.observe(this.el,{childList:!0}),queueMicrotask((()=>{this.updateBottomBarStatus(),this.updateBottomBannerStatus(),this.updateCustomAppBarBackButtonStatus(),this.updateSidebarStatus(),this.updateNavigationStatus(),this.checkMobileView()}))}componentDidLoad(){this.mediaQueryUnsubscribe=l.subscribe((a=>{this.isDesktop=a})),queueMicrotask((()=>{this.restoreNavExpansionState(),this.updateContentScrollState(),this.updateSidebarScrollState(),this.updateNavScrollState()}))}disconnectedCallback(){this.mediaQueryUnsubscribe(),this.mutationObserver?.disconnect()}onDocumentClick(a){this.collapsibleNavigation&&"overlayed"===this.navExpansionState&&(a.composedPath().includes(this.navEl)||a.composedPath().includes(this.headerEl)||this.setCollapsibleNavigationState("collapsed"))}onKeyDown(a){"Escape"===a.key&&"overlayed"===this.navExpansionState&&this.setCollapsibleNavigationState("collapsed")}watchMobileView(){this.checkMobileView()}async showSidebar(){if(this.sidebarActive||!this.hasSidebar)return;this.sidebarOpeningTimeout&&clearTimeout(this.sidebarOpeningTimeout),this.sidebarOpening=!0;const a=r()||d()?0:300;this.sidebarOpeningTimeout=setTimeout((()=>{this.sidebarActive=!0,this.sidebarOpening=!1,this.changeMobileView("sidebar"),this.sidebarToggle.emit(!0)}),a)}async hideSidebar(){if(!this.sidebarActive||!this.hasSidebar)return;this.sidebarClosingTimeout&&clearTimeout(this.sidebarClosingTimeout),this.sidebarClosing=!0;const a=r()||d()?0:290;this.sidebarClosingTimeout=setTimeout((()=>{this.sidebarActive=!1,this.sidebarClosing=!1,this.changeMobileView("body"),this.sidebarToggle.emit(!1)}),a)}async toggleSidebar(){this.hasSidebar&&(this.sidebarActive?this.hideSidebar():this.showSidebar())}async getCollapsibleNavigationState(){return this.navExpansionState}async setCollapsibleNavigationState(a){this.collapsibleNavigation&&(this.navExpansionState=a,this.navigationExpansionStateChange.emit(this.navExpansionState),localStorage.setItem(this.navigationExpansionStateStorageKey,this.navExpansionState))}async getScrollContainer(){return this.contentEl}async changeMobileView(a,t=!0){if(this.mobileView===a||"navigation"===a&&!this.hasNavigation||"sidebar"===a&&!this.hasSidebar)return;if(!r()||!t)return this.mobileView=a,void this.mobileViewChange.emit(this.mobileView);this.transitionTimeout&&clearTimeout(this.transitionTimeout),this.transitioningFrom=this.mobileView,this.transitioningTo=a;const o=d();this.transitionTimeout=setTimeout((()=>{this.mobileView=a,this.transitioningFrom=void 0,this.transitioningTo=void 0,this.mobileViewChange.emit(this.mobileView)}),o?0:"slides"===this.transitionStyle?400:"dialog"===this.transitionStyle?300:0)}checkMobileView(){if("navigation"===this.mobileView&&!this.hasNavigation||"sidebar"===this.mobileView&&!this.hasSidebar)return void(this.mobileView="body");const a="sidebar"===this.mobileView||this.sidebarActive;a!==this.sidebarActive&&(a?this.showSidebar():this.hideSidebar())}updateBottomBannerStatus(){this.hasBottomBanner=!!this.el.querySelector('[slot="bottom-banner"]')}updateBottomBarStatus(){this.hasBottomBar=!!this.el.querySelector('[slot="bottom-bar"]')}updateNavigationStatus(){this.hasNavigation=!!this.el.querySelector('[slot="navigation"]')}updateCustomAppBarBackButtonStatus(){this.hasCustomAppBarBackButton=!!this.el.querySelector('[slot="custom-app-bar-back-button"]')}updateSidebarStatus(){this.hasSidebar=!!this.el.querySelector('[slot="sidebar"]')}updateContentScrollState(){const a={scrollable:this.contentEl.scrollHeight>this.contentEl.clientHeight,scrolledToTop:0===this.contentEl.scrollTop,scrolledToBottom:Math.round(this.contentEl.scrollTop+this.contentEl.clientHeight)>=this.contentEl.scrollHeight};Object.keys(a).some((t=>a[t]!==this.contentScrollState[t]))&&(this.contentScrollState=a)}updateNavScrollState(){const a={scrollable:this.navEl.scrollHeight>this.navEl.clientHeight,scrolledToTop:0===this.navEl.scrollTop};Object.keys(a).some((t=>a[t]!==this.navScrollState[t]))&&(this.navScrollState=a)}updateSidebarScrollState(){const a={scrollable:this.sidebarEl.scrollHeight>this.sidebarEl.clientHeight,scrolledToTop:0===this.sidebarEl.scrollTop};Object.keys(a).some((t=>a[t]!==this.sidebarScrollState[t]))&&(this.sidebarScrollState=a)}restoreNavExpansionState(){if(!this.collapsibleNavigation)return;const a=localStorage.getItem(this.navigationExpansionStateStorageKey);a&&this.setCollapsibleNavigationState(a)}render(){const a=("body"===this.mobileView||this.transitioningTo)&&this.hasNavigation&&!this.hasCustomAppBarBackButton,t=!!this.el.querySelector('[slot="app-bar-controls"]'),o=!!this.el.querySelector('[slot="app-bar-mobile-menu-button"]'),n=!!this.el.querySelector('[slot="custom-sidebar-header"]'),l=!!this.el.querySelector('[slot="floating-action-button"]')||!!this.ctaLabel,s=this.hasNavigation&&(!this.collapsibleNavigation||"collapsed"!==this.navExpansionState||!this.isDesktop),r=p("app-layout","app-layout--mobile-view-"+this.mobileView,"app-layout--nav-"+(this.isDesktop?this.navExpansionState:"expanded"),"app-layout--transitioning-from-"+this.transitioningFrom,"app-layout--transitioning-to-"+this.transitioningTo,"app-layout--transition-style-"+this.transitionStyle,"app-layout--sidebar-positioning-"+this.sidebarPositioning,{"app-layout--content-scrollable":this.contentScrollState.scrollable,"app-layout--content-scrolled-to-top":this.contentScrollState.scrolledToTop,"app-layout--content-scrolled-to-bottom":this.contentScrollState.scrolledToBottom,"app-layout--has-app-bar-mobile-menu-button":o,"app-layout--has-app-bar-controls":t,"app-layout--has-bottom-banner":this.hasBottomBanner,"app-layout--has-bottom-bar":this.hasBottomBar,"app-layout--has-custom-app-bar-back-button":this.hasCustomAppBarBackButton,"app-layout--has-custom-sidebar-header":n,"app-layout--has-floating-action-button":l,"app-layout--has-navigation":this.hasNavigation,"app-layout--has-sidebar":this.hasSidebar,"app-layout--hide-app-bar":this.hideAppBar,"app-layout--nav-collapsible":this.collapsibleNavigation&&this.isDesktop,"app-layout--nav-scrollable":this.navScrollState.scrollable,"app-layout--nav-scrolled-to-top":this.navScrollState.scrolledToTop,"app-layout--prevent-content-overflow":this.preventContentOverflow,"app-layout--rounded-corners":this.roundedCorners,"app-layout--sidebar-active":"sidebar"===this.mobileView||this.sidebarActive,"app-layout--sidebar-closing":this.sidebarClosing,"app-layout--sidebar-opening":this.sidebarOpening,"app-layout--sidebar-scrollable":this.sidebarScrollState.scrollable,"app-layout--sidebar-scrolled-to-top":this.sidebarScrollState.scrolledToTop});return i(e,{key:"e8fa3517c20be50f23651a6618d0a654360dd8bb"},i("section",{key:"29bae81c9047360e9a41d1e1b5b4478f18e65900","aria-labelledby":"app-name",class:r},i("div",{key:"8399a6c2d5885a8abaa3da3183282d6838026bc9",class:"app-layout__grid"},i("header",{key:"7139743470378cd46bc6b01b3d3628d9e4e2fd4d",class:"app-layout__header",ref:a=>this.headerEl=a},i("span",{key:"79057b7fc1b7f969a72e3a5bf2f6f19abd5c1d58",class:"app-layout__navigation-mobile-menu-button"},i("slot",{key:"48113ac7f2a57bee6cf7ea639d8f62a9192582cd",name:"navigation-mobile-menu-button"})),this.collapsibleNavigation&&i("span",{key:"7414f2ec88b8369728d76d419b169cb3d936b6f5",class:"app-layout__nav-overlay-toggle"},i("swirl-button",{key:"cce77f4a0de5288ab8496e2d27aa40952e9997ed",hideLabel:!0,icon:"expanded"!==this.navExpansionState?"<swirl-icon-dock-left-expand></swirl-icon-dock-left-expand>":"<swirl-icon-dock-left-collapse></swirl-icon-dock-left-collapse>",label:this.navigationToggleLabel,onClick:this.toggleNavigation})),this.showNavigationBackButton&&i("span",{key:"e1a586370b0b04dc4d100fcb895e2ba371dae64e",class:"app-layout__navigation-back-button"},i("swirl-button",{key:"0b77ac2c49a9db06cc3f7792d06dd269945c58da",hideLabel:!0,icon:"<swirl-icon-arrow-back></swirl-icon-arrow-back>",label:this.navigationBackButtonLabel,onClick:this.onNavigationBackButtonClick})),i("swirl-heading",{key:"d2e7989615352c42dce6005da07dbaed0c6d99ee",as:"h1",class:"app-layout__app-name",headingId:"app-name",level:3,text:this.appName}),s&&i("span",{key:"d6655e944086aa11f95c4cab4da3ea9ef827cc76",class:"app-layout__navigation-controls"},i("slot",{key:"6c7d9dbf8b2707cdcb01bffaff8ce9f6059389b4",name:"navigation-controls"}))),i("nav",{key:"111e910171f0d799ac8e3eb5fd6fd5e7c7f832a6","aria-label":this.navigationLabel,class:"app-layout__navigation",onScroll:this.onNavScroll,ref:a=>this.navEl=a,inert:this.isDesktop&&this.collapsibleNavigation&&"collapsed"===this.navExpansionState},i("slot",{key:"580dd1a0a999a77195279c7cc887585857080276",name:"navigation"})),i("section",{key:"f77cb25f6be2b64d7213ff7f917b5f6869880b9f","aria-labelledby":"app-name",class:"app-layout__body"},!this.hideAppBar&&i("header",{key:"06467a7005a8bccfa66bd662a28e9aea4771d27a",class:"app-layout__app-bar"},i("span",{key:"a2f2d531d1b7f304d9f3fa5159dbea8f78b45553",class:"app-layout__app-bar-mobile-menu-button"},i("slot",{key:"4e83761fc85b17c739abc1d8c7158d5cd362706f",name:"app-bar-mobile-menu-button"})),a&&i("span",{key:"1c257404a9cfd84debbd0486f8f17b2d7916839c",class:"app-layout__back-to-navigation-button"},i("swirl-button",{key:"f67661832bb9ed96006e13f4cf998cb395adcce5",hideLabel:!0,icon:"dialog"===this.transitionStyle?"<swirl-icon-close></swirl-icon-close>":"<swirl-icon-arrow-back></swirl-icon-arrow-back>",label:this.backToNavigationViewButtonLabel,onClick:this.onBackToNavigationViewButtonClick})),this.collapsibleNavigation&&"expanded"!==this.navExpansionState&&i("span",{key:"39d626d775997e9bab9e9ae3946084d73d715583",class:"app-layout__nav-expansion-toggle"},i("swirl-button",{key:"7e967c7d6314707a913b461271e4908ca80d70a7",hideLabel:!0,icon:"<swirl-icon-hamburger-menu></swirl-icon-hamburger-menu>",label:this.navigationOverlayLabel,onClick:this.overlayNavigation})),i("span",{key:"76e4be74a94b18c027c33140736c36c98e7024e3",class:"app-layout__custom-app-bar-back-button"},i("slot",{key:"81df9b04bc26d1fb85f8160c55cc2df72aafedfa",name:"custom-app-bar-back-button"})),i("div",{key:"955ccd31ee748b0f9bf03e573f920884a402b7f4",class:"app-layout__app-bar-content"},i("slot",{key:"16deec03db91173bf75664f2fbc1ceac7a30004f",name:"app-bar"})),i("div",{key:"bce238fc1df86c571e663419d8f3faeeffa36982",class:"app-layout__app-bar-controls"},i("slot",{key:"540b1410a2cf45d6b04b1ae7ebd8c1f92b9edeaa",name:"app-bar-controls"}))),i("div",{key:"110496d5b1001a4cfd1510c5b01e6ba108d5de17",class:"app-layout__banner"},i("slot",{key:"d899e047a077a3ea4638311913623cc6ef8d3112",name:"banner"})),i("div",{key:"137484f06a5e4fea74ab0f5febc30b327c500710",class:"app-layout__content",onScroll:this.onContentScroll,ref:a=>this.contentEl=a},i("div",{key:"3854ac4b1108ec4083c05b6d989b899e5b4bd999",class:"app-layout__content-inner"},i("slot",{key:"68d9a207834dcf01164545df8d813d817b1fcad0",name:"content"})),i("div",{key:"e7c2fd5cc7802e3d4cfa83fc54e1b58587fc05b7",class:"app-layout__bottom-banner"},i("slot",{key:"655ad74d80da4bde2d8e1c5f76e5276f8debbf67",name:"bottom-banner"}))),i("div",{key:"6fa13e005398621057950af22593851bc5bb40bb",class:"app-layout__bottom-bar"},i("slot",{key:"7f3c36cb64f027d9db9ed6f6343242fdccffc313",name:"bottom-bar"}))),i("aside",{key:"7269ec313d3bcc3cd1dec5abe8cf81b440987e8f",class:"app-layout__sidebar"},i("header",{key:"63ba307a1ee8755ed86cfdf73eda6cfe38b4b8ac",class:"app-layout__custom-sidebar-header"},i("slot",{key:"4027a4f20d4b2703422547bbbdd81221b8816c85",name:"custom-sidebar-header"})),i("header",{key:"f853e2f2fc57e27a9d14265bb4abb948c198e8ea",class:"app-layout__sidebar-header"},i("swirl-button",{key:"a5afb72e7cf946c9078732708d02ab26eae5c955",class:"app-layout__sidebar-close-button",hideLabel:!0,icon:"<swirl-icon-close></swirl-icon-close>",label:this.sidebarCloseButtonLabel,onClick:this.onSidebarCloseButtonClick}),i("swirl-heading",{key:"797791edbae180dd39835a407479f56b824f2733",as:"h3",class:"app-layout__sidebar-heading",headingId:"sidebar-heading",level:3,text:this.sidebarHeading})),i("div",{key:"1d1a0a76937293430f572b6c5930e010d70102fd",class:"app-layout__sidebar-content",onScroll:this.onSidebarScroll,ref:a=>this.sidebarEl=a},i("slot",{key:"dc8ff45e81cbd1be539e851d2da00042b6d3ce26",name:"sidebar"}))),i("span",{key:"e11c29160fcf21b6212d28e55a8092cc8bb36931",class:"app-layout__floating-action-button"},this.ctaLabel&&i("swirl-button",{key:"15eb5b55036b38780182689b7d11f084c9425038",hideLabel:!!this.ctaIcon,icon:this.ctaIcon,intent:"primary",label:this.ctaLabel,onClick:this.onCtaClick,variant:"floating"}),i("slot",{key:"50383a0c6b5cb438fd606f2bba6ad0184eb2a953",name:"floating-action-button"})))))}get el(){return this}static get watchers(){return{mobileView:[{watchMobileView:0}]}}static get style(){return':host{--header-height:3.5625rem;position:relative;z-index:1;display:flex;width:100%;height:100%}:host *{box-sizing:border-box}.app-layout{display:flex;overflow:hidden;width:100%;height:100%;margin-right:auto;margin-left:auto}.app-layout__grid{position:relative;display:grid;width:100%;height:100%;grid-template-columns:100%;grid-template-rows:var(--header-height) 1fr;grid-template-areas:"body" "body"}.app-layout:not(.app-layout--has-navigation) .app-layout__header,.app-layout:not(.app-layout--has-navigation) .app-layout__navigation{display:none}.app-layout:not(.app-layout--has-sidebar) .app-layout__sidebar{display:none}@media (max-width: 767px){.app-layout:not(.app-layout--mobile-view-body) .app-layout__body{display:none}}@media (max-width: 767px){.app-layout:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar{display:none}}.app-layout:not(.app-layout--has-app-bar-mobile-menu-button) .app-layout__app-bar-mobile-menu-button{display:none}.app-layout--has-navigation .app-layout__grid{grid-template-columns:100%;grid-template-areas:"header" "navigation"}@media (min-width: 768px){.app-layout--has-navigation .app-layout__grid{grid-template-columns:min(50%, 22.5rem) 1fr;grid-template-areas:"header body" "navigation body"}}@media (min-width: 1440px){.app-layout--has-navigation .app-layout__grid{grid-template-columns:min(50%, 25rem) 1fr}}@media (min-width: 768px){.app-layout--has-navigation .app-layout__app-bar-mobile-menu-button{display:none}}@media (min-width: 992px){.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-collapsed .app-layout__grid{grid-template-columns:0 1fr}.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__grid{grid-template-columns:0 1fr}.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__header,.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__navigation{position:absolute;z-index:4;top:0;left:0;width:22.5rem;animation:app-layout-nav-overlay-slide-in-desktop 0.1s;animation-fill-mode:forwards}.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__header:after{position:absolute;z-index:1;top:0;left:calc(100% + var(--s-border-width-default));display:block;width:2rem;height:100vh;background-image:linear-gradient( to right, rgba(0, 0, 0, 0.05) 0, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100% );content:""}.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__navigation{z-index:3;bottom:0}}@media (min-width: 1440px){.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__header,.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__navigation{width:25rem;animation:app-layout-nav-overlay-slide-in-large-desktop 0.1s}}@media (min-width: 768px){.app-layout--has-sidebar:not(.app-layout--has-navigation):not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening .app-layout__grid{animation:app-layout-no-nav-sidebar-slide-in 0.3s}@media (prefers-reduced-motion){.app-layout--has-sidebar:not(.app-layout--has-navigation):not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening .app-layout__grid{animation:none}}}@media (min-width: 768px){.app-layout--has-sidebar:not(.app-layout--has-navigation):not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing .app-layout__grid{animation:app-layout-no-nav-sidebar-slide-out 0.3s}@media (prefers-reduced-motion){.app-layout--has-sidebar:not(.app-layout--has-navigation):not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing .app-layout__grid{animation:none}}}@media (min-width: 768px){.app-layout--has-sidebar.app-layout--sidebar-active .app-layout__grid,.app-layout--has-sidebar.app-layout--sidebar-opening .app-layout__grid{grid-template-columns:1fr min(50%, 25rem);grid-template-areas:"body sidebar" "body sidebar"}}.app-layout--has-sidebar .app-layout__grid{grid-template-columns:100%;grid-template-areas:"body" "body"}@media (min-width: 1800px){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay) .app-layout__sidebar{position:static;z-index:auto;width:25rem;animation:none;box-shadow:none;background-color:var(--s-background-default)}}@media (min-width: 1800px){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening .app-layout__grid,.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-active .app-layout__grid{grid-template-columns:25rem 1fr 25rem;grid-template-areas:"header body sidebar" "navigation body sidebar"}}@media (min-width: 1800px){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening .app-layout__grid{animation:app-layout-sidebar-slide-in 0.3s;animation-fill-mode:forwards}@media (prefers-reduced-motion){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening .app-layout__grid{animation:none}}.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening.app-layout--nav-collapsed .app-layout__grid,.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening.app-layout--nav-overlayed .app-layout__grid{animation:app-layout-sidebar-slide-in-with-collapsed-nav 0.3s}}@media (min-width: 1800px){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing .app-layout__grid{animation:app-layout-sidebar-slide-out 0.3s}@media (prefers-reduced-motion){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing .app-layout__grid{animation:none}}.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing.app-layout--nav-collapsed .app-layout__grid,.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing.app-layout--nav-overlayed .app-layout__grid{animation:app-layout-sidebar-slide-out-with-collapsed-nav 0.3s}}@media (min-width: 768px){.app-layout--has-navigation.app-layout--has-sidebar .app-layout__grid{grid-template-columns:min(50%, 22.5rem) 1fr;grid-template-areas:"header body" "navigation body"}}@media (min-width: 992px){.app-layout--has-navigation.app-layout--has-sidebar .app-layout__grid{grid-template-columns:22.5rem 1fr}}@media (min-width: 1440px){.app-layout--has-navigation.app-layout--has-sidebar .app-layout__grid{grid-template-columns:25rem 1fr}}@media (min-width: 992px){.app-layout--has-navigation.app-layout--has-sidebar.app-layout--nav-collapsible.app-layout--nav-collapsed .app-layout__grid{grid-template-columns:0 1fr}.app-layout--has-navigation.app-layout--has-sidebar.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__grid{grid-template-columns:0 1fr}}@media (min-width: 768px){.app-layout--has-navigation.app-layout--has-sidebar .app-layout__sidebar{position:absolute;z-index:3;top:0;right:0;bottom:0;width:min(40%, 25rem)}.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--rounded-corners){border-left:var(--s-border-width-default) solid var(--s-border-default);box-shadow:var(--s-shadow-level-3)}}@media (max-width: 767px){.app-layout--mobile-view-navigation .app-layout__grid{grid-template-areas:"header" "navigation"}.app-layout--mobile-view-navigation .app-layout__body,.app-layout--mobile-view-navigation .app-layout__sidebar{display:none}}@media (max-width: 767px){.app-layout--mobile-view-body .app-layout__grid{grid-template-areas:"body" "body"}.app-layout--mobile-view-body .app-layout__header,.app-layout--mobile-view-body .app-layout__navigation,.app-layout--mobile-view-body .app-layout__sidebar{display:none}}@media (max-width: 767px){.app-layout--mobile-view-sidebar .app-layout__grid{grid-template-areas:"sidebar" "sidebar"}.app-layout--mobile-view-sidebar .app-layout__header,.app-layout--mobile-view-sidebar .app-layout__navigation,.app-layout--mobile-view-sidebar .app-layout__body{display:none}}.app-layout--has-sidebar:not(.app-layout--sidebar-active):not(.app-layout--sidebar-opening) .app-layout__sidebar{display:none}@media (min-width: 768px){.app-layout--sidebar-closing .app-layout__sidebar{animation:app-layout-sidebar-overlay-slide-out 0.3s}@media (prefers-reduced-motion){.app-layout--sidebar-closing .app-layout__sidebar{animation:none}}}@media (min-width: 1800px){.app-layout--sidebar-closing:not(.app-layout--sidebar-positioning-overlay) .app-layout__sidebar{animation:none}}.app-layout--has-app-bar-controls .app-layout__app-bar-controls{display:block}.app-layout--has-bottom-bar .app-layout__body{grid-template-rows:minmax(var(--header-height), auto) auto 1fr auto;grid-template-areas:"app-bar" "banner" "content" "bottom-bar"}.app-layout--has-bottom-bar .app-layout__content{border-bottom:var(--s-border-width-default) solid transparent}.app-layout--has-bottom-bar .app-layout__bottom-bar{display:block;padding-bottom:env(safe-area-inset-bottom, 0)}.app-layout--has-bottom-banner .app-layout__bottom-banner{display:block}.app-layout--has-custom-app-bar-back-button .app-layout__custom-app-bar-back-button{display:block}.app-layout--has-custom-sidebar-header .app-layout__sidebar-header{display:none}.app-layout--has-custom-sidebar-header .app-layout__custom-sidebar-header{display:block}.app-layout--has-floating-action-button .app-layout__floating-action-button{display:block}.app-layout--hide-app-bar .app-layout__body{grid-template-rows:auto 1fr;grid-template-areas:"banner" "content" "bottom-bar"}.app-layout--content-scrollable:not(.app-layout--content-scrolled-to-top) .app-layout__app-bar{border-bottom-color:var(--s-border-default)}.app-layout--content-scrollable.app-layout--has-bottom-bar:not(.app-layout--content-scrolled-to-bottom):not(.app-layout--has-bottom-banner) .app-layout__content{border-bottom-color:var(--s-border-default)}.app-layout--nav-scrollable:not(.app-layout--nav-scrolled-to-top) .app-layout__header{border-bottom-color:var(--s-border-default)}.app-layout--sidebar-scrollable:not(.app-layout--sidebar-scrolled-to-top) .app-layout__sidebar-header,.app-layout--sidebar-scrollable:not(.app-layout--sidebar-scrolled-to-top) .app-layout__custom-sidebar-header{border-bottom-color:var(--s-border-default)}.app-layout--prevent-content-overflow .app-layout__content{overflow:hidden}.app-layout--prevent-content-overflow .app-layout__content-inner{max-height:100%}.app-layout__header{z-index:1;display:flex;min-width:0;height:var(--header-height);padding-top:var(--s-space-12);padding-right:var(--s-space-8);padding-bottom:var(--s-space-12);padding-left:var(--s-space-8);align-items:center;border-bottom:var(--s-border-width-default) solid transparent;background-color:var(--s-background-default);grid-area:header;gap:var(--s-space-8)}@media (min-width: 768px){.app-layout__header{border-right:var(--s-border-width-default) solid var(--s-border-default)}}@media (min-width: 992px){.app-layout__header{padding-right:var(--s-space-16);padding-left:var(--s-space-16)}}.app-layout__app-name{min-width:0}.app-layout__app-name .heading{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-layout__app-bar-mobile-menu-button,.app-layout__navigation-mobile-menu-button{flex-shrink:0}@media (min-width: 992px){.app-layout__app-bar-mobile-menu-button,.app-layout__navigation-mobile-menu-button{display:none}}.app-layout__app-bar-mobile-menu-button{padding-left:var(--s-space-8)}.app-layout__navigation-back-button{margin-left:calc(-1 * var(--s-space-4))}.app-layout__floating-action-button{position:absolute;z-index:4;right:var(--s-space-16);bottom:var(--s-space-16);display:none}.app-layout__navigation-controls{flex-shrink:0}.app-layout__navigation{overflow-y:auto;border-right:var(--s-border-width-default) solid var(--s-border-default);background-color:var(--s-background-default);grid-area:navigation}.app-layout__nav-overlay-toggle,.app-layout__nav-expansion-toggle{display:none}@media (min-width: 992px){.app-layout__nav-overlay-toggle,.app-layout__nav-expansion-toggle{display:block}}.app-layout__nav-expansion-toggle{padding-left:var(--s-space-16)}.app-layout__body{z-index:2;display:grid;width:100%;height:100%;background-color:var(--s-background-default);grid-area:body;grid-template-rows:minmax(var(--header-height), auto) auto 1fr;grid-template-areas:"app-bar" "banner" "content"}.app-layout__app-bar{--swirl-tab-bar-border-width:0;--swirl-tab-bar-height:3.5rem;display:flex;min-width:0;align-items:center;border-bottom:var(--s-border-width-default) solid transparent;grid-area:app-bar;gap:var(--s-space-8)}.app-layout__bottom-bar{display:none;min-width:0;align-items:center;grid-area:bottom-bar}.app-layout__back-to-navigation-button{padding-left:var(--s-space-8)}@media (min-width: 768px){.app-layout__back-to-navigation-button{display:none}}.app-layout__banner{grid-area:banner}.app-layout__app-bar-content{min-width:0;flex-grow:1}.app-layout__custom-app-bar-back-button{display:none;padding-left:var(--s-space-8)}.app-layout__app-bar-controls{display:none;padding-right:var(--s-space-8)}@media (min-width: 768px){.app-layout__app-bar-controls{padding-right:var(--s-space-16)}}.app-layout__content{overflow:auto;grid-area:content;display:flex;flex-direction:column}.app-layout__content-inner{flex-grow:1}.app-layout__sidebar{display:grid;width:100%;height:100%;border-left:var(--s-border-width-default) solid var(--s-border-default);background-color:var(--s-background-default);grid-area:sidebar;grid-template-rows:var(--header-height) 1fr;grid-template-areas:"sidebar-header" "sidebar-content"}@media (min-width: 768px){.app-layout__sidebar{animation:app-layout-slide-in 0.3s}@media (prefers-reduced-motion){.app-layout__sidebar{animation:none}}}.app-layout__custom-sidebar-header{display:none;min-width:0;border-bottom:var(--s-border-width-default) solid transparent;grid-area:sidebar-header}.app-layout__sidebar-header{display:flex;min-width:0;padding-top:var(--s-space-12);padding-right:var(--s-space-8);padding-bottom:var(--s-space-12);padding-left:var(--s-space-8);align-items:center;border-bottom:var(--s-border-width-default) solid transparent;grid-area:sidebar-header;gap:var(--s-space-8)}@media (min-width: 768px){.app-layout__sidebar-header{padding-right:var(--s-space-16);padding-left:var(--s-space-16)}}.app-layout__sidebar-heading{min-width:0;flex-grow:1}.app-layout__sidebar-heading .heading{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-layout__sidebar-close-button{margin-left:calc(-1 * var(--s-space-4))}.app-layout__sidebar-content{overflow-y:auto;grid-area:sidebar-content}.app-layout__bottom-banner{display:none;position:sticky;right:0;bottom:0;left:0;z-index:5}@media (min-width: 768px){.app-layout--rounded-corners .app-layout__grid{-moz-column-gap:var(--s-space-8);column-gap:var(--s-space-8)}.app-layout--rounded-corners .app-layout__header{border-right:none;border-radius:var(--s-border-radius-l) var(--s-border-radius-l) 0 0}.app-layout--rounded-corners .app-layout__navigation{border-right:none;border-radius:0 0 var(--s-border-radius-l) var(--s-border-radius-l)}.app-layout--rounded-corners .app-layout__body,.app-layout--rounded-corners .app-layout__sidebar{overflow:hidden;border-radius:var(--s-border-radius-l)}.app-layout--rounded-corners .app-layout__sidebar{border-left:none;box-shadow:-12px 0 32px -10px rgba(23, 23, 23, 0.12), -8px 4px 12px -8px rgba(23, 23, 23, 0.08);background-color:var(--s-surface-overlay-default)}}@media (min-width: 768px){.app-layout--sidebar-positioning-overlay:not(.app-layout--has-navigation).app-layout--has-sidebar.app-layout--sidebar-active .app-layout__grid,.app-layout--sidebar-positioning-overlay:not(.app-layout--has-navigation).app-layout--has-sidebar.app-layout--sidebar-opening .app-layout__grid{grid-template-columns:100%;grid-template-areas:"body" "body"}}@media (min-width: 768px){.app-layout--sidebar-positioning-overlay:not(.app-layout--has-navigation).app-layout--has-sidebar .app-layout__sidebar{position:absolute;z-index:3;top:0;right:0;bottom:0;width:min(50%, 25rem);border-left:var(--s-border-width-default) solid var(--s-border-default);box-shadow:var(--s-shadow-level-3)}}@keyframes app-layout-nav-overlay-slide-in-desktop{from{width:0}to{width:22.5rem}}@keyframes app-layout-nav-overlay-slide-in-large-desktop{from{width:0}to{width:25rem}}@media print{.app-layout__content{overflow:visible}:host,.app-layout,.app-layout__grid,.app-layout__body{height:auto;overflow:visible}}@media (max-width: 767px){.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__grid,.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__grid{grid-template-columns:100%;grid-template-areas:"header" "navigation"}.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body,.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{position:absolute;top:0;left:0;display:grid;width:100%;transform:translate3d(100%, 0, 0)}}@media (max-width: 767px){.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__header{display:flex}.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__navigation{display:block}}@media (max-width: 991px){.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__grid,.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__grid{grid-template-columns:100%;grid-template-areas:"body" "body"}.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar,.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{position:absolute;top:0;left:0;display:grid;border-left:var(--s-border-width-default) solid var(--s-border-default)}}@media (max-width: 991px){.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__body{display:grid}.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{display:grid}}@media (max-width: 767px){.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__header,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__navigation,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__header,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__navigation{animation:app-layout-slide-out 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__header,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__navigation,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__header,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__navigation{animation:none}}.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation:app-layout-slide-in 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation:none}}.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body:after,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body:after{position:absolute;top:0;right:100%;bottom:0;display:block;width:100%;background-color:rgba(0, 0, 0, 0.3);content:"";animation:app-layout-fade-in 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body:after,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body:after{animation:none}}}@media (max-width: 767px){.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__header{animation-direction:reverse}.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__navigation{animation-direction:reverse}.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation-direction:reverse}.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body:after{animation-direction:reverse}}@media (max-width: 991px){.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__body,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__body{animation:app-layout-slide-out 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__body,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__body{animation:none}}.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation:app-layout-slide-in 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation:none}}.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar:after,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar:after{position:absolute;top:0;right:100%;bottom:0;display:block;width:100%;background-color:rgba(0, 0, 0, 0.3);content:"";animation:app-layout-fade-in 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar:after,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar:after{animation:none}}}@media (max-width: 991px){.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__body{animation-direction:reverse}.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation-direction:reverse}.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar:after{animation-direction:reverse}}@media (max-width: 767px){.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body,.app-layout--transition-style-dialog.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation:app-layout-scale-in 0.3s}@media (prefers-reduced-motion){.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body,.app-layout--transition-style-dialog.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation:none}}}@media (max-width: 767px){.app-layout--transition-style-dialog.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__header{animation-direction:reverse}.app-layout--transition-style-dialog.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__navigation{animation-direction:reverse}.app-layout--transition-style-dialog.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation-direction:reverse}}@media (max-width: 991px){.app-layout--transition-style-dialog.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar,.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation:app-layout-scale-in 0.3s}@media (prefers-reduced-motion){.app-layout--transition-style-dialog.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar,.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation:none}}}@media (max-width: 991px){.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__body{animation-direction:reverse}.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation-direction:reverse}}@keyframes app-layout-sidebar-overlay-slide-out{0%{transform:translate3d(0, 0, 0)}100%{transform:translate3d(100%, 0, 0)}}@keyframes app-layout-slide-in{0%{transform:translate3d(100%, 0, 0)}100%{transform:translate3d(0, 0, 0)}}@keyframes app-layout-slide-out{0%{transform:translate3d(0, 0, 0)}100%{transform:translate3d(-20%, 0, 0)}}@keyframes app-layout-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes app-layout-scale-in{from{transform:scale(0);box-shadow:0 0 0 100rem rgba(0, 0, 0, 0)}to{transform:scale(1);box-shadow:0 0 0 100rem rgba(0, 0, 0, 0.25)}}@keyframes app-layout-sidebar-slide-in{from{overflow:hidden;grid-template-columns:25rem 1fr 0}to{overflow:hidden;grid-template-columns:25rem 1fr 25rem}}@keyframes app-layout-sidebar-slide-in-with-collapsed-nav{from{overflow:hidden;grid-template-columns:0 1fr 0}to{overflow:hidden;grid-template-columns:0 1fr 25rem}}@keyframes app-layout-sidebar-slide-out{from{overflow:hidden;grid-template-columns:25rem 1fr 25rem}to{overflow:hidden;grid-template-columns:25rem 1fr 0}}@keyframes app-layout-sidebar-slide-out-with-collapsed-nav{from{overflow:hidden;grid-template-columns:0 1fr 25rem}to{overflow:hidden;grid-template-columns:0 1fr 0}}@keyframes app-layout-no-nav-sidebar-slide-in{from{overflow:hidden;grid-template-columns:1fr 0}to{overflow:hidden;grid-template-columns:1fr 25rem}}@keyframes app-layout-no-nav-sidebar-slide-out{from{overflow:hidden;grid-template-columns:1fr 25rem}to{overflow:hidden;grid-template-columns:1fr 0}}'}},[257,"swirl-app-layout",{appName:[1,"app-name"],backToNavigationViewButtonLabel:[1,"back-to-navigation-view-button-label"],collapsibleNavigation:[4,"collapsible-navigation"],ctaIcon:[1,"cta-icon"],ctaLabel:[1,"cta-label"],hasNavigation:[1028,"has-navigation"],hideAppBar:[4,"hide-app-bar"],initialMobileView:[1,"initial-mobile-view"],navigationBackButtonLabel:[1,"navigation-back-button-label"],navigationExpansionStateStorageKey:[1,"navigation-expansion-state-storage-key"],navigationToggleLabel:[1,"navigation-toggle-label"],navigationOverlayLabel:[1,"navigation-overlay-label"],navigationLabel:[1,"navigation-label"],preventContentOverflow:[4,"prevent-content-overflow"],roundedCorners:[4,"rounded-corners"],showNavigationBackButton:[4,"show-navigation-back-button"],sidebarPositioning:[1,"sidebar-positioning"],sidebarCloseButtonLabel:[1,"sidebar-close-button-label"],sidebarHeading:[1,"sidebar-heading"],transitionStyle:[1,"transition-style"],contentScrollState:[32],hasBottomBanner:[32],hasBottomBar:[32],hasCustomAppBarBackButton:[32],hasSidebar:[32],isDesktop:[32],mobileView:[32],navScrollState:[32],navExpansionState:[32],sidebarActive:[32],sidebarClosing:[32],sidebarOpening:[32],sidebarScrollState:[32],transitioningFrom:[32],transitioningTo:[32],showSidebar:[64],hideSidebar:[64],toggleSidebar:[64],getCollapsibleNavigationState:[64],setCollapsibleNavigationState:[64],getScrollContainer:[64],changeMobileView:[64]},[[4,"click","onDocumentClick"],[0,"keydown","onKeyDown"]],{mobileView:[{watchMobileView:0}]}]),m=b,g=function(){"undefined"!=typeof customElements&&["swirl-app-layout","swirl-button","swirl-heading"].forEach((a=>{switch(a){case"swirl-app-layout":customElements.get(n(a))||customElements.define(n(a),b);break;case"swirl-button":customElements.get(n(a))||y();break;case"swirl-heading":customElements.get(n(a))||u()}}))};export{m as SwirlAppLayout,g as defineCustomElement}
1
+ import{proxyCustomElement as a,HTMLElement as t,createEvent as o,h as i,Host as e,transformTag as p}from"@stencil/core/internal/client";import{c as n}from"./index2.js";import{D as l}from"./media-query.service.js";import{d as s,i as r,p as d}from"./utils.js";import{d as y}from"./swirl-button2.js";import{d as u}from"./swirl-heading2.js";const b=a(class extends t{constructor(a){super(),!1!==a&&this.__registerHost(),this.__attachShadow(),this.ctaClick=o(this,"ctaClick",7),this.mobileViewChange=o(this,"mobileViewChange",7),this.navigationBackButtonClick=o(this,"navigationBackButtonClick",7),this.navigationExpansionStateChange=o(this,"navigationExpansionStateChange",7),this.sidebarToggle=o(this,"sidebarToggle",7),this.backToNavigationViewButtonLabel="Back to navigation",this.navigationBackButtonLabel="Go back",this.navigationExpansionStateStorageKey="SWIRL_APP_LAYOUT_NAV_EXPANSION_STATE",this.navigationToggleLabel="Toggle navigation",this.navigationOverlayLabel="Show navigation",this.sidebarPositioning="auto",this.sidebarCloseButtonLabel="Close sidebar",this.transitionStyle="slides",this.contentScrollState={scrollable:!1,scrolledToTop:!1,scrolledToBottom:!1},this.mobileView="navigation",this.navScrollState={scrollable:!1,scrolledToTop:!1},this.navExpansionState="expanded",this.sidebarScrollState={scrollable:!1,scrolledToTop:!1},this.mediaQueryUnsubscribe=()=>{},this.onBackToNavigationViewButtonClick=()=>{this.changeMobileView("navigation")},this.onCtaClick=a=>{this.ctaClick.emit(a)},this.onNavigationBackButtonClick=a=>{this.navigationBackButtonClick.emit(a)},this.onSidebarCloseButtonClick=()=>{this.hideSidebar()},this.onContentScroll=s((()=>{this.updateContentScrollState()}),16),this.onNavScroll=s((()=>{this.updateNavScrollState()}),16),this.onSidebarScroll=s((()=>{this.updateSidebarScrollState()}),16),this.toggleNavigation=()=>{this.collapsibleNavigation&&this.setCollapsibleNavigationState("expanded"===this.navExpansionState?"collapsed":"expanded")},this.overlayNavigation=a=>{a.stopPropagation(),this.setCollapsibleNavigationState("overlayed")}}componentWillLoad(){this.initialMobileView&&(this.mobileView=this.initialMobileView),this.mutationObserver=new MutationObserver((()=>{this.updateBottomBarStatus(),this.updateBottomBannerStatus(),this.updateCustomAppBarBackButtonStatus(),this.updateNavigationStatus(),this.updateSidebarStatus()})),this.mutationObserver.observe(this.el,{childList:!0}),queueMicrotask((()=>{this.updateBottomBarStatus(),this.updateBottomBannerStatus(),this.updateCustomAppBarBackButtonStatus(),this.updateSidebarStatus(),this.updateNavigationStatus(),this.checkMobileView()}))}componentDidLoad(){this.mediaQueryUnsubscribe=l.subscribe((a=>{this.isDesktop=a})),queueMicrotask((()=>{this.restoreNavExpansionState(),this.updateContentScrollState(),this.updateSidebarScrollState(),this.updateNavScrollState()}))}disconnectedCallback(){this.mediaQueryUnsubscribe(),this.mutationObserver?.disconnect()}onDocumentClick(a){this.collapsibleNavigation&&"overlayed"===this.navExpansionState&&(a.composedPath().includes(this.navEl)||a.composedPath().includes(this.headerEl)||this.setCollapsibleNavigationState("collapsed"))}onKeyDown(a){"Escape"===a.key&&"overlayed"===this.navExpansionState&&this.setCollapsibleNavigationState("collapsed")}watchMobileView(){this.checkMobileView()}async showSidebar(){if(this.sidebarActive||!this.hasSidebar)return;this.sidebarOpeningTimeout&&clearTimeout(this.sidebarOpeningTimeout),this.sidebarOpening=!0;const a=r()||d()?0:300;this.sidebarOpeningTimeout=setTimeout((()=>{this.sidebarActive=!0,this.sidebarOpening=!1,this.changeMobileView("sidebar"),this.sidebarToggle.emit(!0)}),a)}async hideSidebar(){if(!this.sidebarActive||!this.hasSidebar)return;this.sidebarClosingTimeout&&clearTimeout(this.sidebarClosingTimeout),this.sidebarClosing=!0;const a=r()||d()?0:290;this.sidebarClosingTimeout=setTimeout((()=>{this.sidebarActive=!1,this.sidebarClosing=!1,this.changeMobileView("body"),this.sidebarToggle.emit(!1)}),a)}async toggleSidebar(){this.hasSidebar&&(this.sidebarActive?this.hideSidebar():this.showSidebar())}async getCollapsibleNavigationState(){return this.navExpansionState}async setCollapsibleNavigationState(a){this.collapsibleNavigation&&(this.navExpansionState=a,this.navigationExpansionStateChange.emit(this.navExpansionState),localStorage.setItem(this.navigationExpansionStateStorageKey,this.navExpansionState))}async getScrollContainer(){return this.contentEl}async changeMobileView(a,t=!0){if(this.mobileView===a||"navigation"===a&&!this.hasNavigation||"sidebar"===a&&!this.hasSidebar)return;if(!r()||!t)return this.mobileView=a,void this.mobileViewChange.emit(this.mobileView);this.transitionTimeout&&clearTimeout(this.transitionTimeout),this.transitioningFrom=this.mobileView,this.transitioningTo=a;const o=d();this.transitionTimeout=setTimeout((()=>{this.mobileView=a,this.transitioningFrom=void 0,this.transitioningTo=void 0,this.mobileViewChange.emit(this.mobileView)}),o?0:"slides"===this.transitionStyle?400:"dialog"===this.transitionStyle?300:0)}checkMobileView(){if("navigation"===this.mobileView&&!this.hasNavigation||"sidebar"===this.mobileView&&!this.hasSidebar)return void(this.mobileView="body");const a="sidebar"===this.mobileView||this.sidebarActive;a!==this.sidebarActive&&(a?this.showSidebar():this.hideSidebar())}updateBottomBannerStatus(){this.hasBottomBanner=!!this.el.querySelector('[slot="bottom-banner"]')}updateBottomBarStatus(){this.hasBottomBar=!!this.el.querySelector('[slot="bottom-bar"]')}updateNavigationStatus(){this.hasNavigation=!!this.el.querySelector('[slot="navigation"]')}updateCustomAppBarBackButtonStatus(){this.hasCustomAppBarBackButton=!!this.el.querySelector('[slot="custom-app-bar-back-button"]')}updateSidebarStatus(){this.hasSidebar=!!this.el.querySelector('[slot="sidebar"]')}updateContentScrollState(){const a={scrollable:this.contentEl.scrollHeight>this.contentEl.clientHeight,scrolledToTop:0===this.contentEl.scrollTop,scrolledToBottom:Math.round(this.contentEl.scrollTop+this.contentEl.clientHeight)>=this.contentEl.scrollHeight};Object.keys(a).some((t=>a[t]!==this.contentScrollState[t]))&&(this.contentScrollState=a)}updateNavScrollState(){const a={scrollable:this.navEl.scrollHeight>this.navEl.clientHeight,scrolledToTop:0===this.navEl.scrollTop};Object.keys(a).some((t=>a[t]!==this.navScrollState[t]))&&(this.navScrollState=a)}updateSidebarScrollState(){const a={scrollable:this.sidebarEl.scrollHeight>this.sidebarEl.clientHeight,scrolledToTop:0===this.sidebarEl.scrollTop};Object.keys(a).some((t=>a[t]!==this.sidebarScrollState[t]))&&(this.sidebarScrollState=a)}restoreNavExpansionState(){if(!this.collapsibleNavigation)return;const a=localStorage.getItem(this.navigationExpansionStateStorageKey);a&&this.setCollapsibleNavigationState(a)}render(){const a=("body"===this.mobileView||this.transitioningTo)&&this.hasNavigation&&!this.hasCustomAppBarBackButton,t=!!this.el.querySelector('[slot="app-bar-controls"]'),o=!!this.el.querySelector('[slot="app-bar-mobile-menu-button"]'),p=!!this.el.querySelector('[slot="custom-sidebar-header"]'),l=!!this.el.querySelector('[slot="floating-action-button"]')||!!this.ctaLabel,s=this.hasNavigation&&(!this.collapsibleNavigation||"collapsed"!==this.navExpansionState||!this.isDesktop),r=n("app-layout","app-layout--mobile-view-"+this.mobileView,"app-layout--nav-"+(this.isDesktop?this.navExpansionState:"expanded"),"app-layout--transitioning-from-"+this.transitioningFrom,"app-layout--transitioning-to-"+this.transitioningTo,"app-layout--transition-style-"+this.transitionStyle,"app-layout--sidebar-positioning-"+this.sidebarPositioning,{"app-layout--content-scrollable":this.contentScrollState.scrollable,"app-layout--content-scrolled-to-top":this.contentScrollState.scrolledToTop,"app-layout--content-scrolled-to-bottom":this.contentScrollState.scrolledToBottom,"app-layout--has-app-bar-mobile-menu-button":o,"app-layout--has-app-bar-controls":t,"app-layout--has-bottom-banner":this.hasBottomBanner,"app-layout--has-bottom-bar":this.hasBottomBar,"app-layout--has-custom-app-bar-back-button":this.hasCustomAppBarBackButton,"app-layout--has-custom-sidebar-header":p,"app-layout--has-floating-action-button":l,"app-layout--has-navigation":this.hasNavigation,"app-layout--has-sidebar":this.hasSidebar,"app-layout--hide-app-bar":this.hideAppBar,"app-layout--nav-collapsible":this.collapsibleNavigation&&this.isDesktop,"app-layout--nav-scrollable":this.navScrollState.scrollable,"app-layout--nav-scrolled-to-top":this.navScrollState.scrolledToTop,"app-layout--prevent-content-overflow":this.preventContentOverflow,"app-layout--rounded-corners":this.roundedCorners,"app-layout--sidebar-active":"sidebar"===this.mobileView||this.sidebarActive,"app-layout--sidebar-closing":this.sidebarClosing,"app-layout--sidebar-custom-width":!!this.sidebarWidth,"app-layout--sidebar-inline":this.hasSidebar&&!this.hasNavigation&&"overlay"!==this.sidebarPositioning,"app-layout--sidebar-opening":this.sidebarOpening,"app-layout--sidebar-scrollable":this.sidebarScrollState.scrollable,"app-layout--sidebar-scrolled-to-top":this.sidebarScrollState.scrolledToTop});return i(e,{key:"ea5e9984dfa86c576366d2ec73e8649152c14928",style:{"--swirl-app-layout-sidebar-width":this.sidebarWidth}},i("section",{key:"8480c594adca8240e1f54b80e38b1fbb7e987276","aria-labelledby":"app-name",class:r},i("div",{key:"85ad1344215084054ffa8703d68bb1de1a4cabef",class:"app-layout__grid"},i("header",{key:"d47c99f2762bcd6be5a327dbeb10a43fb4568557",class:"app-layout__header",ref:a=>this.headerEl=a},i("span",{key:"3561308f08c40d1450fba3d76d8a4ca9801b42ef",class:"app-layout__navigation-mobile-menu-button"},i("slot",{key:"7161e03c5a97a5610b71c1a84396a582c5372d3e",name:"navigation-mobile-menu-button"})),this.collapsibleNavigation&&i("span",{key:"815e76032a56f68a3a29c7209c2f00b84c4266f0",class:"app-layout__nav-overlay-toggle"},i("swirl-button",{key:"c84849add9c4f76a2f226a5c050bb0540f7df07b",hideLabel:!0,icon:"expanded"!==this.navExpansionState?"<swirl-icon-dock-left-expand></swirl-icon-dock-left-expand>":"<swirl-icon-dock-left-collapse></swirl-icon-dock-left-collapse>",label:this.navigationToggleLabel,onClick:this.toggleNavigation})),this.showNavigationBackButton&&i("span",{key:"4f1931413fb83b0667d07e75f700abf06335230e",class:"app-layout__navigation-back-button"},i("swirl-button",{key:"8188874ac49378f4de9c49ee84f70a9b6e111e37",hideLabel:!0,icon:"<swirl-icon-arrow-back></swirl-icon-arrow-back>",label:this.navigationBackButtonLabel,onClick:this.onNavigationBackButtonClick})),i("swirl-heading",{key:"889b1fcacbf88a72710cd36af7c54a7728df089f",as:"h1",class:"app-layout__app-name",headingId:"app-name",level:3,text:this.appName}),s&&i("span",{key:"d0d371a1e080e10dcda1d29204a117798730eee8",class:"app-layout__navigation-controls"},i("slot",{key:"3bca7780bb2bfe59471467de001f849b9b232662",name:"navigation-controls"}))),i("nav",{key:"e612f7874dc250d88f4c554c1200eb07c7f97f41","aria-label":this.navigationLabel,class:"app-layout__navigation",onScroll:this.onNavScroll,ref:a=>this.navEl=a,inert:this.isDesktop&&this.collapsibleNavigation&&"collapsed"===this.navExpansionState},i("slot",{key:"913cb8b7bc4cbc05d7fe30e5651937a5d8ac7258",name:"navigation"})),i("section",{key:"ae73f4764e10c73b404601a765f735fb0c2b3c51","aria-labelledby":"app-name",class:"app-layout__body"},!this.hideAppBar&&i("header",{key:"0179719859439f3d433486d36ad5eb87cff76e93",class:"app-layout__app-bar"},i("span",{key:"c3f902620abf9db0369184ee9dba7e61bbde8ecb",class:"app-layout__app-bar-mobile-menu-button"},i("slot",{key:"520cbff25beeacac88c63ef52f1169fc1cd82bac",name:"app-bar-mobile-menu-button"})),a&&i("span",{key:"2c237ec3f04ce5da7d571ed4aa3e69c42eeb19b2",class:"app-layout__back-to-navigation-button"},i("swirl-button",{key:"ab1cc889450248c3a2555a46558d8a8d1d3e6e69",hideLabel:!0,icon:"dialog"===this.transitionStyle?"<swirl-icon-close></swirl-icon-close>":"<swirl-icon-arrow-back></swirl-icon-arrow-back>",label:this.backToNavigationViewButtonLabel,onClick:this.onBackToNavigationViewButtonClick})),this.collapsibleNavigation&&"expanded"!==this.navExpansionState&&i("span",{key:"39640ad1337b38b65cb04e209298964217dc5b97",class:"app-layout__nav-expansion-toggle"},i("swirl-button",{key:"63be47f8bdefdc5335e975b8288f4252e388676a",hideLabel:!0,icon:"<swirl-icon-hamburger-menu></swirl-icon-hamburger-menu>",label:this.navigationOverlayLabel,onClick:this.overlayNavigation})),i("span",{key:"a73ca0324d442a9fd2f76f28fe422070ebfd3392",class:"app-layout__custom-app-bar-back-button"},i("slot",{key:"6b168560d179661b6ccbbaf84fde150f9445c33a",name:"custom-app-bar-back-button"})),i("div",{key:"ff9df5292be7e45fa73a6aa3fad3d160946c16e8",class:"app-layout__app-bar-content"},i("slot",{key:"f0d622141406b628d83722090b0b2a30e1210ac5",name:"app-bar"})),i("div",{key:"ae0d9fa3eeb8acad36e2fa2890a39debaf7858c1",class:"app-layout__app-bar-controls"},i("slot",{key:"7a645cda89b0e3224bed75a33b4a11949e2ccdf7",name:"app-bar-controls"}))),i("div",{key:"2ec277c97e569e907f95c5719fed9103fa2f69f2",class:"app-layout__banner"},i("slot",{key:"7c3fa21988e8c6aa5a5ce19461a9c493e22520a0",name:"banner"})),i("div",{key:"2d818bf92b9f02f6339bf04e9305b543a724fc6a",class:"app-layout__content",onScroll:this.onContentScroll,ref:a=>this.contentEl=a},i("div",{key:"42fa90a807337bdffeaea454f1d1abc0e8f26c01",class:"app-layout__content-inner"},i("slot",{key:"a4561df256b12e7893e3ee3832b75dfa15b06d5b",name:"content"})),i("div",{key:"d20801097b89fa70739fed10c35b8960fc93ff95",class:"app-layout__bottom-banner"},i("slot",{key:"99b0849ace8d3d1c128b744f96bbd4587d77fd52",name:"bottom-banner"}))),i("div",{key:"dfca52dba0807f59010d6820a18b45ad4ed43359",class:"app-layout__bottom-bar"},i("slot",{key:"1cbf5067eba3dd9cedd53debbf0c9613f2d95af1",name:"bottom-bar"}))),i("aside",{key:"b9a3cb541c078c17f55935ac703f2bd5a63d26f1",class:"app-layout__sidebar"},i("header",{key:"658023fbfd242bcfb41ca7fb1b1702f91eecc273",class:"app-layout__custom-sidebar-header"},i("slot",{key:"d1b4f31b3a65f6906737c4e5cb8d623967ff3756",name:"custom-sidebar-header"})),i("header",{key:"a0613856d435c7ab946838da48bea242f54b9076",class:"app-layout__sidebar-header"},i("swirl-button",{key:"f097dddd068842235cf9d59f6f367419b5d1fb90",class:"app-layout__sidebar-close-button",hideLabel:!0,icon:"<swirl-icon-close></swirl-icon-close>",label:this.sidebarCloseButtonLabel,onClick:this.onSidebarCloseButtonClick}),i("swirl-heading",{key:"582ddba3782037f96a6b76b661348e5357a5579f",as:"h3",class:"app-layout__sidebar-heading",headingId:"sidebar-heading",level:3,text:this.sidebarHeading})),i("div",{key:"fd66588b9c671f934e7a49e16c60e5c707fd38eb",class:"app-layout__sidebar-content",onScroll:this.onSidebarScroll,ref:a=>this.sidebarEl=a},i("slot",{key:"9b6f8493ce6d38cf25ff0446b90c4feba5de166c",name:"sidebar"}))),i("span",{key:"19c8eb89279ef4932cc44c60228301f20d0e1457",class:"app-layout__floating-action-button"},this.ctaLabel&&i("swirl-button",{key:"44ff78e3f1de73f50e64565e78edec285c75aab7",hideLabel:!!this.ctaIcon,icon:this.ctaIcon,intent:"primary",label:this.ctaLabel,onClick:this.onCtaClick,variant:"floating"}),i("slot",{key:"03c26b21b33b29619055763717d6c7fb3d4ac288",name:"floating-action-button"})))))}get el(){return this}static get watchers(){return{mobileView:[{watchMobileView:0}]}}static get style(){return':host{--header-height:3.5625rem;--swirl-app-layout-sidebar-width:25rem;position:relative;z-index:1;display:flex;width:100%;height:100%}:host *{box-sizing:border-box}.app-layout{display:flex;overflow:hidden;width:100%;height:100%;margin-right:auto;margin-left:auto}.app-layout__grid{position:relative;display:grid;width:100%;height:100%;grid-template-columns:100%;grid-template-rows:var(--header-height) 1fr;grid-template-areas:"body" "body"}.app-layout:not(.app-layout--has-navigation) .app-layout__header,.app-layout:not(.app-layout--has-navigation) .app-layout__navigation{display:none}.app-layout:not(.app-layout--has-sidebar) .app-layout__sidebar{display:none}@media (max-width: 767px){.app-layout:not(.app-layout--mobile-view-body) .app-layout__body{display:none}}@media (max-width: 767px){.app-layout:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar{display:none}}.app-layout:not(.app-layout--has-app-bar-mobile-menu-button) .app-layout__app-bar-mobile-menu-button{display:none}.app-layout--has-navigation .app-layout__grid{grid-template-columns:100%;grid-template-areas:"header" "navigation"}@media (min-width: 768px){.app-layout--has-navigation .app-layout__grid{grid-template-columns:min(50%, 22.5rem) 1fr;grid-template-areas:"header body" "navigation body"}}@media (min-width: 1440px){.app-layout--has-navigation .app-layout__grid{grid-template-columns:min(50%, 25rem) 1fr}}@media (min-width: 768px){.app-layout--has-navigation .app-layout__app-bar-mobile-menu-button{display:none}}@media (min-width: 992px){.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-collapsed .app-layout__grid{grid-template-columns:0 1fr}.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__grid{grid-template-columns:0 1fr}.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__header,.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__navigation{position:absolute;z-index:4;top:0;left:0;width:22.5rem;animation:app-layout-nav-overlay-slide-in-desktop 0.1s;animation-fill-mode:forwards}.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__header:after{position:absolute;z-index:1;top:0;left:calc(100% + var(--s-border-width-default));display:block;width:2rem;height:100vh;background-image:linear-gradient( to right, rgba(0, 0, 0, 0.05) 0, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100% );content:""}.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__navigation{z-index:3;bottom:0}}@media (min-width: 1440px){.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__header,.app-layout--has-navigation.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__navigation{width:25rem;animation:app-layout-nav-overlay-slide-in-large-desktop 0.1s}}@media (min-width: 768px){.app-layout--has-sidebar:not(.app-layout--has-navigation):not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening .app-layout__grid{animation:app-layout-no-nav-sidebar-slide-in 0.3s}@media (prefers-reduced-motion){.app-layout--has-sidebar:not(.app-layout--has-navigation):not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening .app-layout__grid{animation:none}}}@media (min-width: 768px){.app-layout--has-sidebar:not(.app-layout--has-navigation):not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing .app-layout__grid{animation:app-layout-no-nav-sidebar-slide-out 0.3s}@media (prefers-reduced-motion){.app-layout--has-sidebar:not(.app-layout--has-navigation):not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing .app-layout__grid{animation:none}}}@media (min-width: 768px){.app-layout--has-sidebar.app-layout--sidebar-active .app-layout__grid,.app-layout--has-sidebar.app-layout--sidebar-opening .app-layout__grid{grid-template-columns:1fr min( 50%, var(--swirl-app-layout-sidebar-width) );grid-template-areas:"body sidebar" "body sidebar"}}.app-layout--has-sidebar .app-layout__grid{grid-template-columns:100%;grid-template-areas:"body" "body"}@media (min-width: 768px){.app-layout--sidebar-inline.app-layout--sidebar-custom-width.app-layout--sidebar-active .app-layout__grid,.app-layout--sidebar-inline.app-layout--sidebar-custom-width.app-layout--sidebar-opening .app-layout__grid{grid-template-columns:1fr var(--swirl-app-layout-sidebar-width)}}@media (min-width: 1800px){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay) .app-layout__sidebar{position:static;z-index:auto;width:var(--swirl-app-layout-sidebar-width);animation:none;box-shadow:none;background-color:var(--s-background-default)}}@media (min-width: 1800px){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening .app-layout__grid,.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-active .app-layout__grid{grid-template-columns:25rem 1fr var(--swirl-app-layout-sidebar-width);grid-template-areas:"header body sidebar" "navigation body sidebar"}}@media (min-width: 1800px){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening .app-layout__grid{animation:app-layout-sidebar-slide-in 0.3s;animation-fill-mode:forwards}@media (prefers-reduced-motion){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening .app-layout__grid{animation:none}}.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening.app-layout--nav-collapsed .app-layout__grid,.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-opening.app-layout--nav-overlayed .app-layout__grid{animation:app-layout-sidebar-slide-in-with-collapsed-nav 0.3s}}@media (min-width: 1800px){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing .app-layout__grid{animation:app-layout-sidebar-slide-out 0.3s}@media (prefers-reduced-motion){.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing .app-layout__grid{animation:none}}.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing.app-layout--nav-collapsed .app-layout__grid,.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--sidebar-positioning-overlay).app-layout--sidebar-closing.app-layout--nav-overlayed .app-layout__grid{animation:app-layout-sidebar-slide-out-with-collapsed-nav 0.3s}}@media (min-width: 768px){.app-layout--has-navigation.app-layout--has-sidebar .app-layout__grid{grid-template-columns:min(50%, 22.5rem) 1fr;grid-template-areas:"header body" "navigation body"}}@media (min-width: 992px){.app-layout--has-navigation.app-layout--has-sidebar .app-layout__grid{grid-template-columns:22.5rem 1fr}}@media (min-width: 1440px){.app-layout--has-navigation.app-layout--has-sidebar .app-layout__grid{grid-template-columns:25rem 1fr}}@media (min-width: 992px){.app-layout--has-navigation.app-layout--has-sidebar.app-layout--nav-collapsible.app-layout--nav-collapsed .app-layout__grid{grid-template-columns:0 1fr}.app-layout--has-navigation.app-layout--has-sidebar.app-layout--nav-collapsible.app-layout--nav-overlayed .app-layout__grid{grid-template-columns:0 1fr}}@media (min-width: 768px){.app-layout--has-navigation.app-layout--has-sidebar .app-layout__sidebar{position:absolute;z-index:3;top:0;right:0;bottom:0;width:min(40%, var(--swirl-app-layout-sidebar-width))}.app-layout--has-navigation.app-layout--has-sidebar:not(.app-layout--rounded-corners){border-left:var(--s-border-width-default) solid var(--s-border-default);box-shadow:var(--s-shadow-level-3)}}@media (min-width: 768px){.app-layout--has-navigation.app-layout--has-sidebar.app-layout--sidebar-custom-width .app-layout__sidebar{width:var(--swirl-app-layout-sidebar-width)}}@media (max-width: 767px){.app-layout--mobile-view-navigation .app-layout__grid{grid-template-areas:"header" "navigation"}.app-layout--mobile-view-navigation .app-layout__body,.app-layout--mobile-view-navigation .app-layout__sidebar{display:none}}@media (max-width: 767px){.app-layout--mobile-view-body .app-layout__grid{grid-template-areas:"body" "body"}.app-layout--mobile-view-body .app-layout__header,.app-layout--mobile-view-body .app-layout__navigation,.app-layout--mobile-view-body .app-layout__sidebar{display:none}}@media (max-width: 767px){.app-layout--mobile-view-sidebar .app-layout__grid{grid-template-areas:"sidebar" "sidebar"}.app-layout--mobile-view-sidebar .app-layout__header,.app-layout--mobile-view-sidebar .app-layout__navigation,.app-layout--mobile-view-sidebar .app-layout__body{display:none}}.app-layout--has-sidebar:not(.app-layout--sidebar-active):not(.app-layout--sidebar-opening) .app-layout__sidebar{display:none}@media (min-width: 768px){.app-layout--sidebar-closing .app-layout__sidebar{animation:app-layout-sidebar-overlay-slide-out 0.3s}@media (prefers-reduced-motion){.app-layout--sidebar-closing .app-layout__sidebar{animation:none}}}@media (min-width: 1800px){.app-layout--sidebar-closing:not(.app-layout--sidebar-positioning-overlay) .app-layout__sidebar{animation:none}}.app-layout--has-app-bar-controls .app-layout__app-bar-controls{display:block}.app-layout--has-bottom-bar .app-layout__body{grid-template-rows:minmax(var(--header-height), auto) auto 1fr auto;grid-template-areas:"app-bar" "banner" "content" "bottom-bar"}.app-layout--has-bottom-bar .app-layout__content{border-bottom:var(--s-border-width-default) solid transparent}.app-layout--has-bottom-bar .app-layout__bottom-bar{display:block;padding-bottom:env(safe-area-inset-bottom, 0)}.app-layout--has-bottom-banner .app-layout__bottom-banner{display:block}.app-layout--has-custom-app-bar-back-button .app-layout__custom-app-bar-back-button{display:block}.app-layout--has-custom-sidebar-header .app-layout__sidebar-header{display:none}.app-layout--has-custom-sidebar-header .app-layout__custom-sidebar-header{display:block}.app-layout--has-floating-action-button .app-layout__floating-action-button{display:block}.app-layout--hide-app-bar .app-layout__body{grid-template-rows:auto 1fr;grid-template-areas:"banner" "content" "bottom-bar"}.app-layout--content-scrollable:not(.app-layout--content-scrolled-to-top) .app-layout__app-bar{border-bottom-color:var(--s-border-default)}.app-layout--content-scrollable.app-layout--has-bottom-bar:not(.app-layout--content-scrolled-to-bottom):not(.app-layout--has-bottom-banner) .app-layout__content{border-bottom-color:var(--s-border-default)}.app-layout--nav-scrollable:not(.app-layout--nav-scrolled-to-top) .app-layout__header{border-bottom-color:var(--s-border-default)}.app-layout--sidebar-scrollable:not(.app-layout--sidebar-scrolled-to-top) .app-layout__sidebar-header,.app-layout--sidebar-scrollable:not(.app-layout--sidebar-scrolled-to-top) .app-layout__custom-sidebar-header{border-bottom-color:var(--s-border-default)}.app-layout--prevent-content-overflow .app-layout__content{overflow:hidden}.app-layout--prevent-content-overflow .app-layout__content-inner{max-height:100%}.app-layout__header{z-index:1;display:flex;min-width:0;height:var(--header-height);padding-top:var(--s-space-12);padding-right:var(--s-space-8);padding-bottom:var(--s-space-12);padding-left:var(--s-space-8);align-items:center;border-bottom:var(--s-border-width-default) solid transparent;background-color:var(--s-background-default);grid-area:header;gap:var(--s-space-8)}@media (min-width: 768px){.app-layout__header{border-right:var(--s-border-width-default) solid var(--s-border-default)}}@media (min-width: 992px){.app-layout__header{padding-right:var(--s-space-16);padding-left:var(--s-space-16)}}.app-layout__app-name{min-width:0}.app-layout__app-name .heading{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-layout__app-bar-mobile-menu-button,.app-layout__navigation-mobile-menu-button{flex-shrink:0}@media (min-width: 992px){.app-layout__app-bar-mobile-menu-button,.app-layout__navigation-mobile-menu-button{display:none}}.app-layout__app-bar-mobile-menu-button{padding-left:var(--s-space-8)}.app-layout__navigation-back-button{margin-left:calc(-1 * var(--s-space-4))}.app-layout__floating-action-button{position:absolute;z-index:4;right:var(--s-space-16);bottom:var(--s-space-16);display:none}.app-layout__navigation-controls{flex-shrink:0}.app-layout__navigation{overflow-y:auto;border-right:var(--s-border-width-default) solid var(--s-border-default);background-color:var(--s-background-default);grid-area:navigation}.app-layout__nav-overlay-toggle,.app-layout__nav-expansion-toggle{display:none}@media (min-width: 992px){.app-layout__nav-overlay-toggle,.app-layout__nav-expansion-toggle{display:block}}.app-layout__nav-expansion-toggle{padding-left:var(--s-space-16)}.app-layout__body{z-index:2;display:grid;width:100%;height:100%;background-color:var(--s-background-default);grid-area:body;grid-template-rows:minmax(var(--header-height), auto) auto 1fr;grid-template-areas:"app-bar" "banner" "content"}.app-layout__app-bar{--swirl-tab-bar-border-width:0;--swirl-tab-bar-height:3.5rem;display:flex;min-width:0;align-items:center;border-bottom:var(--s-border-width-default) solid transparent;grid-area:app-bar;gap:var(--s-space-8)}.app-layout__bottom-bar{display:none;min-width:0;align-items:center;grid-area:bottom-bar}.app-layout__back-to-navigation-button{padding-left:var(--s-space-8)}@media (min-width: 768px){.app-layout__back-to-navigation-button{display:none}}.app-layout__banner{grid-area:banner}.app-layout__app-bar-content{min-width:0;flex-grow:1}.app-layout__custom-app-bar-back-button{display:none;padding-left:var(--s-space-8)}.app-layout__app-bar-controls{display:none;padding-right:var(--s-space-8)}@media (min-width: 768px){.app-layout__app-bar-controls{padding-right:var(--s-space-16)}}.app-layout__content{overflow:auto;grid-area:content;display:flex;flex-direction:column}.app-layout__content-inner{flex-grow:1}.app-layout__sidebar{display:grid;width:100%;height:100%;border-left:var(--s-border-width-default) solid var(--s-border-default);background-color:var(--s-background-default);grid-area:sidebar;grid-template-rows:var(--header-height) 1fr;grid-template-areas:"sidebar-header" "sidebar-content"}@media (min-width: 768px){.app-layout__sidebar{animation:app-layout-slide-in 0.3s}@media (prefers-reduced-motion){.app-layout__sidebar{animation:none}}}.app-layout__custom-sidebar-header{display:none;min-width:0;border-bottom:var(--s-border-width-default) solid transparent;grid-area:sidebar-header}.app-layout__sidebar-header{display:flex;min-width:0;padding-top:var(--s-space-12);padding-right:var(--s-space-8);padding-bottom:var(--s-space-12);padding-left:var(--s-space-8);align-items:center;border-bottom:var(--s-border-width-default) solid transparent;grid-area:sidebar-header;gap:var(--s-space-8)}@media (min-width: 768px){.app-layout__sidebar-header{padding-right:var(--s-space-16);padding-left:var(--s-space-16)}}.app-layout__sidebar-heading{min-width:0;flex-grow:1}.app-layout__sidebar-heading .heading{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-layout__sidebar-close-button{margin-left:calc(-1 * var(--s-space-4))}.app-layout__sidebar-content{overflow-y:auto;grid-area:sidebar-content}.app-layout__bottom-banner{display:none;position:sticky;right:0;bottom:0;left:0;z-index:5}@media (min-width: 768px){.app-layout--rounded-corners .app-layout__grid{-moz-column-gap:var(--s-space-8);column-gap:var(--s-space-8)}.app-layout--rounded-corners .app-layout__header{border-right:none;border-radius:var(--s-border-radius-l) var(--s-border-radius-l) 0 0}.app-layout--rounded-corners .app-layout__navigation{border-right:none;border-radius:0 0 var(--s-border-radius-l) var(--s-border-radius-l)}.app-layout--rounded-corners .app-layout__body,.app-layout--rounded-corners .app-layout__sidebar{overflow:hidden;border-radius:var(--s-border-radius-l)}.app-layout--rounded-corners .app-layout__sidebar{border-left:none;box-shadow:-12px 0 32px -10px rgba(23, 23, 23, 0.12), -8px 4px 12px -8px rgba(23, 23, 23, 0.08);background-color:var(--s-surface-overlay-default)}}@media (min-width: 768px){.app-layout--sidebar-positioning-overlay:not(.app-layout--has-navigation).app-layout--has-sidebar.app-layout--sidebar-active .app-layout__grid,.app-layout--sidebar-positioning-overlay:not(.app-layout--has-navigation).app-layout--has-sidebar.app-layout--sidebar-opening .app-layout__grid{grid-template-columns:100%;grid-template-areas:"body" "body"}}@media (min-width: 768px){.app-layout--sidebar-positioning-overlay:not(.app-layout--has-navigation).app-layout--has-sidebar .app-layout__sidebar{position:absolute;z-index:3;top:0;right:0;bottom:0;width:min(50%, var(--swirl-app-layout-sidebar-width));border-left:var(--s-border-width-default) solid var(--s-border-default);box-shadow:var(--s-shadow-level-3)}}@media (min-width: 768px){.app-layout--sidebar-positioning-overlay:not(.app-layout--has-navigation).app-layout--has-sidebar.app-layout--sidebar-custom-width .app-layout__sidebar{width:var(--swirl-app-layout-sidebar-width)}}@keyframes app-layout-nav-overlay-slide-in-desktop{from{width:0}to{width:22.5rem}}@keyframes app-layout-nav-overlay-slide-in-large-desktop{from{width:0}to{width:25rem}}@media print{.app-layout__content{overflow:visible}:host,.app-layout,.app-layout__grid,.app-layout__body{height:auto;overflow:visible}}@media (max-width: 767px){.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__grid,.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__grid{grid-template-columns:100%;grid-template-areas:"header" "navigation"}.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body,.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{position:absolute;top:0;left:0;display:grid;width:100%;transform:translate3d(100%, 0, 0)}}@media (max-width: 767px){.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__header{display:flex}.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__navigation{display:block}}@media (max-width: 991px){.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__grid,.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__grid{grid-template-columns:100%;grid-template-areas:"body" "body"}.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar,.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{position:absolute;top:0;left:0;display:grid;border-left:var(--s-border-width-default) solid var(--s-border-default)}}@media (max-width: 991px){.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__body{display:grid}.app-layout:not(.app-layout--transition-none).app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{display:grid}}@media (max-width: 767px){.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__header,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__navigation,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__header,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__navigation{animation:app-layout-slide-out 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__header,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__navigation,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__header,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__navigation{animation:none}}.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation:app-layout-slide-in 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation:none}}.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body:after,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body:after{position:absolute;top:0;right:100%;bottom:0;display:block;width:100%;background-color:rgba(0, 0, 0, 0.3);content:"";animation:app-layout-fade-in 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body:after,.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body:after{animation:none}}}@media (max-width: 767px){.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__header{animation-direction:reverse}.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__navigation{animation-direction:reverse}.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation-direction:reverse}.app-layout--transition-style-slides.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body:after{animation-direction:reverse}}@media (max-width: 991px){.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__body,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__body{animation:app-layout-slide-out 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__body,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__body{animation:none}}.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation:app-layout-slide-in 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation:none}}.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar:after,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar:after{position:absolute;top:0;right:100%;bottom:0;display:block;width:100%;background-color:rgba(0, 0, 0, 0.3);content:"";animation:app-layout-fade-in 0.4s}@media (prefers-reduced-motion){.app-layout--transition-style-slides.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar:after,.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar:after{animation:none}}}@media (max-width: 991px){.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__body{animation-direction:reverse}.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation-direction:reverse}.app-layout--transition-style-slides.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar:after{animation-direction:reverse}}@media (max-width: 767px){.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body,.app-layout--transition-style-dialog.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation:app-layout-scale-in 0.3s}@media (prefers-reduced-motion){.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-navigation:not(.app-layout--mobile-view-body) .app-layout__body,.app-layout--transition-style-dialog.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation:none}}}@media (max-width: 767px){.app-layout--transition-style-dialog.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__header{animation-direction:reverse}.app-layout--transition-style-dialog.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__navigation{animation-direction:reverse}.app-layout--transition-style-dialog.app-layout--transitioning-to-navigation.app-layout--transitioning-from-body:not(.app-layout--mobile-view-navigation) .app-layout__body{animation-direction:reverse}}@media (max-width: 991px){.app-layout--transition-style-dialog.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar,.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation:app-layout-scale-in 0.3s}@media (prefers-reduced-motion){.app-layout--transition-style-dialog.app-layout--transitioning-to-sidebar.app-layout--transitioning-from-body:not(.app-layout--mobile-view-sidebar) .app-layout__sidebar,.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation:none}}}@media (max-width: 991px){.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__body{animation-direction:reverse}.app-layout--transition-style-dialog.app-layout--transitioning-to-body.app-layout--transitioning-from-sidebar:not(.app-layout--mobile-view-body) .app-layout__sidebar{animation-direction:reverse}}@keyframes app-layout-sidebar-overlay-slide-out{0%{transform:translate3d(0, 0, 0)}100%{transform:translate3d(100%, 0, 0)}}@keyframes app-layout-slide-in{0%{transform:translate3d(100%, 0, 0)}100%{transform:translate3d(0, 0, 0)}}@keyframes app-layout-slide-out{0%{transform:translate3d(0, 0, 0)}100%{transform:translate3d(-20%, 0, 0)}}@keyframes app-layout-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes app-layout-scale-in{from{transform:scale(0);box-shadow:0 0 0 100rem rgba(0, 0, 0, 0)}to{transform:scale(1);box-shadow:0 0 0 100rem rgba(0, 0, 0, 0.25)}}@keyframes app-layout-sidebar-slide-in{from{overflow:hidden;grid-template-columns:25rem 1fr 0}to{overflow:hidden;grid-template-columns:25rem 1fr var(--swirl-app-layout-sidebar-width)}}@keyframes app-layout-sidebar-slide-in-with-collapsed-nav{from{overflow:hidden;grid-template-columns:0 1fr 0}to{overflow:hidden;grid-template-columns:0 1fr var(--swirl-app-layout-sidebar-width)}}@keyframes app-layout-sidebar-slide-out{from{overflow:hidden;grid-template-columns:25rem 1fr var(--swirl-app-layout-sidebar-width)}to{overflow:hidden;grid-template-columns:25rem 1fr 0}}@keyframes app-layout-sidebar-slide-out-with-collapsed-nav{from{overflow:hidden;grid-template-columns:0 1fr var(--swirl-app-layout-sidebar-width)}to{overflow:hidden;grid-template-columns:0 1fr 0}}@keyframes app-layout-no-nav-sidebar-slide-in{from{overflow:hidden;grid-template-columns:1fr 0}to{overflow:hidden;grid-template-columns:1fr var(--swirl-app-layout-sidebar-width)}}@keyframes app-layout-no-nav-sidebar-slide-out{from{overflow:hidden;grid-template-columns:1fr var(--swirl-app-layout-sidebar-width)}to{overflow:hidden;grid-template-columns:1fr 0}}'}},[257,"swirl-app-layout",{appName:[1,"app-name"],backToNavigationViewButtonLabel:[1,"back-to-navigation-view-button-label"],collapsibleNavigation:[4,"collapsible-navigation"],ctaIcon:[1,"cta-icon"],ctaLabel:[1,"cta-label"],hasNavigation:[1028,"has-navigation"],hideAppBar:[4,"hide-app-bar"],initialMobileView:[1,"initial-mobile-view"],navigationBackButtonLabel:[1,"navigation-back-button-label"],navigationExpansionStateStorageKey:[1,"navigation-expansion-state-storage-key"],navigationToggleLabel:[1,"navigation-toggle-label"],navigationOverlayLabel:[1,"navigation-overlay-label"],navigationLabel:[1,"navigation-label"],preventContentOverflow:[4,"prevent-content-overflow"],roundedCorners:[4,"rounded-corners"],showNavigationBackButton:[4,"show-navigation-back-button"],sidebarPositioning:[1,"sidebar-positioning"],sidebarCloseButtonLabel:[1,"sidebar-close-button-label"],sidebarHeading:[1,"sidebar-heading"],sidebarWidth:[1,"sidebar-width"],transitionStyle:[1,"transition-style"],contentScrollState:[32],hasBottomBanner:[32],hasBottomBar:[32],hasCustomAppBarBackButton:[32],hasSidebar:[32],isDesktop:[32],mobileView:[32],navScrollState:[32],navExpansionState:[32],sidebarActive:[32],sidebarClosing:[32],sidebarOpening:[32],sidebarScrollState:[32],transitioningFrom:[32],transitioningTo:[32],showSidebar:[64],hideSidebar:[64],toggleSidebar:[64],getCollapsibleNavigationState:[64],setCollapsibleNavigationState:[64],getScrollContainer:[64],changeMobileView:[64]},[[4,"click","onDocumentClick"],[0,"keydown","onKeyDown"]],{mobileView:[{watchMobileView:0}]}]),h=b,m=function(){"undefined"!=typeof customElements&&["swirl-app-layout","swirl-button","swirl-heading"].forEach((a=>{switch(a){case"swirl-app-layout":customElements.get(p(a))||customElements.define(p(a),b);break;case"swirl-button":customElements.get(p(a))||y();break;case"swirl-heading":customElements.get(p(a))||u()}}))};export{h as SwirlAppLayout,m as defineCustomElement}