@planningcenter/topbar 11.0.1 → 11.0.3-rc.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.
package/dist/topbar.css CHANGED
@@ -160,6 +160,65 @@ Caused by products overriding .topbar-wrap’s z-index.
160
160
  background-color: hsla(0, 0%, 0%, 0.6); /* TODO: Replace with static tokens when we get them */
161
161
  }
162
162
 
163
+ .announcement--promo-FarUk {
164
+ background-color: hsl(0, 0%, 100%);
165
+ background-image: linear-gradient(
166
+ to right,
167
+ transparent 0%,
168
+ hsla(45, 100%, 64%, 0.55) 40%,
169
+ hsla(0, 100%, 63%, 0.5) 50%,
170
+ hsla(232, 82%, 67%, 0.45) 60%,
171
+ transparent 100%
172
+ );
173
+ color: hsl(0, 0%, 12%);
174
+ }
175
+
176
+ :root[data-color-mode="dark"] .announcement--promo-FarUk {
177
+ background-color: hsl(0, 0%, 12%);
178
+ background-image: linear-gradient(
179
+ to right,
180
+ transparent 0%,
181
+ hsla(45, 100%, 64%, 0.4) 20%,
182
+ hsla(0, 100%, 63%, 0.35) 50%,
183
+ hsla(232, 82%, 67%, 0.35) 80%,
184
+ transparent 100%
185
+ );
186
+ color: hsl(0, 0%, 94%);
187
+ }
188
+
189
+ @media (prefers-color-scheme: dark) {
190
+ :root[data-color-mode="system"] .announcement--promo-FarUk {
191
+ background-color: hsl(0, 0%, 12%);
192
+ background-image: linear-gradient(
193
+ to right,
194
+ transparent 0%,
195
+ hsla(45, 100%, 64%, 0.4) 20%,
196
+ hsla(0, 100%, 63%, 0.35) 50%,
197
+ hsla(232, 82%, 67%, 0.35) 80%,
198
+ transparent 100%
199
+ );
200
+ color: hsl(0, 0%, 94%);
201
+ }
202
+ }
203
+
204
+ .announcement-pI5tM.announcement--promo-FarUk a {
205
+ color: hsl(0, 0%, 100%);
206
+ background-color: hsl(213, 85%, 45%);
207
+ text-decoration: none;
208
+ padding: var(--t-spacing-1) var(--t-spacing-3);
209
+ margin-left: var(--t-spacing-3);
210
+ border-radius: var(--t-border-radius-md);
211
+ font-size: var(--t-font-size-sm);
212
+ white-space: nowrap;
213
+ display: inline-block;
214
+ }
215
+
216
+ .announcement-pI5tM.announcement--promo-FarUk a:hover {
217
+ color: hsl(0, 0%, 100%);
218
+ background-color: hsl(213, 85%, 38%);
219
+ text-decoration: none;
220
+ }
221
+
163
222
  .announcement-icon-Ov39- {
164
223
  flex-shrink: 0;
165
224
  flex-grow: 0;
@@ -198,6 +257,40 @@ Caused by products overriding .topbar-wrap’s z-index.
198
257
  appearance: none;
199
258
  }
200
259
 
260
+ .dismiss--promo-7zvO4 {
261
+ color: var(--t-text-color-default-secondary);
262
+ }
263
+
264
+ @media (max-width: 767px) {
265
+ .announcement-pI5tM.announcement--promo-FarUk {
266
+ position: relative;
267
+ padding-right: calc(var(--t-spacing-2) + 28px);
268
+ font-size: var(--t-font-size-md);
269
+ }
270
+
271
+ .announcement-pI5tM.announcement--promo-FarUk .announcement-content-q2ad6 {
272
+ flex-direction: column;
273
+ align-items: stretch;
274
+ }
275
+
276
+ .dismiss--promo-7zvO4 {
277
+ position: absolute;
278
+ top: var(--t-spacing-2);
279
+ right: var(--t-spacing-2);
280
+ }
281
+
282
+ .announcement-pI5tM.announcement--promo-FarUk a {
283
+ display: block;
284
+ width: 100%;
285
+ text-align: center;
286
+ margin-left: 0;
287
+ margin-top: var(--t-spacing-2);
288
+ padding: var(--t-spacing-1) var(--t-spacing-3);
289
+ font-size: var(--t-font-size-md);
290
+ white-space: normal;
291
+ }
292
+ }
293
+
201
294
  .unbutton-lEbTR {
202
295
  font-family: inherit;
203
296
  appearance: none;
@@ -1 +1 @@
1
- {"version":3,"sources":["topbar.scss","styles.module.css","unbutton.module.css","apps_button.module.scss","apps_menu.module.css","popup.module.css","user_menu.module.css","avatar.module.css","drawer.module.css","indicator_dot.module.css","color_mode_switcher.module.scss"],"names":[],"mappings":"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","file":"topbar.css","sourcesContent":["@charset \"UTF-8\";\n:root {\n --topbar-height: 56px;\n --topbar-slight-transition: 120ms ease-in;\n --topbar-slight-transition-background: background-color var(--topbar-slight-transition);\n --topbar-scrollbar-color: var(--t-fill-color-transparency-dark-030) transparent;\n --topbar-scrollbar-width: thin;\n --topbar-nav-link-font-size: var(--t-font-size-sm);\n --topbar-nav-link-font-color: var(--t-text-color-headline);\n --topbar-nav-link-height: var(--t-container-size-md);\n --topbar-nav-link-background-color: transparent;\n --topbar-nav-link-padding-x: 12px;\n --topbar-nav-link-border-color: transparent;\n --topbar-nav-link-border-radius: 999px;\n --topbar-nav-link-transition: var(--topbar-slight-transition-background);\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-040);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-060);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-030);\n --toolbar-width: 64px;\n --toolbar-inner-width: 48px;\n --toolbar-drawer-width: 360px;\n --toolbar-navbar-height: 56px;\n --content-wrap-border-color: hsla(0, 0%, 0%, 0.08);\n --content-wrap-shadow-dimensions: 0 -1px 0 0;\n}\n\n@media (min-width: 600px) {\n :root {\n --topbar-height: 64px;\n --content-wrap-shadow-dimensions: 0 0 0 1px;\n }\n}\n:root[data-color-mode=dark] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n}\n\n@media (prefers-color-scheme: dark) {\n :root[data-color-mode=system] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n }\n}\n/*\nFix for Safari bug:\nOn mobile breakpoints, when the app switcher or user profile menu are open,\nprevent .top-wrap from covering them.\n\nCaused by products overriding .topbar-wrap’s z-index.\n*/\n.page-wrap:has(div[class^=appmenu-layer][style*=\"display: block\"]) .topbar-wrap {\n z-index: initial !important;\n}\n\n.hide-scrollbar {\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n}\n\n.hide-scrollbar::-webkit-scrollbar {\n display: none; /* Chrome, Safari, and Opera */\n}\n\n:root[data-app-context=native] {\n --toolbar-navbar-height: 0;\n}\n\n:root[data-app-context=native] .topbar-wrap {\n display: none;\n}\n\n:root[data-app-context=native] .toolbar-wrap {\n overflow: hidden;\n}\n\n:root[data-app-context=native] .content-wrap {\n padding-bottom: var(--app-content-inset-bottom, unset);\n}\n\n@media screen and (min-width: 600px) {\n :root[data-app-context=native] {\n --toolbar-width: 0px;\n --topbar-height: 0px;\n --toolbar-drawer-width: 48vw;\n }\n :root[data-app-context=native] .content-wrap {\n margin: 0 !important;\n border-radius: 0;\n }\n :root[data-app-context=native] .toolbar-wrap {\n overflow: visible;\n }\n}",".toolbar {\n display: flex;\n width: 100vw;\n height: var(--toolbar-navbar-height);\n padding: var(--t-spacing-1);\n padding-top: calc(var(--t-spacing-1) - 1px);\n gap: var(--t-spacing-1);\n}\n\n.toolbar-button {\n font: inherit;\n color: var(--t-fill-color-transparency-dark-060);\n background-color: transparent;\n border: var(--t-border-width) solid transparent;\n border-radius: var(--t-border-radius-lg);\n flex-grow: 1;\n transition: var(--topbar-slight-transition-background);\n cursor: pointer;\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.toolbar-button:hover {\n background-color: var(--t-fill-color-button-interaction-ghost-hover);\n}\n.toolbar-button:active,\n.toolbar-button.is-current {\n color: var(--t-fill-color-transparency-dark-080);\n background-color: var(--t-fill-color-button-interaction-ghost-active);\n}\n\n.toolbar-button--avatar {\n display: none;\n}\n.toolbar-button--avatar > div {\n margin-left: 0;\n width: var(--t-container-size-md);\n height: auto;\n aspect-ratio: 1 / 1;\n}\n\n.toolbar-button--home {\n color: hsl(221, 93%, 55%);\n}\n\n@media (min-width: 600px) {\n .toolbar {\n width: var(--toolbar-width);\n height: auto;\n padding-top: var(--t-spacing-1);\n flex-direction: column;\n }\n\n .toolbar-button {\n aspect-ratio: 1 / 1;\n }\n .toolbar-button:hover {\n background-color: var(--t-fill-color-transparency-light-040);\n }\n .toolbar-button:active,\n .toolbar-button.is-current {\n color: var(--t-fill-color-transparency-dark-080);\n background-color: var(--t-fill-color-transparency-light-060);\n border-color: var(--t-fill-color-transparency-light-030);\n }\n\n .toolbar-button--avatar {\n display: inline-flex;\n }\n\n .toolbar-button--home {\n display: none;\n }\n}\n",".unbutton {\n font-family: inherit;\n appearance: none;\n background-color: transparent;\n border: none;\n cursor: pointer;\n display: inline-block;\n outline: 0;\n padding: 0;\n}\n",".button {\n color: var(--t-text-color);\n padding-left: var(--t-spacing-1);\n padding-right: var(--t-spacing-1);\n height: 100%;\n white-space: nowrap;\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1);\n transition: var(--topbar-slight-transition-background);\n --_svg-display: none;\n}\n.button svg[data-logo=mono-app-text],\n.button svg[class^=chevron] {\n display: var(--_svg-display);\n}\n@media (min-width: 720px) {\n .button {\n --_svg-display: block;\n padding-left: var(--t-spacing-2);\n padding-right: var(--t-spacing-2);\n }\n .button svg[data-logo=color-app-icon] {\n width: 24px;\n height: 24px;\n }\n}\n\n.button-accounts {\n color: var(--t-text-color);\n font-size: var(--t-font-size-sm);\n font-weight: var(--t-font-weight-medium);\n margin-left: var(--t-spacing-fourth);\n}\n\n.chevron {\n border-radius: 100%;\n padding: var(--t-spacing-fourth);\n display: block;\n transition: var(--topbar-slight-transition-background);\n transition-property: background-color, transform;\n}\n\n.chevron polygon {\n transform: translateY(0.5px);\n}\n\n.button:hover .chevron,\n.button.is-expanded .chevron {\n background-color: var(--t-fill-color-transparency-light-050);\n}\n\n.button.is-expanded .chevron {\n transform: rotate(180deg);\n}",".popup {\n top: calc(var(--topbar-height) - var(--t-spacing-1));\n left: var(--t-spacing-2);\n min-width: 180px;\n max-height: calc(100% - var(--topbar-height) - var(--t-spacing-3));\n}\n",".popup-root {\n display: flex;\n align-self: flex-end;\n}\n\n.popup {\n background: var(--t-surface-color-card);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 4px 12px 2px rgba(0, 0, 0, 0.16);\n border-radius: var(--t-border-radius-lg);\n position: absolute;\n overflow: auto;\n scrollbar-color: var(--topbar-scrollbar-color);\n scrollbar-width: var(--topbar-scrollbar-width);\n opacity: 0;\n visibility: hidden;\n transition: all 120ms ease-in;\n}\n\n.popup.is-visible {\n opacity: 1;\n transition: none;\n visibility: visible;\n}\n",".popup {\n color: var(--t-text-color);\n min-width: 242px;\n max-width: 320px;\n margin-top: calc(var(--t-spacing-1) * -1);\n right: calc(var(--t-spacing-1) + 1px); /* 1px is to account for .product-wrap { padding-right: 1px } */\n max-height: calc(100% - var(--topbar-height) - var(--t-spacing-3));\n}\n\n.trigger-wrap {\n margin-left: var(--t-spacing-1);\n position: relative;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.trigger {\n font-size: var(--topbar-nav-link-font-size);\n color: var(--topbar-nav-link-font-color);\n height: var(--topbar-nav-link-height);\n background-color: var(--topbar-nav-link-background-color-active);\n padding: 0 var(--topbar-nav-link-padding-x);\n border: var(--t-border-width) solid var(--topbar-nav-link-border-color-active);\n border-radius: var(--topbar-nav-link-border-radius);\n min-width: var(--t-container-size-md);\n transition: var(--topbar-nav-link-transition);\n display: flex;\n align-items: center;\n justify-content: center;\n outline: 0;\n appearance: none;\n cursor: pointer;\n}\n\n.trigger svg {\n transition: transform var(--topbar-slight-transition);\n /* Negative margin ensures button is a circle when orgname isn’t visible */\n margin-left: calc(var(--t-spacing-1) * -1);\n margin-right: calc(var(--t-spacing-1) * -1);\n}\n\n.trigger.is-visible svg {\n transform: rotate(180deg);\n}\n\n.trigger-orgname {\n max-width: 240px;\n margin-right: var(--t-spacing-fourth);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.trigger-orgname + svg {\n color: var(--t-fill-color-transparency-dark-050);\n /* Correct margin for when orgname is visible */\n margin-left: 0;\n margin-right: calc(var(--t-spacing-fourth) * -1);\n}\n",".avatar {\n background-color: var(--t-fill-color-transparency-light-020);\n background-position: center;\n background-size: cover;\n border-radius: 50%;\n height: var(--t-element-size-2xl);\n width: var(--t-element-size-2xl);\n margin-left: var(--t-spacing-half);\n}\n",".drawer-wrap {\n width: 100%;\n background-color: var(--t-surface-color-card);\n\n display: none;\n position: fixed;\n top: 0;\n bottom: var(--toolbar-navbar-height);\n\n overflow: hidden;\n}\n.drawer-wrap.is-visible {\n display: block;\n}\n\n.drawer {\n display: flex;\n flex-direction: column;\n height: 100%;\n\n overflow: auto;\n scrollbar-color: var(--t-fill-color-transparency-dark-030);\n scrollbar-width: var(--topbar-scrollbar-width);\n}\n\n@media (min-width: 600px) {\n .drawer-wrap {\n width: var(--toolbar-drawer-width);\n border-radius: 6px; /* TODO: Once a token exists, replace with 6px equivalent \n or inset associated with to --t-border-radius-lg */\n box-shadow: 0 0 0 1px var(--content-wrap-border-color), 0 4px 12px 2px rgba(0, 0, 0, 0.16);\n\n display: block;\n position: absolute;\n bottom: var(--t-spacing-2);\n right: calc(var(--toolbar-drawer-width) * -1);\n top: calc(var(--topbar-height) + var(--t-spacing-1));\n\n opacity: 0;\n transform: translateX(var(--t-spacing-1));\n transition-property: opacity, transform, right;\n transition-duration: 100ms;\n transition-delay: 0s, 0s, 100ms;\n transition-timing-function: ease-in-out;\n }\n .drawer-wrap.is-visible {\n right: calc(var(--toolbar-width) + var(--t-spacing-1) + 1px);\n opacity: 1;\n transform: translateX(0);\n\n transition-property: opacity, transform;\n transition-delay: 0s;\n }\n}\n",".indicator-dot {\n width: 12px;\n height: 12px;\n background: radial-gradient(#33adff 50%, transparent 50%);\n background-color: #33adff;\n box-shadow: inset 0 0 0 2px #b1bfda;\n border-radius: 50%;\n position: absolute;\n z-index: 6;\n pointer-events: none;\n}\n\n.indicator-dot.is-active {\n width: 10px;\n height: 10px;\n box-shadow: inset 0 0 0 2px var(--t-fill-color-neutral-100);\n transform: translateX(-1.5px) translateY(1.5px);\n}\n",".color-mode-switcher {\n color: var(--t-text-color); /* Needed to override .tapestry-react-reset. This is the dumbest thing to have to do */\n border: 0;\n padding: 0;\n}\n\n.color-mode-switcher-label {\n font-weight: var(--t-font-weight-semibold);\n display: inline-block;\n margin-bottom: var(--t-spacing-1);\n}\n\n.color-mode-switcher-label-beta {\n font-size: var(--t-font-size-xs);\n font-weight: var(--t-font-weight-semibold);\n color: var(--t-text-color-status-neutral);\n background-color: var(--t-fill-color-status-neutral-ghost);\n border-radius: var(--t-border-radius-sm);\n padding: 0 var(--t-spacing-1);\n line-height: var(--t-element-size-sm);\n vertical-align: middle;\n text-transform: uppercase;\n}\n\n.color-mode-switcher-modes {\n padding: var(--t-spacing-half);\n border: var(--t-border-width) solid var(--t-border-color);\n border-radius: var(--t-border-radius-md);\n display: flex;\n gap: var(--t-spacing-half);\n container-type: inline-size;\n}\n.color-mode-switcher-modes input[type=radio] {\n opacity: 0;\n position: absolute;\n pointer-events: none;\n}\n.color-mode-switcher-modes label {\n border-radius: var(--t-border-radius-sm);\n min-height: var(--t-element-size-xl);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n user-select: none;\n margin: 0;\n position: relative;\n}\n.color-mode-switcher-modes label:hover {\n background: var(--t-fill-color-button-neutral-ghost-hover);\n}\n.color-mode-switcher-modes label:has(input:focus-visible) {\n outline: auto;\n}\n.color-mode-switcher-modes svg {\n display: none;\n margin-right: var(--t-spacing-half);\n}\n@container (width >= 256px) {\n .color-mode-switcher-modes svg {\n display: block;\n }\n}\n.color-mode-switcher-modes svg path {\n stroke: var(--t-icon-color-dim);\n}\n.color-mode-switcher-modes label,\n.color-mode-switcher-modes svg path {\n transition-property: color, background-color, stroke;\n transition-duration: 0.1s;\n transition-timing-function: linear;\n}\n.color-mode-switcher-modes label:has(input:checked) {\n color: var(--t-text-color-status-info);\n background-color: var(--t-fill-color-status-info-ghost);\n}\n.color-mode-switcher-modes label:has(input:checked) svg path {\n stroke: var(--t-icon-color-status-info);\n}"]}
1
+ {"version":3,"sources":["topbar.scss","styles.module.css","unbutton.module.css","apps_button.module.scss","apps_menu.module.css","popup.module.css","user_menu.module.css","avatar.module.css","drawer.module.css","indicator_dot.module.css","color_mode_switcher.module.scss"],"names":[],"mappings":"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","file":"topbar.css","sourcesContent":["@charset \"UTF-8\";\n:root {\n --topbar-height: 56px;\n --topbar-slight-transition: 120ms ease-in;\n --topbar-slight-transition-background: background-color var(--topbar-slight-transition);\n --topbar-scrollbar-color: var(--t-fill-color-transparency-dark-030) transparent;\n --topbar-scrollbar-width: thin;\n --topbar-nav-link-font-size: var(--t-font-size-sm);\n --topbar-nav-link-font-color: var(--t-text-color-headline);\n --topbar-nav-link-height: var(--t-container-size-md);\n --topbar-nav-link-background-color: transparent;\n --topbar-nav-link-padding-x: 12px;\n --topbar-nav-link-border-color: transparent;\n --topbar-nav-link-border-radius: 999px;\n --topbar-nav-link-transition: var(--topbar-slight-transition-background);\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-040);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-060);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-030);\n --toolbar-width: 64px;\n --toolbar-inner-width: 48px;\n --toolbar-drawer-width: 360px;\n --toolbar-navbar-height: 56px;\n --content-wrap-border-color: hsla(0, 0%, 0%, 0.08);\n --content-wrap-shadow-dimensions: 0 -1px 0 0;\n}\n\n@media (min-width: 600px) {\n :root {\n --topbar-height: 64px;\n --content-wrap-shadow-dimensions: 0 0 0 1px;\n }\n}\n:root[data-color-mode=dark] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n}\n\n@media (prefers-color-scheme: dark) {\n :root[data-color-mode=system] {\n --topbar-nav-link-background-color-hover: var(--t-fill-color-transparency-light-020);\n --topbar-nav-link-background-color-active: var(--t-fill-color-transparency-light-030);\n --topbar-nav-link-border-color-active: var(--t-fill-color-transparency-light-010);\n --content-wrap-border-color: hsla(0, 0%, 100%, 0.04);\n }\n}\n/*\nFix for Safari bug:\nOn mobile breakpoints, when the app switcher or user profile menu are open,\nprevent .top-wrap from covering them.\n\nCaused by products overriding .topbar-wrap’s z-index.\n*/\n.page-wrap:has(div[class^=appmenu-layer][style*=\"display: block\"]) .topbar-wrap {\n z-index: initial !important;\n}\n\n.hide-scrollbar {\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none; /* Firefox */\n}\n\n.hide-scrollbar::-webkit-scrollbar {\n display: none; /* Chrome, Safari, and Opera */\n}\n\n:root[data-app-context=native] {\n --toolbar-navbar-height: 0;\n}\n\n:root[data-app-context=native] .topbar-wrap {\n display: none;\n}\n\n:root[data-app-context=native] .toolbar-wrap {\n overflow: hidden;\n}\n\n:root[data-app-context=native] .content-wrap {\n padding-bottom: var(--app-content-inset-bottom, unset);\n}\n\n@media screen and (min-width: 600px) {\n :root[data-app-context=native] {\n --toolbar-width: 0px;\n --topbar-height: 0px;\n --toolbar-drawer-width: 48vw;\n }\n :root[data-app-context=native] .content-wrap {\n margin: 0 !important;\n border-radius: 0;\n }\n :root[data-app-context=native] .toolbar-wrap {\n overflow: visible;\n }\n}",".toolbar {\n display: flex;\n width: 100vw;\n height: var(--toolbar-navbar-height);\n padding: var(--t-spacing-1);\n padding-top: calc(var(--t-spacing-1) - 1px);\n gap: var(--t-spacing-1);\n}\n\n.toolbar-button {\n font: inherit;\n color: var(--t-fill-color-transparency-dark-060);\n background-color: transparent;\n border: var(--t-border-width) solid transparent;\n border-radius: var(--t-border-radius-lg);\n flex-grow: 1;\n transition: var(--topbar-slight-transition-background);\n cursor: pointer;\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.toolbar-button:hover {\n background-color: var(--t-fill-color-button-interaction-ghost-hover);\n}\n.toolbar-button:active,\n.toolbar-button.is-current {\n color: var(--t-fill-color-transparency-dark-080);\n background-color: var(--t-fill-color-button-interaction-ghost-active);\n}\n\n.toolbar-button--avatar {\n display: none;\n}\n.toolbar-button--avatar > div {\n margin-left: 0;\n width: var(--t-container-size-md);\n height: auto;\n aspect-ratio: 1 / 1;\n}\n\n.toolbar-button--home {\n color: hsl(221, 93%, 55%);\n}\n\n@media (min-width: 600px) {\n .toolbar {\n width: var(--toolbar-width);\n height: auto;\n padding-top: var(--t-spacing-1);\n flex-direction: column;\n }\n\n .toolbar-button {\n aspect-ratio: 1 / 1;\n }\n .toolbar-button:hover {\n background-color: var(--t-fill-color-transparency-light-040);\n }\n .toolbar-button:active,\n .toolbar-button.is-current {\n color: var(--t-fill-color-transparency-dark-080);\n background-color: var(--t-fill-color-transparency-light-060);\n border-color: var(--t-fill-color-transparency-light-030);\n }\n\n .toolbar-button--avatar {\n display: inline-flex;\n }\n\n .toolbar-button--home {\n display: none;\n }\n}\n",".unbutton {\n font-family: inherit;\n appearance: none;\n background-color: transparent;\n border: none;\n cursor: pointer;\n display: inline-block;\n outline: 0;\n padding: 0;\n}\n",".button {\n color: var(--t-text-color);\n padding-left: var(--t-spacing-1);\n padding-right: var(--t-spacing-1);\n height: 100%;\n white-space: nowrap;\n display: flex;\n align-items: center;\n gap: var(--t-spacing-1);\n transition: var(--topbar-slight-transition-background);\n --_svg-display: none;\n}\n.button svg[data-logo=mono-app-text],\n.button svg[class^=chevron] {\n display: var(--_svg-display);\n}\n@media (min-width: 720px) {\n .button {\n --_svg-display: block;\n padding-left: var(--t-spacing-2);\n padding-right: var(--t-spacing-2);\n }\n .button svg[data-logo=color-app-icon] {\n width: 24px;\n height: 24px;\n }\n}\n\n.button-accounts {\n color: var(--t-text-color);\n font-size: var(--t-font-size-sm);\n font-weight: var(--t-font-weight-medium);\n margin-left: var(--t-spacing-fourth);\n}\n\n.chevron {\n border-radius: 100%;\n padding: var(--t-spacing-fourth);\n display: block;\n transition: var(--topbar-slight-transition-background);\n transition-property: background-color, transform;\n}\n\n.chevron polygon {\n transform: translateY(0.5px);\n}\n\n.button:hover .chevron,\n.button.is-expanded .chevron {\n background-color: var(--t-fill-color-transparency-light-050);\n}\n\n.button.is-expanded .chevron {\n transform: rotate(180deg);\n}",".popup {\n top: calc(var(--topbar-height) - var(--t-spacing-1));\n left: var(--t-spacing-2);\n min-width: 180px;\n max-height: calc(100% - var(--topbar-height) - var(--t-spacing-3));\n}\n",".popup-root {\n display: flex;\n align-self: flex-end;\n}\n\n.popup {\n background: var(--t-surface-color-card);\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 4px 12px 2px rgba(0, 0, 0, 0.16);\n border-radius: var(--t-border-radius-lg);\n position: absolute;\n overflow: auto;\n scrollbar-color: var(--topbar-scrollbar-color);\n scrollbar-width: var(--topbar-scrollbar-width);\n opacity: 0;\n visibility: hidden;\n transition: all 120ms ease-in;\n}\n\n.popup.is-visible {\n opacity: 1;\n transition: none;\n visibility: visible;\n}\n",".popup {\n color: var(--t-text-color);\n min-width: 242px;\n max-width: 320px;\n margin-top: calc(var(--t-spacing-1) * -1);\n right: calc(var(--t-spacing-1) + 1px); /* 1px is to account for .product-wrap { padding-right: 1px } */\n max-height: calc(100% - var(--topbar-height) - var(--t-spacing-3));\n}\n\n.trigger-wrap {\n margin-left: var(--t-spacing-1);\n position: relative;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.trigger {\n font-size: var(--topbar-nav-link-font-size);\n color: var(--topbar-nav-link-font-color);\n height: var(--topbar-nav-link-height);\n background-color: var(--topbar-nav-link-background-color-active);\n padding: 0 var(--topbar-nav-link-padding-x);\n border: var(--t-border-width) solid var(--topbar-nav-link-border-color-active);\n border-radius: var(--topbar-nav-link-border-radius);\n min-width: var(--t-container-size-md);\n transition: var(--topbar-nav-link-transition);\n display: flex;\n align-items: center;\n justify-content: center;\n outline: 0;\n appearance: none;\n cursor: pointer;\n}\n\n.trigger svg {\n transition: transform var(--topbar-slight-transition);\n /* Negative margin ensures button is a circle when orgname isn’t visible */\n margin-left: calc(var(--t-spacing-1) * -1);\n margin-right: calc(var(--t-spacing-1) * -1);\n}\n\n.trigger.is-visible svg {\n transform: rotate(180deg);\n}\n\n.trigger-orgname {\n max-width: 240px;\n margin-right: var(--t-spacing-fourth);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.trigger-orgname + svg {\n color: var(--t-fill-color-transparency-dark-050);\n /* Correct margin for when orgname is visible */\n margin-left: 0;\n margin-right: calc(var(--t-spacing-fourth) * -1);\n}\n",".avatar {\n background-color: var(--t-fill-color-transparency-light-020);\n background-position: center;\n background-size: cover;\n border-radius: 50%;\n height: var(--t-element-size-2xl);\n width: var(--t-element-size-2xl);\n margin-left: var(--t-spacing-half);\n}\n",".drawer-wrap {\n width: 100%;\n background-color: var(--t-surface-color-card);\n\n display: none;\n position: fixed;\n top: 0;\n bottom: var(--toolbar-navbar-height);\n\n overflow: hidden;\n}\n.drawer-wrap.is-visible {\n display: block;\n}\n\n.drawer {\n display: flex;\n flex-direction: column;\n height: 100%;\n\n overflow: auto;\n scrollbar-color: var(--t-fill-color-transparency-dark-030);\n scrollbar-width: var(--topbar-scrollbar-width);\n}\n\n@media (min-width: 600px) {\n .drawer-wrap {\n width: var(--toolbar-drawer-width);\n border-radius: 6px; /* TODO: Once a token exists, replace with 6px equivalent \n or inset associated with to --t-border-radius-lg */\n box-shadow: 0 0 0 1px var(--content-wrap-border-color), 0 4px 12px 2px rgba(0, 0, 0, 0.16);\n\n display: block;\n position: absolute;\n bottom: var(--t-spacing-2);\n right: calc(var(--toolbar-drawer-width) * -1);\n top: calc(var(--topbar-height) + var(--t-spacing-1));\n\n opacity: 0;\n transform: translateX(var(--t-spacing-1));\n transition-property: opacity, transform, right;\n transition-duration: 100ms;\n transition-delay: 0s, 0s, 100ms;\n transition-timing-function: ease-in-out;\n }\n .drawer-wrap.is-visible {\n right: calc(var(--toolbar-width) + var(--t-spacing-1) + 1px);\n opacity: 1;\n transform: translateX(0);\n\n transition-property: opacity, transform;\n transition-delay: 0s;\n }\n}\n",".indicator-dot {\n width: 12px;\n height: 12px;\n background: radial-gradient(#33adff 50%, transparent 50%);\n background-color: #33adff;\n box-shadow: inset 0 0 0 2px #b1bfda;\n border-radius: 50%;\n position: absolute;\n z-index: 6;\n pointer-events: none;\n}\n\n.indicator-dot.is-active {\n width: 10px;\n height: 10px;\n box-shadow: inset 0 0 0 2px var(--t-fill-color-neutral-100);\n transform: translateX(-1.5px) translateY(1.5px);\n}\n",".color-mode-switcher {\n color: var(--t-text-color); /* Needed to override .tapestry-react-reset. This is the dumbest thing to have to do */\n border: 0;\n padding: 0;\n}\n\n.color-mode-switcher-label {\n font-weight: var(--t-font-weight-semibold);\n display: inline-block;\n margin-bottom: var(--t-spacing-1);\n}\n\n.color-mode-switcher-label-beta {\n font-size: var(--t-font-size-xs);\n font-weight: var(--t-font-weight-semibold);\n color: var(--t-text-color-status-neutral);\n background-color: var(--t-fill-color-status-neutral-ghost);\n border-radius: var(--t-border-radius-sm);\n padding: 0 var(--t-spacing-1);\n line-height: var(--t-element-size-sm);\n vertical-align: middle;\n text-transform: uppercase;\n}\n\n.color-mode-switcher-modes {\n padding: var(--t-spacing-half);\n border: var(--t-border-width) solid var(--t-border-color);\n border-radius: var(--t-border-radius-md);\n display: flex;\n gap: var(--t-spacing-half);\n container-type: inline-size;\n}\n.color-mode-switcher-modes input[type=radio] {\n opacity: 0;\n position: absolute;\n pointer-events: none;\n}\n.color-mode-switcher-modes label {\n border-radius: var(--t-border-radius-sm);\n min-height: var(--t-element-size-xl);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n user-select: none;\n margin: 0;\n position: relative;\n}\n.color-mode-switcher-modes label:hover {\n background: var(--t-fill-color-button-neutral-ghost-hover);\n}\n.color-mode-switcher-modes label:has(input:focus-visible) {\n outline: auto;\n}\n.color-mode-switcher-modes svg {\n display: none;\n margin-right: var(--t-spacing-half);\n}\n@container (width >= 256px) {\n .color-mode-switcher-modes svg {\n display: block;\n }\n}\n.color-mode-switcher-modes svg path {\n stroke: var(--t-icon-color-dim);\n}\n.color-mode-switcher-modes label,\n.color-mode-switcher-modes svg path {\n transition-property: color, background-color, stroke;\n transition-duration: 0.1s;\n transition-timing-function: linear;\n}\n.color-mode-switcher-modes label:has(input:checked) {\n color: var(--t-text-color-status-info);\n background-color: var(--t-fill-color-status-info-ghost);\n}\n.color-mode-switcher-modes label:has(input:checked) svg path {\n stroke: var(--t-icon-color-status-info);\n}"]}
package/dist/topbar.js CHANGED
@@ -369,7 +369,7 @@ const X = ({
369
369
  fill: fill
370
370
  })));
371
371
 
372
- var styles$b = {"announcement":"announcement-pI5tM","announcement--platform":"announcement--platform-EcUn2","announcement-icon":"announcement-icon-Ov39-","announcement-content":"announcement-content-q2ad6","dismiss":"dismiss-wUAoU"};
372
+ var styles$b = {"announcement":"announcement-pI5tM","announcement--platform":"announcement--platform-EcUn2","announcement--promo":"announcement--promo-FarUk","announcement-icon":"announcement-icon-Ov39-","announcement-content":"announcement-content-q2ad6","dismiss":"dismiss-wUAoU","dismiss--promo":"dismiss--promo-7zvO4"};
373
373
 
374
374
  function AnnouncementIcon() {
375
375
  return /*#__PURE__*/React.createElement("svg", {
@@ -437,11 +437,14 @@ let StyledAnnouncement$1 = class StyledAnnouncement extends React.Component {
437
437
  render() {
438
438
  const {
439
439
  style,
440
+ variant,
440
441
  ...platformProps
441
442
  } = this.props;
443
+ const isPromo = variant === "promo";
442
444
  return /*#__PURE__*/React.createElement("div", {
443
- className: classnames(styles$b["announcement"], styles$b["announcement--platform"])
444
- }, /*#__PURE__*/React.createElement(AnnouncementIcon, null), /*#__PURE__*/React.createElement("div", {
445
+ className: classnames(styles$b["announcement"], styles$b[`announcement--${variant !== null && variant !== void 0 ? variant : "platform"}`]),
446
+ "data-announcement-variant": variant !== null && variant !== void 0 ? variant : "platform"
447
+ }, !isPromo && /*#__PURE__*/React.createElement(AnnouncementIcon, null), /*#__PURE__*/React.createElement("div", {
445
448
  className: styles$b["announcement-content"],
446
449
  style: style,
447
450
  ...platformProps
@@ -464,10 +467,12 @@ class PlatformAnnouncements extends React.Component {
464
467
  env: this.props.env,
465
468
  initialAnnouncements: this.props.data,
466
469
  configuredFetch: this.props.configuredFetch
467
- }, (data, actions) => Boolean(data.announcements.length > 0) ? (/*#__PURE__*/React.createElement("div", null, data.announcements.map(announcement => this.props.renderItem({
468
- actions,
469
- announcement
470
- })))) : null));
470
+ }, (data, actions) => {
471
+ return data.announcements.length > 0 ? (/*#__PURE__*/React.createElement("div", null, data.announcements.map(announcement => this.props.renderItem({
472
+ actions,
473
+ announcement
474
+ })))) : null;
475
+ }));
471
476
  }
472
477
  }
473
478
  PlatformAnnouncements.defaultProps = {
@@ -475,33 +480,39 @@ PlatformAnnouncements.defaultProps = {
475
480
  renderItem: ({
476
481
  announcement,
477
482
  actions
478
- }) => (/*#__PURE__*/React.createElement(DissmissibleAnnouncement, {
483
+ }) => (/*#__PURE__*/React.createElement(DismissibleAnnouncement, {
479
484
  key: announcement.id,
480
485
  html: announcement.data.html,
486
+ variant: announcement.data.style,
481
487
  onClick: () => actions.dismissAnnouncements(announcement.id)
482
488
  }))
483
489
  };
484
490
  function StyledDismissButton$1({
491
+ variant,
485
492
  ...props
486
493
  }) {
494
+ const isPromo = variant === "promo";
487
495
  return /*#__PURE__*/React.createElement("button", {
488
496
  type: "button",
489
- className: styles$b.dismiss,
497
+ className: classnames(styles$b.dismiss, isPromo && styles$b["dismiss--promo"]),
490
498
  ...props
491
499
  }, /*#__PURE__*/React.createElement(X, {
492
- fill: "white",
500
+ fill: isPromo ? "currentColor" : "white",
493
501
  style: {
494
502
  height: 20,
495
503
  width: 20
496
504
  }
497
505
  }));
498
506
  }
499
- function DissmissibleAnnouncement(props) {
500
- return /*#__PURE__*/React.createElement(StyledAnnouncement$1, null, /*#__PURE__*/React.createElement("span", {
507
+ function DismissibleAnnouncement(props) {
508
+ return /*#__PURE__*/React.createElement(StyledAnnouncement$1, {
509
+ variant: props.variant
510
+ }, /*#__PURE__*/React.createElement("span", {
501
511
  dangerouslySetInnerHTML: {
502
512
  __html: props.html
503
513
  }
504
514
  }), /*#__PURE__*/React.createElement(StyledDismissButton$1, {
515
+ variant: props.variant,
505
516
  onClick: props.onClick
506
517
  }));
507
518
  }
@@ -698,7 +709,47 @@ const useJoltEffect = (channelSubscription, eventName, callback) => {
698
709
  }, [channelSubscription, callback]);
699
710
  };
700
711
 
712
+ function useMediaQuery(query) {
713
+ const getMatches = query => {
714
+ // Prevents SSR issues
715
+ if (typeof window !== "undefined") {
716
+ return window.matchMedia(query).matches;
717
+ }
718
+ return false;
719
+ };
720
+ const [matches, setMatches] = React.useState(getMatches(query));
721
+ function handleChange() {
722
+ setMatches(getMatches(query));
723
+ }
724
+ React.useEffect(() => {
725
+ const matchMedia = window.matchMedia(query);
726
+ // Triggered at the first client-side load and if query changes
727
+ handleChange();
728
+ // Listen matchMedia
729
+ if (matchMedia.addListener) {
730
+ matchMedia.addListener(handleChange);
731
+ } else {
732
+ matchMedia.addEventListener("change", handleChange);
733
+ }
734
+ return () => {
735
+ if (matchMedia.removeListener) {
736
+ matchMedia.removeListener(handleChange);
737
+ } else {
738
+ matchMedia.removeEventListener("change", handleChange);
739
+ }
740
+ };
741
+ }, [query]);
742
+ return matches;
743
+ }
744
+
701
745
  const capitalize = s => s.charAt(0).toUpperCase() + s.slice(1);
746
+ const RESOLVED_COLOR_MODE_ATTRIBUTE = "data-resolved-color-mode";
747
+ function resolveColorMode(colorMode) {
748
+ if (colorMode === "system") {
749
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
750
+ }
751
+ return colorMode;
752
+ }
702
753
  const debounce = (func, wait) => {
703
754
  let timeout;
704
755
  return function (...args) {
@@ -779,6 +830,25 @@ const useNotificationsHasUnread = ({
779
830
  return storedValue;
780
831
  };
781
832
 
833
+ function createStore(initialState) {
834
+ let currentState = initialState;
835
+ const listeners = new Set();
836
+ return {
837
+ getState: () => currentState,
838
+ setState: newState => {
839
+ currentState = newState;
840
+ listeners.forEach(listener => listener(currentState));
841
+ },
842
+ subscribe: listener => {
843
+ listeners.add(listener);
844
+ return () => listeners.delete(listener);
845
+ }
846
+ };
847
+ }
848
+ const store$1 = createStore({});
849
+
850
+ const useStore = (selector = state => state) => shim.useSyncExternalStore(store$1.subscribe, () => selector(store$1.getState()));
851
+
782
852
  const useTopbarAPI = ({
783
853
  configuredFetch,
784
854
  env
@@ -805,23 +875,6 @@ const useTopbarAPI = ({
805
875
  return resp;
806
876
  };
807
877
 
808
- function createStore(initialState) {
809
- let currentState = initialState;
810
- const listeners = new Set();
811
- return {
812
- getState: () => currentState,
813
- setState: newState => {
814
- currentState = newState;
815
- listeners.forEach(listener => listener(currentState));
816
- },
817
- subscribe: listener => {
818
- listeners.add(listener);
819
- return () => listeners.delete(listener);
820
- }
821
- };
822
- }
823
- const store$1 = createStore({});
824
-
825
878
  const AppsProvider = ({
826
879
  configuredFetch = defaultFetch,
827
880
  enableJoltLogging,
@@ -841,6 +894,10 @@ const AppsProvider = ({
841
894
  const hasConnectedPeople = (_b = (_a = topbarResponse === null || topbarResponse === void 0 ? void 0 : topbarResponse.data) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b.has_connected_people;
842
895
  const mfaConfigured = !!((_d = (_c = topbarResponse === null || topbarResponse === void 0 ? void 0 : topbarResponse.data) === null || _c === void 0 ? void 0 : _c.attributes) === null || _d === void 0 ? void 0 : _d.mfa_configured);
843
896
  const colorMode = (_f = (_e = topbarResponse === null || topbarResponse === void 0 ? void 0 : topbarResponse.data) === null || _e === void 0 ? void 0 : _e.attributes) === null || _f === void 0 ? void 0 : _f.color_mode;
897
+ const {
898
+ colorMode: currentColorMode
899
+ } = useStore();
900
+ const prefersDark = useMediaQuery("(prefers-color-scheme: dark)");
844
901
  const name = (_h = (_g = topbarResponse === null || topbarResponse === void 0 ? void 0 : topbarResponse.data) === null || _g === void 0 ? void 0 : _g.attributes) === null || _h === void 0 ? void 0 : _h.name;
845
902
  const notificationsEnabled = !window.notificationsDisabled;
846
903
  const organizationTimeZone = ((_k = (_j = topbarResponse === null || topbarResponse === void 0 ? void 0 : topbarResponse.data) === null || _j === void 0 ? void 0 : _j.attributes) === null || _k === void 0 ? void 0 : _k.org_time_zone) || "America/Los_Angeles";
@@ -892,6 +949,16 @@ const AppsProvider = ({
892
949
  enabled: true,
893
950
  joltChannel: notificationsJoltChannel
894
951
  });
952
+ React.useLayoutEffect(() => {
953
+ if (colorMode) {
954
+ document.documentElement.setAttribute(RESOLVED_COLOR_MODE_ATTRIBUTE, resolveColorMode(colorMode));
955
+ }
956
+ }, [colorMode]);
957
+ React.useEffect(() => {
958
+ if (currentColorMode === "system") {
959
+ document.documentElement.setAttribute(RESOLVED_COLOR_MODE_ATTRIBUTE, prefersDark ? "dark" : "light");
960
+ }
961
+ }, [currentColorMode, prefersDark]);
895
962
  React.useEffect(() => {
896
963
  const state = store$1.getState();
897
964
  store$1.setState({
@@ -2060,8 +2127,6 @@ const useSetCurrentRouteInfo = ({
2060
2127
  }, [routes, app]);
2061
2128
  };
2062
2129
 
2063
- const useStore = (selector = state => state) => shim.useSyncExternalStore(store$1.subscribe, () => selector(store$1.getState()));
2064
-
2065
2130
  const useUpdateStore = () => React.useCallback(updates => {
2066
2131
  const currentState = store$1.getState();
2067
2132
  store$1.setState({
@@ -2427,7 +2492,7 @@ function AccountSettingsLink({
2427
2492
  width: 24,
2428
2493
  xmlns: "http://www.w3.org/2000/svg"
2429
2494
  }, /*#__PURE__*/React.createElement(Accounts$1, {
2430
- color: "var(--t-icon-color-secondary",
2495
+ color: "var(--t-icon-color-secondary)",
2431
2496
  key: "key2"
2432
2497
  })), /*#__PURE__*/React.createElement("span", null, "Account settings"));
2433
2498
  }
@@ -2675,8 +2740,8 @@ function useFragmentKey(key) {
2675
2740
  function onHashChange() {
2676
2741
  updateFragment(location.hash);
2677
2742
  }
2678
- window.addEventListener('hashchange', onHashChange);
2679
- return () => window.removeEventListener('hashchange', onHashChange);
2743
+ window.addEventListener("hashchange", onHashChange);
2744
+ return () => window.removeEventListener("hashchange", onHashChange);
2680
2745
  }, [updateFragment]);
2681
2746
  return [value, updateFragment];
2682
2747
  }
@@ -2690,9 +2755,9 @@ function useFragmentRouting() {
2690
2755
  }, [updateFragment]);
2691
2756
  const route = React.useMemo(() => {
2692
2757
  if (toolbarFragment) {
2693
- const [tool, ...rest] = toolbarFragment.split('/');
2758
+ const [tool, ...rest] = toolbarFragment.split("/");
2694
2759
  return {
2695
- path: rest.join('/'),
2760
+ path: rest.join("/"),
2696
2761
  tool
2697
2762
  };
2698
2763
  } else {
@@ -2969,6 +3034,7 @@ function ColorModeSwitcher() {
2969
3034
  colorMode
2970
3035
  });
2971
3036
  document.documentElement.setAttribute("data-color-mode", colorMode);
3037
+ document.documentElement.setAttribute(RESOLVED_COLOR_MODE_ATTRIBUTE, resolveColorMode(colorMode));
2972
3038
  updateColorMode(colorMode);
2973
3039
  }
2974
3040
  }), /*#__PURE__*/React.createElement(ColorModeIcon, {
@@ -4225,11 +4291,11 @@ function useStableIframeSrcAttributeAndSyncFragmentRoute({
4225
4291
  return iframeSrc;
4226
4292
  }
4227
4293
  function encodeQueryString(path) {
4228
- const [pathPart, queryPart] = path.split('?', 2);
4294
+ const [pathPart, queryPart] = path.split("?", 2);
4229
4295
  return queryPart ? `${pathPart}?${encodeURIComponent(queryPart)}` : pathPart;
4230
4296
  }
4231
4297
  function decodeQueryString(path) {
4232
- const [pathPart, queryPart] = path.split('?', 2);
4298
+ const [pathPart, queryPart] = path.split("?", 2);
4233
4299
  return queryPart ? `${pathPart}?${decodeURIComponent(queryPart)}` : pathPart;
4234
4300
  }
4235
4301
 
@@ -4403,7 +4469,7 @@ function Toolbar({
4403
4469
  document.body.style.overflow = "hidden";
4404
4470
  window.scrollTo(0, 0);
4405
4471
  } else {
4406
- document.body.style.overflow = "auto";
4472
+ document.body.style.overflow = "";
4407
4473
  }
4408
4474
  }, [open]);
4409
4475
  // Listen for external close requests from store