@simai-studio/ui 5.20261022.1534 → 5.20261022.1814
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/distr/component/textarea/css/textarea.min.css +1 -1
- package/distr/component/textarea/js/textarea.min.js +1 -1
- package/distr/core/contracts/packages/larena.package.json +1 -0
- package/distr/core/contracts/public-js-api.json +2 -1
- package/distr/smart/datepicker/js/datepicker.min.js +10 -9
- package/distr/smart/datepicker/smart.manifest.json +17 -7
- package/distr/smart/datepicker/template/default.js +2 -1
- package/distr/smart/field-renderers/js/field-renderers.min.js +120 -88
- package/distr/smart/inputs/js/inputs.min.js +3 -3
- package/distr/smart/inputs/smart.manifest.json +1 -1
- package/distr/smart/textarea/js/textarea.min.js +1 -1
- package/distr/smart/textarea/smart.manifest.json +7 -5
- package/package-manifest.json +15 -15
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# @simai-studio/ui
|
|
2
2
|
|
|
3
|
-
SIMAI Framework, release `ui-
|
|
3
|
+
SIMAI Framework, release `ui-f2f3e8f912cf` (commit f2f3e8f912cf618b95b509040465e618208e7322 of [simai/ui](https://github.com/simai/ui)).
|
|
4
4
|
|
|
5
5
|
```html
|
|
6
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@simai-studio/ui@5.20261022.
|
|
7
|
-
<script>window.sfPath = 'https://cdn.jsdelivr.net/npm/@simai-studio/ui@5.20261022.
|
|
8
|
-
<script src="https://cdn.jsdelivr.net/npm/@simai-studio/ui@5.20261022.
|
|
6
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@simai-studio/ui@5.20261022.1814/distr/core/css/core.css">
|
|
7
|
+
<script>window.sfPath = 'https://cdn.jsdelivr.net/npm/@simai-studio/ui@5.20261022.1814/distr/';</script>
|
|
8
|
+
<script src="https://cdn.jsdelivr.net/npm/@simai-studio/ui@5.20261022.1814/distr/core/js/core.js"></script>
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Components, utilities and Smart Components ship in their minified form (the Loader asks for it); Core in both forms. Documentation: https://ui.simai.io/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer sf.components{.sf-textarea{min-width:0;min-inline-size:0;--sf-textarea--radius: var(--sf-textarea-radius, var(--sf-radius--ui));background-color:transparent;background-color:var(--sf-textarea--background-color, transparent);gap:var(--sf-space-1\/4);gap:var(--sf-textarea--gap, var(--sf-space-1\/4))}.sf-textarea .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--background-color: transparent;background-color:var(--sf-textarea-hint-text-wrap--background-color);color:var(--sf-textarea-hint-text-wrap--color);font-family:var(--sf-textarea-hint-text-wrap--font-family);font-size:var(--sf-textarea-hint-text-wrap--font-size);font-weight:var(--sf-textarea-hint-text-wrap--font-weight);line-height:var(--sf-textarea-hint-text-wrap--line-height)}.sf-textarea .sf-textarea-label{--sf-textarea-label--background-color: transparent;--sf-textarea-label--gap: var(--sf-space-1\/4);background-color:var(--sf-textarea-label--background-color);gap:var(--sf-textarea-label--gap)}.sf-textarea .sf-textarea-required{--sf-textarea-required--color: var(--sf-error);--sf-textarea-required--font-family: var(--sf-text--family);--sf-textarea-required--font-weight: var(--sf-font-weight-regular);color:var(--sf-textarea-required--color);font-family:var(--sf-textarea-required--font-family);font-size:var(--sf-textarea-required--font-size);font-weight:var(--sf-textarea-required--font-weight);line-height:var(--sf-textarea-required--line-height)}.sf-textarea .sf-textarea-text{--sf-textarea-text--color: var(--sf-on-surface-variant);--sf-textarea-text--font-family: var(--sf-text--family);--sf-textarea-text--font-weight: var(--sf-font-weight-regular);color:var(--sf-textarea-text--color);font-family:var(--sf-textarea-text--font-family);font-size:var(--sf-textarea-text--font-size);font-weight:var(--sf-textarea-text--font-weight);line-height:var(--sf-textarea-text--line-height)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{border-bottom-right-radius:var(--sf-textarea-textarea--border-end-end-radius)}@supports not (border-end-end-radius: initial){html:not([dir="rtl"]) .sf-textarea textarea{border-bottom-right-radius:var(--sf-textarea-textarea--border-end-end-radius)}}.sf-textarea textarea:where(:dir(ltr)){border-bottom-right-radius:var(--sf-textarea-textarea--border-end-end-radius)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{border-bottom-left-radius:var(--sf-textarea-textarea--border-end-end-radius)}@supports not (border-end-end-radius: initial){[dir="rtl"] .sf-textarea textarea{border-bottom-left-radius:var(--sf-textarea-textarea--border-end-end-radius)}}.sf-textarea textarea:where(:dir(rtl)){border-bottom-left-radius:var(--sf-textarea-textarea--border-end-end-radius)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{border-bottom-left-radius:var(--sf-textarea-textarea--border-end-start-radius)}@supports not (border-end-start-radius: initial){html:not([dir="rtl"]) .sf-textarea textarea{border-bottom-left-radius:var(--sf-textarea-textarea--border-end-start-radius)}}.sf-textarea textarea:where(:dir(ltr)){border-bottom-left-radius:var(--sf-textarea-textarea--border-end-start-radius)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{border-bottom-right-radius:var(--sf-textarea-textarea--border-end-start-radius)}@supports not (border-end-start-radius: initial){[dir="rtl"] .sf-textarea textarea{border-bottom-right-radius:var(--sf-textarea-textarea--border-end-start-radius)}}.sf-textarea textarea:where(:dir(rtl)){border-bottom-right-radius:var(--sf-textarea-textarea--border-end-start-radius)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{border-top-right-radius:var(--sf-textarea-textarea--border-start-end-radius)}@supports not (border-start-end-radius: initial){html:not([dir="rtl"]) .sf-textarea textarea{border-top-right-radius:var(--sf-textarea-textarea--border-start-end-radius)}}.sf-textarea textarea:where(:dir(ltr)){border-top-right-radius:var(--sf-textarea-textarea--border-start-end-radius)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{border-top-left-radius:var(--sf-textarea-textarea--border-start-end-radius)}@supports not (border-start-end-radius: initial){[dir="rtl"] .sf-textarea textarea{border-top-left-radius:var(--sf-textarea-textarea--border-start-end-radius)}}.sf-textarea textarea:where(:dir(rtl)){border-top-left-radius:var(--sf-textarea-textarea--border-start-end-radius)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{border-top-left-radius:var(--sf-textarea-textarea--border-start-start-radius)}@supports not (border-start-start-radius: initial){html:not([dir="rtl"]) .sf-textarea textarea{border-top-left-radius:var(--sf-textarea-textarea--border-start-start-radius)}}.sf-textarea textarea:where(:dir(ltr)){border-top-left-radius:var(--sf-textarea-textarea--border-start-start-radius)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{border-top-right-radius:var(--sf-textarea-textarea--border-start-start-radius)}@supports not (border-start-start-radius: initial){[dir="rtl"] .sf-textarea textarea{border-top-right-radius:var(--sf-textarea-textarea--border-start-start-radius)}}.sf-textarea textarea:where(:dir(rtl)){border-top-right-radius:var(--sf-textarea-textarea--border-start-start-radius)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{padding-right:var(--sf-textarea-textarea--padding-inline-end)}@supports not (padding-inline-end: initial){html:not([dir="rtl"]) .sf-textarea textarea{padding-right:var(--sf-textarea-textarea--padding-inline-end)}}.sf-textarea textarea:where(:dir(ltr)){padding-right:var(--sf-textarea-textarea--padding-inline-end)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{padding-left:var(--sf-textarea-textarea--padding-inline-end)}@supports not (padding-inline-end: initial){[dir="rtl"] .sf-textarea textarea{padding-left:var(--sf-textarea-textarea--padding-inline-end)}}.sf-textarea textarea:where(:dir(rtl)){padding-left:var(--sf-textarea-textarea--padding-inline-end)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{padding-left:var(--sf-textarea-textarea--padding-inline-start)}@supports not (padding-inline-start: initial){html:not([dir="rtl"]) .sf-textarea textarea{padding-left:var(--sf-textarea-textarea--padding-inline-start)}}.sf-textarea textarea:where(:dir(ltr)){padding-left:var(--sf-textarea-textarea--padding-inline-start)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{padding-right:var(--sf-textarea-textarea--padding-inline-start)}@supports not (padding-inline-start: initial){[dir="rtl"] .sf-textarea textarea{padding-right:var(--sf-textarea-textarea--padding-inline-start)}}.sf-textarea textarea:where(:dir(rtl)){padding-right:var(--sf-textarea-textarea--padding-inline-start)}.sf-textarea textarea{width:100%;inline-size:100%;min-width:0;min-inline-size:0;--sf-textarea-textarea--border: var(--sf-px) solid;--sf-textarea-textarea--border-end-end-radius: var(--sf-textarea--radius);--sf-textarea-textarea--border-end-start-radius: var(--sf-textarea--radius);--sf-textarea-textarea--border-start-end-radius: var(--sf-textarea--radius);--sf-textarea-textarea--border-start-start-radius: var(--sf-textarea--radius);background-color:var(--sf-textarea-textarea--background-color);border:var(--sf-textarea-textarea--border);border-color:transparent;border-color:var(--sf-textarea-textarea--border-color, transparent);border-end-end-radius:var(--sf-textarea-textarea--border-end-end-radius);border-end-start-radius:var(--sf-textarea-textarea--border-end-start-radius);border-start-end-radius:var(--sf-textarea-textarea--border-start-end-radius);border-start-start-radius:var(--sf-textarea-textarea--border-start-start-radius);box-shadow:var(--sf-textarea-textarea--box-shadow);color:var(--sf-textarea-textarea--color);font-family:var(--sf-textarea-textarea--font-family);font-size:var(--sf-textarea-textarea--font-size);font-weight:var(--sf-textarea-textarea--font-weight);line-height:var(--sf-textarea-textarea--line-height);padding-bottom:var(--sf-textarea-textarea--padding-bottom);-webkit-padding-end:var(--sf-textarea-textarea--padding-inline-end);padding-inline-end:var(--sf-textarea-textarea--padding-inline-end);-webkit-padding-start:var(--sf-textarea-textarea--padding-inline-start);padding-inline-start:var(--sf-textarea-textarea--padding-inline-start);padding-top:var(--sf-textarea-textarea--padding-top);resize:vertical;resize:var(--sf-resize, vertical);transition-duration:var(--sf-duration-fast);transition-property:background-color,border-color,box-shadow,color;transition-timing-function:var(--sf-animation)}.sf-textarea textarea::-webkit-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface-variant);--sf-textarea-placeholder--font-family: var(--sf-text--family);color:var(--sf-textarea-placeholder--color);font-family:var(--sf-textarea-placeholder--font-family);font-size:var(--sf-textarea-placeholder--font-size);line-height:var(--sf-textarea-placeholder--line-height)}.sf-textarea textarea::-moz-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface-variant);--sf-textarea-placeholder--font-family: var(--sf-text--family);color:var(--sf-textarea-placeholder--color);font-family:var(--sf-textarea-placeholder--font-family);font-size:var(--sf-textarea-placeholder--font-size);line-height:var(--sf-textarea-placeholder--line-height)}.sf-textarea textarea:-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface-variant);--sf-textarea-placeholder--font-family: var(--sf-text--family);color:var(--sf-textarea-placeholder--color);font-family:var(--sf-textarea-placeholder--font-family);font-size:var(--sf-textarea-placeholder--font-size);line-height:var(--sf-textarea-placeholder--line-height)}.sf-textarea textarea::-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface-variant);--sf-textarea-placeholder--font-family: var(--sf-text--family);color:var(--sf-textarea-placeholder--color);font-family:var(--sf-textarea-placeholder--font-family);font-size:var(--sf-textarea-placeholder--font-size);line-height:var(--sf-textarea-placeholder--line-height)}.sf-textarea textarea::placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface-variant);--sf-textarea-placeholder--font-family: var(--sf-text--family);color:var(--sf-textarea-placeholder--color);font-family:var(--sf-textarea-placeholder--font-family);font-size:var(--sf-textarea-placeholder--font-size);line-height:var(--sf-textarea-placeholder--line-height)}.sf-textarea.sf-textarea--filled textarea::-webkit-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface)}.sf-textarea.sf-textarea--filled textarea::-moz-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface)}.sf-textarea.sf-textarea--filled textarea:-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface)}.sf-textarea.sf-textarea--filled textarea::-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface)}.sf-textarea.sf-textarea--filled textarea::placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface)}.sf-textarea.sf-textarea--size-1.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1.sf-textarea--filled .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--font-size: var(--sf-text-size-1\/2);--sf-textarea-hint-text-wrap--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1.sf-textarea--filled .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-2.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-2.sf-textarea--filled .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--filled .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--font-family: var(--sf-text--family);--sf-textarea-hint-text-wrap--font-weight: var(--sf-font-weight-regular)}.sf-textarea.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--filled .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--color: var(--sf-on-surface-variant)}.sf-textarea.sf-textarea--size-1 .sf-textarea-required{--sf-textarea-required--font-size: var(--sf-text-size-1\/2);--sf-textarea-required--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1 .sf-textarea-text{--sf-textarea-text--font-size: var(--sf-text-size-1\/2);--sf-textarea-text--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--size-1.sf-textarea--filled textarea{--sf-textarea-textarea--font-size: var(--sf-text-size-1);--sf-textarea-textarea--line-height: var(--sf-text-height-1);--sf-textarea-textarea--font-family: var(--sf-text--family);--sf-textarea-textarea--font-weight: var(--sf-font-weight-regular)}.sf-textarea.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--filled textarea{--sf-textarea-textarea--color: var(--sf-textarea-color, var(--sf-on-surface))}.sf-textarea.sf-textarea--bordered textarea{--sf-textarea-textarea--background-color: var(--sf-textarea-background-color, var(--sf-surface-0));--sf-textarea-textarea--border-color: var(--sf-textarea-border-color, var(--sf-outline))}.sf-textarea:not(.error).sf-textarea--size-1.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary)}.sf-textarea:not(.error).sf-textarea--size-1.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary)}.sf-textarea:not(.error).sf-textarea--size-1.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary)}.sf-textarea:not(.error).sf-textarea--size-1.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary)}.sf-textarea.sf-textarea--bordered[\:has\(textarea\:disabled\)] textarea,.sf-textarea.sf-textarea--filled[\:has\(textarea\:disabled\)] textarea{--sf-textarea-textarea--color: var(--sf-on-disable)}.sf-textarea.sf-textarea--bordered:has(textarea:disabled) textarea,.sf-textarea.sf-textarea--filled:has(textarea:disabled) textarea{--sf-textarea-textarea--color: var(--sf-on-disable)}.sf-textarea.sf-textarea--bordered[\:has\(textarea\:disabled\)] textarea{--sf-textarea-textarea--border-color: var(--sf-outline-disable)}.sf-textarea.sf-textarea--bordered:has(textarea:disabled) textarea{--sf-textarea-textarea--border-color: var(--sf-outline-disable)}.sf-textarea.sf-textarea--filled[\:has\(textarea\:disabled\)] textarea{--sf-textarea-textarea--background-color: var(--sf-disable)}.sf-textarea.sf-textarea--filled:has(textarea:disabled) textarea{--sf-textarea-textarea--background-color: var(--sf-disable)}.sf-textarea.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\).focus-visible\)] textarea{--sf-textarea-textarea--background-color: var(--sf-transparent-for-focus);--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled).focus-visible) textarea{--sf-textarea-textarea--background-color: var(--sf-transparent-for-focus);--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:focus-visible\)] textarea{--sf-textarea-textarea--background-color: var(--sf-transparent-for-focus);--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):focus-visible) textarea{--sf-textarea-textarea--background-color: var(--sf-transparent-for-focus);--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea.error.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.error.sf-textarea--filled .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--color: var(--sf-error)}.sf-textarea.error.sf-textarea--bordered textarea{--sf-textarea-textarea--background-color: var(--sf-transparent-for-focus);--sf-textarea-textarea--border-color: var(--sf-error)}.sf-textarea.sf-textarea--filled textarea{--sf-textarea-textarea--background-color: var(--sf-textarea-background-color, var(--sf-surface-container));--sf-on-surface-variant: var(--sf-on-surface-container--variant);--sf-textarea-textarea--border-color: var(--sf-textarea-border-color, var(--sf-transparent-for-focus))}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:hover\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container-hover)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:hover\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container-hover)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):hover) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container-hover)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):hover) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container-hover)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea.error.sf-textarea--filled textarea{--sf-textarea-textarea--background-color: var(--sf-error-container)}.sf-textarea.sf-textarea--size-2.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-2.sf-textarea--filled .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--font-size: var(--sf-text-size-1);--sf-textarea-hint-text-wrap--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-2 .sf-textarea-required{--sf-textarea-required--font-size: var(--sf-text-size-1);--sf-textarea-required--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-2 .sf-textarea-text{--sf-textarea-text--font-size: var(--sf-text-size-1);--sf-textarea-text--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-2.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--size-2.sf-textarea--filled textarea{--sf-textarea-textarea--font-size: var(--sf-text-size-2);--sf-textarea-textarea--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-2.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--size-2.sf-textarea--filled textarea,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--filled textarea{--sf-textarea-textarea--font-family: var(--sf-text--family)}.sf-textarea:not(.error).sf-textarea--size-2.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:active\)] textarea, .sf-textarea:not(.error).sf-textarea--size-1\/2.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--size-2.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:active\)] textarea,.sf-textarea:not(.error).sf-textarea--size-1\/2.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--size-2.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):active) textarea, .sf-textarea:not(.error).sf-textarea--size-1\/2.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--size-2.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):active) textarea,.sf-textarea:not(.error).sf-textarea--size-1\/2.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea.sf-textarea--size-1\/2.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--filled .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--font-size: var(--sf-text-size-1\/3);--sf-textarea-hint-text-wrap--line-height: var(--sf-text-height-1\/3)}.sf-textarea.sf-textarea--size-1\/2 .sf-textarea-required{--sf-textarea-required--font-size: var(--sf-text-size-1\/3);--sf-textarea-required--line-height: var(--sf-text-height-1\/3)}.sf-textarea.sf-textarea--size-1\/2 .sf-textarea-text{--sf-textarea-text--font-size: var(--sf-text-size-1\/3);--sf-textarea-text--line-height: var(--sf-text-height-1\/3)}.sf-textarea.sf-textarea--size-1\/2.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--filled textarea{--sf-textarea-textarea--font-size: var(--sf-text-size-1\/2);--sf-textarea-textarea--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1 textarea{--sf-textarea-textarea--padding-bottom: var(--sf-textarea-padding-block, calc(var(--sf-ui-1--space-y-tightness-default) - var(--sf-px)));--sf-textarea-textarea--padding-inline-end: var(--sf-textarea-padding-inline, calc(var(--sf-ui-1--space-x) + var(--sf-ui-1--text-space-x)));--sf-textarea-textarea--padding-inline-start: var(--sf-textarea-padding-inline, calc(var(--sf-ui-1--space-x) + var(--sf-ui-1--text-space-x)));--sf-textarea-textarea--padding-top: var(--sf-textarea-padding-block, calc(var(--sf-ui-1--space-y-tightness-default) - var(--sf-px)))}.sf-textarea.sf-textarea--size-1 textarea[rows="1"]{height:var(--sf-ui-1--control-height);block-size:var(--sf-ui-1--control-height)}.sf-textarea.sf-textarea--size-1 textarea::-webkit-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1);--sf-textarea-placeholder--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-1 textarea::-moz-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1);--sf-textarea-placeholder--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-1 textarea:-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1);--sf-textarea-placeholder--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-1 textarea::-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1);--sf-textarea-placeholder--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-1 textarea::placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1);--sf-textarea-placeholder--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-2 textarea{--sf-textarea-textarea--padding-bottom: var(--sf-textarea-padding-block, calc(var(--sf-ui-2--space-y-tightness-default) - var(--sf-px)));--sf-textarea-textarea--padding-inline-end: var(--sf-textarea-padding-inline, calc(var(--sf-ui-2--space-x) + var(--sf-ui-2--text-space-x)));--sf-textarea-textarea--padding-inline-start: var(--sf-textarea-padding-inline, calc(var(--sf-ui-2--space-x) + var(--sf-ui-2--text-space-x)));--sf-textarea-textarea--padding-top: var(--sf-textarea-padding-block, calc(var(--sf-ui-2--space-y-tightness-default) - var(--sf-px)))}.sf-textarea.sf-textarea--size-2 textarea[rows="1"]{height:var(--sf-ui-2--control-height);block-size:var(--sf-ui-2--control-height)}.sf-textarea.sf-textarea--size-2 textarea::-webkit-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-2);--sf-textarea-placeholder--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-2 textarea::-moz-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-2);--sf-textarea-placeholder--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-2 textarea:-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-2);--sf-textarea-placeholder--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-2 textarea::-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-2);--sf-textarea-placeholder--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-2 textarea::placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-2);--sf-textarea-placeholder--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-1\/2 textarea{--sf-textarea-textarea--padding-bottom: var(--sf-textarea-padding-block, calc(var(--sf-ui-1\/2--space-y-tightness-default) - var(--sf-px)));--sf-textarea-textarea--padding-inline-end: var(--sf-textarea-padding-inline, calc(var(--sf-ui-1\/2--space-x) + var(--sf-ui-1\/2--text-space-x)));--sf-textarea-textarea--padding-inline-start: var(--sf-textarea-padding-inline, calc(var(--sf-ui-1\/2--space-x) + var(--sf-ui-1\/2--text-space-x)));--sf-textarea-textarea--padding-top: var(--sf-textarea-padding-block, calc(var(--sf-ui-1\/2--space-y-tightness-default) - var(--sf-px)))}.sf-textarea.sf-textarea--size-1\/2 textarea[rows="1"]{height:var(--sf-ui-1\/2--control-height);block-size:var(--sf-ui-1\/2--control-height)}.sf-textarea.sf-textarea--size-1\/2 textarea::-webkit-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1\/2);--sf-textarea-placeholder--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1\/2 textarea::-moz-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1\/2);--sf-textarea-placeholder--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1\/2 textarea:-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1\/2);--sf-textarea-placeholder--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1\/2 textarea::-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1\/2);--sf-textarea-placeholder--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1\/2 textarea::placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1\/2);--sf-textarea-placeholder--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--auto-grow textarea[rows]{--sf-textarea--row-frame: calc(var(--sf-textarea-textarea--padding-top) + var(--sf-textarea-textarea--padding-bottom) + 2 * var(--sf-px));height:auto;block-size:auto;field-sizing:content;min-height:calc(1*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));min-block-size:calc(1*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));min-height:calc(1*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));min-height:calc(var(--sf-textarea--min-rows, 1)*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));min-block-size:calc(var(--sf-textarea--min-rows, 1)*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));max-height:calc(var(--sf-textarea--max-rows)*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));max-block-size:calc(var(--sf-textarea--max-rows)*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));overflow-y:auto;resize:none}.sf-textarea[\:has\(textarea\:disabled\)] textarea::-webkit-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea[\:has\(textarea\:disabled\)] textarea::-moz-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea[\:has\(textarea\:disabled\)] textarea:-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea[\:has\(textarea\:disabled\)] textarea::-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea[\:has\(textarea\:disabled\)] textarea::placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:has(textarea:disabled) textarea::-webkit-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:has(textarea:disabled) textarea::-moz-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:has(textarea:disabled) textarea:-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:has(textarea:disabled) textarea::-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:has(textarea:disabled) textarea::placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:not(.error)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:hover\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-hover)}.sf-textarea:not(.error)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:hover\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-hover)}.sf-textarea:not(.error):has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):hover) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-hover)}.sf-textarea:not(.error):has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):hover) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-hover)}.sf-textarea:not(.error)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:active\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:active\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error):has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):active) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error):has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):active) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.sf-textarea--pointer-focus)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\).focus-visible\)] textarea{outline:var(--sf-focus--width) var(--sf-focus--style) var(--sf-focus--color);outline-offset:var(--sf-focus--offset)}.sf-textarea:not(.sf-textarea--pointer-focus):has(textarea:enabled:not(:disabled):not(.disabled).focus-visible) textarea{outline:var(--sf-focus--width) var(--sf-focus--style) var(--sf-focus--color);outline-offset:var(--sf-focus--offset)}.sf-textarea:not(.sf-textarea--pointer-focus)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:focus-visible\)] textarea{outline:var(--sf-focus--width) var(--sf-focus--style) var(--sf-focus--color);outline-offset:var(--sf-focus--offset)}.sf-textarea:not(.sf-textarea--pointer-focus):has(textarea:enabled:not(:disabled):not(.disabled):focus-visible) textarea{outline:var(--sf-focus--width) var(--sf-focus--style) var(--sf-focus--color);outline-offset:var(--sf-focus--offset)}.sf-textarea.sf-textarea--pointer-focus textarea.focus-visible{outline:none}.sf-textarea.sf-textarea--pointer-focus textarea:focus-visible{outline:none}.sf-textarea:not(.error).sf-textarea--bordered[\:has\(textarea\:-moz-read-only\:not\(\:disabled\)\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container);--sf-on-surface-variant: var(--sf-on-surface-container--variant)}.sf-textarea:not(.error).sf-textarea--bordered[\:has\(textarea\:read-only\:not\(\:disabled\)\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container);--sf-on-surface-variant: var(--sf-on-surface-container--variant)}.sf-textarea:not(.error).sf-textarea--bordered:has(textarea:-moz-read-only:not(:disabled)) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container);--sf-on-surface-variant: var(--sf-on-surface-container--variant)}.sf-textarea:not(.error).sf-textarea--bordered:has(textarea:read-only:not(:disabled)) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container);--sf-on-surface-variant: var(--sf-on-surface-container--variant)}}@layer sf.states{@media(prefers-reduced-motion: reduce){.sf-textarea textarea{transition-duration:0s}}@media(forced-colors: active){.sf-textarea:not(.sf-textarea--pointer-focus) textarea:not(:disabled):not(.disabled).focus-visible{outline:var(--sf-focus-outline-width) solid currentColor;outline-offset:var(--sf-focus-outline-width);--sf-textarea-textarea--box-shadow: none}.sf-textarea:not(.sf-textarea--pointer-focus) textarea:not(:disabled):not(.disabled):focus-visible{outline:var(--sf-focus-outline-width) solid currentColor;outline-offset:var(--sf-focus-outline-width);--sf-textarea-textarea--box-shadow: none}}}@layer sf.components{.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\[focus-within\]\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\[focus-within\]\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only)[focus-within]) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only)[focus-within]) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:focus-within\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:focus-within\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):focus-within) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):focus-within) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\[focus-within\]\)] textarea{--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea[focus-within]) textarea{--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:focus-within\)] textarea{--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:focus-within) textarea{--sf-textarea-textarea--border-color: var(--sf-outline)}}
|
|
1
|
+
@layer sf.components{.sf-textarea{min-width:0;min-inline-size:0;--sf-textarea--radius: var(--sf-textarea-radius, var(--sf-radius--ui));background-color:transparent;background-color:var(--sf-textarea--background-color, transparent);gap:var(--sf-space-1\/4);gap:var(--sf-textarea--gap, var(--sf-space-1\/4))}.sf-textarea .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--background-color: transparent;background-color:var(--sf-textarea-hint-text-wrap--background-color);color:var(--sf-textarea-hint-text-wrap--color);font-family:var(--sf-textarea-hint-text-wrap--font-family);font-size:var(--sf-textarea-hint-text-wrap--font-size);font-weight:var(--sf-textarea-hint-text-wrap--font-weight);line-height:var(--sf-textarea-hint-text-wrap--line-height)}.sf-textarea .sf-textarea-label{--sf-textarea-label--background-color: transparent;--sf-textarea-label--gap: var(--sf-space-1\/4);background-color:var(--sf-textarea-label--background-color);gap:var(--sf-textarea-label--gap)}.sf-textarea .sf-textarea-required{--sf-textarea-required--color: var(--sf-error);--sf-textarea-required--font-family: var(--sf-text--family);--sf-textarea-required--font-weight: var(--sf-font-weight-regular);color:var(--sf-textarea-required--color);font-family:var(--sf-textarea-required--font-family);font-size:var(--sf-textarea-required--font-size);font-weight:var(--sf-textarea-required--font-weight);line-height:var(--sf-textarea-required--line-height)}.sf-textarea .sf-textarea-text{--sf-textarea-text--color: var(--sf-on-surface-variant);--sf-textarea-text--font-family: var(--sf-text--family);--sf-textarea-text--font-weight: var(--sf-font-weight-regular);color:var(--sf-textarea-text--color);font-family:var(--sf-textarea-text--font-family);font-size:var(--sf-textarea-text--font-size);font-weight:var(--sf-textarea-text--font-weight);line-height:var(--sf-textarea-text--line-height)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{border-bottom-right-radius:var(--sf-textarea-textarea--border-end-end-radius)}@supports not (border-end-end-radius: initial){html:not([dir="rtl"]) .sf-textarea textarea{border-bottom-right-radius:var(--sf-textarea-textarea--border-end-end-radius)}}.sf-textarea textarea:where(:dir(ltr)){border-bottom-right-radius:var(--sf-textarea-textarea--border-end-end-radius)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{border-bottom-left-radius:var(--sf-textarea-textarea--border-end-end-radius)}@supports not (border-end-end-radius: initial){[dir="rtl"] .sf-textarea textarea{border-bottom-left-radius:var(--sf-textarea-textarea--border-end-end-radius)}}.sf-textarea textarea:where(:dir(rtl)){border-bottom-left-radius:var(--sf-textarea-textarea--border-end-end-radius)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{border-bottom-left-radius:var(--sf-textarea-textarea--border-end-start-radius)}@supports not (border-end-start-radius: initial){html:not([dir="rtl"]) .sf-textarea textarea{border-bottom-left-radius:var(--sf-textarea-textarea--border-end-start-radius)}}.sf-textarea textarea:where(:dir(ltr)){border-bottom-left-radius:var(--sf-textarea-textarea--border-end-start-radius)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{border-bottom-right-radius:var(--sf-textarea-textarea--border-end-start-radius)}@supports not (border-end-start-radius: initial){[dir="rtl"] .sf-textarea textarea{border-bottom-right-radius:var(--sf-textarea-textarea--border-end-start-radius)}}.sf-textarea textarea:where(:dir(rtl)){border-bottom-right-radius:var(--sf-textarea-textarea--border-end-start-radius)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{border-top-right-radius:var(--sf-textarea-textarea--border-start-end-radius)}@supports not (border-start-end-radius: initial){html:not([dir="rtl"]) .sf-textarea textarea{border-top-right-radius:var(--sf-textarea-textarea--border-start-end-radius)}}.sf-textarea textarea:where(:dir(ltr)){border-top-right-radius:var(--sf-textarea-textarea--border-start-end-radius)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{border-top-left-radius:var(--sf-textarea-textarea--border-start-end-radius)}@supports not (border-start-end-radius: initial){[dir="rtl"] .sf-textarea textarea{border-top-left-radius:var(--sf-textarea-textarea--border-start-end-radius)}}.sf-textarea textarea:where(:dir(rtl)){border-top-left-radius:var(--sf-textarea-textarea--border-start-end-radius)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{border-top-left-radius:var(--sf-textarea-textarea--border-start-start-radius)}@supports not (border-start-start-radius: initial){html:not([dir="rtl"]) .sf-textarea textarea{border-top-left-radius:var(--sf-textarea-textarea--border-start-start-radius)}}.sf-textarea textarea:where(:dir(ltr)){border-top-left-radius:var(--sf-textarea-textarea--border-start-start-radius)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{border-top-right-radius:var(--sf-textarea-textarea--border-start-start-radius)}@supports not (border-start-start-radius: initial){[dir="rtl"] .sf-textarea textarea{border-top-right-radius:var(--sf-textarea-textarea--border-start-start-radius)}}.sf-textarea textarea:where(:dir(rtl)){border-top-right-radius:var(--sf-textarea-textarea--border-start-start-radius)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{padding-right:var(--sf-textarea-textarea--padding-inline-end)}@supports not (padding-inline-end: initial){html:not([dir="rtl"]) .sf-textarea textarea{padding-right:var(--sf-textarea-textarea--padding-inline-end)}}.sf-textarea textarea:where(:dir(ltr)){padding-right:var(--sf-textarea-textarea--padding-inline-end)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{padding-left:var(--sf-textarea-textarea--padding-inline-end)}@supports not (padding-inline-end: initial){[dir="rtl"] .sf-textarea textarea{padding-left:var(--sf-textarea-textarea--padding-inline-end)}}.sf-textarea textarea:where(:dir(rtl)){padding-left:var(--sf-textarea-textarea--padding-inline-end)}_:-ms-input-placeholder, html:not([dir="rtl"]) .sf-textarea textarea{padding-left:var(--sf-textarea-textarea--padding-inline-start)}@supports not (padding-inline-start: initial){html:not([dir="rtl"]) .sf-textarea textarea{padding-left:var(--sf-textarea-textarea--padding-inline-start)}}.sf-textarea textarea:where(:dir(ltr)){padding-left:var(--sf-textarea-textarea--padding-inline-start)}_:-ms-input-placeholder, [dir="rtl"] .sf-textarea textarea{padding-right:var(--sf-textarea-textarea--padding-inline-start)}@supports not (padding-inline-start: initial){[dir="rtl"] .sf-textarea textarea{padding-right:var(--sf-textarea-textarea--padding-inline-start)}}.sf-textarea textarea:where(:dir(rtl)){padding-right:var(--sf-textarea-textarea--padding-inline-start)}.sf-textarea textarea{width:100%;inline-size:100%;min-width:0;min-inline-size:0;--sf-textarea-textarea--border: var(--sf-px) solid;--sf-textarea-textarea--border-end-end-radius: var(--sf-textarea--radius);--sf-textarea-textarea--border-end-start-radius: var(--sf-textarea--radius);--sf-textarea-textarea--border-start-end-radius: var(--sf-textarea--radius);--sf-textarea-textarea--border-start-start-radius: var(--sf-textarea--radius);background-color:var(--sf-textarea-textarea--background-color);border:var(--sf-textarea-textarea--border);border-color:transparent;border-color:var(--sf-textarea-textarea--border-color, transparent);border-end-end-radius:var(--sf-textarea-textarea--border-end-end-radius);border-end-start-radius:var(--sf-textarea-textarea--border-end-start-radius);border-start-end-radius:var(--sf-textarea-textarea--border-start-end-radius);border-start-start-radius:var(--sf-textarea-textarea--border-start-start-radius);box-shadow:var(--sf-textarea-textarea--box-shadow);color:var(--sf-textarea-textarea--color);font-family:var(--sf-textarea-textarea--font-family);font-size:var(--sf-textarea-textarea--font-size);font-weight:var(--sf-textarea-textarea--font-weight);line-height:var(--sf-textarea-textarea--line-height);padding-bottom:var(--sf-textarea-textarea--padding-bottom);-webkit-padding-end:var(--sf-textarea-textarea--padding-inline-end);padding-inline-end:var(--sf-textarea-textarea--padding-inline-end);-webkit-padding-start:var(--sf-textarea-textarea--padding-inline-start);padding-inline-start:var(--sf-textarea-textarea--padding-inline-start);padding-top:var(--sf-textarea-textarea--padding-top);resize:vertical;resize:var(--sf-resize, vertical);transition-duration:var(--sf-duration-fast);transition-property:background-color,border-color,box-shadow,color;transition-timing-function:var(--sf-animation)}.sf-textarea textarea::-webkit-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface-variant);--sf-textarea-placeholder--font-family: var(--sf-text--family);color:var(--sf-textarea-placeholder--color);font-family:var(--sf-textarea-placeholder--font-family);font-size:var(--sf-textarea-placeholder--font-size);line-height:var(--sf-textarea-placeholder--line-height)}.sf-textarea textarea::-moz-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface-variant);--sf-textarea-placeholder--font-family: var(--sf-text--family);color:var(--sf-textarea-placeholder--color);font-family:var(--sf-textarea-placeholder--font-family);font-size:var(--sf-textarea-placeholder--font-size);line-height:var(--sf-textarea-placeholder--line-height)}.sf-textarea textarea:-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface-variant);--sf-textarea-placeholder--font-family: var(--sf-text--family);color:var(--sf-textarea-placeholder--color);font-family:var(--sf-textarea-placeholder--font-family);font-size:var(--sf-textarea-placeholder--font-size);line-height:var(--sf-textarea-placeholder--line-height)}.sf-textarea textarea::-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface-variant);--sf-textarea-placeholder--font-family: var(--sf-text--family);color:var(--sf-textarea-placeholder--color);font-family:var(--sf-textarea-placeholder--font-family);font-size:var(--sf-textarea-placeholder--font-size);line-height:var(--sf-textarea-placeholder--line-height)}.sf-textarea textarea::placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface-variant);--sf-textarea-placeholder--font-family: var(--sf-text--family);color:var(--sf-textarea-placeholder--color);font-family:var(--sf-textarea-placeholder--font-family);font-size:var(--sf-textarea-placeholder--font-size);line-height:var(--sf-textarea-placeholder--line-height)}.sf-textarea.sf-textarea--filled textarea::-webkit-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface)}.sf-textarea.sf-textarea--filled textarea::-moz-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface)}.sf-textarea.sf-textarea--filled textarea:-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface)}.sf-textarea.sf-textarea--filled textarea::-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface)}.sf-textarea.sf-textarea--filled textarea::placeholder{--sf-textarea-placeholder--color: var(--sf-on-surface)}.sf-textarea.sf-textarea--size-1.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1.sf-textarea--filled .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1.sf-textarea--flush .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--font-size: var(--sf-text-size-1\/2);--sf-textarea-hint-text-wrap--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1.sf-textarea--filled .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-2.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-2.sf-textarea--filled .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--filled .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1.sf-textarea--flush .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-2.sf-textarea--flush .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--flush .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--font-family: var(--sf-text--family);--sf-textarea-hint-text-wrap--font-weight: var(--sf-font-weight-regular)}.sf-textarea.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--filled .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--flush .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--color: var(--sf-on-surface-variant)}.sf-textarea.sf-textarea--size-1 .sf-textarea-required{--sf-textarea-required--font-size: var(--sf-text-size-1\/2);--sf-textarea-required--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1 .sf-textarea-text{--sf-textarea-text--font-size: var(--sf-text-size-1\/2);--sf-textarea-text--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--size-1.sf-textarea--filled textarea,.sf-textarea.sf-textarea--size-1.sf-textarea--flush textarea{--sf-textarea-textarea--font-size: var(--sf-text-size-1);--sf-textarea-textarea--line-height: var(--sf-text-height-1);--sf-textarea-textarea--font-family: var(--sf-text--family);--sf-textarea-textarea--font-weight: var(--sf-font-weight-regular)}.sf-textarea.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--filled textarea,.sf-textarea.sf-textarea--flush textarea{--sf-textarea-textarea--color: var(--sf-textarea-color, var(--sf-on-surface))}.sf-textarea.sf-textarea--bordered textarea{--sf-textarea-textarea--background-color: var(--sf-textarea-background-color, var(--sf-surface-0));--sf-textarea-textarea--border-color: var(--sf-textarea-border-color, var(--sf-outline))}.sf-textarea:not(.error).sf-textarea--size-1.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary)}.sf-textarea:not(.error).sf-textarea--size-1.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary)}.sf-textarea:not(.error).sf-textarea--size-1.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary)}.sf-textarea:not(.error).sf-textarea--size-1.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary)}.sf-textarea.sf-textarea--bordered[\:has\(textarea\:disabled\)] textarea,.sf-textarea.sf-textarea--filled[\:has\(textarea\:disabled\)] textarea,.sf-textarea.sf-textarea--flush[\:has\(textarea\:disabled\)] textarea{--sf-textarea-textarea--color: var(--sf-on-disable)}.sf-textarea.sf-textarea--bordered:has(textarea:disabled) textarea,.sf-textarea.sf-textarea--filled:has(textarea:disabled) textarea,.sf-textarea.sf-textarea--flush:has(textarea:disabled) textarea{--sf-textarea-textarea--color: var(--sf-on-disable)}.sf-textarea.sf-textarea--bordered[\:has\(textarea\:disabled\)] textarea{--sf-textarea-textarea--border-color: var(--sf-outline-disable)}.sf-textarea.sf-textarea--bordered:has(textarea:disabled) textarea{--sf-textarea-textarea--border-color: var(--sf-outline-disable)}.sf-textarea.sf-textarea--filled[\:has\(textarea\:disabled\)] textarea{--sf-textarea-textarea--background-color: var(--sf-disable)}.sf-textarea.sf-textarea--filled:has(textarea:disabled) textarea{--sf-textarea-textarea--background-color: var(--sf-disable)}.sf-textarea.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\).focus-visible\)] textarea{--sf-textarea-textarea--background-color: var(--sf-transparent-for-focus);--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled).focus-visible) textarea{--sf-textarea-textarea--background-color: var(--sf-transparent-for-focus);--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:focus-visible\)] textarea{--sf-textarea-textarea--background-color: var(--sf-transparent-for-focus);--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):focus-visible) textarea{--sf-textarea-textarea--background-color: var(--sf-transparent-for-focus);--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea.error.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.error.sf-textarea--filled .sf-textarea-hint-text-wrap,.sf-textarea.error.sf-textarea--flush .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--color: var(--sf-error)}.sf-textarea.error.sf-textarea--bordered textarea{--sf-textarea-textarea--background-color: var(--sf-transparent-for-focus);--sf-textarea-textarea--border-color: var(--sf-error)}.sf-textarea.sf-textarea--filled textarea{--sf-textarea-textarea--background-color: var(--sf-textarea-background-color, var(--sf-surface-container));--sf-on-surface-variant: var(--sf-on-surface-container--variant);--sf-textarea-textarea--border-color: var(--sf-textarea-border-color, var(--sf-transparent-for-focus))}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:hover\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container-hover)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:hover\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container-hover)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):hover) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container-hover)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):hover) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container-hover)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea.error.sf-textarea--filled textarea{--sf-textarea-textarea--background-color: var(--sf-error-container)}.sf-textarea.sf-textarea--size-2.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-2.sf-textarea--filled .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-2.sf-textarea--flush .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--font-size: var(--sf-text-size-1);--sf-textarea-hint-text-wrap--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-2 .sf-textarea-required{--sf-textarea-required--font-size: var(--sf-text-size-1);--sf-textarea-required--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-2 .sf-textarea-text{--sf-textarea-text--font-size: var(--sf-text-size-1);--sf-textarea-text--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-2.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--size-2.sf-textarea--filled textarea,.sf-textarea.sf-textarea--size-2.sf-textarea--flush textarea{--sf-textarea-textarea--font-size: var(--sf-text-size-2);--sf-textarea-textarea--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-2.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--size-2.sf-textarea--filled textarea,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--filled textarea,.sf-textarea.sf-textarea--size-2.sf-textarea--flush textarea,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--flush textarea{--sf-textarea-textarea--font-family: var(--sf-text--family)}.sf-textarea:not(.error).sf-textarea--size-2.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:active\)] textarea, .sf-textarea:not(.error).sf-textarea--size-1\/2.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--size-2.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:active\)] textarea,.sf-textarea:not(.error).sf-textarea--size-1\/2.sf-textarea--bordered[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:active\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--size-2.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):active) textarea, .sf-textarea:not(.error).sf-textarea--size-1\/2.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea:not(.error).sf-textarea--size-2.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):active) textarea,.sf-textarea:not(.error).sf-textarea--size-1\/2.sf-textarea--bordered:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):active) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-active)}.sf-textarea.sf-textarea--size-1\/2.sf-textarea--bordered .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--filled .sf-textarea-hint-text-wrap,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--flush .sf-textarea-hint-text-wrap{--sf-textarea-hint-text-wrap--font-size: var(--sf-text-size-1\/3);--sf-textarea-hint-text-wrap--line-height: var(--sf-text-height-1\/3)}.sf-textarea.sf-textarea--size-1\/2 .sf-textarea-required{--sf-textarea-required--font-size: var(--sf-text-size-1\/3);--sf-textarea-required--line-height: var(--sf-text-height-1\/3)}.sf-textarea.sf-textarea--size-1\/2 .sf-textarea-text{--sf-textarea-text--font-size: var(--sf-text-size-1\/3);--sf-textarea-text--line-height: var(--sf-text-height-1\/3)}.sf-textarea.sf-textarea--size-1\/2.sf-textarea--bordered textarea,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--filled textarea,.sf-textarea.sf-textarea--size-1\/2.sf-textarea--flush textarea{--sf-textarea-textarea--font-size: var(--sf-text-size-1\/2);--sf-textarea-textarea--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1 textarea{--sf-textarea-textarea--padding-bottom: var(--sf-textarea-padding-block, calc(var(--sf-ui-1--space-y-tightness-default) - var(--sf-px)));--sf-textarea-textarea--padding-inline-end: var(--sf-textarea-padding-inline, calc(var(--sf-ui-1--space-x) + var(--sf-ui-1--text-space-x)));--sf-textarea-textarea--padding-inline-start: var(--sf-textarea-padding-inline, calc(var(--sf-ui-1--space-x) + var(--sf-ui-1--text-space-x)));--sf-textarea-textarea--padding-top: var(--sf-textarea-padding-block, calc(var(--sf-ui-1--space-y-tightness-default) - var(--sf-px)))}.sf-textarea.sf-textarea--size-1 textarea[rows="1"]{height:var(--sf-ui-1--control-height);block-size:var(--sf-ui-1--control-height)}.sf-textarea.sf-textarea--size-1 textarea::-webkit-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1);--sf-textarea-placeholder--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-1 textarea::-moz-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1);--sf-textarea-placeholder--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-1 textarea:-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1);--sf-textarea-placeholder--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-1 textarea::-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1);--sf-textarea-placeholder--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-1 textarea::placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1);--sf-textarea-placeholder--line-height: var(--sf-text-height-1)}.sf-textarea.sf-textarea--size-2 textarea{--sf-textarea-textarea--padding-bottom: var(--sf-textarea-padding-block, calc(var(--sf-ui-2--space-y-tightness-default) - var(--sf-px)));--sf-textarea-textarea--padding-inline-end: var(--sf-textarea-padding-inline, calc(var(--sf-ui-2--space-x) + var(--sf-ui-2--text-space-x)));--sf-textarea-textarea--padding-inline-start: var(--sf-textarea-padding-inline, calc(var(--sf-ui-2--space-x) + var(--sf-ui-2--text-space-x)));--sf-textarea-textarea--padding-top: var(--sf-textarea-padding-block, calc(var(--sf-ui-2--space-y-tightness-default) - var(--sf-px)))}.sf-textarea.sf-textarea--size-2 textarea[rows="1"]{height:var(--sf-ui-2--control-height);block-size:var(--sf-ui-2--control-height)}.sf-textarea.sf-textarea--size-2 textarea::-webkit-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-2);--sf-textarea-placeholder--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-2 textarea::-moz-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-2);--sf-textarea-placeholder--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-2 textarea:-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-2);--sf-textarea-placeholder--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-2 textarea::-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-2);--sf-textarea-placeholder--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-2 textarea::placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-2);--sf-textarea-placeholder--line-height: var(--sf-text-height-2)}.sf-textarea.sf-textarea--size-1\/2 textarea{--sf-textarea-textarea--padding-bottom: var(--sf-textarea-padding-block, calc(var(--sf-ui-1\/2--space-y-tightness-default) - var(--sf-px)));--sf-textarea-textarea--padding-inline-end: var(--sf-textarea-padding-inline, calc(var(--sf-ui-1\/2--space-x) + var(--sf-ui-1\/2--text-space-x)));--sf-textarea-textarea--padding-inline-start: var(--sf-textarea-padding-inline, calc(var(--sf-ui-1\/2--space-x) + var(--sf-ui-1\/2--text-space-x)));--sf-textarea-textarea--padding-top: var(--sf-textarea-padding-block, calc(var(--sf-ui-1\/2--space-y-tightness-default) - var(--sf-px)))}.sf-textarea.sf-textarea--size-1\/2 textarea[rows="1"]{height:var(--sf-ui-1\/2--control-height);block-size:var(--sf-ui-1\/2--control-height)}.sf-textarea.sf-textarea--size-1\/2 textarea::-webkit-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1\/2);--sf-textarea-placeholder--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1\/2 textarea::-moz-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1\/2);--sf-textarea-placeholder--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1\/2 textarea:-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1\/2);--sf-textarea-placeholder--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1\/2 textarea::-ms-input-placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1\/2);--sf-textarea-placeholder--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--size-1\/2 textarea::placeholder{--sf-textarea-placeholder--font-size: var(--sf-text-size-1\/2);--sf-textarea-placeholder--line-height: var(--sf-text-height-1\/2)}.sf-textarea.sf-textarea--auto-grow textarea[rows]{--sf-textarea--row-frame: calc(var(--sf-textarea-textarea--padding-top) + var(--sf-textarea-textarea--padding-bottom) + 2 * var(--sf-px));height:auto;block-size:auto;field-sizing:content;min-height:calc(1*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));min-block-size:calc(1*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));min-height:calc(1*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));min-height:calc(var(--sf-textarea--min-rows, 1)*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));min-block-size:calc(var(--sf-textarea--min-rows, 1)*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));max-height:calc(var(--sf-textarea--max-rows)*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));max-block-size:calc(var(--sf-textarea--max-rows)*var(--sf-textarea-textarea--line-height) + var(--sf-textarea--row-frame));overflow-y:auto;resize:none}.sf-textarea[\:has\(textarea\:disabled\)] textarea::-webkit-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea[\:has\(textarea\:disabled\)] textarea::-moz-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea[\:has\(textarea\:disabled\)] textarea:-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea[\:has\(textarea\:disabled\)] textarea::-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea[\:has\(textarea\:disabled\)] textarea::placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:has(textarea:disabled) textarea::-webkit-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:has(textarea:disabled) textarea::-moz-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:has(textarea:disabled) textarea:-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:has(textarea:disabled) textarea::-ms-input-placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:has(textarea:disabled) textarea::placeholder{--sf-textarea-placeholder--color: var(--sf-on-disable)}.sf-textarea:not(.error)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:hover\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-hover)}.sf-textarea:not(.error)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:hover\)] textarea{--sf-textarea-textarea--border-color: var(--sf-primary-hover)}.sf-textarea:not(.error):has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):hover) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-hover)}.sf-textarea:not(.error):has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):hover) textarea{--sf-textarea-textarea--border-color: var(--sf-primary-hover)}.sf-textarea:not(.error)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:active\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:active\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error):has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):active) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error):has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):active) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.sf-textarea--pointer-focus)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\).focus-visible\)] textarea{outline:var(--sf-focus--width) var(--sf-focus--style) var(--sf-focus--color);outline-offset:var(--sf-focus--offset)}.sf-textarea:not(.sf-textarea--pointer-focus):has(textarea:enabled:not(:disabled):not(.disabled).focus-visible) textarea{outline:var(--sf-focus--width) var(--sf-focus--style) var(--sf-focus--color);outline-offset:var(--sf-focus--offset)}.sf-textarea:not(.sf-textarea--pointer-focus)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:focus-visible\)] textarea{outline:var(--sf-focus--width) var(--sf-focus--style) var(--sf-focus--color);outline-offset:var(--sf-focus--offset)}.sf-textarea:not(.sf-textarea--pointer-focus):has(textarea:enabled:not(:disabled):not(.disabled):focus-visible) textarea{outline:var(--sf-focus--width) var(--sf-focus--style) var(--sf-focus--color);outline-offset:var(--sf-focus--offset)}.sf-textarea.sf-textarea--pointer-focus textarea.focus-visible{outline:none}.sf-textarea.sf-textarea--pointer-focus textarea:focus-visible{outline:none}.sf-textarea:not(.error).sf-textarea--bordered[\:has\(textarea\:-moz-read-only\:not\(\:disabled\)\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container);--sf-on-surface-variant: var(--sf-on-surface-container--variant)}.sf-textarea:not(.error).sf-textarea--bordered[\:has\(textarea\:read-only\:not\(\:disabled\)\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container);--sf-on-surface-variant: var(--sf-on-surface-container--variant)}.sf-textarea:not(.error).sf-textarea--bordered:has(textarea:-moz-read-only:not(:disabled)) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container);--sf-on-surface-variant: var(--sf-on-surface-container--variant)}.sf-textarea:not(.error).sf-textarea--bordered:has(textarea:read-only:not(:disabled)) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-container);--sf-on-surface-variant: var(--sf-on-surface-container--variant)}.sf-textarea.sf-textarea--flush textarea{--sf-textarea-textarea--font-family: var(--sf-text--family);--sf-textarea-textarea--font-weight: var(--sf-font-weight-regular);--sf-textarea-textarea--padding-inline-start: var(--sf-textarea-padding-inline, 0px);--sf-textarea-textarea--padding-inline-end: var(--sf-textarea-padding-inline, 0px);background-color:rgba(0,0,0,0);border:0;border-radius:0;box-shadow:none;margin:0;outline:none;resize:none}.sf-textarea.sf-textarea--flush.sf-textarea--size-1 textarea{--sf-textarea-textarea--padding-top: var(--sf-textarea-padding-block, var(--sf-ui-1--space-y-tightness-default));--sf-textarea-textarea--padding-bottom: var(--sf-textarea-padding-block, var(--sf-ui-1--space-y-tightness-default))}.sf-textarea.sf-textarea--flush.sf-textarea--size-2 textarea{--sf-textarea-textarea--padding-top: var(--sf-textarea-padding-block, var(--sf-ui-2--space-y-tightness-default));--sf-textarea-textarea--padding-bottom: var(--sf-textarea-padding-block, var(--sf-ui-2--space-y-tightness-default))}.sf-textarea.sf-textarea--flush.sf-textarea--size-1\/2 textarea{--sf-textarea-textarea--padding-top: var(--sf-textarea-padding-block, var(--sf-ui-1\/2--space-y-tightness-default));--sf-textarea-textarea--padding-bottom: var(--sf-textarea-padding-block, var(--sf-ui-1\/2--space-y-tightness-default))}.sf-textarea.sf-textarea--flush.sf-textarea--auto-grow textarea[rows]{--sf-textarea--row-frame: calc(var(--sf-textarea-textarea--padding-top) + var(--sf-textarea-textarea--padding-bottom))}.sf-textarea.sf-textarea--flush:not(.sf-textarea--pointer-focus)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\).focus-visible\)] textarea{outline:none}.sf-textarea.sf-textarea--flush:not(.sf-textarea--pointer-focus):has(textarea:enabled:not(:disabled):not(.disabled).focus-visible) textarea{outline:none}.sf-textarea.sf-textarea--flush:not(.sf-textarea--pointer-focus)[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:focus-visible\)] textarea{outline:none}.sf-textarea.sf-textarea--flush:not(.sf-textarea--pointer-focus):has(textarea:enabled:not(:disabled):not(.disabled):focus-visible) textarea{outline:none}}@layer sf.states{@media(prefers-reduced-motion: reduce){.sf-textarea textarea{transition-duration:0s}}@media(forced-colors: active){.sf-textarea:not(.sf-textarea--pointer-focus) textarea:not(:disabled):not(.disabled).focus-visible{outline:var(--sf-focus-outline-width) solid currentColor;outline-offset:var(--sf-focus-outline-width);--sf-textarea-textarea--box-shadow: none}.sf-textarea:not(.sf-textarea--pointer-focus) textarea:not(:disabled):not(.disabled):focus-visible{outline:var(--sf-focus-outline-width) solid currentColor;outline-offset:var(--sf-focus-outline-width);--sf-textarea-textarea--box-shadow: none}}}@layer sf.components{.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\[focus-within\]\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\[focus-within\]\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only)[focus-within]) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only)[focus-within]) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:-moz-read-only\)\:focus-within\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:enabled\:not\(\:disabled\)\:not\(.disabled\)\:not\(\:read-only\)\:focus-within\)] textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:-moz-read-only):focus-within) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:enabled:not(:disabled):not(.disabled):not(:read-only):focus-within) textarea{--sf-textarea-textarea--background-color: var(--sf-surface-0)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\[focus-within\]\)] textarea{--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea[focus-within]) textarea{--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea:not(.error).sf-textarea--filled[\:has\(textarea\:focus-within\)] textarea{--sf-textarea-textarea--border-color: var(--sf-outline)}.sf-textarea:not(.error).sf-textarea--filled:has(textarea:focus-within) textarea{--sf-textarea-textarea--border-color: var(--sf-outline)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";class e{lifecycleName(){return this.componentName??this.constructor.componentName}constructor(e){this.props=e,this.id=e?.id,this.params=e?.param,this.attrs=e?.attrs||{},this.template=null,window.dispatchEvent(new CustomEvent(`${this.lifecycleName()}:beforeRender`,{detail:this}))}getUtilityMap(){return this.constructor.utilityMap||null}extractUtilityClasses(e){if(!Array.isArray(e))return[];const t=new Set;return e.forEach(e=>{if("string"!=typeof e)return;const r=e.match(/\(([^)]+)\)/g);r&&r.forEach(e=>{e.slice(1,-1).split(/\s+/).filter(Boolean).forEach(e=>{e.startsWith(".")&&e.length>1&&t.add(e.slice(1))})})}),Array.from(t)}applyLayoutUtilities(e,t){if(!e||!t)return;const r=this.getUtilityMap();if(!r||!r[t])return;this.extractUtilityClasses(r[t]).forEach(t=>e.classList.add(t))}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 t=function(e,t){if(e&&t)if("undefined"==typeof window||"function"!=typeof window.registerSfComponent){if("undefined"!=typeof window&&window.SF?.Loader?.registerComponent)window.SF.Loader.registerComponent(e,t);else if("undefined"!=typeof window){(window.SF_PENDING_COMPONENTS=window.SF_PENDING_COMPONENTS||[]).push([e,t])}}else window.registerSfComponent(e,t)},r=JSON.parse('{".sf-textarea":["display/flex (.flex)","flex-direction/column (.flex-col)","flex-wrap/nowrap (.flex-nowrap)","gap/var(--sf-space-1\\\\/4)","justify-content/flex-start (.justify-start)"],".sf-textarea .sf-textarea-label":["display/flex (.flex)","flex-direction/row (.flex-row)","flex-wrap/nowrap (.flex-nowrap)","gap/var(--sf-space-1\\\\/4)","justify-content/flex-start (.justify-start)","align-items/flex-start (.items-start)"],".sf-textarea textarea":[],".sf-textarea .sf-textarea-hint-text-wrap":["flex/1 (.flex-1)","display/flex (.flex)","flex-direction/row (.flex-row)","flex-wrap/nowrap (.flex-nowrap)","gap/var(--sf-b0)","justify-content/flex-start (.justify-start)","align-items/center (.items-center)"]}');let s=0;const a=new WeakMap;function n(e,{prefix:t="sf-field",required:r=!1,invalid:n=!1,hint:o="",errorMessage:i=""}={}){const l=function(e,t){if(e&&a.has(e))return a.get(e);const r=(e?.id?String(e.id).trim():"")||`${t}-${++s}`,n={controlId:`${r}-control`,messageId:`${r}-message`};return!e||"object"!=typeof e&&"function"!=typeof e||a.set(e,n),n}(e,t),c=Boolean(n),d=c&&i?i:o;return{...l,required:Boolean(r),invalid:c,message:d,describedBy:d?l.messageId:"",errorMessageId:c&&i?l.messageId:""}}function o(e,t,{prefix:r="sf-field",required:s=!1,invalid:a=!1,messageNode:o=null,labelNode:i=null,errorMessage:l=""}={}){if(!e||!t)return null;const c=n(e,{prefix:r,required:s,invalid:a,hint:o?.textContent?.trim()||"",errorMessage:l});var d,u;return t.id||(t.id=c.controlId),"LABEL"!==e.tagName||e.hasAttribute("for")||e.setAttribute("for",t.id),!i?.textContent?.trim()||t.hasAttribute("aria-label")||t.hasAttribute("aria-labelledby")||(i.id||(i.id=`${t.id}-label`),t.setAttribute("aria-labelledby",i.id)),t.required=c.required,e.classList.toggle("error",c.invalid),t.classList.toggle("error",c.invalid),c.invalid?t.setAttribute("aria-invalid","true"):t.removeAttribute("aria-invalid"),o&&(o.id||(o.id=c.messageId),t.setAttribute("aria-describedby",(d=t.getAttribute("aria-describedby"),u=[o.id],[...new Set([...String(d||"").split(/\s+/).filter(Boolean),...u.filter(Boolean)])].join(" ")))),c.errorMessageId&&o?t.setAttribute("aria-errormessage",o.id):t.removeAttribute("aria-errormessage"),c}function i(){const e=globalThis.SF=globalThis.SF||{};return e.__deprecationNotes instanceof Map||Object.defineProperty(e,"__deprecationNotes",{value:new Map,configurable:!0}),e.__deprecationNotes}function l({component:e="",kind:t="attribute",attribute:r="",from:s,to:a=null}={}){if(!s)return;const n=[e,t,r,s].join("|"),o=i(),l=o.get(n);if(l)l.count+=1;else if(o.set(n,{component:e,kind:t,attribute:r,from:s,to:a,count:1}),function(){const e=globalThis.document?.documentElement;return"warn"===e?.dataset?.sfDeprecations||!0===globalThis.SF?.deprecations?.warn}()){const n=e?`${e}: `:"",o="value"===t?`${r}="${s}"`:`${t} ${s}`;globalThis.console?.warn?.(`[SIMAI Framework] ${n}${o} is a legacy name${a?`; write ${a}`:""}. See contracts/changes/journal.json.`)}}if("undefined"!=typeof globalThis){globalThis.SF=globalThis.SF||{};const e=globalThis.SF.deprecations||{};e.list=function(){return[...i().values()].map(e=>({...e}))},e.clear=function(){i().clear()},e.note=l,globalThis.SF.deprecations=e}const c=Object.freeze(["1/2","1","2"]),d=Object.freeze({"1/3":"1/2",3:"2"}),u=new Set;function f(e,t="field",r="1"){const s=String(e??"").trim().toLowerCase();if(c.includes(s))return s;if(Object.hasOwn(d,s)){const e=d[s];l({component:t,kind:"value",attribute:"size",from:s,to:e});const r=`${t}:${s}`;return u.has(r)||"undefined"==typeof console||(u.add(r),console.warn(`[SIMAI Framework] ${t}: size ${s} is retired for form fields; rendering size ${e}.`)),e}return r}const p=new WeakMap,m=new WeakSet;let w=null;const x="label.sf-textarea",h="sfTextareaBound",g=new Set(["bordered","filled"]),y=new Set(["","none","text","tel","url","email","numeric","decimal","search"]),b=new Set(["soft","hard"]);function v(e){if(""===e||null==e)return null;const t=Number(e);return Number.isInteger(t)&&t>=0?t:null}function S(e,t=!1){return null==e||""===e?t:"boolean"==typeof e?e:["1","true","yes","on"].includes(String(e).toLowerCase())}function L(e){return e?.querySelector?.("textarea")||null}function _(e){return e?.querySelector?.(".sf-textarea-hint-text-wrap")||null}function T(e){const t=_(e);return{messageNode:t,errorMessage:"error"===t?.dataset.fieldMessage&&t.textContent?.trim()||""}}function E(e){if(!e||"string"!=typeof e)return null;const t=e.trim();if(!t)return null;try{const e=JSON.parse(t);return e&&"object"==typeof e?e:null}catch{return null}}const k="sf-textarea--auto-grow";function M(e){if(""===e||null==e)return null;const t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:null}function N(e,t){var r,s;if(!(r=t.dataset.autoGrow??e.dataset.autoGrow,s=e.classList.contains(k),null==r?s:""===r||S(r,s)))return null;const a=M(t.dataset.minRows??e.dataset.minRows)??1,n=M(t.dataset.maxRows??e.dataset.maxRows);return{minRows:a,maxRows:null===n?null:Math.max(n,a)}}function C(e,t){const r=N(e,t);if(!r)return;const s=!e.classList.contains(k);e.classList.add(k),t.rows=r.minRows,t.style.setProperty("--sf-textarea--min-rows",String(r.minRows)),null===r.maxRows?t.style.removeProperty("--sf-textarea--max-rows"):t.style.setProperty("--sf-textarea--max-rows",String(r.maxRows));const a={addedClass:s,fallback:null};if(e.__sfTextareaAutoGrow=a,"undefined"!=typeof CSS&&!0===CSS.supports?.("field-sizing","content"))return;let n=!1,o=-1;const i=()=>{n||function(e,t){if(!t.isConnected||0===t.clientWidth)return;const r=e.style.minBlockSize;e.style.minBlockSize=`${e.getBoundingClientRect().height}px`;const{scrollTop:s}=t;t.style.blockSize="auto";const a=getComputedStyle(t),n=(parseFloat(a.borderTopWidth)||0)+(parseFloat(a.borderBottomWidth)||0);t.style.blockSize=`${t.scrollHeight+n}px`,t.scrollTop!==s&&(t.scrollTop=s),e.style.minBlockSize=r}(e,t)},l=e=>{e.isComposing||i()},c=()=>{n=!0},d=()=>{n=!1,i()};t.addEventListener("input",l),t.addEventListener("compositionstart",c),t.addEventListener("compositionend",d);const u=Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype,"value");Object.defineProperty(t,"value",{configurable:!0,enumerable:!0,get(){return u.get.call(this)},set(e){u.set.call(this,e),i()}});const f="undefined"==typeof ResizeObserver?null:new ResizeObserver(e=>{const t=Math.round(e[e.length-1].contentRect.width);t!==o&&(o=t,i())});f?.observe(t),i(),a.fallback={grow:i,onInput:l,onCompositionStart:c,onCompositionEnd:d,observer:f}}async function O(e,t){const r=function(e,t){if(!S(t.dataset.mask??e.dataset.mask,!1))return null;const r=E(t.dataset.maskOptions),s=E(e.dataset.maskOptions);if(r)return r;if(s)return s;const a=t.dataset.maskPattern??e.dataset.maskPattern;return a?{mask:String(a)}:null}(e,t);if(!r)return;const s={};e.__sfTextareaMaskRequest=s;try{const a=await function(){const e=()=>window.SF?.Mask?.create?window.SF.Mask:null,t=e();return t?Promise.resolve(t):w||(w=new Promise(t=>{const r=[[window,"sf-mask-ready"],[window,"sf-loader-ready"],[window,"load"],[document,"DOMContentLoaded"]],s=()=>{const a=e();a&&(r.forEach(([e,t])=>e.removeEventListener(t,s)),w=null,t(a))};r.forEach(([e,t])=>e.addEventListener(t,s))}),w)}();if(e.__sfTextareaMaskRequest!==s)return;const n=await a.create(t,r);if(!n)return;if("1"!==e.dataset[h]||e.__sfTextareaMaskRequest!==s||L(e)!==t)return void a.destroy(n);e.__sfTextareaMask=n}catch(e){console.warn("SF.Textarea mask init failed",e)}}function $(e){if(function(e,t){if(e?.classList)for(const[r,s]of Object.entries(d)){const s=`${t}--size-${r}`;e.classList.contains(s)&&e.classList.replace(s,`${t}--size-${f(r,t)}`)}}(e,"sf-textarea"),!e||"1"===e.dataset[h])return;const t=L(e);if(!t)return;const r=()=>{},s=()=>e.classList.add("sf-textarea--pointer-focus"),a=()=>e.classList.remove("sf-textarea--pointer-focus");t.addEventListener("input",r),t.addEventListener("pointerdown",s),t.addEventListener("blur",a),e.__sfTextareaNoopHandler=r,e.__sfTextareaPointerFocusHandler=s,e.__sfTextareaBlurHandler=a,e.dataset[h]="1";const n=T(e);o(e,t,{prefix:"sf-textarea",labelNode:e.querySelector(".sf-textarea-text"),required:t.required||Boolean(e.querySelector(".sf-textarea-required")),invalid:e.classList.contains("error")||t.classList.contains("error"),...n}),e.__sfTextareaReleaseReset=function(e,t){const r=e.ownerDocument;m.has(r)||(r.addEventListener("reset",e=>{const t=e.target;if("FORM"!==t?.tagName)return;const r=Array.from(t.elements);setTimeout(()=>{if(!e.defaultPrevented)for(const e of r)if(e.isConnected&&e.form===t)for(const t of p.get(e)||[])t()},0)},!0),m.add(r));let s=p.get(e);return s||p.set(e,s=new Set),s.add(t),()=>s.delete(t)}(t,()=>{e.__sfTextareaMask&&(e.__sfTextareaMask.value=t.value),e.__sfTextareaAutoGrow?.fallback?.grow()}),C(e,t),O(e,t)}function F(e){if(!e||"1"!==e.dataset[h])return;delete e.__sfTextareaMaskRequest;const t=L(e);t&&e.__sfTextareaNoopHandler&&t.removeEventListener("input",e.__sfTextareaNoopHandler),t&&e.__sfTextareaPointerFocusHandler&&t.removeEventListener("pointerdown",e.__sfTextareaPointerFocusHandler),t&&e.__sfTextareaBlurHandler&&t.removeEventListener("blur",e.__sfTextareaBlurHandler),function(e,t){const r=e.__sfTextareaAutoGrow;if(!r)return;if(delete e.__sfTextareaAutoGrow,r.addedClass&&e.classList.remove(k),!t)return;t.style.removeProperty("--sf-textarea--min-rows"),t.style.removeProperty("--sf-textarea--max-rows");const{fallback:s}=r;s&&(t.removeEventListener("input",s.onInput),t.removeEventListener("compositionstart",s.onCompositionStart),t.removeEventListener("compositionend",s.onCompositionEnd),s.observer?.disconnect(),delete t.value,t.style.removeProperty("block-size"))}(e,t),e.__sfTextareaMask&&window.SF?.Mask?.destroy?.(e.__sfTextareaMask),e.__sfTextareaReleaseReset?.(),delete e.__sfTextareaReleaseReset,delete e.__sfTextareaMask,delete e.__sfTextareaNoopHandler,delete e.__sfTextareaPointerFocusHandler,delete e.__sfTextareaBlurHandler,e.classList.remove("sf-textarea--pointer-focus"),delete e.dataset[h]}function R(e=document){e.querySelectorAll(x).forEach($)}class P extends e{static componentName="Textarea";html=null;constructor(e){super(e);const{size:t="1",type:r="bordered",label:s="",required:a=!1,placeholder:n="",autocomplete:o="",inputMode:i="",minLength:l="",maxLength:c="",spellcheck:d=!0,wrap:u="soft",hint:p="",value:m="",name:w="",rows:x=3,disabled:h=!1,readonly:L=!1,error:_=!1,invalid:T=!1,errorMessage:E="",mask:k=!1,maskOptions:N,maskPattern:C,autoGrow:O=!1,minRows:$,maxRows:F}=this.params||{},R=this.attrs.class||this.attrs.className,P=f(t,"sf-textarea"),q=function(e,t,r){const s=String(e||r);return t.has(s)?s:r}(r,g,"bordered");this.template=document.createElement("label"),this.id&&(this.template.id=this.id),this.template.classList.add("sf-textarea",`sf-textarea--size-${P}`,`sf-textarea--${q}`),this.template.classList.toggle("error",S(T||_,!1)),R&&this.template.classList.add(...`${R}`.split(" ").filter(Boolean));const j=document.createElement("span");j.classList.add("sf-textarea-label");const A=document.createElement("span");if(A.classList.add("sf-textarea-text"),A.textContent=String(s),j.append(A),S(a,!0)){const e=document.createElement("span");e.classList.add("sf-textarea-required"),e.textContent="*",j.append(e)}const B=document.createElement("textarea");B.placeholder=String(n??""),o&&(B.autocomplete=String(o)),B.inputMode=function(e){const t=String(e||"").toLowerCase();return y.has(t)?t:""}(i);const I=v(l),z=v(c);if(null!==I&&(B.minLength=I),null!==z&&(B.maxLength=z),B.spellcheck=S(d,!0),B.wrap=function(e){const t=String(e||"soft").toLowerCase();return b.has(t)?t:"soft"}(u),B.value=String(m??""),B.defaultValue=String(m??""),B.rows=Number(x)>0?Number(x):3,w&&(B.name=String(w)),B.disabled=S(h,!1),B.readOnly=S(L,!1),B.required=S(a,!0),B.classList.toggle("error",S(T||_,!1)),B.dataset.mask=String(Boolean(k)),C&&(B.dataset.maskPattern=String(C)),N&&"object"==typeof N&&(B.dataset.maskOptions=JSON.stringify(N)),S(O,!1)){B.dataset.autoGrow="true";const e=M($),t=M(F);null!==e&&(B.dataset.minRows=String(e)),null!==t&&(B.dataset.maxRows=String(t))}this.template.append(j,B);const H=S(T||_,!1)&&E?E:p;if(H){const e=document.createElement("span");e.classList.add("sf-textarea-hint-text-wrap"),e.textContent=String(H),e.dataset.fieldMessage=S(T||_,!1)&&E?"error":"hint",this.template.append(e)}this.applyLayoutUtilities(this.template,".sf-textarea"),this.applyLayoutUtilities(j,".sf-textarea .sf-textarea-label"),this.applyLayoutUtilities(B,".sf-textarea textarea")}init(){$(this.template)}destroyInternal(){F(this.template)}}P.utilityMap=r,t("Textarea",P),"undefined"!=typeof window&&(window.SF=window.SF||{},window.SF.Textarea=window.SF.Textarea||{},window.SF.Textarea.setState=function(e,t={}){const r=e instanceof HTMLElement?e.closest(x)||e:null;if(!r)return!1;const s=L(r);if(!s)return!1;if(Object.prototype.hasOwnProperty.call(t,"disabled")&&(s.disabled=S(t.disabled)),Object.prototype.hasOwnProperty.call(t,"error")){const e=S(t.error);r.classList.toggle("error",e),s.classList.toggle("error",e)}if(Object.prototype.hasOwnProperty.call(t,"invalid")){const e=S(t.invalid);r.classList.toggle("error",e),s.classList.toggle("error",e)}if(Object.prototype.hasOwnProperty.call(t,"errorMessage")){const e=String(t.errorMessage??""),a=e?function(e){const t=_(e);if(t)return t;const r=document.createElement("span");return r.classList.add("sf-textarea-hint-text-wrap"),e.append(r),r}(r):_(r);if(a){a.textContent=e;const t=r.classList.contains("error")||s.classList.contains("error");a.dataset.fieldMessage=e&&t?"error":"hint"}}return Object.prototype.hasOwnProperty.call(t,"value")&&(s.value=String(t.value??""),s.dispatchEvent(new Event("input",{bubbles:!0}))),o(r,s,{prefix:"sf-textarea",labelNode:r.querySelector(".sf-textarea-text"),required:s.required||Boolean(r.querySelector(".sf-textarea-required")),invalid:r.classList.contains("error")||s.classList.contains("error"),...T(r)}),!0}),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>R()):R();new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e instanceof Element&&(e.matches?.(x)&&$(e),R(e))})})}).observe(document.documentElement,{childList:!0,subtree:!0})})();
|
|
1
|
+
(()=>{"use strict";class e{lifecycleName(){return this.componentName??this.constructor.componentName}constructor(e){this.props=e,this.id=e?.id,this.params=e?.param,this.attrs=e?.attrs||{},this.template=null,window.dispatchEvent(new CustomEvent(`${this.lifecycleName()}:beforeRender`,{detail:this}))}getUtilityMap(){return this.constructor.utilityMap||null}extractUtilityClasses(e){if(!Array.isArray(e))return[];const t=new Set;return e.forEach(e=>{if("string"!=typeof e)return;const r=e.match(/\(([^)]+)\)/g);r&&r.forEach(e=>{e.slice(1,-1).split(/\s+/).filter(Boolean).forEach(e=>{e.startsWith(".")&&e.length>1&&t.add(e.slice(1))})})}),Array.from(t)}applyLayoutUtilities(e,t){if(!e||!t)return;const r=this.getUtilityMap();if(!r||!r[t])return;this.extractUtilityClasses(r[t]).forEach(t=>e.classList.add(t))}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 t=function(e,t){if(e&&t)if("undefined"==typeof window||"function"!=typeof window.registerSfComponent){if("undefined"!=typeof window&&window.SF?.Loader?.registerComponent)window.SF.Loader.registerComponent(e,t);else if("undefined"!=typeof window){(window.SF_PENDING_COMPONENTS=window.SF_PENDING_COMPONENTS||[]).push([e,t])}}else window.registerSfComponent(e,t)},r=JSON.parse('{".sf-textarea":["display/flex (.flex)","flex-direction/column (.flex-col)","flex-wrap/nowrap (.flex-nowrap)","gap/var(--sf-space-1\\\\/4)","justify-content/flex-start (.justify-start)"],".sf-textarea .sf-textarea-label":["display/flex (.flex)","flex-direction/row (.flex-row)","flex-wrap/nowrap (.flex-nowrap)","gap/var(--sf-space-1\\\\/4)","justify-content/flex-start (.justify-start)","align-items/flex-start (.items-start)"],".sf-textarea textarea":[],".sf-textarea .sf-textarea-hint-text-wrap":["flex/1 (.flex-1)","display/flex (.flex)","flex-direction/row (.flex-row)","flex-wrap/nowrap (.flex-nowrap)","gap/var(--sf-b0)","justify-content/flex-start (.justify-start)","align-items/center (.items-center)"]}');let s=0;const a=new WeakMap;function n(e,{prefix:t="sf-field",required:r=!1,invalid:n=!1,hint:o="",errorMessage:i=""}={}){const l=function(e,t){if(e&&a.has(e))return a.get(e);const r=(e?.id?String(e.id).trim():"")||`${t}-${++s}`,n={controlId:`${r}-control`,messageId:`${r}-message`};return!e||"object"!=typeof e&&"function"!=typeof e||a.set(e,n),n}(e,t),c=Boolean(n),d=c&&i?i:o;return{...l,required:Boolean(r),invalid:c,message:d,describedBy:d?l.messageId:"",errorMessageId:c&&i?l.messageId:""}}function o(e,t,{prefix:r="sf-field",required:s=!1,invalid:a=!1,messageNode:o=null,labelNode:i=null,errorMessage:l=""}={}){if(!e||!t)return null;const c=n(e,{prefix:r,required:s,invalid:a,hint:o?.textContent?.trim()||"",errorMessage:l});var d,u;return t.id||(t.id=c.controlId),"LABEL"!==e.tagName||e.hasAttribute("for")||e.setAttribute("for",t.id),!i?.textContent?.trim()||t.hasAttribute("aria-label")||t.hasAttribute("aria-labelledby")||(i.id||(i.id=`${t.id}-label`),t.setAttribute("aria-labelledby",i.id)),t.required=c.required,e.classList.toggle("error",c.invalid),t.classList.toggle("error",c.invalid),c.invalid?t.setAttribute("aria-invalid","true"):t.removeAttribute("aria-invalid"),o&&(o.id||(o.id=c.messageId),t.setAttribute("aria-describedby",(d=t.getAttribute("aria-describedby"),u=[o.id],[...new Set([...String(d||"").split(/\s+/).filter(Boolean),...u.filter(Boolean)])].join(" ")))),c.errorMessageId&&o?t.setAttribute("aria-errormessage",o.id):t.removeAttribute("aria-errormessage"),c}function i(){const e=globalThis.SF=globalThis.SF||{};return e.__deprecationNotes instanceof Map||Object.defineProperty(e,"__deprecationNotes",{value:new Map,configurable:!0}),e.__deprecationNotes}function l({component:e="",kind:t="attribute",attribute:r="",from:s,to:a=null}={}){if(!s)return;const n=[e,t,r,s].join("|"),o=i(),l=o.get(n);if(l)l.count+=1;else if(o.set(n,{component:e,kind:t,attribute:r,from:s,to:a,count:1}),function(){const e=globalThis.document?.documentElement;return"warn"===e?.dataset?.sfDeprecations||!0===globalThis.SF?.deprecations?.warn}()){const n=e?`${e}: `:"",o="value"===t?`${r}="${s}"`:`${t} ${s}`;globalThis.console?.warn?.(`[SIMAI Framework] ${n}${o} is a legacy name${a?`; write ${a}`:""}. See contracts/changes/journal.json.`)}}if("undefined"!=typeof globalThis){globalThis.SF=globalThis.SF||{};const e=globalThis.SF.deprecations||{};e.list=function(){return[...i().values()].map(e=>({...e}))},e.clear=function(){i().clear()},e.note=l,globalThis.SF.deprecations=e}const c=Object.freeze(["1/2","1","2"]),d=Object.freeze({"1/3":"1/2",3:"2"}),u=new Set;function f(e,t="field",r="1"){const s=String(e??"").trim().toLowerCase();if(c.includes(s))return s;if(Object.hasOwn(d,s)){const e=d[s];l({component:t,kind:"value",attribute:"size",from:s,to:e});const r=`${t}:${s}`;return u.has(r)||"undefined"==typeof console||(u.add(r),console.warn(`[SIMAI Framework] ${t}: size ${s} is retired for form fields; rendering size ${e}.`)),e}return r}const p=new WeakMap,m=new WeakSet;let w=null;const x="label.sf-textarea",h="sfTextareaBound",g=new Set(["bordered","filled","flush"]),y=new Set(["","none","text","tel","url","email","numeric","decimal","search"]),b=new Set(["soft","hard"]);function v(e){if(""===e||null==e)return null;const t=Number(e);return Number.isInteger(t)&&t>=0?t:null}function S(e,t=!1){return null==e||""===e?t:"boolean"==typeof e?e:["1","true","yes","on"].includes(String(e).toLowerCase())}function L(e){return e?.querySelector?.("textarea")||null}function _(e){return e?.querySelector?.(".sf-textarea-hint-text-wrap")||null}function T(e){const t=_(e);return{messageNode:t,errorMessage:"error"===t?.dataset.fieldMessage&&t.textContent?.trim()||""}}function E(e){if(!e||"string"!=typeof e)return null;const t=e.trim();if(!t)return null;try{const e=JSON.parse(t);return e&&"object"==typeof e?e:null}catch{return null}}const k="sf-textarea--auto-grow";function M(e){if(""===e||null==e)return null;const t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:null}function N(e,t){var r,s;if(!(r=t.dataset.autoGrow??e.dataset.autoGrow,s=e.classList.contains(k),null==r?s:""===r||S(r,s)))return null;const a=M(t.dataset.minRows??e.dataset.minRows)??1,n=M(t.dataset.maxRows??e.dataset.maxRows);return{minRows:a,maxRows:null===n?null:Math.max(n,a)}}function C(e,t){const r=N(e,t);if(!r)return;const s=!e.classList.contains(k);e.classList.add(k),t.rows=r.minRows,t.style.setProperty("--sf-textarea--min-rows",String(r.minRows)),null===r.maxRows?t.style.removeProperty("--sf-textarea--max-rows"):t.style.setProperty("--sf-textarea--max-rows",String(r.maxRows));const a={addedClass:s,fallback:null};if(e.__sfTextareaAutoGrow=a,"undefined"!=typeof CSS&&!0===CSS.supports?.("field-sizing","content"))return;let n=!1,o=-1;const i=()=>{n||function(e,t){if(!t.isConnected||0===t.clientWidth)return;const r=e.style.minBlockSize;e.style.minBlockSize=`${e.getBoundingClientRect().height}px`;const{scrollTop:s}=t;t.style.blockSize="auto";const a=getComputedStyle(t),n=(parseFloat(a.borderTopWidth)||0)+(parseFloat(a.borderBottomWidth)||0);t.style.blockSize=`${t.scrollHeight+n}px`,t.scrollTop!==s&&(t.scrollTop=s),e.style.minBlockSize=r}(e,t)},l=e=>{e.isComposing||i()},c=()=>{n=!0},d=()=>{n=!1,i()};t.addEventListener("input",l),t.addEventListener("compositionstart",c),t.addEventListener("compositionend",d);const u=Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype,"value");Object.defineProperty(t,"value",{configurable:!0,enumerable:!0,get(){return u.get.call(this)},set(e){u.set.call(this,e),i()}});const f="undefined"==typeof ResizeObserver?null:new ResizeObserver(e=>{const t=Math.round(e[e.length-1].contentRect.width);t!==o&&(o=t,i())});f?.observe(t),i(),a.fallback={grow:i,onInput:l,onCompositionStart:c,onCompositionEnd:d,observer:f}}async function O(e,t){const r=function(e,t){if(!S(t.dataset.mask??e.dataset.mask,!1))return null;const r=E(t.dataset.maskOptions),s=E(e.dataset.maskOptions);if(r)return r;if(s)return s;const a=t.dataset.maskPattern??e.dataset.maskPattern;return a?{mask:String(a)}:null}(e,t);if(!r)return;const s={};e.__sfTextareaMaskRequest=s;try{const a=await function(){const e=()=>window.SF?.Mask?.create?window.SF.Mask:null,t=e();return t?Promise.resolve(t):w||(w=new Promise(t=>{const r=[[window,"sf-mask-ready"],[window,"sf-loader-ready"],[window,"load"],[document,"DOMContentLoaded"]],s=()=>{const a=e();a&&(r.forEach(([e,t])=>e.removeEventListener(t,s)),w=null,t(a))};r.forEach(([e,t])=>e.addEventListener(t,s))}),w)}();if(e.__sfTextareaMaskRequest!==s)return;const n=await a.create(t,r);if(!n)return;if("1"!==e.dataset[h]||e.__sfTextareaMaskRequest!==s||L(e)!==t)return void a.destroy(n);e.__sfTextareaMask=n}catch(e){console.warn("SF.Textarea mask init failed",e)}}function $(e){if(function(e,t){if(e?.classList)for(const[r,s]of Object.entries(d)){const s=`${t}--size-${r}`;e.classList.contains(s)&&e.classList.replace(s,`${t}--size-${f(r,t)}`)}}(e,"sf-textarea"),!e||"1"===e.dataset[h])return;const t=L(e);if(!t)return;const r=()=>{},s=()=>e.classList.add("sf-textarea--pointer-focus"),a=()=>e.classList.remove("sf-textarea--pointer-focus");t.addEventListener("input",r),t.addEventListener("pointerdown",s),t.addEventListener("blur",a),e.__sfTextareaNoopHandler=r,e.__sfTextareaPointerFocusHandler=s,e.__sfTextareaBlurHandler=a,e.dataset[h]="1";const n=T(e);o(e,t,{prefix:"sf-textarea",labelNode:e.querySelector(".sf-textarea-text"),required:t.required||Boolean(e.querySelector(".sf-textarea-required")),invalid:e.classList.contains("error")||t.classList.contains("error"),...n}),e.__sfTextareaReleaseReset=function(e,t){const r=e.ownerDocument;m.has(r)||(r.addEventListener("reset",e=>{const t=e.target;if("FORM"!==t?.tagName)return;const r=Array.from(t.elements);setTimeout(()=>{if(!e.defaultPrevented)for(const e of r)if(e.isConnected&&e.form===t)for(const t of p.get(e)||[])t()},0)},!0),m.add(r));let s=p.get(e);return s||p.set(e,s=new Set),s.add(t),()=>s.delete(t)}(t,()=>{e.__sfTextareaMask&&(e.__sfTextareaMask.value=t.value),e.__sfTextareaAutoGrow?.fallback?.grow()}),C(e,t),O(e,t)}function F(e){if(!e||"1"!==e.dataset[h])return;delete e.__sfTextareaMaskRequest;const t=L(e);t&&e.__sfTextareaNoopHandler&&t.removeEventListener("input",e.__sfTextareaNoopHandler),t&&e.__sfTextareaPointerFocusHandler&&t.removeEventListener("pointerdown",e.__sfTextareaPointerFocusHandler),t&&e.__sfTextareaBlurHandler&&t.removeEventListener("blur",e.__sfTextareaBlurHandler),function(e,t){const r=e.__sfTextareaAutoGrow;if(!r)return;if(delete e.__sfTextareaAutoGrow,r.addedClass&&e.classList.remove(k),!t)return;t.style.removeProperty("--sf-textarea--min-rows"),t.style.removeProperty("--sf-textarea--max-rows");const{fallback:s}=r;s&&(t.removeEventListener("input",s.onInput),t.removeEventListener("compositionstart",s.onCompositionStart),t.removeEventListener("compositionend",s.onCompositionEnd),s.observer?.disconnect(),delete t.value,t.style.removeProperty("block-size"))}(e,t),e.__sfTextareaMask&&window.SF?.Mask?.destroy?.(e.__sfTextareaMask),e.__sfTextareaReleaseReset?.(),delete e.__sfTextareaReleaseReset,delete e.__sfTextareaMask,delete e.__sfTextareaNoopHandler,delete e.__sfTextareaPointerFocusHandler,delete e.__sfTextareaBlurHandler,e.classList.remove("sf-textarea--pointer-focus"),delete e.dataset[h]}function R(e=document){e.querySelectorAll(x).forEach($)}class P extends e{static componentName="Textarea";html=null;constructor(e){super(e);const{size:t="1",type:r="bordered",label:s="",required:a=!1,placeholder:n="",autocomplete:o="",inputMode:i="",minLength:l="",maxLength:c="",spellcheck:d=!0,wrap:u="soft",hint:p="",value:m="",name:w="",rows:x=3,disabled:h=!1,readonly:L=!1,error:_=!1,invalid:T=!1,errorMessage:E="",mask:k=!1,maskOptions:N,maskPattern:C,autoGrow:O=!1,minRows:$,maxRows:F}=this.params||{},R=this.attrs.class||this.attrs.className,P=f(t,"sf-textarea"),q=function(e,t,r){const s=String(e||r);return t.has(s)?s:r}(r,g,"bordered");this.template=document.createElement("label"),this.id&&(this.template.id=this.id),this.template.classList.add("sf-textarea",`sf-textarea--size-${P}`,`sf-textarea--${q}`),this.template.classList.toggle("error",S(T||_,!1)),R&&this.template.classList.add(...`${R}`.split(" ").filter(Boolean));const j=document.createElement("span");j.classList.add("sf-textarea-label");const A=document.createElement("span");if(A.classList.add("sf-textarea-text"),A.textContent=String(s),j.append(A),S(a,!0)){const e=document.createElement("span");e.classList.add("sf-textarea-required"),e.textContent="*",j.append(e)}const B=document.createElement("textarea");B.placeholder=String(n??""),o&&(B.autocomplete=String(o)),B.inputMode=function(e){const t=String(e||"").toLowerCase();return y.has(t)?t:""}(i);const I=v(l),z=v(c);if(null!==I&&(B.minLength=I),null!==z&&(B.maxLength=z),B.spellcheck=S(d,!0),B.wrap=function(e){const t=String(e||"soft").toLowerCase();return b.has(t)?t:"soft"}(u),B.value=String(m??""),B.defaultValue=String(m??""),B.rows=Number(x)>0?Number(x):3,w&&(B.name=String(w)),B.disabled=S(h,!1),B.readOnly=S(L,!1),B.required=S(a,!0),B.classList.toggle("error",S(T||_,!1)),B.dataset.mask=String(Boolean(k)),C&&(B.dataset.maskPattern=String(C)),N&&"object"==typeof N&&(B.dataset.maskOptions=JSON.stringify(N)),S(O,!1)){B.dataset.autoGrow="true";const e=M($),t=M(F);null!==e&&(B.dataset.minRows=String(e)),null!==t&&(B.dataset.maxRows=String(t))}this.template.append(j,B);const H=S(T||_,!1)&&E?E:p;if(H){const e=document.createElement("span");e.classList.add("sf-textarea-hint-text-wrap"),e.textContent=String(H),e.dataset.fieldMessage=S(T||_,!1)&&E?"error":"hint",this.template.append(e)}this.applyLayoutUtilities(this.template,".sf-textarea"),this.applyLayoutUtilities(j,".sf-textarea .sf-textarea-label"),this.applyLayoutUtilities(B,".sf-textarea textarea")}init(){$(this.template)}destroyInternal(){F(this.template)}}P.utilityMap=r,t("Textarea",P),"undefined"!=typeof window&&(window.SF=window.SF||{},window.SF.Textarea=window.SF.Textarea||{},window.SF.Textarea.setState=function(e,t={}){const r=e instanceof HTMLElement?e.closest(x)||e:null;if(!r)return!1;const s=L(r);if(!s)return!1;if(Object.prototype.hasOwnProperty.call(t,"disabled")&&(s.disabled=S(t.disabled)),Object.prototype.hasOwnProperty.call(t,"error")){const e=S(t.error);r.classList.toggle("error",e),s.classList.toggle("error",e)}if(Object.prototype.hasOwnProperty.call(t,"invalid")){const e=S(t.invalid);r.classList.toggle("error",e),s.classList.toggle("error",e)}if(Object.prototype.hasOwnProperty.call(t,"errorMessage")){const e=String(t.errorMessage??""),a=e?function(e){const t=_(e);if(t)return t;const r=document.createElement("span");return r.classList.add("sf-textarea-hint-text-wrap"),e.append(r),r}(r):_(r);if(a){a.textContent=e;const t=r.classList.contains("error")||s.classList.contains("error");a.dataset.fieldMessage=e&&t?"error":"hint"}}return Object.prototype.hasOwnProperty.call(t,"value")&&(s.value=String(t.value??""),s.dispatchEvent(new Event("input",{bubbles:!0}))),o(r,s,{prefix:"sf-textarea",labelNode:r.querySelector(".sf-textarea-text"),required:s.required||Boolean(r.querySelector(".sf-textarea-required")),invalid:r.classList.contains("error")||s.classList.contains("error"),...T(r)}),!0}),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>R()):R();new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e instanceof Element&&(e.matches?.(x)&&$(e),R(e))})})}).observe(document.documentElement,{childList:!0,subtree:!0})})();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{"use strict";var t={"98e26702f55a"(t,e,a){function s(){const t=globalThis.SF=globalThis.SF||{};return t.__deprecationNotes instanceof Map||Object.defineProperty(t,"__deprecationNotes",{value:new Map,configurable:!0}),t.__deprecationNotes}function n({component:t="",kind:e="attribute",attribute:a="",from:n,to:r=null}={}){if(!n)return;const i=[t,e,a,n].join("|"),o=s(),l=o.get(i);if(l)l.count+=1;else if(o.set(i,{component:t,kind:e,attribute:a,from:n,to:r,count:1}),function(){const t=globalThis.document?.documentElement;return"warn"===t?.dataset?.sfDeprecations||!0===globalThis.SF?.deprecations?.warn}()){const s=t?`${t}: `:"",i="value"===e?`${a}="${n}"`:`${e} ${n}`;globalThis.console?.warn?.(`[SIMAI Framework] ${s}${i} is a legacy name${r?`; write ${r}`:""}. See contracts/changes/journal.json.`)}}if(a.d(e,{id:()=>l}),"undefined"!=typeof globalThis){globalThis.SF=globalThis.SF||{};const t=globalThis.SF.deprecations||{};t.list=function(){return[...s().values()].map(t=>({...t}))},t.clear=function(){s().clear()},t.note=n,globalThis.SF.deprecations=t}const r=Object.freeze(["1/2","1","2"]),i=Object.freeze({"1/3":"1/2",3:"2"}),o=new Set;function l(t,e="field",a="1"){const s=String(t??"").trim().toLowerCase();if(r.includes(s))return s;if(Object.hasOwn(i,s)){const t=i[s];n({component:e,kind:"value",attribute:"size",from:s,to:t});const a=`${e}:${s}`;return o.has(a)||"undefined"==typeof console||(o.add(a),console.warn(`[SIMAI Framework] ${e}: size ${s} is retired for form fields; rendering size ${t}.`)),t}return a}},"421676f72963"(t,e,a){a.d(e,{Ec:()=>o,Hw:()=>l});const s="sfPopoverOpen",n=new WeakSet,r=Symbol.for("sf.openSurfaceLayers");function i(){const t=globalThis;return Array.isArray(t[r])||(t[r]=[]),t[r]}function o(t,e){if(!t)return;const a=Boolean(e);if(a===n.has(t))return;const r=i();if(a)n.add(t),r.push(t);else{n.delete(t);const e=r.lastIndexOf(t);e>=0&&r.splice(e,1)}!function(t){const e=globalThis.document?.documentElement;if(!e)return;const a=Math.max(0,Number(e.dataset[s]||0)+t);a?e.dataset[s]=String(a):delete e.dataset[s]}(a?1:-1)}function l(t){const e=i();for(let a=e.length-1;a>=0;a-=1){const s=e[a];if(!1!==s?.isConnected)return s===t}return!0}},b9b65955223a(t,e,a){a.a(t,async(t,e)=>{try{var s=a("fbe0570fcc69"),n=a("98e26702f55a"),r=a("77b2f4107e3b"),i=a("5c1dc214bb5e"),o=a("0d662e4d7d63"),l=a("421676f72963"),u=t([s,r,i,o]);[s,r,i,o]=u.then?(await u)():u;var h=a.n(s),c=a.n(i);const d=/^(\d{4})-(\d{2})-(\d{2})$/,p=18;let g=0;function m(t){return String(t).padStart(2,"0")}function f(t){return`${t.getFullYear()}-${m(t.getMonth()+1)}-${m(t.getDate())}`}function b(t,e="YYYY.MM.DD"){if(!t)return"";const a={YYYY:String(t.getFullYear()),YY:String(t.getFullYear()).slice(-2),MM:m(t.getMonth()+1),DD:m(t.getDate())};return String(e||"YYYY.MM.DD").replace(/YYYY|YY|MM|DD/g,t=>a[t]||t)}function y(t){return t instanceof Date&&!Number.isNaN(t.getTime())}function v(t){if(!t)return null;const e=String(t).match(d);if(!e)return null;const[,a,s,n]=e,r=new Date(Number(a),Number(s)-1,Number(n));return r.getFullYear()!==Number(a)||r.getMonth()!==Number(s)-1||r.getDate()!==Number(n)?null:r}function D(t,e="DD.MM.YYYY"){if(!t)return null;if(t instanceof Date)return y(t)?new Date(t.getFullYear(),t.getMonth(),t.getDate()):null;const a=String(t).trim(),s=v(a);if(s)return s;const n=a.match(/\d+/g),r=String(e||"DD.MM.YYYY").match(/YYYY|YY|MM|DD/g);if(!n||!r||n.length<3||r.length<3)return null;const i={};r.slice(0,3).forEach((t,e)=>{i[t]=Number(n[e])});let o=i.YYYY;!o&&i.YY&&(o=i.YY+2e3);const l=i.MM,u=i.DD;if(!o||!l||!u)return null;const h=new Date(o,l-1,u);return h.getFullYear()!==o||h.getMonth()!==l-1||h.getDate()!==u?null:h}function k(t,e=0){const a=(0,s.toNumber)(t,e);return Number.isFinite(a)?Math.max(0,Math.min(11,a)):e}function S(t,e){return t&&e&&t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}function w(t,e){if(!t||!e)return 0;return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()}function M(t,e){const a=new Date(t.getFullYear(),t.getMonth()+e,1),s=new Date(a.getFullYear(),a.getMonth()+1,0).getDate();return a.setDate(Math.min(t.getDate(),s)),a}function $(t,e,a){return!!(t&&e&&a)&&(w(t,e)>0&&w(t,a)<0)}function x(t="",e=null){const a=String(t||"").trim();return a||(0,o.pageLocale)(e??globalThis.document?.documentElement??null)}function P(t=""){const e=String(t||"");return e?`${e.charAt(0).toLocaleUpperCase()}${e.slice(1)}`:""}function A(t,e){try{return P(new Intl.DateTimeFormat(e,{month:"long"}).format(new Date(2026,t,1)))}catch{return String(t+1)}}function Y(t,e){try{return new Intl.DateTimeFormat(e,{weekday:"long",year:"numeric",month:"long",day:"numeric"}).format(t)}catch{return f(t)}}function V(t,e=1){const a=new Date(2026,0,4);return Array.from({length:7},(s,n)=>{const r=new Date(a);r.setDate(a.getDate()+(e+n)%7);try{return new Intl.DateTimeFormat(t,{weekday:"short"}).format(r)}catch{return String((e+n)%7)}})}const _=["today","yesterday","last-7-days","last-30-days","this-week","this-month","last-month"];function F(t,e){return new Date(t.getFullYear(),t.getMonth(),t.getDate()+e)}function C(t,e,a=1){const s=new Date(e.getFullYear(),e.getMonth(),e.getDate());switch(t){case"today":return[s,s];case"yesterday":return[F(s,-1),F(s,-1)];case"last-7-days":return[F(s,-6),s];case"last-30-days":return[F(s,-29),s];case"this-week":return[F(s,-(s.getDay()-a+7)%7),s];case"this-month":return[new Date(s.getFullYear(),s.getMonth(),1),s];case"last-month":return[new Date(s.getFullYear(),s.getMonth()-1,1),new Date(s.getFullYear(),s.getMonth(),0)];default:return null}}const T={en:{previousMonth:"Previous month",nextMonth:"Next month",previousYears:"Previous years",nextYears:"Next years",chooseMonth:"Choose a month",chooseYear:"Choose a year",presets:"Quick ranges",customRange:"Custom range",preset_today:"Today",preset_yesterday:"Yesterday",preset_last7Days:"Last 7 days",preset_last30Days:"Last 30 days",preset_thisWeek:"This week",preset_thisMonth:"This month",preset_lastMonth:"Last month"},ru:{previousMonth:"Предыдущий месяц",nextMonth:"Следующий месяц",previousYears:"Предыдущие годы",nextYears:"Следующие годы",chooseMonth:"Выберите месяц",chooseYear:"Выберите год",presets:"Быстрый выбор",customRange:"Свой период",preset_today:"Сегодня",preset_yesterday:"Вчера",preset_last7Days:"Последние 7 дней",preset_last30Days:"Последние 30 дней",preset_thisWeek:"Эта неделя",preset_thisMonth:"Этот месяц",preset_lastMonth:"Прошлый месяц"}};class E extends(h()){constructor(){super(),this._input=null,this._documentClickHandler=this.handleDocumentClick.bind(this),this._documentKeydownHandler=this.handleDocumentKeydown.bind(this),this._viewportHandler=this.positionPanel.bind(this),this._focusCalendarOnOpen=!1,this._focusDateAfterRender=!1,this._panelId="sf-datepicker-panel-"+ ++g,this.state={openAbove:!1,yearPageStart:null,activeDate:""},this.refs={input:this.createRef(),datePickerRoot:this.createRef(),datePickerPanel:this.createRef()}}static get props(){return{templateName:{attribute:"template",default:"default"},value:{default:""},date:{default:""},startValue:{attribute:"start-value",default:""},endValue:{attribute:"end-value",default:""},maxDate:{default:""},minDate:{default:""},range:{type:Boolean,default:!1},month:{type:Number,default:null},year:{type:Number,default:null},context:{default:""},weekStart:{type:Number,default:null},locale:{default:""},format:{default:"DD.MM.YYYY"},rootClass:{default:""},closeOnSelect:{type:Boolean,default:!0},input:{type:Boolean,default:!0},open:{type:Boolean,default:!1},portal:{type:Boolean,default:!0},inputType:{attribute:"input-type",default:"bordered"},size:{default:"1"},inputSize:{attribute:"input-size",default:"1"},inputName:{attribute:"input-name",default:""},name:{attribute:"name",default:""},placeholder:{default:""},label:{default:""},ariaLabel:{attribute:"aria-label",default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},iconStart:{type:String,attribute:"icon-start",default:null},leftIcon:{attribute:"left-icon",default:"calendar_today"},inputRootClass:{attribute:"input-root-class",default:""},mask:{type:Boolean,default:!1},maskPattern:{attribute:"mask-pattern",default:""},maskLazy:{attribute:"mask-lazy",default:!1},maskPlaceholderChar:{attribute:"mask-placeholder-char",default:"_"},maskOptions:{attribute:"mask-options",default:""},presets:{default:""},preset:{default:""}}}connectedCallback(){this.upgradeProperty("value"),this.upgradeProperty("presets"),super.connectedCallback()}upgradeProperty(t){if(!Object.prototype.hasOwnProperty.call(this,t))return;const e=this[t];delete this[t],this[t]=e}get componentName(){return"datepicker"}get templateName(){return this.getAttribute("template")||"default"}get selectedDate(){return D(this.date,this.format)}get primaryDate(){const t=this.activePreset;return t?t.to:this.selectedDate||this.startDate}get presets(){return this._presetList??(this.getAttribute("presets")||"")}set presets(t){if(Array.isArray(t))return this._presetList=t,void this.requestComponentUpdate("presets");this._presetList=null,this.setState({presets:t?String(t):""})}get preset(){return this.getAttribute("preset")||""}set preset(t){this.setState({preset:t?String(t):""})}get presetItems(){if(!this.range)return[];const t=Array.isArray(this.presets)?this.presets:String(this.presets).split(/[\s,]+/).filter(Boolean),e=new Date,a=this.setMinDate(),s=this.setMaxDate();return t.map(t=>{const n="string"==typeof t?{id:t,relative:t}:{...t};if(!n?.id)return null;let r=null;if(n.relative)r=C(n.relative,e,this.weekStart);else if(Array.isArray(n.range)){const t=D(n.range[0],this.format),e=D(n.range[1],this.format);t&&e&&(r=w(t,e)<=0?[t,e]:[e,t])}if(!r)return null;let[i,l]=r;a&&w(i,a)<0&&(i=a),s&&w(l,s)>0&&(l=s);const u=w(i,l)>0,h=n.label||(_.includes(n.id)?(0,o.pageText)(T,(c=n.id,`preset_${String(c).replace(/-([a-z0-9])/g,(t,e)=>e.toUpperCase())}`),this,"sf-datepicker"):n.id);var c;return{id:String(n.id),label:h,relative:n.relative||null,from:i,to:l,disabled:u,pressed:this.preset===String(n.id)}}).filter(Boolean)}get activePreset(){const t=this.preset;if(!t||!this.range)return null;const e=this.presetItems.find(e=>e.id===t);return e&&!e.disabled?e:null}get startDate(){return D(this.startValue,this.format)}get endDate(){return D(this.endValue,this.format)}get date(){return this.getAttribute("date")||this.getAttribute("value")||""}get value(){return this.range?[this.startValue,this.endValue]:this.date}set value(t){if(Array.isArray(t)){const[e="",a=""]=t;return void this.setState({date:e||"",startValue:e||"",endValue:a||""})}if(t&&"object"==typeof t){const e=t.start||t.startValue||t.date||"",a=t.end||t.endValue||"";return void this.setState({date:t.date||e||"",startValue:e,endValue:a})}this.setState({date:t?String(t):"",startValue:"",endValue:""})}setMaxDate(){return D(this.maxDate,this.format)}setMinDate(){return D(this.minDate,this.format)}get maxDate(){return this.getAttribute("max-date")||""}get minDate(){return this.getAttribute("min-date")||""}set date(t){this.setState({date:t?String(t):""})}get startValue(){const t=this.activePreset;return t?f(t.from):this.getAttribute("start-value")||""}set startValue(t){this.setState({startValue:t?String(t):""})}get endValue(){const t=this.activePreset;return t?f(t.to):this.getAttribute("end-value")||""}set endValue(t){this.setState({endValue:t?String(t):""})}get range(){return this.getBooleanAttr("range",!1)}get input(){return this.getBooleanAttr("input",!0)}get open(){return this.getBooleanAttr("open",!1)}get portal(){return this.getBooleanAttr("portal",!0)}get inputType(){return this.getAttribute("input-type")||"bordered"}get size(){return(0,n.id)(this.getAttribute("size")||this.getAttribute("input-size")||"1","sf-datepicker")}get inputSize(){return this.size}get inputName(){return this.getAttribute("input-name")||this.getAttribute("name")||""}get placeholder(){return this.getAttribute("placeholder")||""}get label(){return this.getAttribute("label")||""}get disabled(){return this.getBooleanAttr("disabled",!1)}get required(){return this.getBooleanAttr("required",!1)}get closeOnSelect(){return this.getBooleanAttr("close-on-select",!0)}get leftIcon(){return this.hasAttribute("icon-start")?this.getAttribute("icon-start"):this.getAttribute("left-icon")||"calendar_today"}get iconStart(){return this.leftIcon}get inputRootClass(){return this.getAttribute("input-root-class")||""}get mask(){return this.getBooleanAttr("mask",!1)}get maskPattern(){return this.getAttribute("mask-pattern")||this.formatToMask(this.format)}get maskLazy(){return!!this.hasAttribute("mask-lazy")&&this.getBooleanAttr("mask-lazy",!1)}get maskPlaceholderChar(){return this.getAttribute("mask-placeholder-char")||"_"}get maskOptions(){return this.getAttribute("mask-options")||""}get year(){const t=this.primaryDate,e=t?t.getFullYear():(new Date).getFullYear();return this.hasAttribute("year")?this.getNumberAttr("year",e):e}set year(t){this.setState({year:null==t||""===t?"":String((0,s.toNumber)(t,(new Date).getFullYear()))})}get month(){const t=this.primaryDate,e=t?t.getMonth():(new Date).getMonth();return this.hasAttribute("month")?k(this.getAttribute("month"),e):e}set month(t){this.setState({month:null==t||""===t?"":String(k(t,(new Date).getMonth()))})}get contextMode(){return this.getEnumAttr("context",["month","year",""],"")}get weekStart(){if(this.hasAttribute("week-start")){const t=this.getNumberAttr("week-start",1);return Number.isInteger(t)&&t>=0&&t<=7?t%7:1}try{const t=new Intl.Locale(this.locale),e="function"==typeof t.getWeekInfo?t.getWeekInfo():t.weekInfo;if(e?.firstDay)return e.firstDay%7}catch{}return 1}get locale(){return x(this.getAttribute("locale"),this)}get format(){return this.getAttribute("format")||"DD.MM.YYYY"}get ariaLabel(){return this.getProp("ariaLabel")||""}get readonly(){return this.range||this.getBooleanAttr("readonly",!1)}get typed(){return!this.readonly&&!this.disabled}get formattedValue(){return b(this.selectedDate,this.format)}get formattedStartValue(){return b(this.startDate,this.format)}get formattedEndValue(){return b(this.endDate,this.format)}get displayValue(){return this.range?this.formattedStartValue&&this.formattedEndValue?`${this.formattedStartValue} - ${this.formattedEndValue}`:this.formattedStartValue||this.formattedEndValue||"":this.formattedValue}get displayDate(){return new Date(this.year,this.month,1)}get isRtl(){return"rtl"===(this.closest("[dir]")?.getAttribute("dir")||document.documentElement?.dir)}get labels(){return t=this,Object.fromEntries(["previousMonth","nextMonth","previousYears","nextYears","chooseMonth","chooseYear","presets","customRange"].map(e=>[e,(0,o.pageText)(T,e,t,"sf-datepicker")]));var t}get weekdays(){return V(this.locale,this.weekStart)}get calendarLabel(){try{return new Intl.DateTimeFormat(this.locale,{month:"long",year:"numeric"}).format(this.displayDate)}catch{return`${this.month+1}.${this.year}`}}get activeDate(){const t=v(this.state.activeDate)||this.primaryDate||this.displayDate,e=this.setMinDate(),a=this.setMaxDate();return e&&w(t,e)<0?e:a&&w(t,a)>0?a:t}get normalizedRange(){const t=this.startDate,e=this.endDate;return t&&e?w(t,e)<=0?{startDate:t,endDate:e}:{startDate:e,endDate:t}:{startDate:t,endDate:e}}get days(){const t=(new Date(this.year,this.month,1).getDay()-this.weekStart+7)%7,e=new Date(this.year,this.month,1-t),{startDate:a,endDate:s}=this.normalizedRange,n=Boolean(this.startValue&&this.endValue),r=this.setMinDate(),i=this.setMaxDate(),o=this.activeDate,l=new Date;return Array.from({length:42}).map((t,u)=>{const h=new Date(e.getFullYear(),e.getMonth(),e.getDate()+u),c=h.getTime(),d=Boolean(r&&c<r.getTime()||i&&c>i.getTime());return{date:h,value:f(h),formattedValue:b(h,this.format),label:Y(h,this.locale),day:h.getDate(),today:S(h,l),currentMonth:h.getMonth()===this.month,weekend:[0,6].includes(h.getDay()),disabled:d,selected:this.range?S(h,a)||S(h,s):S(h,this.selectedDate),rangeStart:this.range&&n&&S(h,a),rangeEnd:this.range&&n&&S(h,s),rangeSelected:this.range&&n&&$(h,a,s),tabIndex:!d&&S(h,o)?0:-1}})}get months(){const t=this.setMinDate(),e=this.setMaxDate(),a=t?new Date(t.getFullYear(),t.getMonth(),1):null,s=e?new Date(e.getFullYear(),e.getMonth(),1):null;return Array.from({length:12}).map((t,e)=>{const n=new Date(this.year,e,1).getTime(),r=Boolean(a&&n<a.getTime()||s&&n>s.getTime());return{index:e,label:A(e,this.locale),selected:e===this.month,disabled:r}})}get years(){const t=this.setMinDate(),e=this.setMaxDate(),a=this.yearPageStart;return Array.from({length:p}).map((s,n)=>{const r=a+n;return{year:r,disabled:Boolean(t&&r<t.getFullYear()||e&&r>e.getFullYear()),selected:r===this.year}})}get yearPageStart(){return this.state.yearPageStart??this.getYearPageStart(this.year)}get yearPageEnd(){return this.yearPageStart+p-1}getYearPageStart(t=this.year){const e=(0,s.toNumber)(t,(new Date).getFullYear());return e-e%p}formatToMask=t=>{let e=String(t).replace(/[A-Za-z]/g,"0");return this.range&&(e+=` - ${e}`),e};setContext(t=""){return this.setState({context:t||""}),this}toggleContext(t){const e=this.contextMode===t?"":t,a={context:e};return"year"===e&&(a.yearPageStart=this.getYearPageStart(this.year)),this.setState(a),this}shiftYearPage(t=1){return this.set({yearPageStart:this.yearPageStart+p*t}),this}shiftMonth(t=1){const e=new Date(this.year,this.month+t,1),a=this.setMinDate(),s=this.setMaxDate();return a&&e<new Date(a.getFullYear(),a.getMonth(),1)||s&&e>new Date(s.getFullYear(),s.getMonth(),1)||(this.setState({year:e.getFullYear(),month:e.getMonth(),context:""}),this.set({activeDate:f(e)})),this}setActiveDate(t){const e=v(t);return e&&this.state.activeDate!==t?(this.set({activeDate:f(e)}),this):this}moveActiveDate(t){const e=new Date(this.activeDate);e.setDate(e.getDate()+t);const a=this.setMinDate(),s=this.setMaxDate();return a&&w(e,a)<0||s&&w(e,s)>0||(this._focusDateAfterRender=!0,this.setState({year:e.getFullYear(),month:e.getMonth(),context:""}),this.set({activeDate:f(e)})),this}openPanel({focusCalendar:t=!1}={}){return this.disabled?this:(this._focusCalendarOnOpen=t,this.state.activeDate||this.set({activeDate:f(this.activeDate)}),this.open?(this.positionPanel(),this):(this.setState({open:!0}),this))}closePanel({restoreFocus:t=!1}={}){return this.open?(this.setState({open:!1,context:""}),t&&requestAnimationFrame(()=>this._input?.focus?.()),this):this}togglePanel(){return this.open?this.closePanel():this.openPanel()}handleInputChange(t){if(!this.typed)return;"change"===t?.type&&t.stopPropagation();const e=t?.target,a=String(e?.value??"").trim(),s=()=>{const t=e?.querySelector?.("input")||e;t&&"value"in t&&(t.value=this.displayValue)};if(!a){if(!this.date)return;return this.setState({date:"",context:""}),void this.emitChange()}const n=D(a,this.format),r=this.setMinDate(),i=this.setMaxDate(),o=Boolean(n)&&(r&&w(n,r)<0||i&&w(n,i)>0);if(!n||o)return void s();const l=f(n);l!==this.date?(this.setState({year:n.getFullYear(),month:n.getMonth(),date:l,context:""}),this.set({activeDate:l}),this.emitChange()):s()}handleInputInput(t){this.typed&&t?.stopPropagation?.()}handleInputClick(t){t?.preventDefault?.(),t?.stopPropagation?.(),this.openPanel()}handleInputKeydown(t){if(this.typed){if("ArrowDown"!==t.key&&"Enter"!==t.key)return;return t.preventDefault(),"Enter"===t.key?void this.handleInputChange(t):void this.openPanel({focusCalendar:!0})}["ArrowDown","Enter"," "].includes(t.key)&&(t.preventDefault(),this.openPanel({focusCalendar:!0}))}handleDayKeydown(t,e){const a=this.isRtl?-1:1,s={ArrowLeft:-a,ArrowRight:a,ArrowUp:-7,ArrowDown:7};if(Object.prototype.hasOwnProperty.call(s,t.key))return t.preventDefault(),void this.moveActiveDate(s[t.key]);if("Home"===t.key||"End"===t.key){t.preventDefault();const a=((e?.date||this.activeDate).getDay()-this.weekStart+7)%7;return void this.moveActiveDate("Home"===t.key?-a:6-a)}if("PageUp"===t.key||"PageDown"===t.key){t.preventDefault();const e="PageUp"===t.key?-1:1;let a=M(this.activeDate,e);const s=this.setMinDate(),n=this.setMaxDate();s&&w(a,s)<0&&(a=s),n&&w(a,n)>0&&(a=n),this._focusDateAfterRender=!0,this.setState({year:a.getFullYear(),month:a.getMonth()}),this.set({activeDate:f(a)})}}handlePanelClick(t){t?.stopPropagation?.()}handleDocumentClick(t){if(!this.open)return;const e=t.target;this.contains(e)||this.refs.datePickerPanel.value?.contains?.(e)||this.closePanel()}handleDocumentKeydown(t){this.open&&"Escape"===t.key&&!t.defaultPrevented&&(0,l.Hw)(this)&&(t.preventDefault(),t.stopPropagation(),this.contextMode?this.setContext(""):this.closePanel({restoreFocus:!0}))}syncOverlayListeners(){const t=Boolean(this.input&&this.open);if((0,l.Ec)(this,t),t)return document.addEventListener("click",this._documentClickHandler),void document.addEventListener("keydown",this._documentKeydownHandler,!0);this.removeOverlayListeners()}removeOverlayListeners(){(0,l.Ec)(this,!1),document.removeEventListener("click",this._documentClickHandler),document.removeEventListener("keydown",this._documentKeydownHandler,!0),this.stopPanelPosition(),window.removeEventListener("resize",this._viewportHandler),document.removeEventListener("scroll",this._viewportHandler,!0),window.visualViewport?.removeEventListener("resize",this._viewportHandler),window.visualViewport?.removeEventListener("scroll",this._viewportHandler)}positionPanel(){const t=this.refs.datePickerPanel.value,e=this._input?.closest(".sf-input-field")||this._input||this.querySelector("sf-input");if(this.isConnected&&this.input&&this.portal&&this.open&&t?.isConnected&&e)return this._panelAnchor&&this._panelAnchorPanel===t&&this._panelAnchorTrigger===e?void this._panelAnchor.update():(this.stopPanelPosition(),Object.assign(t.style,{overflowY:"auto",zIndex:"var(--sf-z-index-9)"}),this._panelAnchorPanel=t,this._panelAnchorTrigger=e,void(this._panelAnchor=(globalThis.SF?.Position||c()).anchor(e,t,{side:"block-end",align:"start",onPosition:({side:t})=>{const e="block-start"===t;Boolean(this.state.openAbove)!==e&&this.set({openAbove:e})}})));this.stopPanelPosition()}stopPanelPosition(){this._panelAnchor?.stop(),this._panelAnchor=null,this._panelAnchorPanel=null,this._panelAnchorTrigger=null}selectDate(t){return!t?.date||t.disabled?this:this.range?(this.selectRangeDate(t),this):(this.setState({year:t.date.getFullYear(),month:t.date.getMonth(),date:t.value,context:""}),this.set({activeDate:t.value}),this.emitChange(),this.closeOnSelect&&this.closePanel({restoreFocus:!0}),this)}selectRangeDate(t){if(!this.startValue||this.startValue&&this.endValue)return this.setState({year:t.date.getFullYear(),month:t.date.getMonth(),startValue:t.value,endValue:"",date:t.value,context:"",preset:""}),this.set({activeDate:t.value}),this.emitChange(),this;const e=this.startDate,a={year:t.date.getFullYear(),month:t.date.getMonth(),context:"",preset:""};return e&&w(t.date,e)<0?(a.startValue=t.value,a.endValue=this.startValue,a.date=t.value):(a.endValue=t.value,a.date=this.startValue),this.setState(a),this.set({activeDate:t.value}),this.emitChange(),this.closeOnSelect&&this.closePanel({restoreFocus:!0}),this}choosePreset(t){if(!t||t.disabled)return this;const e=f(t.from),a=f(t.to);return this.setState({preset:t.id,startValue:e,endValue:a,date:e,year:t.to.getFullYear(),month:t.to.getMonth(),context:""}),this.set({activeDate:a}),this.emitChange(),this.closeOnSelect&&this.closePanel({restoreFocus:!0}),this}chooseCustomRange(){return this.preset&&this.setState({preset:"",startValue:"",endValue:"",date:""}),this._focusDateAfterRender=!0,this.requestComponentUpdate("custom-range"),this}handlePresetKeydown(t){const e={ArrowDown:1,ArrowRight:1,ArrowUp:-1,ArrowLeft:-1};if(!(t.key in e)&&"Home"!==t.key&&"End"!==t.key)return;const a=[...t.currentTarget.querySelectorAll("button:not(:disabled)")];if(!a.length)return;t.preventDefault();const s=a.indexOf(t.target);let n="Home"===t.key?0:"End"===t.key?a.length-1:s+e[t.key];!this.isRtl||"ArrowRight"!==t.key&&"ArrowLeft"!==t.key||(n=s-e[t.key]),n=(n+a.length)%a.length,a.forEach((t,e)=>t.setAttribute("tabindex",e===n?"0":"-1")),a[n].focus()}selectMonth(t){return!t||t.disabled||(this.setState({month:t.index,context:""}),this.set({activeDate:f(new Date(this.year,t.index,1))})),this}selectYear(t){if(!t||t.disabled)return this;const e={year:t.year,context:""},a=this.getClosestEnabledMonth(t.year,this.month);return a!==this.month&&(e.month=a),this.setState(e),this.set({activeDate:f(new Date(t.year,a,1))}),this}getClosestEnabledMonth(t,e){const a=this.setMinDate(),s=this.setMaxDate();return a&&t===a.getFullYear()&&e<a.getMonth()?a.getMonth():s&&t===s.getFullYear()&&e>s.getMonth()?s.getMonth():e}emitChange(){const t=this.startValue&&this.endValue?`${this.startValue}/${this.endValue}`:this.startValue||"",e=this.range?{value:[this.startValue,this.endValue],date:t,startValue:this.startValue,endValue:this.endValue,formattedValue:this.displayValue,formattedStartValue:this.formattedStartValue,formattedEndValue:this.formattedEndValue,isoValue:t,startIsoValue:this.startValue,endIsoValue:this.endValue,range:!0,format:this.format,preset:this.activePreset?this.activePreset.relative?{id:this.activePreset.id,relative:this.activePreset.relative}:{id:this.activePreset.id}:null}:{value:this.date,date:this.date,formattedValue:this.formattedValue,isoValue:this.date,range:!1,format:this.format};this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:e})),this.dispatchEvent(new CustomEvent("sf-datepicker-change",{bubbles:!0,composed:!0,detail:e})),this.emitComponentEvent("change",e)}templateContext(){const t=this.getPropsContext();return this.createTemplateContext({...t,component:this,date:this.date,formattedValue:this.formattedValue,displayValue:this.displayValue,startValue:this.startValue,formattedStartValue:this.formattedStartValue,endValue:this.endValue,formattedEndValue:this.formattedEndValue,range:this.range,format:this.format,selectedDate:this.selectedDate,startDate:this.startDate,endDate:this.endDate,year:this.year,month:this.month,monthLabel:A(this.month,this.locale),calendarLabel:this.calendarLabel,labels:this.labels,weekdays:this.weekdays,panelId:this._panelId,previousIcon:this.isRtl?"chevron_right":"chevron_left",nextIcon:this.isRtl?"chevron_left":"chevron_right",context:this.contextMode,locale:this.locale,days:this.days,presetItems:this.presetItems,months:this.months,years:this.years,yearPageStart:this.yearPageStart,yearPageEnd:this.yearPageEnd,rootClass:this.getRootClass(),rootStyle:this.getRootStyle(),openAbove:Boolean(this.state.openAbove),input:this.input,open:this.open,portal:this.portal,inputType:this.inputType,inputSize:this.inputSize,inputName:this.inputName,placeholder:this.placeholder,label:this.label,ariaLabel:this.ariaLabel,readonly:this.readonly,disabled:this.disabled,required:this.required,leftIcon:this.leftIcon,iconStart:this.leftIcon,inputRootClass:this.inputRootClass,mask:this.mask,maskPattern:this.maskPattern,maskLazy:this.maskLazy,maskPlaceholderChar:this.maskPlaceholderChar,maskOptions:this.maskOptions})}template(){return(0,r.P)(this.templateContext())}afterRender(){this._input=this.refs.input?.value?.querySelector("input")||null,this._input&&(this._input.setAttribute("aria-haspopup","dialog"),this._input.setAttribute("aria-expanded",this.open?"true":"false"),this._input.setAttribute("aria-controls",this._panelId));const t=this.querySelector(".sf-datepicker-month-toggle button"),e=this.querySelector(".sf-datepicker-year-toggle button");t?.setAttribute("aria-expanded","month"===this.contextMode?"true":"false"),e?.setAttribute("aria-expanded","year"===this.contextMode?"true":"false"),this.syncOverlayListeners(),requestAnimationFrame(()=>{if(this.positionPanel(),this._focusCalendarOnOpen||this._focusDateAfterRender){const t=this.querySelector(`.sf-datepicker-day[data-date="${f(this.activeDate)}"]`);t?.focus?.(),this._focusCalendarOnOpen=!1,this._focusDateAfterRender=!1}})}onDisconnected(){this.removeOverlayListeners(),super.onDisconnected()}get data(){return{value:this.value,date:this.date,formattedValue:this.formattedValue,displayValue:this.displayValue,startValue:this.startValue,formattedStartValue:this.formattedStartValue,endValue:this.endValue,formattedEndValue:this.formattedEndValue,range:this.range,format:this.format,year:this.year,month:this.month,context:this.contextMode,maxDate:this.maxDate,minDate:this.minDate,locale:this.locale,input:this.input,open:this.open,portal:this.portal,mask:this.mask,maskPattern:this.maskPattern,maskOptions:this.maskOptions,presets:this.presetItems.map(({id:t,label:e,relative:a,disabled:s})=>({id:t,label:e,relative:a,disabled:s})),preset:this.preset}}}E.define("sf-datepicker"),e()}catch(I){e(I)}})},"77b2f4107e3b"(t,e,a){a.a(t,async(t,s)=>{try{a.d(e,{P:()=>b});var n=a("ddf1cdb42ecc"),r=a("5a8eddcd589d"),i=t([n,r]);[n,r]=i.then?(await i)():i;function o(...t){return t.flat().filter(Boolean).join(" ")}function l(t){return n.html`
|
|
1
|
+
(()=>{"use strict";var t={"98e26702f55a"(t,e,a){function s(){const t=globalThis.SF=globalThis.SF||{};return t.__deprecationNotes instanceof Map||Object.defineProperty(t,"__deprecationNotes",{value:new Map,configurable:!0}),t.__deprecationNotes}function n({component:t="",kind:e="attribute",attribute:a="",from:n,to:r=null}={}){if(!n)return;const i=[t,e,a,n].join("|"),o=s(),l=o.get(i);if(l)l.count+=1;else if(o.set(i,{component:t,kind:e,attribute:a,from:n,to:r,count:1}),function(){const t=globalThis.document?.documentElement;return"warn"===t?.dataset?.sfDeprecations||!0===globalThis.SF?.deprecations?.warn}()){const s=t?`${t}: `:"",i="value"===e?`${a}="${n}"`:`${e} ${n}`;globalThis.console?.warn?.(`[SIMAI Framework] ${s}${i} is a legacy name${r?`; write ${r}`:""}. See contracts/changes/journal.json.`)}}if(a.d(e,{id:()=>l}),"undefined"!=typeof globalThis){globalThis.SF=globalThis.SF||{};const t=globalThis.SF.deprecations||{};t.list=function(){return[...s().values()].map(t=>({...t}))},t.clear=function(){s().clear()},t.note=n,globalThis.SF.deprecations=t}const r=Object.freeze(["1/2","1","2"]),i=Object.freeze({"1/3":"1/2",3:"2"}),o=new Set;function l(t,e="field",a="1"){const s=String(t??"").trim().toLowerCase();if(r.includes(s))return s;if(Object.hasOwn(i,s)){const t=i[s];n({component:e,kind:"value",attribute:"size",from:s,to:t});const a=`${e}:${s}`;return o.has(a)||"undefined"==typeof console||(o.add(a),console.warn(`[SIMAI Framework] ${e}: size ${s} is retired for form fields; rendering size ${t}.`)),t}return a}},"421676f72963"(t,e,a){a.d(e,{Ec:()=>o,Hw:()=>l});const s="sfPopoverOpen",n=new WeakSet,r=Symbol.for("sf.openSurfaceLayers");function i(){const t=globalThis;return Array.isArray(t[r])||(t[r]=[]),t[r]}function o(t,e){if(!t)return;const a=Boolean(e);if(a===n.has(t))return;const r=i();if(a)n.add(t),r.push(t);else{n.delete(t);const e=r.lastIndexOf(t);e>=0&&r.splice(e,1)}!function(t){const e=globalThis.document?.documentElement;if(!e)return;const a=Math.max(0,Number(e.dataset[s]||0)+t);a?e.dataset[s]=String(a):delete e.dataset[s]}(a?1:-1)}function l(t){const e=i();for(let a=e.length-1;a>=0;a-=1){const s=e[a];if(!1!==s?.isConnected)return s===t}return!0}},b9b65955223a(t,e,a){a.a(t,async(t,e)=>{try{var s=a("fbe0570fcc69"),n=a("98e26702f55a"),r=a("77b2f4107e3b"),i=a("5c1dc214bb5e"),o=a("0d662e4d7d63"),l=a("421676f72963"),h=t([s,r,i,o]);[s,r,i,o]=h.then?(await h)():h;var u=a.n(s),d=a.n(i);const c=/^(\d{4})-(\d{2})-(\d{2})$/,p=18;let g=0;function m(t){return String(t).padStart(2,"0")}function f(t){return`${t.getFullYear()}-${m(t.getMonth()+1)}-${m(t.getDate())}`}function b(t,e="YYYY.MM.DD"){if(!t)return"";const a={YYYY:String(t.getFullYear()),YY:String(t.getFullYear()).slice(-2),MM:m(t.getMonth()+1),DD:m(t.getDate())};return String(e||"YYYY.MM.DD").replace(/YYYY|YY|MM|DD/g,t=>a[t]||t)}const y=1e3,v=9999;function D(t,e,a){if(!Number.isInteger(t)||t<y||t>v)return null;const s=new Date(t,e-1,a);return s.getFullYear()!==t||s.getMonth()!==e-1||s.getDate()!==a?null:s}function k(t){if(!t)return null;const e=String(t).match(c);if(!e)return null;const[,a,s,n]=e;return D(Number(a),Number(s),Number(n))}const S=/YYYY|YY|MM|DD/g,M=new Map;function w(t){const e=String(t||"DD.MM.YYYY");if(M.has(e))return M.get(e);const a=e.match(S)||[],s={YYYY:"(\\d{4})",YY:"(\\d{2})",MM:"(\\d{1,2})",DD:"(\\d{1,2})"},n=e.split(S).map(t=>t?"[\\s./,-]+":"").reduce((t,e,n)=>t+e+(n<a.length?s[a[n]]:""),""),r=3===a.length&&a.includes("MM")&&a.includes("DD")&&(a.includes("YYYY")||a.includes("YY"))?{re:new RegExp(`^${n}$`),tokens:a}:null;return M.set(e,r),r}function x(t,e="DD.MM.YYYY"){if(!t)return null;if(t instanceof Date)return(a=t)instanceof Date&&!Number.isNaN(a.getTime())?new Date(t.getFullYear(),t.getMonth(),t.getDate()):null;var a;const s=String(t).trim();if(c.test(s))return k(s);const n=w(e),r=n?s.match(n.re):null;if(!r)return null;const i={};n.tokens.forEach((t,e)=>{i[t]=Number(r[e+1])});return D(i.YYYY??i.YY+2e3,i.MM,i.DD)}function $(t,e=0){const a=(0,s.toNumber)(t,e);return Number.isFinite(a)?Math.max(0,Math.min(11,a)):e}function P(t,e){return t&&e&&t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}function Y(t,e){if(!t||!e)return 0;return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()}function A(t,e){const a=new Date(t.getFullYear(),t.getMonth()+e,1),s=new Date(a.getFullYear(),a.getMonth()+1,0).getDate();return a.setDate(Math.min(t.getDate(),s)),a}function V(t,e,a){return!!(t&&e&&a)&&(Y(t,e)>0&&Y(t,a)<0)}function _(t="",e=null){const a=String(t||"").trim();return a||(0,o.pageLocale)(e??globalThis.document?.documentElement??null)}function F(t=""){const e=String(t||"");return e?`${e.charAt(0).toLocaleUpperCase()}${e.slice(1)}`:""}function C(t,e){try{return F(new Intl.DateTimeFormat(e,{month:"long"}).format(new Date(2026,t,1)))}catch{return String(t+1)}}function T(t,e){try{return new Intl.DateTimeFormat(e,{weekday:"long",year:"numeric",month:"long",day:"numeric"}).format(t)}catch{return f(t)}}function E(t,e=1){const a=new Date(2026,0,4);return Array.from({length:7},(s,n)=>{const r=new Date(a);r.setDate(a.getDate()+(e+n)%7);try{return new Intl.DateTimeFormat(t,{weekday:"short"}).format(r)}catch{return String((e+n)%7)}})}const I=["today","yesterday","last-7-days","last-30-days","this-week","this-month","last-month"];function O(t,e){return new Date(t.getFullYear(),t.getMonth(),t.getDate()+e)}function L(t,e,a=1){const s=new Date(e.getFullYear(),e.getMonth(),e.getDate());switch(t){case"today":return[s,s];case"yesterday":return[O(s,-1),O(s,-1)];case"last-7-days":return[O(s,-6),s];case"last-30-days":return[O(s,-29),s];case"this-week":return[O(s,-(s.getDay()-a+7)%7),s];case"this-month":return[new Date(s.getFullYear(),s.getMonth(),1),s];case"last-month":return[new Date(s.getFullYear(),s.getMonth()-1,1),new Date(s.getFullYear(),s.getMonth(),0)];default:return null}}const z={en:{previousMonth:"Previous month",nextMonth:"Next month",previousYears:"Previous years",nextYears:"Next years",chooseMonth:"Choose a month",chooseYear:"Choose a year",presets:"Quick ranges",customRange:"Custom range",preset_today:"Today",preset_yesterday:"Yesterday",preset_last7Days:"Last 7 days",preset_last30Days:"Last 30 days",preset_thisWeek:"This week",preset_thisMonth:"This month",preset_lastMonth:"Last month"},ru:{previousMonth:"Предыдущий месяц",nextMonth:"Следующий месяц",previousYears:"Предыдущие годы",nextYears:"Следующие годы",chooseMonth:"Выберите месяц",chooseYear:"Выберите год",presets:"Быстрый выбор",customRange:"Свой период",preset_today:"Сегодня",preset_yesterday:"Вчера",preset_last7Days:"Последние 7 дней",preset_last30Days:"Последние 30 дней",preset_thisWeek:"Эта неделя",preset_thisMonth:"Этот месяц",preset_lastMonth:"Прошлый месяц"}};class R extends(u()){constructor(){super(),this._input=null,this._documentClickHandler=this.handleDocumentClick.bind(this),this._documentKeydownHandler=this.handleDocumentKeydown.bind(this),this._viewportHandler=this.positionPanel.bind(this),this._focusCalendarOnOpen=!1,this._focusDateAfterRender=!1,this._panelId="sf-datepicker-panel-"+ ++g,this.state={openAbove:!1,yearPageStart:null,activeDate:""},this.refs={input:this.createRef(),datePickerRoot:this.createRef(),datePickerPanel:this.createRef()}}static get props(){return{templateName:{attribute:"template",default:"default"},value:{default:""},date:{default:""},startValue:{attribute:"start-value",default:""},endValue:{attribute:"end-value",default:""},maxDate:{default:""},minDate:{default:""},range:{type:Boolean,default:!1},month:{type:Number,default:null},year:{type:Number,default:null},context:{default:""},weekStart:{type:Number,default:null},locale:{default:""},format:{default:"DD.MM.YYYY"},rootClass:{default:""},closeOnSelect:{type:Boolean,default:!0},input:{type:Boolean,default:!0},open:{type:Boolean,default:!1},portal:{type:Boolean,default:!0},inputType:{attribute:"input-type",default:"bordered"},size:{default:"1"},inputSize:{attribute:"input-size",default:"1"},inputName:{attribute:"input-name",default:""},name:{attribute:"name",default:""},placeholder:{default:""},label:{default:""},ariaLabel:{attribute:"aria-label",default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},errorMessage:{attribute:"error-message",default:""},iconStart:{type:String,attribute:"icon-start",default:null},leftIcon:{attribute:"left-icon",default:"calendar_today"},inputRootClass:{attribute:"input-root-class",default:""},mask:{type:Boolean,default:!1},maskPattern:{attribute:"mask-pattern",default:""},maskLazy:{attribute:"mask-lazy",default:!1},maskPlaceholderChar:{attribute:"mask-placeholder-char",default:"_"},maskOptions:{attribute:"mask-options",default:""},presets:{default:""},preset:{default:""}}}connectedCallback(){this.upgradeProperty("value"),this.upgradeProperty("presets"),super.connectedCallback()}upgradeProperty(t){if(!Object.prototype.hasOwnProperty.call(this,t))return;const e=this[t];delete this[t],this[t]=e}get componentName(){return"datepicker"}get templateName(){return this.getAttribute("template")||"default"}get selectedDate(){return x(this.date,this.format)}get primaryDate(){const t=this.activePreset;return t?t.to:this.selectedDate||this.startDate}get presets(){return this._presetList??(this.getAttribute("presets")||"")}set presets(t){if(Array.isArray(t))return this._presetList=t,void this.requestComponentUpdate("presets");this._presetList=null,this.setState({presets:t?String(t):""})}get preset(){return this.getAttribute("preset")||""}set preset(t){this.setState({preset:t?String(t):""})}get presetItems(){if(!this.range)return[];const t=Array.isArray(this.presets)?this.presets:String(this.presets).split(/[\s,]+/).filter(Boolean),e=new Date,a=this.setMinDate(),s=this.setMaxDate();return t.map(t=>{const n="string"==typeof t?{id:t,relative:t}:{...t};if(!n?.id)return null;let r=null;if(n.relative)r=L(n.relative,e,this.weekStart);else if(Array.isArray(n.range)){const t=x(n.range[0],this.format),e=x(n.range[1],this.format);t&&e&&(r=Y(t,e)<=0?[t,e]:[e,t])}if(!r)return null;let[i,l]=r;a&&Y(i,a)<0&&(i=a),s&&Y(l,s)>0&&(l=s);const h=Y(i,l)>0,u=n.label||(I.includes(n.id)?(0,o.pageText)(z,(d=n.id,`preset_${String(d).replace(/-([a-z0-9])/g,(t,e)=>e.toUpperCase())}`),this,"sf-datepicker"):n.id);var d;return{id:String(n.id),label:u,relative:n.relative||null,from:i,to:l,disabled:h,pressed:this.preset===String(n.id)}}).filter(Boolean)}get activePreset(){const t=this.preset;if(!t||!this.range)return null;const e=this.presetItems.find(e=>e.id===t);return e&&!e.disabled?e:null}get startDate(){return x(this.startValue,this.format)}get endDate(){return x(this.endValue,this.format)}get date(){return this.hasAttribute("date")?this.getAttribute("date")||"":this.getAttribute("value")||""}setState(t={},e=null){super.setState(t,e);const a=e=>t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,e);return a("date")&&!t.date&&this.hasAttribute("value")&&this.setAttribute("date",""),(a("year")||a("month"))&&(this._gridMoved=!0),this}monthOf(t){const e=x(t,this.format);return e?{year:e.getFullYear(),month:e.getMonth()}:{}}get anchorDate(){const t=this.primaryDate||new Date,e=this.setMinDate(),a=this.setMaxDate();return e&&Y(t,e)<0?e:a&&Y(t,a)>0?a:t}showValueMonth(){this.commitTypedText();if(this.primaryDate){const t=this.anchorDate;this.setState({year:t.getFullYear(),month:t.getMonth(),context:""})}else this._gridMoved&&this.setState({year:"",month:"",context:""});return this._gridMoved=!1,this.set({activeDate:f(this.anchorDate)}),this}commitTypedText(){if(!this.typed||!this._input)return this;const t=String(this._input.value??"").trim();return t&&t!==this.displayValue&&x(t,this.format)?(this.handleInputChange({target:this._input}),this):this}attributeChangedCallback(t,e,a){if(super.attributeChangedCallback(t,e,a),"value"===t&&null!==e&&e!==a&&this.primaryDate){const t=this.primaryDate;this.setState({year:t.getFullYear(),month:t.getMonth()})}}get value(){return this.range?[this.startValue,this.endValue]:this.date}set value(t){if(Array.isArray(t)){const[e="",a=""]=t;return void this.setState({date:e||"",startValue:e||"",endValue:a||"",...this.monthOf(e||a)})}if(t&&"object"==typeof t){const e=t.start||t.startValue||t.date||"",a=t.end||t.endValue||"";return void this.setState({date:t.date||e||"",startValue:e,endValue:a,...this.monthOf(t.date||e||a)})}this.setState({date:t?String(t):"",startValue:"",endValue:"",...this.monthOf(t)})}setMaxDate(){return x(this.maxDate,this.format)}setMinDate(){return x(this.minDate,this.format)}get maxDate(){return this.getAttribute("max-date")||""}get minDate(){return this.getAttribute("min-date")||""}set date(t){this.setState({date:t?String(t):"",...this.monthOf(t)})}get startValue(){const t=this.activePreset;return t?f(t.from):this.getAttribute("start-value")||""}set startValue(t){this.setState({startValue:t?String(t):"",...this.monthOf(t)})}get endValue(){const t=this.activePreset;return t?f(t.to):this.getAttribute("end-value")||""}set endValue(t){this.setState({endValue:t?String(t):""})}get range(){return this.getBooleanAttr("range",!1)}get input(){return this.getBooleanAttr("input",!0)}get open(){return this.getBooleanAttr("open",!1)}get portal(){return this.getBooleanAttr("portal",!0)}get inputType(){return this.getAttribute("input-type")||"bordered"}get size(){return(0,n.id)(this.getAttribute("size")||this.getAttribute("input-size")||"1","sf-datepicker")}get inputSize(){return this.size}get inputName(){return this.getAttribute("input-name")||this.getAttribute("name")||""}get placeholder(){return this.getAttribute("placeholder")||""}get label(){return this.getAttribute("label")||""}get disabled(){return this.getBooleanAttr("disabled",!1)}get required(){return this.getBooleanAttr("required",!1)}get invalid(){return this.getBooleanAttr("invalid",!1)}get errorMessage(){return this.getAttribute("error-message")||""}get closeOnSelect(){return this.getBooleanAttr("close-on-select",!0)}get leftIcon(){return this.hasAttribute("icon-start")?this.getAttribute("icon-start"):this.getAttribute("left-icon")||"calendar_today"}get iconStart(){return this.leftIcon}get inputRootClass(){return this.getAttribute("input-root-class")||""}get mask(){return this.getBooleanAttr("mask",!1)}get maskPattern(){return this.getAttribute("mask-pattern")||this.formatToMask(this.format)}get maskLazy(){return!!this.hasAttribute("mask-lazy")&&this.getBooleanAttr("mask-lazy",!1)}get maskPlaceholderChar(){return this.getAttribute("mask-placeholder-char")||"_"}get maskOptions(){return this.getAttribute("mask-options")||""}get year(){const t=this.anchorDate.getFullYear();return this.hasAttribute("year")?this.getNumberAttr("year",t):t}set year(t){this.setState({year:null==t||""===t?"":String((0,s.toNumber)(t,(new Date).getFullYear()))}),this._gridMoved=!1}get month(){const t=this.anchorDate.getMonth();return this.hasAttribute("month")?$(this.getAttribute("month"),t):t}set month(t){this.setState({month:null==t||""===t?"":String($(t,(new Date).getMonth()))}),this._gridMoved=!1}get contextMode(){return this.getEnumAttr("context",["month","year",""],"")}get weekStart(){if(this.hasAttribute("week-start")){const t=this.getNumberAttr("week-start",1);return Number.isInteger(t)&&t>=0&&t<=7?t%7:1}try{const t=new Intl.Locale(this.locale),e="function"==typeof t.getWeekInfo?t.getWeekInfo():t.weekInfo;if(e?.firstDay)return e.firstDay%7}catch{}return 1}get locale(){return _(this.getAttribute("locale"),this)}get format(){return this.getAttribute("format")||"DD.MM.YYYY"}get ariaLabel(){return this.getProp("ariaLabel")||""}get readonly(){return this.range||this.getBooleanAttr("readonly",!1)}get typed(){return!this.readonly&&!this.disabled}get formattedValue(){return b(this.selectedDate,this.format)}get formattedStartValue(){return b(this.startDate,this.format)}get formattedEndValue(){return b(this.endDate,this.format)}get displayValue(){return this.range?this.formattedStartValue&&this.formattedEndValue?`${this.formattedStartValue} - ${this.formattedEndValue}`:this.formattedStartValue||this.formattedEndValue||"":this.formattedValue}get displayDate(){return new Date(this.year,this.month,1)}get isRtl(){return"rtl"===(this.closest("[dir]")?.getAttribute("dir")||document.documentElement?.dir)}get labels(){return t=this,Object.fromEntries(["previousMonth","nextMonth","previousYears","nextYears","chooseMonth","chooseYear","presets","customRange"].map(e=>[e,(0,o.pageText)(z,e,t,"sf-datepicker")]));var t}get weekdays(){return E(this.locale,this.weekStart)}get calendarLabel(){try{return new Intl.DateTimeFormat(this.locale,{month:"long",year:"numeric"}).format(this.displayDate)}catch{return`${this.month+1}.${this.year}`}}get activeDate(){const t=k(this.state.activeDate)||this.primaryDate||this.displayDate,e=this.setMinDate(),a=this.setMaxDate();return e&&Y(t,e)<0?e:a&&Y(t,a)>0?a:t}get normalizedRange(){const t=this.startDate,e=this.endDate;return t&&e?Y(t,e)<=0?{startDate:t,endDate:e}:{startDate:e,endDate:t}:{startDate:t,endDate:e}}get days(){const t=(new Date(this.year,this.month,1).getDay()-this.weekStart+7)%7,e=new Date(this.year,this.month,1-t),{startDate:a,endDate:s}=this.normalizedRange,n=Boolean(this.startValue&&this.endValue),r=this.setMinDate(),i=this.setMaxDate(),o=this.activeDate,l=new Date;return Array.from({length:42}).map((t,h)=>{const u=new Date(e.getFullYear(),e.getMonth(),e.getDate()+h),d=u.getTime(),c=Boolean(r&&d<r.getTime()||i&&d>i.getTime());return{date:u,value:f(u),formattedValue:b(u,this.format),label:T(u,this.locale),day:u.getDate(),today:P(u,l),currentMonth:u.getMonth()===this.month,weekend:[0,6].includes(u.getDay()),disabled:c,selected:this.range?P(u,a)||P(u,s):P(u,this.selectedDate),rangeStart:this.range&&n&&P(u,a),rangeEnd:this.range&&n&&P(u,s),rangeSelected:this.range&&n&&V(u,a,s),tabIndex:!c&&P(u,o)?0:-1}})}get months(){const t=this.setMinDate(),e=this.setMaxDate(),a=t?new Date(t.getFullYear(),t.getMonth(),1):null,s=e?new Date(e.getFullYear(),e.getMonth(),1):null;return Array.from({length:12}).map((t,e)=>{const n=new Date(this.year,e,1).getTime(),r=Boolean(a&&n<a.getTime()||s&&n>s.getTime());return{index:e,label:C(e,this.locale),selected:e===this.month,disabled:r}})}get years(){const t=this.setMinDate(),e=this.setMaxDate(),a=this.yearPageStart;return Array.from({length:p}).map((s,n)=>{const r=a+n;return{year:r,disabled:Boolean(t&&r<t.getFullYear()||e&&r>e.getFullYear()),selected:r===this.year}})}get yearPageStart(){return this.state.yearPageStart??this.getYearPageStart(this.year)}get yearPageEnd(){return this.yearPageStart+p-1}getYearPageStart(t=this.year){const e=(0,s.toNumber)(t,(new Date).getFullYear());return e-e%p}formatToMask=t=>{let e=String(t).replace(/[A-Za-z]/g,"0");return this.range&&(e+=` - ${e}`),e};setContext(t=""){return this.setState({context:t||""}),this}toggleContext(t){const e=this.contextMode===t?"":t,a={context:e};return"year"===e&&(a.yearPageStart=this.getYearPageStart(this.year)),this.setState(a),this}shiftYearPage(t=1){return this.set({yearPageStart:this.yearPageStart+p*t}),this}shiftMonth(t=1){const e=new Date(this.year,this.month+t,1),a=this.setMinDate(),s=this.setMaxDate();return a&&e<new Date(a.getFullYear(),a.getMonth(),1)||s&&e>new Date(s.getFullYear(),s.getMonth(),1)||(this.setState({year:e.getFullYear(),month:e.getMonth(),context:""}),this.set({activeDate:f(e)})),this}setActiveDate(t){const e=k(t);return e&&this.state.activeDate!==t?(this.set({activeDate:f(e)}),this):this}moveActiveDate(t){const e=new Date(this.activeDate);e.setDate(e.getDate()+t);const a=this.setMinDate(),s=this.setMaxDate();return a&&Y(e,a)<0||s&&Y(e,s)>0||(this._focusDateAfterRender=!0,this.setState({year:e.getFullYear(),month:e.getMonth(),context:""}),this.set({activeDate:f(e)})),this}openPanel({focusCalendar:t=!1}={}){return this.disabled?this:(this._focusCalendarOnOpen=t,this.open?this.state.activeDate||this.set({activeDate:f(this.activeDate)}):this.showValueMonth(),this.open?(this.positionPanel(),this):(this.setState({open:!0}),this))}closePanel({restoreFocus:t=!1}={}){return this.open?(this.setState({open:!1,context:""}),t&&requestAnimationFrame(()=>this._input?.focus?.()),this):this}togglePanel(){return this.open?this.closePanel():this.openPanel()}handleInputChange(t){if(!this.typed)return;"change"===t?.type&&t.stopPropagation();const e=t?.target,a=String(e?.value??"").trim(),s=()=>{const t=e?.querySelector?.("input")||e;t&&"value"in t&&(t.value=this.displayValue)};if(!a){if(!this.date)return;return this.setState({date:"",context:""}),void this.emitChange()}const n=x(a,this.format),r=this.setMinDate(),i=this.setMaxDate(),o=Boolean(n)&&(r&&Y(n,r)<0||i&&Y(n,i)>0);if(!n||o)return void s();const l=f(n);l!==this.date?(this.setState({year:n.getFullYear(),month:n.getMonth(),date:l,context:""}),this.set({activeDate:l}),this.emitChange()):s()}handleInputInput(t){this.typed&&t?.stopPropagation?.()}handleInputClick(t){t?.preventDefault?.(),t?.stopPropagation?.(),this.openPanel()}handleInputKeydown(t){if(this.typed){if("ArrowDown"!==t.key&&"Enter"!==t.key)return;return t.preventDefault(),"Enter"===t.key?void this.handleInputChange(t):void this.openPanel({focusCalendar:!0})}["ArrowDown","Enter"," "].includes(t.key)&&(t.preventDefault(),this.openPanel({focusCalendar:!0}))}handleDayKeydown(t,e){const a=this.isRtl?-1:1,s={ArrowLeft:-a,ArrowRight:a,ArrowUp:-7,ArrowDown:7};if(Object.prototype.hasOwnProperty.call(s,t.key))return t.preventDefault(),void this.moveActiveDate(s[t.key]);if("Home"===t.key||"End"===t.key){t.preventDefault();const a=((e?.date||this.activeDate).getDay()-this.weekStart+7)%7;return void this.moveActiveDate("Home"===t.key?-a:6-a)}if("PageUp"===t.key||"PageDown"===t.key){t.preventDefault();const e="PageUp"===t.key?-1:1;let a=A(this.activeDate,e);const s=this.setMinDate(),n=this.setMaxDate();s&&Y(a,s)<0&&(a=s),n&&Y(a,n)>0&&(a=n),this._focusDateAfterRender=!0,this.setState({year:a.getFullYear(),month:a.getMonth()}),this.set({activeDate:f(a)})}}handlePanelClick(t){t?.stopPropagation?.()}handleDocumentClick(t){if(!this.open)return;const e=t.target;this.contains(e)||this.refs.datePickerPanel.value?.contains?.(e)||this.closePanel()}handleDocumentKeydown(t){this.open&&"Escape"===t.key&&!t.defaultPrevented&&(0,l.Hw)(this)&&(t.preventDefault(),t.stopPropagation(),this.contextMode?this.setContext(""):this.closePanel({restoreFocus:!0}))}syncOverlayListeners(){const t=Boolean(this.input&&this.open);if((0,l.Ec)(this,t),t)return document.addEventListener("click",this._documentClickHandler),void document.addEventListener("keydown",this._documentKeydownHandler,!0);this.removeOverlayListeners()}removeOverlayListeners(){(0,l.Ec)(this,!1),document.removeEventListener("click",this._documentClickHandler),document.removeEventListener("keydown",this._documentKeydownHandler,!0),this.stopPanelPosition(),window.removeEventListener("resize",this._viewportHandler),document.removeEventListener("scroll",this._viewportHandler,!0),window.visualViewport?.removeEventListener("resize",this._viewportHandler),window.visualViewport?.removeEventListener("scroll",this._viewportHandler)}positionPanel(){const t=this.refs.datePickerPanel.value,e=this._input?.closest(".sf-input-field")||this._input||this.querySelector("sf-input");if(this.isConnected&&this.input&&this.portal&&this.open&&t?.isConnected&&e)return this._panelAnchor&&this._panelAnchorPanel===t&&this._panelAnchorTrigger===e?void this._panelAnchor.update():(this.stopPanelPosition(),Object.assign(t.style,{overflowY:"auto",zIndex:"var(--sf-z-index-9)"}),this._panelAnchorPanel=t,this._panelAnchorTrigger=e,void(this._panelAnchor=(globalThis.SF?.Position||d()).anchor(e,t,{side:"block-end",align:"start",onPosition:({side:t})=>{const e="block-start"===t;Boolean(this.state.openAbove)!==e&&this.set({openAbove:e})}})));this.stopPanelPosition()}stopPanelPosition(){this._panelAnchor?.stop(),this._panelAnchor=null,this._panelAnchorPanel=null,this._panelAnchorTrigger=null}selectDate(t){return!t?.date||t.disabled?this:this.range?(this.selectRangeDate(t),this):(this.setState({year:t.date.getFullYear(),month:t.date.getMonth(),date:t.value,context:""}),this.set({activeDate:t.value}),this.emitChange(),this.closeOnSelect&&this.closePanel({restoreFocus:!0}),this)}selectRangeDate(t){if(!this.startValue||this.startValue&&this.endValue)return this.setState({year:t.date.getFullYear(),month:t.date.getMonth(),startValue:t.value,endValue:"",date:t.value,context:"",preset:""}),this.set({activeDate:t.value}),this.emitChange(),this;const e=this.startDate,a={year:t.date.getFullYear(),month:t.date.getMonth(),context:"",preset:""};return e&&Y(t.date,e)<0?(a.startValue=t.value,a.endValue=this.startValue,a.date=t.value):(a.endValue=t.value,a.date=this.startValue),this.setState(a),this.set({activeDate:t.value}),this.emitChange(),this.closeOnSelect&&this.closePanel({restoreFocus:!0}),this}choosePreset(t){if(!t||t.disabled)return this;const e=f(t.from),a=f(t.to);return this.setState({preset:t.id,startValue:e,endValue:a,date:e,year:t.to.getFullYear(),month:t.to.getMonth(),context:""}),this.set({activeDate:a}),this.emitChange(),this.closeOnSelect&&this.closePanel({restoreFocus:!0}),this}chooseCustomRange(){return this.preset&&this.setState({preset:"",startValue:"",endValue:"",date:""}),this._focusDateAfterRender=!0,this.requestComponentUpdate("custom-range"),this}handlePresetKeydown(t){const e={ArrowDown:1,ArrowRight:1,ArrowUp:-1,ArrowLeft:-1};if(!(t.key in e)&&"Home"!==t.key&&"End"!==t.key)return;const a=[...t.currentTarget.querySelectorAll("button:not(:disabled)")];if(!a.length)return;t.preventDefault();const s=a.indexOf(t.target);let n="Home"===t.key?0:"End"===t.key?a.length-1:s+e[t.key];!this.isRtl||"ArrowRight"!==t.key&&"ArrowLeft"!==t.key||(n=s-e[t.key]),n=(n+a.length)%a.length,a.forEach((t,e)=>t.setAttribute("tabindex",e===n?"0":"-1")),a[n].focus()}selectMonth(t){return!t||t.disabled||(this.setState({month:t.index,context:""}),this.set({activeDate:f(new Date(this.year,t.index,1))})),this}selectYear(t){if(!t||t.disabled)return this;const e={year:t.year,context:""},a=this.getClosestEnabledMonth(t.year,this.month);return a!==this.month&&(e.month=a),this.setState(e),this.set({activeDate:f(new Date(t.year,a,1))}),this}getClosestEnabledMonth(t,e){const a=this.setMinDate(),s=this.setMaxDate();return a&&t===a.getFullYear()&&e<a.getMonth()?a.getMonth():s&&t===s.getFullYear()&&e>s.getMonth()?s.getMonth():e}emitChange(){const t=this.startValue&&this.endValue?`${this.startValue}/${this.endValue}`:this.startValue||"",e=this.range?{value:[this.startValue,this.endValue],date:t,startValue:this.startValue,endValue:this.endValue,formattedValue:this.displayValue,formattedStartValue:this.formattedStartValue,formattedEndValue:this.formattedEndValue,isoValue:t,startIsoValue:this.startValue,endIsoValue:this.endValue,range:!0,format:this.format,preset:this.activePreset?this.activePreset.relative?{id:this.activePreset.id,relative:this.activePreset.relative}:{id:this.activePreset.id}:null}:{value:this.date,date:this.date,formattedValue:this.formattedValue,isoValue:this.date,range:!1,format:this.format};this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:e})),this.dispatchEvent(new CustomEvent("sf-datepicker-change",{bubbles:!0,composed:!0,detail:e})),this.emitComponentEvent("change",e)}templateContext(){const t=this.getPropsContext();return this.createTemplateContext({...t,component:this,date:this.date,formattedValue:this.formattedValue,displayValue:this.displayValue,startValue:this.startValue,formattedStartValue:this.formattedStartValue,endValue:this.endValue,formattedEndValue:this.formattedEndValue,range:this.range,format:this.format,selectedDate:this.selectedDate,startDate:this.startDate,endDate:this.endDate,year:this.year,month:this.month,monthLabel:C(this.month,this.locale),calendarLabel:this.calendarLabel,labels:this.labels,weekdays:this.weekdays,panelId:this._panelId,previousIcon:this.isRtl?"chevron_right":"chevron_left",nextIcon:this.isRtl?"chevron_left":"chevron_right",context:this.contextMode,locale:this.locale,days:this.days,presetItems:this.presetItems,months:this.months,years:this.years,yearPageStart:this.yearPageStart,yearPageEnd:this.yearPageEnd,rootClass:this.getRootClass(),rootStyle:this.getRootStyle(),openAbove:Boolean(this.state.openAbove),input:this.input,open:this.open,portal:this.portal,inputType:this.inputType,inputSize:this.inputSize,inputName:this.inputName,placeholder:this.placeholder,label:this.label,ariaLabel:this.ariaLabel,readonly:this.readonly,disabled:this.disabled,required:this.required,invalid:this.invalid,errorMessage:this.errorMessage,leftIcon:this.leftIcon,iconStart:this.leftIcon,inputRootClass:this.inputRootClass,mask:this.mask,maskPattern:this.maskPattern,maskLazy:this.maskLazy,maskPlaceholderChar:this.maskPlaceholderChar,maskOptions:this.maskOptions})}template(){return(0,r.P)(this.templateContext())}afterRender(){this._input=this.refs.input?.value?.querySelector("input")||null,this._input&&(this._input.setAttribute("aria-haspopup","dialog"),this._input.setAttribute("aria-expanded",this.open?"true":"false"),this._input.setAttribute("aria-controls",this._panelId));const t=this.querySelector(".sf-datepicker-month-toggle button"),e=this.querySelector(".sf-datepicker-year-toggle button");t?.setAttribute("aria-expanded","month"===this.contextMode?"true":"false"),e?.setAttribute("aria-expanded","year"===this.contextMode?"true":"false"),this.syncOverlayListeners(),requestAnimationFrame(()=>{if(this.positionPanel(),this._focusCalendarOnOpen||this._focusDateAfterRender){const t=this.querySelector(`.sf-datepicker-day[data-date="${f(this.activeDate)}"]`);t?.focus?.(),this._focusCalendarOnOpen=!1,this._focusDateAfterRender=!1}})}onDisconnected(){this.removeOverlayListeners(),super.onDisconnected()}get data(){return{value:this.value,date:this.date,formattedValue:this.formattedValue,displayValue:this.displayValue,startValue:this.startValue,formattedStartValue:this.formattedStartValue,endValue:this.endValue,formattedEndValue:this.formattedEndValue,range:this.range,format:this.format,year:this.year,month:this.month,context:this.contextMode,maxDate:this.maxDate,minDate:this.minDate,locale:this.locale,input:this.input,open:this.open,portal:this.portal,mask:this.mask,maskPattern:this.maskPattern,maskOptions:this.maskOptions,presets:this.presetItems.map(({id:t,label:e,relative:a,disabled:s})=>({id:t,label:e,relative:a,disabled:s})),preset:this.preset}}}R.define("sf-datepicker"),e()}catch(B){e(B)}})},"77b2f4107e3b"(t,e,a){a.a(t,async(t,s)=>{try{a.d(e,{P:()=>b});var n=a("ddf1cdb42ecc"),r=a("5a8eddcd589d"),i=t([n,r]);[n,r]=i.then?(await i)():i;function o(...t){return t.flat().filter(Boolean).join(" ")}function l(t){return n.html`
|
|
2
2
|
<div class="sf-datepicker-top flex content-main-between items-cross-center">
|
|
3
3
|
<sf-icon-button appearance="link" scheme="on-surface" size="1"
|
|
4
4
|
icon=${t.previousIcon} aria-label=${t.labels.previousYears}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<sf-icon-button appearance="link" scheme="on-surface" size="1"
|
|
10
10
|
icon=${t.nextIcon} aria-label=${t.labels.nextYears}
|
|
11
11
|
@click=${()=>t.component.shiftYearPage(1)}></sf-icon-button>
|
|
12
|
-
</div>`}function
|
|
12
|
+
</div>`}function h(t){return"year"===t.context?l(t):n.html`
|
|
13
13
|
<div class="sf-datepicker-top grid items-cross-center">
|
|
14
14
|
<sf-icon-button appearance="link" scheme="on-surface" size="1"
|
|
15
15
|
icon=${t.previousIcon} aria-label=${t.labels.previousMonth}
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
<sf-icon-button appearance="link" scheme="on-surface" size="1"
|
|
28
28
|
icon=${t.nextIcon} aria-label=${t.labels.nextMonth}
|
|
29
29
|
@click=${()=>t.component.shiftMonth(1)}></sf-icon-button>
|
|
30
|
-
</div>`}function
|
|
30
|
+
</div>`}function u(t){return n.html`
|
|
31
31
|
<div class="sf-datepicker-context absolute top-0 bottom-0 inline-start-0 inline-end-0 grid grid-col-3 content-cross-start items-cross-start overflow-auto gap-1/4"
|
|
32
32
|
aria-label=${t.labels.chooseMonth}>
|
|
33
33
|
${t.months.map(e=>n.html`
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
type="button" @click=${()=>t.component.selectMonth(e)}>
|
|
37
37
|
<span class="sf-datepicker-text-date">${e.label}</span>
|
|
38
38
|
</button>`)}
|
|
39
|
-
</div>`}function
|
|
39
|
+
</div>`}function d(t){return n.html`
|
|
40
40
|
<div class="sf-datepicker-context absolute top-0 bottom-0 inline-start-0 inline-end-0 grid grid-col-3 content-cross-start items-cross-start overflow-auto gap-1/4"
|
|
41
41
|
aria-label=${t.labels.chooseYear}>
|
|
42
42
|
${t.years.map(e=>n.html`
|
|
@@ -45,14 +45,15 @@
|
|
|
45
45
|
@click=${()=>t.component.selectYear(e)}>
|
|
46
46
|
<span class="sf-datepicker-text-date">${e.year}</span>
|
|
47
47
|
</button>`)}
|
|
48
|
-
</div>`}function
|
|
48
|
+
</div>`}function c(t){return"month"===t.context?u(t):"year"===t.context?d(t):n.nothing}function p(t){return n.html`
|
|
49
49
|
<sf-input class="sf-datepicker-input" ${(0,r.ref)(t.component.refs.input)}
|
|
50
50
|
appearance=${t.inputType} size=${t.inputSize}
|
|
51
51
|
label=${t.label||n.nothing} name=${t.inputName||n.nothing}
|
|
52
52
|
aria-label=${t.label?n.nothing:t.ariaLabel||n.nothing}
|
|
53
53
|
placeholder=${t.placeholder||n.nothing} icon-start=${t.iconStart||n.nothing}
|
|
54
54
|
root-class=${t.inputRootClass||n.nothing} value=${t.displayValue||""}
|
|
55
|
-
?disabled=${t.disabled} ?required=${t.required} ?
|
|
55
|
+
?disabled=${t.disabled} ?required=${t.required} ?invalid=${t.invalid}
|
|
56
|
+
error-message=${t.errorMessage||n.nothing} ?mask=${t.mask}
|
|
56
57
|
mask-pattern=${t.maskPattern||n.nothing} mask-lazy=${String(t.maskLazy)}
|
|
57
58
|
mask-placeholder-char=${t.maskPlaceholderChar||n.nothing}
|
|
58
59
|
mask-options=${t.maskOptions||n.nothing} ?readonly=${t.readonly}
|
|
@@ -86,12 +87,12 @@
|
|
|
86
87
|
@click=${e=>t.component.handlePanelClick(e)}>
|
|
87
88
|
${m(t)}
|
|
88
89
|
<div class="sf-datepicker-container flex flex-col">
|
|
89
|
-
${
|
|
90
|
+
${h(t)}
|
|
90
91
|
<div class="sf-datepicker-weekdays grid grid-col-7" aria-hidden="true">
|
|
91
92
|
${t.weekdays.map(t=>n.html`<span class="sf-datepicker-weekday">${t}</span>`)}
|
|
92
93
|
</div>
|
|
93
94
|
<div class="sf-datepicker-main relative">
|
|
94
|
-
${
|
|
95
|
+
${c(t)}
|
|
95
96
|
<div class="sf-datepicker-grid grid grid-col-7">
|
|
96
97
|
${t.days.map(e=>g(e,t))}
|
|
97
98
|
</div>
|
|
@@ -102,4 +103,4 @@
|
|
|
102
103
|
${(0,r.ref)(t.component.refs.datePickerRoot)} data-portal=${t.portal?"true":"false"}>
|
|
103
104
|
${p(t)}
|
|
104
105
|
${t.open?f(t):n.nothing}
|
|
105
|
-
</div>`:f(t)}s()}catch(y){s(y)}})},"5a8eddcd589d"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("lit/directives/ref.js"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("lit/directives/ref.js")),{once:!0}))},ddf1cdb42ecc(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("lit"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("lit")),{once:!0}))},"0d662e4d7d63"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("page-language"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("page-language")),{once:!0}))},"5c1dc214bb5e"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("position"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("position")),{once:!0}))},fbe0570fcc69(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("smart-base"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("smart-base")),{once:!0}))}};const e={};function a(s){const n=e[s];if(void 0!==n)return n.exports;const r=e[s]={exports:{}};return t[s](r,r.exports,a),r.exports}(()=>{const t="function"==typeof Symbol,e=t?Symbol("webpack queues"):"__webpack_queues__",s=t?Symbol("webpack exports"):"__webpack_exports__",n=t?Symbol("webpack error"):"__webpack_error__",r=t=>{t?.d<1&&(t.d=1,t.forEach(t=>t.r--),t.forEach(t=>t.r--?t.r++:t()))};a.a=(t,a,i)=>{let o;i&&((o=[]).d=-1);const l=new Set,
|
|
106
|
+
</div>`:f(t)}s()}catch(y){s(y)}})},"5a8eddcd589d"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("lit/directives/ref.js"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("lit/directives/ref.js")),{once:!0}))},ddf1cdb42ecc(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("lit"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("lit")),{once:!0}))},"0d662e4d7d63"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("page-language"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("page-language")),{once:!0}))},"5c1dc214bb5e"(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("position"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("position")),{once:!0}))},fbe0570fcc69(t){t.exports=globalThis.SF&&globalThis.SF.runtimeModule?globalThis.SF.runtimeModule("smart-base"):new Promise(t=>globalThis.addEventListener("sf-runtime-ready",()=>t(globalThis.SF.runtimeModule("smart-base")),{once:!0}))}};const e={};function a(s){const n=e[s];if(void 0!==n)return n.exports;const r=e[s]={exports:{}};return t[s](r,r.exports,a),r.exports}(()=>{const t="function"==typeof Symbol,e=t?Symbol("webpack queues"):"__webpack_queues__",s=t?Symbol("webpack exports"):"__webpack_exports__",n=t?Symbol("webpack error"):"__webpack_error__",r=t=>{t?.d<1&&(t.d=1,t.forEach(t=>t.r--),t.forEach(t=>t.r--?t.r++:t()))};a.a=(t,a,i)=>{let o;i&&((o=[]).d=-1);const l=new Set,h=t.exports;let u,d,c;const p=new Promise((t,e)=>{c=e,d=t});p[s]=h,p[e]=t=>(o&&t(o),l.forEach(t),p.catch(t=>{})),t.exports=p;a(t=>{let a;u=(t=>t.map(t=>{if(null!==t&&"object"==typeof t){if(t[e])return t;if(t.then){const a=[];a.d=0,t.then(t=>{i[s]=t,r(a)},t=>{i[n]=t,r(a)});const i={};return i[e]=t=>t(a),i}}const a={};return a[e]=t=>{},a[s]=t,a}))(t);const i=()=>u.map(t=>{if(t[n])throw t[n];return t[s]}),h=new Promise(t=>{a=()=>t(i),a.r=0;const s=t=>t!==o&&!l.has(t)&&(l.add(t),t&&!t.d&&(a.r++,t.push(a)));u.map(t=>t[e](s))});return a.r?h:i()},t=>(t?c(p[n]=t):d(h),r(o))),o?.d<0&&(o.d=0)}})(),a.n=t=>{const e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{if(Array.isArray(e))for(var s=0;s<e.length;){var n=e[s++],r=e[s++];a.o(t,n)?0===r&&s++:0===r?Object.defineProperty(t,n,{enumerable:!0,value:e[s++]}):Object.defineProperty(t,n,{enumerable:!0,get:r})}else for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);a("b9b65955223a")})();
|