@planningcenter/topbar 11.0.1 → 11.1.0-qa-759.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,67 @@ 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
+ font-weight: 800;
175
+ }
176
+
177
+ :root[data-color-mode="dark"] .announcement--promo-FarUk {
178
+ background-color: hsl(0, 0%, 12%);
179
+ background-image: linear-gradient(
180
+ to right,
181
+ transparent 0%,
182
+ hsla(45, 100%, 64%, 0.4) 20%,
183
+ hsla(0, 100%, 63%, 0.35) 50%,
184
+ hsla(232, 82%, 67%, 0.35) 80%,
185
+ transparent 100%
186
+ );
187
+ color: hsl(0, 0%, 94%);
188
+ }
189
+
190
+ @media (prefers-color-scheme: dark) {
191
+ :root[data-color-mode="system"] .announcement--promo-FarUk {
192
+ background-color: hsl(0, 0%, 12%);
193
+ background-image: linear-gradient(
194
+ to right,
195
+ transparent 0%,
196
+ hsla(45, 100%, 64%, 0.4) 20%,
197
+ hsla(0, 100%, 63%, 0.35) 50%,
198
+ hsla(232, 82%, 67%, 0.35) 80%,
199
+ transparent 100%
200
+ );
201
+ color: hsl(0, 0%, 94%);
202
+ }
203
+ }
204
+
205
+ .announcement-pI5tM.announcement--promo-FarUk a {
206
+ color: var(--t-text-color-default-inverted);
207
+ background-color: hsl(213, 85%, 45%);
208
+ text-decoration: none;
209
+ padding: var(--t-spacing-1) var(--t-spacing-3);
210
+ margin-left: var(--t-spacing-3);
211
+ border-radius: var(--t-border-radius-md);
212
+ font-weight: 700;
213
+ font-size: var(--t-font-size-sm);
214
+ white-space: nowrap;
215
+ display: inline-block;
216
+ }
217
+
218
+ .announcement-pI5tM.announcement--promo-FarUk a:hover {
219
+ color: var(--t-text-color-default-inverted);
220
+ background-color: hsl(213, 85%, 38%);
221
+ text-decoration: none;
222
+ }
223
+
163
224
  .announcement-icon-Ov39- {
164
225
  flex-shrink: 0;
165
226
  flex-grow: 0;
@@ -198,6 +259,40 @@ Caused by products overriding .topbar-wrap’s z-index.
198
259
  appearance: none;
199
260
  }
200
261
 
262
+ .dismiss--promo-7zvO4 {
263
+ color: var(--t-text-color-default-secondary);
264
+ }
265
+
266
+ @media (max-width: 767px) {
267
+ .announcement-pI5tM.announcement--promo-FarUk {
268
+ position: relative;
269
+ padding-right: calc(var(--t-spacing-2) + 28px);
270
+ font-size: var(--t-font-size-md);
271
+ }
272
+
273
+ .announcement-pI5tM.announcement--promo-FarUk .announcement-content-q2ad6 {
274
+ flex-direction: column;
275
+ align-items: stretch;
276
+ }
277
+
278
+ .dismiss--promo-7zvO4 {
279
+ position: absolute;
280
+ top: var(--t-spacing-2);
281
+ right: var(--t-spacing-2);
282
+ }
283
+
284
+ .announcement-pI5tM.announcement--promo-FarUk a {
285
+ display: block;
286
+ width: 100%;
287
+ text-align: center;
288
+ margin-left: 0;
289
+ margin-top: var(--t-spacing-2);
290
+ padding: var(--t-spacing-1) var(--t-spacing-3);
291
+ font-size: var(--t-font-size-md);
292
+ white-space: normal;
293
+ }
294
+ }
295
+
201
296
  .unbutton-lEbTR {
202
297
  font-family: inherit;
203
298
  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,13 @@ 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"], isPromo ? styles$b["announcement--promo"] : styles$b["announcement--platform"])
446
+ }, !isPromo && /*#__PURE__*/React.createElement(AnnouncementIcon, null), /*#__PURE__*/React.createElement("div", {
445
447
  className: styles$b["announcement-content"],
446
448
  style: style,
447
449
  ...platformProps
@@ -464,10 +466,14 @@ class PlatformAnnouncements extends React.Component {
464
466
  env: this.props.env,
465
467
  initialAnnouncements: this.props.data,
466
468
  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));
469
+ }, (data, actions) => {
470
+ const isNative = typeof document !== "undefined" && document.documentElement.getAttribute("data-app-context") === "native";
471
+ const visibleAnnouncements = data.announcements.filter(a => !(isNative && a.data.style === "promo"));
472
+ return visibleAnnouncements.length > 0 ? (/*#__PURE__*/React.createElement("div", null, visibleAnnouncements.map(announcement => this.props.renderItem({
473
+ actions,
474
+ announcement
475
+ })))) : null;
476
+ }));
471
477
  }
472
478
  }
473
479
  PlatformAnnouncements.defaultProps = {
@@ -478,18 +484,21 @@ PlatformAnnouncements.defaultProps = {
478
484
  }) => (/*#__PURE__*/React.createElement(DissmissibleAnnouncement, {
479
485
  key: announcement.id,
480
486
  html: announcement.data.html,
487
+ variant: announcement.data.style,
481
488
  onClick: () => actions.dismissAnnouncements(announcement.id)
482
489
  }))
483
490
  };
484
491
  function StyledDismissButton$1({
492
+ variant,
485
493
  ...props
486
494
  }) {
495
+ const isPromo = variant === "promo";
487
496
  return /*#__PURE__*/React.createElement("button", {
488
497
  type: "button",
489
- className: styles$b.dismiss,
498
+ className: classnames(styles$b.dismiss, isPromo && styles$b["dismiss--promo"]),
490
499
  ...props
491
500
  }, /*#__PURE__*/React.createElement(X, {
492
- fill: "white",
501
+ fill: isPromo ? "currentColor" : "white",
493
502
  style: {
494
503
  height: 20,
495
504
  width: 20
@@ -497,11 +506,14 @@ function StyledDismissButton$1({
497
506
  }));
498
507
  }
499
508
  function DissmissibleAnnouncement(props) {
500
- return /*#__PURE__*/React.createElement(StyledAnnouncement$1, null, /*#__PURE__*/React.createElement("span", {
509
+ return /*#__PURE__*/React.createElement(StyledAnnouncement$1, {
510
+ variant: props.variant
511
+ }, /*#__PURE__*/React.createElement("span", {
501
512
  dangerouslySetInnerHTML: {
502
513
  __html: props.html
503
514
  }
504
515
  }), /*#__PURE__*/React.createElement(StyledDismissButton$1, {
516
+ variant: props.variant,
505
517
  onClick: props.onClick
506
518
  }));
507
519
  }
@@ -699,6 +711,13 @@ const useJoltEffect = (channelSubscription, eventName, callback) => {
699
711
  };
700
712
 
701
713
  const capitalize = s => s.charAt(0).toUpperCase() + s.slice(1);
714
+ const RESOLVED_COLOR_MODE_ATTRIBUTE = "data-resolved-color-mode";
715
+ function resolveColorMode(colorMode) {
716
+ if (colorMode === "system") {
717
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
718
+ }
719
+ return colorMode;
720
+ }
702
721
  const debounce = (func, wait) => {
703
722
  let timeout;
704
723
  return function (...args) {
@@ -779,6 +798,58 @@ const useNotificationsHasUnread = ({
779
798
  return storedValue;
780
799
  };
781
800
 
801
+ function useMediaQuery(query) {
802
+ const getMatches = query => {
803
+ // Prevents SSR issues
804
+ if (typeof window !== "undefined") {
805
+ return window.matchMedia(query).matches;
806
+ }
807
+ return false;
808
+ };
809
+ const [matches, setMatches] = React.useState(getMatches(query));
810
+ function handleChange() {
811
+ setMatches(getMatches(query));
812
+ }
813
+ React.useEffect(() => {
814
+ const matchMedia = window.matchMedia(query);
815
+ // Triggered at the first client-side load and if query changes
816
+ handleChange();
817
+ // Listen matchMedia
818
+ if (matchMedia.addListener) {
819
+ matchMedia.addListener(handleChange);
820
+ } else {
821
+ matchMedia.addEventListener("change", handleChange);
822
+ }
823
+ return () => {
824
+ if (matchMedia.removeListener) {
825
+ matchMedia.removeListener(handleChange);
826
+ } else {
827
+ matchMedia.removeEventListener("change", handleChange);
828
+ }
829
+ };
830
+ }, [query]);
831
+ return matches;
832
+ }
833
+
834
+ function createStore(initialState) {
835
+ let currentState = initialState;
836
+ const listeners = new Set();
837
+ return {
838
+ getState: () => currentState,
839
+ setState: newState => {
840
+ currentState = newState;
841
+ listeners.forEach(listener => listener(currentState));
842
+ },
843
+ subscribe: listener => {
844
+ listeners.add(listener);
845
+ return () => listeners.delete(listener);
846
+ }
847
+ };
848
+ }
849
+ const store$1 = createStore({});
850
+
851
+ const useStore = (selector = state => state) => shim.useSyncExternalStore(store$1.subscribe, () => selector(store$1.getState()));
852
+
782
853
  const useTopbarAPI = ({
783
854
  configuredFetch,
784
855
  env
@@ -805,23 +876,6 @@ const useTopbarAPI = ({
805
876
  return resp;
806
877
  };
807
878
 
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
879
  const AppsProvider = ({
826
880
  configuredFetch = defaultFetch,
827
881
  enableJoltLogging,
@@ -841,6 +895,10 @@ const AppsProvider = ({
841
895
  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
896
  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
897
  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;
898
+ const {
899
+ colorMode: currentColorMode
900
+ } = useStore();
901
+ const prefersDark = useMediaQuery("(prefers-color-scheme: dark)");
844
902
  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
903
  const notificationsEnabled = !window.notificationsDisabled;
846
904
  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 +950,16 @@ const AppsProvider = ({
892
950
  enabled: true,
893
951
  joltChannel: notificationsJoltChannel
894
952
  });
953
+ React.useLayoutEffect(() => {
954
+ if (colorMode) {
955
+ document.documentElement.setAttribute(RESOLVED_COLOR_MODE_ATTRIBUTE, resolveColorMode(colorMode));
956
+ }
957
+ }, [colorMode]);
958
+ React.useEffect(() => {
959
+ if (currentColorMode === "system") {
960
+ document.documentElement.setAttribute(RESOLVED_COLOR_MODE_ATTRIBUTE, prefersDark ? "dark" : "light");
961
+ }
962
+ }, [currentColorMode, prefersDark]);
895
963
  React.useEffect(() => {
896
964
  const state = store$1.getState();
897
965
  store$1.setState({
@@ -2060,8 +2128,6 @@ const useSetCurrentRouteInfo = ({
2060
2128
  }, [routes, app]);
2061
2129
  };
2062
2130
 
2063
- const useStore = (selector = state => state) => shim.useSyncExternalStore(store$1.subscribe, () => selector(store$1.getState()));
2064
-
2065
2131
  const useUpdateStore = () => React.useCallback(updates => {
2066
2132
  const currentState = store$1.getState();
2067
2133
  store$1.setState({
@@ -2969,6 +3035,7 @@ function ColorModeSwitcher() {
2969
3035
  colorMode
2970
3036
  });
2971
3037
  document.documentElement.setAttribute("data-color-mode", colorMode);
3038
+ document.documentElement.setAttribute(RESOLVED_COLOR_MODE_ATTRIBUTE, resolveColorMode(colorMode));
2972
3039
  updateColorMode(colorMode);
2973
3040
  }
2974
3041
  }), /*#__PURE__*/React.createElement(ColorModeIcon, {
@@ -4403,7 +4470,7 @@ function Toolbar({
4403
4470
  document.body.style.overflow = "hidden";
4404
4471
  window.scrollTo(0, 0);
4405
4472
  } else {
4406
- document.body.style.overflow = "auto";
4473
+ document.body.style.overflow = "";
4407
4474
  }
4408
4475
  }, [open]);
4409
4476
  // Listen for external close requests from store