import { i, r, x } from './query-assigned-elements-fea1f631.js';
|
import { e } from './custom-element-30fc6381.js';
|
import { n, B as BaseElement } from './base.component-813fc7cf.js';
|
import { i as i$1 } from './query-1c86d710.js';
|
import '@dh-software/furnview-icons';
|
|
var css_248z = i`.close-symbol{cursor:pointer;height:100%;position:relative;width:100%}.close-symbol.loading{z-index:999}.close-symbol.loading:after,.close-symbol.loading:before{background:#fff}.close-symbol:after,.close-symbol:before{background:var(--close-symbol-background,#888);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;content:" ";height:1px;margin:0;padding:0;position:absolute;top:50%;width:100%}.close-symbol:after:hover,.close-symbol:before:hover{background:var(--close-symbol-background-hover,#333)}.close-symbol:after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);transform:rotate(-45deg)}.close-symbol:before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg)}:host(.active) .circle-number-symbol{border:var(--circle-number-symbol-border-active,2px solid #000)}.circle-number-symbol{align-items:center;background:var(--circle-number-symbol-background,var(--primary-color,red));border:var(--circle-number-symbol-border,2px solid #fff);border-radius:50%;box-shadow:var(--circle-number-symbol-box-shadow,1px 2px 5px 0 #000);color:var(--circle-number-symbol-color,var(--primary-text-color,#000));display:flex;height:var(--circle-number-symbol-size,30px);justify-content:center;position:relative;width:var(--circle-number-symbol-size,30px)}.custom-symbol{cursor:pointer;display:flex;left:10px;position:relative}.custom-symbol.up:after{background-image:var(--custom-symbol-image-down,url("/webui/images/minus.svg"));content:"";height:18px}.custom-symbol.down:after{background-image:var(--custom-symbol-image-down,url("/webui/images/plus.svg"));content:"";height:18px}.custom-symbol:after{color:#1e1e1e;margin:auto 0;padding:0 0 2px;pointer-events:none;transform:translateX(-15px);width:18px}.accordion-symbol{cursor:pointer;display:flex;left:10px;position:relative}.accordion-symbol.up:after{content:"-";font-size:xx-large;transform:scaleX(2) translateX(-4px)}.accordion-symbol.down:after{content:"+";font-size:xx-large}.accordion-symbol:after{color:#1e1e1e;margin:auto 0;padding:0 0 2px;pointer-events:none;transform:translateX(-15px);width:18px}.chevron-symbol{cursor:pointer;left:10px;position:relative}.chevron-symbol.up:after{content:"<"}.chevron-symbol.down:after{content:">"}.chevron-symbol:after{color:inherit;font:17px Consolas,monospace;padding:0 0 2px;pointer-events:none;position:absolute;-webkit-transform:rotate(90deg) translateX(-100%);-moz-transform:rotate(90deg) translateX(-100%);-ms-transform:rotate(90deg) translateX(-100%);transform:rotate(90deg) translateX(-100%)}@media (width >= 980px){.only-mobile{display:none!important}}@media (width <= 980px){.only-desktop{display:none!important}}.bold{font-weight:var(--global-font-weight-bold,600)}*{font-family:var(--global-font,Roboto);font-weight:var(--global-font-weight,400);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.container{display:flex;margin:10px 0}.container.column{flex-direction:column}.container.column.reverse{flex-direction:column-reverse}.container.row{flex-direction:row}.container.row.reverse{flex-direction:row-reverse}.fluid{flex:1}.fluid.space-after{margin-right:55px}.hidden{display:none!important}.mobile-mode-hide,:host(.mobile-mode-hide){display:none!important}.invisible{visibility:hidden!important}.invisible-scroll,:host(.invisible-scroll){margin-right:-22px;overflow:hidden}.invisible-scroll>:first-child,:host(.invisible-scroll)>:first-child{box-sizing:content-box;overflow-x:hidden;overflow-y:scroll;padding-right:22px}.invisible-scroll.bottom,:host(.invisible-scroll.bottom){margin-right:unset;overflow:hidden}.invisible-scroll.bottom>:first-child,:host(.invisible-scroll.bottom)>:first-child{box-sizing:content-box;margin-bottom:-22px;overflow-x:scroll;overflow-y:hidden;padding-bottom:22px;padding-right:unset}:host([disabled]){filter:contrast(.5) grayscale(1);pointer-events:none}*{scrollbar-color:#5c5c5c hsla(0,0%,100%,.004);scrollbar-width:thin}[disabled]{filter:contrast(.5) grayscale(1);pointer-events:none}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar,::-webkit-scrollbar-corner{background:hsla(0,0%,100%,0)}::-webkit-scrollbar-thumb{background:#5c5c5c;-webkit-border-radius:8px}::-webkit-scrollbar-button,::-webkit-scrollbar-button:horizontal:end:decrement,::-webkit-scrollbar-button:horizontal:end:increment,::-webkit-scrollbar-button:vertical:end:decrement,::-webkit-scrollbar-button:vertical:start:increment{background-color:transparent;border:none;color:transparent}:host{width:var(--confirming-button-width,initial)}:host fv-button{cursor:pointer;height:var(--confirming-button-inner-height,initial);position:relative;width:var(--confirming-button-inner-width,initial)}:host fv-button .button{background-color:var(--confirming-button-color,#fff);box-shadow:var(--confirming-button-box-shadow,initial);color:var(--confirming-button-text-color,initial);cursor:pointer;display:flex;font-size:var(--confirming-button-font-size,initial);font-weight:var(--confirming-button-font-weight,initial);padding:var(--confirming-button-padding,initial);position:relative;width:fit-content}:host fv-button .button span{border:0;color:var(--confirming-button-text-color,initial);display:flex;font-size:var(--confirming-button-font-size,initial);font-weight:var(--confirming-button-font-weight,initial);margin:0;padding:0;width:fit-content}:host fv-button .button span .loader-slot.hidden{display:none}:host fv-button .button .button-text-animation-container{position:relative;width:fit-content}:host fv-button .button .button-text-animation-container .button-text{justify-content:center;left:0;position:absolute;width:100%!important}:host fv-button .button .button-text-animation-container .button-text-send-space{color:var(--confirming-button-color,#fff)!important}:host fv-button .button-send-text-container{height:100%;left:0;position:absolute;top:0;width:100%;z-index:9}:host fv-button .button-send-text-container .animation-container{height:100%;position:relative;width:100%}:host fv-button .button-send-text-container .animation-container span{border:0;color:var(--confirming-button-text-color,initial);display:flex;font-size:var(--confirming-button-font-size,initial);font-weight:var(--confirming-button-font-weight,initial);margin:0;padding:0;width:fit-content}:host fv-button .button-send-text-container .animation-container span.button-text-send{align-items:center;animation:text-transition var(--confirming-button-animation-duration,1s);background-color:var(--confirming-button-color,#fff);display:flex;height:100%;justify-content:center;overflow:hidden;position:absolute;width:100%;z-index:9}:host fv-button .checkmark{align-items:center;border:0;color:var(--confirming-button-text-color,initial);display:flex;font-size:var(--confirming-button-font-size,initial);font-weight:var(--confirming-button-font-weight,initial);height:100%;justify-content:center;margin:0;padding:0;position:absolute;right:var(--confirming-button-checkmark-space-right,0);top:0;width:fit-content;z-index:9}:host fv-button .checkmark.hidden{display:none}:host fv-button .checkmark .checkmark-svg{height:var(--confirming-button-checkmark-size,.75em);padding-left:var(--confirming-button-checkmark-space-left,0);width:var(--confirming-button-checkmark-size,.75em)}:host fv-button .checkmark .checkmark-svg path{fill:var(--confirming-button-checkmark-fill,none);stroke:var(--confirming-button-checkmark-color,#7ac142);stroke-width:var(--confirming-button-checkmark-stroke-width,4);stroke-dasharray:var(--confirming-button-checkmark-stroke-dasharray,23);stroke-dashoffset:var(--confirming-button-checkmark-stroke-dashoffset,23);stroke-linecap:var(--confirming-button-checkmark-linecap,round);stroke-linejoin:var(--confirming-button-checkmark-linejoin,round);animation:draw-checkmark var(--confirming-button-animation-duration,1s) linear var(--confirming-button-checkmark-direction,forwards)}:host fv-button.send .button-send-text-container .animation-container .button-text-send{background-color:var(--confirming-button-send-button-color,var(--confirming-button-color,#fff))!important;color:var(--confirming-button-send-text-color,initial)!important}@keyframes text-transition{0%{width:0}to{width:100%}}@keyframes draw-checkmark{0%{stroke:var(--confirming-button-checkmark-color,#7ac142);stroke-dashoffset:var(--confirming-button-checkmark-stroke-dashoffset,23)}40%{stroke:var(--confirming-button-checkmark-color,#7ac142)}to{stroke:var(--confirming-button-send-text-color,initial);stroke-dashoffset:0}}`;
|
|
var __defProp = Object.defineProperty;
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
var __getProtoOf = Object.getPrototypeOf;
|
var __reflectGet = Reflect.get;
|
var __decorateClass = (decorators, target, key, kind) => {
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
if (decorator = decorators[i])
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
if (kind && result)
|
__defProp(target, key, result);
|
return result;
|
};
|
var __superStaticGet = (obj, member) => __reflectGet(__getProtoOf(obj), member, obj);
|
let ConfirmingButtonComponent = class extends BaseElement {
|
constructor() {
|
super();
|
this._txt = "";
|
this._confirmTxt = "";
|
this._disabled = false;
|
this._wasSend = false;
|
}
|
get confirmed() {
|
return this._wasSend;
|
}
|
set loaderState(value) {
|
var _a, _b;
|
if (value) {
|
(_a = this._loaderElement) == null ? void 0 : _a.classList.remove("hidden");
|
} else {
|
(_b = this._loaderElement) == null ? void 0 : _b.classList.add("hidden");
|
}
|
}
|
reset() {
|
var _a, _b, _c;
|
(_a = this._buttonTextSend) == null ? void 0 : _a.classList.add("hidden");
|
(_b = this._checkmark) == null ? void 0 : _b.classList.add("hidden");
|
(_c = this._buttonContainer) == null ? void 0 : _c.classList.remove("send");
|
this._wasSend = false;
|
this.requestUpdate();
|
}
|
confirm(triggerAnimation = true) {
|
var _a;
|
if (this._wasSend)
|
return;
|
(_a = this._buttonContainer) == null ? void 0 : _a.classList.add("send");
|
this._wasSend = true;
|
if (triggerAnimation) {
|
this.triggerAnimation();
|
}
|
}
|
hideCheckMark() {
|
if (this.classList.contains("hide-checkmark")) {
|
const styles = getComputedStyle(this);
|
let delayProperty = styles.getPropertyValue("--share-link-per-mail-mask-checkmark-hide-delay");
|
delayProperty = delayProperty.length > 0 ? delayProperty : "1500ms";
|
let delay = 0;
|
if (delayProperty.includes("ms")) {
|
delayProperty = delayProperty.replace("ms", "");
|
delay = parseInt(delayProperty);
|
}
|
if (delayProperty.includes("s")) {
|
delayProperty = delayProperty.replace("s", "");
|
delay = parseFloat(delayProperty) * 1e3;
|
}
|
setTimeout(() => {
|
var _a;
|
(_a = this._checkmark) == null ? void 0 : _a.classList.add("hidden");
|
}, delay);
|
}
|
}
|
showCheckMark() {
|
var _a;
|
(_a = this._checkmark) == null ? void 0 : _a.classList.remove("hidden");
|
}
|
triggerAnimation() {
|
var _a;
|
this.showCheckMark();
|
this.hideCheckMark();
|
(_a = this._buttonTextSend) == null ? void 0 : _a.classList.remove("hidden");
|
}
|
createButton(content) {
|
if (this._disabled) {
|
return x`<fv-button class="button-container" disabled>${content}</fv-button>`;
|
}
|
return x`<fv-button class="button-container">${content}</fv-button>`;
|
}
|
render() {
|
const confirmText = LocalesModel.translate(this._confirmTxt);
|
const text = LocalesModel.translate(this._txt);
|
return x`
|
${this.createButton(x`
|
<div class="button">
|
<span class="button-text-animation-container">
|
<span class="button-text-send-space">${confirmText.length > text.length ? confirmText : text}</span>
|
<span class="button-text" i18n="${this._txt}">${text}</span>
|
</span>
|
<span><slot class="loader-slot hidden" name="loader"></slot></span>
|
</div>
|
<div class="button-send-text-container">
|
<div class="animation-container">
|
<span class="button-text-send hidden" i18n="${this._confirmTxt}">${confirmText}</span>
|
</div>
|
</div>
|
<div class="checkmark hidden">
|
<svg class="checkmark-svg" viewBox="0 0 24 24">
|
<path d="M4.1 12.7L9 17.6 20.3 6.3" fill="none"/>
|
</svg>
|
</div>
|
`)}
|
`;
|
}
|
localesModelLoaded() {
|
this.requestUpdate();
|
}
|
};
|
ConfirmingButtonComponent.styles = [
|
__superStaticGet(ConfirmingButtonComponent, "styles") || [],
|
i`${r(css_248z)}`
|
];
|
__decorateClass([
|
n({ type: String, reflect: true, attribute: "txt" })
|
], ConfirmingButtonComponent.prototype, "_txt", 2);
|
__decorateClass([
|
n({ type: String, reflect: true, attribute: "confirm-txt" })
|
], ConfirmingButtonComponent.prototype, "_confirmTxt", 2);
|
__decorateClass([
|
n({ type: Boolean, reflect: true, attribute: "disabled" })
|
], ConfirmingButtonComponent.prototype, "_disabled", 2);
|
__decorateClass([
|
i$1(".button-container")
|
], ConfirmingButtonComponent.prototype, "_buttonContainer", 2);
|
__decorateClass([
|
i$1(".button-text-send")
|
], ConfirmingButtonComponent.prototype, "_buttonTextSend", 2);
|
__decorateClass([
|
i$1(".checkmark")
|
], ConfirmingButtonComponent.prototype, "_checkmark", 2);
|
__decorateClass([
|
i$1(".loader-slot")
|
], ConfirmingButtonComponent.prototype, "_loaderElement", 2);
|
ConfirmingButtonComponent = __decorateClass([
|
e("fv-confirming-button")
|
], ConfirmingButtonComponent);
|
|
export { ConfirmingButtonComponent };
|