@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.
- package/dist/assets/Button.css +1 -1
- package/dist/assets/CalloutBanner.css +1 -1
- package/dist/components/Button/Button.js +29 -29
- package/dist/components/CalloutBanner/CalloutBanner.d.ts +52 -13
- package/dist/components/CalloutBanner/CalloutBanner.js +39 -27
- package/dist/components/CalloutBanner/CalloutBanner.js.map +1 -1
- package/dist/components/FieldHeader/FieldHeader.d.ts +2 -1
- package/dist/components/FieldHeader/FieldHeader.js +3 -2
- package/dist/components/FieldHeader/FieldHeader.js.map +1 -1
- package/dist/components/Menu/Menu.d.ts +8 -2
- package/dist/components/Menu/Menu.js +139 -76
- package/dist/components/Menu/Menu.js.map +1 -1
- package/dist/components/_base/Field/Field.d.ts +5 -0
- package/dist/components/_base/Field/Field.js +1 -1
- package/package.json +1 -1
package/dist/assets/Button.css
CHANGED
|
@@ -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
|
-
.
|
|
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 = "
|
|
12
|
-
const content = "
|
|
13
|
-
const isNotLoading = "
|
|
14
|
-
const loadingSpinner = "
|
|
15
|
-
const isLoading = "
|
|
16
|
-
const focusWhite = "
|
|
17
|
-
const sm = "
|
|
18
|
-
const md = "
|
|
19
|
-
const lg = "
|
|
20
|
-
const fullWidth = "
|
|
21
|
-
const textAlignLeft = "
|
|
22
|
-
const textAlignCenter = "
|
|
23
|
-
const textAlignRight = "
|
|
24
|
-
const accentPrimary = "
|
|
25
|
-
const accentSecondary = "
|
|
26
|
-
const accentTertiary = "
|
|
27
|
-
const accentQuaternary = "
|
|
28
|
-
const criticalPrimary = "
|
|
29
|
-
const criticalSecondary = "
|
|
30
|
-
const criticalTertiary = "
|
|
31
|
-
const criticalQuaternary = "
|
|
32
|
-
const neutralPrimary = "
|
|
33
|
-
const neutralSecondary = "
|
|
34
|
-
const neutralTertiary = "
|
|
35
|
-
const neutralQuaternary = "
|
|
36
|
-
const whitePrimary = "
|
|
37
|
-
const whiteSecondary = "
|
|
38
|
-
const whiteTertiary = "
|
|
39
|
-
const whiteQuaternary = "
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Optional secondary text providing more details
|
|
9
|
+
*/
|
|
12
10
|
description?: string;
|
|
13
|
-
/**
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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 = "
|
|
7
|
-
const calloutBanner__icon = "
|
|
8
|
-
const calloutBanner__start = "
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
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-
|
|
19
|
-
"calloutBanner__meta-
|
|
20
|
-
"calloutBanner__meta-
|
|
21
|
-
"calloutBanner__meta-
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"calloutBanner-
|
|
27
|
-
"calloutBanner-
|
|
28
|
-
"calloutBanner-
|
|
29
|
-
"calloutBanner-
|
|
30
|
-
"calloutBanner-
|
|
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
|
-
|
|
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:
|
|
87
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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 && ` (
|
|
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"
|
|
91
|
+
if (e.key === "ArrowDown") {
|
|
88
92
|
e.preventDefault();
|
|
89
|
-
focusableElements
|
|
90
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 = (
|
|
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
|
-
|
|
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
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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
|
-
},
|
|
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 (
|
|
170
|
-
|
|
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
|
-
|
|
258
|
-
|
|
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 =
|
|
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:
|
|
412
|
+
close: closeMenu,
|
|
350
413
|
toggle: () => toggleMenu(),
|
|
351
|
-
setOpen:
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
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,
|