import { r as registerInstance, c as createEvent, h, H as Host } from './index-C1erT8T2.js';
import { VerdocsEndpoint } from '@verdocs/js-sdk';
import { u as unicodeNBSP } from './Icons-7LXbcjVz.js';

const verdocsFileChooserCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-file-chooser{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#ffffff;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-file-chooser .upload-box{text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 15px;color:rgba(0, 0, 0, 0.54)}verdocs-file-chooser .upload-box svg{width:64px;height:64px;fill:#5c6575}verdocs-file-chooser .selected-filename{font-size:20px;font-weight:bold;overflow-wrap:anywhere}verdocs-file-chooser .or-prefer{height:20px;margin:20px 0;font-size:16px}";

const VerdocsFileChooser = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
        this.fileSelected = createEvent(this, "fileSelected");
        /**
         * The endpoint to use to communicate with Verdocs. If not set, the default endpoint will be used.
         */
        this.endpoint = VerdocsEndpoint.getDefault();
    }
    handleFileChanged(e) {
        var _a, _b;
        this.file = ((_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0]) || null;
        (_b = this.fileSelected) === null || _b === void 0 ? void 0 : _b.emit({ file: this.file });
        console.debug('[CHOOSER] Selected file', this.file);
    }
    handleSelectFile(e) {
        var _a, _b;
        e.stopPropagation();
        this.file = null;
        (_a = this.fileSelected) === null || _a === void 0 ? void 0 : _a.emit({ file: null });
        (_b = document.getElementById('verdocs-file-chooser')) === null || _b === void 0 ? void 0 : _b.click();
    }
    render() {
        const buttonlabel = this.file ? 'Select a different file' : 'Select a file from your computer';
        return (h(Host, { key: '2f3b44d27df1f14697939673b9706f2b8cef2b1c' }, h("input", { key: '3c55f234ad08dc6741505f8314361eee94014829', type: "file", multiple: true, id: "verdocs-file-chooser", accept: "application/pdf,.pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document", style: { display: 'none' }, onChange: e => this.handleFileChanged(e) }), h("div", { key: 'bda957db5c55a91f240a501f714671973fe493e7', class: "upload-box" }, h("div", { key: 'c772d366c2d0cf10930bd04c6fe2cf9639ae187d', class: "selected-filename" }, this.file ? this.file.name : 'Drag a file here'), h("div", { key: '1d4ab1025dcd4685be52f0440d0910d5e78e6a8e', class: "or-prefer" }, this.file ? unicodeNBSP : 'Or, if you prefer...'), h("verdocs-button", { key: 'a2385786f50aa9e298eea13dfadb3072fb2fad34', label: buttonlabel, size: "small", onClick: e => this.handleSelectFile(e) }))));
    }
};
VerdocsFileChooser.style = verdocsFileChooserCss;

const verdocsProgressBarCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-progress-bar{font-family:\"Inter\", \"Barlow\", sans-serif;width:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-progress-bar .labels{display:-ms-flexbox;display:flex;margin:0 0 8px 0;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}verdocs-progress-bar .labels .label{display:-ms-flexbox;display:flex;font-size:14px;font-weight:600;margin-right:8px;color:#33364b}verdocs-progress-bar .bar{display:-ms-flexbox;display:flex;-ms-flex:0 0 10px;flex:0 0 10px;border-radius:5px;background-color:#cccccc}verdocs-progress-bar .bar .slider{display:-ms-flexbox;display:flex;border-radius:5px;background-color:#55bc81}";

const VerdocsProgressBar = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
        /**
         * Optional label to display above the bar
         */
        this.label = '';
        /**
         * If true, the progress percentage will be displayed above the bar.
         */
        this.showPercent = false;
        /**
         * The current progress value (0-100)
         */
        this.percent = 0;
    }
    render() {
        const widthPercent = Math.ceil((100 * Math.min(this.percent, 100)) / 100);
        console.log('Rendering progress bar', { widthPercent, label: this.label, showPercent: this.showPercent, percent: this.percent });
        return (h(Host, { key: '4fb4646e5feebaf8265fc8042af66d3dcf2426b6' }, h("div", { key: 'd2febb9e8a3b1e89d067324b40aa674287d0fef0', class: "labels" }, this.label && h("div", { key: 'e32eacce952b2ba7bd10819a535b6438c6ba52b4', class: "label" }, this.label), this.showPercent && h("div", { key: '485503902199bcb6752997bef3afcf333c5ce6aa', class: "label" }, this.percent, "%")), h("div", { key: 'ebdfa5c9362f136d7f3690ffeadae2be46a47bc1', class: "bar" }, h("div", { key: 'a72e9c81d14d8e7cc6c37cfcd6a9cb6a27d50a2e', class: "slider", style: { width: `${widthPercent}%` } }))));
    }
};
VerdocsProgressBar.style = verdocsProgressBarCss;

export { VerdocsFileChooser as verdocs_file_chooser, VerdocsProgressBar as verdocs_progress_bar };
//# sourceMappingURL=verdocs-file-chooser.verdocs-progress-bar.entry.js.map

//# sourceMappingURL=verdocs-file-chooser_2.entry.js.map