@milaboratories/uikit 2.15.43 → 2.16.1
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 +741 -735
- package/.turbo/turbo-formatter$colon$check.log +4 -6
- package/.turbo/turbo-linter$colon$check.log +4 -6
- package/.turbo/turbo-types$colon$check.log +3 -5
- package/CHANGELOG.md +25 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +1 -2
- package/dist/_virtual/_rolldown/runtime.js +1 -2
- package/dist/_virtual/_rolldown_dynamic_import_helper.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_add.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_add.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_arrow-down.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_arrow-down.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_arrow-left.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_arrow-left.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_arrow-link.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_arrow-link.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_arrow-right.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_arrow-right.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_arrow-up.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_arrow-up.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_box.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_box.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_calendar.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_calendar.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_caret-down.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_caret-down.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_caret-left.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_caret-left.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_caret-right.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_caret-right.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_caret-up.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_caret-up.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_cell-type-num.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_cell-type-num.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_cell-type-subset.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_cell-type-subset.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_cell-type-txt.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_cell-type-txt.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_checkmark.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_checkmark.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-down.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_chevron-down.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-first.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_chevron-first.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-last.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_chevron-last.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-left.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_chevron-left.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-right.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_chevron-right.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_chevron-up.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_chevron-up.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_clear.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_clear.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_clipboard-copied.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_clipboard-copied.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_clipboard.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_clipboard.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_close.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_close.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_compare.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_compare.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_copy.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_copy.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_data-dimentions.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_data-dimentions.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_delete-bin.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_delete-bin.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_delete-circle.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_delete-circle.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_delete-clear.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_delete-clear.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_download.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_download.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_drag-dots.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_drag-dots.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_duplicate.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_duplicate.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_edit.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_edit.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_error.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_error.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_export.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_export.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_filter-on.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_filter-on.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_filter.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_filter.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_help-outline.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_help-outline.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_help.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_help.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_import.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_import.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_info-outline.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_info-outline.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_info.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_info.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_jump-link.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_jump-link.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_link-arrow.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_link-arrow.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_link.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_link.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_loading.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_loading.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_lock.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_lock.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_maximize.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_maximize.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_minimize.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_minimize.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_minus.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_minus.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_more.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_more.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_open.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_open.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_paper-clip.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_paper-clip.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_pause.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_pause.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_play.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_play.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_progress.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_progress.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_renew.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_renew.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_required.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_required.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_restart.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_restart.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_reverse.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_reverse.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_settings.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_settings.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_sort.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_sort.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_sorter.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_sorter.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_stop.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_stop.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_success.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_success.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_time.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_time.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_tune.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_tune.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_warning.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_warning.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_x-axis.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_x-axis.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_y-axis.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_y-axis.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/16_zip.js +1 -2
- package/dist/assets/icons/icon-assets-min/16_zip.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_add-layer.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_add-layer.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_add.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_add.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_align-center.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_align-center.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_align-left.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_align-left.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_align-right.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_align-right.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_analytics-accent.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_analytics-accent.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_analytics.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_analytics.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_annotate.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_annotate.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_annotation.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_annotation.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_area.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_area.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-down.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_arrow-down.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-left-curved.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_arrow-left-curved.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-left.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_arrow-left.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-link.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_arrow-link.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-right.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_arrow-right.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_arrow-up.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_arrow-up.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_axes.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_axes.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bar-cross.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_bar-cross.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bar-error.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_bar-error.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bar-stacked.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_bar-stacked.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bar-trend.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_bar-trend.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bar.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_bar.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bindot.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_bindot.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_box.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_box.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_boxplot-binned.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_boxplot-binned.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_boxplot-jitter.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_boxplot-jitter.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_boxplot-notched.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_boxplot-notched.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_boxplot.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_boxplot.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_bubble.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_bubble.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_calendar.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_calendar.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_canvas.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_canvas.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cell-type-num.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cell-type-num.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cell-type-subset.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cell-type-subset.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cell-type-txt.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cell-type-txt.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_checkbox-checked.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_checkbox-checked.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_checkbox-intermediate.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_checkbox-intermediate.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_checkbox.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_checkbox.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_checkmark.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_checkmark.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-down.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_chevron-down.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-first.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_chevron-first.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-last.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_chevron-last.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-left.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_chevron-left.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-right.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_chevron-right.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-sort.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_chevron-sort.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_chevron-up.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_chevron-up.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_clipboard-copied.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_clipboard-copied.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_clipboard.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_clipboard.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_close.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_close.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cloud-download.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cloud-download.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cloud-offline.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cloud-offline.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cloud-online.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cloud-online.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cloud-upload.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cloud-upload.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cluster.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cluster.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_code.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_code.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_color-fill.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_color-fill.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_color-none.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_color-none.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_color-stroke.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_color-stroke.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_color.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_color.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_columns.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_columns.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_connected-points.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_connected-points.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_container.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_container.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cookie.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cookie.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_copy.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_copy.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cpu.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cpu.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_cursor-pointer.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_cursor-pointer.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_data-dimentions.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_data-dimentions.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_debug.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_debug.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_delete-bin.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_delete-bin.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_delete-circle.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_delete-circle.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_delete-clear.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_delete-clear.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dendrogram-X-line.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_dendrogram-X-line.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dendrogram-X.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_dendrogram-X.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dendrogram-Y-line.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_dendrogram-Y-line.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dendrogram-Y.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_dendrogram-Y.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dna-add.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_dna-add.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dna-import.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_dna-import.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_dna.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_dna.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_download.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_download.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_drag-dots.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_drag-dots.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_drag-horizontal.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_drag-horizontal.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_drag-vertical.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_drag-vertical.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_duplicate.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_duplicate.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_edit.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_edit.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_error-bar.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_error-bar.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_error.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_error.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_expand-left.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_expand-left.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_expand-right.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_expand-right.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_export-2.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_export-2.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_export.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_export.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_external-link.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_external-link.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_file-doc-add.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_file-doc-add.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_file-doc-download.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_file-doc-download.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_file-doc-import.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_file-doc-import.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_file-doc.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_file-doc.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_file-logs-accent.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_file-logs-accent.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_file-logs.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_file-logs.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_files-export.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_files-export.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_files-import.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_files-import.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_filter-on.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_filter-on.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_filter.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_filter.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_fire-tips.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_fire-tips.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_folder-parent.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_folder-parent.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_frame-type-all.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_frame-type-all.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_frame-type-bottom.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_frame-type-bottom.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_frame-type-left-bottom.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_frame-type-left-bottom.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_frame-type-left.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_frame-type-left.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_frame-type-none.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_frame-type-none.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_generate.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_generate.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_graph.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_graph.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_heatmap.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_heatmap.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_help-outline.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_help-outline.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_help.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_help.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_hide.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_hide.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_import.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_import.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_info-outline.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_info-outline.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_info.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_info.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_jitter.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_jitter.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_jump-link.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_jump-link.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_lasso.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_lasso.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_layers.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_layers.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_learn.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_learn.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_legend-box-dot.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_legend-box-dot.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_legend-box.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_legend-box.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_legend.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_legend.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_line-binned.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_line-binned.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_line-error.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_line-error.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_line-jitter.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_line-jitter.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_line.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_line.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-dashed.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_linetype-dashed.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-dotdash.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_linetype-dotdash.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-dotted.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_linetype-dotted.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-longdash.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_linetype-longdash.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-solid.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_linetype-solid.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_linetype-twodash.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_linetype-twodash.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_link-disabled.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_link-disabled.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_link.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_link.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_loading.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_loading.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_lock.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_lock.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_maximize.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_maximize.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_menu.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_menu.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_minimize.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_minimize.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_minus.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_minus.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_monetization-off.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_monetization-off.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_monetization-on.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_monetization-on.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_monetization.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_monetization.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_more.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_more.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_paper-clip.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_paper-clip.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_pause.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_pause.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_pen-tool.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_pen-tool.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_pin.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_pin.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_play.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_play.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-bottom-annotation.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_position-bottom-annotation.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-bottom.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_position-bottom.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-left-annotation.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_position-left-annotation.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-left.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_position-left.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-right-annotation.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_position-right-annotation.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-right.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_position-right.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-top-annotation.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_position-top-annotation.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_position-top.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_position-top.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_product.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_product.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_progress.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_progress.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_publications.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_publications.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_radio-button-checked.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_radio-button-checked.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_radio-button.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_radio-button.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_renew.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_renew.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_restart.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_restart.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_reverse.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_reverse.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_rotation-0.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_rotation-0.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_rotation-45.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_rotation-45.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_rotation-90.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_rotation-90.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_search.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_search.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_server-on.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_server-on.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_server.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_server.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_settings.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_settings.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_show.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_show.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_sina.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_sina.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_skatterplot.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_skatterplot.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_slice.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_slice.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_social-github.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_social-github.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_social-linkedin.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_social-linkedin.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_social-twitter-X.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_social-twitter-X.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_social-twitter-bird.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_social-twitter-bird.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_social-youtube.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_social-youtube.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_sort-list-down.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_sort-list-down.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_sort-list-up.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_sort-list-up.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_sort.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_sort.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_statistics.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_statistics.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_stop.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_stop.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_strip-plot.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_strip-plot.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_success.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_success.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_table-add.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_table-add.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_table-alias.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_table-alias.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_table-import.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_table-import.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_table-upload.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_table-upload.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_table.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_table.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_template.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_template.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_terminal.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_terminal.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_text-align-center.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_text-align-center.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_text-align-left.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_text-align-left.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_text-align-right.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_text-align-right.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_theme-dark.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_theme-dark.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_theme-light.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_theme-light.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_time.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_time.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_title-position.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_title-position.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_tune.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_tune.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_venn.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_venn.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_view-hide.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_view-hide.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_view-show.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_view-show.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_violin-binned.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_violin-binned.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_violin-jitter.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_violin-jitter.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_violin.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_violin.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_warning.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_warning.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_wetlab.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_wetlab.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_windows-collapse.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_windows-collapse.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_windows-expand.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_windows-expand.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_x-axis.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_x-axis.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_y-axis.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_y-axis.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_zip.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_zip.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_zoom-in.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_zoom-in.js.map +1 -1
- package/dist/assets/icons/icon-assets-min/24_zoom-out.js +1 -2
- package/dist/assets/icons/icon-assets-min/24_zoom-out.js.map +1 -1
- package/dist/assets/images/24_checkbox-light-enabled-checked.js +1 -2
- package/dist/assets/images/24_checkbox-light-enabled-checked.js.map +1 -1
- package/dist/assets/images/24_checkbox-light-enabled-unchecked.js +1 -2
- package/dist/assets/images/24_checkbox-light-enabled-unchecked.js.map +1 -1
- package/dist/assets/images/required.js +1 -2
- package/dist/assets/images/required.js.map +1 -1
- package/dist/base/BtnBase.js +1 -2
- package/dist/base/BtnBase.js.map +1 -1
- package/dist/base/BtnBase.vue2.js +2 -3
- package/dist/base/BtnBase.vue2.js.map +1 -1
- package/dist/colors/color.js +5 -2
- package/dist/colors/color.js.map +1 -1
- package/dist/colors/gradient.js +3 -2
- package/dist/colors/gradient.js.map +1 -1
- package/dist/colors/index.js +4 -3
- package/dist/colors/palette.js +1 -2
- package/dist/colors/palette.js.map +1 -1
- package/dist/components/ContextProvider.js +1 -2
- package/dist/components/ContextProvider.js.map +1 -1
- package/dist/components/ContextProvider.vue2.js +2 -3
- package/dist/components/ContextProvider.vue2.js.map +1 -1
- package/dist/components/DataTable/AddColumnBtn.vue.d.ts +4 -0
- package/dist/components/DataTable/AddColumnBtn.vue.d.ts.map +1 -0
- package/dist/components/DataTable/BaseCellComponent.js +1 -2
- package/dist/components/DataTable/BaseCellComponent.js.map +1 -1
- package/dist/components/DataTable/BaseCellComponent.vue2.js +4 -5
- package/dist/components/DataTable/BaseCellComponent.vue2.js.map +1 -1
- package/dist/components/DataTable/ColumnCaret.js +1 -2
- package/dist/components/DataTable/ColumnCaret.js.map +1 -1
- package/dist/components/DataTable/ColumnCaret.vue2.js +2 -3
- package/dist/components/DataTable/ColumnCaret.vue2.js.map +1 -1
- package/dist/components/DataTable/ColumnsCommandMenu.js +1 -2
- package/dist/components/DataTable/ColumnsCommandMenu.js.map +1 -1
- package/dist/components/DataTable/ColumnsCommandMenu.vue2.js +2 -3
- package/dist/components/DataTable/ColumnsCommandMenu.vue2.js.map +1 -1
- package/dist/components/DataTable/RowsCommandMenu.js +1 -2
- package/dist/components/DataTable/RowsCommandMenu.js.map +1 -1
- package/dist/components/DataTable/RowsCommandMenu.vue2.js +2 -3
- package/dist/components/DataTable/RowsCommandMenu.vue2.js.map +1 -1
- package/dist/components/DataTable/TScroll.js +1 -2
- package/dist/components/DataTable/TScroll.js.map +1 -1
- package/dist/components/DataTable/TScroll.vue2.js +4 -4
- package/dist/components/DataTable/TScroll.vue2.js.map +1 -1
- package/dist/components/DataTable/TableComponent.js +1 -2
- package/dist/components/DataTable/TableComponent.js.map +1 -1
- package/dist/components/DataTable/TableComponent.vue2.js +2 -3
- package/dist/components/DataTable/TableComponent.vue2.js.map +1 -1
- package/dist/components/DataTable/TdCell.js +1 -2
- package/dist/components/DataTable/TdCell.js.map +1 -1
- package/dist/components/DataTable/TdCell.vue2.js +2 -3
- package/dist/components/DataTable/TdCell.vue2.js.map +1 -1
- package/dist/components/DataTable/ThCell.js +1 -2
- package/dist/components/DataTable/ThCell.js.map +1 -1
- package/dist/components/DataTable/ThCell.vue2.js +2 -3
- package/dist/components/DataTable/ThCell.vue2.js.map +1 -1
- package/dist/components/DataTable/TrBody.js +1 -2
- package/dist/components/DataTable/TrBody.js.map +1 -1
- package/dist/components/DataTable/TrBody.vue2.js +2 -3
- package/dist/components/DataTable/TrBody.vue2.js.map +1 -1
- package/dist/components/DataTable/TrHead.js +1 -2
- package/dist/components/DataTable/TrHead.js.map +1 -1
- package/dist/components/DataTable/TrHead.vue2.js +2 -3
- package/dist/components/DataTable/TrHead.vue2.js.map +1 -1
- package/dist/components/DataTable/adapters/AsyncData.js +4 -2
- package/dist/components/DataTable/adapters/AsyncData.js.map +1 -1
- package/dist/components/DataTable/adapters/RawData.js +4 -2
- package/dist/components/DataTable/adapters/RawData.js.map +1 -1
- package/dist/components/DataTable/assets/TableIcon.js +2 -3
- package/dist/components/DataTable/assets/TableIcon.js.map +1 -1
- package/dist/components/DataTable/composition/useColumn.js +1 -2
- package/dist/components/DataTable/composition/useColumn.js.map +1 -1
- package/dist/components/DataTable/composition/useMouseUp.js +1 -2
- package/dist/components/DataTable/composition/useMouseUp.js.map +1 -1
- package/dist/components/DataTable/composition/useResize.js +4 -5
- package/dist/components/DataTable/composition/useResize.js.map +1 -1
- package/dist/components/DataTable/composition/useTableColumns.js +2 -3
- package/dist/components/DataTable/composition/useTableColumns.js.map +1 -1
- package/dist/components/DataTable/composition/useTableRows.js +1 -2
- package/dist/components/DataTable/composition/useTableRows.js.map +1 -1
- package/dist/components/DataTable/domain.js +1 -2
- package/dist/components/DataTable/domain.js.map +1 -1
- package/dist/components/DataTable/index.js +4 -5
- package/dist/components/DataTable/index.js.map +1 -1
- package/dist/components/DataTable/keys.js +1 -2
- package/dist/components/DataTable/keys.js.map +1 -1
- package/dist/components/DataTable/state.js +1 -2
- package/dist/components/DataTable/state.js.map +1 -1
- package/dist/components/DropdownListItem.js +1 -2
- package/dist/components/DropdownListItem.js.map +1 -1
- package/dist/components/DropdownListItem.vue.d.ts.map +1 -1
- package/dist/components/DropdownListItem.vue2.js +23 -22
- package/dist/components/DropdownListItem.vue2.js.map +1 -1
- package/dist/components/GridTable/AddColumnBtn.vue.d.ts +4 -0
- package/dist/components/GridTable/AddColumnBtn.vue.d.ts.map +1 -0
- package/dist/components/GridTable/TRow.vue.d.ts +19 -0
- package/dist/components/GridTable/TRow.vue.d.ts.map +1 -0
- package/dist/components/GridTable/TdCell.vue.d.ts +26 -0
- package/dist/components/GridTable/TdCell.vue.d.ts.map +1 -0
- package/dist/components/GridTable/ThCell.vue.d.ts +18 -0
- package/dist/components/GridTable/ThCell.vue.d.ts.map +1 -0
- package/dist/components/GridTable/assets/TableIcon.vue.d.ts +4 -0
- package/dist/components/GridTable/assets/TableIcon.vue.d.ts.map +1 -0
- package/dist/components/GridTable/index.vue.d.ts +46 -0
- package/dist/components/GridTable/index.vue.d.ts.map +1 -0
- package/dist/components/HScroll.js +1 -2
- package/dist/components/HScroll.js.map +1 -1
- package/dist/components/HScroll.vue2.js +2 -3
- package/dist/components/HScroll.vue2.js.map +1 -1
- package/dist/components/InputRange.js +1 -2
- package/dist/components/InputRange.js.map +1 -1
- package/dist/components/InputRange.vue2.js +2 -3
- package/dist/components/InputRange.vue2.js.map +1 -1
- package/dist/components/LongText.js +1 -2
- package/dist/components/LongText.js.map +1 -1
- package/dist/components/LongText.vue2.js +2 -3
- package/dist/components/LongText.vue2.js.map +1 -1
- package/dist/components/PlAccordion/ExpandTransition.js +1 -2
- package/dist/components/PlAccordion/ExpandTransition.js.map +1 -1
- package/dist/components/PlAccordion/ExpandTransition.vue2.js +2 -3
- package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordion.js +1 -2
- package/dist/components/PlAccordion/PlAccordion.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordion.vue2.js +3 -4
- package/dist/components/PlAccordion/PlAccordion.vue2.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordionSection.js +1 -2
- package/dist/components/PlAccordion/PlAccordionSection.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordionSection.style.js +7 -7
- package/dist/components/PlAccordion/PlAccordionSection.style.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordionSection.vue2.js +3 -4
- package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
- package/dist/components/PlAccordion/index.js +3 -2
- package/dist/components/PlAlert/PlAlert.js +1 -2
- package/dist/components/PlAlert/PlAlert.js.map +1 -1
- package/dist/components/PlAlert/PlAlert.vue.d.ts +1 -1
- package/dist/components/PlAlert/PlAlert.vue.d.ts.map +1 -1
- package/dist/components/PlAlert/PlAlert.vue2.js +2 -3
- package/dist/components/PlAlert/PlAlert.vue2.js.map +1 -1
- package/dist/components/PlAlert/index.js +1 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.js +1 -2
- package/dist/components/PlAutocomplete/PlAutocomplete.js.map +1 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.vue2.js +30 -31
- package/dist/components/PlAutocomplete/PlAutocomplete.vue2.js.map +1 -1
- package/dist/components/PlAutocomplete/index.js +1 -1
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.js +1 -2
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.js.map +1 -1
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js +20 -21
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js.map +1 -1
- package/dist/components/PlAutocompleteMulti/index.js +1 -1
- package/dist/components/PlBtnAccent/PlBtnAccent.js +1 -2
- package/dist/components/PlBtnAccent/PlBtnAccent.js.map +1 -1
- package/dist/components/PlBtnAccent/PlBtnAccent.vue2.js +1 -2
- package/dist/components/PlBtnAccent/PlBtnAccent.vue2.js.map +1 -1
- package/dist/components/PlBtnAccent/index.js +1 -1
- package/dist/components/PlBtnDanger/PlBtnDanger.js +1 -2
- package/dist/components/PlBtnDanger/PlBtnDanger.js.map +1 -1
- package/dist/components/PlBtnDanger/PlBtnDanger.vue2.js +1 -2
- package/dist/components/PlBtnDanger/PlBtnDanger.vue2.js.map +1 -1
- package/dist/components/PlBtnDanger/index.js +1 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.js +1 -2
- package/dist/components/PlBtnGhost/PlBtnGhost.js.map +1 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.vue2.js +2 -3
- package/dist/components/PlBtnGhost/PlBtnGhost.vue2.js.map +1 -1
- package/dist/components/PlBtnGhost/index.js +1 -1
- package/dist/components/PlBtnGroup/PlBtnGroup.js +1 -2
- package/dist/components/PlBtnGroup/PlBtnGroup.js.map +1 -1
- package/dist/components/PlBtnGroup/PlBtnGroup.vue2.js +2 -3
- package/dist/components/PlBtnGroup/PlBtnGroup.vue2.js.map +1 -1
- package/dist/components/PlBtnGroup/index.js +1 -1
- package/dist/components/PlBtnLink/PlBtnLink.js +1 -2
- package/dist/components/PlBtnLink/PlBtnLink.js.map +1 -1
- package/dist/components/PlBtnLink/PlBtnLink.vue2.js +2 -3
- package/dist/components/PlBtnLink/PlBtnLink.vue2.js.map +1 -1
- package/dist/components/PlBtnLink/index.js +1 -1
- package/dist/components/PlBtnPrimary/PlBtnPrimary.js +1 -2
- package/dist/components/PlBtnPrimary/PlBtnPrimary.js.map +1 -1
- package/dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js +1 -2
- package/dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js.map +1 -1
- package/dist/components/PlBtnPrimary/index.js +1 -1
- package/dist/components/PlBtnSecondary/PlBtnSecondary.js +1 -2
- package/dist/components/PlBtnSecondary/PlBtnSecondary.js.map +1 -1
- package/dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js +1 -2
- package/dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js.map +1 -1
- package/dist/components/PlBtnSecondary/index.js +1 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.js +1 -2
- package/dist/components/PlBtnSplit/PlBtnSplit.js.map +1 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.vue2.js +19 -17
- package/dist/components/PlBtnSplit/PlBtnSplit.vue2.js.map +1 -1
- package/dist/components/PlBtnSplit/index.js +1 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.js +1 -2
- package/dist/components/PlChartHistogram/PlChartHistogram.js.map +1 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.style.js +5 -5
- package/dist/components/PlChartHistogram/PlChartHistogram.style.js.map +1 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +3 -8
- package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
- package/dist/components/PlChartHistogram/createGridlines.js +1 -2
- package/dist/components/PlChartHistogram/createGridlines.js.map +1 -1
- package/dist/components/PlChartHistogram/createLabels.js +1 -2
- package/dist/components/PlChartHistogram/createLabels.js.map +1 -1
- package/dist/components/PlChartHistogram/createSvgContainer.js +1 -2
- package/dist/components/PlChartHistogram/createSvgContainer.js.map +1 -1
- package/dist/components/PlChartHistogram/drawBins.js +1 -2
- package/dist/components/PlChartHistogram/drawBins.js.map +1 -1
- package/dist/components/PlChartHistogram/drawThreshold.js +1 -2
- package/dist/components/PlChartHistogram/drawThreshold.js.map +1 -1
- package/dist/components/PlChartHistogram/histogram.js +1 -2
- package/dist/components/PlChartHistogram/histogram.js.map +1 -1
- package/dist/components/PlChartHistogram/index.js +1 -1
- package/dist/components/PlChartHistogram/logspace.js +1 -2
- package/dist/components/PlChartHistogram/logspace.js.map +1 -1
- package/dist/components/PlChartHistogram/normalizeBins.js +1 -2
- package/dist/components/PlChartHistogram/normalizeBins.js.map +1 -1
- package/dist/components/PlChartStackedBar/Legends.js +1 -2
- package/dist/components/PlChartStackedBar/Legends.js.map +1 -1
- package/dist/components/PlChartStackedBar/Legends.style.js +8 -8
- package/dist/components/PlChartStackedBar/Legends.style.js.map +1 -1
- package/dist/components/PlChartStackedBar/Legends.vue2.js +2 -3
- package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.js +1 -2
- package/dist/components/PlChartStackedBar/PlChartStackedBar.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.style.js +5 -5
- package/dist/components/PlChartStackedBar/PlChartStackedBar.style.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +2 -3
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.js +1 -2
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.style.js +3 -3
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.style.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js +2 -3
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRow.js +1 -2
- package/dist/components/PlChartStackedBar/StackedRow.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRow.style.js +7 -7
- package/dist/components/PlChartStackedBar/StackedRow.style.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRow.vue2.js +2 -3
- package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.js +1 -2
- package/dist/components/PlChartStackedBar/StackedRowCompact.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.style.js +6 -6
- package/dist/components/PlChartStackedBar/StackedRowCompact.style.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js +2 -3
- package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/index.js +3 -2
- package/dist/components/PlCheckbox/PlCheckbox.js +1 -2
- package/dist/components/PlCheckbox/PlCheckbox.js.map +1 -1
- package/dist/components/PlCheckbox/PlCheckbox.vue2.js +1 -2
- package/dist/components/PlCheckbox/PlCheckbox.vue2.js.map +1 -1
- package/dist/components/PlCheckbox/PlCheckboxBase.js +1 -2
- package/dist/components/PlCheckbox/PlCheckboxBase.js.map +1 -1
- package/dist/components/PlCheckbox/PlCheckboxBase.vue2.js +2 -3
- package/dist/components/PlCheckbox/PlCheckboxBase.vue2.js.map +1 -1
- package/dist/components/PlCheckbox/index.js +1 -1
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.js +1 -2
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.js.map +1 -1
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js +2 -3
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js.map +1 -1
- package/dist/components/PlCheckboxGroup/index.js +1 -1
- package/dist/components/PlChip/PlChip.js +1 -2
- package/dist/components/PlChip/PlChip.js.map +1 -1
- package/dist/components/PlChip/PlChip.vue2.js +2 -3
- package/dist/components/PlChip/PlChip.vue2.js.map +1 -1
- package/dist/components/PlChip/index.js +1 -1
- package/dist/components/PlClipboard/PlClipboard.js +1 -2
- package/dist/components/PlClipboard/PlClipboard.js.map +1 -1
- package/dist/components/PlClipboard/PlClipboard.style.js +3 -3
- package/dist/components/PlClipboard/PlClipboard.style.js.map +1 -1
- package/dist/components/PlClipboard/PlClipboard.vue2.js +1 -2
- package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
- package/dist/components/PlClipboard/index.js +1 -1
- package/dist/components/PlColumnLabel/PlColumnLabel.js +7 -0
- package/dist/components/PlColumnLabel/PlColumnLabel.js.map +1 -0
- package/dist/components/PlColumnLabel/PlColumnLabel.style.css +1 -0
- package/dist/components/PlColumnLabel/PlColumnLabel.style.js +8 -0
- package/dist/components/PlColumnLabel/PlColumnLabel.style.js.map +1 -0
- package/dist/components/PlColumnLabel/PlColumnLabel.vue.d.ts +23 -0
- package/dist/components/PlColumnLabel/PlColumnLabel.vue.d.ts.map +1 -0
- package/dist/components/PlColumnLabel/PlColumnLabel.vue2.js +27 -0
- package/dist/components/PlColumnLabel/PlColumnLabel.vue2.js.map +1 -0
- package/dist/components/PlColumnLabel/index.d.ts +2 -0
- package/dist/components/PlColumnLabel/index.d.ts.map +1 -0
- package/dist/components/PlColumnLabel/index.js +1 -0
- package/dist/components/PlConfirmDialog.js +1 -2
- package/dist/components/PlConfirmDialog.js.map +1 -1
- package/dist/components/PlConfirmDialog.vue2.js +2 -3
- package/dist/components/PlConfirmDialog.vue2.js.map +1 -1
- package/dist/components/PlDialogModal/PlDialogModal.js +1 -2
- package/dist/components/PlDialogModal/PlDialogModal.js.map +1 -1
- package/dist/components/PlDialogModal/PlDialogModal.vue2.js +2 -3
- package/dist/components/PlDialogModal/PlDialogModal.vue2.js.map +1 -1
- package/dist/components/PlDialogModal/index.js +1 -1
- package/dist/components/PlDropdown/OptionList.js +1 -2
- package/dist/components/PlDropdown/OptionList.js.map +1 -1
- package/dist/components/PlDropdown/OptionList.vue2.js +2 -3
- package/dist/components/PlDropdown/OptionList.vue2.js.map +1 -1
- package/dist/components/PlDropdown/PlDropdown.js +1 -2
- package/dist/components/PlDropdown/PlDropdown.js.map +1 -1
- package/dist/components/PlDropdown/PlDropdown.vue.d.ts.map +1 -1
- package/dist/components/PlDropdown/PlDropdown.vue2.js +126 -115
- package/dist/components/PlDropdown/PlDropdown.vue2.js.map +1 -1
- package/dist/components/PlDropdown/index.js +1 -1
- package/dist/components/PlDropdown/useGroupBy.js +1 -2
- package/dist/components/PlDropdown/useGroupBy.js.map +1 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.js +1 -2
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.js.map +1 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js +34 -35
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js.map +1 -1
- package/dist/components/PlDropdownLegacy/index.js +1 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.js +1 -2
- package/dist/components/PlDropdownLine/PlDropdownLine.js.map +1 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.vue2.js +35 -35
- package/dist/components/PlDropdownLine/PlDropdownLine.vue2.js.map +1 -1
- package/dist/components/PlDropdownLine/ResizableInput.js +1 -2
- package/dist/components/PlDropdownLine/ResizableInput.js.map +1 -1
- package/dist/components/PlDropdownLine/ResizableInput.vue2.js +2 -3
- package/dist/components/PlDropdownLine/ResizableInput.vue2.js.map +1 -1
- package/dist/components/PlDropdownLine/index.js +1 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.js +1 -2
- package/dist/components/PlDropdownMulti/PlDropdownMulti.js.map +1 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js +14 -15
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js.map +1 -1
- package/dist/components/PlDropdownMulti/index.js +1 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.js +1 -2
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.js.map +1 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts +1 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js +2 -3
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js.map +1 -1
- package/dist/components/PlDropdownMultiRef/index.js +1 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.js +1 -2
- package/dist/components/PlDropdownRef/PlDropdownRef.js.map +1 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.vue2.js +1 -2
- package/dist/components/PlDropdownRef/PlDropdownRef.vue2.js.map +1 -1
- package/dist/components/PlDropdownRef/index.js +1 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.js +1 -2
- package/dist/components/PlEditableTitle/PlEditableTitle.js.map +1 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.vue2.js +3 -4
- package/dist/components/PlEditableTitle/PlEditableTitle.vue2.js.map +1 -1
- package/dist/components/PlEditableTitle/index.js +1 -1
- package/dist/components/PlEditableTitle/pl-editable-title.module.js +6 -6
- package/dist/components/PlEditableTitle/pl-editable-title.module.js.map +1 -1
- package/dist/components/PlElementList/PlElementList.js +1 -2
- package/dist/components/PlElementList/PlElementList.js.map +1 -1
- package/dist/components/PlElementList/PlElementList.style.js +6 -6
- package/dist/components/PlElementList/PlElementList.style.js.map +1 -1
- package/dist/components/PlElementList/PlElementList.vue2.js +4 -5
- package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.js +1 -2
- package/dist/components/PlElementList/PlElementListItem.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.style.js +20 -20
- package/dist/components/PlElementList/PlElementListItem.style.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.vue2.js +9 -10
- package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
- package/dist/components/PlElementList/index.js +1 -1
- package/dist/components/PlElementList/utils.js +1 -2
- package/dist/components/PlElementList/utils.js.map +1 -1
- package/dist/components/PlErrorAlert/PlErrorAlert.js +1 -2
- package/dist/components/PlErrorAlert/PlErrorAlert.js.map +1 -1
- package/dist/components/PlErrorAlert/PlErrorAlert.style.js +9 -9
- package/dist/components/PlErrorAlert/PlErrorAlert.style.js.map +1 -1
- package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js +1 -2
- package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
- package/dist/components/PlErrorAlert/index.js +1 -1
- package/dist/components/PlErrorBoundary/PlErrorBoundary.js +1 -2
- package/dist/components/PlErrorBoundary/PlErrorBoundary.js.map +1 -1
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js +2 -3
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js.map +1 -1
- package/dist/components/PlErrorBoundary/index.js +1 -1
- package/dist/components/PlFileDialog/Local.js +1 -2
- package/dist/components/PlFileDialog/Local.js.map +1 -1
- package/dist/components/PlFileDialog/Local.vue2.js +3 -4
- package/dist/components/PlFileDialog/Local.vue2.js.map +1 -1
- package/dist/components/PlFileDialog/PlFileDialog.js +1 -2
- package/dist/components/PlFileDialog/PlFileDialog.js.map +1 -1
- package/dist/components/PlFileDialog/PlFileDialog.vue2.js +2 -3
- package/dist/components/PlFileDialog/PlFileDialog.vue2.js.map +1 -1
- package/dist/components/PlFileDialog/Remote.js +1 -2
- package/dist/components/PlFileDialog/Remote.js.map +1 -1
- package/dist/components/PlFileDialog/Remote.vue2.js +6 -11
- package/dist/components/PlFileDialog/Remote.vue2.js.map +1 -1
- package/dist/components/PlFileDialog/Shortcuts.js +1 -2
- package/dist/components/PlFileDialog/Shortcuts.js.map +1 -1
- package/dist/components/PlFileDialog/Shortcuts.style.js +7 -7
- package/dist/components/PlFileDialog/Shortcuts.style.js.map +1 -1
- package/dist/components/PlFileDialog/Shortcuts.vue2.js +2 -3
- package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
- package/dist/components/PlFileDialog/index.js +1 -1
- package/dist/components/PlFileDialog/pl-file-dialog.module.js +16 -16
- package/dist/components/PlFileDialog/pl-file-dialog.module.js.map +1 -1
- package/dist/components/PlFileDialog/remote-helpers.js +1 -2
- package/dist/components/PlFileDialog/remote-helpers.js.map +1 -1
- package/dist/components/PlFileDialog/utils.js +1 -2
- package/dist/components/PlFileDialog/utils.js.map +1 -1
- package/dist/components/PlFileInput/PlFileInput.js +1 -2
- package/dist/components/PlFileInput/PlFileInput.js.map +1 -1
- package/dist/components/PlFileInput/PlFileInput.vue2.js +12 -13
- package/dist/components/PlFileInput/PlFileInput.vue2.js.map +1 -1
- package/dist/components/PlFileInput/index.js +1 -1
- package/dist/components/PlIcon16/PlIcon16.js +1 -2
- package/dist/components/PlIcon16/PlIcon16.js.map +1 -1
- package/dist/components/PlIcon16/PlIcon16.style.js +3 -3
- package/dist/components/PlIcon16/PlIcon16.style.js.map +1 -1
- package/dist/components/PlIcon16/PlIcon16.vue2.js +2 -3
- package/dist/components/PlIcon16/PlIcon16.vue2.js.map +1 -1
- package/dist/components/PlIcon16/index.js +1 -1
- package/dist/components/PlIcon24/PlIcon24.js +1 -2
- package/dist/components/PlIcon24/PlIcon24.js.map +1 -1
- package/dist/components/PlIcon24/PlIcon24.style.js +3 -3
- package/dist/components/PlIcon24/PlIcon24.style.js.map +1 -1
- package/dist/components/PlIcon24/PlIcon24.vue2.js +2 -3
- package/dist/components/PlIcon24/PlIcon24.vue2.js.map +1 -1
- package/dist/components/PlIcon24/index.js +1 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.js +1 -2
- package/dist/components/PlLoaderCircular/PlLoaderCircular.js.map +1 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js +2 -3
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js.map +1 -1
- package/dist/components/PlLoaderCircular/index.js +1 -1
- package/dist/components/PlLoaderLogo.js +1 -2
- package/dist/components/PlLoaderLogo.js.map +1 -1
- package/dist/components/PlLoaderLogo.style.js +5 -5
- package/dist/components/PlLoaderLogo.style.js.map +1 -1
- package/dist/components/PlLoaderLogo.vue2.js +2 -3
- package/dist/components/PlLoaderLogo.vue2.js.map +1 -1
- package/dist/components/PlLogView/PlLogView.js +1 -2
- package/dist/components/PlLogView/PlLogView.js.map +1 -1
- package/dist/components/PlLogView/PlLogView.vue2.js +2 -3
- package/dist/components/PlLogView/PlLogView.vue2.js.map +1 -1
- package/dist/components/PlLogView/index.js +1 -1
- package/dist/components/PlLogView/useLogHandle.js +3 -7
- package/dist/components/PlLogView/useLogHandle.js.map +1 -1
- package/dist/components/PlMaskIcon16/index.js +1 -1
- package/dist/components/PlMaskIcon24/index.js +1 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.js +1 -2
- package/dist/components/PlNotificationAlert/PlNotificationAlert.js.map +1 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js +3 -4
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js.map +1 -1
- package/dist/components/PlNotificationAlert/index.js +1 -1
- package/dist/components/PlNumberField/PlNumberField.js +1 -2
- package/dist/components/PlNumberField/PlNumberField.js.map +1 -1
- package/dist/components/PlNumberField/PlNumberField.vue2.js +10 -15
- package/dist/components/PlNumberField/PlNumberField.vue2.js.map +1 -1
- package/dist/components/PlNumberField/index.js +1 -1
- package/dist/components/PlNumberField/parseNumber.js +1 -2
- package/dist/components/PlNumberField/parseNumber.js.map +1 -1
- package/dist/components/PlProgressBar/PlProgressBar.js +1 -2
- package/dist/components/PlProgressBar/PlProgressBar.js.map +1 -1
- package/dist/components/PlProgressBar/PlProgressBar.vue2.js +2 -3
- package/dist/components/PlProgressBar/PlProgressBar.vue2.js.map +1 -1
- package/dist/components/PlProgressBar/index.js +1 -1
- package/dist/components/PlProgressCell/PlProgressCell.js +1 -2
- package/dist/components/PlProgressCell/PlProgressCell.js.map +1 -1
- package/dist/components/PlProgressCell/PlProgressCell.vue2.js +2 -3
- package/dist/components/PlProgressCell/PlProgressCell.vue2.js.map +1 -1
- package/dist/components/PlProgressCell/index.js +1 -1
- package/dist/components/PlRadio/PlRadio.js +1 -2
- package/dist/components/PlRadio/PlRadio.js.map +1 -1
- package/dist/components/PlRadio/PlRadio.style.js +6 -6
- package/dist/components/PlRadio/PlRadio.style.js.map +1 -1
- package/dist/components/PlRadio/PlRadio.vue2.js +3 -4
- package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
- package/dist/components/PlRadio/PlRadioGroup.js +1 -2
- package/dist/components/PlRadio/PlRadioGroup.js.map +1 -1
- package/dist/components/PlRadio/PlRadioGroup.style.js +5 -5
- package/dist/components/PlRadio/PlRadioGroup.style.js.map +1 -1
- package/dist/components/PlRadio/PlRadioGroup.vue2.js +3 -4
- package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
- package/dist/components/PlRadio/index.js +3 -2
- package/dist/components/PlRadio/keys.js +1 -2
- package/dist/components/PlRadio/keys.js.map +1 -1
- package/dist/components/PlSearchField/PlSearchField.js +1 -2
- package/dist/components/PlSearchField/PlSearchField.js.map +1 -1
- package/dist/components/PlSearchField/PlSearchField.style.js +5 -5
- package/dist/components/PlSearchField/PlSearchField.style.js.map +1 -1
- package/dist/components/PlSearchField/PlSearchField.vue2.js +10 -11
- package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
- package/dist/components/PlSearchField/index.js +1 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.js +1 -2
- package/dist/components/PlSectionSeparator/PlSectionSeparator.js.map +1 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.style.js +5 -5
- package/dist/components/PlSectionSeparator/PlSectionSeparator.style.js.map +1 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js +2 -3
- package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
- package/dist/components/PlSectionSeparator/index.js +1 -1
- package/dist/components/PlSidebar/PlSidebarGroup.js +1 -2
- package/dist/components/PlSidebar/PlSidebarGroup.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarGroup.style.js +5 -5
- package/dist/components/PlSidebar/PlSidebarGroup.style.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarGroup.vue2.js +2 -3
- package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarItem.js +1 -2
- package/dist/components/PlSidebar/PlSidebarItem.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarItem.style.js +8 -8
- package/dist/components/PlSidebar/PlSidebarItem.style.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarItem.vue2.js +2 -3
- package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
- package/dist/components/PlSidebar/index.js +3 -2
- package/dist/components/PlSlideModal/PlPureSlideModal.js +1 -2
- package/dist/components/PlSlideModal/PlPureSlideModal.js.map +1 -1
- package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js +2 -3
- package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.js +1 -2
- package/dist/components/PlSlideModal/PlSlideModal.js.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.style.js +3 -3
- package/dist/components/PlSlideModal/PlSlideModal.style.js.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue2.js +3 -4
- package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
- package/dist/components/PlSlideModal/index.js +3 -2
- package/dist/components/PlSlideModal/props.js +1 -2
- package/dist/components/PlSlideModal/props.js.map +1 -1
- package/dist/components/PlSplash/PlSplash.js +1 -2
- package/dist/components/PlSplash/PlSplash.js.map +1 -1
- package/dist/components/PlSplash/PlSplash.vue2.js +2 -3
- package/dist/components/PlSplash/PlSplash.vue2.js.map +1 -1
- package/dist/components/PlSplash/index.js +1 -1
- package/dist/components/PlSplash/pl-splash.module.js +8 -8
- package/dist/components/PlSplash/pl-splash.module.js.map +1 -1
- package/dist/components/PlStatusTag/PlStatusTag.js +1 -2
- package/dist/components/PlStatusTag/PlStatusTag.js.map +1 -1
- package/dist/components/PlStatusTag/PlStatusTag.vue2.js +2 -3
- package/dist/components/PlStatusTag/PlStatusTag.vue2.js.map +1 -1
- package/dist/components/PlStatusTag/index.js +1 -1
- package/dist/components/PlSvg/PlSvg.js +1 -2
- package/dist/components/PlSvg/PlSvg.js.map +1 -1
- package/dist/components/PlSvg/PlSvg.style.js +3 -3
- package/dist/components/PlSvg/PlSvg.style.js.map +1 -1
- package/dist/components/PlSvg/PlSvg.vue2.js +3 -4
- package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
- package/dist/components/PlSvg/index.js +1 -1
- package/dist/components/PlSvg/registry.js +1 -2
- package/dist/components/PlSvg/registry.js.map +1 -1
- package/dist/components/PlTabs/PlTabs.js +1 -2
- package/dist/components/PlTabs/PlTabs.js.map +1 -1
- package/dist/components/PlTabs/PlTabs.vue2.js +2 -3
- package/dist/components/PlTabs/PlTabs.vue2.js.map +1 -1
- package/dist/components/PlTabs/Tab.js +1 -2
- package/dist/components/PlTabs/Tab.js.map +1 -1
- package/dist/components/PlTabs/Tab.vue2.js +2 -3
- package/dist/components/PlTabs/Tab.vue2.js.map +1 -1
- package/dist/components/PlTabs/index.js +1 -1
- package/dist/components/PlTabs/pl-tabs.module.js +8 -8
- package/dist/components/PlTabs/pl-tabs.module.js.map +1 -1
- package/dist/components/PlTextArea/PlTextArea.js +1 -2
- package/dist/components/PlTextArea/PlTextArea.js.map +1 -1
- package/dist/components/PlTextArea/PlTextArea.vue2.js +13 -14
- package/dist/components/PlTextArea/PlTextArea.vue2.js.map +1 -1
- package/dist/components/PlTextArea/index.js +1 -1
- package/dist/components/PlTextField/PlTextField.js +1 -2
- package/dist/components/PlTextField/PlTextField.js.map +1 -1
- package/dist/components/PlTextField/PlTextField.vue2.js +19 -20
- package/dist/components/PlTextField/PlTextField.vue2.js.map +1 -1
- package/dist/components/PlTextField/index.js +1 -1
- package/dist/components/PlToggleSwitch/PlToggleSwitch.js +1 -2
- package/dist/components/PlToggleSwitch/PlToggleSwitch.js.map +1 -1
- package/dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js +2 -3
- package/dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js.map +1 -1
- package/dist/components/PlToggleSwitch/index.js +1 -1
- package/dist/components/PlTooltip/PlTooltip.js +1 -2
- package/dist/components/PlTooltip/PlTooltip.js.map +1 -1
- package/dist/components/PlTooltip/PlTooltip.style.js +13 -13
- package/dist/components/PlTooltip/PlTooltip.style.js.map +1 -1
- package/dist/components/PlTooltip/PlTooltip.vue2.js +2 -3
- package/dist/components/PlTooltip/PlTooltip.vue2.js.map +1 -1
- package/dist/components/PlTooltip/global.js +1 -2
- package/dist/components/PlTooltip/global.js.map +1 -1
- package/dist/components/PlTooltip/index.js +1 -1
- package/dist/components/Scrollable.js +1 -2
- package/dist/components/Scrollable.js.map +1 -1
- package/dist/components/Scrollable.vue2.js +2 -3
- package/dist/components/Scrollable.vue2.js.map +1 -1
- package/dist/components/Slider.js +1 -2
- package/dist/components/Slider.js.map +1 -1
- package/dist/components/Slider.vue2.js +25 -26
- package/dist/components/Slider.vue2.js.map +1 -1
- package/dist/components/SliderRange.js +1 -2
- package/dist/components/SliderRange.js.map +1 -1
- package/dist/components/SliderRange.vue2.js +56 -57
- package/dist/components/SliderRange.vue2.js.map +1 -1
- package/dist/components/SliderRangeTriple.js +1 -2
- package/dist/components/SliderRangeTriple.js.map +1 -1
- package/dist/components/SliderRangeTriple.vue2.js +46 -47
- package/dist/components/SliderRangeTriple.vue2.js.map +1 -1
- package/dist/components/TabItem.js +1 -2
- package/dist/components/TabItem.js.map +1 -1
- package/dist/components/TabItem.vue2.js +2 -3
- package/dist/components/TabItem.vue2.js.map +1 -1
- package/dist/components/ThemeSwitcher.js +1 -2
- package/dist/components/ThemeSwitcher.js.map +1 -1
- package/dist/components/ThemeSwitcher.vue2.js +2 -3
- package/dist/components/ThemeSwitcher.vue2.js.map +1 -1
- package/dist/components/TransitionSlidePanel.js +1 -2
- package/dist/components/TransitionSlidePanel.js.map +1 -1
- package/dist/components/TransitionSlidePanel.vue2.js +2 -3
- package/dist/components/TransitionSlidePanel.vue2.js.map +1 -1
- package/dist/components/VScroll.js +1 -2
- package/dist/components/VScroll.js.map +1 -1
- package/dist/components/VScroll.vue2.js +2 -3
- package/dist/components/VScroll.vue2.js.map +1 -1
- package/dist/components/contextMenu/Menu.js +2 -3
- package/dist/components/contextMenu/Menu.js.map +1 -1
- package/dist/components/contextMenu/Menu.vue2.js +2 -3
- package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
- package/dist/components/contextMenu/index.js +1 -2
- package/dist/components/contextMenu/index.js.map +1 -1
- package/dist/composition/computedCached.js +2 -7
- package/dist/composition/computedCached.js.map +1 -1
- package/dist/composition/filters/metadata.js +1 -2
- package/dist/composition/filters/metadata.js.map +1 -1
- package/dist/composition/useClickOutside.js +1 -2
- package/dist/composition/useClickOutside.js.map +1 -1
- package/dist/composition/useComponentProp.js +1 -2
- package/dist/composition/useComponentProp.js.map +1 -1
- package/dist/composition/useConfirm.js +1 -2
- package/dist/composition/useConfirm.js.map +1 -1
- package/dist/composition/useDraggable.js +1 -2
- package/dist/composition/useDraggable.js.map +1 -1
- package/dist/composition/useEventListener.js +1 -2
- package/dist/composition/useEventListener.js.map +1 -1
- package/dist/composition/useFilteredList.js +1 -2
- package/dist/composition/useFilteredList.js.map +1 -1
- package/dist/composition/useFormState.js +1 -2
- package/dist/composition/useFormState.js.map +1 -1
- package/dist/composition/useHover.js +2 -3
- package/dist/composition/useHover.js.map +1 -1
- package/dist/composition/useInterval.js +1 -2
- package/dist/composition/useInterval.js.map +1 -1
- package/dist/composition/useLocalStorage.js +1 -2
- package/dist/composition/useLocalStorage.js.map +1 -1
- package/dist/composition/useMouse.js +1 -2
- package/dist/composition/useMouse.js.map +1 -1
- package/dist/composition/useMouseCapture.js +1 -2
- package/dist/composition/useMouseCapture.js.map +1 -1
- package/dist/composition/usePollingQuery.js +82 -86
- package/dist/composition/usePollingQuery.js.map +1 -1
- package/dist/composition/usePosition.js +1 -2
- package/dist/composition/usePosition.js.map +1 -1
- package/dist/composition/useQuery.js +1 -2
- package/dist/composition/useQuery.js.map +1 -1
- package/dist/composition/useResizeObserver.js +1 -2
- package/dist/composition/useResizeObserver.js.map +1 -1
- package/dist/composition/useRipple.js +1 -2
- package/dist/composition/useRipple.js.map +1 -1
- package/dist/composition/useScroll.js +1 -2
- package/dist/composition/useScroll.js.map +1 -1
- package/dist/composition/useSliderBreakpoints.js +1 -2
- package/dist/composition/useSliderBreakpoints.js.map +1 -1
- package/dist/composition/useSortable.js +3 -4
- package/dist/composition/useSortable.js.map +1 -1
- package/dist/composition/useSortable2.js +3 -4
- package/dist/composition/useSortable2.js.map +1 -1
- package/dist/composition/useTheme.js +7 -8
- package/dist/composition/useTheme.js.map +1 -1
- package/dist/composition/useTransformedModel.js +16 -17
- package/dist/composition/useTransformedModel.js.map +1 -1
- package/dist/composition/useWatchFetch.js +2 -3
- package/dist/composition/useWatchFetch.js.map +1 -1
- package/dist/composition/utils.js +1 -2
- package/dist/composition/utils.js.map +1 -1
- package/dist/composition/watchCached.js +1 -2
- package/dist/composition/watchCached.js.map +1 -1
- package/dist/demo-site-data/all-css-variables.js +1 -2
- package/dist/demo-site-data/all-css-variables.js.map +1 -1
- package/dist/drafts/FileBaseInput.vue.d.ts +36 -0
- package/dist/drafts/FileBaseInput.vue.d.ts.map +1 -0
- package/dist/generated/icons-16.js +1 -2
- package/dist/generated/icons-16.js.map +1 -1
- package/dist/generated/icons-24.js +1 -2
- package/dist/generated/icons-24.js.map +1 -1
- package/dist/global/resizeObserver.js +1 -2
- package/dist/global/resizeObserver.js.map +1 -1
- package/dist/helpers/dom.js +12 -12
- package/dist/helpers/dom.js.map +1 -1
- package/dist/helpers/downloadContent.js +1 -2
- package/dist/helpers/downloadContent.js.map +1 -1
- package/dist/helpers/error.js +1 -2
- package/dist/helpers/error.js.map +1 -1
- package/dist/helpers/functions.js +1 -2
- package/dist/helpers/functions.js.map +1 -1
- package/dist/helpers/index.js +1 -2
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/iterators.js +1 -2
- package/dist/helpers/iterators.js.map +1 -1
- package/dist/helpers/math.js +1 -2
- package/dist/helpers/math.js.map +1 -1
- package/dist/helpers/objects.js +3 -4
- package/dist/helpers/objects.js.map +1 -1
- package/dist/helpers/utils.d.ts.map +1 -1
- package/dist/helpers/utils.js +10 -5
- package/dist/helpers/utils.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +104 -103
- package/dist/index.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.js +1 -2
- package/dist/layout/PlBlockPage/PlBlockPage.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.style.js +6 -6
- package/dist/layout/PlBlockPage/PlBlockPage.style.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.vue2.js +3 -4
- package/dist/layout/PlBlockPage/PlBlockPage.vue2.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.js +1 -2
- package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.js.map +1 -1
- package/dist/layout/PlBlockPage/index.js +3 -2
- package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.js +1 -2
- package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.js.map +1 -1
- package/dist/layout/PlContainer/PlContainer.js +1 -2
- package/dist/layout/PlContainer/PlContainer.js.map +1 -1
- package/dist/layout/PlContainer/PlContainer.vue2.js +1 -2
- package/dist/layout/PlContainer/PlContainer.vue2.js.map +1 -1
- package/dist/layout/PlContainer/index.js +1 -1
- package/dist/layout/PlGrid/PlGrid.js +1 -2
- package/dist/layout/PlGrid/PlGrid.js.map +1 -1
- package/dist/layout/PlGrid/PlGrid.vue2.js +1 -2
- package/dist/layout/PlGrid/PlGrid.vue2.js.map +1 -1
- package/dist/layout/PlGrid/index.js +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.js +1 -2
- package/dist/layout/PlPlaceholder/PlPlaceholder.js.map +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.style.js +12 -12
- package/dist/layout/PlPlaceholder/PlPlaceholder.style.js.map +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js +2 -3
- package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js.map +1 -1
- package/dist/layout/PlPlaceholder/index.js +4 -5
- package/dist/layout/PlPlaceholder/index.js.map +1 -1
- package/dist/layout/PlPlaceholder/paint-worklet.js +1 -2
- package/dist/layout/PlPlaceholder/paint-worklet.js.map +1 -1
- package/dist/layout/PlRow/PlRow.js +1 -2
- package/dist/layout/PlRow/PlRow.js.map +1 -1
- package/dist/layout/PlRow/PlRow.vue2.js +1 -2
- package/dist/layout/PlRow/PlRow.vue2.js.map +1 -1
- package/dist/layout/PlRow/index.js +1 -1
- package/dist/layout/PlSpacer/PlSpacer.js +1 -2
- package/dist/layout/PlSpacer/PlSpacer.js.map +1 -1
- package/dist/layout/PlSpacer/PlSpacer.vue2.js +2 -3
- package/dist/layout/PlSpacer/PlSpacer.vue2.js.map +1 -1
- package/dist/layout/PlSpacer/index.js +1 -1
- package/dist/utils/DoubleContour.js +1 -2
- package/dist/utils/DoubleContour.js.map +1 -1
- package/dist/utils/DoubleContour.vue2.js +1 -2
- package/dist/utils/DoubleContour.vue2.js.map +1 -1
- package/dist/utils/DropdownOverlay/DropdownOverlay.js +1 -2
- package/dist/utils/DropdownOverlay/DropdownOverlay.js.map +1 -1
- package/dist/utils/DropdownOverlay/DropdownOverlay.vue2.js +9 -5
- package/dist/utils/DropdownOverlay/DropdownOverlay.vue2.js.map +1 -1
- package/dist/utils/DropdownOverlay/index.js +1 -1
- package/dist/utils/InnerBorder.js +2 -3
- package/dist/utils/InnerBorder.js.map +1 -1
- package/dist/utils/InnerBorder.vue2.js +1 -2
- package/dist/utils/InnerBorder.vue2.js.map +1 -1
- package/dist/utils/PlCloseModalBtn.js +2 -3
- package/dist/utils/PlCloseModalBtn.js.map +1 -1
- package/dist/utils/PlCloseModalBtn.style.js +3 -3
- package/dist/utils/PlCloseModalBtn.style.js.map +1 -1
- package/dist/utils/TextLabel.js +2 -3
- package/dist/utils/TextLabel.js.map +1 -1
- package/dist/utils/TextLabel.style.js +6 -6
- package/dist/utils/TextLabel.style.js.map +1 -1
- package/dist/utils/useLabelNotch.js +7 -8
- package/dist/utils/useLabelNotch.js.map +1 -1
- package/dist/utils/useValidation.js +2 -3
- package/dist/utils/useValidation.js.map +1 -1
- package/package.json +18 -13
- package/src/components/DropdownListItem.vue +2 -1
- package/src/components/PlColumnLabel/PlColumnLabel.vue +46 -0
- package/src/components/PlColumnLabel/index.ts +1 -0
- package/src/components/PlDropdown/PlDropdown.vue +13 -10
- package/src/components/PlLogView/PlLogView.vue +1 -1
- package/src/helpers/utils.ts +1 -0
- package/src/index.ts +1 -0
- /package/dist/components/PlAccordion/{PlAccordionSection.vue.css → PlAccordionSection.style.css} +0 -0
- /package/dist/components/PlChartHistogram/{PlChartHistogram.vue.css → PlChartHistogram.style.css} +0 -0
- /package/dist/components/PlChartStackedBar/{Legends.vue.css → Legends.style.css} +0 -0
- /package/dist/components/PlChartStackedBar/{PlChartStackedBar.vue.css → PlChartStackedBar.style.css} +0 -0
- /package/dist/components/PlChartStackedBar/{PlChartStackedBarCompact.vue.css → PlChartStackedBarCompact.style.css} +0 -0
- /package/dist/components/PlChartStackedBar/{StackedRow.vue.css → StackedRow.style.css} +0 -0
- /package/dist/components/PlChartStackedBar/{StackedRowCompact.vue.css → StackedRowCompact.style.css} +0 -0
- /package/dist/components/PlClipboard/{PlClipboard.vue.css → PlClipboard.style.css} +0 -0
- /package/dist/components/PlElementList/{PlElementList.vue.css → PlElementList.style.css} +0 -0
- /package/dist/components/PlElementList/{PlElementListItem.vue.css → PlElementListItem.style.css} +0 -0
- /package/dist/components/PlErrorAlert/{PlErrorAlert.vue.css → PlErrorAlert.style.css} +0 -0
- /package/dist/components/PlFileDialog/{Shortcuts.vue.css → Shortcuts.style.css} +0 -0
- /package/dist/components/PlIcon16/{PlIcon16.vue.css → PlIcon16.style.css} +0 -0
- /package/dist/components/PlIcon24/{PlIcon24.vue.css → PlIcon24.style.css} +0 -0
- /package/dist/components/{PlLoaderLogo.vue.css → PlLoaderLogo.style.css} +0 -0
- /package/dist/components/PlRadio/{PlRadio.vue.css → PlRadio.style.css} +0 -0
- /package/dist/components/PlRadio/{PlRadioGroup.vue.css → PlRadioGroup.style.css} +0 -0
- /package/dist/components/PlSearchField/{PlSearchField.vue.css → PlSearchField.style.css} +0 -0
- /package/dist/components/PlSectionSeparator/{PlSectionSeparator.vue.css → PlSectionSeparator.style.css} +0 -0
- /package/dist/components/PlSidebar/{PlSidebarGroup.vue.css → PlSidebarGroup.style.css} +0 -0
- /package/dist/components/PlSidebar/{PlSidebarItem.vue.css → PlSidebarItem.style.css} +0 -0
- /package/dist/components/PlSlideModal/{PlSlideModal.vue.css → PlSlideModal.style.css} +0 -0
- /package/dist/components/PlSvg/{PlSvg.vue.css → PlSvg.style.css} +0 -0
- /package/dist/components/PlTooltip/{PlTooltip.vue.css → PlTooltip.style.css} +0 -0
- /package/dist/layout/PlBlockPage/{PlBlockPage.vue.css → PlBlockPage.style.css} +0 -0
- /package/dist/layout/PlPlaceholder/{PlPlaceholder.vue.css → PlPlaceholder.style.css} +0 -0
- /package/dist/utils/{PlCloseModalBtn.vue.css → PlCloseModalBtn.style.css} +0 -0
- /package/dist/utils/{TextLabel.vue.css → TextLabel.style.css} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlEditableTitle.js","names":[],"sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from \"../../composition/useTransformedModel\";\nimport style from \"./pl-editable-title.module.scss\";\nimport { computed, onMounted, ref } from \"vue\";\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n /**\n * A function that validates the input value.\n * @example\n * ```ts\n * validate: (v: string) => {\n * if (v.length < 3) {\n * throw Error('Title must be at least 3 characters');\n * }\n * }\n * ```\n */\n validate?: (v: string) => unknown;\n }>(),\n {\n placeholder: \"Title\",\n maxWidth: \"80%\",\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n validate: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== \"string\") {\n throw Error(\"value should be a string\");\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n if (typeof props.validate === \"function\") {\n props.validate(v);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? \"80%\",\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n</script>\n\n<template>\n <div\n class=\"pl-editable-title\"\n :class=\"style.component\"\n :style=\"computedStyle\"\n data-testid=\"pl-editable-title\"\n >\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\" data-testid=\"pl-editable-title-prefix\">{{ prefix.trim() }} </span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n data-testid=\"pl-editable-title-input\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\" data-testid=\"pl-editable-title-error\">\n {{ local.error }}\n </div>\n </div>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"PlEditableTitle.js","names":["_sfc_main","PlEditableTitle_vue_vue_type_script_setup_true_lang_default","PlEditableTitle_default"],"sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from \"../../composition/useTransformedModel\";\nimport style from \"./pl-editable-title.module.scss\";\nimport { computed, onMounted, ref } from \"vue\";\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n /**\n * A function that validates the input value.\n * @example\n * ```ts\n * validate: (v: string) => {\n * if (v.length < 3) {\n * throw Error('Title must be at least 3 characters');\n * }\n * }\n * ```\n */\n validate?: (v: string) => unknown;\n }>(),\n {\n placeholder: \"Title\",\n maxWidth: \"80%\",\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n validate: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== \"string\") {\n throw Error(\"value should be a string\");\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n if (typeof props.validate === \"function\") {\n props.validate(v);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? \"80%\",\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n</script>\n\n<template>\n <div\n class=\"pl-editable-title\"\n :class=\"style.component\"\n :style=\"computedStyle\"\n data-testid=\"pl-editable-title\"\n >\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\" data-testid=\"pl-editable-title-prefix\">{{ prefix.trim() }} </span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n data-testid=\"pl-editable-title-input\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\" data-testid=\"pl-editable-title-error\">\n {{ local.error }}\n </div>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { useTransformedModel as e } from "../../composition/useTransformedModel.js";
|
|
2
2
|
import t from "./pl-editable-title.module.js";
|
|
3
3
|
import { computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, defineComponent as o, mergeModels as s, normalizeClass as c, normalizeStyle as l, onMounted as u, openBlock as d, ref as f, toDisplayString as p, unref as m, useModel as h, vModelText as g, withDirectives as _, withKeys as v } from "vue";
|
|
4
|
-
|
|
4
|
+
// src/components/PlEditableTitle/PlEditableTitle.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var y = {
|
|
6
6
|
key: 0,
|
|
7
7
|
"data-testid": "pl-editable-title-prefix"
|
|
8
|
-
}, b = ["placeholder"], x =
|
|
8
|
+
}, b = ["placeholder"], x = /*@__PURE__*/ o({
|
|
9
9
|
__name: "PlEditableTitle",
|
|
10
|
-
props:
|
|
10
|
+
props: /*@__PURE__*/ s({
|
|
11
11
|
placeholder: { default: "Title" },
|
|
12
12
|
maxWidth: { default: "80%" },
|
|
13
13
|
prefix: { default: void 0 },
|
|
@@ -61,7 +61,6 @@ var y = {
|
|
|
61
61
|
}, p(m(S).error), 3)) : r("", !0)], 6));
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
|
-
//#endregion
|
|
65
64
|
export { x as default };
|
|
66
65
|
|
|
67
66
|
//# sourceMappingURL=PlEditableTitle.vue2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlEditableTitle.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from \"../../composition/useTransformedModel\";\nimport style from \"./pl-editable-title.module.scss\";\nimport { computed, onMounted, ref } from \"vue\";\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n /**\n * A function that validates the input value.\n * @example\n * ```ts\n * validate: (v: string) => {\n * if (v.length < 3) {\n * throw Error('Title must be at least 3 characters');\n * }\n * }\n * ```\n */\n validate?: (v: string) => unknown;\n }>(),\n {\n placeholder: \"Title\",\n maxWidth: \"80%\",\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n validate: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== \"string\") {\n throw Error(\"value should be a string\");\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n if (typeof props.validate === \"function\") {\n props.validate(v);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? \"80%\",\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n</script>\n\n<template>\n <div\n class=\"pl-editable-title\"\n :class=\"style.component\"\n :style=\"computedStyle\"\n data-testid=\"pl-editable-title\"\n >\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\" data-testid=\"pl-editable-title-prefix\">{{ prefix.trim() }} </span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n data-testid=\"pl-editable-title-input\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\" data-testid=\"pl-editable-title-error\">\n {{ local.error }}\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAKA,
|
|
1
|
+
{"version":3,"file":"PlEditableTitle.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_normalizeClass","_unref","style","_normalizeStyle","_createElementVNode","_toDisplayString","_createCommentVNode","_withDirectives","_withKeys","_vModelText","pl_editable_title_module_default","_hoisted_1","_hoisted_2","PlEditableTitle_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","model","useModel","__props","props","local","useTransformedModel","v","inputRef","ref","computedStyle","computed","save","onMounted","openBlock","createElementBlock","normalizeClass","unref","normalizeStyle","createElementVNode","_cache","toDisplayString","createCommentVNode","withDirectives","$event","withKeys","args","ev","vModelText"],"sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from \"../../composition/useTransformedModel\";\nimport style from \"./pl-editable-title.module.scss\";\nimport { computed, onMounted, ref } from \"vue\";\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n /**\n * A function that validates the input value.\n * @example\n * ```ts\n * validate: (v: string) => {\n * if (v.length < 3) {\n * throw Error('Title must be at least 3 characters');\n * }\n * }\n * ```\n */\n validate?: (v: string) => unknown;\n }>(),\n {\n placeholder: \"Title\",\n maxWidth: \"80%\",\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n validate: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== \"string\") {\n throw Error(\"value should be a string\");\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n if (typeof props.validate === \"function\") {\n props.validate(v);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? \"80%\",\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n</script>\n\n<template>\n <div\n class=\"pl-editable-title\"\n :class=\"style.component\"\n :style=\"computedStyle\"\n data-testid=\"pl-editable-title\"\n >\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\" data-testid=\"pl-editable-title-prefix\">{{ prefix.trim() }} </span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n data-testid=\"pl-editable-title-input\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\" data-testid=\"pl-editable-title-error\">\n {{ local.error }}\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAKA,IAAMmB,IAAQnB,EAAmBqB,GAAA,YAAC,GAE5BC,IAAQD,GAiDRE,IAAQC,EAAoBL,GAAO;GACvC,SAAS;IACP,OAAO;GACT;GACA,QAAQ,MAAc;IACpB,IAAI,OAAOM,KAAM,UACf,MAAM,MAAM,0BAA0B;IAGxC,IAAIH,EAAM,aAAaG,EAAE,SAASH,EAAM,WACtC,MAAM,MAAM,uBAAuBA,EAAM,UAAU,YAAY;IAGjE,IAAIA,EAAM,aAAaG,EAAE,SAASH,EAAM,WACtC,MAAM,MAAM,uBAAuBA,EAAM,UAAU,YAAY;IAOjE,OAJI,OAAOA,EAAM,YAAa,cAC5BA,EAAM,SAASG,CAAC,GAGXA,EAAE,KAAK;GAChB;EACF,CAAC,GAEKC,IAAWC,EAAsB,GAEjCC,IAAgBC,SAAgB,EACpC,UAAUP,EAAM,YAAY,MAC9B,EAAE,GAEIQ,UAAa;GAEjB,AADA,EAAM,QAAQP,EAAM,SAAS,CAACA,EAAM,QAAQA,EAAM,QAAQJ,EAAM,OAChEI,EAAM,MAAM;EACd;E,OAEAQ,QAAgB;GACd,AAAIT,EAAM,aACRI,EAAS,OAAO,MAAM;EAE1B,CAAC,I,UAICzB,EAAA,GAAAC,EAqBM,OAAA;GApBJ,OAAKC,EAAA,CAAC,qBACEC,EAAAC,CAAA,CAAK,CAAC,SAAS,CAAA;GACtB,OAAKC,EAAEsB,EAAA,KAAa;GACrB,eAAY;E,IAEZrB,EAWM,OAAA;GAXA,OAAKJ,EAAEC,EAAAC,CAAA,CAAK,CAAC,SAAS;GAAG,SAAK,AAAAiC,EAAA,aAAQZ,EAAA,OAAU,MAAK;E,IAC7CL,EAAA,UAAZpB,EAAA,GAAAC,EAA2F,QAA3FY,GAA2FN,EAA7Ba,EAAA,OAAO,KAAI,CAAA,IAAK,QAAM,CAAA,K,WACpFX,EAAAH,EAQE,SAAA;GAPI,SAAA;GAAJ,KAAImB;GACK,uBAAA,AAAAY,EAAA,QAAA,MAAA,EAAAf,CAAA,CAAK,CAAC,QAAKmB;GACnB,aAAarB,EAAA;GACd,eAAY;GACX,YAAUS;GACV,WAAO,C,YAAS,GAAAc,MAAAxC,EAAAmB,CAAA,CAAK,CAAC,SAANnB,EAAAmB,CAAA,CAAK,CAAC,MAAK,GAAAqB,CAAA,GAAA,CAAA,QAAA,CAAA,GACX,AAAAN,EAAA,OAAA3B,GAAA,MAAQkC,EAAG,QAA6B,KAAI,GAAA,CAAA,OAAA,CAAA,C;E,kBALpD,CAAAjC,GAAAR,EAAAmB,CAAA,CAAK,CAAC,KAAK,C,SAQbnB,EAAAmB,CAAA,CAAK,CAAC,SAAjBtB,EAAA,GAAAC,EAEM,OAAA;;GAFmB,OAAKC,EAAEC,EAAAC,CAAA,CAAK,CAAC,KAAK;GAAE,eAAY;EACpD,GAAAG,EAAAJ,EAAAmB,CAAA,CAAK,CAAC,KAAK,GAAA,CAAA,K"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export { default as PlEditableTitle } from "./PlEditableTitle.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import './pl-editable-title.css'
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import './pl-editable-title.css';// src/components/PlEditableTitle/pl-editable-title.module.scss
|
|
2
|
+
var e = "_component_1w6b3_1", t = "_container_1w6b3_15", n = "_error_1w6b3_69", r = {
|
|
3
|
+
component: e,
|
|
4
|
+
container: t,
|
|
5
|
+
error: n
|
|
5
6
|
};
|
|
6
|
-
|
|
7
|
-
export { e as default };
|
|
7
|
+
export { e as component, t as container, r as default, n as error };
|
|
8
8
|
|
|
9
9
|
//# sourceMappingURL=pl-editable-title.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pl-editable-title.module.js","names":[],"sources":["../../../src/components/PlEditableTitle/pl-editable-title.module.scss"],"sourcesContent":["@use \"../../assets/mixins.scss\" as *;\n\n.component {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0;\n\n --mask-icon-bg-color: transparent;\n --mask-size: 24px;\n\n &:hover {\n --mask-icon-bg-color: var(--ic-02);\n }\n\n &:focus-within:not(&:hover) {\n --mask-icon-bg-color: transparent;\n }\n\n .container {\n position: relative;\n display: flex;\n flex-direction: row;\n gap: 0;\n align-items: center;\n margin-right: calc(var(--mask-size));\n\n span {\n font-size: 28px;\n font-weight: 500;\n line-height: 32px;\n letter-spacing: -0.56px;\n white-space: nowrap;\n }\n\n input {\n outline: none;\n border: none;\n text-overflow: ellipsis;\n cursor: text;\n field-sizing: content;\n font-size: 28px;\n font-weight: 500;\n line-height: 38px;\n letter-spacing: -0.56px;\n padding-top: 4px;\n padding-bottom: 4px;\n padding-right: 4px;\n margin: 0;\n font-family: var(--font-family-base);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n &::placeholder {\n color: var(--txt-mask);\n }\n }\n\n &::before {\n content: \"\";\n @include mask-var(url(../../assets/icons/icon-assets-min/24_edit.svg));\n position: absolute;\n right: calc((var(--mask-size)) * -1);\n bottom: 6px;\n background-color: var(--mask-icon-bg-color);\n cursor: pointer;\n }\n }\n\n .error {\n position: absolute;\n bottom: -4px;\n transform: translateY(100%);\n white-space: nowrap;\n @include field-error();\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"pl-editable-title.module.js","names":["component","container","error","pl_editable_title_module_default"],"sources":["../../../src/components/PlEditableTitle/pl-editable-title.module.scss"],"sourcesContent":["@use \"../../assets/mixins.scss\" as *;\n\n.component {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0;\n\n --mask-icon-bg-color: transparent;\n --mask-size: 24px;\n\n &:hover {\n --mask-icon-bg-color: var(--ic-02);\n }\n\n &:focus-within:not(&:hover) {\n --mask-icon-bg-color: transparent;\n }\n\n .container {\n position: relative;\n display: flex;\n flex-direction: row;\n gap: 0;\n align-items: center;\n margin-right: calc(var(--mask-size));\n\n span {\n font-size: 28px;\n font-weight: 500;\n line-height: 32px;\n letter-spacing: -0.56px;\n white-space: nowrap;\n }\n\n input {\n outline: none;\n border: none;\n text-overflow: ellipsis;\n cursor: text;\n field-sizing: content;\n font-size: 28px;\n font-weight: 500;\n line-height: 38px;\n letter-spacing: -0.56px;\n padding-top: 4px;\n padding-bottom: 4px;\n padding-right: 4px;\n margin: 0;\n font-family: var(--font-family-base);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n &::placeholder {\n color: var(--txt-mask);\n }\n }\n\n &::before {\n content: \"\";\n @include mask-var(url(../../assets/icons/icon-assets-min/24_edit.svg));\n position: absolute;\n right: calc((var(--mask-size)) * -1);\n bottom: 6px;\n background-color: var(--mask-icon-bg-color);\n cursor: pointer;\n }\n }\n\n .error {\n position: absolute;\n bottom: -4px;\n transform: translateY(100%);\n white-space: nowrap;\n @include field-error();\n }\n}\n"],"mappings":""}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import e from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
2
|
import t from "./PlElementList.vue2.js";
|
|
3
3
|
import n from "./PlElementList.style.js";
|
|
4
|
-
var r =
|
|
5
|
-
//#endregion
|
|
4
|
+
var r = /*#__PURE__*/ e(t, [["__cssModules", { $style: n }]]);
|
|
6
5
|
export { r as default };
|
|
7
6
|
|
|
8
7
|
//# sourceMappingURL=PlElementList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlElementList.js","names":[],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"PlElementList.js","names":["style0","_sfc_main","_plugin_vue_export_helper_default","PlElementList_vue_vue_type_script_setup_true_lang_default","PlElementList_vue_vue_type_style_index_0_lang_module_default","PlElementList_default","\"$style\""],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import './PlElementList.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import './PlElementList.style.css';// src/components/PlElementList/PlElementList.vue?vue&type=style&index=0&lang.module.css
|
|
2
|
+
var e = "_root_11nk6_2", t = "_list_11nk6_3", n = "_item_11nk6_10", r = {
|
|
3
|
+
root: e,
|
|
4
|
+
list: t,
|
|
5
|
+
item: n
|
|
5
6
|
};
|
|
6
|
-
|
|
7
|
-
export { e as default };
|
|
7
|
+
export { r as default, n as item, t as list, e as root };
|
|
8
8
|
|
|
9
9
|
//# sourceMappingURL=PlElementList.style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlElementList.vue_vue_type_style_index_0_lang.module.js","names":[],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"PlElementList.vue_vue_type_style_index_0_lang.module.js","names":["root","list","item","PlElementList_vue_vue_type_style_index_0_lang_module_default"],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
|
|
@@ -3,10 +3,10 @@ import { moveElements as t } from "./utils.js";
|
|
|
3
3
|
import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as ee, createSlots as s, defineComponent as c, mergeModels as l, normalizeClass as u, openBlock as d, renderList as f, renderSlot as p, shallowRef as m, unref as h, useModel as te, useSlots as ne, watch as re, withCtx as g } from "vue";
|
|
4
4
|
import { isFunction as _, shallowHash as v } from "@milaboratories/helpers";
|
|
5
5
|
import { useSortable as ie } from "@vueuse/integrations/useSortable";
|
|
6
|
-
|
|
7
|
-
var y =
|
|
6
|
+
// src/components/PlElementList/PlElementList.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var y = /*@__PURE__*/ c({
|
|
8
8
|
__name: "PlElementList",
|
|
9
|
-
props:
|
|
9
|
+
props: /*@__PURE__*/ l({
|
|
10
10
|
getItemKey: {
|
|
11
11
|
type: Function,
|
|
12
12
|
default: (e) => JSON.stringify(e)
|
|
@@ -135,7 +135,7 @@ var y = /* @__PURE__ */ c({
|
|
|
135
135
|
items: { required: !0 },
|
|
136
136
|
itemsModifiers: {}
|
|
137
137
|
}),
|
|
138
|
-
emits:
|
|
138
|
+
emits: /*@__PURE__*/ l(["itemClick"], ["update:items"]),
|
|
139
139
|
setup(c, { emit: l }) {
|
|
140
140
|
let y = te(c, "items"), b = c, x = l, S = ne(), C = r(() => b.disableDragging !== !0), w = r(() => y.value.map((e, t) => [t, e]).filter(([e, t]) => V(t, e))), ae = r(() => w.value.length > 0), T = r(() => y.value.map((e, t) => [t, e]).filter(([e, t]) => !V(t, e))), E = r(() => T.value.length > 0), D = m(), O = m(), k = m(), A = (e) => `${oe.value}-${b.getItemKey(e[1], e[0])}`, j = r(() => w.value.map(A)), M = r(() => T.value.map(A)), oe = r((e) => {
|
|
141
141
|
let t = y.value.map(b.getItemKey);
|
|
@@ -367,7 +367,6 @@ var y = /* @__PURE__ */ c({
|
|
|
367
367
|
]))), 128))], 2)) : a("", !0)], 2));
|
|
368
368
|
}
|
|
369
369
|
});
|
|
370
|
-
//#endregion
|
|
371
370
|
export { y as default };
|
|
372
371
|
|
|
373
372
|
//# sourceMappingURL=PlElementList.vue2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlElementList.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlElementList.vue_vue_type_script_setup_true_lang.js","names":["$style","_useModel","_useSlots","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_Fragment","_renderList","_createBlock","PlElementListItem","_unref","_createSlots","_withCtx","_renderSlot","_createCommentVNode","PlElementListItem_default","PlElementList_vue_vue_type_script_setup_true_lang_default","item","\"items\"","\"itemsModifiers\"","__emit","itemsRef","useModel","__props","props","emits","slots","useSlots","dndSortingEnabled","computed","pinnedItemsRef","index","isPinnedItem","hasPinnedItems","unpinnedItemsRef","hasUnpinnedItems","domProjectionItemsRef","shallowRef","pinnedContainerRef","unpinnedContainerRef","getKey","versionRef","entry","pinnedKeysRef","unpinnedKeysRef","currentKeys","oldVersion","shallowHash","domProjectionKeys","domProjectionKeysSet","i","createSortable","sortable","useSortable","elRef","evt","moveItems","getOffset","watch","toggler","disabled","on","oldIndex","newIndex","afterUpdateDom","moveElements","isActiveItem","isDraggableItem","isRemovableItem","isToggableItem","isFunction","isToggledItem","isPinnableItem","isExpandableItem","isExpandedItem","handleExpand","handleToggle","handlePin","alreadyPinned","originalIndex","handleRemove","getClassFunction","propsItemClass","getItemClass","getItemClassTitle","getItemClassContent","getItemClassBefore","getItemClassAfter","openBlock","createElementBlock","normalizeClass","_ctx","createElementVNode","Fragment","renderList","createBlock","pinnedIndex","unref","createSlots","withCtx","renderSlot","unpinnedIndex","createCommentVNode"],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import e from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
2
|
import t from "./PlElementListItem.vue2.js";
|
|
3
3
|
import n from "./PlElementListItem.style.js";
|
|
4
|
-
var r =
|
|
5
|
-
//#endregion
|
|
4
|
+
var r = /*#__PURE__*/ e(t, [["__cssModules", { $style: n }]]);
|
|
6
5
|
export { r as default };
|
|
7
6
|
|
|
8
7
|
//# sourceMappingURL=PlElementListItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlElementListItem.js","names":[],"sources":["../../../src/components/PlElementList/PlElementListItem.vue"],"sourcesContent":["<script generic=\"T extends unknown = unknown\" lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport { PlIcon16 } from \"../PlIcon16\";\nimport { PlIcon24 } from \"../PlIcon24\";\n\nconst props = defineProps<{\n item: T;\n index: number;\n showDragHandle: boolean;\n isActive: boolean;\n isDraggable: boolean;\n isRemovable: boolean;\n isExpandable: boolean;\n isExpanded: boolean;\n isToggable: boolean;\n isToggled: boolean;\n isPinnable: boolean;\n isPinned: boolean;\n titleClass: string | string[] | null;\n contentClass: string | string[] | null;\n afterClass: string | string[] | null;\n beforeClass: string | string[] | null;\n}>();\ndefineOptions({ inheritAttrs: false });\n\nconst slots = defineSlots<{\n title: (props: { item: T; index: number }) => unknown;\n content?: (props: { item: T; index: number }) => unknown;\n after?: (props: { item: T; index: number }) => unknown;\n before?: (props: { item: T; index: number }) => unknown;\n}>();\nconst hasContentSlot = computed(() => slots[\"content\"] !== undefined);\nconst hasAfterSlot = computed(() => slots[\"after\"] !== undefined);\nconst hasBeforeSlot = computed(() => slots[\"before\"] !== undefined);\n\nconst emit = defineEmits<{\n (e: \"click\", item: MouseEvent): void;\n (e: \"expand\", item: T, index: number): void;\n (e: \"toggle\", item: T, index: number): void;\n (e: \"pin\", item: T, index: number): void;\n (e: \"remove\", item: T, index: number): void;\n}>();\n</script>\n\n<template>\n <div data-testid=\"pl-element-list-item\" @click=\"(event) => emit('click', event)\">\n <div v-if=\"hasBeforeSlot\" data-testid=\"pl-element-list-item-before\" :class=\"beforeClass\">\n <slot name=\"before\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n <div\n data-testid=\"pl-element-list-item-card\"\n :class=\"[\n $style.root,\n $attrs.class,\n {\n [$style.active]: props.isActive,\n [$style.pinned]: props.isPinned,\n [$style.opened]: props.isExpanded,\n [$style.disabled]: props.isToggled,\n },\n ]\"\n >\n <div\n data-testid=\"pl-element-list-item-head\"\n :class=\"[\n $style.head,\n titleClass,\n {\n [$style.clickable]: hasContentSlot,\n },\n ]\"\n @click=\"isExpandable && emit('expand', props.item, props.index)\"\n >\n <div v-if=\"props.showDragHandle || isExpandable\" :class=\"$style.headIcons\">\n <div\n v-if=\"props.showDragHandle\"\n data-testid=\"pl-element-list-item-drag\"\n :class=\"[$style.action, $style.draggable, { [$style.disable]: !props.isDraggable }]\"\n :data-draggable=\"props.isDraggable\"\n >\n <PlIcon16 name=\"drag-dots\" />\n </div>\n <PlIcon16\n v-if=\"isExpandable\"\n data-testid=\"pl-element-list-item-expand\"\n :class=\"[$style.contentChevron, { [$style.opened]: props.isExpanded }]\"\n name=\"chevron-down\"\n />\n </div>\n\n <div data-testid=\"pl-element-list-item-title\" :class=\"$style.title\">\n <slot name=\"title\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n\n <div\n data-testid=\"pl-element-list-item-actions\"\n :class=\"[$style.actions, $style.showOnHover]\"\n >\n <div\n v-if=\"props.isToggable\"\n data-testid=\"pl-element-list-item-toggle\"\n :class=\"[$style.action, $style.clickable, { [$style.disable]: !props.isToggable }]\"\n @click.stop=\"emit('toggle', props.item, props.index)\"\n >\n <PlIcon24 :name=\"props.isToggled === true ? 'view-hide' : 'view-show'\" size=\"16\" />\n </div>\n <div\n v-if=\"props.isPinnable\"\n data-testid=\"pl-element-list-item-pin\"\n :class=\"[\n $style.action,\n $style.clickable,\n {\n [$style.disable]: !props.isPinnable,\n [$style.activated]: props.isPinned,\n },\n ]\"\n @click.stop=\"emit('pin', props.item, props.index)\"\n >\n <PlIcon24 name=\"pin\" size=\"16\" />\n </div>\n <div\n v-if=\"props.isRemovable\"\n data-testid=\"pl-element-list-item-remove\"\n :class=\"[$style.action, $style.clickable]\"\n @click.stop=\"emit('remove', props.item, props.index)\"\n >\n <PlIcon16 name=\"close\" />\n </div>\n </div>\n </div>\n <div\n v-if=\"hasContentSlot && props.isExpanded\"\n data-testid=\"pl-element-list-item-content\"\n :class=\"[$style.body, contentClass, { [$style.disabled]: props.isToggled }]\"\n >\n <slot name=\"content\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n </div>\n <div v-if=\"hasAfterSlot\" data-testid=\"pl-element-list-item-after\" :class=\"afterClass\">\n <slot name=\"after\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n </div>\n</template>\n\n<style module>\n@use \"../../assets/variables.scss\" as *;\n\n.root {\n --background: rgba(255, 255, 255, 0.8);\n --border-color: var(--color-div-grey);\n --head-background: unset;\n --box-shadow: none;\n --box-shadow-active: 0 0 0 4px color-mix(in srgb, var(--border-color-focus) 50%, transparent);\n\n &:global(.sortable-drag),\n &:global(.sortable-chosen) {\n --head-background: var(--gradient-light-lime);\n --border-color: var(--border-color-focus);\n --box-shadow: var(--box-shadow-active);\n }\n}\n.root {\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-radius: var(--border-radius);\n border: 1px solid var(--border-color);\n background-color: var(--background);\n transition: box-shadow 0.15s;\n box-shadow: var(--box-shadow);\n overflow: hidden;\n\n &:hover {\n --border-color: var(--border-color-focus);\n --head-background: var(--gradient-light-lime);\n }\n\n &.opened {\n --head-background: var(--gradient-light-lime);\n }\n\n &.disabled {\n --icon-color: var(--ic-02);\n --border-color: var(--border-color-div-grey);\n color: var(--txt-03);\n filter: grayscale(1);\n }\n\n &.pinned {\n --background: var(--bg-base-light);\n }\n\n &.active {\n --border-color: var(--border-color-focus);\n --head-background: var(--btn-accent-positive-500);\n }\n}\n\n.head {\n position: relative;\n display: flex;\n align-items: center;\n padding: 8px;\n min-height: 40px;\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n background: var(--head-background);\n}\n\n.headIcons {\n display: flex;\n align-items: center;\n align-self: flex-start;\n height: 24px;\n flex: 0 0 auto;\n}\n\n.contentChevron {\n display: block;\n width: 16px;\n height: 16px;\n margin-right: 4px;\n transform: rotate(-90deg);\n transition: transform 0.15s;\n\n &.opened {\n transform: rotate(0deg);\n }\n}\n\n.title {\n display: flex;\n flex-direction: row;\n flex: 1 1 0;\n gap: 8px;\n overflow: hidden;\n}\n\n.body {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 24px;\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n\n &.disabled {\n pointer-events: none;\n }\n}\n\n.actions {\n position: absolute;\n top: 8px;\n right: 8px;\n display: flex;\n align-items: center;\n background-color: var(--background);\n border-radius: var(--border-radius);\n}\n\n.action {\n width: 24px;\n height: 24px;\n padding: 4px; /* use padding instead of gap on parent, for better accessibility */\n opacity: 0.6;\n border-radius: var(--border-radius);\n transition: all 0.15s;\n\n svg {\n width: 16px;\n height: 16px;\n }\n\n &:hover {\n opacity: 1;\n background-color: var(--bg-elevated-02);\n }\n\n &.activated {\n opacity: 0.8;\n }\n\n &.disable {\n cursor: not-allowed;\n opacity: 0.4;\n }\n}\n\n.clickable {\n cursor: pointer;\n}\n\n.draggable {\n cursor: grab;\n}\n\n.showOnHover {\n opacity: 0;\n transition: opacity 0.15s;\n}\n\n.root:hover .showOnHover {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"PlElementListItem.js","names":["style0","_sfc_main","_plugin_vue_export_helper_default","PlElementListItem_vue_vue_type_script_setup_true_lang_default","PlElementListItem_vue_vue_type_style_index_0_lang_module_default","PlElementListItem_default","\"$style\""],"sources":["../../../src/components/PlElementList/PlElementListItem.vue"],"sourcesContent":["<script generic=\"T extends unknown = unknown\" lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport { PlIcon16 } from \"../PlIcon16\";\nimport { PlIcon24 } from \"../PlIcon24\";\n\nconst props = defineProps<{\n item: T;\n index: number;\n showDragHandle: boolean;\n isActive: boolean;\n isDraggable: boolean;\n isRemovable: boolean;\n isExpandable: boolean;\n isExpanded: boolean;\n isToggable: boolean;\n isToggled: boolean;\n isPinnable: boolean;\n isPinned: boolean;\n titleClass: string | string[] | null;\n contentClass: string | string[] | null;\n afterClass: string | string[] | null;\n beforeClass: string | string[] | null;\n}>();\ndefineOptions({ inheritAttrs: false });\n\nconst slots = defineSlots<{\n title: (props: { item: T; index: number }) => unknown;\n content?: (props: { item: T; index: number }) => unknown;\n after?: (props: { item: T; index: number }) => unknown;\n before?: (props: { item: T; index: number }) => unknown;\n}>();\nconst hasContentSlot = computed(() => slots[\"content\"] !== undefined);\nconst hasAfterSlot = computed(() => slots[\"after\"] !== undefined);\nconst hasBeforeSlot = computed(() => slots[\"before\"] !== undefined);\n\nconst emit = defineEmits<{\n (e: \"click\", item: MouseEvent): void;\n (e: \"expand\", item: T, index: number): void;\n (e: \"toggle\", item: T, index: number): void;\n (e: \"pin\", item: T, index: number): void;\n (e: \"remove\", item: T, index: number): void;\n}>();\n</script>\n\n<template>\n <div data-testid=\"pl-element-list-item\" @click=\"(event) => emit('click', event)\">\n <div v-if=\"hasBeforeSlot\" data-testid=\"pl-element-list-item-before\" :class=\"beforeClass\">\n <slot name=\"before\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n <div\n data-testid=\"pl-element-list-item-card\"\n :class=\"[\n $style.root,\n $attrs.class,\n {\n [$style.active]: props.isActive,\n [$style.pinned]: props.isPinned,\n [$style.opened]: props.isExpanded,\n [$style.disabled]: props.isToggled,\n },\n ]\"\n >\n <div\n data-testid=\"pl-element-list-item-head\"\n :class=\"[\n $style.head,\n titleClass,\n {\n [$style.clickable]: hasContentSlot,\n },\n ]\"\n @click=\"isExpandable && emit('expand', props.item, props.index)\"\n >\n <div v-if=\"props.showDragHandle || isExpandable\" :class=\"$style.headIcons\">\n <div\n v-if=\"props.showDragHandle\"\n data-testid=\"pl-element-list-item-drag\"\n :class=\"[$style.action, $style.draggable, { [$style.disable]: !props.isDraggable }]\"\n :data-draggable=\"props.isDraggable\"\n >\n <PlIcon16 name=\"drag-dots\" />\n </div>\n <PlIcon16\n v-if=\"isExpandable\"\n data-testid=\"pl-element-list-item-expand\"\n :class=\"[$style.contentChevron, { [$style.opened]: props.isExpanded }]\"\n name=\"chevron-down\"\n />\n </div>\n\n <div data-testid=\"pl-element-list-item-title\" :class=\"$style.title\">\n <slot name=\"title\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n\n <div\n data-testid=\"pl-element-list-item-actions\"\n :class=\"[$style.actions, $style.showOnHover]\"\n >\n <div\n v-if=\"props.isToggable\"\n data-testid=\"pl-element-list-item-toggle\"\n :class=\"[$style.action, $style.clickable, { [$style.disable]: !props.isToggable }]\"\n @click.stop=\"emit('toggle', props.item, props.index)\"\n >\n <PlIcon24 :name=\"props.isToggled === true ? 'view-hide' : 'view-show'\" size=\"16\" />\n </div>\n <div\n v-if=\"props.isPinnable\"\n data-testid=\"pl-element-list-item-pin\"\n :class=\"[\n $style.action,\n $style.clickable,\n {\n [$style.disable]: !props.isPinnable,\n [$style.activated]: props.isPinned,\n },\n ]\"\n @click.stop=\"emit('pin', props.item, props.index)\"\n >\n <PlIcon24 name=\"pin\" size=\"16\" />\n </div>\n <div\n v-if=\"props.isRemovable\"\n data-testid=\"pl-element-list-item-remove\"\n :class=\"[$style.action, $style.clickable]\"\n @click.stop=\"emit('remove', props.item, props.index)\"\n >\n <PlIcon16 name=\"close\" />\n </div>\n </div>\n </div>\n <div\n v-if=\"hasContentSlot && props.isExpanded\"\n data-testid=\"pl-element-list-item-content\"\n :class=\"[$style.body, contentClass, { [$style.disabled]: props.isToggled }]\"\n >\n <slot name=\"content\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n </div>\n <div v-if=\"hasAfterSlot\" data-testid=\"pl-element-list-item-after\" :class=\"afterClass\">\n <slot name=\"after\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n </div>\n</template>\n\n<style module>\n@use \"../../assets/variables.scss\" as *;\n\n.root {\n --background: rgba(255, 255, 255, 0.8);\n --border-color: var(--color-div-grey);\n --head-background: unset;\n --box-shadow: none;\n --box-shadow-active: 0 0 0 4px color-mix(in srgb, var(--border-color-focus) 50%, transparent);\n\n &:global(.sortable-drag),\n &:global(.sortable-chosen) {\n --head-background: var(--gradient-light-lime);\n --border-color: var(--border-color-focus);\n --box-shadow: var(--box-shadow-active);\n }\n}\n.root {\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-radius: var(--border-radius);\n border: 1px solid var(--border-color);\n background-color: var(--background);\n transition: box-shadow 0.15s;\n box-shadow: var(--box-shadow);\n overflow: hidden;\n\n &:hover {\n --border-color: var(--border-color-focus);\n --head-background: var(--gradient-light-lime);\n }\n\n &.opened {\n --head-background: var(--gradient-light-lime);\n }\n\n &.disabled {\n --icon-color: var(--ic-02);\n --border-color: var(--border-color-div-grey);\n color: var(--txt-03);\n filter: grayscale(1);\n }\n\n &.pinned {\n --background: var(--bg-base-light);\n }\n\n &.active {\n --border-color: var(--border-color-focus);\n --head-background: var(--btn-accent-positive-500);\n }\n}\n\n.head {\n position: relative;\n display: flex;\n align-items: center;\n padding: 8px;\n min-height: 40px;\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n background: var(--head-background);\n}\n\n.headIcons {\n display: flex;\n align-items: center;\n align-self: flex-start;\n height: 24px;\n flex: 0 0 auto;\n}\n\n.contentChevron {\n display: block;\n width: 16px;\n height: 16px;\n margin-right: 4px;\n transform: rotate(-90deg);\n transition: transform 0.15s;\n\n &.opened {\n transform: rotate(0deg);\n }\n}\n\n.title {\n display: flex;\n flex-direction: row;\n flex: 1 1 0;\n gap: 8px;\n overflow: hidden;\n}\n\n.body {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 24px;\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n\n &.disabled {\n pointer-events: none;\n }\n}\n\n.actions {\n position: absolute;\n top: 8px;\n right: 8px;\n display: flex;\n align-items: center;\n background-color: var(--background);\n border-radius: var(--border-radius);\n}\n\n.action {\n width: 24px;\n height: 24px;\n padding: 4px; /* use padding instead of gap on parent, for better accessibility */\n opacity: 0.6;\n border-radius: var(--border-radius);\n transition: all 0.15s;\n\n svg {\n width: 16px;\n height: 16px;\n }\n\n &:hover {\n opacity: 1;\n background-color: var(--bg-elevated-02);\n }\n\n &.activated {\n opacity: 0.8;\n }\n\n &.disable {\n cursor: not-allowed;\n opacity: 0.4;\n }\n}\n\n.clickable {\n cursor: pointer;\n}\n\n.draggable {\n cursor: grab;\n}\n\n.showOnHover {\n opacity: 0;\n transition: opacity 0.15s;\n}\n\n.root:hover .showOnHover {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import './PlElementListItem.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
import './PlElementListItem.style.css';// src/components/PlElementList/PlElementListItem.vue?vue&type=style&index=0&lang.module.css
|
|
2
|
+
var e = "_root_14opm_4", t = "_opened_14opm_34", n = "_disabled_14opm_38", r = "_pinned_14opm_45", i = "_active_14opm_49", a = "_head_14opm_55", o = "_headIcons_14opm_65", s = "_contentChevron_14opm_73", c = "_title_14opm_86", l = "_body_14opm_94", u = "_actions_14opm_106", d = "_action_14opm_106", f = "_activated_14opm_134", p = "_disable_14opm_38", m = "_clickable_14opm_144", h = "_draggable_14opm_148", g = "_showOnHover_14opm_152", _ = {
|
|
3
|
+
root: e,
|
|
4
|
+
opened: t,
|
|
5
|
+
disabled: n,
|
|
6
|
+
pinned: r,
|
|
7
|
+
active: i,
|
|
8
|
+
head: a,
|
|
9
|
+
headIcons: o,
|
|
10
|
+
contentChevron: s,
|
|
11
|
+
title: c,
|
|
12
|
+
body: l,
|
|
13
|
+
actions: u,
|
|
14
|
+
action: d,
|
|
15
|
+
activated: f,
|
|
16
|
+
disable: p,
|
|
17
|
+
clickable: m,
|
|
18
|
+
draggable: h,
|
|
19
|
+
showOnHover: g
|
|
19
20
|
};
|
|
20
|
-
|
|
21
|
-
export { e as default };
|
|
21
|
+
export { d as action, u as actions, f as activated, i as active, l as body, m as clickable, s as contentChevron, _ as default, p as disable, n as disabled, h as draggable, a as head, o as headIcons, t as opened, r as pinned, e as root, g as showOnHover, c as title };
|
|
22
22
|
|
|
23
23
|
//# sourceMappingURL=PlElementListItem.style.js.map
|