@dropi/ui 0.1.20 → 0.1.22
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/cjs/dropi-accordion-item.cjs.entry.js +54 -0
- package/dist/cjs/dropi-accordion.cjs.entry.js +5 -39
- package/dist/cjs/dropi-alert-legacy.cjs.entry.js +39 -0
- package/dist/cjs/dropi-alert-modal.cjs.entry.js +80 -24
- package/dist/cjs/dropi-alert.cjs.entry.js +20 -14
- package/dist/cjs/dropi-avatars.cjs.entry.js +3 -3
- package/dist/cjs/dropi-badge-legacy.cjs.entry.js +30 -0
- package/dist/cjs/dropi-badge.cjs.entry.js +4 -4
- package/dist/cjs/dropi-banner-external.cjs.entry.js +25 -9
- package/dist/cjs/dropi-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/dropi-button.cjs.entry.js +11 -7
- package/dist/cjs/dropi-card-checkbox.cjs.entry.js +17 -14
- package/dist/cjs/dropi-card-product.cjs.entry.js +42 -23
- package/dist/cjs/dropi-card-section.cjs.entry.js +17 -17
- package/dist/cjs/dropi-carousel.cjs.entry.js +112 -42
- package/dist/cjs/dropi-checkbox-selection-list.cjs.entry.js +17 -15
- package/dist/cjs/dropi-checkbox.cjs.entry.js +6 -6
- package/dist/cjs/dropi-chips.cjs.entry.js +8 -8
- package/dist/cjs/dropi-city-selector.cjs.entry.js +28 -9
- package/dist/cjs/dropi-color-picker.cjs.entry.js +300 -50
- package/dist/cjs/dropi-country-flags.cjs.entry.js +4 -4
- package/dist/cjs/dropi-country-selector.cjs.entry.js +50 -17
- package/dist/cjs/dropi-date-picker-range.cjs.entry.js +8 -8
- package/dist/cjs/dropi-date-picker.cjs.entry.js +53 -35
- package/dist/cjs/dropi-drawer.cjs.entry.js +38 -9
- package/dist/cjs/dropi-dropdown.cjs.entry.js +23 -16
- package/dist/cjs/dropi-empty-state.cjs.entry.js +15 -18
- package/dist/cjs/dropi-favorite-button.cjs.entry.js +5 -5
- package/dist/cjs/dropi-file-upload-progress-bar.cjs.entry.js +57 -32
- package/dist/cjs/dropi-file-upload.cjs.entry.js +210 -57
- package/dist/cjs/dropi-icon.cjs.entry.js +21 -4
- package/dist/cjs/dropi-ilustration-icon.cjs.entry.js +3 -3
- package/dist/cjs/dropi-image-miniature.cjs.entry.js +2 -2
- package/dist/cjs/dropi-image-overlay.cjs.entry.js +4 -3
- package/dist/cjs/dropi-input_3.cjs.entry.js +392 -0
- package/dist/cjs/dropi-languages-selector.cjs.entry.js +10 -6
- package/dist/cjs/dropi-logo.cjs.entry.js +12 -2
- package/dist/cjs/dropi-lottie-loader.cjs.entry.js +5 -5
- package/dist/cjs/dropi-media-player.cjs.entry.js +131 -41
- package/dist/cjs/dropi-modal.cjs.entry.js +46 -20
- package/dist/cjs/dropi-navbar.cjs.entry.js +14 -12
- package/dist/cjs/dropi-otp-send-code.cjs.entry.js +13 -13
- package/dist/cjs/dropi-phone-input.cjs.entry.js +163 -50
- package/dist/cjs/dropi-radio-button.cjs.entry.js +7 -7
- package/dist/cjs/dropi-radio-selection-list.cjs.entry.js +17 -13
- package/dist/cjs/dropi-read-more.cjs.entry.js +8 -4
- package/dist/cjs/dropi-search.cjs.entry.js +52 -38
- package/dist/cjs/dropi-select.cjs.entry.js +102 -55
- package/dist/cjs/dropi-sidebar.cjs.entry.js +61 -50
- package/dist/cjs/dropi-simple-stepper.cjs.entry.js +8 -6
- package/dist/cjs/dropi-skeleton.cjs.entry.js +16 -6
- package/dist/cjs/dropi-steps.cjs.entry.js +6 -4
- package/dist/cjs/dropi-switch.cjs.entry.js +5 -5
- package/dist/cjs/dropi-table.cjs.entry.js +212 -37
- package/dist/cjs/dropi-tabs.cjs.entry.js +13 -11
- package/dist/cjs/dropi-tag-type-product.cjs.entry.js +3 -3
- package/dist/cjs/dropi-text-area.cjs.entry.js +45 -14
- package/dist/cjs/dropi-time-line.cjs.entry.js +3 -3
- package/dist/cjs/dropi-toast.cjs.entry.js +7 -6
- package/dist/cjs/dropi-tooltip-v2.cjs.entry.js +131 -0
- package/dist/cjs/dropi-tooltip.cjs.entry.js +5 -26
- package/dist/cjs/dropi-ui.cjs.js +2 -2
- package/dist/cjs/dropi-vertical-steps.cjs.entry.js +6 -6
- package/dist/cjs/dropi-youtube-lazy-video.cjs.entry.js +3 -3
- package/dist/cjs/{index-DcOH2ZjX.js → index-C8kwDvpf.js} +1044 -14
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +7 -3
- package/dist/collection/components/dropi-accordion/dropi-accordion-item.css +45 -0
- package/dist/collection/components/dropi-accordion/dropi-accordion-item.js +172 -0
- package/dist/collection/components/dropi-accordion/dropi-accordion.css +3 -3
- package/dist/collection/components/dropi-accordion/dropi-accordion.js +7 -129
- package/dist/collection/components/dropi-alert/dropi-alert.css +5 -11
- package/dist/collection/components/dropi-alert/dropi-alert.js +86 -20
- package/dist/collection/components/dropi-alert-legacy/dropi-alert-legacy.css +31 -0
- package/dist/collection/components/dropi-alert-legacy/dropi-alert-legacy.js +128 -0
- package/dist/collection/components/dropi-alert-modal/dropi-alert-modal.css +55 -23
- package/dist/collection/components/dropi-alert-modal/dropi-alert-modal.js +180 -50
- package/dist/collection/components/dropi-avatars/dropi-avatars.js +3 -3
- package/dist/collection/components/dropi-badge/dropi-badge.css +1 -1
- package/dist/collection/components/dropi-badge/dropi-badge.js +3 -4
- package/dist/collection/components/dropi-badge-legacy/dropi-badge-legacy.css +17 -0
- package/dist/collection/components/dropi-badge-legacy/dropi-badge-legacy.js +119 -0
- package/dist/collection/components/dropi-banner-external/dropi-banner-external.js +88 -13
- package/dist/collection/components/dropi-breadcrumb/dropi-breadcrumb.js +1 -1
- package/dist/collection/components/dropi-button/dropi-button.css +17 -17
- package/dist/collection/components/dropi-button/dropi-button.js +31 -7
- package/dist/collection/components/dropi-card-checkbox/dropi-card-checkbox.css +3 -1
- package/dist/collection/components/dropi-card-checkbox/dropi-card-checkbox.js +30 -27
- package/dist/collection/components/dropi-card-product/dropi-card-product.css +179 -102
- package/dist/collection/components/dropi-card-product/dropi-card-product.js +112 -79
- package/dist/collection/components/dropi-card-section/dropi-card-section.css +2 -2
- package/dist/collection/components/dropi-card-section/dropi-card-section.js +25 -25
- package/dist/collection/components/dropi-carousel/dropi-carousel.css +114 -69
- package/dist/collection/components/dropi-carousel/dropi-carousel.js +202 -100
- package/dist/collection/components/dropi-checkbox/dropi-checkbox.js +6 -6
- package/dist/collection/components/dropi-checkbox-selection-list/dropi-checkbox-selection-list.js +42 -20
- package/dist/collection/components/dropi-chips/dropi-chips.js +15 -15
- package/dist/collection/components/dropi-city-selector/dropi-city-selector.css +112 -50
- package/dist/collection/components/dropi-city-selector/dropi-city-selector.js +38 -9
- package/dist/collection/components/dropi-color-picker/dropi-color-picker.css +169 -142
- package/dist/collection/components/dropi-color-picker/dropi-color-picker.js +317 -159
- package/dist/collection/components/dropi-country-flags/dropi-country-flags.js +5 -5
- package/dist/collection/components/dropi-country-selector/dropi-country-selector.css +72 -25
- package/dist/collection/components/dropi-country-selector/dropi-country-selector.js +124 -22
- package/dist/collection/components/dropi-date-picker/dropi-date-picker.css +104 -39
- package/dist/collection/components/dropi-date-picker/dropi-date-picker.js +131 -49
- package/dist/collection/components/dropi-date-picker-range/dropi-date-picker-range.css +8 -8
- package/dist/collection/components/dropi-date-picker-range/dropi-date-picker-range.js +8 -8
- package/dist/collection/components/dropi-drawer/dropi-drawer.css +38 -16
- package/dist/collection/components/dropi-drawer/dropi-drawer.js +107 -18
- package/dist/collection/components/dropi-dropdown/dropi-dropdown.css +1 -1
- package/dist/collection/components/dropi-dropdown/dropi-dropdown.js +52 -27
- package/dist/collection/components/dropi-empty-state/dropi-empty-state.js +37 -54
- package/dist/collection/components/dropi-favorite-button/dropi-favorite-button.js +5 -5
- package/dist/collection/components/dropi-file-upload/dropi-file-upload.css +431 -33
- package/dist/collection/components/dropi-file-upload/dropi-file-upload.js +364 -104
- package/dist/collection/components/dropi-file-upload-progress-bar/dropi-file-upload-progress-bar.css +82 -78
- package/dist/collection/components/dropi-file-upload-progress-bar/dropi-file-upload-progress-bar.js +129 -69
- package/dist/collection/components/dropi-icon/dropi-icon.css +5 -0
- package/dist/collection/components/dropi-icon/dropi-icon.js +19 -2
- package/dist/collection/components/dropi-ilustration-icon/dropi-ilustration-icon.css +3 -3
- package/dist/collection/components/dropi-ilustration-icon/dropi-ilustration-icon.js +1 -1
- package/dist/collection/components/dropi-image-miniature/dropi-image-miniature.js +1 -1
- package/dist/collection/components/dropi-image-overlay/dropi-image-overlay.css +6 -2
- package/dist/collection/components/dropi-image-overlay/dropi-image-overlay.js +5 -4
- package/dist/collection/components/dropi-input/dropi-input.css +1 -1
- package/dist/collection/components/dropi-input/dropi-input.js +155 -82
- package/dist/collection/components/dropi-languages-selector/dropi-languages-selector.css +1 -1
- package/dist/collection/components/dropi-languages-selector/dropi-languages-selector.js +9 -5
- package/dist/collection/components/dropi-logo/dropi-logo.js +12 -1
- package/dist/collection/components/dropi-lottie-loader/dropi-lottie-loader.css +8 -2
- package/dist/collection/components/dropi-lottie-loader/dropi-lottie-loader.js +6 -6
- package/dist/collection/components/dropi-media-player/dropi-media-player.css +263 -70
- package/dist/collection/components/dropi-media-player/dropi-media-player.js +161 -61
- package/dist/collection/components/dropi-modal/dropi-modal.css +14 -4
- package/dist/collection/components/dropi-modal/dropi-modal.js +312 -26
- package/dist/collection/components/dropi-navbar/dropi-navbar.css +7 -7
- package/dist/collection/components/dropi-navbar/dropi-navbar.js +42 -26
- package/dist/collection/components/dropi-otp-send-code/dropi-otp-send-code.css +2 -2
- package/dist/collection/components/dropi-otp-send-code/dropi-otp-send-code.js +13 -13
- package/dist/collection/components/dropi-paginator/dropi-paginator.css +2 -2
- package/dist/collection/components/dropi-paginator/dropi-paginator.js +51 -99
- package/dist/collection/components/dropi-phone-input/dropi-phone-input.css +158 -101
- package/dist/collection/components/dropi-phone-input/dropi-phone-input.js +256 -86
- package/dist/collection/components/dropi-radio-button/dropi-radio-button.js +13 -20
- package/dist/collection/components/dropi-radio-selection-list/dropi-radio-selection-list.css +3 -3
- package/dist/collection/components/dropi-radio-selection-list/dropi-radio-selection-list.js +69 -19
- package/dist/collection/components/dropi-read-more/dropi-read-more.css +5 -8
- package/dist/collection/components/dropi-read-more/dropi-read-more.js +46 -2
- package/dist/collection/components/dropi-search/dropi-search.css +2 -2
- package/dist/collection/components/dropi-search/dropi-search.js +194 -60
- package/dist/collection/components/dropi-select/dropi-select.css +7 -7
- package/dist/collection/components/dropi-select/dropi-select.js +170 -84
- package/dist/collection/components/dropi-sidebar/dropi-sidebar.css +51 -92
- package/dist/collection/components/dropi-sidebar/dropi-sidebar.js +86 -176
- package/dist/collection/components/dropi-simple-stepper/dropi-simple-stepper.css +2 -2
- package/dist/collection/components/dropi-simple-stepper/dropi-simple-stepper.js +29 -7
- package/dist/collection/components/dropi-skeleton/dropi-skeleton.js +40 -10
- package/dist/collection/components/dropi-steps/dropi-steps.css +3 -3
- package/dist/collection/components/dropi-steps/dropi-steps.js +31 -3
- package/dist/collection/components/dropi-switch/dropi-switch.js +5 -5
- package/dist/collection/components/dropi-table/dropi-table.css +505 -45
- package/dist/collection/components/dropi-table/dropi-table.js +690 -50
- package/dist/collection/components/dropi-tabs/dropi-tabs.css +10 -5
- package/dist/collection/components/dropi-tabs/dropi-tabs.js +35 -13
- package/dist/collection/components/dropi-tag/dropi-tag.js +5 -5
- package/dist/collection/components/dropi-tag-type-product/dropi-tag-type-product.css +4 -4
- package/dist/collection/components/dropi-tag-type-product/dropi-tag-type-product.js +1 -1
- package/dist/collection/components/dropi-text-area/dropi-text-area.css +4 -1
- package/dist/collection/components/dropi-text-area/dropi-text-area.js +87 -32
- package/dist/collection/components/dropi-time-line/dropi-time-line.css +2 -2
- package/dist/collection/components/dropi-time-line/dropi-time-line.js +1 -1
- package/dist/collection/components/dropi-toast/dropi-toast.css +2 -2
- package/dist/collection/components/dropi-toast/dropi-toast.js +6 -5
- package/dist/collection/components/dropi-tooltip/dropi-tooltip.css +28 -63
- package/dist/collection/components/dropi-tooltip/dropi-tooltip.js +11 -88
- package/dist/collection/components/dropi-tooltip-v2/dropi-tooltip.css +67 -0
- package/dist/collection/components/dropi-tooltip-v2/dropi-tooltip.js +468 -0
- package/dist/collection/components/dropi-vertical-steps/dropi-vertical-steps.css +3 -3
- package/dist/collection/components/dropi-vertical-steps/dropi-vertical-steps.js +5 -5
- package/dist/collection/components/dropi-youtube-lazy-video/dropi-youtube-lazy-video.css +1 -1
- package/dist/collection/components/dropi-youtube-lazy-video/dropi-youtube-lazy-video.js +1 -1
- package/dist/components/dropi-accordion-item.d.ts +11 -0
- package/dist/components/dropi-accordion-item.js +1 -0
- package/dist/components/dropi-accordion.js +1 -1
- package/dist/components/dropi-alert-legacy.d.ts +11 -0
- package/dist/components/dropi-alert-legacy.js +1 -0
- package/dist/components/dropi-alert-modal.js +1 -1
- package/dist/components/dropi-alert.js +1 -1
- package/dist/components/dropi-avatars.js +1 -1
- package/dist/components/dropi-badge-legacy.d.ts +11 -0
- package/dist/components/dropi-badge-legacy.js +1 -0
- package/dist/components/dropi-badge.js +1 -1
- package/dist/components/dropi-banner-external.js +1 -1
- package/dist/components/dropi-breadcrumb.js +1 -1
- package/dist/components/dropi-button.js +1 -1
- package/dist/components/dropi-card-checkbox.js +1 -1
- package/dist/components/dropi-card-product.js +1 -1
- package/dist/components/dropi-card-section.js +1 -1
- package/dist/components/dropi-carousel.js +1 -1
- package/dist/components/dropi-checkbox-selection-list.js +1 -1
- package/dist/components/dropi-checkbox.js +1 -1
- package/dist/components/dropi-chips.js +1 -1
- package/dist/components/dropi-city-selector.js +1 -1
- package/dist/components/dropi-color-picker.js +1 -1
- package/dist/components/dropi-country-flags.js +1 -1
- package/dist/components/dropi-country-selector.js +1 -1
- package/dist/components/dropi-date-picker-range.js +1 -1
- package/dist/components/dropi-date-picker.js +1 -1
- package/dist/components/dropi-drawer.js +1 -1
- package/dist/components/dropi-dropdown.js +1 -1
- package/dist/components/dropi-empty-state.js +1 -1
- package/dist/components/dropi-favorite-button.js +1 -1
- package/dist/components/dropi-file-upload-progress-bar.js +1 -1
- package/dist/components/dropi-file-upload.js +1 -1
- package/dist/components/dropi-icon.js +1 -1
- package/dist/components/dropi-ilustration-icon.js +1 -1
- package/dist/components/dropi-image-miniature.js +1 -1
- package/dist/components/dropi-image-overlay.js +1 -1
- package/dist/components/dropi-input.js +1 -1
- package/dist/components/dropi-languages-selector.js +1 -1
- package/dist/components/dropi-logo.js +1 -1
- package/dist/components/dropi-lottie-loader.js +1 -1
- package/dist/components/dropi-media-player.js +1 -1
- package/dist/components/dropi-modal.js +1 -1
- package/dist/components/dropi-navbar.js +1 -1
- package/dist/components/dropi-otp-send-code.js +1 -1
- package/dist/components/dropi-paginator.js +1 -1
- package/dist/components/dropi-phone-input.js +1 -1
- package/dist/components/dropi-radio-button.js +1 -1
- package/dist/components/dropi-radio-selection-list.js +1 -1
- package/dist/components/dropi-read-more.js +1 -1
- package/dist/components/dropi-search.js +1 -1
- package/dist/components/dropi-select.js +1 -1
- package/dist/components/dropi-sidebar.js +1 -1
- package/dist/components/dropi-simple-stepper.js +1 -1
- package/dist/components/dropi-skeleton.js +1 -1
- package/dist/components/dropi-steps.js +1 -1
- package/dist/components/dropi-switch.js +1 -1
- package/dist/components/dropi-table.js +1 -1
- package/dist/components/dropi-tabs.js +1 -1
- package/dist/components/dropi-tag-type-product.js +1 -1
- package/dist/components/dropi-tag.js +1 -1
- package/dist/components/dropi-text-area.js +1 -1
- package/dist/components/dropi-time-line.js +1 -1
- package/dist/components/dropi-toast.js +1 -1
- package/dist/components/dropi-tooltip-v2.d.ts +11 -0
- package/dist/components/dropi-tooltip-v2.js +1 -0
- package/dist/components/dropi-tooltip.js +1 -1
- package/dist/components/dropi-vertical-steps.js +1 -1
- package/dist/components/dropi-youtube-lazy-video.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-B9R8Apw7.js +1 -0
- package/dist/components/p-B_Ace02i.js +1 -0
- package/dist/components/p-BrjO_JXp.js +1 -0
- package/dist/components/p-BwhxWL4p.js +1 -0
- package/dist/components/p-Bz2jXX3R.js +1 -0
- package/dist/components/p-CV4X3Gm4.js +1 -0
- package/dist/components/p-CV_oz45O.js +1 -0
- package/dist/components/p-D-vQQQNz.js +1 -0
- package/dist/components/p-D13d88W3.js +1 -0
- package/dist/components/p-DGUfr98Z.js +1 -0
- package/dist/components/p-a-hGQrJd.js +1 -0
- package/dist/components/p-o5gyrbbD.js +1 -0
- package/dist/dropi-ui/dropi-ui.css +1 -1
- package/dist/dropi-ui/dropi-ui.esm.js +1 -1
- package/dist/dropi-ui/p-00e5a2de.entry.js +1 -0
- package/dist/dropi-ui/p-0188e07a.entry.js +1 -0
- package/dist/dropi-ui/p-02710049.entry.js +1 -0
- package/dist/dropi-ui/p-17c56074.entry.js +1 -0
- package/dist/dropi-ui/p-18adf694.entry.js +1 -0
- package/dist/dropi-ui/p-1a3619c3.entry.js +1 -0
- package/dist/dropi-ui/p-1d3d6a32.entry.js +1 -0
- package/dist/dropi-ui/p-25640777.entry.js +1 -0
- package/dist/dropi-ui/p-2674d901.entry.js +1 -0
- package/dist/dropi-ui/p-2af538b9.entry.js +1 -0
- package/dist/dropi-ui/p-3013f3b8.entry.js +1 -0
- package/dist/dropi-ui/p-3321ca70.entry.js +1 -0
- package/dist/dropi-ui/p-33d242ec.entry.js +1 -0
- package/dist/dropi-ui/p-39af6478.entry.js +1 -0
- package/dist/dropi-ui/p-3e36c8b8.entry.js +1 -0
- package/dist/dropi-ui/p-3ebc9b7b.entry.js +1 -0
- package/dist/dropi-ui/p-446a481d.entry.js +1 -0
- package/dist/dropi-ui/p-50a5e548.entry.js +1 -0
- package/dist/dropi-ui/p-50e0d44f.entry.js +1 -0
- package/dist/dropi-ui/p-53a7a37d.entry.js +1 -0
- package/dist/dropi-ui/p-5c0bd7c2.entry.js +1 -0
- package/dist/dropi-ui/p-5cee6721.entry.js +1 -0
- package/dist/dropi-ui/p-5fb33ae4.entry.js +1 -0
- package/dist/dropi-ui/p-665ef7ba.entry.js +1 -0
- package/dist/dropi-ui/p-66b80371.entry.js +1 -0
- package/dist/dropi-ui/p-7bfc1c27.entry.js +1 -0
- package/dist/dropi-ui/p-7c0d2edf.entry.js +1 -0
- package/dist/dropi-ui/p-7eb27836.entry.js +1 -0
- package/dist/dropi-ui/p-85444414.entry.js +1 -0
- package/dist/dropi-ui/p-86283e99.entry.js +1 -0
- package/dist/dropi-ui/p-8bf5d8ee.entry.js +1 -0
- package/dist/dropi-ui/p-9032ba00.entry.js +1 -0
- package/dist/dropi-ui/p-9212f544.entry.js +1 -0
- package/dist/dropi-ui/p-92291873.entry.js +1 -0
- package/dist/dropi-ui/p-955e52f8.entry.js +1 -0
- package/dist/dropi-ui/p-976a15e3.entry.js +1 -0
- package/dist/dropi-ui/p-9b037086.entry.js +1 -0
- package/dist/dropi-ui/p-9e0129cc.entry.js +1 -0
- package/dist/dropi-ui/{p-c9ebd31b.entry.js → p-9ffec3f7.entry.js} +1 -1
- package/dist/dropi-ui/p-D5SAM1O2.js +2 -0
- package/dist/dropi-ui/p-a1c93e55.entry.js +1 -0
- package/dist/dropi-ui/p-a232c6a7.entry.js +1 -0
- package/dist/dropi-ui/p-a3c4d677.entry.js +1 -0
- package/dist/dropi-ui/p-a457e8ca.entry.js +1 -0
- package/dist/dropi-ui/p-a4e1df5e.entry.js +1 -0
- package/dist/dropi-ui/p-a822a23e.entry.js +1 -0
- package/dist/dropi-ui/p-a8f24270.entry.js +1 -0
- package/dist/dropi-ui/p-ae35d538.entry.js +1 -0
- package/dist/dropi-ui/p-af8e2157.entry.js +1 -0
- package/dist/dropi-ui/p-b2623a5c.entry.js +1 -0
- package/dist/dropi-ui/p-b3d3c72e.entry.js +1 -0
- package/dist/dropi-ui/p-c3614c4a.entry.js +1 -0
- package/dist/dropi-ui/p-cbf5367e.entry.js +1 -0
- package/dist/dropi-ui/p-cc527d91.entry.js +1 -0
- package/dist/dropi-ui/p-cdde481b.entry.js +1 -0
- package/dist/dropi-ui/p-d42d4ef7.entry.js +1 -0
- package/dist/dropi-ui/{p-b41c8a6c.entry.js → p-db38bf16.entry.js} +1 -1
- package/dist/dropi-ui/p-dd5d8b1b.entry.js +1 -0
- package/dist/dropi-ui/p-e3ad21f8.entry.js +1 -0
- package/dist/dropi-ui/p-e6e766ed.entry.js +1 -0
- package/dist/dropi-ui/p-ec263862.entry.js +1 -0
- package/dist/dropi-ui/p-efc2fc35.entry.js +1 -0
- package/dist/dropi-ui/p-f41cd9b5.entry.js +1 -0
- package/dist/dropi-ui/p-fa3d0267.entry.js +1 -0
- package/dist/esm/dropi-accordion-item.entry.js +52 -0
- package/dist/esm/dropi-accordion.entry.js +5 -39
- package/dist/esm/dropi-alert-legacy.entry.js +37 -0
- package/dist/esm/dropi-alert-modal.entry.js +80 -24
- package/dist/esm/dropi-alert.entry.js +20 -14
- package/dist/esm/dropi-avatars.entry.js +3 -3
- package/dist/esm/dropi-badge-legacy.entry.js +28 -0
- package/dist/esm/dropi-badge.entry.js +4 -4
- package/dist/esm/dropi-banner-external.entry.js +25 -9
- package/dist/esm/dropi-breadcrumb.entry.js +2 -2
- package/dist/esm/dropi-button.entry.js +11 -7
- package/dist/esm/dropi-card-checkbox.entry.js +17 -14
- package/dist/esm/dropi-card-product.entry.js +42 -23
- package/dist/esm/dropi-card-section.entry.js +17 -17
- package/dist/esm/dropi-carousel.entry.js +112 -42
- package/dist/esm/dropi-checkbox-selection-list.entry.js +17 -15
- package/dist/esm/dropi-checkbox.entry.js +6 -6
- package/dist/esm/dropi-chips.entry.js +8 -8
- package/dist/esm/dropi-city-selector.entry.js +28 -9
- package/dist/esm/dropi-color-picker.entry.js +300 -50
- package/dist/esm/dropi-country-flags.entry.js +4 -4
- package/dist/esm/dropi-country-selector.entry.js +50 -17
- package/dist/esm/dropi-date-picker-range.entry.js +8 -8
- package/dist/esm/dropi-date-picker.entry.js +53 -35
- package/dist/esm/dropi-drawer.entry.js +38 -9
- package/dist/esm/dropi-dropdown.entry.js +23 -16
- package/dist/esm/dropi-empty-state.entry.js +15 -18
- package/dist/esm/dropi-favorite-button.entry.js +5 -5
- package/dist/esm/dropi-file-upload-progress-bar.entry.js +57 -32
- package/dist/esm/dropi-file-upload.entry.js +210 -57
- package/dist/esm/dropi-icon.entry.js +21 -4
- package/dist/esm/dropi-ilustration-icon.entry.js +3 -3
- package/dist/esm/dropi-image-miniature.entry.js +2 -2
- package/dist/esm/dropi-image-overlay.entry.js +4 -3
- package/dist/esm/dropi-input_3.entry.js +388 -0
- package/dist/esm/dropi-languages-selector.entry.js +10 -6
- package/dist/esm/dropi-logo.entry.js +12 -2
- package/dist/esm/dropi-lottie-loader.entry.js +5 -5
- package/dist/esm/dropi-media-player.entry.js +131 -41
- package/dist/esm/dropi-modal.entry.js +46 -20
- package/dist/esm/dropi-navbar.entry.js +14 -12
- package/dist/esm/dropi-otp-send-code.entry.js +13 -13
- package/dist/esm/dropi-phone-input.entry.js +163 -50
- package/dist/esm/dropi-radio-button.entry.js +7 -7
- package/dist/esm/dropi-radio-selection-list.entry.js +17 -13
- package/dist/esm/dropi-read-more.entry.js +8 -4
- package/dist/esm/dropi-search.entry.js +52 -38
- package/dist/esm/dropi-select.entry.js +102 -55
- package/dist/esm/dropi-sidebar.entry.js +61 -50
- package/dist/esm/dropi-simple-stepper.entry.js +8 -6
- package/dist/esm/dropi-skeleton.entry.js +16 -6
- package/dist/esm/dropi-steps.entry.js +6 -4
- package/dist/esm/dropi-switch.entry.js +5 -5
- package/dist/esm/dropi-table.entry.js +212 -37
- package/dist/esm/dropi-tabs.entry.js +13 -11
- package/dist/esm/dropi-tag-type-product.entry.js +3 -3
- package/dist/esm/dropi-text-area.entry.js +45 -14
- package/dist/esm/dropi-time-line.entry.js +3 -3
- package/dist/esm/dropi-toast.entry.js +7 -6
- package/dist/esm/dropi-tooltip-v2.entry.js +129 -0
- package/dist/esm/dropi-tooltip.entry.js +5 -26
- package/dist/esm/dropi-ui.js +3 -3
- package/dist/esm/dropi-vertical-steps.entry.js +6 -6
- package/dist/esm/dropi-youtube-lazy-video.entry.js +3 -3
- package/dist/esm/{index-Tbza12Gt.js → index-D5SAM1O2.js} +1044 -15
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/dropi-accordion/dropi-accordion-item.d.ts +24 -0
- package/dist/types/components/dropi-accordion/dropi-accordion.d.ts +3 -23
- package/dist/types/components/dropi-alert/dropi-alert.d.ts +9 -3
- package/dist/types/components/dropi-alert-legacy/dropi-alert-legacy.d.ts +18 -0
- package/dist/types/components/dropi-alert-modal/dropi-alert-modal.d.ts +26 -8
- package/dist/types/components/dropi-badge-legacy/dropi-badge-legacy.d.ts +15 -0
- package/dist/types/components/dropi-banner-external/dropi-banner-external.d.ts +11 -3
- package/dist/types/components/dropi-button/dropi-button.d.ts +4 -2
- package/dist/types/components/dropi-card-checkbox/dropi-card-checkbox.d.ts +8 -7
- package/dist/types/components/dropi-card-product/dropi-card-product.d.ts +19 -15
- package/dist/types/components/dropi-card-section/dropi-card-section.d.ts +5 -5
- package/dist/types/components/dropi-carousel/dropi-carousel.d.ts +31 -27
- package/dist/types/components/dropi-checkbox/dropi-checkbox.d.ts +1 -1
- package/dist/types/components/dropi-checkbox-selection-list/dropi-checkbox-selection-list.d.ts +7 -5
- package/dist/types/components/dropi-chips/dropi-chips.d.ts +4 -4
- package/dist/types/components/dropi-city-selector/dropi-city-selector.d.ts +3 -1
- package/dist/types/components/dropi-color-picker/dropi-color-picker.d.ts +51 -26
- package/dist/types/components/dropi-country-flags/dropi-country-flags.d.ts +1 -1
- package/dist/types/components/dropi-country-selector/dropi-country-selector.d.ts +16 -5
- package/dist/types/components/dropi-date-picker/dropi-date-picker.d.ts +16 -8
- package/dist/types/components/dropi-date-picker-range/dropi-date-picker-range.d.ts +2 -2
- package/dist/types/components/dropi-drawer/dropi-drawer.d.ts +12 -6
- package/dist/types/components/dropi-dropdown/dropi-dropdown.d.ts +12 -6
- package/dist/types/components/dropi-empty-state/dropi-empty-state.d.ts +12 -14
- package/dist/types/components/dropi-favorite-button/dropi-favorite-button.d.ts +1 -1
- package/dist/types/components/dropi-file-upload/dropi-file-upload.d.ts +65 -26
- package/dist/types/components/dropi-file-upload-progress-bar/dropi-file-upload-progress-bar.d.ts +24 -16
- package/dist/types/components/dropi-icon/dropi-icon.d.ts +3 -1
- package/dist/types/components/dropi-image-overlay/dropi-image-overlay.d.ts +1 -1
- package/dist/types/components/dropi-input/dropi-input.d.ts +27 -17
- package/dist/types/components/dropi-languages-selector/dropi-languages-selector.d.ts +1 -1
- package/dist/types/components/dropi-logo/dropi-logo.d.ts +2 -0
- package/dist/types/components/dropi-lottie-loader/dropi-lottie-loader.d.ts +1 -1
- package/dist/types/components/dropi-media-player/dropi-media-player.d.ts +26 -19
- package/dist/types/components/dropi-modal/dropi-modal.d.ts +24 -5
- package/dist/types/components/dropi-navbar/dropi-navbar.d.ts +7 -5
- package/dist/types/components/dropi-otp-send-code/dropi-otp-send-code.d.ts +1 -1
- package/dist/types/components/dropi-paginator/dropi-paginator.d.ts +10 -20
- package/dist/types/components/dropi-phone-input/dropi-phone-input.d.ts +35 -20
- package/dist/types/components/dropi-radio-button/dropi-radio-button.d.ts +2 -2
- package/dist/types/components/dropi-radio-selection-list/dropi-radio-selection-list.d.ts +11 -4
- package/dist/types/components/dropi-read-more/dropi-read-more.d.ts +4 -0
- package/dist/types/components/dropi-search/dropi-search.d.ts +24 -12
- package/dist/types/components/dropi-select/dropi-select.d.ts +26 -15
- package/dist/types/components/dropi-sidebar/dropi-sidebar.d.ts +32 -26
- package/dist/types/components/dropi-simple-stepper/dropi-simple-stepper.d.ts +2 -0
- package/dist/types/components/dropi-skeleton/dropi-skeleton.d.ts +4 -1
- package/dist/types/components/dropi-steps/dropi-steps.d.ts +3 -0
- package/dist/types/components/dropi-switch/dropi-switch.d.ts +1 -1
- package/dist/types/components/dropi-table/dropi-table.d.ts +90 -14
- package/dist/types/components/dropi-tabs/dropi-tabs.d.ts +5 -3
- package/dist/types/components/dropi-text-area/dropi-text-area.d.ts +27 -6
- package/dist/types/components/dropi-tooltip/dropi-tooltip.d.ts +3 -17
- package/dist/types/components/dropi-tooltip-v2/dropi-tooltip.d.ts +59 -0
- package/dist/types/components/dropi-vertical-steps/dropi-vertical-steps.d.ts +1 -1
- package/dist/types/components.d.ts +2182 -1180
- package/dist/types/index.d.ts +1 -0
- package/hydrate/index.d.ts +287 -0
- package/hydrate/index.js +30455 -0
- package/hydrate/index.mjs +30445 -0
- package/hydrate/package.json +12 -0
- package/package.json +33 -5
- package/readme.md +97 -18
- package/scripts/setup.js +310 -29
- package/skills/install-dropi-ui/skill.md +15 -10
- package/dist/cjs/dropi-input.cjs.entry.js +0 -210
- package/dist/cjs/dropi-paginator.cjs.entry.js +0 -91
- package/dist/cjs/dropi-tag.cjs.entry.js +0 -68
- package/dist/components/p-BY_J-4Sm.js +0 -1
- package/dist/components/p-CYCV-5qV.js +0 -1
- package/dist/components/p-D0ZJcRZn.js +0 -1
- package/dist/components/p-DUPOnSiL.js +0 -1
- package/dist/components/p-DUX_WvqW.js +0 -1
- package/dist/components/p-wO1yy0Zr.js +0 -1
- package/dist/dropi-ui/p-053ebb91.entry.js +0 -1
- package/dist/dropi-ui/p-0acd32e6.entry.js +0 -1
- package/dist/dropi-ui/p-0e88a543.entry.js +0 -1
- package/dist/dropi-ui/p-0f2f5f75.entry.js +0 -1
- package/dist/dropi-ui/p-131d87ac.entry.js +0 -1
- package/dist/dropi-ui/p-1af4719d.entry.js +0 -1
- package/dist/dropi-ui/p-1e8f6d4a.entry.js +0 -1
- package/dist/dropi-ui/p-22132b1a.entry.js +0 -1
- package/dist/dropi-ui/p-2c1aaf6f.entry.js +0 -1
- package/dist/dropi-ui/p-2e9b87a9.entry.js +0 -1
- package/dist/dropi-ui/p-3414a414.entry.js +0 -1
- package/dist/dropi-ui/p-34ad54a1.entry.js +0 -1
- package/dist/dropi-ui/p-3531378b.entry.js +0 -1
- package/dist/dropi-ui/p-3983a7aa.entry.js +0 -1
- package/dist/dropi-ui/p-40e91337.entry.js +0 -1
- package/dist/dropi-ui/p-4a8646e5.entry.js +0 -1
- package/dist/dropi-ui/p-4be64bf0.entry.js +0 -1
- package/dist/dropi-ui/p-4ec17510.entry.js +0 -1
- package/dist/dropi-ui/p-5023eef0.entry.js +0 -1
- package/dist/dropi-ui/p-51a97b1a.entry.js +0 -1
- package/dist/dropi-ui/p-52796d84.entry.js +0 -1
- package/dist/dropi-ui/p-53a5bd7b.entry.js +0 -1
- package/dist/dropi-ui/p-5425f941.entry.js +0 -1
- package/dist/dropi-ui/p-58d0bf7a.entry.js +0 -1
- package/dist/dropi-ui/p-59d3bd9b.entry.js +0 -1
- package/dist/dropi-ui/p-5e957631.entry.js +0 -1
- package/dist/dropi-ui/p-64cbf4ea.entry.js +0 -1
- package/dist/dropi-ui/p-68080534.entry.js +0 -1
- package/dist/dropi-ui/p-6da6b97e.entry.js +0 -1
- package/dist/dropi-ui/p-6df57f25.entry.js +0 -1
- package/dist/dropi-ui/p-7c916570.entry.js +0 -1
- package/dist/dropi-ui/p-7e95462a.entry.js +0 -1
- package/dist/dropi-ui/p-80089042.entry.js +0 -1
- package/dist/dropi-ui/p-8768bb11.entry.js +0 -1
- package/dist/dropi-ui/p-896f2900.entry.js +0 -1
- package/dist/dropi-ui/p-89ac1ff2.entry.js +0 -1
- package/dist/dropi-ui/p-8ce79c69.entry.js +0 -1
- package/dist/dropi-ui/p-8e809670.entry.js +0 -1
- package/dist/dropi-ui/p-93b207b7.entry.js +0 -1
- package/dist/dropi-ui/p-983f72ad.entry.js +0 -1
- package/dist/dropi-ui/p-98babb78.entry.js +0 -1
- package/dist/dropi-ui/p-9fc53d50.entry.js +0 -1
- package/dist/dropi-ui/p-Tbza12Gt.js +0 -2
- package/dist/dropi-ui/p-a20705fe.entry.js +0 -1
- package/dist/dropi-ui/p-a72da98f.entry.js +0 -1
- package/dist/dropi-ui/p-a876d57c.entry.js +0 -1
- package/dist/dropi-ui/p-b1b0f938.entry.js +0 -1
- package/dist/dropi-ui/p-b2e176b1.entry.js +0 -1
- package/dist/dropi-ui/p-b890fd5b.entry.js +0 -1
- package/dist/dropi-ui/p-bf5a53ef.entry.js +0 -1
- package/dist/dropi-ui/p-c0677661.entry.js +0 -1
- package/dist/dropi-ui/p-c2562a1c.entry.js +0 -1
- package/dist/dropi-ui/p-c2b5d0fb.entry.js +0 -1
- package/dist/dropi-ui/p-c4d4396b.entry.js +0 -1
- package/dist/dropi-ui/p-cecfb68e.entry.js +0 -1
- package/dist/dropi-ui/p-d0b47e2e.entry.js +0 -1
- package/dist/dropi-ui/p-dcefef51.entry.js +0 -1
- package/dist/dropi-ui/p-e4b7e15f.entry.js +0 -1
- package/dist/dropi-ui/p-e7f4ed25.entry.js +0 -1
- package/dist/dropi-ui/p-f1d69b15.entry.js +0 -1
- package/dist/esm/dropi-input.entry.js +0 -208
- package/dist/esm/dropi-paginator.entry.js +0 -89
- package/dist/esm/dropi-tag.entry.js +0 -66
|
@@ -1,80 +1,233 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-D5SAM1O2.js';
|
|
2
2
|
|
|
3
|
-
const dropiFileUploadCss = () => `:host{display:block;width:100%}*,*::before,*::after{box-sizing:border-box}.upload-
|
|
3
|
+
const dropiFileUploadCss = () => `:host{display:block;width:100%}*,*::before,*::after{box-sizing:border-box}.upload-container{display:flex;flex-direction:column;gap:var(--Size-3, 12px);width:100%}.upload-header{display:flex;flex-direction:column;gap:var(--Size-1, 4px);align-items:flex-start;align-self:stretch}.upload-header .text{color:var(--Gray-Gray-600, #475066);font-size:var(--font-size-xs, 12px);font-style:normal;line-height:150%}.upload-header .title{font-weight:var(--font-weight-medium, 500)}.upload-header .label{font-weight:var(--font-weight-regular, 400)}.file-upload{display:flex;width:100%;flex-direction:column;justify-content:center;align-items:center;gap:var(--Size-3, 12px);background:var(--Neutral-White, #ffffff)}.file-upload__zone{display:flex;padding:var(--Size-5, 24px);flex-direction:column;justify-content:center;align-items:center;gap:var(--Size-6, 32px);align-self:stretch;border-radius:var(--Border-2, 8px);border:1px dashed var(--Gray-Gray-200, #c3c9d9);background:var(--Neutral-White, #ffffff);text-align:center;transition:border-color 0.3s ease}.file-upload__zone.drag-over{border:1px dashed var(--Primary-Primary-500, #f49a3d);background:var(--Primary-Primary-50, #fef8f1)}.info{display:flex;flex-direction:column;align-items:center;gap:var(--Size-2, 8px);align-self:stretch}.info .title{color:var(--Gray-Gray-700, #32394d);text-align:center;font-size:var(--font-size-m, 16px);font-weight:var(--font-weight-medium, 500);line-height:150%}.info.size-small-upload{flex-direction:row;gap:var(--Size-3, 12px)}.info-desc{display:flex;flex-direction:column;align-items:center;gap:var(--Size-1, 4px)}.description{color:var(--Gray-Gray-600, #475066);text-align:center;font-size:var(--font-size-s, 14px);font-style:normal;font-weight:var(--font-weight-regular, 400);line-height:150%}.upload-hidden{display:none}.files-container{display:flex;flex-direction:column;gap:var(--Size-3, 12px)}.grid-list{display:flex;align-items:flex-start;gap:var(--Size-5, 24px);align-self:stretch;flex-wrap:wrap}.add-img{display:flex;height:88px;width:88px;flex-direction:column;justify-content:center;align-items:center;gap:var(--Size-1, 4px);align-self:stretch;border-radius:var(--Border-2, 8px);background:var(--Gray-Gray-50, #f7f8fa);cursor:pointer}.add-img:hover{transform:scale(1.1)}.add-img .icon{display:flex;width:24px;height:24px;padding:4px;justify-content:center;align-items:center;flex-shrink:0;border-radius:var(--Border-3, 12px);background:var(--Gray-Gray-100, #e6eaf2)}.add-img .text{color:var(--Gray-Gray-600, #475066);text-align:center;font-size:var(--font-size-xs, 12px);font-style:normal;font-weight:var(--font-weight-regular, 400);line-height:150%}.card-list{display:flex;flex-direction:column;align-items:flex-start;gap:var(--Size-3, 12px);align-self:stretch;width:100%}.file-card{display:flex;padding:var(--Size-4, 16px);align-items:center;gap:var(--Size-3, 12px);align-self:stretch;border-radius:var(--Border-2, 8px);border:1px solid var(--Gray-Gray-100, #e6eaf2);background:var(--Neutral-White, #ffffff);width:100%}.file-card.error{border-color:var(--Error-Error-300, #f89b9c);background:var(--Error-Error-50, #fef0f0)}.file-card .preview-wrapper{width:34px;height:34px;position:relative;display:inline-block;border-radius:var(--Border-2, 8px);overflow:hidden;flex-shrink:0}.file-card .preview{width:100%;height:100%;object-fit:cover;flex-shrink:0}.file-card .preview.uploading{filter:blur(2px)}.file-card .overlay-icon{width:16px;height:16px;padding:4px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none;display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:var(--Border-3, 12px);background:var(--Neutral-White, #ffffff)}.file-card .file-icon{flex-shrink:0}.file-card .info-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--Size-2, 8px);flex:1 0 0;min-width:0}.file-card .file-name{overflow:hidden;color:var(--Gray-Gray-600, #475066);text-overflow:ellipsis;font-size:var(--font-size-xs, 12px);font-style:normal;font-weight:var(--font-weight-regular, 400);line-height:150%;white-space:nowrap;max-width:300px}.file-card .file-name.error-text{color:var(--Error-Error-500, #f46a6b)}.file-card .progress-bar-container{width:100%;height:4px;background-color:#f0f0f0;border-radius:4px;overflow:hidden}.file-card .progress-bar{height:100%;border-radius:4.5px;background:var(--Primary-Primary-500, #f49a3d);transition:width 0.3s ease}.file-card .error-label{color:var(--Error-Error-500, #f46a6b);font-size:11px;font-weight:var(--font-weight-regular, 400);line-height:150%}.file-card .deleting-container{display:flex;align-items:center;flex:1 0 0}.file-card .deleting-label{color:var(--Gray-Gray-500, #69738c);font-size:var(--font-size-xs, 12px);font-style:italic;font-weight:var(--font-weight-regular, 400);line-height:150%}.file-card .delete,.file-card .preview-image{display:inline-flex;align-items:center;justify-content:center;transition:transform 0.3s ease;border-radius:var(--Border-2, 8px);flex-shrink:0;cursor:pointer}.file-card .delete:hover,.file-card .preview-image:hover{transform:scale(1.1)}.file-card .delete-confirm{color:var(--Gray-Gray-600, #475066);font-size:var(--font-size-xs, 12px);font-style:normal;font-weight:var(--font-weight-medium, 500);line-height:150%;display:flex;justify-content:space-between;align-items:center;align-self:stretch;flex:1 0 0}.file-card .delete-confirm .message{flex:1}.file-card .delete-confirm .actions{display:flex;align-items:flex-start;gap:var(--Size-2, 8px)}.img-view{display:flex;width:88px;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--Size-2, 8px)}.img-view .preview-wrapper{position:relative;display:inline-block;width:88px;height:88px}.img-view .preview-container{border-radius:var(--Border-2, 8px);overflow:hidden;width:100%;height:100%}.img-view .preview{width:100%;height:100%;object-fit:cover;flex-shrink:0}.img-view .preview.uploading{filter:blur(2px)}.img-view .overlay-icon{width:24px;height:24px;padding:6px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none;display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:var(--Border-3, 12px);background:var(--Neutral-White, #ffffff)}.img-view .delete{position:absolute;top:-12px;right:-9px;display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:var(--Border-3, 12px);background:var(--Neutral-White, #ffffff);cursor:pointer}.img-view .delete:hover{transform:scale(1.1)}.img-view.error .preview-wrapper{border:2px solid var(--Error-Error-500, #f46a6b);border-radius:var(--Border-2, 8px)}.img-view.deleting .preview-wrapper{opacity:0.4}.img-view .progress-bar-container{width:100%;height:4px;background-color:#f0f0f0;border-radius:4px;overflow:hidden}.img-view .progress-bar{height:100%;border-radius:4.5px;background:var(--Primary-Primary-500, #f49a3d);transition:width 0.3s ease}.img-view .deleting-info{width:100%;text-align:center}.img-view .deleting-info-label{color:var(--Gray-Gray-500, #69738c);font-size:var(--font-size-xxs, 10px);font-style:italic;font-weight:var(--font-weight-regular, 400);line-height:150%}@media screen and (max-width: 599px){.info.size-small-upload{flex-wrap:wrap;justify-content:center}.file-card .file-name{max-width:100px}}`;
|
|
4
4
|
|
|
5
5
|
const DropiFileUpload = class {
|
|
6
6
|
constructor(hostRef) {
|
|
7
7
|
registerInstance(this, hostRef);
|
|
8
|
-
this.
|
|
9
|
-
this.dropiFileError = createEvent(this, "dropiFileError", 7);
|
|
8
|
+
this.uploadedUrlsChange = createEvent(this, "uploadedUrlsChange", 7);
|
|
10
9
|
}
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
multiple = false;
|
|
15
|
-
/** Max file size in MB */
|
|
16
|
-
maxSizeMb = 10;
|
|
17
|
-
/** Disabled state */
|
|
18
|
-
disabled = false;
|
|
19
|
-
/** Label text above zone */
|
|
10
|
+
/** Título mostrado arriba del componente */
|
|
11
|
+
title = '';
|
|
12
|
+
/** Subtítulo informativo */
|
|
20
13
|
label = '';
|
|
21
|
-
/**
|
|
22
|
-
|
|
14
|
+
/** Texto dentro de la zona de drop */
|
|
15
|
+
textDropZone = 'Arrastra o sube una imagen aquí';
|
|
16
|
+
/** Texto del botón de selección */
|
|
17
|
+
textButton = 'Seleccionar Imagen';
|
|
18
|
+
/** Tipo de preview: card (lista) o grid (miniaturas) */
|
|
19
|
+
previewType = 'card';
|
|
20
|
+
/** Permitir múltiples archivos */
|
|
21
|
+
multiple = false;
|
|
22
|
+
/** Límite de archivos */
|
|
23
|
+
maxFiles = 1;
|
|
24
|
+
/** Tamaño máximo por archivo en MB */
|
|
25
|
+
maxFileSizeMB = 10;
|
|
26
|
+
/** Tipos aceptados (ej: "image/*,application/pdf") */
|
|
27
|
+
accept = '';
|
|
28
|
+
/** Solo vista — sin eliminar */
|
|
29
|
+
onlyView = false;
|
|
30
|
+
/** Mostrar drop-zone cuando ya hay archivos (modo grid) */
|
|
31
|
+
viewDragAndDrop = false;
|
|
32
|
+
/** Tamaño del drop zone */
|
|
33
|
+
dragAndDropSize = 'default';
|
|
34
|
+
selectedFiles = [];
|
|
35
|
+
error = false;
|
|
36
|
+
errorMessage = '';
|
|
23
37
|
dragging = false;
|
|
24
|
-
|
|
38
|
+
/** Emite los File[] cada vez que cambia la selección (el host maneja la subida) */
|
|
39
|
+
uploadedUrlsChange;
|
|
25
40
|
inputRef;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
41
|
+
dragCounter = 0;
|
|
42
|
+
// ─── helpers ──────────────────────────────────────────────────────────────
|
|
43
|
+
generateId(file) {
|
|
44
|
+
if (typeof crypto !== 'undefined' && 'randomUUID' in crypto) {
|
|
45
|
+
return `${file.name}-${crypto.randomUUID()}`;
|
|
46
|
+
}
|
|
47
|
+
return `${file.name}-${Date.now()}-${Math.floor(Math.random() * 1_000_000)}`;
|
|
48
|
+
}
|
|
49
|
+
getFileType(file) {
|
|
50
|
+
return file.type.startsWith('image/') ? 'image' : 'document';
|
|
51
|
+
}
|
|
52
|
+
getTypeView(file) {
|
|
53
|
+
return file.type.startsWith('image/') && this.previewType === 'grid' ? 'grid' : 'card';
|
|
54
|
+
}
|
|
55
|
+
getFileTypeClass(item) {
|
|
56
|
+
if (!item.file)
|
|
57
|
+
return 'generic';
|
|
58
|
+
const t = item.file.type;
|
|
59
|
+
if (t.includes('pdf'))
|
|
60
|
+
return 'pdf';
|
|
61
|
+
if (t.startsWith('image/'))
|
|
62
|
+
return 'image';
|
|
63
|
+
return 'generic';
|
|
64
|
+
}
|
|
65
|
+
isDropZoneHidden() {
|
|
66
|
+
return this.previewType === 'grid' && (!this.viewDragAndDrop || this.selectedFiles.length > 0);
|
|
67
|
+
}
|
|
68
|
+
generatePreviewUrl(file) {
|
|
69
|
+
return new Promise((resolve) => {
|
|
70
|
+
const reader = new FileReader();
|
|
71
|
+
reader.readAsDataURL(file);
|
|
72
|
+
reader.onload = () => resolve(reader.result);
|
|
73
|
+
reader.onerror = () => resolve('');
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
syncFileItem(id, changes) {
|
|
77
|
+
const idx = this.selectedFiles.findIndex(f => f.id === id);
|
|
78
|
+
if (idx === -1)
|
|
79
|
+
return;
|
|
80
|
+
const updated = { ...this.selectedFiles[idx], ...changes };
|
|
81
|
+
this.selectedFiles = [
|
|
82
|
+
...this.selectedFiles.slice(0, idx),
|
|
83
|
+
updated,
|
|
84
|
+
...this.selectedFiles.slice(idx + 1),
|
|
85
|
+
];
|
|
86
|
+
}
|
|
87
|
+
emitFiles() {
|
|
88
|
+
const files = this.selectedFiles
|
|
89
|
+
.filter(f => f.state === 'complete' && f.file)
|
|
90
|
+
.map(f => f.file);
|
|
91
|
+
this.uploadedUrlsChange.emit(files);
|
|
92
|
+
}
|
|
93
|
+
// ─── file handling ────────────────────────────────────────────────────────
|
|
94
|
+
async handleFiles(files) {
|
|
95
|
+
this.error = false;
|
|
96
|
+
if (files.length + this.selectedFiles.length > this.maxFiles) {
|
|
97
|
+
this.error = true;
|
|
98
|
+
this.errorMessage = `Máximo ${this.maxFiles} archivo(s) permitido(s)`;
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
for (const file of files) {
|
|
102
|
+
if (file.size > this.maxFileSizeMB * 1024 * 1024) {
|
|
103
|
+
this.error = true;
|
|
104
|
+
this.errorMessage = `"${file.name}" supera el tamaño máximo de ${this.maxFileSizeMB}MB`;
|
|
39
105
|
continue;
|
|
40
106
|
}
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
107
|
+
const item = {
|
|
108
|
+
id: this.generateId(file),
|
|
109
|
+
file,
|
|
110
|
+
progress: 0,
|
|
111
|
+
state: 'uploading',
|
|
112
|
+
fileType: this.getFileType(file),
|
|
113
|
+
typeView: this.getTypeView(file),
|
|
114
|
+
};
|
|
115
|
+
this.selectedFiles = [...this.selectedFiles, item];
|
|
116
|
+
// Simulate progress then complete (host handles actual upload)
|
|
117
|
+
this.simulateProgress(item.id);
|
|
118
|
+
if (item.fileType === 'image') {
|
|
119
|
+
const url = await this.generatePreviewUrl(file);
|
|
120
|
+
this.syncFileItem(item.id, { previewUrl: url });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
simulateProgress(id) {
|
|
125
|
+
let prog = 0;
|
|
126
|
+
const interval = setInterval(() => {
|
|
127
|
+
prog += Math.floor(Math.random() * 20) + 10;
|
|
128
|
+
if (prog >= 100) {
|
|
129
|
+
prog = 100;
|
|
130
|
+
clearInterval(interval);
|
|
131
|
+
this.syncFileItem(id, { progress: 100, state: 'complete' });
|
|
132
|
+
this.emitFiles();
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
this.syncFileItem(id, { progress: prog });
|
|
136
|
+
}
|
|
137
|
+
}, 150);
|
|
138
|
+
}
|
|
139
|
+
handleFileAction(item, type) {
|
|
140
|
+
if (item.state === 'error') {
|
|
141
|
+
this.selectedFiles = this.selectedFiles.filter(f => f.id !== item.id);
|
|
142
|
+
this.emitFiles();
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
switch (type) {
|
|
146
|
+
case 'delete':
|
|
147
|
+
this.syncFileItem(item.id, { state: 'confirm-delete' });
|
|
148
|
+
break;
|
|
149
|
+
case 'confirm-delete':
|
|
150
|
+
this.syncFileItem(item.id, { state: 'deleting' });
|
|
151
|
+
setTimeout(() => {
|
|
152
|
+
this.selectedFiles = this.selectedFiles.filter(f => f.id !== item.id);
|
|
153
|
+
this.emitFiles();
|
|
154
|
+
}, 400);
|
|
155
|
+
break;
|
|
156
|
+
case 'cancel-delete':
|
|
157
|
+
this.syncFileItem(item.id, { state: 'complete' });
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// ─── DOM events ───────────────────────────────────────────────────────────
|
|
162
|
+
onDragOver(e) {
|
|
163
|
+
e.preventDefault();
|
|
164
|
+
this.dragging = true;
|
|
165
|
+
}
|
|
166
|
+
onDragEnter(e) {
|
|
167
|
+
e.preventDefault();
|
|
168
|
+
this.dragCounter++;
|
|
169
|
+
this.dragging = true;
|
|
170
|
+
}
|
|
171
|
+
onDragLeave() {
|
|
172
|
+
this.dragCounter--;
|
|
173
|
+
if (this.dragCounter <= 0) {
|
|
174
|
+
this.dragCounter = 0;
|
|
175
|
+
this.dragging = false;
|
|
47
176
|
}
|
|
48
|
-
this.errors = errs;
|
|
49
|
-
if (valid.length)
|
|
50
|
-
this.dropiFilesSelected.emit(valid);
|
|
51
177
|
}
|
|
52
|
-
|
|
178
|
+
onDrop(e) {
|
|
53
179
|
e.preventDefault();
|
|
54
180
|
this.dragging = false;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
181
|
+
this.dragCounter = 0;
|
|
182
|
+
const files = Array.from(e.dataTransfer?.files ?? []);
|
|
183
|
+
if (files.length)
|
|
184
|
+
this.handleFiles(files);
|
|
58
185
|
}
|
|
59
|
-
|
|
186
|
+
onInputChange(e) {
|
|
60
187
|
const input = e.target;
|
|
61
|
-
|
|
62
|
-
this.readFiles(input.files);
|
|
188
|
+
const files = Array.from(input.files ?? []);
|
|
63
189
|
input.value = '';
|
|
190
|
+
if (files.length)
|
|
191
|
+
this.handleFiles(files);
|
|
192
|
+
}
|
|
193
|
+
openFilePicker() {
|
|
194
|
+
this.inputRef?.click();
|
|
195
|
+
}
|
|
196
|
+
addImage() {
|
|
197
|
+
this.inputRef?.click();
|
|
198
|
+
}
|
|
199
|
+
// ─── render helpers ───────────────────────────────────────────────────────
|
|
200
|
+
renderCheckSvg() {
|
|
201
|
+
return (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, h("g", { "clip-path": "url(#ck)" }, h("path", { d: "M11.1594 2.2155L4.24992 9.1245C4.20347 9.17114 4.14826 9.20815 4.08747 9.2334C4.02668 9.25865 3.9615 9.27165 3.89567 9.27165C3.82985 9.27165 3.76467 9.25865 3.70388 9.2334C3.64308 9.20815 3.58788 9.17114 3.54142 9.1245L0.869423 6.45C0.822969 6.40337 0.767762 6.36636 0.70697 6.34111C0.646179 6.31586 0.581 6.30286 0.515173 6.30286C0.449346 6.30286 0.384167 6.31586 0.323376 6.34111C0.262585 6.36636 0.207378 6.40337 0.160923 6.45C0.114285 6.49646 0.0772787 6.55167 0.0520278 6.61246C0.026777 6.67325 0.0137787 6.73843 0.0137787 6.80425C0.0137787 6.87008 0.026777 6.93526 0.0520278 6.99605C0.0772787 7.05684 0.114285 7.11205 0.160923 7.1585L2.83392 9.831C3.1159 10.1125 3.49802 10.2705 3.89642 10.2705C4.29482 10.2705 4.67695 10.1125 4.95892 9.831L11.8679 2.9235C11.9145 2.87706 11.9514 2.82188 11.9766 2.76114C12.0018 2.70039 12.0148 2.63527 12.0148 2.5695C12.0148 2.50374 12.0018 2.43862 11.9766 2.37787C11.9514 2.31713 11.9145 2.26195 11.8679 2.2155C11.8215 2.16887 11.7663 2.13186 11.7055 2.10661C11.6447 2.08136 11.5795 2.06836 11.5137 2.06836C11.4478 2.06836 11.3827 2.08136 11.3219 2.10661C11.2611 2.13186 11.2059 2.16887 11.1594 2.2155Z", fill: "#0ABB87" })), h("defs", null, h("clipPath", { id: "ck" }, h("rect", { width: "12", height: "12", fill: "white" })))));
|
|
202
|
+
}
|
|
203
|
+
renderTrashSvg() {
|
|
204
|
+
return (h("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M16.25 4.44453H14.0972C13.936 3.66078 13.5096 2.95657 12.8897 2.45058C12.2699 1.94459 11.4946 1.66776 10.6944 1.66675H9.30554C8.5054 1.66776 7.73007 1.94459 7.11023 2.45058C6.49039 2.95657 6.06394 3.66078 5.90276 4.44453H3.74999C3.56581 4.44453 3.38917 4.51769 3.25894 4.64792C3.12871 4.77816 3.05554 4.95479 3.05554 5.13897C3.05554 5.32315 3.12871 5.49978 3.25894 5.63002C3.38917 5.76025 3.56581 5.83341 3.74999 5.83341H4.44443V14.8612C4.44553 15.7817 4.81171 16.6643 5.46264 17.3152C6.11357 17.9661 6.9961 18.3323 7.91665 18.3334H12.0833C13.0039 18.3323 13.8864 17.9661 14.5373 17.3152C15.1883 16.6643 15.5544 15.7817 15.5555 14.8612V5.83341H16.25C16.4342 5.83341 16.6108 5.76025 16.741 5.63002C16.8713 5.49978 16.9444 5.32315 16.9444 5.13897C16.9444 4.95479 16.8713 4.77816 16.741 4.64792C16.6108 4.51769 16.4342 4.44453 16.25 4.44453ZM9.30554 3.05564H10.6944C11.1252 3.05616 11.5452 3.18993 11.8969 3.43858C12.2487 3.68724 12.5149 4.03862 12.659 4.44453H7.34096C7.48511 4.03862 7.75131 3.68724 8.10303 3.43858C8.45476 3.18993 8.8748 3.05616 9.30554 3.05564ZM14.1667 14.8612C14.1667 15.4137 13.9472 15.9436 13.5565 16.3343C13.1658 16.725 12.6359 16.9445 12.0833 16.9445H7.91665C7.36412 16.9445 6.83421 16.725 6.44351 16.3343C6.05281 15.9436 5.83332 15.4137 5.83332 14.8612V5.83341H14.1667V14.8612Z", fill: "#DE6061" }), h("path", { d: "M8.61115 14.1663C8.79533 14.1663 8.97197 14.0931 9.1022 13.9629C9.23243 13.8327 9.3056 13.656 9.3056 13.4719V9.30521C9.3056 9.12103 9.23243 8.94439 9.1022 8.81416C8.97197 8.68393 8.79533 8.61076 8.61115 8.61076C8.42698 8.61076 8.25034 8.68393 8.12011 8.81416C7.98988 8.94439 7.91671 9.12103 7.91671 9.30521V13.4719C7.91671 13.656 7.98988 13.8327 8.12011 13.9629C8.25034 14.0931 8.42698 14.1663 8.61115 14.1663Z", fill: "#DE6061" }), h("path", { d: "M11.3888 14.1663C11.573 14.1663 11.7497 14.0931 11.8799 13.9629C12.0101 13.8327 12.0833 13.656 12.0833 13.4719V9.30521C12.0833 9.12103 12.0101 8.94439 11.8799 8.81416C11.7497 8.68393 11.573 8.61076 11.3888 8.61076C11.2047 8.61076 11.028 8.68393 10.8978 8.81416C10.7676 8.94439 10.6944 9.12103 10.6944 9.30521V13.4719C10.6944 13.656 10.7676 13.8327 10.8978 13.9629C11.028 14.0931 11.2047 14.1663 11.3888 14.1663Z", fill: "#DE6061" })));
|
|
205
|
+
}
|
|
206
|
+
renderTrashGridSvg() {
|
|
207
|
+
return (h("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M8 0.5H24C28.1421 0.5 31.5 3.85786 31.5 8V24C31.5 28.1421 28.1421 31.5 24 31.5H8C3.85786 31.5 0.5 28.1421 0.5 24V8C0.5 3.85786 3.85786 0.5 8 0.5Z", fill: "white" }), h("path", { d: "M8 0.5H24C28.1421 0.5 31.5 3.85786 31.5 8V24C31.5 28.1421 28.1421 31.5 24 31.5H8C3.85786 31.5 0.5 28.1421 0.5 24V8C0.5 3.85786 3.85786 0.5 8 0.5Z", stroke: "#F7F8FA" }), h("path", { d: "M22.25 10.4445H20.0972C19.936 9.66072 19.5096 8.95651 18.8897 8.45052C18.2699 7.94453 17.4945 7.6677 16.6944 7.66669H15.3055C14.5054 7.6677 13.73 7.94453 13.1102 8.45052C12.4904 8.95651 12.0639 9.66072 11.9027 10.4445H9.74996C9.56578 10.4445 9.38914 10.5176 9.25891 10.6479C9.12868 10.7781 9.05551 10.9547 9.05551 11.1389C9.05551 11.3231 9.12868 11.4997 9.25891 11.63C9.38914 11.7602 9.56578 11.8334 9.74996 11.8334H10.4444V20.8611C10.4455 21.7817 10.8117 22.6642 11.4626 23.3151C12.1135 23.9661 12.9961 24.3323 13.9166 24.3334H18.0833C19.0038 24.3323 19.8864 23.9661 20.5373 23.3151C21.1882 22.6642 21.5544 21.7817 21.5555 20.8611V11.8334H22.25C22.4341 11.8334 22.6108 11.7602 22.741 11.63C22.8712 11.4997 22.9444 11.3231 22.9444 11.1389C22.9444 10.9547 22.8712 10.7781 22.741 10.6479C22.6108 10.5176 22.4341 10.4445 22.25 10.4445ZM15.3055 9.05558H16.6944C17.1251 9.0561 17.5452 9.18986 17.8969 9.43852C18.2486 9.68718 18.5148 10.0386 18.659 10.4445H13.3409C13.4851 10.0386 13.7513 9.68718 14.103 9.43852C14.4547 9.18986 14.8748 9.0561 15.3055 9.05558ZM20.1666 20.8611C20.1666 21.4137 19.9471 21.9436 19.5564 22.3343C19.1657 22.725 18.6358 22.9445 18.0833 22.9445H13.9166C13.3641 22.9445 12.8342 22.725 12.4435 22.3343C12.0528 21.9436 11.8333 21.4137 11.8333 20.8611V11.8334H20.1666V20.8611Z", fill: "#DE6061" }), h("path", { d: "M14.6111 20.1662C14.7953 20.1662 14.9719 20.0931 15.1022 19.9628C15.2324 19.8326 15.3056 19.656 15.3056 19.4718V15.3051C15.3056 15.121 15.2324 14.9443 15.1022 14.8141C14.9719 14.6839 14.7953 14.6107 14.6111 14.6107C14.4269 14.6107 14.2503 14.6839 14.1201 14.8141C13.9898 14.9443 13.9167 15.121 13.9167 15.3051V19.4718C13.9167 19.656 13.9898 19.8326 14.1201 19.9628C14.2503 20.0931 14.4269 20.1662 14.6111 20.1662Z", fill: "#DE6061" }), h("path", { d: "M17.3888 20.1662C17.573 20.1662 17.7496 20.0931 17.8799 19.9628C18.0101 19.8326 18.0833 19.656 18.0833 19.4718V15.3051C18.0833 15.121 18.0101 14.9443 17.8799 14.8141C17.7496 14.6839 17.573 14.6107 17.3888 14.6107C17.2046 14.6107 17.028 14.6839 16.8978 14.8141C16.7675 14.9443 16.6944 15.121 16.6944 15.3051V19.4718C16.6944 19.656 16.7675 19.8326 16.8978 19.9628C17.028 20.0931 17.2046 20.1662 17.3888 20.1662Z", fill: "#DE6061" })));
|
|
208
|
+
}
|
|
209
|
+
renderPdfSvg() {
|
|
210
|
+
return (h("svg", { class: "icon-pdf", width: "34", height: "34", viewBox: "0 0 34 34", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M0 8C0 3.58172 3.58172 0 8 0H26C30.4183 0 34 3.58172 34 8V26C34 30.4183 30.4183 34 26 34H8C3.58172 34 0 30.4183 0 26V8Z", fill: "#FEF0F0" }), h("g", { "clip-path": "url(#pdf)" }, h("path", { d: "M24.1252 11.1167L21.2168 8.20833C20.1168 7.10833 18.6502 6.5 17.0918 6.5H13.3335C11.0335 6.5 9.16684 8.36667 9.16684 10.6667V22.3333C9.16684 24.6333 11.0335 26.5 13.3335 26.5H21.6668C23.9668 26.5 25.8335 24.6333 25.8335 22.3333V15.2417C25.8335 13.6833 25.2252 12.2167 24.1252 11.1167Z", fill: "#DE6061" })), h("defs", null, h("clipPath", { id: "pdf" }, h("rect", { width: "20", height: "20", fill: "white", transform: "translate(7.5 6.5)" })))));
|
|
211
|
+
}
|
|
212
|
+
renderDocSvg() {
|
|
213
|
+
return (h("svg", { class: "icon-default", width: "34", height: "34", viewBox: "0 0 34 34", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M0 8C0 3.58172 3.58172 0 8 0H26C30.4183 0 34 3.58172 34 8V26C34 30.4183 30.4183 34 26 34H8C3.58172 34 0 30.4183 0 26V8Z", fill: "#EEF6FE" }), h("g", { "clip-path": "url(#doc)" }, h("path", { d: "M21.1668 18.6667C21.1668 18.8877 21.079 19.0997 20.9227 19.2559C20.7664 19.4122 20.5545 19.5 20.3335 19.5H13.6668C13.4458 19.5 13.2338 19.4122 13.0775 19.2559C12.9213 19.0997 12.8335 18.8877 12.8335 18.6667C12.8335 18.4457 12.9213 18.2337 13.0775 18.0774C13.2338 17.9211 13.4458 17.8334 13.6668 17.8334H20.3335C20.5545 17.8334 20.7664 17.9211 20.9227 18.0774C21.079 18.2337 21.1668 18.4457 21.1668 18.6667ZM17.8335 21.1667H13.6668C13.4458 21.1667 13.2338 21.2545 13.0775 21.4108C12.9213 21.567 12.8335 21.779 12.8335 22C12.8335 22.221 12.9213 22.433 13.0775 22.5893C13.2338 22.7456 13.4458 22.8334 13.6668 22.8334H17.8335C18.0545 22.8334 18.2664 22.7456 18.4227 22.5893C18.579 22.433 18.6668 22.221 18.6668 22C18.6668 21.779 18.579 21.567 18.4227 21.4108C18.2664 21.2545 18.0545 21.1667 17.8335 21.1667Z", fill: "#4996DB" })), h("defs", null, h("clipPath", { id: "doc" }, h("rect", { width: "20", height: "20", fill: "white", transform: "translate(7 7)" })))));
|
|
214
|
+
}
|
|
215
|
+
renderCardItem(item) {
|
|
216
|
+
const isImage = item.fileType === 'image' && item.previewUrl && !item.previewUrl.includes('.pdf');
|
|
217
|
+
const isPdf = item.file?.type?.includes('pdf');
|
|
218
|
+
return (h("div", { key: item.id, class: `file-card ${item.state} ${this.getFileTypeClass(item)}` }, isImage ? (h("div", { class: "preview-wrapper" }, h("img", { class: `preview ${item.state}`, src: item.previewUrl, alt: item.file?.name }), item.state === 'complete' && (h("div", { class: "overlay-icon" }, this.renderCheckSvg())))) : (h("div", { class: "file-icon" }, isPdf ? this.renderPdfSvg() : this.renderDocSvg())), item.state !== 'confirm-delete' && item.state !== 'deleting' && (h("div", { class: "info-container" }, h("div", { class: `file-name${item.state === 'error' ? ' error-text' : ''}` }, item.file?.name ?? item.previewUrl?.split('/').pop()), item.state === 'uploading' && (h("div", { class: "progress-bar-container" }, h("div", { class: "progress-bar", style: { width: `${item.progress}%` } }))), item.state === 'error' && (h("div", { class: "error-label" }, "Error al subir el archivo")))), item.state === 'deleting' && (h("div", { class: "deleting-container" }, h("span", { class: "deleting-label" }, "Eliminando..."))), item.state !== 'confirm-delete' && item.state !== 'error' && item.state !== 'deleting' && (h("div", { class: "preview-image", onClick: () => { } }, h("dropi-icon", { name: "Eye", width: "20px", height: "20px", color: "Gray-Gray-600" }))), item.state !== 'confirm-delete' && item.state !== 'deleting' && !this.onlyView && (h("div", { class: "delete", onClick: () => this.handleFileAction(item, 'delete') }, this.renderTrashSvg())), item.state === 'confirm-delete' && (h("div", { class: "delete-confirm" }, h("span", { class: "message" }, item.previewUrl ? '¿Eliminar imagen?' : '¿Eliminar archivo?'), h("div", { class: "actions" }, h("dropi-button", { size: "small", text: "S\u00ED", onClick: () => this.handleFileAction(item, 'confirm-delete') }), h("dropi-button", { text: "No", size: "small", severity: "secondary", onClick: () => this.handleFileAction(item, 'cancel-delete') }))))));
|
|
219
|
+
}
|
|
220
|
+
renderGridItem(item) {
|
|
221
|
+
return (h("div", { key: item.id, class: `img-view ${item.state} ${this.getFileTypeClass(item)}` }, h("div", { class: "preview-wrapper" }, h("div", { class: "preview-container" }, h("img", { class: `preview ${item.state}`, src: item.previewUrl || '', alt: "preview" })), item.state === 'complete' && (h("div", { class: "overlay-icon" }, this.renderCheckSvg())), item.state !== 'confirm-delete' && item.state !== 'deleting' && (h("div", { class: "delete", onClick: () => this.handleFileAction(item, 'confirm-delete') }, this.renderTrashGridSvg()))), item.state === 'uploading' && (h("div", { class: "progress-bar-container" }, h("div", { class: "progress-bar", style: { width: `${item.progress}%` } }))), item.state === 'deleting' && (h("div", { class: "deleting-info" }, h("span", { class: "deleting-info-label" }, "Eliminando...")))));
|
|
64
222
|
}
|
|
223
|
+
// ─── render ───────────────────────────────────────────────────────────────
|
|
65
224
|
render() {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
this.inputRef.click();
|
|
73
|
-
}, onDragOver: (e) => {
|
|
74
|
-
e.preventDefault();
|
|
75
|
-
if (!this.disabled)
|
|
76
|
-
this.dragging = true;
|
|
77
|
-
}, onDragLeave: () => this.dragging = false, onDrop: (e) => this.handleDrop(e) }, h("dropi-icon", { key: '436802ec23dc677807ecac36947cd58f9d253e4d', name: "Upload", width: "32px", height: "32px", color: "Primary-Primary-500" }), h("p", { key: 'c80ed3536466ae22dcd96fabf353a736515e5bab', class: "upload-zone__text" }, this.helperText), this.maxSizeMb && (h("p", { key: '26defe6cece9a9ba6e9d7e2a1913a65607a20036', class: "upload-zone__hint" }, "Tama\u00F1o m\u00E1ximo: ", this.maxSizeMb, " MB")), h("input", { key: '00f7657bfc1646f01dfbc0339df6ed9f04a71ab0', ref: (el) => this.inputRef = el, type: "file", accept: this.accept, multiple: this.multiple, class: "upload-hidden", onChange: (e) => this.handleInputChange(e) })), this.errors.map(err => (h("p", { class: "upload-error" }, err)))));
|
|
225
|
+
const files = this.selectedFiles ?? [];
|
|
226
|
+
const gridFiles = files.filter(f => f.typeView === 'grid');
|
|
227
|
+
const cardFiles = files.filter(f => f.typeView === 'card');
|
|
228
|
+
const showDropZone = files.length < (this.maxFiles ?? 1) && !this.isDropZoneHidden();
|
|
229
|
+
const isSmall = this.dragAndDropSize === 'small';
|
|
230
|
+
return (h("div", { key: '2823263b5c803c23eb1bf091676a0fd86243117a', class: "upload-container" }, (this.title || this.label) && (h("div", { key: 'ec9c8a63c9c34f8c8ce68310c07dd8fda66ffda2', class: "upload-header" }, this.title && h("div", { key: 'f26ade32fe339a0382166345110ef3445bb58475', class: "text title" }, this.title), this.label && h("div", { key: 'becc99e74e8d555fc40bcd0854575c5b435faf85', class: "text label" }, this.label))), this.error && (h("dropi-alert", { key: 'b01f441d6083e31f5ddaa2bc661722835134e8f0', message: this.errorMessage, type: "default", state: "error", dismissable: true, showButton: false, onOnClose: () => { this.error = false; } })), showDropZone && (h("div", { key: 'e221786da335f56a6160874d56ad4b50c9b0702f', class: { 'file-upload': true, 'drag-over': this.dragging }, onDragOver: (e) => this.onDragOver(e), onDragEnter: (e) => this.onDragEnter(e), onDragLeave: () => this.onDragLeave(), onDrop: (e) => this.onDrop(e) }, h("div", { key: 'ad6d5ed22aa64c4a33e3861cc48271dbecc59279', class: `file-upload__zone${this.dragging ? ' drag-over' : ''}` }, !isSmall && (h("svg", { key: 'a5666c9aaad62e8a4b6677b288d853953ada6169', width: "40", height: "40", viewBox: "0 0 40 40", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '98a2c4e40aa67249f0b8b13f956846334a1b8652', d: "M0 20C0 8.95431 8.95431 0 20 0C31.0457 0 40 8.95431 40 20C40 31.0457 31.0457 40 20 40C8.95431 40 0 31.0457 0 20Z", fill: "#FEF8F1" }), h("g", { key: '892e4f122e593fd77f37048fcd68157a682bf1b7', "clip-path": "url(#up)" }, h("path", { key: 'aaaddae87cb45b9c00ddc98142c1ef5b2ec25a0a', d: "M19.3379 13.7187L19.3332 24.0107C19.3332 24.1875 19.4035 24.357 19.5285 24.4821C19.6535 24.6071 19.8231 24.6773 19.9999 24.6773C20.1767 24.6773 20.3463 24.6071 20.4713 24.4821C20.5963 24.357 20.6666 24.1875 20.6666 24.0107L20.6712 13.73L22.6126 15.672C22.7376 15.797 22.9071 15.8672 23.0839 15.8672C23.2607 15.8672 23.4302 15.797 23.5552 15.672C23.6802 15.547 23.7504 15.3774 23.7504 15.2007C23.7504 15.0239 23.6802 14.8543 23.5552 14.7293L21.4145 12.586C21.2288 12.4001 21.0083 12.2527 20.7655 12.1521C20.5228 12.0515 20.2626 11.9998 19.9999 11.9998C19.7371 11.9998 19.477 12.0515 19.2342 12.1521C18.9915 12.2527 18.771 12.4001 18.5852 12.586L16.4445 14.7273C16.3196 14.8523 16.2494 15.0219 16.2494 15.1987C16.2494 15.3754 16.3196 15.545 16.4445 15.67C16.5696 15.795 16.7391 15.8652 16.9159 15.8652C17.0927 15.8652 17.2622 15.795 17.3872 15.67L19.3379 13.7187Z", fill: "#F49A3D" }), h("path", { key: '4c9eddf5c6348984c7478701fe67e411d01cf8c5', d: "M26.6667 23.3329V25.9996C26.6667 26.1764 26.5964 26.346 26.4714 26.471C26.3464 26.596 26.1768 26.6663 26 26.6663H14C13.8232 26.6663 13.6536 26.596 13.5286 26.471C13.4036 26.346 13.3333 26.1764 13.3333 25.9996V23.3329C13.3333 23.1561 13.2631 22.9865 13.1381 22.8615C13.013 22.7365 12.8435 22.6663 12.6667 22.6663C12.4899 22.6663 12.3203 22.7365 12.1953 22.8615C12.0702 22.9865 12 23.1561 12 23.3329V25.9996C12 26.53 12.2107 27.0387 12.5858 27.4138C12.9609 27.7889 13.4696 27.9996 14 27.9996H26C26.5304 27.9996 27.0391 27.7889 27.4142 27.4138C27.7893 27.0387 28 26.53 28 25.9996V23.3329C28 23.1561 27.9298 22.9865 27.8047 22.8615C27.6797 22.7365 27.5101 22.6663 27.3333 22.6663C27.1565 22.6663 26.987 22.7365 26.8619 22.8615C26.7369 22.9865 26.6667 23.1561 26.6667 23.3329Z", fill: "#F49A3D" })), h("defs", { key: 'bcc8c24fcf8d9ea939dec31a36e5fce8c0fd203e' }, h("clipPath", { key: '9724c45ddf4d8983116baf1b4baadb8e1c83ed9d', id: "up" }, h("rect", { key: '1d0ca58ddc76c661f8278a177ad670633008bd5a', width: "16", height: "16", fill: "white", transform: "translate(12 12)" }))))), h("div", { key: 'd1a2c7a7cc539b1c519dcc5931c80eb38c230e1f', class: isSmall ? 'info size-small-upload' : 'info' }, h("div", { key: '4265e328f1bab72a221746afc15b0e7e8b6324b0', class: "title" }, this.textDropZone), isSmall && (h("dropi-button", { key: '076a0dfc2f087b9724e60980bb1217e676bdaeda', text: this.textButton, size: "small", onClick: (e) => { e.stopPropagation(); this.openFilePicker(); } }))), !isSmall && (h("div", { key: '070c2a5374d4262b4b66ea2a9f51a75358865011', class: "info-desc" }, this.accept && h("div", { key: '6482d13398d8ea654dbd5f5c684c7b0602da0b7d', class: "description" }, "Formatos admitidos: ", this.accept), h("div", { key: '25ccba2cd7a16f732f111aeefe076516b0c360f6', class: "description" }, "Tama\u00F1o m\u00E1ximo: ", this.maxFileSizeMB, "MB"))), !isSmall && (h("dropi-button", { key: 'a1ed64460aa8c9aead966d33fa8ef25ddc383000', text: this.textButton, size: "small", onClick: (e) => { e.stopPropagation(); this.openFilePicker(); } })), h("input", { key: 'b5debf074ef579d4bd74d1507ba63b912eeba37e', ref: (el) => this.inputRef = el, type: "file", accept: this.accept, multiple: this.multiple, class: "upload-hidden", onChange: (e) => this.onInputChange(e) })))), this.selectedFiles.length > 0 && (h("div", { key: '40d77d3c697b18637fa7669e857f5d931d91543d', class: "files-container" }, gridFiles.length > 0 && (h("div", { key: 'c8b2eac24568959a83500930fc36c54be04d3d75', class: "grid-list" }, gridFiles.map(f => this.renderGridItem(f)), gridFiles.length < this.maxFiles && (h("div", { key: '6782016ecee648dff31baa352db02413a37ad2ae', class: "add-img", onClick: () => this.addImage() }, h("div", { key: '08ecf1dae23fc4dac7818fd178d40a50a10a4508', class: "icon" }, h("svg", { key: 'c41793f302e1c0f7eeb91c0e524cd398988c62c2', width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'cf066997fbfb0aa31bacbb72ef037f67b74de5ec', d: "M9.77774 6.4444H7.55551V4.22218C7.55551 4.07484 7.49698 3.93353 7.3928 3.82934C7.28861 3.72516 7.1473 3.66663 6.99996 3.66663C6.85262 3.66663 6.71131 3.72516 6.60712 3.82934C6.50294 3.93353 6.4444 4.07484 6.4444 4.22218V6.4444H4.22218C4.07484 6.4444 3.93353 6.50294 3.82934 6.60712C3.72516 6.71131 3.66663 6.85262 3.66663 6.99996C3.66663 7.1473 3.72516 7.28861 3.82934 7.3928C3.93353 7.49698 4.07484 7.55551 4.22218 7.55551H6.4444V9.77774C6.4444 9.92508 6.50294 10.0664 6.60712 10.1706C6.71131 10.2748 6.85262 10.3333 6.99996 10.3333C7.1473 10.3333 7.28861 10.2748 7.3928 10.1706C7.49698 10.0664 7.55551 9.92508 7.55551 9.77774V7.55551H9.77774C9.92508 7.55551 10.0664 7.49698 10.1706 7.3928C10.2748 7.28861 10.3333 7.1473 10.3333 6.99996C10.3333 6.85262 10.2748 6.71131 10.1706 6.60712C10.0664 6.50294 9.92508 6.4444 9.77774 6.4444Z", fill: "#32394D" }))), h("div", { key: '03214b3dd6dad6b7d3973f36d041aafcb9089819', class: "text" }, "Agregar"))))), cardFiles.length > 0 && (h("div", { key: '4fb7c564b557885680f2aa2723273dac6f15cc72', class: "card-list" }, cardFiles.map(f => this.renderCardItem(f))))))));
|
|
78
231
|
}
|
|
79
232
|
};
|
|
80
233
|
DropiFileUpload.style = dropiFileUploadCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, a as getElement, h } from './index-
|
|
1
|
+
import { r as registerInstance, a as getElement, h } from './index-D5SAM1O2.js';
|
|
2
2
|
|
|
3
|
-
const dropiIconCss = () => `:host{display:inline-flex;align-items:center;justify-content:center;fill:var(--icon-fill, currentColor)}svg{fill:inherit;display:block;vertical-align:middle}.spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`;
|
|
3
|
+
const dropiIconCss = () => `:host{display:inline-flex;align-items:center;justify-content:center;fill:var(--icon-fill, currentColor);width:24px;height:24px;overflow:hidden}svg{fill:inherit;display:block;width:100%;height:100%;vertical-align:middle}.spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`;
|
|
4
4
|
|
|
5
5
|
const DropiIcon = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -23,10 +23,27 @@ const DropiIcon = class {
|
|
|
23
23
|
colorChanged() {
|
|
24
24
|
this.applyColor();
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
componentWillLoad() {
|
|
27
|
+
// SSR Fallback: Read attributes if props are not yet synced by hydration
|
|
28
|
+
if (!this.el.style.width && !this.el.style.height) {
|
|
29
|
+
const attrW = this.el.getAttribute('width') || '24px';
|
|
30
|
+
const attrH = this.el.getAttribute('height') || '24px';
|
|
31
|
+
this.width = attrW;
|
|
32
|
+
this.height = attrH;
|
|
33
|
+
}
|
|
27
34
|
this.applyColor();
|
|
35
|
+
this.updateHostStyles();
|
|
36
|
+
}
|
|
37
|
+
componentDidUpdate() {
|
|
38
|
+
this.updateHostStyles();
|
|
39
|
+
}
|
|
40
|
+
updateHostStyles() {
|
|
41
|
+
this.el.style.width = this.width;
|
|
42
|
+
this.el.style.height = this.height;
|
|
28
43
|
}
|
|
29
44
|
applyColor() {
|
|
45
|
+
if (!this.color)
|
|
46
|
+
return;
|
|
30
47
|
const fill = this.color.startsWith('#')
|
|
31
48
|
? this.color
|
|
32
49
|
: this.color === 'currentColor'
|
|
@@ -35,7 +52,7 @@ const DropiIcon = class {
|
|
|
35
52
|
this.el.style.setProperty('--icon-fill', fill);
|
|
36
53
|
}
|
|
37
54
|
render() {
|
|
38
|
-
return (h("svg", { key: '
|
|
55
|
+
return (h("svg", { key: 'c705712bd21c4da94dcff8ce12b0c0b880681e95', width: this.width ?? '24px', height: this.height ?? '24px', class: { spin: (this.name ?? '') === 'Spinner' }, "aria-hidden": "true" }, h("use", { key: 'b02addb8203904ec059b3c92bd40b09e3c79622d', href: `/assets/icons/symbol/svg/sprite.css.svg#${this.name ?? ''}` })));
|
|
39
56
|
}
|
|
40
57
|
static get watchers() { return {
|
|
41
58
|
"color": [{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, h } from './index-
|
|
1
|
+
import { r as registerInstance, h } from './index-D5SAM1O2.js';
|
|
2
2
|
|
|
3
|
-
const dropiIlustrationIconCss = () => `:host{display:inline-flex}.dropi-ilustration{display:inline-flex;align-items:center;justify-content:center}.dropi-ilustration__image,.dropi-ilustration-insignia{margin:0;display:flex;align-items:center;justify-content:center}.dropi-ilustration__image img{max-width:100%;height:auto}.dropi-ilustration__image-mb{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0}.dropi-ilustration__image-mb.success{background:var(--Success-Success-500, #22c55e)}.dropi-ilustration__image-mb.error{background:var(--Error-Error-500, #ef4444)}.dropi-ilustration__image-mb.info{background:var(--Info-Info-500, #3b82f6)}.dropi-ilustration__image-mb.warning{background:url('assets/icons/ilustration/bg-warning.svg') no-repeat center;background-size:contain;border-radius:0}.dropi-ilustration-insignia-tag{display:flex;align-items:center;margin:0}.dropi-ilustration-insignia-tag img{position:relative;z-index:2;height:32px;width:auto}.tag{border-radius:32px;color:var(--Neutral-White, #
|
|
3
|
+
const dropiIlustrationIconCss = () => `:host{display:inline-flex}.dropi-ilustration{display:inline-flex;align-items:center;justify-content:center}.dropi-ilustration__image,.dropi-ilustration-insignia{margin:0;display:flex;align-items:center;justify-content:center}.dropi-ilustration__image img{max-width:100%;height:auto}.dropi-ilustration__image-mb{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0}.dropi-ilustration__image-mb.success{background:var(--Success-Success-500, #22c55e)}.dropi-ilustration__image-mb.error{background:var(--Error-Error-500, #ef4444)}.dropi-ilustration__image-mb.info{background:var(--Info-Info-500, #3b82f6)}.dropi-ilustration__image-mb.warning{background:url('assets/icons/ilustration/bg-warning.svg') no-repeat center;background-size:contain;border-radius:0}.dropi-ilustration-insignia-tag{display:flex;align-items:center;margin:0}.dropi-ilustration-insignia-tag img{position:relative;z-index:2;height:32px;width:auto}.tag{border-radius:32px;color:var(--Neutral-White, #ffffff);text-transform:capitalize;margin:0 0 0 -20px;display:flex;align-items:center;justify-content:flex-start}.tag span{color:var(--Neutral-White, #ffffff);padding:4px 8px 4px 18px;font-size:var(--font-size-xxs)}.tag--verified{background:linear-gradient(90deg, #ffc10d 41.3%, #ff6102 112.32%)}.tag--premium{background:linear-gradient(90deg, #ff6102 56.52%, #ffc10d 107.25%)}.tag--exclusive{background:linear-gradient(90deg, var(--Gray-900, #0e111a) 26.09%, #ff6102 116.67%)}`;
|
|
4
4
|
|
|
5
5
|
const DropiIlustrationIcon = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -29,7 +29,7 @@ const DropiIlustrationIcon = class {
|
|
|
29
29
|
return map[state] || 'Info';
|
|
30
30
|
}
|
|
31
31
|
render() {
|
|
32
|
-
return (h("div", { key: '
|
|
32
|
+
return (h("div", { key: '2f956eddb214de168aae134374512600867e77a8', class: "dropi-ilustration" }, this.type === 'dropi' && (h("figure", { key: '3d05624542d51f64cb6402fb958f039bc943afb7', class: "dropi-ilustration__image" }, h("img", { key: '6fb383b378d989f675433c46710e246dc193f26b', src: `assets/icons/ilustration/${(!this.state || String(this.state) === 'undefined' || String(this.state) === 'null') ? 'default' : this.state}.svg`, alt: this.state ?? 'default', onError: (e) => { e.target.src = 'assets/icons/ilustration/default.svg'; } }))), this.type === 'mb' && (h("figure", { key: 'f66957ddbba9506d041ab1b2e8877872b25bdbf3', class: `dropi-ilustration__image-mb ${this.state}` }, ['success', 'error', 'info', 'warning'].includes(this.state) && (h("dropi-icon", { key: '2844c2707906bcba57835c1e7652c52769b504fe', name: this.getIconName(this.state), width: "24px", height: "24px", color: "Neutral-White" })))), this.type === 'insignia' && (h("figure", { key: '4c091e2f415d252ae3cdaa7b62b1e4788192ae6c', class: this.tagProduct ? 'dropi-ilustration-insignia-tag' : 'dropi-ilustration-insignia' }, h("img", { key: 'dc9e11b8ecf525dbfd0c8c147a64e12350c2b6d5', src: this.insigniaIcons[this.stateInsignia], alt: this.stateInsignia }), this.tagProduct && (h("p", { key: '0fa7f6fdd1bb9075d1ef2a09a6701b0b464a746b', class: `tag tag--${this.stateInsignia}` }, h("span", { key: 'dae1336fefa32471ebbc78f1bcdd0c9b1c89dcba', class: "Caption-S" }, this.stateInsignia.charAt(0).toUpperCase() + this.stateInsignia.slice(1))))))));
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
DropiIlustrationIcon.style = dropiIlustrationIconCss();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-D5SAM1O2.js';
|
|
2
2
|
|
|
3
3
|
const dropiImageMiniatureCss = () => `:host{display:block}*,*::before,*::after{box-sizing:border-box}.miniature__label{display:block;font-size:var(--font-size-xs, 10px);color:var(--Gray-Gray-600, #475066);margin-bottom:var(--Size-2, 8px)}.miniature__grid{display:flex;flex-wrap:wrap;gap:var(--Size-2, 8px)}.miniature__item{position:relative;border-radius:var(--Border-2, 8px);overflow:hidden;cursor:pointer;flex-shrink:0}.miniature__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.2s}.miniature__zoom{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.35);opacity:0;transition:opacity 0.2s}.miniature__item:hover img{transform:scale(1.05)}.miniature__item:hover .miniature__zoom{opacity:1}`;
|
|
4
4
|
|
|
@@ -34,7 +34,7 @@ const DropiImageMiniature = class {
|
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
36
|
const imgs = this.parsedImages;
|
|
37
|
-
return (h("div", { key: '
|
|
37
|
+
return (h("div", { key: '111d908339df1d3fba74cb8737f3c72e2254e2f0', class: "miniature" }, this.label && h("span", { key: '007ecc8149b6778eac7dd80a978a088f686001eb', class: "miniature__label" }, this.label), h("div", { key: '95c18d71f5c753bd2610915b62632aca7fbd4d16', class: "miniature__grid" }, imgs.map((src, i) => (h("div", { class: "miniature__item", style: { width: this.width, height: this.height }, key: i, onClick: () => this.dropiImageClick.emit({ images: imgs, index: i }) }, h("img", { src: src, alt: `imagen ${i + 1}`, loading: "lazy", onError: (e) => this.handleError(e) }), h("div", { class: "miniature__zoom" }, h("dropi-icon", { name: "Search", width: "16px", height: "16px", color: "Neutral-White" }))))))));
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
DropiImageMiniature.style = dropiImageMiniatureCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-D5SAM1O2.js';
|
|
2
2
|
|
|
3
|
-
const dropiImageOverlayCss = () => `:host{display:block}.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.92);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fade-in 0.3s ease-out}.overlay__close{position:absolute;top:24px;right:24px;background:rgba(255, 255, 255, 0.1);border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10010;transition:background 0.15s}.overlay__close:hover{background:rgba(255, 255, 255, 0.2)}.overlay__body{display:flex;width:90%;height:80%;max-width:1200px;gap:32px;align-items:center}.overlay__body--single{justify-content:center}.overlay__thumbs{display:flex;flex-direction:column;gap:12px;height:100%;overflow-y:auto;padding-right:8px;width:100px;flex-shrink:0}.overlay__thumbs::-webkit-scrollbar{width:4px}.overlay__thumbs::-webkit-scrollbar-thumb{background
|
|
3
|
+
const dropiImageOverlayCss = () => `:host{display:block}.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.92);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fade-in 0.3s ease-out}.overlay__close{position:absolute;top:24px;right:24px;background:rgba(255, 255, 255, 0.1);border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10010;transition:background 0.15s}.overlay__close:hover{background:rgba(255, 255, 255, 0.2)}.overlay__body{display:flex;width:90%;height:80%;max-width:1200px;gap:32px;align-items:center}.overlay__body--single{justify-content:center}.overlay__thumbs{display:flex;flex-direction:column;gap:12px;height:100%;overflow-y:auto;padding-right:8px;width:100px;flex-shrink:0}.overlay__thumbs::-webkit-scrollbar{width:4px}.overlay__thumbs::-webkit-scrollbar-thumb{background:var(--Gray-Gray-600);border-radius:4px}.overlay__thumb-box{width:80px;height:80px;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;flex-shrink:0;transition:border-color 0.2s}.overlay__thumb-box--active{border-color:var(--Primary-Primary-500, #f49a3d)}.overlay__thumb-img{width:100%;height:100%;object-fit:cover}.overlay__content{flex:1;height:100%;position:relative;display:flex;justify-content:center;align-items:center}.overlay__main-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.5);animation:scale-up 0.3s ease-out}.overlay__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255, 255, 255, 0.1);border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s;z-index:5}.overlay__nav:hover{background:rgba(255, 255, 255, 0.2)}.overlay__nav--prev{left:-24px}.overlay__nav--next{right:-24px;background:var(--Neutral-White)}.overlay__nav--next:hover{background:var(--Neutral-White)}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes scale-up{from{transform:scale(0.9);opacity:0}to{transform:scale(1);opacity:1}}`;
|
|
4
4
|
|
|
5
5
|
const DropiImageOverlay = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -37,7 +37,8 @@ const DropiImageOverlay = class {
|
|
|
37
37
|
`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgMzAwIj48cmVjdCB3aWR0aD0iNDAwIiBoZWlnaHQ9IjMwMCIgZmlsbD0iIzFhMjAzMyIvPjx0ZXh0IHg9IjIwMCIgeT0iMTU1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmaWxsPSIjNDc1MDY2IiBmb250LXNpemU9IjE0Ij5TaW4gaW1hZ2VuPC90ZXh0Pjwvc3ZnPg==`;
|
|
38
38
|
}
|
|
39
39
|
render() {
|
|
40
|
-
|
|
40
|
+
const isVisible = this.visible === true || String(this.visible) === 'true';
|
|
41
|
+
if (!isVisible)
|
|
41
42
|
return null;
|
|
42
43
|
const imgs = this.parsedImages;
|
|
43
44
|
const multi = imgs.length > 1;
|