@milaboratories/uikit 2.4.1 → 2.4.3
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/.turbo/turbo-build.log +621 -730
- package/.turbo/turbo-type-check.log +3 -2
- package/CHANGELOG.md +16 -0
- package/{vite.config.ts → build.browser-lib.config.js} +5 -13
- package/dist/__tests__/compositions/useValidation.spec.d.ts +1 -0
- package/dist/__tests__/setup.d.ts +0 -1
- package/dist/__tests__/use-debounce-fn.test.d.ts +1 -0
- package/dist/assets/icons/icon-assets-min/16_add.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_arrow-down.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_arrow-left.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_arrow-link.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_arrow-right.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_arrow-up.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_box.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_calendar.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_caret-down.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_caret-left.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_caret-right.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_caret-up.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_cell-type-num.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_cell-type-subset.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_cell-type-txt.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_checkmark.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-down.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-first.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-last.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-left.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-right.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-up.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_clear.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_clipboard-copied.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_clipboard.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_close.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_compare.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_copy.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_data-dimentions.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_delete-bin.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_delete-circle.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_delete-clear.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_download.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_drag-dots.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_duplicate.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_edit.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_error.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_export.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_filter-on.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_filter.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_help-outline.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_help.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_import.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_info-outline.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_info.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_jump-link.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_link-arrow.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_link.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_loading.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_lock.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_maximize.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_minimize.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_minus.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_more.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_open.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_paper-clip.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_pause.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_play.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_progress.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_renew.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_required.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_restart.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_reverse.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_settings.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_sort.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_sorter.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_stop.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_success.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_time.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_tune.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_warning.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_x-axis.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_y-axis.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_zip.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_add-layer.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_add.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_align-center.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_align-left.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_align-right.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_annotate.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_annotation.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_area.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-down.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-left-curved.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-left.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-link.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-right.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-up.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_axes.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bar-cross.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bar-error.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bar-stacked.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bar-trend.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bar.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bindot.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_box.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_boxplot-binned.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_boxplot-jitter.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_boxplot-notched.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_boxplot.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bubble.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_calendar.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_canvas.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cell-type-num.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cell-type-subset.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cell-type-txt.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_checkbox-checked.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_checkbox-intermediate.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_checkbox.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_checkmark.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-down.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-first.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-last.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-left.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-right.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-sort.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-up.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_clipboard-copied.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_clipboard.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_close.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cloud-download.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cloud-offline.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cloud-online.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cloud-upload.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cluster.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_code.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_color-fill.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_color-none.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_color-stroke.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_color.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_columns.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_connected-points.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_container.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cookie.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_copy.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cpu.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cursor-pointer.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_data-dimentions.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_debug.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_delete-bin.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_delete-circle.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_delete-clear.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dendrogram-X-line.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dendrogram-X.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dendrogram-Y-line.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dendrogram-Y.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dna-add.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dna-import.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dna.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_download.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_drag-dots.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_drag-horizontal.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_drag-vertical.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_duplicate.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_edit.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_error-bar.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_error.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_expand-left.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_expand-right.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_export-2.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_export.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_external-link.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_file-doc-add.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_file-doc-download.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_file-doc-import.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_file-doc.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_files-export.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_files-import.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_filter-on.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_filter.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_fire-tips.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_folder-parent.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_frame-type-all.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_frame-type-bottom.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_frame-type-left-bottom.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_frame-type-left.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_frame-type-none.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_generate.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_graph.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_heatmap.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_help-outline.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_help.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_hide.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_import.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_info-outline.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_info.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_jitter.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_jump-link.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_lasso.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_layers.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_learn.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_legend-box-dot.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_legend-box.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_legend.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_line-binned.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_line-error.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_line-jitter.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_line.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-dashed.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-dotdash.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-dotted.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-longdash.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-solid.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-twodash.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_link-disabled.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_link.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_loading.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_lock.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_maximize.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_menu.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_minimize.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_minus.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_monetization-off.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_monetization-on.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_monetization.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_more.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_paper-clip.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_pause.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_pen-tool.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_pin.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_play.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-bottom-annotation.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-bottom.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-left-annotation.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-left.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-right-annotation.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-right.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-top-annotation.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-top.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_product.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_progress.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_publications.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_radio-button-checked.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_radio-button.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_renew.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_restart.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_reverse.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_rotation-0.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_rotation-45.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_rotation-90.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_search.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_server-on.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_server.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_settings.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_show.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_sina.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_skatterplot.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_slice.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_social-github.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_social-linkedin.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_social-twitter-X.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_social-twitter-bird.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_social-youtube.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_sort-list-down.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_sort-list-up.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_sort.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_statistics.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_stop.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_strip-plot.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_success.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_table-add.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_table-alias.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_table-import.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_table-upload.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_table.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_template.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_terminal.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_text-align-center.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_text-align-left.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_text-align-right.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_theme-dark.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_theme-light.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_time.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_title-position.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_tune.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_venn.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_view-hide.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_view-show.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_violin-binned.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_violin-jitter.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_violin.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_warning.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_wetlab.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_windows-collapse.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_windows-expand.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_x-axis.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_y-axis.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_zip.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_zoom-in.svg.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_zoom-out.svg.js.map +1 -1
- package/dist/assets/images/24_checkbox-light-enabled-checked.svg.js.map +1 -1
- package/dist/assets/images/24_checkbox-light-enabled-unchecked.svg.js.map +1 -1
- package/dist/base/BtnBase.vue.d.ts +0 -1
- package/dist/base/BtnBase.vue.js.map +1 -1
- package/dist/colors/__tests__/colors.spec.d.ts +1 -0
- package/dist/colors/color.d.ts +0 -1
- package/dist/colors/color.js.map +1 -1
- package/dist/colors/gradient.d.ts +0 -1
- package/dist/colors/gradient.js.map +1 -1
- package/dist/colors/index.d.ts +0 -1
- package/dist/colors/palette.d.ts +0 -1
- package/dist/components/ContextProvider.vue.d.ts +0 -1
- package/dist/components/ContextProvider.vue.js.map +1 -1
- package/dist/components/DataTable/BaseCellComponent.vue.d.ts +0 -1
- package/dist/components/DataTable/BaseCellComponent.vue.js +1 -1
- package/dist/components/DataTable/BaseCellComponent.vue.js.map +1 -1
- package/dist/components/DataTable/ColumnCaret.vue.d.ts +0 -1
- package/dist/components/DataTable/ColumnCaret.vue.js.map +1 -1
- package/dist/components/DataTable/ColumnsCommandMenu.vue.d.ts +0 -1
- package/dist/components/DataTable/ColumnsCommandMenu.vue.js.map +1 -1
- package/dist/components/DataTable/RowsCommandMenu.vue.d.ts +0 -1
- package/dist/components/DataTable/RowsCommandMenu.vue.js.map +1 -1
- package/dist/components/DataTable/TScroll.vue.d.ts +0 -1
- package/dist/components/DataTable/TScroll.vue.js.map +1 -1
- package/dist/components/DataTable/TableComponent.vue.d.ts +0 -1
- package/dist/components/DataTable/TableComponent.vue.js +42 -33
- package/dist/components/DataTable/TableComponent.vue.js.map +1 -1
- package/dist/components/DataTable/TdCell.vue.d.ts +0 -1
- package/dist/components/DataTable/TdCell.vue.js +1 -1
- package/dist/components/DataTable/TdCell.vue.js.map +1 -1
- package/dist/components/DataTable/ThCell.vue.d.ts +0 -1
- package/dist/components/DataTable/ThCell.vue.js.map +1 -1
- package/dist/components/DataTable/TrBody.vue.d.ts +0 -1
- package/dist/components/DataTable/TrBody.vue.js +4 -4
- package/dist/components/DataTable/TrBody.vue.js.map +1 -1
- package/dist/components/DataTable/TrHead.vue.d.ts +0 -1
- package/dist/components/DataTable/adapters/AsyncData.d.ts +0 -1
- package/dist/components/DataTable/adapters/AsyncData.js +7 -7
- package/dist/components/DataTable/adapters/AsyncData.js.map +1 -1
- package/dist/components/DataTable/adapters/RawData.d.ts +0 -1
- package/dist/components/DataTable/adapters/RawData.js +1 -1
- package/dist/components/DataTable/adapters/RawData.js.map +1 -1
- package/dist/components/DataTable/assets/TableIcon.vue.d.ts +0 -1
- package/dist/components/DataTable/assets/TableIcon.vue.js.map +1 -1
- package/dist/components/DataTable/composition/useColumn.d.ts +0 -1
- package/dist/components/DataTable/composition/useColumn.js.map +1 -1
- package/dist/components/DataTable/composition/useMouseUp.d.ts +0 -1
- package/dist/components/DataTable/composition/useResize.d.ts +0 -1
- package/dist/components/DataTable/composition/useResize.js +8 -8
- package/dist/components/DataTable/composition/useResize.js.map +1 -1
- package/dist/components/DataTable/composition/useTableColumns.d.ts +0 -1
- package/dist/components/DataTable/composition/useTableColumns.js +8 -8
- package/dist/components/DataTable/composition/useTableColumns.js.map +1 -1
- package/dist/components/DataTable/composition/useTableRows.d.ts +0 -1
- package/dist/components/DataTable/composition/useTableRows.js +6 -6
- package/dist/components/DataTable/composition/useTableRows.js.map +1 -1
- package/dist/components/DataTable/constants.d.ts +0 -1
- package/dist/components/DataTable/domain.d.ts +0 -1
- package/dist/components/DataTable/domain.js.map +1 -1
- package/dist/components/DataTable/index.d.ts +0 -1
- package/dist/components/DataTable/index.js.map +1 -1
- package/dist/components/DataTable/keys.d.ts +0 -1
- package/dist/components/DataTable/keys.js.map +1 -1
- package/dist/components/DataTable/state.d.ts +0 -1
- package/dist/components/DataTable/state.js +15 -15
- package/dist/components/DataTable/state.js.map +1 -1
- package/dist/components/DataTable/types.d.ts +0 -1
- package/dist/components/DropdownListItem.vue.d.ts +0 -1
- package/dist/components/DropdownListItem.vue.js.map +1 -1
- package/dist/components/GridTable/constants.d.ts +0 -1
- package/dist/components/GridTable/domain.d.ts +0 -1
- package/dist/components/GridTable/getColumnPositions.d.ts +0 -1
- package/dist/components/GridTable/types.d.ts +0 -1
- package/dist/components/GridTable/useColumn.d.ts +0 -1
- package/dist/components/GridTable/useMouseUp.d.ts +0 -1
- package/dist/components/GridTable/useResize.d.ts +0 -1
- package/dist/components/HScroll.vue.d.ts +0 -1
- package/dist/components/HScroll.vue.js.map +1 -1
- package/dist/components/InputRange.vue.d.ts +0 -1
- package/dist/components/InputRange.vue.js.map +1 -1
- package/dist/components/LongText.vue.d.ts +0 -1
- package/dist/components/LongText.vue.js +8 -8
- package/dist/components/LongText.vue.js.map +1 -1
- package/dist/components/PlAccordion/ExpandTransition.vue.d.ts +0 -1
- package/dist/components/PlAccordion/{ExpandTransition.vue.js → ExpandTransition.vue2.js} +1 -1
- package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +1 -0
- package/dist/components/PlAccordion/ExpandTransition.vue3.js +1 -1
- package/dist/components/PlAccordion/PlAccordion.vue.d.ts +0 -1
- package/dist/components/PlAccordion/PlAccordion.vue.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordionSection.vue.d.ts +0 -1
- package/dist/components/PlAccordion/PlAccordionSection.vue2.js +10 -10
- package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
- package/dist/components/PlAccordion/index.d.ts +0 -1
- package/dist/components/PlAlert/PlAlert.vue.d.ts +0 -1
- package/dist/components/PlAlert/PlAlert.vue.js.map +1 -1
- package/dist/components/PlAlert/index.d.ts +0 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.d.ts +0 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +31 -31
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.js.map +1 -1
- package/dist/components/PlAutocomplete/__tests__/PlAutocomplete.spec.d.ts +1 -0
- package/dist/components/PlAutocomplete/index.d.ts +0 -1
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts +77 -0
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js +245 -0
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js.map +1 -0
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js +5 -0
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js.map +1 -0
- package/dist/components/PlAutocompleteMulti/__tests__/PlAutocompleteMulti.spec.d.ts +1 -0
- package/dist/components/PlAutocompleteMulti/index.d.ts +1 -0
- package/dist/components/PlBtnAccent/PlBtnAccent.vue.d.ts +0 -1
- package/dist/components/PlBtnAccent/PlBtnAccent.vue.js.map +1 -1
- package/dist/components/PlBtnAccent/index.d.ts +0 -1
- package/dist/components/PlBtnDanger/PlBtnDanger.vue.d.ts +0 -1
- package/dist/components/PlBtnDanger/PlBtnDanger.vue.js.map +1 -1
- package/dist/components/PlBtnDanger/index.d.ts +0 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.vue.d.ts +0 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.vue.js.map +1 -1
- package/dist/components/PlBtnGhost/index.d.ts +0 -1
- package/dist/components/PlBtnGroup/PlBtnGroup.vue.d.ts +0 -1
- package/dist/components/PlBtnGroup/PlBtnGroup.vue.js.map +1 -1
- package/dist/components/PlBtnGroup/index.d.ts +0 -1
- package/dist/components/PlBtnLink/PlBtnLink.vue.d.ts +0 -1
- package/dist/components/PlBtnLink/index.d.ts +0 -1
- package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.d.ts +0 -1
- package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.js.map +1 -1
- package/dist/components/PlBtnPrimary/__tests__/BtnPrimary.spec.d.ts +1 -0
- package/dist/components/PlBtnPrimary/index.d.ts +0 -1
- package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.d.ts +0 -1
- package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.js.map +1 -1
- package/dist/components/PlBtnSecondary/index.d.ts +0 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.vue.d.ts +0 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.vue.js +1 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.vue.js.map +1 -1
- package/dist/components/PlBtnSplit/__tests__/PlBtnSplit.spec.d.ts +1 -0
- package/dist/components/PlBtnSplit/index.d.ts +0 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.vue.d.ts +0 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
- package/dist/components/PlChartHistogram/createGridlines.d.ts +0 -1
- package/dist/components/PlChartHistogram/createGridlines.js +2 -2
- package/dist/components/PlChartHistogram/createGridlines.js.map +1 -1
- package/dist/components/PlChartHistogram/createLabels.d.ts +0 -1
- package/dist/components/PlChartHistogram/createLabels.js.map +1 -1
- package/dist/components/PlChartHistogram/createSvgContainer.d.ts +0 -1
- package/dist/components/PlChartHistogram/createSvgContainer.js +1 -1
- package/dist/components/PlChartHistogram/createSvgContainer.js.map +1 -1
- package/dist/components/PlChartHistogram/drawBins.d.ts +0 -1
- package/dist/components/PlChartHistogram/drawBins.js +1 -1
- package/dist/components/PlChartHistogram/drawBins.js.map +1 -1
- package/dist/components/PlChartHistogram/drawThreshold.d.ts +0 -1
- package/dist/components/PlChartHistogram/drawThreshold.js.map +1 -1
- package/dist/components/PlChartHistogram/histogram.d.ts +0 -1
- package/dist/components/PlChartHistogram/histogram.js +19 -22
- package/dist/components/PlChartHistogram/histogram.js.map +1 -1
- package/dist/components/PlChartHistogram/index.d.ts +0 -1
- package/dist/components/PlChartHistogram/logspace.d.ts +0 -1
- package/dist/components/PlChartHistogram/logspace.js.map +1 -1
- package/dist/components/PlChartHistogram/normalizeBins.d.ts +0 -1
- package/dist/components/PlChartHistogram/normalizeBins.js.map +1 -1
- package/dist/components/PlChartHistogram/scales.spec.d.ts +1 -0
- package/dist/components/PlChartHistogram/types.d.ts +0 -1
- package/dist/components/PlChartStackedBar/Legends.vue.d.ts +0 -1
- package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue.d.ts +0 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue.d.ts +0 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRow.vue.d.ts +0 -1
- package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.vue.d.ts +0 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/index.d.ts +0 -1
- package/dist/components/PlChartStackedBar/types.d.ts +0 -1
- package/dist/components/PlCheckbox/PlCheckbox.vue.d.ts +0 -1
- package/dist/components/PlCheckbox/PlCheckbox.vue.js.map +1 -1
- package/dist/components/PlCheckbox/PlCheckboxBase.vue.d.ts +0 -1
- package/dist/components/PlCheckbox/__tests__/PlCheckbox.spec.d.ts +1 -0
- package/dist/components/PlCheckbox/index.d.ts +0 -1
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.d.ts +0 -1
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js.map +1 -1
- package/dist/components/PlCheckboxGroup/index.d.ts +0 -1
- package/dist/components/PlChip/PlChip.vue.d.ts +0 -1
- package/dist/components/PlChip/PlChip.vue.js +1 -1
- package/dist/components/PlChip/PlChip.vue.js.map +1 -1
- package/dist/components/PlChip/index.d.ts +0 -1
- package/dist/components/PlClipboard/PlClipboard.vue.d.ts +0 -1
- package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
- package/dist/components/PlClipboard/index.d.ts +0 -1
- package/dist/components/PlConfirmDialog.vue.d.ts +0 -1
- package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts +0 -1
- package/dist/components/PlDialogModal/PlDialogModal.vue.js.map +1 -1
- package/dist/components/PlDialogModal/index.d.ts +0 -1
- package/dist/components/PlDropdown/OptionList.vue.d.ts +0 -1
- package/dist/components/PlDropdown/OptionList.vue.js.map +1 -1
- package/dist/components/PlDropdown/PlDropdown.vue.d.ts +0 -1
- package/dist/components/PlDropdown/PlDropdown.vue.js.map +1 -1
- package/dist/components/PlDropdown/__tests__/PlDropdown.spec.d.ts +1 -0
- package/dist/components/PlDropdown/index.d.ts +0 -1
- package/dist/components/PlDropdown/types.d.ts +0 -1
- package/dist/components/PlDropdown/useGroupBy.d.ts +0 -1
- package/dist/components/PlDropdown/useGroupBy.js.map +1 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.d.ts +0 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js.map +1 -1
- package/dist/components/PlDropdownLegacy/__tests__/PlDropdownLegacy.spec.d.ts +1 -0
- package/dist/components/PlDropdownLegacy/index.d.ts +0 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts +2 -3
- package/dist/components/PlDropdownLine/PlDropdownLine.vue.js.map +1 -1
- package/dist/components/PlDropdownLine/ResizableInput.vue.d.ts +0 -1
- package/dist/components/PlDropdownLine/ResizableInput.vue.js.map +1 -1
- package/dist/components/PlDropdownLine/index.d.ts +0 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts +0 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js +65 -69
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js.map +1 -1
- package/dist/components/PlDropdownMulti/__tests__/PlDropdownMulti.spec.d.ts +1 -0
- package/dist/components/PlDropdownMulti/index.d.ts +0 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts +0 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.js.map +1 -1
- package/dist/components/PlDropdownMultiRef/__tests__/PlDropdownMultiRef.spec.d.ts +1 -0
- package/dist/components/PlDropdownMultiRef/index.d.ts +0 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.vue.d.ts +0 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.vue.js.map +1 -1
- package/dist/components/PlDropdownRef/__tests__/PlDropdownRef.spec.d.ts +1 -0
- package/dist/components/PlDropdownRef/index.d.ts +0 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts +0 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.vue.js.map +1 -1
- package/dist/components/PlEditableTitle/index.d.ts +0 -1
- package/dist/components/PlElementList/PlElementList.vue.d.ts +0 -1
- package/dist/components/PlElementList/PlElementList.vue2.js +2 -2
- package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.vue.d.ts +0 -1
- package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
- package/dist/components/PlElementList/index.d.ts +0 -1
- package/dist/components/PlElementList/utils.d.ts +0 -1
- package/dist/components/PlElementList/utils.js.map +1 -1
- package/dist/components/PlErrorAlert/PlErrorAlert.vue.d.ts +1 -2
- package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
- package/dist/components/PlErrorAlert/index.d.ts +0 -1
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.d.ts +6 -7
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js +9 -9
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js.map +1 -1
- package/dist/components/PlErrorBoundary/index.d.ts +0 -1
- package/dist/components/PlFileDialog/Local.vue.d.ts +0 -1
- package/dist/components/PlFileDialog/Local.vue.js +5 -5
- package/dist/components/PlFileDialog/Local.vue.js.map +1 -1
- package/dist/components/PlFileDialog/PlFileDialog.vue.d.ts +0 -1
- package/dist/components/PlFileDialog/PlFileDialog.vue.js +3 -3
- package/dist/components/PlFileDialog/PlFileDialog.vue.js.map +1 -1
- package/dist/components/PlFileDialog/Remote.vue.d.ts +0 -1
- package/dist/components/PlFileDialog/Remote.vue.js +17 -17
- package/dist/components/PlFileDialog/Remote.vue.js.map +1 -1
- package/dist/components/PlFileDialog/Shortcuts.vue.d.ts +0 -1
- package/dist/components/PlFileDialog/index.d.ts +0 -1
- package/dist/components/PlFileDialog/remote.d.ts +0 -1
- package/dist/components/PlFileDialog/remote.js.map +1 -1
- package/dist/components/PlFileDialog/utils.d.ts +0 -1
- package/dist/components/PlFileDialog/utils.js +10 -10
- package/dist/components/PlFileDialog/utils.js.map +1 -1
- package/dist/components/PlFileDialog/utils.test.d.ts +1 -0
- package/dist/components/PlFileInput/PlFileInput.vue.d.ts +0 -1
- package/dist/components/PlFileInput/PlFileInput.vue.js +32 -33
- package/dist/components/PlFileInput/PlFileInput.vue.js.map +1 -1
- package/dist/components/PlFileInput/index.d.ts +0 -1
- package/dist/components/PlFileInput/utils.d.ts +0 -1
- package/dist/components/PlIcon16/PlIcon16.vue.d.ts +0 -1
- package/dist/components/PlIcon16/PlIcon16.vue2.js.map +1 -1
- package/dist/components/PlIcon16/index.d.ts +0 -1
- package/dist/components/PlIcon24/PlIcon24.vue.d.ts +0 -1
- package/dist/components/PlIcon24/PlIcon24.vue2.js.map +1 -1
- package/dist/components/PlIcon24/index.d.ts +0 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.d.ts +0 -1
- package/dist/components/PlLoaderCircular/index.d.ts +0 -1
- package/dist/components/PlLogView/PlLogView.vue.d.ts +8 -1
- package/dist/components/PlLogView/PlLogView.vue.js +85 -59
- package/dist/components/PlLogView/PlLogView.vue.js.map +1 -1
- package/dist/components/PlLogView/index.d.ts +0 -1
- package/dist/components/PlLogView/useLogHandle.d.ts +0 -1
- package/dist/components/PlLogView/useLogHandle.js +16 -17
- package/dist/components/PlLogView/useLogHandle.js.map +1 -1
- package/dist/components/PlMaskIcon16/index.d.ts +0 -1
- package/dist/components/PlMaskIcon24/index.d.ts +0 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts +0 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.js.map +1 -1
- package/dist/components/PlNotificationAlert/index.d.ts +0 -1
- package/dist/components/PlNumberField/PlNumberField.vue.d.ts +0 -1
- package/dist/components/PlNumberField/PlNumberField.vue.js.map +1 -1
- package/dist/components/PlNumberField/__tests__/PlNumberField.spec.d.ts +1 -0
- package/dist/components/PlNumberField/index.d.ts +0 -1
- package/dist/components/PlNumberField/parseNumber.d.ts +0 -1
- package/dist/components/PlNumberField/parseNumber.js.map +1 -1
- package/dist/components/PlProgressBar/PlProgressBar.vue.d.ts +0 -1
- package/dist/components/PlProgressBar/index.d.ts +0 -1
- package/dist/components/PlProgressCell/PlProgressCell.vue.d.ts +0 -1
- package/dist/components/PlProgressCell/index.d.ts +0 -1
- package/dist/components/PlProgressCell/types.d.ts +0 -1
- package/dist/components/PlRadio/PlRadio.vue.d.ts +0 -1
- package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
- package/dist/components/PlRadio/PlRadioGroup.vue.d.ts +0 -1
- package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
- package/dist/components/PlRadio/__tests__/PlRadioGroup.spec.d.ts +1 -0
- package/dist/components/PlRadio/index.d.ts +0 -1
- package/dist/components/PlRadio/keys.d.ts +0 -1
- package/dist/components/PlRadio/keys.js.map +1 -1
- package/dist/components/PlSearchField/PlSearchField.vue.d.ts +0 -1
- package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
- package/dist/components/PlSearchField/index.d.ts +0 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.vue.d.ts +0 -1
- package/dist/components/PlSectionSeparator/index.d.ts +0 -1
- package/dist/components/PlSidebar/PlSidebarGroup.vue.d.ts +0 -1
- package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts +0 -1
- package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
- package/dist/components/PlSidebar/index.d.ts +0 -1
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.d.ts +0 -1
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.js +22 -12
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.js.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue.d.ts +0 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
- package/dist/components/PlSlideModal/index.d.ts +0 -1
- package/dist/components/PlSlideModal/props.d.ts +0 -1
- package/dist/components/PlSpacer/PlSpacer.vue.d.ts +0 -1
- package/dist/components/PlSpacer/index.d.ts +0 -1
- package/dist/components/PlSplash/PlSplash.vue.d.ts +0 -1
- package/dist/components/PlSplash/index.d.ts +0 -1
- package/dist/components/PlStatusTag/PlStatusTag.vue.d.ts +0 -1
- package/dist/components/PlStatusTag/index.d.ts +0 -1
- package/dist/components/PlStatusTag/types.d.ts +0 -1
- package/dist/components/PlSvg/PlSvg.vue.d.ts +0 -1
- package/dist/components/PlSvg/PlSvg.vue2.js +1 -1
- package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
- package/dist/components/PlSvg/index.d.ts +0 -1
- package/dist/components/PlSvg/registry.d.ts +0 -1
- package/dist/components/PlSvg/registry.js +3 -3
- package/dist/components/PlSvg/registry.js.map +1 -1
- package/dist/components/PlTabs/PlTabs.vue.d.ts +0 -1
- package/dist/components/PlTabs/PlTabs.vue.js.map +1 -1
- package/dist/components/PlTabs/Tab.vue.d.ts +0 -1
- package/dist/components/PlTabs/Tab.vue.js.map +1 -1
- package/dist/components/PlTabs/index.d.ts +0 -1
- package/dist/components/PlTabs/types.d.ts +0 -1
- package/dist/components/PlTextArea/PlTextArea.vue.d.ts +0 -1
- package/dist/components/PlTextArea/PlTextArea.vue.js.map +1 -1
- package/dist/components/PlTextArea/__tests__/PlTextArea.spec.d.ts +1 -0
- package/dist/components/PlTextArea/index.d.ts +0 -1
- package/dist/components/PlTextField/PlTextField.vue.d.ts +0 -1
- package/dist/components/PlTextField/PlTextField.vue.js.map +1 -1
- package/dist/components/PlTextField/__tests__/TextField.spec.d.ts +1 -0
- package/dist/components/PlTextField/index.d.ts +0 -1
- package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.d.ts +0 -1
- package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js.map +1 -1
- package/dist/components/PlToggleSwitch/index.d.ts +0 -1
- package/dist/components/PlTooltip/Beak.vue.d.ts +0 -1
- package/dist/components/PlTooltip/Beak.vue.js.map +1 -1
- package/dist/components/PlTooltip/PlTooltip.vue.d.ts +0 -1
- package/dist/components/PlTooltip/PlTooltip.vue.js.map +1 -1
- package/dist/components/PlTooltip/global.d.ts +0 -1
- package/dist/components/PlTooltip/global.js.map +1 -1
- package/dist/components/PlTooltip/index.d.ts +0 -1
- package/dist/components/PlTooltip/useTooltipPosition.d.ts +0 -1
- package/dist/components/PlTooltip/useTooltipPosition.js.map +1 -1
- package/dist/components/Scrollable.vue.d.ts +0 -1
- package/dist/components/Scrollable.vue.js.map +1 -1
- package/dist/components/Slider.vue.d.ts +0 -1
- package/dist/components/Slider.vue.js.map +1 -1
- package/dist/components/SliderRange.vue.d.ts +0 -1
- package/dist/components/SliderRange.vue.js.map +1 -1
- package/dist/components/SliderRangeTriple.vue.d.ts +0 -1
- package/dist/components/SliderRangeTriple.vue.js.map +1 -1
- package/dist/components/TabItem.vue.d.ts +0 -1
- package/dist/components/TabItem.vue.js.map +1 -1
- package/dist/components/ThemeSwitcher.vue.d.ts +0 -1
- package/dist/components/ThemeSwitcher.vue.js.map +1 -1
- package/dist/components/TransitionSlidePanel.vue.d.ts +0 -1
- package/dist/components/TransitionSlidePanel.vue.js.map +1 -1
- package/dist/components/VScroll.vue.d.ts +0 -1
- package/dist/components/VScroll.vue.js.map +1 -1
- package/dist/components/contextMenu/Menu.vue.d.ts +0 -1
- package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
- package/dist/components/contextMenu/index.d.ts +0 -1
- package/dist/components/contextMenu/index.js.map +1 -1
- package/dist/components/contextMenu/types.d.ts +0 -1
- package/dist/composition/computedCached.d.ts +0 -1
- package/dist/composition/computedCached.js +12 -12
- package/dist/composition/computedCached.js.map +1 -1
- package/dist/composition/useClickOutside.d.ts +0 -1
- package/dist/composition/useClickOutside.js.map +1 -1
- package/dist/composition/useComponentProp.d.ts +0 -1
- package/dist/composition/useConfirm.d.ts +0 -1
- package/dist/composition/useConfirm.js.map +1 -1
- package/dist/composition/useDraggable.d.ts +0 -1
- package/dist/composition/useDraggable.js.map +1 -1
- package/dist/composition/useEventListener.d.ts +0 -1
- package/dist/composition/useEventListener.js.map +1 -1
- package/dist/composition/useFilteredList.d.ts +3 -3
- package/dist/composition/useFilteredList.js.map +1 -1
- package/dist/composition/useFormState.d.ts +0 -1
- package/dist/composition/useFormState.js +5 -5
- package/dist/composition/useFormState.js.map +1 -1
- package/dist/composition/useHover.d.ts +0 -1
- package/dist/composition/useHover.js.map +1 -1
- package/dist/composition/useInterval.d.ts +0 -1
- package/dist/composition/useInterval.js.map +1 -1
- package/dist/composition/useLocalStorage.d.ts +0 -1
- package/dist/composition/useLocalStorage.js +3 -3
- package/dist/composition/useLocalStorage.js.map +1 -1
- package/dist/composition/useMouse.d.ts +0 -1
- package/dist/composition/useMouse.js.map +1 -1
- package/dist/composition/useMouseCapture.d.ts +0 -1
- package/dist/composition/useMouseCapture.js.map +1 -1
- package/dist/composition/useNotificationPosition.d.ts +0 -1
- package/dist/composition/usePosition.d.ts +0 -1
- package/dist/composition/usePosition.js.map +1 -1
- package/dist/composition/useQuery.d.ts +0 -1
- package/dist/composition/useQuery.js +1 -1
- package/dist/composition/useQuery.js.map +1 -1
- package/dist/composition/useResizeObserver.d.ts +0 -1
- package/dist/composition/useResizeObserver.js.map +1 -1
- package/dist/composition/useRipple.d.ts +0 -1
- package/dist/composition/useRipple.js.map +1 -1
- package/dist/composition/useScroll.d.ts +0 -1
- package/dist/composition/useScroll.js.map +1 -1
- package/dist/composition/useSliderBreakpoints.d.ts +0 -1
- package/dist/composition/useSliderBreakpoints.js.map +1 -1
- package/dist/composition/useSortable.d.ts +0 -1
- package/dist/composition/useSortable.js.map +1 -1
- package/dist/composition/useSortable2.d.ts +0 -1
- package/dist/composition/useSortable2.js.map +1 -1
- package/dist/composition/useTheme.d.ts +0 -1
- package/dist/composition/useTheme.js.map +1 -1
- package/dist/composition/useTransformedModel.d.ts +0 -1
- package/dist/composition/useTransformedModel.js.map +1 -1
- package/dist/composition/useWatchFetch.d.ts +6 -3
- package/dist/composition/useWatchFetch.js +19 -19
- package/dist/composition/useWatchFetch.js.map +1 -1
- package/dist/composition/utils.d.ts +0 -1
- package/dist/composition/watchCached.d.ts +0 -1
- package/dist/composition/watchCached.js +1 -1
- package/dist/composition/watchCached.js.map +1 -1
- package/dist/demo-site-data/all-css-variables.d.ts +0 -1
- package/dist/demo-site-data/all-css-variables.js.map +1 -1
- package/dist/generated/components/svg/images/SvgRequired.vue.d.ts +0 -1
- package/dist/generated/components/svg/images/SvgRequired.vue3.js.map +1 -1
- package/dist/generated/icons-16.d.ts +0 -1
- package/dist/generated/icons-24.d.ts +0 -1
- package/dist/global/resizeObserver.d.ts +0 -1
- package/dist/global/resizeObserver.js.map +1 -1
- package/dist/helpers/dom.d.ts +1 -1
- package/dist/helpers/dom.js.map +1 -1
- package/dist/helpers/downloadContent.d.ts +4 -0
- package/dist/helpers/downloadContent.js +32 -0
- package/dist/helpers/downloadContent.js.map +1 -0
- package/dist/helpers/error.d.ts +0 -1
- package/dist/helpers/error.js +3 -3
- package/dist/helpers/error.js.map +1 -1
- package/dist/helpers/functions.d.ts +0 -1
- package/dist/helpers/functions.js.map +1 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/iterators.d.ts +0 -1
- package/dist/helpers/iterators.js.map +1 -1
- package/dist/helpers/math.d.ts +0 -1
- package/dist/helpers/math.js.map +1 -1
- package/dist/helpers/objects.d.ts +0 -1
- package/dist/helpers/objects.js.map +1 -1
- package/dist/helpers/utils.d.ts +2 -7
- package/dist/helpers/utils.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +193 -189
- package/dist/index.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.vue.d.ts +0 -1
- package/dist/layout/PlBlockPage/PlBlockPage.vue.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportId.d.ts +0 -1
- package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportId.js +1 -1
- package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportId.js.map +1 -1
- package/dist/layout/PlBlockPage/index.d.ts +0 -1
- package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.d.ts +0 -1
- package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.js.map +1 -1
- package/dist/layout/PlContainer/PlContainer.vue.d.ts +0 -1
- package/dist/layout/PlContainer/PlContainer.vue.js.map +1 -1
- package/dist/layout/PlContainer/index.d.ts +0 -1
- package/dist/layout/PlGrid/PlGrid.vue.d.ts +0 -1
- package/dist/layout/PlGrid/PlGrid.vue.js.map +1 -1
- package/dist/layout/PlGrid/index.d.ts +0 -1
- package/dist/layout/PlRow/PlRow.vue.d.ts +0 -1
- package/dist/layout/PlRow/PlRow.vue.js.map +1 -1
- package/dist/layout/PlRow/index.d.ts +0 -1
- package/dist/layout/PlSpacer/PlSpacer.vue.d.ts +0 -1
- package/dist/layout/PlSpacer/PlSpacer.vue.js.map +1 -1
- package/dist/layout/PlSpacer/index.d.ts +0 -1
- package/dist/types.d.ts +0 -1
- package/dist/utils/DoubleContour.vue.d.ts +0 -1
- package/dist/utils/DoubleContour.vue.js.map +1 -1
- package/dist/utils/DoubleContour.vue2.js.map +1 -1
- package/dist/utils/DropdownOverlay/DropdownOverlay.vue.d.ts +0 -1
- package/dist/utils/DropdownOverlay/DropdownOverlay.vue.js +17 -15
- package/dist/utils/DropdownOverlay/DropdownOverlay.vue.js.map +1 -1
- package/dist/utils/DropdownOverlay/index.d.ts +0 -1
- package/dist/utils/InnerBorder.vue.d.ts +0 -1
- package/dist/utils/InnerBorder.vue2.js.map +1 -1
- package/dist/utils/PlCloseModalBtn.vue.d.ts +0 -1
- package/dist/utils/PlCloseModalBtn.vue.js.map +1 -1
- package/dist/utils/TextLabel.vue.d.ts +0 -1
- package/dist/utils/TextLabel.vue.js.map +1 -1
- package/dist/utils/WebStopWatchElement.d.ts +0 -1
- package/dist/utils/useLabelNotch.d.ts +0 -1
- package/dist/utils/useLabelNotch.js.map +1 -1
- package/dist/utils/useValidation.d.ts +0 -1
- package/dist/utils/useValidation.js.map +1 -1
- package/package.json +13 -15
- package/src/components/PlAutocomplete/PlAutocomplete.vue +3 -2
- package/src/components/PlAutocompleteMulti/PlAutocompleteMulti.vue +383 -0
- package/src/components/PlAutocompleteMulti/__tests__/PlAutocompleteMulti.spec.ts +49 -0
- package/src/components/PlAutocompleteMulti/index.ts +1 -0
- package/src/components/PlAutocompleteMulti/pl-autocomplete-multi.scss +321 -0
- package/src/components/PlChip/pl-chip.scss +1 -0
- package/src/components/PlDropdownMulti/PlDropdownMulti.vue +1 -4
- package/src/components/PlDropdownMulti/__tests__/PlDropdownMulti.spec.ts +0 -2
- package/src/components/PlLogView/PlLogView.vue +29 -6
- package/src/components/PlLogView/pl-log-view.scss +3 -7
- package/src/composition/useFilteredList.ts +3 -2
- package/src/composition/useWatchFetch.ts +23 -6
- package/src/helpers/dom.ts +2 -0
- package/src/helpers/downloadContent.ts +75 -0
- package/src/helpers/utils.ts +2 -1
- package/src/index.ts +1 -0
- package/src/utils/DropdownOverlay/DropdownOverlay.vue +1 -0
- package/tsconfig.json +10 -8
- package/vitest.config.ts +2 -2
- package/dist/__tests__/setup.d.ts.map +0 -1
- package/dist/_virtual/_commonjsHelpers.js +0 -7
- package/dist/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/_virtual/canonicalize.js +0 -8
- package/dist/_virtual/canonicalize.js.map +0 -1
- package/dist/_virtual/stringify.js +0 -3
- package/dist/_virtual/stringify.js.map +0 -1
- package/dist/_virtual/stringify2.js +0 -5
- package/dist/_virtual/stringify2.js.map +0 -1
- package/dist/base/BtnBase.vue.d.ts.map +0 -1
- package/dist/colors/color.d.ts.map +0 -1
- package/dist/colors/gradient.d.ts.map +0 -1
- package/dist/colors/index.d.ts.map +0 -1
- package/dist/colors/palette.d.ts.map +0 -1
- package/dist/components/ContextProvider.vue.d.ts.map +0 -1
- package/dist/components/DataTable/BaseCellComponent.vue.d.ts.map +0 -1
- package/dist/components/DataTable/ColumnCaret.vue.d.ts.map +0 -1
- package/dist/components/DataTable/ColumnsCommandMenu.vue.d.ts.map +0 -1
- package/dist/components/DataTable/RowsCommandMenu.vue.d.ts.map +0 -1
- package/dist/components/DataTable/TScroll.vue.d.ts.map +0 -1
- package/dist/components/DataTable/TableComponent.vue.d.ts.map +0 -1
- package/dist/components/DataTable/TdCell.vue.d.ts.map +0 -1
- package/dist/components/DataTable/ThCell.vue.d.ts.map +0 -1
- package/dist/components/DataTable/TrBody.vue.d.ts.map +0 -1
- package/dist/components/DataTable/TrHead.vue.d.ts.map +0 -1
- package/dist/components/DataTable/adapters/AsyncData.d.ts.map +0 -1
- package/dist/components/DataTable/adapters/RawData.d.ts.map +0 -1
- package/dist/components/DataTable/assets/TableIcon.vue.d.ts.map +0 -1
- package/dist/components/DataTable/composition/useColumn.d.ts.map +0 -1
- package/dist/components/DataTable/composition/useMouseUp.d.ts.map +0 -1
- package/dist/components/DataTable/composition/useResize.d.ts.map +0 -1
- package/dist/components/DataTable/composition/useTableColumns.d.ts.map +0 -1
- package/dist/components/DataTable/composition/useTableRows.d.ts.map +0 -1
- package/dist/components/DataTable/constants.d.ts.map +0 -1
- package/dist/components/DataTable/domain.d.ts.map +0 -1
- package/dist/components/DataTable/index.d.ts.map +0 -1
- package/dist/components/DataTable/keys.d.ts.map +0 -1
- package/dist/components/DataTable/state.d.ts.map +0 -1
- package/dist/components/DataTable/types.d.ts.map +0 -1
- package/dist/components/DropdownListItem.vue.d.ts.map +0 -1
- package/dist/components/GridTable/constants.d.ts.map +0 -1
- package/dist/components/GridTable/domain.d.ts.map +0 -1
- package/dist/components/GridTable/getColumnPositions.d.ts.map +0 -1
- package/dist/components/GridTable/types.d.ts.map +0 -1
- package/dist/components/GridTable/useColumn.d.ts.map +0 -1
- package/dist/components/GridTable/useMouseUp.d.ts.map +0 -1
- package/dist/components/GridTable/useResize.d.ts.map +0 -1
- package/dist/components/HScroll.vue.d.ts.map +0 -1
- package/dist/components/InputRange.vue.d.ts.map +0 -1
- package/dist/components/LongText.vue.d.ts.map +0 -1
- package/dist/components/PlAccordion/ExpandTransition.vue.d.ts.map +0 -1
- package/dist/components/PlAccordion/ExpandTransition.vue.js.map +0 -1
- package/dist/components/PlAccordion/PlAccordion.vue.d.ts.map +0 -1
- package/dist/components/PlAccordion/PlAccordionSection.vue.d.ts.map +0 -1
- package/dist/components/PlAccordion/index.d.ts.map +0 -1
- package/dist/components/PlAlert/PlAlert.vue.d.ts.map +0 -1
- package/dist/components/PlAlert/index.d.ts.map +0 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.d.ts.map +0 -1
- package/dist/components/PlAutocomplete/index.d.ts.map +0 -1
- package/dist/components/PlBtnAccent/PlBtnAccent.vue.d.ts.map +0 -1
- package/dist/components/PlBtnAccent/index.d.ts.map +0 -1
- package/dist/components/PlBtnDanger/PlBtnDanger.vue.d.ts.map +0 -1
- package/dist/components/PlBtnDanger/index.d.ts.map +0 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.vue.d.ts.map +0 -1
- package/dist/components/PlBtnGhost/index.d.ts.map +0 -1
- package/dist/components/PlBtnGroup/PlBtnGroup.vue.d.ts.map +0 -1
- package/dist/components/PlBtnGroup/index.d.ts.map +0 -1
- package/dist/components/PlBtnLink/PlBtnLink.vue.d.ts.map +0 -1
- package/dist/components/PlBtnLink/index.d.ts.map +0 -1
- package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.d.ts.map +0 -1
- package/dist/components/PlBtnPrimary/index.d.ts.map +0 -1
- package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.d.ts.map +0 -1
- package/dist/components/PlBtnSecondary/index.d.ts.map +0 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.vue.d.ts.map +0 -1
- package/dist/components/PlBtnSplit/index.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.vue.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/createGridlines.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/createLabels.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/createSvgContainer.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/drawBins.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/drawThreshold.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/histogram.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/index.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/logspace.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/normalizeBins.d.ts.map +0 -1
- package/dist/components/PlChartHistogram/types.d.ts.map +0 -1
- package/dist/components/PlChartStackedBar/Legends.vue.d.ts.map +0 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue.d.ts.map +0 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue.d.ts.map +0 -1
- package/dist/components/PlChartStackedBar/StackedRow.vue.d.ts.map +0 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.vue.d.ts.map +0 -1
- package/dist/components/PlChartStackedBar/index.d.ts.map +0 -1
- package/dist/components/PlChartStackedBar/types.d.ts.map +0 -1
- package/dist/components/PlCheckbox/PlCheckbox.vue.d.ts.map +0 -1
- package/dist/components/PlCheckbox/PlCheckboxBase.vue.d.ts.map +0 -1
- package/dist/components/PlCheckbox/index.d.ts.map +0 -1
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.d.ts.map +0 -1
- package/dist/components/PlCheckboxGroup/index.d.ts.map +0 -1
- package/dist/components/PlChip/PlChip.vue.d.ts.map +0 -1
- package/dist/components/PlChip/index.d.ts.map +0 -1
- package/dist/components/PlClipboard/PlClipboard.vue.d.ts.map +0 -1
- package/dist/components/PlClipboard/index.d.ts.map +0 -1
- package/dist/components/PlConfirmDialog.vue.d.ts.map +0 -1
- package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts.map +0 -1
- package/dist/components/PlDialogModal/index.d.ts.map +0 -1
- package/dist/components/PlDropdown/OptionList.vue.d.ts.map +0 -1
- package/dist/components/PlDropdown/PlDropdown.vue.d.ts.map +0 -1
- package/dist/components/PlDropdown/index.d.ts.map +0 -1
- package/dist/components/PlDropdown/types.d.ts.map +0 -1
- package/dist/components/PlDropdown/useGroupBy.d.ts.map +0 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.d.ts.map +0 -1
- package/dist/components/PlDropdownLegacy/index.d.ts.map +0 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts.map +0 -1
- package/dist/components/PlDropdownLine/ResizableInput.vue.d.ts.map +0 -1
- package/dist/components/PlDropdownLine/index.d.ts.map +0 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts.map +0 -1
- package/dist/components/PlDropdownMulti/index.d.ts.map +0 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts.map +0 -1
- package/dist/components/PlDropdownMultiRef/index.d.ts.map +0 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.vue.d.ts.map +0 -1
- package/dist/components/PlDropdownRef/index.d.ts.map +0 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts.map +0 -1
- package/dist/components/PlEditableTitle/index.d.ts.map +0 -1
- package/dist/components/PlElementList/PlElementList.vue.d.ts.map +0 -1
- package/dist/components/PlElementList/PlElementListItem.vue.d.ts.map +0 -1
- package/dist/components/PlElementList/index.d.ts.map +0 -1
- package/dist/components/PlElementList/utils.d.ts.map +0 -1
- package/dist/components/PlErrorAlert/PlErrorAlert.vue.d.ts.map +0 -1
- package/dist/components/PlErrorAlert/index.d.ts.map +0 -1
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.d.ts.map +0 -1
- package/dist/components/PlErrorBoundary/index.d.ts.map +0 -1
- package/dist/components/PlFileDialog/Local.vue.d.ts.map +0 -1
- package/dist/components/PlFileDialog/PlFileDialog.vue.d.ts.map +0 -1
- package/dist/components/PlFileDialog/Remote.vue.d.ts.map +0 -1
- package/dist/components/PlFileDialog/Shortcuts.vue.d.ts.map +0 -1
- package/dist/components/PlFileDialog/index.d.ts.map +0 -1
- package/dist/components/PlFileDialog/remote.d.ts.map +0 -1
- package/dist/components/PlFileDialog/utils.d.ts.map +0 -1
- package/dist/components/PlFileInput/PlFileInput.vue.d.ts.map +0 -1
- package/dist/components/PlFileInput/index.d.ts.map +0 -1
- package/dist/components/PlFileInput/utils.d.ts.map +0 -1
- package/dist/components/PlIcon16/PlIcon16.vue.d.ts.map +0 -1
- package/dist/components/PlIcon16/index.d.ts.map +0 -1
- package/dist/components/PlIcon24/PlIcon24.vue.d.ts.map +0 -1
- package/dist/components/PlIcon24/index.d.ts.map +0 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.d.ts.map +0 -1
- package/dist/components/PlLoaderCircular/index.d.ts.map +0 -1
- package/dist/components/PlLogView/PlLogView.vue.d.ts.map +0 -1
- package/dist/components/PlLogView/index.d.ts.map +0 -1
- package/dist/components/PlLogView/useLogHandle.d.ts.map +0 -1
- package/dist/components/PlMaskIcon16/index.d.ts.map +0 -1
- package/dist/components/PlMaskIcon24/index.d.ts.map +0 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts.map +0 -1
- package/dist/components/PlNotificationAlert/index.d.ts.map +0 -1
- package/dist/components/PlNumberField/PlNumberField.vue.d.ts.map +0 -1
- package/dist/components/PlNumberField/index.d.ts.map +0 -1
- package/dist/components/PlNumberField/parseNumber.d.ts.map +0 -1
- package/dist/components/PlProgressBar/PlProgressBar.vue.d.ts.map +0 -1
- package/dist/components/PlProgressBar/index.d.ts.map +0 -1
- package/dist/components/PlProgressCell/PlProgressCell.vue.d.ts.map +0 -1
- package/dist/components/PlProgressCell/index.d.ts.map +0 -1
- package/dist/components/PlProgressCell/types.d.ts.map +0 -1
- package/dist/components/PlRadio/PlRadio.vue.d.ts.map +0 -1
- package/dist/components/PlRadio/PlRadioGroup.vue.d.ts.map +0 -1
- package/dist/components/PlRadio/index.d.ts.map +0 -1
- package/dist/components/PlRadio/keys.d.ts.map +0 -1
- package/dist/components/PlSearchField/PlSearchField.vue.d.ts.map +0 -1
- package/dist/components/PlSearchField/index.d.ts.map +0 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.vue.d.ts.map +0 -1
- package/dist/components/PlSectionSeparator/index.d.ts.map +0 -1
- package/dist/components/PlSidebar/PlSidebarGroup.vue.d.ts.map +0 -1
- package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts.map +0 -1
- package/dist/components/PlSidebar/index.d.ts.map +0 -1
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.d.ts.map +0 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue.d.ts.map +0 -1
- package/dist/components/PlSlideModal/index.d.ts.map +0 -1
- package/dist/components/PlSlideModal/props.d.ts.map +0 -1
- package/dist/components/PlSpacer/PlSpacer.vue.d.ts.map +0 -1
- package/dist/components/PlSpacer/index.d.ts.map +0 -1
- package/dist/components/PlSplash/PlSplash.vue.d.ts.map +0 -1
- package/dist/components/PlSplash/index.d.ts.map +0 -1
- package/dist/components/PlStatusTag/PlStatusTag.vue.d.ts.map +0 -1
- package/dist/components/PlStatusTag/index.d.ts.map +0 -1
- package/dist/components/PlStatusTag/types.d.ts.map +0 -1
- package/dist/components/PlSvg/PlSvg.vue.d.ts.map +0 -1
- package/dist/components/PlSvg/index.d.ts.map +0 -1
- package/dist/components/PlSvg/registry.d.ts.map +0 -1
- package/dist/components/PlTabs/PlTabs.vue.d.ts.map +0 -1
- package/dist/components/PlTabs/Tab.vue.d.ts.map +0 -1
- package/dist/components/PlTabs/index.d.ts.map +0 -1
- package/dist/components/PlTabs/types.d.ts.map +0 -1
- package/dist/components/PlTextArea/PlTextArea.vue.d.ts.map +0 -1
- package/dist/components/PlTextArea/index.d.ts.map +0 -1
- package/dist/components/PlTextField/PlTextField.vue.d.ts.map +0 -1
- package/dist/components/PlTextField/index.d.ts.map +0 -1
- package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.d.ts.map +0 -1
- package/dist/components/PlToggleSwitch/index.d.ts.map +0 -1
- package/dist/components/PlTooltip/Beak.vue.d.ts.map +0 -1
- package/dist/components/PlTooltip/PlTooltip.vue.d.ts.map +0 -1
- package/dist/components/PlTooltip/global.d.ts.map +0 -1
- package/dist/components/PlTooltip/index.d.ts.map +0 -1
- package/dist/components/PlTooltip/useTooltipPosition.d.ts.map +0 -1
- package/dist/components/Scrollable.vue.d.ts.map +0 -1
- package/dist/components/Slider.vue.d.ts.map +0 -1
- package/dist/components/SliderRange.vue.d.ts.map +0 -1
- package/dist/components/SliderRangeTriple.vue.d.ts.map +0 -1
- package/dist/components/TabItem.vue.d.ts.map +0 -1
- package/dist/components/ThemeSwitcher.vue.d.ts.map +0 -1
- package/dist/components/TransitionSlidePanel.vue.d.ts.map +0 -1
- package/dist/components/VScroll.vue.d.ts.map +0 -1
- package/dist/components/contextMenu/Menu.vue.d.ts.map +0 -1
- package/dist/components/contextMenu/index.d.ts.map +0 -1
- package/dist/components/contextMenu/types.d.ts.map +0 -1
- package/dist/composition/computedCached.d.ts.map +0 -1
- package/dist/composition/useClickOutside.d.ts.map +0 -1
- package/dist/composition/useComponentProp.d.ts.map +0 -1
- package/dist/composition/useConfirm.d.ts.map +0 -1
- package/dist/composition/useDraggable.d.ts.map +0 -1
- package/dist/composition/useEventListener.d.ts.map +0 -1
- package/dist/composition/useFilteredList.d.ts.map +0 -1
- package/dist/composition/useFormState.d.ts.map +0 -1
- package/dist/composition/useHover.d.ts.map +0 -1
- package/dist/composition/useInterval.d.ts.map +0 -1
- package/dist/composition/useLocalStorage.d.ts.map +0 -1
- package/dist/composition/useMouse.d.ts.map +0 -1
- package/dist/composition/useMouseCapture.d.ts.map +0 -1
- package/dist/composition/useNotificationPosition.d.ts.map +0 -1
- package/dist/composition/usePosition.d.ts.map +0 -1
- package/dist/composition/useQuery.d.ts.map +0 -1
- package/dist/composition/useResizeObserver.d.ts.map +0 -1
- package/dist/composition/useRipple.d.ts.map +0 -1
- package/dist/composition/useScroll.d.ts.map +0 -1
- package/dist/composition/useSliderBreakpoints.d.ts.map +0 -1
- package/dist/composition/useSortable.d.ts.map +0 -1
- package/dist/composition/useSortable2.d.ts.map +0 -1
- package/dist/composition/useTheme.d.ts.map +0 -1
- package/dist/composition/useTransformedModel.d.ts.map +0 -1
- package/dist/composition/useWatchFetch.d.ts.map +0 -1
- package/dist/composition/utils.d.ts.map +0 -1
- package/dist/composition/watchCached.d.ts.map +0 -1
- package/dist/demo-site-data/all-css-variables.d.ts.map +0 -1
- package/dist/generated/components/svg/images/SvgRequired.vue.d.ts.map +0 -1
- package/dist/generated/icons-16.d.ts.map +0 -1
- package/dist/generated/icons-24.d.ts.map +0 -1
- package/dist/global/resizeObserver.d.ts.map +0 -1
- package/dist/helpers/dom.d.ts.map +0 -1
- package/dist/helpers/error.d.ts.map +0 -1
- package/dist/helpers/functions.d.ts.map +0 -1
- package/dist/helpers/index.d.ts.map +0 -1
- package/dist/helpers/iterators.d.ts.map +0 -1
- package/dist/helpers/math.d.ts.map +0 -1
- package/dist/helpers/objects.d.ts.map +0 -1
- package/dist/helpers/utils.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/layout/PlBlockPage/PlBlockPage.vue.d.ts.map +0 -1
- package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportId.d.ts.map +0 -1
- package/dist/layout/PlBlockPage/index.d.ts.map +0 -1
- package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.d.ts.map +0 -1
- package/dist/layout/PlContainer/PlContainer.vue.d.ts.map +0 -1
- package/dist/layout/PlContainer/index.d.ts.map +0 -1
- package/dist/layout/PlGrid/PlGrid.vue.d.ts.map +0 -1
- package/dist/layout/PlGrid/index.d.ts.map +0 -1
- package/dist/layout/PlRow/PlRow.vue.d.ts.map +0 -1
- package/dist/layout/PlRow/index.d.ts.map +0 -1
- package/dist/layout/PlSpacer/PlSpacer.vue.d.ts.map +0 -1
- package/dist/layout/PlSpacer/index.d.ts.map +0 -1
- package/dist/lib/model/common/dist/index.js +0 -575
- package/dist/lib/model/common/dist/index.js.map +0 -1
- package/dist/lib/model/pl-error-like/dist/index.js +0 -36
- package/dist/lib/model/pl-error-like/dist/index.js.map +0 -1
- package/dist/lib/util/helpers/dist/index.js +0 -361
- package/dist/lib/util/helpers/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@vueuse_core@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/core/index.js +0 -86
- package/dist/node_modules/.pnpm/@vueuse_core@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/core/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@vueuse_integrations@13.3.0_axios@1.8.1_focus-trap@7.6.0_sortablejs@1.15.6_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/integrations/useSortable.js +0 -51
- package/dist/node_modules/.pnpm/@vueuse_integrations@13.3.0_axios@1.8.1_focus-trap@7.6.0_sortablejs@1.15.6_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/integrations/useSortable.js.map +0 -1
- package/dist/node_modules/.pnpm/@vueuse_shared@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/shared/index.js +0 -102
- package/dist/node_modules/.pnpm/@vueuse_shared@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/shared/index.js.map +0 -1
- package/dist/node_modules/.pnpm/canonicalize@2.1.0/node_modules/canonicalize/lib/canonicalize.js +0 -19
- package/dist/node_modules/.pnpm/canonicalize@2.1.0/node_modules/canonicalize/lib/canonicalize.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/array.js +0 -5
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/array.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/ascending.js +0 -7
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/ascending.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bin.js +0 -59
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bin.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisect.js +0 -10
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisect.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisector.js +0 -38
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisector.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/constant.js +0 -7
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/constant.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/count.js +0 -10
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/count.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/descending.js +0 -7
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/descending.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/extent.js +0 -16
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/extent.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/identity.js +0 -7
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/identity.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/max.js +0 -16
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/max.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/min.js +0 -16
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/min.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/nice.js +0 -14
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/nice.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/number.js +0 -7
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/number.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/threshold/sturges.js +0 -8
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/threshold/sturges.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/ticks.js +0 -33
- package/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/ticks.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/axis.js +0 -65
- package/dist/node_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/axis.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/identity.js +0 -7
- package/dist/node_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/identity.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/color.js +0 -306
- package/dist/node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/color.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/define.js +0 -13
- package/dist/node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/define.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/defaultLocale.js +0 -16
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/defaultLocale.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/exponent.js +0 -8
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/exponent.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatDecimal.js +0 -16
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatDecimal.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatGroup.js +0 -11
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatGroup.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatNumerals.js +0 -11
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatNumerals.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatPrefixAuto.js +0 -13
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatPrefixAuto.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatRounded.js +0 -11
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatRounded.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatSpecifier.js +0 -29
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatSpecifier.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatTrim.js +0 -20
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatTrim.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatTypes.js +0 -22
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatTypes.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/identity.js +0 -7
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/identity.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/locale.js +0 -69
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/locale.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionFixed.js +0 -8
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionFixed.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionPrefix.js +0 -8
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionPrefix.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionRound.js +0 -8
- package/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionRound.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/array.js +0 -14
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/array.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/color.js +0 -25
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/color.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/constant.js +0 -5
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/constant.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/date.js +0 -10
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/date.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/number.js +0 -9
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/number.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/numberArray.js +0 -16
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/numberArray.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/object.js +0 -15
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/object.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/rgb.js +0 -16
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/rgb.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/round.js +0 -9
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/round.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/string.js +0 -25
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/string.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/value.js +0 -17
- package/dist/node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/value.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/constant.js +0 -9
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/constant.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/continuous.js +0 -76
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/continuous.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/init.js +0 -17
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/init.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/linear.js +0 -40
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/linear.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/number.js +0 -7
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/number.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/symlog.js +0 -30
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/symlog.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/tickFormat.js +0 -33
- package/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/tickFormat.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/array.js +0 -7
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/array.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/constant.js +0 -9
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/constant.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/creator.js +0 -21
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/creator.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/matcher.js +0 -15
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/matcher.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/namespace.js +0 -9
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/namespace.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/namespaces.js +0 -13
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/namespaces.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/select.js +0 -8
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/select.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selectAll.js +0 -9
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selectAll.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/append.js +0 -11
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/append.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/attr.js +0 -45
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/attr.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/call.js +0 -8
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/call.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/classed.js +0 -55
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/classed.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/clone.js +0 -15
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/clone.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/data.js +0 -43
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/data.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/datum.js +0 -7
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/datum.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/dispatch.js +0 -22
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/dispatch.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/each.js +0 -10
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/each.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/empty.js +0 -7
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/empty.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/enter.js +0 -28
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/enter.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/exit.js +0 -9
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/exit.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/filter.js +0 -13
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/filter.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/html.js +0 -21
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/html.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/index.js +0 -84
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/index.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/insert.js +0 -15
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/insert.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/iterator.js +0 -9
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/iterator.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/join.js +0 -8
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/join.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/lower.js +0 -10
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/lower.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/merge.js +0 -13
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/merge.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/node.js +0 -12
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/node.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/nodes.js +0 -7
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/nodes.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/on.js +0 -53
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/on.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/order.js +0 -10
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/order.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/property.js +0 -23
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/property.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/raise.js +0 -10
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/raise.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/remove.js +0 -11
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/remove.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/select.js +0 -13
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/select.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectAll.js +0 -19
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectAll.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectChild.js +0 -17
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectChild.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectChildren.js +0 -17
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectChildren.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/size.js +0 -9
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/size.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/sort.js +0 -20
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/sort.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/sparse.js +0 -7
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/sparse.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/style.js +0 -28
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/style.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/text.js +0 -21
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/text.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selector.js +0 -11
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selector.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selectorAll.js +0 -12
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selectorAll.js.map +0 -1
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/window.js +0 -7
- package/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/window.js.map +0 -1
- package/dist/node_modules/.pnpm/json-stringify-safe@5.0.1/node_modules/json-stringify-safe/stringify.js +0 -26
- package/dist/node_modules/.pnpm/json-stringify-safe@5.0.1/node_modules/json-stringify-safe/stringify.js.map +0 -1
- package/dist/node_modules/.pnpm/sortablejs@1.15.6/node_modules/sortablejs/modular/sortable.esm.js +0 -1262
- package/dist/node_modules/.pnpm/sortablejs@1.15.6/node_modules/sortablejs/modular/sortable.esm.js.map +0 -1
- package/dist/node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/index.js +0 -2978
- package/dist/node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/index.js.map +0 -1
- package/dist/sdk/model/dist/index.js +0 -1586
- package/dist/sdk/model/dist/index.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/DoubleContour.vue.d.ts.map +0 -1
- package/dist/utils/DropdownOverlay/DropdownOverlay.vue.d.ts.map +0 -1
- package/dist/utils/DropdownOverlay/index.d.ts.map +0 -1
- package/dist/utils/InnerBorder.vue.d.ts.map +0 -1
- package/dist/utils/PlCloseModalBtn.vue.d.ts.map +0 -1
- package/dist/utils/TextLabel.vue.d.ts.map +0 -1
- package/dist/utils/WebStopWatchElement.d.ts.map +0 -1
- package/dist/utils/useLabelNotch.d.ts.map +0 -1
- package/dist/utils/useValidation.d.ts.map +0 -1
- package/tsconfig.lib.build.json +0 -10
- package/tsconfig.lib.json +0 -13
- package/tsconfig.node.json +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlAutocomplete.vue.js","sources":["../../../src/components/PlAutocomplete/PlAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * A component for selecting one value from a big list of options using string search request\n */\nexport default {\n name: 'PlAutocomplete',\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M = unknown\">\nimport './pl-autocomplete.scss';\nimport { computed, reactive, ref, unref, useTemplateRef, watch, watchPostEffect } from 'vue';\nimport { tap } from '../../helpers/functions';\nimport { PlTooltip } from '../PlTooltip';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport type { ListOption, ListOptionNormalized } from '../../types';\nimport { deepEqual } from '../../helpers/objects';\nimport DropdownListItem from '../DropdownListItem.vue';\nimport LongText from '../LongText.vue';\nimport { normalizeListOptions } from '../../helpers/utils';\nimport { PlIcon16 } from '../PlIcon16';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport { DropdownOverlay } from '../../utils/DropdownOverlay';\nimport { refDebounced } from '@vueuse/core';\nimport { useWatchFetch } from '../../composition/useWatchFetch.ts';\nimport SvgRequired from '../../generated/components/svg/images/SvgRequired.vue';\nimport { getErrorMessage } from '../../helpers/error.ts';\n\n/**\n * The current selected value.\n */\nconst model = defineModel<M>({ required: true });\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Lambda for requesting of available options for the dropdown by search string.\n */\n optionsSearch: (s: string) => Promise<ListOption<M>[]>;\n /**\n * Lambda for requesting of corresponding option for current model value. If empty, optionsSearch is used for this.\n */\n modelSearch?: (v: M) => Promise<ListOption<M>>;\n /**\n * The label text for the dropdown field (optional)\n */\n label?: string;\n /**\n * A helper text displayed below the dropdown when there are no errors (optional).\n */\n helper?: string;\n /**\n * A helper text displayed below the dropdown when there are no options yet or options is undefined (optional).\n */\n loadingOptionsHelper?: string;\n /**\n * Error message displayed below the dropdown (optional)\n */\n error?: unknown;\n /**\n * Placeholder text shown when no value is selected.\n */\n placeholder?: string;\n /**\n * Enables a button to clear the selected value (default: false)\n */\n clearable?: boolean;\n /**\n * If `true`, the dropdown component is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the dropdown component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n /**\n * Custom icon (16px) class for the dropdown arrow (optional)\n */\n arrowIcon?: string;\n /**\n * Custom icon (24px) class for the dropdown arrow (optional)\n */\n arrowIconLarge?: string;\n /**\n * Option list item size\n */\n optionSize?: 'small' | 'medium';\n /**\n * Formatter for the selected value if its label is absent\n */\n formatValue?: (value: M) => string;\n }>(),\n {\n modelSearch: undefined,\n label: '',\n helper: undefined,\n loadingOptionsHelper: undefined,\n error: undefined,\n placeholder: '...',\n clearable: false,\n required: false,\n disabled: false,\n arrowIcon: undefined,\n arrowIconLarge: undefined,\n optionSize: 'small',\n formatValue: (v: M) => String(v),\n },\n);\n\nconst slots = defineSlots<{\n [key: string]: unknown;\n}>();\n\nconst rootRef = ref<HTMLElement | undefined>();\nconst input = ref<HTMLInputElement | undefined>();\n\nconst overlayRef = useTemplateRef('overlay');\n\nconst search = ref<string | null>(null);\nconst data = reactive({\n activeIndex: -1,\n open: false,\n});\n\nconst findActiveIndex = () =>\n tap(\n renderedOptionsRef.value.findIndex((o) => deepEqual(o.value, model.value)),\n (v) => (v < 0 ? 0 : v),\n );\n\nconst updateActive = () => (data.activeIndex = findActiveIndex());\n\nconst loadedOptionsRef = ref<ListOption<M>[]>([]);\nconst modelOptionRef = ref<ListOptionNormalized<M> | undefined>(); // list of 1 option that is selected or empty, to keep selected label\n\nconst renderedOptionsRef = computed(() => {\n return normalizeListOptions(loadedOptionsRef.value).map((opt, index) => ({\n ...opt,\n index,\n isSelected: index === selectedIndex.value,\n isActive: index === data.activeIndex,\n }));\n});\nconst isLoadingOptions = ref<boolean>(true);\nconst isLoadingError = ref<boolean>(false);\n\nconst isDisabled = computed(() => {\n return props.disabled;\n});\n\nconst selectedIndex = computed(() => {\n return loadedOptionsRef.value.findIndex((o) => deepEqual(o.value, model.value));\n});\n\nconst computedError = computed(() => {\n if (isLoadingOptions.value) {\n return undefined;\n }\n\n if (props.error) {\n return getErrorMessage(props.error);\n }\n\n if (isLoadingError.value) {\n return 'Data loading error';\n }\n\n return undefined;\n});\n\nconst textValue = computed(() => {\n const modelOption = unref(modelOptionRef);\n const options = unref(renderedOptionsRef);\n\n const item: ListOptionNormalized | undefined = modelOption ?? options.find((o) => deepEqual(o.value, model.value)) ?? options.find((o) => deepEqual(o.value, model.value));\n\n return item?.label || (model.value ? props.formatValue(model.value) : '');\n});\n\nconst computedPlaceholder = computed(() => {\n if (!data.open && model.value) {\n return '';\n }\n\n return model.value ? String(textValue.value) : props.placeholder;\n});\n\nconst hasValue = computed(() => {\n return model.value !== undefined && model.value !== null;\n});\n\nconst tabindex = computed(() => (isDisabled.value ? undefined : '0'));\n\nconst selectOption = (v: ListOptionNormalized<M> | undefined) => {\n model.value = v?.value as M;\n modelOptionRef.value = v;\n search.value = null;\n data.open = false;\n rootRef?.value?.focus();\n};\n\nconst clear = () => {\n model.value = undefined as M;\n modelOptionRef.value = undefined;\n};\n\nconst setFocusOnInput = () => input.value?.focus();\n\nconst toggleOpen = () => {\n data.open = !data.open;\n};\n\nwatch(() => data.open, (v) => {\n search.value = v ? '' : null;\n});\n\nconst onInputFocus = () => {\n data.open = true;\n};\n\nconst onFocusOut = (event: FocusEvent) => {\n const relatedTarget = event.relatedTarget as Node | null;\n\n if (!rootRef.value?.contains(relatedTarget) && !overlayRef.value?.listRef?.contains(relatedTarget)) {\n search.value = null;\n data.open = false;\n }\n};\n\nconst handleKeydown = (e: { code: string; preventDefault(): void }) => {\n if (!['ArrowDown', 'ArrowUp', 'Enter', 'Escape'].includes(e.code)) {\n return;\n } else {\n e.preventDefault();\n }\n\n const { open, activeIndex } = data;\n\n if (!open) {\n if (e.code === 'Enter') {\n data.open = true;\n search.value = '';\n }\n return;\n }\n\n if (e.code === 'Escape') {\n data.open = false;\n search.value = null;\n rootRef.value?.focus();\n }\n\n const options = unref(renderedOptionsRef);\n\n const { length } = options;\n\n if (!length) {\n return;\n }\n\n if (e.code === 'Enter') {\n selectOption(options.find((it) => it.index === activeIndex));\n }\n\n const localIndex = options.findIndex((it) => it.index === activeIndex) ?? -1;\n\n const delta = e.code === 'ArrowDown' ? 1 : e.code === 'ArrowUp' ? -1 : 0;\n\n const newIndex = Math.abs(localIndex + delta + length) % length;\n\n data.activeIndex = renderedOptionsRef.value[newIndex].index ?? -1;\n};\n\nuseLabelNotch(rootRef);\n\nwatch(() => model.value, updateActive, { immediate: true });\n\nwatch(\n () => data.open,\n (open) => (open ? input.value?.focus() : ''),\n);\n\nwatchPostEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n search.value; // to watch\n\n if (data.activeIndex >= 0 && data.open) {\n overlayRef.value?.scrollIntoActive();\n }\n});\n\nconst searchDebounced = refDebounced(search, 300, { maxWait: 1000 });\n\nconst optionsRequest = useWatchFetch(() => searchDebounced.value, async (v) => {\n if (v !== null) { // search is null when dropdown is closed;\n return props.optionsSearch(v);\n }\n return [];\n});\n\nconst modelOptionRequest = useWatchFetch(() => model.value, async (v) => {\n if (v && !deepEqual(modelOptionRef.value?.value, v)) { // load label for selected value if it was updated from outside the component\n if (props.modelSearch) {\n return props.modelSearch(v);\n }\n return (await props.optionsSearch(String(v)))?.[0];\n }\n return modelOptionRef.value;\n});\n\nwatch(() => optionsRequest.value, (result) => {\n if (result) {\n loadedOptionsRef.value = result;\n if (search.value !== null) {\n isLoadingError.value = false;\n }\n }\n});\n\nwatch(() => modelOptionRequest.value, (result) => {\n if (result) {\n modelOptionRef.value = normalizeListOptions([result])[0];\n }\n});\n\nwatch(() => optionsRequest.error, (err) => {\n if (err) {\n isLoadingError.value = Boolean(err);\n }\n});\n\nwatch(() => optionsRequest.loading || modelOptionRequest.loading, (loading) => {\n isLoadingOptions.value = loading;\n});\n</script>\n\n<template>\n <div class=\"pl-autocomplete__envelope\" @click.stop=\"setFocusOnInput\">\n <div\n ref=\"rootRef\"\n :tabindex=\"tabindex\"\n class=\"pl-autocomplete\"\n :class=\"{ open: data.open, error: Boolean(computedError), disabled: isDisabled }\"\n @keydown=\"handleKeydown\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-autocomplete__container\">\n <div class=\"pl-autocomplete__field\">\n <input\n ref=\"input\"\n v-model=\"search\"\n type=\"text\"\n tabindex=\"-1\"\n :disabled=\"isDisabled\"\n :placeholder=\"computedPlaceholder\"\n spellcheck=\"false\"\n autocomplete=\"chrome-off\"\n @focus=\"onInputFocus\"\n />\n\n <div v-if=\"!data.open\" class=\"input-value\">\n <LongText> {{ textValue }} </LongText>\n </div>\n\n <div class=\"pl-autocomplete__controls\">\n <PlMaskIcon24 v-if=\"isLoadingOptions\" name=\"loading\" />\n <PlIcon16 v-if=\"clearable && hasValue\" class=\"clear\" name=\"delete-clear\" @click.stop=\"clear\" />\n <slot name=\"append\" />\n <div class=\"pl-autocomplete__arrow-wrapper\" @click.stop=\"toggleOpen\">\n <div v-if=\"arrowIconLarge\" class=\"arrow-icon\" :class=\"[`icon-24 ${arrowIconLarge}`]\" />\n <div v-else-if=\"arrowIcon\" class=\"arrow-icon\" :class=\"[`icon-16 ${arrowIcon}`]\" />\n <div v-else class=\"arrow-icon arrow-icon-default\" />\n </div>\n </div>\n </div>\n <label v-if=\"label\">\n <SvgRequired v-if=\"required\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <DropdownOverlay v-if=\"data.open\" ref=\"overlay\" :root=\"rootRef\" class=\"pl-autocomplete__options\" tabindex=\"-1\" :gap=\"3\">\n <DropdownListItem\n v-for=\"(item, index) in renderedOptionsRef\"\n :key=\"index\"\n :option=\"item\"\n :is-selected=\"item.isSelected\"\n :is-hovered=\"item.isActive\"\n :size=\"optionSize\"\n @click.stop=\"selectOption(item)\"\n />\n <div v-if=\"!renderedOptionsRef.length\" class=\"nothing-found\">Nothing found</div>\n </DropdownOverlay>\n <DoubleContour class=\"pl-autocomplete__contour\" />\n </div>\n </div>\n <div v-if=\"computedError\" class=\"pl-autocomplete__error\">{{ computedError }}</div>\n <div v-else-if=\"isLoadingOptions && loadingOptionsHelper\" class=\"pl-autocomplete__helper\">{{ loadingOptionsHelper }}</div>\n <div v-else-if=\"helper\" class=\"pl-autocomplete__helper\">{{ helper }}</div>\n </div>\n</template>\n"],"names":["__default__","model","_useModel","props","__props","slots","_useSlots","rootRef","ref","input","overlayRef","useTemplateRef","search","data","reactive","findActiveIndex","tap","renderedOptionsRef","o","deepEqual","v","updateActive","loadedOptionsRef","modelOptionRef","computed","normalizeListOptions","opt","index","selectedIndex","isLoadingOptions","isLoadingError","isDisabled","computedError","getErrorMessage","textValue","modelOption","unref","options","item","computedPlaceholder","hasValue","tabindex","selectOption","_a","clear","setFocusOnInput","toggleOpen","watch","onInputFocus","onFocusOut","event","relatedTarget","_c","_b","handleKeydown","open","activeIndex","length","it","localIndex","delta","newIndex","useLabelNotch","watchPostEffect","searchDebounced","refDebounced","optionsRequest","useWatchFetch","modelOptionRequest","result","err","loading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlAutocomplete.vue.js","sources":["../../../src/components/PlAutocomplete/PlAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * A component for selecting one value from a big list of options using string search request\n */\nexport default {\n name: 'PlAutocomplete',\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M = unknown\">\nimport './pl-autocomplete.scss';\nimport { computed, reactive, ref, unref, useTemplateRef, watch, watchPostEffect } from 'vue';\nimport { tap } from '../../helpers/functions';\nimport { PlTooltip } from '../PlTooltip';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport type { ListOption, ListOptionNormalized } from '../../types';\nimport { deepEqual } from '../../helpers/objects';\nimport DropdownListItem from '../DropdownListItem.vue';\nimport LongText from '../LongText.vue';\nimport { normalizeListOptions } from '../../helpers/utils';\nimport { PlIcon16 } from '../PlIcon16';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport { DropdownOverlay } from '../../utils/DropdownOverlay';\nimport { refDebounced } from '@vueuse/core';\nimport { useWatchFetch } from '../../composition/useWatchFetch.ts';\nimport SvgRequired from '../../generated/components/svg/images/SvgRequired.vue';\nimport { getErrorMessage } from '../../helpers/error.ts';\nimport type { ListOptionBase } from '@platforma-sdk/model';\n\n/**\n * The current selected value.\n */\nconst model = defineModel<M>({ required: true });\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Lambda for requesting of available options for the dropdown by search string.\n */\n optionsSearch: (s: string) => Promise<ListOption<M>[]>;\n /**\n * Lambda for requesting of corresponding option for current model value. If empty, optionsSearch is used for this.\n */\n modelSearch?: (v: M) => Promise<ListOption<M>>;\n /**\n * The label text for the dropdown field (optional)\n */\n label?: string;\n /**\n * A helper text displayed below the dropdown when there are no errors (optional).\n */\n helper?: string;\n /**\n * A helper text displayed below the dropdown when there are no options yet or options is undefined (optional).\n */\n loadingOptionsHelper?: string;\n /**\n * Error message displayed below the dropdown (optional)\n */\n error?: unknown;\n /**\n * Placeholder text shown when no value is selected.\n */\n placeholder?: string;\n /**\n * Enables a button to clear the selected value (default: false)\n */\n clearable?: boolean;\n /**\n * If `true`, the dropdown component is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the dropdown component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n /**\n * Custom icon (16px) class for the dropdown arrow (optional)\n */\n arrowIcon?: string;\n /**\n * Custom icon (24px) class for the dropdown arrow (optional)\n */\n arrowIconLarge?: string;\n /**\n * Option list item size\n */\n optionSize?: 'small' | 'medium';\n /**\n * Formatter for the selected value if its label is absent\n */\n formatValue?: (value: M) => string;\n }>(),\n {\n modelSearch: undefined,\n label: '',\n helper: undefined,\n loadingOptionsHelper: undefined,\n error: undefined,\n placeholder: '...',\n clearable: false,\n required: false,\n disabled: false,\n arrowIcon: undefined,\n arrowIconLarge: undefined,\n optionSize: 'small',\n formatValue: (v: M) => String(v),\n },\n);\n\nconst slots = defineSlots<{\n [key: string]: unknown;\n}>();\n\nconst rootRef = ref<HTMLElement | undefined>();\nconst input = ref<HTMLInputElement | undefined>();\n\nconst overlayRef = useTemplateRef('overlay');\n\nconst search = ref<string | null>(null);\nconst data = reactive({\n activeIndex: -1,\n open: false,\n});\n\nconst findActiveIndex = () =>\n tap(\n renderedOptionsRef.value.findIndex((o) => deepEqual(o.value, model.value)),\n (v) => (v < 0 ? 0 : v),\n );\n\nconst updateActive = () => (data.activeIndex = findActiveIndex());\n\nconst loadedOptionsRef = ref<ListOption<M>[]>([]);\nconst modelOptionRef = ref<ListOptionNormalized<M> | undefined>(); // list of 1 option that is selected or empty, to keep selected label\n\nconst renderedOptionsRef = computed(() => {\n return normalizeListOptions(loadedOptionsRef.value).map((opt, index) => ({\n ...opt,\n index,\n isSelected: index === selectedIndex.value,\n isActive: index === data.activeIndex,\n })) as (ListOptionBase<M> & { index: number; isSelected: boolean; isActive: boolean })[];\n});\nconst isLoadingOptions = ref<boolean>(true);\nconst isLoadingError = ref<boolean>(false);\n\nconst isDisabled = computed(() => {\n return props.disabled;\n});\n\nconst selectedIndex = computed(() => {\n return loadedOptionsRef.value.findIndex((o) => deepEqual(o.value, model.value));\n});\n\nconst computedError = computed(() => {\n if (isLoadingOptions.value) {\n return undefined;\n }\n\n if (props.error) {\n return getErrorMessage(props.error);\n }\n\n if (isLoadingError.value) {\n return 'Data loading error';\n }\n\n return undefined;\n});\n\nconst textValue = computed(() => {\n const modelOption = unref(modelOptionRef);\n const options = unref(renderedOptionsRef);\n\n const item: ListOptionNormalized | undefined = modelOption ?? options.find((o) => deepEqual(o.value, model.value)) ?? options.find((o) => deepEqual(o.value, model.value));\n\n return item?.label || (model.value ? props.formatValue(model.value) : '');\n});\n\nconst computedPlaceholder = computed(() => {\n if (!data.open && model.value) {\n return '';\n }\n\n return model.value ? String(textValue.value) : props.placeholder;\n});\n\nconst hasValue = computed(() => {\n return model.value !== undefined && model.value !== null;\n});\n\nconst tabindex = computed(() => (isDisabled.value ? undefined : '0'));\n\nconst selectOption = (v: ListOptionBase<M> & { index: number } | undefined) => {\n model.value = v?.value as M;\n modelOptionRef.value = v;\n search.value = null;\n data.open = false;\n rootRef?.value?.focus();\n};\n\nconst clear = () => {\n model.value = undefined as M;\n modelOptionRef.value = undefined;\n};\n\nconst setFocusOnInput = () => input.value?.focus();\n\nconst toggleOpen = () => {\n data.open = !data.open;\n};\n\nwatch(() => data.open, (v) => {\n search.value = v ? '' : null;\n});\n\nconst onInputFocus = () => {\n data.open = true;\n};\n\nconst onFocusOut = (event: FocusEvent) => {\n const relatedTarget = event.relatedTarget as Node | null;\n\n if (!rootRef.value?.contains(relatedTarget) && !overlayRef.value?.listRef?.contains(relatedTarget)) {\n search.value = null;\n data.open = false;\n }\n};\n\nconst handleKeydown = (e: { code: string; preventDefault(): void }) => {\n if (!['ArrowDown', 'ArrowUp', 'Enter', 'Escape'].includes(e.code)) {\n return;\n } else {\n e.preventDefault();\n }\n\n const { open, activeIndex } = data;\n\n if (!open) {\n if (e.code === 'Enter') {\n data.open = true;\n search.value = '';\n }\n return;\n }\n\n if (e.code === 'Escape') {\n data.open = false;\n search.value = null;\n rootRef.value?.focus();\n }\n\n const options = unref(renderedOptionsRef);\n\n const { length } = options;\n\n if (!length) {\n return;\n }\n\n if (e.code === 'Enter') {\n selectOption(options.find((it) => it.index === activeIndex));\n }\n\n const localIndex = options.findIndex((it) => it.index === activeIndex) ?? -1;\n\n const delta = e.code === 'ArrowDown' ? 1 : e.code === 'ArrowUp' ? -1 : 0;\n\n const newIndex = Math.abs(localIndex + delta + length) % length;\n\n data.activeIndex = renderedOptionsRef.value[newIndex].index ?? -1;\n};\n\nuseLabelNotch(rootRef);\n\nwatch(() => model.value, updateActive, { immediate: true });\n\nwatch(\n () => data.open,\n (open) => (open ? input.value?.focus() : ''),\n);\n\nwatchPostEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n search.value; // to watch\n\n if (data.activeIndex >= 0 && data.open) {\n overlayRef.value?.scrollIntoActive();\n }\n});\n\nconst searchDebounced = refDebounced(search, 300, { maxWait: 1000 });\n\nconst optionsRequest = useWatchFetch(() => searchDebounced.value, async (v) => {\n if (v !== null) { // search is null when dropdown is closed;\n return props.optionsSearch(v);\n }\n return [];\n});\n\nconst modelOptionRequest = useWatchFetch(() => model.value, async (v) => {\n if (v && !deepEqual(modelOptionRef.value?.value, v)) { // load label for selected value if it was updated from outside the component\n if (props.modelSearch) {\n return props.modelSearch(v);\n }\n return (await props.optionsSearch(String(v)))?.[0];\n }\n return modelOptionRef.value;\n});\n\nwatch(() => optionsRequest.value, (result) => {\n if (result) {\n loadedOptionsRef.value = result;\n if (search.value !== null) {\n isLoadingError.value = false;\n }\n }\n});\n\nwatch(() => modelOptionRequest.value, (result) => {\n if (result) {\n modelOptionRef.value = normalizeListOptions([result])[0];\n }\n});\n\nwatch(() => optionsRequest.error, (err) => {\n if (err) {\n isLoadingError.value = Boolean(err);\n }\n});\n\nwatch(() => optionsRequest.loading || modelOptionRequest.loading, (loading) => {\n isLoadingOptions.value = loading;\n});\n</script>\n\n<template>\n <div class=\"pl-autocomplete__envelope\" @click.stop=\"setFocusOnInput\">\n <div\n ref=\"rootRef\"\n :tabindex=\"tabindex\"\n class=\"pl-autocomplete\"\n :class=\"{ open: data.open, error: Boolean(computedError), disabled: isDisabled }\"\n @keydown=\"handleKeydown\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-autocomplete__container\">\n <div class=\"pl-autocomplete__field\">\n <input\n ref=\"input\"\n v-model=\"search\"\n type=\"text\"\n tabindex=\"-1\"\n :disabled=\"isDisabled\"\n :placeholder=\"computedPlaceholder\"\n spellcheck=\"false\"\n autocomplete=\"chrome-off\"\n @focus=\"onInputFocus\"\n />\n\n <div v-if=\"!data.open\" class=\"input-value\">\n <LongText> {{ textValue }} </LongText>\n </div>\n\n <div class=\"pl-autocomplete__controls\">\n <PlMaskIcon24 v-if=\"isLoadingOptions\" name=\"loading\" />\n <PlIcon16 v-if=\"clearable && hasValue\" class=\"clear\" name=\"delete-clear\" @click.stop=\"clear\" />\n <slot name=\"append\" />\n <div class=\"pl-autocomplete__arrow-wrapper\" @click.stop=\"toggleOpen\">\n <div v-if=\"arrowIconLarge\" class=\"arrow-icon\" :class=\"[`icon-24 ${arrowIconLarge}`]\" />\n <div v-else-if=\"arrowIcon\" class=\"arrow-icon\" :class=\"[`icon-16 ${arrowIcon}`]\" />\n <div v-else class=\"arrow-icon arrow-icon-default\" />\n </div>\n </div>\n </div>\n <label v-if=\"label\">\n <SvgRequired v-if=\"required\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <DropdownOverlay v-if=\"data.open\" ref=\"overlay\" :root=\"rootRef\" class=\"pl-autocomplete__options\" tabindex=\"-1\" :gap=\"3\">\n <DropdownListItem\n v-for=\"(item, index) in renderedOptionsRef\"\n :key=\"index\"\n :option=\"item\"\n :is-selected=\"item.isSelected\"\n :is-hovered=\"item.isActive\"\n :size=\"optionSize\"\n @click.stop=\"selectOption(item)\"\n />\n <div v-if=\"!renderedOptionsRef.length\" class=\"nothing-found\">Nothing found</div>\n </DropdownOverlay>\n <DoubleContour class=\"pl-autocomplete__contour\" />\n </div>\n </div>\n <div v-if=\"computedError\" class=\"pl-autocomplete__error\">{{ computedError }}</div>\n <div v-else-if=\"isLoadingOptions && loadingOptionsHelper\" class=\"pl-autocomplete__helper\">{{ loadingOptionsHelper }}</div>\n <div v-else-if=\"helper\" class=\"pl-autocomplete__helper\">{{ helper }}</div>\n </div>\n</template>\n"],"names":["__default__","model","_useModel","props","__props","slots","_useSlots","rootRef","ref","input","overlayRef","useTemplateRef","search","data","reactive","findActiveIndex","tap","renderedOptionsRef","o","deepEqual","v","updateActive","loadedOptionsRef","modelOptionRef","computed","normalizeListOptions","opt","index","selectedIndex","isLoadingOptions","isLoadingError","isDisabled","computedError","getErrorMessage","textValue","modelOption","unref","options","item","computedPlaceholder","hasValue","tabindex","selectOption","_a","clear","setFocusOnInput","toggleOpen","watch","onInputFocus","onFocusOut","event","relatedTarget","_c","_b","handleKeydown","open","activeIndex","length","it","localIndex","delta","newIndex","useLabelNotch","watchPostEffect","searchDebounced","refDebounced","optionsRequest","useWatchFetch","modelOptionRequest","result","err","loading"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ListOptionBase } from '@platforma-sdk/model';
|
|
2
|
+
/**
|
|
3
|
+
* A component for selecting multiple values from a list of options
|
|
4
|
+
*/
|
|
5
|
+
declare const _default: <M = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
6
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
7
|
+
readonly "onUpdate:modelValue"?: ((v: M[]) => any) | undefined;
|
|
8
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:modelValue"> & {
|
|
9
|
+
/**
|
|
10
|
+
* The current selected values.
|
|
11
|
+
*/
|
|
12
|
+
modelValue: M[];
|
|
13
|
+
/**
|
|
14
|
+
* Lambda for requesting of available options for the dropdown by search string.
|
|
15
|
+
*/
|
|
16
|
+
optionsSearch: (s: string) => Promise<Readonly<ListOptionBase<M>[]>>;
|
|
17
|
+
/**
|
|
18
|
+
* Lambda for requesting options that correspond to the current model values.
|
|
19
|
+
*/
|
|
20
|
+
modelSearch: (values: M[]) => Promise<Readonly<ListOptionBase<M>[]>>;
|
|
21
|
+
/**
|
|
22
|
+
* Unique identifier for the source of the options, changing it will invalidate the options cache.
|
|
23
|
+
*/
|
|
24
|
+
sourceId?: string;
|
|
25
|
+
/**
|
|
26
|
+
* The label text for the dropdown field (optional)
|
|
27
|
+
*/
|
|
28
|
+
label?: string;
|
|
29
|
+
/**
|
|
30
|
+
* A helper text displayed below the dropdown when there are no errors (optional).
|
|
31
|
+
*/
|
|
32
|
+
helper?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Error message displayed below the dropdown (optional)
|
|
35
|
+
*/
|
|
36
|
+
error?: unknown;
|
|
37
|
+
/**
|
|
38
|
+
* Placeholder text shown when no value is selected.
|
|
39
|
+
*/
|
|
40
|
+
placeholder?: string;
|
|
41
|
+
/**
|
|
42
|
+
* If `true`, the dropdown component is marked as required.
|
|
43
|
+
*/
|
|
44
|
+
required?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* If `true`, the dropdown component is disabled and cannot be interacted with.
|
|
47
|
+
*/
|
|
48
|
+
disabled?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Debounce time in ms for the options search.
|
|
51
|
+
*/
|
|
52
|
+
debounce?: number;
|
|
53
|
+
/**
|
|
54
|
+
* If `true`, the search input is reset and focus is set on it when the new option is selected.
|
|
55
|
+
*/
|
|
56
|
+
resetSearchOnSelect?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* The text to display when no options are found.
|
|
59
|
+
*/
|
|
60
|
+
emptyOptionsText?: string;
|
|
61
|
+
} & Partial<{}>> & import('vue').PublicProps;
|
|
62
|
+
expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
|
|
63
|
+
attrs: any;
|
|
64
|
+
slots: {
|
|
65
|
+
append?(_: {}): any;
|
|
66
|
+
tooltip?(_: {}): any;
|
|
67
|
+
};
|
|
68
|
+
emit: (e: "update:modelValue", v: M[]) => void;
|
|
69
|
+
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
70
|
+
[key: string]: any;
|
|
71
|
+
}> & {
|
|
72
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
73
|
+
};
|
|
74
|
+
export default _default;
|
|
75
|
+
type __VLS_PrettifyLocal<T> = {
|
|
76
|
+
[K in keyof T]: T[K];
|
|
77
|
+
} & {};
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode(`.pl-autocomplete-multi{--contour-color: var(--txt-01);--contour-border-width: 1px;--options-bg: #fff;--option-hover-bg: var(--btn-sec-hover-grey);--label-offset-left-x: 8px;--label-offset-right-x: 8px;--label-color: var(--txt-01);position:relative;outline:none;min-height:var(--control-height);border-radius:6px;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weigh-base)}[data-theme=dark] .pl-autocomplete-multi{--options-bg: #1B1B1F}.pl-autocomplete-multi__envelope{font-family:var(--control-font-family);min-width:160px}.pl-autocomplete-multi label{display:flex;align-items:center;gap:4px;position:absolute;top:0;transform:translateY(-60%);left:var(--label-offset-left-x);padding:0 4px;max-width:calc(100% - 16px);overflow:hidden;white-space:pre;text-overflow:ellipsis;cursor:inherit;color:var(--label-color);font-size:12px;font-weight:500;border-bottom-right-radius:4px;border-bottom-left-radius:4px;background:var(--bg-elevated-01)}.pl-autocomplete-multi label>span{overflow:hidden;white-space:pre;text-overflow:ellipsis}.pl-autocomplete-multi__container{position:absolute;top:0;left:0;right:0;border-radius:6px;min-height:var(--control-height);padding:1px;color:var(--txt-01)}.pl-autocomplete-multi__contour{border-radius:var(--border-radius-control);border:var(--contour-border-width) solid var(--contour-color);box-shadow:var(--contour-box-shadow);z-index:0;pointer-events:none}.pl-autocomplete-multi__options{position:absolute;top:0;z-index:var(--z-dropdown-options);border:1px solid var(--border-color-div-grey);background-color:var(--pl-dropdown-options-bg);border-radius:6px;max-height:244px;box-shadow:0 4px 12px -2px #0f244d14,0 6px 24px -2px #0f244d14;--thumb-color: var(--ic-02);overflow-y:auto}.pl-autocomplete-multi__options::-webkit-scrollbar{width:var(--scrollbar-width, 6px);height:5px;background-color:transparent;display:block}.pl-autocomplete-multi__options::-webkit-scrollbar-thumb{background:var(--thumb-color);border-radius:5px}.pl-autocomplete-multi__options::-webkit-scrollbar-thumb:hover{--thumb-color: var(--border-color-focus)}.pl-autocomplete-multi__options .nothing-found{padding:0 10px;height:var(--control-height);line-height:20px;background-color:#fff;opacity:.5;font-style:italic}.pl-autocomplete-multi__options .option{position:relative;padding:0 10px;height:var(--control-height);line-height:20px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:12px;--base-icon: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M19.5%204.5H4.5L4.5%2019.5H19.5V4.5ZM4.5%203C3.67157%203%203%203.67157%203%204.5V19.5C3%2020.3284%203.67157%2021%204.5%2021H19.5C20.3284%2021%2021%2020.3284%2021%2019.5V4.5C21%203.67157%2020.3284%203%2019.5%203H4.5Z'%20fill='%23110529'/%3e%3c/svg%3e");--checked-icon: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='3'%20y='3'%20width='18'%20height='18'%20rx='2'%20fill='%23110529'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17.5431%208.51739L10.3333%2016.0877L6.45691%2012.0174L7.54312%2010.9829L10.3333%2013.9127L16.4569%207.48291L17.5431%208.51739Z'%20fill='white'/%3e%3c/svg%3e")}.pl-autocomplete-multi__options .option .pl-dropdown-multi__checkmark{cursor:pointer;outline:none;border-radius:4px;background:var(--base-icon) no-repeat center;width:24px;height:24px}[data-theme=dark] .pl-autocomplete-multi__options .option .pl-dropdown-multi__checkmark{--base-icon: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M19.5%204.5H4.5L4.5%2019.5H19.5V4.5ZM4.5%203C3.67157%203%203%203.67157%203%204.5V19.5C3%2020.3284%203.67157%2021%204.5%2021H19.5C20.3284%2021%2021%2020.3284%2021%2019.5V4.5C21%203.67157%2020.3284%203%2019.5%203H4.5Z'%20fill='white'/%3e%3c/svg%3e");--checked-icon: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='3'%20y='3'%20width='18'%20height='18'%20rx='2'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17.5431%208.51739L10.3333%2016.0877L6.45691%2012.0174L7.54312%2010.9829L10.3333%2013.9127L16.4569%207.48291L17.5431%208.51739Z'%20fill='%23110529'/%3e%3c/svg%3e")}.pl-autocomplete-multi__options .option>span{display:block;overflow:hidden;white-space:nowrap;max-width:100%;text-overflow:ellipsis}.pl-autocomplete-multi__options .option.selected{background-color:var(--color-active-select)}.pl-autocomplete-multi__options .option.selected .pl-dropdown-multi__checkmark{background:var(--checked-icon) no-repeat center;width:24px;height:24px}.pl-autocomplete-multi__options .option.active:not(.selected){background-color:var(--option-hover-bg)}.pl-autocomplete-multi__options .option:hover{background-color:var(--option-hover-bg)}.pl-autocomplete-multi__field{position:relative;border-radius:6px;overflow:hidden;background:transparent;padding-left:11px;min-height:var(--control-height);line-height:20px;cursor:pointer;display:flex;flex-direction:row;align-items:center}.pl-autocomplete-multi__field .chips-container{position:absolute;top:0;left:0;bottom:0;right:30px;overflow:hidden;padding:0 60px 0 11px;line-height:20px;color:var(--contour-color);display:flex;gap:8px;align-items:center}.pl-autocomplete-multi__field input{min-height:calc(var(--control-height) - 2px);line-height:20px;font-family:inherit;font-size:inherit;background-color:transparent;border:none;padding:0;width:calc(100% - 20px);color:var(--txt-01);caret-color:var(--border-color-focus)}.pl-autocomplete-multi__field input:focus{outline:none}.pl-autocomplete-multi__field input:placeholder-shown{text-overflow:ellipsis}.pl-autocomplete-multi__field input::placeholder{color:var(--color-placeholder)}.pl-autocomplete-multi__field:hover .clear{display:block}.pl-autocomplete-multi__controls{display:flex;flex-direction:row;align-items:center;gap:6px;margin-left:auto}.pl-autocomplete-multi__controls .mask-16,.pl-autocomplete-multi__controls .mask-24{--icon-color: var(--control-mask-fill);cursor:pointer}.pl-autocomplete-multi__controls .mask-loading{--icon-color: var(--ic-accent);animation:spin 2.5s linear infinite}.pl-autocomplete-multi__arrow-wrapper{display:flex;align-items:center;min-height:var(--control-height);padding-right:11px}.pl-autocomplete-multi .arrow-icon{cursor:pointer}.pl-autocomplete-multi .arrow-icon.arrow-icon-default{transition:transform .2s;background-color:var(--control-mask-fill);mask-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.46967%206.53033L3.53033%205.46967L8%209.93934L12.4697%205.46967L13.5303%206.53033L8%2012.0607L2.46967%206.53033Z'%20fill='%23110529'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.46967%206.53033L3.53033%205.46967L8%209.93934L12.4697%205.46967L13.5303%206.53033L8%2012.0607L2.46967%206.53033Z'%20fill='%23110529'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;mask-size:16px;-webkit-mask-size:16px;width:16px;height:16px}.pl-autocomplete-multi__helper{font-size:12px;color:var(--txt-03);padding:2px 0 0;white-space:pre-wrap;text-overflow:ellipsis;font-weight:500;line-height:16px;margin-top:6px}.pl-autocomplete-multi__error{font-size:12px;color:var(--txt-error);padding:2px 0 0;white-space:pre-wrap;text-overflow:ellipsis;font-weight:500;line-height:16px;margin-top:6px}.pl-autocomplete-multi.open .arrow-icon.arrow-icon-default{background-color:var(--control-mask-fill);transform:rotate(-180deg)}.pl-autocomplete-multi .clear{display:none;position:absolute;top:50%;transform:translateY(-50%);right:36px;z-index:1;background:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_586_7851)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%2016C12.4183%2016%2016%2012.4183%2016%208C16%203.58172%2012.4183%200%208%200C3.58172%200%200%203.58172%200%208C0%2012.4183%203.58172%2016%208%2016ZM4.46967%205.53033L6.93934%208L4.46967%2010.4697L5.53033%2011.5303L8%209.06066L10.4697%2011.5303L11.5303%2010.4697L9.06066%208L11.5303%205.53033L10.4697%204.46967L8%206.93934L5.53033%204.46967L4.46967%205.53033Z'%20fill='%23CFD1DB'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_586_7851'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e") no-repeat center;width:16px;height:16px;cursor:pointer}.pl-autocomplete-multi.open,.pl-autocomplete-multi:focus-within{z-index:1}.pl-autocomplete-multi.open .pl-autocomplete-multi__container .label,.pl-autocomplete-multi:focus-within .pl-autocomplete-multi__container .label{color:var(--txt-focus)}.pl-autocomplete-multi.open .pl-autocomplete-multi__container{z-index:1000}.pl-autocomplete-multi.open .pl-autocomplete-multi__field{border-radius:6px 6px 0 0}.pl-autocomplete-multi.open .arrow{background-color:var(--control-mask-fill);mask-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%204.93933L13.5303%2010.4697L12.4697%2011.5303L8%207.06065L3.53033%2011.5303L2.46967%2010.4697L8%204.93933Z'%20fill='%23110529'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%204.93933L13.5303%2010.4697L12.4697%2011.5303L8%207.06065L3.53033%2011.5303L2.46967%2010.4697L8%204.93933Z'%20fill='%23110529'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;mask-size:16px;-webkit-mask-size:16px;width:16px;height:16px}.pl-autocomplete-multi:hover{--contour-color: var(--control-hover-color)}.pl-autocomplete-multi:focus-within:not(.error){--label-color: var(--txt-focus);--contour-color: var(--border-color-focus);--contour-border-width: 2px;--contour-box-shadow: 0 0 0 4px var(--border-color-focus-shadow)}.pl-autocomplete-multi:focus-within.error{--contour-border-width: 2px;--contour-box-shadow: 0 0 0 4px var(--color-error-shadow)}.pl-autocomplete-multi.error{--contour-color: var(--txt-error);--label-color: var(--txt-error)}.pl-autocomplete-multi.disabled{--contour-color: var(--color-dis-01);--control-mask-fill: var(--color-dis-01);--label-color: var(--color-dis-01);cursor:not-allowed;pointer-events:none}.pl-autocomplete-multi.disabled .mask-loading{animation:spin 2.5s linear infinite;--icon-color: var(--ic-accent)}.pl-autocomplete-multi__open-chips-container{padding:12px}.pl-autocomplete-multi__open-chips-container .pl-chip{margin-right:4px;margin-bottom:4px}`)),document.head.appendChild(o)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
2
|
+
import { defineComponent as ne, useSlots as se, ref as z, useTemplateRef as re, reactive as ae, watch as L, computed as i, toRef as ie, unref as u, createElementBlock as c, openBlock as r, createElementVNode as d, createCommentVNode as p, normalizeClass as ue, createBlock as f, createVNode as ce, withDirectives as de, vModelText as pe, Fragment as E, renderList as F, withModifiers as T, withCtx as g, createTextVNode as U, toDisplayString as m, renderSlot as K } from "vue";
|
|
3
|
+
|
|
4
|
+
import fe from "../PlTooltip/PlTooltip.vue.js";
|
|
5
|
+
import P from "../PlChip/PlChip.vue.js";
|
|
6
|
+
import me from "../../utils/DoubleContour.vue.js";
|
|
7
|
+
import { useLabelNotch as ve } from "../../utils/useLabelNotch.js";
|
|
8
|
+
import he from "../DropdownListItem.vue.js";
|
|
9
|
+
import { deepEqual as x, deepIncludes as W } from "../../helpers/objects.js";
|
|
10
|
+
import _e from "../../utils/DropdownOverlay/DropdownOverlay.vue.js";
|
|
11
|
+
import ye from "../PlIcon24/PlIcon24.vue.js";
|
|
12
|
+
import be from "../../generated/components/svg/images/SvgRequired.vue.js";
|
|
13
|
+
import { getErrorMessage as B } from "../../helpers/error.js";
|
|
14
|
+
import { useWatchFetch as H } from "../../composition/useWatchFetch.js";
|
|
15
|
+
import ke from "canonicalize";
|
|
16
|
+
const Oe = ["tabindex"], ge = { class: "pl-autocomplete-multi__container" }, Ve = { class: "pl-autocomplete-multi__field" }, we = ["disabled", "placeholder"], Re = {
|
|
17
|
+
key: 0,
|
|
18
|
+
class: "chips-container"
|
|
19
|
+
}, Ce = { class: "pl-autocomplete-multi__controls" }, Se = { key: 0 }, $e = { class: "pl-autocomplete-multi__open-chips-container" }, Ae = {
|
|
20
|
+
key: 0,
|
|
21
|
+
class: "nothing-found"
|
|
22
|
+
}, Ee = {
|
|
23
|
+
key: 0,
|
|
24
|
+
class: "pl-autocomplete-multi__error"
|
|
25
|
+
}, Fe = {
|
|
26
|
+
key: 1,
|
|
27
|
+
class: "pl-autocomplete-multi__helper"
|
|
28
|
+
}, Te = {
|
|
29
|
+
name: "PlAutocompleteMulti"
|
|
30
|
+
}, je = /* @__PURE__ */ ne({
|
|
31
|
+
...Te,
|
|
32
|
+
props: {
|
|
33
|
+
modelValue: { default: () => [] },
|
|
34
|
+
optionsSearch: {},
|
|
35
|
+
modelSearch: {},
|
|
36
|
+
sourceId: { default: void 0 },
|
|
37
|
+
label: { default: void 0 },
|
|
38
|
+
helper: { default: void 0 },
|
|
39
|
+
error: { default: void 0 },
|
|
40
|
+
placeholder: { default: "..." },
|
|
41
|
+
required: { type: Boolean, default: !1 },
|
|
42
|
+
disabled: { type: Boolean, default: !1 },
|
|
43
|
+
debounce: { default: 300 },
|
|
44
|
+
resetSearchOnSelect: { type: Boolean },
|
|
45
|
+
emptyOptionsText: { default: "Nothing found" }
|
|
46
|
+
},
|
|
47
|
+
emits: ["update:modelValue"],
|
|
48
|
+
setup(j, { emit: G }) {
|
|
49
|
+
const J = G, D = (e) => J("update:modelValue", e), Q = se(), n = j, b = z(), k = z(), V = re("overlay"), l = ae({
|
|
50
|
+
search: "",
|
|
51
|
+
activeOption: -1,
|
|
52
|
+
open: !1,
|
|
53
|
+
optionsHeight: 0
|
|
54
|
+
});
|
|
55
|
+
L(() => l.open, (e) => {
|
|
56
|
+
e || (l.search = "");
|
|
57
|
+
}, { flush: "sync" });
|
|
58
|
+
const O = i(() => Array.isArray(n.modelValue) ? n.modelValue : []), X = i(() => l.open && n.modelValue.length > 0 ? n.placeholder : n.modelValue.length > 0 ? "" : n.placeholder), I = ie(n, "debounce"), v = H(() => [l.search, l.open, n.sourceId], async ([e, t]) => n.optionsSearch(e), {
|
|
59
|
+
filterWatchResult: ([e, t]) => t,
|
|
60
|
+
debounce: I
|
|
61
|
+
}), h = H(() => [n.modelValue, n.sourceId], async ([e]) => n.modelSearch(e), {
|
|
62
|
+
debounce: I
|
|
63
|
+
}), Y = i(() => {
|
|
64
|
+
const e = h.value ?? [], t = v.value ?? [], o = /* @__PURE__ */ new Set(), s = [], a = (A) => {
|
|
65
|
+
for (const _ of A) {
|
|
66
|
+
const y = ke(_.value);
|
|
67
|
+
o.has(y) || (o.add(y), s.push(_));
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
return a(e), a(t), s;
|
|
71
|
+
}), w = i(() => O.value.map((e) => Y.value.find((t) => x(t.value, e))).filter(
|
|
72
|
+
(e) => e !== void 0
|
|
73
|
+
)), R = i(() => {
|
|
74
|
+
const e = u(O);
|
|
75
|
+
return [...v.value ?? []].map((o) => ({
|
|
76
|
+
...o,
|
|
77
|
+
selected: W(e, o.value)
|
|
78
|
+
}));
|
|
79
|
+
}), C = i(() => v.loading || h.loading), S = i(() => h.value === void 0 ? !0 : n.disabled), Z = i(() => S.value ? void 0 : "0"), ee = () => {
|
|
80
|
+
l.activeOption = 0;
|
|
81
|
+
}, M = (e) => {
|
|
82
|
+
var o;
|
|
83
|
+
const t = u(O);
|
|
84
|
+
D(W(t, e) ? t.filter((s) => !x(s, e)) : [...t, e]), n.resetSearchOnSelect && (l.search = ""), (o = k.value) == null || o.focus();
|
|
85
|
+
}, N = (e) => D(u(O).filter((t) => !x(t, e))), oe = () => {
|
|
86
|
+
var e;
|
|
87
|
+
return (e = k.value) == null ? void 0 : e.focus();
|
|
88
|
+
}, te = () => l.open = !l.open, q = (e) => {
|
|
89
|
+
var o, s, a;
|
|
90
|
+
const t = e.relatedTarget;
|
|
91
|
+
!((o = b.value) != null && o.contains(t)) && !((a = (s = V.value) == null ? void 0 : s.listRef) != null && a.contains(t)) && (l.open = !1);
|
|
92
|
+
}, le = (e) => {
|
|
93
|
+
var _;
|
|
94
|
+
const { open: t, activeOption: o } = l;
|
|
95
|
+
if (!t) {
|
|
96
|
+
e.code === "Enter" && (l.open = !0);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
e.code === "Escape" && (l.open = !1, (_ = k.value) == null || _.focus());
|
|
100
|
+
const s = u(R), { length: a } = s;
|
|
101
|
+
if (!a)
|
|
102
|
+
return;
|
|
103
|
+
["ArrowDown", "ArrowUp", "Enter"].includes(e.code) && e.preventDefault(), e.code === "Enter" && M(s[o].value);
|
|
104
|
+
const A = e.code === "ArrowDown" ? 1 : e.code === "ArrowUp" ? -1 : 0;
|
|
105
|
+
l.activeOption = Math.abs(o + A + a) % a, requestAnimationFrame(() => {
|
|
106
|
+
var y;
|
|
107
|
+
return (y = V.value) == null ? void 0 : y.scrollIntoActive();
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
ve(b), L(
|
|
111
|
+
() => n.modelValue,
|
|
112
|
+
() => ee(),
|
|
113
|
+
{ immediate: !0 }
|
|
114
|
+
);
|
|
115
|
+
const $ = i(() => {
|
|
116
|
+
if (!C.value) {
|
|
117
|
+
if (v.error)
|
|
118
|
+
return B(v.error);
|
|
119
|
+
if (h.error)
|
|
120
|
+
return B(h.error);
|
|
121
|
+
if (n.error)
|
|
122
|
+
return B(n.error);
|
|
123
|
+
if (n.modelValue.length && w.value.length !== n.modelValue.length)
|
|
124
|
+
return "The selected values are not one of the options";
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
return (e, t) => (r(), c("div", {
|
|
128
|
+
class: "pl-autocomplete-multi__envelope",
|
|
129
|
+
onClick: oe
|
|
130
|
+
}, [
|
|
131
|
+
d("div", {
|
|
132
|
+
ref_key: "rootRef",
|
|
133
|
+
ref: b,
|
|
134
|
+
tabindex: Z.value,
|
|
135
|
+
class: ue(["pl-autocomplete-multi", { open: l.open, error: !!$.value, disabled: S.value }]),
|
|
136
|
+
onKeydown: le,
|
|
137
|
+
onFocusout: q
|
|
138
|
+
}, [
|
|
139
|
+
d("div", ge, [
|
|
140
|
+
d("div", Ve, [
|
|
141
|
+
de(d("input", {
|
|
142
|
+
ref_key: "inputRef",
|
|
143
|
+
ref: k,
|
|
144
|
+
"onUpdate:modelValue": t[0] || (t[0] = (o) => l.search = o),
|
|
145
|
+
type: "text",
|
|
146
|
+
tabindex: "-1",
|
|
147
|
+
disabled: S.value,
|
|
148
|
+
placeholder: X.value,
|
|
149
|
+
spellcheck: "false",
|
|
150
|
+
autocomplete: "chrome-off",
|
|
151
|
+
onFocus: t[1] || (t[1] = (o) => l.open = !0)
|
|
152
|
+
}, null, 40, we), [
|
|
153
|
+
[pe, l.search]
|
|
154
|
+
]),
|
|
155
|
+
l.open ? p("", !0) : (r(), c("div", Re, [
|
|
156
|
+
(r(!0), c(E, null, F(w.value, (o, s) => (r(), f(u(P), {
|
|
157
|
+
key: s,
|
|
158
|
+
closeable: "",
|
|
159
|
+
small: "",
|
|
160
|
+
onClick: t[2] || (t[2] = T((a) => l.open = !0, ["stop"])),
|
|
161
|
+
onClose: (a) => N(o.value)
|
|
162
|
+
}, {
|
|
163
|
+
default: g(() => [
|
|
164
|
+
U(m(o.label || o.value), 1)
|
|
165
|
+
]),
|
|
166
|
+
_: 2
|
|
167
|
+
}, 1032, ["onClose"]))), 128))
|
|
168
|
+
])),
|
|
169
|
+
d("div", Ce, [
|
|
170
|
+
C.value ? (r(), f(u(ye), {
|
|
171
|
+
key: 0,
|
|
172
|
+
name: "loading"
|
|
173
|
+
})) : p("", !0),
|
|
174
|
+
K(e.$slots, "append"),
|
|
175
|
+
d("div", {
|
|
176
|
+
class: "pl-autocomplete-multi__arrow-wrapper",
|
|
177
|
+
onClick: T(te, ["stop"])
|
|
178
|
+
}, t[3] || (t[3] = [
|
|
179
|
+
d("div", { class: "arrow-icon arrow-icon-default" }, null, -1)
|
|
180
|
+
]))
|
|
181
|
+
])
|
|
182
|
+
]),
|
|
183
|
+
e.label ? (r(), c("label", Se, [
|
|
184
|
+
e.required ? (r(), f(be, { key: 0 })) : p("", !0),
|
|
185
|
+
d("span", null, m(e.label), 1),
|
|
186
|
+
u(Q).tooltip ? (r(), f(u(fe), {
|
|
187
|
+
key: 1,
|
|
188
|
+
class: "info",
|
|
189
|
+
position: "top"
|
|
190
|
+
}, {
|
|
191
|
+
tooltip: g(() => [
|
|
192
|
+
K(e.$slots, "tooltip")
|
|
193
|
+
]),
|
|
194
|
+
_: 3
|
|
195
|
+
})) : p("", !0)
|
|
196
|
+
])) : p("", !0),
|
|
197
|
+
l.open ? (r(), f(_e, {
|
|
198
|
+
key: 1,
|
|
199
|
+
ref_key: "overlay",
|
|
200
|
+
ref: V,
|
|
201
|
+
root: b.value,
|
|
202
|
+
class: "pl-autocomplete-multi__options",
|
|
203
|
+
gap: 5,
|
|
204
|
+
tabindex: "-1",
|
|
205
|
+
onFocusout: q
|
|
206
|
+
}, {
|
|
207
|
+
default: g(() => [
|
|
208
|
+
d("div", $e, [
|
|
209
|
+
(r(!0), c(E, null, F(w.value, (o, s) => (r(), f(u(P), {
|
|
210
|
+
key: s,
|
|
211
|
+
closeable: "",
|
|
212
|
+
small: "",
|
|
213
|
+
onClose: (a) => N(o.value)
|
|
214
|
+
}, {
|
|
215
|
+
default: g(() => [
|
|
216
|
+
U(m(o.label || o.value), 1)
|
|
217
|
+
]),
|
|
218
|
+
_: 2
|
|
219
|
+
}, 1032, ["onClose"]))), 128))
|
|
220
|
+
]),
|
|
221
|
+
(r(!0), c(E, null, F(R.value, (o, s) => (r(), f(he, {
|
|
222
|
+
key: s,
|
|
223
|
+
option: o,
|
|
224
|
+
"text-item": "text",
|
|
225
|
+
"is-selected": o.selected,
|
|
226
|
+
"is-hovered": l.activeOption == s,
|
|
227
|
+
size: "medium",
|
|
228
|
+
"use-checkbox": "",
|
|
229
|
+
onClick: T((a) => M(o.value), ["stop"])
|
|
230
|
+
}, null, 8, ["option", "is-selected", "is-hovered", "onClick"]))), 128)),
|
|
231
|
+
!R.value.length && !C.value ? (r(), c("div", Ae, m(e.emptyOptionsText), 1)) : p("", !0)
|
|
232
|
+
]),
|
|
233
|
+
_: 1
|
|
234
|
+
}, 8, ["root"])) : p("", !0),
|
|
235
|
+
ce(me, { class: "pl-autocomplete-multi__contour" })
|
|
236
|
+
])
|
|
237
|
+
], 42, Oe),
|
|
238
|
+
$.value ? (r(), c("div", Ee, m($.value), 1)) : e.helper ? (r(), c("div", Fe, m(e.helper), 1)) : p("", !0)
|
|
239
|
+
]));
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
export {
|
|
243
|
+
je as default
|
|
244
|
+
};
|
|
245
|
+
//# sourceMappingURL=PlAutocompleteMulti.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlAutocompleteMulti.vue.js","sources":["../../../src/components/PlAutocompleteMulti/PlAutocompleteMulti.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * A component for selecting multiple values from a list of options\n */\nexport default {\n name: 'PlAutocompleteMulti',\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M = unknown\">\nimport './pl-autocomplete-multi.scss';\nimport { computed, reactive, ref, unref, useSlots, useTemplateRef, watch, toRef } from 'vue';\nimport { tap } from '../../helpers/functions';\nimport { PlTooltip } from '../PlTooltip';\nimport { PlChip } from '../PlChip';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport DropdownListItem from '../DropdownListItem.vue';\nimport { deepEqual, deepIncludes } from '../../helpers/objects';\nimport DropdownOverlay from '../../utils/DropdownOverlay/DropdownOverlay.vue';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport SvgRequired from '../../generated/components/svg/images/SvgRequired.vue';\nimport { getErrorMessage } from '../../helpers/error.ts';\nimport { useWatchFetch } from '../../composition/useWatchFetch.ts';\nimport canonicalize from 'canonicalize';\nimport type { ListOptionBase } from '@platforma-sdk/model';\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: M[]): void;\n}>();\n\nconst emitModel = (v: M[]) => emit('update:modelValue', v);\n\nconst slots = useSlots();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current selected values.\n */\n modelValue: M[];\n /**\n * Lambda for requesting of available options for the dropdown by search string.\n */\n optionsSearch: (s: string) => Promise<Readonly<ListOptionBase<M>[]>>;\n /**\n * Lambda for requesting options that correspond to the current model values.\n */\n modelSearch: (values: M[]) => Promise<Readonly<ListOptionBase<M>[]>>;\n /**\n * Unique identifier for the source of the options, changing it will invalidate the options cache.\n */\n sourceId?: string;\n /**\n * The label text for the dropdown field (optional)\n */\n label?: string;\n /**\n * A helper text displayed below the dropdown when there are no errors (optional).\n */\n helper?: string;\n /**\n * Error message displayed below the dropdown (optional)\n */\n error?: unknown;\n /**\n * Placeholder text shown when no value is selected.\n */\n placeholder?: string;\n /**\n * If `true`, the dropdown component is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the dropdown component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n /**\n * Debounce time in ms for the options search.\n */\n debounce?: number;\n /**\n * If `true`, the search input is reset and focus is set on it when the new option is selected.\n */\n resetSearchOnSelect?: boolean;\n /**\n * The text to display when no options are found.\n */\n emptyOptionsText?: string;\n }>(),\n {\n modelValue: () => [],\n label: undefined,\n helper: undefined,\n error: undefined,\n placeholder: '...',\n required: false,\n disabled: false,\n debounce: 300,\n emptyOptionsText: 'Nothing found',\n sourceId: undefined,\n },\n);\n\nconst rootRef = ref<HTMLElement | undefined>();\nconst inputRef = ref<HTMLInputElement | undefined>();\n\nconst overlay = useTemplateRef('overlay');\n\nconst data = reactive({\n search: '',\n activeOption: -1,\n open: false,\n optionsHeight: 0,\n});\n\nwatch(() => data.open, (v) => {\n if (!v) {\n data.search = '';\n }\n}, { flush: 'sync' });\n\nconst selectedValuesRef = computed(() => (Array.isArray(props.modelValue) ? props.modelValue : []));\n\nconst placeholderRef = computed(() => {\n if (data.open && props.modelValue.length > 0) {\n return props.placeholder;\n }\n\n return props.modelValue.length > 0 ? '' : props.placeholder;\n});\n\nconst debounce = toRef(props, 'debounce');\n\nconst searchOptionsRef = useWatchFetch(() => [data.search, data.open, props.sourceId] as const, async ([search, _open]) => {\n return props.optionsSearch(search);\n}, {\n filterWatchResult: ([_search, open]) => open,\n debounce,\n});\n\nconst modelOptionsRef = useWatchFetch(() => [props.modelValue, props.sourceId] as const, async ([v]) => {\n return props.modelSearch(v);\n}, {\n debounce,\n});\n\nconst allOptionsRef = computed(() => {\n const modelOptions = modelOptionsRef.value ?? [];\n const searchOptions = searchOptionsRef.value ?? [];\n\n const seenValues = new Set<string | undefined>();\n const result = [] as ListOptionBase<M>[];\n\n const addOptions = (options: Readonly<ListOptionBase<M>[]>) => {\n for (const option of options) {\n const canonicalValue = canonicalize(option.value);\n if (!seenValues.has(canonicalValue)) {\n seenValues.add(canonicalValue);\n result.push(option);\n }\n }\n };\n\n addOptions(modelOptions);\n addOptions(searchOptions);\n\n return result;\n});\n\nconst selectedOptionsRef = computed(() => {\n return selectedValuesRef.value.map((v) =>\n allOptionsRef.value.find((opt) => deepEqual(opt.value, v))).filter((v) => v !== undefined,\n );\n});\n\nconst filteredOptionsRef = computed(() => {\n const selectedValues = unref(selectedValuesRef);\n\n const options = searchOptionsRef.value ?? [];\n\n return [...options].map((opt) => ({\n ...opt,\n selected: deepIncludes(selectedValues, opt.value),\n }));\n});\n\nconst isOptionsLoading = computed(() => searchOptionsRef.loading || modelOptionsRef.loading);\n\nconst isDisabled = computed(() => {\n if (modelOptionsRef.value === undefined) {\n return true;\n }\n\n return props.disabled;\n});\n\nconst tabindex = computed(() => (isDisabled.value ? undefined : '0'));\n\nconst updateActiveOption = () => {\n data.activeOption = 0;\n};\n\nconst selectOption = (v: M) => {\n const values = unref(selectedValuesRef);\n emitModel(deepIncludes(values, v) ? values.filter((it) => !deepEqual(it, v)) : [...values, v]);\n if (props.resetSearchOnSelect) {\n data.search = '';\n }\n inputRef.value?.focus();\n};\n\nconst unselectOption = (d: M) => emitModel(unref(selectedValuesRef).filter((v) => !deepEqual(v, d)));\n\nconst setFocusOnInput = () => inputRef.value?.focus();\n\nconst toggleOpen = () => data.open = !data.open;\n\nconst onFocusOut = (event: FocusEvent) => {\n const relatedTarget = event.relatedTarget as Node | null;\n\n if (!rootRef.value?.contains(relatedTarget) && !overlay.value?.listRef?.contains(relatedTarget)) {\n data.open = false;\n }\n};\n\nconst handleKeydown = (e: { code: string; preventDefault(): void }) => {\n const { open, activeOption } = data;\n\n if (!open) {\n if (e.code === 'Enter') {\n data.open = true;\n }\n return;\n }\n\n if (e.code === 'Escape') {\n data.open = false;\n inputRef.value?.focus();\n }\n\n const filteredOptions = unref(filteredOptionsRef);\n\n const { length } = filteredOptions;\n\n if (!length) {\n return;\n }\n\n if (['ArrowDown', 'ArrowUp', 'Enter'].includes(e.code)) {\n e.preventDefault();\n }\n\n if (e.code === 'Enter') {\n selectOption(filteredOptions[activeOption].value);\n }\n\n const d = e.code === 'ArrowDown' ? 1 : e.code === 'ArrowUp' ? -1 : 0;\n\n data.activeOption = Math.abs(activeOption + d + length) % length;\n\n requestAnimationFrame(() => overlay.value?.scrollIntoActive());\n};\n\nuseLabelNotch(rootRef);\n\nwatch(\n () => props.modelValue,\n () => updateActiveOption(),\n { immediate: true },\n);\n\nconst computedError = computed(() => {\n if (isOptionsLoading.value) {\n return undefined;\n }\n\n if (searchOptionsRef.error) {\n return getErrorMessage(searchOptionsRef.error);\n }\n\n if (modelOptionsRef.error) {\n return getErrorMessage(modelOptionsRef.error);\n }\n\n if (props.error) {\n return getErrorMessage(props.error);\n }\n\n if (props.modelValue.length && selectedOptionsRef.value.length !== props.modelValue.length) {\n return 'The selected values are not one of the options';\n }\n\n return undefined;\n});\n</script>\n\n<template>\n <div class=\"pl-autocomplete-multi__envelope\" @click=\"setFocusOnInput\">\n <div\n ref=\"rootRef\"\n :tabindex=\"tabindex\"\n class=\"pl-autocomplete-multi\"\n :class=\"{ open: data.open, error: Boolean(computedError), disabled: isDisabled }\"\n @keydown=\"handleKeydown\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-autocomplete-multi__container\">\n <div class=\"pl-autocomplete-multi__field\">\n <input\n ref=\"inputRef\"\n v-model=\"data.search\"\n type=\"text\"\n tabindex=\"-1\"\n :disabled=\"isDisabled\"\n :placeholder=\"placeholderRef\"\n spellcheck=\"false\"\n autocomplete=\"chrome-off\"\n @focus=\"data.open = true\"\n />\n <div v-if=\"!data.open\" class=\"chips-container\">\n <PlChip v-for=\"(opt, i) in selectedOptionsRef\" :key=\"i\" closeable small @click.stop=\"data.open = true\" @close=\"unselectOption(opt.value)\">\n {{ opt.label || opt.value }}\n </PlChip>\n </div>\n\n <div class=\"pl-autocomplete-multi__controls\">\n <PlMaskIcon24 v-if=\"isOptionsLoading\" name=\"loading\" />\n <slot name=\"append\" />\n <div class=\"pl-autocomplete-multi__arrow-wrapper\" @click.stop=\"toggleOpen\">\n <div class=\"arrow-icon arrow-icon-default\" />\n </div>\n </div>\n </div>\n <label v-if=\"label\">\n <SvgRequired v-if=\"required\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <DropdownOverlay\n v-if=\"data.open\"\n ref=\"overlay\"\n :root=\"rootRef\"\n class=\"pl-autocomplete-multi__options\"\n :gap=\"5\"\n tabindex=\"-1\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-autocomplete-multi__open-chips-container\">\n <PlChip\n v-for=\"(opt, i) in selectedOptionsRef\"\n :key=\"i\"\n closeable\n small\n @close=\"unselectOption(opt.value)\"\n >\n {{ opt.label || opt.value }}\n </PlChip>\n </div>\n <DropdownListItem\n v-for=\"(item, index) in filteredOptionsRef\"\n :key=\"index\"\n :option=\"item\"\n :text-item=\"'text'\"\n :is-selected=\"item.selected\"\n :is-hovered=\"data.activeOption == index\"\n size=\"medium\"\n use-checkbox\n @click.stop=\"selectOption(item.value)\"\n />\n <div v-if=\"!filteredOptionsRef.length && !isOptionsLoading\" class=\"nothing-found\">{{ emptyOptionsText }}</div>\n </DropdownOverlay>\n <DoubleContour class=\"pl-autocomplete-multi__contour\" />\n </div>\n </div>\n <div v-if=\"computedError\" class=\"pl-autocomplete-multi__error\">{{ computedError }}</div>\n <div v-else-if=\"helper\" class=\"pl-autocomplete-multi__helper\">{{ helper }}</div>\n </div>\n</template>\n"],"names":["__default__","emit","__emit","emitModel","v","slots","useSlots","props","__props","rootRef","ref","inputRef","overlay","useTemplateRef","data","reactive","watch","selectedValuesRef","computed","placeholderRef","debounce","toRef","searchOptionsRef","useWatchFetch","search","_open","_search","open","modelOptionsRef","allOptionsRef","modelOptions","searchOptions","seenValues","result","addOptions","options","option","canonicalValue","canonicalize","selectedOptionsRef","opt","deepEqual","filteredOptionsRef","selectedValues","unref","deepIncludes","isOptionsLoading","isDisabled","tabindex","updateActiveOption","selectOption","values","it","_a","unselectOption","d","setFocusOnInput","toggleOpen","onFocusOut","event","relatedTarget","_c","_b","handleKeydown","activeOption","filteredOptions","length","useLabelNotch","computedError","getErrorMessage"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlAutocompleteMulti.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as PlAutocompleteMulti } from './PlAutocompleteMulti.vue';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlBtnAccent.vue.js","sources":["../../../src/components/PlBtnAccent/PlBtnAccent.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Accent button\n */\nexport default {\n name: 'PlBtnAccent',\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport './pl-btn-accent.scss';\nimport type { MaskIconName16, Size } from '../../types';\nimport BtnBase from '../../base/BtnBase.vue';\n\nconst props = defineProps<{\n /**\n * If `true,` the button is disabled, cannot be interacted with, and shows a special 'loading' icon.\n */\n loading?: boolean;\n /**\n * Size of the button, the default value is 'medium'\n */\n size?: Size;\n /**\n * If `true` the shape is round.\n */\n round?: boolean;\n /**\n * Icon to display\n */\n icon?: MaskIconName16;\n /**\n * If `true`, an icon is displayed before the text.\n */\n reverse?: boolean;\n /**\n * Justify text at the center\n */\n justifyCenter?: boolean;\n}>();\n</script>\n\n<template>\n <BtnBase class=\"pl-btn-accent\" v-bind=\"props\">\n <slot />\n </BtnBase>\n</template>\n"],"names":["__default__","props","__props"],"mappings":";;;AAIA,
|
|
1
|
+
{"version":3,"file":"PlBtnAccent.vue.js","sources":["../../../src/components/PlBtnAccent/PlBtnAccent.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Accent button\n */\nexport default {\n name: 'PlBtnAccent',\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport './pl-btn-accent.scss';\nimport type { MaskIconName16, Size } from '../../types';\nimport BtnBase from '../../base/BtnBase.vue';\n\nconst props = defineProps<{\n /**\n * If `true,` the button is disabled, cannot be interacted with, and shows a special 'loading' icon.\n */\n loading?: boolean;\n /**\n * Size of the button, the default value is 'medium'\n */\n size?: Size;\n /**\n * If `true` the shape is round.\n */\n round?: boolean;\n /**\n * Icon to display\n */\n icon?: MaskIconName16;\n /**\n * If `true`, an icon is displayed before the text.\n */\n reverse?: boolean;\n /**\n * Justify text at the center\n */\n justifyCenter?: boolean;\n}>();\n</script>\n\n<template>\n <BtnBase class=\"pl-btn-accent\" v-bind=\"props\">\n <slot />\n </BtnBase>\n</template>\n"],"names":["__default__","props","__props"],"mappings":";;;AAIA,MAAAA,IAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;AAQA,UAAMC,IAAQC;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlBtnDanger.vue.js","sources":["../../../src/components/PlBtnDanger/PlBtnDanger.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Danger button\n */\nexport default {\n name: 'PlBtnDanger',\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport './pl-btn-danger.scss';\nimport type { MaskIconName16, Size } from '../../types';\nimport BtnBase from '../../base/BtnBase.vue';\n\nconst props = defineProps<{\n /**\n * If `true,` the button is disabled, cannot be interacted with, and shows a special 'loading' icon.\n */\n loading?: boolean;\n /**\n * Size of the button, the default value is 'medium'\n */\n size?: Size;\n /**\n * If `true` the shape is round.\n */\n round?: boolean;\n /**\n * Icon to display\n */\n icon?: MaskIconName16;\n /**\n * If `true`, an icon is displayed before the text.\n */\n reverse?: boolean;\n /**\n * Justify text at the center\n */\n justifyCenter?: boolean;\n}>();\n</script>\n\n<template>\n <BtnBase class=\"pl-btn-danger\" v-bind=\"props\">\n <slot />\n </BtnBase>\n</template>\n"],"names":["__default__","props","__props"],"mappings":";;;AAIA,
|
|
1
|
+
{"version":3,"file":"PlBtnDanger.vue.js","sources":["../../../src/components/PlBtnDanger/PlBtnDanger.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Danger button\n */\nexport default {\n name: 'PlBtnDanger',\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport './pl-btn-danger.scss';\nimport type { MaskIconName16, Size } from '../../types';\nimport BtnBase from '../../base/BtnBase.vue';\n\nconst props = defineProps<{\n /**\n * If `true,` the button is disabled, cannot be interacted with, and shows a special 'loading' icon.\n */\n loading?: boolean;\n /**\n * Size of the button, the default value is 'medium'\n */\n size?: Size;\n /**\n * If `true` the shape is round.\n */\n round?: boolean;\n /**\n * Icon to display\n */\n icon?: MaskIconName16;\n /**\n * If `true`, an icon is displayed before the text.\n */\n reverse?: boolean;\n /**\n * Justify text at the center\n */\n justifyCenter?: boolean;\n}>();\n</script>\n\n<template>\n <BtnBase class=\"pl-btn-danger\" v-bind=\"props\">\n <slot />\n </BtnBase>\n</template>\n"],"names":["__default__","props","__props"],"mappings":";;;AAIA,MAAAA,IAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;AAQA,UAAMC,IAAQC;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlBtnGhost.vue.js","sources":["../../../src/components/PlBtnGhost/PlBtnGhost.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Ghost button\n */\nexport default {\n name: 'PlBtnGhost',\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport './pl-btn-ghost.scss';\nimport type { MaskIconName24, Size } from '../../types';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport { computed, ref, useSlots } from 'vue';\nimport { useRipple } from '../../composition/useRipple';\n\nconst props = withDefaults(\n defineProps<{\n /**\n * If `true,` the button is disabled, cannot be interacted with, and shows a special 'loading' icon.\n */\n loading?: boolean;\n /**\n * Size of the button, the default value is 'medium'\n */\n size?: Size;\n /**\n * If `true` the shape is round.\n */\n round?: boolean;\n /**\n * Icon to display\n */\n icon?: MaskIconName24;\n /**\n * If `true`, an icon is displayed before the text.\n */\n reverse?: boolean;\n /**\n * Justify text at the center (is `false` by default)\n */\n justifyCenter?: boolean;\n }>(),\n {\n size: undefined,\n icon: undefined,\n justifyCenter: false,\n },\n);\n\nconst small = computed(() => props.size === 'small');\nconst large = computed(() => props.size === 'large');\n\nconst btnRef = ref();\n\nconst slots = useSlots();\n\nuseRipple(btnRef);\n</script>\n\n<template>\n <button\n ref=\"btnRef\"\n tabindex=\"0\"\n class=\"pl-btn-ghost\"\n :class=\"{ loading, small, large, round, reverse, justifyCenter, [$attrs.class + '']: true }\"\n v-bind=\"{ ...$attrs, disabled: Boolean($attrs.disabled) || loading }\"\n >\n <span v-if=\"slots.default && !round\">\n <slot />\n </span>\n <slot name=\"icon\">\n <PlMaskIcon24 v-if=\"loading\" name=\"loading\" :size=\"size\" />\n <PlMaskIcon24 v-else-if=\"icon\" :name=\"icon\" :size=\"size\" />\n </slot>\n <slot name=\"append\" />\n </button>\n</template>\n"],"names":["__default__","props","__props","small","computed","large","btnRef","ref","slots","useSlots","useRipple"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"PlBtnGhost.vue.js","sources":["../../../src/components/PlBtnGhost/PlBtnGhost.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Ghost button\n */\nexport default {\n name: 'PlBtnGhost',\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport './pl-btn-ghost.scss';\nimport type { MaskIconName24, Size } from '../../types';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport { computed, ref, useSlots } from 'vue';\nimport { useRipple } from '../../composition/useRipple';\n\nconst props = withDefaults(\n defineProps<{\n /**\n * If `true,` the button is disabled, cannot be interacted with, and shows a special 'loading' icon.\n */\n loading?: boolean;\n /**\n * Size of the button, the default value is 'medium'\n */\n size?: Size;\n /**\n * If `true` the shape is round.\n */\n round?: boolean;\n /**\n * Icon to display\n */\n icon?: MaskIconName24;\n /**\n * If `true`, an icon is displayed before the text.\n */\n reverse?: boolean;\n /**\n * Justify text at the center (is `false` by default)\n */\n justifyCenter?: boolean;\n }>(),\n {\n size: undefined,\n icon: undefined,\n justifyCenter: false,\n },\n);\n\nconst small = computed(() => props.size === 'small');\nconst large = computed(() => props.size === 'large');\n\nconst btnRef = ref();\n\nconst slots = useSlots();\n\nuseRipple(btnRef);\n</script>\n\n<template>\n <button\n ref=\"btnRef\"\n tabindex=\"0\"\n class=\"pl-btn-ghost\"\n :class=\"{ loading, small, large, round, reverse, justifyCenter, [$attrs.class + '']: true }\"\n v-bind=\"{ ...$attrs, disabled: Boolean($attrs.disabled) || loading }\"\n >\n <span v-if=\"slots.default && !round\">\n <slot />\n </span>\n <slot name=\"icon\">\n <PlMaskIcon24 v-if=\"loading\" name=\"loading\" :size=\"size\" />\n <PlMaskIcon24 v-else-if=\"icon\" :name=\"icon\" :size=\"size\" />\n </slot>\n <slot name=\"append\" />\n </button>\n</template>\n"],"names":["__default__","props","__props","small","computed","large","btnRef","ref","slots","useSlots","useRipple"],"mappings":";;;;sBAIAA,IAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;AAUA,UAAMC,IAAQC,GAkCRC,IAAQC,EAAS,MAAMH,EAAM,SAAS,OAAO,GAC7CI,IAAQD,EAAS,MAAMH,EAAM,SAAS,OAAO,GAE7CK,IAASC,EAAA,GAETC,IAAQC,EAAA;AAEd,WAAAC,EAAUJ,CAAM;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlBtnGroup.vue.js","sources":["../../../src/components/PlBtnGroup/PlBtnGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * A component for selecting one value from a list of options\n */\nexport default {\n name: 'PlBtnGroup',\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M = unknown\">\nimport './pl-btn-group.scss';\nimport { computed, useSlots } from 'vue';\nimport { PlTooltip } from '../PlTooltip';\nimport InnerBorder from '../../utils/InnerBorder.vue';\nimport type { SimpleOption } from '../../types';\nimport { getErrorMessage } from '../../helpers/error.ts';\n\nconst slots = useSlots();\n\nconst emit = defineEmits<{\n /**\n * Emitted when the model value is updated.\n */\n (e: 'update:modelValue', value: M): void;\n}>();\n\nconst emitModel = (v: M) => emit('update:modelValue', v);\n\nconst props = defineProps<{\n /**\n * The current selected value.\n */\n modelValue?: M;\n /**\n * The label text for the component (optional)\n */\n label?: string;\n /**\n * List of available options for the component\n */\n options: Readonly<SimpleOption<M>[]>;\n /**\n * If `true`, the component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n /**\n * If `true`, the height of the component is 32px\n */\n compact?: boolean;\n /**\n * A helper text displayed below the component when there are no errors (optional).\n */\n helper?: string;\n /**\n * Error message displayed below the component (optional)\n */\n error?: unknown;\n}>();\n\nconst normalizedOptions = computed(() =>\n props.options.map((it) => ({\n label: 'label' in it ? it.label : it.text,\n value: it.value,\n })),\n);\n</script>\n\n<template>\n <div class=\"pl-btn-group\" :class=\"{ disabled, compact }\">\n <label v-if=\"label\">\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <InnerBorder class=\"pl-btn-group__container\">\n <div\n v-for=\"(opt, i) in normalizedOptions\"\n :key=\"i\"\n class=\"pl-btn-group__option text-s\"\n :tabindex=\"modelValue === opt.value || disabled ? undefined : 0\"\n :class=\"{ active: modelValue === opt.value }\"\n @keydown.enter=\"emitModel(opt.value)\"\n @click=\"emitModel(opt.value)\"\n >\n {{ opt.label }}\n </div>\n </InnerBorder>\n <div v-if=\"helper\" class=\"pl-btn-group__helper\">{{ helper }}</div>\n <div v-else-if=\"error\" class=\"pl-btn-group__error\">{{ getErrorMessage(error) }}</div>\n </div>\n</template>\n"],"names":["__default__","slots","useSlots","emit","__emit","emitModel","v","props","__props","normalizedOptions","computed","it"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"PlBtnGroup.vue.js","sources":["../../../src/components/PlBtnGroup/PlBtnGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * A component for selecting one value from a list of options\n */\nexport default {\n name: 'PlBtnGroup',\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M = unknown\">\nimport './pl-btn-group.scss';\nimport { computed, useSlots } from 'vue';\nimport { PlTooltip } from '../PlTooltip';\nimport InnerBorder from '../../utils/InnerBorder.vue';\nimport type { SimpleOption } from '../../types';\nimport { getErrorMessage } from '../../helpers/error.ts';\n\nconst slots = useSlots();\n\nconst emit = defineEmits<{\n /**\n * Emitted when the model value is updated.\n */\n (e: 'update:modelValue', value: M): void;\n}>();\n\nconst emitModel = (v: M) => emit('update:modelValue', v);\n\nconst props = defineProps<{\n /**\n * The current selected value.\n */\n modelValue?: M;\n /**\n * The label text for the component (optional)\n */\n label?: string;\n /**\n * List of available options for the component\n */\n options: Readonly<SimpleOption<M>[]>;\n /**\n * If `true`, the component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n /**\n * If `true`, the height of the component is 32px\n */\n compact?: boolean;\n /**\n * A helper text displayed below the component when there are no errors (optional).\n */\n helper?: string;\n /**\n * Error message displayed below the component (optional)\n */\n error?: unknown;\n}>();\n\nconst normalizedOptions = computed(() =>\n props.options.map((it) => ({\n label: 'label' in it ? it.label : it.text,\n value: it.value,\n })),\n);\n</script>\n\n<template>\n <div class=\"pl-btn-group\" :class=\"{ disabled, compact }\">\n <label v-if=\"label\">\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <InnerBorder class=\"pl-btn-group__container\">\n <div\n v-for=\"(opt, i) in normalizedOptions\"\n :key=\"i\"\n class=\"pl-btn-group__option text-s\"\n :tabindex=\"modelValue === opt.value || disabled ? undefined : 0\"\n :class=\"{ active: modelValue === opt.value }\"\n @keydown.enter=\"emitModel(opt.value)\"\n @click=\"emitModel(opt.value)\"\n >\n {{ opt.label }}\n </div>\n </InnerBorder>\n <div v-if=\"helper\" class=\"pl-btn-group__helper\">{{ helper }}</div>\n <div v-else-if=\"error\" class=\"pl-btn-group__error\">{{ getErrorMessage(error) }}</div>\n </div>\n</template>\n"],"names":["__default__","slots","useSlots","emit","__emit","emitModel","v","props","__props","normalizedOptions","computed","it"],"mappings":";;;;;;;;;;;GAIAA,IAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;;;AAWA,UAAMC,IAAQC,EAAA,GAERC,IAAOC,GAOPC,IAAY,CAACC,MAASH,EAAK,qBAAqBG,CAAC,GAEjDC,IAAQC,GA+BRC,IAAoBC;AAAA,MAAS,MACjCH,EAAM,QAAQ,IAAI,CAACI,OAAQ;AAAA,QACzB,OAAO,WAAWA,IAAKA,EAAG,QAAQA,EAAG;AAAA,QACrC,OAAOA,EAAG;AAAA,MAAA,EACV;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|