@opengis/form 0.0.43 → 0.0.44
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/core/src/components/base/button.vue.d.ts +19 -0
- package/dist/core/src/components/base/button.vue.d.ts.map +1 -0
- package/dist/core/src/components/base/vs-grid-gallery.vue.d.ts +4 -0
- package/dist/core/src/components/base/vs-grid-gallery.vue.d.ts.map +1 -0
- package/dist/core/src/components/base/vs-lightbox.vue.d.ts +12 -0
- package/dist/core/src/components/base/vs-lightbox.vue.d.ts.map +1 -0
- package/dist/core/src/components/base/vs-switch.vue.d.ts +49 -0
- package/dist/core/src/components/base/vs-switch.vue.d.ts.map +1 -0
- package/dist/core/src/components/navigation/vs-pagination.vue.d.ts +19 -0
- package/dist/core/src/components/navigation/vs-pagination.vue.d.ts.map +1 -0
- package/dist/core/src/components/navigation/vs-slider.vue.d.ts +7 -0
- package/dist/core/src/components/navigation/vs-slider.vue.d.ts.map +1 -0
- package/dist/core/src/components/overlays/message-box.vue.d.ts +32 -0
- package/dist/core/src/components/overlays/message-box.vue.d.ts.map +1 -0
- package/dist/core/src/components/overlays/vs-confirm-modal.vue.d.ts +29 -0
- package/dist/core/src/components/overlays/vs-confirm-modal.vue.d.ts.map +1 -0
- package/dist/core/src/components/overlays/vs-drawer.vue.d.ts +31 -0
- package/dist/core/src/components/overlays/vs-drawer.vue.d.ts.map +1 -0
- package/dist/core/src/components/overlays/vs-loading.vue.d.ts +6 -0
- package/dist/core/src/components/overlays/vs-loading.vue.d.ts.map +1 -0
- package/dist/core/src/components/overlays/vs-modal.vue.d.ts +44 -0
- package/dist/core/src/components/overlays/vs-modal.vue.d.ts.map +1 -0
- package/dist/core/src/components/overlays/vs-notify.vue.d.ts +4 -0
- package/dist/core/src/components/overlays/vs-notify.vue.d.ts.map +1 -0
- package/dist/core/src/components/overlays/vs-popover.vue.d.ts +40 -0
- package/dist/core/src/components/overlays/vs-popover.vue.d.ts.map +1 -0
- package/dist/core/src/components/types/vs-badge-value.vue.d.ts +32 -0
- package/dist/core/src/components/types/vs-badge-value.vue.d.ts.map +1 -0
- package/dist/core/src/components/types/vs-data-value.vue.d.ts +17 -0
- package/dist/core/src/components/types/vs-data-value.vue.d.ts.map +1 -0
- package/dist/core/src/directives/focus.d.ts +4 -0
- package/dist/core/src/directives/focus.d.ts.map +1 -0
- package/dist/core/src/directives/loading.d.ts +11 -0
- package/dist/core/src/directives/loading.d.ts.map +1 -0
- package/dist/core/src/directives/tooltip.d.ts +7 -0
- package/dist/core/src/directives/tooltip.d.ts.map +1 -0
- package/dist/core/src/emitter/eventBus.d.ts +12 -0
- package/dist/core/src/emitter/eventBus.d.ts.map +1 -0
- package/dist/core/src/icons/chevron-down-icon.vue.d.ts +3 -0
- package/dist/core/src/icons/chevron-down-icon.vue.d.ts.map +1 -0
- package/dist/core/src/icons/close-Icon.vue.d.ts +3 -0
- package/dist/core/src/icons/close-Icon.vue.d.ts.map +1 -0
- package/dist/core/src/icons/delete-icon.vue.d.ts +3 -0
- package/dist/core/src/icons/delete-icon.vue.d.ts.map +1 -0
- package/dist/core/src/icons/download-icon.vue.d.ts +3 -0
- package/dist/core/src/icons/download-icon.vue.d.ts.map +1 -0
- package/dist/core/src/icons/notify/icon-error.vue.d.ts +3 -0
- package/dist/core/src/icons/notify/icon-error.vue.d.ts.map +1 -0
- package/dist/core/src/icons/notify/icon-info.vue.d.ts.map +1 -0
- package/dist/core/src/icons/notify/icon-success.vue.d.ts +3 -0
- package/dist/core/src/icons/notify/icon-success.vue.d.ts.map +1 -0
- package/dist/core/src/icons/notify/icon-warning.vue.d.ts +3 -0
- package/dist/core/src/icons/notify/icon-warning.vue.d.ts.map +1 -0
- package/dist/core/src/icons/pagination/icon-arrow-down.vue.d.ts +3 -0
- package/dist/core/src/icons/pagination/icon-arrow-down.vue.d.ts.map +1 -0
- package/dist/core/src/icons/pagination/icon-arrow-left.vue.d.ts +3 -0
- package/dist/core/src/icons/pagination/icon-arrow-left.vue.d.ts.map +1 -0
- package/dist/core/src/icons/pagination/icon-arrow-right.vue.d.ts +3 -0
- package/dist/core/src/icons/pagination/icon-arrow-right.vue.d.ts.map +1 -0
- package/dist/core/src/icons/pagination/icon-check.vue.d.ts.map +1 -0
- package/dist/core/src/index.d.ts +29 -0
- package/dist/core/src/index.d.ts.map +1 -0
- package/dist/core/src/plugins/api.d.ts +13 -0
- package/dist/core/src/plugins/api.d.ts.map +1 -0
- package/dist/core/src/plugins/confirm.d.ts +18 -0
- package/dist/core/src/plugins/confirm.d.ts.map +1 -0
- package/dist/core/src/plugins/loading.d.ts +3 -0
- package/dist/core/src/plugins/loading.d.ts.map +1 -0
- package/dist/core/src/plugins/modal.d.ts +6 -0
- package/dist/core/src/plugins/modal.d.ts.map +1 -0
- package/dist/core/src/plugins/notify.d.ts +4 -0
- package/dist/core/src/plugins/notify.d.ts.map +1 -0
- package/dist/core/src/types/drawer.d.ts +8 -0
- package/dist/core/src/types/drawer.d.ts.map +1 -0
- package/dist/core/src/types/gallery.d.ts +11 -0
- package/dist/core/src/types/gallery.d.ts.map +1 -0
- package/dist/core/src/types/lightbox.d.ts +14 -0
- package/dist/core/src/types/lightbox.d.ts.map +1 -0
- package/dist/core/src/types/modal.d.ts +12 -0
- package/dist/core/src/types/modal.d.ts.map +1 -0
- package/dist/core/src/types/notify.d.ts +14 -0
- package/dist/core/src/types/notify.d.ts.map +1 -0
- package/dist/core/src/types/pagination.d.ts +17 -0
- package/dist/core/src/types/pagination.d.ts.map +1 -0
- package/dist/core/src/types/slider.d.ts +5 -0
- package/dist/core/src/types/slider.d.ts.map +1 -0
- package/dist/core/src/utils/colorFormater.d.ts +3 -0
- package/dist/core/src/utils/colorFormater.d.ts.map +1 -0
- package/dist/core/src/utils/dynamic.position.d.ts +3 -0
- package/dist/core/src/utils/dynamic.position.d.ts.map +1 -0
- package/dist/form/src/components/behavior.vue.d.ts.map +1 -0
- package/dist/{components/layouts → form/src/components/container-views}/index.d.ts.map +1 -1
- package/dist/form/src/components/container-views/vs-container-accordion.vue.d.ts.map +1 -0
- package/dist/form/src/components/container-views/vs-container-default.vue.d.ts.map +1 -0
- package/dist/form/src/components/container-views/vs-container-switcher.vue.d.ts.map +1 -0
- package/dist/form/src/components/form/vs-compact-form-navigation.vue.d.ts +17 -0
- package/dist/form/src/components/form/vs-compact-form-navigation.vue.d.ts.map +1 -0
- package/dist/{components → form/src/components}/form/vs-compact-form.vue.d.ts +4 -0
- package/dist/form/src/components/form/vs-compact-form.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-arrow-top-bottom.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-check.vue.d.ts +3 -0
- package/dist/form/src/components/icons/icon-check.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-chevron-down.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-chevron-top-bottom.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-close.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-csv.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-delete.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-download.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-export.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-file.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-geojson.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-grip-vertical.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-import.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-info.vue.d.ts +3 -0
- package/dist/form/src/components/icons/icon-info.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-magnifying-glass.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-no-data.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-pdf.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-pen.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-plus.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-upload.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/icon-zip.vue.d.ts.map +1 -0
- package/dist/form/src/components/icons/index.d.ts.map +1 -0
- package/dist/form/src/components/inputs/array/vs-input-array.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/base/vs-input-color.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/base/vs-input-email.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/base/vs-input-mask.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/base/vs-input-number.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/base/vs-input-password.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/base/vs-input-range.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/base/vs-input-static.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/base/vs-input-switcher.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/base/vs-input-text.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/base/vs-input-textarea.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/date/vs-date-text.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/date/vs-input-date.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/date/vs-input-date1.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/date/vs-input-time.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/file/vs-input-file-list-item.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/file/vs-input-file.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/file-list/vs-input-file-list.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/file-list/vs-widget-file-info.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/file-list/vs-widget-file-item.vue.d.ts.map +1 -0
- package/dist/{components → form/src/components}/inputs/index.d.ts +4 -2
- package/dist/{components → form/src/components}/inputs/index.d.ts.map +1 -1
- package/dist/form/src/components/inputs/map/icons/icon-compass.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/icons/icon-full-screen.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/icons/icon-line.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/icons/icon-map-pin.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/icons/icon-poligon-rectangle.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/icons/icon-poligon.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/map-layers.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/map-scroll-wheel-toggle.vue.d.ts +10 -0
- package/dist/form/src/components/inputs/map/map-scroll-wheel-toggle.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/map-search.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/map.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/util.d.ts.map +1 -0
- package/dist/form/src/components/inputs/map/vs-input-map.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/options/checkbox/index.d.ts.map +1 -0
- package/dist/form/src/components/inputs/options/checkbox/vs-checkbox-buttons.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/options/checkbox/vs-checkbox-default.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/options/checkbox/vs-input-checkbox-item.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/options/checkbox/vs-input-checkbox.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/options/radio/index.d.ts.map +1 -0
- package/dist/form/src/components/inputs/options/radio/vs-input-radio-buttons.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/options/radio/vs-input-radio-default.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/options/radio/vs-input-radio.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/table/vs-input-datatable.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/tag/vs-input-tag.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/vs-input-container.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/vs-input-key-value.vue.d.ts.map +1 -0
- package/dist/{components → form/src/components}/inputs/vs-input-select.vue.d.ts +2 -1
- package/dist/form/src/components/inputs/vs-input-select.vue.d.ts.map +1 -0
- package/dist/form/src/components/inputs/vs-input-slug.vue.d.ts.map +1 -0
- package/dist/form/src/components/layouts/index.d.ts.map +1 -0
- package/dist/form/src/components/layouts/vs-compact-form-layout.vue.d.ts.map +1 -0
- package/dist/form/src/components/layouts/vs-layout-default.vue.d.ts.map +1 -0
- package/dist/form/src/components/layouts/vs-layout-horizontal.vue.d.ts.map +1 -0
- package/dist/form/src/components/layouts/vs-layout-inline.vue.d.ts.map +1 -0
- package/dist/form/src/components/layouts/vs-layout-settings.vue.d.ts.map +1 -0
- package/dist/form/src/components/modal/modal-edit.vue.d.ts.map +1 -0
- package/dist/form/src/components/ui/vs-calendar.vue.d.ts.map +1 -0
- package/dist/form/src/composables/i18n.d.ts.map +1 -0
- package/dist/form/src/composables/useForm.d.ts.map +1 -0
- package/dist/form/src/composables/useLocale.d.ts.map +1 -0
- package/dist/form/src/composables/useStyle.d.ts.map +1 -0
- package/dist/form/src/index.d.ts.map +1 -0
- package/dist/form/src/plugin/form-plugin.d.ts.map +1 -0
- package/dist/form/src/schema.d.ts.map +1 -0
- package/dist/{types → form/src/types}/form.d.ts +1 -0
- package/dist/form/src/types/form.d.ts.map +1 -0
- package/dist/{types → form/src/types}/rules.d.ts.map +1 -1
- package/dist/form/src/utils/convertForm.d.ts.map +1 -0
- package/dist/form/src/utils/dynamicPosition.d.ts.map +1 -0
- package/dist/form/src/utils/file.api.d.ts.map +1 -0
- package/dist/form/src/utils/file.preview.d.ts.map +1 -0
- package/dist/form/src/utils/formConditions.d.ts.map +1 -0
- package/dist/form/src/utils/formRules.d.ts.map +1 -0
- package/dist/form/src/utils/index.d.ts.map +1 -0
- package/dist/form/src/utils/randomId.d.ts.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +2387 -1881
- package/dist/index.umd.cjs +3 -3
- package/package.json +67 -67
- package/dist/components/behavior.vue.d.ts.map +0 -1
- package/dist/components/container-views/index.d.ts.map +0 -1
- package/dist/components/container-views/vs-container-accordion.vue.d.ts.map +0 -1
- package/dist/components/container-views/vs-container-default.vue.d.ts.map +0 -1
- package/dist/components/container-views/vs-container-switcher.vue.d.ts.map +0 -1
- package/dist/components/form/vs-compact-form.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-arrow-top-bottom.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-check.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-chevron-down.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-chevron-top-bottom.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-close.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-csv.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-delete.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-download.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-export.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-file.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-geojson.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-grip-vertical.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-import.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-info.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-magnifying-glass.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-no-data.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-pdf.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-pen.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-plus.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-upload.vue.d.ts.map +0 -1
- package/dist/components/icons/icon-zip.vue.d.ts.map +0 -1
- package/dist/components/icons/index.d.ts.map +0 -1
- package/dist/components/inputs/array/vs-input-array.vue.d.ts.map +0 -1
- package/dist/components/inputs/base/vs-input-color.vue.d.ts.map +0 -1
- package/dist/components/inputs/base/vs-input-email.vue.d.ts.map +0 -1
- package/dist/components/inputs/base/vs-input-mask.vue.d.ts.map +0 -1
- package/dist/components/inputs/base/vs-input-number.vue.d.ts.map +0 -1
- package/dist/components/inputs/base/vs-input-password.vue.d.ts.map +0 -1
- package/dist/components/inputs/base/vs-input-range.vue.d.ts.map +0 -1
- package/dist/components/inputs/base/vs-input-static.vue.d.ts.map +0 -1
- package/dist/components/inputs/base/vs-input-switcher.vue.d.ts.map +0 -1
- package/dist/components/inputs/base/vs-input-text.vue.d.ts.map +0 -1
- package/dist/components/inputs/base/vs-input-textarea.vue.d.ts.map +0 -1
- package/dist/components/inputs/date/vs-date-text.vue.d.ts.map +0 -1
- package/dist/components/inputs/date/vs-input-date.vue.d.ts.map +0 -1
- package/dist/components/inputs/date/vs-input-date1.vue.d.ts.map +0 -1
- package/dist/components/inputs/date/vs-input-time.vue.d.ts.map +0 -1
- package/dist/components/inputs/file/vs-input-file-list-item.vue.d.ts.map +0 -1
- package/dist/components/inputs/file/vs-input-file.vue.d.ts.map +0 -1
- package/dist/components/inputs/file-list/vs-input-file-list.vue.d.ts.map +0 -1
- package/dist/components/inputs/file-list/vs-widget-file-info.vue.d.ts.map +0 -1
- package/dist/components/inputs/file-list/vs-widget-file-item.vue.d.ts.map +0 -1
- package/dist/components/inputs/map/icons/icon-compass.vue.d.ts.map +0 -1
- package/dist/components/inputs/map/icons/icon-full-screen.vue.d.ts.map +0 -1
- package/dist/components/inputs/map/icons/icon-line.vue.d.ts.map +0 -1
- package/dist/components/inputs/map/icons/icon-map-pin.vue.d.ts.map +0 -1
- package/dist/components/inputs/map/icons/icon-poligon-rectangle.vue.d.ts.map +0 -1
- package/dist/components/inputs/map/icons/icon-poligon.vue.d.ts.map +0 -1
- package/dist/components/inputs/map/map-layers.vue.d.ts.map +0 -1
- package/dist/components/inputs/map/map-search.vue.d.ts.map +0 -1
- package/dist/components/inputs/map/map.d.ts.map +0 -1
- package/dist/components/inputs/map/util.d.ts.map +0 -1
- package/dist/components/inputs/map/vs-input-map.vue.d.ts.map +0 -1
- package/dist/components/inputs/options/checkbox/index.d.ts.map +0 -1
- package/dist/components/inputs/options/checkbox/vs-checkbox-buttons.vue.d.ts.map +0 -1
- package/dist/components/inputs/options/checkbox/vs-checkbox-default.vue.d.ts.map +0 -1
- package/dist/components/inputs/options/checkbox/vs-input-checkbox-item.vue.d.ts.map +0 -1
- package/dist/components/inputs/options/checkbox/vs-input-checkbox.vue.d.ts.map +0 -1
- package/dist/components/inputs/options/radio/index.d.ts.map +0 -1
- package/dist/components/inputs/options/radio/vs-input-radio-buttons.vue.d.ts.map +0 -1
- package/dist/components/inputs/options/radio/vs-input-radio-default.vue.d.ts.map +0 -1
- package/dist/components/inputs/options/radio/vs-input-radio.vue.d.ts.map +0 -1
- package/dist/components/inputs/table/vs-input-datatable.vue.d.ts.map +0 -1
- package/dist/components/inputs/tag/vs-input-tag.vue.d.ts.map +0 -1
- package/dist/components/inputs/vs-input-container.vue.d.ts.map +0 -1
- package/dist/components/inputs/vs-input-key-value.vue.d.ts.map +0 -1
- package/dist/components/inputs/vs-input-select.vue.d.ts.map +0 -1
- package/dist/components/inputs/vs-input-slug.vue.d.ts.map +0 -1
- package/dist/components/layouts/vs-compact-form-layout.vue.d.ts.map +0 -1
- package/dist/components/layouts/vs-layout-default.vue.d.ts.map +0 -1
- package/dist/components/layouts/vs-layout-horizontal.vue.d.ts.map +0 -1
- package/dist/components/layouts/vs-layout-inline.vue.d.ts.map +0 -1
- package/dist/components/layouts/vs-layout-settings.vue.d.ts.map +0 -1
- package/dist/components/modal/modal-edit.vue.d.ts.map +0 -1
- package/dist/components/ui/vs-calendar.vue.d.ts.map +0 -1
- package/dist/composables/i18n.d.ts.map +0 -1
- package/dist/composables/useForm.d.ts.map +0 -1
- package/dist/composables/useLocale.d.ts.map +0 -1
- package/dist/composables/useStyle.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/plugin/form-plugin.d.ts.map +0 -1
- package/dist/schema.d.ts.map +0 -1
- package/dist/types/form.d.ts.map +0 -1
- package/dist/utils/convertForm.d.ts.map +0 -1
- package/dist/utils/dynamicPosition.d.ts.map +0 -1
- package/dist/utils/file.api.d.ts.map +0 -1
- package/dist/utils/file.preview.d.ts.map +0 -1
- package/dist/utils/formConditions.d.ts.map +0 -1
- package/dist/utils/formRules.d.ts.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/randomId.d.ts.map +0 -1
- /package/dist/{components/icons → core/src/icons/notify}/icon-info.vue.d.ts +0 -0
- /package/dist/{components/icons → core/src/icons/pagination}/icon-check.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/behavior.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/container-views/index.d.ts +0 -0
- /package/dist/{components → form/src/components}/container-views/vs-container-accordion.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/container-views/vs-container-default.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/container-views/vs-container-switcher.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-arrow-top-bottom.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-chevron-down.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-chevron-top-bottom.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-close.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-csv.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-delete.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-download.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-export.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-file.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-geojson.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-grip-vertical.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-import.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-magnifying-glass.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-no-data.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-pdf.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-pen.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-plus.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-upload.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/icon-zip.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/icons/index.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/array/vs-input-array.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/base/vs-input-color.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/base/vs-input-email.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/base/vs-input-mask.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/base/vs-input-number.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/base/vs-input-password.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/base/vs-input-range.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/base/vs-input-static.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/base/vs-input-switcher.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/base/vs-input-text.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/base/vs-input-textarea.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/date/vs-date-text.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/date/vs-input-date.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/date/vs-input-date1.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/date/vs-input-time.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/file/vs-input-file-list-item.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/file/vs-input-file.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/file-list/vs-input-file-list.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/file-list/vs-widget-file-info.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/file-list/vs-widget-file-item.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/icons/icon-compass.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/icons/icon-full-screen.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/icons/icon-line.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/icons/icon-map-pin.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/icons/icon-poligon-rectangle.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/icons/icon-poligon.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/map-layers.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/map-search.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/map.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/util.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/map/vs-input-map.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/options/checkbox/index.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/options/checkbox/vs-checkbox-buttons.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/options/checkbox/vs-checkbox-default.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/options/checkbox/vs-input-checkbox-item.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/options/checkbox/vs-input-checkbox.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/options/radio/index.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/options/radio/vs-input-radio-buttons.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/options/radio/vs-input-radio-default.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/options/radio/vs-input-radio.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/table/vs-input-datatable.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/tag/vs-input-tag.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/vs-input-container.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/vs-input-key-value.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/inputs/vs-input-slug.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/layouts/index.d.ts +0 -0
- /package/dist/{components → form/src/components}/layouts/vs-compact-form-layout.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/layouts/vs-layout-default.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/layouts/vs-layout-horizontal.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/layouts/vs-layout-inline.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/layouts/vs-layout-settings.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/modal/modal-edit.vue.d.ts +0 -0
- /package/dist/{components → form/src/components}/ui/vs-calendar.vue.d.ts +0 -0
- /package/dist/{composables → form/src/composables}/i18n.d.ts +0 -0
- /package/dist/{composables → form/src/composables}/useForm.d.ts +0 -0
- /package/dist/{composables → form/src/composables}/useLocale.d.ts +0 -0
- /package/dist/{composables → form/src/composables}/useStyle.d.ts +0 -0
- /package/dist/{index.d.ts → form/src/index.d.ts} +0 -0
- /package/dist/{plugin → form/src/plugin}/form-plugin.d.ts +0 -0
- /package/dist/{schema.d.ts → form/src/schema.d.ts} +0 -0
- /package/dist/{types → form/src/types}/rules.d.ts +0 -0
- /package/dist/{utils → form/src/utils}/convertForm.d.ts +0 -0
- /package/dist/{utils → form/src/utils}/dynamicPosition.d.ts +0 -0
- /package/dist/{utils → form/src/utils}/file.api.d.ts +0 -0
- /package/dist/{utils → form/src/utils}/file.preview.d.ts +0 -0
- /package/dist/{utils → form/src/utils}/formConditions.d.ts +0 -0
- /package/dist/{utils → form/src/utils}/formRules.d.ts +0 -0
- /package/dist/{utils → form/src/utils}/index.d.ts +0 -0
- /package/dist/{utils → form/src/utils}/randomId.d.ts +0 -0
package/dist/index.umd.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(function(O,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@opengis/core")):typeof define=="function"&&define.amd?define(["exports","vue","@opengis/core"],e):(O=typeof globalThis<"u"?globalThis:O||self,e(O.FormBuilder={},O.Vue,O.OpenGISCore))})(this,function(O,e,G){"use strict";const Gt={class:"w-full relative"},qt={key:0,class:"text-[14px] font-medium text-gray-900 mb-2"},Kt={class:"opacity-100"},Zt={key:0,class:"text-red-500 text-[14px]"},Yt={key:1,class:"text-red-500 text-[10px] absolute bottom-[-14px]"},Wt=e.defineComponent({__name:"vs-layout-default",props:{ua:{default:""},uk:{},en:{},de:{},es:{},fr:{},item:{default:()=>({})},error:{type:[String,Boolean],default:""},label:{default:""}},setup(o){const t=e.ref("uk"),s=n=>{n.detail.key==="locale"&&(t.value=n.detail.newValue)};return e.onMounted(()=>{t.value=localStorage.locale,window.addEventListener("storage",s)}),e.onUnmounted(()=>{window.removeEventListener("resize",s)}),(n,l)=>(e.openBlock(),e.createElementBlock("div",Gt,[n.ua||n.label?(e.openBlock(),e.createElementBlock("div",qt,[e.createElementVNode("span",Kt,e.toDisplayString(n.item[t.value]||n.ua||n.label),1),n.item?.rules?.includes("required")?(e.openBlock(),e.createElementBlock("span",Zt,"*")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",e.mergeProps(n.$attrs,{class:{"opacity-60":n.item.disabled}})),n.error?(e.openBlock(),e.createElementBlock("span",Yt,e.toDisplayString(n.error),1)):e.createCommentVNode("",!0)]))}}),Jt={class:"w-full relative flex flex-row items-center gap-2"},Xt={key:0,class:"text-sm text-gray-900 font-medium flex shrink-0 w-3/12 max-w-[250px]"},Qt={key:0,class:"text-red-500 text-[14px]"},es={key:1,class:"text-red-500 text-[10px] absolute bottom-[-14px]"},ts=e.defineComponent({__name:"vs-layout-horizontal",props:{ua:{default:""},uk:{},en:{},de:{},es:{},fr:{},item:{default:()=>({})},error:{type:[String,Boolean],default:""},label:{default:""}},setup(o){return(t,s)=>(e.openBlock(),e.createElementBlock("div",Jt,[t.item?.type!=="html"?(e.openBlock(),e.createElementBlock("span",Xt,[e.createTextVNode(e.toDisplayString(t.ua||t.label)+" ",1),t.item?.rules?.includes("required")&&(t.ua||t.label)?(e.openBlock(),e.createElementBlock("span",Qt,"*")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(t.$attrs))),t.error?(e.openBlock(),e.createElementBlock("span",es,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),ss={class:"w-full relative"},ns={key:0,class:"text-red-500 text-[10px] absolute bottom-[-14px]"},ls=e.defineComponent({__name:"vs-layout-inline",props:{ua:{default:""},uk:{},en:{},de:{},es:{},fr:{},item:{default:()=>({})},error:{type:[String,Boolean],default:""},label:{default:""}},setup(o){return(t,s)=>(e.openBlock(),e.createElementBlock("div",ss,[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(t.$attrs))),t.error?(e.openBlock(),e.createElementBlock("span",ns,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),as={class:"flex-1 min-w-0"},rs={key:0,class:"text-sm font-medium text-slate-700 dark:text-slate-200 flex items-center gap-1"},os={class:"truncate"},is={key:0,class:"text-red-500 text-[14px]"},ds={key:1,class:"text-xs text-slate-500 dark:text-slate-400"},us={class:"w-full md:w-auto"},cs={key:0,class:"mt-1 text-xs text-red-500"},ps={default:Wt,horizontal:ts,inline:ls,settings:e.defineComponent({__name:"vs-layout-settings",props:{ua:{default:""},uk:{},en:{},de:{},es:{},fr:{},item:{default:()=>({})},error:{type:[String,Boolean],default:""},label:{default:""}},setup(o){const t=o,s=e.ref("uk");e.computed(()=>(t.item??{})?.[s.value]??t.ua??t.label??"");const n=e.computed(()=>t.item?.description??""),l=e.computed(()=>Array.isArray(t.item?.rules)&&t.item.rules.includes("required")),a=e.computed(()=>(typeof t.error=="string"?t.error:"")??""),r=i=>{i.key==="locale"&&(s.value=i.newValue??"uk")};return e.onMounted(()=>{try{typeof localStorage<"u"&&localStorage.locale&&(s.value=localStorage.locale)}catch{}window.addEventListener("storage",r)}),e.onUnmounted(()=>{window.removeEventListener("storage",r)}),(i,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-full relative",{"opacity-60":i.item?.disabled}])},[e.createElementVNode("div",{class:e.normalizeClass(["gap-2 md:flex-row md:items-center md:justify-between",[["switcher","native-select"].includes(i.item.type)?"flex flex-col":""]])},[e.createElementVNode("div",as,[i.ua||i.label?(e.openBlock(),e.createElementBlock("p",rs,[e.createElementVNode("span",os,e.toDisplayString(i.item[s.value]||i.ua||i.label),1),l.value?(e.openBlock(),e.createElementBlock("span",is,"*")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),n.value?(e.openBlock(),e.createElementBlock("p",ds,e.toDisplayString(n.value),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",us,[e.renderSlot(i.$slots,"default",e.normalizeProps(e.guardReactiveProps(i.$attrs)))])],2),a.value?(e.openBlock(),e.createElementBlock("p",cs,e.toDisplayString(a.value),1)):e.createCommentVNode("",!0)],2))}})};function ee(o){return{inputClass:e.computed(()=>{const s=`disabled:opacity-50 disabled:cursor-not-allowed outline-none focus:ring-2 focus:ring-ring focus:ring-${o?.primaryColor||"blue"}-500 border border-solid border-stone-200 rounded-md text-sm text-stone-800 placeholder:text-stone-400 `;return o?.size==="sm"?`${s}h-[32px]`:`${s}h-[38px]`})}}const hs=["placeholder","disabled"],ms=e.defineComponent({__name:"vs-input-password",props:e.mergeModels({style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{default:""},name:{},placeholder:{default:""}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,{inputClass:s}=ee(t.style),n=e.useModel(o,"modelValue");return(l,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:"password","onUpdate:modelValue":a[0]||(a[0]=r=>n.value=r),placeholder:l.placeholder,disabled:l.disabled,class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[e.unref(s),{"!border-red-600":l.error}]]),style:{border:"1px solid #CFD9E0"}},null,10,hs)),[[e.vModelText,n.value]])}}),fs=["placeholder","disabled"],xe=e.defineComponent({__name:"vs-input-text",props:e.mergeModels({style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{default:""},name:{},placeholder:{default:""}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,{inputClass:s}=ee(t.style),n=e.useModel(o,"modelValue");return(l,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:"text","onUpdate:modelValue":a[0]||(a[0]=r=>n.value=r),placeholder:l.placeholder,disabled:l.disabled,class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[e.unref(s),{"!border-red-600":l.error}]]),style:{border:"1px solid #CFD9E0"}},null,10,fs)),[[e.vModelText,n.value]])}}),gs=["placeholder","min","max"],Ye=e.defineComponent({__name:"vs-input-number",props:e.mergeModels({min:{},max:{},style:{default:()=>({})},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{default:""}},{modelValue:{default:null},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,{inputClass:s}=ee(t.style),n=e.useModel(o,"modelValue");return(l,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:"number",step:"any","onUpdate:modelValue":a[0]||(a[0]=r=>n.value=r),placeholder:l.placeholder,class:e.normalizeClass(["py-1.5 px-3 block w-full bg-white",[e.unref(s)]]),style:{border:"1px solid #CFD9E0"},min:l.min,max:l.max},null,10,gs)),[[e.vModelText,n.value]])}}),R=(o,t)=>{const s=o.__vccOpts||o;for(const[n,l]of t)s[n]=l;return s},ks={},bs={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-check"};function ys(o,t){return e.openBlock(),e.createElementBlock("svg",bs,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M5 12l5 5l10 -10"},null,-1)]))}const xs=R(ks,[["render",ys]]),_s={class:"flex items-center gap-[4px]"},ws=["value","id","disabled"],Es=["for"],Vs={class:"text-[14px] text-gray-700 flex items-center gap-x-1 ml-1 dark:text-neutral-400"},Cs=e.defineComponent({__name:"vs-checkbox-default",props:{value:{default:""},label:{default:""},disabled:{type:Boolean,default:!1},id:{},modelValue:{default:""},info:{},error:{}},emits:["update:modelValue"],setup(o,{emit:t}){const s=t,n=o,l=e.computed({get:()=>n.modelValue,set:a=>s("update:modelValue",a)});return(a,r)=>(e.openBlock(),e.createElementBlock("div",_s,[e.withDirectives(e.createElementVNode("input",{type:"checkbox",value:a.value,"onUpdate:modelValue":r[0]||(r[0]=i=>l.value=i),class:e.normalizeClass(["shrink-0 border border-solid hidden border-gray-700 w-3.5 h-3.5 rounded text-blue-600 focus:ring-offset-0 dark:bg-neutral-800 dark:border-neutral-700 cursor-pointer",{"!cursor-not-allowed":a.disabled}]),id:a.id,disabled:a.disabled},null,10,ws),[[e.vModelCheckbox,l.value]]),e.createElementVNode("label",{for:a.id,class:e.normalizeClass(["flex flex-1 checkbox-label items-center gap-x-2 cursor-pointer text-sm text-gray-800 dark:text-neutral-300",{"!cursor-not-allowed":a.disabled}])},[e.createElementVNode("div",{class:e.normalizeClass(["h-[16px] text-white w-[16px] flex items-center justify-center shrink-0 border rounded",[l.value?"bg-blue-600 border-blue-600":"bg-white border-gray-600",a.error?"border-red-600":""]])},[e.createVNode(xs,{height:"12",width:"12"})],2),e.createElementVNode("span",Vs,[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.label),1)])])],10,Es)]))}}),Bs=["name","value","disabled"],vs={class:"flex items-center gap-[6px] text-[14px]"},Ns={key:0,class:"text-[16px]"},Ss=["src"],Ms=e.defineComponent({__name:"vs-checkbox-buttons",props:{value:{type:[String,Number,Boolean],default:""},label:{default:""},modelValue:{default:""},disabled:{type:Boolean},id:{},icon:{},imgUrl:{},style:{}},emits:["update:modelValue"],setup(o,{emit:t}){const s=o,n=t,l=e.computed({get:()=>s.modelValue,set:i=>{n("update:modelValue",i)}}),a=e.computed(()=>Array.isArray(l.value)?l.value.includes(s.value):l.value===!0||l.value===s.value),r=e.computed(()=>s.style?.size==="xs"?"p-1.5 text-xs":s.style?.size==="lg"?"p-3.5 text-[20px]":"p-2.5 text-xs");return(i,d)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["group relative flex justify-center items-center gap-x-3 text-center bg-white text-gray-800 ring-ring ring-2 cursor-pointer rounded-lg",[r.value,a.value?"ring-blue-500":"border border-gray-200 ring-transparent"]])},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:"hidden",name:i.id,value:i.value,"onUpdate:modelValue":d[0]||(d[0]=u=>l.value=u),disabled:i.disabled},null,8,Bs),[[e.vModelCheckbox,l.value]]),e.createElementVNode("span",vs,[i.icon||i.imgUrl?(e.openBlock(),e.createElementBlock("span",Ns,[i.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(i.icon)},null,2)):e.createCommentVNode("",!0),i.imgUrl?(e.openBlock(),e.createElementBlock("img",{key:1,src:i.imgUrl,width:"16",height:"16",alt:"icon"},null,8,Ss)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(i.label),1)])])],2))}}),Fs={class:"flex items-center"},We=e.defineComponent({__name:"vs-input-checkbox-item",props:{value:{default:""},label:{default:""},disabled:{type:Boolean,default:!1},view:{default:"default"},modelValue:{type:[Boolean,Array],default:!1},icon:{},imgUrl:{},slots:{},option:{},style:{},error:{default:""}},emits:["update:modelValue"],setup(o,{emit:t}){const s=o,n=t,l=`radio-${Math.floor(Math.random()*1e4)}`,a=e.computed({get:()=>Array.isArray(s.modelValue)?Array.isArray(s.modelValue)&&s.modelValue.includes(s.value):s.modelValue,set:i=>{if(Array.isArray(s.modelValue)){let d=[...s.modelValue];i?d.includes(s.value)||d.push(s.value):d=d.filter(u=>u!==s.value),n("update:modelValue",d)}else n("update:modelValue",i)}}),r=e.ref(`vs-checkbox-${s.view||"default"}`);return(i,d)=>(e.openBlock(),e.createElementBlock("div",Fs,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value==="vs-checkbox-buttons"?e.unref(Ms):e.unref(Cs)),{value:i.value,label:i.label,info:i.option?.info,disabled:i.disabled,modelValue:a.value,"onUpdate:modelValue":d[0]||(d[0]=u=>a.value=u),id:l,icon:i.icon,imgUrl:i.imgUrl,style:e.normalizeStyle(i.style),error:i.error},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.label),1)]),_:1},8,["value","label","info","disabled","modelValue","icon","imgUrl","style","error"]))]))}}),As={},$s={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"};function Ds(o,t){return e.openBlock(),e.createElementBlock("svg",$s,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Is=R(As,[["render",Ds]]),Ls={},Ts={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x"};function Os(o,t){return e.openBlock(),e.createElementBlock("svg",Ts,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))}const Rs=R(Ls,[["render",Os]]),zs={},js={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function Us(o,t){return e.openBlock(),e.createElementBlock("svg",js,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M12 9h.01"},null,-1),e.createElementVNode("path",{d:"M11 12h1v4h1"},null,-1),e.createElementVNode("path",{d:"M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z"},null,-1)]))}const Ps=R(zs,[["render",Us]]),Hs={key:0,class:"flex items-start gap-x-1"},Gs={key:0,class:"text-red-500 text-[14px]"},qs=["title"],Ks=["disabled"],Re=e.defineComponent({__name:"vs-input-switcher",props:e.mergeModels({rules:{default:()=>[]},view:{default:"checkbox"},label:{default:""},i:{default:""},text:{default:""},style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{default:""},name:{},placeholder:{}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,s=e.useModel(o,"modelValue");return(n,l)=>t.view==="checkbox"?(e.openBlock(),e.createElementBlock("div",Hs,[e.createVNode(We,{modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=a=>s.value=a),label:n.text,error:n.error||""},null,8,["modelValue","label","error"]),n.rules?.includes("required")?(e.openBlock(),e.createElementBlock("span",Gs,"*")):e.createCommentVNode("",!0),n.i?(e.openBlock(),e.createElementBlock("button",{key:1,class:"cursor-pointer",title:n.i,onClick:l[1]||(l[1]=e.withModifiers(()=>{},["prevent"]))},[e.createVNode(e.unref(Ps),{class:"text-gray-500 w-[14px] h-[14px]"})],8,qs)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass(["inline-flex h-5 w-9 shrink-0 px-[2px] cursor-pointer items-center rounded-full shadow-sm disabled:cursor-not-allowed disabled:opacity-50",[s.value?`bg-${n.style?.primaryColor||"blue"}-500`:"bg-stone-200",n.customClass]]),disabled:n.disabled,onClick:l[2]||(l[2]=a=>s.value=!s.value)},[e.createElementVNode("span",{"data-state":"checked",class:e.normalizeClass(["pointer-events-none block h-4 w-4 rounded-full bg-white shadow-lg ring-0 transition-transform",[s.value?"translate-x-4":"translate-x-0"]])},null,2)],10,Ks))}}),Zs=["innerHTML"],ze=e.defineComponent({__name:"vs-input-static",props:{text:{default:""},html:{default:""},style:{},customClass:{default:""},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},setup(o){return(t,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.customClass),innerHTML:t.html?t.html:t.text},null,10,Zs))}}),Ys=["placeholder","disabled","name"],Je=e.defineComponent({__name:"vs-input-mask",props:e.mergeModels({name:{},mask:{default:""},unmask:{type:Boolean,default:!1},placeholder:{default:"_"},style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,{inputClass:s}=ee(t.style),n=e.useModel(o,"modelValue"),l=e.ref(null);let a=null;return e.onMounted(async()=>{if(l.value){const{default:r}=await Promise.resolve().then(()=>ui);a=r(l.value,{mask:t.mask||"",definitions:{9:/[0-9]/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/},lazy:!1}),a.on("accept",()=>{n.value=t.unmask?a.unmaskedValue:a.value}),a.on("complete",()=>{n.value=t.unmask?a.unmaskedValue:a.value}),a.value=n.value??""}}),e.onBeforeUnmount(()=>{a?.destroy()}),e.watch(()=>t.mask,r=>{a&&a.updateOptions({mask:r,definitions:{9:/[0-9]/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/}})}),e.watch(n,r=>{a&&a.unmaskedValue!==r&&(a.value=r||"")}),(r,i)=>(e.openBlock(),e.createElementBlock("input",{type:"text",ref_key:"inputEl",ref:l,placeholder:r.placeholder,disabled:r.disabled,name:r.name,class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[e.unref(s)]]),style:{border:"1px solid #CFD9E0"}},null,10,Ys))}}),Ws={class:"relative w-full bg-white rounded-lg"},Js=["placeholder","disabled"],Xe=e.defineComponent({__name:"vs-input-email",props:e.mergeModels({style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{default:null},name:{},placeholder:{default:""}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,{inputClass:s}=ee(t.style),n=e.useModel(o,"modelValue");return(l,a)=>(e.openBlock(),e.createElementBlock("div",Ws,[a[1]||(a[1]=e.createStaticVNode('<div class="absolute bottom-2/4 translate-y-2/4 left-[10px] cursor-pointer"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="stroke-gray-500 transition-all"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z"></path><path d="M3 7l9 6l9 -6"></path></svg></div>',1)),e.withDirectives(e.createElementVNode("input",{type:"email","onUpdate:modelValue":a[0]||(a[0]=r=>n.value=r),placeholder:l.placeholder,disabled:l.disabled,class:e.normalizeClass(["!pl-8 py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[e.unref(s),{"!border-red-600":l.error}]]),style:{border:"1px solid #CFD9E0"}},null,10,Js),[[e.vModelText,n.value]])]))}}),Xs=["value","disabled"],Qs={class:"text-[13px] text-gray-700"},en=e.defineComponent({__name:"vs-input-radio-default",props:e.mergeModels({style:{},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{},value:{},text:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=e.useModel(o,"modelValue");return(s,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["flex items-center gap-0",[s.customClass]])},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=l=>t.value=l),type:"radio",value:s.value,disabled:s.disabled,class:"hidden"},null,8,Xs),[[e.vModelRadio,t.value]]),e.createElementVNode("span",{class:e.normalizeClass(["w-[16px] shrink-0 h-[16px] border rounded-full flex items-center justify-center mr-[10px]",[`border-${s.style?.primaryColor||"blue"}-500`,s.disabled?"opacity-50 cursor-not-allowed":""]])},[t.value==s.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["w-[12px] h-[12px] shrink-0 rounded-full",[`bg-${s.style?.primaryColor||"blue"}-500`]])},null,2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",Qs,e.toDisplayString(s.text),1)],2))}}),tn=["value","disabled"],sn={class:"text-[13px] text-gray-700"},nn={"vs-input-radio-default":en,"vs-input-radio-buttons":e.defineComponent({__name:"vs-input-radio-buttons",props:e.mergeModels({style:{},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{},value:{},text:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=e.useModel(o,"modelValue");return(s,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["flex items-center border rounded-lg px-2 py-1",[t.value==s.value?`ring-2 ring-ring ring-${s.style?.primaryColor||"blue"}-500`:"",s.customClass]])},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=l=>t.value=l),type:"radio",value:s.value,disabled:s.disabled,class:"hidden"},null,8,tn),[[e.vModelRadio,t.value]]),e.createElementVNode("span",sn,e.toDisplayString(s.text),1)],2))}})},je=e.defineComponent({__name:"vs-input-radio",props:e.mergeModels({options:{},position:{default:"vertical"},view:{default:"default"},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,s=e.useModel(o,"modelValue"),n=e.computed(()=>nn[`vs-input-radio-${t.view}`]);return(l,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([l.position==="horizontal"?"flex items-center flex-wrap gap-2":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.options,r=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),e.mergeProps({key:r?.id,text:r.text,value:r.id.toString(),checked:s.value===r.id,modelValue:s.value,"onUpdate:modelValue":a[0]||(a[0]=i=>s.value=i)},{ref_for:!0},l.$attrs),null,16,["text","value","checked","modelValue"]))),128))],2))}}),Qe=R(e.defineComponent({__name:"vs-input-checkbox",props:{options:{default:()=>[]},position:{default:"vertical"},slots:{default:null},colSpan:{default:0},data:{},view:{},style:{},customClass:{},disabled:{type:Boolean},modelValue:{default:!1},error:{},name:{},placeholder:{}},emits:["update:modelValue"],setup(o,{emit:t}){const s=o,n=t,l=e.ref([]),a=e.reactive({}),r=c=>c?.value||c?.id||c?.text||c,i=c=>c.text||String(c),d=c=>`lg:col-span-${c||12}`,u=async()=>{try{const c=await fetch(`/api/suggest/${s.data}`).then(p=>p.json());l.value=c?.data||c}catch(c){console.error(c)}};return e.watch(()=>s.modelValue,c=>{if(typeof c=="boolean"&&l.value.length===1){const p=r(l.value[0]);a[p]=c}else if(Array.isArray(c)){const p=new Set(c);l.value.forEach(h=>{if(!h.disabled){const x=r(h);a[x]=p.has(x)}})}},{immediate:!0}),e.watch(a,()=>{if(!l.value.length){n("update:modelValue",null);return}const c=Object.entries(a).filter(([,p])=>p).map(([p])=>p);n("update:modelValue",c.length===0?[]:c)},{deep:!0}),e.onMounted(()=>{if(s.data)u().then(()=>{if(typeof s.modelValue=="boolean"&&l.value.length===1){const c=r(l.value[0]);a[c]=s.modelValue}else if(Array.isArray(s.modelValue)){const c=new Set(s.modelValue);l.value.forEach(p=>{if(!p.disabled){const h=r(p);a[h]=c.has(h)}})}});else if(l.value=s.options,typeof s.modelValue=="boolean"&&l.value.length===1){const c=r(l.value[0]);a[c]=s.modelValue}else if(Array.isArray(s.modelValue)){const c=new Set(s.modelValue);l.value.forEach(p=>{if(!p.disabled){const h=r(p);a[h]=c.has(h)}})}}),(c,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["p-0 w-full gap-[6px]",[c.position==="vertical"?"flex-col":"",c.colSpan?"grid":"flex justify-start"]])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,h=>(e.openBlock(),e.createBlock(We,{modelValue:a[r(h)],"onUpdate:modelValue":x=>a[r(h)]=x,value:r(h),class:e.normalizeClass(d(c.colSpan)),disabled:h.disabled,label:i(h),key:r(h),icon:h?.icon,imgUrl:h?.imgUrl,option:h,view:c.view},null,8,["modelValue","onUpdate:modelValue","value","class","disabled","label","icon","imgUrl","option","view"]))),128))],2))}}),[["__scopeId","data-v-91f3584a"]]),ln=["type","placeholder","disabled"],et=e.defineComponent({__name:"vs-input-date1",props:{style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{default:""},mode:{default:"date"}},emits:["update:modelValue"],setup(o,{emit:t}){const s=o;function n(d){return d?s.mode==="datetime"?(d.includes("T")?d:null)||d+(d.includes(" ")?"":"T00:00"):d?.split(" ")[0]:null}const{inputClass:l}=ee(s.style),a=t,r=e.computed({get:()=>n(s.modelValue),set:d=>a("update:modelValue",d)}),i=e.computed(()=>s.mode==="datetime"?"datetime-local":s.mode);return(d,u)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:i.value,"onUpdate:modelValue":u[0]||(u[0]=c=>r.value=c),placeholder:d.placeholder,disabled:d.disabled,ref:"date",class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[d.modelValue?"":"text-opacity-50",e.unref(l)].join(" ")]),style:{border:"1px solid #CFD9E0"}},null,10,ln)),[[e.vModelDynamic,r.value]])}}),an=async(o,t,s,n)=>{try{const l=new FormData;return l.append("unique","true"),l.append("file",o),(await fetch(`/file/upload/uploads?id=${t||""}&form=${s||""}&table=${n||""}`,{method:"POST",body:l}).then(r=>r.json()))?.result}catch(l){return G.notify({type:"error",title:"Помилка!",message:"Сталась помилка під час завантаження файлу",position:"right-bottom"}),console.error("Сталась помилка завантаження файлу",l),null}},rn=async o=>{try{return await fetch(`file/delete${o}`),!0}catch(t){return console.error(t),!1}},tt=async o=>{try{const t=await fetch(`file/download/files/uploads${o}`),s=await t.arrayBuffer(),n=t.headers["content-type"],l=new TextDecoder("utf-8").decode(s),a=new Blob([l],{type:n}),r=document.createElement("a");r.setAttribute("download",o),r.href=window.URL.createObjectURL(a),r.click()}catch(t){console.error(t.message)}},on={},dn={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function un(o,t){return e.openBlock(),e.createElementBlock("svg",dn,t[0]||(t[0]=[e.createElementVNode("path",{d:"M5 12h14"},null,-1),e.createElementVNode("path",{d:"M12 5v14"},null,-1)]))}const _e=R(on,[["render",un]]),cn={},pn={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-file-text",width:"44",height:"44",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function hn(o,t,s,n,l,a){return e.openBlock(),e.createElementBlock("svg",pn,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path><line x1="9" y1="9" x2="10" y2="9"></line><line x1="9" y1="13" x2="15" y2="13"></line><line x1="9" y1="17" x2="15" y2="17"></line>',6)]))}const mn=R(cn,[["render",hn]]),fn={},gn={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-table",width:"44",height:"44",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function kn(o,t,s,n,l,a){return e.openBlock(),e.createElementBlock("svg",gn,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"},null,-1),e.createElementVNode("line",{x1:"4",y1:"10",x2:"20",y2:"10"},null,-1),e.createElementVNode("line",{x1:"10",y1:"4",x2:"10",y2:"20"},null,-1)]))}const bn=R(fn,[["render",kn]]),yn={},xn={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function _n(o,t){return e.openBlock(),e.createElementBlock("svg",xn,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path><path d="M9 9l1 0"></path><path d="M9 13l6 0"></path><path d="M9 17l6 0"></path>',6)]))}const st=R(yn,[["render",_n]]),wn={},En={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-file-zip",width:"44",height:"44",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function Vn(o,t,s,n,l,a){return e.openBlock(),e.createElementBlock("svg",En,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M6 20.735a2 2 0 0 1 -1 -1.735v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2h-1"></path><path d="M11 17a2 2 0 0 1 2 2v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-2a2 2 0 0 1 2 -2z"></path><line x1="11" y1="5" x2="10" y2="5"></line><line x1="13" y1="7" x2="12" y2="7"></line><line x1="11" y1="9" x2="10" y2="9"></line><line x1="13" y1="11" x2="12" y2="11"></line><line x1="11" y1="13" x2="10" y2="13"></line><line x1="13" y1="15" x2="12" y2="15"></line>',9)]))}const Cn=R(wn,[["render",Vn]]),Bn={},vn={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-file-code",width:"44",height:"44",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function Nn(o,t,s,n,l,a){return e.openBlock(),e.createElementBlock("svg",vn,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path><path d="M10 13l-1 2l1 2"></path><path d="M14 13l1 2l-1 2"></path>',5)]))}const Sn=R(Bn,[["render",Nn]]),Mn=o=>{if(!o)return"";const t=o?.split(".");return t[t.length-1]},Fn=o=>{const t=Mn(o),s={imageFormat:["tiff","jpg","jpeg","png","svg","ico","webp"],sheetsFormat:["xls","csv","xlsx"],archivesFormat:["zip","rar"],textsFormat:["json","geojson","txt","yml","yaml","shp"],documentsFormat:["pdf"]};return s.imageFormat.includes(t)?"img":s.sheetsFormat.includes(t)?bn:s.textsFormat.includes(t)?Sn:s.documentsFormat.includes(t)?mn:s.archivesFormat.includes(t)?Cn:st},An={},$n={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-trash"};function Dn(o,t){return e.openBlock(),e.createElementBlock("svg",$n,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 7l16 0"></path><path d="M10 11l0 6"></path><path d="M14 11l0 6"></path><path d="M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12"></path><path d="M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"></path>',6)]))}const Fe=R(An,[["render",Dn]]),In={},Ln={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-download"};function Tn(o,t){return e.openBlock(),e.createElementBlock("svg",Ln,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"},null,-1),e.createElementVNode("path",{d:"M7 11l5 5l5 -5"},null,-1),e.createElementVNode("path",{d:"M12 4l0 12"},null,-1)]))}const nt=R(In,[["render",Tn]]),On={class:"h-[120px] w-[120px] border text-gray-300 border-dashed border-[#CFD9E0] rounded-lg overflow-hidden relative item-file"},Rn={class:"absolute hidden top-0 right-0 flex items-center gap-x-2 w-full h-full justify-center"},lt=R(e.defineComponent({__name:"vs-input-file-list-item",props:e.mergeModels({format:{},multiple:{type:Boolean},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},{value:{},valueModifiers:{},item:{},itemModifiers:{}}),emits:["update:value","update:item"],setup(o){const t=e.useModel(o,"value"),s=e.useModel(o,"item"),n=o;return(l,a)=>(e.openBlock(),e.createElementBlock("div",On,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Fn)(s.value)),{src:s.value,alt:"file",class:"w-full h-full object-cover cursor-pointer",onClick:a[0]||(a[0]=r=>e.unref(tt)(s.value))},null,8,["src"])),e.createElementVNode("div",Rn,[e.createElementVNode("button",{type:"button",onClick:a[1]||(a[1]=r=>{e.unref(rn)(s.value),t.value=n.multiple?t.value?.filter(i=>i!==s.value):""}),class:"w-6 h-6 flex items-center justify-center text-gray-500 bg-gray-200 rounded-lg hover:text-red-500"},[e.createVNode(Fe,{class:"w-4 h-4"})]),e.createElementVNode("button",{type:"button",onClick:a[2]||(a[2]=r=>e.unref(tt)(s.value)),class:"w-6 h-6 flex items-center justify-center text-gray-500 bg-gray-200 rounded-lg hover:text-blue-500"},[e.createVNode(nt,{class:"w-4 h-4"})])])]))}}),[["__scopeId","data-v-0ca886b3"]]),zn={class:"flex items-center gap-x-2"},jn={key:1,class:"flex items-center flex-wrap gap-2"},at=e.defineComponent({__name:"vs-input-file",props:e.mergeModels({format:{},multiple:{type:Boolean},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,s=e.useModel(o,"modelValue"),n=e.ref(null),l=r=>Array.isArray(s.value)&&s.value[r]||"",a=async r=>{if(t.format){const u=r.target.files?.[0];if(!u||!u.name.endsWith(t.format))return}const i=r.target.files?.[0];if(!i)return;const d=await an(i,"1","form","table");s.value=t.multiple?[...s.value||[],d?.file_path]:d?.file_path};return(r,i)=>(e.openBlock(),e.createElementBlock("div",zn,[e.createElementVNode("input",{class:"hidden",ref_key:"fileInput",ref:n,type:"file",onChange:a},null,544),!r.multiple&&s.value?(e.openBlock(),e.createBlock(lt,{key:0,item:s.value,"onUpdate:item":i[0]||(i[0]=d=>s.value=d),value:s.value,"onUpdate:value":i[1]||(i[1]=d=>s.value=d)},null,8,["item","value"])):r.multiple?(e.openBlock(),e.createElementBlock("div",jn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(d,u)=>(e.openBlock(),e.createBlock(lt,{multiple:r.multiple,key:u,value:s.value,"onUpdate:value":i[2]||(i[2]=c=>s.value=c),item:l(u)},null,8,["multiple","value","item"]))),128)),e.createElementVNode("div",{onClick:i[3]||(i[3]=d=>!r.disabled&&n.value?.click()),class:e.normalizeClass(["h-[120px] w-[120px] border text-gray-300 hover:text-blue-500 border-dashed border-[#CFD9E0] rounded-lg flex items-center justify-center transition-all duration-300",r.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer hover:border-blue-500 hover:bg-blue-50"])},[e.createVNode(_e,{class:"w-6 h-6"})],2)])):e.createCommentVNode("",!0),r.multiple?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:2,onClick:i[4]||(i[4]=d=>n.value?.click()),class:e.normalizeClass([r.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer hover:border-blue-500","h-[120px] w-[120px] border text-gray-300 hover:text-blue-500 border-dashed border-gray-300 rounded-lg flex items-center justify-center cursor-pointer hover:border-blue-500 transition-all duration-300 hover:bg-blue-50"])},[e.createVNode(_e,{class:"w-6 h-6"})],2))]))}}),Un={class:"max-w-[55vw]"},Pn={class:"text-sm font-semibold text-gray-800 truncate dark:text-neutral-200"},Hn={class:"flex items-center text-xs text-gray-500 truncate dark:text-neutral-500"},Gn={class:"px-[5px]"},qn={class:""},Ae=e.defineComponent({__name:"vs-widget-file-info",props:{item:{default:null}},setup(o){const t=o,s=e.computed(()=>{try{return new Date(t.item.cdate).toLocaleDateString("uk-UA",{day:"2-digit",month:"long",year:"numeric"})}catch{return""}});function n(l){if(l<1024)return`${l} B`;const a=l/1024;return a<1024?`${a.toFixed(2)} KB`:`${(a/1024).toFixed(2)} MB`}return(l,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[a[1]||(a[1]=e.createStaticVNode('<div class="flex items-center justify-center h-[30px] w-[30px]"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-file"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path></svg></div>',1)),e.createElementVNode("div",Un,[e.createElementVNode("p",Pn,e.toDisplayString(l.item?.uploaded_name),1),e.createElementVNode("p",Hn,[e.createElementVNode("span",null,e.toDisplayString(l.item?.username),1),e.withDirectives(e.createElementVNode("span",Gn,"|",512),[[e.vShow,l.item?.username]]),e.createElementVNode("span",null,e.toDisplayString(s.value),1),a[0]||(a[0]=e.createElementVNode("span",{class:"px-[5px]"},"|",-1)),e.createElementVNode("span",qn,e.toDisplayString(n(l.item?.size)),1)])])],64))}}),Kn={class:"p-3 relative group flex items-center gap-x-3 border border-gray-200 bg-white rounded-md w-full"},Zn={key:0,class:"flex w-full gap-x-3 items-center"},Yn={key:1,class:"flex gap-x-3 w-full items-center"},Wn={key:2,class:"flex gap-x-3 w-full items-center"},Jn=["href"],Xn={key:3,class:"flex gap-x-3 w-full items-center"},Qn={class:"lg:absolute lg:top-3 lg:end-1 opacity-100"},el={class:"p-0.5 sm:p-1 inline-flex items-center gap-0.5 bg-white rounded-lg dark:bg-neutral-800 dark:border-neutral-700"},tl={class:"inline-block"},sl={class:"inline-block"},nl=e.defineComponent({__name:"vs-widget-file-item",props:{item:{default:null},index:{default:0},prefix:{default:"/api"}},emits:["update","openModal","openLightbox"],setup(o,{emit:t}){const s=o,n=t;function l(c){return["pdf","json"].includes(c.ext)}function a(c){return["ppt","pptx","doc","docx","xls","xlsx"].includes(c.ext)}function r(c){const p=document.createElement("a");p.setAttribute("download",c?.uploaded_name),p.href=c?.file_path,p.click()}async function i(){try{await fetch(`${s.prefix}/widget/file/${s.item.entity_id}/${s.item.file_id}`),n("update")}catch(c){console.error(c)}}function d(){n("openModal",{title:"Ви впевнені?",message:"Ви впевнені, що хочете видалити цей файл?",confirmButtonText:"Так, я впевнена/ий",cancelButtonText:"Скасувати",confirm:i,updateListOnConfirm:!0})}function u(c){(s.item.ext==="jpg"||s.item.ext==="png")&&n("openLightbox",{item:s.item,index:c})}return(c,p)=>(e.openBlock(),e.createElementBlock("div",Kn,[c.item.ext==="jpg"||c.item.ext==="png"?(e.openBlock(),e.createElementBlock("div",Zn,[e.createElementVNode("div",{class:"max-w-[55vw] cursor-pointer flex gap-x-3 w-full items-center",onClick:p[0]||(p[0]=h=>u(c.index))},[e.createVNode(Ae,{item:c.item},null,8,["item"])])])):l(c.item)?(e.openBlock(),e.createElementBlock("div",Yn,[e.createVNode(Ae,{item:c.item},null,8,["item"])])):a(c.item)?(e.openBlock(),e.createElementBlock("div",Wn,[e.createElementVNode("a",{href:`/api/file-preview?id=${c.item.file_id}`,target:"_blank",class:"flex gap-x-3 w-full items-center"},[e.createVNode(Ae,{item:c.item},null,8,["item"])],8,Jn)])):(e.openBlock(),e.createElementBlock("div",Xn,[e.createVNode(Ae,{item:c.item},null,8,["item"])])),e.createElementVNode("div",Qn,[e.createElementVNode("div",el,[e.createElementVNode("div",tl,[e.createElementVNode("button",{class:"inline-flex p-[6px] justify-center items-center gap-x-2 rounded-lg border border-transparent text-gray-500 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:text-neutral-400 focus:outline-none focus:bg-gray-100 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",onClick:p[1]||(p[1]=h=>r(c.item))},[e.createVNode(nt,{height:"14",width:"14"})])]),p[3]||(p[3]=e.createElementVNode("div",{class:"w-px h-5 mx-1 bg-gray-200 dark:bg-neutral-700"},null,-1)),e.createElementVNode("div",sl,[e.createElementVNode("button",{type:"button",class:"size-[30px] inline-flex justify-center items-center gap-x-2 rounded-lg border border-transparent text-red-600 hover:bg-red-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-red-100 dark:text-red-500 dark:hover:bg-red-500/20 dark:focus:bg-red-500/20",onClick:p[2]||(p[2]=h=>d())},[e.createVNode(Fe,{height:"14",width:"14"})])])])])]))}}),ll={},al={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-download"};function rl(o,t){return e.openBlock(),e.createElementBlock("svg",al,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"},null,-1),e.createElementVNode("path",{d:"M7 11l5 5l5 -5"},null,-1),e.createElementVNode("path",{d:"M12 4l0 12"},null,-1)]))}const ol=R(ll,[["render",rl]]),il={class:"flex flex-col widget-file xl:bg-white xl:rounded-xl dark:xl:bg-neutral-800 dark:xl:border-neutral-700 w-full"},dl={class:"flex w-full mb-[12px] items-center gap-x-2"},ul={class:"font-semibold text-gray-800 dark:text-neutral-200 text-[14px]"},cl={class1:"ml-auto"},pl={class:"py-1.5 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 cursor-pointer hover:bg-gray-200 text-gray-800 shadow-2xs hover:bg-gray-50 focus:outline-hidden focus:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},hl={key:0,class:"py-4 mb-4 space-y-4 border-gray-200 border-y dark:border-neutral-700"},ml={class:"relative"},fl={key:1,class:"space-y-3 max-h-[300px] overflow-y-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"},gl={key:0},rt=e.defineComponent({__name:"vs-input-file-list",props:{id:{default:""},prefix:{default:"/api"},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},emits:["update"],setup(o,{emit:t}){const s=o,n=e.inject("form"),l=e.computed(()=>n.value.formId),a=e.ref(!1),r=e.ref(0),i=t,d=e.ref(!1),u=e.ref({}),c=e.ref([]),p=e.ref(""),h=e.computed(()=>Array.isArray(c.value)?c.value.filter(b=>b.ext==="jpg"||b.ext==="png").map(b=>b?.file_path):[]),x=e.computed(()=>p.value===""?c.value:c.value.filter(b=>b?.uploaded_name?.includes(p.value))),A=b=>{const k=h.value.findIndex(S=>S===b.item.file_path);k!==-1&&(a.value=!0,r.value=k)},V=async()=>{try{const b=await fetch(`${s.prefix}/widget/file/${l.value}`).then(k=>k.json());c.value=b?.rows}catch(b){console.error(b)}},M=async b=>{await Promise.all(Array.from(b.target.files).map(async k=>{const S=new FormData;S.append("file",k);try{const U=`${s.prefix}/widget/file/${l.value}`,w=await fetch(U,{method:"POST",body:S});return w.ok?(i("update","file-list"),k):(G.notify({type:w.status>=400&&w.status<500?"warning":"error",title:"Error",message:`Error code: ${w.status}`}),null)}catch(U){return G.notify({type:"error",title:"Error",message:U.message||"Unknown error"}),console.error(U),null}})),await V()},C=b=>{const k={...b};return b.cancel||(k.cancel=()=>{d.value=!1}),b.updateListOnConfirm&&(k.confirm=async()=>{await b.confirm(),d.value=!1,V()}),k},B=b=>{u.value=C(b),d.value=!0};return e.watch(l,b=>{b&&V()}),e.onMounted(()=>{l.value&&V()}),(b,k)=>{const S=e.resolveComponent("Lightbox"),U=e.resolveComponent("MessageBox");return e.openBlock(),e.createElementBlock("div",il,[e.createElementVNode("div",dl,[e.createElementVNode("h2",ul," Файлів: "+e.toDisplayString(c.value?.length),1),e.createElementVNode("div",cl,[e.createElementVNode("label",null,[e.createElementVNode("input",{type:"file",class:"hidden",onChange:k[0]||(k[0]=w=>M(w))},null,32),e.createElementVNode("div",pl,[e.createVNode(ol,{height:"16",width:"16"})])])])]),c.value?.length>4?(e.openBlock(),e.createElementBlock("div",hl,[e.createElementVNode("div",null,[e.createElementVNode("div",ml,[k[8]||(k[8]=e.createElementVNode("div",{class:"absolute inset-y-0 start-0 flex items-center pointer-events-none z-[1] ps-3.5"},[e.createElementVNode("svg",{class:"flex-shrink-0 text-gray-500 size-4 dark:text-neutral-400",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"m21 21-4.3-4.3"})])],-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":k[1]||(k[1]=w=>p.value=w),class:"py-2 px-3 ps-10 pe-16 block w-full bg-gray-200 xl:bg-gray-100 rounded-lg text-sm focus:border-blue-500 h-[40px] focus:border-2 focus:outline-none disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:border-transparent dark:text-neutral-400 dark:placeholder:text-neutral-400 dark:focus:ring-neutral-600",placeholder:"Введіть назву файлу"},null,512),[[e.vModelText,p.value,void 0,{trim:!0}]])])])])):e.createCommentVNode("",!0),c.value?.length?(e.openBlock(),e.createElementBlock("div",fl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(w,W)=>(e.openBlock(),e.createBlock(nl,{key:W,prefix:b.prefix,item:w,index:W,onUpdate:k[2]||(k[2]=X=>b.$emit("update","file-list")),onOpenModal:k[3]||(k[3]=X=>B(X)),onOpenLightbox:k[4]||(k[4]=X=>A(X))},null,8,["prefix","item","index"]))),128)),x.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",gl,k[9]||(k[9]=[e.createElementVNode("p",{class:"text-sm text-gray-600 font-sm"}," Файлів з такою назвою не існує, введіть інше пошукове слово ",-1)])))])):e.createCommentVNode("",!0),e.createVNode(S,{modelValue:a.value,"onUpdate:modelValue":k[5]||(k[5]=w=>a.value=w),startIndex:r.value,"onUpdate:index":k[6]||(k[6]=w=>r.value=w),images:h.value},null,8,["modelValue","startIndex","images"]),e.createVNode(U,e.mergeProps({modelValue:d.value,"onUpdate:modelValue":k[7]||(k[7]=w=>d.value=w),onConfirm:u.value.confirm},u.value),null,16,["modelValue","onConfirm"])])}}}),kl={class:"flex items-center justify-between"},bl={class:"text-[16px] text-gray-900 font-medium"},yl={class:"grid gap-3"},xl=R(e.defineComponent({__name:"vs-container-switcher",props:{title:{type:String,default:""},style:{type:Object,default:()=>({})},isOpen:{type:Boolean,default:!1}},setup(o){const t=o,s=e.ref(t.isOpen);return e.watch(()=>t.isOpen,n=>{s.value=n}),(n,l)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",kl,[e.createElementVNode("p",bl,e.toDisplayString(o.title),1),e.createVNode(Re,{modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=a=>s.value=a),style:e.normalizeStyle(o.style)},null,8,["modelValue","style"])]),e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",yl,[e.renderSlot(n.$slots,"default",{},void 0,!0)],512),[[e.vShow,s.value]])]),_:3})]))}}),[["__scopeId","data-v-90320b87"]]),_l={class:"text-[16px] text-gray-900 font-medium"},wl={class:"grid gap-3"},El=R(e.defineComponent({__name:"vs-container-accordion",props:{title:{type:String,default:""},style:{type:Object,default:()=>({})},isOpen:{type:Boolean,default:!1}},setup(o){const t=o,s=e.ref(t.isOpen);return e.watch(()=>t.isOpen,n=>{s.value=n}),(n,l)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{type:"button",onClick:l[0]||(l[0]=a=>s.value=!s.value),class:"flex items-center gap-2"},[e.createVNode(e.unref(Is),{class:e.normalizeClass(["h-4 w-4 duration-300",[s.value?"-rotate-180":""]])},null,8,["class"]),e.createElementVNode("span",_l,e.toDisplayString(o.title),1)]),e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",wl,[e.renderSlot(n.$slots,"default",{},void 0,!0)],512),[[e.vShow,s.value]])]),_:3})]))}}),[["__scopeId","data-v-590eff11"]]),Vl={class:"flex items-center justify-between"},Cl={switcher:xl,accordion:El,default:e.defineComponent({__name:"vs-container-default",props:{title:{type:String,default:""},style:{type:Object,default:()=>({})}},setup(o){return(t,s)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",Vl,[e.createElementVNode("p",null,e.toDisplayString(o.title),1)]),e.renderSlot(t.$slots,"default")]))}})},te={Equal:"==",Inequal:"!=",Higer:">",HigerOrEqual:">=",Lower:"<",LowerOrEqual:"<=",Between:"between",StartWith:"^",EndWith:"$",Contain:"*",In:"in",NotIn:"not_in"},Bl=(o,t)=>String(o)===String(t),vl=(o,t)=>String(o)!==String(t),Nl=(o,t)=>o>t,Sl=(o,t)=>o>=t,Ml=(o,t)=>o<t,Fl=(o,t)=>o<=t,Al=(o,t)=>Array.isArray(t)&&t.length===2?o>=t[0]&&o<=t[1]:!1,$l=(o,t)=>String(o).startsWith(String(t)),Dl=(o,t)=>String(o).endsWith(String(t)),Il=(o,t)=>String(o).includes(String(t)),Ll=(o,t)=>Array.isArray(t)?t.includes(o):!1,Tl=(o,t)=>Array.isArray(t)?!t.includes(o):!0,ot=(o,t)=>{if(!t)return!0;switch(t?.[1]){case te.Equal:return Bl(o,t?.[2]);case te.Inequal:return vl(o,t?.[2]);case te.Higer:return Nl(o,t?.[2]);case te.HigerOrEqual:return Sl(o,t?.[2]);case te.Lower:return Ml(o,t?.[2]);case te.LowerOrEqual:return Fl(o,t?.[2]);case te.Between:return Al(o,t?.[2]);case te.StartWith:return $l(o,t?.[2]);case te.EndWith:return Dl(o,t?.[2]);case te.Contain:return Il(o,t?.[2]);case te.In:return Ll(o,t?.[2]);case te.NotIn:return Tl(o,t?.[2]);default:return!0}},it=e.defineComponent({__name:"vs-input-container",props:{style:{type:Object,default:()=>({})},title:{type:String,default:""},view:{type:String,default:"default"},schema:{type:Array,default:()=>[]}},setup(o){const t=o,s=e.inject("formValues",{default:{}}),n=e.inject("form"),l=e.computed(()=>t.schema?.filter(r=>{const i=r?.conditions;if(!i)return!0;const d=Array.isArray(i)?i[0]:i,u=s?.value?.[d];return ot(u,i)})),a=e.computed(()=>Cl[t.view]);return(r,i)=>o.schema?.length?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),{key:0,title:o.title,style:e.normalizeStyle(o.style)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,d=>(e.openBlock(),e.createBlock(xt,e.mergeProps({key:d.name},{ref_for:!0},d,{item:d,modelValue:e.unref(s)[d.name],"onUpdate:modelValue":u=>e.unref(s)[d.name]=u,style:o.style,error:e.unref(n)?.errors?.[d.name]}),null,16,["item","modelValue","onUpdate:modelValue","style","error"]))),128))]),_:1},8,["title","style"])):e.createCommentVNode("",!0)}}),Ol=["aria-expanded","data-focus"],Rl={class:"flex items-center"},zl=["title"],jl=["onClick"],Ul=["title"],Pl={key:2,class:"text-gray-500 truncate"},Hl={class:"flex-1 min-w-[2px]"},Gl=["placeholder"],ql={class:"flex items-center shrink-0"},Kl=["disabled"],Zl=["disabled","title"],Yl=["aria-disabled","onClick"],Wl={key:1,class:"px-3 py-2 text-center text-gray-500"},Jl=["disabled"],Ue=e.defineComponent({__name:"vs-input-select",props:{multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},mode:{},defaultValue:{},search:{type:Boolean,default:!0},placeholder:{default:"Оберіть значення"},prefix:{default:"api"},host:{default:""},data:{default:""},options:{default:()=>[]},api:{default:null},maxHeight:{default:400},parent:{},add:{},style:{default:()=>({})},customClass:{default:""},modelValue:{},error:{default:null},name:{}},emits:["change","update:modelValue"],setup(o,{emit:t}){const s=o,n=t,l=e.computed(()=>s.multiple),a=e.computed(()=>s.disabled);ee(s.style);const r=e.computed({get:()=>s.modelValue,set:g=>n("update:modelValue",g)});!r.value&&s.defaultValue&&(r.value=s.defaultValue);const i=e.ref(null),d=e.ref(null),u=e.ref(null),c=e.ref(null),p=e.ref(!1),h=e.ref(!1),x=e.ref(null),A=e.ref([]),V=e.ref(-1),M=e.ref([]),C=e.ref(""),B=e.ref(null),b=e.ref("bottom"),k=e.ref({}),S=e.ref([]),U=e.computed(()=>{if(!S.value.length)return[];const g=new Map(A.value.map(m=>[m.id?.toString(),m]));return S.value.map(m=>g.get(m?.toString())).filter(m=>!!m)}),w=e.computed(()=>s.placeholder||"Select..."),W=e.computed(()=>l.value?!S.value.length&&C.value==="":!x.value?.text&&C.value===""),X=e.computed(()=>a.value?!1:l.value?S.value.length>0:!!r.value),Q=g=>l.value?S.value.some(m=>m?.toString()===g?.toString()):r.value?.toString()===g?.toString(),Z=e.computed(()=>{let g=A.value??[];if(!s.data&&C.value.trim()!==""){const m=C.value.toLowerCase();g=g.filter(_=>_.text?.toLowerCase?.().includes(m))}if(l.value&&S.value.length){const m=new Set(S.value.map(_=>_?.toString()));g=g.filter(_=>!m.has(_.id?.toString()))}return g}),Ne=e.inject("values"),ue=e.computed(()=>s.parent?Ne?.value?.[s.parent]??null:null),se=async g=>{if(!s.data){let m=s.options??[];if(g?.trim()){const _=g.toLowerCase();m=m.filter(T=>T.text?.toLowerCase?.().includes(_))}return m}try{const m=s.host??"",_=s.prefix??"api",T=s.api??`/${_}/suggest/${s.data}`,Y=`${m}${T}`,ae=new URLSearchParams;return ae.set("json","1"),g&&ae.set("key",g),ue.value!==void 0&&ue.value!==null&&ue.value!==""&&ae.set("parent",String(ue.value)),(await fetch(`${Y}?${ae.toString()}`).then(ye=>ye.json()))?.data??[]}catch{return[]}},D=async()=>{s.data?A.value=await se(C.value):A.value=s.options?[...s.options]:[]},v=async g=>{if(g==null)return null;const m=A.value?.find(T=>T?.id?.toString()===String(g));return m||((await se(String(g)))?.[0]??null)},N=async g=>{const m=new Set(A.value.map(T=>T.id?.toString())),_=g.filter(T=>!m.has(T?.toString()));_.length&&await _.reduce(async(T,Y)=>{await T;const ae=await v(Y);ae&&A.value.push(ae)},Promise.resolve())},z=async()=>{a.value||(p.value=!0,await D(),await e.nextTick(()=>{de(),B.value?.focus(),Z.value.length?V.value=0:V.value=-1}))},P=()=>{p.value=!1,V.value=-1},ne=async g=>{if(a.value)return;!p.value?await z():P()},f=async()=>{p.value?B.value?.focus():await z()},y=()=>{l.value?(S.value=[],r.value=[],n("change",[])):(x.value=null,r.value=null,n("change",null)),C.value="",e.nextTick(()=>B.value?.focus())},I=g=>{l.value&&(S.value=S.value.filter(m=>m?.toString()!==g?.toString()),r.value=[...S.value],n("change",r.value),e.nextTick(()=>B.value?.focus()))},j=g=>{l.value?(Q(g.id)||(S.value=[...S.value,g.id],r.value=[...S.value],n("change",r.value)),C.value="",e.nextTick(()=>{B.value?.focus(),V.value=Math.min(V.value,Z.value.length-1)})):(x.value=g,r.value=g.id,n("change",r.value),C.value="",P())},H=g=>{Q(g.id)||j(g)},le=(g,m)=>{if(!g||!m)return;const _=g.offsetTop,T=_+g.offsetHeight,Y=m.scrollTop,ae=Y+m.clientHeight;let ke=m.scrollTop;_<Y?ke=_-80:T>ae&&(ke=T-m.clientHeight+4);const ye=m;ye.scrollTop=ke},ce=g=>{let m=g.parentElement;for(;m;){if(m.classList.contains("ui-dialog__content"))return m;const _=window.getComputedStyle(m),T=_.overflow+_.overflowY+_.overflowX;if(T.includes("auto")||T.includes("scroll")||m===document.body||m===document.documentElement)return m;m=m.parentElement}return document.body},de=()=>{if(!d.value)return;const g=d.value.getBoundingClientRect(),m=window.innerHeight||document.documentElement.clientHeight,_=window.innerWidth||document.documentElement.clientWidth,T=8,Y=8,ae=s.maxHeight||300,ke=m-g.bottom-Y-T,ye=g.top-Y-T,Oe=ke>=ye,Ze=Math.max(_-T*2,0);let{width:Se}=g;Ze>0&&Se>Ze&&(Se=Ze);let{left:Me}=g;Me+Se+T>_&&(Me=_-Se-T),Me=Math.max(Me,T);const ki=Math.min(ae,Math.max(Oe?ke:ye,50));b.value=Oe?"bottom":"top",k.value={position:"fixed",left:`${Me}px`,width:`${Se}px`,minWidth:"300px",maxHeight:`${ki}px`,transform:Oe?"none":"translateY(-100%)",top:Oe?`${g.bottom+Y}px`:`${g.top-Y}px`}},fe=async g=>{a.value||!p.value&&(g.key==="ArrowDown"||g.key==="ArrowUp")&&(g.preventDefault(),await z())},ge=g=>{if(!p.value)return;const{key:m}=g;if(m==="ArrowDown")g.preventDefault(),V.value+1<Z.value.length&&(V.value+=1,le(M.value[V.value],u.value));else if(m==="ArrowUp")g.preventDefault(),V.value>0&&(V.value-=1,le(M.value[V.value],u.value));else if(m==="Enter"){g.preventDefault();const _=Z.value[V.value];_&&j(_),B.value?.blur()}else m==="Escape"?(g.preventDefault(),P()):m==="Backspace"?l.value&&C.value===""&&S.value.length&&(S.value=S.value.slice(0,-1),r.value=[...S.value],n("change",r.value)):m==="Home"?(V.value=0,le(M.value[0],u.value)):m==="End"?(V.value=Z.value.length-1,le(M.value[V.value],u.value)):m==="Tab"&&P()},ci=()=>{a.value||(h.value=!0)},pi=()=>{h.value=!1,C.value=""},Tt=g=>{g.key==="Escape"&&p.value&&P()},Ot=g=>{const m=g.target;i.value?.contains(m)||c.value?.contains(m)||P()},Rt=g=>{p.value&&u.value&&!u.value.contains(g.target)&&de()},zt=()=>{p.value&&de()},jt=()=>{p.value&&de()};e.watch(()=>s.options,g=>{g?.length&&(A.value=[...g])},{immediate:!0});const Ut=async()=>{if(l.value)Array.isArray(r.value)?S.value=[...r.value]:(S.value=r.value==null?[]:[r.value],r.value=[...S.value]),!s.options?.length&&s.data&&await N(S.value);else{if(Array.isArray(r.value)){const g=r.value[0]??null;r.value=g??null}x.value=await v(r.value)}};e.watch(r,()=>{Ut()}),e.onMounted(async()=>{addEventListener("keydown",Tt),addEventListener("scroll",Rt,!0),addEventListener("resize",zt),document.addEventListener("click",Ot,!0),d.value&&ce(d.value).addEventListener("scroll",jt,!0),s.options?.length?A.value=[...s.options]:s.data&&(A.value=await se("")),await Ut()}),e.onUnmounted(()=>{removeEventListener("keydown",Tt),removeEventListener("scroll",Rt,!0),removeEventListener("resize",zt),document.removeEventListener("click",Ot,!0),d.value&&ce(d.value).removeEventListener("scroll",jt,!0)});const Te=e.ref(!1),Ke=e.ref({}),Pt=e.ref([]),Ht=e.ref(null);async function hi(){if(!s.add?.token||Ht?.value.validate())return;const m=s.add.api??`/api/table/${s.add.token}`,{id:_}=await fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Ke.value)}).then(T=>T.json());if(!s.options?.length&&s.data){const{data:T}=await fetch(`${s.api??`/api/suggest/${s.data}`}?val=${_}`).then(Y=>Y.json());x.value=T[0],A.value.push(T[0]),r.value=_}Te.value=!1,G.notify({title:"Success!",message:"Object created."})}async function mi(){if(!s.add)return null;const g=await fetch(`/api/template/form/${s.add.form}`).then(m=>m.json());return Pt.value=g.schema,Te.value=!0,null}function fi(g,m=200){let _;return(...T)=>{_&&clearTimeout(_),_=window.setTimeout(()=>g(...T),m)}}const gi=fi(async g=>{A.value=await se(g)},200);return e.watch(C,g=>{s.data&&gi(g.trim())}),e.watch(()=>s.options,g=>{!s.data&&g?.length&&(A.value=[...g])},{immediate:!0}),e.watch(()=>s.parent??s.parentValue,()=>{s.data&&D()}),e.watch(ue,async()=>{s.data&&(l.value?(S.value=[],r.value=[],n("change",[])):(x.value=null,r.value=null,n("change",null)))}),(g,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(G.VsModal),{visible:Te.value,"onUpdate:visible":m[1]||(m[1]=_=>Te.value=_),title:"Додати",buttonText:"Додати",onDone:hi},{default:e.withCtx(()=>[e.createVNode(me,{schema:Pt.value,modelValue:Ke.value,"onUpdate:modelValue":m[0]||(m[0]=_=>Ke.value=_),ref_key:"addForm",ref:Ht},null,8,["schema","modelValue"])]),_:1},8,["visible"]),e.createElementVNode("div",{class:"flex gap-1 w-full",ref_key:"selectRoot",ref:i,onClick:m[4]||(m[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(["relative w-full font-sans",s.customClass])},[m[9]||(m[9]=e.createElementVNode("span",{id:"react-select-live-region",class:"sr-only"},null,-1)),m[10]||(m[10]=e.createElementVNode("span",{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text",role:"log",class:"sr-only"},null,-1)),e.createElementVNode("div",{class:e.normalizeClass(["flex min-h-[38px] items-center justify-between rounded border transition-colors bg-white","border-gray-300 hover:border-gray-400",p.value||h.value?"border-blue-500 ring-1 ring-blue-500":"",a.value?"bg-gray-100 text-gray-400 cursor-not-allowed hover:border-gray-300":""]),role:"combobox","aria-expanded":p.value,"aria-haspopup":"listbox",onKeydown:fe,onClick:f,"data-focus":p.value||h.value?"true":"false"},[e.createElementVNode("div",{class:"flex flex-1 items-center gap-1 py-0.5 pl-2 pr-0 overflow-hidden",ref_key:"triggerRef",ref:d},[l.value&&S.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(U.value,_=>(e.openBlock(),e.createElementBlock("div",{class:"flex min-w-0 bg-[#e6e6e6] rounded-sm m-0.5 box-border",key:_.id},[e.createElementVNode("div",Rl,[_?.color?(e.openBlock(),e.createElementBlock("span",{key:0,class:"w-[16px] h-[16px] rounded-md block ml-1.5",style:e.normalizeStyle({backgroundColor:_?.color})},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"truncate text-gray-900 overflow-hidden",title:_.text},e.toDisplayString(_.text),9,zl)]),e.createElementVNode("div",{role:"button",class:"flex items-center rounded-sm px-1 box-border hover:bg-[#ffbdad] hover:text-[#de350b]",onClick:e.withModifiers(T=>I(_.id),["stop"])},m[5]||(m[5]=[e.createElementVNode("svg",{height:"14",width:"14",viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",class:"inline-block fill-current stroke-current leading-none stroke-0"},[e.createElementVNode("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"})],-1)]),8,jl)]))),128)):!l.value&&!h.value&&x.value?.text&&C.value===""?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["truncate text-gray-900"]),title:x.value.text},[x.value?.color?(e.openBlock(),e.createElementBlock("span",{key:0,class:"w-[14px] h-[14px] rounded-md block mr-1 mt-1 absolute",style:e.normalizeStyle({backgroundColor:x.value?.color})},null,4)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"pl-5":x.value?.color})},e.toDisplayString(x.value.text),3)],8,Ul)):e.createCommentVNode("",!0),W.value?(e.openBlock(),e.createElementBlock("div",Pl,e.toDisplayString(w.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Hl,[!a.value&&g.search?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,ref_key:"inputRef",ref:B,class:"w-full bg-transparent outline-none border-0 m-0 p-0 text-gray-900",autocapitalize:"none",autocomplete:"off",autocorrect:"off",spellcheck:"false",type:"text",tabindex:"0","aria-autocomplete":"list",placeholder:(l.value&&S.value.length?" ":null)||(h.value&&!C.value?.length?x.value?.text:" "),"onUpdate:modelValue":m[2]||(m[2]=_=>C.value=_),onFocus:ci,onBlur:pi,onKeydown:ge},null,40,Gl)),[[e.vModelText,C.value]]):e.createCommentVNode("",!0)])],512),e.createElementVNode("div",ql,[X.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"px-2 text-gray-400 hover:text-gray-500 transition-colors disabled:opacity-50","aria-hidden":"true",disabled:a.value,onClick:e.withModifiers(y,["stop"])},m[6]||(m[6]=[e.createElementVNode("svg",{height:"20",width:"20",viewBox:"0 0 20 20",class:"fill-current"},[e.createElementVNode("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"})],-1)]),8,Kl)):e.createCommentVNode("",!0),m[8]||(m[8]=e.createElementVNode("div",{class:"self-stretch w-px bg-[#ccc] my-[1px]"},null,-1)),e.createElementVNode("button",{type:"button",class:"px-2 text-gray-400 hover:text-gray-500 transition-colors disabled:opacity-50","aria-hidden":"true",disabled:a.value,onClick:m[3]||(m[3]=e.withModifiers(_=>ne(),["stop"])),title:p.value?"Закрити список":"Відкрити список"},m[7]||(m[7]=[e.createElementVNode("svg",{height:"20",width:"20",viewBox:"0 0 20 20",class:"fill-current"},[e.createElementVNode("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"})],-1)]),8,Zl)])],42,Ol),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[p.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:c,class:e.normalizeClass(["fixed z-[3000] rounded bg-white shadow-[0_0_0_1px_rgba(0,0,0,0.1),0_4px_11px_rgba(0,0,0,0.1)]"]),style:e.normalizeStyle(k.value),role:"listbox"},[e.createElementVNode("div",{class:"overflow-y-auto py-1",style:e.normalizeStyle({maxHeight:k.value.maxHeight||"300px"}),ref_key:"listRef",ref:u},[Z.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Z.value,(_,T)=>(e.openBlock(),e.createElementBlock("div",{key:_.id,ref_for:!0,ref:Y=>M.value[T]=Y,class:e.normalizeClass(["flex px-3 py-2 cursor-default select-none text-gray-900 ",Q(_.id)?"bg-blue-500 text-white":"bg-white hover:bg-blue-100",V.value===T&&!Q(_.id)?"bg-blue-100":""]),"aria-disabled":Q(_.id)?"true":"false",role:"option",tabindex:"-1",onClick:Y=>H(_)},[_?.color?(e.openBlock(),e.createElementBlock("span",{key:0,class:"w-[11px] h-[11px] rounded-full block mr-1 mt-1.5",style:e.normalizeStyle({backgroundColor:_?.color})},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["leading-[19px]",V.value===_.id?"text-white":"",(V.value===T,"")])},e.toDisplayString(_.text),3)],10,Yl))),128)):(e.openBlock(),e.createElementBlock("div",Wl," No options "))],4)],4)):e.createCommentVNode("",!0)]))],2),s.add?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:mi,class:"bg-white hover:bg-gray-100 text-sm text-gray-900 py-[10px] px-3 border border-stone-200 rounded-md h-[38px] flex items-center gap-2",disabled:a.value,type:"button"},[e.createVNode(_e,{width:"16",height:"16"}),m[11]||(m[11]=e.createElementVNode("span",null,"Додати",-1))],8,Jl)):e.createCommentVNode("",!0)],512)],64))}}),Xl=["placeholder","disabled"],dt=e.defineComponent({__name:"vs-input-textarea",props:e.mergeModels({style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{default:""}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,{inputClass:s}=ee(t.style),n=e.useModel(o,"modelValue");return(l,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",{"onUpdate:modelValue":a[0]||(a[0]=r=>n.value=r),placeholder:l.placeholder,disabled:l.disabled,row:"2",class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] h-auto bg-white",[e.unref(s)]]),style:{border:"1px solid #CFD9E0"}},null,10,Xl)),[[e.vModelText,n.value]])}}),Ql={},ea={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function ta(o,t){return e.openBlock(),e.createElementBlock("svg",ea,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),e.createElementVNode("path",{d:"M21 21l-6 -6"},null,-1)]))}const sa=R(Ql,[["render",ta]]),na={},la={class:"flex-shrink-0 mt-0.5 size-3.5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function aa(o,t){return e.openBlock(),e.createElementBlock("svg",la,t[0]||(t[0]=[e.createElementVNode("path",{d:"m3 16 4 4 4-4"},null,-1),e.createElementVNode("path",{d:"M7 20V4"},null,-1),e.createElementVNode("path",{d:"m21 8-4-4-4 4"},null,-1),e.createElementVNode("path",{d:"M17 4v16"},null,-1)]))}const ra=R(na,[["render",aa]]),oa={},ia={xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function da(o,t){return e.openBlock(),e.createElementBlock("svg",ia,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"},null,-1),e.createElementVNode("path",{d:"M7 9l5 -5l5 5"},null,-1),e.createElementVNode("path",{d:"M12 4l0 12"},null,-1)]))}const ua=R(oa,[["render",da]]),ca={},pa={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function ha(o,t){return e.openBlock(),e.createElementBlock("svg",pa,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"},null,-1),e.createElementVNode("path",{d:"M7 11l5 5l5 -5"},null,-1),e.createElementVNode("path",{d:"M12 4l0 12"},null,-1)]))}const ma=R(ca,[["render",ha]]),fa={},ga={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function ka(o,t){return e.openBlock(),e.createElementBlock("svg",ga,t[0]||(t[0]=[e.createStaticVNode('<circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle>',6)]))}const ut=R(fa,[["render",ka]]),ba={},ya={viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function xa(o,t){return e.openBlock(),e.createElementBlock("svg",ya,t[0]||(t[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)]))}const _a=R(ba,[["render",xa]]),wa={},Ea={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function Va(o,t){return e.openBlock(),e.createElementBlock("svg",Ea,t[0]||(t[0]=[e.createElementVNode("path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"},null,-1)]))}const Ca=R(wa,[["render",Va]]),Ba={class:"vs-datatable border rounded-xl w-full flex-grow"},va={class:"flex items-center npm gap-[16px] justify-between p-[20px] pb-[16px]"},Na={class:"relative w-full"},Sa={class:"table-wrapper flex gap-2"},Ma={class:"vs-popover inline-block text-slate-700"},Fa={class:"text-center"},Aa={class:""},$a={class:"py-1 px-0 w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 dark:bg-neutral-900 dark:text-neutral-200 dark:focus:bg-neutral-800 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},Da={class:"flex flex-col p-[1px] gap-[2px] w-[140px]"},Ia={class:"text-sm items-center text-gray-800 flex gap-1"},La={class:"w-full overflow-x-auto"},Ta={class:"w-full table-auto caption-bottom text-sm"},Oa={class:"[&_tr]:border-b"},Ra={class:"border-b data-[state=selected]:bg-muted bg-slate-50/50 dark:bg-slate-700/50 hover:bg-slate-50/80 dark:hover:bg-slate-700/80 transition-colors"},za={class:"h-10 px-2 align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] w-12 text-center"},ja={key:0,colspan:"100%",class:"text-center"},Ua={class:"w-full"},Pa={class:"p-5 min-h-[200px] flex flex-col justify-center items-center text-center"},Ha=["onDragstart","onDragover","onDrop"],Ga={class:"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-center"},qa={class:"flex items-center justify-center"},Ka={key:0,class:"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-slate-100 dark:bg-slate-700 text-slate-700 dark:text-slate-300 hover:bg-slate-200 dark:hover:bg-slate-600 transition-colors"},Za={key:0},Ya=["src"],Wa={key:1,class:"rounded-md max-w-[45px] w-[45px] max-h-[45px] h-[45px] bg-gray-200 flex items-center justify-center"},Ja=["innerHTML"],Xa={key:2,class:"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-slate-100 dark:bg-slate-700 text-slate-700 dark:text-slate-300 hover:bg-slate-200 dark:hover:bg-slate-600 transition-colors"},Qa={class:"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"},er={class:"flex items-center justify-center gap-2"},tr=["onClick"],sr=["onClick"],nr={class:"vs-form__head mr-5 mt-3 flex items-center justify-end sticky top-0 left-0 z-[60] bg-white"},ct=e.defineComponent({__name:"vs-input-datatable",props:e.mergeModels({colModel:{},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},{modelValue:{default:[]},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,s=e.useModel(o,"modelValue"),n=e.ref({}),l=e.ref(""),a=e.computed(()=>{if(!l.value)return s.value??[];const D=l.value.toLowerCase();return s.value.filter(v=>t.colModel?.some(N=>{const z=v[N.key];return z?Array.isArray(z)?z.join(", ").toLowerCase().includes(D):String(z).toLowerCase().includes(D):!1}))}),r=e.ref(null),i=e.ref(null),d=e.ref(!1),u=e.ref(null),c=e.ref({top:0,left:0}),p=D=>{r.value=D},h=D=>{i.value=D},x=D=>{if(r.value===null||r.value===D){r.value=null,i.value=null;return}const v=[...s.value],[N]=v.splice(r.value,1);v.splice(D,0,N),s.value=v,r.value=null,i.value=null},A=D=>{const N=D.currentTarget.getBoundingClientRect();c.value={top:N.bottom+window.scrollY,left:N.left+window.scrollX},d.value=!d.value},V=()=>{u.value&&u.value.click()},M=D=>{const v=[".jpg",".jpeg",".png",".gif",".bmp",".webp",".svg",".ico",".tiff",".tif"],N=D.toLowerCase();return v.some(z=>N.endsWith(z))},C=D=>{const N=D.target.files?.[0];if(!N)return;const z=new FileReader;z.onload=P=>{try{const ne=P.target?.result;if(typeof ne=="string"){const f=JSON.parse(ne);Array.isArray(f)&&s.value.push(...f)}}catch(ne){console.error("Error parsing file:",ne)}},z.readAsText(N)},B=()=>{const D=JSON.stringify(s.value,null,2),v=new Blob([D],{type:"application/json"}),N=URL.createObjectURL(v),z=document.createElement("a");z.href=N,z.download="data.json",z.click(),URL.revokeObjectURL(N)};e.onMounted(async()=>{const D=t.colModel?.filter(v=>v.data);D?.length&&Promise.all(D.map(async v=>{const z=await(await fetch(`/api/suggest/${v.data}`)).json();n.value[v.key]=z.data}))});const b=e.ref(""),k=e.ref(!1);let S="edit",U=0;const w=e.ref({}),W=e.ref({});async function X(){b.value="Додати",k.value=!0,S="add",w.value={}}function Q(D,v){const N=v.key||v.name;return n.value[N]&&D[N]?n.value[N].find(z=>z.id.toString()===D[N].toString())?.text??D[N]:D[N]||"-"}async function Z(D,v){b.value="Редагувати",k.value=!0,S="edit",U=v,w.value={...D}}function Ne(){const D=W.value.validate();if(D){G.notify({type:"warning",title:"Помилка валідації",message:Object.entries(D).map(([v,N])=>`${v}: ${N}`).join(`
|
|
2
|
-
`)});return}S==="add"?Array.isArray(s.value)?s.value=[...s.value,w.value]:s.value=[w.value]:s.value=s.value.map((v,N)=>N===U?w.value:v),k.value=!1}function ue(D){s.value=s.value.filter((v,N)=>N!==D)}function se(){k.value=!1}return(D,v)=>(e.openBlock(),e.createElementBlock("div",Ba,[e.createElementVNode("div",va,[e.createElementVNode("div",Na,[e.createVNode(sa,{width:"14",height:"14",class:"absolute left-3 top-1/2 transform -translate-y-1/2 text-stone-500"}),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":v[0]||(v[0]=N=>l.value=N),placeholder:"Пошук",class:"py-2 px-3 pl-10 w-full bg-gray-100 h-[36px] rounded-[8px] text-[15px] leading-[18px] focus:border-1 text-stone-800 placeholder:text-[#6B7280] focus:outline-blue-500 focus:outline-2"},null,512),[[e.vModelText,l.value]])]),e.createElementVNode("div",Sa,[e.createElementVNode("input",{ref_key:"fileInput",ref:u,onChange:C,class:"hidden",accept:".json",type:"file"},null,544),e.createElementVNode("div",Ma,[e.createElementVNode("div",Fa,[e.createElementVNode("div",Aa,[e.createElementVNode("button",{onClick:A,class:"bg-white hover:bg-gray-100 font-semibold text-[15px] leadig-[18.5px] py-[10px] px-[12px] border border-[#E5E7EB] rounded-[8px] h-[38px] max-h-[38px] gap-[8px] flex items-center"},[e.createVNode(ra,{height:"16",width:"16"})])])])])]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"text-slate-700 vsTailwind vs-popover__content bottom",style:e.normalizeStyle([{width:"fit-content","z-index":"10002",position:"fixed"},{position:"absolute",top:c.value.top+"px",left:c.value.left+"px"}])},[e.createElementVNode("div",$a,[e.createElementVNode("div",Da,[e.createElementVNode("button",{onClick:V,class:"text-slate-700 flex items-center gap-1 px-3 py-2 rounded-md cursor-pointer group hover:bg-gray-100"},[e.createVNode(ua,{class:"text-black",width:"14",height:"14"}),v[4]||(v[4]=e.createTextVNode(" Імпортувати "))]),e.createElementVNode("button",{onClick:B,class:"text-slate-700 flex items-center px-3 py-2 rounded-md cursor-pointer group hover:bg-gray-100"},[e.createElementVNode("span",Ia,[e.createVNode(ma,{class:"text-black",width:"14",height:"14"}),v[5]||(v[5]=e.createTextVNode(" Експортувати "))])])])])],4)):e.createCommentVNode("",!0)])),e.createElementVNode("button",{onClick:X,class:"text-slate-700 bg-white hover:bg-gray-100 font-semibold text-[15px] leadig-[18.5px] py-[10px] px-[12px] border border-[#E5E7EB] rounded-[8px] h-[38px] max-h-[38px] gap-[8px] flex items-center"},[e.createVNode(_e),v[6]||(v[6]=e.createTextVNode(" Додати "))])]),e.createElementVNode("div",La,[e.createElementVNode("table",Ta,[e.createElementVNode("thead",Oa,[e.createElementVNode("tr",Ra,[e.createElementVNode("th",za,[e.createVNode(ut,{width:"24",height:"24",class:"w-4 h-4 mx-auto text-slate-400 dark:text-slate-500"})]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.colModel,N=>(e.openBlock(),e.createElementBlock("th",{key:N.key,class:"h-10 px-2 text-left align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] font-semibold text-slate-700 dark:text-slate-300 min-w-[150px]"},e.toDisplayString(N.ua||N.label),1))),128)),v[7]||(v[7]=e.createElementVNode("th",{class:"h-10 px-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] font-semibold text-slate-700 dark:text-slate-300 text-center"}," Дії ",-1))])]),e.createElementVNode("tbody",{class:e.normalizeClass({"[&_tr:last-child]:border-0":!i.value})},[a.value.length===0?(e.openBlock(),e.createElementBlock("td",ja,[e.createElementVNode("div",Ua,[e.createElementVNode("div",Pa,[e.createVNode(_a,{class:"w-48 mx-auto"}),v[8]||(v[8]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"Нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(N,z)=>(e.openBlock(),e.createElementBlock("tr",{key:N.id,class:e.normalizeClass(["border-b data-[state=selected]:bg-muted transition-all duration-200 hover:bg-slate-50/60 dark:hover:bg-slate-700/60 cursor-move",{"opacity-50":r.value===z,"border-t-2 border-b-2 border-blue-500 bg-blue-50 dark:bg-blue-900/20":i.value===z}]),draggable:"true",onDragstart:P=>p(z),onDragover:e.withModifiers(P=>h(z),["prevent"]),onDrop:P=>x(z)},[e.createElementVNode("td",Ga,[e.createElementVNode("div",qa,[e.createVNode(ut,{width:"24",height:"24",class:"w-4 h-4 mx-auto text-slate-400 dark:text-slate-500"})])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.colModel,P=>(e.openBlock(),e.createElementBlock("td",{key:P.key,class:"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"},[P.type==="file"?(e.openBlock(),e.createElementBlock("div",Ka,[M(Q(N,P))?(e.openBlock(),e.createElementBlock("div",Za,[e.createElementVNode("img",{src:Q(N,P),alt:"alt",width:"45",class:"rounded-md max-w-[45px] h-[45px] object-cover"},null,8,Ya)])):(e.openBlock(),e.createElementBlock("div",Wa,[e.createVNode(st,{class:"w-[25px] min-w-[25px] h-[25px]"})]))])):P.type==="tiptap-editor"?(e.openBlock(),e.createElementBlock("div",{key:1,class:"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-slate-100 dark:bg-slate-700 text-slate-700 dark:text-slate-300 hover:bg-slate-200 dark:hover:bg-slate-600 transition-colors",innerHTML:Q(N,P)},null,8,Ja)):(e.openBlock(),e.createElementBlock("div",Xa,e.toDisplayString(Q(N,P)),1))]))),128)),e.createElementVNode("td",Qa,[e.createElementVNode("div",er,[e.createElementVNode("button",{onClick:P=>Z(N,z),class:"text-slate-700 inline-flex items-center justify-center whitespace-nowrap font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border rounded-md text-xs h-7 w-7 p-0 border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 hover:bg-blue-50 dark:hover:bg-slate-600 hover:border-blue-300 dark:hover:border-slate-500 hover:text-blue-600 dark:hover:text-slate-200 transition-all duration-200 shadow-sm"},[e.createVNode(Ca,{width:"24",height:"24",class:"w-3 h-3"})],8,tr),e.createElementVNode("button",{onClick:P=>ue(z),class:"text-slate-700 inline-flex items-center justify-center whitespace-nowrap font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border rounded-md text-xs h-7 w-7 p-0 border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 hover:bg-red-50 dark:hover:bg-slate-600 hover:border-red-300 dark:hover:border-slate-500 hover:text-red-600 dark:hover:text-slate-200 transition-all duration-200 shadow-sm"},[e.createVNode(Fe,{width:"24",height:"24",class:"w-3 h-3"})],8,sr)])])],42,Ha))),128))],2)])]),e.createVNode(e.unref(G.VsModal),{visible:k.value,title:b.value,size:"lg",onClose:se},{default:e.withCtx(()=>[e.createVNode(me,{schema:t.colModel,values:w.value,"onUpdate:values":v[1]||(v[1]=N=>w.value=N),form:W.value,"onUpdate:form":v[2]||(v[2]=N=>W.value=N)},null,8,["schema","values","form"]),e.createElementVNode("div",nr,[e.createElementVNode("button",{type:"button",onClick:v[3]||(v[3]=N=>k.value=!1),class:"vs-button inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border !border-gray-200 hover:text-white bg-white text-red-500 hover:border-red-500 hover:bg-red-500 focus:ring-red-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1 mr-2"}," Скасувати "),e.createElementVNode("button",{onClick:Ne,type:"button",class:"vs-button inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border-1 border-transparent text-white bg-blue-500 hover:bg-blue-600 focus:ring-blue-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1"}," Зберегти ")])]),_:1},8,["visible","title"])]))}}),lr={draw:{toolbar:{actions:{title:"Скасувати малювання",text:"Скасувати"},finish:{title:"Завершити малювання",text:"Завершити"},undo:{title:"Видалити останню точку",text:"Видалити останню"},buttons:{polyline:"Намалювати лінію",polygon:"Намалювати полігон",rectangle:"Намалювати прямокутник",circle:"Намалювати коло",marker:"Додати точку",circlemarker:"Додати маркер-коло"}},handlers:{circle:{tooltip:{start:"Клацніть і тягніть, щоб намалювати коло",end:"Відпустіть кнопку миші, щоб завершити"},radius:"Радіус"},circlemarker:{tooltip:{start:"Клацніть на карту, щоб додати маркер-коло"}},marker:{tooltip:{start:"Клацніть на карту, щоб додати точку"}},polygon:{tooltip:{start:"Клацніть, щоб почати малювати полігон",cont:"Клацайте, щоб продовжити малювати полігон",end:"Клацніть першу точку, щоб завершити полігон"}},polyline:{error:"<strong>Помилка:</strong> лінія не може перетинатися сама з собою",tooltip:{start:"Клацніть, щоб почати малювати лінію",cont:"Клацайте, щоб продовжити малювати лінію",end:"Клацніть останню точку, щоб завершити лінію"}},rectangle:{tooltip:{start:"Клацніть і тягніть, щоб намалювати прямокутник",end:"Відпустіть кнопку миші, щоб завершити"}},simpleshape:{tooltip:{end:"Відпустіть кнопку миші, щоб завершити"}}}},edit:{toolbar:{actions:{save:{title:"Зберегти зміни",text:"Зберегти"},cancel:{title:"Скасувати редагування",text:"Скасувати"},clearAll:{title:"Очистити всі шари",text:"Очистити все"}},buttons:{edit:"Редагувати шари",editDisabled:"Немає шарів для редагування",remove:"Видалити шари",removeDisabled:"Немає шарів для видалення"}},handlers:{edit:{tooltip:{text:"Перетягніть маркери, щоб редагувати шари",subtext:"Натисніть 'Скасувати', щоб повернутися"}},remove:{tooltip:{text:"Клацніть на шари, щоб видалити їх"}}}}};function we(o){return o?o.type==="Polygon"?{type:"MultiPolygon",coordinates:[o.coordinates]}:o.type==="Feature"?{...o,geometry:we(o.geometry)}:o.type==="FeatureCollection"?{...o,features:(o.features||[]).map(t=>we(t)).filter(Boolean)}:o:null}function ar(o){return o?o.type==="FeatureCollection"||o.type==="Feature"?we(o):o.geom?{type:"Feature",geometry:we({type:o.geom.type,coordinates:o.geom.coordinates}),properties:{}}:o.type&&o.coordinates?{type:"Feature",geometry:we(o),properties:{}}:null:null}const rr={},or={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",stroke:"currentColor",fill:"none","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-map-pin"};function ir(o,t){return e.openBlock(),e.createElementBlock("svg",or,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M9 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0"},null,-1),e.createElementVNode("path",{d:"M17.657 16.657l-4.243 4.243a2 2 0 0 1 -2.827 0l-4.244 -4.243a8 8 0 1 1 11.314 0z"},null,-1)]))}const dr=R(rr,[["render",ir]]),ur={},cr={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none","stroke-width":"2",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-line"};function pr(o,t){return e.openBlock(),e.createElementBlock("svg",cr,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 18m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},null,-1),e.createElementVNode("path",{d:"M18 6m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},null,-1),e.createElementVNode("path",{d:"M7.5 16.5l9 -9"},null,-1)]))}const hr=R(ur,[["render",pr]]),mr={},fr={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-polygon"};function gr(o,t){return e.openBlock(),e.createElementBlock("svg",fr,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M12 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M19 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M5 11m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M15 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M6.5 9.5l3.5 -3"></path><path d="M14 5.5l3 1.5"></path><path d="M18.5 10l-2.5 7"></path><path d="M13.5 17.5l-7 -5"></path>',9)]))}const kr=R(mr,[["render",gr]]),br={},yr={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-topology-ring-3"};function xr(o,t){return e.openBlock(),e.createElementBlock("svg",yr,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M8 18a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M20 18a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M20 6a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M8 6a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M6 8v8"></path><path d="M18 16v-8"></path><path d="M8 6h8"></path><path d="M16 18h-8"></path>',9)]))}const _r=R(br,[["render",xr]]),wr={},Er={version:"1.1",viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg","xmlns:sketch":"http://www.bohemiancoding.com/sketch/ns","xmlns:xlink":"http://www.w3.org/1999/xlink",class:"fullscreen-icon"};function Vr(o,t){return e.openBlock(),e.createElementBlock("svg",Er,t[0]||(t[0]=[e.createElementVNode("title",null,null,-1),e.createElementVNode("desc",null,null,-1),e.createElementVNode("defs",null,null,-1),e.createElementVNode("g",{fill:"none","fill-rule":"evenodd",id:"Page-1",stroke:"none","stroke-width":"1"},[e.createElementVNode("g",{fill:"#000000",id:"Core",transform:"translate(-215.000000, -257.000000)"},[e.createElementVNode("g",{id:"fullscreen",transform:"translate(215.000000, 257.000000)"},[e.createElementVNode("path",{d:"M2,9 L0,9 L0,14 L5,14 L5,12 L2,12 L2,9 L2,9 Z M0,5 L2,5 L2,2 L5,2 L5,0 L0,0 L0,5 L0,5 Z M12,12 L9,12 L9,14 L14,14 L14,9 L12,9 L12,12 L12,12 Z M9,0 L9,2 L12,2 L12,5 L14,5 L14,0 L9,0 L9,0 Z",id:"Shape"})])])],-1)]))}const Cr=R(wr,[["render",Vr]]),Br={class:"form-geom__search"},vr={class:"map-search__input"},Nr={class:"flex flex-nowrap relative"},Sr={class:"form-autocomplete relative min-w-[6rem] vsTailwind map-search__select hidden"},Mr={class:"flex items-center w-full"},Fr={class:"max-w-[90%] truncate"},Ar={key:0,class:"absolute z-[3100] mt-0.5 left-0 right-0"},$r={class:"form-autocomplete__wrapper mt-[10px] z-50 w-full min-w-36 max-h-72 p-0 space-y-0.5 bg-white rounded-xl shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] dark:bg-neutral-900 top-full opened"},Dr={class:"form-autocomplete__list vsTailwind px-2 pb-2 pt-0 max-h-200 relative [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 dark:bg-neutral-900"},Ir=["onClick"],Lr={class:"flex justify-between items-center w-full"},Tr={class:"flex items-center"},Or={key:0,class:"flex-shrink-0 w-3.5 h-3.5 text-blue-600",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Rr={class:"relative w-full"},zr={class:"vs-form-text relative bg-white rounded-lg"},jr={key:1,class:"absolute left-0 right-0 top-full z-[3200] bg-white border border-gray-200 rounded-b-lg shadow-lg max-h-72 overflow-auto"},Ur={key:0},Pr=["onClick"],Hr={key:1,class:"px-3 py-2 text-xs text-gray-500"},Gr={key:2,class:"px-3 py-2 text-xs text-gray-400"},qr=e.defineComponent({__name:"map-search",props:{placeholder:{default:"50, 30"}},emits:["goToCoordinates"],setup(o,{emit:t}){const s=t,n=e.ref(!1),l=e.ref("coordinates"),a=e.ref(""),r=e.ref([]),i=e.ref(!1),d=e.ref(!1);let u;const c=[{value:"coordinates",label:"Пошук по кординатам"},{value:"atu",label:"АТУ"},{value:"address",label:"Адресса"},{value:"search_here",label:"Пошук HERE"}],p=e.computed(()=>c.find(B=>B.value===l.value)?.label??"АТУ");function h(B){l.value=B.value,n.value=!1,a.value="",a.value&&V()}function x(B){B.target.closest(".map-search__input")||(n.value=!1)}e.onMounted(()=>document.addEventListener("click",x)),e.onUnmounted(()=>document.removeEventListener("click",x));async function A(B){let b;l.value==="atu"?b="/api/suggest/atu.nsdi.ato_level":l.value==="address"?b="/api/suggest/map.address_id":l.value==="search_here"&&(b="/api/gis-url-proxy");const k=new URL(b||"");return l.value==="search_here"?k.searchParams.set("searchtext",B):(l.value==="atu"||l.value==="address")&&k.searchParams.set("key",B),k.searchParams.set("limit","20"),k.searchParams.set("q",B),(await fetch(k.toString())).json()}function V(){if(i.value=!0,d.value=!0,l.value==="coordinates"){const B=a.value.trim().split(",");if(B.length===2){const b=parseFloat(B[0]),k=parseFloat(B[1]);!Number.isNaN(b)&&!Number.isNaN(k)&&s("goToCoordinates",[b,k])}return}u&&window.clearTimeout(u),u=window.setTimeout(async()=>{const B=a.value.trim();if(!B){r.value=[],d.value=!1;return}try{const b=await A(B);r.value=Array.isArray(b.features)?b.features:[]}catch{r.value=[]}finally{d.value=!1}},300)}function M(){a.value="",r.value=[],i.value=!1,d.value=!1}function C(B){s("goToCoordinates",B),i.value=!1,d.value=!1,r.value=[]}return(B,b)=>(e.openBlock(),e.createElementBlock("div",Br,[e.createElementVNode("div",vr,[e.createElementVNode("div",Nr,[e.createElementVNode("div",Sr,[e.createElementVNode("button",{type:"button",onClick:b[0]||(b[0]=k=>n.value=!n.value),class:"h-[40px] relative px-4 pe-9 flex text-nowrap w-full cursor-pointer bg-white border border-solid border-stone-200 rounded-lg text-start text-sm text-stone-800 focus:outline-none focus:ring-1 focus:ring-blue-600 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-200"},[e.createElementVNode("div",Mr,[e.createElementVNode("span",Fr,e.toDisplayString(p.value),1)]),b[3]||(b[3]=e.createElementVNode("svg",{class:"stroke-gray-500 absolute right-3 translate-y-1/2 bottom-1/2",width:"15",height:"15",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M6 9l6 6 6-6","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1))]),n.value?(e.openBlock(),e.createElementBlock("div",Ar,[e.createElementVNode("div",$r,[e.createElementVNode("div",Dr,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,k=>e.createElementVNode("div",{onClick:S=>h(k),key:k.value,class:"form-autocomplete__item cursor-pointer hs-selected:bg-stone-100 dark:hs-selected:bg-neutral-800 py-2 px-4 w-full text-sm text-gray-800 hover:bg-gray-100 rounded-lg focus:outline-none focus:bg-stone-100 dark:bg-neutral-900 dark:hover:bg-neutral-800 dark:text-neutral-200 dark:focus:bg-neutral-800 cursor-default"},[e.createElementVNode("div",Lr,[e.createElementVNode("div",Tr,[e.createElementVNode("div",null,e.toDisplayString(k.label),1)]),k.value===l.value?(e.openBlock(),e.createElementBlock("svg",Or,b[4]||(b[4]=[e.createElementVNode("polyline",{points:"20 6 9 17 4 12"},null,-1)]))):e.createCommentVNode("",!0)])],8,Ir)),64))])])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Rr,[e.createElementVNode("div",zr,[b[6]||(b[6]=e.createElementVNode("i",{class:"absolute bottom-1/2 translate-y-1/2 left-3 text-gray-500"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8","stroke-width":"2"}),e.createElementVNode("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65","stroke-width":"2"})])],-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":b[1]||(b[1]=k=>a.value=k),onInput:V,onFocus:b[2]||(b[2]=k=>i.value=!0),placeholder:"lat, lng ex. 50, 30",class:"bg-white h-[38px] text-sm py-2 px-3 ps-9 pe-8 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-stone-800 placeholder:text-stone-400 focus:outline focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,544),[[e.vModelText,a.value]]),a.value?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:M,class:"absolute right-2 bottom-1/2 translate-y-1/2 text-gray-500 hover:text-red-500","aria-label":"Очистити",type:"button"},b[5]||(b[5]=[e.createElementVNode("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12","stroke-linecap":"round","stroke-linejoin":"round"})],-1)]))):e.createCommentVNode("",!0),i.value&&l.value!=="coordinates"?(e.openBlock(),e.createElementBlock("div",jr,[r.value.length?(e.openBlock(),e.createElementBlock("ul",Ur,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,k=>(e.openBlock(),e.createElementBlock("li",{key:k.properties.place_id,onClick:S=>C(k),class:"px-3 py-2 text-sm cursor-pointer hover:bg-gray-100"},e.toDisplayString(k.properties.display_name),9,Pr))),128))])):d.value?(e.openBlock(),e.createElementBlock("div",Hr,"Шукаю…")):(e.openBlock(),e.createElementBlock("div",Gr,"Нічого не знайдено"))])):e.createCommentVNode("",!0)])])])])]))}}),Kr={class:"bg-white/95 p-2 rounded-xl shadow border border-gray-200"},Zr={class:"flex gap-2"},Yr=["onClick","title"],Wr=["src"],Jr=e.defineComponent({__name:"map-layers",props:{basemaps:{}},emits:["onLayerChange"],setup(o,{emit:t}){const s=o,n=e.ref(Object.keys(s.basemaps)[0]),l=t;function a(r){l("onLayerChange",r),n.value=r}return(r,i)=>(e.openBlock(),e.createElementBlock("div",Kr,[e.createElementVNode("div",Zr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.basemaps,(d,u)=>(e.openBlock(),e.createElementBlock("div",{key:u,class:e.normalizeClass(["cursor-pointer border rounded-lg overflow-hidden hover:shadow-sm",{"ring-2 ring-blue-500 border-blue-300":n.value===u}]),onClick:c=>a(u),title:d.name||u,role:"button",tabindex:"0"},[e.createElementVNode("img",{src:d.preview,alt:"",class:"w-14 h-14 object-cover"},null,8,Wr)],10,Yr))),128))])]))}}),Xr={class:"absolute top-4 left-4 z-[1000] w-[calc(100%-20px)] sm:w-[350px]"},Qr={class:"form-geom__panel flex gap-1 items-start mt-2"},eo={class:"flex items-center gap-1"},to=["disabled"],so={class:"absolute top-4 right-4 z-[1000]"},no={class:"flex flex-col gap-[2px]"},lo=["aria-pressed"],ao=["aria-pressed"],ro=["aria-pressed"],oo=["aria-pressed"],io={class:"absolute bottom-0 left-0 right-0 z-[1000] bg-white/95 border-t border-gray-200 text-xs text-gray-700 flex items-center gap-4 pt-1"},uo={key:0,class:"form-geom__feature flex items-center text-xs transition-all gap-2 w-full"},co={class:"mr-auto"},po={class:"font-bold"},ho={class:"flex items-center"},mo={class:"text-xs mr-2"},fo={key:0,class:"text-xs"},go={key:1,class:"text-xs"},pt=R(e.defineComponent({__name:"vs-input-map",props:{tools:{},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},emits:["update:modelValue"],setup(o,{emit:t}){const s=e.getCurrentInstance(),n=o,l=t,a=e.ref(null);let r,i,d;const u=e.ref(null),c=e.ref(null),p=e.ref(6),h=e.ref(0),x=e.ref(s?.appContext.config.globalProperties.$settings?.center||[50,30]),A=e.ref(null),V=P();let M;const C=e.ref("topo100");function B(f){return f?f.type==="Polygon"?{type:"MultiPolygon",coordinates:[f.coordinates]}:(f.type==="MultiPolygon",f):null}function b(){return new Promise((f,y)=>{window.L&&window.L.Draw&&f(0);const I=H=>{if(Array.from(document.styleSheets).some(de=>de?.href?.includes(H)))return;const ce=document.createElement("link");ce.rel="stylesheet",ce.href=H,document.head.appendChild(ce)},j=H=>new Promise((le,ce)=>{const de=Array.from(document.scripts).find(ge=>ge.src===H);if(de){de.addEventListener("load",()=>le()),de.addEventListener("error",ge=>ce(ge));return}const fe=document.createElement("script");fe.src=H,fe.async=!0,fe.onload=()=>le(),fe.onerror=ge=>ce(ge),document.body.appendChild(fe)});I("https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"),I("https://unpkg.com/leaflet-draw@1.0.4/dist/leaflet.draw.css"),j("https://unpkg.com/leaflet@1.9.4/dist/leaflet.js").then(()=>j("https://unpkg.com/leaflet-draw@1.0.4/dist/leaflet.draw.js")).then(()=>f(0)).catch(y)})}function k(){const f=i.toGeoJSON(),y=[],I=H=>{if(H)switch(H.type){case"Polygon":y.push(H.coordinates);break;case"MultiPolygon":y.push(...H.coordinates);break;case"GeometryCollection":(H.geometries||[]).forEach(I);break}};(f?.features||[]).forEach(H=>I(H.geometry));const j=y.length?{type:"MultiPolygon",coordinates:y}:null;l("update:modelValue",j?B(j):null),h.value=i.getLayers().length}function S(f=30){const y=i.getLayers();if(!y.length)return;const j=L.featureGroup(y).getBounds();j&&j.isValid()&&r.fitBounds(j,{padding:[f,f]})}function U(){u.value?.click()}const w=e.ref("");function W(f){return f instanceof L.Circle?"Circle":f instanceof L.Rectangle?"Rectangle":f instanceof L.Polygon&&!(f instanceof L.Rectangle)?"Polygon":f instanceof L.Polyline&&!(f instanceof L.Polygon)?"Polyline":f instanceof L.Marker?"Point":"Feature"}function X(f){if(f instanceof L.Circle){const y=f.getRadius();return Math.PI*(y*y)/1e6}if(f instanceof L.Polygon||f instanceof L.Rectangle)try{const y=f.getLatLngs(),I=Array.isArray(y[0])?y[0]:y,j=L.GeometryUtil?.geodesicArea?L.GeometryUtil.geodesicArea(I):0;return j?j/1e6:0}catch{return null}return null}function Q(f){return f instanceof L.Circle?f.getLatLng():f.getBounds?f.getBounds().getCenter():f.getLatLng?f.getLatLng():r.getCenter()}function Z(){const f=i.getLayers();if(!f.length){A.value=null,h.value=0;return}const y=f[f.length-1],I=W(y),j=Q(y),H=X(y);A.value={type:I,center:j,areaKm2:H,layer:y},h.value=f.length}function Ne(){const f=A.value?.layer;f&&(f instanceof L.Circle&&f.getBounds?r.fitBounds(f.getBounds(),{padding:[30,30]}):f.getBounds?r.fitBounds(f.getBounds(),{padding:[30,30]}):f.getLatLng&&r.setView(f.getLatLng(),Math.max(p.value,14)))}function ue(){const f=A.value?.layer;f&&(i.removeLayer(f),k(),Z())}e.onMounted(async()=>{await b(),L.drawLocal=lr,r=L.map(a.value,{zoomControl:!1}).setView(x.value,10),L.control.zoom({position:"bottomright"}).addTo(r),C.value=Object.keys(V)[0],M=L.tileLayer(V[C.value].url,{maxZoom:19,minZoom:6}).addTo(r),i=new L.FeatureGroup().addTo(r),r.on(L.Draw.Event.CREATED,I=>{const{layer:j}=I;i.clearLayers(),i.addLayer(j),k(),Z(),S(),w.value=""}),r.on(L.Draw.Event.EDITED,()=>{k(),Z(),S()}),r.on(L.Draw.Event.DELETED,()=>{k(),Z(),S()});let f=!1;r.on("mousemove",I=>{f||(r.invalidateSize(),f=!0),c.value=I.latlng}),r.on("zoomend",()=>{p.value=r.getZoom()});const y=ar(n.modelValue);if(y){const I=[];L.geoJSON(y).eachLayer(j=>I.push(j)),I.length&&i.addLayer(I[0]),k(),Z(),S()}});function se(f){if(r){switch(d&&d.disable(),f){case"marker":d=new L.Draw.Marker(r);break;case"polyline":d=new L.Draw.Polyline(r);break;case"polygon":d=new L.Draw.Polygon(r);break;case"rectangle":d=new L.Draw.Rectangle(r);break;default:d=new L.Draw.Rectangle(r);break}d&&(d.enable(),w.value=f)}}function D(){const f=i.toGeoJSON(),y=new Blob([JSON.stringify(f,null,2)],{type:"application/json"}),I=URL.createObjectURL(y),j=document.createElement("a");j.href=I,j.download="data.geojson",j.click(),URL.revokeObjectURL(I)}function v(f){const y=f.target.files?.[0];if(!y)return;const I=new FileReader;I.onload=()=>{if(typeof I.result=="string")try{const j=JSON.parse(I.result);i.clearLayers(),j&&L.geoJSON({type:"Feature",geometry:j}).eachLayer(H=>{i.addLayer(H)}),k(),Z(),S()}finally{f.target.value=""}},I.readAsText(y)}function N(f){r&&(M&&r.removeLayer(M),M=L.tileLayer(V[f].url,{maxZoom:19,minZoom:6}).addTo(r),C.value=f)}function z(f){const y=L.latLng(f[0],f[1]);r.setView(y,13)}e.watch(()=>n.modelValue,f=>{const y=B(f);if(f&&y!==f){l("update:modelValue",y);return}i.clearLayers(),y&&L.geoJSON({type:"Feature",geometry:y}).eachLayer(I=>{i.addLayer(I),I.dragging?.enable(),I.dragging?.enabled(),I.on("dragend",j=>{const le=j.target.getLatLng();l("update:modelValue",{type:"Point",coordinates:[le.lng,le.lat]})})}),h.value=i.getLayers().length,Z(),S()});function P(){return s?.appContext.config.globalProperties.$settings?.basemaps?s?.appContext.config.globalProperties.$settings?.basemaps.map((f,y)=>Object.assign(f,{key:`b${y}`,preview:f.preview||f.url.replace("{z}/{x}/{y}.png","13/4790/2762.png")})).reduce((f,y)=>({...f,[y.key]:y}),{}):{topo100:{url:"https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",preview:"https://data.gki.com.ua/api-user/rtile/voyager/ua/13/4790/2762.png"},orto10:{url:"https://data.gki.com.ua/api-user/rtile/orto10/ua/{z}/{x}/{y}.png",preview:"https://data.gki.com.ua/api-user/rtile/orto10/ua/13/4790/2762.png"},osmb:{url:"https://tile.openstreetmap.org.ua/styles/osm-bright/{z}/{x}/{y}.png",preview:"https://tile.openstreetmap.org.ua/styles/osm-bright/13/4790/2762.png"}}}const ne=e.ref(!1);return e.watch(ne,()=>{setTimeout(()=>{r.invalidateSize()},50)}),(f,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["leaflet-map-wrapper relative w-full h-[400px]",{fullscreen:ne.value}])},[e.createElementVNode("div",{ref_key:"mapContainer",ref:a,class:"w-full h-full"},null,512),e.createElementVNode("div",Xr,[e.createVNode(qr,{onGoToCoordinates:z}),e.createElementVNode("div",Qr,[e.createElementVNode("div",eo,[e.createElementVNode("button",{type:"button",class:"vs-btn-row",onClick:U},"Import"),e.createElementVNode("button",{type:"button",class:"vs-btn-row",onClick:D,disabled:h.value===0},"Export ",8,to)]),e.createElementVNode("input",{ref_key:"importRef",ref:u,type:"file",onChange:v,accept:".json,.geojson",class:"hidden"},null,544)])]),e.createElementVNode("div",so,[e.createElementVNode("div",no,[e.createElementVNode("button",{class:e.normalizeClass(["vs-btn",{"vs-active":w.value==="marker"}]),"aria-pressed":w.value==="marker",title:"Point (P)","aria-label":"Draw point",onClick:y[0]||(y[0]=I=>se("marker"))},[e.createVNode(dr)],10,lo),e.createElementVNode("button",{class:e.normalizeClass(["vs-btn",{"vs-active":w.value==="polyline"}]),"aria-pressed":w.value==="polyline",title:"Line (L)","aria-label":"Draw polyline",onClick:y[1]||(y[1]=I=>se("polyline"))},[e.createVNode(hr)],10,ao),e.createElementVNode("button",{class:e.normalizeClass(["vs-btn",{"vs-active":w.value==="polygon"}]),"aria-pressed":w.value==="polygon",title:"Polygon (G)","aria-label":"Draw polygon",onClick:y[2]||(y[2]=I=>se("polygon"))},[e.createVNode(kr)],10,ro),e.createElementVNode("button",{class:e.normalizeClass(["vs-btn",{"vs-active":w.value==="rectangle"}]),"aria-pressed":w.value==="rectangle",title:"Rectangle (R)","aria-label":"Draw rectangle",onClick:y[3]||(y[3]=I=>se("rectangle"))},[e.createVNode(_r)],10,oo),e.createElementVNode("button",{class:"vs-btn mt-5",onClick:y[4]||(y[4]=I=>{ne.value=!ne.value}),title:"Full Screen","aria-label":"Full Screen"},[e.createVNode(Cr,{style:{width:"12px",height:"12px"}})])])]),e.createElementVNode("div",{class:e.normalizeClass(["absolute left-4 z-[1000]",A.value?"bottom-8":"bottom-4"])},[e.createVNode(Jr,{basemaps:e.unref(V),onOnLayerChange:N},null,8,["basemaps"])],2),e.createElementVNode("div",io,[A.value?(e.openBlock(),e.createElementBlock("div",uo,[e.createElementVNode("div",co,[y[7]||(y[7]=e.createTextVNode(" Тип: ")),e.createElementVNode("span",po,e.toDisplayString(A.value.type),1)]),e.createElementVNode("div",ho,[e.createElementVNode("div",mo,[y[8]||(y[8]=e.createTextVNode(" Центр: ")),e.createElementVNode("b",null,e.toDisplayString(A.value.center.lat.toFixed(5))+", "+e.toDisplayString(A.value.center.lng.toFixed(5)),1)]),A.value.areaKm2!==null?(e.openBlock(),e.createElementBlock("div",fo,[y[9]||(y[9]=e.createTextVNode(" Площа: ")),e.createElementVNode("b",null,e.toDisplayString(A.value.areaKm2.toFixed(1))+"км²",1)])):(e.openBlock(),e.createElementBlock("div",go,y[10]||(y[10]=[e.createTextVNode(" Площа: "),e.createElementVNode("b",null,"—",-1)]))),e.createElementVNode("button",{class:"tool bg-gray-100 py-1.5 px-2 rounded-lg text-md mr-1 cursor-pointer hover:bg-blue-500 hover:text-white transition-all",title:"Наблизити",onClick:y[5]||(y[5]=I=>Ne())},y[11]||(y[11]=[e.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-3 h-3" data-v-a10e125c><path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" data-v-a10e125c></path><path d="M7 10l6 0" data-v-a10e125c></path><path d="M10 7l0 6" data-v-a10e125c></path><path d="M21 21l-6 -6" data-v-a10e125c></path></svg>',1)])),e.createElementVNode("button",{class:"tool bg-gray-100 py-1.5 px-2 rounded-lg text-md cursor-pointer hover:bg-blue-500 hover:text-white transition-all",title:"Видалити",onClick:y[6]||(y[6]=I=>ue())},[e.createVNode(Fe,{class:"w-3 h-3"})])])])):e.createCommentVNode("",!0)])],2))}}),[["__scopeId","data-v-a10e125c"]]),ko=["data-focus"],bo={class:"flex items-center"},yo={class:"overflow-hidden text-ellipsis whitespace-nowrap rounded-sm text-[#333] text-[85%] px-0.5 py-[3px] pl-1.5 box-border"},xo=["onClick","aria-label"],_o={key:0,class:"absolute text-gray-500 truncate pl-2"},wo={class:"flex-1 min-w-[2px]"},Eo=["placeholder"],Vo={class:"flex items-center shrink-0"},Co=["disabled"],ht=e.defineComponent({__name:"vs-input-tag",props:e.mergeModels({unique:{type:Boolean,default:!0},style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{default:"Введіть тег"}},{modelValue:{default:[]},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue"],["update:modelValue"]),setup(o,{emit:t}){const s=o,n=t;ee(s.style);const l=e.ref(null),a=e.ref(null),r=e.ref(null),i=e.ref(!1),d=e.ref(""),u=e.useModel(o,"modelValue"),c=e.computed(()=>s.placeholder||"Add tag…"),p=e.computed(()=>u.value?.length===0&&d.value===""),h=e.computed(()=>!s.disabled&&u.value?.length>0),x=e.computed(()=>s.disabled),A=async()=>{x.value||await e.nextTick(()=>r.value?.focus())},V=U=>{const w=U.trim();w!==""&&(!u.value||!Array.isArray(u.value)?u.value=[w]:s.unique?u.value.includes(w)||(u.value=[...u.value,w]):u.value=[...u.value,w],d.value="")},M=()=>{const U=d.value;U.trim()!==""&&V(U),d.value=""},C=U=>{const w=u.value.slice();w.splice(U,1),n("update:modelValue",w)},B=()=>{n("update:modelValue",[])},b=()=>{x.value||(i.value=!0)},k=()=>{i.value=!1},S=U=>{const{key:w}=U;w==="Enter"?(U.preventDefault(),M()):w==="Backspace"&&d.value===""&&u.value.length>0&&C(u.value.length-1)};return(U,w)=>(e.openBlock(),e.createElementBlock("div",{class:"flex gap-1 w-full",ref_key:"root",ref:l,onClick:w[1]||(w[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(["relative w-full font-sans",s.customClass]),role:"group","aria-label":"Tag input"},[e.createElementVNode("div",{class:e.normalizeClass(["flex min-h-[38px] items-center justify-between rounded border transition-colors bg-white","border-gray-300 hover:border-gray-400",i.value?"border-blue-500 ring-1 ring-blue-500":"",x.value?"bg-gray-100 text-gray-400 cursor-not-allowed hover:border-gray-300":""]),"data-focus":i.value?"true":"false",onClick:A},[e.createElementVNode("div",{class:"flex flex-1 flex-wrap items-center gap-1 py-0.5 pl-2 pr-0 overflow-hidden",ref_key:"chipsRef",ref:a},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(W,X)=>(e.openBlock(),e.createElementBlock("div",{key:X,class:"flex min-w-0 bg-[#e6e6e6] rounded-sm m-0.5 box-border"},[e.createElementVNode("div",bo,[e.createElementVNode("div",yo,e.toDisplayString(W),1)]),e.createElementVNode("div",{role:"button",class:"flex items-center rounded-sm px-1 box-border hover:bg-[#ffbdad] hover:text-[#de350b]",onClick:e.withModifiers(Q=>C(X),["stop"]),"aria-label":`Remove ${W}`},w[2]||(w[2]=[e.createElementVNode("svg",{height:"14",width:"14",viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",class:"inline-block fill-current stroke-current leading-none stroke-0"},[e.createElementVNode("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"})],-1)]),8,xo)]))),128)),p.value?(e.openBlock(),e.createElementBlock("div",_o,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",wo,[x.value?e.createCommentVNode("",!0):e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,ref_key:"inputRef",ref:r,class:"pl-2 w-full bg-transparent outline-none border-0 m-0 p-0 text-gray-900",autocapitalize:"none",autocomplete:"off",autocorrect:"off",spellcheck:"false",type:"text",tabindex:"0","aria-label":"Add tag","onUpdate:modelValue":w[0]||(w[0]=W=>d.value=W),onFocus:b,onBlur:k,onKeydown:S,placeholder:u.value&&u.value.length?"":void 0},null,40,Eo)),[[e.vModelText,d.value]])])],512),e.createElementVNode("div",Vo,[h.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"px-2 text-gray-400 hover:text-gray-500 transition-colors disabled:opacity-50","aria-label":"Clear all tags",disabled:x.value,onClick:e.withModifiers(B,["stop"])},w[3]||(w[3]=[e.createElementVNode("svg",{height:"20",width:"20",viewBox:"0 0 20 20",class:"fill-current"},[e.createElementVNode("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"})],-1)]),8,Co)):e.createCommentVNode("",!0)])],10,ko)],2)],512))}}),Bo={class:"relative flex gap-1 bg-white w-full"},vo=["disabled","placeholder"],mt=R(e.defineComponent({__name:"vs-input-slug",props:e.mergeModels({disabled:{type:Boolean},placeholder:{},parent:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=e.inject("values"),s=o,n=e.useModel(o,"modelValue");function l(r){const i={а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"e",ж:"zh",з:"z",и:"i",й:"y",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"kh",ц:"ts",ч:"ch",ш:"sh",щ:"shch",ы:"y",э:"e",ю:"yu",я:"ya",ь:"",ъ:"",є:"ye",і:"i",ї:"yi",ґ:"g"};return r.toLowerCase().split("").map(d=>i[d]||d).join("").replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}const a=()=>{const r=t?.value?.[s.parent||""]?.toString(),i=l(r);n.value=i.toString()};return(r,i)=>(e.openBlock(),e.createElementBlock("div",Bo,[e.withDirectives(e.createElementVNode("input",{ref:"vsText",disabled:r.disabled,placeholder:r.placeholder,"onUpdate:modelValue":i[0]||(i[0]=d=>n.value=d),class:"block w-full px-3 py-2 text-sm border border-solid rounded-lg placeholder:text-nowrap border-stone-200 text-stone-800 placeholder:text-stone-400 focus:outline focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,8,vo),[[e.vModelText,n.value]]),e.createElementVNode("button",{class:"px-2 bg-gray-100 border rounded-lg hover:bg-gray-200",onClick:a}," Gen ")]))}}),[["__scopeId","data-v-b0eba370"]]),No={class:"w-full"},So={ref:"sortableContainer",class:"flex flex-col gap-1"},Mo=["onDragstart","onDrop"],Fo={class:"w-1/3"},Ao={class:"w-2/3"},$o=["onClick"],Do={key:0,class:"text-[14px] text-gray-700"},Io={class:"mt-2 w-full flex items-center"},Lo=["disabled"],ft=R(e.defineComponent({__name:"vs-input-key-value",props:{parent:{},ignore:{},addButtonText:{},modelValue:{}},emits:["update:modelValue"],setup(o,{emit:t}){const s=M=>`${M}-${Math.random().toString(36).substring(2,15)}`,n=e.inject("values"),l=o,a=t,r=l.addButtonText??"Додати",i=l.ignore??[],d=e.ref([]),u=e.ref(null);(()=>{const M=l.parent&&n?.value?.[l.parent]||l.modelValue||{};d.value=Object.entries(M).filter(([C])=>!i.includes(C)).map(([C,B])=>({id:s("key-value-"),key:C,value:B}))})();function p(M){u.value=M}function h(M){if(u.value===null||u.value===M)return;const C=d.value.splice(u.value,1)[0];d.value.splice(M,0,C),u.value=null}const x=e.computed(()=>d.value.some(M=>M.key&&!M.value||!M.key&&M.value)),A=()=>{d.value.push({id:s("key-value-"),key:"",value:""})},V=M=>{d.value=d.value.filter(C=>C.id!==M)};return e.watch(d,M=>{const C={};M.forEach(b=>{b.key&&b.value!==void 0&&(C[b.key]=b.value)});const B={};i.length&&i.forEach(b=>{B[b]=l.parent?n?.value?.[l.parent]?.[b]:void 0}),n?.value&&l.parent&&(n.value[l.parent]={...B,...C}),a("update:modelValue",C)},{deep:!0}),(M,C)=>(e.openBlock(),e.createElementBlock("div",No,[e.createElementVNode("div",So,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(B,b)=>(e.openBlock(),e.createElementBlock("div",{key:B.id,class:e.normalizeClass(["flex items-center gap-2 w-full",{"opacity-50":u.value===b}]),draggable:"true",onDragstart:k=>p(b),onDragover:C[0]||(C[0]=e.withModifiers(()=>{},["prevent"])),onDrop:k=>h(b)},[C[1]||(C[1]=e.createStaticVNode('<button class="cursor-move" data-v-a0f7fbfc><svg fill="#000000" width="20" height="20" viewBox="0 0 36 36" data-v-a0f7fbfc><circle cx="15" cy="12" r="1.5" data-v-a0f7fbfc></circle><circle cx="15" cy="24" r="1.5" data-v-a0f7fbfc></circle><circle cx="21" cy="12" r="1.5" data-v-a0f7fbfc></circle><circle cx="21" cy="24" r="1.5" data-v-a0f7fbfc></circle><circle cx="21" cy="18" r="1.5" data-v-a0f7fbfc></circle><circle cx="15" cy="18" r="1.5" data-v-a0f7fbfc></circle></svg></button>',1)),e.createElementVNode("div",Fo,[e.createVNode(xe,{modelValue:B.key,"onUpdate:modelValue":k=>B.key=k,placeholder:"Ключ"},null,8,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("div",Ao,[e.createVNode(xe,{modelValue:B.value,"onUpdate:modelValue":k=>B.value=k,placeholder:"Значення"},null,8,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("button",{onClick:k=>V(B.id),class:"shrink-0 w-[30px] text-gray-600 h-[30px] rounded-full flex items-center justify-center bg-gray-100 hover:bg-gray-200"},[e.createVNode(e.unref(Rs),{height:"16",width:"16"})],8,$o)],42,Mo))),128))],512),d.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Do," Дані для відображення відсутні ")),e.createElementVNode("div",Io,[e.createElementVNode("button",{type:"button",onClick:A,disabled:x.value,class:"py-1.5 px-2 flex items-center gap-x-1 text-xs font-medium rounded-full border border-dashed border-gray-200 bg-white text-gray-800 hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed"},[e.createVNode(_e,{height:"14",width:"14"}),e.createTextVNode(" "+e.toDisplayString(e.unref(r)),1)],8,Lo)])]))}}),[["__scopeId","data-v-a0f7fbfc"]]),To={class:"flex items-center gap-2 w-full"},Oo=["disabled"],gt=e.defineComponent({__name:"vs-input-color",props:{style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{default:""}},emits:["update:modelValue"],setup(o,{emit:t}){const s=o,{inputClass:n}=ee(s.style),l=t,a=e.computed({get:()=>s.modelValue||"#000000",set:r=>l("update:modelValue",r)});return(r,i)=>(e.openBlock(),e.createElementBlock("div",To,[e.withDirectives(e.createElementVNode("input",{type:"color","onUpdate:modelValue":i[0]||(i[0]=d=>a.value=d),disabled:r.disabled,ref:"color",class:e.normalizeClass(["py-1.5 px-1 block w-full bg-white cursor-pointer max-w-[50px]",[r.modelValue?"":"text-opacity-50",e.unref(n)].join(" ")]),style:{border:"1px solid #CFD9E0"}},null,10,Oo),[[e.vModelText,a.value]]),e.withDirectives(e.createElementVNode("input",{class:"text-sm text-gray-600 border border-solid border-stone-200 rounded-md p-2","onUpdate:modelValue":i[1]||(i[1]=d=>a.value=d)},null,512),[[e.vModelText,a.value]])]))}}),Ro={class:"flex items-center gap-2 w-full"},zo=["min","max","step","disabled"],kt=e.defineComponent({__name:"vs-input-range",props:{style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{default:""},min:{default:0},max:{default:100},step:{default:1}},emits:["update:modelValue"],setup(o,{emit:t}){const s=o,{inputClass:n}=ee(s.style),l=t,a=e.computed({get:()=>Number(s.modelValue??s.min),set:r=>l("update:modelValue",Number(r))});return(r,i)=>(e.openBlock(),e.createElementBlock("div",Ro,[e.withDirectives(e.createElementVNode("input",{type:"range","onUpdate:modelValue":i[0]||(i[0]=d=>a.value=d),min:r.min,max:r.max,step:r.step,disabled:r.disabled,ref:"range",class:e.normalizeClass(["w-full cursor-pointer accent-blue-500",[r.modelValue?"":"text-opacity-50",e.unref(n)].join(" ")])},null,10,zo),[[e.vModelText,a.value]]),e.withDirectives(e.createElementVNode("input",{class:"text-sm text-gray-600 border border-solid border-stone-200 rounded-md p-2 max-w-[100px]",type:"number","onUpdate:modelValue":i[1]||(i[1]=d=>a.value=d)},null,512),[[e.vModelText,a.value]])]))}}),jo=["type","value","onInput","placeholder","disabled"],bt=e.defineComponent({__name:"vs-input-array",props:e.mergeModels({count:{default:1},limit:{default:o=>o.count??1},inputType:{default:"text"},style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{default:""},name:{},placeholder:{default:""}},{modelValue:{default:[]},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,{inputClass:s}=ee(t.style),n=e.useModel(o,"modelValue");e.watchEffect(()=>{const a=n.value?.length??0;a<t.count&&(n.value=[...n.value??[],...Array(t.count-a)])});function l(a,r){const i=a.target.value,d=[...n.value];d[r]=t.inputType==="text"?i:Number(i),n.value=d}return(a,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["grid gap-2",`grid-cols-${a.limit}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.count,i=>(e.openBlock(),e.createElementBlock("input",{type:a.inputType,value:n.value?.[i-1]??"",onInput:d=>l(d,i-1),placeholder:a.placeholder,disabled:a.disabled,class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[e.unref(s),{"!border-red-600":a.error}]]),style:{border:"1px solid #CFD9E0"}},null,42,jo))),256))],2))}}),yt={VsInputText:xe,VsInputRadio:je,"vs-input-text":xe,"vs-input-password":ms,"vs-input-textarea":dt,"vs-input-mask":Je,"vs-input-number":Ye,"vs-input-radio":je,"vs-input-select":Ue,"vs-input-switcher":Re,"vs-input-static":ze,"vs-input-container":it,"vs-input-date":et,"vs-input-checkbox":Qe,"vs-input-file":at,"vs-input-html":ze,"vs-input-email":Xe,"vs-input-datatable":ct,"vs-input-map":pt,"vs-input-file-list":rt,"vs-input-tags":ht,"vs-input-slug":mt,"vs-input-key-value":ft,"vs-input-range":kt,"vs-input-color":gt,"vs-input-native-select":Ue,"vs-input-array":bt},Uo=e.defineComponent({__name:"behavior",props:{api:{},set:{},button:{},error:{},value:{}},setup(o){const t=o,s=e.inject("values");async function n(){try{if(!t.api)return;const l=t.api.replace("{{value}}",t.value),a=await fetch(l);if(!a.ok){G.notify({type:"warning",title:"Validation",message:"При спробі завантажити дані виникла помилка."});return}const r=await a.json();if(!t.set||!s)return;for(const[i,d]of Object.entries(t.set))s.value[i]=r.result[d]}catch(l){console.error(t.error,l)}}return(l,a)=>(e.openBlock(),e.createElementBlock("button",{onClick:n,class:"vs-button relative inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border !border-gray-200 hover:text-white bg-white text-blue-500 hover:border-blue-500 hover:bg-blue-500 focus:ring-blue-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1 ml-0 md:ml-2 mt-2 md:mt-0 py-[8px] md:w-2/4 whitespace-nowrap w-full"},e.toDisplayString(l.button),1))}}),Po={class:"flex flex-col gap-1 w-full"},Ho={key:0,class:"text-sm text-gray-500"},xt=e.defineComponent({__name:"vs-compact-form-layout",props:e.mergeModels({item:{default:{}},layout:{default:"default"},style:{default:{}},type:{default:""},error:{type:[String,Boolean]}},{modelValue:{default:null},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const t=o,s=e.useModel(o,"modelValue"),n=e.computed(()=>ps[`${t.layout}`]),l=e.computed(()=>yt?.[`vs-input-${t.item.type}`]),a=e.computed(()=>{const i=e.unref(l);if(!i)return new Set;const d=i.props??i.__vccOpts?.props;if(!d)return new Set;const u=Array.isArray(d)?d:Object.keys(d);return new Set(u)}),r=e.computed(()=>{const i=t.item??{},d=a.value;return d.size?Object.fromEntries(Object.entries(i).filter(([u])=>d.has(u))):{}});return(i,d)=>e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{ua:t.item.ua,error:t.error||"",item:i.item,label:t.item.label},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex w-full",`${t.item.type}-component`])},[e.createElementVNode("div",Po,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),e.mergeProps(r.value,{modelValue:s.value,"onUpdate:modelValue":d[0]||(d[0]=u=>s.value=u)}),null,16,["modelValue"])),i.item.description&&t.layout!=="settings"?(e.openBlock(),e.createElementBlock("p",Ho,e.toDisplayString(i.item.description),1)):e.createCommentVNode("",!0)]),i.item.behavior?.api&&i.item.behavior?.button?(e.openBlock(),e.createBlock(Uo,e.mergeProps({key:0},i.item.behavior,{value:s.value}),null,16,["value"])):e.createCommentVNode("",!0)],2)]),_:1},8,["ua","error","item","label"])),[[e.vShow,!i.item.hidden]])}}),_t={required:"Це поле є обов’язковим",email:"Неправильний email"},Go=o=>o?!1:_t.required,qo=o=>{const t=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;return o?t.test(o)?!1:_t.email:!1},Ko=(o,t)=>{const s=t.pattern??t.regexp;return!(typeof s=="string"?new RegExp(s):s).test(o)&&o?t.message:!1},Zo=(o,t)=>!1,Yo=(o,t)=>{switch(typeof t=="string"?t:t.type){case"required":return Go(o);case"email":return qo(o);case"regexp":return Ko(o,t);case"custom":return Zo();default:return!1}},Wo={autocomplete:"select",combobox:"select",datepicker:"date",markedtext:"mask",html:"static",geom:"map",filelist:"file-list",datalist:"datatable",file:"file"};function wt(o){const t=o.toLowerCase();return Wo[t]||t}function Jo(o,t=!1){if(Array.isArray(o)){const n=[];return o.forEach(l=>{const a={...l};a.name=(l.name||l.id||l.key||"").toString(),a.type=wt(l.type),a.label=l.label||l.ua,a.rules=l.rules||l.validators,a.type==="email"&&!a.rules&&(a.rules=["email"]),l.data&&(a.api=`/api/suggest/${l.data}`),a.disabled=t||a.disabled,n.push(a)}),n}const s=[];return Object.entries(o).forEach(n=>{const l={name:n[0],...n[1],type:wt(n[1].type),label:n[1].label||n[1].ua,rules:n[1].rules||n[1].validators,disabled:t};l.type==="email"&&!l.rules&&(l.rules=["email"]),n[1].type.includes("list")&&(l.multiple=!0),!l.api&&n[1].data&&(l.api=`/api/suggest/${n[1].data}`),s.push(l)}),s}function Xo(o,t,s=!1){const n=e.computed(()=>Jo((Array.isArray(t),t),typeof s=="boolean"?s:s.value)),l=e.ref({});function a(u){const c=u?.conditions;if(!c)return!0;const p=Array.isArray(c)?c[0]:c,h=o?.value?.[p];return ot(h,c)}const r=(u=n.value,c=!0)=>(u.forEach(p=>{if(p.rules){if(!a(p)){delete l.value[p.name];return}p.rules.forEach(h=>{const x=Yo(o.value[p.name],h);x?l.value[p.name]=x:delete l.value[p.name]})}p.schema&&r(p.schema,!1)}),c&&Object.values(l.value).some(Boolean)?l.value:null),i=e.computed(()=>n.value?.filter(u=>a(u)));return{errors:l,validate:r,reset:()=>{o.value={},l.value={}},visibleSchema:i}}const Qo={key:0,"data-orientation":"horizontal",role:"none",class:"mt-1 shrink-0 h-[1px] w-full bg-slate-100 dark:bg-slate-600"},me=e.defineComponent({__name:"vs-compact-form",props:e.mergeModels({schema:{default:()=>[]},style:{default:()=>({})},modelValue:{},layout:{default:()=>"default"},formId:{default:()=>""},disabled:{type:Boolean,default:!1}},{form:{default:()=>({})},formModifiers:{},values:{default:()=>({})},valuesModifiers:{}}),emits:e.mergeModels(["handle-submit","update:modelValue"],["update:form","update:values"]),setup(o,{expose:t,emit:s}){const n=s,l=o,a=e.useModel(o,"form"),r=e.useModel(o,"values"),{errors:i,validate:d,reset:u,visibleSchema:c}=Xo(r,l.schema,e.toRef(l,"disabled")),p=()=>{n("update:modelValue",r.value),d(),n("handle-submit",r.value)};t({validate:d,reset:u,errors:i}),e.onMounted(()=>{l.modelValue&&(r.value=l.modelValue),a.value.value=r.value,a.value.errors=i.value,a.value.reset=u,a.value.validate=d,a.value.formId=l.formId});function h(x,A){if(x===A)return!0;if(typeof x!="object"||typeof A!="object"||!x||!A)return!1;const V=Object.keys(x),M=Object.keys(A);return V.length!==M.length?!1:V.every(C=>x[C]===A[C])}return e.provide("form",a),e.provide("values",r),(x,A)=>(e.openBlock(),e.createElementBlock("form",{onSubmit:e.withModifiers(p,["prevent"]),class:e.normalizeClass(["grid grid-cols-12",x.layout==="default"?"gap-6":"gap-4"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),(V,M)=>(e.openBlock(),e.createElementBlock("div",{key:V.name,class:e.normalizeClass(x.layout==="horizontal"?"col-span-12":`col-span-${V.col||12}`)},[e.createVNode(xt,{style:e.normalizeStyle(x.style),item:V,layout:x.layout,"model-value":r.value[V.name],"onUpdate:modelValue":C=>{const B=r.value[V.name];h(B,C)||(r.value[V.name]=C)},error:e.unref(i)[V.name]},null,8,["style","item","layout","model-value","onUpdate:modelValue","error"]),x.layout==="settings"&&M+1!==e.unref(c).length?(e.openBlock(),e.createElementBlock("div",Qo)):e.createCommentVNode("",!0)],2))),128))],34))}}),ei={class:"relative"},ti={class:"w-full h-full fixed top-0 start-0 z-[1000] bg-black bg-opacity-50"},si={class:"m-[10px] fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 min-h-0 h-fit max-h-[80vh] overflow-hidden opacity-1 flex flex-col bg-white dark:bg-[#1A1A1A] border dark:border-[#454545] pointer-events-auto shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-xl lg:w-7/12 w-11/12"},ni={class:"py-2.5 px-4 flex justify-between items-center border-0 border-b border-solid border-gray-200 dark:border-b-[#454545]"},li={class:"font-medium text-gray-800 dark:text-[#ffffff]"},ai={class:"p-4 mim-h-0 h-full overflow-auto"},Et=e.defineComponent({__name:"modal-edit",props:{schema:{},defaultValue:{},mode:{},token:{},form:{}},emits:["close","save","edit"],setup(o,{emit:t}){const s=o,n=t,l=e.ref(s.schema),a=e.ref(s.defaultValue?JSON.parse(JSON.stringify(s.defaultValue)):{}),r=e.ref({}),i=e.ref(),d=e.ref(s.mode);async function u(){const p=r.value.validate();if(p){G.notify({type:"warning",title:"Помилка валідації",message:Object.entries(p).map(([h,x])=>`${h}: ${x}`).join(`
|
|
3
|
-
`)});return}if(i.value)try{const h=await fetch(`/api/table/${i.value}`,{method:d.value==="add"?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a.value)});if(h.ok)await h.json(),G.notify({type:"success",title:"Успішно",message:`Дані успішно ${d.value==="add"?"збережено":"оновлено"}`}),n("save",a.value);else if(h.status===400){const x=await h.json().catch(()=>({}));G.notify({type:"warning",title:"Помилка валідації",message:x.message||"Некоректні дані (400)"})}else h.status===500?G.notify({type:"error",title:"Серверна помилка",message:"Виникла помилка на сервері (500)"}):G.notify({type:"error",title:"Помилка",message:`Статус: ${h.status}`})}catch(h){G.notify({type:"error",title:"Помилка з’єднання",message:h.message||"Не вдалося виконати запит"})}}function c(){n("close")}return e.onMounted(async()=>{try{if(s.form){const p=await fetch(`/api/template/form/${s.form}`);if(!p.ok){G.notify({type:p.status>=400&&p.status<500?"warning":"error",title:"Error",message:`Error code: ${p.status}`});return}const h=await p.json();l.value=h.schema,i.value=h.token}else if(s.token){i.value=s.token;const p=await fetch(`/api/form/${i.value}`);if(!p.ok){G.notify({type:p.status>=400&&p.status<500?"warning":"error",title:"Error",message:`Error code: ${p.status}`});return}const h=await p.json();l.value=h.schema,h.data?a.value=h.data:d.value="add"}}catch(p){G.notify({type:"error",title:"Error",message:p.message||"Unexpected error"}),console.error(p)}}),(p,h)=>(e.openBlock(),e.createElementBlock("div",ei,[e.createElementVNode("div",ti,[e.createElementVNode("div",si,[e.createElementVNode("div",ni,[e.createElementVNode("h3",li,e.toDisplayString(d.value==="add"?"Додати":"Змінити"),1),e.createElementVNode("button",{onClick:c,type:"button",class:"size-8 inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 focus:outline-none focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:hover:bg-neutral-600 dark:text-neutral-400 dark:focus:bg-neutral-600"},h[2]||(h[2]=[e.createElementVNode("span",{class:"sr-only"},"Close",-1),e.createElementVNode("svg",{class:"flex-shrink-0 w-4 h-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})],-1)]))]),e.createElementVNode("div",ai,[l.value?(e.openBlock(),e.createBlock(me,{key:0,schema:l.value,values:a.value,"onUpdate:values":h[0]||(h[0]=x=>a.value=x),form:r.value,"onUpdate:form":h[1]||(h[1]=x=>r.value=x)},null,8,["schema","values","form"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"vs-form__head mr-5 mb-5 mt-3 flex items-center justify-end sticky top-0 left-0 z-[60] bg-white"},[e.createElementVNode("button",{type:"button",onClick:c,class:"vs-button inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border !border-gray-200 hover:text-white bg-white text-red-500 hover:border-red-500 hover:bg-red-500 focus:ring-red-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1 mr-2"}," Скасувати "),e.createElementVNode("button",{onClick:u,type:"button",class:"vs-button inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border-1 border-transparent text-white bg-blue-500 hover:bg-blue-600 focus:ring-blue-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1"}," Зберегти ")])])])]))}}),Vt=(o={mode:"edit",schema:null})=>new Promise(t=>{const{close:s}=G.modal({title:o.mode==="add"?"Додати":"Редагувати",template:"",visible:!0,size:"medium",closeClickBack:!0,content:Et,contentProps:{...o,onClose:()=>{t(null),s()},onSave:n=>{t(n),s()}}})});me.install=function(t){t.component("VForm",me),Object.assign(t.config.globalProperties,{$form:Vt}),t.provide("form",Vt),window.v3plugin||(window.v3plugin={})};function pe(o){return typeof o=="string"||o instanceof String}function Ct(o){var t;return typeof o=="object"&&o!=null&&(o==null||(t=o.constructor)==null?void 0:t.name)==="Object"}function Bt(o,t){return Array.isArray(t)?Bt(o,(s,n)=>t.includes(n)):Object.entries(o).reduce((s,n)=>{let[l,a]=n;return t(a,l)&&(s[l]=a),s},{})}const E={NONE:"NONE",LEFT:"LEFT",FORCE_LEFT:"FORCE_LEFT",RIGHT:"RIGHT",FORCE_RIGHT:"FORCE_RIGHT"};function vt(o){switch(o){case E.LEFT:return E.FORCE_LEFT;case E.RIGHT:return E.FORCE_RIGHT;default:return o}}function Pe(o){return o.replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}function $e(o,t){if(t===o)return!0;const s=Array.isArray(t),n=Array.isArray(o);let l;if(s&&n){if(t.length!=o.length)return!1;for(l=0;l<t.length;l++)if(!$e(t[l],o[l]))return!1;return!0}if(s!=n)return!1;if(t&&o&&typeof t=="object"&&typeof o=="object"){const a=t instanceof Date,r=o instanceof Date;if(a&&r)return t.getTime()==o.getTime();if(a!=r)return!1;const i=t instanceof RegExp,d=o instanceof RegExp;if(i&&d)return t.toString()==o.toString();if(i!=d)return!1;const u=Object.keys(t);for(l=0;l<u.length;l++)if(!Object.prototype.hasOwnProperty.call(o,u[l]))return!1;for(l=0;l<u.length;l++)if(!$e(o[u[l]],t[u[l]]))return!1;return!0}else if(t&&o&&typeof t=="function"&&typeof o=="function")return t.toString()===o.toString();return!1}class ri{constructor(t){for(Object.assign(this,t);this.value.slice(0,this.startChangePos)!==this.oldValue.slice(0,this.startChangePos);)--this.oldSelection.start;if(this.insertedCount)for(;this.value.slice(this.cursorPos)!==this.oldValue.slice(this.oldSelection.end);)this.value.length-this.cursorPos<this.oldValue.length-this.oldSelection.end?++this.oldSelection.end:++this.cursorPos}get startChangePos(){return Math.min(this.cursorPos,this.oldSelection.start)}get insertedCount(){return this.cursorPos-this.startChangePos}get inserted(){return this.value.substr(this.startChangePos,this.insertedCount)}get removedCount(){return Math.max(this.oldSelection.end-this.startChangePos||this.oldValue.length-this.value.length,0)}get removed(){return this.oldValue.substr(this.startChangePos,this.removedCount)}get head(){return this.value.substring(0,this.startChangePos)}get tail(){return this.value.substring(this.startChangePos+this.insertedCount)}get removeDirection(){return!this.removedCount||this.insertedCount?E.NONE:(this.oldSelection.end===this.cursorPos||this.oldSelection.start===this.cursorPos)&&this.oldSelection.end===this.oldSelection.start?E.RIGHT:E.LEFT}}function F(o,t){return new F.InputMask(o,t)}function Nt(o){if(o==null)throw new Error("mask property should be defined");return o instanceof RegExp?F.MaskedRegExp:pe(o)?F.MaskedPattern:o===Date?F.MaskedDate:o===Number?F.MaskedNumber:Array.isArray(o)||o===Array?F.MaskedDynamic:F.Masked&&o.prototype instanceof F.Masked?o:F.Masked&&o instanceof F.Masked?o.constructor:o instanceof Function?F.MaskedFunction:(console.warn("Mask not found for mask",o),F.Masked)}function be(o){if(!o)throw new Error("Options in not defined");if(F.Masked){if(o.prototype instanceof F.Masked)return{mask:o};const{mask:t=void 0,...s}=o instanceof F.Masked?{mask:o}:Ct(o)&&o.mask instanceof F.Masked?o:{};if(t){const n=t.mask;return{...Bt(t,(l,a)=>!a.startsWith("_")),mask:t.constructor,_mask:n,...s}}}return Ct(o)?{...o}:{mask:o}}function re(o){if(F.Masked&&o instanceof F.Masked)return o;const t=be(o),s=Nt(t.mask);if(!s)throw new Error("Masked class is not found for provided mask "+t.mask+", appropriate module needs to be imported manually before creating mask.");return t.mask===s&&delete t.mask,t._mask&&(t.mask=t._mask,delete t._mask),new s(t)}F.createMask=re;class De{get selectionStart(){let t;try{t=this._unsafeSelectionStart}catch{}return t??this.value.length}get selectionEnd(){let t;try{t=this._unsafeSelectionEnd}catch{}return t??this.value.length}select(t,s){if(!(t==null||s==null||t===this.selectionStart&&s===this.selectionEnd))try{this._unsafeSelect(t,s)}catch{}}get isActive(){return!1}}F.MaskElement=De;const St=90,oi=89;class Ee extends De{constructor(t){super(),this.input=t,this._onKeydown=this._onKeydown.bind(this),this._onInput=this._onInput.bind(this),this._onBeforeinput=this._onBeforeinput.bind(this),this._onCompositionEnd=this._onCompositionEnd.bind(this)}get rootElement(){var t,s,n;return(t=(s=(n=this.input).getRootNode)==null?void 0:s.call(n))!=null?t:document}get isActive(){return this.input===this.rootElement.activeElement}bindEvents(t){this.input.addEventListener("keydown",this._onKeydown),this.input.addEventListener("input",this._onInput),this.input.addEventListener("beforeinput",this._onBeforeinput),this.input.addEventListener("compositionend",this._onCompositionEnd),this.input.addEventListener("drop",t.drop),this.input.addEventListener("click",t.click),this.input.addEventListener("focus",t.focus),this.input.addEventListener("blur",t.commit),this._handlers=t}_onKeydown(t){if(this._handlers.redo&&(t.keyCode===St&&t.shiftKey&&(t.metaKey||t.ctrlKey)||t.keyCode===oi&&t.ctrlKey))return t.preventDefault(),this._handlers.redo(t);if(this._handlers.undo&&t.keyCode===St&&(t.metaKey||t.ctrlKey))return t.preventDefault(),this._handlers.undo(t);t.isComposing||this._handlers.selectionChange(t)}_onBeforeinput(t){if(t.inputType==="historyUndo"&&this._handlers.undo)return t.preventDefault(),this._handlers.undo(t);if(t.inputType==="historyRedo"&&this._handlers.redo)return t.preventDefault(),this._handlers.redo(t)}_onCompositionEnd(t){this._handlers.input(t)}_onInput(t){t.isComposing||this._handlers.input(t)}unbindEvents(){this.input.removeEventListener("keydown",this._onKeydown),this.input.removeEventListener("input",this._onInput),this.input.removeEventListener("beforeinput",this._onBeforeinput),this.input.removeEventListener("compositionend",this._onCompositionEnd),this.input.removeEventListener("drop",this._handlers.drop),this.input.removeEventListener("click",this._handlers.click),this.input.removeEventListener("focus",this._handlers.focus),this.input.removeEventListener("blur",this._handlers.commit),this._handlers={}}}F.HTMLMaskElement=Ee;class Mt extends Ee{constructor(t){super(t),this.input=t}get _unsafeSelectionStart(){return this.input.selectionStart!=null?this.input.selectionStart:this.value.length}get _unsafeSelectionEnd(){return this.input.selectionEnd}_unsafeSelect(t,s){this.input.setSelectionRange(t,s)}get value(){return this.input.value}set value(t){this.input.value=t}}F.HTMLMaskElement=Ee;class He extends Ee{get _unsafeSelectionStart(){const t=this.rootElement,s=t.getSelection&&t.getSelection(),n=s&&s.anchorOffset,l=s&&s.focusOffset;return l==null||n==null||n<l?n:l}get _unsafeSelectionEnd(){const t=this.rootElement,s=t.getSelection&&t.getSelection(),n=s&&s.anchorOffset,l=s&&s.focusOffset;return l==null||n==null||n>l?n:l}_unsafeSelect(t,s){if(!this.rootElement.createRange)return;const n=this.rootElement.createRange();n.setStart(this.input.firstChild||this.input,t),n.setEnd(this.input.lastChild||this.input,s);const l=this.rootElement,a=l.getSelection&&l.getSelection();a&&(a.removeAllRanges(),a.addRange(n))}get value(){return this.input.textContent||""}set value(t){this.input.textContent=t}}F.HTMLContenteditableMaskElement=He;class Ie{constructor(){this.states=[],this.currentIndex=0}get currentState(){return this.states[this.currentIndex]}get isEmpty(){return this.states.length===0}push(t){this.currentIndex<this.states.length-1&&(this.states.length=this.currentIndex+1),this.states.push(t),this.states.length>Ie.MAX_LENGTH&&this.states.shift(),this.currentIndex=this.states.length-1}go(t){return this.currentIndex=Math.min(Math.max(this.currentIndex+t,0),this.states.length-1),this.currentState}undo(){return this.go(-1)}redo(){return this.go(1)}clear(){this.states.length=0,this.currentIndex=0}}Ie.MAX_LENGTH=100;class Ft{constructor(t,s){this.el=t instanceof De?t:t.isContentEditable&&t.tagName!=="INPUT"&&t.tagName!=="TEXTAREA"?new He(t):new Mt(t),this.masked=re(s),this._listeners={},this._value="",this._unmaskedValue="",this._rawInputValue="",this.history=new Ie,this._saveSelection=this._saveSelection.bind(this),this._onInput=this._onInput.bind(this),this._onChange=this._onChange.bind(this),this._onDrop=this._onDrop.bind(this),this._onFocus=this._onFocus.bind(this),this._onClick=this._onClick.bind(this),this._onUndo=this._onUndo.bind(this),this._onRedo=this._onRedo.bind(this),this.alignCursor=this.alignCursor.bind(this),this.alignCursorFriendly=this.alignCursorFriendly.bind(this),this._bindEvents(),this.updateValue(),this._onChange()}maskEquals(t){var s;return t==null||((s=this.masked)==null?void 0:s.maskEquals(t))}get mask(){return this.masked.mask}set mask(t){if(this.maskEquals(t))return;if(!(t instanceof F.Masked)&&this.masked.constructor===Nt(t)){this.masked.updateOptions({mask:t});return}const s=t instanceof F.Masked?t:re({mask:t});s.unmaskedValue=this.masked.unmaskedValue,this.masked=s}get value(){return this._value}set value(t){this.value!==t&&(this.masked.value=t,this.updateControl("auto"))}get unmaskedValue(){return this._unmaskedValue}set unmaskedValue(t){this.unmaskedValue!==t&&(this.masked.unmaskedValue=t,this.updateControl("auto"))}get rawInputValue(){return this._rawInputValue}set rawInputValue(t){this.rawInputValue!==t&&(this.masked.rawInputValue=t,this.updateControl(),this.alignCursor())}get typedValue(){return this.masked.typedValue}set typedValue(t){this.masked.typedValueEquals(t)||(this.masked.typedValue=t,this.updateControl("auto"))}get displayValue(){return this.masked.displayValue}_bindEvents(){this.el.bindEvents({selectionChange:this._saveSelection,input:this._onInput,drop:this._onDrop,click:this._onClick,focus:this._onFocus,commit:this._onChange,undo:this._onUndo,redo:this._onRedo})}_unbindEvents(){this.el&&this.el.unbindEvents()}_fireEvent(t,s){const n=this._listeners[t];n&&n.forEach(l=>l(s))}get selectionStart(){return this._cursorChanging?this._changingCursorPos:this.el.selectionStart}get cursorPos(){return this._cursorChanging?this._changingCursorPos:this.el.selectionEnd}set cursorPos(t){!this.el||!this.el.isActive||(this.el.select(t,t),this._saveSelection())}_saveSelection(){this.displayValue!==this.el.value&&console.warn("Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly."),this._selection={start:this.selectionStart,end:this.cursorPos}}updateValue(){this.masked.value=this.el.value,this._value=this.masked.value,this._unmaskedValue=this.masked.unmaskedValue,this._rawInputValue=this.masked.rawInputValue}updateControl(t){const s=this.masked.unmaskedValue,n=this.masked.value,l=this.masked.rawInputValue,a=this.displayValue,r=this.unmaskedValue!==s||this.value!==n||this._rawInputValue!==l;this._unmaskedValue=s,this._value=n,this._rawInputValue=l,this.el.value!==a&&(this.el.value=a),t==="auto"?this.alignCursor():t!=null&&(this.cursorPos=t),r&&this._fireChangeEvents(),!this._historyChanging&&(r||this.history.isEmpty)&&this.history.push({unmaskedValue:s,selection:{start:this.selectionStart,end:this.cursorPos}})}updateOptions(t){const{mask:s,...n}=t,l=!this.maskEquals(s),a=this.masked.optionsIsChanged(n);l&&(this.mask=s),a&&this.masked.updateOptions(n),(l||a)&&this.updateControl()}updateCursor(t){t!=null&&(this.cursorPos=t,this._delayUpdateCursor(t))}_delayUpdateCursor(t){this._abortUpdateCursor(),this._changingCursorPos=t,this._cursorChanging=setTimeout(()=>{this.el&&(this.cursorPos=this._changingCursorPos,this._abortUpdateCursor())},10)}_fireChangeEvents(){this._fireEvent("accept",this._inputEvent),this.masked.isComplete&&this._fireEvent("complete",this._inputEvent)}_abortUpdateCursor(){this._cursorChanging&&(clearTimeout(this._cursorChanging),delete this._cursorChanging)}alignCursor(){this.cursorPos=this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos,E.LEFT))}alignCursorFriendly(){this.selectionStart===this.cursorPos&&this.alignCursor()}on(t,s){return this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(s),this}off(t,s){if(!this._listeners[t])return this;if(!s)return delete this._listeners[t],this;const n=this._listeners[t].indexOf(s);return n>=0&&this._listeners[t].splice(n,1),this}_onInput(t){this._inputEvent=t,this._abortUpdateCursor();const s=new ri({value:this.el.value,cursorPos:this.cursorPos,oldValue:this.displayValue,oldSelection:this._selection}),n=this.masked.rawInputValue,l=this.masked.splice(s.startChangePos,s.removed.length,s.inserted,s.removeDirection,{input:!0,raw:!0}).offset,a=n===this.masked.rawInputValue?s.removeDirection:E.NONE;let r=this.masked.nearestInputPos(s.startChangePos+l,a);a!==E.NONE&&(r=this.masked.nearestInputPos(r,E.NONE)),this.updateControl(r),delete this._inputEvent}_onChange(){this.displayValue!==this.el.value&&this.updateValue(),this.masked.doCommit(),this.updateControl(),this._saveSelection()}_onDrop(t){t.preventDefault(),t.stopPropagation()}_onFocus(t){this.alignCursorFriendly()}_onClick(t){this.alignCursorFriendly()}_onUndo(){this._applyHistoryState(this.history.undo())}_onRedo(){this._applyHistoryState(this.history.redo())}_applyHistoryState(t){t&&(this._historyChanging=!0,this.unmaskedValue=t.unmaskedValue,this.el.select(t.selection.start,t.selection.end),this._saveSelection(),this._historyChanging=!1)}destroy(){this._unbindEvents(),this._listeners.length=0,delete this.el}}F.InputMask=Ft;class ${static normalize(t){return Array.isArray(t)?t:[t,new $]}constructor(t){Object.assign(this,{inserted:"",rawInserted:"",tailShift:0,skip:!1},t)}aggregate(t){return this.inserted+=t.inserted,this.rawInserted+=t.rawInserted,this.tailShift+=t.tailShift,this.skip=this.skip||t.skip,this}get offset(){return this.tailShift+this.inserted.length}get consumed(){return!!this.rawInserted||this.skip}equals(t){return this.inserted===t.inserted&&this.tailShift===t.tailShift&&this.rawInserted===t.rawInserted&&this.skip===t.skip}}F.ChangeDetails=$;class oe{constructor(t,s,n){t===void 0&&(t=""),s===void 0&&(s=0),this.value=t,this.from=s,this.stop=n}toString(){return this.value}extend(t){this.value+=String(t)}appendTo(t){return t.append(this.toString(),{tail:!0}).aggregate(t._appendPlaceholder())}get state(){return{value:this.value,from:this.from,stop:this.stop}}set state(t){Object.assign(this,t)}unshift(t){if(!this.value.length||t!=null&&this.from>=t)return"";const s=this.value[0];return this.value=this.value.slice(1),s}shift(){if(!this.value.length)return"";const t=this.value[this.value.length-1];return this.value=this.value.slice(0,-1),t}}class q{constructor(t){this._value="",this._update({...q.DEFAULTS,...t}),this._initialized=!0}updateOptions(t){this.optionsIsChanged(t)&&this.withValueRefresh(this._update.bind(this,t))}_update(t){Object.assign(this,t)}get state(){return{_value:this.value,_rawInputValue:this.rawInputValue}}set state(t){this._value=t._value}reset(){this._value=""}get value(){return this._value}set value(t){this.resolve(t,{input:!0})}resolve(t,s){s===void 0&&(s={input:!0}),this.reset(),this.append(t,s,""),this.doCommit()}get unmaskedValue(){return this.value}set unmaskedValue(t){this.resolve(t,{})}get typedValue(){return this.parse?this.parse(this.value,this):this.unmaskedValue}set typedValue(t){this.format?this.value=this.format(t,this):this.unmaskedValue=String(t)}get rawInputValue(){return this.extractInput(0,this.displayValue.length,{raw:!0})}set rawInputValue(t){this.resolve(t,{raw:!0})}get displayValue(){return this.value}get isComplete(){return!0}get isFilled(){return this.isComplete}nearestInputPos(t,s){return t}totalInputPositions(t,s){return t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length),Math.min(this.displayValue.length,s-t)}extractInput(t,s,n){return t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length),this.displayValue.slice(t,s)}extractTail(t,s){return t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length),new oe(this.extractInput(t,s),t)}appendTail(t){return pe(t)&&(t=new oe(String(t))),t.appendTo(this)}_appendCharRaw(t,s){return t?(this._value+=t,new $({inserted:t,rawInserted:t})):new $}_appendChar(t,s,n){s===void 0&&(s={});const l=this.state;let a;if([t,a]=this.doPrepareChar(t,s),t&&(a=a.aggregate(this._appendCharRaw(t,s)),!a.rawInserted&&this.autofix==="pad")){const r=this.state;this.state=l;let i=this.pad(s);const d=this._appendCharRaw(t,s);i=i.aggregate(d),d.rawInserted||i.equals(a)?a=i:this.state=r}if(a.inserted){let r,i=this.doValidate(s)!==!1;if(i&&n!=null){const d=this.state;if(this.overwrite===!0){r=n.state;for(let c=0;c<a.rawInserted.length;++c)n.unshift(this.displayValue.length-a.tailShift)}let u=this.appendTail(n);if(i=u.rawInserted.length===n.toString().length,!(i&&u.inserted)&&this.overwrite==="shift"){this.state=d,r=n.state;for(let c=0;c<a.rawInserted.length;++c)n.shift();u=this.appendTail(n),i=u.rawInserted.length===n.toString().length}i&&u.inserted&&(this.state=d)}i||(a=new $,this.state=l,n&&r&&(n.state=r))}return a}_appendPlaceholder(){return new $}_appendEager(){return new $}append(t,s,n){if(!pe(t))throw new Error("value should be string");const l=pe(n)?new oe(String(n)):n;s!=null&&s.tail&&(s._beforeTailState=this.state);let a;[t,a]=this.doPrepare(t,s);for(let r=0;r<t.length;++r){const i=this._appendChar(t[r],s,l);if(!i.rawInserted&&!this.doSkipInvalid(t[r],s,l))break;a.aggregate(i)}return(this.eager===!0||this.eager==="append")&&s!=null&&s.input&&t&&a.aggregate(this._appendEager()),l!=null&&(a.tailShift+=this.appendTail(l).tailShift),a}remove(t,s){return t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length),this._value=this.displayValue.slice(0,t)+this.displayValue.slice(s),new $}withValueRefresh(t){if(this._refreshing||!this._initialized)return t();this._refreshing=!0;const s=this.rawInputValue,n=this.value,l=t();return this.rawInputValue=s,this.value&&this.value!==n&&n.indexOf(this.value)===0&&(this.append(n.slice(this.displayValue.length),{},""),this.doCommit()),delete this._refreshing,l}runIsolated(t){if(this._isolated||!this._initialized)return t(this);this._isolated=!0;const s=this.state,n=t(this);return this.state=s,delete this._isolated,n}doSkipInvalid(t,s,n){return!!this.skipInvalid}doPrepare(t,s){return s===void 0&&(s={}),$.normalize(this.prepare?this.prepare(t,this,s):t)}doPrepareChar(t,s){return s===void 0&&(s={}),$.normalize(this.prepareChar?this.prepareChar(t,this,s):t)}doValidate(t){return(!this.validate||this.validate(this.value,this,t))&&(!this.parent||this.parent.doValidate(t))}doCommit(){this.commit&&this.commit(this.value,this)}splice(t,s,n,l,a){n===void 0&&(n=""),l===void 0&&(l=E.NONE),a===void 0&&(a={input:!0});const r=t+s,i=this.extractTail(r),d=this.eager===!0||this.eager==="remove";let u;d&&(l=vt(l),u=this.extractInput(0,r,{raw:!0}));let c=t;const p=new $;if(l!==E.NONE&&(c=this.nearestInputPos(t,s>1&&t!==0&&!d?E.NONE:l),p.tailShift=c-t),p.aggregate(this.remove(c)),d&&l!==E.NONE&&u===this.rawInputValue)if(l===E.FORCE_LEFT){let h;for(;u===this.rawInputValue&&(h=this.displayValue.length);)p.aggregate(new $({tailShift:-1})).aggregate(this.remove(h-1))}else l===E.FORCE_RIGHT&&i.unshift();return p.aggregate(this.append(n,a,i))}maskEquals(t){return this.mask===t}optionsIsChanged(t){return!$e(this,t)}typedValueEquals(t){const s=this.typedValue;return t===s||q.EMPTY_VALUES.includes(t)&&q.EMPTY_VALUES.includes(s)||(this.format?this.format(t,this)===this.format(this.typedValue,this):!1)}pad(t){return new $}}q.DEFAULTS={skipInvalid:!0},q.EMPTY_VALUES=[void 0,null,""],F.Masked=q;class he{constructor(t,s){t===void 0&&(t=[]),s===void 0&&(s=0),this.chunks=t,this.from=s}toString(){return this.chunks.map(String).join("")}extend(t){if(!String(t))return;t=pe(t)?new oe(String(t)):t;const s=this.chunks[this.chunks.length-1],n=s&&(s.stop===t.stop||t.stop==null)&&t.from===s.from+s.toString().length;if(t instanceof oe)n?s.extend(t.toString()):this.chunks.push(t);else if(t instanceof he){if(t.stop==null){let l;for(;t.chunks.length&&t.chunks[0].stop==null;)l=t.chunks.shift(),l.from+=t.from,this.extend(l)}t.toString()&&(t.stop=t.blockIndex,this.chunks.push(t))}}appendTo(t){if(!(t instanceof F.MaskedPattern))return new oe(this.toString()).appendTo(t);const s=new $;for(let n=0;n<this.chunks.length;++n){const l=this.chunks[n],a=t._mapPosToBlock(t.displayValue.length),r=l.stop;let i;if(r!=null&&(!a||a.index<=r)&&((l instanceof he||t._stops.indexOf(r)>=0)&&s.aggregate(t._appendPlaceholder(r)),i=l instanceof he&&t._blocks[r]),i){const d=i.appendTail(l);s.aggregate(d);const u=l.toString().slice(d.rawInserted.length);u&&s.aggregate(t.append(u,{tail:!0}))}else s.aggregate(t.append(l.toString(),{tail:!0}))}return s}get state(){return{chunks:this.chunks.map(t=>t.state),from:this.from,stop:this.stop,blockIndex:this.blockIndex}}set state(t){const{chunks:s,...n}=t;Object.assign(this,n),this.chunks=s.map(l=>{const a="chunks"in l?new he:new oe;return a.state=l,a})}unshift(t){if(!this.chunks.length||t!=null&&this.from>=t)return"";const s=t!=null?t-this.from:t;let n=0;for(;n<this.chunks.length;){const l=this.chunks[n],a=l.unshift(s);if(l.toString()){if(!a)break;++n}else this.chunks.splice(n,1);if(a)return a}return""}shift(){if(!this.chunks.length)return"";let t=this.chunks.length-1;for(;0<=t;){const s=this.chunks[t],n=s.shift();if(s.toString()){if(!n)break;--t}else this.chunks.splice(t,1);if(n)return n}return""}}class ii{constructor(t,s){this.masked=t,this._log=[];const{offset:n,index:l}=t._mapPosToBlock(s)||(s<0?{index:0,offset:0}:{index:this.masked._blocks.length,offset:0});this.offset=n,this.index=l,this.ok=!1}get block(){return this.masked._blocks[this.index]}get pos(){return this.masked._blockStartPos(this.index)+this.offset}get state(){return{index:this.index,offset:this.offset,ok:this.ok}}set state(t){Object.assign(this,t)}pushState(){this._log.push(this.state)}popState(){const t=this._log.pop();return t&&(this.state=t),t}bindBlock(){this.block||(this.index<0&&(this.index=0,this.offset=0),this.index>=this.masked._blocks.length&&(this.index=this.masked._blocks.length-1,this.offset=this.block.displayValue.length))}_pushLeft(t){for(this.pushState(),this.bindBlock();0<=this.index;--this.index,this.offset=((s=this.block)==null?void 0:s.displayValue.length)||0){var s;if(t())return this.ok=!0}return this.ok=!1}_pushRight(t){for(this.pushState(),this.bindBlock();this.index<this.masked._blocks.length;++this.index,this.offset=0)if(t())return this.ok=!0;return this.ok=!1}pushLeftBeforeFilled(){return this._pushLeft(()=>{if(!(this.block.isFixed||!this.block.value)&&(this.offset=this.block.nearestInputPos(this.offset,E.FORCE_LEFT),this.offset!==0))return!0})}pushLeftBeforeInput(){return this._pushLeft(()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,E.LEFT),!0})}pushLeftBeforeRequired(){return this._pushLeft(()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,E.LEFT),!0})}pushRightBeforeFilled(){return this._pushRight(()=>{if(!(this.block.isFixed||!this.block.value)&&(this.offset=this.block.nearestInputPos(this.offset,E.FORCE_RIGHT),this.offset!==this.block.value.length))return!0})}pushRightBeforeInput(){return this._pushRight(()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,E.NONE),!0})}pushRightBeforeRequired(){return this._pushRight(()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,E.NONE),!0})}}class Ge{constructor(t){Object.assign(this,t),this._value="",this.isFixed=!0}get value(){return this._value}get unmaskedValue(){return this.isUnmasking?this.value:""}get rawInputValue(){return this._isRawInput?this.value:""}get displayValue(){return this.value}reset(){this._isRawInput=!1,this._value=""}remove(t,s){return t===void 0&&(t=0),s===void 0&&(s=this._value.length),this._value=this._value.slice(0,t)+this._value.slice(s),this._value||(this._isRawInput=!1),new $}nearestInputPos(t,s){s===void 0&&(s=E.NONE);const n=0,l=this._value.length;switch(s){case E.LEFT:case E.FORCE_LEFT:return n;case E.NONE:case E.RIGHT:case E.FORCE_RIGHT:default:return l}}totalInputPositions(t,s){return t===void 0&&(t=0),s===void 0&&(s=this._value.length),this._isRawInput?s-t:0}extractInput(t,s,n){return t===void 0&&(t=0),s===void 0&&(s=this._value.length),n===void 0&&(n={}),n.raw&&this._isRawInput&&this._value.slice(t,s)||""}get isComplete(){return!0}get isFilled(){return!!this._value}_appendChar(t,s){if(s===void 0&&(s={}),this.isFilled)return new $;const n=this.eager===!0||this.eager==="append",a=this.char===t&&(this.isUnmasking||s.input||s.raw)&&(!s.raw||!n)&&!s.tail,r=new $({inserted:this.char,rawInserted:a?this.char:""});return this._value=this.char,this._isRawInput=a&&(s.raw||s.input),r}_appendEager(){return this._appendChar(this.char,{tail:!0})}_appendPlaceholder(){const t=new $;return this.isFilled||(this._value=t.inserted=this.char),t}extractTail(){return new oe("")}appendTail(t){return pe(t)&&(t=new oe(String(t))),t.appendTo(this)}append(t,s,n){const l=this._appendChar(t[0],s);return n!=null&&(l.tailShift+=this.appendTail(n).tailShift),l}doCommit(){}get state(){return{_value:this._value,_rawInputValue:this.rawInputValue}}set state(t){this._value=t._value,this._isRawInput=!!t._rawInputValue}pad(t){return this._appendPlaceholder()}}class Ve{constructor(t){const{parent:s,isOptional:n,placeholderChar:l,displayChar:a,lazy:r,eager:i,...d}=t;this.masked=re(d),Object.assign(this,{parent:s,isOptional:n,placeholderChar:l,displayChar:a,lazy:r,eager:i})}reset(){this.isFilled=!1,this.masked.reset()}remove(t,s){return t===void 0&&(t=0),s===void 0&&(s=this.value.length),t===0&&s>=1?(this.isFilled=!1,this.masked.remove(t,s)):new $}get value(){return this.masked.value||(this.isFilled&&!this.isOptional?this.placeholderChar:"")}get unmaskedValue(){return this.masked.unmaskedValue}get rawInputValue(){return this.masked.rawInputValue}get displayValue(){return this.masked.value&&this.displayChar||this.value}get isComplete(){return!!this.masked.value||this.isOptional}_appendChar(t,s){if(s===void 0&&(s={}),this.isFilled)return new $;const n=this.masked.state;let l=this.masked._appendChar(t,this.currentMaskFlags(s));return l.inserted&&this.doValidate(s)===!1&&(l=new $,this.masked.state=n),!l.inserted&&!this.isOptional&&!this.lazy&&!s.input&&(l.inserted=this.placeholderChar),l.skip=!l.inserted&&!this.isOptional,this.isFilled=!!l.inserted,l}append(t,s,n){return this.masked.append(t,this.currentMaskFlags(s),n)}_appendPlaceholder(){return this.isFilled||this.isOptional?new $:(this.isFilled=!0,new $({inserted:this.placeholderChar}))}_appendEager(){return new $}extractTail(t,s){return this.masked.extractTail(t,s)}appendTail(t){return this.masked.appendTail(t)}extractInput(t,s,n){return t===void 0&&(t=0),s===void 0&&(s=this.value.length),this.masked.extractInput(t,s,n)}nearestInputPos(t,s){s===void 0&&(s=E.NONE);const n=0,l=this.value.length,a=Math.min(Math.max(t,n),l);switch(s){case E.LEFT:case E.FORCE_LEFT:return this.isComplete?a:n;case E.RIGHT:case E.FORCE_RIGHT:return this.isComplete?a:l;case E.NONE:default:return a}}totalInputPositions(t,s){return t===void 0&&(t=0),s===void 0&&(s=this.value.length),this.value.slice(t,s).length}doValidate(t){return this.masked.doValidate(this.currentMaskFlags(t))&&(!this.parent||this.parent.doValidate(this.currentMaskFlags(t)))}doCommit(){this.masked.doCommit()}get state(){return{_value:this.value,_rawInputValue:this.rawInputValue,masked:this.masked.state,isFilled:this.isFilled}}set state(t){this.masked.state=t.masked,this.isFilled=t.isFilled}currentMaskFlags(t){var s;return{...t,_beforeTailState:(t==null||(s=t._beforeTailState)==null?void 0:s.masked)||t?._beforeTailState}}pad(t){return new $}}Ve.DEFAULT_DEFINITIONS={0:/\d/,a:/[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,"*":/./};class At extends q{updateOptions(t){super.updateOptions(t)}_update(t){const s=t.mask;s&&(t.validate=n=>n.search(s)>=0),super._update(t)}}F.MaskedRegExp=At;class K extends q{constructor(t){super({...K.DEFAULTS,...t,definitions:Object.assign({},Ve.DEFAULT_DEFINITIONS,t?.definitions)})}updateOptions(t){super.updateOptions(t)}_update(t){t.definitions=Object.assign({},this.definitions,t.definitions),super._update(t),this._rebuildMask()}_rebuildMask(){const t=this.definitions;this._blocks=[],this.exposeBlock=void 0,this._stops=[],this._maskedBlocks={};const s=this.mask;if(!s||!t)return;let n=!1,l=!1;for(let a=0;a<s.length;++a){if(this.blocks){const u=s.slice(a),c=Object.keys(this.blocks).filter(h=>u.indexOf(h)===0);c.sort((h,x)=>x.length-h.length);const p=c[0];if(p){const{expose:h,repeat:x,...A}=be(this.blocks[p]),V={lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar,overwrite:this.overwrite,autofix:this.autofix,...A,repeat:x,parent:this},M=x!=null?new F.RepeatBlock(V):re(V);M&&(this._blocks.push(M),h&&(this.exposeBlock=M),this._maskedBlocks[p]||(this._maskedBlocks[p]=[]),this._maskedBlocks[p].push(this._blocks.length-1)),a+=p.length-1;continue}}let r=s[a],i=r in t;if(r===K.STOP_CHAR){this._stops.push(this._blocks.length);continue}if(r==="{"||r==="}"){n=!n;continue}if(r==="["||r==="]"){l=!l;continue}if(r===K.ESCAPE_CHAR){if(++a,r=s[a],!r)break;i=!1}const d=i?new Ve({isOptional:l,lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar,...be(t[r]),parent:this}):new Ge({char:r,eager:this.eager,isUnmasking:n});this._blocks.push(d)}}get state(){return{...super.state,_blocks:this._blocks.map(t=>t.state)}}set state(t){if(!t){this.reset();return}const{_blocks:s,...n}=t;this._blocks.forEach((l,a)=>l.state=s[a]),super.state=n}reset(){super.reset(),this._blocks.forEach(t=>t.reset())}get isComplete(){return this.exposeBlock?this.exposeBlock.isComplete:this._blocks.every(t=>t.isComplete)}get isFilled(){return this._blocks.every(t=>t.isFilled)}get isFixed(){return this._blocks.every(t=>t.isFixed)}get isOptional(){return this._blocks.every(t=>t.isOptional)}doCommit(){this._blocks.forEach(t=>t.doCommit()),super.doCommit()}get unmaskedValue(){return this.exposeBlock?this.exposeBlock.unmaskedValue:this._blocks.reduce((t,s)=>t+=s.unmaskedValue,"")}set unmaskedValue(t){if(this.exposeBlock){const s=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.unmaskedValue=t,this.appendTail(s),this.doCommit()}else super.unmaskedValue=t}get value(){return this.exposeBlock?this.exposeBlock.value:this._blocks.reduce((t,s)=>t+=s.value,"")}set value(t){if(this.exposeBlock){const s=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.value=t,this.appendTail(s),this.doCommit()}else super.value=t}get typedValue(){return this.exposeBlock?this.exposeBlock.typedValue:super.typedValue}set typedValue(t){if(this.exposeBlock){const s=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.typedValue=t,this.appendTail(s),this.doCommit()}else super.typedValue=t}get displayValue(){return this._blocks.reduce((t,s)=>t+=s.displayValue,"")}appendTail(t){return super.appendTail(t).aggregate(this._appendPlaceholder())}_appendEager(){var t;const s=new $;let n=(t=this._mapPosToBlock(this.displayValue.length))==null?void 0:t.index;if(n==null)return s;this._blocks[n].isFilled&&++n;for(let l=n;l<this._blocks.length;++l){const a=this._blocks[l]._appendEager();if(!a.inserted)break;s.aggregate(a)}return s}_appendCharRaw(t,s){s===void 0&&(s={});const n=this._mapPosToBlock(this.displayValue.length),l=new $;if(!n)return l;for(let r=n.index,i;i=this._blocks[r];++r){var a;const d=i._appendChar(t,{...s,_beforeTailState:(a=s._beforeTailState)==null||(a=a._blocks)==null?void 0:a[r]});if(l.aggregate(d),d.consumed)break}return l}extractTail(t,s){t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length);const n=new he;return t===s||this._forEachBlocksInRange(t,s,(l,a,r,i)=>{const d=l.extractTail(r,i);d.stop=this._findStopBefore(a),d.from=this._blockStartPos(a),d instanceof he&&(d.blockIndex=a),n.extend(d)}),n}extractInput(t,s,n){if(t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length),n===void 0&&(n={}),t===s)return"";let l="";return this._forEachBlocksInRange(t,s,(a,r,i,d)=>{l+=a.extractInput(i,d,n)}),l}_findStopBefore(t){let s;for(let n=0;n<this._stops.length;++n){const l=this._stops[n];if(l<=t)s=l;else break}return s}_appendPlaceholder(t){const s=new $;if(this.lazy&&t==null)return s;const n=this._mapPosToBlock(this.displayValue.length);if(!n)return s;const l=n.index,a=t??this._blocks.length;return this._blocks.slice(l,a).forEach(r=>{if(!r.lazy||t!=null){var i;s.aggregate(r._appendPlaceholder((i=r._blocks)==null?void 0:i.length))}}),s}_mapPosToBlock(t){let s="";for(let n=0;n<this._blocks.length;++n){const l=this._blocks[n],a=s.length;if(s+=l.displayValue,t<=s.length)return{index:n,offset:t-a}}}_blockStartPos(t){return this._blocks.slice(0,t).reduce((s,n)=>s+=n.displayValue.length,0)}_forEachBlocksInRange(t,s,n){s===void 0&&(s=this.displayValue.length);const l=this._mapPosToBlock(t);if(l){const a=this._mapPosToBlock(s),r=a&&l.index===a.index,i=l.offset,d=a&&r?a.offset:this._blocks[l.index].displayValue.length;if(n(this._blocks[l.index],l.index,i,d),a&&!r){for(let u=l.index+1;u<a.index;++u)n(this._blocks[u],u,0,this._blocks[u].displayValue.length);n(this._blocks[a.index],a.index,0,a.offset)}}}remove(t,s){t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length);const n=super.remove(t,s);return this._forEachBlocksInRange(t,s,(l,a,r,i)=>{n.aggregate(l.remove(r,i))}),n}nearestInputPos(t,s){if(s===void 0&&(s=E.NONE),!this._blocks.length)return 0;const n=new ii(this,t);if(s===E.NONE)return n.pushRightBeforeInput()||(n.popState(),n.pushLeftBeforeInput())?n.pos:this.displayValue.length;if(s===E.LEFT||s===E.FORCE_LEFT){if(s===E.LEFT){if(n.pushRightBeforeFilled(),n.ok&&n.pos===t)return t;n.popState()}if(n.pushLeftBeforeInput(),n.pushLeftBeforeRequired(),n.pushLeftBeforeFilled(),s===E.LEFT){if(n.pushRightBeforeInput(),n.pushRightBeforeRequired(),n.ok&&n.pos<=t||(n.popState(),n.ok&&n.pos<=t))return n.pos;n.popState()}return n.ok?n.pos:s===E.FORCE_LEFT?0:(n.popState(),n.ok||(n.popState(),n.ok)?n.pos:0)}return s===E.RIGHT||s===E.FORCE_RIGHT?(n.pushRightBeforeInput(),n.pushRightBeforeRequired(),n.pushRightBeforeFilled()?n.pos:s===E.FORCE_RIGHT?this.displayValue.length:(n.popState(),n.ok||(n.popState(),n.ok)?n.pos:this.nearestInputPos(t,E.LEFT))):t}totalInputPositions(t,s){t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length);let n=0;return this._forEachBlocksInRange(t,s,(l,a,r,i)=>{n+=l.totalInputPositions(r,i)}),n}maskedBlock(t){return this.maskedBlocks(t)[0]}maskedBlocks(t){const s=this._maskedBlocks[t];return s?s.map(n=>this._blocks[n]):[]}pad(t){const s=new $;return this._forEachBlocksInRange(0,this.displayValue.length,n=>s.aggregate(n.pad(t))),s}}K.DEFAULTS={...q.DEFAULTS,lazy:!0,placeholderChar:"_"},K.STOP_CHAR="`",K.ESCAPE_CHAR="\\",K.InputDefinition=Ve,K.FixedDefinition=Ge,F.MaskedPattern=K;class Ce extends K{get _matchFrom(){return this.maxLength-String(this.from).length}constructor(t){super(t)}updateOptions(t){super.updateOptions(t)}_update(t){const{to:s=this.to||0,from:n=this.from||0,maxLength:l=this.maxLength||0,autofix:a=this.autofix,...r}=t;this.to=s,this.from=n,this.maxLength=Math.max(String(s).length,l),this.autofix=a;const i=String(this.from).padStart(this.maxLength,"0"),d=String(this.to).padStart(this.maxLength,"0");let u=0;for(;u<d.length&&d[u]===i[u];)++u;r.mask=d.slice(0,u).replace(/0/g,"\\0")+"0".repeat(this.maxLength-u),super._update(r)}get isComplete(){return super.isComplete&&!!this.value}boundaries(t){let s="",n="";const[,l,a]=t.match(/^(\D*)(\d*)(\D*)/)||[];return a&&(s="0".repeat(l.length)+a,n="9".repeat(l.length)+a),s=s.padEnd(this.maxLength,"0"),n=n.padEnd(this.maxLength,"9"),[s,n]}doPrepareChar(t,s){s===void 0&&(s={});let n;return[t,n]=super.doPrepareChar(t.replace(/\D/g,""),s),t||(n.skip=!this.isComplete),[t,n]}_appendCharRaw(t,s){if(s===void 0&&(s={}),!this.autofix||this.value.length+1>this.maxLength)return super._appendCharRaw(t,s);const n=String(this.from).padStart(this.maxLength,"0"),l=String(this.to).padStart(this.maxLength,"0"),[a,r]=this.boundaries(this.value+t);return Number(r)<this.from?super._appendCharRaw(n[this.value.length],s):Number(a)>this.to?!s.tail&&this.autofix==="pad"&&this.value.length+1<this.maxLength?super._appendCharRaw(n[this.value.length],s).aggregate(this._appendCharRaw(t,s)):super._appendCharRaw(l[this.value.length],s):super._appendCharRaw(t,s)}doValidate(t){const s=this.value;if(s.search(/[^0]/)===-1&&s.length<=this._matchFrom)return!0;const[l,a]=this.boundaries(s);return this.from<=Number(a)&&Number(l)<=this.to&&super.doValidate(t)}pad(t){const s=new $;if(this.value.length===this.maxLength)return s;const n=this.value,l=this.maxLength-this.value.length;if(l){this.reset();for(let a=0;a<l;++a)s.aggregate(super._appendCharRaw("0",t));n.split("").forEach(a=>this._appendCharRaw(a))}return s}}F.MaskedRange=Ce;const di="d{.}`m{.}`Y";class ie extends K{static extractPatternOptions(t){const{mask:s,pattern:n,...l}=t;return{...l,mask:pe(s)?s:n}}constructor(t){super(ie.extractPatternOptions({...ie.DEFAULTS,...t}))}updateOptions(t){super.updateOptions(t)}_update(t){const{mask:s,pattern:n,blocks:l,...a}={...ie.DEFAULTS,...t},r=Object.assign({},ie.GET_DEFAULT_BLOCKS());t.min&&(r.Y.from=t.min.getFullYear()),t.max&&(r.Y.to=t.max.getFullYear()),t.min&&t.max&&r.Y.from===r.Y.to&&(r.m.from=t.min.getMonth()+1,r.m.to=t.max.getMonth()+1,r.m.from===r.m.to&&(r.d.from=t.min.getDate(),r.d.to=t.max.getDate())),Object.assign(r,this.blocks,l),super._update({...a,mask:pe(s)?s:n,blocks:r})}doValidate(t){const s=this.date;return super.doValidate(t)&&(!this.isComplete||this.isDateExist(this.value)&&s!=null&&(this.min==null||this.min<=s)&&(this.max==null||s<=this.max))}isDateExist(t){return this.format(this.parse(t,this),this).indexOf(t)>=0}get date(){return this.typedValue}set date(t){this.typedValue=t}get typedValue(){return this.isComplete?super.typedValue:null}set typedValue(t){super.typedValue=t}maskEquals(t){return t===Date||super.maskEquals(t)}optionsIsChanged(t){return super.optionsIsChanged(ie.extractPatternOptions(t))}}ie.GET_DEFAULT_BLOCKS=()=>({d:{mask:Ce,from:1,to:31,maxLength:2},m:{mask:Ce,from:1,to:12,maxLength:2},Y:{mask:Ce,from:1900,to:9999}}),ie.DEFAULTS={...K.DEFAULTS,mask:Date,pattern:di,format:(o,t)=>{if(!o)return"";const s=String(o.getDate()).padStart(2,"0"),n=String(o.getMonth()+1).padStart(2,"0"),l=o.getFullYear();return[s,n,l].join(".")},parse:(o,t)=>{const[s,n,l]=o.split(".").map(Number);return new Date(l,n-1,s)}},F.MaskedDate=ie;class Be extends q{constructor(t){super({...Be.DEFAULTS,...t}),this.currentMask=void 0}updateOptions(t){super.updateOptions(t)}_update(t){super._update(t),"mask"in t&&(this.exposeMask=void 0,this.compiledMasks=Array.isArray(t.mask)?t.mask.map(s=>{const{expose:n,...l}=be(s),a=re({overwrite:this._overwrite,eager:this._eager,skipInvalid:this._skipInvalid,...l});return n&&(this.exposeMask=a),a}):[])}_appendCharRaw(t,s){s===void 0&&(s={});const n=this._applyDispatch(t,s);return this.currentMask&&n.aggregate(this.currentMask._appendChar(t,this.currentMaskFlags(s))),n}_applyDispatch(t,s,n){t===void 0&&(t=""),s===void 0&&(s={}),n===void 0&&(n="");const l=s.tail&&s._beforeTailState!=null?s._beforeTailState._value:this.value,a=this.rawInputValue,r=s.tail&&s._beforeTailState!=null?s._beforeTailState._rawInputValue:a,i=a.slice(r.length),d=this.currentMask,u=new $,c=d?.state;return this.currentMask=this.doDispatch(t,{...s},n),this.currentMask&&(this.currentMask!==d?(this.currentMask.reset(),r&&(this.currentMask.append(r,{raw:!0}),u.tailShift=this.currentMask.value.length-l.length),i&&(u.tailShift+=this.currentMask.append(i,{raw:!0,tail:!0}).tailShift)):c&&(this.currentMask.state=c)),u}_appendPlaceholder(){const t=this._applyDispatch();return this.currentMask&&t.aggregate(this.currentMask._appendPlaceholder()),t}_appendEager(){const t=this._applyDispatch();return this.currentMask&&t.aggregate(this.currentMask._appendEager()),t}appendTail(t){const s=new $;return t&&s.aggregate(this._applyDispatch("",{},t)),s.aggregate(this.currentMask?this.currentMask.appendTail(t):super.appendTail(t))}currentMaskFlags(t){var s,n;return{...t,_beforeTailState:((s=t._beforeTailState)==null?void 0:s.currentMaskRef)===this.currentMask&&((n=t._beforeTailState)==null?void 0:n.currentMask)||t._beforeTailState}}doDispatch(t,s,n){return s===void 0&&(s={}),n===void 0&&(n=""),this.dispatch(t,this,s,n)}doValidate(t){return super.doValidate(t)&&(!this.currentMask||this.currentMask.doValidate(this.currentMaskFlags(t)))}doPrepare(t,s){s===void 0&&(s={});let[n,l]=super.doPrepare(t,s);if(this.currentMask){let a;[n,a]=super.doPrepare(n,this.currentMaskFlags(s)),l=l.aggregate(a)}return[n,l]}doPrepareChar(t,s){s===void 0&&(s={});let[n,l]=super.doPrepareChar(t,s);if(this.currentMask){let a;[n,a]=super.doPrepareChar(n,this.currentMaskFlags(s)),l=l.aggregate(a)}return[n,l]}reset(){var t;(t=this.currentMask)==null||t.reset(),this.compiledMasks.forEach(s=>s.reset())}get value(){return this.exposeMask?this.exposeMask.value:this.currentMask?this.currentMask.value:""}set value(t){this.exposeMask?(this.exposeMask.value=t,this.currentMask=this.exposeMask,this._applyDispatch()):super.value=t}get unmaskedValue(){return this.exposeMask?this.exposeMask.unmaskedValue:this.currentMask?this.currentMask.unmaskedValue:""}set unmaskedValue(t){this.exposeMask?(this.exposeMask.unmaskedValue=t,this.currentMask=this.exposeMask,this._applyDispatch()):super.unmaskedValue=t}get typedValue(){return this.exposeMask?this.exposeMask.typedValue:this.currentMask?this.currentMask.typedValue:""}set typedValue(t){if(this.exposeMask){this.exposeMask.typedValue=t,this.currentMask=this.exposeMask,this._applyDispatch();return}let s=String(t);this.currentMask&&(this.currentMask.typedValue=t,s=this.currentMask.unmaskedValue),this.unmaskedValue=s}get displayValue(){return this.currentMask?this.currentMask.displayValue:""}get isComplete(){var t;return!!((t=this.currentMask)!=null&&t.isComplete)}get isFilled(){var t;return!!((t=this.currentMask)!=null&&t.isFilled)}remove(t,s){const n=new $;return this.currentMask&&n.aggregate(this.currentMask.remove(t,s)).aggregate(this._applyDispatch()),n}get state(){var t;return{...super.state,_rawInputValue:this.rawInputValue,compiledMasks:this.compiledMasks.map(s=>s.state),currentMaskRef:this.currentMask,currentMask:(t=this.currentMask)==null?void 0:t.state}}set state(t){const{compiledMasks:s,currentMaskRef:n,currentMask:l,...a}=t;s&&this.compiledMasks.forEach((r,i)=>r.state=s[i]),n!=null&&(this.currentMask=n,this.currentMask.state=l),super.state=a}extractInput(t,s,n){return this.currentMask?this.currentMask.extractInput(t,s,n):""}extractTail(t,s){return this.currentMask?this.currentMask.extractTail(t,s):super.extractTail(t,s)}doCommit(){this.currentMask&&this.currentMask.doCommit(),super.doCommit()}nearestInputPos(t,s){return this.currentMask?this.currentMask.nearestInputPos(t,s):super.nearestInputPos(t,s)}get overwrite(){return this.currentMask?this.currentMask.overwrite:this._overwrite}set overwrite(t){this._overwrite=t}get eager(){return this.currentMask?this.currentMask.eager:this._eager}set eager(t){this._eager=t}get skipInvalid(){return this.currentMask?this.currentMask.skipInvalid:this._skipInvalid}set skipInvalid(t){this._skipInvalid=t}get autofix(){return this.currentMask?this.currentMask.autofix:this._autofix}set autofix(t){this._autofix=t}maskEquals(t){return Array.isArray(t)?this.compiledMasks.every((s,n)=>{if(!t[n])return;const{mask:l,...a}=t[n];return $e(s,a)&&s.maskEquals(l)}):super.maskEquals(t)}typedValueEquals(t){var s;return!!((s=this.currentMask)!=null&&s.typedValueEquals(t))}}Be.DEFAULTS={...q.DEFAULTS,dispatch:(o,t,s,n)=>{if(!t.compiledMasks.length)return;const l=t.rawInputValue,a=t.compiledMasks.map((r,i)=>{const d=t.currentMask===r,u=d?r.displayValue.length:r.nearestInputPos(r.displayValue.length,E.FORCE_LEFT);return r.rawInputValue!==l?(r.reset(),r.append(l,{raw:!0})):d||r.remove(u),r.append(o,t.currentMaskFlags(s)),r.appendTail(n),{index:i,weight:r.rawInputValue.length,totalInputPositions:r.totalInputPositions(0,Math.max(u,r.nearestInputPos(r.displayValue.length,E.FORCE_LEFT)))}});return a.sort((r,i)=>i.weight-r.weight||i.totalInputPositions-r.totalInputPositions),t.compiledMasks[a[0].index]}},F.MaskedDynamic=Be;class ve extends K{constructor(t){super({...ve.DEFAULTS,...t})}updateOptions(t){super.updateOptions(t)}_update(t){const{enum:s,...n}=t;if(s){const l=s.map(i=>i.length),a=Math.min(...l),r=Math.max(...l)-a;n.mask="*".repeat(a),r&&(n.mask+="["+"*".repeat(r)+"]"),this.enum=s}super._update(n)}_appendCharRaw(t,s){s===void 0&&(s={});const n=Math.min(this.nearestInputPos(0,E.FORCE_RIGHT),this.value.length),l=this.enum.filter(a=>this.matchValue(a,this.unmaskedValue+t,n));if(l.length){l.length===1&&this._forEachBlocksInRange(0,this.value.length,(r,i)=>{const d=l[0][i];i>=this.value.length||d===r.value||(r.reset(),r._appendChar(d,s))});const a=super._appendCharRaw(l[0][this.value.length],s);return l.length===1&&l[0].slice(this.unmaskedValue.length).split("").forEach(r=>a.aggregate(super._appendCharRaw(r))),a}return new $({skip:!this.isComplete})}extractTail(t,s){return t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length),new oe("",t)}remove(t,s){if(t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length),t===s)return new $;const n=Math.min(super.nearestInputPos(0,E.FORCE_RIGHT),this.value.length);let l;for(l=t;l>=0&&!(this.enum.filter(i=>this.matchValue(i,this.value.slice(n,l),n)).length>1);--l);const a=super.remove(l,s);return a.tailShift+=l-t,a}get isComplete(){return this.enum.indexOf(this.value)>=0}}ve.DEFAULTS={...K.DEFAULTS,matchValue:(o,t,s)=>o.indexOf(t,s)===s},F.MaskedEnum=ve;class $t extends q{updateOptions(t){super.updateOptions(t)}_update(t){super._update({...t,validate:t.mask})}}F.MaskedFunction=$t;var Dt;class J extends q{constructor(t){super({...J.DEFAULTS,...t})}updateOptions(t){super.updateOptions(t)}_update(t){super._update(t),this._updateRegExps()}_updateRegExps(){const t="^"+(this.allowNegative?"[+|\\-]?":""),s="\\d*",n=(this.scale?"("+Pe(this.radix)+"\\d{0,"+this.scale+"})?":"")+"$";this._numberRegExp=new RegExp(t+s+n),this._mapToRadixRegExp=new RegExp("["+this.mapToRadix.map(Pe).join("")+"]","g"),this._thousandsSeparatorRegExp=new RegExp(Pe(this.thousandsSeparator),"g")}_removeThousandsSeparators(t){return t.replace(this._thousandsSeparatorRegExp,"")}_insertThousandsSeparators(t){const s=t.split(this.radix);return s[0]=s[0].replace(/\B(?=(\d{3})+(?!\d))/g,this.thousandsSeparator),s.join(this.radix)}doPrepareChar(t,s){s===void 0&&(s={});const[n,l]=super.doPrepareChar(this._removeThousandsSeparators(this.scale&&this.mapToRadix.length&&(s.input&&s.raw||!s.input&&!s.raw)?t.replace(this._mapToRadixRegExp,this.radix):t),s);return t&&!n&&(l.skip=!0),n&&!this.allowPositive&&!this.value&&n!=="-"&&l.aggregate(this._appendChar("-")),[n,l]}_separatorsCount(t,s){s===void 0&&(s=!1);let n=0;for(let l=0;l<t;++l)this._value.indexOf(this.thousandsSeparator,l)===l&&(++n,s&&(t+=this.thousandsSeparator.length));return n}_separatorsCountFromSlice(t){return t===void 0&&(t=this._value),this._separatorsCount(this._removeThousandsSeparators(t).length,!0)}extractInput(t,s,n){return t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length),[t,s]=this._adjustRangeWithSeparators(t,s),this._removeThousandsSeparators(super.extractInput(t,s,n))}_appendCharRaw(t,s){s===void 0&&(s={});const n=s.tail&&s._beforeTailState?s._beforeTailState._value:this._value,l=this._separatorsCountFromSlice(n);this._value=this._removeThousandsSeparators(this.value);const a=this._value;this._value+=t;const r=this.number;let i=!isNaN(r),d=!1;if(i){let h;this.min!=null&&this.min<0&&this.number<this.min&&(h=this.min),this.max!=null&&this.max>0&&this.number>this.max&&(h=this.max),h!=null&&(this.autofix?(this._value=this.format(h,this).replace(J.UNMASKED_RADIX,this.radix),d||(d=a===this._value&&!s.tail)):i=!1),i&&(i=!!this._value.match(this._numberRegExp))}let u;i?u=new $({inserted:this._value.slice(a.length),rawInserted:d?"":t,skip:d}):(this._value=a,u=new $),this._value=this._insertThousandsSeparators(this._value);const c=s.tail&&s._beforeTailState?s._beforeTailState._value:this._value,p=this._separatorsCountFromSlice(c);return u.tailShift+=(p-l)*this.thousandsSeparator.length,u}_findSeparatorAround(t){if(this.thousandsSeparator){const s=t-this.thousandsSeparator.length+1,n=this.value.indexOf(this.thousandsSeparator,s);if(n<=t)return n}return-1}_adjustRangeWithSeparators(t,s){const n=this._findSeparatorAround(t);n>=0&&(t=n);const l=this._findSeparatorAround(s);return l>=0&&(s=l+this.thousandsSeparator.length),[t,s]}remove(t,s){t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length),[t,s]=this._adjustRangeWithSeparators(t,s);const n=this.value.slice(0,t),l=this.value.slice(s),a=this._separatorsCount(n.length);this._value=this._insertThousandsSeparators(this._removeThousandsSeparators(n+l));const r=this._separatorsCountFromSlice(n);return new $({tailShift:(r-a)*this.thousandsSeparator.length})}nearestInputPos(t,s){if(!this.thousandsSeparator)return t;switch(s){case E.NONE:case E.LEFT:case E.FORCE_LEFT:{const n=this._findSeparatorAround(t-1);if(n>=0){const l=n+this.thousandsSeparator.length;if(t<l||this.value.length<=l||s===E.FORCE_LEFT)return n}break}case E.RIGHT:case E.FORCE_RIGHT:{const n=this._findSeparatorAround(t);if(n>=0)return n+this.thousandsSeparator.length}}return t}doCommit(){if(this.value){const t=this.number;let s=t;this.min!=null&&(s=Math.max(s,this.min)),this.max!=null&&(s=Math.min(s,this.max)),s!==t&&(this.unmaskedValue=this.format(s,this));let n=this.value;this.normalizeZeros&&(n=this._normalizeZeros(n)),this.padFractionalZeros&&this.scale>0&&(n=this._padFractionalZeros(n)),this._value=n}super.doCommit()}_normalizeZeros(t){const s=this._removeThousandsSeparators(t).split(this.radix);return s[0]=s[0].replace(/^(\D*)(0*)(\d*)/,(n,l,a,r)=>l+r),t.length&&!/\d$/.test(s[0])&&(s[0]=s[0]+"0"),s.length>1&&(s[1]=s[1].replace(/0*$/,""),s[1].length||(s.length=1)),this._insertThousandsSeparators(s.join(this.radix))}_padFractionalZeros(t){if(!t)return t;const s=t.split(this.radix);return s.length<2&&s.push(""),s[1]=s[1].padEnd(this.scale,"0"),s.join(this.radix)}doSkipInvalid(t,s,n){s===void 0&&(s={});const l=this.scale===0&&t!==this.thousandsSeparator&&(t===this.radix||t===J.UNMASKED_RADIX||this.mapToRadix.includes(t));return super.doSkipInvalid(t,s,n)&&!l}get unmaskedValue(){return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix,J.UNMASKED_RADIX)}set unmaskedValue(t){super.unmaskedValue=t}get typedValue(){return this.parse(this.unmaskedValue,this)}set typedValue(t){this.rawInputValue=this.format(t,this).replace(J.UNMASKED_RADIX,this.radix)}get number(){return this.typedValue}set number(t){this.typedValue=t}get allowNegative(){return this.min!=null&&this.min<0||this.max!=null&&this.max<0}get allowPositive(){return this.min!=null&&this.min>0||this.max!=null&&this.max>0}typedValueEquals(t){return(super.typedValueEquals(t)||J.EMPTY_VALUES.includes(t)&&J.EMPTY_VALUES.includes(this.typedValue))&&!(t===0&&this.value==="")}}Dt=J,J.UNMASKED_RADIX=".",J.EMPTY_VALUES=[...q.EMPTY_VALUES,0],J.DEFAULTS={...q.DEFAULTS,mask:Number,radix:",",thousandsSeparator:"",mapToRadix:[Dt.UNMASKED_RADIX],min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,scale:2,normalizeZeros:!0,padFractionalZeros:!1,parse:Number,format:o=>o.toLocaleString("en-US",{useGrouping:!1,maximumFractionDigits:20})},F.MaskedNumber=J;const Le={MASKED:"value",UNMASKED:"unmaskedValue",TYPED:"typedValue"};function qe(o,t,s){t===void 0&&(t=Le.MASKED),s===void 0&&(s=Le.MASKED);const n=re(o);return l=>n.runIsolated(a=>(a[t]=l,a[s]))}function It(o,t,s,n){return qe(t,s,n)(o)}F.PIPE_TYPE=Le,F.createPipe=qe,F.pipe=It;class Lt extends K{get repeatFrom(){var t;return(t=Array.isArray(this.repeat)?this.repeat[0]:this.repeat===1/0?0:this.repeat)!=null?t:0}get repeatTo(){var t;return(t=Array.isArray(this.repeat)?this.repeat[1]:this.repeat)!=null?t:1/0}constructor(t){super(t)}updateOptions(t){super.updateOptions(t)}_update(t){var s,n,l;const{repeat:a,...r}=be(t);this._blockOpts=Object.assign({},this._blockOpts,r);const i=re(this._blockOpts);this.repeat=(s=(n=a??i.repeat)!=null?n:this.repeat)!=null?s:1/0,super._update({mask:"m".repeat(Math.max(this.repeatTo===1/0&&((l=this._blocks)==null?void 0:l.length)||0,this.repeatFrom)),blocks:{m:i},eager:i.eager,overwrite:i.overwrite,skipInvalid:i.skipInvalid,lazy:i.lazy,placeholderChar:i.placeholderChar,displayChar:i.displayChar})}_allocateBlock(t){if(t<this._blocks.length)return this._blocks[t];if(this.repeatTo===1/0||this._blocks.length<this.repeatTo)return this._blocks.push(re(this._blockOpts)),this.mask+="m",this._blocks[this._blocks.length-1]}_appendCharRaw(t,s){s===void 0&&(s={});const n=new $;for(let d=(l=(a=this._mapPosToBlock(this.displayValue.length))==null?void 0:a.index)!=null?l:Math.max(this._blocks.length-1,0),u,c;u=(r=this._blocks[d])!=null?r:c=!c&&this._allocateBlock(d);++d){var l,a,r,i;const p=u._appendChar(t,{...s,_beforeTailState:(i=s._beforeTailState)==null||(i=i._blocks)==null?void 0:i[d]});if(p.skip&&c){this._blocks.pop(),this.mask=this.mask.slice(1);break}if(n.aggregate(p),p.consumed)break}return n}_trimEmptyTail(t,s){var n,l;t===void 0&&(t=0);const a=Math.max(((n=this._mapPosToBlock(t))==null?void 0:n.index)||0,this.repeatFrom,0);let r;s!=null&&(r=(l=this._mapPosToBlock(s))==null?void 0:l.index),r==null&&(r=this._blocks.length-1);let i=0;for(let d=r;a<=d&&!this._blocks[d].unmaskedValue;--d,++i);i&&(this._blocks.splice(r-i+1,i),this.mask=this.mask.slice(i))}reset(){super.reset(),this._trimEmptyTail()}remove(t,s){t===void 0&&(t=0),s===void 0&&(s=this.displayValue.length);const n=super.remove(t,s);return this._trimEmptyTail(t,s),n}totalInputPositions(t,s){return t===void 0&&(t=0),s==null&&this.repeatTo===1/0?1/0:super.totalInputPositions(t,s)}get state(){return super.state}set state(t){this._blocks.length=t._blocks.length,this.mask=this.mask.slice(0,this._blocks.length),super.state=t}}F.RepeatBlock=Lt;try{globalThis.IMask=F}catch{}const ui=Object.freeze(Object.defineProperty({__proto__:null,ChangeDetails:$,ChunksTailDetails:he,DIRECTION:E,HTMLContenteditableMaskElement:He,HTMLInputMaskElement:Mt,HTMLMaskElement:Ee,InputMask:Ft,MaskElement:De,Masked:q,MaskedDate:ie,MaskedDynamic:Be,MaskedEnum:ve,MaskedFunction:$t,MaskedNumber:J,MaskedPattern:K,MaskedRange:Ce,MaskedRegExp:At,PIPE_TYPE:Le,PatternFixedDefinition:Ge,PatternInputDefinition:Ve,RepeatBlock:Lt,createMask:re,createPipe:qe,default:F,forceDirection:vt,normalizeOpts:be,pipe:It},Symbol.toStringTag,{value:"Module"}));O.ModalEdit=Et,O.VForm=me,O.VsInputArray=bt,O.VsInputCheckbox=Qe,O.VsInputColor=gt,O.VsInputContainer=it,O.VsInputDate=et,O.VsInputEmail=Xe,O.VsInputFile=at,O.VsInputFileList=rt,O.VsInputKeyValue=ft,O.VsInputMask=Je,O.VsInputNumber=Ye,O.VsInputRadio=je,O.VsInputRange=kt,O.VsInputSelect=Ue,O.VsInputSlug=mt,O.VsInputStatic=ze,O.VsInputSwitcher=Re,O.VsInputTag=ht,O.VsInputText=xe,O.VsInputTextarea=dt,O.default=me,O.inputs=yt,O.vsInputDatatable=ct,O.vsInputMap=pt,Object.defineProperties(O,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(U,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@opengis/core")):typeof define=="function"&&define.amd?define(["exports","vue","@opengis/core"],e):(U=typeof globalThis<"u"?globalThis:U||self,e(U.FormBuilder={},U.Vue,U.OpenGISCore))})(this,function(U,e,X){"use strict";const Kt={class:"w-full relative"},Zt={key:0,class:"text-[14px] font-medium text-gray-900 mb-2"},Wt={class:"opacity-100"},Yt={key:0,class:"text-red-500 text-[14px]"},Jt={key:1,class:"text-red-500 text-[10px] absolute bottom-[-14px]"},Xt=e.defineComponent({__name:"vs-layout-default",props:{ua:{default:""},uk:{},en:{},de:{},es:{},fr:{},item:{default:()=>({})},error:{type:[String,Boolean],default:""},label:{default:""}},setup(a){const t=e.ref("uk"),n=l=>{l.detail.key==="locale"&&(t.value=l.detail.newValue)};return e.onMounted(()=>{t.value=localStorage.locale,window.addEventListener("storage",n)}),e.onUnmounted(()=>{window.removeEventListener("resize",n)}),(l,s)=>(e.openBlock(),e.createElementBlock("div",Kt,[l.ua||l.label?(e.openBlock(),e.createElementBlock("div",Zt,[e.createElementVNode("span",Wt,e.toDisplayString(l.item[t.value]||l.ua||l.label),1),l.item?.rules?.includes("required")?(e.openBlock(),e.createElementBlock("span",Yt,"*")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",e.mergeProps(l.$attrs,{class:{"opacity-60":l.item.disabled}})),l.error?(e.openBlock(),e.createElementBlock("span",Jt,e.toDisplayString(l.error),1)):e.createCommentVNode("",!0)]))}}),Qt={class:"w-full relative flex flex-row items-center gap-2"},en={key:0,class:"text-sm text-gray-900 font-medium flex shrink-0 w-3/12 max-w-[250px]"},tn={key:0,class:"text-red-500 text-[14px]"},nn={key:1,class:"text-red-500 text-[10px] absolute bottom-[-14px]"},ln=e.defineComponent({__name:"vs-layout-horizontal",props:{ua:{default:""},uk:{},en:{},de:{},es:{},fr:{},item:{default:()=>({})},error:{type:[String,Boolean],default:""},label:{default:""}},setup(a){return(t,n)=>(e.openBlock(),e.createElementBlock("div",Qt,[t.item?.type!=="html"?(e.openBlock(),e.createElementBlock("span",en,[e.createTextVNode(e.toDisplayString(t.ua||t.label)+" ",1),t.item?.rules?.includes("required")&&(t.ua||t.label)?(e.openBlock(),e.createElementBlock("span",tn,"*")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(t.$attrs))),t.error?(e.openBlock(),e.createElementBlock("span",nn,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),sn={class:"w-full relative"},on={key:0,class:"text-red-500 text-[10px] absolute bottom-[-14px]"},rn=e.defineComponent({__name:"vs-layout-inline",props:{ua:{default:""},uk:{},en:{},de:{},es:{},fr:{},item:{default:()=>({})},error:{type:[String,Boolean],default:""},label:{default:""}},setup(a){return(t,n)=>(e.openBlock(),e.createElementBlock("div",sn,[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(t.$attrs))),t.error?(e.openBlock(),e.createElementBlock("span",on,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),an={class:"flex-1 min-w-0"},dn={key:0,class:"text-sm font-medium text-slate-700 dark:text-slate-200 flex items-center gap-1"},cn={class:"truncate"},un={key:0,class:"text-red-500 text-[14px]"},pn={key:1,class:"text-xs text-slate-500 dark:text-slate-400"},hn={class:"w-full md:w-auto"},mn={key:0,class:"mt-1 text-xs text-red-500"},fn={default:Xt,horizontal:ln,inline:rn,settings:e.defineComponent({__name:"vs-layout-settings",props:{ua:{default:""},uk:{},en:{},de:{},es:{},fr:{},item:{default:()=>({})},error:{type:[String,Boolean],default:""},label:{default:""}},setup(a){const t=a,n=e.ref("uk");e.computed(()=>(t.item??{})?.[n.value]??t.ua??t.label??"");const l=e.computed(()=>t.item?.description??""),s=e.computed(()=>Array.isArray(t.item?.rules)&&t.item.rules.includes("required")),o=e.computed(()=>(typeof t.error=="string"?t.error:"")??""),r=i=>{i.key==="locale"&&(n.value=i.newValue??"uk")};return e.onMounted(()=>{try{typeof localStorage<"u"&&localStorage.locale&&(n.value=localStorage.locale)}catch{}window.addEventListener("storage",r)}),e.onUnmounted(()=>{window.removeEventListener("storage",r)}),(i,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-full relative",{"opacity-60":i.item?.disabled}])},[e.createElementVNode("div",{class:e.normalizeClass(["gap-2 md:flex-row md:items-center md:justify-between",[["switcher","native-select"].includes(i.item.type)?"flex flex-col":""]])},[e.createElementVNode("div",an,[i.ua||i.label?(e.openBlock(),e.createElementBlock("p",dn,[e.createElementVNode("span",cn,e.toDisplayString(i.item[n.value]||i.ua||i.label),1),s.value?(e.openBlock(),e.createElementBlock("span",un,"*")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("p",pn,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",hn,[e.renderSlot(i.$slots,"default",e.normalizeProps(e.guardReactiveProps(i.$attrs)))])],2),o.value?(e.openBlock(),e.createElementBlock("p",mn,e.toDisplayString(o.value),1)):e.createCommentVNode("",!0)],2))}})};function le(a){return{inputClass:e.computed(()=>{const n=`disabled:opacity-50 disabled:cursor-not-allowed outline-none focus:ring-2 focus:ring-ring focus:ring-${a?.primaryColor||"blue"}-500 border border-solid border-stone-200 rounded-md text-sm text-stone-800 placeholder:text-stone-400 `;return a?.size==="sm"?`${n}h-[32px]`:`${n}h-[38px]`})}}const gn=["placeholder","disabled"],kn=e.defineComponent({__name:"vs-input-password",props:e.mergeModels({style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{default:""},name:{},placeholder:{default:""}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,{inputClass:n}=le(t.style),l=e.useModel(a,"modelValue");return(s,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:"password","onUpdate:modelValue":o[0]||(o[0]=r=>l.value=r),placeholder:s.placeholder,disabled:s.disabled,class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[e.unref(n),{"!border-red-600":s.error}]]),style:{border:"1px solid #CFD9E0"}},null,10,gn)),[[e.vModelText,l.value]])}}),bn=["placeholder","disabled"],_e=e.defineComponent({__name:"vs-input-text",props:e.mergeModels({style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{default:""},name:{},placeholder:{default:""}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,{inputClass:n}=le(t.style),l=e.useModel(a,"modelValue");return(s,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:"text","onUpdate:modelValue":o[0]||(o[0]=r=>l.value=r),placeholder:s.placeholder,disabled:s.disabled,class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[e.unref(n),{"!border-red-600":s.error}]]),style:{border:"1px solid #CFD9E0"}},null,10,bn)),[[e.vModelText,l.value]])}}),yn=["placeholder","min","max"],Je=e.defineComponent({__name:"vs-input-number",props:e.mergeModels({min:{},max:{},style:{default:()=>({})},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{default:""}},{modelValue:{default:null},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,{inputClass:n}=le(t.style),l=e.useModel(a,"modelValue");return(s,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:"number",step:"any","onUpdate:modelValue":o[0]||(o[0]=r=>l.value=r),placeholder:s.placeholder,class:e.normalizeClass(["py-1.5 px-3 block w-full bg-white",[e.unref(n)]]),style:{border:"1px solid #CFD9E0"},min:s.min,max:s.max},null,10,yn)),[[e.vModelText,l.value]])}}),O=(a,t)=>{const n=a.__vccOpts||a;for(const[l,s]of t)n[l]=s;return n},xn={},wn={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-check"};function _n(a,t){return e.openBlock(),e.createElementBlock("svg",wn,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M5 12l5 5l10 -10"},null,-1)]))}const En=O(xn,[["render",_n]]),Vn={class:"flex items-center gap-[4px]"},Cn=["value","id","disabled"],Bn=["for"],vn={class:"text-[14px] text-gray-700 flex items-center gap-x-1 ml-1 dark:text-neutral-400"},Nn=e.defineComponent({__name:"vs-checkbox-default",props:{value:{default:""},label:{default:""},disabled:{type:Boolean,default:!1},id:{},modelValue:{default:""},info:{},error:{}},emits:["update:modelValue"],setup(a,{emit:t}){const n=t,l=a,s=e.computed({get:()=>l.modelValue,set:o=>n("update:modelValue",o)});return(o,r)=>(e.openBlock(),e.createElementBlock("div",Vn,[e.withDirectives(e.createElementVNode("input",{type:"checkbox",value:o.value,"onUpdate:modelValue":r[0]||(r[0]=i=>s.value=i),class:e.normalizeClass(["shrink-0 border border-solid hidden border-gray-700 w-3.5 h-3.5 rounded text-blue-600 focus:ring-offset-0 dark:bg-neutral-800 dark:border-neutral-700 cursor-pointer",{"!cursor-not-allowed":o.disabled}]),id:o.id,disabled:o.disabled},null,10,Cn),[[e.vModelCheckbox,s.value]]),e.createElementVNode("label",{for:o.id,class:e.normalizeClass(["flex flex-1 checkbox-label items-center gap-x-2 cursor-pointer text-sm text-gray-800 dark:text-neutral-300",{"!cursor-not-allowed":o.disabled}])},[e.createElementVNode("div",{class:e.normalizeClass(["h-[16px] text-white w-[16px] flex items-center justify-center shrink-0 border rounded",[s.value?"bg-blue-600 border-blue-600":"bg-white border-gray-600",o.error?"border-red-600":""]])},[e.createVNode(En,{height:"12",width:"12"})],2),e.createElementVNode("span",vn,[e.renderSlot(o.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])])],10,Bn)]))}}),Sn=["name","value","disabled"],$n={class:"flex items-center gap-[6px] text-[14px]"},Mn={key:0,class:"text-[16px]"},Fn=["src"],An=e.defineComponent({__name:"vs-checkbox-buttons",props:{value:{type:[String,Number,Boolean],default:""},label:{default:""},modelValue:{default:""},disabled:{type:Boolean},id:{},icon:{},imgUrl:{},style:{}},emits:["update:modelValue"],setup(a,{emit:t}){const n=a,l=t,s=e.computed({get:()=>n.modelValue,set:i=>{l("update:modelValue",i)}}),o=e.computed(()=>Array.isArray(s.value)?s.value.includes(n.value):s.value===!0||s.value===n.value),r=e.computed(()=>n.style?.size==="xs"?"p-1.5 text-xs":n.style?.size==="lg"?"p-3.5 text-[20px]":"p-2.5 text-xs");return(i,d)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["group relative flex justify-center items-center gap-x-3 text-center bg-white text-gray-800 ring-ring ring-2 cursor-pointer rounded-lg",[r.value,o.value?"ring-blue-500":"border border-gray-200 ring-transparent"]])},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",class:"hidden",name:i.id,value:i.value,"onUpdate:modelValue":d[0]||(d[0]=c=>s.value=c),disabled:i.disabled},null,8,Sn),[[e.vModelCheckbox,s.value]]),e.createElementVNode("span",$n,[i.icon||i.imgUrl?(e.openBlock(),e.createElementBlock("span",Mn,[i.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(i.icon)},null,2)):e.createCommentVNode("",!0),i.imgUrl?(e.openBlock(),e.createElementBlock("img",{key:1,src:i.imgUrl,width:"16",height:"16",alt:"icon"},null,8,Fn)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(i.label),1)])])],2))}}),Dn={class:"flex items-center"},Xe=e.defineComponent({__name:"vs-input-checkbox-item",props:{value:{default:""},label:{default:""},disabled:{type:Boolean,default:!1},view:{default:"default"},modelValue:{type:[Boolean,Array],default:!1},icon:{},imgUrl:{},slots:{},option:{},style:{},error:{default:""}},emits:["update:modelValue"],setup(a,{emit:t}){const n=a,l=t,s=`radio-${Math.floor(Math.random()*1e4)}`,o=e.computed({get:()=>Array.isArray(n.modelValue)?Array.isArray(n.modelValue)&&n.modelValue.includes(n.value):n.modelValue,set:i=>{if(Array.isArray(n.modelValue)){let d=[...n.modelValue];i?d.includes(n.value)||d.push(n.value):d=d.filter(c=>c!==n.value),l("update:modelValue",d)}else l("update:modelValue",i)}}),r=e.ref(`vs-checkbox-${n.view||"default"}`);return(i,d)=>(e.openBlock(),e.createElementBlock("div",Dn,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value==="vs-checkbox-buttons"?e.unref(An):e.unref(Nn)),{value:i.value,label:i.label,info:i.option?.info,disabled:i.disabled,modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=c=>o.value=c),id:s,icon:i.icon,imgUrl:i.imgUrl,style:e.normalizeStyle(i.style),error:i.error},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.label),1)]),_:1},8,["value","label","info","disabled","modelValue","icon","imgUrl","style","error"]))]))}}),In={},Tn={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"};function Ln(a,t){return e.openBlock(),e.createElementBlock("svg",Tn,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 9l6 6l6 -6"},null,-1)]))}const Rn=O(In,[["render",Ln]]),On={},zn={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-x"};function jn(a,t){return e.openBlock(),e.createElementBlock("svg",zn,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))}const Un=O(On,[["render",jn]]),Pn={},Hn={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function qn(a,t){return e.openBlock(),e.createElementBlock("svg",Hn,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M12 9h.01"},null,-1),e.createElementVNode("path",{d:"M11 12h1v4h1"},null,-1),e.createElementVNode("path",{d:"M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z"},null,-1)]))}const Gn=O(Pn,[["render",qn]]),Kn={key:0,class:"flex items-start gap-x-1"},Zn={key:0,class:"text-red-500 text-[14px]"},Wn=["title"],Yn=["disabled"],je=e.defineComponent({__name:"vs-input-switcher",props:e.mergeModels({rules:{default:()=>[]},view:{default:"checkbox"},label:{default:""},i:{default:""},text:{default:""},style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{default:""},name:{},placeholder:{}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue");return(l,s)=>t.view==="checkbox"?(e.openBlock(),e.createElementBlock("div",Kn,[e.createVNode(Xe,{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=o=>n.value=o),label:l.text,error:l.error||""},null,8,["modelValue","label","error"]),l.rules?.includes("required")?(e.openBlock(),e.createElementBlock("span",Zn,"*")):e.createCommentVNode("",!0),l.i?(e.openBlock(),e.createElementBlock("button",{key:1,class:"cursor-pointer",title:l.i,onClick:s[1]||(s[1]=e.withModifiers(()=>{},["prevent"]))},[e.createVNode(e.unref(Gn),{class:"text-gray-500 w-[14px] h-[14px]"})],8,Wn)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass(["inline-flex h-5 w-9 shrink-0 px-[2px] cursor-pointer items-center rounded-full shadow-sm disabled:cursor-not-allowed disabled:opacity-50",[n.value?`bg-${l.style?.primaryColor||"blue"}-500`:"bg-stone-200",l.customClass]]),disabled:l.disabled,onClick:s[2]||(s[2]=o=>n.value=!n.value)},[e.createElementVNode("span",{"data-state":"checked",class:e.normalizeClass(["pointer-events-none block h-4 w-4 rounded-full bg-white shadow-lg ring-0 transition-transform",[n.value?"translate-x-4":"translate-x-0"]])},null,2)],10,Yn))}}),Jn=["id","innerHTML"],Ue=e.defineComponent({__name:"vs-input-static",props:{text:{default:""},html:{default:""},style:{},customClass:{default:""},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},setup(a){return(t,n)=>(e.openBlock(),e.createElementBlock("div",{id:t.name,class:e.normalizeClass(["text-gray-900",t.customClass]),innerHTML:t.html?t.html:t.text},null,10,Jn))}}),Xn=["placeholder","disabled","name"],Qe=e.defineComponent({__name:"vs-input-mask",props:e.mergeModels({name:{},mask:{default:""},unmask:{type:Boolean,default:!1},placeholder:{default:"_"},style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,{inputClass:n}=le(t.style),l=e.useModel(a,"modelValue"),s=e.ref(null);let o=null;return e.onMounted(async()=>{if(s.value){const{default:r}=await Promise.resolve().then(()=>Yi);o=r(s.value,{mask:t.mask||"",definitions:{9:/[0-9]/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/},lazy:!1}),o.on("accept",()=>{l.value=t.unmask?o.unmaskedValue:o.value}),o.on("complete",()=>{l.value=t.unmask?o.unmaskedValue:o.value}),o.value=l.value??""}}),e.onBeforeUnmount(()=>{o?.destroy()}),e.watch(()=>t.mask,r=>{o&&o.updateOptions({mask:r,definitions:{9:/[0-9]/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/}})}),e.watch(l,r=>{o&&o.unmaskedValue!==r&&(o.value=r||"")}),(r,i)=>(e.openBlock(),e.createElementBlock("input",{type:"text",ref_key:"inputEl",ref:s,placeholder:r.placeholder,disabled:r.disabled,name:r.name,class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[e.unref(n)]]),style:{border:"1px solid #CFD9E0"}},null,10,Xn))}}),Qn={class:"relative w-full bg-white rounded-lg"},el=["placeholder","disabled"],et=e.defineComponent({__name:"vs-input-email",props:e.mergeModels({style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{default:null},name:{},placeholder:{default:""}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,{inputClass:n}=le(t.style),l=e.useModel(a,"modelValue");return(s,o)=>(e.openBlock(),e.createElementBlock("div",Qn,[o[1]||(o[1]=e.createStaticVNode('<div class="absolute bottom-2/4 translate-y-2/4 left-[10px] cursor-pointer"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="stroke-gray-500 transition-all"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z"></path><path d="M3 7l9 6l9 -6"></path></svg></div>',1)),e.withDirectives(e.createElementVNode("input",{type:"email","onUpdate:modelValue":o[0]||(o[0]=r=>l.value=r),placeholder:s.placeholder,disabled:s.disabled,class:e.normalizeClass(["!pl-8 py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[e.unref(n),{"!border-red-600":s.error}]]),style:{border:"1px solid #CFD9E0"}},null,10,el),[[e.vModelText,l.value]])]))}}),tl=["value","disabled"],nl={class:"text-[13px] text-gray-700"},ll=e.defineComponent({__name:"vs-input-radio-default",props:e.mergeModels({style:{},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{},value:{},text:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=e.useModel(a,"modelValue");return(n,l)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["flex items-center gap-0",[n.customClass]])},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=s=>t.value=s),type:"radio",value:n.value,disabled:n.disabled,class:"hidden"},null,8,tl),[[e.vModelRadio,t.value]]),e.createElementVNode("span",{class:e.normalizeClass(["w-[16px] shrink-0 h-[16px] border rounded-full flex items-center justify-center mr-[10px]",[`border-${n.style?.primaryColor||"blue"}-500`,n.disabled?"opacity-50 cursor-not-allowed":""]])},[t.value==n.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["w-[12px] h-[12px] shrink-0 rounded-full",[`bg-${n.style?.primaryColor||"blue"}-500`]])},null,2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",nl,e.toDisplayString(n.text),1)],2))}}),sl=["value","disabled"],ol={class:"text-[13px] text-gray-700"},rl={"vs-input-radio-default":ll,"vs-input-radio-buttons":e.defineComponent({__name:"vs-input-radio-buttons",props:e.mergeModels({style:{},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{},value:{},text:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=e.useModel(a,"modelValue");return(n,l)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["flex items-center border rounded-lg px-2 py-1",[t.value==n.value?`ring-2 ring-ring ring-${n.style?.primaryColor||"blue"}-500`:"",n.customClass]])},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=s=>t.value=s),type:"radio",value:n.value,disabled:n.disabled,class:"hidden"},null,8,sl),[[e.vModelRadio,t.value]]),e.createElementVNode("span",ol,e.toDisplayString(n.text),1)],2))}})},Pe=e.defineComponent({__name:"vs-input-radio",props:e.mergeModels({options:{},position:{default:"vertical"},view:{default:"default"},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=e.computed(()=>rl[`vs-input-radio-${t.view}`]);return(s,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([s.position==="horizontal"?"flex items-center flex-wrap gap-2":""])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.options,r=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),e.mergeProps({key:r?.id,text:r.text,value:r.id.toString(),checked:n.value===r.id,modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=i=>n.value=i)},{ref_for:!0},s.$attrs),null,16,["text","value","checked","modelValue"]))),128))],2))}}),tt=O(e.defineComponent({__name:"vs-input-checkbox",props:{options:{default:()=>[]},position:{default:"vertical"},slots:{default:null},colSpan:{default:0},data:{},view:{},style:{},customClass:{},disabled:{type:Boolean},modelValue:{default:!1},error:{},name:{},placeholder:{}},emits:["update:modelValue"],setup(a,{emit:t}){const n=a,l=t,s=e.ref([]),o=e.reactive({}),r=u=>u?.value||u?.id||u?.text||u,i=u=>u.text||String(u),d=u=>`lg:col-span-${u||12}`,c=async()=>{try{const u=await fetch(`/api/suggest/${n.data}`).then(p=>p.json());s.value=u?.data||u}catch(u){console.error(u)}};return e.watch(()=>n.modelValue,u=>{if(typeof u=="boolean"&&s.value.length===1){const p=r(s.value[0]);o[p]=u}else if(Array.isArray(u)){const p=new Set(u);s.value.forEach(h=>{if(!h.disabled){const w=r(h);o[w]=p.has(w)}})}},{immediate:!0}),e.watch(o,()=>{if(!s.value.length){l("update:modelValue",null);return}const u=Object.entries(o).filter(([,p])=>p).map(([p])=>p);l("update:modelValue",u.length===0?[]:u)},{deep:!0}),e.onMounted(()=>{if(n.data)c().then(()=>{if(typeof n.modelValue=="boolean"&&s.value.length===1){const u=r(s.value[0]);o[u]=n.modelValue}else if(Array.isArray(n.modelValue)){const u=new Set(n.modelValue);s.value.forEach(p=>{if(!p.disabled){const h=r(p);o[h]=u.has(h)}})}});else if(s.value=n.options,typeof n.modelValue=="boolean"&&s.value.length===1){const u=r(s.value[0]);o[u]=n.modelValue}else if(Array.isArray(n.modelValue)){const u=new Set(n.modelValue);s.value.forEach(p=>{if(!p.disabled){const h=r(p);o[h]=u.has(h)}})}}),(u,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["p-0 w-full gap-[6px]",[u.position==="vertical"?"flex-col":"",u.colSpan?"grid":"flex justify-start"]])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,h=>(e.openBlock(),e.createBlock(Xe,{modelValue:o[r(h)],"onUpdate:modelValue":w=>o[r(h)]=w,value:r(h),class:e.normalizeClass(d(u.colSpan)),disabled:h.disabled,label:i(h),key:r(h),icon:h?.icon,imgUrl:h?.imgUrl,option:h,view:u.view},null,8,["modelValue","onUpdate:modelValue","value","class","disabled","label","icon","imgUrl","option","view"]))),128))],2))}}),[["__scopeId","data-v-91f3584a"]]),al=["type","placeholder","disabled"],nt=e.defineComponent({__name:"vs-input-date1",props:{style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{default:""},mode:{default:"date"}},emits:["update:modelValue"],setup(a,{emit:t}){const n=a;function l(d){return d?n.mode==="datetime"?(d.includes("T")?d:null)||d+(d.includes(" ")?"":"T00:00"):d?.split(" ")[0]:null}const{inputClass:s}=le(n.style),o=t,r=e.computed({get:()=>l(n.modelValue),set:d=>o("update:modelValue",d)}),i=e.computed(()=>n.mode==="datetime"?"datetime-local":n.mode);return(d,c)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:i.value,"onUpdate:modelValue":c[0]||(c[0]=u=>r.value=u),placeholder:d.placeholder,disabled:d.disabled,ref:"date",class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[d.modelValue?"":"text-opacity-50",e.unref(s)].join(" ")]),style:{border:"1px solid #CFD9E0"}},null,10,al)),[[e.vModelDynamic,r.value]])}}),il=async(a,t,n,l)=>{try{const s=new FormData;return s.append("unique","true"),s.append("file",a),(await fetch(`/file/upload/uploads?id=${t||""}&form=${n||""}&table=${l||""}`,{method:"POST",body:s}).then(r=>r.json()))?.result}catch(s){return X.notify({type:"error",title:"Помилка!",message:"Сталась помилка під час завантаження файлу",position:"right-bottom"}),console.error("Сталась помилка завантаження файлу",s),null}},dl=async a=>{try{return await fetch(`file/delete${a}`),!0}catch(t){return console.error(t),!1}},lt=async a=>{try{const t=await fetch(`file/download/files/uploads${a}`),n=await t.arrayBuffer(),l=t.headers["content-type"],s=new TextDecoder("utf-8").decode(n),o=new Blob([s],{type:l}),r=document.createElement("a");r.setAttribute("download",a),r.href=window.URL.createObjectURL(o),r.click()}catch(t){console.error(t.message)}},cl={},ul={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function pl(a,t){return e.openBlock(),e.createElementBlock("svg",ul,t[0]||(t[0]=[e.createElementVNode("path",{d:"M5 12h14"},null,-1),e.createElementVNode("path",{d:"M12 5v14"},null,-1)]))}const Ee=O(cl,[["render",pl]]),hl={},ml={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-file-text",width:"44",height:"44",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function fl(a,t,n,l,s,o){return e.openBlock(),e.createElementBlock("svg",ml,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path><line x1="9" y1="9" x2="10" y2="9"></line><line x1="9" y1="13" x2="15" y2="13"></line><line x1="9" y1="17" x2="15" y2="17"></line>',6)]))}const gl=O(hl,[["render",fl]]),kl={},bl={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-table",width:"44",height:"44",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function yl(a,t,n,l,s,o){return e.openBlock(),e.createElementBlock("svg",bl,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"},null,-1),e.createElementVNode("line",{x1:"4",y1:"10",x2:"20",y2:"10"},null,-1),e.createElementVNode("line",{x1:"10",y1:"4",x2:"10",y2:"20"},null,-1)]))}const xl=O(kl,[["render",yl]]),wl={},_l={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function El(a,t){return e.openBlock(),e.createElementBlock("svg",_l,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path><path d="M9 9l1 0"></path><path d="M9 13l6 0"></path><path d="M9 17l6 0"></path>',6)]))}const st=O(wl,[["render",El]]),Vl={},Cl={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-file-zip",width:"44",height:"44",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function Bl(a,t,n,l,s,o){return e.openBlock(),e.createElementBlock("svg",Cl,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M6 20.735a2 2 0 0 1 -1 -1.735v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2h-1"></path><path d="M11 17a2 2 0 0 1 2 2v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-2a2 2 0 0 1 2 -2z"></path><line x1="11" y1="5" x2="10" y2="5"></line><line x1="13" y1="7" x2="12" y2="7"></line><line x1="11" y1="9" x2="10" y2="9"></line><line x1="13" y1="11" x2="12" y2="11"></line><line x1="11" y1="13" x2="10" y2="13"></line><line x1="13" y1="15" x2="12" y2="15"></line>',9)]))}const vl=O(Vl,[["render",Bl]]),Nl={},Sl={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-file-code",width:"44",height:"44",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function $l(a,t,n,l,s,o){return e.openBlock(),e.createElementBlock("svg",Sl,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path><path d="M10 13l-1 2l1 2"></path><path d="M14 13l1 2l-1 2"></path>',5)]))}const Ml=O(Nl,[["render",$l]]),Fl=a=>{if(!a)return"";const t=a?.split(".");return t[t.length-1]},Al=a=>{const t=Fl(a),n={imageFormat:["tiff","jpg","jpeg","png","svg","ico","webp"],sheetsFormat:["xls","csv","xlsx"],archivesFormat:["zip","rar"],textsFormat:["json","geojson","txt","yml","yaml","shp"],documentsFormat:["pdf"]};return n.imageFormat.includes(t)?"img":n.sheetsFormat.includes(t)?xl:n.textsFormat.includes(t)?Ml:n.documentsFormat.includes(t)?gl:n.archivesFormat.includes(t)?vl:st},Dl={},Il={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-trash"};function Tl(a,t){return e.openBlock(),e.createElementBlock("svg",Il,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 7l16 0"></path><path d="M10 11l0 6"></path><path d="M14 11l0 6"></path><path d="M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12"></path><path d="M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"></path>',6)]))}const Fe=O(Dl,[["render",Tl]]),Ll={},Rl={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-download"};function Ol(a,t){return e.openBlock(),e.createElementBlock("svg",Rl,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"},null,-1),e.createElementVNode("path",{d:"M7 11l5 5l5 -5"},null,-1),e.createElementVNode("path",{d:"M12 4l0 12"},null,-1)]))}const ot=O(Ll,[["render",Ol]]),zl={class:"h-[120px] w-[120px] border text-gray-300 border-dashed border-[#CFD9E0] rounded-lg overflow-hidden relative item-file"},jl={class:"absolute hidden top-0 right-0 flex items-center gap-x-2 w-full h-full justify-center"},rt=O(e.defineComponent({__name:"vs-input-file-list-item",props:e.mergeModels({format:{},multiple:{type:Boolean},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},{value:{},valueModifiers:{},item:{},itemModifiers:{}}),emits:["update:value","update:item"],setup(a){const t=e.useModel(a,"value"),n=e.useModel(a,"item"),l=a;return(s,o)=>(e.openBlock(),e.createElementBlock("div",zl,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Al)(n.value)),{src:n.value,alt:"file",class:"w-full h-full object-cover cursor-pointer",onClick:o[0]||(o[0]=r=>e.unref(lt)(n.value))},null,8,["src"])),e.createElementVNode("div",jl,[e.createElementVNode("button",{type:"button",onClick:o[1]||(o[1]=r=>{e.unref(dl)(n.value),t.value=l.multiple?t.value?.filter(i=>i!==n.value):""}),class:"w-6 h-6 flex items-center justify-center text-gray-500 bg-gray-200 rounded-lg hover:text-red-500"},[e.createVNode(Fe,{class:"w-4 h-4"})]),e.createElementVNode("button",{type:"button",onClick:o[2]||(o[2]=r=>e.unref(lt)(n.value)),class:"w-6 h-6 flex items-center justify-center text-gray-500 bg-gray-200 rounded-lg hover:text-blue-500"},[e.createVNode(ot,{class:"w-4 h-4"})])])]))}}),[["__scopeId","data-v-0ca886b3"]]),Ul={class:"flex items-center gap-x-2"},Pl={key:1,class:"flex items-center flex-wrap gap-2"},at=e.defineComponent({__name:"vs-input-file",props:e.mergeModels({format:{},multiple:{type:Boolean},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=e.ref(null),s=r=>Array.isArray(n.value)&&n.value[r]||"",o=async r=>{if(t.format){const c=r.target.files?.[0];if(!c||!c.name.endsWith(t.format))return}const i=r.target.files?.[0];if(!i)return;const d=await il(i,"1","form","table");n.value=t.multiple?[...n.value||[],d?.file_path]:d?.file_path};return(r,i)=>(e.openBlock(),e.createElementBlock("div",Ul,[e.createElementVNode("input",{class:"hidden",ref_key:"fileInput",ref:l,type:"file",onChange:o},null,544),!r.multiple&&n.value?(e.openBlock(),e.createBlock(rt,{key:0,item:n.value,"onUpdate:item":i[0]||(i[0]=d=>n.value=d),value:n.value,"onUpdate:value":i[1]||(i[1]=d=>n.value=d)},null,8,["item","value"])):r.multiple?(e.openBlock(),e.createElementBlock("div",Pl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(d,c)=>(e.openBlock(),e.createBlock(rt,{multiple:r.multiple,key:c,value:n.value,"onUpdate:value":i[2]||(i[2]=u=>n.value=u),item:s(c)},null,8,["multiple","value","item"]))),128)),e.createElementVNode("div",{onClick:i[3]||(i[3]=d=>!r.disabled&&l.value?.click()),class:e.normalizeClass(["h-[120px] w-[120px] border text-gray-300 hover:text-blue-500 border-dashed border-[#CFD9E0] rounded-lg flex items-center justify-center transition-all duration-300",r.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer hover:border-blue-500 hover:bg-blue-50"])},[e.createVNode(Ee,{class:"w-6 h-6"})],2)])):e.createCommentVNode("",!0),r.multiple?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:2,onClick:i[4]||(i[4]=d=>l.value?.click()),class:e.normalizeClass([r.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer hover:border-blue-500","h-[120px] w-[120px] border text-gray-300 hover:text-blue-500 border-dashed border-gray-300 rounded-lg flex items-center justify-center cursor-pointer hover:border-blue-500 transition-all duration-300 hover:bg-blue-50"])},[e.createVNode(Ee,{class:"w-6 h-6"})],2))]))}}),Hl={class:"max-w-[55vw]"},ql={class:"text-sm font-semibold text-gray-800 truncate dark:text-neutral-200"},Gl={class:"flex items-center text-xs text-gray-500 truncate dark:text-neutral-500"},Kl={class:"px-[5px]"},Zl={class:""},Ae=e.defineComponent({__name:"vs-widget-file-info",props:{item:{default:null}},setup(a){const t=a,n=e.computed(()=>{try{return new Date(t.item.cdate).toLocaleDateString("uk-UA",{day:"2-digit",month:"long",year:"numeric"})}catch{return""}});function l(s){if(s<1024)return`${s} B`;const o=s/1024;return o<1024?`${o.toFixed(2)} KB`:`${(o/1024).toFixed(2)} MB`}return(s,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[o[1]||(o[1]=e.createStaticVNode('<div class="flex items-center justify-center h-[30px] w-[30px]"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-file"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z"></path></svg></div>',1)),e.createElementVNode("div",Hl,[e.createElementVNode("p",ql,e.toDisplayString(s.item?.uploaded_name),1),e.createElementVNode("p",Gl,[e.createElementVNode("span",null,e.toDisplayString(s.item?.username),1),e.withDirectives(e.createElementVNode("span",Kl,"|",512),[[e.vShow,s.item?.username]]),e.createElementVNode("span",null,e.toDisplayString(n.value),1),o[0]||(o[0]=e.createElementVNode("span",{class:"px-[5px]"},"|",-1)),e.createElementVNode("span",Zl,e.toDisplayString(l(s.item?.size)),1)])])],64))}}),Wl={class:"p-3 relative group flex items-center gap-x-3 border border-gray-200 bg-white rounded-md w-full"},Yl={key:0,class:"flex w-full gap-x-3 items-center"},Jl={key:1,class:"flex gap-x-3 w-full items-center"},Xl={key:2,class:"flex gap-x-3 w-full items-center"},Ql=["href"],es={key:3,class:"flex gap-x-3 w-full items-center"},ts={class:"lg:absolute lg:top-3 lg:end-1 opacity-100"},ns={class:"p-0.5 sm:p-1 inline-flex items-center gap-0.5 bg-white rounded-lg dark:bg-neutral-800 dark:border-neutral-700"},ls={class:"inline-block"},ss={class:"inline-block"},os=e.defineComponent({__name:"vs-widget-file-item",props:{item:{default:null},index:{default:0},prefix:{default:"/api"}},emits:["update","openModal","openLightbox"],setup(a,{emit:t}){const n=a,l=t;function s(u){return["pdf","json"].includes(u.ext)}function o(u){return["ppt","pptx","doc","docx","xls","xlsx"].includes(u.ext)}function r(u){const p=document.createElement("a");p.setAttribute("download",u?.uploaded_name),p.href=u?.file_path,p.click()}async function i(){try{await fetch(`${n.prefix}/widget/file/${n.item.entity_id}/${n.item.file_id}`),l("update")}catch(u){console.error(u)}}function d(){l("openModal",{title:"Ви впевнені?",message:"Ви впевнені, що хочете видалити цей файл?",confirmButtonText:"Так, я впевнена/ий",cancelButtonText:"Скасувати",confirm:i,updateListOnConfirm:!0})}function c(u){(n.item.ext==="jpg"||n.item.ext==="png")&&l("openLightbox",{item:n.item,index:u})}return(u,p)=>(e.openBlock(),e.createElementBlock("div",Wl,[u.item.ext==="jpg"||u.item.ext==="png"?(e.openBlock(),e.createElementBlock("div",Yl,[e.createElementVNode("div",{class:"max-w-[55vw] cursor-pointer flex gap-x-3 w-full items-center",onClick:p[0]||(p[0]=h=>c(u.index))},[e.createVNode(Ae,{item:u.item},null,8,["item"])])])):s(u.item)?(e.openBlock(),e.createElementBlock("div",Jl,[e.createVNode(Ae,{item:u.item},null,8,["item"])])):o(u.item)?(e.openBlock(),e.createElementBlock("div",Xl,[e.createElementVNode("a",{href:`/api/file-preview?id=${u.item.file_id}`,target:"_blank",class:"flex gap-x-3 w-full items-center"},[e.createVNode(Ae,{item:u.item},null,8,["item"])],8,Ql)])):(e.openBlock(),e.createElementBlock("div",es,[e.createVNode(Ae,{item:u.item},null,8,["item"])])),e.createElementVNode("div",ts,[e.createElementVNode("div",ns,[e.createElementVNode("div",ls,[e.createElementVNode("button",{class:"inline-flex p-[6px] justify-center items-center gap-x-2 rounded-lg border border-transparent text-gray-500 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:text-neutral-400 focus:outline-none focus:bg-gray-100 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",onClick:p[1]||(p[1]=h=>r(u.item))},[e.createVNode(ot,{height:"14",width:"14"})])]),p[3]||(p[3]=e.createElementVNode("div",{class:"w-px h-5 mx-1 bg-gray-200 dark:bg-neutral-700"},null,-1)),e.createElementVNode("div",ss,[e.createElementVNode("button",{type:"button",class:"size-[30px] inline-flex justify-center items-center gap-x-2 rounded-lg border border-transparent text-red-600 hover:bg-red-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-red-100 dark:text-red-500 dark:hover:bg-red-500/20 dark:focus:bg-red-500/20",onClick:p[2]||(p[2]=h=>d())},[e.createVNode(Fe,{height:"14",width:"14"})])])])])]))}}),rs={},as={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-download"};function is(a,t){return e.openBlock(),e.createElementBlock("svg",as,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"},null,-1),e.createElementVNode("path",{d:"M7 11l5 5l5 -5"},null,-1),e.createElementVNode("path",{d:"M12 4l0 12"},null,-1)]))}const ds=O(rs,[["render",is]]),cs={class:"flex flex-col widget-file xl:bg-white xl:rounded-xl dark:xl:bg-neutral-800 dark:xl:border-neutral-700 w-full"},us={class:"flex w-full mb-[12px] items-center gap-x-2"},ps={class:"font-semibold text-gray-800 dark:text-neutral-200 text-[14px]"},hs={class1:"ml-auto"},ms={class:"py-1.5 px-4 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg bg-gray-100 cursor-pointer hover:bg-gray-200 text-gray-800 shadow-2xs hover:bg-gray-50 focus:outline-hidden focus:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"},fs={key:0,class:"py-4 mb-4 space-y-4 border-gray-200 border-y dark:border-neutral-700"},gs={class:"relative"},ks={key:1,class:"space-y-3 max-h-[300px] overflow-y-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"},bs={key:0},it=e.defineComponent({__name:"vs-input-file-list",props:{id:{default:""},prefix:{default:"/api"},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},emits:["update"],setup(a,{emit:t}){const n=a,l=e.inject("form"),s=e.computed(()=>l.value.formId),o=e.ref(!1),r=e.ref(0),i=t,d=e.ref(!1),c=e.ref({}),u=e.ref([]),p=e.ref(""),h=e.computed(()=>Array.isArray(u.value)?u.value.filter(m=>m.ext==="jpg"||m.ext==="png").map(m=>m?.file_path):[]),w=e.computed(()=>p.value===""?u.value:u.value.filter(m=>m?.uploaded_name?.includes(p.value))),F=m=>{const b=h.value.findIndex(B=>B===m.item.file_path);b!==-1&&(o.value=!0,r.value=b)},M=async()=>{try{const m=await fetch(`${n.prefix}/widget/file/${s.value}`).then(b=>b.json());u.value=m?.rows}catch(m){console.error(m)}},A=async m=>{await Promise.all(Array.from(m.target.files).map(async b=>{const B=new FormData;B.append("file",b);try{const j=`${n.prefix}/widget/file/${s.value}`,$=await fetch(j,{method:"POST",body:B});return $.ok?(i("update","file-list"),b):(X.notify({type:$.status>=400&&$.status<500?"warning":"error",title:"Error",message:`Error code: ${$.status}`}),null)}catch(j){return X.notify({type:"error",title:"Error",message:j.message||"Unknown error"}),console.error(j),null}})),await M()},_=m=>{const b={...m};return m.cancel||(b.cancel=()=>{d.value=!1}),m.updateListOnConfirm&&(b.confirm=async()=>{await m.confirm(),d.value=!1,M()}),b},x=m=>{c.value=_(m),d.value=!0};return e.watch(s,m=>{m&&M()}),e.onMounted(()=>{s.value&&M()}),(m,b)=>{const B=e.resolveComponent("Lightbox"),j=e.resolveComponent("MessageBox");return e.openBlock(),e.createElementBlock("div",cs,[e.createElementVNode("div",us,[e.createElementVNode("h2",ps," Файлів: "+e.toDisplayString(u.value?.length),1),e.createElementVNode("div",hs,[e.createElementVNode("label",null,[e.createElementVNode("input",{type:"file",class:"hidden",onChange:b[0]||(b[0]=$=>A($))},null,32),e.createElementVNode("div",ms,[e.createVNode(ds,{height:"16",width:"16"})])])])]),u.value?.length>4?(e.openBlock(),e.createElementBlock("div",fs,[e.createElementVNode("div",null,[e.createElementVNode("div",gs,[b[8]||(b[8]=e.createElementVNode("div",{class:"absolute inset-y-0 start-0 flex items-center pointer-events-none z-[1] ps-3.5"},[e.createElementVNode("svg",{class:"flex-shrink-0 text-gray-500 size-4 dark:text-neutral-400",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("path",{d:"m21 21-4.3-4.3"})])],-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":b[1]||(b[1]=$=>p.value=$),class:"py-2 px-3 ps-10 pe-16 block w-full bg-gray-200 xl:bg-gray-100 rounded-lg text-sm focus:border-blue-500 h-[40px] focus:border-2 focus:outline-none disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:border-transparent dark:text-neutral-400 dark:placeholder:text-neutral-400 dark:focus:ring-neutral-600",placeholder:"Введіть назву файлу"},null,512),[[e.vModelText,p.value,void 0,{trim:!0}]])])])])):e.createCommentVNode("",!0),u.value?.length?(e.openBlock(),e.createElementBlock("div",ks,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,($,K)=>(e.openBlock(),e.createBlock(os,{key:K,prefix:m.prefix,item:$,index:K,onUpdate:b[2]||(b[2]=ee=>m.$emit("update","file-list")),onOpenModal:b[3]||(b[3]=ee=>x(ee)),onOpenLightbox:b[4]||(b[4]=ee=>F(ee))},null,8,["prefix","item","index"]))),128)),w.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",bs,b[9]||(b[9]=[e.createElementVNode("p",{class:"text-sm text-gray-600 font-sm"}," Файлів з такою назвою не існує, введіть інше пошукове слово ",-1)])))])):e.createCommentVNode("",!0),e.createVNode(B,{modelValue:o.value,"onUpdate:modelValue":b[5]||(b[5]=$=>o.value=$),startIndex:r.value,"onUpdate:index":b[6]||(b[6]=$=>r.value=$),images:h.value},null,8,["modelValue","startIndex","images"]),e.createVNode(j,e.mergeProps({modelValue:d.value,"onUpdate:modelValue":b[7]||(b[7]=$=>d.value=$),onConfirm:c.value.confirm},c.value),null,16,["modelValue","onConfirm"])])}}}),ys={class:"flex items-center justify-between"},xs={class:"text-[16px] text-gray-900 font-medium"},ws={class:"grid gap-3"},_s=O(e.defineComponent({__name:"vs-container-switcher",props:{title:{type:String,default:""},style:{type:Object,default:()=>({})},isOpen:{type:Boolean,default:!1}},setup(a){const t=a,n=e.ref(t.isOpen);return e.watch(()=>t.isOpen,l=>{n.value=l}),(l,s)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",ys,[e.createElementVNode("p",xs,e.toDisplayString(a.title),1),e.createVNode(je,{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=o=>n.value=o),style:e.normalizeStyle(a.style)},null,8,["modelValue","style"])]),e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",ws,[e.renderSlot(l.$slots,"default",{},void 0,!0)],512),[[e.vShow,n.value]])]),_:3})]))}}),[["__scopeId","data-v-90320b87"]]),Es={class:"text-[16px] text-gray-900 font-medium"},Vs={class:"grid gap-3"},Cs=O(e.defineComponent({__name:"vs-container-accordion",props:{title:{type:String,default:""},style:{type:Object,default:()=>({})},isOpen:{type:Boolean,default:!1}},setup(a){const t=a,n=e.ref(t.isOpen);return e.watch(()=>t.isOpen,l=>{n.value=l}),(l,s)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{type:"button",onClick:s[0]||(s[0]=o=>n.value=!n.value),class:"flex items-center gap-2"},[e.createVNode(e.unref(Rn),{class:e.normalizeClass(["h-4 w-4 duration-300",[n.value?"-rotate-180":""]])},null,8,["class"]),e.createElementVNode("span",Es,e.toDisplayString(a.title),1)]),e.createVNode(e.Transition,{name:"slide-fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",Vs,[e.renderSlot(l.$slots,"default",{},void 0,!0)],512),[[e.vShow,n.value]])]),_:3})]))}}),[["__scopeId","data-v-590eff11"]]),Bs={class:"flex items-center justify-between"},vs={switcher:_s,accordion:Cs,default:e.defineComponent({__name:"vs-container-default",props:{title:{type:String,default:""},style:{type:Object,default:()=>({})}},setup(a){return(t,n)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",Bs,[e.createElementVNode("p",null,e.toDisplayString(a.title),1)]),e.renderSlot(t.$slots,"default")]))}})},se={Equal:"==",Inequal:"!=",Higer:">",HigerOrEqual:">=",Lower:"<",LowerOrEqual:"<=",Between:"between",StartWith:"^",EndWith:"$",Contain:"*",In:"in",NotIn:"not_in"},Ns=(a,t)=>String(a)===String(t),Ss=(a,t)=>String(a)!==String(t),$s=(a,t)=>a>t,Ms=(a,t)=>a>=t,Fs=(a,t)=>a<t,As=(a,t)=>a<=t,Ds=(a,t)=>Array.isArray(t)&&t.length===2?a>=t[0]&&a<=t[1]:!1,Is=(a,t)=>String(a).startsWith(String(t)),Ts=(a,t)=>String(a).endsWith(String(t)),Ls=(a,t)=>String(a).includes(String(t)),Rs=(a,t)=>Array.isArray(t)?t.includes(a):!1,Os=(a,t)=>Array.isArray(t)?!t.includes(a):!0,dt=(a,t)=>{if(!t)return!0;switch(t?.[1]){case se.Equal:return Ns(a,t?.[2]);case se.Inequal:return Ss(a,t?.[2]);case se.Higer:return $s(a,t?.[2]);case se.HigerOrEqual:return Ms(a,t?.[2]);case se.Lower:return Fs(a,t?.[2]);case se.LowerOrEqual:return As(a,t?.[2]);case se.Between:return Ds(a,t?.[2]);case se.StartWith:return Is(a,t?.[2]);case se.EndWith:return Ts(a,t?.[2]);case se.Contain:return Ls(a,t?.[2]);case se.In:return Rs(a,t?.[2]);case se.NotIn:return Os(a,t?.[2]);default:return!0}},ct=e.defineComponent({__name:"vs-input-container",props:{style:{type:Object,default:()=>({})},title:{type:String,default:""},view:{type:String,default:"default"},schema:{type:Array,default:()=>[]}},setup(a){const t=a,n=e.inject("formValues",{default:{}}),l=e.inject("form"),s=e.computed(()=>t.schema?.filter(r=>{const i=r?.conditions;if(!i)return!0;const d=Array.isArray(i)?i[0]:i,c=n?.value?.[d];return dt(c,i)})),o=e.computed(()=>vs[t.view]);return(r,i)=>a.schema?.length?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:0,title:a.title,style:e.normalizeStyle(a.style)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,d=>(e.openBlock(),e.createBlock(_t,e.mergeProps({key:d.name},{ref_for:!0},d,{item:d,modelValue:e.unref(n)[d.name],"onUpdate:modelValue":c=>e.unref(n)[d.name]=c,style:a.style,error:e.unref(l)?.errors?.[d.name]}),null,16,["item","modelValue","onUpdate:modelValue","style","error"]))),128))]),_:1},8,["title","style"])):e.createCommentVNode("",!0)}});e.defineComponent({props:{modelValue:{type:Boolean,default:()=>!1},title:{type:String,default:()=>""},disabled:{type:Boolean,default:()=>!1}},data(){return{}},mounted(){this.modelValue||this.$emit("update:modelValue",!1)},computed:{modelState:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}},labelCursorClasses(){return[{"cursor-not-allowed":this.disabled},{"cursor-pointer":!this.disabled}]}},methods:{handleEnterDown(a){const{keyCode:t}=a;t===13&&(this.modelState=!this.modelState)},addKeyHandler(){window.addEventListener("keydown",this.handleEnterDown)},removeKeyHandler(){window.removeEventListener("keydown",this.handleEnterDown)}}});const zs={key:0,class:"vsTailwind ui-dialog__wrapper text-gray-800"},js={class:"py-2.5 px-4 flex justify-between items-center border-0 border-b border-solid border-gray-200 dark:border-b-[#454545]"},Us={class:"font-medium text-gray-800 dark:text-[#ffffff]"},Ps={class:"ui-dialog__content p-4"},Hs={key:0,class:"flex justify-end gap-x-2"},qs={key:1,class:"flex justify-end items-center gap-x-2 py-3 px-4 border-t border-gray-200 dark:border-neutral-700"},Gs=O(e.defineComponent({__name:"vs-modal",props:{title:{default:""},template:{},visible:{type:Boolean,default:!1},size:{default:"small"},closeClickBack:{type:Boolean,default:!1},content:{},buttonText:{},contentProps:{},teleport:{default:"body"}},emits:["update:visible","close","done"],setup(a,{emit:t}){const n=a,l=t,s=e.computed(()=>n.size==="small"?"md:w-5/12 w-9/12":n.size==="medium"?"md:w-6/12 w-9/12":"lg:w-7/12 w-11/12"),o=e.useAttrs();function r(){l("done")}function i(){l("update:visible",!1),l("close")}function d(u){u.key==="Escape"&&i()}function c(u,p){p&&u.target.classList.contains("vs-dialog-overlay")&&i()}return e.onMounted(()=>{window.addEventListener("keydown",d)}),e.onUnmounted(()=>{window.removeEventListener("keydown",d)}),(u,p)=>(e.openBlock(),e.createBlock(e.Teleport,{to:u.teleport},[u.visible?(e.openBlock(),e.createElementBlock("div",zs,[e.createElementVNode("div",{onMousedown:p[0]||(p[0]=h=>c(h,u.closeClickBack)),class:e.normalizeClass(["vs-dialog-overlay vs-dialog w-full h-full fixed top-0 start-0 z-[1000] bg-black bg-opacity-50",[e.unref(o).class]])},[e.createVNode(e.Transition,{name:"content",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["ui-dialog__modal opacity-1 flex flex-col bg-white dark:bg-[#1A1A1A] border dark:border-[#454545] pointer-events-auto shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-xl",s.value])},[e.createElementVNode("div",js,[e.createElementVNode("h3",Us,e.toDisplayString(u.title),1),e.createElementVNode("button",{type:"button",class:"size-8 inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 focus:outline-none focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:hover:bg-neutral-600 dark:text-neutral-400 dark:focus:bg-neutral-600",onClick:i},p[1]||(p[1]=[e.createElementVNode("span",{class:"sr-only"},"Close",-1),e.createElementVNode("svg",{class:"flex-shrink-0 w-4 h-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})],-1)]))]),e.createElementVNode("div",Ps,[e.renderSlot(u.$slots,"default",{},void 0,!0)]),u.$slots.footer?(e.openBlock(),e.createElementBlock("div",Hs,[e.renderSlot(u.$slots,"footer",{handleClose:i},void 0,!0)])):e.createCommentVNode("",!0),u.buttonText?(e.openBlock(),e.createElementBlock("div",qs,[e.createElementVNode("button",{type:"button",class:"py-2 px-3 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-2xs hover:bg-gray-50 focus:outline-hidden focus:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",onClick:i}," Close "),e.createElementVNode("button",{type:"button",onClick:r,class:"py-2 px-3 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 focus:outline-hidden focus:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none"},e.toDisplayString(u.buttonText),1)])):e.createCommentVNode("",!0)],2)]),_:3})],34)])):e.createCommentVNode("",!0)],8,["to"]))}}),[["__scopeId","data-v-2d2d5af4"]]),Ks={},Zs={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6 text-green-600"};function Ws(a,t){return e.openBlock(),e.createElementBlock("svg",Zs,t[0]||(t[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)]))}const Ys=O(Ks,[["render",Ws]]),Js={},Xs={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"orange",class:"size-6 text-orange-600"};function Qs(a,t){return e.openBlock(),e.createElementBlock("svg",Xs,t[0]||(t[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v3m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)]))}const eo=O(Js,[["render",Qs]]),to={},no={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-6 text-blue-600"};function lo(a,t){return e.openBlock(),e.createElementBlock("svg",no,t[0]||(t[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"},null,-1)]))}const so=O(to,[["render",lo]]),oo={},ro={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"red",class:"size-6 text-red-600"};function ao(a,t){return e.openBlock(),e.createElementBlock("svg",ro,t[0]||(t[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)]))}const io=O(oo,[["render",ao]]),co={class:"rounded-md border border-gray-300 bg-white p-4 shadow-sm"},uo={class:"flex items-start gap-4 opacity-100 scale-5 transition-all duration-300"},po={class:"flex-1"},ho={class:"font-medium text-gray-900"},mo={class:"mt-0.5 text-sm text-gray-700"},fo=e.defineComponent({__name:"vs-notify",props:{type:{},title:{},message:{}},setup(a){const t={success:Ys,warning:eo,error:io,info:so};return(n,l)=>(e.openBlock(),e.createElementBlock("div",co,[e.createElementVNode("div",uo,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t[n.type]))),e.createElementVNode("div",po,[e.createElementVNode("strong",ho,e.toDisplayString(n.title),1),e.createElementVNode("p",mo,e.toDisplayString(n.message),1)]),l[0]||(l[0]=e.createElementVNode("button",{class:"m-3 rounded-full p-1.5 text-gray-500 transition-colors hover:bg-gray-50 hover:text-gray-700",type:"button","aria-label":"Dismiss notify"},[e.createElementVNode("span",{class:"sr-only"},"Dismiss popup"),e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",class:"size-5"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})])],-1))])]))}});e.reactive({visible:!0});const De={top:"top-4 left-1/2 transform -translate-x-1/2","left-bottom":"bottom-4 left-4 transform","right-bottom":"bottom-4 right-4 transform",bottom:"bottom-4 left-1/2 transform -translate-x-1/2"},go=a=>{const{type:t="info",title:n,message:l,position:s="right-bottom"}=a||{};let o=document.querySelector("#notify-root");o||(o=document.createElement("div"),o.id="notify-root",o.className=`fixed z-[2000] flex flex-col gap-3 ${De[s]} p-6 max-w-md mx-auto font-sans antialiased`,document.body.appendChild(o)),o.className.includes(De[s])||(Object.values(De).forEach(c=>{o.classList.remove(...c.split(" "))}),o.classList.add(...De[s].split(" ")));const r=document.createElement("div");o.appendChild(r);const i=e.createApp({render(){return e.h(fo,{type:t,title:n,message:l,onClose:()=>{i.unmount(),r.remove()}})}});i.mount(r),r.querySelector("button")?.addEventListener("click",()=>{r.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{i.unmount(),r.remove()},350)}),setTimeout(()=>{r.classList.add("opacity-0","scale-95","transition-all","duration-300"),setTimeout(()=>{i.unmount(),r.remove()},350)},3500)},ko=["aria-expanded","data-focus"],bo={class:"flex items-center"},yo=["title"],xo=["onClick"],wo=["title"],_o={key:2,class:"text-gray-500 truncate"},Eo={class:"flex-1 min-w-[2px]"},Vo=["placeholder"],Co={class:"flex items-center shrink-0"},Bo=["disabled"],vo=["disabled","title"],No=["aria-disabled","onClick"],So={key:1,class:"px-3 py-2 text-center text-gray-500"},$o=["disabled"],He=e.defineComponent({__name:"vs-input-select",props:{multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},mode:{},defaultValue:{},search:{type:Boolean,default:!0},placeholder:{default:"Оберіть значення"},prefix:{default:"api"},host:{default:""},data:{default:""},options:{default:()=>[]},api:{default:null},maxHeight:{default:400},parent:{},add:{},teleport:{default:"body"},style:{default:()=>({})},customClass:{default:""},modelValue:{},error:{default:null},name:{}},emits:["change","update:modelValue"],setup(a,{emit:t}){const n=a,l=t,s=e.computed(()=>n.multiple),o=e.computed(()=>n.disabled);le(n.style);const r=e.computed({get:()=>n.modelValue,set:g=>l("update:modelValue",g)});!r.value&&n.defaultValue&&(r.value=n.defaultValue);const i=e.ref(null),d=e.ref(null),c=e.ref(null),u=e.ref(null),p=e.ref(!1),h=e.ref(!1),w=e.ref(null),F=e.ref([]),M=e.ref(-1),A=e.ref([]),_=e.ref(""),x=e.ref(null),m=e.ref("bottom"),b=e.ref({}),B=e.ref([]),j=e.computed(()=>{if(!B.value.length)return[];const g=new Map(F.value.map(f=>[f.id?.toString(),f]));return B.value.map(f=>g.get(f?.toString())).filter(f=>!!f)}),$=e.computed(()=>n.placeholder||"Select..."),K=e.computed(()=>s.value?!B.value.length&&_.value==="":!w.value?.text&&_.value===""),ee=e.computed(()=>o.value?!1:s.value?B.value.length>0:!!r.value),te=g=>s.value?B.value.some(f=>f?.toString()===g?.toString()):r.value?.toString()===g?.toString(),S=e.computed(()=>{let g=F.value??[];if(!n.data&&_.value.trim()!==""){const f=_.value.toLowerCase();g=g.filter(E=>E.text?.toLowerCase?.().includes(f))}if(s.value&&B.value.length){const f=new Set(B.value.map(E=>E?.toString()));g=g.filter(E=>!f.has(E.id?.toString()))}return g}),P=e.inject("values"),H=e.computed(()=>n.parent?P?.value?.[n.parent]??null:null),Z=async g=>{if(!n.data){let f=n.options??[];if(g?.trim()){const E=g.toLowerCase();f=f.filter(z=>z.text?.toLowerCase?.().includes(E))}return f}try{const f=n.host??"",E=n.prefix??"api",z=n.api??`/${E}/suggest/${n.data}`,Q=`${f}${z}`,re=new URLSearchParams;return re.set("json","1"),g&&re.set("key",g),H.value!==void 0&&H.value!==null&&H.value!==""&&re.set("parent",String(H.value)),(await fetch(`${Q}?${re.toString()}`).then(we=>we.json()))?.data??[]}catch{return[]}},N=async()=>{n.data?F.value=await Z(_.value):F.value=n.options?[...n.options]:[]},v=async g=>{if(g==null)return null;const f=F.value?.find(z=>z?.id?.toString()===String(g));return f||((await Z(String(g)))?.[0]??null)},V=async g=>{const f=new Set(F.value.map(z=>z.id?.toString())),E=g.filter(z=>!f.has(z?.toString()));E.length&&await E.reduce(async(z,Q)=>{await z;const re=await v(Q);re&&F.value.push(re)},Promise.resolve())},T=async()=>{o.value||(p.value=!0,await N(),await e.nextTick(()=>{oe(),x.value?.focus(),S.value.length?M.value=0:M.value=-1}))},G=()=>{p.value=!1,M.value=-1},ce=async g=>{if(o.value)return;!p.value?await T():G()},ue=async()=>{p.value?x.value?.focus():await T()},k=()=>{s.value?(B.value=[],r.value=[],l("change",[])):(w.value=null,r.value=null,l("change",null)),_.value="",e.nextTick(()=>x.value?.focus())},y=g=>{s.value&&(B.value=B.value.filter(f=>f?.toString()!==g?.toString()),r.value=[...B.value],l("change",r.value),e.nextTick(()=>x.value?.focus()))},I=g=>{s.value?(te(g.id)||(B.value=[...B.value,g.id],r.value=[...B.value],l("change",r.value)),_.value="",e.nextTick(()=>{x.value?.focus(),M.value=Math.min(M.value,S.value.length-1)})):(w.value=g,r.value=g.id,l("change",r.value),_.value="",G())},q=g=>{te(g.id)||I(g)},W=(g,f)=>{if(!g||!f)return;const E=g.offsetTop,z=E+g.offsetHeight,Q=f.scrollTop,re=Q+f.clientHeight;let ye=f.scrollTop;E<Q?ye=E-80:z>re&&(ye=z-f.clientHeight+4);const we=f;we.scrollTop=ye},pe=g=>{let f=g.parentElement;for(;f;){if(f.classList.contains("ui-dialog__content"))return f;const E=window.getComputedStyle(f),z=E.overflow+E.overflowY+E.overflowX;if(z.includes("auto")||z.includes("scroll")||f===document.body||f===document.documentElement)return f;f=f.parentElement}return document.body},oe=()=>{if(!d.value)return;const g=d.value.getBoundingClientRect(),f=window.innerHeight||document.documentElement.clientHeight,E=window.innerWidth||document.documentElement.clientWidth,z=8,Q=8,re=n.maxHeight||300,ye=f-g.bottom-Q-z,we=g.top-Q-z,ze=ye>=we,Ye=Math.max(E-z*2,0);let{width:$e}=g;Ye>0&&$e>Ye&&($e=Ye);let{left:Me}=g;Me+$e+z>E&&(Me=E-$e-z),Me=Math.max(Me,z);const nd=Math.min(re,Math.max(ze?ye:we,50));m.value=ze?"bottom":"top",b.value={position:"fixed",left:`${Me}px`,width:`${$e}px`,minWidth:"300px",maxHeight:`${nd}px`,transform:ze?"none":"translateY(-100%)",top:ze?`${g.bottom+Q}px`:`${g.top-Q}px`}},ge=async g=>{o.value||!p.value&&(g.key==="ArrowDown"||g.key==="ArrowUp")&&(g.preventDefault(),await T())},ke=g=>{if(!p.value)return;const{key:f}=g;if(f==="ArrowDown")g.preventDefault(),M.value+1<S.value.length&&(M.value+=1,W(A.value[M.value],c.value));else if(f==="ArrowUp")g.preventDefault(),M.value>0&&(M.value-=1,W(A.value[M.value],c.value));else if(f==="Enter"){g.preventDefault();const E=S.value[M.value];E&&I(E),x.value?.blur()}else f==="Escape"?(g.preventDefault(),G()):f==="Backspace"?s.value&&_.value===""&&B.value.length&&(B.value=B.value.slice(0,-1),r.value=[...B.value],l("change",r.value)):f==="Home"?(M.value=0,W(A.value[0],c.value)):f==="End"?(M.value=S.value.length-1,W(A.value[M.value],c.value)):f==="Tab"&&G()},be=()=>{o.value||(h.value=!0)},Ji=()=>{h.value=!1,_.value=""},Ot=g=>{g.key==="Escape"&&p.value&&G()},zt=g=>{const f=g.target;i.value?.contains(f)||u.value?.contains(f)||G()},jt=g=>{p.value&&c.value&&!c.value.contains(g.target)&&oe()},Ut=()=>{p.value&&oe()},Pt=()=>{p.value&&oe()};e.watch(()=>n.options,g=>{g?.length&&(F.value=[...g])},{immediate:!0});const Ht=async()=>{if(s.value)Array.isArray(r.value)?B.value=[...r.value]:(B.value=r.value==null?[]:[r.value],r.value=[...B.value]),!n.options?.length&&n.data&&await V(B.value);else{if(Array.isArray(r.value)){const g=r.value[0]??null;r.value=g??null}w.value=await v(r.value)}};e.watch(r,()=>{Ht()}),e.onMounted(async()=>{addEventListener("keydown",Ot),addEventListener("scroll",jt,!0),addEventListener("resize",Ut),document.addEventListener("click",zt,!0),d.value&&pe(d.value).addEventListener("scroll",Pt,!0),n.options?.length?F.value=[...n.options]:n.data&&(F.value=await Z("")),await Ht()}),e.onUnmounted(()=>{removeEventListener("keydown",Ot),removeEventListener("scroll",jt,!0),removeEventListener("resize",Ut),document.removeEventListener("click",zt,!0),d.value&&pe(d.value).removeEventListener("scroll",Pt,!0)});const Oe=e.ref(!1),We=e.ref({}),qt=e.ref([]),Gt=e.ref(null);async function Xi(){if(!n.add?.token||Gt?.value.validate())return;const f=n.add.api??`/api/table/${n.add.token}`,{id:E}=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(We.value)}).then(z=>z.json());if(!n.options?.length&&n.data){const{data:z}=await fetch(`${n.api??`/api/suggest/${n.data}`}?val=${E}`).then(Q=>Q.json());w.value=z[0],F.value.push(z[0]),r.value=E}Oe.value=!1,go({title:"Success!",message:"Object created."})}async function Qi(){if(!n.add)return null;const g=await fetch(`/api/template/form/${n.add.form}`).then(f=>f.json());return qt.value=g.schema,Oe.value=!0,null}function ed(g,f=200){let E;return(...z)=>{E&&clearTimeout(E),E=window.setTimeout(()=>g(...z),f)}}const td=ed(async g=>{F.value=await Z(g)},200);return e.watch(_,g=>{n.data&&td(g.trim())}),e.watch(()=>n.options,g=>{!n.data&&g?.length&&(F.value=[...g])},{immediate:!0}),e.watch(()=>n.parent??n.parentValue,()=>{n.data&&N()}),e.watch(H,async()=>{n.data&&(s.value?(B.value=[],r.value=[],l("change",[])):(w.value=null,r.value=null,l("change",null)))}),(g,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(Gs),{visible:Oe.value,"onUpdate:visible":f[1]||(f[1]=E=>Oe.value=E),title:"Додати",buttonText:"Додати",onDone:Xi,teleport:g.teleport},{default:e.withCtx(()=>[e.createVNode(fe,{schema:qt.value,modelValue:We.value,"onUpdate:modelValue":f[0]||(f[0]=E=>We.value=E),ref_key:"addForm",ref:Gt},null,8,["schema","modelValue"])]),_:1},8,["visible","teleport"]),e.createElementVNode("div",{class:"flex gap-1 w-full",ref_key:"selectRoot",ref:i,onClick:f[4]||(f[4]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(["relative w-full font-sans",n.customClass])},[f[9]||(f[9]=e.createElementVNode("span",{id:"react-select-live-region",class:"sr-only"},null,-1)),f[10]||(f[10]=e.createElementVNode("span",{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text",role:"log",class:"sr-only"},null,-1)),e.createElementVNode("div",{class:e.normalizeClass(["flex min-h-[38px] items-center justify-between rounded border transition-colors bg-white","border-gray-300 hover:border-gray-400",p.value||h.value?"border-blue-500 ring-1 ring-blue-500":"",o.value?"bg-gray-100 text-gray-400 cursor-not-allowed hover:border-gray-300":""]),role:"combobox","aria-expanded":p.value,"aria-haspopup":"listbox",onKeydown:ge,onClick:ue,"data-focus":p.value||h.value?"true":"false"},[e.createElementVNode("div",{class:"flex flex-1 items-center gap-1 py-0.5 pl-2 pr-0 overflow-hidden",ref_key:"triggerRef",ref:d},[s.value&&B.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(j.value,E=>(e.openBlock(),e.createElementBlock("div",{class:"flex min-w-0 bg-[#e6e6e6] rounded-sm m-0.5 box-border",key:E.id},[e.createElementVNode("div",bo,[E?.color?(e.openBlock(),e.createElementBlock("span",{key:0,class:"w-[16px] h-[16px] rounded-md block ml-1.5",style:e.normalizeStyle({backgroundColor:E?.color})},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"truncate text-gray-900 overflow-hidden",title:E.text},e.toDisplayString(E.text),9,yo)]),e.createElementVNode("div",{role:"button",class:"flex items-center rounded-sm px-1 box-border hover:bg-[#ffbdad] hover:text-[#de350b]",onClick:e.withModifiers(z=>y(E.id),["stop"])},f[5]||(f[5]=[e.createElementVNode("svg",{height:"14",width:"14",viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",class:"inline-block fill-current stroke-current leading-none stroke-0"},[e.createElementVNode("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"})],-1)]),8,xo)]))),128)):!s.value&&!h.value&&w.value?.text&&_.value===""?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["truncate text-gray-900"]),title:w.value.text},[w.value?.color?(e.openBlock(),e.createElementBlock("span",{key:0,class:"w-[14px] h-[14px] rounded-md block mr-1 mt-1 absolute",style:e.normalizeStyle({backgroundColor:w.value?.color})},null,4)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass({"pl-5":w.value?.color})},e.toDisplayString(w.value.text),3)],8,wo)):e.createCommentVNode("",!0),K.value?(e.openBlock(),e.createElementBlock("div",_o,e.toDisplayString($.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Eo,[!o.value&&g.search?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,ref_key:"inputRef",ref:x,class:"w-full bg-transparent outline-none border-0 m-0 p-0 text-gray-900",autocapitalize:"none",autocomplete:"off",autocorrect:"off",spellcheck:"false",type:"text",tabindex:"0","aria-autocomplete":"list",placeholder:(s.value&&B.value.length?" ":null)||(h.value&&!_.value?.length?w.value?.text:" "),"onUpdate:modelValue":f[2]||(f[2]=E=>_.value=E),onFocus:be,onBlur:Ji,onKeydown:ke},null,40,Vo)),[[e.vModelText,_.value]]):e.createCommentVNode("",!0)])],512),e.createElementVNode("div",Co,[ee.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"px-2 text-gray-400 hover:text-gray-500 transition-colors disabled:opacity-50","aria-hidden":"true",disabled:o.value,onClick:e.withModifiers(k,["stop"])},f[6]||(f[6]=[e.createElementVNode("svg",{height:"20",width:"20",viewBox:"0 0 20 20",class:"fill-current"},[e.createElementVNode("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"})],-1)]),8,Bo)):e.createCommentVNode("",!0),f[8]||(f[8]=e.createElementVNode("div",{class:"self-stretch w-px bg-[#ccc] my-[1px]"},null,-1)),e.createElementVNode("button",{type:"button",class:"px-2 text-gray-400 hover:text-gray-500 transition-colors disabled:opacity-50","aria-hidden":"true",disabled:o.value,onClick:f[3]||(f[3]=e.withModifiers(E=>ce(),["stop"])),title:p.value?"Закрити список":"Відкрити список"},f[7]||(f[7]=[e.createElementVNode("svg",{height:"20",width:"20",viewBox:"0 0 20 20",class:"fill-current"},[e.createElementVNode("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"})],-1)]),8,vo)])],42,ko),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[p.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:u,class:e.normalizeClass(["fixed z-[3000] rounded bg-white shadow-[0_0_0_1px_rgba(0,0,0,0.1),0_4px_11px_rgba(0,0,0,0.1)]"]),style:e.normalizeStyle(b.value),role:"listbox"},[e.createElementVNode("div",{class:"overflow-y-auto py-1",style:e.normalizeStyle({maxHeight:b.value.maxHeight||"300px"}),ref_key:"listRef",ref:c},[S.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(S.value,(E,z)=>(e.openBlock(),e.createElementBlock("div",{key:E.id,ref_for:!0,ref:Q=>A.value[z]=Q,class:e.normalizeClass(["flex px-3 py-2 cursor-default select-none text-gray-900 ",te(E.id)?"bg-blue-500 text-white":"bg-white hover:bg-blue-100",M.value===z&&!te(E.id)?"bg-blue-100":""]),"aria-disabled":te(E.id)?"true":"false",role:"option",tabindex:"-1",onClick:Q=>q(E)},[E?.color?(e.openBlock(),e.createElementBlock("span",{key:0,class:"w-[11px] h-[11px] rounded-full block mr-1 mt-1.5",style:e.normalizeStyle({backgroundColor:E?.color})},null,4)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["leading-[19px]",M.value===E.id?"text-white":"",(M.value===z,"")])},e.toDisplayString(E.text),3)],10,No))),128)):(e.openBlock(),e.createElementBlock("div",So," No options "))],4)],4)):e.createCommentVNode("",!0)]))],2),n.add?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:Qi,class:"bg-white hover:bg-gray-100 text-sm text-gray-900 py-[10px] px-3 border border-stone-200 rounded-md h-[38px] flex items-center gap-2",disabled:o.value,type:"button"},[e.createVNode(Ee,{width:"16",height:"16"}),f[11]||(f[11]=e.createElementVNode("span",null,"Додати",-1))],8,$o)):e.createCommentVNode("",!0)],512)],64))}}),Mo=["placeholder","disabled"],ut=e.defineComponent({__name:"vs-input-textarea",props:e.mergeModels({style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{default:""}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,{inputClass:n}=le(t.style),l=e.useModel(a,"modelValue");return(s,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",{"onUpdate:modelValue":o[0]||(o[0]=r=>l.value=r),placeholder:s.placeholder,disabled:s.disabled,row:"2",class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] h-auto bg-white",[e.unref(n)]]),style:{border:"1px solid #CFD9E0"}},null,10,Mo)),[[e.vModelText,l.value]])}}),Fo={},Ao={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-search stroke-gray-500 transition-all"};function Do(a,t){return e.openBlock(),e.createElementBlock("svg",Ao,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"},null,-1),e.createElementVNode("path",{d:"M21 21l-6 -6"},null,-1)]))}const Io=O(Fo,[["render",Do]]),To={},Lo={class:"flex-shrink-0 mt-0.5 size-3.5",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function Ro(a,t){return e.openBlock(),e.createElementBlock("svg",Lo,t[0]||(t[0]=[e.createElementVNode("path",{d:"m3 16 4 4 4-4"},null,-1),e.createElementVNode("path",{d:"M7 20V4"},null,-1),e.createElementVNode("path",{d:"m21 8-4-4-4 4"},null,-1),e.createElementVNode("path",{d:"M17 4v16"},null,-1)]))}const Oo=O(To,[["render",Ro]]),zo={},jo={xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function Uo(a,t){return e.openBlock(),e.createElementBlock("svg",jo,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"},null,-1),e.createElementVNode("path",{d:"M7 9l5 -5l5 5"},null,-1),e.createElementVNode("path",{d:"M12 4l0 12"},null,-1)]))}const Po=O(zo,[["render",Uo]]),Ho={},qo={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function Go(a,t){return e.openBlock(),e.createElementBlock("svg",qo,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"},null,-1),e.createElementVNode("path",{d:"M7 11l5 5l5 -5"},null,-1),e.createElementVNode("path",{d:"M12 4l0 12"},null,-1)]))}const Ko=O(Ho,[["render",Go]]),Zo={},Wo={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function Yo(a,t){return e.openBlock(),e.createElementBlock("svg",Wo,t[0]||(t[0]=[e.createStaticVNode('<circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle>',6)]))}const pt=O(Zo,[["render",Yo]]),Jo={},Xo={viewBox:"0 0 178 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Qo(a,t){return e.openBlock(),e.createElementBlock("svg",Xo,t[0]||(t[0]=[e.createStaticVNode('<rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs>',12)]))}const er=O(Jo,[["render",Qo]]),tr={},nr={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function lr(a,t){return e.openBlock(),e.createElementBlock("svg",nr,t[0]||(t[0]=[e.createElementVNode("path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"},null,-1)]))}const sr=O(tr,[["render",lr]]),or={class:"vs-datatable border rounded-xl w-full flex-grow"},rr={class:"flex items-center npm gap-[16px] justify-between p-[20px] pb-[16px]"},ar={class:"relative w-full"},ir={class:"table-wrapper flex gap-2"},dr={class:"vs-popover inline-block text-slate-700"},cr={class:"text-center"},ur={class:""},pr={class:"py-1 px-0 w-full text-sm text-stone-800 bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-lg focus:outline-none focus:bg-stone-100 dark:bg-neutral-900 dark:text-neutral-200 dark:focus:bg-neutral-800 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full"},hr={class:"flex flex-col p-[1px] gap-[2px] w-[140px]"},mr={class:"text-sm items-center text-gray-800 flex gap-1"},fr={class:"w-full overflow-x-auto"},gr={class:"w-full table-auto caption-bottom text-sm"},kr={class:"[&_tr]:border-b"},br={class:"border-b data-[state=selected]:bg-muted bg-slate-50/50 dark:bg-slate-700/50 hover:bg-slate-50/80 dark:hover:bg-slate-700/80 transition-colors"},yr={class:"h-10 px-2 align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] w-12 text-center"},xr={key:0,colspan:"100%",class:"text-center"},wr={class:"w-full"},_r={class:"p-5 min-h-[200px] flex flex-col justify-center items-center text-center"},Er=["onDragstart","onDragover","onDrop"],Vr={class:"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-center"},Cr={class:"flex items-center justify-center"},Br={key:0,class:"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-slate-100 dark:bg-slate-700 text-slate-700 dark:text-slate-300 hover:bg-slate-200 dark:hover:bg-slate-600 transition-colors"},vr={key:0},Nr=["src"],Sr={key:1,class:"rounded-md max-w-[45px] w-[45px] max-h-[45px] h-[45px] bg-gray-200 flex items-center justify-center"},$r=["innerHTML"],Mr={key:2,class:"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-slate-100 dark:bg-slate-700 text-slate-700 dark:text-slate-300 hover:bg-slate-200 dark:hover:bg-slate-600 transition-colors"},Fr={class:"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"},Ar={class:"flex items-center justify-center gap-2"},Dr=["onClick"],Ir=["onClick"],Tr={class:"vs-form__head mr-5 mt-3 flex items-center justify-end sticky top-0 left-0 z-[60] bg-white"},ht=e.defineComponent({__name:"vs-input-datatable",props:e.mergeModels({colModel:{},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},{modelValue:{default:[]},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=e.ref({}),s=e.ref(""),o=e.computed(()=>{if(!s.value)return n.value??[];const N=s.value.toLowerCase();return n.value.filter(v=>t.colModel?.some(V=>{const T=v[V.key];return T?Array.isArray(T)?T.join(", ").toLowerCase().includes(N):String(T).toLowerCase().includes(N):!1}))}),r=e.ref(null),i=e.ref(null),d=e.ref(!1),c=e.ref(null),u=e.ref({top:0,left:0}),p=N=>{r.value=N},h=N=>{i.value=N},w=N=>{if(r.value===null||r.value===N){r.value=null,i.value=null;return}const v=[...n.value],[V]=v.splice(r.value,1);v.splice(N,0,V),n.value=v,r.value=null,i.value=null},F=N=>{const V=N.currentTarget.getBoundingClientRect();u.value={top:V.bottom+window.scrollY,left:V.left+window.scrollX},d.value=!d.value},M=()=>{c.value&&c.value.click()},A=N=>{const v=[".jpg",".jpeg",".png",".gif",".bmp",".webp",".svg",".ico",".tiff",".tif"],V=N.toLowerCase();return v.some(T=>V.endsWith(T))},_=N=>{const V=N.target.files?.[0];if(!V)return;const T=new FileReader;T.onload=G=>{try{const ce=G.target?.result;if(typeof ce=="string"){const ue=JSON.parse(ce);Array.isArray(ue)&&n.value.push(...ue)}}catch(ce){console.error("Error parsing file:",ce)}},T.readAsText(V)},x=()=>{const N=JSON.stringify(n.value,null,2),v=new Blob([N],{type:"application/json"}),V=URL.createObjectURL(v),T=document.createElement("a");T.href=V,T.download="data.json",T.click(),URL.revokeObjectURL(V)};e.onMounted(async()=>{const N=t.colModel?.filter(v=>v.data);N?.length&&Promise.all(N.map(async v=>{const T=await(await fetch(`/api/suggest/${v.data}`)).json();l.value[v.key]=T.data}))});const m=e.ref(""),b=e.ref(!1);let B="edit",j=0;const $=e.ref({}),K=e.ref({});async function ee(){m.value="Додати",b.value=!0,B="add",$.value={}}function te(N,v){const V=v.key||v.name;return l.value[V]&&N[V]?l.value[V].find(T=>T.id.toString()===N[V].toString())?.text??N[V]:N[V]||"-"}async function S(N,v){m.value="Редагувати",b.value=!0,B="edit",j=v,$.value={...N}}function P(){const N=K.value.validate();if(N){X.notify({type:"warning",title:"Помилка валідації",message:Object.entries(N).map(([v,V])=>`${v}: ${V}`).join(`
|
|
2
|
+
`)});return}B==="add"?Array.isArray(n.value)?n.value=[...n.value,$.value]:n.value=[$.value]:n.value=n.value.map((v,V)=>V===j?$.value:v),b.value=!1}function H(N){n.value=n.value.filter((v,V)=>V!==N)}function Z(){b.value=!1}return(N,v)=>(e.openBlock(),e.createElementBlock("div",or,[e.createElementVNode("div",rr,[e.createElementVNode("div",ar,[e.createVNode(Io,{width:"14",height:"14",class:"absolute left-3 top-1/2 transform -translate-y-1/2 text-stone-500"}),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":v[0]||(v[0]=V=>s.value=V),placeholder:"Пошук",class:"py-2 px-3 pl-10 w-full bg-gray-100 h-[36px] rounded-[8px] text-[15px] leading-[18px] focus:border-1 text-stone-800 placeholder:text-[#6B7280] focus:outline-blue-500 focus:outline-2"},null,512),[[e.vModelText,s.value]])]),e.createElementVNode("div",ir,[e.createElementVNode("input",{ref_key:"fileInput",ref:c,onChange:_,class:"hidden",accept:".json",type:"file"},null,544),e.createElementVNode("div",dr,[e.createElementVNode("div",cr,[e.createElementVNode("div",ur,[e.createElementVNode("button",{onClick:F,class:"bg-white hover:bg-gray-100 font-semibold text-[15px] leadig-[18.5px] py-[10px] px-[12px] border border-[#E5E7EB] rounded-[8px] h-[38px] max-h-[38px] gap-[8px] flex items-center"},[e.createVNode(Oo,{height:"16",width:"16"})])])])])]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"text-slate-700 vsTailwind vs-popover__content bottom",style:e.normalizeStyle([{width:"fit-content","z-index":"10002",position:"fixed"},{position:"absolute",top:u.value.top+"px",left:u.value.left+"px"}])},[e.createElementVNode("div",pr,[e.createElementVNode("div",hr,[e.createElementVNode("button",{onClick:M,class:"text-slate-700 flex items-center gap-1 px-3 py-2 rounded-md cursor-pointer group hover:bg-gray-100"},[e.createVNode(Po,{class:"text-black",width:"14",height:"14"}),v[4]||(v[4]=e.createTextVNode(" Імпортувати ",-1))]),e.createElementVNode("button",{onClick:x,class:"text-slate-700 flex items-center px-3 py-2 rounded-md cursor-pointer group hover:bg-gray-100"},[e.createElementVNode("span",mr,[e.createVNode(Ko,{class:"text-black",width:"14",height:"14"}),v[5]||(v[5]=e.createTextVNode(" Експортувати ",-1))])])])])],4)):e.createCommentVNode("",!0)])),e.createElementVNode("button",{onClick:ee,class:"text-slate-700 bg-white hover:bg-gray-100 font-semibold text-[15px] leadig-[18.5px] py-[10px] px-[12px] border border-[#E5E7EB] rounded-[8px] h-[38px] max-h-[38px] gap-[8px] flex items-center"},[e.createVNode(Ee),v[6]||(v[6]=e.createTextVNode(" Додати ",-1))])]),e.createElementVNode("div",fr,[e.createElementVNode("table",gr,[e.createElementVNode("thead",kr,[e.createElementVNode("tr",br,[e.createElementVNode("th",yr,[e.createVNode(pt,{width:"24",height:"24",class:"w-4 h-4 mx-auto text-slate-400 dark:text-slate-500"})]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.colModel,V=>(e.openBlock(),e.createElementBlock("th",{key:V.key,class:"h-10 px-2 text-left align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] font-semibold text-slate-700 dark:text-slate-300 min-w-[150px]"},e.toDisplayString(V.ua||V.label),1))),128)),v[7]||(v[7]=e.createElementVNode("th",{class:"h-10 px-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] font-semibold text-slate-700 dark:text-slate-300 text-center"}," Дії ",-1))])]),e.createElementVNode("tbody",{class:e.normalizeClass({"[&_tr:last-child]:border-0":!i.value})},[o.value.length===0?(e.openBlock(),e.createElementBlock("td",xr,[e.createElementVNode("div",wr,[e.createElementVNode("div",_r,[e.createVNode(er,{class:"w-48 mx-auto"}),v[8]||(v[8]=e.createElementVNode("div",{class:"max-w-sm mx-auto mt-6"},[e.createElementVNode("p",{class:"font-medium text-gray-800 dark:text-neutral-200"},"Нічого не знайдено"),e.createElementVNode("p",{class:"mt-2 text-sm text-gray-500 dark:text-neutral-500"})],-1))])])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(V,T)=>(e.openBlock(),e.createElementBlock("tr",{key:V.id,class:e.normalizeClass(["border-b data-[state=selected]:bg-muted transition-all duration-200 hover:bg-slate-50/60 dark:hover:bg-slate-700/60 cursor-move",{"opacity-50":r.value===T,"border-t-2 border-b-2 border-blue-500 bg-blue-50 dark:bg-blue-900/20":i.value===T}]),draggable:"true",onDragstart:G=>p(T),onDragover:e.withModifiers(G=>h(T),["prevent"]),onDrop:G=>w(T)},[e.createElementVNode("td",Vr,[e.createElementVNode("div",Cr,[e.createVNode(pt,{width:"24",height:"24",class:"w-4 h-4 mx-auto text-slate-400 dark:text-slate-500"})])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.colModel,G=>(e.openBlock(),e.createElementBlock("td",{key:G.key,class:"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]"},[G.type==="file"?(e.openBlock(),e.createElementBlock("div",Br,[A(te(V,G))?(e.openBlock(),e.createElementBlock("div",vr,[e.createElementVNode("img",{src:te(V,G),alt:"alt",width:"45",class:"rounded-md max-w-[45px] h-[45px] object-cover"},null,8,Nr)])):(e.openBlock(),e.createElementBlock("div",Sr,[e.createVNode(st,{class:"w-[25px] min-w-[25px] h-[25px]"})]))])):G.type==="tiptap-editor"?(e.openBlock(),e.createElementBlock("div",{key:1,class:"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-slate-100 dark:bg-slate-700 text-slate-700 dark:text-slate-300 hover:bg-slate-200 dark:hover:bg-slate-600 transition-colors",innerHTML:te(V,G)},null,8,$r)):(e.openBlock(),e.createElementBlock("div",Mr,e.toDisplayString(te(V,G)),1))]))),128)),e.createElementVNode("td",Fr,[e.createElementVNode("div",Ar,[e.createElementVNode("button",{onClick:G=>S(V,T),class:"text-slate-700 inline-flex items-center justify-center whitespace-nowrap font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border rounded-md text-xs h-7 w-7 p-0 border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 hover:bg-blue-50 dark:hover:bg-slate-600 hover:border-blue-300 dark:hover:border-slate-500 hover:text-blue-600 dark:hover:text-slate-200 transition-all duration-200 shadow-sm"},[e.createVNode(sr,{width:"24",height:"24",class:"w-3 h-3"})],8,Dr),e.createElementVNode("button",{onClick:G=>H(T),class:"text-slate-700 inline-flex items-center justify-center whitespace-nowrap font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border rounded-md text-xs h-7 w-7 p-0 border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 hover:bg-red-50 dark:hover:bg-slate-600 hover:border-red-300 dark:hover:border-slate-500 hover:text-red-600 dark:hover:text-slate-200 transition-all duration-200 shadow-sm"},[e.createVNode(Fe,{width:"24",height:"24",class:"w-3 h-3"})],8,Ir)])])],42,Er))),128))],2)])]),e.createVNode(e.unref(X.VsModal),{visible:b.value,title:m.value,size:"lg",onClose:Z},{default:e.withCtx(()=>[e.createVNode(fe,{schema:t.colModel,values:$.value,"onUpdate:values":v[1]||(v[1]=V=>$.value=V),form:K.value,"onUpdate:form":v[2]||(v[2]=V=>K.value=V)},null,8,["schema","values","form"]),e.createElementVNode("div",Tr,[e.createElementVNode("button",{type:"button",onClick:v[3]||(v[3]=V=>b.value=!1),class:"vs-button inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border !border-gray-200 hover:text-white bg-white text-red-500 hover:border-red-500 hover:bg-red-500 focus:ring-red-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1 mr-2"}," Скасувати "),e.createElementVNode("button",{onClick:P,type:"button",class:"vs-button inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border-1 border-transparent text-white bg-blue-500 hover:bg-blue-600 focus:ring-blue-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1"}," Зберегти ")])]),_:1},8,["visible","title"])]))}}),Lr={draw:{toolbar:{actions:{title:"Скасувати малювання",text:"Скасувати"},finish:{title:"Завершити малювання",text:"Завершити"},undo:{title:"Видалити останню точку",text:"Видалити останню"},buttons:{polyline:"Намалювати лінію",polygon:"Намалювати полігон",rectangle:"Намалювати прямокутник",circle:"Намалювати коло",marker:"Додати точку",circlemarker:"Додати маркер-коло"}},handlers:{circle:{tooltip:{start:"Клацніть і тягніть, щоб намалювати коло",end:"Відпустіть кнопку миші, щоб завершити"},radius:"Радіус"},circlemarker:{tooltip:{start:"Клацніть на карту, щоб додати маркер-коло"}},marker:{tooltip:{start:"Клацніть на карту, щоб додати точку"}},polygon:{tooltip:{start:"Клацніть, щоб почати малювати полігон",cont:"Клацайте, щоб продовжити малювати полігон",end:"Клацніть першу точку, щоб завершити полігон"}},polyline:{error:"<strong>Помилка:</strong> лінія не може перетинатися сама з собою",tooltip:{start:"Клацніть, щоб почати малювати лінію",cont:"Клацайте, щоб продовжити малювати лінію",end:"Клацніть останню точку, щоб завершити лінію"}},rectangle:{tooltip:{start:"Клацніть і тягніть, щоб намалювати прямокутник",end:"Відпустіть кнопку миші, щоб завершити"}},simpleshape:{tooltip:{end:"Відпустіть кнопку миші, щоб завершити"}}}},edit:{toolbar:{actions:{save:{title:"Зберегти зміни",text:"Зберегти"},cancel:{title:"Скасувати редагування",text:"Скасувати"},clearAll:{title:"Очистити всі шари",text:"Очистити все"}},buttons:{edit:"Редагувати шари",editDisabled:"Немає шарів для редагування",remove:"Видалити шари",removeDisabled:"Немає шарів для видалення"}},handlers:{edit:{tooltip:{text:"Перетягніть маркери, щоб редагувати шари",subtext:"Натисніть 'Скасувати', щоб повернутися"}},remove:{tooltip:{text:"Клацніть на шари, щоб видалити їх"}}}}};function Ve(a){return a?a.type==="Polygon"?{type:"MultiPolygon",coordinates:[a.coordinates]}:a.type==="Feature"?{...a,geometry:Ve(a.geometry)}:a.type==="FeatureCollection"?{...a,features:(a.features||[]).map(t=>Ve(t)).filter(Boolean)}:a:null}function Rr(a){return a?a.type==="FeatureCollection"||a.type==="Feature"?Ve(a):a.geom?{type:"Feature",geometry:Ve({type:a.geom.type,coordinates:a.geom.coordinates}),properties:{}}:a.type&&a.coordinates?{type:"Feature",geometry:Ve(a),properties:{}}:null:null}const Or={},zr={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",stroke:"currentColor",fill:"none","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-map-pin"};function jr(a,t){return e.openBlock(),e.createElementBlock("svg",zr,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M9 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0"},null,-1),e.createElementVNode("path",{d:"M17.657 16.657l-4.243 4.243a2 2 0 0 1 -2.827 0l-4.244 -4.243a8 8 0 1 1 11.314 0z"},null,-1)]))}const Ur=O(Or,[["render",jr]]),Pr={},Hr={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none","stroke-width":"2",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-line"};function qr(a,t){return e.openBlock(),e.createElementBlock("svg",Hr,t[0]||(t[0]=[e.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),e.createElementVNode("path",{d:"M6 18m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},null,-1),e.createElementVNode("path",{d:"M18 6m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},null,-1),e.createElementVNode("path",{d:"M7.5 16.5l9 -9"},null,-1)]))}const Gr=O(Pr,[["render",qr]]),Kr={},Zr={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-polygon"};function Wr(a,t){return e.openBlock(),e.createElementBlock("svg",Zr,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M12 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M19 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M5 11m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M15 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"></path><path d="M6.5 9.5l3.5 -3"></path><path d="M14 5.5l3 1.5"></path><path d="M18.5 10l-2.5 7"></path><path d="M13.5 17.5l-7 -5"></path>',9)]))}const Yr=O(Kr,[["render",Wr]]),Jr={},Xr={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-topology-ring-3"};function Qr(a,t){return e.openBlock(),e.createElementBlock("svg",Xr,t[0]||(t[0]=[e.createStaticVNode('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M8 18a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M20 18a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M20 6a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M8 6a2 2 0 1 0 -4 0a2 2 0 0 0 4 0z"></path><path d="M6 8v8"></path><path d="M18 16v-8"></path><path d="M8 6h8"></path><path d="M16 18h-8"></path>',9)]))}const ea=O(Jr,[["render",Qr]]),ta={},na={version:"1.1",viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg","xmlns:sketch":"http://www.bohemiancoding.com/sketch/ns","xmlns:xlink":"http://www.w3.org/1999/xlink",class:"fullscreen-icon"};function la(a,t){return e.openBlock(),e.createElementBlock("svg",na,t[0]||(t[0]=[e.createElementVNode("title",null,null,-1),e.createElementVNode("desc",null,null,-1),e.createElementVNode("defs",null,null,-1),e.createElementVNode("g",{fill:"none","fill-rule":"evenodd",id:"Page-1",stroke:"none","stroke-width":"1"},[e.createElementVNode("g",{fill:"#000000",id:"Core",transform:"translate(-215.000000, -257.000000)"},[e.createElementVNode("g",{id:"fullscreen",transform:"translate(215.000000, 257.000000)"},[e.createElementVNode("path",{d:"M2,9 L0,9 L0,14 L5,14 L5,12 L2,12 L2,9 L2,9 Z M0,5 L2,5 L2,2 L5,2 L5,0 L0,0 L0,5 L0,5 Z M12,12 L9,12 L9,14 L14,14 L14,9 L12,9 L12,12 L12,12 Z M9,0 L9,2 L12,2 L12,5 L14,5 L14,0 L9,0 L9,0 Z",id:"Shape"})])])],-1)]))}const sa=O(ta,[["render",la]]),oa={class:"form-geom__search"},ra={class:"map-search__input"},aa={class:"flex flex-nowrap relative"},ia={class:"form-autocomplete relative min-w-[6rem] vsTailwind map-search__select hidden"},da={class:"flex items-center w-full"},ca={class:"max-w-[90%] truncate"},ua={key:0,class:"absolute z-[3100] mt-0.5 left-0 right-0"},pa={class:"form-autocomplete__wrapper mt-[10px] z-50 w-full min-w-36 max-h-72 p-0 space-y-0.5 bg-white rounded-xl shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] dark:bg-neutral-900 top-full opened"},ha={class:"form-autocomplete__list vsTailwind px-2 pb-2 pt-0 max-h-200 relative [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500 dark:bg-neutral-900"},ma=["onClick"],fa={class:"flex justify-between items-center w-full"},ga={class:"flex items-center"},ka={key:0,class:"flex-shrink-0 w-3.5 h-3.5 text-blue-600",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ba={class:"relative w-full"},ya={class:"vs-form-text relative bg-white rounded-lg"},xa={key:1,class:"absolute left-0 right-0 top-full z-[3200] bg-white border border-gray-200 rounded-b-lg shadow-lg max-h-72 overflow-auto"},wa={key:0},_a=["onClick"],Ea={key:1,class:"px-3 py-2 text-xs text-gray-500"},Va={key:2,class:"px-3 py-2 text-xs text-gray-400"},Ca=e.defineComponent({__name:"map-search",props:{placeholder:{default:"50, 30"}},emits:["goToCoordinates"],setup(a,{emit:t}){const n=t,l=e.ref(!1),s=e.ref("coordinates"),o=e.ref(""),r=e.ref([]),i=e.ref(!1),d=e.ref(!1);let c;const u=[{value:"coordinates",label:"Пошук по кординатам"},{value:"atu",label:"АТУ"},{value:"address",label:"Адресса"},{value:"search_here",label:"Пошук HERE"}],p=e.computed(()=>u.find(x=>x.value===s.value)?.label??"АТУ");function h(x){s.value=x.value,l.value=!1,o.value="",o.value&&M()}function w(x){x.target.closest(".map-search__input")||(l.value=!1)}e.onMounted(()=>document.addEventListener("click",w)),e.onUnmounted(()=>document.removeEventListener("click",w));async function F(x){let m;s.value==="atu"?m="/api/suggest/atu.nsdi.ato_level":s.value==="address"?m="/api/suggest/map.address_id":s.value==="search_here"&&(m="/api/gis-url-proxy");const b=new URL(m||"");return s.value==="search_here"?b.searchParams.set("searchtext",x):(s.value==="atu"||s.value==="address")&&b.searchParams.set("key",x),b.searchParams.set("limit","20"),b.searchParams.set("q",x),(await fetch(b.toString())).json()}function M(){if(i.value=!0,d.value=!0,s.value==="coordinates"){const x=o.value.trim().split(",");if(x.length===2){const m=parseFloat(x[0]),b=parseFloat(x[1]);!Number.isNaN(m)&&!Number.isNaN(b)&&n("goToCoordinates",[m,b])}return}c&&window.clearTimeout(c),c=window.setTimeout(async()=>{const x=o.value.trim();if(!x){r.value=[],d.value=!1;return}try{const m=await F(x);r.value=Array.isArray(m.features)?m.features:[]}catch{r.value=[]}finally{d.value=!1}},300)}function A(){o.value="",r.value=[],i.value=!1,d.value=!1}function _(x){n("goToCoordinates",x),i.value=!1,d.value=!1,r.value=[]}return(x,m)=>(e.openBlock(),e.createElementBlock("div",oa,[e.createElementVNode("div",ra,[e.createElementVNode("div",aa,[e.createElementVNode("div",ia,[e.createElementVNode("button",{type:"button",onClick:m[0]||(m[0]=b=>l.value=!l.value),class:"h-[40px] relative px-4 pe-9 flex text-nowrap w-full cursor-pointer bg-white border border-solid border-stone-200 rounded-lg text-start text-sm text-stone-800 focus:outline-none focus:ring-1 focus:ring-blue-600 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-200"},[e.createElementVNode("div",da,[e.createElementVNode("span",ca,e.toDisplayString(p.value),1)]),m[3]||(m[3]=e.createElementVNode("svg",{class:"stroke-gray-500 absolute right-3 translate-y-1/2 bottom-1/2",width:"15",height:"15",viewBox:"0 0 24 24",fill:"none"},[e.createElementVNode("path",{d:"M6 9l6 6 6-6","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1))]),l.value?(e.openBlock(),e.createElementBlock("div",ua,[e.createElementVNode("div",pa,[e.createElementVNode("div",ha,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(u,b=>e.createElementVNode("div",{onClick:B=>h(b),key:b.value,class:"form-autocomplete__item cursor-pointer hs-selected:bg-stone-100 dark:hs-selected:bg-neutral-800 py-2 px-4 w-full text-sm text-gray-800 hover:bg-gray-100 rounded-lg focus:outline-none focus:bg-stone-100 dark:bg-neutral-900 dark:hover:bg-neutral-800 dark:text-neutral-200 dark:focus:bg-neutral-800 cursor-default"},[e.createElementVNode("div",fa,[e.createElementVNode("div",ga,[e.createElementVNode("div",null,e.toDisplayString(b.label),1)]),b.value===s.value?(e.openBlock(),e.createElementBlock("svg",ka,m[4]||(m[4]=[e.createElementVNode("polyline",{points:"20 6 9 17 4 12"},null,-1)]))):e.createCommentVNode("",!0)])],8,ma)),64))])])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ba,[e.createElementVNode("div",ya,[m[6]||(m[6]=e.createElementVNode("i",{class:"absolute bottom-1/2 translate-y-1/2 left-3 text-gray-500"},[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8","stroke-width":"2"}),e.createElementVNode("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65","stroke-width":"2"})])],-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":m[1]||(m[1]=b=>o.value=b),onInput:M,onFocus:m[2]||(m[2]=b=>i.value=!0),placeholder:"lat, lng ex. 50, 30",class:"bg-white h-[38px] text-sm py-2 px-3 ps-9 pe-8 block w-full border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-stone-800 placeholder:text-stone-400 focus:outline focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,544),[[e.vModelText,o.value]]),o.value?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:A,class:"absolute right-2 bottom-1/2 translate-y-1/2 text-gray-500 hover:text-red-500","aria-label":"Очистити",type:"button"},m[5]||(m[5]=[e.createElementVNode("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12","stroke-linecap":"round","stroke-linejoin":"round"})],-1)]))):e.createCommentVNode("",!0),i.value&&s.value!=="coordinates"?(e.openBlock(),e.createElementBlock("div",xa,[r.value.length?(e.openBlock(),e.createElementBlock("ul",wa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,b=>(e.openBlock(),e.createElementBlock("li",{key:b.properties.place_id,onClick:B=>_(b),class:"px-3 py-2 text-sm cursor-pointer hover:bg-gray-100"},e.toDisplayString(b.properties.display_name),9,_a))),128))])):d.value?(e.openBlock(),e.createElementBlock("div",Ea,"Шукаю…")):(e.openBlock(),e.createElementBlock("div",Va,"Нічого не знайдено"))])):e.createCommentVNode("",!0)])])])])]))}}),Ba={class:"bg-white/95 p-2 rounded-xl shadow border border-gray-200"},va={class:"flex gap-2"},Na=["onClick","title"],Sa=["src"],$a=e.defineComponent({__name:"map-layers",props:{basemaps:{}},emits:["onLayerChange"],setup(a,{emit:t}){const n=a,l=e.ref(Object.keys(n.basemaps)[0]),s=t;function o(r){s("onLayerChange",r),l.value=r}return(r,i)=>(e.openBlock(),e.createElementBlock("div",Ba,[e.createElementVNode("div",va,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.basemaps,(d,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:e.normalizeClass(["cursor-pointer border rounded-lg overflow-hidden hover:shadow-sm",{"ring-2 ring-blue-500 border-blue-300":l.value===c}]),onClick:u=>o(c),title:d.name||c,role:"button",tabindex:"0"},[e.createElementVNode("img",{src:d.preview,alt:"",class:"w-14 h-14 object-cover"},null,8,Sa)],10,Na))),128))])]))}}),Ma={class:"bg-white/95 p-2 rounded-xl shadow border border-gray-200"},Fa={class:"flex items-center gap-2 text-sm text-gray-700 cursor-pointer select-none"},Aa=["checked"],Da=e.defineComponent({__name:"map-scroll-wheel-toggle",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(a,{emit:t}){const n=t;function l(s){const o=s.target;n("update:modelValue",o.checked)}return(s,o)=>(e.openBlock(),e.createElementBlock("div",Ma,[e.createElementVNode("label",Fa,[e.createElementVNode("input",{type:"checkbox",class:"form-checkbox",checked:s.modelValue,onChange:l},null,40,Aa),o[0]||(o[0]=e.createElementVNode("span",null,"Зум колесиком мишки",-1))])]))}}),Ia={class:"absolute top-4 left-4 z-[1000] w-[calc(100%-20px)] sm:w-[350px]"},Ta={class:"form-geom__panel flex gap-1 items-start mt-2"},La={class:"flex items-center gap-1"},Ra=["disabled"],Oa={class:"absolute top-4 right-4 z-[1000]"},za={class:"flex flex-col gap-[2px]"},ja=["aria-pressed"],Ua=["aria-pressed"],Pa=["aria-pressed"],Ha=["aria-pressed"],qa={class:"absolute bottom-0 left-0 right-0 z-[1000] bg-white/95 border-t border-gray-200 text-xs text-gray-700 flex items-center gap-4 pt-1"},Ga={key:0,class:"form-geom__feature flex items-center text-xs transition-all gap-2 w-full"},Ka={class:"mr-auto"},Za={class:"font-bold"},Wa={class:"flex items-center"},Ya={class:"text-xs mr-2"},Ja={key:0,class:"text-xs"},Xa={key:1,class:"text-xs"},mt=O(e.defineComponent({__name:"vs-input-map",props:{tools:{},style:{},customClass:{},disabled:{type:Boolean},modelValue:{},error:{},name:{},placeholder:{}},emits:["update:modelValue"],setup(a,{emit:t}){const n=e.getCurrentInstance(),l=a,s=t,o=e.ref(null);let r,i,d;const c=e.ref(null),u=e.ref(null),p=e.ref(6),h=e.ref(0),w=e.ref(n?.appContext.config.globalProperties.$settings?.center||[50,30]),F=e.ref(null),M=e.ref(!1),A=ce();let _;const x=e.ref("topo100");function m(k){return k?k.type==="Polygon"?{type:"MultiPolygon",coordinates:[k.coordinates]}:(k.type==="MultiPolygon",k):null}function b(){return new Promise((k,y)=>{window.L&&window.L.Draw&&k(0);const I=W=>{if(Array.from(document.styleSheets).some(ge=>ge?.href?.includes(W)))return;const oe=document.createElement("link");oe.rel="stylesheet",oe.href=W,document.head.appendChild(oe)},q=W=>new Promise((pe,oe)=>{const ge=Array.from(document.scripts).find(be=>be.src===W);if(ge){ge.addEventListener("load",()=>pe()),ge.addEventListener("error",be=>oe(be));return}const ke=document.createElement("script");ke.src=W,ke.async=!0,ke.onload=()=>pe(),ke.onerror=be=>oe(be),document.body.appendChild(ke)});I("https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"),I("https://unpkg.com/leaflet-draw@1.0.4/dist/leaflet.draw.css"),q("https://unpkg.com/leaflet@1.9.4/dist/leaflet.js").then(()=>q("https://unpkg.com/leaflet-draw@1.0.4/dist/leaflet.draw.js")).then(()=>k(0)).catch(y)})}function B(){const k=i.toGeoJSON(),y=[],I=W=>{if(W)switch(W.type){case"Polygon":y.push(W.coordinates);break;case"MultiPolygon":y.push(...W.coordinates);break;case"GeometryCollection":(W.geometries||[]).forEach(I);break}};(k?.features||[]).forEach(W=>I(W.geometry));const q=y.length?{type:"MultiPolygon",coordinates:y}:null;s("update:modelValue",q?m(q):null),h.value=i.getLayers().length}function j(k=30){const y=i.getLayers();if(!y.length)return;const q=L.featureGroup(y).getBounds();q&&q.isValid()&&r.fitBounds(q,{padding:[k,k]})}function $(){c.value?.click()}const K=e.ref("");function ee(k){return k instanceof L.Circle?"Circle":k instanceof L.Rectangle?"Rectangle":k instanceof L.Polygon&&!(k instanceof L.Rectangle)?"Polygon":k instanceof L.Polyline&&!(k instanceof L.Polygon)?"Polyline":k instanceof L.Marker?"Point":"Feature"}function te(k){if(k instanceof L.Circle){const y=k.getRadius();return Math.PI*(y*y)/1e6}if(k instanceof L.Polygon||k instanceof L.Rectangle)try{const y=k.getLatLngs(),I=Array.isArray(y[0])?y[0]:y,q=L.GeometryUtil?.geodesicArea?L.GeometryUtil.geodesicArea(I):0;return q?q/1e6:0}catch{return null}return null}function S(k){return k instanceof L.Circle?k.getLatLng():k.getBounds?k.getBounds().getCenter():k.getLatLng?k.getLatLng():r.getCenter()}function P(){const k=i.getLayers();if(!k.length){F.value=null,h.value=0;return}const y=k[k.length-1],I=ee(y),q=S(y),W=te(y);F.value={type:I,center:q,areaKm2:W,layer:y},h.value=k.length}function H(){const k=F.value?.layer;k&&(k instanceof L.Circle&&k.getBounds?r.fitBounds(k.getBounds(),{padding:[30,30]}):k.getBounds?r.fitBounds(k.getBounds(),{padding:[30,30]}):k.getLatLng&&r.setView(k.getLatLng(),Math.max(p.value,14)))}function Z(){const k=F.value?.layer;k&&(i.removeLayer(k),B(),P())}e.onMounted(async()=>{await b(),L.drawLocal=Lr,r=L.map(o.value,{zoomControl:!1,scrollWheelZoom:M.value}).setView(w.value,10),L.control.zoom({position:"bottomright"}).addTo(r),M.value||r.scrollWheelZoom.disable(),x.value=Object.keys(A)[0],_=L.tileLayer(A[x.value].url,{maxZoom:19,minZoom:6}).addTo(r),i=new L.FeatureGroup().addTo(r),r.on(L.Draw.Event.CREATED,I=>{const{layer:q}=I;i.clearLayers(),i.addLayer(q),B(),P(),j(),K.value=""}),r.on(L.Draw.Event.EDITED,()=>{B(),P(),j()}),r.on(L.Draw.Event.DELETED,()=>{B(),P(),j()});let k=!1;r.on("mousemove",I=>{k||(r.invalidateSize(),k=!0),u.value=I.latlng}),r.on("zoomend",()=>{p.value=r.getZoom()});const y=Rr(l.modelValue);if(y){const I=[];L.geoJSON(y).eachLayer(q=>I.push(q)),I.length&&i.addLayer(I[0]),B(),P(),j()}}),e.watch(M,k=>{r&&(k?r.scrollWheelZoom.enable():r.scrollWheelZoom.disable())});function N(k){if(r){switch(d&&d.disable(),k){case"marker":d=new L.Draw.Marker(r);break;case"polyline":d=new L.Draw.Polyline(r);break;case"polygon":d=new L.Draw.Polygon(r);break;case"rectangle":d=new L.Draw.Rectangle(r);break;default:d=new L.Draw.Rectangle(r);break}d&&(d.enable(),K.value=k)}}function v(){const k=i.toGeoJSON(),y=new Blob([JSON.stringify(k,null,2)],{type:"application/json"}),I=URL.createObjectURL(y),q=document.createElement("a");q.href=I,q.download="data.geojson",q.click(),URL.revokeObjectURL(I)}function V(k){const y=k.target.files?.[0];if(!y)return;const I=new FileReader;I.onload=()=>{if(typeof I.result=="string")try{const q=JSON.parse(I.result);i.clearLayers(),q&&L.geoJSON({type:"Feature",geometry:q}).eachLayer(W=>{i.addLayer(W)}),B(),P(),j()}finally{k.target.value=""}},I.readAsText(y)}function T(k){r&&(_&&r.removeLayer(_),_=L.tileLayer(A[k].url,{maxZoom:19,minZoom:6}).addTo(r),x.value=k)}function G(k){const y=L.latLng(k[0],k[1]);r.setView(y,13)}e.watch(()=>l.modelValue,k=>{const y=m(k);if(k&&y!==k){s("update:modelValue",y);return}i.clearLayers(),y&&L.geoJSON({type:"Feature",geometry:y}).eachLayer(I=>{i.addLayer(I),I.dragging?.enable(),I.dragging?.enabled(),I.on("dragend",q=>{const pe=q.target.getLatLng();s("update:modelValue",{type:"Point",coordinates:[pe.lng,pe.lat]})})}),h.value=i.getLayers().length,P(),j()});function ce(){return n?.appContext.config.globalProperties.$settings?.basemaps?n?.appContext.config.globalProperties.$settings?.basemaps.map((k,y)=>Object.assign(k,{key:`b${y}`,preview:k.preview||k.url.replace("{z}/{x}/{y}.png","13/4790/2762.png")})).reduce((k,y)=>({...k,[y.key]:y}),{}):{topo100:{url:"https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",preview:"https://data.gki.com.ua/api-user/rtile/voyager/ua/13/4790/2762.png"},orto10:{url:"https://data.gki.com.ua/api-user/rtile/orto10/ua/{z}/{x}/{y}.png",preview:"https://data.gki.com.ua/api-user/rtile/orto10/ua/13/4790/2762.png"},osmb:{url:"https://tile.openstreetmap.org.ua/styles/osm-bright/{z}/{x}/{y}.png",preview:"https://tile.openstreetmap.org.ua/styles/osm-bright/13/4790/2762.png"}}}const ue=e.ref(!1);return e.watch(ue,()=>{setTimeout(()=>{r.invalidateSize()},50)}),(k,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["leaflet-map-wrapper relative w-full h-[400px]",{fullscreen:ue.value}])},[e.createElementVNode("div",{ref_key:"mapContainer",ref:o,class:"w-full h-full"},null,512),e.createElementVNode("div",Ia,[e.createVNode(Ca,{onGoToCoordinates:G}),e.createElementVNode("div",Ta,[e.createElementVNode("div",La,[e.createElementVNode("button",{type:"button",class:"vs-btn-row",onClick:$},"Import"),e.createElementVNode("button",{type:"button",class:"vs-btn-row",onClick:v,disabled:h.value===0},"Export ",8,Ra)]),e.createElementVNode("input",{ref_key:"importRef",ref:c,type:"file",onChange:V,accept:".json,.geojson",class:"hidden"},null,544)]),e.createVNode(Da,{class:"mt-2",modelValue:M.value,"onUpdate:modelValue":y[0]||(y[0]=I=>M.value=I)},null,8,["modelValue"])]),e.createElementVNode("div",Oa,[e.createElementVNode("div",za,[e.createElementVNode("button",{class:e.normalizeClass(["vs-btn",{"vs-active":K.value==="marker"}]),"aria-pressed":K.value==="marker",title:"Point (P)","aria-label":"Draw point",onClick:y[1]||(y[1]=I=>N("marker"))},[e.createVNode(Ur)],10,ja),e.createElementVNode("button",{class:e.normalizeClass(["vs-btn",{"vs-active":K.value==="polyline"}]),"aria-pressed":K.value==="polyline",title:"Line (L)","aria-label":"Draw polyline",onClick:y[2]||(y[2]=I=>N("polyline"))},[e.createVNode(Gr)],10,Ua),e.createElementVNode("button",{class:e.normalizeClass(["vs-btn",{"vs-active":K.value==="polygon"}]),"aria-pressed":K.value==="polygon",title:"Polygon (G)","aria-label":"Draw polygon",onClick:y[3]||(y[3]=I=>N("polygon"))},[e.createVNode(Yr)],10,Pa),e.createElementVNode("button",{class:e.normalizeClass(["vs-btn",{"vs-active":K.value==="rectangle"}]),"aria-pressed":K.value==="rectangle",title:"Rectangle (R)","aria-label":"Draw rectangle",onClick:y[4]||(y[4]=I=>N("rectangle"))},[e.createVNode(ea)],10,Ha),e.createElementVNode("button",{class:"vs-btn mt-5",onClick:y[5]||(y[5]=I=>{ue.value=!ue.value}),title:"Full Screen","aria-label":"Full Screen"},[e.createVNode(sa,{style:{width:"12px",height:"12px"}})])])]),e.createElementVNode("div",{class:e.normalizeClass(["absolute left-4 z-[1000]",F.value?"bottom-8":"bottom-4"])},[e.createVNode($a,{basemaps:e.unref(A),onOnLayerChange:T},null,8,["basemaps"])],2),e.createElementVNode("div",qa,[F.value?(e.openBlock(),e.createElementBlock("div",Ga,[e.createElementVNode("div",Ka,[y[8]||(y[8]=e.createTextVNode(" Тип: ",-1)),e.createElementVNode("span",Za,e.toDisplayString(F.value.type),1)]),e.createElementVNode("div",Wa,[e.createElementVNode("div",Ya,[y[9]||(y[9]=e.createTextVNode(" Центр: ",-1)),e.createElementVNode("b",null,e.toDisplayString(F.value.center.lat.toFixed(5))+", "+e.toDisplayString(F.value.center.lng.toFixed(5)),1)]),F.value.areaKm2!==null?(e.openBlock(),e.createElementBlock("div",Ja,[y[10]||(y[10]=e.createTextVNode(" Площа: ",-1)),e.createElementVNode("b",null,e.toDisplayString(F.value.areaKm2.toFixed(1))+"км²",1)])):(e.openBlock(),e.createElementBlock("div",Xa,y[11]||(y[11]=[e.createTextVNode(" Площа: ",-1),e.createElementVNode("b",null,"—",-1)]))),e.createElementVNode("button",{class:"tool bg-gray-100 py-1.5 px-2 rounded-lg text-md mr-1 cursor-pointer hover:bg-blue-500 hover:text-white transition-all",title:"Наблизити",onClick:y[6]||(y[6]=I=>H())},y[12]||(y[12]=[e.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-3 h-3" data-v-c87e933d><path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0" data-v-c87e933d></path><path d="M7 10l6 0" data-v-c87e933d></path><path d="M10 7l0 6" data-v-c87e933d></path><path d="M21 21l-6 -6" data-v-c87e933d></path></svg>',1)])),e.createElementVNode("button",{class:"tool bg-gray-100 py-1.5 px-2 rounded-lg text-md cursor-pointer hover:bg-blue-500 hover:text-white transition-all",title:"Видалити",onClick:y[7]||(y[7]=I=>Z())},[e.createVNode(Fe,{class:"w-3 h-3"})])])])):e.createCommentVNode("",!0)])],2))}}),[["__scopeId","data-v-c87e933d"]]),Qa=["data-focus"],ei={class:"flex items-center"},ti={class:"overflow-hidden text-ellipsis whitespace-nowrap rounded-sm text-[#333] text-[85%] px-0.5 py-[3px] pl-1.5 box-border"},ni=["onClick","aria-label"],li={key:0,class:"absolute text-gray-500 truncate pl-2"},si={class:"flex-1 min-w-[2px]"},oi=["placeholder"],ri={class:"flex items-center shrink-0"},ai=["disabled"],ft=e.defineComponent({__name:"vs-input-tag",props:e.mergeModels({unique:{type:Boolean,default:!0},style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{default:"Введіть тег"}},{modelValue:{default:[]},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue"],["update:modelValue"]),setup(a,{emit:t}){const n=a,l=t;le(n.style);const s=e.ref(null),o=e.ref(null),r=e.ref(null),i=e.ref(!1),d=e.ref(""),c=e.useModel(a,"modelValue"),u=e.computed(()=>n.placeholder||"Add tag…"),p=e.computed(()=>c.value?.length===0&&d.value===""),h=e.computed(()=>!n.disabled&&c.value?.length>0),w=e.computed(()=>n.disabled),F=async()=>{w.value||await e.nextTick(()=>r.value?.focus())},M=j=>{const $=j.trim();$!==""&&(!c.value||!Array.isArray(c.value)?c.value=[$]:n.unique?c.value.includes($)||(c.value=[...c.value,$]):c.value=[...c.value,$],d.value="")},A=()=>{const j=d.value;j.trim()!==""&&M(j),d.value=""},_=j=>{const $=c.value.slice();$.splice(j,1),l("update:modelValue",$)},x=()=>{l("update:modelValue",[])},m=()=>{w.value||(i.value=!0)},b=()=>{i.value=!1},B=j=>{const{key:$}=j;$==="Enter"?(j.preventDefault(),A()):$==="Backspace"&&d.value===""&&c.value.length>0&&_(c.value.length-1)};return(j,$)=>(e.openBlock(),e.createElementBlock("div",{class:"flex gap-1 w-full",ref_key:"root",ref:s,onClick:$[1]||($[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(["relative w-full font-sans",n.customClass]),role:"group","aria-label":"Tag input"},[e.createElementVNode("div",{class:e.normalizeClass(["flex min-h-[38px] items-center justify-between rounded border transition-colors bg-white","border-gray-300 hover:border-gray-400",i.value?"border-blue-500 ring-1 ring-blue-500":"",w.value?"bg-gray-100 text-gray-400 cursor-not-allowed hover:border-gray-300":""]),"data-focus":i.value?"true":"false",onClick:F},[e.createElementVNode("div",{class:"flex flex-1 flex-wrap items-center gap-1 py-0.5 pl-2 pr-0 overflow-hidden",ref_key:"chipsRef",ref:o},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(K,ee)=>(e.openBlock(),e.createElementBlock("div",{key:ee,class:"flex min-w-0 bg-[#e6e6e6] rounded-sm m-0.5 box-border"},[e.createElementVNode("div",ei,[e.createElementVNode("div",ti,e.toDisplayString(K),1)]),e.createElementVNode("div",{role:"button",class:"flex items-center rounded-sm px-1 box-border hover:bg-[#ffbdad] hover:text-[#de350b]",onClick:e.withModifiers(te=>_(ee),["stop"]),"aria-label":`Remove ${K}`},$[2]||($[2]=[e.createElementVNode("svg",{height:"14",width:"14",viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",class:"inline-block fill-current stroke-current leading-none stroke-0"},[e.createElementVNode("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"})],-1)]),8,ni)]))),128)),p.value?(e.openBlock(),e.createElementBlock("div",li,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",si,[w.value?e.createCommentVNode("",!0):e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,ref_key:"inputRef",ref:r,class:"pl-2 w-full bg-transparent outline-none border-0 m-0 p-0 text-gray-900",autocapitalize:"none",autocomplete:"off",autocorrect:"off",spellcheck:"false",type:"text",tabindex:"0","aria-label":"Add tag","onUpdate:modelValue":$[0]||($[0]=K=>d.value=K),onFocus:m,onBlur:b,onKeydown:B,placeholder:c.value&&c.value.length?"":void 0},null,40,oi)),[[e.vModelText,d.value]])])],512),e.createElementVNode("div",ri,[h.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"px-2 text-gray-400 hover:text-gray-500 transition-colors disabled:opacity-50","aria-label":"Clear all tags",disabled:w.value,onClick:e.withModifiers(x,["stop"])},$[3]||($[3]=[e.createElementVNode("svg",{height:"20",width:"20",viewBox:"0 0 20 20",class:"fill-current"},[e.createElementVNode("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"})],-1)]),8,ai)):e.createCommentVNode("",!0)])],10,Qa)],2)],512))}}),ii={class:"relative flex gap-1 bg-white w-full"},di=["disabled","placeholder"],gt=O(e.defineComponent({__name:"vs-input-slug",props:e.mergeModels({disabled:{type:Boolean},placeholder:{},parent:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=e.inject("values"),n=a,l=e.useModel(a,"modelValue");function s(r){const i={а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"e",ж:"zh",з:"z",и:"i",й:"y",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"kh",ц:"ts",ч:"ch",ш:"sh",щ:"shch",ы:"y",э:"e",ю:"yu",я:"ya",ь:"",ъ:"",є:"ye",і:"i",ї:"yi",ґ:"g"};return r.toLowerCase().split("").map(d=>i[d]||d).join("").replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}const o=()=>{const r=t?.value?.[n.parent||""]?.toString(),i=s(r);l.value=i.toString()};return(r,i)=>(e.openBlock(),e.createElementBlock("div",ii,[e.withDirectives(e.createElementVNode("input",{ref:"vsText",disabled:r.disabled,placeholder:r.placeholder,"onUpdate:modelValue":i[0]||(i[0]=d=>l.value=d),class:"block w-full px-3 py-2 text-sm border border-solid rounded-lg placeholder:text-nowrap border-stone-200 text-stone-800 placeholder:text-stone-400 focus:outline focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-500"},null,8,di),[[e.vModelText,l.value]]),e.createElementVNode("button",{class:"px-2 bg-gray-100 border rounded-lg hover:bg-gray-200",onClick:o}," Gen ")]))}}),[["__scopeId","data-v-b0eba370"]]),ci={class:"w-full"},ui={ref:"sortableContainer",class:"flex flex-col gap-1"},pi=["onDragstart","onDrop"],hi={class:"w-1/3"},mi={class:"w-2/3"},fi=["onClick"],gi={key:0,class:"text-[14px] text-gray-700"},ki={class:"mt-2 w-full flex items-center"},bi=["disabled"],kt=O(e.defineComponent({__name:"vs-input-key-value",props:{parent:{},ignore:{},addButtonText:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:t}){const n=A=>`${A}-${Math.random().toString(36).substring(2,15)}`,l=e.inject("values"),s=a,o=t,r=s.addButtonText??"Додати",i=s.ignore??[],d=e.ref([]),c=e.ref(null);(()=>{const A=s.parent&&l?.value?.[s.parent]||s.modelValue||{};d.value=Object.entries(A).filter(([_])=>!i.includes(_)).map(([_,x])=>({id:n("key-value-"),key:_,value:x}))})();function p(A){c.value=A}function h(A){if(c.value===null||c.value===A)return;const _=d.value.splice(c.value,1)[0];d.value.splice(A,0,_),c.value=null}const w=e.computed(()=>d.value.some(A=>A.key&&!A.value||!A.key&&A.value)),F=()=>{d.value.push({id:n("key-value-"),key:"",value:""})},M=A=>{d.value=d.value.filter(_=>_.id!==A)};return e.watch(d,A=>{const _={};A.forEach(m=>{m.key&&m.value!==void 0&&(_[m.key]=m.value)});const x={};i.length&&i.forEach(m=>{x[m]=s.parent?l?.value?.[s.parent]?.[m]:void 0}),l?.value&&s.parent&&(l.value[s.parent]={...x,..._}),o("update:modelValue",_)},{deep:!0}),(A,_)=>(e.openBlock(),e.createElementBlock("div",ci,[e.createElementVNode("div",ui,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(x,m)=>(e.openBlock(),e.createElementBlock("div",{key:x.id,class:e.normalizeClass(["flex items-center gap-2 w-full",{"opacity-50":c.value===m}]),draggable:"true",onDragstart:b=>p(m),onDragover:_[0]||(_[0]=e.withModifiers(()=>{},["prevent"])),onDrop:b=>h(m)},[_[1]||(_[1]=e.createStaticVNode('<button class="cursor-move" data-v-a0f7fbfc><svg fill="#000000" width="20" height="20" viewBox="0 0 36 36" data-v-a0f7fbfc><circle cx="15" cy="12" r="1.5" data-v-a0f7fbfc></circle><circle cx="15" cy="24" r="1.5" data-v-a0f7fbfc></circle><circle cx="21" cy="12" r="1.5" data-v-a0f7fbfc></circle><circle cx="21" cy="24" r="1.5" data-v-a0f7fbfc></circle><circle cx="21" cy="18" r="1.5" data-v-a0f7fbfc></circle><circle cx="15" cy="18" r="1.5" data-v-a0f7fbfc></circle></svg></button>',1)),e.createElementVNode("div",hi,[e.createVNode(_e,{modelValue:x.key,"onUpdate:modelValue":b=>x.key=b,placeholder:"Ключ"},null,8,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("div",mi,[e.createVNode(_e,{modelValue:x.value,"onUpdate:modelValue":b=>x.value=b,placeholder:"Значення"},null,8,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("button",{onClick:b=>M(x.id),class:"shrink-0 w-[30px] text-gray-600 h-[30px] rounded-full flex items-center justify-center bg-gray-100 hover:bg-gray-200"},[e.createVNode(e.unref(Un),{height:"16",width:"16"})],8,fi)],42,pi))),128))],512),d.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",gi," Дані для відображення відсутні ")),e.createElementVNode("div",ki,[e.createElementVNode("button",{type:"button",onClick:F,disabled:w.value,class:"py-1.5 px-2 flex items-center gap-x-1 text-xs font-medium rounded-full border border-dashed border-gray-200 bg-white text-gray-800 hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed"},[e.createVNode(Ee,{height:"14",width:"14"}),e.createTextVNode(" "+e.toDisplayString(e.unref(r)),1)],8,bi)])]))}}),[["__scopeId","data-v-a0f7fbfc"]]),yi={class:"flex items-center gap-2 w-full"},xi=["disabled"],bt=e.defineComponent({__name:"vs-input-color",props:{style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{default:""}},emits:["update:modelValue"],setup(a,{emit:t}){const n=a,{inputClass:l}=le(n.style),s=t,o=e.computed({get:()=>n.modelValue||"#000000",set:r=>s("update:modelValue",r)});return(r,i)=>(e.openBlock(),e.createElementBlock("div",yi,[e.withDirectives(e.createElementVNode("input",{type:"color","onUpdate:modelValue":i[0]||(i[0]=d=>o.value=d),disabled:r.disabled,ref:"color",class:e.normalizeClass(["py-1.5 px-1 block w-full bg-white cursor-pointer max-w-[50px]",[r.modelValue?"":"text-opacity-50",e.unref(l)].join(" ")]),style:{border:"1px solid #CFD9E0"}},null,10,xi),[[e.vModelText,o.value]]),e.withDirectives(e.createElementVNode("input",{class:"text-sm text-gray-600 border border-solid border-stone-200 rounded-md p-2","onUpdate:modelValue":i[1]||(i[1]=d=>o.value=d)},null,512),[[e.vModelText,o.value]])]))}}),wi={class:"flex items-center gap-2 w-full"},_i=["min","max","step","disabled"],yt=e.defineComponent({__name:"vs-input-range",props:{style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{},name:{},placeholder:{default:""},min:{default:0},max:{default:100},step:{default:1}},emits:["update:modelValue"],setup(a,{emit:t}){const n=a,{inputClass:l}=le(n.style),s=t,o=e.computed({get:()=>Number(n.modelValue??n.min),set:r=>s("update:modelValue",Number(r))});return(r,i)=>(e.openBlock(),e.createElementBlock("div",wi,[e.withDirectives(e.createElementVNode("input",{type:"range","onUpdate:modelValue":i[0]||(i[0]=d=>o.value=d),min:r.min,max:r.max,step:r.step,disabled:r.disabled,ref:"range",class:e.normalizeClass(["w-full cursor-pointer accent-blue-500",[r.modelValue?"":"text-opacity-50",e.unref(l)].join(" ")])},null,10,_i),[[e.vModelText,o.value]]),e.withDirectives(e.createElementVNode("input",{class:"text-sm text-gray-600 border border-solid border-stone-200 rounded-md p-2 max-w-[100px]",type:"number","onUpdate:modelValue":i[1]||(i[1]=d=>o.value=d)},null,512),[[e.vModelText,o.value]])]))}}),Ei=["type","value","onInput","placeholder","disabled"],xt=e.defineComponent({__name:"vs-input-array",props:e.mergeModels({count:{default:1},limit:{default:a=>a.count??1},inputType:{default:"text"},style:{default:()=>({})},customClass:{default:""},disabled:{type:Boolean,default:!1},modelValue:{},error:{default:""},name:{},placeholder:{default:""}},{modelValue:{default:[]},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,{inputClass:n}=le(t.style),l=e.useModel(a,"modelValue");e.watchEffect(()=>{const o=l.value?.length??0;o<t.count&&(l.value=[...l.value??[],...Array(t.count-o)])});function s(o,r){const i=o.target.value,d=[...l.value];d[r]=t.inputType==="text"?i:Number(i),l.value=d}return(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["grid gap-2",`grid-cols-${o.limit}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.count,i=>(e.openBlock(),e.createElementBlock("input",{type:o.inputType,value:l.value?.[i-1]??"",onInput:d=>s(d,i-1),placeholder:o.placeholder,disabled:o.disabled,class:e.normalizeClass(["py-1.5 px-3 block w-full placeholder:text[#767f8f] bg-white",[e.unref(n),{"!border-red-600":o.error}]]),style:{border:"1px solid #CFD9E0"}},null,42,Ei))),256))],2))}}),wt={VsInputText:_e,VsInputRadio:Pe,"vs-input-text":_e,"vs-input-password":kn,"vs-input-textarea":ut,"vs-input-mask":Qe,"vs-input-number":Je,"vs-input-radio":Pe,"vs-input-select":He,"vs-input-switcher":je,"vs-input-static":Ue,"vs-input-container":ct,"vs-input-date":nt,"vs-input-checkbox":tt,"vs-input-file":at,"vs-input-html":Ue,"vs-input-email":et,"vs-input-datatable":ht,"vs-input-map":mt,"vs-input-file-list":it,"vs-input-tags":ft,"vs-input-slug":gt,"vs-input-key-value":kt,"vs-input-range":yt,"vs-input-color":bt,"vs-input-native-select":He,"vs-input-array":xt},Vi=e.defineComponent({__name:"behavior",props:{api:{},set:{},button:{},error:{},value:{}},setup(a){const t=a,n=e.inject("values");async function l(){try{if(!t.api)return;const s=t.api.replace("{{value}}",t.value),o=await fetch(s);if(!o.ok){X.notify({type:"warning",title:"Validation",message:"При спробі завантажити дані виникла помилка."});return}const r=await o.json();if(!t.set||!n)return;for(const[i,d]of Object.entries(t.set))n.value[i]=r.result[d]}catch(s){console.error(t.error,s)}}return(s,o)=>(e.openBlock(),e.createElementBlock("button",{onClick:l,class:"vs-button relative inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border !border-gray-200 hover:text-white bg-white text-blue-500 hover:border-blue-500 hover:bg-blue-500 focus:ring-blue-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1 ml-0 md:ml-2 mt-2 md:mt-0 py-[8px] md:w-2/4 whitespace-nowrap w-full"},e.toDisplayString(s.button),1))}}),Ci={class:"flex flex-col gap-1 w-full"},Bi={key:0,class:"text-sm text-gray-500"},_t=e.defineComponent({__name:"vs-compact-form-layout",props:e.mergeModels({item:{default:{}},layout:{default:"default"},style:{default:{}},type:{default:""},error:{type:[String,Boolean]}},{modelValue:{default:null},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=e.computed(()=>fn[`${t.layout}`]),s=e.computed(()=>wt?.[`vs-input-${t.item.type}`]),o=e.computed(()=>{const i=e.unref(s);if(!i)return new Set;const d=i.props??i.__vccOpts?.props;if(!d)return new Set;const c=Array.isArray(d)?d:Object.keys(d);return new Set(c)}),r=e.computed(()=>{const i=t.item??{},d=o.value;return d.size?Object.fromEntries(Object.entries(i).filter(([c])=>d.has(c))):{}});return(i,d)=>e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{ua:t.item.ua,error:t.error||"",item:i.item,label:t.item.label},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex w-full",`${t.item.type}-component`])},[e.createElementVNode("div",Ci,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),e.mergeProps(r.value,{modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=c=>n.value=c)}),null,16,["modelValue"])),i.item.description&&t.layout!=="settings"?(e.openBlock(),e.createElementBlock("p",Bi,e.toDisplayString(i.item.description),1)):e.createCommentVNode("",!0)]),i.item.behavior?.api&&i.item.behavior?.button?(e.openBlock(),e.createBlock(Vi,e.mergeProps({key:0},i.item.behavior,{value:n.value}),null,16,["value"])):e.createCommentVNode("",!0)],2)]),_:1},8,["ua","error","item","label"])),[[e.vShow,!i.item.hidden]])}}),vi={class:"text-sm text-gray-800 ml-[10px] mb-[4px] font-medium dark:text-neutral-300"},Ni=["onClick"],Si=e.defineComponent({__name:"vs-compact-form-navigation",props:{target:{},scrollContainer:{},title:{default:"Навігація по формі"},enabled:{type:Boolean,default:!0},width:{default:400}},setup(a,{expose:t}){const n=a,l=e.ref([]),s=e.ref(""),o=e.ref(""),r=e.computed(()=>!!n.enabled),i=e.computed(()=>["flex flex-col border-l pl-[6px] pt-[8px] pr-[8px]","sticky top-0 self-start shrink-0","max-h-full min-h-0 overflow-y-auto"]),d=e.computed(()=>{const S=n.width;if(S==null)return{};const P=typeof S=="number"?`${S}px`:`${S}`;return{width:P,minWidth:P}});let c=null,u=0,p=0,h=null,w=null,F=null;const M=()=>ee(),A=()=>x();e.watch(()=>n.target,async S=>{if(j(),!S){h=null,l.value=[],s.value="";return}h=S,r.value&&(await e.nextTick(),B(S),x())},{immediate:!0}),e.watch(()=>n.scrollContainer,S=>{if(!r.value){w=S??null;return}_(S??null),e.nextTick(()=>x())},{immediate:!0}),e.onMounted(()=>{n.scrollContainer||_(null),x()}),e.onBeforeUnmount(()=>{j(),_(null,!0),h=null,typeof window<"u"&&(u&&window.cancelAnimationFrame(u),p&&window.cancelAnimationFrame(p))});function _(S,P=!1){if(F&&(F(),F=null),P){w=null;return}if(w=S??null,typeof window>"u")return;const H=S??window,Z=window;H.addEventListener("scroll",M,{passive:!0}),Z.addEventListener("resize",A),F=()=>{H.removeEventListener("scroll",M),Z.removeEventListener("resize",A)}}function x(){if(!r.value||!h)return;u&&typeof window<"u"&&window.cancelAnimationFrame(u);const S=()=>{m(),u=0};typeof window>"u"?S():u=window.requestAnimationFrame(S)}function m(){if(!r.value||!h)return;const S=Array.from(h.querySelectorAll("h1, h2")),P=new Set,H=[];S.forEach((Z,N)=>{const v=Z.textContent?.trim()??"";if(!v)return;let V=(Z.getAttribute("id")??"").trim();V||(V=b(v)||`heading-${N+1}`);let T=V,G=1;for(;P.has(T);)T=`${V}-${G++}`;Z.id!==T&&(Z.id=T),P.add(T),H.push({id:T,text:v,level:Z.tagName.toLowerCase()==="h1"?1:2})}),l.value=H,H.length||(s.value=""),K()}function b(S){return S.toLowerCase().replace(/[^a-z0-9\s-]/g,"").trim().replace(/\s+/g,"-")}function B(S){!S||!r.value||typeof MutationObserver>"u"||(j(),c=new MutationObserver(()=>x()),c.observe(S,{childList:!0,subtree:!0}))}function j(){c&&(c.disconnect(),c=null)}function $(S){const P=w;if(!P)return typeof window>"u"?S.offsetTop:S.getBoundingClientRect().top+window.scrollY;const H=S.getBoundingClientRect(),Z=P.getBoundingClientRect();return H.top-Z.top+P.scrollTop}function K(){if(!r.value||!l.value.length)return;const S=w,P=S?S.scrollTop:typeof window<"u"?window.scrollY:0,H=S?S.clientHeight:typeof window<"u"?window.innerHeight:0,Z=P+H;let N=null;for(const V of l.value){const T=document.getElementById(V.id);if(!T)continue;const G=$(T);G+T.offsetHeight>P&&G<Z&&(N=V.id)}!N&&o.value&&(N=o.value),N&&(o.value=N);const v=S?S.scrollHeight-S.clientHeight:document.documentElement.scrollHeight-window.innerHeight;P+5>=v&&(N=l.value[l.value.length-1].id),N&&(s.value=N)}function ee(){r.value&&(p&&window.cancelAnimationFrame(p),p=window.requestAnimationFrame(()=>{K(),p=0}))}function te(S){if(!r.value)return;const P=document.getElementById(S);if(!P)return;const H=w,Z=Math.max(0,$(P));H?H.scrollTo({top:Z,behavior:"smooth"}):typeof window<"u"&&window.scrollTo({top:Z,behavior:"smooth"})}return t({refresh:x}),(S,P)=>r.value&&l.value.length?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value),style:e.normalizeStyle(d.value)},[e.createElementVNode("h2",vi,e.toDisplayString(S.title),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,H=>(e.openBlock(),e.createElementBlock("button",{key:H.id,type:"button",onClick:Z=>te(H.id),class:e.normalizeClass(["flex gap-x-3 py-[6px] px-3 text-sm relative duration-200 hover:text-gray-800",H.level===2?"ml-[14px]":"ml-0",H.id===s.value?"text-gray-800 after:content-[''] after:absolute after:left-[-7px] after:w-[2px] after:h-[20px] after:bg-blue-600":"text-gray-500"])},[e.createElementVNode("span",null,e.toDisplayString(H.text),1)],10,Ni))),128))],6)):e.createCommentVNode("",!0)}}),Et={required:"Це поле є обов’язковим",email:"Неправильний email"},$i=a=>a?!1:Et.required,Mi=a=>{const t=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;return a?t.test(a)?!1:Et.email:!1},Fi=(a,t)=>{const n=t.pattern??t.regexp;return!(typeof n=="string"?new RegExp(n):n).test(a)&&a?t.message:!1},Ai=(a,t)=>!1,Di=(a,t)=>{switch(typeof t=="string"?t:t.type){case"required":return $i(a);case"email":return Mi(a);case"regexp":return Fi(a,t);case"custom":return Ai();default:return!1}},Ii={autocomplete:"select",combobox:"select",datepicker:"date",markedtext:"mask",html:"static",geom:"map",filelist:"file-list",datalist:"datatable",file:"file",dropzone:"file"};function Vt(a){const t=a.toLowerCase();return Ii[t]||t}function Ti(a,t=!1){if(Array.isArray(a)){const l=[];return a.forEach(s=>{const o={...s};o.name=(s.name||s.id||s.key||"").toString(),o.type=Vt(s.type),o.label=s.label||s.ua,o.rules=s.rules||s.validators,o.type==="email"&&!o.rules&&(o.rules=["email"]),s.data&&(o.api=`/api/suggest/${s.data}`),o.disabled=t||o.disabled,l.push(o)}),l}const n=[];return Object.entries(a).forEach(l=>{const s={name:l[0],...l[1],type:Vt(l[1].type),label:l[1].label||l[1].ua,rules:l[1].rules||l[1].validators,disabled:t};s.type==="email"&&!s.rules&&(s.rules=["email"]),l[1].type.includes("list")&&(s.multiple=!0),!s.api&&l[1].data&&(s.api=`/api/suggest/${l[1].data}`),n.push(s)}),n}function Li(a,t,n=!1){const l=e.computed(()=>Ti((Array.isArray(t),t),typeof n=="boolean"?n:n.value)),s=e.ref({});function o(c){const u=c?.conditions;if(!u)return!0;const p=Array.isArray(u)?u[0]:u,h=a?.value?.[p];return dt(h,u)}const r=(c=l.value,u=!0)=>(c.forEach(p=>{if(p.rules){if(!o(p)){delete s.value[p.name];return}let h=!1,w=null;p.rules.forEach(F=>{const M=Di(a.value[p.name],F);M&&(h=!0,!w&&typeof M=="string"&&(w=M))}),h&&w?s.value[p.name]=w:delete s.value[p.name]}p.schema&&r(p.schema,!1)}),u&&Object.values(s.value).some(Boolean)?s.value:null),i=e.computed(()=>l.value?.filter(c=>o(c)));return{errors:s,validate:r,reset:()=>{a.value={},s.value={}},visibleSchema:i}}const Ri={class:"flex w-full h-full min-h-0 gap-6"},Oi={key:0,"data-orientation":"horizontal",role:"none",class:"mt-1 shrink-0 h-[1px] w-full bg-slate-100 dark:bg-slate-600"},fe=e.defineComponent({__name:"vs-compact-form",props:e.mergeModels({schema:{default:()=>[]},style:{default:()=>({})},modelValue:{},layout:{default:()=>"default"},formId:{default:()=>""},disabled:{type:Boolean,default:!1},navEnabled:{type:Boolean,default:!1},navWidth:{default:400}},{form:{default:()=>({})},formModifiers:{},values:{default:()=>({})},valuesModifiers:{}}),emits:e.mergeModels(["handle-submit","update:modelValue"],["update:form","update:values"]),setup(a,{expose:t,emit:n}){const l=n,s=a,o=e.useModel(a,"form"),r=e.useModel(a,"values"),{errors:i,validate:d,reset:c,visibleSchema:u}=Li(r,s.schema,e.toRef(s,"disabled")),p=e.ref(null),h=e.ref(null),w=e.computed(()=>s.navEnabled),F=e.computed(()=>s.navWidth),M=()=>{l("update:modelValue",r.value),d(),l("handle-submit",r.value)};t({validate:d,reset:c,errors:i}),e.onMounted(()=>{s.modelValue&&(r.value=s.modelValue),o.value={value:r.value,errors:i.value,reset:c,validate:d,formId:s.formId}});function A(_,x){if(_===x)return!0;if(typeof _!="object"||typeof x!="object"||!_||!x)return!1;const m=Object.keys(_),b=Object.keys(x);return m.length!==b.length?!1:m.every(B=>_[B]===x[B])}return e.provide("form",o),e.provide("values",r),(_,x)=>(e.openBlock(),e.createElementBlock("div",Ri,[e.createElementVNode("div",{class:"flex-1 min-h-0 overflow-y-auto",ref_key:"formScrollContainer",ref:h},[e.createElementVNode("form",{ref_key:"formRef",ref:p,onSubmit:e.withModifiers(M,["prevent"]),class:e.normalizeClass(["grid grid-cols-12",_.layout==="default"?"gap-6":"gap-4"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(m,b)=>(e.openBlock(),e.createElementBlock("div",{key:m.name,class:e.normalizeClass(_.layout==="horizontal"?"col-span-12":`col-span-${m.col||12}`)},[e.createVNode(_t,{style:e.normalizeStyle(_.style),item:m,layout:_.layout,"model-value":r.value[m.name],"onUpdate:modelValue":B=>{const j=r.value[m.name];A(j,B)||(r.value[m.name]=B)},error:e.unref(i)[m.name]},null,8,["style","item","layout","model-value","onUpdate:modelValue","error"]),_.layout==="settings"&&b+1!==e.unref(u).length?(e.openBlock(),e.createElementBlock("div",Oi)):e.createCommentVNode("",!0)],2))),128))],34)],512),e.createVNode(Si,{target:p.value,"scroll-container":h.value,enabled:w.value,width:F.value},null,8,["target","scroll-container","enabled","width"])]))}}),zi={class:"relative"},ji={class:"w-full h-full fixed top-0 start-0 z-[1000] bg-black bg-opacity-50"},Ui={class:"m-[10px] fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 min-h-0 h-fit max-h-[80vh] overflow-hidden opacity-1 flex flex-col bg-white dark:bg-[#1A1A1A] border dark:border-[#454545] pointer-events-auto shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] rounded-xl lg:w-7/12 w-11/12"},Pi={class:"py-2.5 px-4 flex justify-between items-center border-0 border-b border-solid border-gray-200 dark:border-b-[#454545]"},Hi={class:"font-medium text-gray-800 dark:text-[#ffffff]"},qi={class:"p-4 mim-h-0 h-full overflow-auto"},Ct=e.defineComponent({__name:"modal-edit",props:{schema:{},defaultValue:{},mode:{},token:{},form:{}},emits:["close","save","edit"],setup(a,{emit:t}){const n=a,l=t,s=e.ref(n.schema),o=e.ref(n.defaultValue?JSON.parse(JSON.stringify(n.defaultValue)):{}),r=e.ref({}),i=e.ref(),d=e.ref(n.mode);async function c(){const p=r.value.validate();if(p){X.notify({type:"warning",title:"Помилка валідації",message:Object.entries(p).map(([h,w])=>`${h}: ${w}`).join(`
|
|
3
|
+
`)});return}if(i.value)try{const h=await fetch(`/api/table/${i.value}`,{method:d.value==="add"?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(o.value)});if(h.ok)await h.json(),X.notify({type:"success",title:"Успішно",message:`Дані успішно ${d.value==="add"?"збережено":"оновлено"}`}),l("save",o.value);else if(h.status===400){const w=await h.json().catch(()=>({}));X.notify({type:"warning",title:"Помилка валідації",message:w.message||"Некоректні дані (400)"})}else h.status===500?X.notify({type:"error",title:"Серверна помилка",message:"Виникла помилка на сервері (500)"}):X.notify({type:"error",title:"Помилка",message:`Статус: ${h.status}`})}catch(h){X.notify({type:"error",title:"Помилка з’єднання",message:h.message||"Не вдалося виконати запит"})}}function u(){l("close")}return e.onMounted(async()=>{try{if(n.form){const p=await fetch(`/api/template/form/${n.form}`);if(!p.ok){X.notify({type:p.status>=400&&p.status<500?"warning":"error",title:"Error",message:`Error code: ${p.status}`});return}const h=await p.json();s.value=h.schema,i.value=h.token}else if(n.token){i.value=n.token;const p=await fetch(`/api/form/${i.value}`);if(!p.ok){X.notify({type:p.status>=400&&p.status<500?"warning":"error",title:"Error",message:`Error code: ${p.status}`});return}const h=await p.json();s.value=h.schema,h.data?o.value=h.data:d.value="add"}}catch(p){X.notify({type:"error",title:"Error",message:p.message||"Unexpected error"}),console.error(p)}}),(p,h)=>(e.openBlock(),e.createElementBlock("div",zi,[e.createElementVNode("div",ji,[e.createElementVNode("div",Ui,[e.createElementVNode("div",Pi,[e.createElementVNode("h3",Hi,e.toDisplayString(d.value==="add"?"Додати":"Змінити"),1),e.createElementVNode("button",{onClick:u,type:"button",class:"size-8 inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 focus:outline-none focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:hover:bg-neutral-600 dark:text-neutral-400 dark:focus:bg-neutral-600"},h[2]||(h[2]=[e.createElementVNode("span",{class:"sr-only"},"Close",-1),e.createElementVNode("svg",{class:"flex-shrink-0 w-4 h-4",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M18 6 6 18"}),e.createElementVNode("path",{d:"m6 6 12 12"})],-1)]))]),e.createElementVNode("div",qi,[s.value?(e.openBlock(),e.createBlock(fe,{key:0,schema:s.value,values:o.value,"onUpdate:values":h[0]||(h[0]=w=>o.value=w),form:r.value,"onUpdate:form":h[1]||(h[1]=w=>r.value=w)},null,8,["schema","values","form"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"vs-form__head mr-5 mb-5 mt-3 flex items-center justify-end sticky top-0 left-0 z-[60] bg-white"},[e.createElementVNode("button",{type:"button",onClick:u,class:"vs-button inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border !border-gray-200 hover:text-white bg-white text-red-500 hover:border-red-500 hover:bg-red-500 focus:ring-red-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1 mr-2"}," Скасувати "),e.createElementVNode("button",{onClick:c,type:"button",class:"vs-button inline-flex border-solid justify-center items-center gap-2 rounded-md font-semibold focus:outline-none text-sm transition-all border-1 border-transparent text-white bg-blue-500 hover:bg-blue-600 focus:ring-blue-500 py-1.5 px-5 focus:ring-1 focus:ring-offset-1"}," Зберегти ")])])])]))}}),Bt=(a={mode:"edit",schema:null})=>new Promise(t=>{const{close:n}=X.modal({title:a.mode==="add"?"Додати":"Редагувати",template:"",visible:!0,size:"medium",closeClickBack:!0,content:Ct,contentProps:{...a,onClose:()=>{t(null),n()},onSave:l=>{t(l),n()}}})});fe.install=function(t){t.component("VForm",fe),Object.assign(t.config.globalProperties,{$form:Bt}),t.provide("form",Bt),window.v3plugin||(window.v3plugin={})};function he(a){return typeof a=="string"||a instanceof String}function vt(a){var t;return typeof a=="object"&&a!=null&&(a==null||(t=a.constructor)==null?void 0:t.name)==="Object"}function Nt(a,t){return Array.isArray(t)?Nt(a,(n,l)=>t.includes(l)):Object.entries(a).reduce((n,l)=>{let[s,o]=l;return t(o,s)&&(n[s]=o),n},{})}const C={NONE:"NONE",LEFT:"LEFT",FORCE_LEFT:"FORCE_LEFT",RIGHT:"RIGHT",FORCE_RIGHT:"FORCE_RIGHT"};function St(a){switch(a){case C.LEFT:return C.FORCE_LEFT;case C.RIGHT:return C.FORCE_RIGHT;default:return a}}function qe(a){return a.replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}function Ie(a,t){if(t===a)return!0;const n=Array.isArray(t),l=Array.isArray(a);let s;if(n&&l){if(t.length!=a.length)return!1;for(s=0;s<t.length;s++)if(!Ie(t[s],a[s]))return!1;return!0}if(n!=l)return!1;if(t&&a&&typeof t=="object"&&typeof a=="object"){const o=t instanceof Date,r=a instanceof Date;if(o&&r)return t.getTime()==a.getTime();if(o!=r)return!1;const i=t instanceof RegExp,d=a instanceof RegExp;if(i&&d)return t.toString()==a.toString();if(i!=d)return!1;const c=Object.keys(t);for(s=0;s<c.length;s++)if(!Object.prototype.hasOwnProperty.call(a,c[s]))return!1;for(s=0;s<c.length;s++)if(!Ie(a[c[s]],t[c[s]]))return!1;return!0}else if(t&&a&&typeof t=="function"&&typeof a=="function")return t.toString()===a.toString();return!1}class Gi{constructor(t){for(Object.assign(this,t);this.value.slice(0,this.startChangePos)!==this.oldValue.slice(0,this.startChangePos);)--this.oldSelection.start;if(this.insertedCount)for(;this.value.slice(this.cursorPos)!==this.oldValue.slice(this.oldSelection.end);)this.value.length-this.cursorPos<this.oldValue.length-this.oldSelection.end?++this.oldSelection.end:++this.cursorPos}get startChangePos(){return Math.min(this.cursorPos,this.oldSelection.start)}get insertedCount(){return this.cursorPos-this.startChangePos}get inserted(){return this.value.substr(this.startChangePos,this.insertedCount)}get removedCount(){return Math.max(this.oldSelection.end-this.startChangePos||this.oldValue.length-this.value.length,0)}get removed(){return this.oldValue.substr(this.startChangePos,this.removedCount)}get head(){return this.value.substring(0,this.startChangePos)}get tail(){return this.value.substring(this.startChangePos+this.insertedCount)}get removeDirection(){return!this.removedCount||this.insertedCount?C.NONE:(this.oldSelection.end===this.cursorPos||this.oldSelection.start===this.cursorPos)&&this.oldSelection.end===this.oldSelection.start?C.RIGHT:C.LEFT}}function D(a,t){return new D.InputMask(a,t)}function $t(a){if(a==null)throw new Error("mask property should be defined");return a instanceof RegExp?D.MaskedRegExp:he(a)?D.MaskedPattern:a===Date?D.MaskedDate:a===Number?D.MaskedNumber:Array.isArray(a)||a===Array?D.MaskedDynamic:D.Masked&&a.prototype instanceof D.Masked?a:D.Masked&&a instanceof D.Masked?a.constructor:a instanceof Function?D.MaskedFunction:(console.warn("Mask not found for mask",a),D.Masked)}function xe(a){if(!a)throw new Error("Options in not defined");if(D.Masked){if(a.prototype instanceof D.Masked)return{mask:a};const{mask:t=void 0,...n}=a instanceof D.Masked?{mask:a}:vt(a)&&a.mask instanceof D.Masked?a:{};if(t){const l=t.mask;return{...Nt(t,(s,o)=>!o.startsWith("_")),mask:t.constructor,_mask:l,...n}}}return vt(a)?{...a}:{mask:a}}function ae(a){if(D.Masked&&a instanceof D.Masked)return a;const t=xe(a),n=$t(t.mask);if(!n)throw new Error("Masked class is not found for provided mask "+t.mask+", appropriate module needs to be imported manually before creating mask.");return t.mask===n&&delete t.mask,t._mask&&(t.mask=t._mask,delete t._mask),new n(t)}D.createMask=ae;class Te{get selectionStart(){let t;try{t=this._unsafeSelectionStart}catch{}return t??this.value.length}get selectionEnd(){let t;try{t=this._unsafeSelectionEnd}catch{}return t??this.value.length}select(t,n){if(!(t==null||n==null||t===this.selectionStart&&n===this.selectionEnd))try{this._unsafeSelect(t,n)}catch{}}get isActive(){return!1}}D.MaskElement=Te;const Mt=90,Ki=89;class Ce extends Te{constructor(t){super(),this.input=t,this._onKeydown=this._onKeydown.bind(this),this._onInput=this._onInput.bind(this),this._onBeforeinput=this._onBeforeinput.bind(this),this._onCompositionEnd=this._onCompositionEnd.bind(this)}get rootElement(){var t,n,l;return(t=(n=(l=this.input).getRootNode)==null?void 0:n.call(l))!=null?t:document}get isActive(){return this.input===this.rootElement.activeElement}bindEvents(t){this.input.addEventListener("keydown",this._onKeydown),this.input.addEventListener("input",this._onInput),this.input.addEventListener("beforeinput",this._onBeforeinput),this.input.addEventListener("compositionend",this._onCompositionEnd),this.input.addEventListener("drop",t.drop),this.input.addEventListener("click",t.click),this.input.addEventListener("focus",t.focus),this.input.addEventListener("blur",t.commit),this._handlers=t}_onKeydown(t){if(this._handlers.redo&&(t.keyCode===Mt&&t.shiftKey&&(t.metaKey||t.ctrlKey)||t.keyCode===Ki&&t.ctrlKey))return t.preventDefault(),this._handlers.redo(t);if(this._handlers.undo&&t.keyCode===Mt&&(t.metaKey||t.ctrlKey))return t.preventDefault(),this._handlers.undo(t);t.isComposing||this._handlers.selectionChange(t)}_onBeforeinput(t){if(t.inputType==="historyUndo"&&this._handlers.undo)return t.preventDefault(),this._handlers.undo(t);if(t.inputType==="historyRedo"&&this._handlers.redo)return t.preventDefault(),this._handlers.redo(t)}_onCompositionEnd(t){this._handlers.input(t)}_onInput(t){t.isComposing||this._handlers.input(t)}unbindEvents(){this.input.removeEventListener("keydown",this._onKeydown),this.input.removeEventListener("input",this._onInput),this.input.removeEventListener("beforeinput",this._onBeforeinput),this.input.removeEventListener("compositionend",this._onCompositionEnd),this.input.removeEventListener("drop",this._handlers.drop),this.input.removeEventListener("click",this._handlers.click),this.input.removeEventListener("focus",this._handlers.focus),this.input.removeEventListener("blur",this._handlers.commit),this._handlers={}}}D.HTMLMaskElement=Ce;class Ft extends Ce{constructor(t){super(t),this.input=t}get _unsafeSelectionStart(){return this.input.selectionStart!=null?this.input.selectionStart:this.value.length}get _unsafeSelectionEnd(){return this.input.selectionEnd}_unsafeSelect(t,n){this.input.setSelectionRange(t,n)}get value(){return this.input.value}set value(t){this.input.value=t}}D.HTMLMaskElement=Ce;class Ge extends Ce{get _unsafeSelectionStart(){const t=this.rootElement,n=t.getSelection&&t.getSelection(),l=n&&n.anchorOffset,s=n&&n.focusOffset;return s==null||l==null||l<s?l:s}get _unsafeSelectionEnd(){const t=this.rootElement,n=t.getSelection&&t.getSelection(),l=n&&n.anchorOffset,s=n&&n.focusOffset;return s==null||l==null||l>s?l:s}_unsafeSelect(t,n){if(!this.rootElement.createRange)return;const l=this.rootElement.createRange();l.setStart(this.input.firstChild||this.input,t),l.setEnd(this.input.lastChild||this.input,n);const s=this.rootElement,o=s.getSelection&&s.getSelection();o&&(o.removeAllRanges(),o.addRange(l))}get value(){return this.input.textContent||""}set value(t){this.input.textContent=t}}D.HTMLContenteditableMaskElement=Ge;class Le{constructor(){this.states=[],this.currentIndex=0}get currentState(){return this.states[this.currentIndex]}get isEmpty(){return this.states.length===0}push(t){this.currentIndex<this.states.length-1&&(this.states.length=this.currentIndex+1),this.states.push(t),this.states.length>Le.MAX_LENGTH&&this.states.shift(),this.currentIndex=this.states.length-1}go(t){return this.currentIndex=Math.min(Math.max(this.currentIndex+t,0),this.states.length-1),this.currentState}undo(){return this.go(-1)}redo(){return this.go(1)}clear(){this.states.length=0,this.currentIndex=0}}Le.MAX_LENGTH=100;class At{constructor(t,n){this.el=t instanceof Te?t:t.isContentEditable&&t.tagName!=="INPUT"&&t.tagName!=="TEXTAREA"?new Ge(t):new Ft(t),this.masked=ae(n),this._listeners={},this._value="",this._unmaskedValue="",this._rawInputValue="",this.history=new Le,this._saveSelection=this._saveSelection.bind(this),this._onInput=this._onInput.bind(this),this._onChange=this._onChange.bind(this),this._onDrop=this._onDrop.bind(this),this._onFocus=this._onFocus.bind(this),this._onClick=this._onClick.bind(this),this._onUndo=this._onUndo.bind(this),this._onRedo=this._onRedo.bind(this),this.alignCursor=this.alignCursor.bind(this),this.alignCursorFriendly=this.alignCursorFriendly.bind(this),this._bindEvents(),this.updateValue(),this._onChange()}maskEquals(t){var n;return t==null||((n=this.masked)==null?void 0:n.maskEquals(t))}get mask(){return this.masked.mask}set mask(t){if(this.maskEquals(t))return;if(!(t instanceof D.Masked)&&this.masked.constructor===$t(t)){this.masked.updateOptions({mask:t});return}const n=t instanceof D.Masked?t:ae({mask:t});n.unmaskedValue=this.masked.unmaskedValue,this.masked=n}get value(){return this._value}set value(t){this.value!==t&&(this.masked.value=t,this.updateControl("auto"))}get unmaskedValue(){return this._unmaskedValue}set unmaskedValue(t){this.unmaskedValue!==t&&(this.masked.unmaskedValue=t,this.updateControl("auto"))}get rawInputValue(){return this._rawInputValue}set rawInputValue(t){this.rawInputValue!==t&&(this.masked.rawInputValue=t,this.updateControl(),this.alignCursor())}get typedValue(){return this.masked.typedValue}set typedValue(t){this.masked.typedValueEquals(t)||(this.masked.typedValue=t,this.updateControl("auto"))}get displayValue(){return this.masked.displayValue}_bindEvents(){this.el.bindEvents({selectionChange:this._saveSelection,input:this._onInput,drop:this._onDrop,click:this._onClick,focus:this._onFocus,commit:this._onChange,undo:this._onUndo,redo:this._onRedo})}_unbindEvents(){this.el&&this.el.unbindEvents()}_fireEvent(t,n){const l=this._listeners[t];l&&l.forEach(s=>s(n))}get selectionStart(){return this._cursorChanging?this._changingCursorPos:this.el.selectionStart}get cursorPos(){return this._cursorChanging?this._changingCursorPos:this.el.selectionEnd}set cursorPos(t){!this.el||!this.el.isActive||(this.el.select(t,t),this._saveSelection())}_saveSelection(){this.displayValue!==this.el.value&&console.warn("Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly."),this._selection={start:this.selectionStart,end:this.cursorPos}}updateValue(){this.masked.value=this.el.value,this._value=this.masked.value,this._unmaskedValue=this.masked.unmaskedValue,this._rawInputValue=this.masked.rawInputValue}updateControl(t){const n=this.masked.unmaskedValue,l=this.masked.value,s=this.masked.rawInputValue,o=this.displayValue,r=this.unmaskedValue!==n||this.value!==l||this._rawInputValue!==s;this._unmaskedValue=n,this._value=l,this._rawInputValue=s,this.el.value!==o&&(this.el.value=o),t==="auto"?this.alignCursor():t!=null&&(this.cursorPos=t),r&&this._fireChangeEvents(),!this._historyChanging&&(r||this.history.isEmpty)&&this.history.push({unmaskedValue:n,selection:{start:this.selectionStart,end:this.cursorPos}})}updateOptions(t){const{mask:n,...l}=t,s=!this.maskEquals(n),o=this.masked.optionsIsChanged(l);s&&(this.mask=n),o&&this.masked.updateOptions(l),(s||o)&&this.updateControl()}updateCursor(t){t!=null&&(this.cursorPos=t,this._delayUpdateCursor(t))}_delayUpdateCursor(t){this._abortUpdateCursor(),this._changingCursorPos=t,this._cursorChanging=setTimeout(()=>{this.el&&(this.cursorPos=this._changingCursorPos,this._abortUpdateCursor())},10)}_fireChangeEvents(){this._fireEvent("accept",this._inputEvent),this.masked.isComplete&&this._fireEvent("complete",this._inputEvent)}_abortUpdateCursor(){this._cursorChanging&&(clearTimeout(this._cursorChanging),delete this._cursorChanging)}alignCursor(){this.cursorPos=this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos,C.LEFT))}alignCursorFriendly(){this.selectionStart===this.cursorPos&&this.alignCursor()}on(t,n){return this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(n),this}off(t,n){if(!this._listeners[t])return this;if(!n)return delete this._listeners[t],this;const l=this._listeners[t].indexOf(n);return l>=0&&this._listeners[t].splice(l,1),this}_onInput(t){this._inputEvent=t,this._abortUpdateCursor();const n=new Gi({value:this.el.value,cursorPos:this.cursorPos,oldValue:this.displayValue,oldSelection:this._selection}),l=this.masked.rawInputValue,s=this.masked.splice(n.startChangePos,n.removed.length,n.inserted,n.removeDirection,{input:!0,raw:!0}).offset,o=l===this.masked.rawInputValue?n.removeDirection:C.NONE;let r=this.masked.nearestInputPos(n.startChangePos+s,o);o!==C.NONE&&(r=this.masked.nearestInputPos(r,C.NONE)),this.updateControl(r),delete this._inputEvent}_onChange(){this.displayValue!==this.el.value&&this.updateValue(),this.masked.doCommit(),this.updateControl(),this._saveSelection()}_onDrop(t){t.preventDefault(),t.stopPropagation()}_onFocus(t){this.alignCursorFriendly()}_onClick(t){this.alignCursorFriendly()}_onUndo(){this._applyHistoryState(this.history.undo())}_onRedo(){this._applyHistoryState(this.history.redo())}_applyHistoryState(t){t&&(this._historyChanging=!0,this.unmaskedValue=t.unmaskedValue,this.el.select(t.selection.start,t.selection.end),this._saveSelection(),this._historyChanging=!1)}destroy(){this._unbindEvents(),this._listeners.length=0,delete this.el}}D.InputMask=At;class R{static normalize(t){return Array.isArray(t)?t:[t,new R]}constructor(t){Object.assign(this,{inserted:"",rawInserted:"",tailShift:0,skip:!1},t)}aggregate(t){return this.inserted+=t.inserted,this.rawInserted+=t.rawInserted,this.tailShift+=t.tailShift,this.skip=this.skip||t.skip,this}get offset(){return this.tailShift+this.inserted.length}get consumed(){return!!this.rawInserted||this.skip}equals(t){return this.inserted===t.inserted&&this.tailShift===t.tailShift&&this.rawInserted===t.rawInserted&&this.skip===t.skip}}D.ChangeDetails=R;class ie{constructor(t,n,l){t===void 0&&(t=""),n===void 0&&(n=0),this.value=t,this.from=n,this.stop=l}toString(){return this.value}extend(t){this.value+=String(t)}appendTo(t){return t.append(this.toString(),{tail:!0}).aggregate(t._appendPlaceholder())}get state(){return{value:this.value,from:this.from,stop:this.stop}}set state(t){Object.assign(this,t)}unshift(t){if(!this.value.length||t!=null&&this.from>=t)return"";const n=this.value[0];return this.value=this.value.slice(1),n}shift(){if(!this.value.length)return"";const t=this.value[this.value.length-1];return this.value=this.value.slice(0,-1),t}}class Y{constructor(t){this._value="",this._update({...Y.DEFAULTS,...t}),this._initialized=!0}updateOptions(t){this.optionsIsChanged(t)&&this.withValueRefresh(this._update.bind(this,t))}_update(t){Object.assign(this,t)}get state(){return{_value:this.value,_rawInputValue:this.rawInputValue}}set state(t){this._value=t._value}reset(){this._value=""}get value(){return this._value}set value(t){this.resolve(t,{input:!0})}resolve(t,n){n===void 0&&(n={input:!0}),this.reset(),this.append(t,n,""),this.doCommit()}get unmaskedValue(){return this.value}set unmaskedValue(t){this.resolve(t,{})}get typedValue(){return this.parse?this.parse(this.value,this):this.unmaskedValue}set typedValue(t){this.format?this.value=this.format(t,this):this.unmaskedValue=String(t)}get rawInputValue(){return this.extractInput(0,this.displayValue.length,{raw:!0})}set rawInputValue(t){this.resolve(t,{raw:!0})}get displayValue(){return this.value}get isComplete(){return!0}get isFilled(){return this.isComplete}nearestInputPos(t,n){return t}totalInputPositions(t,n){return t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length),Math.min(this.displayValue.length,n-t)}extractInput(t,n,l){return t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length),this.displayValue.slice(t,n)}extractTail(t,n){return t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length),new ie(this.extractInput(t,n),t)}appendTail(t){return he(t)&&(t=new ie(String(t))),t.appendTo(this)}_appendCharRaw(t,n){return t?(this._value+=t,new R({inserted:t,rawInserted:t})):new R}_appendChar(t,n,l){n===void 0&&(n={});const s=this.state;let o;if([t,o]=this.doPrepareChar(t,n),t&&(o=o.aggregate(this._appendCharRaw(t,n)),!o.rawInserted&&this.autofix==="pad")){const r=this.state;this.state=s;let i=this.pad(n);const d=this._appendCharRaw(t,n);i=i.aggregate(d),d.rawInserted||i.equals(o)?o=i:this.state=r}if(o.inserted){let r,i=this.doValidate(n)!==!1;if(i&&l!=null){const d=this.state;if(this.overwrite===!0){r=l.state;for(let u=0;u<o.rawInserted.length;++u)l.unshift(this.displayValue.length-o.tailShift)}let c=this.appendTail(l);if(i=c.rawInserted.length===l.toString().length,!(i&&c.inserted)&&this.overwrite==="shift"){this.state=d,r=l.state;for(let u=0;u<o.rawInserted.length;++u)l.shift();c=this.appendTail(l),i=c.rawInserted.length===l.toString().length}i&&c.inserted&&(this.state=d)}i||(o=new R,this.state=s,l&&r&&(l.state=r))}return o}_appendPlaceholder(){return new R}_appendEager(){return new R}append(t,n,l){if(!he(t))throw new Error("value should be string");const s=he(l)?new ie(String(l)):l;n!=null&&n.tail&&(n._beforeTailState=this.state);let o;[t,o]=this.doPrepare(t,n);for(let r=0;r<t.length;++r){const i=this._appendChar(t[r],n,s);if(!i.rawInserted&&!this.doSkipInvalid(t[r],n,s))break;o.aggregate(i)}return(this.eager===!0||this.eager==="append")&&n!=null&&n.input&&t&&o.aggregate(this._appendEager()),s!=null&&(o.tailShift+=this.appendTail(s).tailShift),o}remove(t,n){return t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length),this._value=this.displayValue.slice(0,t)+this.displayValue.slice(n),new R}withValueRefresh(t){if(this._refreshing||!this._initialized)return t();this._refreshing=!0;const n=this.rawInputValue,l=this.value,s=t();return this.rawInputValue=n,this.value&&this.value!==l&&l.indexOf(this.value)===0&&(this.append(l.slice(this.displayValue.length),{},""),this.doCommit()),delete this._refreshing,s}runIsolated(t){if(this._isolated||!this._initialized)return t(this);this._isolated=!0;const n=this.state,l=t(this);return this.state=n,delete this._isolated,l}doSkipInvalid(t,n,l){return!!this.skipInvalid}doPrepare(t,n){return n===void 0&&(n={}),R.normalize(this.prepare?this.prepare(t,this,n):t)}doPrepareChar(t,n){return n===void 0&&(n={}),R.normalize(this.prepareChar?this.prepareChar(t,this,n):t)}doValidate(t){return(!this.validate||this.validate(this.value,this,t))&&(!this.parent||this.parent.doValidate(t))}doCommit(){this.commit&&this.commit(this.value,this)}splice(t,n,l,s,o){l===void 0&&(l=""),s===void 0&&(s=C.NONE),o===void 0&&(o={input:!0});const r=t+n,i=this.extractTail(r),d=this.eager===!0||this.eager==="remove";let c;d&&(s=St(s),c=this.extractInput(0,r,{raw:!0}));let u=t;const p=new R;if(s!==C.NONE&&(u=this.nearestInputPos(t,n>1&&t!==0&&!d?C.NONE:s),p.tailShift=u-t),p.aggregate(this.remove(u)),d&&s!==C.NONE&&c===this.rawInputValue)if(s===C.FORCE_LEFT){let h;for(;c===this.rawInputValue&&(h=this.displayValue.length);)p.aggregate(new R({tailShift:-1})).aggregate(this.remove(h-1))}else s===C.FORCE_RIGHT&&i.unshift();return p.aggregate(this.append(l,o,i))}maskEquals(t){return this.mask===t}optionsIsChanged(t){return!Ie(this,t)}typedValueEquals(t){const n=this.typedValue;return t===n||Y.EMPTY_VALUES.includes(t)&&Y.EMPTY_VALUES.includes(n)||(this.format?this.format(t,this)===this.format(this.typedValue,this):!1)}pad(t){return new R}}Y.DEFAULTS={skipInvalid:!0},Y.EMPTY_VALUES=[void 0,null,""],D.Masked=Y;class me{constructor(t,n){t===void 0&&(t=[]),n===void 0&&(n=0),this.chunks=t,this.from=n}toString(){return this.chunks.map(String).join("")}extend(t){if(!String(t))return;t=he(t)?new ie(String(t)):t;const n=this.chunks[this.chunks.length-1],l=n&&(n.stop===t.stop||t.stop==null)&&t.from===n.from+n.toString().length;if(t instanceof ie)l?n.extend(t.toString()):this.chunks.push(t);else if(t instanceof me){if(t.stop==null){let s;for(;t.chunks.length&&t.chunks[0].stop==null;)s=t.chunks.shift(),s.from+=t.from,this.extend(s)}t.toString()&&(t.stop=t.blockIndex,this.chunks.push(t))}}appendTo(t){if(!(t instanceof D.MaskedPattern))return new ie(this.toString()).appendTo(t);const n=new R;for(let l=0;l<this.chunks.length;++l){const s=this.chunks[l],o=t._mapPosToBlock(t.displayValue.length),r=s.stop;let i;if(r!=null&&(!o||o.index<=r)&&((s instanceof me||t._stops.indexOf(r)>=0)&&n.aggregate(t._appendPlaceholder(r)),i=s instanceof me&&t._blocks[r]),i){const d=i.appendTail(s);n.aggregate(d);const c=s.toString().slice(d.rawInserted.length);c&&n.aggregate(t.append(c,{tail:!0}))}else n.aggregate(t.append(s.toString(),{tail:!0}))}return n}get state(){return{chunks:this.chunks.map(t=>t.state),from:this.from,stop:this.stop,blockIndex:this.blockIndex}}set state(t){const{chunks:n,...l}=t;Object.assign(this,l),this.chunks=n.map(s=>{const o="chunks"in s?new me:new ie;return o.state=s,o})}unshift(t){if(!this.chunks.length||t!=null&&this.from>=t)return"";const n=t!=null?t-this.from:t;let l=0;for(;l<this.chunks.length;){const s=this.chunks[l],o=s.unshift(n);if(s.toString()){if(!o)break;++l}else this.chunks.splice(l,1);if(o)return o}return""}shift(){if(!this.chunks.length)return"";let t=this.chunks.length-1;for(;0<=t;){const n=this.chunks[t],l=n.shift();if(n.toString()){if(!l)break;--t}else this.chunks.splice(t,1);if(l)return l}return""}}class Zi{constructor(t,n){this.masked=t,this._log=[];const{offset:l,index:s}=t._mapPosToBlock(n)||(n<0?{index:0,offset:0}:{index:this.masked._blocks.length,offset:0});this.offset=l,this.index=s,this.ok=!1}get block(){return this.masked._blocks[this.index]}get pos(){return this.masked._blockStartPos(this.index)+this.offset}get state(){return{index:this.index,offset:this.offset,ok:this.ok}}set state(t){Object.assign(this,t)}pushState(){this._log.push(this.state)}popState(){const t=this._log.pop();return t&&(this.state=t),t}bindBlock(){this.block||(this.index<0&&(this.index=0,this.offset=0),this.index>=this.masked._blocks.length&&(this.index=this.masked._blocks.length-1,this.offset=this.block.displayValue.length))}_pushLeft(t){for(this.pushState(),this.bindBlock();0<=this.index;--this.index,this.offset=((n=this.block)==null?void 0:n.displayValue.length)||0){var n;if(t())return this.ok=!0}return this.ok=!1}_pushRight(t){for(this.pushState(),this.bindBlock();this.index<this.masked._blocks.length;++this.index,this.offset=0)if(t())return this.ok=!0;return this.ok=!1}pushLeftBeforeFilled(){return this._pushLeft(()=>{if(!(this.block.isFixed||!this.block.value)&&(this.offset=this.block.nearestInputPos(this.offset,C.FORCE_LEFT),this.offset!==0))return!0})}pushLeftBeforeInput(){return this._pushLeft(()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,C.LEFT),!0})}pushLeftBeforeRequired(){return this._pushLeft(()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,C.LEFT),!0})}pushRightBeforeFilled(){return this._pushRight(()=>{if(!(this.block.isFixed||!this.block.value)&&(this.offset=this.block.nearestInputPos(this.offset,C.FORCE_RIGHT),this.offset!==this.block.value.length))return!0})}pushRightBeforeInput(){return this._pushRight(()=>{if(!this.block.isFixed)return this.offset=this.block.nearestInputPos(this.offset,C.NONE),!0})}pushRightBeforeRequired(){return this._pushRight(()=>{if(!(this.block.isFixed||this.block.isOptional&&!this.block.value))return this.offset=this.block.nearestInputPos(this.offset,C.NONE),!0})}}class Ke{constructor(t){Object.assign(this,t),this._value="",this.isFixed=!0}get value(){return this._value}get unmaskedValue(){return this.isUnmasking?this.value:""}get rawInputValue(){return this._isRawInput?this.value:""}get displayValue(){return this.value}reset(){this._isRawInput=!1,this._value=""}remove(t,n){return t===void 0&&(t=0),n===void 0&&(n=this._value.length),this._value=this._value.slice(0,t)+this._value.slice(n),this._value||(this._isRawInput=!1),new R}nearestInputPos(t,n){n===void 0&&(n=C.NONE);const l=0,s=this._value.length;switch(n){case C.LEFT:case C.FORCE_LEFT:return l;case C.NONE:case C.RIGHT:case C.FORCE_RIGHT:default:return s}}totalInputPositions(t,n){return t===void 0&&(t=0),n===void 0&&(n=this._value.length),this._isRawInput?n-t:0}extractInput(t,n,l){return t===void 0&&(t=0),n===void 0&&(n=this._value.length),l===void 0&&(l={}),l.raw&&this._isRawInput&&this._value.slice(t,n)||""}get isComplete(){return!0}get isFilled(){return!!this._value}_appendChar(t,n){if(n===void 0&&(n={}),this.isFilled)return new R;const l=this.eager===!0||this.eager==="append",o=this.char===t&&(this.isUnmasking||n.input||n.raw)&&(!n.raw||!l)&&!n.tail,r=new R({inserted:this.char,rawInserted:o?this.char:""});return this._value=this.char,this._isRawInput=o&&(n.raw||n.input),r}_appendEager(){return this._appendChar(this.char,{tail:!0})}_appendPlaceholder(){const t=new R;return this.isFilled||(this._value=t.inserted=this.char),t}extractTail(){return new ie("")}appendTail(t){return he(t)&&(t=new ie(String(t))),t.appendTo(this)}append(t,n,l){const s=this._appendChar(t[0],n);return l!=null&&(s.tailShift+=this.appendTail(l).tailShift),s}doCommit(){}get state(){return{_value:this._value,_rawInputValue:this.rawInputValue}}set state(t){this._value=t._value,this._isRawInput=!!t._rawInputValue}pad(t){return this._appendPlaceholder()}}class Be{constructor(t){const{parent:n,isOptional:l,placeholderChar:s,displayChar:o,lazy:r,eager:i,...d}=t;this.masked=ae(d),Object.assign(this,{parent:n,isOptional:l,placeholderChar:s,displayChar:o,lazy:r,eager:i})}reset(){this.isFilled=!1,this.masked.reset()}remove(t,n){return t===void 0&&(t=0),n===void 0&&(n=this.value.length),t===0&&n>=1?(this.isFilled=!1,this.masked.remove(t,n)):new R}get value(){return this.masked.value||(this.isFilled&&!this.isOptional?this.placeholderChar:"")}get unmaskedValue(){return this.masked.unmaskedValue}get rawInputValue(){return this.masked.rawInputValue}get displayValue(){return this.masked.value&&this.displayChar||this.value}get isComplete(){return!!this.masked.value||this.isOptional}_appendChar(t,n){if(n===void 0&&(n={}),this.isFilled)return new R;const l=this.masked.state;let s=this.masked._appendChar(t,this.currentMaskFlags(n));return s.inserted&&this.doValidate(n)===!1&&(s=new R,this.masked.state=l),!s.inserted&&!this.isOptional&&!this.lazy&&!n.input&&(s.inserted=this.placeholderChar),s.skip=!s.inserted&&!this.isOptional,this.isFilled=!!s.inserted,s}append(t,n,l){return this.masked.append(t,this.currentMaskFlags(n),l)}_appendPlaceholder(){return this.isFilled||this.isOptional?new R:(this.isFilled=!0,new R({inserted:this.placeholderChar}))}_appendEager(){return new R}extractTail(t,n){return this.masked.extractTail(t,n)}appendTail(t){return this.masked.appendTail(t)}extractInput(t,n,l){return t===void 0&&(t=0),n===void 0&&(n=this.value.length),this.masked.extractInput(t,n,l)}nearestInputPos(t,n){n===void 0&&(n=C.NONE);const l=0,s=this.value.length,o=Math.min(Math.max(t,l),s);switch(n){case C.LEFT:case C.FORCE_LEFT:return this.isComplete?o:l;case C.RIGHT:case C.FORCE_RIGHT:return this.isComplete?o:s;case C.NONE:default:return o}}totalInputPositions(t,n){return t===void 0&&(t=0),n===void 0&&(n=this.value.length),this.value.slice(t,n).length}doValidate(t){return this.masked.doValidate(this.currentMaskFlags(t))&&(!this.parent||this.parent.doValidate(this.currentMaskFlags(t)))}doCommit(){this.masked.doCommit()}get state(){return{_value:this.value,_rawInputValue:this.rawInputValue,masked:this.masked.state,isFilled:this.isFilled}}set state(t){this.masked.state=t.masked,this.isFilled=t.isFilled}currentMaskFlags(t){var n;return{...t,_beforeTailState:(t==null||(n=t._beforeTailState)==null?void 0:n.masked)||t?._beforeTailState}}pad(t){return new R}}Be.DEFAULT_DEFINITIONS={0:/\d/,a:/[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,"*":/./};class Dt extends Y{updateOptions(t){super.updateOptions(t)}_update(t){const n=t.mask;n&&(t.validate=l=>l.search(n)>=0),super._update(t)}}D.MaskedRegExp=Dt;class J extends Y{constructor(t){super({...J.DEFAULTS,...t,definitions:Object.assign({},Be.DEFAULT_DEFINITIONS,t?.definitions)})}updateOptions(t){super.updateOptions(t)}_update(t){t.definitions=Object.assign({},this.definitions,t.definitions),super._update(t),this._rebuildMask()}_rebuildMask(){const t=this.definitions;this._blocks=[],this.exposeBlock=void 0,this._stops=[],this._maskedBlocks={};const n=this.mask;if(!n||!t)return;let l=!1,s=!1;for(let o=0;o<n.length;++o){if(this.blocks){const c=n.slice(o),u=Object.keys(this.blocks).filter(h=>c.indexOf(h)===0);u.sort((h,w)=>w.length-h.length);const p=u[0];if(p){const{expose:h,repeat:w,...F}=xe(this.blocks[p]),M={lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar,overwrite:this.overwrite,autofix:this.autofix,...F,repeat:w,parent:this},A=w!=null?new D.RepeatBlock(M):ae(M);A&&(this._blocks.push(A),h&&(this.exposeBlock=A),this._maskedBlocks[p]||(this._maskedBlocks[p]=[]),this._maskedBlocks[p].push(this._blocks.length-1)),o+=p.length-1;continue}}let r=n[o],i=r in t;if(r===J.STOP_CHAR){this._stops.push(this._blocks.length);continue}if(r==="{"||r==="}"){l=!l;continue}if(r==="["||r==="]"){s=!s;continue}if(r===J.ESCAPE_CHAR){if(++o,r=n[o],!r)break;i=!1}const d=i?new Be({isOptional:s,lazy:this.lazy,eager:this.eager,placeholderChar:this.placeholderChar,displayChar:this.displayChar,...xe(t[r]),parent:this}):new Ke({char:r,eager:this.eager,isUnmasking:l});this._blocks.push(d)}}get state(){return{...super.state,_blocks:this._blocks.map(t=>t.state)}}set state(t){if(!t){this.reset();return}const{_blocks:n,...l}=t;this._blocks.forEach((s,o)=>s.state=n[o]),super.state=l}reset(){super.reset(),this._blocks.forEach(t=>t.reset())}get isComplete(){return this.exposeBlock?this.exposeBlock.isComplete:this._blocks.every(t=>t.isComplete)}get isFilled(){return this._blocks.every(t=>t.isFilled)}get isFixed(){return this._blocks.every(t=>t.isFixed)}get isOptional(){return this._blocks.every(t=>t.isOptional)}doCommit(){this._blocks.forEach(t=>t.doCommit()),super.doCommit()}get unmaskedValue(){return this.exposeBlock?this.exposeBlock.unmaskedValue:this._blocks.reduce((t,n)=>t+=n.unmaskedValue,"")}set unmaskedValue(t){if(this.exposeBlock){const n=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.unmaskedValue=t,this.appendTail(n),this.doCommit()}else super.unmaskedValue=t}get value(){return this.exposeBlock?this.exposeBlock.value:this._blocks.reduce((t,n)=>t+=n.value,"")}set value(t){if(this.exposeBlock){const n=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.value=t,this.appendTail(n),this.doCommit()}else super.value=t}get typedValue(){return this.exposeBlock?this.exposeBlock.typedValue:super.typedValue}set typedValue(t){if(this.exposeBlock){const n=this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock))+this.exposeBlock.displayValue.length);this.exposeBlock.typedValue=t,this.appendTail(n),this.doCommit()}else super.typedValue=t}get displayValue(){return this._blocks.reduce((t,n)=>t+=n.displayValue,"")}appendTail(t){return super.appendTail(t).aggregate(this._appendPlaceholder())}_appendEager(){var t;const n=new R;let l=(t=this._mapPosToBlock(this.displayValue.length))==null?void 0:t.index;if(l==null)return n;this._blocks[l].isFilled&&++l;for(let s=l;s<this._blocks.length;++s){const o=this._blocks[s]._appendEager();if(!o.inserted)break;n.aggregate(o)}return n}_appendCharRaw(t,n){n===void 0&&(n={});const l=this._mapPosToBlock(this.displayValue.length),s=new R;if(!l)return s;for(let r=l.index,i;i=this._blocks[r];++r){var o;const d=i._appendChar(t,{...n,_beforeTailState:(o=n._beforeTailState)==null||(o=o._blocks)==null?void 0:o[r]});if(s.aggregate(d),d.consumed)break}return s}extractTail(t,n){t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length);const l=new me;return t===n||this._forEachBlocksInRange(t,n,(s,o,r,i)=>{const d=s.extractTail(r,i);d.stop=this._findStopBefore(o),d.from=this._blockStartPos(o),d instanceof me&&(d.blockIndex=o),l.extend(d)}),l}extractInput(t,n,l){if(t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length),l===void 0&&(l={}),t===n)return"";let s="";return this._forEachBlocksInRange(t,n,(o,r,i,d)=>{s+=o.extractInput(i,d,l)}),s}_findStopBefore(t){let n;for(let l=0;l<this._stops.length;++l){const s=this._stops[l];if(s<=t)n=s;else break}return n}_appendPlaceholder(t){const n=new R;if(this.lazy&&t==null)return n;const l=this._mapPosToBlock(this.displayValue.length);if(!l)return n;const s=l.index,o=t??this._blocks.length;return this._blocks.slice(s,o).forEach(r=>{if(!r.lazy||t!=null){var i;n.aggregate(r._appendPlaceholder((i=r._blocks)==null?void 0:i.length))}}),n}_mapPosToBlock(t){let n="";for(let l=0;l<this._blocks.length;++l){const s=this._blocks[l],o=n.length;if(n+=s.displayValue,t<=n.length)return{index:l,offset:t-o}}}_blockStartPos(t){return this._blocks.slice(0,t).reduce((n,l)=>n+=l.displayValue.length,0)}_forEachBlocksInRange(t,n,l){n===void 0&&(n=this.displayValue.length);const s=this._mapPosToBlock(t);if(s){const o=this._mapPosToBlock(n),r=o&&s.index===o.index,i=s.offset,d=o&&r?o.offset:this._blocks[s.index].displayValue.length;if(l(this._blocks[s.index],s.index,i,d),o&&!r){for(let c=s.index+1;c<o.index;++c)l(this._blocks[c],c,0,this._blocks[c].displayValue.length);l(this._blocks[o.index],o.index,0,o.offset)}}}remove(t,n){t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length);const l=super.remove(t,n);return this._forEachBlocksInRange(t,n,(s,o,r,i)=>{l.aggregate(s.remove(r,i))}),l}nearestInputPos(t,n){if(n===void 0&&(n=C.NONE),!this._blocks.length)return 0;const l=new Zi(this,t);if(n===C.NONE)return l.pushRightBeforeInput()||(l.popState(),l.pushLeftBeforeInput())?l.pos:this.displayValue.length;if(n===C.LEFT||n===C.FORCE_LEFT){if(n===C.LEFT){if(l.pushRightBeforeFilled(),l.ok&&l.pos===t)return t;l.popState()}if(l.pushLeftBeforeInput(),l.pushLeftBeforeRequired(),l.pushLeftBeforeFilled(),n===C.LEFT){if(l.pushRightBeforeInput(),l.pushRightBeforeRequired(),l.ok&&l.pos<=t||(l.popState(),l.ok&&l.pos<=t))return l.pos;l.popState()}return l.ok?l.pos:n===C.FORCE_LEFT?0:(l.popState(),l.ok||(l.popState(),l.ok)?l.pos:0)}return n===C.RIGHT||n===C.FORCE_RIGHT?(l.pushRightBeforeInput(),l.pushRightBeforeRequired(),l.pushRightBeforeFilled()?l.pos:n===C.FORCE_RIGHT?this.displayValue.length:(l.popState(),l.ok||(l.popState(),l.ok)?l.pos:this.nearestInputPos(t,C.LEFT))):t}totalInputPositions(t,n){t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length);let l=0;return this._forEachBlocksInRange(t,n,(s,o,r,i)=>{l+=s.totalInputPositions(r,i)}),l}maskedBlock(t){return this.maskedBlocks(t)[0]}maskedBlocks(t){const n=this._maskedBlocks[t];return n?n.map(l=>this._blocks[l]):[]}pad(t){const n=new R;return this._forEachBlocksInRange(0,this.displayValue.length,l=>n.aggregate(l.pad(t))),n}}J.DEFAULTS={...Y.DEFAULTS,lazy:!0,placeholderChar:"_"},J.STOP_CHAR="`",J.ESCAPE_CHAR="\\",J.InputDefinition=Be,J.FixedDefinition=Ke,D.MaskedPattern=J;class ve extends J{get _matchFrom(){return this.maxLength-String(this.from).length}constructor(t){super(t)}updateOptions(t){super.updateOptions(t)}_update(t){const{to:n=this.to||0,from:l=this.from||0,maxLength:s=this.maxLength||0,autofix:o=this.autofix,...r}=t;this.to=n,this.from=l,this.maxLength=Math.max(String(n).length,s),this.autofix=o;const i=String(this.from).padStart(this.maxLength,"0"),d=String(this.to).padStart(this.maxLength,"0");let c=0;for(;c<d.length&&d[c]===i[c];)++c;r.mask=d.slice(0,c).replace(/0/g,"\\0")+"0".repeat(this.maxLength-c),super._update(r)}get isComplete(){return super.isComplete&&!!this.value}boundaries(t){let n="",l="";const[,s,o]=t.match(/^(\D*)(\d*)(\D*)/)||[];return o&&(n="0".repeat(s.length)+o,l="9".repeat(s.length)+o),n=n.padEnd(this.maxLength,"0"),l=l.padEnd(this.maxLength,"9"),[n,l]}doPrepareChar(t,n){n===void 0&&(n={});let l;return[t,l]=super.doPrepareChar(t.replace(/\D/g,""),n),t||(l.skip=!this.isComplete),[t,l]}_appendCharRaw(t,n){if(n===void 0&&(n={}),!this.autofix||this.value.length+1>this.maxLength)return super._appendCharRaw(t,n);const l=String(this.from).padStart(this.maxLength,"0"),s=String(this.to).padStart(this.maxLength,"0"),[o,r]=this.boundaries(this.value+t);return Number(r)<this.from?super._appendCharRaw(l[this.value.length],n):Number(o)>this.to?!n.tail&&this.autofix==="pad"&&this.value.length+1<this.maxLength?super._appendCharRaw(l[this.value.length],n).aggregate(this._appendCharRaw(t,n)):super._appendCharRaw(s[this.value.length],n):super._appendCharRaw(t,n)}doValidate(t){const n=this.value;if(n.search(/[^0]/)===-1&&n.length<=this._matchFrom)return!0;const[s,o]=this.boundaries(n);return this.from<=Number(o)&&Number(s)<=this.to&&super.doValidate(t)}pad(t){const n=new R;if(this.value.length===this.maxLength)return n;const l=this.value,s=this.maxLength-this.value.length;if(s){this.reset();for(let o=0;o<s;++o)n.aggregate(super._appendCharRaw("0",t));l.split("").forEach(o=>this._appendCharRaw(o))}return n}}D.MaskedRange=ve;const Wi="d{.}`m{.}`Y";class de extends J{static extractPatternOptions(t){const{mask:n,pattern:l,...s}=t;return{...s,mask:he(n)?n:l}}constructor(t){super(de.extractPatternOptions({...de.DEFAULTS,...t}))}updateOptions(t){super.updateOptions(t)}_update(t){const{mask:n,pattern:l,blocks:s,...o}={...de.DEFAULTS,...t},r=Object.assign({},de.GET_DEFAULT_BLOCKS());t.min&&(r.Y.from=t.min.getFullYear()),t.max&&(r.Y.to=t.max.getFullYear()),t.min&&t.max&&r.Y.from===r.Y.to&&(r.m.from=t.min.getMonth()+1,r.m.to=t.max.getMonth()+1,r.m.from===r.m.to&&(r.d.from=t.min.getDate(),r.d.to=t.max.getDate())),Object.assign(r,this.blocks,s),super._update({...o,mask:he(n)?n:l,blocks:r})}doValidate(t){const n=this.date;return super.doValidate(t)&&(!this.isComplete||this.isDateExist(this.value)&&n!=null&&(this.min==null||this.min<=n)&&(this.max==null||n<=this.max))}isDateExist(t){return this.format(this.parse(t,this),this).indexOf(t)>=0}get date(){return this.typedValue}set date(t){this.typedValue=t}get typedValue(){return this.isComplete?super.typedValue:null}set typedValue(t){super.typedValue=t}maskEquals(t){return t===Date||super.maskEquals(t)}optionsIsChanged(t){return super.optionsIsChanged(de.extractPatternOptions(t))}}de.GET_DEFAULT_BLOCKS=()=>({d:{mask:ve,from:1,to:31,maxLength:2},m:{mask:ve,from:1,to:12,maxLength:2},Y:{mask:ve,from:1900,to:9999}}),de.DEFAULTS={...J.DEFAULTS,mask:Date,pattern:Wi,format:(a,t)=>{if(!a)return"";const n=String(a.getDate()).padStart(2,"0"),l=String(a.getMonth()+1).padStart(2,"0"),s=a.getFullYear();return[n,l,s].join(".")},parse:(a,t)=>{const[n,l,s]=a.split(".").map(Number);return new Date(s,l-1,n)}},D.MaskedDate=de;class Ne extends Y{constructor(t){super({...Ne.DEFAULTS,...t}),this.currentMask=void 0}updateOptions(t){super.updateOptions(t)}_update(t){super._update(t),"mask"in t&&(this.exposeMask=void 0,this.compiledMasks=Array.isArray(t.mask)?t.mask.map(n=>{const{expose:l,...s}=xe(n),o=ae({overwrite:this._overwrite,eager:this._eager,skipInvalid:this._skipInvalid,...s});return l&&(this.exposeMask=o),o}):[])}_appendCharRaw(t,n){n===void 0&&(n={});const l=this._applyDispatch(t,n);return this.currentMask&&l.aggregate(this.currentMask._appendChar(t,this.currentMaskFlags(n))),l}_applyDispatch(t,n,l){t===void 0&&(t=""),n===void 0&&(n={}),l===void 0&&(l="");const s=n.tail&&n._beforeTailState!=null?n._beforeTailState._value:this.value,o=this.rawInputValue,r=n.tail&&n._beforeTailState!=null?n._beforeTailState._rawInputValue:o,i=o.slice(r.length),d=this.currentMask,c=new R,u=d?.state;return this.currentMask=this.doDispatch(t,{...n},l),this.currentMask&&(this.currentMask!==d?(this.currentMask.reset(),r&&(this.currentMask.append(r,{raw:!0}),c.tailShift=this.currentMask.value.length-s.length),i&&(c.tailShift+=this.currentMask.append(i,{raw:!0,tail:!0}).tailShift)):u&&(this.currentMask.state=u)),c}_appendPlaceholder(){const t=this._applyDispatch();return this.currentMask&&t.aggregate(this.currentMask._appendPlaceholder()),t}_appendEager(){const t=this._applyDispatch();return this.currentMask&&t.aggregate(this.currentMask._appendEager()),t}appendTail(t){const n=new R;return t&&n.aggregate(this._applyDispatch("",{},t)),n.aggregate(this.currentMask?this.currentMask.appendTail(t):super.appendTail(t))}currentMaskFlags(t){var n,l;return{...t,_beforeTailState:((n=t._beforeTailState)==null?void 0:n.currentMaskRef)===this.currentMask&&((l=t._beforeTailState)==null?void 0:l.currentMask)||t._beforeTailState}}doDispatch(t,n,l){return n===void 0&&(n={}),l===void 0&&(l=""),this.dispatch(t,this,n,l)}doValidate(t){return super.doValidate(t)&&(!this.currentMask||this.currentMask.doValidate(this.currentMaskFlags(t)))}doPrepare(t,n){n===void 0&&(n={});let[l,s]=super.doPrepare(t,n);if(this.currentMask){let o;[l,o]=super.doPrepare(l,this.currentMaskFlags(n)),s=s.aggregate(o)}return[l,s]}doPrepareChar(t,n){n===void 0&&(n={});let[l,s]=super.doPrepareChar(t,n);if(this.currentMask){let o;[l,o]=super.doPrepareChar(l,this.currentMaskFlags(n)),s=s.aggregate(o)}return[l,s]}reset(){var t;(t=this.currentMask)==null||t.reset(),this.compiledMasks.forEach(n=>n.reset())}get value(){return this.exposeMask?this.exposeMask.value:this.currentMask?this.currentMask.value:""}set value(t){this.exposeMask?(this.exposeMask.value=t,this.currentMask=this.exposeMask,this._applyDispatch()):super.value=t}get unmaskedValue(){return this.exposeMask?this.exposeMask.unmaskedValue:this.currentMask?this.currentMask.unmaskedValue:""}set unmaskedValue(t){this.exposeMask?(this.exposeMask.unmaskedValue=t,this.currentMask=this.exposeMask,this._applyDispatch()):super.unmaskedValue=t}get typedValue(){return this.exposeMask?this.exposeMask.typedValue:this.currentMask?this.currentMask.typedValue:""}set typedValue(t){if(this.exposeMask){this.exposeMask.typedValue=t,this.currentMask=this.exposeMask,this._applyDispatch();return}let n=String(t);this.currentMask&&(this.currentMask.typedValue=t,n=this.currentMask.unmaskedValue),this.unmaskedValue=n}get displayValue(){return this.currentMask?this.currentMask.displayValue:""}get isComplete(){var t;return!!((t=this.currentMask)!=null&&t.isComplete)}get isFilled(){var t;return!!((t=this.currentMask)!=null&&t.isFilled)}remove(t,n){const l=new R;return this.currentMask&&l.aggregate(this.currentMask.remove(t,n)).aggregate(this._applyDispatch()),l}get state(){var t;return{...super.state,_rawInputValue:this.rawInputValue,compiledMasks:this.compiledMasks.map(n=>n.state),currentMaskRef:this.currentMask,currentMask:(t=this.currentMask)==null?void 0:t.state}}set state(t){const{compiledMasks:n,currentMaskRef:l,currentMask:s,...o}=t;n&&this.compiledMasks.forEach((r,i)=>r.state=n[i]),l!=null&&(this.currentMask=l,this.currentMask.state=s),super.state=o}extractInput(t,n,l){return this.currentMask?this.currentMask.extractInput(t,n,l):""}extractTail(t,n){return this.currentMask?this.currentMask.extractTail(t,n):super.extractTail(t,n)}doCommit(){this.currentMask&&this.currentMask.doCommit(),super.doCommit()}nearestInputPos(t,n){return this.currentMask?this.currentMask.nearestInputPos(t,n):super.nearestInputPos(t,n)}get overwrite(){return this.currentMask?this.currentMask.overwrite:this._overwrite}set overwrite(t){this._overwrite=t}get eager(){return this.currentMask?this.currentMask.eager:this._eager}set eager(t){this._eager=t}get skipInvalid(){return this.currentMask?this.currentMask.skipInvalid:this._skipInvalid}set skipInvalid(t){this._skipInvalid=t}get autofix(){return this.currentMask?this.currentMask.autofix:this._autofix}set autofix(t){this._autofix=t}maskEquals(t){return Array.isArray(t)?this.compiledMasks.every((n,l)=>{if(!t[l])return;const{mask:s,...o}=t[l];return Ie(n,o)&&n.maskEquals(s)}):super.maskEquals(t)}typedValueEquals(t){var n;return!!((n=this.currentMask)!=null&&n.typedValueEquals(t))}}Ne.DEFAULTS={...Y.DEFAULTS,dispatch:(a,t,n,l)=>{if(!t.compiledMasks.length)return;const s=t.rawInputValue,o=t.compiledMasks.map((r,i)=>{const d=t.currentMask===r,c=d?r.displayValue.length:r.nearestInputPos(r.displayValue.length,C.FORCE_LEFT);return r.rawInputValue!==s?(r.reset(),r.append(s,{raw:!0})):d||r.remove(c),r.append(a,t.currentMaskFlags(n)),r.appendTail(l),{index:i,weight:r.rawInputValue.length,totalInputPositions:r.totalInputPositions(0,Math.max(c,r.nearestInputPos(r.displayValue.length,C.FORCE_LEFT)))}});return o.sort((r,i)=>i.weight-r.weight||i.totalInputPositions-r.totalInputPositions),t.compiledMasks[o[0].index]}},D.MaskedDynamic=Ne;class Se extends J{constructor(t){super({...Se.DEFAULTS,...t})}updateOptions(t){super.updateOptions(t)}_update(t){const{enum:n,...l}=t;if(n){const s=n.map(i=>i.length),o=Math.min(...s),r=Math.max(...s)-o;l.mask="*".repeat(o),r&&(l.mask+="["+"*".repeat(r)+"]"),this.enum=n}super._update(l)}_appendCharRaw(t,n){n===void 0&&(n={});const l=Math.min(this.nearestInputPos(0,C.FORCE_RIGHT),this.value.length),s=this.enum.filter(o=>this.matchValue(o,this.unmaskedValue+t,l));if(s.length){s.length===1&&this._forEachBlocksInRange(0,this.value.length,(r,i)=>{const d=s[0][i];i>=this.value.length||d===r.value||(r.reset(),r._appendChar(d,n))});const o=super._appendCharRaw(s[0][this.value.length],n);return s.length===1&&s[0].slice(this.unmaskedValue.length).split("").forEach(r=>o.aggregate(super._appendCharRaw(r))),o}return new R({skip:!this.isComplete})}extractTail(t,n){return t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length),new ie("",t)}remove(t,n){if(t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length),t===n)return new R;const l=Math.min(super.nearestInputPos(0,C.FORCE_RIGHT),this.value.length);let s;for(s=t;s>=0&&!(this.enum.filter(i=>this.matchValue(i,this.value.slice(l,s),l)).length>1);--s);const o=super.remove(s,n);return o.tailShift+=s-t,o}get isComplete(){return this.enum.indexOf(this.value)>=0}}Se.DEFAULTS={...J.DEFAULTS,matchValue:(a,t,n)=>a.indexOf(t,n)===n},D.MaskedEnum=Se;class It extends Y{updateOptions(t){super.updateOptions(t)}_update(t){super._update({...t,validate:t.mask})}}D.MaskedFunction=It;var Tt;class ne extends Y{constructor(t){super({...ne.DEFAULTS,...t})}updateOptions(t){super.updateOptions(t)}_update(t){super._update(t),this._updateRegExps()}_updateRegExps(){const t="^"+(this.allowNegative?"[+|\\-]?":""),n="\\d*",l=(this.scale?"("+qe(this.radix)+"\\d{0,"+this.scale+"})?":"")+"$";this._numberRegExp=new RegExp(t+n+l),this._mapToRadixRegExp=new RegExp("["+this.mapToRadix.map(qe).join("")+"]","g"),this._thousandsSeparatorRegExp=new RegExp(qe(this.thousandsSeparator),"g")}_removeThousandsSeparators(t){return t.replace(this._thousandsSeparatorRegExp,"")}_insertThousandsSeparators(t){const n=t.split(this.radix);return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,this.thousandsSeparator),n.join(this.radix)}doPrepareChar(t,n){n===void 0&&(n={});const[l,s]=super.doPrepareChar(this._removeThousandsSeparators(this.scale&&this.mapToRadix.length&&(n.input&&n.raw||!n.input&&!n.raw)?t.replace(this._mapToRadixRegExp,this.radix):t),n);return t&&!l&&(s.skip=!0),l&&!this.allowPositive&&!this.value&&l!=="-"&&s.aggregate(this._appendChar("-")),[l,s]}_separatorsCount(t,n){n===void 0&&(n=!1);let l=0;for(let s=0;s<t;++s)this._value.indexOf(this.thousandsSeparator,s)===s&&(++l,n&&(t+=this.thousandsSeparator.length));return l}_separatorsCountFromSlice(t){return t===void 0&&(t=this._value),this._separatorsCount(this._removeThousandsSeparators(t).length,!0)}extractInput(t,n,l){return t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length),[t,n]=this._adjustRangeWithSeparators(t,n),this._removeThousandsSeparators(super.extractInput(t,n,l))}_appendCharRaw(t,n){n===void 0&&(n={});const l=n.tail&&n._beforeTailState?n._beforeTailState._value:this._value,s=this._separatorsCountFromSlice(l);this._value=this._removeThousandsSeparators(this.value);const o=this._value;this._value+=t;const r=this.number;let i=!isNaN(r),d=!1;if(i){let h;this.min!=null&&this.min<0&&this.number<this.min&&(h=this.min),this.max!=null&&this.max>0&&this.number>this.max&&(h=this.max),h!=null&&(this.autofix?(this._value=this.format(h,this).replace(ne.UNMASKED_RADIX,this.radix),d||(d=o===this._value&&!n.tail)):i=!1),i&&(i=!!this._value.match(this._numberRegExp))}let c;i?c=new R({inserted:this._value.slice(o.length),rawInserted:d?"":t,skip:d}):(this._value=o,c=new R),this._value=this._insertThousandsSeparators(this._value);const u=n.tail&&n._beforeTailState?n._beforeTailState._value:this._value,p=this._separatorsCountFromSlice(u);return c.tailShift+=(p-s)*this.thousandsSeparator.length,c}_findSeparatorAround(t){if(this.thousandsSeparator){const n=t-this.thousandsSeparator.length+1,l=this.value.indexOf(this.thousandsSeparator,n);if(l<=t)return l}return-1}_adjustRangeWithSeparators(t,n){const l=this._findSeparatorAround(t);l>=0&&(t=l);const s=this._findSeparatorAround(n);return s>=0&&(n=s+this.thousandsSeparator.length),[t,n]}remove(t,n){t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length),[t,n]=this._adjustRangeWithSeparators(t,n);const l=this.value.slice(0,t),s=this.value.slice(n),o=this._separatorsCount(l.length);this._value=this._insertThousandsSeparators(this._removeThousandsSeparators(l+s));const r=this._separatorsCountFromSlice(l);return new R({tailShift:(r-o)*this.thousandsSeparator.length})}nearestInputPos(t,n){if(!this.thousandsSeparator)return t;switch(n){case C.NONE:case C.LEFT:case C.FORCE_LEFT:{const l=this._findSeparatorAround(t-1);if(l>=0){const s=l+this.thousandsSeparator.length;if(t<s||this.value.length<=s||n===C.FORCE_LEFT)return l}break}case C.RIGHT:case C.FORCE_RIGHT:{const l=this._findSeparatorAround(t);if(l>=0)return l+this.thousandsSeparator.length}}return t}doCommit(){if(this.value){const t=this.number;let n=t;this.min!=null&&(n=Math.max(n,this.min)),this.max!=null&&(n=Math.min(n,this.max)),n!==t&&(this.unmaskedValue=this.format(n,this));let l=this.value;this.normalizeZeros&&(l=this._normalizeZeros(l)),this.padFractionalZeros&&this.scale>0&&(l=this._padFractionalZeros(l)),this._value=l}super.doCommit()}_normalizeZeros(t){const n=this._removeThousandsSeparators(t).split(this.radix);return n[0]=n[0].replace(/^(\D*)(0*)(\d*)/,(l,s,o,r)=>s+r),t.length&&!/\d$/.test(n[0])&&(n[0]=n[0]+"0"),n.length>1&&(n[1]=n[1].replace(/0*$/,""),n[1].length||(n.length=1)),this._insertThousandsSeparators(n.join(this.radix))}_padFractionalZeros(t){if(!t)return t;const n=t.split(this.radix);return n.length<2&&n.push(""),n[1]=n[1].padEnd(this.scale,"0"),n.join(this.radix)}doSkipInvalid(t,n,l){n===void 0&&(n={});const s=this.scale===0&&t!==this.thousandsSeparator&&(t===this.radix||t===ne.UNMASKED_RADIX||this.mapToRadix.includes(t));return super.doSkipInvalid(t,n,l)&&!s}get unmaskedValue(){return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix,ne.UNMASKED_RADIX)}set unmaskedValue(t){super.unmaskedValue=t}get typedValue(){return this.parse(this.unmaskedValue,this)}set typedValue(t){this.rawInputValue=this.format(t,this).replace(ne.UNMASKED_RADIX,this.radix)}get number(){return this.typedValue}set number(t){this.typedValue=t}get allowNegative(){return this.min!=null&&this.min<0||this.max!=null&&this.max<0}get allowPositive(){return this.min!=null&&this.min>0||this.max!=null&&this.max>0}typedValueEquals(t){return(super.typedValueEquals(t)||ne.EMPTY_VALUES.includes(t)&&ne.EMPTY_VALUES.includes(this.typedValue))&&!(t===0&&this.value==="")}}Tt=ne,ne.UNMASKED_RADIX=".",ne.EMPTY_VALUES=[...Y.EMPTY_VALUES,0],ne.DEFAULTS={...Y.DEFAULTS,mask:Number,radix:",",thousandsSeparator:"",mapToRadix:[Tt.UNMASKED_RADIX],min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,scale:2,normalizeZeros:!0,padFractionalZeros:!1,parse:Number,format:a=>a.toLocaleString("en-US",{useGrouping:!1,maximumFractionDigits:20})},D.MaskedNumber=ne;const Re={MASKED:"value",UNMASKED:"unmaskedValue",TYPED:"typedValue"};function Ze(a,t,n){t===void 0&&(t=Re.MASKED),n===void 0&&(n=Re.MASKED);const l=ae(a);return s=>l.runIsolated(o=>(o[t]=s,o[n]))}function Lt(a,t,n,l){return Ze(t,n,l)(a)}D.PIPE_TYPE=Re,D.createPipe=Ze,D.pipe=Lt;class Rt extends J{get repeatFrom(){var t;return(t=Array.isArray(this.repeat)?this.repeat[0]:this.repeat===1/0?0:this.repeat)!=null?t:0}get repeatTo(){var t;return(t=Array.isArray(this.repeat)?this.repeat[1]:this.repeat)!=null?t:1/0}constructor(t){super(t)}updateOptions(t){super.updateOptions(t)}_update(t){var n,l,s;const{repeat:o,...r}=xe(t);this._blockOpts=Object.assign({},this._blockOpts,r);const i=ae(this._blockOpts);this.repeat=(n=(l=o??i.repeat)!=null?l:this.repeat)!=null?n:1/0,super._update({mask:"m".repeat(Math.max(this.repeatTo===1/0&&((s=this._blocks)==null?void 0:s.length)||0,this.repeatFrom)),blocks:{m:i},eager:i.eager,overwrite:i.overwrite,skipInvalid:i.skipInvalid,lazy:i.lazy,placeholderChar:i.placeholderChar,displayChar:i.displayChar})}_allocateBlock(t){if(t<this._blocks.length)return this._blocks[t];if(this.repeatTo===1/0||this._blocks.length<this.repeatTo)return this._blocks.push(ae(this._blockOpts)),this.mask+="m",this._blocks[this._blocks.length-1]}_appendCharRaw(t,n){n===void 0&&(n={});const l=new R;for(let d=(s=(o=this._mapPosToBlock(this.displayValue.length))==null?void 0:o.index)!=null?s:Math.max(this._blocks.length-1,0),c,u;c=(r=this._blocks[d])!=null?r:u=!u&&this._allocateBlock(d);++d){var s,o,r,i;const p=c._appendChar(t,{...n,_beforeTailState:(i=n._beforeTailState)==null||(i=i._blocks)==null?void 0:i[d]});if(p.skip&&u){this._blocks.pop(),this.mask=this.mask.slice(1);break}if(l.aggregate(p),p.consumed)break}return l}_trimEmptyTail(t,n){var l,s;t===void 0&&(t=0);const o=Math.max(((l=this._mapPosToBlock(t))==null?void 0:l.index)||0,this.repeatFrom,0);let r;n!=null&&(r=(s=this._mapPosToBlock(n))==null?void 0:s.index),r==null&&(r=this._blocks.length-1);let i=0;for(let d=r;o<=d&&!this._blocks[d].unmaskedValue;--d,++i);i&&(this._blocks.splice(r-i+1,i),this.mask=this.mask.slice(i))}reset(){super.reset(),this._trimEmptyTail()}remove(t,n){t===void 0&&(t=0),n===void 0&&(n=this.displayValue.length);const l=super.remove(t,n);return this._trimEmptyTail(t,n),l}totalInputPositions(t,n){return t===void 0&&(t=0),n==null&&this.repeatTo===1/0?1/0:super.totalInputPositions(t,n)}get state(){return super.state}set state(t){this._blocks.length=t._blocks.length,this.mask=this.mask.slice(0,this._blocks.length),super.state=t}}D.RepeatBlock=Rt;try{globalThis.IMask=D}catch{}const Yi=Object.freeze(Object.defineProperty({__proto__:null,ChangeDetails:R,ChunksTailDetails:me,DIRECTION:C,HTMLContenteditableMaskElement:Ge,HTMLInputMaskElement:Ft,HTMLMaskElement:Ce,InputMask:At,MaskElement:Te,Masked:Y,MaskedDate:de,MaskedDynamic:Ne,MaskedEnum:Se,MaskedFunction:It,MaskedNumber:ne,MaskedPattern:J,MaskedRange:ve,MaskedRegExp:Dt,PIPE_TYPE:Re,PatternFixedDefinition:Ke,PatternInputDefinition:Be,RepeatBlock:Rt,createMask:ae,createPipe:Ze,default:D,forceDirection:St,normalizeOpts:xe,pipe:Lt},Symbol.toStringTag,{value:"Module"}));U.ModalEdit=Ct,U.VForm=fe,U.VsInputArray=xt,U.VsInputCheckbox=tt,U.VsInputColor=bt,U.VsInputContainer=ct,U.VsInputDate=nt,U.VsInputEmail=et,U.VsInputFile=at,U.VsInputFileList=it,U.VsInputKeyValue=kt,U.VsInputMask=Qe,U.VsInputNumber=Je,U.VsInputRadio=Pe,U.VsInputRange=yt,U.VsInputSelect=He,U.VsInputSlug=gt,U.VsInputStatic=Ue,U.VsInputSwitcher=je,U.VsInputTag=ft,U.VsInputText=_e,U.VsInputTextarea=ut,U.default=fe,U.inputs=wt,U.vsInputDatatable=ht,U.vsInputMap=mt,Object.defineProperties(U,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|