@ahrowe/ui 0.1.26 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +1782 -1309
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/package/common/sticky/index.d.ts +1 -0
- package/dist/types/package/common/sticky/sticky.d.ts +2 -0
- package/dist/types/package/common/sticky/sticky.types.d.ts +18 -0
- package/dist/types/package/common/timeInput/components/clockDial/clockDial.d.ts +2 -0
- package/dist/types/package/common/timeInput/components/clockDial/clockDial.types.d.ts +24 -0
- package/dist/types/package/common/timeInput/components/clockDial/index.d.ts +1 -0
- package/dist/types/package/common/timeInput/index.d.ts +1 -0
- package/dist/types/package/common/timeInput/timeFunctions.d.ts +36 -0
- package/dist/types/package/common/timeInput/timeInput.d.ts +2 -0
- package/dist/types/package/common/timeInput/timeInput.types.d.ts +44 -0
- package/dist/types/package/index.d.ts +4 -0
- package/docs/CLAUDE.md +2 -0
- package/docs/Input.md +2 -0
- package/docs/Sticky.md +43 -0
- package/docs/TimeInput.md +94 -0
- package/docs/VirtualList.md +2 -0
- package/package.json +1 -1
package/dist/style.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
@layer ahrowe-ui {
|
|
2
|
-
.accordion_YZt8B{color:var(--text-color);margin:-1px;transition:margin .2s}.accordion-title_CGYKY{width:100%}.accordion-active_mocpj{margin:10px 0}.accordion-header_OEjXM{cursor:pointer;background:var(--background);border-radius:var(--default-border-radius);border:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_6KvnM{border:1px solid var(--primary-color);background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_2o-mY{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);border:1px solid var(--border-color);border-top:none;border-bottom:none;transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_JI9nJ{padding:16px}.accordion-body-active_sb2-U{border:1px solid var(--primary-color);border-top:none}.accordion-icon_kLqp-{width:16px;height:16px;color:var(--border-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_lJwG8{transform:rotate(180deg)}.accordion_X64Nz{margin:-1px;transition:margin .2s}.accordion-title_2q-FF{width:100%}.accordion-active_72VwY{border:2px solid var(--primary-color);border-radius:var(--default-border-radius);margin:10px 0}.accordion-header_XuGF6{cursor:pointer;background:var(--background);border-radius:var(--default-border-radius);justify-content:space-between;align-items:center;padding:16px;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_xf8Ch{background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_0Jsco{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);border-top:none;border-bottom:none;transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_0UBPf{padding:16px}.accordion-body-active_XFSy1{border-top:none}.accordion-icon_W1mz5{width:16px;height:16px;color:var(--primary-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_LI98q{transform:rotate(180deg)}.accordion_wkZJf{margin:-1px;transition:margin .2s}.accordion-title_-qwNy{width:100%}.accordion-active_t9-a2{margin:10px 0}.accordion-header_-oST6{cursor:pointer;border-radius:var(--default-border-radius);justify-content:space-between;align-items:center;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_UvKis{border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_ZagrJ{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_HE7PL{padding:0}.accordion-icon_kHxym{width:16px;height:16px;color:var(--primary-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_-L8BH{transform:rotate(180deg)}.actionButtons_7GybR{gap:var(--spacing-m);display:flex}@media (--mq-mobile){.actionButtons_7GybR{flex-direction:column}}.actionButtons-margin_-XoFP{margin-top:var(--spacing-l)}.button_wYLPJ{appearance:none;box-sizing:border-box;color:var(--text-color);font-size:16px;font-family:var(--default-font);border-radius:var(--default-border-radius);cursor:pointer;background:0 0;border:none;padding:0;position:relative;overflow:hidden}.button-notAllowed_xGT-E{cursor:not-allowed;filter:opacity(.8)}.button-loading-icon_1pTTz{width:100%!important;height:100%!important}.button-content_Q-0-4{white-space:break-spaces;position:relative}.button-content_Q-0-4 div{text-overflow:ellipsis;overflow:hidden}.button-loading_TY6y7{visibility:hidden}.button-loading-container_pMSta{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.button-withIcon_IXEKA{justify-content:center;align-items:center;gap:var(--spacing-s);display:flex}.button-style-primary_Ra5i-{background:var(--primary-color);color:var(--text-on-primary)}.button-style-primary_Ra5i- .button-loading-icon_1pTTz{stroke:var(--text-on-primary)}.button-style-delete_jpTCf{background:var(--error-color);color:var(--text-on-delete)}.button-style-delete_jpTCf .button-loading-icon_1pTTz{stroke:var(--text-on-delete)}.button-background_9Vfo5{padding:8px 12px;display:block}.button-size-default_N4HG9{font-size:16px}.button-size-small_mn6jE{font-size:12px}.button-size-small-background_KILXc{padding:0;display:block}.button-size-medium_gNVDM{font-size:16px}.button-size-large_xSIcS{font-size:20px}.spinner-loading_qbxX-{width:70px;height:70px}.spinner-loading_qbxX- circle{stroke-dasharray:283;stroke-dashoffset:281px;stroke-linecap:round;transform-origin:50%;animation:2s cubic-bezier(.89,.01,.12,1) infinite animate-spinner_6HoVF,3s linear infinite spin_axdh6}@keyframes animate-spinner_6HoVF{0%{stroke-dashoffset:281px}50%{stroke-dashoffset:0}to{stroke-dashoffset:-281px}}@keyframes spin_axdh6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ripple_TsvyF{aspect-ratio:1;width:100%;animation:ripple_TsvyF var(--ripple-animation-length) linear forwards;background:#fff3;border-radius:1000px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(0)}.ripple-container_QzHdC{border-radius:inherit;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}@keyframes ripple_TsvyF{to{opacity:0;transform:translate(-50%,-50%)scale(4)}}.actionIcon_ganSq{cursor:pointer;padding:4px}.actionIcon_ganSq:hover{filter:brightness(.8)}.card_w-6Ki{border-radius:var(--default-border-radius);color:var(--text-color);box-sizing:border-box;border:1px solid #0000;overflow:hidden}.card-padding_X2-q-{padding:16px}.card-gaps_jhYkx{gap:var(--spacing-s);flex-direction:column;display:flex}.card-style-elevated_exvMB{background:var(--background-accent-light);box-shadow:var(--card-shadow)}.card-style-outlined_PxZZA{border-color:var(--border-color);background:0 0}.card-style-filled_2nhAY{background:var(--background-accent)}.card-interactable_az2lE{cursor:pointer}.card-hover_fdS-X{transition:transform .15s,box-shadow .15s,filter .3s}.card-hover_fdS-X:hover{background:var(--background-accent);transform:translateY(-2px)}.cardHeader_HfIlm{align-items:center;gap:16px;display:flex}.cardHeader-thumbnail_rFw-N{background:#00000014 50%/cover;border-radius:40px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.cardHeader-actions_awD46{gap:var(--spacing-s);flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;align-items:center;display:flex}.cardHeader-titles_CAUU3{flex-flow:column;flex:1;gap:4px;display:flex;overflow:hidden}.cardHeader-titles-main_Z834V{text-overflow:ellipsis;flex-shrink:100000;min-width:3ch;font-size:18px;font-weight:600;overflow:hidden}.cardHeader-titles-main-container_1j-od{align-items:center;gap:var(--spacing-m);justify-content:space-between;display:flex}.cardHeader-titles-sub_2X08b{text-overflow:ellipsis;font-weight:300;overflow:hidden}.cardMedia_GZJQF{width:calc(100% + 32px);margin:0 -16px}.cardActions_uYu-0{flex-wrap:wrap;gap:8px;display:flex}.checkbox_VO3c2{-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;column-gap:10px;width:fit-content;margin:-1px;display:flex}.checkbox-icon_7O0Hm{color:#a3a9b9;background-color:var(--light-background-color);border-radius:6px;justify-content:center;align-items:center;width:fit-content;height:fit-content;display:flex}.checkbox-loading_4t2-w{background:0 0}.checkbox-loading-spinner_XzXt4{width:100%;height:100%}.checkbox-pointer_XnO8e{cursor:pointer}.checkbox_VO3c2:focus-visible{border:1px solid var(--primary-color);border-radius:6px;outline:none}.checkbox-disabled_ML2rR{filter:brightness(.8);cursor:not-allowed}.checkbox-checkmark_Xclv9{border:1.8px solid var(--text-color);border-radius:var(--default-border-radius);position:relative}.checkbox-checkmark_Xclv9 svg{stroke:var(--text-on-primary);stroke-dasharray:5;stroke-dashoffset:5px;background:var(--primary-color);box-sizing:content-box;border-radius:var(--default-border-radius);padding:2px;transition:transform .1s,stroke-dashoffset .4s .2s;transform:scale(0)}.checkbox-checkmark-checked_mD4FI svg{stroke-dashoffset:0;transform:scale(1)translate(-3px,-3px)}.chip_rCTMl{box-sizing:border-box;background:#00000014;border-radius:99999px;width:fit-content;max-width:100%;position:relative}.chip-clickable_WTVjG{cursor:pointer}.chip-style-default_ppCDx{color:var(--text-color);background:#00000014}.chip-style-primary_oyE85{background:var(--primary-color);color:var(--text-on-primary)}.chip-style-info_GNJrm{background:var(--info-lighter);color:var(--info-color)}.chip-style-warn_Jx3LU{background:var(--warn-lighter);color:var(--warn-color)}.chip-style-error_-Npvg{background:var(--error-lighter);color:var(--error-color)}.chip-inner_mfo-w{align-items:center;gap:8px;padding:4px 8px;display:flex}.chip-inner_mfo-w>*{white-space:nowrap}.chip-text_d1juf{text-overflow:ellipsis;overflow:hidden}.chip-thumbnail_-A7eU{background:#00000014 0 0/cover;border-radius:18px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;overflow:hidden}.chip-container_oNNmF{flex-wrap:wrap;gap:8px;display:flex}.chip-container-inline_11QHw{flex-wrap:nowrap;overflow:auto}.floatingMenu_E1XCy{position:relative}.floatingMenu-content_AmxkA{cursor:pointer}.floatingMenu-container_w7k-Y{background:var(--background-modal);border-radius:calc(var(--default-border-radius) + 4px);margin-top:10px;padding:8px;position:absolute;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.floatingMenu-container-align-left_InKnZ{left:0}.floatingMenu-container-align-right_a9OoS{right:0}.floatingMenu-container-align-center_-8bGT{left:50%;transform:translate(-50%)}.floatingMenu-container-flag_VdKHr{background:var(--background-modal);width:10px;height:10px;margin-top:5px;position:absolute;transform:rotate(45deg);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.floatingMenu-container-flag-align-right_vxrRN{right:8px}.floatingMenu-container-flag-align-left_a2Vv-{left:8px}.floatingMenu-container-flag-align-center_SmaaY{left:50%;transform:translate(-50%)rotate(45deg)}.floatingMenu-anim_5KB-f{opacity:.7;z-index:2;animation:.1s forwards showMenu_AprCh;position:fixed;transform:scale(.7)}@keyframes showMenu_AprCh{to{opacity:1;transform:scale(1)}}.tooltipBubble_uyev0{z-index:10;color:#fff;pointer-events:none;background-color:#454953;border-radius:3px;width:max-content;max-width:200px;padding:6px 9px;font-size:12px;position:absolute;bottom:calc(100% + 6px);left:0}.tooltipBubble_uyev0:after{content:"";border:5px solid #0000;border-top-color:#454953;position:absolute;top:100%;left:12px}.tooltipDetails_R7N16{align-items:center;display:inline-flex;position:relative}.tooltipDetails-icon_rsjns{color:#fff;cursor:default;-webkit-user-select:none;user-select:none;background-color:#454953;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-flex}.tooltipError_gUBut{background-color:var(--error-lighter);width:max-content;color:var(--red);z-index:1;border-radius:3px;padding:6px 9px;font-size:10px;position:absolute;top:-33px;right:0}.tooltipError_gUBut:after{content:"";border-style:solid;border-width:5px;border-color:var(--error-border-color) transparent transparent transparent;margin-left:-5px;position:absolute;top:100%;left:90%}.required-mark_xGJdX{color:var(--error-font-color);padding:0 0 0 4px}.isRequired_Jkn3h{color:var(--message-error-color)}.input_VKNCE{width:100%;position:relative}.input-placeholder_IZH-l{opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;transition:all .2s;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.input-placeholder-shown_mm35e{animation:.2s .3s forwards fadeIn_kmX3i}.input-placeholder-multiline_tLHAl{top:14px;transform:translateY(0)}.input-matLabel_-05ey{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:16px;transition:all .3s;position:absolute;top:50%;left:7px;right:0;transform:translateY(-50%)}.input-matLabel-floating_1P2YE{font-size:13px;inset:-9px 0 0 14px;transform:translateY(0)}.input-matLabel-multiline_miIZJ{top:14px;transform:translateY(0)}.input-fieldset_XCibg{box-sizing:border-box;border-radius:var(--default-border-radius);border-style:solid;border-width:1px;border-color:var(--border-color);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;min-width:0;margin:0;padding:0 0 0 8px;position:absolute;inset:-11px 0 0}.input-fieldset-legend_X23zp{white-space:nowrap;max-width:0;padding:0;transition:max-width .2s;display:block}.input-fieldset-legend-active_t-9hu{max-width:300px}.input-fieldset-legend_X23zp span{opacity:0;padding:5px;font-size:13px}.input-fieldset-legend_X23zp span:empty{padding:.000001px}.input-container_M1RoG{border-radius:var(--default-border-radius);background-color:var(--input-background);cursor:text;align-items:center;height:100%;transition:border-color;display:flex}.input-container-multiline_eLw7h{align-items:flex-start;padding-top:10px;overflow:hidden}.input-container-border_l131I{outline:1px solid var(--border-color);background-color:var(--input-background);outline:none;transition:border-color}.input-container-border-focused_ct6oY{outline-color:var(--primary-color);border-color:var(--primary-color)}.input-container-border-searchFocused_lq088{outline-color:var(--search-input-color);border-color:var(--search-input-color);outline-width:2px}.input-container-border-invalid_Wdbq2,.input-container-border-invalid_Wdbq2:hover,.input-container-border-error_gzfPG{outline-color:var(--error-border-color);border-color:var(--error-border-color)}.input-label_w1hMR{color:var(--text-color);height:100%;display:flex}.input-label-column_qBFPC{flex-direction:column}.input-label-text_-J5qQ{white-space:nowrap;color:color(var(--border-color) lightness(40%));white-space:nowrap;background-color:#0000;align-items:center;margin-bottom:6px;margin-right:5px;font-size:12px;display:flex;position:absolute;top:-15px}.input-upper-right-label_I-WG3{min-height:12px;color:color(var(--border-color) lightness(40%));font-size:12px;position:absolute;right:8px;transform:translateY(calc(-100% - 1.5px))}.input-field_pmDvZ{appearance:none;font-family:inherit;font-size:inherit;box-sizing:border-box;resize:none;border-radius:var(--default-border-radius);width:100%;color:var(--text-color);background:0 0;border:none;line-height:20px;overflow:hidden}.input-field_pmDvZ:focus{outline:none}.input-field_pmDvZ::placeholder{color:var(--text-light)}.input-field-withIcon_VpfmK{padding-right:37px!important}.input-field-withIcon-left_Io7lU{padding-left:37px!important;padding-right:9px!important}.input-field-suffix_NZpXp{padding-right:9px}.input-field-date_UHJEZ{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:6px 9px}.input-field-date_UHJEZ svg{color:#fff}.input-field-default_TKipA{padding:8px 7.5px 6px}.input-field_pmDvZ[disabled]{background-color:var(--disabled-input-color);color:var(--disabled-font-color);-webkit-text-fill-color:var(--disabled-font-color);opacity:1}.input-field_pmDvZ[disabled]::placeholder{color:var(--disabled-font-color);-webkit-text-fill-color:var(--disabled-font-color)}.input-field-uppercase_UV6f1{text-transform:uppercase}.input-field-multiline_al3V1{resize:vertical;min-height:30px;padding-top:4px;overflow-y:auto}.input-field-multiline-autoResize_nK33P{resize:none;overflow:hidden}.input-field-icon_YyJIr{appearance:none;box-sizing:border-box;cursor:pointer;color:var(--input-icon-color);-webkit-user-select:none;user-select:none;background-color:#0000;border:none;outline:none;position:absolute;top:50%;right:10px;transform:translateY(-50%);width:19px!important;height:19px!important}.input-field-icon-left_m2XB1{left:10px}.input-field-icon-notClickable_7j24I{pointer-events:none}.input-error_LIG23{height:1em;color:var(--error-font-color);padding-top:3px;font-size:11px}@keyframes fadeIn_kmX3i{0%{opacity:0}to{opacity:.5}}.colorPicker_Ts3an{align-items:center;gap:8px;display:flex}.swatch_NW78g{border-radius:var(--default-border-radius);cursor:pointer;background-color:#fff;background-image:linear-gradient(45deg,#bbb 25%,#0000 25%),linear-gradient(-45deg,#bbb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#bbb 75%),linear-gradient(-45deg,#0000 75%,#bbb 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;flex-shrink:0;width:32px;height:32px;position:relative;box-shadow:0 0 0 1px #00000026}.swatch_NW78g:hover .swatchHex_j7-i5{opacity:1}.swatchFill_oNtHf{border-radius:inherit;position:absolute;inset:0}.swatchHex_j7-i5{color:#fff;border-radius:inherit;opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;background:#0000008c;justify-content:center;align-items:center;font-family:monospace;font-size:8px;transition:opacity .15s;display:flex;position:absolute;inset:0}.panel_WXEvY{flex-direction:column;gap:10px;width:224px;padding:12px;display:flex}.gradientArea_qEZim{cursor:crosshair;background:linear-gradient(to right, white, hsl(calc(var(--hue) * 1deg), 100%, 50%));border-radius:4px;width:200px;height:160px;position:relative;overflow:hidden}.gradientOverlay_ZQybe{background:linear-gradient(#0000,#000);position:absolute;inset:0}.cursor_m67Lm{pointer-events:none;z-index:1;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 3px #00000080}.hueSlider_k3Knb{appearance:none;border-radius:var(--default-border-radius);cursor:pointer;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);outline:none;width:100%;height:10px}.hueSlider_k3Knb::-webkit-slider-thumb{appearance:none;border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.hueSlider_k3Knb::-moz-range-thumb{border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.alphaSlider_OT2sD{appearance:none;border-radius:var(--default-border-radius);cursor:pointer;background-image:linear-gradient(to right, transparent, var(--alpha-color)), linear-gradient(45deg, #bbb 25%, transparent 25%), linear-gradient(-45deg, #bbb 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #bbb 75%), linear-gradient(-45deg, transparent 75%, #bbb 75%);background-color:#fff;background-position:0 0,0 0,0 4px,4px -4px,-4px 0;background-size:100% 100%,8px 8px,8px 8px,8px 8px,8px 8px;outline:none;width:100%;height:10px}.alphaSlider_OT2sD::-webkit-slider-thumb{appearance:none;border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.alphaSlider_OT2sD::-moz-range-thumb{border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.hexInput_zQw4s{border-radius:var(--default-border-radius);border:1px solid var(--border-color);background:var(--input-background);width:100%;color:var(--text-color);box-sizing:border-box;outline:none;padding:5px 8px;font-family:monospace;font-size:13px}.hexInput_zQw4s:focus{border-color:var(--primary-color)}.modal_L-Fkd{border-radius:var(--default-border-radius);background:var(--background-modal);color:var(--text-color);font-family:var(--default-font);box-sizing:border-box;transform-origin:bottom;max-width:95%;max-height:95%;padding:16px;animation:.2s slideIn_RVIHR,.3s forwards fadeIn_XSuIE;position:relative;overflow:auto}@media not (--breakpoint-desktop){.modal_L-Fkd{max-width:100%;max-height:100%}}.modal-container_qwKIm{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}@media (--breakpoint-tablet){.modal-container_qwKIm{z-index:1}}.modal-header_DhsRr{justify-content:space-between;gap:8px;margin-bottom:16px;display:flex}.modal-header_DhsRr div{text-overflow:ellipsis;overflow:hidden}.modal-header_DhsRr svg{cursor:pointer}.modal-wrapper_r5wzq{opacity:0;background:#00000052;width:100%;height:100%;transition:all .3s ease-in-out;position:fixed;top:0;left:0}.modal-wrapper-shown_F0BgK{opacity:1}@keyframes slideIn_RVIHR{0%{transform:scale(0)}to{transform:scale(.99)}}@keyframes fadeIn_XSuIE{0%{opacity:0}to{opacity:1}}.datePickerMonth-item_30WWy{aspect-ratio:1;justify-content:center;align-items:center;margin:1px 0;display:flex}.datePickerMonth-content_9bbSs{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;display:grid}.datePickerMonth-day_SaASA{cursor:pointer}.datePickerMonth-day-today_RXOIr{background-color:var(--background-accent-light);border-radius:var(--default-border-radius)}.datePickerMonth-day-selected_yMF-v{background-color:var(--primary-color);color:var(--text-on-primary);border-radius:0}.datePickerMonth-day-selected-start_ftVeI{border-top-left-radius:var(--default-border-radius);border-bottom-left-radius:var(--default-border-radius)}.datePickerMonth-day-selected-end_MZ2qy{border-top-right-radius:var(--default-border-radius);border-bottom-right-radius:var(--default-border-radius)}.datePickerMonth-day-disabled_4t0Ci{filter:brightness(.5);cursor:not-allowed}.datePickerMonth-placeholder_gy1Yx{-webkit-user-select:none;user-select:none;pointer-events:none}.infiniteBlock_dFv-h{max-height:none}.spinner-wrapper_hsgWz{justify-content:center;align-items:center;padding:4px 0;display:flex}.spinner_VjUS2{width:32px;height:32px}.required-mark_fy7Fm{color:var(--error-font-color);padding:0 0 0 4px}.dropdown_XTshY{position:relative}.dropdown-label_TIpeK{display:flex}.dropdown-label-column_cMCBc{flex-direction:column}.dropdown-label-text_u-UKq{white-space:nowrap;color:var(--text-color);align-items:center;margin-bottom:5px;margin-right:5px;font-size:12px;display:flex;position:absolute;top:-15px}.dropdown-input_WiPcb{cursor:pointer;background-color:var(--input-background);border-radius:var(--default-border-radius);position:relative}.dropdown-input-plain_Ap12N{background:0 0}.dropdown-input_WiPcb:focus-within{outline:none}.dropdown-input-button_ziKKi{font-family:inherit;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-align:left;width:100%;color:var(--text-color);background-color:#0000;border:none;line-height:20px;overflow:hidden;padding:7.5px 20% 7.5px 7.5px!important}.dropdown-input-button-disabled_JEaO-{background-color:var(--disabled-input-color);color:var(--disabled-font-color);border-radius:var(--default-border-radius)}.dropdown-input-button_ziKKi:focus{outline:none}.dropdown-input-button-icon_jl7EY{float:right;right:var(--spacing-s);color:var(--text-color);cursor:pointer;background-color:#0000;border:none;outline:none;position:absolute;top:50%;transform:translateY(-50%)}.dropdown-input-button-icon-arrow_SFJbx{pointer-events:none;transition:transform .25s}.dropdown-input-button-icon-arrow-open_8yQbZ{transform:rotate(180deg)}.dropdown-input-list_JnMbA{border:1px solid var(--border-color);background-color:var(--background);border-radius:var(--default-border-radius);transform-origin:100% 0;z-index:1;flex-direction:column;width:calc(100% - 1px);max-height:160px;list-style-type:none;transition:transform .25s;display:flex;position:absolute;left:-1px;overflow:hidden auto;transform:scaleY(1)}.dropdown-input-list-on-top_RpQ9v{bottom:56px}.dropdown-input-list-wider_0rbTN{width:max-content!important}.dropdown-input-list-item_EAy5L{cursor:pointer;background-color:var(--background);text-align:left;border:none;border-radius:0;padding:6px;transition:all .3s}.dropdown-input-list-item-active_0dhia{background-color:var(--background-accent)}.dropdown-input-list-item-selected_hShJf{font-weight:500}.dropdown-input-list-item_EAy5L:focus{outline:none}.dropdown-input-list-item_EAy5L:hover{background-color:var(--background-accent)}.dropdown-input-list-item-disabled_3r-Yn{background-color:var(--disabled-input-color);color:var(--disabled-font-color);cursor:not-allowed}.dropdown-input-list-item-disabled_3r-Yn:hover{background-color:var(--disabled-input-color)}.dropdown-input-list-hidden_huNc5{transform:scaleY(0)}.dropdown-fieldset_wQwTf{box-sizing:border-box;border-radius:var(--default-border-radius);border-style:solid;border-width:1px;border-color:var(--border-color);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;margin:0;padding-left:8px;position:absolute;inset:-10px 0 0}.dropdown-fieldset-legend_a1M4L{white-space:nowrap;max-width:0;padding:0;transition:max-width .2s;display:block}.dropdown-fieldset-legend-active_bnR5F{max-width:300px}.dropdown-fieldset-legend_a1M4L span{opacity:0;padding:5px;font-size:13px}.dropdown-placeholder_QYMPZ{opacity:0;transition:all .2s;position:absolute;top:8px;left:7px}.dropdown-placeholder-shown_-IkNH{animation:.2s .3s forwards fadeIn_oMJZj}.dropdown-matLabel_iHQnt{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:16px;transition:all .3s;position:absolute;inset:9px 0 0 7px}.dropdown-matLabel-floating_zY51S{font-size:13px;inset:-9px 0 0 14px}@keyframes fadeIn_oMJZj{0%{opacity:0}to{opacity:.5}}.dropdown-border_9Oaex{outline:1px solid var(--border-color);background-color:var(--input-background);outline:none;transition:border-color}.dropdown-border-focused_Te-ER{outline-color:var(--primary-color);border-color:var(--primary-color)}.dropdown-border-searchFocused_AH67N{outline-color:var(--search-input-color);border-color:var(--search-input-color);outline-width:2px}.dropdown-border-plain_Bbh-3{border-color:#0000;outline-color:#0000}.dropdown-border-invalid_ySVaS,.dropdown-border-invalid_ySVaS:hover,.dropdown-border-error_-JB33{outline-color:var(--error-border-color);border-color:var(--error-border-color)}.datePicker_ZohTp{flex:1;width:100%;min-width:105px;position:relative}.datePicker-header_YmSWE{justify-content:space-between;align-items:center;margin:8px 0;display:flex}.datePicker-header-monthAndYear_b5ntO{display:flex}.datePicker-header-monthAndYear-container_Hcgks{gap:16px;display:flex;position:relative}.datePicker-header-month_jqFHl{width:120px}.datePicker-header-year_4egHF{width:75px}.datePicker-month_7iosT{min-width:185px}.drawer_5SRoc{height:100%;width:var(--drawer-closed-width,0px);background:var(--background-accent);transition:width .3s;overflow-x:hidden}.drawer-open_-YQ8n{width:var(--drawer-opened-width,var(--drawer-content-width,max-content))}.drawer-content_sHIAP{pointer-events:all;width:max-content;height:100%}.drawer-content-inner_f-IDz{height:100%}.dropZone_9iJZy{box-sizing:border-box;outline:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.dropZone-clickable_pcRhf{cursor:pointer}.dropZone-disabled_YWcMp{opacity:.5;cursor:not-allowed;pointer-events:none}.dropZone-default_5dSsT{padding:var(--spacing-l,24px);border:1px dashed var(--primary-lighter);border-radius:var(--default-border-radius);color:var(--text-dark);background:0 0;transition:border-color .2s,background .2s,color .2s}.dropZone-default_5dSsT:hover{border-color:var(--primary-color);background:var(--background-accent-light)}.dropZone-dragging_nGSL3{border-color:var(--primary-color)}.dropZone-active_Rov1w{border-width:2px;border-color:var(--primary-color);background:var(--background-accent-light);color:var(--text-color)}.dropZone-error_hlnmB{border-color:var(--error-color);color:var(--error-color)}.dropZone-error_hlnmB:hover{border-color:var(--error-color);background:var(--error-lighter)}.dropZone-content_1QDk7{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.dropZone-content-dragging_ettwl{pointer-events:none}.dropZone-fileList_si3X1{width:100%;margin-top:var(--spacing-s,8px);pointer-events:none}.dropZone-fileItem_fES6y{font-size:var(--text-small-font-size);color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropZone-input_4DGty{display:none}.emptyState_KXOIx{justify-content:center;align-items:center;gap:var(--spacing-m);flex-flow:column;display:flex}.fab_hyAAa{--icon-size:18px;border-radius:50%;align-items:stretch;width:56px;height:56px;padding:0;display:flex}.fab_hyAAa>div{border-radius:50%;justify-content:center;align-items:center;width:100%;display:flex}.fab-content_IBiXm{font-size:var(--icon-size);width:var(--icon-size);height:var(--icon-size)}.fab-content_IBiXm svg{width:var(--icon-size);height:var(--icon-size)}.fab-content-container_FQD1x{justify-content:center;align-items:center;display:flex}.fab-size-mini_KP9BD{background:var(--background-accent-light);width:40px;height:40px}.fab_YI34X{opacity:0;border-radius:50%;animation:.3s forwards appear_DL0wm;transform:scale(0);box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.fab-container_8uoYo{position:fixed;bottom:16px;right:16px}@media (--breakpoint-tablet){.fab-container_8uoYo{z-index:2}}.fab-menu_O1WO9{pointer-events:none;-webkit-user-select:none;user-select:none;flex-flow:column-reverse;align-items:center;gap:16px;width:100%;display:flex;position:absolute;top:0;transform:translateY(calc(-100% - 16px))}.fab-menu-backdrop_m9T6a{opacity:0;background:#000;width:0%;height:0%;transition:opacity .4s;position:fixed;top:0;left:0}.fab-menu-backdrop-open_35mlH{opacity:.5;width:100%;height:100%}.fab-menu-entry_rIgXr{cursor:pointer;opacity:0;pointer-events:all;transition:all .2s;position:relative;transform:scale(0)}.fab-menu-entry_rIgXr:nth-child(2){transition-delay:50ms}.fab-menu-entry_rIgXr:nth-child(3){transition-delay:.1s}.fab-menu-entry_rIgXr:nth-child(4){transition-delay:.15s}.fab-menu-entry_rIgXr:nth-child(5){transition-delay:.2s}.fab-menu-entry_rIgXr:nth-child(6){transition-delay:.25s}.fab-menu-entry_rIgXr:nth-child(7){transition-delay:.3s}.fab-menu-entry-shown_066HC{opacity:1;transform:scale(1)}.fab-menu-entry-label_pXdDf{background:var(--background-accent-light);border-radius:var(--default-border-radius);padding:4px 8px}.fab-menu-entry-label-container_oeKI5{align-items:center;width:max-content;height:100%;margin-left:-8px;display:flex;position:absolute;transform:translate(-100%)}.fab-icon_5Fp-6{justify-content:center;align-items:center;width:100%;height:100%;transition:all .4s;display:flex;position:relative}.fab-icon-menuOpen_Jp8Qb{transform:rotate(225deg)}.fab-icon-content_o0VDx{opacity:0;width:18px;height:18px;transition:opacity .3s;position:absolute}.fab-icon-content-shown_oY19H{opacity:1}@keyframes appear_DL0wm{to{opacity:1;transform:scale(1)}}.iconPicker_xJJmG{border-radius:var(--default-border-radius);border:1px solid #0000}.iconPicker-label_VEB2X{font-size:var(--text-small-font-size);margin-bottom:8px}.iconPicker-item_iJWDN{background:var(--background-accent);cursor:pointer;width:24px;height:24px;stroke:var(--text-color);border-radius:200px;justify-content:center;align-items:center;padding:8px;display:flex;position:relative}.iconPicker-item_iJWDN:focus-visible{outline:1px solid var(--primary-color)}.iconPicker-item-container_-1WT5{flex-wrap:wrap;justify-content:space-around;gap:8px 14px;display:flex}.iconPicker-item-selected_GQ-I1{background:var(--primary-color)}.iconPicker-error_23m9v{border-color:red}.inputDropdown_UdYMa{position:relative}.dropdown_-M5-x{border-radius:var(--default-border-radius);background:var(--background-modal);width:fit-content;max-width:240px;box-shadow:var(--card-shadow);box-sizing:border-box;transform-origin:0 0;opacity:0;z-index:2;max-height:200px;transition:all .1s;position:fixed;overflow:auto;transform:scale(.95)}.dropdown-shown_H2rFU{opacity:1;transform:scale(1)}.dropdown-item_JRgbt{z-index:0;cursor:pointer;outline:none;padding:8px}.dropdown-item_JRgbt:hover,.dropdown-item_JRgbt:focus,.dropdown-item-highlighted_1ZENP{background:var(--background-accent)}.dropdown-category_OMT0E{padding:16px 8px 4px}.board_6KRdw{gap:var(--spacing-s);align-items:flex-start;width:100%;display:flex;overflow-x:auto}.column_NrNeF{background:var(--background-accent-light);border-radius:var(--default-border-radius);box-shadow:var(--card-shadow);border:2px solid #0000;flex-direction:column;flex:1 1 0;transition:border-color .15s,background .15s;display:flex}.column-empty_5KYsJ{flex:0 1 0;min-width:140px}.column-over_sO7oD{border-color:var(--primary-lighter);background:var(--background-accent)}.column-header_PLeKG{padding:var(--spacing-m) var(--spacing-l);background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0 0;font-size:var(--header-small-font-size);font-weight:var(--header-font-weight);color:var(--text-color);border-bottom:1px solid var(--border-color)}.column-items_xY5er{padding:var(--spacing-m);gap:var(--spacing-m);flex-direction:column;flex:1;min-height:80px;display:flex}.item_T8CJK{cursor:grab;touch-action:none}.item_T8CJK:active{cursor:grabbing}.item-dragging_iWurw{opacity:.4}.dragOverlay_DSyKz{border-radius:var(--default-border-radius);cursor:grabbing;box-shadow:0 10px 30px #00000040, var(--card-shadow)}.iconLoading_wovj4{-webkit-user-select:none;user-select:none;pointer-events:none;--draw-duration:.8s;--delay:.4s;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.iconLoading_wovj4 svg{stroke-dasharray:14;stroke-dashoffset:14px;aspect-ratio:1;width:200px;animation:calc(var(--draw-duration) * 3) spin-to-oblivion_0tZtm var(--delay) infinite;stroke:var(--primary-color);stroke-linecap:round;transform:rotate(0)}.iconLoading-first_SBwP3{animation:calc(var(--draw-duration) * 3) draw-line_1NiWA var(--delay) infinite}.iconLoading-second_nHrW3{animation:calc(var(--draw-duration) * 3) draw-line-two_HmaHl var(--delay) infinite}@keyframes draw-line_1NiWA{33%{stroke-dashoffset:0}95%{stroke-dashoffset:0}96%{stroke-dashoffset:14px}}@keyframes draw-line-two_HmaHl{33%{stroke-dashoffset:14px}66%{stroke-dashoffset:0}95%{stroke-dashoffset:0}96%{stroke-dashoffset:14px}}@keyframes spin-to-oblivion_0tZtm{50%{transform:rotate(180deg)}75%{transform:rotate(180deg)scale(0)}to{transform:rotate(180deg)scale(0)}}.arrows_yjRlc{border-left:1px solid var(--border-color);flex-direction:column;align-self:stretch;margin:4px 0;display:flex}.arrowBtn_DbJoa{cursor:pointer;color:var(--text-dark);background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:0 6px;font-size:.55rem;line-height:1;transition:color .15s,background .15s;display:flex}.arrowBtn_DbJoa:hover{color:var(--primary-color);background:var(--background-accent-light)}.arrowBtn_DbJoa:active{color:var(--primary-lighter)}.optionPicker_Yx82s{gap:var(--spacing-m);border-radius:var(--default-border-radius);border:1px solid var(--border-color);justify-content:space-around;width:100%;display:flex;position:relative;overflow:hidden}.optionPicker-chip_ywtvr{background:var(--primary-color);border-radius:var(--default-border-radius);height:100%;transition:left .25s ease-in-out,width .25s ease-in-out;position:absolute;top:0;left:0}.optionPicker-option_uq0vK{text-align:center;cursor:pointer;width:100%;height:100%;padding:var(--spacing-m);text-overflow:ellipsis;border-radius:var(--default-border-radius);transition:color .25s;display:block;position:relative;overflow:hidden}.optionPicker-option_uq0vK:focus{outline:var(--primary-color) solid 2px;outline-offset:-2px}.optionPicker-option-active_yUECW{color:var(--text-on-primary)}.overscroll_Ij750{-ms-overflow-style:none;scrollbar-width:none;height:100vh;overflow:auto}.overscroll_Ij750::-webkit-scrollbar{display:none}.overscroll-header_S6vYc{width:100%;position:absolute;bottom:0}.overscroll-header-centered_8VlsP{justify-content:center;align-items:center;display:flex}.overscroll-header-container_iignp{position:relative}.progressBar_LO0sX{border-radius:var(--default-border-radius);background-color:#e0e0e0;align-items:center;min-width:100px;min-height:10px;display:flex;overflow:hidden}.progressBar-fill_rt32j{background-color:var(--primary-color);align-items:center;width:0;height:-webkit-fill-available;height:-moz-available;height:stretch;transition:width .3s;display:flex;overflow:hidden}.progressBar-fill-end_71wL3{border-radius:0 var(--default-border-radius) var(--default-border-radius) 0}.progressBar-label_jWud2{color:#fff;text-overflow:ellipsis;white-space:nowrap;padding:0 5px;font-size:12px;overflow:hidden}.progressBar-label-custom_sSump{mix-blend-mode:difference}.roomDrawer_SJj4-{border:1px solid var(--border-color);border-radius:var(--default-border-radius);background:var(--background);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;overflow:hidden}.roomDrawer-toolbar_55H5p{background:var(--background-accent);border-bottom:1px solid var(--border-color);align-items:center;gap:4px;padding:6px 8px;display:flex}.roomDrawer-toolbar-sep_nJeh8{flex:1}.roomDrawer-toolbar-btn_2qinY{border-radius:var(--default-border-radius);width:32px;height:32px;color:var(--text-dark);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:13px;transition:background .12s,color .12s;display:flex}.roomDrawer-toolbar-btn_2qinY:hover:not(:disabled){background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-toolbar-btn_2qinY:disabled{opacity:.35;cursor:not-allowed}.roomDrawer-toolbar-btn-active_4XX25{background:var(--primary-accent);color:var(--primary-color);border-color:var(--primary-lighter)}.roomDrawer-toolbar-zoomLabel_HMkb5{border-radius:var(--default-border-radius);min-width:40px;height:32px;color:var(--text-dark);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;padding:0 4px;font-size:11px}.roomDrawer-toolbar-zoomLabel_HMkb5:hover{background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-canvas_Y18uD{cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;display:block}.roomDrawer-canvas-select_M43-x{cursor:default}.roomDrawer-info_qwC6L{background:var(--background-accent);border-top:1px solid var(--border-color);align-items:center;gap:8px;padding:6px 8px;display:flex}.roomDrawer-info-label_8I9hB{color:var(--text-dark);white-space:nowrap;font-size:12px}.roomDrawer-info-input_YAl-K{border:1px solid var(--border-color);border-radius:var(--default-border-radius);background:var(--background);max-width:220px;height:28px;color:var(--text-color);flex:1;padding:0 8px;font-size:13px}.roomDrawer-info-input_YAl-K:focus{border-color:var(--primary-color);outline:none}.roomDrawer-info-spacer_cOj96{flex:1}.roomDrawer-info-delete_TSBUN{border:1px solid var(--border-color);border-radius:var(--default-border-radius);width:28px;height:28px;color:var(--text-dark);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:12px;transition:background .12s,color .12s,border-color .12s;display:flex}.roomDrawer-info-delete_TSBUN:hover{color:#fff;background:#e53935;border-color:#e53935}.roomDrawer-hint_3WTFa{color:var(--text-dark);background:var(--background-accent);border-top:1px solid var(--border-color);padding:4px 8px;font-size:11px}.roomDrawer-info-doorsBtn_oK5Uf{border:1px solid var(--border-color);border-radius:var(--default-border-radius);height:28px;color:var(--text-dark);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:0 8px;font-size:12px;transition:background .12s,color .12s;display:flex}.roomDrawer-info-doorsBtn_oK5Uf:hover{background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-doorPanel_e-Tl9{background:var(--background-accent);border-top:1px solid var(--border-color);flex-direction:column;display:flex}.roomDrawer-doorPanel-header_--iXz{border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:6px 8px;display:flex}.roomDrawer-doorPanel-icon_KxaVY{color:var(--text-dark);font-size:12px}.roomDrawer-doorPanel-title_8nOZS{color:var(--text-dark);flex:1;font-size:12px}.roomDrawer-doorPanel-done_ejQkx{border:1px solid var(--border-color);border-radius:var(--default-border-radius);height:26px;color:var(--text-dark);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:0 10px;font-size:12px;transition:background .12s,color .12s;display:flex}.roomDrawer-doorPanel-done_ejQkx:hover{background:var(--primary-accent);color:var(--primary-color);border-color:var(--primary-lighter)}.roomDrawer-doorPanel-list_rDou7{flex-direction:column;gap:4px;max-height:130px;padding:6px 8px;display:flex;overflow-y:auto}.roomDrawer-doorPanel-item_U-3-B{align-items:center;gap:6px;display:flex}.roomDrawer-doorPanel-label_qSYqY{color:var(--text-color);min-width:48px;font-size:12px}.roomDrawer-doorPanel-widthLabel_jXv7D{color:var(--text-dark);font-size:11px}.roomDrawer-doorPanel-empty_LcDw0{color:var(--text-dark);padding:2px 0;font-size:11px;font-style:italic}.roomDrawer-canvas-door_qzCIa{cursor:crosshair}.doorGap_KrIuB{stroke:var(--background);stroke-width:4px;stroke-linecap:butt;pointer-events:none}.doorMarker_-N63z{fill:var(--primary-color);stroke:var(--background);stroke-width:.8px;pointer-events:all;cursor:grab}.doorMarker_-N63z:active{cursor:grabbing}.gridLine_V-rxw{stroke:var(--text-color);stroke-width:.3px;opacity:.12}.roomFill_JnJ0J{fill:var(--primary-accent);fill-opacity:.08;stroke:none}.roomFill-selected_IfIRr{fill-opacity:.22}.roomStroke_S18UH{fill:none;stroke:var(--primary-color);stroke-width:1.5px;stroke-linejoin:round}.roomStroke-selected_fm19u{stroke:var(--primary-lighter);stroke-width:2px}.roomText_6fIeU{fill:var(--text-color);stroke:none;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:7px}.doorPanel_raCv0{stroke:var(--primary-color);stroke-width:1.5px;stroke-linecap:round}.doorPanel-selected_5DG7g{stroke:var(--primary-lighter);stroke-width:2px}.doorSwing_Tbt9D{fill:none;stroke:var(--primary-color);stroke-width:.8px;stroke-dasharray:3 2;pointer-events:none}.doorSwing-selected_fFte5{stroke:var(--primary-lighter)}.preview_seIZY{fill:var(--primary-accent);stroke:var(--primary-color);stroke-width:1px;stroke-dasharray:4 2;pointer-events:none}.polyCloseTarget_snjYx{fill:var(--primary-color);opacity:.5;pointer-events:none}.polyVertex_fw0nX{fill:var(--primary-color);stroke:none;pointer-events:none}.vertexHandle_-z7g5{fill:var(--background);stroke:var(--primary-color);stroke-width:1.5px;cursor:grab;pointer-events:all}.vertexHandle_-z7g5:hover{fill:var(--primary-accent);stroke:var(--primary-lighter)}.roomViewer-containerLoading_BL3M-{opacity:.4;pointer-events:none}.roomViewer-container_YlmB8 svg{stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1}.roomViewer-container_YlmB8 svg path{stroke:var(--primary-color);fill:#0000}.roomViewer-container_YlmB8 svg path[id=background]{stroke:none;fill:#0000;cursor:pointer}.roomViewer-container_YlmB8 svg [id^=room]{cursor:pointer}.roomViewer-container_YlmB8 svg text{fill:var(--text-color);stroke:none;font-size:5px}.roomViewer-active_gG6wf{stroke:#18f810!important;fill:#20f81013!important}.roomViewer-active_gG6wf path{stroke:#18f810!important;fill:none!important}.roomViewer-active_gG6wf path[id=background]{stroke:none!important;fill:#20f81013!important}.roomViewer-selected_CpdMj{stroke:#18f810!important}.roomViewer-selected_CpdMj path{stroke:#18f810!important;fill:none!important}.roomViewer-selected_CpdMj path[id=background]{stroke:none!important;fill:#20f81013!important}.roomViewer-selected_CpdMj text{stroke:none;fill:var(--text-color)}.roomViewer-tint_O9JrM,.roomViewer-tint_O9JrM path{fill:#20f81013!important}.roomViewer-tint_O9JrM text{stroke:none;fill:none}.roomViewer-actions_4cA74{justify-content:center;gap:8px;width:100%;font-size:16px;display:flex}.roomViewer-actions_4cA74 svg{cursor:pointer}.roomViewer-header_XEHCO{margin-bottom:4px}.scrollbarProvider_IMBFu{display:contents}.scrollbarProvider_IMBFu *{scrollbar-width:thin;scrollbar-color:var(--background-accent-light) var(--background)}.scrollbarProvider_IMBFu ::-webkit-scrollbar{width:12px}.scrollbarProvider_IMBFu ::-webkit-scrollbar-track{background:0 0}.scrollbarProvider_IMBFu ::-webkit-scrollbar-thumb{background-color:var(--background-accent-light);border:3px solid var(--background);border-radius:10px}.resultCount_Sn48Q{color:var(--text-dark);margin:6px 0 0;font-size:12px}.stepper_kiS2A{-webkit-user-select:none;user-select:none;align-items:center;margin-bottom:30px;display:flex}.stepper-clickable_Nm6fP{cursor:pointer}.stepper-vertical_2y9rg{flex-flow:column}.stepper-connector_J2FwZ{background-position:0%;background-size:200% 200%;background-image:repeating-linear-gradient(90deg, var(--primary-lighter) 0%, var(--primary-lighter) 50%, var(--primary-color) 50%, var(--primary-color) 100%);width:50px;height:1px;transition:all .6s}.stepper-connector-vertical_vwY38{background-position:0 100%;background-image:repeating-linear-gradient(0deg, var(--primary-lighter) 0%, var(--primary-lighter) 50%, var(--primary-color) 50%, var(--primary-color) 100%);width:3px;height:100px}.stepper-connector-filled_W8UZS{background-position:-100% 0;height:3px}.stepper-entry_KD4JJ{box-sizing:border-box;border:1px solid var(--primary-lighter);width:40px;height:40px;color:var(--primary-lighter);border-radius:var(--default-border-radius);box-shadow:inset 0px 0px 0px var(--primary-color);justify-content:center;align-items:center;transition:all .4s;display:flex;position:relative;transform:none}.stepper-entry-active_V1aRt{border:2px solid var(--primary-color);color:var(--primary-color);transform:scale(1.1)}.stepper-entry-done_M3wb5{box-shadow:inset 0px 0px 0px 30px var(--primary-color);transform:none}.stepper-entry-number_J168Q{stroke-dasharray:5;stroke-dashoffset:5px}.stepper-entry-number-done_-m7sD{animation:.4s .2s forwards showCheckmark_Rd0oW}@keyframes showCheckmark_Rd0oW{0%{stroke-dashoffset:5px}to{stroke-dashoffset:0}}.stepper-entry-label_b94eg{text-align:center;width:140px;position:absolute;top:45px;left:0;transform:translate(-50px)}.stepper-entry-label-vertical_Zm8i4{text-align:left;top:0;left:100px}.tabHeader_C-b9d{border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none;align-items:stretch;gap:4px;display:flex;overflow-x:auto}.tabHeader-tab_Wbyt-{cursor:pointer;color:var(--text-dark);border-radius:var(--default-border-radius) var(--default-border-radius) 0 0;white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:10px;padding:12px 16px;transition:color .2s,background .2s,border-color .2s;display:flex}.tabHeader-tab_Wbyt-:hover{background:var(--background-accent-light);color:var(--text-color)}.tabHeader-tab-active_IExSo{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tabHeader-tab-active_IExSo:hover{color:var(--primary-color)}.tabHeader-tab-disabled_yWJxS{opacity:.5;pointer-events:none;cursor:default}.tabHeader-icon_ryEHB{flex-shrink:0;font-size:18px}.tabHeader-labels_q5Af5{text-align:left;flex-direction:column;line-height:1.25;display:flex}.tabHeader-title_Jq2Vy{font-weight:var(--header-font-weight,600);font-size:var(--default-font-size)}.tabHeader-subtitle_4lhSa{font-size:var(--text-small-font-size);color:var(--text-dark)}@media (width<=640px){.tabHeader-tab_Wbyt-:not(.tabHeader-tab-active_IExSo) .tabHeader-labels_q5Af5{display:none}}.gifPreview_-ECUZ{aspect-ratio:1;--gif-preview-gap-size:5px;gap:var(--gif-preview-gap-size);flex-wrap:wrap;justify-content:center;width:min(420px,90vw);display:flex;position:relative;overflow:auto}.gifPreview-image_Aq7-a{background-position:50%;background-size:cover;width:100%;height:100%}.gifPreview-image-container_ycypL{aspect-ratio:1;background:linear-gradient(45deg, var(--primary-color) 10%, var(--primary-lighter), var(--primary-accent), var(--primary-color) 85%);border-radius:var(--default-border-radius);width:min(140px,33.3%);width:min(calc(140px - var(--gif-preview-gap-size)), calc(33.3% - var(--gif-preview-gap-size)));background-size:500% 500%;animation:1s linear infinite gradientBottomLeftToTopRight_wo6HB;overflow:hidden}.gifView_Fa2zj{justify-content:center;align-items:center;display:flex;position:relative}.gifView_Fa2zj img{border-radius:var(--default-border-radius);max-width:100%;overflow:hidden}.gifView-loading_LfNJr{background:linear-gradient(45deg, var(--primary-color) 10%, var(--primary-lighter), var(--primary-accent), var(--primary-color) 85%);border-radius:var(--default-border-radius);background-size:500% 500%;width:100%;height:100%;animation:1s linear infinite gradientBottomLeftToTopRight_JR6aS;position:absolute;top:0;left:0;overflow:hidden}.tenorPicker-selected_IfR2z{margin-top:8px}.tenorPicker-modal-content_Vkolf{gap:var(--spacing-m);flex-flow:column;display:flex}.tenorPicker-suggestions-container_kJCj5{max-width:420px}.tenorPicker-suggestions-item_Rl99M{cursor:pointer}.colorFade_eLv2g *{transition:background .3s ease-in-out}.container_krdsW{z-index:9999;pointer-events:none;box-sizing:border-box;flex-direction:column;gap:8px;padding:16px;display:flex;position:fixed}.container-top-left_zfDTO{align-items:flex-start;top:0;left:0}.container-top-center_CUIGc{align-items:center;top:0;left:50%;transform:translate(-50%)}.container-top-right_sB0KU{align-items:flex-end;top:0;right:0}.container-bottom-left_toJdF{flex-direction:column-reverse;align-items:flex-start;bottom:0;left:0}.container-bottom-center_Bkf9m{flex-direction:column-reverse;align-items:center;bottom:0;left:50%;transform:translate(-50%)}.container-bottom-right_oRSMc{flex-direction:column-reverse;align-items:flex-end;bottom:0;right:0}.toast_qBi4o{pointer-events:all;border-radius:var(--default-border-radius);background:var(--background-modal);color:var(--text-color);font-family:var(--default-font);box-shadow:var(--card-shadow);box-sizing:border-box;align-items:flex-start;gap:10px;min-width:240px;max-width:380px;padding:12px 14px;animation:.25s forwards toastSlideDown_4lKWq;display:flex;position:relative;overflow:hidden}.toast-bottom_X8ZIe{animation:.25s forwards toastSlideUp_SGR5X}.toast-dismissing_xKmB-{animation:.2s forwards toastFadeOut_cvHYp}.toast-info_RlLli{border-left:3px solid var(--info-color,#3b82f6)}.toast-info_RlLli .toastIcon_xU1nA{color:var(--info-color,#3b82f6)}.toast-success_I1g1B{border-left:3px solid var(--success-color)}.toast-success_I1g1B .toastIcon_xU1nA{color:var(--success-color)}.toast-error_MloFO{border-left:3px solid var(--error-color,#ef4444)}.toast-error_MloFO .toastIcon_xU1nA{color:var(--error-color,#ef4444)}.toast-warn_pP6HB{border-left:3px solid var(--warn-color)}.toast-warn_pP6HB .toastIcon_xU1nA{color:var(--warn-color)}.toast-default_RTt2L{border-left:3px solid var(--primary-color)}.toast-default_RTt2L .toastIcon_xU1nA{color:var(--primary-color)}.toastIcon_xU1nA{flex-shrink:0;margin-top:1px;font-size:15px}.toastContent_gvyIv{flex:1;font-size:14px;line-height:1.4}.toastCloseButton_n-YST{cursor:pointer;color:var(--text-dark);opacity:.6;background:0 0;border:none;flex-shrink:0;margin-top:1px;padding:0;font-size:13px;transition:opacity .15s}.toastCloseButton_n-YST:hover{opacity:1}.toastProgressBar_6vBs6{opacity:.35;transform-origin:0;width:100%;height:3px;animation:toastShrink_h89HS var(--toast-duration) linear forwards;background:currentColor;position:absolute;bottom:0;left:0}@keyframes toastSlideDown_4lKWq{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideUp_SGR5X{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut_cvHYp{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes toastShrink_h89HS{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.virtualList_qBPNc{box-sizing:border-box;color:var(--text-color);font-family:var(--default-font);overflow-anchor:none;scrollbar-gutter:stable;isolation:isolate;overflow-y:auto}.virtualList-drag-clone_artnC{box-sizing:border-box;contain:layout paint style;cursor:grabbing;transition:none}.virtualList-header_0Ellb{z-index:1;background:var(--background-accent);border-bottom:1px solid var(--border-color);box-sizing:border-box;display:grid;position:sticky;top:0}.virtualList-header-cell_c8NGV{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;padding:8px 12px;font-size:13px;font-weight:600;overflow:hidden}.virtualList-header-toggle_pYFxD{cursor:pointer;color:var(--text-dark);border-radius:var(--default-border-radius);background:0 0;border:none;align-items:center;padding:4px 8px;transition:background .15s;display:flex}.virtualList-header-toggle_pYFxD:hover{background:var(--background-accent-light);color:var(--text-color)}.virtualList-toggle-wrapper_JP32M{align-items:center;padding:0 4px;display:flex;position:absolute;top:0;bottom:0;right:0}.virtualList-toggle-popover_gbpd7{background:var(--background-accent);border:1px solid var(--border-color);border-radius:var(--default-border-radius);box-shadow:var(--card-shadow);min-width:160px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0}.virtualList-toggle-item_5gu5d{white-space:nowrap;padding:4px 12px;font-size:14px;transition:background .1s}.virtualList-toggle-item_5gu5d:hover{background:var(--background-accent-light)}.virtualList-column-chip_nOqr6{box-sizing:border-box;background:var(--primary-color);color:#fff;pointer-events:none;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:1;display:flex;position:absolute;top:0;right:0}.virtualList-select-cell_s9kAy{box-sizing:border-box;justify-content:center;align-items:center;padding:0 4px;display:flex}.virtualList-body_k-fRr{box-sizing:border-box;position:relative}.virtualList-row_TTY50{border-bottom:1px solid var(--border-color);box-sizing:border-box;cursor:pointer;contain:layout paint style;transition:background .1s}.virtualList-row-no-divider_Ct0gV{border-bottom:none}.virtualList-row_TTY50:hover{background:var(--background-accent-light)}.virtualList-row-no-hover_2d3mH:hover{background:0 0}.virtualList-row-selected_hwEN-,.virtualList-row-selected_hwEN-:hover{background:var(--primary-lighter)}.virtualList-row-draggable_I86ha{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.virtualList-row-draggable_I86ha:active{cursor:grabbing}.virtualList-row-dragging_6T5tQ{opacity:.4}.virtualList-row-drop-inside_Uhi9n{background:var(--primary-lighter);box-shadow:inset 0 0 0 2px var(--primary-color)}.virtualList-drop-line_EM-g4{background:var(--primary-color);pointer-events:none;z-index:1;height:2px;position:absolute;right:0}.virtualList-drop-line_EM-g4:before{content:"";background:var(--primary-color);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.virtualList-drop-line-before_n-0iZ{top:-1px}.virtualList-drop-line-after_2dld-{bottom:-1px}.virtualList-reordering_Rt9E3{touch-action:none}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50{-webkit-user-select:none;user-select:none}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50:hover{background:0 0}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50.virtualList-row-selected_hwEN-:hover{background:var(--primary-lighter)}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50.virtualList-row-dragging_6T5tQ{background:0 0}.virtualList-cell_H0zBv{text-overflow:ellipsis;box-sizing:border-box;align-items:center;min-width:0;padding:8px 12px;font-size:14px;display:flex;overflow:hidden}.virtualList-cell_H0zBv[data-fit-key]{white-space:nowrap}.virtualList-loading-full_wzZNM{justify-content:center;align-items:center;height:100%;display:flex}.virtualList-loading-indicator_EJced{justify-content:center;align-items:center;padding:8px 0;display:flex}.virtualList-spinner_apClW{width:32px;height:32px}.wizard_uRBAN{width:100%;height:100%;padding:1px;transition:all .2s;position:relative;overflow:hidden}.wizard-content_lcl4C{height:fit-content;position:absolute}.wizard-content-outOfFrame_Eks4Y *{-webkit-user-select:none;user-select:none;pointer-events:none;visibility:hidden;display:none}.wizard-content-container_yxbCJ{transition:all .6s;display:flex;position:relative}
|
|
2
|
+
.accordion_YZt8B{color:var(--text-color);margin:-1px;transition:margin .2s}.accordion-title_CGYKY{width:100%}.accordion-active_mocpj{margin:10px 0}.accordion-header_OEjXM{cursor:pointer;background:var(--background);border-radius:var(--default-border-radius);border:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_6KvnM{border:1px solid var(--primary-color);background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_2o-mY{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);border:1px solid var(--border-color);border-top:none;border-bottom:none;transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_JI9nJ{padding:16px}.accordion-body-active_sb2-U{border:1px solid var(--primary-color);border-top:none}.accordion-icon_kLqp-{width:16px;height:16px;color:var(--border-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_lJwG8{transform:rotate(180deg)}.accordion_X64Nz{margin:-1px;transition:margin .2s}.accordion-title_2q-FF{width:100%}.accordion-active_72VwY{border:2px solid var(--primary-color);border-radius:var(--default-border-radius);margin:10px 0}.accordion-header_XuGF6{cursor:pointer;background:var(--background);border-radius:var(--default-border-radius);justify-content:space-between;align-items:center;padding:16px;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_xf8Ch{background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_0Jsco{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);border-top:none;border-bottom:none;transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_0UBPf{padding:16px}.accordion-body-active_XFSy1{border-top:none}.accordion-icon_W1mz5{width:16px;height:16px;color:var(--primary-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_LI98q{transform:rotate(180deg)}.accordion_wkZJf{margin:-1px;transition:margin .2s}.accordion-title_-qwNy{width:100%}.accordion-active_t9-a2{margin:10px 0}.accordion-header_-oST6{cursor:pointer;border-radius:var(--default-border-radius);justify-content:space-between;align-items:center;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_UvKis{border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_ZagrJ{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_HE7PL{padding:0}.accordion-icon_kHxym{width:16px;height:16px;color:var(--primary-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_-L8BH{transform:rotate(180deg)}.actionButtons_7GybR{gap:var(--spacing-m);display:flex}@media (--mq-mobile){.actionButtons_7GybR{flex-direction:column}}.actionButtons-margin_-XoFP{margin-top:var(--spacing-l)}.button_wYLPJ{appearance:none;box-sizing:border-box;color:var(--text-color);font-size:16px;font-family:var(--default-font);border-radius:var(--default-border-radius);cursor:pointer;background:0 0;border:none;padding:0;position:relative;overflow:hidden}.button-notAllowed_xGT-E{cursor:not-allowed;filter:opacity(.8)}.button-loading-icon_1pTTz{width:100%!important;height:100%!important}.button-content_Q-0-4{white-space:break-spaces;position:relative}.button-content_Q-0-4 div{text-overflow:ellipsis;overflow:hidden}.button-loading_TY6y7{visibility:hidden}.button-loading-container_pMSta{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.button-withIcon_IXEKA{justify-content:center;align-items:center;gap:var(--spacing-s);display:flex}.button-style-primary_Ra5i-{background:var(--primary-color);color:var(--text-on-primary)}.button-style-primary_Ra5i- .button-loading-icon_1pTTz{stroke:var(--text-on-primary)}.button-style-delete_jpTCf{background:var(--error-color);color:var(--text-on-delete)}.button-style-delete_jpTCf .button-loading-icon_1pTTz{stroke:var(--text-on-delete)}.button-background_9Vfo5{padding:8px 12px;display:block}.button-size-default_N4HG9{font-size:16px}.button-size-small_mn6jE{font-size:12px}.button-size-small-background_KILXc{padding:0;display:block}.button-size-medium_gNVDM{font-size:16px}.button-size-large_xSIcS{font-size:20px}.spinner-loading_qbxX-{width:70px;height:70px}.spinner-loading_qbxX- circle{stroke-dasharray:283;stroke-dashoffset:281px;stroke-linecap:round;transform-origin:50%;animation:2s cubic-bezier(.89,.01,.12,1) infinite animate-spinner_6HoVF,3s linear infinite spin_axdh6}@keyframes animate-spinner_6HoVF{0%{stroke-dashoffset:281px}50%{stroke-dashoffset:0}to{stroke-dashoffset:-281px}}@keyframes spin_axdh6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ripple_TsvyF{aspect-ratio:1;width:100%;animation:ripple_TsvyF var(--ripple-animation-length) linear forwards;background:#fff3;border-radius:1000px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(0)}.ripple-container_QzHdC{border-radius:inherit;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}@keyframes ripple_TsvyF{to{opacity:0;transform:translate(-50%,-50%)scale(4)}}.actionIcon_ganSq{cursor:pointer;padding:4px}.actionIcon_ganSq:hover{filter:brightness(.8)}.card_w-6Ki{border-radius:var(--default-border-radius);color:var(--text-color);box-sizing:border-box;border:1px solid #0000;overflow:hidden}.card-padding_X2-q-{padding:16px}.card-gaps_jhYkx{gap:var(--spacing-s);flex-direction:column;display:flex}.card-style-elevated_exvMB{background:var(--background-accent-light);box-shadow:var(--card-shadow)}.card-style-outlined_PxZZA{border-color:var(--border-color);background:0 0}.card-style-filled_2nhAY{background:var(--background-accent)}.card-interactable_az2lE{cursor:pointer}.card-hover_fdS-X{transition:transform .15s,box-shadow .15s,filter .3s}.card-hover_fdS-X:hover{background:var(--background-accent);transform:translateY(-2px)}.cardHeader_HfIlm{align-items:center;gap:16px;display:flex}.cardHeader-thumbnail_rFw-N{background:#00000014 50%/cover;border-radius:40px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.cardHeader-actions_awD46{gap:var(--spacing-s);flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;align-items:center;display:flex}.cardHeader-titles_CAUU3{flex-flow:column;flex:1;gap:4px;display:flex;overflow:hidden}.cardHeader-titles-main_Z834V{text-overflow:ellipsis;flex-shrink:100000;min-width:3ch;font-size:18px;font-weight:600;overflow:hidden}.cardHeader-titles-main-container_1j-od{align-items:center;gap:var(--spacing-m);justify-content:space-between;display:flex}.cardHeader-titles-sub_2X08b{text-overflow:ellipsis;font-weight:300;overflow:hidden}.cardMedia_GZJQF{width:calc(100% + 32px);margin:0 -16px}.cardActions_uYu-0{flex-wrap:wrap;gap:8px;display:flex}.checkbox_VO3c2{-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;column-gap:10px;width:fit-content;margin:-1px;display:flex}.checkbox-icon_7O0Hm{color:#a3a9b9;background-color:var(--light-background-color);border-radius:6px;justify-content:center;align-items:center;width:fit-content;height:fit-content;display:flex}.checkbox-loading_4t2-w{background:0 0}.checkbox-loading-spinner_XzXt4{width:100%;height:100%}.checkbox-pointer_XnO8e{cursor:pointer}.checkbox_VO3c2:focus-visible{border:1px solid var(--primary-color);border-radius:6px;outline:none}.checkbox-disabled_ML2rR{filter:brightness(.8);cursor:not-allowed}.checkbox-checkmark_Xclv9{border:1.8px solid var(--text-color);border-radius:var(--default-border-radius);position:relative}.checkbox-checkmark_Xclv9 svg{stroke:var(--text-on-primary);stroke-dasharray:5;stroke-dashoffset:5px;background:var(--primary-color);box-sizing:content-box;border-radius:var(--default-border-radius);padding:2px;transition:transform .1s,stroke-dashoffset .4s .2s;transform:scale(0)}.checkbox-checkmark-checked_mD4FI svg{stroke-dashoffset:0;transform:scale(1)translate(-3px,-3px)}.chip_rCTMl{box-sizing:border-box;background:#00000014;border-radius:99999px;width:fit-content;max-width:100%;position:relative}.chip-clickable_WTVjG{cursor:pointer}.chip-style-default_ppCDx{color:var(--text-color);background:#00000014}.chip-style-primary_oyE85{background:var(--primary-color);color:var(--text-on-primary)}.chip-style-info_GNJrm{background:var(--info-lighter);color:var(--info-color)}.chip-style-warn_Jx3LU{background:var(--warn-lighter);color:var(--warn-color)}.chip-style-error_-Npvg{background:var(--error-lighter);color:var(--error-color)}.chip-inner_mfo-w{align-items:center;gap:8px;padding:4px 8px;display:flex}.chip-inner_mfo-w>*{white-space:nowrap}.chip-text_d1juf{text-overflow:ellipsis;overflow:hidden}.chip-thumbnail_-A7eU{background:#00000014 0 0/cover;border-radius:18px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;overflow:hidden}.chip-container_oNNmF{flex-wrap:wrap;gap:8px;display:flex}.chip-container-inline_11QHw{flex-wrap:nowrap;overflow:auto}.floatingMenu_E1XCy{position:relative}.floatingMenu-content_AmxkA{cursor:pointer}.floatingMenu-container_w7k-Y{background:var(--background-modal);border-radius:calc(var(--default-border-radius) + 4px);margin-top:10px;padding:8px;position:absolute;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.floatingMenu-container-align-left_InKnZ{left:0}.floatingMenu-container-align-right_a9OoS{right:0}.floatingMenu-container-align-center_-8bGT{left:50%;transform:translate(-50%)}.floatingMenu-container-flag_VdKHr{background:var(--background-modal);width:10px;height:10px;margin-top:5px;position:absolute;transform:rotate(45deg);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.floatingMenu-container-flag-align-right_vxrRN{right:8px}.floatingMenu-container-flag-align-left_a2Vv-{left:8px}.floatingMenu-container-flag-align-center_SmaaY{left:50%;transform:translate(-50%)rotate(45deg)}.floatingMenu-anim_5KB-f{opacity:.7;z-index:2;animation:.1s forwards showMenu_AprCh;position:fixed;transform:scale(.7)}@keyframes showMenu_AprCh{to{opacity:1;transform:scale(1)}}.tooltipBubble_uyev0{z-index:10;color:#fff;pointer-events:none;background-color:#454953;border-radius:3px;width:max-content;max-width:200px;padding:6px 9px;font-size:12px;position:absolute;bottom:calc(100% + 6px);left:0}.tooltipBubble_uyev0:after{content:"";border:5px solid #0000;border-top-color:#454953;position:absolute;top:100%;left:12px}.tooltipDetails_R7N16{align-items:center;display:inline-flex;position:relative}.tooltipDetails-icon_rsjns{color:#fff;cursor:default;-webkit-user-select:none;user-select:none;background-color:#454953;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-flex}.tooltipError_gUBut{background-color:var(--error-lighter);width:max-content;color:var(--red);z-index:1;border-radius:3px;padding:6px 9px;font-size:10px;position:absolute;top:-33px;right:0}.tooltipError_gUBut:after{content:"";border-style:solid;border-width:5px;border-color:var(--error-border-color) transparent transparent transparent;margin-left:-5px;position:absolute;top:100%;left:90%}.required-mark_xGJdX{color:var(--error-font-color);padding:0 0 0 4px}.isRequired_Jkn3h{color:var(--message-error-color)}.input_VKNCE{--input-notch-height:1.75em;width:100%;position:relative}.input-placeholder_IZH-l{opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;transition:all .2s;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.input-placeholder-shown_mm35e{animation:.2s .3s forwards fadeIn_kmX3i}.input-placeholder-multiline_tLHAl{top:14px;transform:translateY(0)}.input-matLabel_-05ey{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:1em;transition:all .3s;position:absolute;top:50%;left:7px;right:0;transform:translateY(-50%)}.input-matLabel-floating_1P2YE{font-size:.8em;inset:0 0 auto 14px;transform:translateY(-50%)}.input-matLabel-multiline_miIZJ{top:14px;transform:translateY(0)}.input-fieldset_XCibg{box-sizing:border-box;border-radius:var(--default-border-radius);width:100%;min-width:0;inset:calc(var(--input-notch-height) / -2) 0 0 0;border-style:solid;border-width:1px;border-color:var(--border-color);pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;padding:0 0 0 8px;font-size:.8em;position:absolute}.input-fieldset-legend_X23zp{white-space:nowrap;max-width:0;padding:0;transition:max-width .2s;display:block}.input-fieldset-legend-active_t-9hu{max-width:300px}.input-fieldset-legend_X23zp span{line-height:var(--input-notch-height);opacity:0;padding:0 5px}.input-fieldset-legend_X23zp span:empty{padding:.000001px}.input-container_M1RoG{border-radius:var(--default-border-radius);background-color:var(--input-background);cursor:text;align-items:center;height:100%;transition:border-color;display:flex}.input-container-multiline_eLw7h{align-items:flex-start;padding-top:10px;overflow:hidden}.input-container-border_l131I{outline:1px solid var(--border-color);background-color:var(--input-background);outline:none;transition:border-color}.input-container-border-focused_ct6oY{outline-color:var(--primary-color);border-color:var(--primary-color)}.input-container-border-searchFocused_lq088{outline-color:var(--search-input-color);border-color:var(--search-input-color);outline-width:2px}.input-container-border-invalid_Wdbq2,.input-container-border-invalid_Wdbq2:hover,.input-container-border-error_gzfPG{outline-color:var(--error-border-color);border-color:var(--error-border-color)}.input-label_w1hMR{color:var(--text-color);height:100%;display:flex}.input-label-column_qBFPC{flex-direction:column}.input-label-text_-J5qQ{white-space:nowrap;color:color(var(--border-color) lightness(40%));white-space:nowrap;background-color:#0000;align-items:center;margin-bottom:6px;margin-right:5px;font-size:12px;display:flex;position:absolute;top:-15px}.input-upper-right-label_I-WG3{min-height:12px;color:color(var(--border-color) lightness(40%));font-size:12px;position:absolute;right:8px;transform:translateY(calc(-100% - 1.5px))}.input-field_pmDvZ{appearance:none;font-family:inherit;font-size:inherit;box-sizing:border-box;resize:none;border-radius:var(--default-border-radius);width:100%;color:var(--text-color);background:0 0;border:none;line-height:1.25;overflow:hidden}.input-field_pmDvZ:focus{outline:none}.input-field_pmDvZ::placeholder{color:var(--text-light)}.input-field-withIcon_VpfmK{padding-right:37px!important}.input-field-withIcon-left_Io7lU{padding-left:37px!important;padding-right:9px!important}.input-field-suffix_NZpXp{padding-right:9px}.input-field-date_UHJEZ{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:6px 9px}.input-field-date_UHJEZ svg{color:#fff}.input-field-default_TKipA{padding:8px 7.5px 6px}.input-field_pmDvZ[disabled]{background-color:var(--disabled-input-color);color:var(--disabled-font-color);-webkit-text-fill-color:var(--disabled-font-color);opacity:1}.input-field_pmDvZ[disabled]::placeholder{color:var(--disabled-font-color);-webkit-text-fill-color:var(--disabled-font-color)}.input-field-uppercase_UV6f1{text-transform:uppercase}.input-field-multiline_al3V1{resize:vertical;min-height:30px;padding-top:4px;overflow-y:auto}.input-field-multiline-autoResize_nK33P{resize:none;overflow:hidden}.input-field-icon_YyJIr{appearance:none;box-sizing:border-box;cursor:pointer;color:var(--input-icon-color);-webkit-user-select:none;user-select:none;background-color:#0000;border:none;outline:none;position:absolute;top:50%;right:10px;transform:translateY(-50%);width:19px!important;height:19px!important}.input-field-icon-left_m2XB1{left:10px}.input-field-icon-notClickable_7j24I{pointer-events:none}.input-error_LIG23{height:1em;color:var(--error-font-color);padding-top:3px;font-size:11px}@keyframes fadeIn_kmX3i{0%{opacity:0}to{opacity:.5}}.colorPicker_Ts3an{align-items:center;gap:8px;display:flex}.swatch_NW78g{border-radius:var(--default-border-radius);cursor:pointer;background-color:#fff;background-image:linear-gradient(45deg,#bbb 25%,#0000 25%),linear-gradient(-45deg,#bbb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#bbb 75%),linear-gradient(-45deg,#0000 75%,#bbb 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;flex-shrink:0;width:32px;height:32px;position:relative;box-shadow:0 0 0 1px #00000026}.swatch_NW78g:hover .swatchHex_j7-i5{opacity:1}.swatchFill_oNtHf{border-radius:inherit;position:absolute;inset:0}.swatchHex_j7-i5{color:#fff;border-radius:inherit;opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;background:#0000008c;justify-content:center;align-items:center;font-family:monospace;font-size:8px;transition:opacity .15s;display:flex;position:absolute;inset:0}.panel_WXEvY{flex-direction:column;gap:10px;width:224px;padding:12px;display:flex}.gradientArea_qEZim{cursor:crosshair;background:linear-gradient(to right, white, hsl(calc(var(--hue) * 1deg), 100%, 50%));border-radius:4px;width:200px;height:160px;position:relative;overflow:hidden}.gradientOverlay_ZQybe{background:linear-gradient(#0000,#000);position:absolute;inset:0}.cursor_m67Lm{pointer-events:none;z-index:1;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 3px #00000080}.hueSlider_k3Knb{appearance:none;border-radius:var(--default-border-radius);cursor:pointer;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);outline:none;width:100%;height:10px}.hueSlider_k3Knb::-webkit-slider-thumb{appearance:none;border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.hueSlider_k3Knb::-moz-range-thumb{border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.alphaSlider_OT2sD{appearance:none;border-radius:var(--default-border-radius);cursor:pointer;background-image:linear-gradient(to right, transparent, var(--alpha-color)), linear-gradient(45deg, #bbb 25%, transparent 25%), linear-gradient(-45deg, #bbb 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #bbb 75%), linear-gradient(-45deg, transparent 75%, #bbb 75%);background-color:#fff;background-position:0 0,0 0,0 4px,4px -4px,-4px 0;background-size:100% 100%,8px 8px,8px 8px,8px 8px,8px 8px;outline:none;width:100%;height:10px}.alphaSlider_OT2sD::-webkit-slider-thumb{appearance:none;border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.alphaSlider_OT2sD::-moz-range-thumb{border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.hexInput_zQw4s{border-radius:var(--default-border-radius);border:1px solid var(--border-color);background:var(--input-background);width:100%;color:var(--text-color);box-sizing:border-box;outline:none;padding:5px 8px;font-family:monospace;font-size:13px}.hexInput_zQw4s:focus{border-color:var(--primary-color)}.modal_L-Fkd{border-radius:var(--default-border-radius);background:var(--background-modal);color:var(--text-color);font-family:var(--default-font);box-sizing:border-box;transform-origin:bottom;max-width:95%;max-height:95%;padding:16px;animation:.2s slideIn_RVIHR,.3s forwards fadeIn_XSuIE;position:relative;overflow:auto}@media not (--breakpoint-desktop){.modal_L-Fkd{max-width:100%;max-height:100%}}.modal-container_qwKIm{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}@media (--breakpoint-tablet){.modal-container_qwKIm{z-index:1}}.modal-header_DhsRr{justify-content:space-between;gap:8px;margin-bottom:16px;display:flex}.modal-header_DhsRr div{text-overflow:ellipsis;overflow:hidden}.modal-header_DhsRr svg{cursor:pointer}.modal-wrapper_r5wzq{opacity:0;background:#00000052;width:100%;height:100%;transition:all .3s ease-in-out;position:fixed;top:0;left:0}.modal-wrapper-shown_F0BgK{opacity:1}@keyframes slideIn_RVIHR{0%{transform:scale(0)}to{transform:scale(.99)}}@keyframes fadeIn_XSuIE{0%{opacity:0}to{opacity:1}}.datePickerMonth-item_30WWy{aspect-ratio:1;justify-content:center;align-items:center;margin:1px 0;display:flex}.datePickerMonth-content_9bbSs{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;display:grid}.datePickerMonth-day_SaASA{cursor:pointer}.datePickerMonth-day-today_RXOIr{background-color:var(--background-accent-light);border-radius:var(--default-border-radius)}.datePickerMonth-day-selected_yMF-v{background-color:var(--primary-color);color:var(--text-on-primary);border-radius:0}.datePickerMonth-day-selected-start_ftVeI{border-top-left-radius:var(--default-border-radius);border-bottom-left-radius:var(--default-border-radius)}.datePickerMonth-day-selected-end_MZ2qy{border-top-right-radius:var(--default-border-radius);border-bottom-right-radius:var(--default-border-radius)}.datePickerMonth-day-disabled_4t0Ci{filter:brightness(.5);cursor:not-allowed}.datePickerMonth-placeholder_gy1Yx{-webkit-user-select:none;user-select:none;pointer-events:none}.infiniteBlock_dFv-h{max-height:none}.spinner-wrapper_hsgWz{justify-content:center;align-items:center;padding:4px 0;display:flex}.spinner_VjUS2{width:32px;height:32px}.required-mark_fy7Fm{color:var(--error-font-color);padding:0 0 0 4px}.dropdown_XTshY{position:relative}.dropdown-label_TIpeK{display:flex}.dropdown-label-column_cMCBc{flex-direction:column}.dropdown-label-text_u-UKq{white-space:nowrap;color:var(--text-color);align-items:center;margin-bottom:5px;margin-right:5px;font-size:12px;display:flex;position:absolute;top:-15px}.dropdown-input_WiPcb{cursor:pointer;background-color:var(--input-background);border-radius:var(--default-border-radius);position:relative}.dropdown-input-plain_Ap12N{background:0 0}.dropdown-input_WiPcb:focus-within{outline:none}.dropdown-input-button_ziKKi{font-family:inherit;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-align:left;width:100%;color:var(--text-color);background-color:#0000;border:none;line-height:20px;overflow:hidden;padding:7.5px 20% 7.5px 7.5px!important}.dropdown-input-button-disabled_JEaO-{background-color:var(--disabled-input-color);color:var(--disabled-font-color);border-radius:var(--default-border-radius)}.dropdown-input-button_ziKKi:focus{outline:none}.dropdown-input-button-icon_jl7EY{float:right;right:var(--spacing-s);color:var(--text-color);cursor:pointer;background-color:#0000;border:none;outline:none;position:absolute;top:50%;transform:translateY(-50%)}.dropdown-input-button-icon-arrow_SFJbx{pointer-events:none;transition:transform .25s}.dropdown-input-button-icon-arrow-open_8yQbZ{transform:rotate(180deg)}.dropdown-input-list_JnMbA{border:1px solid var(--border-color);background-color:var(--background);border-radius:var(--default-border-radius);transform-origin:100% 0;z-index:1;flex-direction:column;width:calc(100% - 1px);max-height:160px;list-style-type:none;transition:transform .25s;display:flex;position:absolute;left:-1px;overflow:hidden auto;transform:scaleY(1)}.dropdown-input-list-on-top_RpQ9v{bottom:56px}.dropdown-input-list-wider_0rbTN{width:max-content!important}.dropdown-input-list-item_EAy5L{cursor:pointer;background-color:var(--background);text-align:left;border:none;border-radius:0;padding:6px;transition:all .3s}.dropdown-input-list-item-active_0dhia{background-color:var(--background-accent)}.dropdown-input-list-item-selected_hShJf{font-weight:500}.dropdown-input-list-item_EAy5L:focus{outline:none}.dropdown-input-list-item_EAy5L:hover{background-color:var(--background-accent)}.dropdown-input-list-item-disabled_3r-Yn{background-color:var(--disabled-input-color);color:var(--disabled-font-color);cursor:not-allowed}.dropdown-input-list-item-disabled_3r-Yn:hover{background-color:var(--disabled-input-color)}.dropdown-input-list-hidden_huNc5{transform:scaleY(0)}.dropdown-fieldset_wQwTf{box-sizing:border-box;border-radius:var(--default-border-radius);border-style:solid;border-width:1px;border-color:var(--border-color);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;margin:0;padding-left:8px;position:absolute;inset:-10px 0 0}.dropdown-fieldset-legend_a1M4L{white-space:nowrap;max-width:0;padding:0;transition:max-width .2s;display:block}.dropdown-fieldset-legend-active_bnR5F{max-width:300px}.dropdown-fieldset-legend_a1M4L span{opacity:0;padding:5px;font-size:13px}.dropdown-placeholder_QYMPZ{opacity:0;transition:all .2s;position:absolute;top:8px;left:7px}.dropdown-placeholder-shown_-IkNH{animation:.2s .3s forwards fadeIn_oMJZj}.dropdown-matLabel_iHQnt{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:16px;transition:all .3s;position:absolute;inset:9px 0 0 7px}.dropdown-matLabel-floating_zY51S{font-size:13px;inset:-9px 0 0 14px}@keyframes fadeIn_oMJZj{0%{opacity:0}to{opacity:.5}}.dropdown-border_9Oaex{outline:1px solid var(--border-color);background-color:var(--input-background);outline:none;transition:border-color}.dropdown-border-focused_Te-ER{outline-color:var(--primary-color);border-color:var(--primary-color)}.dropdown-border-searchFocused_AH67N{outline-color:var(--search-input-color);border-color:var(--search-input-color);outline-width:2px}.dropdown-border-plain_Bbh-3{border-color:#0000;outline-color:#0000}.dropdown-border-invalid_ySVaS,.dropdown-border-invalid_ySVaS:hover,.dropdown-border-error_-JB33{outline-color:var(--error-border-color);border-color:var(--error-border-color)}.datePicker_ZohTp{flex:1;width:100%;min-width:105px;position:relative}.datePicker-header_YmSWE{justify-content:space-between;align-items:center;margin:8px 0;display:flex}.datePicker-header-monthAndYear_b5ntO{display:flex}.datePicker-header-monthAndYear-container_Hcgks{gap:16px;display:flex;position:relative}.datePicker-header-month_jqFHl{width:120px}.datePicker-header-year_4egHF{width:75px}.datePicker-month_7iosT{min-width:185px}.drawer_5SRoc{height:100%;width:var(--drawer-closed-width,0px);background:var(--background-accent);transition:width .3s;overflow-x:hidden}.drawer-open_-YQ8n{width:var(--drawer-opened-width,var(--drawer-content-width,max-content))}.drawer-content_sHIAP{pointer-events:all;width:max-content;height:100%}.drawer-content-inner_f-IDz{height:100%}.dropZone_9iJZy{box-sizing:border-box;outline:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.dropZone-clickable_pcRhf{cursor:pointer}.dropZone-disabled_YWcMp{opacity:.5;cursor:not-allowed;pointer-events:none}.dropZone-default_5dSsT{padding:var(--spacing-l,24px);border:1px dashed var(--primary-lighter);border-radius:var(--default-border-radius);color:var(--text-dark);background:0 0;transition:border-color .2s,background .2s,color .2s}.dropZone-default_5dSsT:hover{border-color:var(--primary-color);background:var(--background-accent-light)}.dropZone-dragging_nGSL3{border-color:var(--primary-color)}.dropZone-active_Rov1w{border-width:2px;border-color:var(--primary-color);background:var(--background-accent-light);color:var(--text-color)}.dropZone-error_hlnmB{border-color:var(--error-color);color:var(--error-color)}.dropZone-error_hlnmB:hover{border-color:var(--error-color);background:var(--error-lighter)}.dropZone-content_1QDk7{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.dropZone-content-dragging_ettwl{pointer-events:none}.dropZone-fileList_si3X1{width:100%;margin-top:var(--spacing-s,8px);pointer-events:none}.dropZone-fileItem_fES6y{font-size:var(--text-small-font-size);color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropZone-input_4DGty{display:none}.emptyState_KXOIx{justify-content:center;align-items:center;gap:var(--spacing-m);flex-flow:column;display:flex}.fab_hyAAa{--icon-size:18px;border-radius:50%;align-items:stretch;width:56px;height:56px;padding:0;display:flex}.fab_hyAAa>div{border-radius:50%;justify-content:center;align-items:center;width:100%;display:flex}.fab-content_IBiXm{font-size:var(--icon-size);width:var(--icon-size);height:var(--icon-size)}.fab-content_IBiXm svg{width:var(--icon-size);height:var(--icon-size)}.fab-content-container_FQD1x{justify-content:center;align-items:center;display:flex}.fab-size-mini_KP9BD{background:var(--background-accent-light);width:40px;height:40px}.fab_YI34X{opacity:0;border-radius:50%;animation:.3s forwards appear_DL0wm;transform:scale(0);box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.fab-container_8uoYo{position:fixed;bottom:16px;right:16px}@media (--breakpoint-tablet){.fab-container_8uoYo{z-index:2}}.fab-menu_O1WO9{pointer-events:none;-webkit-user-select:none;user-select:none;flex-flow:column-reverse;align-items:center;gap:16px;width:100%;display:flex;position:absolute;top:0;transform:translateY(calc(-100% - 16px))}.fab-menu-backdrop_m9T6a{opacity:0;background:#000;width:0%;height:0%;transition:opacity .4s;position:fixed;top:0;left:0}.fab-menu-backdrop-open_35mlH{opacity:.5;width:100%;height:100%}.fab-menu-entry_rIgXr{cursor:pointer;opacity:0;pointer-events:all;transition:all .2s;position:relative;transform:scale(0)}.fab-menu-entry_rIgXr:nth-child(2){transition-delay:50ms}.fab-menu-entry_rIgXr:nth-child(3){transition-delay:.1s}.fab-menu-entry_rIgXr:nth-child(4){transition-delay:.15s}.fab-menu-entry_rIgXr:nth-child(5){transition-delay:.2s}.fab-menu-entry_rIgXr:nth-child(6){transition-delay:.25s}.fab-menu-entry_rIgXr:nth-child(7){transition-delay:.3s}.fab-menu-entry-shown_066HC{opacity:1;transform:scale(1)}.fab-menu-entry-label_pXdDf{background:var(--background-accent-light);border-radius:var(--default-border-radius);padding:4px 8px}.fab-menu-entry-label-container_oeKI5{align-items:center;width:max-content;height:100%;margin-left:-8px;display:flex;position:absolute;transform:translate(-100%)}.fab-icon_5Fp-6{justify-content:center;align-items:center;width:100%;height:100%;transition:all .4s;display:flex;position:relative}.fab-icon-menuOpen_Jp8Qb{transform:rotate(225deg)}.fab-icon-content_o0VDx{opacity:0;width:18px;height:18px;transition:opacity .3s;position:absolute}.fab-icon-content-shown_oY19H{opacity:1}@keyframes appear_DL0wm{to{opacity:1;transform:scale(1)}}.iconPicker_xJJmG{border-radius:var(--default-border-radius);border:1px solid #0000}.iconPicker-label_VEB2X{font-size:var(--text-small-font-size);margin-bottom:8px}.iconPicker-item_iJWDN{background:var(--background-accent);cursor:pointer;width:24px;height:24px;stroke:var(--text-color);border-radius:200px;justify-content:center;align-items:center;padding:8px;display:flex;position:relative}.iconPicker-item_iJWDN:focus-visible{outline:1px solid var(--primary-color)}.iconPicker-item-container_-1WT5{flex-wrap:wrap;justify-content:space-around;gap:8px 14px;display:flex}.iconPicker-item-selected_GQ-I1{background:var(--primary-color)}.iconPicker-error_23m9v{border-color:red}.inputDropdown_UdYMa{position:relative}.dropdown_-M5-x{border-radius:var(--default-border-radius);background:var(--background-modal);width:fit-content;max-width:240px;box-shadow:var(--card-shadow);box-sizing:border-box;transform-origin:0 0;opacity:0;z-index:2;max-height:200px;transition:all .1s;position:fixed;overflow:auto;transform:scale(.95)}.dropdown-shown_H2rFU{opacity:1;transform:scale(1)}.dropdown-item_JRgbt{z-index:0;cursor:pointer;outline:none;padding:8px}.dropdown-item_JRgbt:hover,.dropdown-item_JRgbt:focus,.dropdown-item-highlighted_1ZENP{background:var(--background-accent)}.dropdown-category_OMT0E{padding:16px 8px 4px}.board_6KRdw{gap:var(--spacing-s);align-items:flex-start;width:100%;display:flex;overflow-x:auto}.column_NrNeF{background:var(--background-accent-light);border-radius:var(--default-border-radius);box-shadow:var(--card-shadow);border:2px solid #0000;flex-direction:column;flex:1 1 0;transition:border-color .15s,background .15s;display:flex}.column-empty_5KYsJ{flex:0 1 0;min-width:140px}.column-over_sO7oD{border-color:var(--primary-lighter);background:var(--background-accent)}.column-header_PLeKG{padding:var(--spacing-m) var(--spacing-l);background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0 0;font-size:var(--header-small-font-size);font-weight:var(--header-font-weight);color:var(--text-color);border-bottom:1px solid var(--border-color)}.column-items_xY5er{padding:var(--spacing-m);gap:var(--spacing-m);flex-direction:column;flex:1;min-height:80px;display:flex}.item_T8CJK{cursor:grab;touch-action:none}.item_T8CJK:active{cursor:grabbing}.item-dragging_iWurw{opacity:.4}.dragOverlay_DSyKz{border-radius:var(--default-border-radius);cursor:grabbing;box-shadow:0 10px 30px #00000040, var(--card-shadow)}.iconLoading_wovj4{-webkit-user-select:none;user-select:none;pointer-events:none;--draw-duration:.8s;--delay:.4s;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.iconLoading_wovj4 svg{stroke-dasharray:14;stroke-dashoffset:14px;aspect-ratio:1;width:200px;animation:calc(var(--draw-duration) * 3) spin-to-oblivion_0tZtm var(--delay) infinite;stroke:var(--primary-color);stroke-linecap:round;transform:rotate(0)}.iconLoading-first_SBwP3{animation:calc(var(--draw-duration) * 3) draw-line_1NiWA var(--delay) infinite}.iconLoading-second_nHrW3{animation:calc(var(--draw-duration) * 3) draw-line-two_HmaHl var(--delay) infinite}@keyframes draw-line_1NiWA{33%{stroke-dashoffset:0}95%{stroke-dashoffset:0}96%{stroke-dashoffset:14px}}@keyframes draw-line-two_HmaHl{33%{stroke-dashoffset:14px}66%{stroke-dashoffset:0}95%{stroke-dashoffset:0}96%{stroke-dashoffset:14px}}@keyframes spin-to-oblivion_0tZtm{50%{transform:rotate(180deg)}75%{transform:rotate(180deg)scale(0)}to{transform:rotate(180deg)scale(0)}}.arrows_yjRlc{border-left:1px solid var(--border-color);flex-direction:column;align-self:stretch;margin:4px 0;display:flex}.arrowBtn_DbJoa{cursor:pointer;color:var(--text-dark);background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:0 6px;font-size:.55rem;line-height:1;transition:color .15s,background .15s;display:flex}.arrowBtn_DbJoa:hover{color:var(--primary-color);background:var(--background-accent-light)}.arrowBtn_DbJoa:active{color:var(--primary-lighter)}.optionPicker_Yx82s{gap:var(--spacing-m);border-radius:var(--default-border-radius);border:1px solid var(--border-color);justify-content:space-around;width:100%;display:flex;position:relative;overflow:hidden}.optionPicker-chip_ywtvr{background:var(--primary-color);border-radius:var(--default-border-radius);height:100%;transition:left .25s ease-in-out,width .25s ease-in-out;position:absolute;top:0;left:0}.optionPicker-option_uq0vK{text-align:center;cursor:pointer;width:100%;height:100%;padding:var(--spacing-m);text-overflow:ellipsis;border-radius:var(--default-border-radius);transition:color .25s;display:block;position:relative;overflow:hidden}.optionPicker-option_uq0vK:focus{outline:var(--primary-color) solid 2px;outline-offset:-2px}.optionPicker-option-active_yUECW{color:var(--text-on-primary)}.overscroll_Ij750{-ms-overflow-style:none;scrollbar-width:none;height:100vh;overflow:auto}.overscroll_Ij750::-webkit-scrollbar{display:none}.overscroll-header_S6vYc{width:100%;position:absolute;bottom:0}.overscroll-header-centered_8VlsP{justify-content:center;align-items:center;display:flex}.overscroll-header-container_iignp{position:relative}.progressBar_LO0sX{border-radius:var(--default-border-radius);background-color:#e0e0e0;align-items:center;min-width:100px;min-height:10px;display:flex;overflow:hidden}.progressBar-fill_rt32j{background-color:var(--primary-color);align-items:center;width:0;height:-webkit-fill-available;height:-moz-available;height:stretch;transition:width .3s;display:flex;overflow:hidden}.progressBar-fill-end_71wL3{border-radius:0 var(--default-border-radius) var(--default-border-radius) 0}.progressBar-label_jWud2{color:#fff;text-overflow:ellipsis;white-space:nowrap;padding:0 5px;font-size:12px;overflow:hidden}.progressBar-label-custom_sSump{mix-blend-mode:difference}.roomDrawer_SJj4-{border:1px solid var(--border-color);border-radius:var(--default-border-radius);background:var(--background);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;overflow:hidden}.roomDrawer-toolbar_55H5p{background:var(--background-accent);border-bottom:1px solid var(--border-color);align-items:center;gap:4px;padding:6px 8px;display:flex}.roomDrawer-toolbar-sep_nJeh8{flex:1}.roomDrawer-toolbar-btn_2qinY{border-radius:var(--default-border-radius);width:32px;height:32px;color:var(--text-dark);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:13px;transition:background .12s,color .12s;display:flex}.roomDrawer-toolbar-btn_2qinY:hover:not(:disabled){background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-toolbar-btn_2qinY:disabled{opacity:.35;cursor:not-allowed}.roomDrawer-toolbar-btn-active_4XX25{background:var(--primary-accent);color:var(--primary-color);border-color:var(--primary-lighter)}.roomDrawer-toolbar-zoomLabel_HMkb5{border-radius:var(--default-border-radius);min-width:40px;height:32px;color:var(--text-dark);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;padding:0 4px;font-size:11px}.roomDrawer-toolbar-zoomLabel_HMkb5:hover{background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-canvas_Y18uD{cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;display:block}.roomDrawer-canvas-select_M43-x{cursor:default}.roomDrawer-info_qwC6L{background:var(--background-accent);border-top:1px solid var(--border-color);align-items:center;gap:8px;padding:6px 8px;display:flex}.roomDrawer-info-label_8I9hB{color:var(--text-dark);white-space:nowrap;font-size:12px}.roomDrawer-info-input_YAl-K{border:1px solid var(--border-color);border-radius:var(--default-border-radius);background:var(--background);max-width:220px;height:28px;color:var(--text-color);flex:1;padding:0 8px;font-size:13px}.roomDrawer-info-input_YAl-K:focus{border-color:var(--primary-color);outline:none}.roomDrawer-info-spacer_cOj96{flex:1}.roomDrawer-info-delete_TSBUN{border:1px solid var(--border-color);border-radius:var(--default-border-radius);width:28px;height:28px;color:var(--text-dark);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:12px;transition:background .12s,color .12s,border-color .12s;display:flex}.roomDrawer-info-delete_TSBUN:hover{color:#fff;background:#e53935;border-color:#e53935}.roomDrawer-hint_3WTFa{color:var(--text-dark);background:var(--background-accent);border-top:1px solid var(--border-color);padding:4px 8px;font-size:11px}.roomDrawer-info-doorsBtn_oK5Uf{border:1px solid var(--border-color);border-radius:var(--default-border-radius);height:28px;color:var(--text-dark);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:0 8px;font-size:12px;transition:background .12s,color .12s;display:flex}.roomDrawer-info-doorsBtn_oK5Uf:hover{background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-doorPanel_e-Tl9{background:var(--background-accent);border-top:1px solid var(--border-color);flex-direction:column;display:flex}.roomDrawer-doorPanel-header_--iXz{border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:6px 8px;display:flex}.roomDrawer-doorPanel-icon_KxaVY{color:var(--text-dark);font-size:12px}.roomDrawer-doorPanel-title_8nOZS{color:var(--text-dark);flex:1;font-size:12px}.roomDrawer-doorPanel-done_ejQkx{border:1px solid var(--border-color);border-radius:var(--default-border-radius);height:26px;color:var(--text-dark);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:0 10px;font-size:12px;transition:background .12s,color .12s;display:flex}.roomDrawer-doorPanel-done_ejQkx:hover{background:var(--primary-accent);color:var(--primary-color);border-color:var(--primary-lighter)}.roomDrawer-doorPanel-list_rDou7{flex-direction:column;gap:4px;max-height:130px;padding:6px 8px;display:flex;overflow-y:auto}.roomDrawer-doorPanel-item_U-3-B{align-items:center;gap:6px;display:flex}.roomDrawer-doorPanel-label_qSYqY{color:var(--text-color);min-width:48px;font-size:12px}.roomDrawer-doorPanel-widthLabel_jXv7D{color:var(--text-dark);font-size:11px}.roomDrawer-doorPanel-empty_LcDw0{color:var(--text-dark);padding:2px 0;font-size:11px;font-style:italic}.roomDrawer-canvas-door_qzCIa{cursor:crosshair}.doorGap_KrIuB{stroke:var(--background);stroke-width:4px;stroke-linecap:butt;pointer-events:none}.doorMarker_-N63z{fill:var(--primary-color);stroke:var(--background);stroke-width:.8px;pointer-events:all;cursor:grab}.doorMarker_-N63z:active{cursor:grabbing}.gridLine_V-rxw{stroke:var(--text-color);stroke-width:.3px;opacity:.12}.roomFill_JnJ0J{fill:var(--primary-accent);fill-opacity:.08;stroke:none}.roomFill-selected_IfIRr{fill-opacity:.22}.roomStroke_S18UH{fill:none;stroke:var(--primary-color);stroke-width:1.5px;stroke-linejoin:round}.roomStroke-selected_fm19u{stroke:var(--primary-lighter);stroke-width:2px}.roomText_6fIeU{fill:var(--text-color);stroke:none;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:7px}.doorPanel_raCv0{stroke:var(--primary-color);stroke-width:1.5px;stroke-linecap:round}.doorPanel-selected_5DG7g{stroke:var(--primary-lighter);stroke-width:2px}.doorSwing_Tbt9D{fill:none;stroke:var(--primary-color);stroke-width:.8px;stroke-dasharray:3 2;pointer-events:none}.doorSwing-selected_fFte5{stroke:var(--primary-lighter)}.preview_seIZY{fill:var(--primary-accent);stroke:var(--primary-color);stroke-width:1px;stroke-dasharray:4 2;pointer-events:none}.polyCloseTarget_snjYx{fill:var(--primary-color);opacity:.5;pointer-events:none}.polyVertex_fw0nX{fill:var(--primary-color);stroke:none;pointer-events:none}.vertexHandle_-z7g5{fill:var(--background);stroke:var(--primary-color);stroke-width:1.5px;cursor:grab;pointer-events:all}.vertexHandle_-z7g5:hover{fill:var(--primary-accent);stroke:var(--primary-lighter)}.roomViewer-containerLoading_BL3M-{opacity:.4;pointer-events:none}.roomViewer-container_YlmB8 svg{stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1}.roomViewer-container_YlmB8 svg path{stroke:var(--primary-color);fill:#0000}.roomViewer-container_YlmB8 svg path[id=background]{stroke:none;fill:#0000;cursor:pointer}.roomViewer-container_YlmB8 svg [id^=room]{cursor:pointer}.roomViewer-container_YlmB8 svg text{fill:var(--text-color);stroke:none;font-size:5px}.roomViewer-active_gG6wf{stroke:#18f810!important;fill:#20f81013!important}.roomViewer-active_gG6wf path{stroke:#18f810!important;fill:none!important}.roomViewer-active_gG6wf path[id=background]{stroke:none!important;fill:#20f81013!important}.roomViewer-selected_CpdMj{stroke:#18f810!important}.roomViewer-selected_CpdMj path{stroke:#18f810!important;fill:none!important}.roomViewer-selected_CpdMj path[id=background]{stroke:none!important;fill:#20f81013!important}.roomViewer-selected_CpdMj text{stroke:none;fill:var(--text-color)}.roomViewer-tint_O9JrM,.roomViewer-tint_O9JrM path{fill:#20f81013!important}.roomViewer-tint_O9JrM text{stroke:none;fill:none}.roomViewer-actions_4cA74{justify-content:center;gap:8px;width:100%;font-size:16px;display:flex}.roomViewer-actions_4cA74 svg{cursor:pointer}.roomViewer-header_XEHCO{margin-bottom:4px}.scrollbarProvider_IMBFu{display:contents}.scrollbarProvider_IMBFu *{scrollbar-width:thin;scrollbar-color:var(--background-accent-light) var(--background)}.scrollbarProvider_IMBFu ::-webkit-scrollbar{width:12px}.scrollbarProvider_IMBFu ::-webkit-scrollbar-track{background:0 0}.scrollbarProvider_IMBFu ::-webkit-scrollbar-thumb{background-color:var(--background-accent-light);border:3px solid var(--background);border-radius:10px}.resultCount_Sn48Q{color:var(--text-dark);margin:6px 0 0;font-size:12px}.stepper_kiS2A{-webkit-user-select:none;user-select:none;align-items:center;margin-bottom:30px;display:flex}.stepper-clickable_Nm6fP{cursor:pointer}.stepper-vertical_2y9rg{flex-flow:column}.stepper-connector_J2FwZ{background-position:0%;background-size:200% 200%;background-image:repeating-linear-gradient(90deg, var(--primary-lighter) 0%, var(--primary-lighter) 50%, var(--primary-color) 50%, var(--primary-color) 100%);width:50px;height:1px;transition:all .6s}.stepper-connector-vertical_vwY38{background-position:0 100%;background-image:repeating-linear-gradient(0deg, var(--primary-lighter) 0%, var(--primary-lighter) 50%, var(--primary-color) 50%, var(--primary-color) 100%);width:3px;height:100px}.stepper-connector-filled_W8UZS{background-position:-100% 0;height:3px}.stepper-entry_KD4JJ{box-sizing:border-box;border:1px solid var(--primary-lighter);width:40px;height:40px;color:var(--primary-lighter);border-radius:var(--default-border-radius);box-shadow:inset 0px 0px 0px var(--primary-color);justify-content:center;align-items:center;transition:all .4s;display:flex;position:relative;transform:none}.stepper-entry-active_V1aRt{border:2px solid var(--primary-color);color:var(--primary-color);transform:scale(1.1)}.stepper-entry-done_M3wb5{box-shadow:inset 0px 0px 0px 30px var(--primary-color);transform:none}.stepper-entry-number_J168Q{stroke-dasharray:5;stroke-dashoffset:5px}.stepper-entry-number-done_-m7sD{animation:.4s .2s forwards showCheckmark_Rd0oW}@keyframes showCheckmark_Rd0oW{0%{stroke-dashoffset:5px}to{stroke-dashoffset:0}}.stepper-entry-label_b94eg{text-align:center;width:140px;position:absolute;top:45px;left:0;transform:translate(-50px)}.stepper-entry-label-vertical_Zm8i4{text-align:left;top:0;left:100px}.sticky_L6zO2{display:block}.sticky-placeholder_aJ3Sb{pointer-events:none}.tabHeader_C-b9d{border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none;align-items:stretch;gap:4px;display:flex;overflow-x:auto}.tabHeader-tab_Wbyt-{cursor:pointer;color:var(--text-dark);border-radius:var(--default-border-radius) var(--default-border-radius) 0 0;white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:10px;padding:12px 16px;transition:color .2s,background .2s,border-color .2s;display:flex}.tabHeader-tab_Wbyt-:hover{background:var(--background-accent-light);color:var(--text-color)}.tabHeader-tab-active_IExSo{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tabHeader-tab-active_IExSo:hover{color:var(--primary-color)}.tabHeader-tab-disabled_yWJxS{opacity:.5;pointer-events:none;cursor:default}.tabHeader-icon_ryEHB{flex-shrink:0;font-size:18px}.tabHeader-labels_q5Af5{text-align:left;flex-direction:column;line-height:1.25;display:flex}.tabHeader-title_Jq2Vy{font-weight:var(--header-font-weight,600);font-size:var(--default-font-size)}.tabHeader-subtitle_4lhSa{font-size:var(--text-small-font-size);color:var(--text-dark)}@media (width<=640px){.tabHeader-tab_Wbyt-:not(.tabHeader-tab-active_IExSo) .tabHeader-labels_q5Af5{display:none}}.gifPreview_-ECUZ{aspect-ratio:1;--gif-preview-gap-size:5px;gap:var(--gif-preview-gap-size);flex-wrap:wrap;justify-content:center;width:min(420px,90vw);display:flex;position:relative;overflow:auto}.gifPreview-image_Aq7-a{background-position:50%;background-size:cover;width:100%;height:100%}.gifPreview-image-container_ycypL{aspect-ratio:1;background:linear-gradient(45deg, var(--primary-color) 10%, var(--primary-lighter), var(--primary-accent), var(--primary-color) 85%);border-radius:var(--default-border-radius);width:min(140px,33.3%);width:min(calc(140px - var(--gif-preview-gap-size)), calc(33.3% - var(--gif-preview-gap-size)));background-size:500% 500%;animation:1s linear infinite gradientBottomLeftToTopRight_wo6HB;overflow:hidden}.gifView_Fa2zj{justify-content:center;align-items:center;display:flex;position:relative}.gifView_Fa2zj img{border-radius:var(--default-border-radius);max-width:100%;overflow:hidden}.gifView-loading_LfNJr{background:linear-gradient(45deg, var(--primary-color) 10%, var(--primary-lighter), var(--primary-accent), var(--primary-color) 85%);border-radius:var(--default-border-radius);background-size:500% 500%;width:100%;height:100%;animation:1s linear infinite gradientBottomLeftToTopRight_JR6aS;position:absolute;top:0;left:0;overflow:hidden}.tenorPicker-selected_IfR2z{margin-top:8px}.tenorPicker-modal-content_Vkolf{gap:var(--spacing-m);flex-flow:column;display:flex}.tenorPicker-suggestions-container_kJCj5{max-width:420px}.tenorPicker-suggestions-item_Rl99M{cursor:pointer}.colorFade_eLv2g *{transition:background .3s ease-in-out}.clockFace_LbXIa{width:var(--clock-size,256px);height:var(--clock-size,256px);background:var(--background-accent-light,var(--background-accent));touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:50%;margin:4px auto;position:relative}.clockHand_E9nTw{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.clockHand-line_iOipC{stroke:var(--primary-color);stroke-width:.7px}.clockHand-center_VElxx,.clockHand-knob_Mb2Fx{fill:var(--primary-color)}.clockNumber_qHDO8{width:32px;height:32px;color:var(--text-color);pointer-events:none;z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:500;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%)}.clockNumber-inner_x2XR1{color:var(--text-dark);font-size:12px}.clockNumber-selected_rPVlV{color:var(--text-on-primary);font-weight:600}.timeInput_EbsZN{flex:1;width:100%;min-width:105px;position:relative}.timeInput-clock_D1-dk{flex-direction:column;gap:8px;min-width:280px;padding:12px;display:flex}.timeInput-clockHeader_bsYNW{justify-content:center;align-items:center;gap:4px;margin-bottom:4px;display:flex}.timeInput-headerSegment_Oiu7e{background:var(--background-accent);color:var(--text-dark);border-radius:var(--default-border-radius);cursor:pointer;border:none;padding:6px 10px;font-size:32px;font-weight:600;line-height:1}.timeInput-headerSegment-active_-Funz{background:var(--primary-lighter);color:var(--primary-color)}.timeInput-headerColon_LwyQH{color:var(--text-dark);font-size:32px;font-weight:600}.timeInput-meridiem_tk9km{flex-direction:column;gap:2px;margin-left:8px;display:flex}.timeInput-meridiem_tk9km button{border:1px solid var(--border-color);background:var(--background-accent);color:var(--text-dark);cursor:pointer;padding:3px 8px;font-size:12px;font-weight:600}.timeInput-meridiem_tk9km button:first-child{border-radius:var(--default-border-radius) var(--default-border-radius) 0 0}.timeInput-meridiem_tk9km button:last-child{border-radius:0 0 var(--default-border-radius) var(--default-border-radius)}.timeInput-meridiem-active_40uHm{background:var(--primary-lighter)!important;color:var(--primary-color)!important}.timeInput-footer_NCXsB{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.container_krdsW{z-index:9999;pointer-events:none;box-sizing:border-box;flex-direction:column;gap:8px;padding:16px;display:flex;position:fixed}.container-top-left_zfDTO{align-items:flex-start;top:0;left:0}.container-top-center_CUIGc{align-items:center;top:0;left:50%;transform:translate(-50%)}.container-top-right_sB0KU{align-items:flex-end;top:0;right:0}.container-bottom-left_toJdF{flex-direction:column-reverse;align-items:flex-start;bottom:0;left:0}.container-bottom-center_Bkf9m{flex-direction:column-reverse;align-items:center;bottom:0;left:50%;transform:translate(-50%)}.container-bottom-right_oRSMc{flex-direction:column-reverse;align-items:flex-end;bottom:0;right:0}.toast_qBi4o{pointer-events:all;border-radius:var(--default-border-radius);background:var(--background-modal);color:var(--text-color);font-family:var(--default-font);box-shadow:var(--card-shadow);box-sizing:border-box;align-items:flex-start;gap:10px;min-width:240px;max-width:380px;padding:12px 14px;animation:.25s forwards toastSlideDown_4lKWq;display:flex;position:relative;overflow:hidden}.toast-bottom_X8ZIe{animation:.25s forwards toastSlideUp_SGR5X}.toast-dismissing_xKmB-{animation:.2s forwards toastFadeOut_cvHYp}.toast-info_RlLli{border-left:3px solid var(--info-color,#3b82f6)}.toast-info_RlLli .toastIcon_xU1nA{color:var(--info-color,#3b82f6)}.toast-success_I1g1B{border-left:3px solid var(--success-color)}.toast-success_I1g1B .toastIcon_xU1nA{color:var(--success-color)}.toast-error_MloFO{border-left:3px solid var(--error-color,#ef4444)}.toast-error_MloFO .toastIcon_xU1nA{color:var(--error-color,#ef4444)}.toast-warn_pP6HB{border-left:3px solid var(--warn-color)}.toast-warn_pP6HB .toastIcon_xU1nA{color:var(--warn-color)}.toast-default_RTt2L{border-left:3px solid var(--primary-color)}.toast-default_RTt2L .toastIcon_xU1nA{color:var(--primary-color)}.toastIcon_xU1nA{flex-shrink:0;margin-top:1px;font-size:15px}.toastContent_gvyIv{flex:1;font-size:14px;line-height:1.4}.toastCloseButton_n-YST{cursor:pointer;color:var(--text-dark);opacity:.6;background:0 0;border:none;flex-shrink:0;margin-top:1px;padding:0;font-size:13px;transition:opacity .15s}.toastCloseButton_n-YST:hover{opacity:1}.toastProgressBar_6vBs6{opacity:.35;transform-origin:0;width:100%;height:3px;animation:toastShrink_h89HS var(--toast-duration) linear forwards;background:currentColor;position:absolute;bottom:0;left:0}@keyframes toastSlideDown_4lKWq{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideUp_SGR5X{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut_cvHYp{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes toastShrink_h89HS{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.virtualList_qBPNc{box-sizing:border-box;color:var(--text-color);font-family:var(--default-font);overflow-anchor:none;scrollbar-gutter:stable;isolation:isolate;overflow-y:auto}.virtualList-drag-clone_artnC{box-sizing:border-box;contain:layout paint style;cursor:grabbing;transition:none}.virtualList-header_0Ellb{z-index:2;background:var(--background-accent);border-bottom:1px solid var(--border-color);box-sizing:border-box;display:grid;position:sticky;top:0}.virtualList-header-cell_c8NGV{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;padding:8px 12px;font-size:13px;font-weight:600;overflow:hidden}.virtualList-header-toggle_pYFxD{cursor:pointer;color:var(--text-dark);border-radius:var(--default-border-radius);background:0 0;border:none;align-items:center;padding:4px 8px;transition:background .15s;display:flex}.virtualList-header-toggle_pYFxD:hover{background:var(--background-accent-light);color:var(--text-color)}.virtualList-toggle-wrapper_JP32M{align-items:center;padding:0 4px;display:flex;position:absolute;top:0;bottom:0;right:0}.virtualList-toggle-popover_gbpd7{background:var(--background-accent);border:1px solid var(--border-color);border-radius:var(--default-border-radius);box-shadow:var(--card-shadow);min-width:160px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0}.virtualList-toggle-item_5gu5d{white-space:nowrap;padding:4px 12px;font-size:14px;transition:background .1s}.virtualList-toggle-item_5gu5d:hover{background:var(--background-accent-light)}.virtualList-column-chip_nOqr6{box-sizing:border-box;background:var(--primary-color);min-width:16px;height:16px;color:var(--text-on-primary);pointer-events:none;border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:600;line-height:1;display:flex;position:absolute;top:0;right:0}.virtualList-select-cell_s9kAy{box-sizing:border-box;justify-content:center;align-items:center;padding:0 4px;display:flex}.virtualList-body_k-fRr{box-sizing:border-box;position:relative}.virtualList-row_TTY50{border-bottom:1px solid var(--border-color);box-sizing:border-box;cursor:pointer;contain:layout style;transition:background .1s}.virtualList-row_TTY50:focus-within{z-index:1}.virtualList-row-no-divider_Ct0gV{border-bottom:none}.virtualList-row_TTY50:hover{background:var(--background-accent-light)}.virtualList-row-no-hover_2d3mH:hover{background:0 0}.virtualList-row-selected_hwEN-,.virtualList-row-selected_hwEN-:hover{background:var(--primary-lighter)}.virtualList-row-draggable_I86ha{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.virtualList-row-draggable_I86ha:active{cursor:grabbing}.virtualList-row-dragging_6T5tQ{opacity:.4}.virtualList-row-drop-inside_Uhi9n{background:var(--primary-lighter);box-shadow:inset 0 0 0 2px var(--primary-color)}.virtualList-drop-line_EM-g4{background:var(--primary-color);pointer-events:none;z-index:1;height:2px;position:absolute;right:0}.virtualList-drop-line_EM-g4:before{content:"";background:var(--primary-color);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.virtualList-drop-line-before_n-0iZ{top:-1px}.virtualList-drop-line-after_2dld-{bottom:-1px}.virtualList-reordering_Rt9E3{touch-action:none}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50{-webkit-user-select:none;user-select:none}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50:hover{background:0 0}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50.virtualList-row-selected_hwEN-:hover{background:var(--primary-lighter)}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50.virtualList-row-dragging_6T5tQ{background:0 0}.virtualList-cell_H0zBv{text-overflow:ellipsis;box-sizing:border-box;align-items:center;min-width:0;padding:8px 12px;font-size:14px;display:flex;overflow:hidden}.virtualList-cell_H0zBv[data-fit-key]{white-space:nowrap}.virtualList-loading-full_wzZNM{justify-content:center;align-items:center;height:100%;display:flex}.virtualList-loading-indicator_EJced{justify-content:center;align-items:center;padding:8px 0;display:flex}.virtualList-spinner_apClW{width:32px;height:32px}.wizard_uRBAN{width:100%;height:100%;padding:1px;transition:all .2s;position:relative;overflow:hidden}.wizard-content_lcl4C{height:fit-content;position:absolute}.wizard-content-outOfFrame_Eks4Y *{-webkit-user-select:none;user-select:none;pointer-events:none;visibility:hidden;display:none}.wizard-content-container_yxbCJ{transition:all .6s;display:flex;position:relative}
|
|
3
3
|
/*$vite$:1*/
|
|
4
4
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './sticky';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SlotClassNames, SlotStyles, HtmlProps } from '../types/slots.types';
|
|
3
|
+
export type StickySlots = 'root' | 'placeholder' | 'content';
|
|
4
|
+
export interface StickyProps extends HtmlProps {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
/** Distance (px) from the top of the viewport the content sticks to. Default 0. */
|
|
7
|
+
offsetTop?: number;
|
|
8
|
+
/** z-index applied to the content while stuck. Default 20. */
|
|
9
|
+
zIndex?: number;
|
|
10
|
+
/** Disable sticking entirely — content stays in normal flow. */
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/** Fired whenever the stuck state flips. */
|
|
13
|
+
onStuckChange?: (isStuck: boolean) => void;
|
|
14
|
+
className?: string;
|
|
15
|
+
style?: React.CSSProperties;
|
|
16
|
+
classNames?: SlotClassNames<StickySlots>;
|
|
17
|
+
styles?: SlotStyles<StickySlots>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { TimeValue } from '../../timeFunctions';
|
|
2
|
+
import { SlotClassNames, SlotStyles } from '../../../types/slots.types';
|
|
3
|
+
import { TimeInputSlots } from '../../timeInput.types';
|
|
4
|
+
export type ClockMode = 'hours' | 'minutes';
|
|
5
|
+
export interface ClockDialProps {
|
|
6
|
+
time: TimeValue;
|
|
7
|
+
mode: ClockMode;
|
|
8
|
+
use24Hour: boolean;
|
|
9
|
+
minuteStep: number;
|
|
10
|
+
/** Live update while clicking/dragging. */
|
|
11
|
+
onChange: (time: TimeValue) => void;
|
|
12
|
+
/** Pointer released on a value — parent decides whether to advance mode or close. */
|
|
13
|
+
onCommit: (time: TimeValue) => void;
|
|
14
|
+
classNames?: SlotClassNames<TimeInputSlots>;
|
|
15
|
+
styles?: SlotStyles<TimeInputSlots>;
|
|
16
|
+
}
|
|
17
|
+
export interface DialNumber {
|
|
18
|
+
label: string;
|
|
19
|
+
/** Step index from the top, clockwise. */
|
|
20
|
+
slot: number;
|
|
21
|
+
/** Resolved hour (0–23) or minute (0–59) this number represents. */
|
|
22
|
+
value: number;
|
|
23
|
+
ring: 'outer' | 'inner';
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './clockDial';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './timeInput';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface TimeValue {
|
|
2
|
+
hours: number;
|
|
3
|
+
minutes: number;
|
|
4
|
+
}
|
|
5
|
+
export declare const clampHour: (h: number) => number;
|
|
6
|
+
export declare const clampMinute: (m: number) => number;
|
|
7
|
+
/** Parse a "HH:MM" (24-hour) string. Returns null for anything that isn't a valid time. */
|
|
8
|
+
export declare function parseTimeString(value: string | null | undefined): TimeValue | null;
|
|
9
|
+
/** Format a TimeValue as a zero-padded "HH:MM" string. */
|
|
10
|
+
export declare function formatTime(time: TimeValue | null | undefined): string;
|
|
11
|
+
/** Snap a minute value to the nearest multiple of `step` (step <= 1 is a no-op). */
|
|
12
|
+
export declare function snapMinute(minute: number, step: number): number;
|
|
13
|
+
export declare const timeToMinutes: (time: TimeValue) => number;
|
|
14
|
+
/** Clamp a time into [min, max] (both "HH:MM" strings, either optional). */
|
|
15
|
+
export declare function clampToRange(time: TimeValue, min?: string | null, max?: string | null): TimeValue;
|
|
16
|
+
export declare function isWithinRange(time: TimeValue, min?: string | null, max?: string | null): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Auto-correct a masked "HH:MM" value as the user types: clamp the hour segment to 23
|
|
19
|
+
* and the minute segment to 59 so the field can never hold an impossible time.
|
|
20
|
+
*/
|
|
21
|
+
export declare function correctTimeMaskValue(value: string): string;
|
|
22
|
+
export interface DialPoint {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Cartesian coordinates for a point on the dial. `slot` is the step index from the
|
|
28
|
+
* top of the clock, going clockwise; `stepDegrees` is the angle between steps
|
|
29
|
+
* (30° for hours, 6° for minutes). Returns coordinates relative to (cx, cy).
|
|
30
|
+
*/
|
|
31
|
+
export declare function polarPoint(cx: number, cy: number, radius: number, slot: number, stepDegrees: number): DialPoint;
|
|
32
|
+
/** Rotation (deg) of a hand pointing at `slot`. A 3-o'clock-default hand points up at slot 0. */
|
|
33
|
+
export declare const handAngle: (slot: number, stepDegrees: number) => number;
|
|
34
|
+
/** Angle (0–360, clockwise from top) of a pointer at (dx, dy) relative to the dial centre. */
|
|
35
|
+
export declare function pointerAngle(dx: number, dy: number): number;
|
|
36
|
+
export declare const pointerRadius: (dx: number, dy: number) => number;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { TimeInputProps } from './timeInput.types';
|
|
2
|
+
export default function TimeInput({ value, selected, onChange, onSelect, formValidator, isInline, isModal, noInput, noHeader, showClearButton, showNowButton, minuteStep, use24Hour, minTime, maxTime, label, isValid, errorMessage, isRequired, disabled, className, style, classNames, styles: slotStyles, ...rest }: TimeInputProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { default as FormValidator } from '../../services/formValidation/formValidator';
|
|
3
|
+
import { SlotClassNames, SlotStyles, HtmlProps } from '../types/slots.types';
|
|
4
|
+
export type TimeInputSlots = 'root' | 'clock' | 'clockHeader' | 'headerSegment' | 'meridiem' | 'clockFace' | 'clockHand' | 'clockNumber' | 'footer';
|
|
5
|
+
export interface TimeInputProps extends HtmlProps {
|
|
6
|
+
/** Current time as a "HH:MM" (24-hour) string. */
|
|
7
|
+
value?: string | null;
|
|
8
|
+
/** Alias for `value`, to mirror DatePicker. */
|
|
9
|
+
selected?: string | null;
|
|
10
|
+
/** Fired on every change (typing or dial interaction). Emits null when cleared/invalid. */
|
|
11
|
+
onChange?: ((time: string | null) => void) | null;
|
|
12
|
+
/** Fired when a time is committed via the dial (and the popover closes). */
|
|
13
|
+
onSelect?: ((time: string | null) => void) | null;
|
|
14
|
+
formValidator?: FormValidator | null;
|
|
15
|
+
/** Render the dial inline instead of in a popover. */
|
|
16
|
+
isInline?: boolean;
|
|
17
|
+
/** Open the dial inside a Modal overlay. */
|
|
18
|
+
isModal?: boolean;
|
|
19
|
+
/** Hide the text input entirely (dial only). */
|
|
20
|
+
noInput?: boolean;
|
|
21
|
+
/** Hide the big HH:MM header above the dial. */
|
|
22
|
+
noHeader?: boolean;
|
|
23
|
+
/** Show a "clear" action in the footer. */
|
|
24
|
+
showClearButton?: boolean;
|
|
25
|
+
/** Show a "now" quick-select action in the footer. */
|
|
26
|
+
showNowButton?: boolean;
|
|
27
|
+
/** Snap minutes to this step on the dial (e.g. 5, 15). Default 1. */
|
|
28
|
+
minuteStep?: number;
|
|
29
|
+
/** 24-hour dial (double ring) when true (default); 12-hour dial + AM/PM when false. */
|
|
30
|
+
use24Hour?: boolean;
|
|
31
|
+
/** Lower bound, inclusive, as "HH:MM". */
|
|
32
|
+
minTime?: string | null;
|
|
33
|
+
/** Upper bound, inclusive, as "HH:MM". */
|
|
34
|
+
maxTime?: string | null;
|
|
35
|
+
label?: string;
|
|
36
|
+
isValid?: boolean;
|
|
37
|
+
errorMessage?: string;
|
|
38
|
+
isRequired?: boolean;
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
className?: string;
|
|
41
|
+
style?: React.CSSProperties;
|
|
42
|
+
classNames?: SlotClassNames<TimeInputSlots>;
|
|
43
|
+
styles?: SlotStyles<TimeInputSlots>;
|
|
44
|
+
}
|
|
@@ -68,6 +68,8 @@ export { default as SearchInput } from './common/searchInput';
|
|
|
68
68
|
export * from './common/searchInput';
|
|
69
69
|
export { default as Stepper } from './common/stepper';
|
|
70
70
|
export * from './common/stepper';
|
|
71
|
+
export { default as Sticky } from './common/sticky';
|
|
72
|
+
export * from './common/sticky';
|
|
71
73
|
export { default as TabHeader } from './common/tabHeader';
|
|
72
74
|
export * from './common/tabHeader';
|
|
73
75
|
export { default as TenorPicker } from './common/tenorPicker';
|
|
@@ -77,6 +79,8 @@ export * from './common/textarea';
|
|
|
77
79
|
export { default as ThemeProvider } from './common/themeProvider';
|
|
78
80
|
export * from './common/themeProvider';
|
|
79
81
|
export { useTheme } from './common/themeProvider/useTheme';
|
|
82
|
+
export { default as TimeInput } from './common/timeInput';
|
|
83
|
+
export * from './common/timeInput';
|
|
80
84
|
export { default as ToastProvider } from './common/toast';
|
|
81
85
|
export * from './common/toast';
|
|
82
86
|
export { default as Tooltip } from './common/tooltip';
|
package/docs/CLAUDE.md
CHANGED
|
@@ -130,10 +130,12 @@ Slot keys per component are documented in each component's doc file below.
|
|
|
130
130
|
@ScrollbarProvider.md
|
|
131
131
|
@SearchInput.md
|
|
132
132
|
@Stepper.md
|
|
133
|
+
@Sticky.md
|
|
133
134
|
@TabHeader.md
|
|
134
135
|
@TenorPicker.md
|
|
135
136
|
@Textarea.md
|
|
136
137
|
@ThemeProvider.md
|
|
138
|
+
@TimeInput.md
|
|
137
139
|
@Toast.md
|
|
138
140
|
@Tooltip.md
|
|
139
141
|
@VirtualList.md
|
package/docs/Input.md
CHANGED
|
@@ -58,6 +58,8 @@ const emailValidator = new FormValidator('', [Validators.required(), Validators.
|
|
|
58
58
|
| `rows` | `number` | Textarea row count |
|
|
59
59
|
| `autoResize` | `boolean` | Textarea grows with content |
|
|
60
60
|
| `suffix` | `string \| ReactNode` | Right-side suffix |
|
|
61
|
+
| `icon` | `ReactElement` | Custom icon element, positioned absolute on the right (the field is padded to match); clickable via `onIconClick` |
|
|
62
|
+
| `onIconClick` | `() => void` | Click handler for the custom `icon` |
|
|
61
63
|
| `upperRightLabel` | `string \| ReactNode` | Small label above right |
|
|
62
64
|
| `showCancel` | `boolean` | Show clear icon when focused |
|
|
63
65
|
| `alwaysShowCancel` | `boolean` | Always show clear icon |
|
package/docs/Sticky.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Sticky
|
|
2
|
+
|
|
3
|
+
**When to use:** Pin a piece of content to the top of the viewport once the page scrolls past it — section headers, toolbars, filter bars, table headers. The content sticks while its original position is above the fold and releases the moment that position scrolls back into view. A placeholder preserves the original space, so nothing below jumps when it detaches.
|
|
4
|
+
|
|
5
|
+
**Import:** `import { Sticky } from '@ahrowe/ui'`
|
|
6
|
+
|
|
7
|
+
```tsx
|
|
8
|
+
import { Sticky } from '@ahrowe/ui';
|
|
9
|
+
|
|
10
|
+
// Basic — sticks to the very top
|
|
11
|
+
<Sticky>
|
|
12
|
+
<SectionHeader>Pricing</SectionHeader>
|
|
13
|
+
</Sticky>
|
|
14
|
+
|
|
15
|
+
// Stick below a fixed app bar (64px tall)
|
|
16
|
+
<Sticky offsetTop={64}>
|
|
17
|
+
<FilterBar />
|
|
18
|
+
</Sticky>
|
|
19
|
+
|
|
20
|
+
// React to the stuck state (e.g. add a shadow)
|
|
21
|
+
<Sticky onStuckChange={(stuck) => setElevated(stuck)}>
|
|
22
|
+
<Toolbar />
|
|
23
|
+
</Sticky>
|
|
24
|
+
|
|
25
|
+
// Temporarily turn it off
|
|
26
|
+
<Sticky disabled={isEditing}>
|
|
27
|
+
<Header />
|
|
28
|
+
</Sticky>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**How it works:** while stuck, the content switches to `position: fixed` (measured to keep the same width and horizontal position) and a placeholder of the same height takes its place in the flow. It tracks scroll on the window *and* any ancestor scroll container, so it works inside scrollable panels too — it always pins to the top of the viewport (offset by `offsetTop`).
|
|
32
|
+
|
|
33
|
+
**Key props:**
|
|
34
|
+
|
|
35
|
+
| Prop | Type | Description |
|
|
36
|
+
|------|------|-------------|
|
|
37
|
+
| `children` | `ReactNode` | The content to make sticky |
|
|
38
|
+
| `offsetTop` | `number` | Distance in px from the top of the viewport the content sticks to (default `0`) |
|
|
39
|
+
| `zIndex` | `number` | z-index applied while stuck (default `20`) |
|
|
40
|
+
| `disabled` | `boolean` | Disable sticking — content stays in normal flow |
|
|
41
|
+
| `onStuckChange` | `(isStuck: boolean) => void` | Fired whenever the stuck state flips |
|
|
42
|
+
|
|
43
|
+
**Slots:** `root` `placeholder` `content`
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# TimeInput
|
|
2
|
+
|
|
3
|
+
**When to use:** Time-of-day selection — appointment times, opening hours, shift starts, reminders. Built on top of `Input`: the user can **type** the time directly (`1430` → `14:30`) or pick it on a **Material-style clock dial**. Renders as a text input with a floating label by default; can also be inline or modal, mirroring `DatePicker`.
|
|
4
|
+
|
|
5
|
+
**Import:** `import { TimeInput } from '@ahrowe/ui'`
|
|
6
|
+
|
|
7
|
+
The value is a `"HH:MM"` 24-hour string (e.g. `"09:30"`) everywhere — also when `use24Hour={false}` is set (that flag only changes the dial UI, not the stored value).
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import { TimeInput, FormValidator } from '@ahrowe/ui';
|
|
11
|
+
|
|
12
|
+
// Controlled input with floating label (type or pick on the dial)
|
|
13
|
+
<TimeInput
|
|
14
|
+
label="Start time"
|
|
15
|
+
value={time}
|
|
16
|
+
onChange={(t) => setTime(t ?? '')}
|
|
17
|
+
/>
|
|
18
|
+
|
|
19
|
+
// With FormValidator
|
|
20
|
+
const timeValidator = new FormValidator<string | null>(null);
|
|
21
|
+
<TimeInput label="Opening time" formValidator={timeValidator} isRequired />
|
|
22
|
+
|
|
23
|
+
// Inline dial (no input field)
|
|
24
|
+
<TimeInput
|
|
25
|
+
value={time}
|
|
26
|
+
onChange={setTime}
|
|
27
|
+
isInline
|
|
28
|
+
noInput
|
|
29
|
+
/>
|
|
30
|
+
|
|
31
|
+
// Inside a modal (dial opens in a Modal overlay)
|
|
32
|
+
<TimeInput
|
|
33
|
+
label="Appointment"
|
|
34
|
+
value={time}
|
|
35
|
+
onChange={setTime}
|
|
36
|
+
isModal
|
|
37
|
+
/>
|
|
38
|
+
|
|
39
|
+
// 15-minute steps, with Now / Clear actions
|
|
40
|
+
<TimeInput
|
|
41
|
+
label="Slot"
|
|
42
|
+
value={time}
|
|
43
|
+
onChange={setTime}
|
|
44
|
+
minuteStep={15}
|
|
45
|
+
showNowButton
|
|
46
|
+
showClearButton
|
|
47
|
+
/>
|
|
48
|
+
|
|
49
|
+
// 12-hour dial with AM/PM (value is still stored as 24-hour "HH:MM")
|
|
50
|
+
<TimeInput
|
|
51
|
+
label="Reminder"
|
|
52
|
+
value={time}
|
|
53
|
+
onChange={setTime}
|
|
54
|
+
use24Hour={false}
|
|
55
|
+
/>
|
|
56
|
+
|
|
57
|
+
// Constrained to business hours
|
|
58
|
+
<TimeInput
|
|
59
|
+
label="Drop-off"
|
|
60
|
+
value={time}
|
|
61
|
+
onChange={setTime}
|
|
62
|
+
minTime="08:00"
|
|
63
|
+
maxTime="18:00"
|
|
64
|
+
/>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Interaction:** Click the field (or the clock icon) to open the dial. Pick the hour, the dial auto-advances to minutes; pick the minute to commit. The big `HH : MM` header lets you jump back to either segment, and drag works on the dial too. Typing in the field is clamped so an impossible time (e.g. `29:75`) can't be entered.
|
|
68
|
+
|
|
69
|
+
**Key props:**
|
|
70
|
+
|
|
71
|
+
| Prop | Type | Description |
|
|
72
|
+
|------|------|-------------|
|
|
73
|
+
| `label` | `string` | Floating label on the input |
|
|
74
|
+
| `value` | `string \| null` | Current time as `"HH:MM"` (24-hour) |
|
|
75
|
+
| `selected` | `string \| null` | Alias for `value` (mirrors DatePicker) |
|
|
76
|
+
| `onChange` | `(time: string \| null) => void` | Called on every change (typing or dial); `null` when cleared/invalid |
|
|
77
|
+
| `onSelect` | `(time: string \| null) => void` | Called when a time is committed on the dial |
|
|
78
|
+
| `formValidator` | `FormValidator` | Connects to validation (stores the `"HH:MM"` string) |
|
|
79
|
+
| `isRequired` | `boolean` | Appends `*` to the label |
|
|
80
|
+
| `isValid` | `boolean` | Manual valid state |
|
|
81
|
+
| `errorMessage` | `string` | Manual error message |
|
|
82
|
+
| `disabled` | `boolean` | Disable the field and dial |
|
|
83
|
+
| `noInput` | `boolean` | Hide the text input (show dial only) |
|
|
84
|
+
| `noHeader` | `boolean` | Hide the big `HH:MM` dial header |
|
|
85
|
+
| `isModal` | `boolean` | Open the dial in a Modal overlay |
|
|
86
|
+
| `isInline` | `boolean` | Render the dial always-visible inline |
|
|
87
|
+
| `minuteStep` | `number` | Snap dial minutes to this step (default `1`) |
|
|
88
|
+
| `use24Hour` | `boolean` | 24-hour double-ring dial (default `true`); `false` → 12-hour dial + AM/PM |
|
|
89
|
+
| `minTime` | `string \| null` | Earliest selectable time, `"HH:MM"` |
|
|
90
|
+
| `maxTime` | `string \| null` | Latest selectable time, `"HH:MM"` |
|
|
91
|
+
| `showClearButton` | `boolean` | Show a clear action in the footer |
|
|
92
|
+
| `showNowButton` | `boolean` | Show a "now" quick-select action in the footer |
|
|
93
|
+
|
|
94
|
+
**Slots:** `root` `clock` `clockHeader` `headerSegment` `meridiem` `clockFace` `clockHand` `clockNumber` `footer`
|
package/docs/VirtualList.md
CHANGED
|
@@ -131,3 +131,5 @@ listRef.current?.scrollToKey(user.id, { align: 'center' });
|
|
|
131
131
|
| `recalculateColumns` | `() => void` | Re-measure `fit` columns on the next layout. Only needed after an out-of-band content change that doesn't flow through a new `items` array or `columns` set — those re-measure automatically, as does content first appearing in a cell |
|
|
132
132
|
|
|
133
133
|
**Slots:** `root` `header` `headerCell` `headerToggle` `togglePopover` `toggleItem` `body` `row` `cell` `selectCell` `loadingIndicator`
|
|
134
|
+
|
|
135
|
+
**In-row popovers:** Rows support inline popover content that overflows the row's bottom edge — e.g. a `Dropdown`, `Tooltip`, or `FloatingMenu` whose list opens below its trigger. Rows don't clip their overflow, and a row that holds focus is lifted above the rows below it (`:focus-within`), so an open list paints over the following rows rather than behind them or cut off at the row edge. Stop the row's click handler from firing when interacting with the control (`onClick={(e) => e.stopPropagation()}` on the cell) if the row is also selectable.
|