/** * RoleSwitchDock CSS — the rolebox dock strip seated above the dsh composer. * * The dock answers a STATUS question ("which role is running?"), so the strip * leads with the current value rather than with a category label. This module * owns the visual system for that strip. * * Design posture (see docs/dsh-plugin-contract.md): * - One material. `--rolebox-surface` (host `--dsw-specific-tip`) is the * single surface token, shared with the monitor panel so both rolebox * surfaces read as one product. * - Value is the title. `.rolebox-dock-value` renders the active role NAME * in the header; the shipped static label ("Role") is gone. * - Active role is carried by FIVE redundant channels, never by a coloured * side border (a banned anti-slop tell): an inherited font-weight step on * the row, a reserved 20px trailing mark seat holding a check glyph, the * host active-nav fill, `aria-current`, and the spelled-out Active/Base * chip in the header (which survives total loss of hue perception). * - State is never encoded as coloured text. Measured against the host * palette, `label-tertiary` on the tip surface is 3.42:1 and * `state-success-primary` on its own tint is 2.09:1 — both fail. State is * therefore a pale tint fill plus the state WORD in `--dsw-alias-label-primary`. * - Geometry is preserved from the shipped dock replica: the composer * geometry vars and the open-bottom radius (`12px 12px 0 0`) keep the * strip seated on the composer card below it. * - Motion is meaningful only: the disclosure, the chevron, hover, the value * swap, and busy. Focus rings are deliberately instantaneous. The error * path has no shake (refused: decorative, vestibular-triggering, and it * communicates nothing the copy does not). Everything runs on the host's * single easing curve (`--ds-ease-in-out`): an earlier pair of invented * curves made the opening cover half its distance in the first fifth of * its duration and the closing hesitate through the first half, which * reads as a stutter rather than as easing. * - The collapsed region skips its own layout (`content-visibility`), because * a 0fr grid track and `visibility: hidden` clip and skip paint but do NOT * skip layout — the invisible role list was being laid out on every pass. * * Token discipline: every `var(--rolebox-...)` CONSUMPTION carries a comma and * a fallback, because the CSS-contract tests scan for bare `var(--)` * and flag anything outside `--dsw-*` (plus the four `--dsh-composer-*` frame * vars). Definitions are plain declarations and are never flagged. The test * suite enforces that no bare `var(--rolebox-*)` consumption ever appears. * * Injection: the module injects the CSS into the document on load using the * pattern the dsh client packages ship — a guarded `style[data-plugin-css=...]` * probe plus a `document.head` append with the `data-plugin` / `data-plugin-css` * markers. The `typeof document` guard keeps module load safe in non-DOM * environments (the tests mock react and run in bun without a DOM). * * This module is BROWSER code: no node builtins, no DOM access outside the * guarded injection block. * * @module */ /** The namespaced CSS text injected into the document on module load. */ export declare const dockCss = "\n.rolebox-dock {\n box-sizing: border-box;\n width: calc(100% - var(--dsh-composer-side-clearance) - var(--dsh-composer-side-clearance) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset));\n max-width: calc(var(--dsh-composer-card-max-width) - var(--dsh-composer-dock-inset) - var(--dsh-composer-dock-inset));\n margin: 0 auto calc(0px - var(--dsh-composer-stack-gap) - 3px);\n padding: 0 var(--dsh-composer-dock-inset);\n flex: none;\n\n --rolebox-surface: var(--dsw-specific-tip, rgb(245, 246, 247));\n --rolebox-surface-active: var(--dsw-specific-sidebar-nav-item-active, rgb(235, 238, 242));\n --rolebox-surface-hover: var(--dsw-alias-interactive-bg-hover, rgba(38, 49, 72, 0.06));\n --rolebox-surface-accent: var(--dsw-alias-state-business-tertiary, rgb(228, 237, 253));\n --rolebox-surface-danger: var(--dsw-alias-interactive-bg-hover-danger, rgba(236, 19, 19, 0.05));\n --rolebox-border-hairline: var(--dsw-alias-border-l1, rgba(0, 0, 0, 0.04));\n --rolebox-border-strong: var(--dsw-alias-border-l3, rgba(0, 0, 0, 0.12));\n --rolebox-border-danger: var(--dsw-alias-state-error-primary, rgb(236, 19, 19));\n --rolebox-ink: var(--dsw-alias-label-primary, rgb(15, 17, 21));\n --rolebox-ink-muted: var(--dsw-alias-label-secondary, rgb(97, 102, 107));\n --rolebox-ink-glyph: var(--dsw-alias-label-tertiary, rgb(129, 133, 140));\n --rolebox-ink-danger: var(--dsw-alias-state-error-primary, rgb(236, 19, 19));\n --rolebox-accent: var(--dsw-alias-state-business-primary, rgb(65, 118, 230));\n --rolebox-focus-ring: var(--dsw-alias-state-business-primary, rgb(65, 118, 230));\n --rolebox-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n\n --rolebox-space-1: 4px;\n --rolebox-space-2: 8px;\n --rolebox-space-3: 12px;\n --rolebox-space-4: 16px;\n\n --rolebox-radius-chip: 6px;\n --rolebox-radius-control: 8px;\n --rolebox-radius-card: 12px;\n --rolebox-radius-panel: 12px 12px 0 0;\n\n --rolebox-row-height: 40px;\n --rolebox-mark-seat: 20px;\n\n --rolebox-dur-instant: 90ms;\n --rolebox-dur-fast: 130ms;\n --rolebox-dur-base: 200ms;\n --rolebox-dur-exit: 160ms;\n /* ONE curve \u2014 the host's own (--ds-ease-in-out). The previous enter/exit pair\n was invented and measurably wrong: (0.2, 0, 0, 1) covers 50% of the\n distance in the first 20% of the duration and 87.8% by the halfway point,\n so the back half of every opening crawled through its last 12%. */\n --rolebox-ease: cubic-bezier(0.4, 0, 0.2, 1);\n\n --rolebox-shadow-raised: 0 1px 2px rgba(0, 0, 0, 0.04), 0 2px 8px rgba(0, 0, 0, 0.06);\n --rolebox-shadow-sticky: 0 2px 4px rgba(0, 0, 0, 0.05), 0 8px 24px rgba(0, 0, 0, 0.1);\n}\n\n.rolebox-dock-panel {\n background: var(--rolebox-surface, var(--dsw-specific-tip, rgb(245, 246, 247)));\n border-radius: var(--rolebox-radius-panel, 12px 12px 0 0);\n width: 100%;\n padding: 0;\n position: relative;\n overflow: hidden;\n}\n\n.rolebox-dock-panel::after {\n border: 1px solid var(--dsw-alias-border-l1);\n border-radius: inherit;\n content: \"\";\n pointer-events: none;\n border-bottom: none;\n position: absolute;\n inset: 0;\n}\n\n.rolebox-dock-header-row {\n box-sizing: border-box;\n width: 100%;\n height: var(--rolebox-row-height, 40px);\n align-items: center;\n gap: var(--rolebox-space-2, 8px);\n display: flex;\n border-radius: var(--rolebox-radius-panel, 12px 12px 0 0);\n overflow: hidden;\n}\n\n.rolebox-dock-header {\n box-sizing: border-box;\n flex: 1 1 auto;\n min-width: 0;\n height: var(--rolebox-row-height, 40px);\n margin-left: var(--rolebox-space-1, 4px);\n color: var(--dsw-alias-label-primary);\n text-align: left;\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rolebox-radius-control, 8px);\n align-items: center;\n gap: var(--rolebox-space-2, 8px);\n padding: 0 var(--rolebox-space-3, 12px);\n display: flex;\n font: inherit;\n}\n\n.rolebox-dock-header:focus-visible {\n outline: 2px solid var(--rolebox-focus-ring, rgb(65, 118, 230));\n outline-offset: -2px;\n}\n\n.rolebox-dock-lead {\n color: var(--rolebox-ink-muted, rgb(97, 102, 107));\n flex: none;\n place-items: center;\n display: grid;\n}\n\n.rolebox-dock-value {\n min-width: 0;\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--rolebox-ink, rgb(15, 17, 21));\n font-size: 14px;\n font-weight: 500;\n line-height: 22px;\n}\n\n.rolebox-dock-chip {\n box-sizing: border-box;\n flex: none;\n height: 20px;\n padding: 0 var(--rolebox-space-2, 8px);\n border-radius: var(--rolebox-radius-chip, 6px);\n align-items: center;\n display: inline-flex;\n font-size: 11px;\n font-weight: 500;\n line-height: 14px;\n transition: background-color var(--rolebox-dur-fast, 130ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1));\n}\n\n.rolebox-dock-chip-active {\n background: var(--rolebox-surface-accent, rgb(228, 237, 253));\n color: var(--rolebox-ink, rgb(15, 17, 21));\n}\n\n.rolebox-dock-chip-base {\n background: var(--rolebox-surface-hover, rgba(38, 49, 72, 0.06));\n color: var(--rolebox-ink-muted, rgb(97, 102, 107));\n}\n\n.rolebox-dock-chevron {\n flex: none;\n color: var(--rolebox-ink-glyph, rgb(129, 133, 140));\n place-items: center;\n display: grid;\n transform-origin: center;\n transition: transform var(--rolebox-dur-exit, 160ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1));\n}\n\n.rolebox-dock-chevron[data-open=\"true\"] {\n transform: rotate(180deg);\n transition: transform var(--rolebox-dur-base, 200ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1));\n}\n\n.rolebox-dock-status {\n box-sizing: border-box;\n min-width: 0;\n flex: 0 1 auto;\n max-width: 55%;\n margin-right: var(--rolebox-space-1, 4px);\n align-items: center;\n gap: var(--rolebox-space-1, 4px);\n display: inline-flex;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--rolebox-ink-muted, rgb(97, 102, 107));\n font-size: 13px;\n font-weight: 400;\n line-height: 20px;\n}\n\n.rolebox-dock-status-error {\n height: 24px;\n padding: 0 var(--rolebox-space-2, 8px);\n border: 1px solid var(--rolebox-border-danger, rgb(236, 19, 19));\n border-radius: var(--rolebox-radius-chip, 6px);\n background: var(--rolebox-surface-danger, rgba(236, 19, 19, 0.05));\n color: var(--rolebox-ink, rgb(15, 17, 21));\n}\n\n.rolebox-dock-status-glyph {\n flex: none;\n color: var(--rolebox-ink-danger, rgb(236, 19, 19));\n place-items: center;\n display: grid;\n}\n.rolebox-dock-status-sr {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n border: 0;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n}\n\n.rolebox-dock-disclosure {\n display: grid;\n grid-template-rows: 1fr;\n opacity: 1;\n visibility: visible;\n transition:\n /* Height and opacity share a duration AND a curve, so the content appears\n exactly as fast as the box reveals it. They used to disagree (200ms of\n height against 130ms of opacity), so the content finished appearing while\n the panel was still growing. */\n grid-template-rows var(--rolebox-dur-base, 200ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1)),\n opacity var(--rolebox-dur-base, 200ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1)),\n visibility 0s linear 0s;\n}\n\n.rolebox-dock-disclosure[data-open=\"false\"] {\n grid-template-rows: 0fr;\n opacity: 0;\n visibility: hidden;\n transition:\n /* The close fade ran at 90ms against a 160ms box, so the content vanished\n while the panel was still about half open and the remainder then snapped\n shut. Now the content stays visible and is pushed out by the closing box \u2014\n which is what actually reads as a collapse. */\n grid-template-rows var(--rolebox-dur-exit, 160ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1)),\n opacity var(--rolebox-dur-exit, 160ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1)),\n visibility 0s linear var(--rolebox-dur-exit, 160ms);\n}\n\n.rolebox-dock-disclosure-inner {\n min-height: 0;\n overflow: hidden;\n padding: 0 var(--rolebox-space-1, 4px) var(--rolebox-space-1, 4px);\n transform: translateY(0);\n transform-origin: top center;\n transition: transform var(--rolebox-dur-base, 200ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1));\n}\n\n.rolebox-dock-disclosure[data-open=\"false\"] .rolebox-dock-disclosure-inner {\n transform: translateY(-4px);\n transition-duration: var(--rolebox-dur-exit, 160ms);\n}\n\n/* \u2500\u2500 Collapsed-subtree layout skip \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n grid-template-rows: 0fr clips the closed region and visibility: hidden skips\n its paint \u2014 but NEITHER skips layout. The whole role list was therefore laid\n out on every layout pass while invisible, at a cost that grew with the\n library (measured by forced full layout: 0.3ms at 3 roles, 0.6ms at 60,\n 1.3ms at 200; a flat 0.1ms once skipped). During the disclosure animation\n that cost lands on every frame.\n content-visibility is a discrete property, so transition-behavior:\n allow-discrete defers the flip to the END of the close, after the fade has\n finished, while opening flips it immediately. Both the declaration and the\n behaviour live inside @supports, so a browser without allow-discrete keeps\n exactly the previous behaviour instead of losing the close animation. */\n@supports (transition-behavior: allow-discrete) {\n .rolebox-dock-disclosure-inner {\n transition:\n transform var(--rolebox-dur-base, 200ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1)),\n content-visibility 0s linear 0s;\n transition-behavior: normal, allow-discrete;\n }\n\n .rolebox-dock-disclosure[data-open=\"false\"] .rolebox-dock-disclosure-inner {\n content-visibility: hidden;\n transition:\n transform var(--rolebox-dur-exit, 160ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1)),\n content-visibility 0s linear var(--rolebox-dur-exit, 160ms);\n transition-behavior: normal, allow-discrete;\n }\n}\n\n.rolebox-dock-filter {\n box-sizing: border-box;\n height: var(--rolebox-row-height, 40px);\n align-items: center;\n gap: var(--rolebox-space-2, 8px);\n padding: 0 var(--rolebox-space-3, 12px);\n display: flex;\n box-shadow: inset 0 -1px 0 var(--dsw-alias-border-l1);\n}\n\n.rolebox-dock-filter:focus-within {\n outline: 2px solid var(--rolebox-focus-ring, rgb(65, 118, 230));\n outline-offset: -2px;\n border-radius: var(--rolebox-radius-control, 8px);\n}\n\n.rolebox-dock-filter-lead {\n flex: none;\n color: var(--rolebox-ink-muted, rgb(97, 102, 107));\n place-items: center;\n display: grid;\n}\n\n.rolebox-dock-filter-input {\n min-width: 0;\n flex: auto;\n padding: 0;\n background: transparent;\n border: none;\n outline: none;\n color: var(--rolebox-ink, rgb(15, 17, 21));\n font-size: 13px;\n font-weight: 400;\n line-height: 20px;\n}\n\n.rolebox-dock-filter-input::placeholder {\n color: var(--rolebox-ink-muted, rgb(97, 102, 107));\n}\n\n.rolebox-dock-count {\n flex: none;\n color: var(--rolebox-ink-muted, rgb(97, 102, 107));\n font-size: 11px;\n font-weight: 400;\n line-height: 14px;\n font-variant-numeric: tabular-nums;\n}\n\n.rolebox-dock-filter-clear {\n flex: none;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: var(--rolebox-radius-chip, 6px);\n background: transparent;\n color: var(--rolebox-ink-muted, rgb(97, 102, 107));\n cursor: pointer;\n place-items: center;\n display: grid;\n transition: background-color var(--rolebox-dur-fast, 130ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1));\n}\n\n.rolebox-dock-filter-clear:hover {\n background: var(--rolebox-surface-hover, rgba(38, 49, 72, 0.06));\n}\n\n.rolebox-dock-filter-clear:focus-visible {\n outline: 2px solid var(--rolebox-focus-ring, rgb(65, 118, 230));\n outline-offset: -2px;\n}\n\n.rolebox-dock-list {\n max-height: 200px;\n margin: 0;\n padding: 0;\n list-style: none;\n overflow-y: auto;\n overscroll-behavior: contain;\n scrollbar-width: thin;\n scrollbar-color: var(--dsw-alias-scrollbar-bg-l1) transparent;\n}\n\n.rolebox-dock-row {\n box-sizing: border-box;\n border-radius: var(--rolebox-radius-control, 8px);\n align-items: center;\n gap: var(--rolebox-space-2, 8px);\n width: 100%;\n height: var(--rolebox-row-height, 40px);\n padding: 0 var(--rolebox-space-2, 8px) 0 var(--rolebox-space-3, 12px);\n display: flex;\n text-align: left;\n cursor: pointer;\n background: transparent;\n border: none;\n font: inherit;\n color: inherit;\n font-weight: 400;\n transition:\n background-color var(--rolebox-dur-fast, 130ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1)),\n opacity var(--rolebox-dur-instant, 90ms) linear;\n}\n\n.rolebox-dock-row[aria-current=\"true\"] {\n background: var(--rolebox-surface-active, rgb(235, 238, 242));\n font-weight: 500;\n}\n\n.rolebox-dock-row:hover {\n background: var(--rolebox-surface-hover, rgba(38, 49, 72, 0.06));\n}\n\n.rolebox-dock-row[aria-current=\"true\"]:hover {\n background: var(--rolebox-surface-active, rgb(235, 238, 242));\n}\n\n.rolebox-dock-row:focus-visible {\n outline: 2px solid var(--rolebox-focus-ring, rgb(65, 118, 230));\n outline-offset: -2px;\n}\n\n.rolebox-dock-row:disabled {\n cursor: default;\n opacity: 0.45;\n}\n\n.rolebox-dock-name {\n flex: none;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--rolebox-ink, rgb(15, 17, 21));\n font-size: 13px;\n line-height: 20px;\n font-weight: inherit;\n}\n\n.rolebox-dock-meta {\n min-width: 0;\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--rolebox-ink-muted, rgb(97, 102, 107));\n font-size: 11px;\n line-height: 14px;\n font-weight: inherit;\n}\n\n.rolebox-dock-mark {\n flex: none;\n width: var(--rolebox-mark-seat, 20px);\n height: var(--rolebox-mark-seat, 20px);\n place-items: center;\n display: grid;\n}\n\n.rolebox-dock-mark-active {\n color: var(--rolebox-accent, rgb(65, 118, 230));\n}\n\n.rolebox-dock-empty {\n box-sizing: border-box;\n min-height: var(--rolebox-row-height, 40px);\n padding: var(--rolebox-space-3, 12px);\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--rolebox-space-1, 4px);\n color: var(--rolebox-ink-muted, rgb(97, 102, 107));\n font-size: 13px;\n font-weight: 400;\n line-height: 20px;\n}\n\n.rolebox-dock-empty-title {\n color: var(--rolebox-ink, rgb(15, 17, 21));\n font-size: 13px;\n font-weight: 500;\n line-height: 20px;\n}\n\n.rolebox-dock-empty-body {\n color: var(--rolebox-ink-muted, rgb(97, 102, 107));\n font-size: 11px;\n font-weight: 400;\n line-height: 14px;\n overflow-wrap: anywhere;\n}\n\n.rolebox-dock-empty-action {\n box-sizing: border-box;\n height: 32px;\n margin-top: var(--rolebox-space-1, 4px);\n padding: 0 var(--rolebox-space-3, 12px);\n border: 1px solid var(--rolebox-border-strong, rgba(0, 0, 0, 0.12));\n border-radius: var(--rolebox-radius-control, 8px);\n background: transparent;\n color: var(--rolebox-ink, rgb(15, 17, 21));\n font: inherit;\n font-size: 13px;\n cursor: pointer;\n transition: background-color var(--rolebox-dur-fast, 130ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1));\n}\n\n.rolebox-dock-empty-action:hover {\n background: var(--rolebox-surface-hover, rgba(38, 49, 72, 0.06));\n}\n\n.rolebox-dock-empty-action:focus-visible {\n outline: 2px solid var(--rolebox-focus-ring, rgb(65, 118, 230));\n outline-offset: -2px;\n}\n\n@keyframes rolebox-dock-seat-in {\n from {\n opacity: 0;\n transform: translateY(3px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.rolebox-dock-value {\n animation: rolebox-dock-seat-in var(--rolebox-dur-exit, 160ms) var(--rolebox-ease, cubic-bezier(0.4, 0, 0.2, 1)) both;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .rolebox-dock-disclosure,\n .rolebox-dock-disclosure[data-open=\"false\"] {\n transition-duration: 1ms;\n transition-delay: 0s;\n }\n .rolebox-dock-disclosure-inner,\n .rolebox-dock-disclosure[data-open=\"false\"] .rolebox-dock-disclosure-inner {\n transition: none;\n transform: none;\n }\n .rolebox-dock-chevron,\n .rolebox-dock-row,\n .rolebox-dock-chip,\n .rolebox-dock-filter-clear,\n .rolebox-dock-empty-action {\n transition: none;\n }\n .rolebox-dock-value {\n animation: none;\n }\n}\n"; /** Plain class-name map — the `rolebox-dock-` prefixed names used by the component. */ export declare const dockClass: { readonly dock: "rolebox-dock"; readonly panel: "rolebox-dock-panel"; readonly headerRow: "rolebox-dock-header-row"; readonly header: "rolebox-dock-header"; readonly lead: "rolebox-dock-lead"; readonly value: "rolebox-dock-value"; readonly chip: "rolebox-dock-chip"; readonly chipActive: "rolebox-dock-chip-active"; readonly chipBase: "rolebox-dock-chip-base"; readonly chevron: "rolebox-dock-chevron"; readonly status: "rolebox-dock-status"; readonly statusError: "rolebox-dock-status-error"; readonly statusGlyph: "rolebox-dock-status-glyph"; readonly statusSr: "rolebox-dock-status-sr"; readonly disclosure: "rolebox-dock-disclosure"; readonly disclosureInner: "rolebox-dock-disclosure-inner"; readonly filter: "rolebox-dock-filter"; readonly filterLead: "rolebox-dock-filter-lead"; readonly filterInput: "rolebox-dock-filter-input"; readonly filterClear: "rolebox-dock-filter-clear"; readonly count: "rolebox-dock-count"; readonly list: "rolebox-dock-list"; readonly row: "rolebox-dock-row"; readonly name: "rolebox-dock-name"; readonly meta: "rolebox-dock-meta"; readonly mark: "rolebox-dock-mark"; readonly markActive: "rolebox-dock-mark-active"; readonly empty: "rolebox-dock-empty"; readonly emptyTitle: "rolebox-dock-empty-title"; readonly emptyBody: "rolebox-dock-empty-body"; readonly emptyAction: "rolebox-dock-empty-action"; }; //# sourceMappingURL=role-switch-dock.css.d.ts.map