@alto-avios/alto-ui 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- ._button_9pg0y_1{background:var(--alto-sem-color-bg-accent-vibrant-default);border:none;border-radius:var(--alto-button-md-radius);box-sizing:border-box;color:var(--alto-sem-color-fg-accent-on-vibrant);cursor:pointer;font-family:var(--alto-sem-text-body-font-family);font-style:normal;font-weight:500;justify-content:center;padding:var(--alto-sem-space-xs) var(--alto-sem-space-md);text-decoration:none}._button_9pg0y_1,._button_9pg0y_1 ._content_9pg0y_19{align-items:center;display:inline-flex;gap:var(--alto-sem-space-2xs)}._isNotLoading_9pg0y_28 ._loadingSpinner_9pg0y_28{opacity:0;position:absolute}._isNotLoading_9pg0y_28 ._content_9pg0y_19{opacity:1}._isLoading_9pg0y_37 ._loadingSpinner_9pg0y_28{opacity:1;position:absolute}._isLoading_9pg0y_37 ._content_9pg0y_19{opacity:0}._focusWhite_9pg0y_49[data-focus-visible]{outline-color:var(--alto-sem-color-border-white)}._sm_9pg0y_56{font-size:var(--alto-sem-text-label-sm-font-size);letter-spacing:var(--alto-sem-text-label-sm-letter-spacing);line-height:var(--alto-sem-text-label-sm-line-height);min-height:36px;padding:var(--alto-button-sm-padding-top) var(--alto-sem-space-md) var(--alto-button-sm-padding-bottom)}._md_9pg0y_65{font-size:var(--alto-sem-text-label-md-font-size);letter-spacing:var(--alto-sem-text-label-md-letter-spacing);line-height:var(--alto-sem-text-label-md-line-height);min-height:48px;padding:var(--alto-button-md-padding-top) var(--alto-sem-space-lg) var(--alto-button-md-padding-bottom)}._lg_9pg0y_74{font-size:var(--alto-sem-text-label-lg-font-size);height:55px;letter-spacing:var(--alto-sem-text-label-lg-letter-spacing);line-height:var(--alto-sem-text-label-lg-line-height);padding:var(--alto-button-lg-padding-top) var(--alto-sem-space-lg) var(--alto-button-lg-padding-bottom)}._fullWidth_9pg0y_83{width:100%}._textAlignLeft_9pg0y_90{text-align:left}._textAlignCenter_9pg0y_94{text-align:center}._textAlignRight_9pg0y_98{text-align:right}._accentPrimary_9pg0y_106[data-focused],._accentPrimary_9pg0y_106[data-hovered]{background:var(--alto-sem-color-bg-accent-vibrant-hover)}._accentPrimary_9pg0y_106[data-pressed]{background:var(--alto-sem-color-bg-accent-vibrant-active)}._accentPrimary_9pg0y_106[data-pressed][data-focused]{outline:none}._accentPrimary_9pg0y_106:disabled,._accentPrimary_9pg0y_106[aria-disabled]{background:var(--alto-sem-color-bg-disabled-vibrant);cursor:not-allowed;pointer-events:auto}._accentSecondary_9pg0y_126{background-color:transparent;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-accent);color:var(--alto-sem-color-fg-accent-primary)}._accentSecondary_9pg0y_126[data-focused],._accentSecondary_9pg0y_126[data-hovered]{background:var(--alto-sem-color-bg-accent-subtle-hover)}._accentSecondary_9pg0y_126[data-pressed]{background:var(--alto-sem-color-bg-accent-subtle-active)}._accentSecondary_9pg0y_126[data-pressed][data-focused]{outline:none}._accentSecondary_9pg0y_126:disabled,._accentSecondary_9pg0y_126[aria-disabled]{background:none;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-disabled-vibrant);color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._accentTertiary_9pg0y_156{background:var(--alto-sem-color-bg-accent-subtle-default);color:var(--alto-sem-color-fg-accent-primary)}._accentTertiary_9pg0y_156[data-focused],._accentTertiary_9pg0y_156[data-hovered]{background:var(--alto-sem-color-bg-accent-subtle-hover)}._accentTertiary_9pg0y_156[data-pressed]{background:var(--alto-sem-color-bg-accent-subtle-active)}._accentTertiary_9pg0y_156[data-pressed][data-focused]{outline:none}._accentTertiary_9pg0y_156:disabled,._accentTertiary_9pg0y_156[aria-disabled]{background:var(--alto-sem-color-bg-disabled-subtle);color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._accentQuaternary_9pg0y_182{background:none;color:var(--alto-sem-color-fg-accent-primary)}._accentQuaternary_9pg0y_182[data-focused],._accentQuaternary_9pg0y_182[data-hovered]{background:var(--alto-sem-color-bg-accent-subtle-hover)}._accentQuaternary_9pg0y_182[data-pressed]{background:var(--alto-sem-color-bg-accent-subtle-active)}._accentQuaternary_9pg0y_182[data-pressed][data-focused]{outline:none}._accentQuaternary_9pg0y_182:disabled,._accentQuaternary_9pg0y_182[aria-disabled]{color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._criticalPrimary_9pg0y_208{background:var(--alto-sem-color-bg-critical-vibrant-default);color:var(--alto-sem-color-fg-critical-on-vibrant)}._criticalPrimary_9pg0y_208[data-focused],._criticalPrimary_9pg0y_208[data-hovered]{background:var(--alto-sem-color-bg-critical-vibrant-hover)}._criticalPrimary_9pg0y_208[data-pressed]{background:var(--alto-sem-color-bg-critical-vibrant-active)}._criticalPrimary_9pg0y_208[data-pressed][data-focused]{outline:none}._criticalPrimary_9pg0y_208:disabled,._criticalPrimary_9pg0y_208[aria-disabled]{background:var(--alto-sem-color-bg-disabled-vibrant);cursor:not-allowed;pointer-events:auto}._criticalSecondary_9pg0y_233{background:transparent;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-critical);color:var(--alto-sem-color-fg-critical-primary)}._criticalSecondary_9pg0y_233[data-focused],._criticalSecondary_9pg0y_233[data-hovered]{background:var(--alto-sem-color-bg-critical-subtle-hover)}._criticalSecondary_9pg0y_233[data-pressed]{background:var(--alto-sem-color-bg-critical-subtle-active)}._criticalSecondary_9pg0y_233[data-pressed][data-focused]{outline:none}._criticalSecondary_9pg0y_233:disabled,._criticalSecondary_9pg0y_233[aria-disabled]{background:none;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-disabled-vibrant);color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._criticalTertiary_9pg0y_263{background:var(--alto-sem-color-bg-critical-subtle-default);color:var(--alto-sem-color-fg-critical-primary)}._criticalTertiary_9pg0y_263[data-focused],._criticalTertiary_9pg0y_263[data-hovered]{background:var(--alto-sem-color-bg-critical-subtle-hover)}._criticalTertiary_9pg0y_263[data-pressed]{background:var(--alto-sem-color-bg-critical-subtle-active)}._criticalTertiary_9pg0y_263[data-pressed][data-focused]{outline:none}._criticalTertiary_9pg0y_263:disabled,._criticalTertiary_9pg0y_263[aria-disabled]{background:var(--alto-sem-color-bg-disabled-subtle);color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._criticalQuaternary_9pg0y_289{background:none;color:var(--alto-sem-color-fg-critical-primary)}._criticalQuaternary_9pg0y_289[data-focused],._criticalQuaternary_9pg0y_289[data-hovered]{background:var(--alto-sem-color-bg-critical-subtle-hover)}._criticalQuaternary_9pg0y_289[data-pressed]{background:var(--alto-sem-color-bg-critical-subtle-active)}._criticalQuaternary_9pg0y_289[data-pressed][data-focused]{outline:none}._criticalQuaternary_9pg0y_289:disabled,._criticalQuaternary_9pg0y_289[aria-disabled]{background:none;color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._neutralPrimary_9pg0y_316{background:var(--alto-sem-color-bg-inverse-vibrant-default);color:var(--alto-sem-color-fg-inverse-on-vibrant)}._neutralPrimary_9pg0y_316[data-focused],._neutralPrimary_9pg0y_316[data-hovered]{background:var(--alto-sem-color-bg-inverse-vibrant-hover)}._neutralPrimary_9pg0y_316[data-pressed]{background:var(--alto-sem-color-bg-inverse-vibrant-active)}._neutralPrimary_9pg0y_316[data-pressed][data-focused]{outline:none}._neutralPrimary_9pg0y_316:disabled,._neutralPrimary_9pg0y_316[aria-disabled]{background:var(--alto-sem-color-bg-disabled-vibrant);cursor:not-allowed;pointer-events:auto}._neutralSecondary_9pg0y_341{background:transparent;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-inverse);color:var(--alto-sem-color-fg-inverse-on-subtle)}._neutralSecondary_9pg0y_341[data-focused],._neutralSecondary_9pg0y_341[data-hovered]{background:var(--alto-sem-color-bg-inverse-subtle-hover)}._neutralSecondary_9pg0y_341[data-pressed]{background:var(--alto-sem-color-bg-inverse-subtle-active)}._neutralSecondary_9pg0y_341[data-pressed][data-focused]{outline:none}._neutralSecondary_9pg0y_341:disabled,._neutralSecondary_9pg0y_341[aria-disabled]{background:none;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-disabled-vibrant);cursor:not-allowed;pointer-events:auto}._neutralTertiary_9pg0y_370{background:var(--alto-sem-color-bg-inverse-subtle-default);color:var(--alto-sem-color-fg-primary)}._neutralTertiary_9pg0y_370[data-focused],._neutralTertiary_9pg0y_370[data-hovered]{background:var(--alto-sem-color-bg-inverse-subtle-hover)}._neutralTertiary_9pg0y_370[data-pressed]{background:var(--alto-sem-color-bg-inverse-subtle-active)}._neutralTertiary_9pg0y_370[data-pressed][data-focused]{outline:none}._neutralTertiary_9pg0y_370:disabled,._neutralTertiary_9pg0y_370[aria-disabled]{background:var(--alto-sem-color-bg-disabled-subtle);color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._neutralQuaternary_9pg0y_396{background:none;color:var(--alto-sem-color-fg-primary)}._neutralQuaternary_9pg0y_396[data-focused],._neutralQuaternary_9pg0y_396[data-hovered]{background:var(--alto-sem-color-bg-inverse-subtle-hover)}._neutralQuaternary_9pg0y_396[data-pressed]{background:var(--alto-sem-color-bg-inverse-subtle-active)}._neutralQuaternary_9pg0y_396[data-pressed][data-focused]{outline:none}._neutralQuaternary_9pg0y_396:disabled,._neutralQuaternary_9pg0y_396[aria-disabled]{background:none;color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._whitePrimary_9pg0y_423{background:var(--alto-sem-color-bg-white-vibrant-default);color:var(--alto-sem-color-fg-white-on-vibrant)}._whitePrimary_9pg0y_423[data-focused],._whitePrimary_9pg0y_423[data-hovered]{background:var(--alto-sem-color-bg-white-vibrant-hover)}._whitePrimary_9pg0y_423[data-pressed]{background:var(--alto-sem-color-bg-white-vibrant-active)}._whitePrimary_9pg0y_423[data-pressed][data-focused]{outline:none}._whitePrimary_9pg0y_423:disabled,._whitePrimary_9pg0y_423[aria-disabled]{background:#ffffff52;color:var(--alto-sem-color-fg-disabled-on-vibrant);cursor:not-allowed;pointer-events:auto}._whiteSecondary_9pg0y_449{background:transparent;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-white);color:var(--alto-sem-color-fg-white-on-subtle)}._whiteSecondary_9pg0y_449[data-focused],._whiteSecondary_9pg0y_449[data-hovered]{background:var(--alto-sem-color-overlay-state-darken-hover)}._whiteSecondary_9pg0y_449[data-pressed]{background:var(--alto-sem-color-overlay-state-darken-active)}._whiteSecondary_9pg0y_449[data-pressed][data-focused]{outline:none}._whiteSecondary_9pg0y_449[data-focused]{outline-color:var(--alto-sem-color-border-white)}._whiteSecondary_9pg0y_449:disabled,._whiteSecondary_9pg0y_449[aria-disabled]{background:none;border:var(--alto-sem-border-width-sm) solid hsla(0,0%,100%,.32);color:#ffffff52;cursor:not-allowed;pointer-events:auto}._whiteTertiary_9pg0y_482{background:var(--alto-sem-color-bg-white-subtle-default);color:var(--alto-sem-color-fg-white-on-subtle)}._whiteTertiary_9pg0y_482[data-focused],._whiteTertiary_9pg0y_482[data-hovered]{background:var(--alto-sem-color-bg-white-subtle-hover)}._whiteTertiary_9pg0y_482[data-pressed]{background:var(--alto-sem-color-bg-white-subtle-active)}._whiteTertiary_9pg0y_482[data-pressed][data-focused]{outline:none}._whiteTertiary_9pg0y_482[data-focused]{outline-color:var(--alto-sem-color-border-white)}._whiteTertiary_9pg0y_482:disabled,._whiteTertiary_9pg0y_482[aria-disabled]{background:#0000000d;color:#ffffff52;cursor:not-allowed;pointer-events:auto}._whiteQuaternary_9pg0y_512{background:none;color:var(--alto-sem-color-fg-white-primary)}._whiteQuaternary_9pg0y_512[data-focused],._whiteQuaternary_9pg0y_512[data-hovered]{background:var(--alto-sem-color-bg-white-subtle-hover)}._whiteQuaternary_9pg0y_512[data-pressed]{background:var(--alto-sem-color-bg-white-subtle-active)}._whiteQuaternary_9pg0y_512[data-pressed][data-focused]{outline:none}._whiteQuaternary_9pg0y_512[data-focused]{outline-color:var(--alto-sem-color-border-white)}._whiteQuaternary_9pg0y_512:disabled,._whiteQuaternary_9pg0y_512[aria-disabled]{background:none;color:#ffffff52;cursor:not-allowed;pointer-events:auto}._fa-spinner-third_9pg0y_544{height:1rem;width:1rem}._icon-wrapper_9pg0y_549{all:unset;align-items:center;display:flex;height:1em;justify-content:center;width:1em}
1
+ ._button_18yvx_1{background:var(--alto-sem-color-bg-accent-vibrant-default);border:none;border-radius:var(--alto-button-md-radius);box-sizing:border-box;color:var(--alto-sem-color-fg-accent-on-vibrant);cursor:pointer;font-family:var(--alto-sem-text-body-font-family);font-style:normal;font-weight:500;justify-content:center;padding:var(--alto-sem-space-xs) var(--alto-sem-space-md);text-decoration:none}._button_18yvx_1,._button_18yvx_1 ._content_18yvx_19{align-items:center;display:inline-flex;gap:var(--alto-sem-space-2xs)}._isNotLoading_18yvx_28 ._loadingSpinner_18yvx_28{opacity:0;position:absolute}._isNotLoading_18yvx_28 ._content_18yvx_19{opacity:1}._isLoading_18yvx_37 ._loadingSpinner_18yvx_28{opacity:1;position:absolute}._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg{color:var(--alto-sem-color-fg-accent-on-vibrant)}._isLoading_18yvx_37 ._content_18yvx_19{opacity:0}._focusWhite_18yvx_53[data-focus-visible]{outline-color:var(--alto-sem-color-border-white)}._sm_18yvx_60{font-size:var(--alto-sem-text-label-sm-font-size);letter-spacing:var(--alto-sem-text-label-sm-letter-spacing);line-height:var(--alto-sem-text-label-sm-line-height);min-height:36px;padding:var(--alto-button-sm-padding-top) var(--alto-sem-space-md) var(--alto-button-sm-padding-bottom)}._md_18yvx_69{font-size:var(--alto-sem-text-label-md-font-size);letter-spacing:var(--alto-sem-text-label-md-letter-spacing);line-height:var(--alto-sem-text-label-md-line-height);min-height:48px;padding:var(--alto-button-md-padding-top) var(--alto-sem-space-lg) var(--alto-button-md-padding-bottom)}._lg_18yvx_78{font-size:var(--alto-sem-text-label-lg-font-size);height:55px;letter-spacing:var(--alto-sem-text-label-lg-letter-spacing);line-height:var(--alto-sem-text-label-lg-line-height);padding:var(--alto-button-lg-padding-top) var(--alto-sem-space-lg) var(--alto-button-lg-padding-bottom)}._fullWidth_18yvx_87{width:100%}._textAlignLeft_18yvx_94{text-align:left}._textAlignCenter_18yvx_98{text-align:center}._textAlignRight_18yvx_102{text-align:right}._accentPrimary_18yvx_110[data-focused],._accentPrimary_18yvx_110[data-hovered]{background:var(--alto-sem-color-bg-accent-vibrant-hover)}._accentPrimary_18yvx_110[data-pressed]{background:var(--alto-sem-color-bg-accent-vibrant-active)}._accentPrimary_18yvx_110[data-pressed][data-focused]{outline:none}._accentPrimary_18yvx_110:disabled,._accentPrimary_18yvx_110[aria-disabled]{background:var(--alto-sem-color-bg-disabled-vibrant);cursor:not-allowed;pointer-events:auto}._accentPrimary_18yvx_110._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg{color:var(--alto-sem-color-fg-accent-on-vibrant)}._accentSecondary_18yvx_134{background-color:transparent;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-accent);color:var(--alto-sem-color-fg-accent-primary)}._accentSecondary_18yvx_134[data-focused],._accentSecondary_18yvx_134[data-hovered]{background:var(--alto-sem-color-bg-accent-subtle-hover)}._accentSecondary_18yvx_134[data-pressed]{background:var(--alto-sem-color-bg-accent-subtle-active)}._accentSecondary_18yvx_134[data-pressed][data-focused]{outline:none}._accentSecondary_18yvx_134:disabled,._accentSecondary_18yvx_134[aria-disabled]{background:none;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-disabled-vibrant);color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._accentSecondary_18yvx_134._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg,._accentTertiary_18yvx_168{color:var(--alto-sem-color-fg-accent-primary)}._accentTertiary_18yvx_168{background:var(--alto-sem-color-bg-accent-subtle-default)}._accentTertiary_18yvx_168[data-focused],._accentTertiary_18yvx_168[data-hovered]{background:var(--alto-sem-color-bg-accent-subtle-hover)}._accentTertiary_18yvx_168[data-pressed]{background:var(--alto-sem-color-bg-accent-subtle-active)}._accentTertiary_18yvx_168[data-pressed][data-focused]{outline:none}._accentTertiary_18yvx_168:disabled,._accentTertiary_18yvx_168[aria-disabled]{background:var(--alto-sem-color-bg-disabled-subtle);color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._accentQuaternary_18yvx_198,._accentTertiary_18yvx_168._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg{color:var(--alto-sem-color-fg-accent-primary)}._accentQuaternary_18yvx_198{background:none}._accentQuaternary_18yvx_198[data-focused],._accentQuaternary_18yvx_198[data-hovered]{background:var(--alto-sem-color-bg-accent-subtle-hover)}._accentQuaternary_18yvx_198[data-pressed]{background:var(--alto-sem-color-bg-accent-subtle-active)}._accentQuaternary_18yvx_198[data-pressed][data-focused]{outline:none}._accentQuaternary_18yvx_198:disabled,._accentQuaternary_18yvx_198[aria-disabled]{color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._accentQuaternary_18yvx_198._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg{color:var(--alto-sem-color-fg-accent-primary)}._criticalPrimary_18yvx_228{background:var(--alto-sem-color-bg-critical-vibrant-default);color:var(--alto-sem-color-fg-critical-on-vibrant)}._criticalPrimary_18yvx_228[data-focused],._criticalPrimary_18yvx_228[data-hovered]{background:var(--alto-sem-color-bg-critical-vibrant-hover)}._criticalPrimary_18yvx_228[data-pressed]{background:var(--alto-sem-color-bg-critical-vibrant-active)}._criticalPrimary_18yvx_228[data-pressed][data-focused]{outline:none}._criticalPrimary_18yvx_228:disabled,._criticalPrimary_18yvx_228[aria-disabled]{background:var(--alto-sem-color-bg-disabled-vibrant);cursor:not-allowed;pointer-events:auto}._criticalSecondary_18yvx_253{background:transparent;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-critical);color:var(--alto-sem-color-fg-critical-primary)}._criticalSecondary_18yvx_253[data-focused],._criticalSecondary_18yvx_253[data-hovered]{background:var(--alto-sem-color-bg-critical-subtle-hover)}._criticalSecondary_18yvx_253[data-pressed]{background:var(--alto-sem-color-bg-critical-subtle-active)}._criticalSecondary_18yvx_253[data-pressed][data-focused]{outline:none}._criticalSecondary_18yvx_253:disabled,._criticalSecondary_18yvx_253[aria-disabled]{background:none;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-disabled-vibrant);color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._criticalSecondary_18yvx_253._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg,._criticalTertiary_18yvx_287{color:var(--alto-sem-color-fg-critical-primary)}._criticalTertiary_18yvx_287{background:var(--alto-sem-color-bg-critical-subtle-default)}._criticalTertiary_18yvx_287[data-focused],._criticalTertiary_18yvx_287[data-hovered]{background:var(--alto-sem-color-bg-critical-subtle-hover)}._criticalTertiary_18yvx_287[data-pressed]{background:var(--alto-sem-color-bg-critical-subtle-active)}._criticalTertiary_18yvx_287[data-pressed][data-focused]{outline:none}._criticalTertiary_18yvx_287:disabled,._criticalTertiary_18yvx_287[aria-disabled]{background:var(--alto-sem-color-bg-disabled-subtle);color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._criticalQuaternary_18yvx_317,._criticalTertiary_18yvx_287._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg{color:var(--alto-sem-color-fg-critical-primary)}._criticalQuaternary_18yvx_317{background:none}._criticalQuaternary_18yvx_317[data-focused],._criticalQuaternary_18yvx_317[data-hovered]{background:var(--alto-sem-color-bg-critical-subtle-hover)}._criticalQuaternary_18yvx_317[data-pressed]{background:var(--alto-sem-color-bg-critical-subtle-active)}._criticalQuaternary_18yvx_317[data-pressed][data-focused]{outline:none}._criticalQuaternary_18yvx_317:disabled,._criticalQuaternary_18yvx_317[aria-disabled]{background:none;color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._criticalQuaternary_18yvx_317._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg{color:var(--alto-sem-color-fg-critical-primary)}._neutralPrimary_18yvx_348{background:var(--alto-sem-color-bg-inverse-vibrant-default);color:var(--alto-sem-color-fg-inverse-on-vibrant)}._neutralPrimary_18yvx_348[data-focused],._neutralPrimary_18yvx_348[data-hovered]{background:var(--alto-sem-color-bg-inverse-vibrant-hover)}._neutralPrimary_18yvx_348[data-pressed]{background:var(--alto-sem-color-bg-inverse-vibrant-active)}._neutralPrimary_18yvx_348[data-pressed][data-focused]{outline:none}._neutralPrimary_18yvx_348:disabled,._neutralPrimary_18yvx_348[aria-disabled]{background:var(--alto-sem-color-bg-disabled-vibrant);cursor:not-allowed;pointer-events:auto}._neutralSecondary_18yvx_373{background:transparent;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-inverse);color:var(--alto-sem-color-fg-inverse-on-subtle)}._neutralSecondary_18yvx_373[data-focused],._neutralSecondary_18yvx_373[data-hovered]{background:var(--alto-sem-color-bg-inverse-subtle-hover)}._neutralSecondary_18yvx_373[data-pressed]{background:var(--alto-sem-color-bg-inverse-subtle-active)}._neutralSecondary_18yvx_373[data-pressed][data-focused]{outline:none}._neutralSecondary_18yvx_373:disabled,._neutralSecondary_18yvx_373[aria-disabled]{background:none;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-disabled-vibrant);cursor:not-allowed;pointer-events:auto}._neutralSecondary_18yvx_373._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg,._neutralTertiary_18yvx_406{color:var(--alto-sem-color-fg-primary)}._neutralTertiary_18yvx_406{background:var(--alto-sem-color-bg-inverse-subtle-default)}._neutralTertiary_18yvx_406[data-focused],._neutralTertiary_18yvx_406[data-hovered]{background:var(--alto-sem-color-bg-inverse-subtle-hover)}._neutralTertiary_18yvx_406[data-pressed]{background:var(--alto-sem-color-bg-inverse-subtle-active)}._neutralTertiary_18yvx_406[data-pressed][data-focused]{outline:none}._neutralTertiary_18yvx_406:disabled,._neutralTertiary_18yvx_406[aria-disabled]{background:var(--alto-sem-color-bg-disabled-subtle);color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._neutralQuaternary_18yvx_436,._neutralTertiary_18yvx_406._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg{color:var(--alto-sem-color-fg-primary)}._neutralQuaternary_18yvx_436{background:none}._neutralQuaternary_18yvx_436[data-focused],._neutralQuaternary_18yvx_436[data-hovered]{background:var(--alto-sem-color-bg-inverse-subtle-hover)}._neutralQuaternary_18yvx_436[data-pressed]{background:var(--alto-sem-color-bg-inverse-subtle-active)}._neutralQuaternary_18yvx_436[data-pressed][data-focused]{outline:none}._neutralQuaternary_18yvx_436:disabled,._neutralQuaternary_18yvx_436[aria-disabled]{background:none;color:var(--alto-sem-color-fg-disabled-primary);cursor:not-allowed;pointer-events:auto}._neutralQuaternary_18yvx_436._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg{color:var(--alto-sem-color-fg-primary)}._whitePrimary_18yvx_467{background:var(--alto-sem-color-bg-white-vibrant-default);color:var(--alto-sem-color-fg-white-on-vibrant)}._whitePrimary_18yvx_467[data-focused],._whitePrimary_18yvx_467[data-hovered]{background:var(--alto-sem-color-bg-white-vibrant-hover)}._whitePrimary_18yvx_467[data-pressed]{background:var(--alto-sem-color-bg-white-vibrant-active)}._whitePrimary_18yvx_467[data-pressed][data-focused]{outline:none}._whitePrimary_18yvx_467:disabled,._whitePrimary_18yvx_467[aria-disabled]{background:#ffffff52;color:var(--alto-sem-color-fg-disabled-on-vibrant);cursor:not-allowed;pointer-events:auto}._whitePrimary_18yvx_467._isLoading_18yvx_37 ._loadingSpinner_18yvx_28 svg{color:var(--alto-sem-color-fg-white-on-primary)}._whiteSecondary_18yvx_497{background:transparent;border:var(--alto-sem-border-width-sm) solid var(--alto-sem-color-border-white);color:var(--alto-sem-color-fg-white-on-subtle)}._whiteSecondary_18yvx_497[data-focused],._whiteSecondary_18yvx_497[data-hovered]{background:var(--alto-sem-color-overlay-state-darken-hover)}._whiteSecondary_18yvx_497[data-pressed]{background:var(--alto-sem-color-overlay-state-darken-active)}._whiteSecondary_18yvx_497[data-pressed][data-focused]{outline:none}._whiteSecondary_18yvx_497[data-focused]{outline-color:var(--alto-sem-color-border-white)}._whiteSecondary_18yvx_497:disabled,._whiteSecondary_18yvx_497[aria-disabled]{background:none;border:var(--alto-sem-border-width-sm) solid hsla(0,0%,100%,.32);color:#ffffff52;cursor:not-allowed;pointer-events:auto}._whiteTertiary_18yvx_530{background:var(--alto-sem-color-bg-white-subtle-default);color:var(--alto-sem-color-fg-white-on-subtle)}._whiteTertiary_18yvx_530[data-focused],._whiteTertiary_18yvx_530[data-hovered]{background:var(--alto-sem-color-bg-white-subtle-hover)}._whiteTertiary_18yvx_530[data-pressed]{background:var(--alto-sem-color-bg-white-subtle-active)}._whiteTertiary_18yvx_530[data-pressed][data-focused]{outline:none}._whiteTertiary_18yvx_530[data-focused]{outline-color:var(--alto-sem-color-border-white)}._whiteTertiary_18yvx_530:disabled,._whiteTertiary_18yvx_530[aria-disabled]{background:#0000000d;color:#ffffff52;cursor:not-allowed;pointer-events:auto}._whiteQuaternary_18yvx_560{background:none;color:var(--alto-sem-color-fg-white-primary)}._whiteQuaternary_18yvx_560[data-focused],._whiteQuaternary_18yvx_560[data-hovered]{background:var(--alto-sem-color-bg-white-subtle-hover)}._whiteQuaternary_18yvx_560[data-pressed]{background:var(--alto-sem-color-bg-white-subtle-active)}._whiteQuaternary_18yvx_560[data-pressed][data-focused]{outline:none}._whiteQuaternary_18yvx_560[data-focused]{outline-color:var(--alto-sem-color-border-white)}._whiteQuaternary_18yvx_560:disabled,._whiteQuaternary_18yvx_560[aria-disabled]{background:none;color:#ffffff52;cursor:not-allowed;pointer-events:auto}._fa-spinner-third_18yvx_592{height:1rem;width:1rem}._icon-wrapper_18yvx_597{all:unset;align-items:center;display:flex;height:1em;justify-content:center;width:1em}
@@ -1 +1 @@
1
- ._calloutBanner_kxqgt_1{border-radius:var(--alto-card-radius);border-style:solid;border-width:var(--alto-sem-border-width-sm);display:flex;flex-direction:column;overflow:hidden;text-align:left;width:100%}._calloutBanner__icon_kxqgt_12{align-self:flex-start}._calloutBanner__start_kxqgt_16{display:flex;flex-direction:row;gap:var(--alto-sem-space-xs);padding:var(--alto-sem-space-xs);position:relative}._calloutBanner__dismiss_kxqgt_24{position:absolute;right:var(--alto-sem-space-xs);top:var(--alto-sem-space-xs)}._calloutBanner__meta_kxqgt_30{align-items:flex-start;display:flex;flex-direction:column;font-family:var(--alto-sem-text-body-font-family);font-size:var(--alto-sem-text-body-sm-font-size);font-style:normal;justify-content:center;letter-spacing:var(--alto-sem-text-body-sm-letter-spacing);line-height:var(--alto-sem-text-body-sm-line-height);overflow-wrap:break-word;width:100%;word-wrap:break-word;word-break:break-word}._calloutBanner__meta-top_kxqgt_46{align-items:flex-start;display:flex;flex-direction:column;flex-wrap:wrap;text-wrap:wrap}._calloutBanner__meta-top-dismiss_kxqgt_54{padding-right:var(--alto-sem-space-3xl)}._calloutBanner__meta-title_kxqgt_58{font-weight:600}._calloutBanner__meta-description_kxqgt_62{margin-top:var(--alto-sem-space-4xs)}._calloutBanner__meta-label_kxqgt_66{margin-top:var(--alto-sem-space-xs)}._calloutBanner__start_kxqgt_16{border-bottom:var(--alto-sem-border-width-sm) solid transparent;color:var(--alto-sem-color-fg-critical-on-vibrant)}._calloutBanner__end_kxqgt_75{background-color:var(--alto-sem-color-bg-layer2-default);display:flex;justify-content:flex-start;padding:var(--alto-sem-space-sm,16px)}._calloutBanner-critical_kxqgt_83{border-color:var(--alto-sem-color-border-critical)}._calloutBanner-primary_kxqgt_87._calloutBanner-critical_kxqgt_83 ._calloutBanner__start_kxqgt_16{background:var(--alto-sem-color-bg-critical-vibrant-default)}._calloutBanner-secondary_kxqgt_91._calloutBanner-critical_kxqgt_83 ._calloutBanner__start_kxqgt_16{background:var(--alto-sem-color-bg-critical-subtle-default);color:var(--alto-sem-color-fg-primary)}._calloutBanner-secondary_kxqgt_91._calloutBanner-critical_kxqgt_83 ._calloutBanner__end_kxqgt_75{border-top:1px solid var(--alto-sem-color-border-critical)}._calloutBanner-tertiary_kxqgt_100._calloutBanner-critical_kxqgt_83 ._calloutBanner__start_kxqgt_16{background:transparent;color:var(--alto-sem-color-fg-primary)}._calloutBanner-critical_kxqgt_83:not(._calloutBanner-primary_kxqgt_87) ._calloutBanner__icon_kxqgt_12{color:var(--alto-sem-color-fg-critical-primary)}._calloutBanner-success_kxqgt_109{border-color:var(--alto-sem-color-border-success)}._calloutBanner-primary_kxqgt_87._calloutBanner-success_kxqgt_109 ._calloutBanner__start_kxqgt_16{background:var(--alto-sem-color-bg-success-vibrant-default)}._calloutBanner-secondary_kxqgt_91._calloutBanner-success_kxqgt_109 ._calloutBanner__start_kxqgt_16{background:var(--alto-sem-color-bg-success-subtle-default);color:var(--alto-sem-color-fg-primary)}._calloutBanner-secondary_kxqgt_91._calloutBanner-success_kxqgt_109 ._calloutBanner__end_kxqgt_75{border-top:1px solid var(--alto-sem-color-border-success)}._calloutBanner-tertiary_kxqgt_100._calloutBanner-success_kxqgt_109 ._calloutBanner__start_kxqgt_16{background:transparent;color:var(--alto-sem-color-fg-primary)}._calloutBanner-success_kxqgt_109:not(._calloutBanner-primary_kxqgt_87) ._calloutBanner__icon_kxqgt_12{color:var(--alto-sem-color-fg-success-primary)}._calloutBanner-information_kxqgt_135{border-color:var(--alto-sem-color-border-information)}._calloutBanner-primary_kxqgt_87._calloutBanner-information_kxqgt_135 ._calloutBanner__start_kxqgt_16{background:var(--alto-sem-color-bg-information-vibrant-default)}._calloutBanner-secondary_kxqgt_91._calloutBanner-information_kxqgt_135 ._calloutBanner__start_kxqgt_16{background:var(--alto-sem-color-bg-information-subtle-default);color:var(--alto-sem-color-fg-primary)}._calloutBanner-secondary_kxqgt_91._calloutBanner-information_kxqgt_135 ._calloutBanner__end_kxqgt_75{border-top:1px solid var(--alto-sem-color-border-information)}._calloutBanner-tertiary_kxqgt_100._calloutBanner-information_kxqgt_135 ._calloutBanner__start_kxqgt_16{background:transparent;color:var(--alto-sem-color-fg-primary)}._calloutBanner-information_kxqgt_135:not(._calloutBanner-primary_kxqgt_87) ._calloutBanner__icon_kxqgt_12{color:var(--alto-sem-color-fg-information-primary)}._calloutBanner-neutral_kxqgt_161{border-color:var(--alto-sem-color-border-secondary)}._calloutBanner-primary_kxqgt_87._calloutBanner-neutral_kxqgt_161 ._calloutBanner__start_kxqgt_16{background:var(--alto-sem-color-bg-inverse-vibrant-default)}._calloutBanner-secondary_kxqgt_91._calloutBanner-neutral_kxqgt_161 ._calloutBanner__start_kxqgt_16{background:var(--alto-sem-color-bg-layer1-default);color:var(--alto-sem-color-fg-primary)}._calloutBanner-secondary_kxqgt_91._calloutBanner-neutral_kxqgt_161 ._calloutBanner__end_kxqgt_75{border-top:1px solid var(--alto-sem-color-border-secondary)}._calloutBanner-tertiary_kxqgt_100._calloutBanner-neutral_kxqgt_161 ._calloutBanner__start_kxqgt_16{background:transparent;color:var(--alto-sem-color-fg-primary)}._calloutBanner-neutral_kxqgt_161:not(._calloutBanner-primary_kxqgt_87) ._calloutBanner__icon_kxqgt_12{color:var(--alto-sem-color-fg-neutral-primary)}._calloutBanner-tertiary_kxqgt_100{border-color:transparent}._calloutBanner-tertiary_kxqgt_100 ._calloutBanner__end_kxqgt_75{border-radius:var(--alto-card-radius)}
1
+ ._calloutBanner_confe_1{border-radius:var(--alto-card-radius);border-style:solid;border-width:var(--alto-sem-border-width-sm);display:flex;flex-direction:column;overflow:hidden;text-align:left;width:100%}._calloutBanner__icon_confe_12{align-self:flex-start}._calloutBanner__start_confe_16{border-bottom:var(--alto-sem-border-width-sm) solid transparent;color:var(--alto-sem-color-fg-critical-on-vibrant);display:flex;flex-direction:row;gap:var(--alto-sem-space-xs);padding:var(--alto-sem-space-xs);position:relative}._calloutBanner__end_confe_26{background-color:var(--alto-sem-color-bg-layer2-default);display:flex;justify-content:flex-start;padding:var(--alto-sem-space-sm)}._calloutBanner__dismiss_confe_33{position:absolute;right:var(--alto-sem-space-xs);top:var(--alto-sem-space-xs)}._calloutBanner__meta_confe_39{align-items:flex-start;display:flex;flex-direction:column;font-family:var(--alto-sem-text-body-font-family);font-size:var(--alto-sem-text-body-sm-font-size);font-style:normal;justify-content:center;letter-spacing:var(--alto-sem-text-body-sm-letter-spacing);line-height:var(--alto-sem-text-body-sm-line-height);overflow-wrap:break-word;width:100%;word-wrap:break-word;word-break:break-word}._calloutBanner__meta-content_confe_55{display:flex;flex-direction:column;gap:var(--alto-sem-space-xs);width:calc(100% - 36px)}._calloutBanner__meta-label_confe_62{display:flex}._calloutBanner__meta-right_confe_66{flex-direction:row;justify-content:space-between}._calloutBanner__meta-top_confe_71{align-items:flex-start;display:flex;flex-direction:column;flex-wrap:wrap;text-wrap:wrap}._calloutBanner__custom-asset_confe_79{max-width:52px}._calloutBanner__custom-asset_confe_79>:first-child{max-width:inherit}._calloutBanner__meta-top-dismiss_confe_87{padding-right:var(--alto-sem-space-3xl)}._calloutBanner__meta-title_confe_91{font-weight:600}._calloutBanner__meta-description_confe_95{margin-top:var(--alto-sem-space-4xs)}._calloutBanner-critical_confe_100{border-color:var(--alto-sem-color-border-critical)}._calloutBanner-primary_confe_104._calloutBanner-critical_confe_100 ._calloutBanner__start_confe_16{background:var(--alto-sem-color-bg-critical-vibrant-default)}._calloutBanner-secondary_confe_108._calloutBanner-critical_confe_100 ._calloutBanner__start_confe_16{background:var(--alto-sem-color-bg-critical-subtle-default);color:var(--alto-sem-color-fg-primary)}._calloutBanner-secondary_confe_108._calloutBanner-critical_confe_100 ._calloutBanner__end_confe_26{border-top:1px solid var(--alto-sem-color-border-critical)}._calloutBanner-tertiary_confe_117._calloutBanner-critical_confe_100 ._calloutBanner__start_confe_16{background:transparent;color:var(--alto-sem-color-fg-primary)}._calloutBanner-critical_confe_100:not(._calloutBanner-primary_confe_104) ._calloutBanner__icon_confe_12{color:var(--alto-sem-color-fg-critical-primary)}._calloutBanner-success_confe_126{border-color:var(--alto-sem-color-border-success)}._calloutBanner-primary_confe_104._calloutBanner-success_confe_126 ._calloutBanner__start_confe_16{background:var(--alto-sem-color-bg-success-vibrant-default)}._calloutBanner-secondary_confe_108._calloutBanner-success_confe_126 ._calloutBanner__start_confe_16{background:var(--alto-sem-color-bg-success-subtle-default);color:var(--alto-sem-color-fg-primary)}._calloutBanner-secondary_confe_108._calloutBanner-success_confe_126 ._calloutBanner__end_confe_26{border-top:1px solid var(--alto-sem-color-border-success)}._calloutBanner-tertiary_confe_117._calloutBanner-success_confe_126 ._calloutBanner__start_confe_16{background:transparent;color:var(--alto-sem-color-fg-primary)}._calloutBanner-success_confe_126:not(._calloutBanner-primary_confe_104) ._calloutBanner__icon_confe_12{color:var(--alto-sem-color-fg-success-primary)}._calloutBanner-information_confe_152{border-color:var(--alto-sem-color-border-information)}._calloutBanner-primary_confe_104._calloutBanner-information_confe_152 ._calloutBanner__start_confe_16{background:var(--alto-sem-color-bg-information-vibrant-default)}._calloutBanner-secondary_confe_108._calloutBanner-information_confe_152 ._calloutBanner__start_confe_16{background:var(--alto-sem-color-bg-information-subtle-default);color:var(--alto-sem-color-fg-primary)}._calloutBanner-secondary_confe_108._calloutBanner-information_confe_152 ._calloutBanner__end_confe_26{border-top:1px solid var(--alto-sem-color-border-information)}._calloutBanner-tertiary_confe_117._calloutBanner-information_confe_152 ._calloutBanner__start_confe_16{background:transparent;color:var(--alto-sem-color-fg-primary)}._calloutBanner-information_confe_152:not(._calloutBanner-primary_confe_104) ._calloutBanner__icon_confe_12{color:var(--alto-sem-color-fg-information-primary)}._calloutBanner-neutral_confe_178{border-color:var(--alto-sem-color-border-secondary)}._calloutBanner-primary_confe_104._calloutBanner-neutral_confe_178 ._calloutBanner__start_confe_16{background:var(--alto-sem-color-bg-inverse-vibrant-default)}._calloutBanner-secondary_confe_108._calloutBanner-neutral_confe_178 ._calloutBanner__start_confe_16{background:var(--alto-sem-color-bg-layer1-default);color:var(--alto-sem-color-fg-primary)}._calloutBanner-secondary_confe_108._calloutBanner-neutral_confe_178 ._calloutBanner__end_confe_26{border-top:1px solid var(--alto-sem-color-border-secondary)}._calloutBanner-tertiary_confe_117._calloutBanner-neutral_confe_178 ._calloutBanner__start_confe_16{background:transparent;color:var(--alto-sem-color-fg-primary)}._calloutBanner-neutral_confe_178:not(._calloutBanner-primary_confe_104) ._calloutBanner__icon_confe_12{color:var(--alto-sem-color-fg-neutral-primary)}._calloutBanner-tertiary_confe_117{border-color:transparent;gap:var(--alto-sem-space-4xs)}._calloutBanner-tertiary_confe_117 ._calloutBanner__start_confe_16{padding:0}._calloutBanner-tertiary_confe_117 ._calloutBanner__end_confe_26{border-radius:var(--alto-card-radius)}
@@ -8,35 +8,35 @@ import { useFocusRing } from "@react-aria/focus";
8
8
  import { Icon } from "../Icon/Icon.js";
9
9
  import LoadingSpinner from "../LoadingSpinner/LoadingSpinner.js";
10
10
  import { focusStyleVariants } from "../../utils/focus/focusStyles.js";
11
- import '../../assets/Button.css';const button$1 = "_button_9pg0y_1";
12
- const content = "_content_9pg0y_19";
13
- const isNotLoading = "_isNotLoading_9pg0y_28";
14
- const loadingSpinner = "_loadingSpinner_9pg0y_28";
15
- const isLoading = "_isLoading_9pg0y_37";
16
- const focusWhite = "_focusWhite_9pg0y_49";
17
- const sm = "_sm_9pg0y_56";
18
- const md = "_md_9pg0y_65";
19
- const lg = "_lg_9pg0y_74";
20
- const fullWidth = "_fullWidth_9pg0y_83";
21
- const textAlignLeft = "_textAlignLeft_9pg0y_90";
22
- const textAlignCenter = "_textAlignCenter_9pg0y_94";
23
- const textAlignRight = "_textAlignRight_9pg0y_98";
24
- const accentPrimary = "_accentPrimary_9pg0y_106";
25
- const accentSecondary = "_accentSecondary_9pg0y_126";
26
- const accentTertiary = "_accentTertiary_9pg0y_156";
27
- const accentQuaternary = "_accentQuaternary_9pg0y_182";
28
- const criticalPrimary = "_criticalPrimary_9pg0y_208";
29
- const criticalSecondary = "_criticalSecondary_9pg0y_233";
30
- const criticalTertiary = "_criticalTertiary_9pg0y_263";
31
- const criticalQuaternary = "_criticalQuaternary_9pg0y_289";
32
- const neutralPrimary = "_neutralPrimary_9pg0y_316";
33
- const neutralSecondary = "_neutralSecondary_9pg0y_341";
34
- const neutralTertiary = "_neutralTertiary_9pg0y_370";
35
- const neutralQuaternary = "_neutralQuaternary_9pg0y_396";
36
- const whitePrimary = "_whitePrimary_9pg0y_423";
37
- const whiteSecondary = "_whiteSecondary_9pg0y_449";
38
- const whiteTertiary = "_whiteTertiary_9pg0y_482";
39
- const whiteQuaternary = "_whiteQuaternary_9pg0y_512";
11
+ import '../../assets/Button.css';const button$1 = "_button_18yvx_1";
12
+ const content = "_content_18yvx_19";
13
+ const isNotLoading = "_isNotLoading_18yvx_28";
14
+ const loadingSpinner = "_loadingSpinner_18yvx_28";
15
+ const isLoading = "_isLoading_18yvx_37";
16
+ const focusWhite = "_focusWhite_18yvx_53";
17
+ const sm = "_sm_18yvx_60";
18
+ const md = "_md_18yvx_69";
19
+ const lg = "_lg_18yvx_78";
20
+ const fullWidth = "_fullWidth_18yvx_87";
21
+ const textAlignLeft = "_textAlignLeft_18yvx_94";
22
+ const textAlignCenter = "_textAlignCenter_18yvx_98";
23
+ const textAlignRight = "_textAlignRight_18yvx_102";
24
+ const accentPrimary = "_accentPrimary_18yvx_110";
25
+ const accentSecondary = "_accentSecondary_18yvx_134";
26
+ const accentTertiary = "_accentTertiary_18yvx_168";
27
+ const accentQuaternary = "_accentQuaternary_18yvx_198";
28
+ const criticalPrimary = "_criticalPrimary_18yvx_228";
29
+ const criticalSecondary = "_criticalSecondary_18yvx_253";
30
+ const criticalTertiary = "_criticalTertiary_18yvx_287";
31
+ const criticalQuaternary = "_criticalQuaternary_18yvx_317";
32
+ const neutralPrimary = "_neutralPrimary_18yvx_348";
33
+ const neutralSecondary = "_neutralSecondary_18yvx_373";
34
+ const neutralTertiary = "_neutralTertiary_18yvx_406";
35
+ const neutralQuaternary = "_neutralQuaternary_18yvx_436";
36
+ const whitePrimary = "_whitePrimary_18yvx_467";
37
+ const whiteSecondary = "_whiteSecondary_18yvx_497";
38
+ const whiteTertiary = "_whiteTertiary_18yvx_530";
39
+ const whiteQuaternary = "_whiteQuaternary_18yvx_560";
40
40
  const styles = {
41
41
  button: button$1,
42
42
  content,
@@ -1,21 +1,60 @@
1
1
  import { default as React } from 'react';
2
- import { VariantProps } from 'class-variance-authority';
3
- declare const calloutBanner: (props?: ({
4
- emphasis?: "primary" | "secondary" | "tertiary" | null | undefined;
5
- styleVariant?: "neutral" | "critical" | "success" | "information" | null | undefined;
6
- } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
- type CalloutBannerVariants = VariantProps<typeof calloutBanner>;
8
- export interface CalloutBannerProps extends CalloutBannerVariants {
9
- /** The main heading text of the banner */
2
+ export interface CalloutBannerProps {
3
+ /**
4
+ * The main heading text of the banner
5
+ */
10
6
  title: string;
11
- /** Optional secondary text providing more details */
7
+ /**
8
+ * Optional secondary text providing more details
9
+ */
12
10
  description?: string;
13
- /** Optional button group to be rendered as a label */
11
+ /**
12
+ * Optional emphasis style for the banner
13
+ * @default 'primary'
14
+ */
15
+ emphasis?: 'primary' | 'secondary' | 'tertiary';
16
+ /**
17
+ * Optional style variant for the banner
18
+ * - 'critical' for errors, urgent warnings
19
+ * - 'success' for confirmations, achievements
20
+ * - 'information' for For general updates, tips
21
+ * - 'neutral' for non-critical messages, guidance
22
+ * @default 'critical'
23
+ */
24
+ styleVariant?: 'critical' | 'success' | 'information' | 'neutral';
25
+ /**
26
+ * Optional button group to be rendered as a label
27
+ */
14
28
  label?: React.ReactNode;
15
- /** Optional content to be rendered in the end section of the banner */
29
+ /**
30
+ * Optional label for the dismiss button tooltip
31
+ */
32
+ dismissButtonTooltipLabel?: string;
33
+ /**
34
+ * Optional content to be rendered in the end section of the banner
35
+ */
16
36
  children?: React.ReactNode;
17
- /** Optional callback function triggered when the dismiss button is clicked */
37
+ /**
38
+ * Optional callback function triggered when the dismiss button is clicked
39
+ */
18
40
  onDismiss?: () => void;
41
+ /**
42
+ * Optional custom asset to be rendered instead of the default icon.
43
+ * Can use another icon, image, or any React node.
44
+ */
45
+ customAsset?: React.ReactNode;
46
+ /**
47
+ * Optional prop to hide the illustration
48
+ * @default false
49
+ */
50
+ hideIllustration?: boolean;
51
+ /**
52
+ * Optional prop to align buttons within the banner
53
+ * - 'left' aligns buttons to the left
54
+ * - 'right' aligns buttons to the right
55
+ * @default 'left'
56
+ */
57
+ alignButtons?: 'left' | 'right';
19
58
  }
20
- export declare const CalloutBanner: ({ title, description, label, children, styleVariant, emphasis, onDismiss, }: CalloutBannerProps) => import("react/jsx-runtime").JSX.Element;
59
+ export declare const CalloutBanner: ({ title, description, label, children, styleVariant, emphasis, dismissButtonTooltipLabel, onDismiss, customAsset, hideIllustration, alignButtons, }: CalloutBannerProps) => import("react/jsx-runtime").JSX.Element;
21
60
  export default CalloutBanner;
@@ -3,31 +3,34 @@ import React from "react";
3
3
  import { Icon } from "../Icon/Icon.js";
4
4
  import { c as cva } from "../../index-DdUYounA.js";
5
5
  import { IconButton } from "../IconButton/IconButton.js";
6
- import '../../assets/CalloutBanner.css';const calloutBanner$1 = "_calloutBanner_kxqgt_1";
7
- const calloutBanner__icon = "_calloutBanner__icon_kxqgt_12";
8
- const calloutBanner__start = "_calloutBanner__start_kxqgt_16";
9
- const calloutBanner__dismiss = "_calloutBanner__dismiss_kxqgt_24";
10
- const calloutBanner__meta = "_calloutBanner__meta_kxqgt_30";
11
- const calloutBanner__end = "_calloutBanner__end_kxqgt_75";
6
+ import '../../assets/CalloutBanner.css';const calloutBanner$1 = "_calloutBanner_confe_1";
7
+ const calloutBanner__icon = "_calloutBanner__icon_confe_12";
8
+ const calloutBanner__start = "_calloutBanner__start_confe_16";
9
+ const calloutBanner__end = "_calloutBanner__end_confe_26";
10
+ const calloutBanner__dismiss = "_calloutBanner__dismiss_confe_33";
11
+ const calloutBanner__meta = "_calloutBanner__meta_confe_39";
12
12
  const styles = {
13
13
  calloutBanner: calloutBanner$1,
14
14
  calloutBanner__icon,
15
15
  calloutBanner__start,
16
+ calloutBanner__end,
16
17
  calloutBanner__dismiss,
17
18
  calloutBanner__meta,
18
- "calloutBanner__meta-top": "_calloutBanner__meta-top_kxqgt_46",
19
- "calloutBanner__meta-top-dismiss": "_calloutBanner__meta-top-dismiss_kxqgt_54",
20
- "calloutBanner__meta-title": "_calloutBanner__meta-title_kxqgt_58",
21
- "calloutBanner__meta-description": "_calloutBanner__meta-description_kxqgt_62",
22
- "calloutBanner__meta-label": "_calloutBanner__meta-label_kxqgt_66",
23
- calloutBanner__end,
24
- "calloutBanner-critical": "_calloutBanner-critical_kxqgt_83",
25
- "calloutBanner-primary": "_calloutBanner-primary_kxqgt_87",
26
- "calloutBanner-secondary": "_calloutBanner-secondary_kxqgt_91",
27
- "calloutBanner-tertiary": "_calloutBanner-tertiary_kxqgt_100",
28
- "calloutBanner-success": "_calloutBanner-success_kxqgt_109",
29
- "calloutBanner-information": "_calloutBanner-information_kxqgt_135",
30
- "calloutBanner-neutral": "_calloutBanner-neutral_kxqgt_161"
19
+ "calloutBanner__meta-content": "_calloutBanner__meta-content_confe_55",
20
+ "calloutBanner__meta-label": "_calloutBanner__meta-label_confe_62",
21
+ "calloutBanner__meta-right": "_calloutBanner__meta-right_confe_66",
22
+ "calloutBanner__meta-top": "_calloutBanner__meta-top_confe_71",
23
+ "calloutBanner__custom-asset": "_calloutBanner__custom-asset_confe_79",
24
+ "calloutBanner__meta-top-dismiss": "_calloutBanner__meta-top-dismiss_confe_87",
25
+ "calloutBanner__meta-title": "_calloutBanner__meta-title_confe_91",
26
+ "calloutBanner__meta-description": "_calloutBanner__meta-description_confe_95",
27
+ "calloutBanner-critical": "_calloutBanner-critical_confe_100",
28
+ "calloutBanner-primary": "_calloutBanner-primary_confe_104",
29
+ "calloutBanner-secondary": "_calloutBanner-secondary_confe_108",
30
+ "calloutBanner-tertiary": "_calloutBanner-tertiary_confe_117",
31
+ "calloutBanner-success": "_calloutBanner-success_confe_126",
32
+ "calloutBanner-information": "_calloutBanner-information_confe_152",
33
+ "calloutBanner-neutral": "_calloutBanner-neutral_confe_178"
31
34
  };
32
35
  const calloutBanner = cva(styles.calloutBanner, {
33
36
  variants: {
@@ -55,7 +58,11 @@ const CalloutBanner = ({
55
58
  children,
56
59
  styleVariant = "critical",
57
60
  emphasis = "primary",
58
- onDismiss
61
+ dismissButtonTooltipLabel,
62
+ onDismiss,
63
+ customAsset,
64
+ hideIllustration = false,
65
+ alignButtons = "left"
59
66
  }) => {
60
67
  const iconName = React.useMemo(() => {
61
68
  switch (styleVariant) {
@@ -77,18 +84,23 @@ const CalloutBanner = ({
77
84
  styleVariant
78
85
  }), children: [
79
86
  /* @__PURE__ */ jsxs("div", { className: styles["calloutBanner__start"], children: [
80
- /* @__PURE__ */ jsx(Icon, { iconName, iconPrefix: "fas", className: styles["calloutBanner__icon"], iconSize: "1.25x", padding: "roomy" }),
87
+ !hideIllustration && (customAsset ? /* @__PURE__ */ jsx("div", { className: styles["calloutBanner__custom-asset"], children: customAsset }) : /* @__PURE__ */ jsx("div", { className: styles["calloutBanner__default-asset"], children: /* @__PURE__ */ jsx(Icon, { iconName, iconPrefix: "fas", className: styles["calloutBanner__icon"], iconSize: "1.25x", padding: "roomy" }) })),
81
88
  /* @__PURE__ */ jsxs("div", { className: styles["calloutBanner__meta"], children: [
82
89
  hasOnDismiss && /* @__PURE__ */ jsx("div", { className: styles["calloutBanner__dismiss"], children: /* @__PURE__ */ jsx(IconButton, { onClick: onDismiss, styleVariant: emphasis === "primary" ? "white" : "neutral", emphasis: "quaternary", size: "sm", iconProps: {
83
90
  iconName: "close",
84
91
  iconPrefix: "far",
85
92
  iconSize: "1x"
86
- }, tooltipLabel: "Dismiss banner", "aria-label": "Dismiss banner" }) }),
87
- /* @__PURE__ */ jsxs("div", { className: `${styles["calloutBanner__meta-top"]} ${hasOnDismiss ? styles["calloutBanner__meta-top-dismiss"] : ""}`, children: [
88
- /* @__PURE__ */ jsx("div", { className: styles["calloutBanner__meta-title"], children: title }),
89
- description && /* @__PURE__ */ jsx("div", { className: styles["calloutBanner__meta-description"], children: description })
90
- ] }),
91
- label && /* @__PURE__ */ jsx("div", { className: styles["calloutBanner__meta-label"], children: label })
93
+ }, tooltipLabel: dismissButtonTooltipLabel, "aria-label": "Dismiss banner" }) }),
94
+ /* @__PURE__ */ jsxs("div", { className: `
95
+ ${styles["calloutBanner__meta-content"]}
96
+
97
+ ${alignButtons === "right" ? styles["calloutBanner__meta-right"] : ""}`, children: [
98
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("div", { className: `${styles["calloutBanner__meta-top"]} ${hasOnDismiss ? styles["calloutBanner__meta-top-dismiss"] : ""}`, children: [
99
+ /* @__PURE__ */ jsx("div", { className: styles["calloutBanner__meta-title"], children: title }),
100
+ description && /* @__PURE__ */ jsx("div", { className: styles["calloutBanner__meta-description"], children: description })
101
+ ] }) }),
102
+ label && /* @__PURE__ */ jsx("div", { className: styles["calloutBanner__meta-label"], children: label })
103
+ ] })
92
104
  ] })
93
105
  ] }),
94
106
  children && /* @__PURE__ */ jsx("div", { className: styles["calloutBanner__end"], children })
@@ -1 +1 @@
1
- {"version":3,"file":"CalloutBanner.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CalloutBanner.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6,6 +6,7 @@ export interface FieldHeaderProps {
6
6
  isInvalid?: boolean;
7
7
  isRequired?: boolean;
8
8
  labelFor?: string;
9
+ optionalTranslation?: string;
9
10
  }
10
- export declare const FieldHeader: ({ label, description, isInvalid, isRequired, errorMessage, labelFor, }: FieldHeaderProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const FieldHeader: ({ label, description, isInvalid, isRequired, errorMessage, labelFor, optionalTranslation, }: FieldHeaderProps) => import("react/jsx-runtime").JSX.Element;
11
12
  export default FieldHeader;
@@ -13,12 +13,13 @@ const FieldHeader = ({
13
13
  isInvalid,
14
14
  isRequired,
15
15
  errorMessage,
16
- labelFor
16
+ labelFor,
17
+ optionalTranslation = "Optional"
17
18
  }) => {
18
19
  return /* @__PURE__ */ jsxs("div", { className: styles.fieldHeader, "data-invalid": isInvalid ? true : void 0, children: [
19
20
  /* @__PURE__ */ jsx("div", { className: styles["label-container"], children: label && /* @__PURE__ */ jsxs(FieldLabel, { required: isRequired ? true : void 0, htmlFor: labelFor, children: [
20
21
  label,
21
- !isRequired && ` (Optional)`
22
+ !isRequired && ` (${optionalTranslation})`
22
23
  ] }) }),
23
24
  description && /* @__PURE__ */ jsx(FieldDescription, { children: description }),
24
25
  /* @__PURE__ */ jsx(FieldError, { children: errorMessage })
@@ -1 +1 @@
1
- {"version":3,"file":"FieldHeader.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FieldHeader.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -57,9 +57,15 @@ export interface MenuProps {
57
57
  * @default true
58
58
  */
59
59
  allowTabOut?: boolean;
60
+ /**
61
+ * Whether the menu should close when mouse leaves the menu area
62
+ * @default true
63
+ */
64
+ closeOnHover?: boolean;
60
65
  /**
61
66
  * The content to display inside the menu (as JSX children)
62
- * Can be custom HTML content
67
+ * Can be custom HTML content. Interactive elements work normally.
68
+ * Add data-menu-close="true" to elements that should close the menu when clicked.
63
69
  */
64
70
  children: React.ReactNode;
65
71
  /**
@@ -71,5 +77,5 @@ export interface MenuProps {
71
77
  */
72
78
  iconEndProps?: ButtonProps['iconEndProps'];
73
79
  }
74
- export declare const Menu: ({ label, "aria-label": ariaLabel, isDisabled, placement, buttonEmphasis, buttonStyleVariant, buttonOpenVariant, alignToElementId, shouldFlip, openOnHoverAndFocus, allowTabOut, children, iconStartProps, iconEndProps, }: MenuProps) => import("react/jsx-runtime").JSX.Element;
80
+ export declare const Menu: ({ label, "aria-label": ariaLabel, isDisabled, placement, buttonEmphasis, buttonStyleVariant, buttonOpenVariant, alignToElementId, shouldFlip, openOnHoverAndFocus, allowTabOut, closeOnHover, children, iconStartProps, iconEndProps, }: MenuProps) => import("react/jsx-runtime").JSX.Element;
75
81
  export default Menu;
@@ -80,16 +80,22 @@ const useMenuNavigation = (menuRef, allowTabOut, closeMenu, buttonRef) => {
80
80
  closeMenu();
81
81
  }
82
82
  };
83
+ const getFocusableElements = () => {
84
+ if (!menuRef.current) return [];
85
+ return Array.from(menuRef.current.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])'));
86
+ };
83
87
  const handleArrowNavigation = (e, focusableElements) => {
84
88
  if (focusableElements.length === 0) return;
85
89
  const focusedElement = document.activeElement;
86
90
  const currentIndex = focusableElements.indexOf(focusedElement);
87
- if (e.key === "ArrowDown" && currentIndex < focusableElements.length - 1) {
91
+ if (e.key === "ArrowDown") {
88
92
  e.preventDefault();
89
- focusableElements[currentIndex + 1].focus();
90
- } else if (e.key === "ArrowUp" && currentIndex > 0) {
93
+ const nextIndex = currentIndex < focusableElements.length - 1 ? currentIndex + 1 : 0;
94
+ focusableElements[nextIndex].focus();
95
+ } else if (e.key === "ArrowUp") {
91
96
  e.preventDefault();
92
- focusableElements[currentIndex - 1].focus();
97
+ const prevIndex = currentIndex > 0 ? currentIndex - 1 : focusableElements.length - 1;
98
+ focusableElements[prevIndex].focus();
93
99
  } else if (e.key === "Home") {
94
100
  e.preventDefault();
95
101
  focusableElements[0].focus();
@@ -112,65 +118,85 @@ const useMenuNavigation = (menuRef, allowTabOut, closeMenu, buttonRef) => {
112
118
  handleTabNavigation();
113
119
  return;
114
120
  }
115
- if (!menuRef.current) return;
116
- const focusableElements = Array.from(menuRef.current.querySelectorAll('[role="menuitem"], a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])'));
121
+ const focusableElements = getFocusableElements();
117
122
  handleArrowNavigation(e, focusableElements);
118
123
  };
119
124
  return {
120
- handleMenuKeyDown
125
+ handleMenuKeyDown,
126
+ getFocusableElements
121
127
  };
122
128
  };
123
- const useHoverAndFocus = (config, refs, actions) => {
124
- const {
125
- openOnHoverAndFocus,
126
- isDisabled,
127
- preventFocusOpen,
128
- menuId
129
- } = config;
130
- const {
131
- buttonRef,
132
- containerRef
133
- } = refs;
134
- const {
135
- openMenu,
136
- closeMenu
137
- } = actions;
129
+ const useHoverAndFocus = (openOnHoverAndFocus, isDisabled, preventFocusOpen, menuId, buttonRef, containerRef, menuRef, isOpen, openMenu, closeMenu) => {
138
130
  useEffect(() => {
139
131
  if (!openOnHoverAndFocus || isDisabled) return;
140
132
  let hoverTimeout = null;
141
- const handleMouseEnter = () => {
133
+ let isHovering = false;
134
+ const clearHoverTimeout = () => {
142
135
  if (hoverTimeout) {
143
136
  clearTimeout(hoverTimeout);
137
+ hoverTimeout = null;
144
138
  }
145
- hoverTimeout = setTimeout(() => {
146
- openMenu(false);
147
- }, 300);
148
139
  };
149
- const handleMouseLeave = () => {
150
- if (hoverTimeout) {
151
- clearTimeout(hoverTimeout);
152
- }
153
- hoverTimeout = setTimeout(() => {
154
- if (menuRegistry.getActiveMenu() === menuId) {
155
- closeMenu();
140
+ const checkIfStillHovering = () => {
141
+ setTimeout(() => {
142
+ const button = buttonRef.current;
143
+ const menu = menuRef.current;
144
+ if (!button) return;
145
+ const isOverButton = button.matches(":hover");
146
+ const isOverMenu = (menu == null ? void 0 : menu.matches(":hover")) || false;
147
+ if (!isOverButton && !isOverMenu && isHovering) {
148
+ isHovering = false;
149
+ hoverTimeout = setTimeout(() => {
150
+ if (menuRegistry.getActiveMenu() === menuId) {
151
+ closeMenu();
152
+ }
153
+ }, 300);
156
154
  }
157
- }, 300);
155
+ }, 50);
156
+ };
157
+ const handleMouseEnter = () => {
158
+ clearHoverTimeout();
159
+ if (!isHovering) {
160
+ isHovering = true;
161
+ if (!isOpen) {
162
+ hoverTimeout = setTimeout(() => {
163
+ openMenu(false);
164
+ }, 300);
165
+ }
166
+ }
167
+ };
168
+ const handleMouseLeave = () => {
169
+ checkIfStillHovering();
170
+ };
171
+ const handleMenuMouseEnter = () => {
172
+ clearHoverTimeout();
173
+ isHovering = true;
174
+ };
175
+ const handleMenuMouseLeave = () => {
176
+ checkIfStillHovering();
158
177
  };
159
178
  const buttonElement = buttonRef.current;
179
+ const menuElement = menuRef.current;
160
180
  if (buttonElement) {
161
181
  buttonElement.addEventListener("mouseenter", handleMouseEnter);
162
182
  buttonElement.addEventListener("mouseleave", handleMouseLeave);
163
183
  }
184
+ if (isOpen && menuElement) {
185
+ menuElement.addEventListener("mouseenter", handleMenuMouseEnter);
186
+ menuElement.addEventListener("mouseleave", handleMenuMouseLeave);
187
+ }
164
188
  return () => {
165
189
  if (buttonElement) {
166
190
  buttonElement.removeEventListener("mouseenter", handleMouseEnter);
167
191
  buttonElement.removeEventListener("mouseleave", handleMouseLeave);
168
192
  }
169
- if (hoverTimeout) {
170
- clearTimeout(hoverTimeout);
193
+ if (menuElement) {
194
+ menuElement.removeEventListener("mouseenter", handleMenuMouseEnter);
195
+ menuElement.removeEventListener("mouseleave", handleMenuMouseLeave);
171
196
  }
197
+ clearHoverTimeout();
172
198
  };
173
- }, [openOnHoverAndFocus, isDisabled, menuId]);
199
+ }, [openOnHoverAndFocus, isDisabled, menuId, isOpen, openMenu, closeMenu, buttonRef, menuRef]);
174
200
  useEffect(() => {
175
201
  if (!openOnHoverAndFocus || isDisabled) return;
176
202
  const buttonElement = buttonRef.current;
@@ -216,7 +242,66 @@ const useHoverAndFocus = (config, refs, actions) => {
216
242
  clearTimeout(focusTimeout);
217
243
  }
218
244
  };
219
- }, [openOnHoverAndFocus, isDisabled, preventFocusOpen, menuId]);
245
+ }, [openOnHoverAndFocus, isDisabled, preventFocusOpen, menuId, openMenu, closeMenu, containerRef, buttonRef]);
246
+ };
247
+ const useMenuHover = (menuRef, isOpen, closeOnHover, openOnHoverAndFocus, menuId, closeMenu) => {
248
+ useEffect(() => {
249
+ if (!isOpen || !closeOnHover || openOnHoverAndFocus) return;
250
+ let hoverTimeout = null;
251
+ const clearHoverTimeout = () => {
252
+ if (hoverTimeout) {
253
+ clearTimeout(hoverTimeout);
254
+ hoverTimeout = null;
255
+ }
256
+ };
257
+ const handleMenuMouseLeave = () => {
258
+ clearHoverTimeout();
259
+ hoverTimeout = setTimeout(() => {
260
+ closeMenu();
261
+ }, 200);
262
+ };
263
+ const handleMenuMouseEnter = () => {
264
+ clearHoverTimeout();
265
+ };
266
+ const menuElement = menuRef.current;
267
+ if (menuElement) {
268
+ menuElement.addEventListener("mouseenter", handleMenuMouseEnter);
269
+ menuElement.addEventListener("mouseleave", handleMenuMouseLeave);
270
+ }
271
+ return () => {
272
+ if (menuElement) {
273
+ menuElement.removeEventListener("mouseenter", handleMenuMouseEnter);
274
+ menuElement.removeEventListener("mouseleave", handleMenuMouseLeave);
275
+ }
276
+ clearHoverTimeout();
277
+ };
278
+ }, [isOpen, closeOnHover, openOnHoverAndFocus, menuId, closeMenu, menuRef]);
279
+ };
280
+ const useMenuCloseHandling = (menuRef, containerRef, isOpen, menuId, closeMenu) => {
281
+ useEffect(() => {
282
+ if (!isOpen) return;
283
+ const handleDocumentClick = (e) => {
284
+ const target = e.target;
285
+ const container = containerRef.current;
286
+ const menu = menuRef.current;
287
+ const isOnTriggerButton = (container == null ? void 0 : container.contains(target)) && !(menu == null ? void 0 : menu.contains(target));
288
+ if (menu && menu.contains(target)) {
289
+ const shouldClose = target.closest('[data-menu-close="true"]');
290
+ if (shouldClose) {
291
+ closeMenu();
292
+ }
293
+ return;
294
+ }
295
+ if (isOnTriggerButton) {
296
+ return;
297
+ }
298
+ closeMenu();
299
+ };
300
+ document.addEventListener("click", handleDocumentClick, true);
301
+ return () => {
302
+ document.removeEventListener("click", handleDocumentClick, true);
303
+ };
304
+ }, [isOpen, menuId, closeMenu, menuRef, containerRef]);
220
305
  };
221
306
  const Menu = ({
222
307
  label,
@@ -230,6 +315,7 @@ const Menu = ({
230
315
  shouldFlip = false,
231
316
  openOnHoverAndFocus = false,
232
317
  allowTabOut = true,
318
+ closeOnHover = true,
233
319
  children,
234
320
  iconStartProps,
235
321
  iconEndProps
@@ -251,20 +337,12 @@ const Menu = ({
251
337
  toggleMenu
252
338
  } = useMenuState(menuId);
253
339
  const {
254
- handleMenuKeyDown
340
+ handleMenuKeyDown,
341
+ getFocusableElements
255
342
  } = useMenuNavigation(menuRef, allowTabOut, closeMenu, buttonRef);
256
- useHoverAndFocus({
257
- openOnHoverAndFocus,
258
- isDisabled,
259
- preventFocusOpen,
260
- menuId
261
- }, {
262
- buttonRef,
263
- containerRef
264
- }, {
265
- openMenu,
266
- closeMenu
267
- });
343
+ useHoverAndFocus(openOnHoverAndFocus, isDisabled, preventFocusOpen, menuId, buttonRef, containerRef, menuRef, isOpen, openMenu, closeMenu);
344
+ useMenuHover(menuRef, isOpen, closeOnHover, openOnHoverAndFocus, menuId, closeMenu);
345
+ useMenuCloseHandling(menuRef, containerRef, isOpen, menuId, closeMenu);
268
346
  const currentStyleVariant = isOpen ? buttonOpenVariant : buttonStyleVariant;
269
347
  const getAlignmentTarget = () => {
270
348
  if (alignToElementId) {
@@ -315,29 +393,14 @@ const Menu = ({
315
393
  }, [menuId, isOpen, setIsOpen]);
316
394
  useEffect(() => {
317
395
  if (isOpen && openedViaKeyboard && menuRef.current) {
318
- const focusableElements = menuRef.current.querySelectorAll('[role="menuitem"], a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])');
396
+ const focusableElements = getFocusableElements();
319
397
  if (focusableElements.length > 0) {
320
398
  setTimeout(() => {
321
399
  focusableElements[0].focus();
322
400
  }, 50);
323
401
  }
324
402
  }
325
- }, [isOpen, openedViaKeyboard]);
326
- useEffect(() => {
327
- if (!isOpen) return;
328
- const handleOutsideClick = (e) => {
329
- const container = containerRef.current;
330
- if (container && !container.contains(e.target)) {
331
- if (menuRegistry.getActiveMenu() === menuId) {
332
- closeMenu();
333
- }
334
- }
335
- };
336
- document.addEventListener("mousedown", handleOutsideClick);
337
- return () => {
338
- document.removeEventListener("mousedown", handleOutsideClick);
339
- };
340
- }, [isOpen, menuId, closeMenu]);
403
+ }, [isOpen, openedViaKeyboard, getFocusableElements]);
341
404
  useEffect(() => {
342
405
  if (!isOpen) {
343
406
  setOpenedViaKeyboard(false);
@@ -346,15 +409,15 @@ const Menu = ({
346
409
  const menuTriggerState = {
347
410
  isOpen,
348
411
  open: () => openMenu(),
349
- close: () => closeMenu(),
412
+ close: closeMenu,
350
413
  toggle: () => toggleMenu(),
351
- setOpen: /* @__PURE__ */ (() => {
352
- const actionMap = /* @__PURE__ */ new Map([[true, openMenu], [false, closeMenu]]);
353
- return (open) => {
354
- var _a;
355
- return (_a = actionMap.get(open)) == null ? void 0 : _a();
356
- };
357
- })()
414
+ setOpen: (open) => {
415
+ if (open) {
416
+ openMenu();
417
+ } else {
418
+ closeMenu();
419
+ }
420
+ }
358
421
  };
359
422
  const handleButtonPress = () => {
360
423
  setPreventFocusOpen(false);
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Menu.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,6 +23,11 @@ export interface FieldCommonProps extends FieldHeaderProps {
23
23
  * The label of the field. Required for accessibility compliance
24
24
  */
25
25
  label?: string;
26
+ /**
27
+ * The translation for the optional text, used for localization
28
+ * @default 'Optional'
29
+ */
30
+ optionalTranslation?: string;
26
31
  }
27
32
  export type FieldProps<T extends object = object> = T & FieldCommonProps;
28
33
  type FieldBaseProps<T extends object> = FieldProps<T> & Pick<FieldVariants, 'hasEndIcon' | 'hasStartIcon'> & {
@@ -36,7 +36,7 @@ function Field({
36
36
  }
37
37
  }, [props == null ? void 0 : props.label]);
38
38
  return /* @__PURE__ */ jsxs(PolymorphicField, { as, isDisabled: props == null ? void 0 : props.isDisabled, className, isRequired: props == null ? void 0 : props.isRequired, ...props, children: [
39
- (props == null ? void 0 : props.label) ? /* @__PURE__ */ jsx(FieldHeader, { label: props == null ? void 0 : props.label, description: props == null ? void 0 : props.description, isInvalid: props == null ? void 0 : props.isInvalid, isRequired: props == null ? void 0 : props.isRequired, labelFor: props == null ? void 0 : props.labelFor, errorMessage: errorPlacement === "top" ? props == null ? void 0 : props.errorMessage : void 0 }) : null,
39
+ (props == null ? void 0 : props.label) ? /* @__PURE__ */ jsx(FieldHeader, { label: props == null ? void 0 : props.label, description: props == null ? void 0 : props.description, isInvalid: props == null ? void 0 : props.isInvalid, isRequired: props == null ? void 0 : props.isRequired, labelFor: props == null ? void 0 : props.labelFor, errorMessage: errorPlacement === "top" ? props == null ? void 0 : props.errorMessage : void 0, optionalTranslation: props == null ? void 0 : props.optionalTranslation }) : null,
40
40
  /* @__PURE__ */ jsx("div", { className: styles.fieldGrid, children: /* @__PURE__ */ jsx("div", { className: fieldVariants({
41
41
  columns,
42
42
  maxWidthByChars,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alto-avios/alto-ui",
3
- "version": "3.7.0",
3
+ "version": "3.8.0",
4
4
  "description": "A react component library for Alto Design System",
5
5
  "author": {
6
6
  "name": "Ian Caldwell IAGL",