@simai-studio/ui 5.20261022.1938 → 5.20261023.126

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
- @layer sf.components{.sf-modal-focus-guard{position:fixed;width:0;inline-size:0;height:0;block-size:0;overflow:hidden;pointer-events:none}[data-sf-overlay-container]{contain:layout}.sf-modal{--sf-modal-overlay-background: var(--sf-black, #000);--sf-modal-overlay-opacity: var(--sf-opacity-60, 0.6);--sf-modal-iframe-min-height: var(--sf-g2)}.sf-modal[data-sf-modal-position=left],.sf-modal[data-sf-modal-position=right],.sf-modal[data-sf-modal-position=inline-start],.sf-modal[data-sf-modal-position=inline-end]{align-items:stretch;padding:0}.sf-modal[data-sf-modal-position=left]{justify-content:flex-start}.sf-modal[data-sf-modal-position=right]{justify-content:flex-end}.sf-modal[data-sf-modal-position=inline-start]{justify-content:flex-start}.sf-modal[data-sf-modal-position=inline-end]{justify-content:flex-end}.sf-modal[data-sf-modal-position=top],.sf-modal[data-sf-modal-position=bottom]{justify-content:stretch;padding:0}.sf-modal[data-sf-modal-position=top]{align-items:flex-start}.sf-modal[data-sf-modal-position=bottom]{align-items:flex-end}.sf-modal[data-sf-modal-position=left] [data-sf-modal-panel],.sf-modal[data-sf-modal-position=right] [data-sf-modal-panel],.sf-modal[data-sf-modal-position=inline-start] [data-sf-modal-panel],.sf-modal[data-sf-modal-position=inline-end] [data-sf-modal-panel]{display:flex;max-width:min(100%,auto);max-width:min(100%,var(--sf-modal-drawer-width, auto));min-height:100%;width:auto;width:var(--sf-modal-drawer-width, auto)}.sf-modal[data-sf-modal-position=top] [data-sf-modal-panel],.sf-modal[data-sf-modal-position=bottom] [data-sf-modal-panel]{display:flex;max-height:min(100%,100vh);max-height:min(100%,var(--sf-modal-drawer-height, 100vh));min-width:100%}.sf-modal[data-sf-modal-position=left] [data-sf-modal-surface],.sf-modal[data-sf-modal-position=right] [data-sf-modal-surface],.sf-modal[data-sf-modal-position=inline-start] [data-sf-modal-surface],.sf-modal[data-sf-modal-position=inline-end] [data-sf-modal-surface],.sf-modal[data-sf-modal-position=top] [data-sf-modal-surface],.sf-modal[data-sf-modal-position=bottom] [data-sf-modal-surface]{flex:1}.sf-modal-header{--sf-modal-header-gap: var(--sf-space-1);gap:var(--sf-modal-header-gap)}.sf-modal-surface{--sf-modal-surface-bg: var(--sf-modal-background-color, var(--sf-surface-1, #fff));--sf-modal-surface-border-color: var(--sf-modal-border-color, var(--sf-outline-variant, transparent));--sf-modal-surface-border-style: solid;--sf-modal-surface-border-width: var(--sf-modal-border-width, var(--sf-border-width, var(--sf-px)));--sf-modal-surface-gap: var(--sf-modal-gap, var(--sf-space-1));--sf-modal-surface-padding: var(--sf-modal-padding-block, var(--sf-space-2)) var(--sf-modal-padding-inline, var(--sf-space-2));--sf-modal-surface-radius: var(--sf-modal-radius, var(--sf-radius--surface));--sf-modal-surface-shadow: none;background-color:var(--sf-modal-surface-bg);--sf-badge--surface: var(--sf-modal-surface-bg);border:var(--sf-modal-surface-border-width) var(--sf-modal-surface-border-style) var(--sf-modal-surface-border-color);border-radius:var(--sf-modal-surface-radius);box-shadow:var(--sf-modal-surface-shadow);gap:var(--sf-modal-surface-gap);min-width:0;padding:var(--sf-modal-surface-padding)}.sf-modal-surface--elevated{--sf-modal-surface-bg: var(--sf-modal-background-color, var(--sf-elevation-3--surface));--sf-on-surface-variant: var(--sf-on-elevation-3--variant);--sf-modal-surface-shadow: var(--sf-elevation-3--shadow)}.sf-modal [data-sf-modal-overlay]{background-color:var(--sf-modal-overlay-background);opacity:var(--sf-modal-overlay-opacity);transition:opacity var(--sf-duration-normal) var(--sf-animation)}.sf-modal[data-sf-modal-state=opening] [data-sf-modal-overlay]{opacity:0}.sf-modal[data-sf-modal-state=closing] [data-sf-modal-overlay]{opacity:0}.sf-modal[data-sf-modal-hidden=true]{pointer-events:none}.sf-modal[data-sf-modal-hidden=true] [data-sf-modal-overlay]{opacity:0;pointer-events:none}.sf-modal [data-sf-modal-panel]{opacity:0}.sf-modal.animate [data-sf-modal-panel]{transition:opacity var(--sf-duration-normal) var(--sf-animation),-webkit-transform var(--sf-duration-normal) var(--sf-animation);transition:transform var(--sf-duration-normal) var(--sf-animation),opacity var(--sf-duration-normal) var(--sf-animation);transition:transform var(--sf-duration-normal) var(--sf-animation),opacity var(--sf-duration-normal) var(--sf-animation),-webkit-transform var(--sf-duration-normal) var(--sf-animation);will-change:transform,opacity}.sf-modal[data-sf-modal-position=left] [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-position=right] [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-position=inline-start] [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-position=inline-end] [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-position=inline-start]:dir(rtl) [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-position=inline-end]:dir(rtl) [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-position=top] [data-sf-modal-panel]{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.sf-modal[data-sf-modal-position=bottom] [data-sf-modal-panel]{-webkit-transform:translateY(100%);transform:translateY(100%)}.sf-modal[data-sf-modal-position=center] [data-sf-modal-panel]{-webkit-transform:translateY(var(--sf-space-1\/2)) scale(0.98);transform:translateY(var(--sf-space-1\/2)) scale(0.98)}.sf-modal[data-sf-modal-state=opening] [data-sf-modal-panel]{opacity:0}.sf-modal[data-sf-modal-state=open] [data-sf-modal-panel]{opacity:1;-webkit-transform:translate(0, 0) scale(1);transform:translate(0, 0) scale(1)}.sf-modal[data-sf-modal-state=closing] [data-sf-modal-panel]{opacity:0}.sf-modal[data-sf-modal-state=inline] [data-sf-modal-panel]{opacity:1;-webkit-transform:translate(0, 0) scale(1);transform:translate(0, 0) scale(1)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=left] [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=right] [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=inline-start] [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=inline-end] [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=inline-start]:dir(rtl) [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=inline-end]:dir(rtl) [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=top] [data-sf-modal-panel]{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=bottom] [data-sf-modal-panel]{-webkit-transform:translateY(100%);transform:translateY(100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=center] [data-sf-modal-panel]{-webkit-transform:translateY(var(--sf-space-1\/2)) scale(0.98);transform:translateY(var(--sf-space-1\/2)) scale(0.98)}.sf-modal[data-sf-modal-state][data-sf-modal-hidden=true] [data-sf-modal-panel]{opacity:0;pointer-events:none;-webkit-transform:translateY(var(--sf-space-1\/2)) scale(0.98);transform:translateY(var(--sf-space-1\/2)) scale(0.98)}.sf-modal [data-sf-modal-panel][data-sf-modal-has-width]{max-width:min(100%,var(--sf-modal-width));width:var(--sf-modal-width)}.sf-modal [data-sf-modal-panel][data-sf-modal-has-height]{display:flex;height:var(--sf-modal-height);max-height:min(100%,var(--sf-modal-height))}.sf-modal [data-sf-modal-panel][data-sf-modal-has-height] [data-sf-modal-surface]{flex:1;min-height:0}.sf-modal [data-sf-modal-panel][data-sf-modal-has-height] [data-sf-modal-body],.sf-modal [data-sf-modal-panel][data-sf-modal-has-height] [data-sf-modal-body-viewport]{flex:1;min-height:0}.sf-modal [data-sf-modal-panel][data-sf-modal-has-height] [data-sf-modal-body-scroll]{flex:1;max-height:none}.sf-modal[data-sf-modal-fullscreen=true]{align-items:stretch;justify-content:stretch;padding:0}.sf-modal[data-sf-modal-fullscreen=true] [data-sf-modal-panel]{display:flex;height:100%;max-height:100%;max-width:100%;width:100%}.sf-modal[data-sf-modal-fullscreen=true] [data-sf-modal-surface]{border-radius:0;flex:1;min-height:0}.sf-modal[data-sf-modal-fullscreen=true] [data-sf-modal-body],.sf-modal[data-sf-modal-fullscreen=true] [data-sf-modal-body-viewport]{flex:1;min-height:0}.sf-modal[data-sf-modal-fullscreen=true] [data-sf-modal-body-scroll]{flex:1;max-height:none}@media(prefers-reduced-motion: reduce){.sf-modal.animate [data-sf-modal-panel],.sf-modal [data-sf-modal-overlay]{transition:none;will-change:auto}}}@layer sf.components{.sf-modal-loading .sf-modal-spinner{--sf-loader-svg-width: var(--sf-text-height-3);--sf-loader-svg-height: var(--sf-text-height-3);display:inline-flex;flex:none;width:var(--sf-text-height-3);inline-size:var(--sf-text-height-3);height:var(--sf-text-height-3);block-size:var(--sf-text-height-3);color:currentColor;color:var(--sf-loader--color, currentColor)}.sf-modal-loading .sf-modal-spinner .sf-loader--loading-indicator{display:block;width:100%;inline-size:100%;height:100%;block-size:100%}.sf-modal-loading .sf-modal-spinner .sf-loader-svg{display:block;width:100%;inline-size:100%;height:100%;block-size:100%}}@layer sf.components{.sf-modal-header-content{flex:1 1 auto;min-width:0;word-wrap:anywhere}.sf-modal-header-action{align-items:center;display:flex;flex:0 0 auto;justify-content:center;min-height:var(--sf-ui-1\/3--control-height);min-block-size:var(--sf-ui-1\/3--control-height);min-width:var(--sf-ui-1\/3--control-height);min-inline-size:var(--sf-ui-1\/3--control-height)}.sf-modal-close-button{--sf-modal-close-right: var(--sf-space-1\/3);--sf-modal-close-top: var(--sf-space-1\/3);right:var(--sf-modal-close-right);top:var(--sf-modal-close-top);left:var(--sf-modal-close-left);bottom:var(--sf-modal-close-bottom)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-modal-close-button--inline-end{right:var(--sf-modal-close-right);right:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}@supports not (inset-inline-end: initial){html:not([dir="rtl"]) .sf-modal-close-button--inline-end{right:var(--sf-modal-close-right);right:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}}.sf-modal-close-button--inline-end:where(:dir(ltr)){right:var(--sf-modal-close-right);right:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}_:-ms-input-placeholder, [dir="rtl"] .sf-modal-close-button--inline-end{left:var(--sf-modal-close-right);left:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}@supports not (inset-inline-end: initial){[dir="rtl"] .sf-modal-close-button--inline-end{left:var(--sf-modal-close-right);left:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}}.sf-modal-close-button--inline-end:where(:dir(rtl)){left:var(--sf-modal-close-right);left:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}.sf-modal-close-button--inline-end{left:auto;right:auto;inset-inline-end:var(--sf-modal-close-right);inset-inline-end:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}.sf-modal-hide-button{--sf-modal-hide-right: var(--sf-space-2);--sf-modal-hide-top: var(--sf-space-1\/3);right:var(--sf-modal-hide-right);top:var(--sf-modal-hide-top);left:var(--sf-modal-hide-left);bottom:var(--sf-modal-hide-bottom)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-modal-hide-button--inline-end{right:var(--sf-modal-hide-right);right:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}@supports not (inset-inline-end: initial){html:not([dir="rtl"]) .sf-modal-hide-button--inline-end{right:var(--sf-modal-hide-right);right:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}}.sf-modal-hide-button--inline-end:where(:dir(ltr)){right:var(--sf-modal-hide-right);right:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}_:-ms-input-placeholder, [dir="rtl"] .sf-modal-hide-button--inline-end{left:var(--sf-modal-hide-right);left:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}@supports not (inset-inline-end: initial){[dir="rtl"] .sf-modal-hide-button--inline-end{left:var(--sf-modal-hide-right);left:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}}.sf-modal-hide-button--inline-end:where(:dir(rtl)){left:var(--sf-modal-hide-right);left:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}.sf-modal-hide-button--inline-end{left:auto;right:auto;inset-inline-end:var(--sf-modal-hide-right);inset-inline-end:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}.sf-modal-hide-icon{background-color:currentColor;display:block;height:2px;height:var(--sf-border-width-2, 2px);width:var(--sf-space-1)}}
1
+ @layer sf.components{.sf-modal-focus-guard{position:fixed;width:0;inline-size:0;height:0;block-size:0;overflow:hidden;pointer-events:none}[data-sf-overlay-container]{contain:layout}.sf-modal{--sf-modal-overlay-background: var(--sf-black, #000);--sf-modal-overlay-opacity: var(--sf-opacity-60, 0.6);--sf-modal-iframe-min-height: var(--sf-g2)}.sf-modal[data-sf-modal-position=left],.sf-modal[data-sf-modal-position=right],.sf-modal[data-sf-modal-position=inline-start],.sf-modal[data-sf-modal-position=inline-end]{align-items:stretch;padding:0}.sf-modal[data-sf-modal-position=left]{justify-content:flex-start}.sf-modal[data-sf-modal-position=right]{justify-content:flex-end}.sf-modal[data-sf-modal-position=inline-start]{justify-content:flex-start}.sf-modal[data-sf-modal-position=inline-end]{justify-content:flex-end}.sf-modal[data-sf-modal-position=top],.sf-modal[data-sf-modal-position=bottom]{justify-content:stretch;padding:0}.sf-modal[data-sf-modal-position=top]{align-items:flex-start}.sf-modal[data-sf-modal-position=bottom]{align-items:flex-end}.sf-modal[data-sf-modal-position=left] [data-sf-modal-panel],.sf-modal[data-sf-modal-position=right] [data-sf-modal-panel],.sf-modal[data-sf-modal-position=inline-start] [data-sf-modal-panel],.sf-modal[data-sf-modal-position=inline-end] [data-sf-modal-panel]{display:flex;max-width:min(100%,auto);max-width:min(100%,var(--sf-modal-drawer-width, auto));min-height:100%;width:auto;width:var(--sf-modal-drawer-width, auto)}.sf-modal[data-sf-modal-position=top] [data-sf-modal-panel],.sf-modal[data-sf-modal-position=bottom] [data-sf-modal-panel]{display:flex;max-height:min(100%,100vh);max-height:min(100%,var(--sf-modal-drawer-height, 100vh));min-width:100%}.sf-modal[data-sf-modal-position=left] [data-sf-modal-surface],.sf-modal[data-sf-modal-position=right] [data-sf-modal-surface],.sf-modal[data-sf-modal-position=inline-start] [data-sf-modal-surface],.sf-modal[data-sf-modal-position=inline-end] [data-sf-modal-surface],.sf-modal[data-sf-modal-position=top] [data-sf-modal-surface],.sf-modal[data-sf-modal-position=bottom] [data-sf-modal-surface]{flex:1}.sf-modal-header{--sf-modal-header-gap: var(--sf-space-1);gap:var(--sf-modal-header-gap)}.sf-modal-surface{--sf-modal-surface-bg: var(--sf-modal-background-color, var(--sf-surface-1, #fff));--sf-modal-surface-border-color: var(--sf-modal-border-color, var(--sf-outline-variant, transparent));--sf-modal-surface-border-style: solid;--sf-modal-surface-border-width: var(--sf-modal-border-width, var(--sf-border-width, var(--sf-px)));--sf-modal-surface-gap: var(--sf-modal-gap, var(--sf-space-1));--sf-modal-surface-padding: var(--sf-modal-padding-block, var(--sf-space-2)) var(--sf-modal-padding-inline, var(--sf-space-2));--sf-modal-surface-radius: var(--sf-modal-radius, var(--sf-radius--surface));--sf-modal-surface-shadow: none;background-color:var(--sf-modal-surface-bg);--sf-badge--surface: var(--sf-modal-surface-bg);border:var(--sf-modal-surface-border-width) var(--sf-modal-surface-border-style) var(--sf-modal-surface-border-color);border-radius:var(--sf-modal-surface-radius);box-shadow:var(--sf-modal-surface-shadow);gap:var(--sf-modal-surface-gap);min-width:0;padding:var(--sf-modal-surface-padding)}.sf-modal-surface--elevated{--sf-modal-surface-bg: var(--sf-modal-background-color, var(--sf-elevation-3--surface));--sf-on-surface-variant: var(--sf-on-elevation-3--variant);--sf-modal-surface-shadow: var(--sf-elevation-3--shadow)}.sf-modal [data-sf-modal-overlay]{background-color:var(--sf-modal-overlay-background);opacity:var(--sf-modal-overlay-opacity);transition:opacity var(--sf-duration-normal) var(--sf-animation)}.sf-modal[data-sf-modal-state=opening] [data-sf-modal-overlay]{opacity:0}.sf-modal[data-sf-modal-state=closing] [data-sf-modal-overlay]{opacity:0}.sf-modal[data-sf-modal-hidden=true]{pointer-events:none}.sf-modal[data-sf-modal-hidden=true] [data-sf-modal-overlay]{opacity:0;pointer-events:none}.sf-modal [data-sf-modal-panel]{opacity:0}.sf-modal.animate [data-sf-modal-panel]{transition:opacity var(--sf-duration-normal) var(--sf-animation),-webkit-transform var(--sf-duration-normal) var(--sf-animation);transition:transform var(--sf-duration-normal) var(--sf-animation),opacity var(--sf-duration-normal) var(--sf-animation);transition:transform var(--sf-duration-normal) var(--sf-animation),opacity var(--sf-duration-normal) var(--sf-animation),-webkit-transform var(--sf-duration-normal) var(--sf-animation);will-change:transform,opacity}.sf-modal[data-sf-modal-position=left] [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-position=right] [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-position=inline-start] [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-position=inline-end] [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-position=inline-start]:dir(rtl) [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-position=inline-end]:dir(rtl) [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-position=top] [data-sf-modal-panel]{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.sf-modal[data-sf-modal-position=bottom] [data-sf-modal-panel]{-webkit-transform:translateY(100%);transform:translateY(100%)}.sf-modal[data-sf-modal-position=center] [data-sf-modal-panel]{-webkit-transform:translateY(var(--sf-space-1\/2)) scale(0.98);transform:translateY(var(--sf-space-1\/2)) scale(0.98)}.sf-modal[data-sf-modal-state=opening] [data-sf-modal-panel]{opacity:0}.sf-modal[data-sf-modal-state=open] [data-sf-modal-panel]{opacity:1;-webkit-transform:translate(0, 0) scale(1);transform:translate(0, 0) scale(1)}.sf-modal[data-sf-modal-state=closing] [data-sf-modal-panel]{opacity:0}.sf-modal[data-sf-modal-state=inline] [data-sf-modal-panel]{opacity:1;-webkit-transform:translate(0, 0) scale(1);transform:translate(0, 0) scale(1)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=left] [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=right] [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=inline-start] [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=inline-end] [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=inline-start]:dir(rtl) [data-sf-modal-panel]{-webkit-transform:translateX(100%);transform:translateX(100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=inline-end]:dir(rtl) [data-sf-modal-panel]{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=top] [data-sf-modal-panel]{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=bottom] [data-sf-modal-panel]{-webkit-transform:translateY(100%);transform:translateY(100%)}.sf-modal[data-sf-modal-state=closing][data-sf-modal-position=center] [data-sf-modal-panel]{-webkit-transform:translateY(var(--sf-space-1\/2)) scale(0.98);transform:translateY(var(--sf-space-1\/2)) scale(0.98)}.sf-modal[data-sf-modal-state][data-sf-modal-hidden=true] [data-sf-modal-panel]{opacity:0;pointer-events:none;-webkit-transform:translateY(var(--sf-space-1\/2)) scale(0.98);transform:translateY(var(--sf-space-1\/2)) scale(0.98)}.sf-modal [data-sf-modal-panel][data-sf-modal-has-width]{max-width:min(100%,var(--sf-modal-width));width:var(--sf-modal-width)}.sf-modal [data-sf-modal-panel][data-sf-modal-has-height]{display:flex;height:var(--sf-modal-height);max-height:min(100%,var(--sf-modal-height))}.sf-modal [data-sf-modal-panel][data-sf-modal-has-height] [data-sf-modal-surface]{flex:1;min-height:0}.sf-modal [data-sf-modal-panel][data-sf-modal-has-height] [data-sf-modal-body],.sf-modal [data-sf-modal-panel][data-sf-modal-has-height] [data-sf-modal-body-viewport]{flex:1;min-height:0}.sf-modal [data-sf-modal-panel][data-sf-modal-has-height] [data-sf-modal-body-scroll]{flex:1;max-height:none}.sf-modal[data-sf-modal-fullscreen=true]{align-items:stretch;justify-content:stretch;padding:0}.sf-modal[data-sf-modal-fullscreen=true] [data-sf-modal-panel]{display:flex;height:100%;max-height:100%;max-width:100%;width:100%}.sf-modal[data-sf-modal-fullscreen=true] [data-sf-modal-surface]{border-radius:0;flex:1;min-height:0}.sf-modal[data-sf-modal-fullscreen=true] [data-sf-modal-body],.sf-modal[data-sf-modal-fullscreen=true] [data-sf-modal-body-viewport]{flex:1;min-height:0}.sf-modal[data-sf-modal-fullscreen=true] [data-sf-modal-body-scroll]{flex:1;max-height:none}@media(prefers-reduced-motion: reduce){.sf-modal.animate [data-sf-modal-panel],.sf-modal [data-sf-modal-overlay]{transition:none;will-change:auto}}}@layer sf.components{.sf-modal-loading .sf-modal-spinner{--sf-loader-svg-width: var(--sf-text-height-3);--sf-loader-svg-height: var(--sf-text-height-3);display:inline-flex;flex:none;width:var(--sf-text-height-3);inline-size:var(--sf-text-height-3);height:var(--sf-text-height-3);block-size:var(--sf-text-height-3);color:currentColor;color:var(--sf-loader--color, currentColor)}.sf-modal-loading .sf-modal-spinner .sf-loader--loading-indicator{display:block;width:100%;inline-size:100%;height:100%;block-size:100%}.sf-modal-loading .sf-modal-spinner .sf-loader-svg{display:block;width:100%;inline-size:100%;height:100%;block-size:100%}}@layer sf.base{.sf-modal-footer{align-items:center;justify-content:flex-end;gap:var(--sf-space-1\/2);gap:var(--sf-modal-footer-gap, var(--sf-space-1\/2))}}@layer sf.components{.sf-modal-header-content{flex:1 1 auto;min-width:0;word-wrap:anywhere}.sf-modal-header-action{align-items:center;display:flex;flex:0 0 auto;justify-content:center;min-height:var(--sf-ui-1\/3--control-height);min-block-size:var(--sf-ui-1\/3--control-height);min-width:var(--sf-ui-1\/3--control-height);min-inline-size:var(--sf-ui-1\/3--control-height)}.sf-modal-close-button{--sf-modal-close-right: var(--sf-space-1\/3);--sf-modal-close-top: var(--sf-space-1\/3);right:var(--sf-modal-close-right);top:var(--sf-modal-close-top);left:var(--sf-modal-close-left);bottom:var(--sf-modal-close-bottom)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-modal-close-button--inline-end{right:var(--sf-modal-close-right);right:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}@supports not (inset-inline-end: initial){html:not([dir="rtl"]) .sf-modal-close-button--inline-end{right:var(--sf-modal-close-right);right:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}}.sf-modal-close-button--inline-end:where(:dir(ltr)){right:var(--sf-modal-close-right);right:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}_:-ms-input-placeholder, [dir="rtl"] .sf-modal-close-button--inline-end{left:var(--sf-modal-close-right);left:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}@supports not (inset-inline-end: initial){[dir="rtl"] .sf-modal-close-button--inline-end{left:var(--sf-modal-close-right);left:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}}.sf-modal-close-button--inline-end:where(:dir(rtl)){left:var(--sf-modal-close-right);left:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}.sf-modal-close-button--inline-end{left:auto;right:auto;inset-inline-end:var(--sf-modal-close-right);inset-inline-end:var(--sf-modal-close-inline-end, var(--sf-modal-close-right))}.sf-modal-hide-button{--sf-modal-hide-right: var(--sf-space-2);--sf-modal-hide-top: var(--sf-space-1\/3);right:var(--sf-modal-hide-right);top:var(--sf-modal-hide-top);left:var(--sf-modal-hide-left);bottom:var(--sf-modal-hide-bottom)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-modal-hide-button--inline-end{right:var(--sf-modal-hide-right);right:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}@supports not (inset-inline-end: initial){html:not([dir="rtl"]) .sf-modal-hide-button--inline-end{right:var(--sf-modal-hide-right);right:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}}.sf-modal-hide-button--inline-end:where(:dir(ltr)){right:var(--sf-modal-hide-right);right:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}_:-ms-input-placeholder, [dir="rtl"] .sf-modal-hide-button--inline-end{left:var(--sf-modal-hide-right);left:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}@supports not (inset-inline-end: initial){[dir="rtl"] .sf-modal-hide-button--inline-end{left:var(--sf-modal-hide-right);left:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}}.sf-modal-hide-button--inline-end:where(:dir(rtl)){left:var(--sf-modal-hide-right);left:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}.sf-modal-hide-button--inline-end{left:auto;right:auto;inset-inline-end:var(--sf-modal-hide-right);inset-inline-end:var(--sf-modal-hide-inline-end, var(--sf-modal-hide-right))}.sf-modal-hide-icon{background-color:currentColor;display:block;height:2px;height:var(--sf-border-width-2, 2px);width:var(--sf-space-1)}}
@@ -1 +1 @@
1
- (()=>{"use strict";class t{lifecycleName(){return this.componentName??this.constructor.componentName}constructor(t){this.props=t,this.id=t?.id,this.params=t?.param,this.attrs=t?.attrs||{},this.template=null,window.dispatchEvent(new CustomEvent(`${this.lifecycleName()}:beforeRender`,{detail:this}))}getUtilityMap(){return this.constructor.utilityMap||null}extractUtilityClasses(t){if(!Array.isArray(t))return[];const e=new Set;return t.forEach(t=>{if("string"!=typeof t)return;const s=t.match(/\(([^)]+)\)/g);s&&s.forEach(t=>{t.slice(1,-1).split(/\s+/).filter(Boolean).forEach(t=>{t.startsWith(".")&&t.length>1&&e.add(t.slice(1))})})}),Array.from(e)}applyLayoutUtilities(t,e){if(!t||!e)return;const s=this.getUtilityMap();if(!s||!s[e])return;this.extractUtilityClasses(s[e]).forEach(e=>t.classList.add(e))}render(){return this.html=this.template,"function"==typeof this.init&&this.init(),this.html&&window.dispatchEvent(new CustomEvent(`${this.lifecycleName()}:render`,{detail:this})),this.html}destroy(){this.destroyInternal?.(),this.props=null,this.id=null,this.params=null,this.template=null,this.html&&(this.html.remove(),this.html=null),window.dispatchEvent(new CustomEvent(`${this.lifecycleName()}:destroy`,{detail:this}))}destroyInternal(){}}const e=function(t,e){if(t&&e)if("undefined"==typeof window||"function"!=typeof window.registerSfComponent){if("undefined"!=typeof window&&window.SF?.Loader?.registerComponent)window.SF.Loader.registerComponent(t,e);else if("undefined"!=typeof window){(window.SF_PENDING_COMPONENTS=window.SF_PENDING_COMPONENTS||[]).push([t,e])}}else window.registerSfComponent(t,e)},s=(()=>{const t="undefined"!=typeof globalThis?globalThis:{},e="__sfPageLanguage";return t[e]||(t[e]={listeners:new Set,registered:new Map,chosen:null}),t[e]})(),o=s.listeners,n=s.registered,i=t=>String(t??"").trim().toLowerCase().replace("_","-"),a=()=>{for(const t of[...o])try{t()}catch{}};function l(t){let e=t;for(;e;){const t="function"==typeof e.closest?e.closest("[lang]"):null;if(t)return t;const s="function"==typeof e.getRootNode?e.getRootNode():null;e=s&&s!==e&&s.host?s.host:null}return null}function r(t){if(s.chosen)return s.chosen.split("-")[0];const e=l(t),o=e?.getAttribute("lang")||globalThis.document?.documentElement?.lang||"en";return i(o).split("-")[0]||"en"}function d(t){if(s.chosen)return s.chosen;const e=l(t);return i(e?.getAttribute("lang")||globalThis.document?.documentElement?.lang||"en")}function c(t,e,s,o){const a=o??(t=>{const e=t?.tagName;return"string"==typeof e?e.toLowerCase():null})(s);for(const o of(t=>{const e=i(t),s=e.split("-")[0],o=[];for(const t of[e,s,"en"])t&&!o.includes(t)&&o.push(t);return o})(d(s))){const s=a?n.get(a)?.get(o)?.[e]:void 0;if(void 0!==s)return s;const i=t?.[o]?.[e];if(void 0!==i)return i}return e}const h={current:(t=globalThis.document?.documentElement??null)=>d(t),use(t){const e=null==t?null:i(t);return e===s.chosen||(s.chosen=e,a()),s.chosen},register(t,e,s){const o=String(t??"").toLowerCase(),l=i(e);if(!o||!l)throw new TypeError("a component and a language are required");n.has(o)||n.set(o,new Map);const r=n.get(o);return null===s?r.delete(l):r.set(l,{...r.get(l)??{},...s}),a(),this},registerAll(t,e={}){for(const[s,o]of Object.entries(e))this.register(s,t,o);return this},known(t){const e=String(t??"").toLowerCase();return[...n.get(e)?.keys()??[]]},components:()=>[...n.keys()],onChange:t=>"function"!=typeof t?()=>{}:(o.add(t),()=>o.delete(t)),forget(){return n.clear(),s.chosen=null,a(),this}};"undefined"!=typeof window&&(window.SF=window.SF||{},window.SF.language=h,window.SF.pageLanguage=r,window.SF.pageText=c);const m=["a[href]","area[href]","button","input","select","textarea","iframe","summary","audio[controls]","video[controls]","[contenteditable]","[tabindex]"].join(","),u=Symbol.for("simai.modal.focus-guards");function f(t,e){return"INPUT"===t?.tagName&&"INPUT"===e?.tagName&&"radio"===t.type&&"radio"===e.type&&!!t.name&&t.name===e.name&&t.form===e.form&&t.getRootNode()===e.getRootNode()}function p(t,e=!1){const s=t.ownerDocument.defaultView,o=Array.from(t.querySelectorAll(m)).filter(t=>t.tabIndex>=0&&!t.matches(":disabled")&&!t.closest("[inert]")&&t.getClientRects().length>0&&"visible"===s.getComputedStyle(t).visibility).sort((t,e)=>(t.tabIndex||1/0)-(e.tabIndex||1/0));return o.filter(t=>{if(!f(t,t))return!0;const s=o.filter(e=>f(t,e)),n=s.find(t=>t.checked);return t===(n||s.at(e?-1:0))})}const g=t=>{const e=Number.parseFloat(t);return Number.isFinite(e)?e*(t.trim().endsWith("ms")?1:1e3):0};function b(t,e=window){let s=!1,o=null,n=null;const i=()=>{s||(s=!0,null!==o&&(e.cancelAnimationFrame(o),o=null),null!==n&&(e.clearTimeout(n),n=null),t())};return o=e.requestAnimationFrame(i),n=e.setTimeout(i,50),"function"==typeof e.queueMicrotask&&e.queueMicrotask(i),()=>{s=!0,null!==o&&e.cancelAnimationFrame(o),null!==n&&e.clearTimeout(n)}}function y(t,e,s=window){let o=null,n=!1;const i=b(()=>{if(n)return;const i=t(),a=i?.querySelectorAll("[data-sf-modal-panel], [data-sf-modal-overlay]")||[],l=Math.max(0,...Array.from(a,t=>{const e=s.getComputedStyle(t);return"none"===e.display?0:function(t){const e=t.transitionProperty.split(",").map(t=>t.trim()),s=t.transitionDuration.split(",").map(g),o=t.transitionDelay.split(",").map(g);return Math.max(0,...e.map((t,e)=>["all","opacity","transform","-webkit-transform"].includes(t)?Math.max(0,s[e%s.length])+o[e%o.length]:0))}(e)}));o=s.setTimeout(()=>{n||e()},l)},s);return()=>{n=!0,i(),null!==o&&s.clearTimeout(o)}}function v(t,e={}){const s=document.createElementNS("http://www.w3.org/2000/svg",t);return Object.entries(e).forEach(([t,e])=>{null!=e&&""!==e&&s.setAttribute(t,String(e))}),s}const w=t=>Math.round(1e3*t)/1e3;function C(t={}){return function({width:t=24,height:e=24,stroke:s=2,dots:o=8,filled:n=3,dotRadius:i=null,direction:a="clockwise",pixel:l=!1}={}){const r=t/2,d=e/2,c=Math.min(t,e)/2,h=Math.max(1,c-s/2),m=v("svg",{class:"sf-loader-svg",viewBox:`0 0 ${t} ${e}`,width:l?t:null,height:l?e:null,"aria-hidden":"true",focusable:"false"}),u={cx:r,cy:d,r:w(h),fill:"none",stroke:"currentColor","stroke-width":s},f=v("circle",{class:"sf-loader-ring-filled",...u,opacity:"0.3"}),p=v("circle",{class:"sf-loader-ring-accent",...u,"stroke-linecap":"round",pathLength:100,"stroke-dasharray":"30 70",transform:`rotate(90 ${r} ${d})`}),g=v("g",{class:"sf-loader-comet",display:"none",transform:`rotate(-90 ${r} ${d})`});for(let t=0;t<10;t+=1){const e=9===t;g.append(v("circle",{class:"sf-loader-comet-segment"+(e?" sf-loader-comet-head":""),...u,"stroke-linecap":e?"round":"butt",pathLength:100,"stroke-dasharray":`${w(4)} ${w(96)}`,"stroke-dashoffset":w(-4*t),opacity:w(((t+1)/10)**1.6)}))}const b=Math.max(3,Math.min(32,Math.floor(Number(o)||8))),y=Math.max(1,Math.min(b,Math.floor(Number(n)||3))),C=Math.min(s,.7*Math.PI*(c-s)/b),_=null==i||""===i?C:Math.max(1,Math.min(Number(i)||C,c/4)),E=Math.max(_,c-_),A=v("g",{class:"sf-loader-dots",display:"none",style:`--sf-loader-dot-count:${b}; --sf-loader-dot-filled:${y};`});for(let t=0;t<b;t+=1){const e=2*Math.PI/b*t-Math.PI/2,s="counterclockwise"===a?t:(b-t)%b;A.append(v("circle",{class:"sf-loader-dot"+(t<y?" sf-loader-dot--active":""),cx:w(r+E*Math.cos(e)),cy:w(d+E*Math.sin(e)),r:w(_),fill:"currentColor",style:`--sf-loader-dot-index:${t}; --sf-loader-dot-step:${s};`}))}return m.append(f,p,g,A),m}({...t,width:24,height:24,stroke:2,dotRadius:null,pixel:!1})}const _=Symbol.for("simai.modal.document-stack");function E(){return document[_]||Object.defineProperty(document,_,{value:{items:[],lockOwner:null},configurable:!0}),document[_]}function A(){return E().items.at(-1)||null}function S(){E().items.forEach((t,e)=>t.applyStackPosition(e)),function(t){const e=t?.getModalRoot?.()||t?.template,s=e?.querySelector?.("[data-sf-modal-panel]"),o=document[u];if(o&&o.panel===s&&o.before.isConnected&&o.after.isConnected)return;if(o?.before.remove(),o?.after.remove(),delete document[u],!s?.parentNode)return;const n={panel:s,relaying:!1};for(const t of["before","after"]){const o=s.ownerDocument.createElement("span");o.tabIndex=0,o.className="sf-modal-focus-guard",o.setAttribute("aria-hidden","true"),o.addEventListener("focus",()=>{if(n.relaying||!s.isConnected||e.inert||"true"===e.getAttribute("aria-hidden"))return;const o="before"===t,i=p(s,o),a=o?i.at(-1):i[0];a&&"IFRAME"!==a.tagName?a.focus({preventScroll:!0}):s.focus({preventScroll:!0})}),n[t]=o}s.before(n.before),s.after(n.after),document[u]=n}(A())}const x=t=>!t.inContainer;function L(t,e=!1){if(!t?.isConnected||"function"!=typeof t.focus||t.matches(":disabled")||t.closest('[inert], [hidden], [aria-hidden="true"]')||!t.getClientRects().length||"visible"!==t.ownerDocument.defaultView.getComputedStyle(t).visibility)return!1;const s=e&&!t.hasAttribute("tabindex");let o;const n=()=>{o?.disconnect(),t.removeEventListener("blur",n),s&&"-1"===t.getAttribute("tabindex")&&t.removeAttribute("tabindex")};s&&(t.setAttribute("tabindex","-1"),t.addEventListener("blur",n,{once:!0}),o=new t.ownerDocument.defaultView.MutationObserver(()=>{t.isConnected||n()}),o.observe(t.ownerDocument.documentElement,{childList:!0,subtree:!0}));let i=!1;try{return t.focus({preventScroll:!0}),i=t.ownerDocument.activeElement===t,i}catch{return!1}finally{s&&!i&&n()}}const k="[data-sf-overlay-container], [data-sf-drawer-container]";function T(...t){return t.filter(Boolean).join(" ").trim()}function N(t="medium"){const e=String(t||"medium").trim().toLowerCase();return["none","small","medium","large"].includes(e)?e:"medium"}function O(t="medium"){return`backdrop-blur-${N(t)}`}function M(t){return["none","small","medium","large"].includes(String(t||"").trim().toLowerCase())}function F(t){return String(t||"").trim()}const P={en:{title:"Dialog",close:"Close",loading:"Loading…",loadFailed:"Failed to load content",frameFailed:"Failed to load iframe content"},ru:{title:"Окно",close:"Закрыть",loading:"Загрузка…",loadFailed:"Не удалось загрузить содержимое",frameFailed:"Не удалось загрузить встроенную страницу"}},B=(t,e)=>c(P,t,e?.isConnected?e:document.documentElement,"sf-modal"),I=t=>c(P,"title",t);class $ extends t{static componentName="Modal";static registry=new Map;static globalBound=!1;static stack=[];static openCount=0;static uid=0;static lockState=null;static baseZIndex=9e3;static getTopModal(){return A()}static isTopModal(t){return $.getTopModal()===t}static addToStack(t){t&&"inline"!==t.display&&($.stack=$.stack.filter(e=>e!==t),$.stack.push(t),$.openCount=$.stack.length,function(t,e){const s=E();s.items.includes(t)||(x(t)&&!s.lockOwner&&(s.lockOwner=e,e.lockPage(t.preserveScrollGap)),s.items.push(t),S())}(t,$))}static removeFromStack(t){t&&"inline"!==t.display&&($.stack=$.stack.filter(e=>e!==t),$.openCount=$.stack.length,function(t){const e=E(),s=e.items.indexOf(t);s<0||(e.items.splice(s,1),e.lockOwner&&!e.items.some(x)&&(e.lockOwner.unlockPage(),e.lockOwner=null),S())}(t))}static bringToFront(t){t&&"inline"!==t.display&&$.stack.includes(t)&&($.stack=$.stack.filter(e=>e!==t),$.stack.push(t),function(t){const e=E(),s=e.items.indexOf(t);s<0||(e.items.splice(s,1),e.items.push(t),S())}(t))}static updateStackStyles(){S()}constructor(t){super(t);const e=this.params||{};this.modalId=this.id||e.id||"sf-modal-"+ ++$.uid,this.isOpen=!1,this.lastActive=null,this.root=e.root||null,this.container=e.container||null,this.overlay=this.toBoolean(e.overlay,!0),this.unclose=this.toBoolean(e.unclose,!1),this.showClose=this.toBoolean(e.showClose,!0)&&!this.unclose,this.showFooter=this.toBoolean(e.showFooter,!0),this.closeOnEsc=this.toBoolean(e.closeOnEsc,!0)&&!this.unclose,this.closeOnOverlay=this.toBoolean(e.closeOnOverlay,!0)&&!this.unclose,this.preserveScrollGap=this.toBoolean(e.preserveScrollGap,!0),this.autoload=this.toBoolean(e.autoload,!1),this.position=function(t="center"){const e=String(t||"center").trim().toLowerCase();return["center","left","right","inline-start","inline-end","top","bottom"].includes(e)?e:"center"}(e.position),this.fullscreen=this.toBoolean(e.fullscreen,!1),this.mode=function(t){const e=String(t||"inline").trim().toLowerCase();return["inline","ajax","iframe"].includes(e)?e:"inline"}(e.mode),this.display=function(t){const e=String(t||"modal").trim().toLowerCase();return["modal","inline"].includes(e)?e:"modal"}(e.display),this.src=e.src||"",this.preload=this.toBoolean(e.preload,!0),this._fetchController=null,this._contentLoaded=!1,this._contentError=null,this._loadingTimer=null,this._loadingShown=!1,this._loadingDebounceMs=500,this.blur=!!M(e.blur)||this.toBoolean(e.blur,!1),this.hasCustomBlurType=M(e.blurType)||M(e.blur),this.blurType=N(e.blurType||(M(e.blur)?e.blur:"")),this.onOverlayClick=this.onOverlayClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this._modalState="closed",this._stackIndex=-1,this._closeTimer=null,this._closeTransitionAbort=null,this.template=this.buildTemplate(e),this.template.id=this.modalId,this.template.setAttribute("data-sf-modal-id",this.modalId),this.template.setAttribute("aria-hidden","true"),this.init()}overlayHomeFor(t=null){let e=this.container;if("string"==typeof e&&(e=document.querySelector(e)),e instanceof Element)return e.matches(k)||e.setAttribute("data-sf-overlay-container",""),e;return(t instanceof Element?t.closest(k):null)||document.body}get overlayHome(){return this.overlayHomeFor()}get inContainer(){return Boolean(this.template?.parentElement?.closest(k))}placeIn(t){"inline"!==this.display&&!this.root&&this.template&&t&&this.template.parentElement!==t&&t.append(this.template)}emitEvent(t,{cancelable:e=!1,detail:s={}}={}){const o={modal:this,id:this.modalId,isOpen:this.isOpen,...s};let n=!1;if(this.template){const s=new CustomEvent(t,{bubbles:!0,cancelable:e,detail:o});this.template.dispatchEvent(s),n=n||s.defaultPrevented}if("undefined"!=typeof window){const e=new CustomEvent(t,{cancelable:!1,detail:o});window.dispatchEvent(e)}return!n}runCallback(t,e={}){const s=this.params?.[t];if("function"==typeof s)return s({modal:this,id:this.modalId,isOpen:this.isOpen,...e})}emitBeforeOpen(){const t=this.emitEvent("modal:before-open",{cancelable:!0,detail:{phase:"before-open"}}),e=this.emitEvent("SFModalBeforeOpenWindow",{cancelable:!0,detail:{phase:"before-open"}});if(!t||!e)return!1;const s=this.runCallback("beforeOpen",{phase:"before-open"}),o=this.runCallback("beforeOpenWindow",{phase:"before-open"});return!1!==s&&!1!==o}emitAfterOpen(){this.emitEvent("modal:after-open",{detail:{phase:"after-open"}}),this.emitEvent("SFModalAfterOpenWindow",{detail:{phase:"after-open"}}),this.runCallback("afterOpen",{phase:"after-open"}),this.runCallback("afterOpenWindow",{phase:"after-open"})}emitBeforeClose(){const t=this.emitEvent("modal:before-close",{cancelable:!0,detail:{phase:"before-close"}}),e=this.emitEvent("SFModalBeforeCloseWindow",{cancelable:!0,detail:{phase:"before-close"}});if(!t||!e)return!1;const s=this.runCallback("beforeClose",{phase:"before-close"}),o=this.runCallback("beforeCloseWindow",{phase:"before-close"});return!1!==s&&!1!==o}emitAfterClose(){this.emitEvent("modal:after-close",{detail:{phase:"after-close"}}),this.emitEvent("SFModalAfterCloseWindow",{detail:{phase:"after-close"}}),this.runCallback("afterClose",{phase:"after-close"}),this.runCallback("afterCloseWindow",{phase:"after-close"})}toBoolean(t,e){if(null==t)return e;if("boolean"==typeof t)return t;const s=`${t}`.trim().toLowerCase();return!!["1","true","yes","on"].includes(s)||!["0","false","no","off"].includes(s)&&e}getBlurClasses(){return this.hasCustomBlurType?[O(this.blurType)]:[]}setOverlay(t){this.overlay=this.toBoolean(t,!0);const e=this.template?.querySelector("[data-sf-modal-overlay]");return e?(e.classList.toggle("hidden",!this.overlay||"inline"===this.display),this):this}buildTemplate(t){const e="inline"===this.display,s=document.createElement("div");s.className=e?`sf-modal sf-modal--inline sf-modal--position-${this.position} sf-modal--positon-${this.position} inline-block w-full`:`sf-modal sf-modal--position-${this.position} sf-modal--positon-${this.position} hidden fixed top-0 inline-start-0 w-full h-full z-9 p-3 items-cross-center content-main-center`,s.setAttribute("role",e?"region":"dialog"),s.setAttribute("aria-modal",e?"false":"true"),s.setAttribute("data-sf-modal-position",this.position),s.setAttribute("data-sf-modal-fullscreen",String(this.fullscreen)),s.setAttribute("data-sf-modal-display",this.display),s.setAttribute("data-sf-modal-state",e?"inline":"closed");const o=document.createElement("div");o.className=T("absolute top-0 inline-start-0 w-full h-full",this.blur?this.hasCustomBlurType?this.getBlurClasses().join(" "):"bg-surface-overlay":"bg-black opacity-6",t.overlayClass),o.setAttribute("data-sf-modal-overlay",""),this.overlay&&!e||o.classList.add("hidden");const n=document.createElement("section");n.className=T("relative overflow-visible",t.panelClass),n.setAttribute("data-sf-modal-panel","");const i=F(t.width),a=F(t.height);i&&(n.style.setProperty("--sf-modal-width",i),n.setAttribute("data-sf-modal-has-width","")),a&&(n.style.setProperty("--sf-modal-height",a),n.setAttribute("data-sf-modal-has-height",""));const l=document.createElement("div");l.className=T(e?"bg-surface border border-outline-variant radius-surface p-2 flex flex-col gap-1 min-w-0":"bg-surface border border-outline-variant radius-surface shadow-3 p-2 flex flex-col gap-1 min-w-0",t.surfaceClass),l.setAttribute("data-sf-modal-surface","");const r=document.createElement("header");if(r.className=T("sf-modal-header flex items-start min-w-0 border-b border-outline-variant gap-1",t.headerClass),Array.isArray(t.headerNodes)&&t.headerNodes.length)s.setAttribute("aria-label",t.title||I(s)),t.headerNodes.forEach(t=>{t instanceof Node&&r.append(t)});else{const e=document.createElement("h2");if(e.id=`${this.modalId}-title`,s.setAttribute("aria-labelledby",e.id),e.className="sf-modal-header-content title-3 m-0",e.textContent=t.title||I(s),r.append(e),this.showClose){const e=document.createElement("button");e.type="button",e.className=T("sf-icon-button sf-modal-header-action sf-modal-close-button sf-icon-button--close sf-icon-button--link sf-icon-button--on-surface sf-icon-button--size-1/3 m-0",t.closeClass),e.setAttribute("aria-label",c(P,"close",e.isConnected?e:document.documentElement)),e.setAttribute("data-sf-modal-close",this.modalId),e.innerHTML=' <span\n class="sf-close sf-close--size-1/3 flex justify-center items-center"\n aria-hidden="true"\n >\n <span class="sf-close-icon"></span>\n </span>',r.append(e)}}const d=document.createElement("div");d.className="sf-modal-body flex flex-col gap-1 min-w-0 overflow-visible",d.setAttribute("data-sf-modal-body","");const h=document.createElement("div");h.className="sf-modal-body-viewport min-w-0 overflow-visible",h.setAttribute("data-sf-modal-body-viewport","");const m=document.createElement("div");m.className=T("sf-modal-body-scroll h-full min-w-0 overflow-y-auto flex flex-col gap-1 p-1/4",t.bodyClass),m.setAttribute("data-sf-modal-body-scroll","");const u=document.createElement("div");if(u.className="sf-modal-content-placeholder flex flex-col gap-2 min-h-8 items-cross-center content-main-center",u.setAttribute("data-sf-modal-content-placeholder",""),"ajax"!==this.mode&&"iframe"!==this.mode||!this.src){if(Array.isArray(t.contentNodes)&&t.contentNodes.length){const e=document.createElement("div");e.className=T("sf-modal-content flex flex-col gap-2",t.contentClass),t.contentNodes.forEach(t=>{t instanceof Node&&e.append(t)}),m.append(e)}}else this._scheduleLoading(u),m.append(u);if(Array.isArray(t.footerNodes)&&t.footerNodes.length&&this.showFooter){const e=document.createElement("div");e.className=T("sf-modal-footer flex flex-wrap gap-2",t.footerClass),t.footerNodes.forEach(t=>{t instanceof Node&&e.append(t)}),d.append(e)}else if("string"==typeof t.html&&t.html.trim())m.innerHTML=t.html;else if("ajax"===this.mode&&this.src||"iframe"===this.mode&&this.src);else{const e=document.createElement("p");e.className="m-0 text-2",e.textContent=t.text||"",m.append(e)}return h.append(m),d.prepend(h),l.append(r,d),n.append(l),s.append(o,n),s}_scheduleLoading(t){this._cancelLoadingTimer(),this._loadingShown=!1,this._loadingTimer=setTimeout(()=>{this._showLoading(t),this._loadingShown=!0},this._loadingDebounceMs)}_cancelLoadingTimer(){this._loadingTimer&&(clearTimeout(this._loadingTimer),this._loadingTimer=null)}_finishLoading(){this._cancelLoadingTimer()}_showLoading(t){t.innerHTML="";const e=document.createElement("div");e.className="sf-modal-loading flex flex-col gap-2 items-cross-center content-main-center p-4",e.setAttribute("data-sf-modal-state","loading");const s=B("loading",this.template);e.setAttribute("role","status"),e.setAttribute("aria-label",s);const o=document.createElement("p");o.className="m-0 text-2 color-on-surface-variant",o.textContent=s,e.append(o),e.prepend(function({className:t="",overlay:e=!1}={}){const s=document.createElement("span");s.className=["sf-loader-container","sf-loader--infinite",t,t&&e?`${t}--overlay`:""].filter(Boolean).join(" "),s.dataset.sfSpinnerBound="1",s.dataset.infinite="true",s.setAttribute("aria-hidden","true");const o=document.createElement("span");return o.className="sf-loader--loading-indicator",o.append(C()),s.append(o),s}({className:"sf-modal-spinner"})),t.append(e)}_showError(t,e){t.innerHTML="";const s=document.createElement("div");s.className="sf-modal-error flex flex-col gap-2 items-cross-center content-main-center p-4",s.setAttribute("data-sf-modal-state","error"),s.innerHTML=`\n <div class="sf-modal-error-icon text-4 color-error">⚠</div>\n <p class="sf-modal-error-text m-0 text-2 color-error">${this.escapeHtml(e||B("loadFailed",this.template))}</p>\n `,t.append(s)}_abortFetch(){this._fetchController&&(this._fetchController.abort(),this._fetchController=null)}async _loadContent(){this.src&&("iframe"!==this.mode?"ajax"===this.mode&&this._loadAjax():this._loadIframe())}async _loadAjax(){if(this.src.startsWith("#")){const t=document.querySelector(this.src);if(t){this._emitBeforeContentUpload();const e=t.cloneNode(!0);e.removeAttribute("id"),this._finishLoading(),this._replaceContentWithNode(e),this._contentLoaded=!0,this._emitAfterContentUpload()}else this._contentError=`Element not found: ${this.src}`,this._finishLoading(),this._showContentError();return}this._abortFetch();const t=new AbortController;this._fetchController=t;try{this._emitBeforeContentUpload();const e=await fetch(this.src,{signal:t.signal});if(!e.ok)throw new Error(`HTTP ${e.status}: ${e.statusText}`);const s=await e.text();this._contentLoaded=!0,this._finishLoading(),this._replaceContentWithHtml(s),this._fetchController=null,this._emitAfterContentUpload()}catch(e){if("AbortError"===e.name)return void(this._fetchController&&this._fetchController!==t||this._finishLoading());this._contentError=e.message,this._finishLoading(),this._showContentError()}}_loadIframe(){this._emitBeforeContentUpload();const t=this.template?.querySelector("[data-sf-modal-body-scroll]");if(!t)return;t.innerHTML="";const e=document.createElement("iframe");e.className="sf-modal-iframe w-full border-0 radius-surface",e.src=this.src,e.setAttribute("data-sf-modal-iframe",""),e.setAttribute("allowfullscreen",""),e.style.minHeight="var(--sf-modal-iframe-min-height)",e.style.height="100%",e.addEventListener("load",()=>{this._contentLoaded=!0,this._finishLoading(),this._emitAfterContentUpload()}),e.addEventListener("error",()=>{this._contentError=B("frameFailed",this.template),this._finishLoading(),this._showContentError()}),t.append(e)}_replaceContentWithNode(t){const e=this.template?.querySelector("[data-sf-modal-body-scroll]");if(!e)return;e.innerHTML="";const s=document.createElement("div");s.className="sf-modal-content flex flex-col gap-2",s.append(t),e.append(s)}_replaceContentWithHtml(t){const e=this.template?.querySelector("[data-sf-modal-body-scroll]");if(!e)return;e.innerHTML="";const s=document.createElement("div");s.className="sf-modal-content flex flex-col gap-2",s.innerHTML=t,e.append(s)}_showContentError(){const t=this.template?.querySelector("[data-sf-modal-body-scroll]");if(!t)return;t.innerHTML="";const e=document.createElement("div");e.className="sf-modal-error flex flex-col gap-2 items-cross-center content-main-center p-4",e.setAttribute("data-sf-modal-state","error"),e.innerHTML=`\n <div class="sf-modal-error-icon text-4 color-error">⚠</div>\n <p class="sf-modal-error-text m-0 text-2 color-error">${this.escapeHtml(this._contentError||B("loadFailed",this.template))}</p>\n `,t.append(e)}_emitBeforeContentUpload(){this.emitEvent("modal:before-content-upload",{detail:{src:this.src}}),this.runCallback("beforeContentUpload",{src:this.src})}_emitAfterContentUpload(){this.emitEvent("modal:after-content-upload",{detail:{src:this.src}}),this.runCallback("afterContentUpload",{src:this.src})}escapeHtml(t){const e=document.createElement("div");return e.textContent=t,e.innerHTML}init(){if("inline"===this.display)return this._modalState="open",this.template.setAttribute("data-sf-modal-state","open"),this.template.classList.remove("hidden"),this.toBoolean(this.params?.open,!0)?this.isOpen=!0:(this.isOpen=!1,this._modalState="closed",this.template.setAttribute("data-sf-modal-state","closed"),this.template.classList.add("hidden")),this.template.setAttribute("aria-hidden",String(!this.isOpen)),this.root&&this.root.append(this.template),$.registry.set(this.modalId,this),void("ajax"!==this.mode&&"iframe"!==this.mode||!this.src||!1===this.preload||this._loadContent());if(this.template.isConnected||this.overlayHome.append(this.template),"inline"===this.display)return this.isOpen=!0,this._modalState="open",this.template.setAttribute("data-sf-modal-state","inline"),this.template.classList.remove("hidden"),$.registry.set(this.modalId,this),void("ajax"!==this.mode&&"iframe"!==this.mode||!this.src||!1===this.preload||this._loadContent());this.template.addEventListener("click",this.onOverlayClick),document.addEventListener("keydown",this.onKeyDown),$.registry.set(this.modalId,this),$.bindGlobalEvents();(this.toBoolean(this.params?.open,!1)||this.autoload)&&requestAnimationFrame(()=>{this.open({animate:!1})}),"ajax"!==this.mode&&"iframe"!==this.mode||!this.src||!1===this.preload||this._loadContent()}destroyInternal(){this._abortFetch(),this._cancelLoadingTimer(),this.cancelCloseTransition(),"inline"===this.display||!this.isOpen&&"closing"!==this._modalState||(this._modalState="closing",this.finishClose()),$.removeFromStack(this),this.template.removeEventListener("click",this.onOverlayClick),document.removeEventListener("keydown",this.onKeyDown),$.registry.delete(this.modalId)}onOverlayClick(t){t.target===this.template.querySelector("[data-sf-modal-overlay]")&&this.closeOnOverlay&&this.close()}onKeyDown(t){if((this.isOpen||"closing"===this._modalState)&&$.isTopModal(this))return"Escape"!==t.key||!this.closeOnEsc||"closing"===this._modalState||t.defaultPrevented||document.documentElement?.dataset?.sfPopoverOpen?void("Tab"===t.key&&this.trapFocus(t)):(t.preventDefault(),t.stopImmediatePropagation(),void this.close())}trapFocus(t){if(!$.isTopModal(this))return;!function(t,e){if(!t)return;const s=p(t,e.shiftKey),o=t.ownerDocument.activeElement;if(!s.length)return e.preventDefault(),void t.focus();const n=s[0],i=s[s.length-1],a=e.shiftKey?n:i;if(!t.contains(o)||o===t||o===a||f(o,a)){const s=e.shiftKey?i:n,o=t.ownerDocument[u];if("IFRAME"===s.tagName&&o?.panel===t){o.relaying=!0;try{(e.shiftKey?o.after:o.before).focus({preventScroll:!0})}finally{o.relaying=!1}return}e.preventDefault(),s.focus()}}(this.template.querySelector("[data-sf-modal-panel]"),t)}focusFirst(){if("inline"!==this.display&&!$.isTopModal(this))return;const t=this.template.querySelector("[data-sf-modal-panel]");t&&(t.setAttribute("tabindex","-1"),t.focus())}applyStackPosition(t=function(t){return E().items.indexOf(t)}(this)){return this._stackIndex=t,this.template&&"inline"!==this.display?t<0?(this.template.style.removeProperty("z-index"),this.template.style.removeProperty("--sf-modal-stack-index"),this):(this.template.style.setProperty("--sf-modal-stack-index",String(t)),this.template.style.zIndex=String($.baseZIndex+2*t),this):this}open(t={}){const{animate:e=!0}="boolean"==typeof t?{animate:t}:t;if("inline"===this.display){if(this.isOpen)return;if(!this.emitBeforeOpen())return;return this.isOpen=!0,this._modalState="open",this.template.setAttribute("data-sf-modal-state","open"),this.template.classList.remove("hidden"),this.template.setAttribute("aria-hidden","false"),void this.emitAfterOpen()}if(this.isOpen)return $.bringToFront(this),void this.cancelCloseTransition();if(this.emitBeforeOpen()){if(("ajax"===this.mode||"iframe"===this.mode)&&this.src&&!this._contentLoaded&&!this._contentError){const t=this.template?.querySelector("[data-sf-modal-body-scroll]");t&&this._scheduleLoading(t),this._loadContent()}if(this._releaseClosingContent?.(),this._releaseClosingContent=null,"closing"!==this._modalState&&(this.lastActive=document.activeElement,this._focusReturnAncestors=function(t){const e=[];for(let s=t?.parentElement;s;s=s.parentElement)s.matches('main, section, article, [role="main"], [role="region"]')&&e.push(s);return e}(this.lastActive),this.placeIn(this.overlayHomeFor(this.lastActive))),this.cancelCloseTransition(),this.template.classList.remove("hidden"),this.template.classList.add("flex"),this.template.setAttribute("aria-hidden","false"),this.template.classList.toggle("animate",Boolean(e)),this.template.setAttribute("data-sf-modal-state","opening"),this.isOpen=!0,$.addToStack(this),!e)return this._modalState="open",this.template.setAttribute("data-sf-modal-state","open"),this.focusFirst(),void this.emitAfterOpen();b(()=>{this.isOpen&&"closing"!==this._modalState&&(this._modalState="open",this.template.setAttribute("data-sf-modal-state","open"),this.focusFirst(),this.emitAfterOpen())})}}close(){if("inline"===this.display){if(!this.emitBeforeClose())return;return this.isOpen=!1,this._modalState="closed",this.template.setAttribute("data-sf-modal-state","closed"),this.template.classList.add("hidden"),this.template.setAttribute("aria-hidden","true"),void this.emitAfterClose()}if(!this.isOpen||"closing"===this._modalState)return;if(!this.emitBeforeClose())return;this._modalState="closing",this.template.setAttribute("data-sf-modal-state","closing"),this.isOpen=!1;const t=this.template.querySelector("[data-sf-modal-panel]");this._releaseClosingContent=function(t,e=!1){if(!t)return()=>{};const s=new Set,o=()=>{for(const e of t.children)e.hasAttribute("inert")||(e.setAttribute("inert",""),s.add(e))};e&&t.focus({preventScroll:!0}),o();const n=new t.ownerDocument.defaultView.MutationObserver(o);return n.observe(t,{childList:!0}),()=>{n.disconnect();for(const t of s)""===t.getAttribute("inert")&&t.removeAttribute("inert");s.clear()}}(t,$.isTopModal(this)),this._closeTransitionAbort=y(()=>this.template,()=>this.finishClose())}toggle(){this.isOpen?this.close():this.open()}setSrc(t){if(this.src=t||"",this._contentLoaded=!1,this._contentError=null,this._loadingShown=!1,this._abortFetch(),!this.template||!this.isOpen)return this;const e=this.template?.querySelector("[data-sf-modal-body-scroll]");return e&&this._scheduleLoading(e),"ajax"!==this.mode&&"iframe"!==this.mode||!this.src||!1===this.preload||this._loadContent(),this}reloadContent(){if(("ajax"===this.mode||"iframe"===this.mode)&&this.src){this._contentLoaded=!1,this._contentError=null,this._loadingShown=!1,this._abortFetch();const t=this.template?.querySelector("[data-sf-modal-body-scroll]");t&&this._scheduleLoading(t),this._loadContent()}return this}cancelCloseTransition(){this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),this._closeTransitionAbort&&(this._closeTransitionAbort(),this._closeTransitionAbort=null),"closing"===this._modalState&&(this._modalState="open",this.template.setAttribute("data-sf-modal-state","open"))}finishClose(){if("closing"!==this._modalState)return;this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),this._closeTransitionAbort&&(this._closeTransitionAbort(),this._closeTransitionAbort=null),this.template.classList.remove("flex"),this.template.classList.add("hidden"),this.template.setAttribute("data-sf-modal-state","closed"),this.template.setAttribute("aria-hidden","true"),this._releaseClosingContent?.(),this._releaseClosingContent=null,this._modalState="closed";const t=$.isTopModal(this);$.removeFromStack(this),function(t,e,s=[]){if(!t)return;const o=A(),n=o?.getModalRoot?.()||o?.template;if((!o||n?.contains(e))&&L(e))return;if(o)return void o.focusFirst();const i=new Set([...s,...document.querySelectorAll('main, [role="main"]'),document.body]);for(const t of i)if(L(t,!0))return}(t,this.lastActive,this._focusReturnAncestors),this.emitAfterClose()}static bindGlobalEvents(){$.globalBound||"undefined"==typeof document||(document.addEventListener("click",t=>{const e=t.target.closest("[data-sf-modal-open]");if(e){const t=e.getAttribute("data-sf-modal-open"),s=$.registry.get(t);return void(s&&s.open())}const s=t.target.closest("[data-sf-modal-close]");if(!s)return;const o=s.getAttribute("data-sf-modal-close");if(o){const t=$.registry.get(o);return void(t&&t.close())}const n=s.closest(".sf-modal");if(!n)return;const i=n.getAttribute("data-sf-modal-id"),a=$.registry.get(i);a&&a.close()}),$.globalBound=!0)}static lockPage(t=!0){$.lockState||($.lockState=function(t=!0){const e=document.documentElement,s=document.body;if(!e||!s)return null;const o=Math.max(0,window.innerWidth-e.clientWidth),n=parseFloat(window.getComputedStyle(s).paddingInlineEnd)||0,i={docEl:e,body:s,htmlLocked:e.classList.contains("overflow-hidden"),bodyLocked:s.classList.contains("overflow-hidden"),bodyPaddingInlineEnd:s.style.getPropertyValue("padding-inline-end"),paddingPriority:s.style.getPropertyPriority("padding-inline-end"),appliedPadding:null};return e.classList.add("overflow-hidden"),s.classList.add("overflow-hidden"),t&&o>0&&(s.style.setProperty("padding-inline-end",`${n+o}px`,i.paddingPriority),i.appliedPadding=s.style.getPropertyValue("padding-inline-end")),i}(t))}static unlockPage(){!function(t){if(!t)return;const{docEl:e,body:s}=t;t.htmlLocked||e.classList.remove("overflow-hidden"),t.bodyLocked||s.classList.remove("overflow-hidden"),null!==t.appliedPadding&&s.style.getPropertyValue("padding-inline-end")===t.appliedPadding&&s.style.getPropertyPriority("padding-inline-end")===t.paddingPriority&&(t.bodyPaddingInlineEnd?s.style.setProperty("padding-inline-end",t.bodyPaddingInlineEnd,t.paddingPriority):s.style.removeProperty("padding-inline-end"))}($.lockState),$.lockState=null}}e("Modal",$)})();
1
+ (()=>{"use strict";class t{lifecycleName(){return this.componentName??this.constructor.componentName}constructor(t){this.props=t,this.id=t?.id,this.params=t?.param,this.attrs=t?.attrs||{},this.template=null,window.dispatchEvent(new CustomEvent(`${this.lifecycleName()}:beforeRender`,{detail:this}))}getUtilityMap(){return this.constructor.utilityMap||null}extractUtilityClasses(t){if(!Array.isArray(t))return[];const e=new Set;return t.forEach(t=>{if("string"!=typeof t)return;const s=t.match(/\(([^)]+)\)/g);s&&s.forEach(t=>{t.slice(1,-1).split(/\s+/).filter(Boolean).forEach(t=>{t.startsWith(".")&&t.length>1&&e.add(t.slice(1))})})}),Array.from(e)}applyLayoutUtilities(t,e){if(!t||!e)return;const s=this.getUtilityMap();if(!s||!s[e])return;this.extractUtilityClasses(s[e]).forEach(e=>t.classList.add(e))}render(){return this.html=this.template,"function"==typeof this.init&&this.init(),this.html&&window.dispatchEvent(new CustomEvent(`${this.lifecycleName()}:render`,{detail:this})),this.html}destroy(){this.destroyInternal?.(),this.props=null,this.id=null,this.params=null,this.template=null,this.html&&(this.html.remove(),this.html=null),window.dispatchEvent(new CustomEvent(`${this.lifecycleName()}:destroy`,{detail:this}))}destroyInternal(){}}const e=function(t,e){if(t&&e)if("undefined"==typeof window||"function"!=typeof window.registerSfComponent){if("undefined"!=typeof window&&window.SF?.Loader?.registerComponent)window.SF.Loader.registerComponent(t,e);else if("undefined"!=typeof window){(window.SF_PENDING_COMPONENTS=window.SF_PENDING_COMPONENTS||[]).push([t,e])}}else window.registerSfComponent(t,e)},s=(()=>{const t="undefined"!=typeof globalThis?globalThis:{},e="__sfPageLanguage";return t[e]||(t[e]={listeners:new Set,registered:new Map,chosen:null}),t[e]})(),o=s.listeners,n=s.registered,i=t=>String(t??"").trim().toLowerCase().replace("_","-"),a=()=>{for(const t of[...o])try{t()}catch{}};function l(t){let e=t;for(;e;){const t="function"==typeof e.closest?e.closest("[lang]"):null;if(t)return t;const s="function"==typeof e.getRootNode?e.getRootNode():null;e=s&&s!==e&&s.host?s.host:null}return null}function r(t){if(s.chosen)return s.chosen.split("-")[0];const e=l(t),o=e?.getAttribute("lang")||globalThis.document?.documentElement?.lang||"en";return i(o).split("-")[0]||"en"}function d(t){if(s.chosen)return s.chosen;const e=l(t);return i(e?.getAttribute("lang")||globalThis.document?.documentElement?.lang||"en")}function c(t,e,s,o){const a=o??(t=>{const e=t?.tagName;return"string"==typeof e?e.toLowerCase():null})(s);for(const o of(t=>{const e=i(t),s=e.split("-")[0],o=[];for(const t of[e,s,"en"])t&&!o.includes(t)&&o.push(t);return o})(d(s))){const s=a?n.get(a)?.get(o)?.[e]:void 0;if(void 0!==s)return s;const i=t?.[o]?.[e];if(void 0!==i)return i}return e}const h={current:(t=globalThis.document?.documentElement??null)=>d(t),use(t){const e=null==t?null:i(t);return e===s.chosen||(s.chosen=e,a()),s.chosen},register(t,e,s){const o=String(t??"").toLowerCase(),l=i(e);if(!o||!l)throw new TypeError("a component and a language are required");n.has(o)||n.set(o,new Map);const r=n.get(o);return null===s?r.delete(l):r.set(l,{...r.get(l)??{},...s}),a(),this},registerAll(t,e={}){for(const[s,o]of Object.entries(e))this.register(s,t,o);return this},known(t){const e=String(t??"").toLowerCase();return[...n.get(e)?.keys()??[]]},components:()=>[...n.keys()],onChange:t=>"function"!=typeof t?()=>{}:(o.add(t),()=>o.delete(t)),forget(){return n.clear(),s.chosen=null,a(),this}};"undefined"!=typeof window&&(window.SF=window.SF||{},window.SF.language=h,window.SF.pageLanguage=r,window.SF.pageText=c);const m=["a[href]","area[href]","button","input","select","textarea","iframe","summary","audio[controls]","video[controls]","[contenteditable]","[tabindex]"].join(","),u=Symbol.for("simai.modal.focus-guards");function f(t,e){return"INPUT"===t?.tagName&&"INPUT"===e?.tagName&&"radio"===t.type&&"radio"===e.type&&!!t.name&&t.name===e.name&&t.form===e.form&&t.getRootNode()===e.getRootNode()}function p(t,e=!1){const s=t.ownerDocument.defaultView,o=Array.from(t.querySelectorAll(m)).filter(t=>t.tabIndex>=0&&!t.matches(":disabled")&&!t.closest("[inert]")&&t.getClientRects().length>0&&"visible"===s.getComputedStyle(t).visibility).sort((t,e)=>(t.tabIndex||1/0)-(e.tabIndex||1/0));return o.filter(t=>{if(!f(t,t))return!0;const s=o.filter(e=>f(t,e)),n=s.find(t=>t.checked);return t===(n||s.at(e?-1:0))})}const g=t=>{const e=Number.parseFloat(t);return Number.isFinite(e)?e*(t.trim().endsWith("ms")?1:1e3):0};function b(t,e=window){let s=!1,o=null,n=null;const i=()=>{s||(s=!0,null!==o&&(e.cancelAnimationFrame(o),o=null),null!==n&&(e.clearTimeout(n),n=null),t())};return o=e.requestAnimationFrame(i),n=e.setTimeout(i,50),"function"==typeof e.queueMicrotask&&e.queueMicrotask(i),()=>{s=!0,null!==o&&e.cancelAnimationFrame(o),null!==n&&e.clearTimeout(n)}}function y(t,e,s=window){let o=null,n=!1;const i=b(()=>{if(n)return;const i=t(),a=i?.querySelectorAll("[data-sf-modal-panel], [data-sf-modal-overlay]")||[],l=Math.max(0,...Array.from(a,t=>{const e=s.getComputedStyle(t);return"none"===e.display?0:function(t){const e=t.transitionProperty.split(",").map(t=>t.trim()),s=t.transitionDuration.split(",").map(g),o=t.transitionDelay.split(",").map(g);return Math.max(0,...e.map((t,e)=>["all","opacity","transform","-webkit-transform"].includes(t)?Math.max(0,s[e%s.length])+o[e%o.length]:0))}(e)}));o=s.setTimeout(()=>{n||e()},l)},s);return()=>{n=!0,i(),null!==o&&s.clearTimeout(o)}}function v(t,e={}){const s=document.createElementNS("http://www.w3.org/2000/svg",t);return Object.entries(e).forEach(([t,e])=>{null!=e&&""!==e&&s.setAttribute(t,String(e))}),s}const w=t=>Math.round(1e3*t)/1e3;function C(t={}){return function({width:t=24,height:e=24,stroke:s=2,dots:o=8,filled:n=3,dotRadius:i=null,direction:a="clockwise",pixel:l=!1}={}){const r=t/2,d=e/2,c=Math.min(t,e)/2,h=Math.max(1,c-s/2),m=v("svg",{class:"sf-loader-svg",viewBox:`0 0 ${t} ${e}`,width:l?t:null,height:l?e:null,"aria-hidden":"true",focusable:"false"}),u={cx:r,cy:d,r:w(h),fill:"none",stroke:"currentColor","stroke-width":s},f=v("circle",{class:"sf-loader-ring-filled",...u,opacity:"0.3"}),p=v("circle",{class:"sf-loader-ring-accent",...u,"stroke-linecap":"round",pathLength:100,"stroke-dasharray":"30 70",transform:`rotate(90 ${r} ${d})`}),g=v("g",{class:"sf-loader-comet",display:"none",transform:`rotate(-90 ${r} ${d})`});for(let t=0;t<10;t+=1){const e=9===t;g.append(v("circle",{class:"sf-loader-comet-segment"+(e?" sf-loader-comet-head":""),...u,"stroke-linecap":e?"round":"butt",pathLength:100,"stroke-dasharray":`${w(4)} ${w(96)}`,"stroke-dashoffset":w(-4*t),opacity:w(((t+1)/10)**1.6)}))}const b=Math.max(3,Math.min(32,Math.floor(Number(o)||8))),y=Math.max(1,Math.min(b,Math.floor(Number(n)||3))),C=Math.min(s,.7*Math.PI*(c-s)/b),_=null==i||""===i?C:Math.max(1,Math.min(Number(i)||C,c/4)),E=Math.max(_,c-_),A=v("g",{class:"sf-loader-dots",display:"none",style:`--sf-loader-dot-count:${b}; --sf-loader-dot-filled:${y};`});for(let t=0;t<b;t+=1){const e=2*Math.PI/b*t-Math.PI/2,s="counterclockwise"===a?t:(b-t)%b;A.append(v("circle",{class:"sf-loader-dot"+(t<y?" sf-loader-dot--active":""),cx:w(r+E*Math.cos(e)),cy:w(d+E*Math.sin(e)),r:w(_),fill:"currentColor",style:`--sf-loader-dot-index:${t}; --sf-loader-dot-step:${s};`}))}return m.append(f,p,g,A),m}({...t,width:24,height:24,stroke:2,dotRadius:null,pixel:!1})}const _=Symbol.for("simai.modal.document-stack");function E(){return document[_]||Object.defineProperty(document,_,{value:{items:[],lockOwner:null},configurable:!0}),document[_]}function A(){return E().items.at(-1)||null}function S(){E().items.forEach((t,e)=>t.applyStackPosition(e)),function(t){const e=t?.getModalRoot?.()||t?.template,s=e?.querySelector?.("[data-sf-modal-panel]"),o=document[u];if(o&&o.panel===s&&o.before.isConnected&&o.after.isConnected)return;if(o?.before.remove(),o?.after.remove(),delete document[u],!s?.parentNode)return;const n={panel:s,relaying:!1};for(const t of["before","after"]){const o=s.ownerDocument.createElement("span");o.tabIndex=0,o.className="sf-modal-focus-guard",o.setAttribute("aria-hidden","true"),o.addEventListener("focus",()=>{if(n.relaying||!s.isConnected||e.inert||"true"===e.getAttribute("aria-hidden"))return;const o="before"===t,i=p(s,o),a=o?i.at(-1):i[0];a&&"IFRAME"!==a.tagName?a.focus({preventScroll:!0}):s.focus({preventScroll:!0})}),n[t]=o}s.before(n.before),s.after(n.after),document[u]=n}(A())}const x=t=>!t.inContainer;function L(t,e=!1){if(!t?.isConnected||"function"!=typeof t.focus||t.matches(":disabled")||t.closest('[inert], [hidden], [aria-hidden="true"]')||!t.getClientRects().length||"visible"!==t.ownerDocument.defaultView.getComputedStyle(t).visibility)return!1;const s=e&&!t.hasAttribute("tabindex");let o;const n=()=>{o?.disconnect(),t.removeEventListener("blur",n),s&&"-1"===t.getAttribute("tabindex")&&t.removeAttribute("tabindex")};s&&(t.setAttribute("tabindex","-1"),t.addEventListener("blur",n,{once:!0}),o=new t.ownerDocument.defaultView.MutationObserver(()=>{t.isConnected||n()}),o.observe(t.ownerDocument.documentElement,{childList:!0,subtree:!0}));let i=!1;try{return t.focus({preventScroll:!0}),i=t.ownerDocument.activeElement===t,i}catch{return!1}finally{s&&!i&&n()}}const k="[data-sf-overlay-container], [data-sf-drawer-container]";function T(...t){return t.filter(Boolean).join(" ").trim()}function N(t="medium"){const e=String(t||"medium").trim().toLowerCase();return["none","small","medium","large"].includes(e)?e:"medium"}function O(t="medium"){return`backdrop-blur-${N(t)}`}function M(t){return["none","small","medium","large"].includes(String(t||"").trim().toLowerCase())}function F(t){return String(t||"").trim()}const P={en:{title:"Dialog",close:"Close",loading:"Loading…",loadFailed:"Failed to load content",frameFailed:"Failed to load iframe content"},ru:{title:"Окно",close:"Закрыть",loading:"Загрузка…",loadFailed:"Не удалось загрузить содержимое",frameFailed:"Не удалось загрузить встроенную страницу"}},B=(t,e)=>c(P,t,e?.isConnected?e:document.documentElement,"sf-modal"),I=t=>c(P,"title",t);class $ extends t{static componentName="Modal";static registry=new Map;static globalBound=!1;static stack=[];static openCount=0;static uid=0;static lockState=null;static baseZIndex=9e3;static getTopModal(){return A()}static isTopModal(t){return $.getTopModal()===t}static addToStack(t){t&&"inline"!==t.display&&($.stack=$.stack.filter(e=>e!==t),$.stack.push(t),$.openCount=$.stack.length,function(t,e){const s=E();s.items.includes(t)||(x(t)&&!s.lockOwner&&(s.lockOwner=e,e.lockPage(t.preserveScrollGap)),s.items.push(t),S())}(t,$))}static removeFromStack(t){t&&"inline"!==t.display&&($.stack=$.stack.filter(e=>e!==t),$.openCount=$.stack.length,function(t){const e=E(),s=e.items.indexOf(t);s<0||(e.items.splice(s,1),e.lockOwner&&!e.items.some(x)&&(e.lockOwner.unlockPage(),e.lockOwner=null),S())}(t))}static bringToFront(t){t&&"inline"!==t.display&&$.stack.includes(t)&&($.stack=$.stack.filter(e=>e!==t),$.stack.push(t),function(t){const e=E(),s=e.items.indexOf(t);s<0||(e.items.splice(s,1),e.items.push(t),S())}(t))}static updateStackStyles(){S()}constructor(t){super(t);const e=this.params||{};this.modalId=this.id||e.id||"sf-modal-"+ ++$.uid,this.isOpen=!1,this.lastActive=null,this.root=e.root||null,this.container=e.container||null,this.overlay=this.toBoolean(e.overlay,!0),this.unclose=this.toBoolean(e.unclose,!1),this.showClose=this.toBoolean(e.showClose,!0)&&!this.unclose,this.showFooter=this.toBoolean(e.showFooter,!0),this.closeOnEsc=this.toBoolean(e.closeOnEsc,!0)&&!this.unclose,this.closeOnOverlay=this.toBoolean(e.closeOnOverlay,!0)&&!this.unclose,this.preserveScrollGap=this.toBoolean(e.preserveScrollGap,!0),this.autoload=this.toBoolean(e.autoload,!1),this.position=function(t="center"){const e=String(t||"center").trim().toLowerCase();return["center","left","right","inline-start","inline-end","top","bottom"].includes(e)?e:"center"}(e.position),this.fullscreen=this.toBoolean(e.fullscreen,!1),this.mode=function(t){const e=String(t||"inline").trim().toLowerCase();return["inline","ajax","iframe"].includes(e)?e:"inline"}(e.mode),this.display=function(t){const e=String(t||"modal").trim().toLowerCase();return["modal","inline"].includes(e)?e:"modal"}(e.display),this.src=e.src||"",this.preload=this.toBoolean(e.preload,!0),this._fetchController=null,this._contentLoaded=!1,this._contentError=null,this._loadingTimer=null,this._loadingShown=!1,this._loadingDebounceMs=500,this.blur=!!M(e.blur)||this.toBoolean(e.blur,!1),this.hasCustomBlurType=M(e.blurType)||M(e.blur),this.blurType=N(e.blurType||(M(e.blur)?e.blur:"")),this.onOverlayClick=this.onOverlayClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this._modalState="closed",this._stackIndex=-1,this._closeTimer=null,this._closeTransitionAbort=null,this.template=this.buildTemplate(e),this.template.id=this.modalId,this.template.setAttribute("data-sf-modal-id",this.modalId),this.template.setAttribute("aria-hidden","true"),this.init()}overlayHomeFor(t=null){let e=this.container;if("string"==typeof e&&(e=document.querySelector(e)),e instanceof Element)return e.matches(k)||e.setAttribute("data-sf-overlay-container",""),e;return(t instanceof Element?t.closest(k):null)||document.body}get overlayHome(){return this.overlayHomeFor()}get inContainer(){return Boolean(this.template?.parentElement?.closest(k))}placeIn(t){"inline"!==this.display&&!this.root&&this.template&&t&&this.template.parentElement!==t&&t.append(this.template)}emitEvent(t,{cancelable:e=!1,detail:s={}}={}){const o={modal:this,id:this.modalId,isOpen:this.isOpen,...s};let n=!1;if(this.template){const s=new CustomEvent(t,{bubbles:!0,cancelable:e,detail:o});this.template.dispatchEvent(s),n=n||s.defaultPrevented}if("undefined"!=typeof window){const e=new CustomEvent(t,{cancelable:!1,detail:o});window.dispatchEvent(e)}return!n}runCallback(t,e={}){const s=this.params?.[t];if("function"==typeof s)return s({modal:this,id:this.modalId,isOpen:this.isOpen,...e})}emitBeforeOpen(){const t=this.emitEvent("modal:before-open",{cancelable:!0,detail:{phase:"before-open"}}),e=this.emitEvent("SFModalBeforeOpenWindow",{cancelable:!0,detail:{phase:"before-open"}});if(!t||!e)return!1;const s=this.runCallback("beforeOpen",{phase:"before-open"}),o=this.runCallback("beforeOpenWindow",{phase:"before-open"});return!1!==s&&!1!==o}emitAfterOpen(){this.emitEvent("modal:after-open",{detail:{phase:"after-open"}}),this.emitEvent("SFModalAfterOpenWindow",{detail:{phase:"after-open"}}),this.runCallback("afterOpen",{phase:"after-open"}),this.runCallback("afterOpenWindow",{phase:"after-open"})}emitBeforeClose(){const t=this.emitEvent("modal:before-close",{cancelable:!0,detail:{phase:"before-close"}}),e=this.emitEvent("SFModalBeforeCloseWindow",{cancelable:!0,detail:{phase:"before-close"}});if(!t||!e)return!1;const s=this.runCallback("beforeClose",{phase:"before-close"}),o=this.runCallback("beforeCloseWindow",{phase:"before-close"});return!1!==s&&!1!==o}emitAfterClose(){this.emitEvent("modal:after-close",{detail:{phase:"after-close"}}),this.emitEvent("SFModalAfterCloseWindow",{detail:{phase:"after-close"}}),this.runCallback("afterClose",{phase:"after-close"}),this.runCallback("afterCloseWindow",{phase:"after-close"})}toBoolean(t,e){if(null==t)return e;if("boolean"==typeof t)return t;const s=`${t}`.trim().toLowerCase();return!!["1","true","yes","on"].includes(s)||!["0","false","no","off"].includes(s)&&e}getBlurClasses(){return this.hasCustomBlurType?[O(this.blurType)]:[]}setOverlay(t){this.overlay=this.toBoolean(t,!0);const e=this.template?.querySelector("[data-sf-modal-overlay]");return e?(e.classList.toggle("hidden",!this.overlay||"inline"===this.display),this):this}buildTemplate(t){const e="inline"===this.display,s=document.createElement("div");s.className=e?`sf-modal sf-modal--inline sf-modal--position-${this.position} sf-modal--positon-${this.position} inline-block w-full`:`sf-modal sf-modal--position-${this.position} sf-modal--positon-${this.position} hidden fixed top-0 inline-start-0 w-full h-full z-9 p-3 items-cross-center content-main-center`,s.setAttribute("role",e?"region":"dialog"),s.setAttribute("aria-modal",e?"false":"true"),s.setAttribute("data-sf-modal-position",this.position),s.setAttribute("data-sf-modal-fullscreen",String(this.fullscreen)),s.setAttribute("data-sf-modal-display",this.display),s.setAttribute("data-sf-modal-state",e?"inline":"closed");const o=document.createElement("div");o.className=T("absolute top-0 inline-start-0 w-full h-full",this.blur?this.hasCustomBlurType?this.getBlurClasses().join(" "):"bg-surface-overlay":"bg-black opacity-6",t.overlayClass),o.setAttribute("data-sf-modal-overlay",""),this.overlay&&!e||o.classList.add("hidden");const n=document.createElement("section");n.className=T("relative overflow-visible",t.panelClass),n.setAttribute("data-sf-modal-panel","");const i=F(t.width),a=F(t.height);i&&(n.style.setProperty("--sf-modal-width",i),n.setAttribute("data-sf-modal-has-width","")),a&&(n.style.setProperty("--sf-modal-height",a),n.setAttribute("data-sf-modal-has-height",""));const l=document.createElement("div");l.className=T(e?"bg-surface border border-outline-variant radius-surface p-2 flex flex-col gap-1 min-w-0":"bg-surface border border-outline-variant radius-surface shadow-3 p-2 flex flex-col gap-1 min-w-0",t.surfaceClass),l.setAttribute("data-sf-modal-surface","");const r=document.createElement("header");if(r.className=T("sf-modal-header flex items-start min-w-0 border-b border-outline-variant gap-1",t.headerClass),Array.isArray(t.headerNodes)&&t.headerNodes.length)s.setAttribute("aria-label",t.title||I(s)),t.headerNodes.forEach(t=>{t instanceof Node&&r.append(t)});else{const e=document.createElement("h2");if(e.id=`${this.modalId}-title`,s.setAttribute("aria-labelledby",e.id),e.className="sf-modal-header-content title-3 m-0",e.textContent=t.title||I(s),r.append(e),this.showClose){const e=document.createElement("button");e.type="button",e.className=T("sf-icon-button sf-modal-header-action sf-modal-close-button sf-icon-button--close sf-icon-button--link sf-icon-button--on-surface sf-icon-button--size-1/3 m-0",t.closeClass),e.setAttribute("aria-label",c(P,"close",e.isConnected?e:document.documentElement)),e.setAttribute("data-sf-modal-close",this.modalId),e.innerHTML=' <span\n class="sf-close sf-close--size-1/3 flex justify-center items-center"\n aria-hidden="true"\n >\n <span class="sf-close-icon"></span>\n </span>',r.append(e)}}const d=document.createElement("div");d.className="sf-modal-body flex flex-col gap-1 min-w-0 overflow-visible",d.setAttribute("data-sf-modal-body","");const h=document.createElement("div");h.className="sf-modal-body-viewport min-w-0 overflow-visible",h.setAttribute("data-sf-modal-body-viewport","");const m=document.createElement("div");m.className=T("sf-modal-body-scroll h-full min-w-0 overflow-y-auto flex flex-col gap-1 p-1/4",t.bodyClass),m.setAttribute("data-sf-modal-body-scroll","");const u=document.createElement("div");if(u.className="sf-modal-content-placeholder flex flex-col gap-2 min-h-8 items-cross-center content-main-center",u.setAttribute("data-sf-modal-content-placeholder",""),"ajax"!==this.mode&&"iframe"!==this.mode||!this.src){if(Array.isArray(t.contentNodes)&&t.contentNodes.length){const e=document.createElement("div");e.className=T("sf-modal-content flex flex-col gap-2",t.contentClass),t.contentNodes.forEach(t=>{t instanceof Node&&e.append(t)}),m.append(e)}}else this._scheduleLoading(u),m.append(u);if(Array.isArray(t.footerNodes)&&t.footerNodes.length&&this.showFooter){const e=document.createElement("div");e.className=T("sf-modal-footer flex flex-wrap",t.footerClass),t.footerNodes.forEach(t=>{t instanceof Node&&e.append(t)}),d.append(e)}else if("string"==typeof t.html&&t.html.trim())m.innerHTML=t.html;else if("ajax"===this.mode&&this.src||"iframe"===this.mode&&this.src);else{const e=document.createElement("p");e.className="m-0 text-2",e.textContent=t.text||"",m.append(e)}return h.append(m),d.prepend(h),l.append(r,d),n.append(l),s.append(o,n),s}_scheduleLoading(t){this._cancelLoadingTimer(),this._loadingShown=!1,this._loadingTimer=setTimeout(()=>{this._showLoading(t),this._loadingShown=!0},this._loadingDebounceMs)}_cancelLoadingTimer(){this._loadingTimer&&(clearTimeout(this._loadingTimer),this._loadingTimer=null)}_finishLoading(){this._cancelLoadingTimer()}_showLoading(t){t.innerHTML="";const e=document.createElement("div");e.className="sf-modal-loading flex flex-col gap-2 items-cross-center content-main-center p-4",e.setAttribute("data-sf-modal-state","loading");const s=B("loading",this.template);e.setAttribute("role","status"),e.setAttribute("aria-label",s);const o=document.createElement("p");o.className="m-0 text-2 color-on-surface-variant",o.textContent=s,e.append(o),e.prepend(function({className:t="",overlay:e=!1}={}){const s=document.createElement("span");s.className=["sf-loader-container","sf-loader--infinite",t,t&&e?`${t}--overlay`:""].filter(Boolean).join(" "),s.dataset.sfSpinnerBound="1",s.dataset.infinite="true",s.setAttribute("aria-hidden","true");const o=document.createElement("span");return o.className="sf-loader--loading-indicator",o.append(C()),s.append(o),s}({className:"sf-modal-spinner"})),t.append(e)}_showError(t,e){t.innerHTML="";const s=document.createElement("div");s.className="sf-modal-error flex flex-col gap-2 items-cross-center content-main-center p-4",s.setAttribute("data-sf-modal-state","error"),s.innerHTML=`\n <div class="sf-modal-error-icon text-4 color-error">⚠</div>\n <p class="sf-modal-error-text m-0 text-2 color-error">${this.escapeHtml(e||B("loadFailed",this.template))}</p>\n `,t.append(s)}_abortFetch(){this._fetchController&&(this._fetchController.abort(),this._fetchController=null)}async _loadContent(){this.src&&("iframe"!==this.mode?"ajax"===this.mode&&this._loadAjax():this._loadIframe())}async _loadAjax(){if(this.src.startsWith("#")){const t=document.querySelector(this.src);if(t){this._emitBeforeContentUpload();const e=t.cloneNode(!0);e.removeAttribute("id"),this._finishLoading(),this._replaceContentWithNode(e),this._contentLoaded=!0,this._emitAfterContentUpload()}else this._contentError=`Element not found: ${this.src}`,this._finishLoading(),this._showContentError();return}this._abortFetch();const t=new AbortController;this._fetchController=t;try{this._emitBeforeContentUpload();const e=await fetch(this.src,{signal:t.signal});if(!e.ok)throw new Error(`HTTP ${e.status}: ${e.statusText}`);const s=await e.text();this._contentLoaded=!0,this._finishLoading(),this._replaceContentWithHtml(s),this._fetchController=null,this._emitAfterContentUpload()}catch(e){if("AbortError"===e.name)return void(this._fetchController&&this._fetchController!==t||this._finishLoading());this._contentError=e.message,this._finishLoading(),this._showContentError()}}_loadIframe(){this._emitBeforeContentUpload();const t=this.template?.querySelector("[data-sf-modal-body-scroll]");if(!t)return;t.innerHTML="";const e=document.createElement("iframe");e.className="sf-modal-iframe w-full border-0 radius-surface",e.src=this.src,e.setAttribute("data-sf-modal-iframe",""),e.setAttribute("allowfullscreen",""),e.style.minHeight="var(--sf-modal-iframe-min-height)",e.style.height="100%",e.addEventListener("load",()=>{this._contentLoaded=!0,this._finishLoading(),this._emitAfterContentUpload()}),e.addEventListener("error",()=>{this._contentError=B("frameFailed",this.template),this._finishLoading(),this._showContentError()}),t.append(e)}_replaceContentWithNode(t){const e=this.template?.querySelector("[data-sf-modal-body-scroll]");if(!e)return;e.innerHTML="";const s=document.createElement("div");s.className="sf-modal-content flex flex-col gap-2",s.append(t),e.append(s)}_replaceContentWithHtml(t){const e=this.template?.querySelector("[data-sf-modal-body-scroll]");if(!e)return;e.innerHTML="";const s=document.createElement("div");s.className="sf-modal-content flex flex-col gap-2",s.innerHTML=t,e.append(s)}_showContentError(){const t=this.template?.querySelector("[data-sf-modal-body-scroll]");if(!t)return;t.innerHTML="";const e=document.createElement("div");e.className="sf-modal-error flex flex-col gap-2 items-cross-center content-main-center p-4",e.setAttribute("data-sf-modal-state","error"),e.innerHTML=`\n <div class="sf-modal-error-icon text-4 color-error">⚠</div>\n <p class="sf-modal-error-text m-0 text-2 color-error">${this.escapeHtml(this._contentError||B("loadFailed",this.template))}</p>\n `,t.append(e)}_emitBeforeContentUpload(){this.emitEvent("modal:before-content-upload",{detail:{src:this.src}}),this.runCallback("beforeContentUpload",{src:this.src})}_emitAfterContentUpload(){this.emitEvent("modal:after-content-upload",{detail:{src:this.src}}),this.runCallback("afterContentUpload",{src:this.src})}escapeHtml(t){const e=document.createElement("div");return e.textContent=t,e.innerHTML}init(){if("inline"===this.display)return this._modalState="open",this.template.setAttribute("data-sf-modal-state","open"),this.template.classList.remove("hidden"),this.toBoolean(this.params?.open,!0)?this.isOpen=!0:(this.isOpen=!1,this._modalState="closed",this.template.setAttribute("data-sf-modal-state","closed"),this.template.classList.add("hidden")),this.template.setAttribute("aria-hidden",String(!this.isOpen)),this.root&&this.root.append(this.template),$.registry.set(this.modalId,this),void("ajax"!==this.mode&&"iframe"!==this.mode||!this.src||!1===this.preload||this._loadContent());if(this.template.isConnected||this.overlayHome.append(this.template),"inline"===this.display)return this.isOpen=!0,this._modalState="open",this.template.setAttribute("data-sf-modal-state","inline"),this.template.classList.remove("hidden"),$.registry.set(this.modalId,this),void("ajax"!==this.mode&&"iframe"!==this.mode||!this.src||!1===this.preload||this._loadContent());this.template.addEventListener("click",this.onOverlayClick),document.addEventListener("keydown",this.onKeyDown),$.registry.set(this.modalId,this),$.bindGlobalEvents();(this.toBoolean(this.params?.open,!1)||this.autoload)&&requestAnimationFrame(()=>{this.open({animate:!1})}),"ajax"!==this.mode&&"iframe"!==this.mode||!this.src||!1===this.preload||this._loadContent()}destroyInternal(){this._abortFetch(),this._cancelLoadingTimer(),this.cancelCloseTransition(),"inline"===this.display||!this.isOpen&&"closing"!==this._modalState||(this._modalState="closing",this.finishClose()),$.removeFromStack(this),this.template.removeEventListener("click",this.onOverlayClick),document.removeEventListener("keydown",this.onKeyDown),$.registry.delete(this.modalId)}onOverlayClick(t){t.target===this.template.querySelector("[data-sf-modal-overlay]")&&this.closeOnOverlay&&this.close()}onKeyDown(t){if((this.isOpen||"closing"===this._modalState)&&$.isTopModal(this))return"Escape"!==t.key||!this.closeOnEsc||"closing"===this._modalState||t.defaultPrevented||document.documentElement?.dataset?.sfPopoverOpen?void("Tab"===t.key&&this.trapFocus(t)):(t.preventDefault(),t.stopImmediatePropagation(),void this.close())}trapFocus(t){if(!$.isTopModal(this))return;!function(t,e){if(!t)return;const s=p(t,e.shiftKey),o=t.ownerDocument.activeElement;if(!s.length)return e.preventDefault(),void t.focus();const n=s[0],i=s[s.length-1],a=e.shiftKey?n:i;if(!t.contains(o)||o===t||o===a||f(o,a)){const s=e.shiftKey?i:n,o=t.ownerDocument[u];if("IFRAME"===s.tagName&&o?.panel===t){o.relaying=!0;try{(e.shiftKey?o.after:o.before).focus({preventScroll:!0})}finally{o.relaying=!1}return}e.preventDefault(),s.focus()}}(this.template.querySelector("[data-sf-modal-panel]"),t)}focusFirst(){if("inline"!==this.display&&!$.isTopModal(this))return;const t=this.template.querySelector("[data-sf-modal-panel]");t&&(t.setAttribute("tabindex","-1"),t.focus())}applyStackPosition(t=function(t){return E().items.indexOf(t)}(this)){return this._stackIndex=t,this.template&&"inline"!==this.display?t<0?(this.template.style.removeProperty("z-index"),this.template.style.removeProperty("--sf-modal-stack-index"),this):(this.template.style.setProperty("--sf-modal-stack-index",String(t)),this.template.style.zIndex=String($.baseZIndex+2*t),this):this}open(t={}){const{animate:e=!0}="boolean"==typeof t?{animate:t}:t;if("inline"===this.display){if(this.isOpen)return;if(!this.emitBeforeOpen())return;return this.isOpen=!0,this._modalState="open",this.template.setAttribute("data-sf-modal-state","open"),this.template.classList.remove("hidden"),this.template.setAttribute("aria-hidden","false"),void this.emitAfterOpen()}if(this.isOpen)return $.bringToFront(this),void this.cancelCloseTransition();if(this.emitBeforeOpen()){if(("ajax"===this.mode||"iframe"===this.mode)&&this.src&&!this._contentLoaded&&!this._contentError){const t=this.template?.querySelector("[data-sf-modal-body-scroll]");t&&this._scheduleLoading(t),this._loadContent()}if(this._releaseClosingContent?.(),this._releaseClosingContent=null,"closing"!==this._modalState&&(this.lastActive=document.activeElement,this._focusReturnAncestors=function(t){const e=[];for(let s=t?.parentElement;s;s=s.parentElement)s.matches('main, section, article, [role="main"], [role="region"]')&&e.push(s);return e}(this.lastActive),this.placeIn(this.overlayHomeFor(this.lastActive))),this.cancelCloseTransition(),this.template.classList.remove("hidden"),this.template.classList.add("flex"),this.template.setAttribute("aria-hidden","false"),this.template.classList.toggle("animate",Boolean(e)),this.template.setAttribute("data-sf-modal-state","opening"),this.isOpen=!0,$.addToStack(this),!e)return this._modalState="open",this.template.setAttribute("data-sf-modal-state","open"),this.focusFirst(),void this.emitAfterOpen();b(()=>{this.isOpen&&"closing"!==this._modalState&&(this._modalState="open",this.template.setAttribute("data-sf-modal-state","open"),this.focusFirst(),this.emitAfterOpen())})}}close(){if("inline"===this.display){if(!this.emitBeforeClose())return;return this.isOpen=!1,this._modalState="closed",this.template.setAttribute("data-sf-modal-state","closed"),this.template.classList.add("hidden"),this.template.setAttribute("aria-hidden","true"),void this.emitAfterClose()}if(!this.isOpen||"closing"===this._modalState)return;if(!this.emitBeforeClose())return;this._modalState="closing",this.template.setAttribute("data-sf-modal-state","closing"),this.isOpen=!1;const t=this.template.querySelector("[data-sf-modal-panel]");this._releaseClosingContent=function(t,e=!1){if(!t)return()=>{};const s=new Set,o=()=>{for(const e of t.children)e.hasAttribute("inert")||(e.setAttribute("inert",""),s.add(e))};e&&t.focus({preventScroll:!0}),o();const n=new t.ownerDocument.defaultView.MutationObserver(o);return n.observe(t,{childList:!0}),()=>{n.disconnect();for(const t of s)""===t.getAttribute("inert")&&t.removeAttribute("inert");s.clear()}}(t,$.isTopModal(this)),this._closeTransitionAbort=y(()=>this.template,()=>this.finishClose())}toggle(){this.isOpen?this.close():this.open()}setSrc(t){if(this.src=t||"",this._contentLoaded=!1,this._contentError=null,this._loadingShown=!1,this._abortFetch(),!this.template||!this.isOpen)return this;const e=this.template?.querySelector("[data-sf-modal-body-scroll]");return e&&this._scheduleLoading(e),"ajax"!==this.mode&&"iframe"!==this.mode||!this.src||!1===this.preload||this._loadContent(),this}reloadContent(){if(("ajax"===this.mode||"iframe"===this.mode)&&this.src){this._contentLoaded=!1,this._contentError=null,this._loadingShown=!1,this._abortFetch();const t=this.template?.querySelector("[data-sf-modal-body-scroll]");t&&this._scheduleLoading(t),this._loadContent()}return this}cancelCloseTransition(){this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),this._closeTransitionAbort&&(this._closeTransitionAbort(),this._closeTransitionAbort=null),"closing"===this._modalState&&(this._modalState="open",this.template.setAttribute("data-sf-modal-state","open"))}finishClose(){if("closing"!==this._modalState)return;this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),this._closeTransitionAbort&&(this._closeTransitionAbort(),this._closeTransitionAbort=null),this.template.classList.remove("flex"),this.template.classList.add("hidden"),this.template.setAttribute("data-sf-modal-state","closed"),this.template.setAttribute("aria-hidden","true"),this._releaseClosingContent?.(),this._releaseClosingContent=null,this._modalState="closed";const t=$.isTopModal(this);$.removeFromStack(this),function(t,e,s=[]){if(!t)return;const o=A(),n=o?.getModalRoot?.()||o?.template;if((!o||n?.contains(e))&&L(e))return;if(o)return void o.focusFirst();const i=new Set([...s,...document.querySelectorAll('main, [role="main"]'),document.body]);for(const t of i)if(L(t,!0))return}(t,this.lastActive,this._focusReturnAncestors),this.emitAfterClose()}static bindGlobalEvents(){$.globalBound||"undefined"==typeof document||(document.addEventListener("click",t=>{const e=t.target.closest("[data-sf-modal-open]");if(e){const t=e.getAttribute("data-sf-modal-open"),s=$.registry.get(t);return void(s&&s.open())}const s=t.target.closest("[data-sf-modal-close]");if(!s)return;const o=s.getAttribute("data-sf-modal-close");if(o){const t=$.registry.get(o);return void(t&&t.close())}const n=s.closest(".sf-modal");if(!n)return;const i=n.getAttribute("data-sf-modal-id"),a=$.registry.get(i);a&&a.close()}),$.globalBound=!0)}static lockPage(t=!0){$.lockState||($.lockState=function(t=!0){const e=document.documentElement,s=document.body;if(!e||!s)return null;const o=Math.max(0,window.innerWidth-e.clientWidth),n=parseFloat(window.getComputedStyle(s).paddingInlineEnd)||0,i={docEl:e,body:s,htmlLocked:e.classList.contains("overflow-hidden"),bodyLocked:s.classList.contains("overflow-hidden"),bodyPaddingInlineEnd:s.style.getPropertyValue("padding-inline-end"),paddingPriority:s.style.getPropertyPriority("padding-inline-end"),appliedPadding:null};return e.classList.add("overflow-hidden"),s.classList.add("overflow-hidden"),t&&o>0&&(s.style.setProperty("padding-inline-end",`${n+o}px`,i.paddingPriority),i.appliedPadding=s.style.getPropertyValue("padding-inline-end")),i}(t))}static unlockPage(){!function(t){if(!t)return;const{docEl:e,body:s}=t;t.htmlLocked||e.classList.remove("overflow-hidden"),t.bodyLocked||s.classList.remove("overflow-hidden"),null!==t.appliedPadding&&s.style.getPropertyValue("padding-inline-end")===t.appliedPadding&&s.style.getPropertyPriority("padding-inline-end")===t.paddingPriority&&(t.bodyPaddingInlineEnd?s.style.setProperty("padding-inline-end",t.bodyPaddingInlineEnd,t.paddingPriority):s.style.removeProperty("padding-inline-end"))}($.lockState),$.lockState=null}}e("Modal",$)})();
@@ -791,6 +791,13 @@
791
791
  "summary": "Space between the header, the body and the footer.",
792
792
  "default": "var(--sf-space-1)",
793
793
  "since": "2026-10-18"
794
+ },
795
+ {
796
+ "name": "--sf-modal-footer-gap",
797
+ "role": "gap",
798
+ "summary": "Space between the footer's actions, which stand at the end.",
799
+ "default": "var(--sf-space-1/2)",
800
+ "since": "2026-10-23"
794
801
  }
795
802
  ]
796
803
  },
@@ -332,6 +332,17 @@
332
332
  not take --sf-on-paper. */
333
333
  --sf-paper: var(--sf-white);
334
334
  --sf-on-paper: var(--sf-neutral-10);
335
+ /* What an editor draws on the paper -- the selection frame, a hover
336
+ outline, the tints of a hovered and a selected block -- reads these, the
337
+ light theme's values in both themes, because the paper does not flip:
338
+ the dark theme's primary-80 frame on white paper measured 1.75:1
339
+ (simai/ui-source#29, ui-mail P-04). primary-40 on the paper holds 6.3:1
340
+ and the outline 3:1 or more, as a part of the interface must; the tints
341
+ are the light theme's state layers. */
342
+ --sf-paper-primary: var(--sf-primary-40);
343
+ --sf-paper-outline: var(--sf-neutral-50);
344
+ --sf-paper-hover: var(--sf-primary-50--alfa-4);
345
+ --sf-paper-select: var(--sf-primary-50--alfa-8);
335
346
  /* The well: the recessed area a canvas or a paper sits in, below the
336
347
  panels around it. In the light theme a step under surface-1 (the
337
348
  paper's white stands on it by its shadow, 1.13:1, as the elevation guide
@@ -718,6 +729,9 @@
718
729
  --sf-i7: 136rem;
719
730
  --sf-i8: 144rem;
720
731
  --sf-i9: 152rem;
732
+ --sf-layout-reading-width: var(--sf-h2);
733
+ --sf-layout-floating-panel-width: calc(var(--sf-g2) + var(--sf-b6));
734
+ --sf-layout-floating-panel-height: calc(var(--sf-h0) + var(--sf-d0));
721
735
  --sf-z-index--1: -1;
722
736
  --sf-z-index-1: 10;
723
737
  --sf-z-index-2: 20;
@@ -2966,3 +2980,12 @@ body {
2966
2980
  }
2967
2981
  }
2968
2982
  }
2983
+ @media (hover: none) and (pointer: coarse) and (max-width: 59.98rem) {
2984
+ @layer sf.states {
2985
+ input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]):not([type=hidden]):not([class*="--size-3"]):not([class*="--size-3"] *),
2986
+ textarea:not([class*="--size-3"]):not([class*="--size-3"] *),
2987
+ select:not([class*="--size-3"]):not([class*="--size-3"] *) {
2988
+ font-size: 16px;
2989
+ }
2990
+ }
2991
+ }