@milaboratories/uikit 2.15.36 → 2.15.38
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 +175 -175
- package/.turbo/turbo-formatter$colon$check.log +2 -2
- package/.turbo/turbo-linter$colon$check.log +2 -2
- package/.turbo/turbo-types$colon$check.log +1 -1
- package/CHANGELOG.md +12 -0
- package/dist/__tests__/default-testid.test.d.ts +2 -0
- package/dist/__tests__/default-testid.test.d.ts.map +1 -0
- package/dist/base/BtnBase.js.map +1 -1
- package/dist/base/BtnBase.vue.d.ts.map +1 -1
- package/dist/base/BtnBase.vue2.js +6 -1
- package/dist/base/BtnBase.vue2.js.map +1 -1
- package/dist/components/DropdownListItem.js.map +1 -1
- package/dist/components/DropdownListItem.vue.d.ts.map +1 -1
- package/dist/components/DropdownListItem.vue2.js +13 -4
- package/dist/components/DropdownListItem.vue2.js.map +1 -1
- package/dist/components/InputRange.js.map +1 -1
- package/dist/components/InputRange.vue.d.ts.map +1 -1
- package/dist/components/InputRange.vue2.js +10 -2
- package/dist/components/InputRange.vue2.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordionSection.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordionSection.style.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordionSection.vue.d.ts.map +1 -1
- package/dist/components/PlAccordion/PlAccordionSection.vue2.js +7 -1
- package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
- package/dist/components/PlAlert/PlAlert.js.map +1 -1
- package/dist/components/PlAlert/PlAlert.vue.d.ts.map +1 -1
- package/dist/components/PlAlert/PlAlert.vue2.js +10 -1
- package/dist/components/PlAlert/PlAlert.vue2.js.map +1 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.js.map +1 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.d.ts.map +1 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.vue2.js +29 -11
- package/dist/components/PlAutocomplete/PlAutocomplete.vue2.js.map +1 -1
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.js.map +1 -1
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts.map +1 -1
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js +30 -9
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js.map +1 -1
- package/dist/components/PlBtnAccent/PlBtnAccent.js.map +1 -1
- package/dist/components/PlBtnAccent/PlBtnAccent.vue.d.ts.map +1 -1
- package/dist/components/PlBtnAccent/PlBtnAccent.vue2.js +4 -1
- package/dist/components/PlBtnAccent/PlBtnAccent.vue2.js.map +1 -1
- package/dist/components/PlBtnDanger/PlBtnDanger.js.map +1 -1
- package/dist/components/PlBtnDanger/PlBtnDanger.vue.d.ts.map +1 -1
- package/dist/components/PlBtnDanger/PlBtnDanger.vue2.js +4 -1
- package/dist/components/PlBtnDanger/PlBtnDanger.vue2.js.map +1 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.js.map +1 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.vue.d.ts.map +1 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.vue2.js +7 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.vue2.js.map +1 -1
- package/dist/components/PlBtnGroup/PlBtnGroup.js.map +1 -1
- package/dist/components/PlBtnGroup/PlBtnGroup.vue.d.ts.map +1 -1
- package/dist/components/PlBtnGroup/PlBtnGroup.vue2.js +19 -6
- package/dist/components/PlBtnGroup/PlBtnGroup.vue2.js.map +1 -1
- package/dist/components/PlBtnLink/PlBtnLink.js.map +1 -1
- package/dist/components/PlBtnLink/PlBtnLink.vue.d.ts.map +1 -1
- package/dist/components/PlBtnLink/PlBtnLink.vue2.js +2 -0
- package/dist/components/PlBtnLink/PlBtnLink.vue2.js.map +1 -1
- package/dist/components/PlBtnPrimary/PlBtnPrimary.js.map +1 -1
- package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.d.ts.map +1 -1
- package/dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js +4 -1
- package/dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js.map +1 -1
- package/dist/components/PlBtnSecondary/PlBtnSecondary.js.map +1 -1
- package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.d.ts.map +1 -1
- package/dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js +1 -1
- package/dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js.map +1 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.js.map +1 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.vue.d.ts.map +1 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.vue2.js +6 -0
- package/dist/components/PlBtnSplit/PlBtnSplit.vue2.js.map +1 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.js.map +1 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.style.js.map +1 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.vue.d.ts.map +1 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +7 -2
- package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
- package/dist/components/PlChartHistogram/createGridlines.d.ts.map +1 -1
- package/dist/components/PlChartHistogram/createGridlines.js +1 -1
- package/dist/components/PlChartHistogram/createGridlines.js.map +1 -1
- package/dist/components/PlChartHistogram/createLabels.d.ts.map +1 -1
- package/dist/components/PlChartHistogram/createLabels.js +1 -1
- package/dist/components/PlChartHistogram/createLabels.js.map +1 -1
- package/dist/components/PlChartHistogram/createSvgContainer.d.ts.map +1 -1
- package/dist/components/PlChartHistogram/createSvgContainer.js +1 -1
- package/dist/components/PlChartHistogram/createSvgContainer.js.map +1 -1
- package/dist/components/PlChartHistogram/drawBins.d.ts.map +1 -1
- package/dist/components/PlChartHistogram/drawBins.js +2 -2
- package/dist/components/PlChartHistogram/drawBins.js.map +1 -1
- package/dist/components/PlChartHistogram/drawThreshold.d.ts.map +1 -1
- package/dist/components/PlChartHistogram/drawThreshold.js +1 -1
- package/dist/components/PlChartHistogram/drawThreshold.js.map +1 -1
- package/dist/components/PlChartHistogram/histogram.d.ts.map +1 -1
- package/dist/components/PlChartHistogram/histogram.js +1 -1
- package/dist/components/PlChartHistogram/histogram.js.map +1 -1
- package/dist/components/PlChartStackedBar/Legends.js.map +1 -1
- package/dist/components/PlChartStackedBar/Legends.style.js.map +1 -1
- package/dist/components/PlChartStackedBar/Legends.vue.d.ts.map +1 -1
- package/dist/components/PlChartStackedBar/Legends.vue2.js +7 -1
- package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.style.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue.d.ts.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +5 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.style.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue.d.ts.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js +4 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRow.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRow.style.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRow.vue.d.ts.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRow.vue2.js +13 -3
- package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.style.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.vue.d.ts.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js +8 -2
- package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
- package/dist/components/PlCheckbox/PlCheckbox.js.map +1 -1
- package/dist/components/PlCheckbox/PlCheckbox.vue.d.ts.map +1 -1
- package/dist/components/PlCheckbox/PlCheckbox.vue2.js +9 -2
- package/dist/components/PlCheckbox/PlCheckbox.vue2.js.map +1 -1
- package/dist/components/PlCheckbox/PlCheckboxBase.js.map +1 -1
- package/dist/components/PlCheckbox/PlCheckboxBase.vue.d.ts.map +1 -1
- package/dist/components/PlCheckbox/PlCheckboxBase.vue2.js +1 -0
- package/dist/components/PlCheckbox/PlCheckboxBase.vue2.js.map +1 -1
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.js.map +1 -1
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.d.ts.map +1 -1
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js +19 -5
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js.map +1 -1
- package/dist/components/PlChip/PlChip.js.map +1 -1
- package/dist/components/PlChip/PlChip.vue.d.ts.map +1 -1
- package/dist/components/PlChip/PlChip.vue2.js +7 -1
- package/dist/components/PlChip/PlChip.vue2.js.map +1 -1
- package/dist/components/PlClipboard/PlClipboard.js.map +1 -1
- package/dist/components/PlClipboard/PlClipboard.style.js.map +1 -1
- package/dist/components/PlClipboard/PlClipboard.vue.d.ts.map +1 -1
- package/dist/components/PlClipboard/PlClipboard.vue2.js +1 -0
- package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
- package/dist/components/PlConfirmDialog.js.map +1 -1
- package/dist/components/PlConfirmDialog.vue.d.ts.map +1 -1
- package/dist/components/PlConfirmDialog.vue2.js +9 -2
- package/dist/components/PlConfirmDialog.vue2.js.map +1 -1
- package/dist/components/PlDialogModal/PlDialogModal.js.map +1 -1
- package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts.map +1 -1
- package/dist/components/PlDialogModal/PlDialogModal.vue2.js +12 -5
- package/dist/components/PlDialogModal/PlDialogModal.vue2.js.map +1 -1
- package/dist/components/PlDropdown/OptionList.js.map +1 -1
- package/dist/components/PlDropdown/OptionList.vue.d.ts.map +1 -1
- package/dist/components/PlDropdown/OptionList.vue2.js +11 -5
- package/dist/components/PlDropdown/OptionList.vue2.js.map +1 -1
- 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 +26 -10
- package/dist/components/PlDropdown/PlDropdown.vue2.js.map +1 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.js.map +1 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js +32 -10
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js.map +1 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.js.map +1 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.vue2.js +17 -3
- package/dist/components/PlDropdownLine/PlDropdownLine.vue2.js.map +1 -1
- package/dist/components/PlDropdownLine/ResizableInput.js.map +1 -1
- package/dist/components/PlDropdownLine/ResizableInput.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownLine/ResizableInput.vue2.js +5 -2
- package/dist/components/PlDropdownLine/ResizableInput.vue2.js.map +1 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.js.map +1 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js +31 -10
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js.map +1 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.js.map +1 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js +1 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js.map +1 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.js.map +1 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.vue2.js +1 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.vue2.js.map +1 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.js.map +1 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts.map +1 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.vue2.js +9 -3
- package/dist/components/PlEditableTitle/PlEditableTitle.vue2.js.map +1 -1
- package/dist/components/PlElementList/PlElementList.js.map +1 -1
- package/dist/components/PlElementList/PlElementList.style.js.map +1 -1
- package/dist/components/PlElementList/PlElementList.vue.d.ts.map +1 -1
- package/dist/components/PlElementList/PlElementList.vue2.js +6 -1
- package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.style.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.vue.d.ts.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.vue2.js +34 -13
- package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
- package/dist/components/PlErrorAlert/PlErrorAlert.js.map +1 -1
- package/dist/components/PlErrorAlert/PlErrorAlert.style.js.map +1 -1
- package/dist/components/PlErrorAlert/PlErrorAlert.vue.d.ts.map +1 -1
- package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js +15 -3
- package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
- package/dist/components/PlErrorBoundary/PlErrorBoundary.js.map +1 -1
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.d.ts.map +1 -1
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js +1 -0
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js.map +1 -1
- package/dist/components/PlFileDialog/Local.js.map +1 -1
- package/dist/components/PlFileDialog/Local.vue.d.ts.map +1 -1
- package/dist/components/PlFileDialog/Local.vue2.js +23 -20
- package/dist/components/PlFileDialog/Local.vue2.js.map +1 -1
- package/dist/components/PlFileDialog/PlFileDialog.js.map +1 -1
- package/dist/components/PlFileDialog/PlFileDialog.vue.d.ts.map +1 -1
- package/dist/components/PlFileDialog/PlFileDialog.vue2.js +5 -1
- package/dist/components/PlFileDialog/PlFileDialog.vue2.js.map +1 -1
- package/dist/components/PlFileDialog/Remote.js.map +1 -1
- package/dist/components/PlFileDialog/Remote.vue.d.ts.map +1 -1
- package/dist/components/PlFileDialog/Remote.vue2.js +108 -94
- package/dist/components/PlFileDialog/Remote.vue2.js.map +1 -1
- package/dist/components/PlFileDialog/Shortcuts.js.map +1 -1
- package/dist/components/PlFileDialog/Shortcuts.style.js.map +1 -1
- package/dist/components/PlFileDialog/Shortcuts.vue.d.ts.map +1 -1
- package/dist/components/PlFileDialog/Shortcuts.vue2.js +2 -1
- package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
- package/dist/components/PlFileInput/PlFileInput.js.map +1 -1
- package/dist/components/PlFileInput/PlFileInput.vue.d.ts.map +1 -1
- package/dist/components/PlFileInput/PlFileInput.vue2.js +92 -71
- package/dist/components/PlFileInput/PlFileInput.vue2.js.map +1 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.js.map +1 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.d.ts.map +1 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js +4 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js.map +1 -1
- package/dist/components/PlLoaderLogo.js.map +1 -1
- package/dist/components/PlLoaderLogo.style.js.map +1 -1
- package/dist/components/PlLoaderLogo.vue.css +1 -1
- package/dist/components/PlLoaderLogo.vue.d.ts.map +1 -1
- package/dist/components/PlLoaderLogo.vue2.js +4 -3
- package/dist/components/PlLoaderLogo.vue2.js.map +1 -1
- package/dist/components/PlLogView/PlLogView.js.map +1 -1
- package/dist/components/PlLogView/PlLogView.vue.d.ts.map +1 -1
- package/dist/components/PlLogView/PlLogView.vue2.js +13 -1
- package/dist/components/PlLogView/PlLogView.vue2.js.map +1 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.js.map +1 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts.map +1 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js +8 -2
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js.map +1 -1
- package/dist/components/PlNumberField/PlNumberField.js.map +1 -1
- package/dist/components/PlNumberField/PlNumberField.vue.d.ts.map +1 -1
- package/dist/components/PlNumberField/PlNumberField.vue2.js +12 -3
- package/dist/components/PlNumberField/PlNumberField.vue2.js.map +1 -1
- package/dist/components/PlProgressBar/PlProgressBar.js.map +1 -1
- package/dist/components/PlProgressBar/PlProgressBar.vue.d.ts.map +1 -1
- package/dist/components/PlProgressBar/PlProgressBar.vue2.js +9 -1
- package/dist/components/PlProgressBar/PlProgressBar.vue2.js.map +1 -1
- package/dist/components/PlProgressCell/PlProgressCell.js.map +1 -1
- package/dist/components/PlProgressCell/PlProgressCell.vue.d.ts.map +1 -1
- package/dist/components/PlProgressCell/PlProgressCell.vue2.js +19 -7
- package/dist/components/PlProgressCell/PlProgressCell.vue2.js.map +1 -1
- package/dist/components/PlRadio/PlRadio.js.map +1 -1
- package/dist/components/PlRadio/PlRadio.style.js.map +1 -1
- package/dist/components/PlRadio/PlRadio.vue.d.ts.map +1 -1
- package/dist/components/PlRadio/PlRadio.vue2.js +10 -3
- package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
- package/dist/components/PlRadio/PlRadioGroup.js.map +1 -1
- package/dist/components/PlRadio/PlRadioGroup.style.js.map +1 -1
- package/dist/components/PlRadio/PlRadioGroup.vue.d.ts.map +1 -1
- package/dist/components/PlRadio/PlRadioGroup.vue2.js +10 -3
- package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
- package/dist/components/PlSearchField/PlSearchField.js.map +1 -1
- package/dist/components/PlSearchField/PlSearchField.style.js.map +1 -1
- package/dist/components/PlSearchField/PlSearchField.vue.d.ts.map +1 -1
- package/dist/components/PlSearchField/PlSearchField.vue2.js +11 -4
- package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.js.map +1 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.style.js.map +1 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.vue.d.ts.map +1 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js +7 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarGroup.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarGroup.style.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarGroup.vue.d.ts.map +1 -1
- package/dist/components/PlSidebar/PlSidebarGroup.vue2.js +5 -1
- package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarItem.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarItem.style.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts.map +1 -1
- package/dist/components/PlSidebar/PlSidebarItem.vue2.js +7 -1
- package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
- package/dist/components/PlSlideModal/PlPureSlideModal.js.map +1 -1
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.d.ts.map +1 -1
- package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js +4 -1
- package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.js.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.style.js.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue.d.ts.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue2.js +7 -2
- package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
- package/dist/components/PlSpacer/PlSpacer.vue.d.ts.map +1 -1
- package/dist/components/PlSplash/PlSplash.js.map +1 -1
- package/dist/components/PlSplash/PlSplash.vue.d.ts.map +1 -1
- package/dist/components/PlSplash/PlSplash.vue2.js +13 -5
- package/dist/components/PlSplash/PlSplash.vue2.js.map +1 -1
- package/dist/components/PlStatusTag/PlStatusTag.js.map +1 -1
- package/dist/components/PlStatusTag/PlStatusTag.vue.d.ts.map +1 -1
- package/dist/components/PlStatusTag/PlStatusTag.vue2.js +4 -1
- package/dist/components/PlStatusTag/PlStatusTag.vue2.js.map +1 -1
- package/dist/components/PlTabs/PlTabs.js.map +1 -1
- package/dist/components/PlTabs/PlTabs.vue.d.ts.map +1 -1
- package/dist/components/PlTabs/PlTabs.vue2.js +16 -11
- package/dist/components/PlTabs/PlTabs.vue2.js.map +1 -1
- package/dist/components/PlTextArea/PlTextArea.js.map +1 -1
- package/dist/components/PlTextArea/PlTextArea.vue.d.ts.map +1 -1
- package/dist/components/PlTextArea/PlTextArea.vue2.js +21 -8
- package/dist/components/PlTextArea/PlTextArea.vue2.js.map +1 -1
- package/dist/components/PlTextField/PlTextField.js.map +1 -1
- package/dist/components/PlTextField/PlTextField.vue.d.ts.map +1 -1
- package/dist/components/PlTextField/PlTextField.vue2.js +23 -9
- package/dist/components/PlTextField/PlTextField.vue2.js.map +1 -1
- package/dist/components/PlToggleSwitch/PlToggleSwitch.js.map +1 -1
- package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.d.ts.map +1 -1
- package/dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js +10 -2
- package/dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js.map +1 -1
- package/dist/components/PlTooltip/PlTooltip.js.map +1 -1
- package/dist/components/PlTooltip/PlTooltip.style.js.map +1 -1
- package/dist/components/PlTooltip/PlTooltip.vue.css +1 -1
- package/dist/components/PlTooltip/PlTooltip.vue.d.ts.map +1 -1
- package/dist/components/PlTooltip/PlTooltip.vue2.js +7 -2
- package/dist/components/PlTooltip/PlTooltip.vue2.js.map +1 -1
- package/dist/components/Slider.js.map +1 -1
- package/dist/components/Slider.vue.d.ts.map +1 -1
- package/dist/components/Slider.vue2.js +13 -1
- package/dist/components/Slider.vue2.js.map +1 -1
- package/dist/components/SliderRange.js.map +1 -1
- package/dist/components/SliderRange.vue.d.ts.map +1 -1
- package/dist/components/SliderRange.vue2.js +14 -1
- package/dist/components/SliderRange.vue2.js.map +1 -1
- package/dist/components/SliderRangeTriple.js.map +1 -1
- package/dist/components/SliderRangeTriple.vue.d.ts.map +1 -1
- package/dist/components/SliderRangeTriple.vue2.js +13 -1
- package/dist/components/SliderRangeTriple.vue2.js.map +1 -1
- package/dist/components/TabItem.js.map +1 -1
- package/dist/components/TabItem.vue.d.ts.map +1 -1
- package/dist/components/TabItem.vue2.js +8 -2
- package/dist/components/TabItem.vue2.js.map +1 -1
- package/dist/components/contextMenu/Menu.js +1 -1
- package/dist/components/contextMenu/Menu.js.map +1 -1
- package/dist/components/contextMenu/Menu.style.css +1 -1
- package/dist/components/contextMenu/Menu.vue.d.ts.map +1 -1
- package/dist/components/contextMenu/Menu.vue2.js +12 -8
- package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.style.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.vue.d.ts.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.vue2.js +45 -25
- package/dist/layout/PlBlockPage/PlBlockPage.vue2.js.map +1 -1
- package/dist/layout/PlContainer/PlContainer.js.map +1 -1
- package/dist/layout/PlContainer/PlContainer.vue.d.ts.map +1 -1
- package/dist/layout/PlContainer/PlContainer.vue2.js +1 -0
- package/dist/layout/PlContainer/PlContainer.vue2.js.map +1 -1
- package/dist/layout/PlGrid/PlGrid.js.map +1 -1
- package/dist/layout/PlGrid/PlGrid.vue.d.ts.map +1 -1
- package/dist/layout/PlGrid/PlGrid.vue2.js +1 -0
- package/dist/layout/PlGrid/PlGrid.vue2.js.map +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.js.map +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.style.js.map +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.vue.d.ts.map +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js +25 -6
- package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js.map +1 -1
- package/dist/layout/PlRow/PlRow.js.map +1 -1
- package/dist/layout/PlRow/PlRow.vue.d.ts.map +1 -1
- package/dist/layout/PlRow/PlRow.vue2.js +7 -4
- package/dist/layout/PlRow/PlRow.vue2.js.map +1 -1
- package/dist/layout/PlSpacer/PlSpacer.js.map +1 -1
- package/dist/layout/PlSpacer/PlSpacer.vue.d.ts.map +1 -1
- package/dist/layout/PlSpacer/PlSpacer.vue2.js +1 -0
- package/dist/layout/PlSpacer/PlSpacer.vue2.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/default-testid.test.ts +95 -0
- package/src/base/BtnBase.vue +3 -3
- package/src/components/DropdownListItem.vue +14 -4
- package/src/components/InputRange.vue +6 -2
- package/src/components/PlAccordion/PlAccordionSection.vue +13 -4
- package/src/components/PlAlert/PlAlert.vue +5 -3
- package/src/components/PlAutocomplete/PlAutocomplete.vue +47 -11
- package/src/components/PlAutocompleteMulti/PlAutocompleteMulti.vue +53 -11
- package/src/components/PlBtnAccent/PlBtnAccent.vue +1 -1
- package/src/components/PlBtnDanger/PlBtnDanger.vue +1 -1
- package/src/components/PlBtnGhost/PlBtnGhost.vue +4 -3
- package/src/components/PlBtnGroup/PlBtnGroup.vue +16 -6
- package/src/components/PlBtnLink/PlBtnLink.vue +2 -1
- package/src/components/PlBtnPrimary/PlBtnPrimary.vue +1 -1
- package/src/components/PlBtnSecondary/PlBtnSecondary.vue +1 -1
- package/src/components/PlBtnSplit/PlBtnSplit.vue +12 -2
- package/src/components/PlChartHistogram/PlChartHistogram.vue +9 -3
- package/src/components/PlChartHistogram/createGridlines.ts +2 -0
- package/src/components/PlChartHistogram/createLabels.ts +2 -0
- package/src/components/PlChartHistogram/createSvgContainer.ts +2 -0
- package/src/components/PlChartHistogram/drawBins.ts +2 -0
- package/src/components/PlChartHistogram/drawThreshold.ts +1 -0
- package/src/components/PlChartHistogram/histogram.ts +6 -1
- package/src/components/PlChartStackedBar/Legends.vue +18 -4
- package/src/components/PlChartStackedBar/PlChartStackedBar.vue +4 -2
- package/src/components/PlChartStackedBar/PlChartStackedBarCompact.vue +1 -1
- package/src/components/PlChartStackedBar/StackedRow.vue +12 -4
- package/src/components/PlChartStackedBar/StackedRowCompact.vue +10 -3
- package/src/components/PlCheckbox/PlCheckbox.vue +15 -4
- package/src/components/PlCheckbox/PlCheckboxBase.vue +1 -0
- package/src/components/PlCheckboxGroup/PlCheckboxGroup.vue +15 -4
- package/src/components/PlChip/PlChip.vue +4 -3
- package/src/components/PlClipboard/PlClipboard.vue +7 -1
- package/src/components/PlConfirmDialog.vue +8 -3
- package/src/components/PlDialogModal/PlDialogModal.vue +15 -2
- package/src/components/PlDropdown/OptionList.vue +13 -3
- package/src/components/PlDropdown/PlDropdown.vue +35 -11
- package/src/components/PlDropdownLegacy/PlDropdownLegacy.vue +51 -12
- package/src/components/PlDropdownLine/PlDropdownLine.vue +29 -5
- package/src/components/PlDropdownLine/ResizableInput.vue +2 -1
- package/src/components/PlDropdownMulti/PlDropdownMulti.vue +47 -11
- package/src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue +1 -0
- package/src/components/PlDropdownRef/PlDropdownRef.vue +1 -0
- package/src/components/PlEditableTitle/PlEditableTitle.vue +11 -3
- package/src/components/PlElementList/PlElementList.vue +8 -3
- package/src/components/PlElementList/PlElementListItem.vue +16 -5
- package/src/components/PlErrorAlert/PlErrorAlert.vue +8 -6
- package/src/components/PlErrorBoundary/PlErrorBoundary.vue +7 -1
- package/src/components/PlFileDialog/Local.vue +12 -4
- package/src/components/PlFileDialog/PlFileDialog.vue +13 -3
- package/src/components/PlFileDialog/Remote.vue +39 -11
- package/src/components/PlFileDialog/Shortcuts.vue +7 -1
- package/src/components/PlFileInput/PlFileInput.vue +44 -19
- package/src/components/PlLoaderCircular/PlLoaderCircular.vue +1 -1
- package/src/components/PlLoaderLogo.vue +6 -1
- package/src/components/PlLogView/PlLogView.vue +30 -8
- package/src/components/PlNotificationAlert/PlNotificationAlert.vue +15 -3
- package/src/components/PlNumberField/PlNumberField.vue +14 -3
- package/src/components/PlProgressBar/PlProgressBar.vue +12 -4
- package/src/components/PlProgressCell/PlProgressCell.vue +13 -4
- package/src/components/PlRadio/PlRadio.vue +10 -3
- package/src/components/PlRadio/PlRadioGroup.vue +3 -2
- package/src/components/PlSearchField/PlSearchField.vue +5 -3
- package/src/components/PlSectionSeparator/PlSectionSeparator.vue +6 -2
- package/src/components/PlSidebar/PlSidebarGroup.vue +2 -2
- package/src/components/PlSidebar/PlSidebarItem.vue +12 -4
- package/src/components/PlSlideModal/PlPureSlideModal.vue +7 -1
- package/src/components/PlSlideModal/PlSlideModal.vue +4 -3
- package/src/components/PlSpacer/PlSpacer.vue +1 -1
- package/src/components/PlSplash/PlSplash.vue +6 -3
- package/src/components/PlStatusTag/PlStatusTag.vue +1 -0
- package/src/components/PlTabs/PlTabs.vue +6 -2
- package/src/components/PlTextArea/PlTextArea.vue +21 -8
- package/src/components/PlTextField/PlTextField.vue +23 -8
- package/src/components/PlToggleSwitch/PlToggleSwitch.vue +4 -3
- package/src/components/PlTooltip/PlTooltip.vue +3 -0
- package/src/components/Slider.vue +27 -7
- package/src/components/SliderRange.vue +28 -7
- package/src/components/SliderRangeTriple.vue +19 -5
- package/src/components/TabItem.vue +2 -2
- package/src/components/contextMenu/Menu.vue +8 -3
- package/src/layout/PlBlockPage/PlBlockPage.vue +40 -11
- package/src/layout/PlContainer/PlContainer.vue +1 -0
- package/src/layout/PlGrid/PlGrid.vue +1 -1
- package/src/layout/PlPlaceholder/PlPlaceholder.vue +20 -8
- package/src/layout/PlRow/PlRow.vue +5 -1
- package/src/layout/PlSpacer/PlSpacer.vue +1 -1
|
@@ -2,7 +2,10 @@ import e from "../../components/PlLoaderLogo.js";
|
|
|
2
2
|
import t from "./paint-worklet.js";
|
|
3
3
|
import { Fragment as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, normalizeClass as c, openBlock as l, renderList as u, toDisplayString as d, unref as f, useCssModule as p } from "vue";
|
|
4
4
|
//#region src/layout/PlPlaceholder/PlPlaceholder.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
-
var m = {
|
|
5
|
+
var m = {
|
|
6
|
+
key: 1,
|
|
7
|
+
"data-testid": "pl-placeholder-subtitle-item"
|
|
8
|
+
}, h = new Blob([t], { type: "application/javascript" }), g = URL.createObjectURL(h);
|
|
6
9
|
CSS.paintWorklet.addModule(g);
|
|
7
10
|
var _ = /* @__PURE__ */ s({
|
|
8
11
|
__name: "PlPlaceholder",
|
|
@@ -13,22 +16,38 @@ var _ = /* @__PURE__ */ s({
|
|
|
13
16
|
},
|
|
14
17
|
setup(t) {
|
|
15
18
|
let s = t, h = p();
|
|
16
|
-
return (t, p) => (l(), i("div", {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
19
|
+
return (t, p) => (l(), i("div", {
|
|
20
|
+
"data-testid": "pl-placeholder",
|
|
21
|
+
class: c(f(h).root)
|
|
22
|
+
}, [a("div", {
|
|
23
|
+
"data-testid": "pl-placeholder-background",
|
|
24
|
+
class: c([f(h).background, {
|
|
25
|
+
[f(h).table]: s.variant === "table",
|
|
26
|
+
[f(h).graph]: s.variant === "graph"
|
|
27
|
+
}])
|
|
28
|
+
}, null, 2), a("div", {
|
|
29
|
+
"data-testid": "pl-placeholder-content",
|
|
30
|
+
class: c(f(h).content)
|
|
31
|
+
}, [o(e, {
|
|
32
|
+
"data-testid": "pl-placeholder-loader",
|
|
20
33
|
size: 64,
|
|
21
34
|
color: "var(--color-div-grey)"
|
|
22
35
|
}), s.title || s.subtitle ? (l(), i("div", {
|
|
23
36
|
key: 0,
|
|
37
|
+
"data-testid": "pl-placeholder-text",
|
|
24
38
|
class: c(f(h).text)
|
|
25
39
|
}, [s.title ? (l(), i("div", {
|
|
26
40
|
key: 0,
|
|
41
|
+
"data-testid": "pl-placeholder-title",
|
|
27
42
|
class: c(f(h).title)
|
|
28
43
|
}, d(s.title), 3)) : r("", !0), s.subtitle ? (l(), i("div", {
|
|
29
44
|
key: 1,
|
|
45
|
+
"data-testid": "pl-placeholder-subtitle",
|
|
30
46
|
class: c(f(h).subtitle)
|
|
31
|
-
}, [Array.isArray(s.subtitle) ? (l(!0), i(n, { key: 0 }, u(s.subtitle, (e, t) => (l(), i("span", {
|
|
47
|
+
}, [Array.isArray(s.subtitle) ? (l(!0), i(n, { key: 0 }, u(s.subtitle, (e, t) => (l(), i("span", {
|
|
48
|
+
key: t,
|
|
49
|
+
"data-testid": "pl-placeholder-subtitle-item"
|
|
50
|
+
}, d(e), 1))), 128)) : (l(), i("span", m, d(s.subtitle), 1))], 2)) : r("", !0)], 2)) : r("", !0)], 2)], 2));
|
|
32
51
|
}
|
|
33
52
|
});
|
|
34
53
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlPlaceholder.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/layout/PlPlaceholder/PlPlaceholder.vue"],"sourcesContent":["<script lang=\"ts\">\nimport paintWorkletCode from \"./paint-worklet.js?raw\";\n\nexport interface PlPlaceholderProps {\n variant?: \"table\" | \"graph\";\n title?: string;\n subtitle?: string | string[];\n}\n\n// Register paint worklet once at module load (uses blob URL to comply with CSP)\nconst workletBlob = new Blob([paintWorkletCode], { type: \"application/javascript\" });\nconst workletUrl = URL.createObjectURL(workletBlob);\n(\n CSS as unknown as {\n paintWorklet: { addModule: (url: string) => void };\n }\n).paintWorklet.addModule(workletUrl);\n</script>\n\n<script setup lang=\"ts\">\nimport { useCssModule } from \"vue\";\nimport PlLoaderLogo from \"../../components/PlLoaderLogo.vue\";\n\nconst props = defineProps<PlPlaceholderProps>();\n\nconst styles = useCssModule();\n</script>\n\n<template>\n <div :class=\"styles.root\">\n <div\n :class=\"[\n styles.background,\n {\n [styles.table]: props.variant === 'table',\n [styles.graph]: props.variant === 'graph',\n },\n ]\"\n />\n <div :class=\"styles.content\">\n <PlLoaderLogo :size=\"64\" color=\"var(--color-div-grey)\" />\n <div
|
|
1
|
+
{"version":3,"file":"PlPlaceholder.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/layout/PlPlaceholder/PlPlaceholder.vue"],"sourcesContent":["<script lang=\"ts\">\nimport paintWorkletCode from \"./paint-worklet.js?raw\";\n\nexport interface PlPlaceholderProps {\n variant?: \"table\" | \"graph\";\n title?: string;\n subtitle?: string | string[];\n}\n\n// Register paint worklet once at module load (uses blob URL to comply with CSP)\nconst workletBlob = new Blob([paintWorkletCode], { type: \"application/javascript\" });\nconst workletUrl = URL.createObjectURL(workletBlob);\n(\n CSS as unknown as {\n paintWorklet: { addModule: (url: string) => void };\n }\n).paintWorklet.addModule(workletUrl);\n</script>\n\n<script setup lang=\"ts\">\nimport { useCssModule } from \"vue\";\nimport PlLoaderLogo from \"../../components/PlLoaderLogo.vue\";\n\nconst props = defineProps<PlPlaceholderProps>();\n\nconst styles = useCssModule();\n</script>\n\n<template>\n <div data-testid=\"pl-placeholder\" :class=\"styles.root\">\n <div\n data-testid=\"pl-placeholder-background\"\n :class=\"[\n styles.background,\n {\n [styles.table]: props.variant === 'table',\n [styles.graph]: props.variant === 'graph',\n },\n ]\"\n />\n <div data-testid=\"pl-placeholder-content\" :class=\"styles.content\">\n <PlLoaderLogo data-testid=\"pl-placeholder-loader\" :size=\"64\" color=\"var(--color-div-grey)\" />\n <div\n v-if=\"props.title || props.subtitle\"\n data-testid=\"pl-placeholder-text\"\n :class=\"styles.text\"\n >\n <div v-if=\"props.title\" data-testid=\"pl-placeholder-title\" :class=\"styles.title\">\n {{ props.title }}\n </div>\n <div v-if=\"props.subtitle\" data-testid=\"pl-placeholder-subtitle\" :class=\"styles.subtitle\">\n <template v-if=\"Array.isArray(props.subtitle)\">\n <span\n v-for=\"(item, key) of props.subtitle\"\n :key\n data-testid=\"pl-placeholder-subtitle-item\"\n >{{ item }}</span\n >\n </template>\n <span v-else data-testid=\"pl-placeholder-subtitle-item\">{{ props.subtitle }}</span>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style module>\n.root {\n block-size: 100%;\n inline-size: 100%;\n position: relative;\n user-select: none;\n background-color: var(--bg-elevated-01);\n}\n\n.background {\n position: absolute;\n inset: 0;\n pointer-events: none;\n mask: linear-gradient(transparent 35%, #000 40% 60%, transparent 65%);\n mask-size: 100% 300%;\n animation-duration: 5s;\n animation-iteration-count: infinite;\n animation-name: slide;\n &.table {\n background-image: paint(pl-placeholder-table-skeleton);\n }\n &.graph {\n background-image: paint(pl-placeholder-graph-skeleton);\n }\n}\n\n.content {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 12px;\n}\n\n.text {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n -webkit-text-stroke-color: white;\n -webkit-text-stroke-width: 4px;\n paint-order: stroke;\n}\n\n.title {\n color: var(--txt-03);\n font-size: 20px;\n font-weight: 500;\n line-height: 24px;\n letter-spacing: -0.2px;\n}\n\n.subtitle {\n color: var(--txt-03);\n font-weight: 500;\n line-height: 20px;\n display: grid;\n span {\n grid-area: 1 / 1;\n text-align: center;\n animation-name: active-subtitle;\n animation-duration: calc(6s * sibling-count());\n animation-iteration-count: infinite;\n animation-timing-function: steps(sibling-count(), jump-none);\n visibility: if(\n style(--pl-placeholder-active-subtitle: sibling-index()): visible; else: hidden;\n );\n }\n}\n\n@keyframes slide {\n from {\n mask-position: 0 100%;\n }\n}\n\n@keyframes active-subtitle {\n from {\n --pl-placeholder-active-subtitle: 1;\n }\n to {\n --pl-placeholder-active-subtitle: sibling-count();\n }\n}\n\n@property --pl-placeholder-active-subtitle {\n syntax: \"<number>\";\n inherits: false;\n initial-value: 1;\n}\n</style>\n"],"mappings":";;;;;;;GAUM,IAAc,IAAI,KAAK,CAAC,EAAiB,EAAE,EAAE,MAAM,0BAA0B,CAAC,EAC9E,IAAa,IAAI,gBAAgB,EAAY;AAEjD,IAGA,aAAa,UAAU,EAAW;;;;;;;;;EAOpC,IAAM,IAAQ,GAER,IAAS,GAAc;yBAI3B,EAkCM,OAAA;GAlCD,eAAY;GAAkB,OAAK,EAAE,EAAA,EAAM,CAAC,KAAI;MACnD,EASE,OAAA;GARA,eAAY;GACX,OAAK,EAAA,CAAY,EAAA,EAAM,CAAC,YAAA;KAAiC,EAAA,EAAM,CAAC,QAAQ,EAAM,YAAO;KAAyB,EAAA,EAAM,CAAC,QAAQ,EAAM,YAAO;;eAQ7I,EAsBM,OAAA;GAtBD,eAAY;GAA0B,OAAK,EAAE,EAAA,EAAM,CAAC,QAAO;MAC9D,EAA6F,GAAA;GAA/E,eAAY;GAAyB,MAAM;GAAI,OAAM;MAE3D,EAAM,SAAS,EAAM,YAAA,GAAA,EAD7B,EAmBM,OAAA;;GAjBJ,eAAY;GACX,OAAK,EAAE,EAAA,EAAM,CAAC,KAAI;MAER,EAAM,SAAA,GAAA,EAAjB,EAEM,OAAA;;GAFkB,eAAY;GAAwB,OAAK,EAAE,EAAA,EAAM,CAAC,MAAK;OAC1E,EAAM,MAAK,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA,EAEL,EAAM,YAAA,GAAA,EAAjB,EAUM,OAAA;;GAVqB,eAAY;GAA2B,OAAK,EAAE,EAAA,EAAM,CAAC,SAAQ;MACtE,MAAM,QAAQ,EAAM,SAAQ,IAAA,EAAA,GAAA,EAC1C,EAKC,GAAA,EAAA,KAAA,GAAA,EAAA,EAJuB,EAAM,WAApB,GAAM,YADhB,EAKC,QAAA;GAHE;GACD,eAAY;OACR,EAAI,EAAA,EAAA,kBAGZ,EAAmF,QAAnF,GAAmF,EAAxB,EAAM,SAAQ,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA,CAAA,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA,CAAA,EAAA,EAAA,CAAA,EAAA,EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlRow.js","names":[],"sources":["../../../src/layout/PlRow/PlRow.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Horizontal Flex flow container */\nexport default {\n name: \"PlRow\",\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport \"./pl-row.scss\";\n\ndefineProps<{\n wrap?: boolean;\n alignCenter?: boolean;\n noGap?: boolean;\n}>();\n</script>\n\n<template>\n <div
|
|
1
|
+
{"version":3,"file":"PlRow.js","names":[],"sources":["../../../src/layout/PlRow/PlRow.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Horizontal Flex flow container */\nexport default {\n name: \"PlRow\",\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport \"./pl-row.scss\";\n\ndefineProps<{\n wrap?: boolean;\n alignCenter?: boolean;\n noGap?: boolean;\n}>();\n</script>\n\n<template>\n <div\n class=\"pl-layout-component pl-row\"\n data-testid=\"pl-row\"\n :class=\"{ wrap, 'align-center': alignCenter }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlRow.vue.d.ts","sourceRoot":"","sources":["../../../src/layout/PlRow/PlRow.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlRow.vue.d.ts","sourceRoot":"","sources":["../../../src/layout/PlRow/PlRow.vue"],"names":[],"mappings":"AA6BA,OAAO,eAAe,CAAC;AAGvB,qCAAqC;wBAChB,OAAO,YAAY;AAAxC,wBAAyC;AAKzC,QAAA,MAAM,YAAY;WAET,OAAO;kBACA,OAAO;YACb,OAAO;;WAFR,OAAO;kBACA,OAAO;YACb,OAAO;;cA+BH,CAAC,KAAK,IAAgB,KAAK,GAAG;EASxC,CAAC;AACL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|
|
@@ -8,10 +8,13 @@ var a = /* @__PURE__ */ t({
|
|
|
8
8
|
noGap: { type: Boolean }
|
|
9
9
|
},
|
|
10
10
|
setup(t) {
|
|
11
|
-
return (a, o) => (r(), e("div", {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
return (a, o) => (r(), e("div", {
|
|
12
|
+
class: n(["pl-layout-component pl-row", {
|
|
13
|
+
wrap: t.wrap,
|
|
14
|
+
"align-center": t.alignCenter
|
|
15
|
+
}]),
|
|
16
|
+
"data-testid": "pl-row"
|
|
17
|
+
}, [i(a.$slots, "default")], 2));
|
|
15
18
|
}
|
|
16
19
|
});
|
|
17
20
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlRow.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/layout/PlRow/PlRow.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Horizontal Flex flow container */\nexport default {\n name: \"PlRow\",\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport \"./pl-row.scss\";\n\ndefineProps<{\n wrap?: boolean;\n alignCenter?: boolean;\n noGap?: boolean;\n}>();\n</script>\n\n<template>\n <div
|
|
1
|
+
{"version":3,"file":"PlRow.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/layout/PlRow/PlRow.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Horizontal Flex flow container */\nexport default {\n name: \"PlRow\",\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport \"./pl-row.scss\";\n\ndefineProps<{\n wrap?: boolean;\n alignCenter?: boolean;\n noGap?: boolean;\n}>();\n</script>\n\n<template>\n <div\n class=\"pl-layout-component pl-row\"\n data-testid=\"pl-row\"\n :class=\"{ wrap, 'align-center': alignCenter }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;CAGE,MAAM;;;;;;;yBAeN,EAMM,OAAA;GALJ,OAAK,EAAA,CAAC,8BAA4B;IAAA,MAExB,EAAA;IAAI,gBAAkB,EAAA;IAAW,CAAA,CAAA;GAD3C,eAAY;MAGZ,EAAQ,EAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlSpacer.js","names":[],"sources":["../../../src/layout/PlSpacer/PlSpacer.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Fills flex remaining space */\nexport default {\n name: \"PlSpacer\",\n};\n</script>\n\n<script lang=\"ts\" setup>\n//\n</script>\n\n<template>\n <div class=\"pl-layout-component\" style=\"flex-grow: 1\" />\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"PlSpacer.js","names":[],"sources":["../../../src/layout/PlSpacer/PlSpacer.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Fills flex remaining space */\nexport default {\n name: \"PlSpacer\",\n};\n</script>\n\n<script lang=\"ts\" setup>\n//\n</script>\n\n<template>\n <div class=\"pl-layout-component\" data-testid=\"pl-spacer\" style=\"flex-grow: 1\" />\n</template>\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlSpacer.vue.d.ts","sourceRoot":"","sources":["../../../src/layout/PlSpacer/PlSpacer.vue"],"names":[],"mappings":"AAkBA,iCAAiC;wBACZ,OAAO,YAAY;AAAxC,wBAAyC;AAKzC,QAAA,MAAM,YAAY,+
|
|
1
|
+
{"version":3,"file":"PlSpacer.vue.d.ts","sourceRoot":"","sources":["../../../src/layout/PlSpacer/PlSpacer.vue"],"names":[],"mappings":"AAkBA,iCAAiC;wBACZ,OAAO,YAAY;AAAxC,wBAAyC;AAKzC,QAAA,MAAM,YAAY,+QAqBd,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { createElementBlock as e, defineComponent as t, openBlock as n } from "v
|
|
|
2
2
|
//#region src/layout/PlSpacer/PlSpacer.vue?vue&type=script&setup=true&lang.ts
|
|
3
3
|
var r = {
|
|
4
4
|
class: "pl-layout-component",
|
|
5
|
+
"data-testid": "pl-spacer",
|
|
5
6
|
style: { "flex-grow": "1" }
|
|
6
7
|
}, i = /* @__PURE__ */ t({
|
|
7
8
|
name: "PlSpacer",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlSpacer.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/layout/PlSpacer/PlSpacer.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Fills flex remaining space */\nexport default {\n name: \"PlSpacer\",\n};\n</script>\n\n<script lang=\"ts\" setup>\n//\n</script>\n\n<template>\n <div class=\"pl-layout-component\" style=\"flex-grow: 1\" />\n</template>\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlSpacer.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/layout/PlSpacer/PlSpacer.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Fills flex remaining space */\nexport default {\n name: \"PlSpacer\",\n};\n</script>\n\n<script lang=\"ts\" setup>\n//\n</script>\n\n<template>\n <div class=\"pl-layout-component\" data-testid=\"pl-spacer\" style=\"flex-grow: 1\" />\n</template>\n"],"mappings":";;;;;;;CAGE,MAAM;;yBASN,EAAgF,OAAhF,EAAgF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/uikit",
|
|
3
|
-
"version": "2.15.
|
|
3
|
+
"version": "2.15.38",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"sortablejs": "^1.15.6",
|
|
33
33
|
"vue": "3.5.24",
|
|
34
34
|
"@milaboratories/helpers": "1.14.5",
|
|
35
|
-
"@platforma-sdk/model": "1.84.
|
|
35
|
+
"@platforma-sdk/model": "1.84.10"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@vitest/coverage-istanbul": "^4.1.3",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
"svgo": "^3.3.2",
|
|
41
41
|
"typescript": "7.0.2",
|
|
42
42
|
"vitest": "^4.1.3",
|
|
43
|
-
"@milaboratories/
|
|
43
|
+
"@milaboratories/ts-builder": "1.7.2",
|
|
44
44
|
"@milaboratories/ts-configs": "1.4.0",
|
|
45
|
-
"@milaboratories/
|
|
45
|
+
"@milaboratories/build-configs": "2.0.2"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"dev": "ts-builder serve --target browser-lib --build-config ./build.browser-lib.config.js",
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
2
|
+
import { mount } from "@vue/test-utils";
|
|
3
|
+
import type { Component } from "vue";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Every component ships a default `data-testid` on its root, `pl-<component-kebab>`, so E2E tests
|
|
7
|
+
* can find it without the consuming app configuring anything. A `data-testid` passed by the caller
|
|
8
|
+
* replaces it.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// Components without a root element to mark, or whose root needs data these generic props don't give.
|
|
12
|
+
const exempt: Record<string, string> = {
|
|
13
|
+
PlAccordion: "renders only slots",
|
|
14
|
+
PlErrorBoundary: "renders its slot plus an alert, no own root",
|
|
15
|
+
PlProgressBar: "renders nothing unless loading",
|
|
16
|
+
PlStatusTag: "renders nothing without a type",
|
|
17
|
+
PlChartHistogram: "needs chart data to mount",
|
|
18
|
+
PlChartStackedBar: "needs chart data to mount",
|
|
19
|
+
PlChartStackedBarCompact: "needs chart data to mount",
|
|
20
|
+
PlIcon16: "icon",
|
|
21
|
+
PlIcon24: "icon",
|
|
22
|
+
PlMaskIcon16: "icon",
|
|
23
|
+
PlMaskIcon24: "icon",
|
|
24
|
+
PlSvg: "icon",
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const genericProps = {
|
|
28
|
+
modelValue: true,
|
|
29
|
+
options: [],
|
|
30
|
+
items: [],
|
|
31
|
+
label: "L",
|
|
32
|
+
loading: true,
|
|
33
|
+
type: "info",
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const kebab = (name: string) => name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
37
|
+
|
|
38
|
+
// vitest cannot compile PlSlideModal and PlProgressCell (imported types in defineProps), so they are
|
|
39
|
+
// left out of the glob; both mark their root in the template.
|
|
40
|
+
const modules = import.meta.glob<Record<string, unknown>>([
|
|
41
|
+
"../components/Pl*/index.ts",
|
|
42
|
+
"../layout/Pl*/index.ts",
|
|
43
|
+
"!../components/PlSlideModal/index.ts",
|
|
44
|
+
"!../components/PlProgressCell/index.ts",
|
|
45
|
+
]);
|
|
46
|
+
|
|
47
|
+
function isComponent(value: unknown): value is Component {
|
|
48
|
+
return typeof value === "object" && value !== null && ("setup" in value || "render" in value);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async function collect(): Promise<[string, Component][]> {
|
|
52
|
+
const found: [string, Component][] = [];
|
|
53
|
+
for (const load of Object.values(modules)) {
|
|
54
|
+
for (const [name, value] of Object.entries(await load())) {
|
|
55
|
+
if (/^Pl[A-Z]/.test(name) && !(name in exempt) && isComponent(value))
|
|
56
|
+
found.push([name, value]);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return found.sort(([a], [b]) => a.localeCompare(b));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// jsdom has no CSS Houdini; PlPlaceholder registers a paint worklet when its module loads.
|
|
63
|
+
Object.defineProperty(globalThis, "CSS", {
|
|
64
|
+
configurable: true,
|
|
65
|
+
value: { paintWorklet: { addModule: () => {} }, supports: () => false, escape: (s: string) => s },
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
const components = await collect();
|
|
69
|
+
|
|
70
|
+
describe("default data-testid", () => {
|
|
71
|
+
afterEach(() => {
|
|
72
|
+
document.body.innerHTML = "";
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it.each(components)("%s marks its root", async (name, component) => {
|
|
76
|
+
const wrapper = mount(component, { attachTo: document.body, props: genericProps });
|
|
77
|
+
await wrapper.vm.$nextTick();
|
|
78
|
+
|
|
79
|
+
expect(document.body.querySelector(`[data-testid="${kebab(name)}"]`)).not.toBeNull();
|
|
80
|
+
wrapper.unmount();
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
it.each(components)("%s lets the caller replace the root id", async (name, component) => {
|
|
84
|
+
const wrapper = mount(component, {
|
|
85
|
+
attachTo: document.body,
|
|
86
|
+
props: genericProps,
|
|
87
|
+
attrs: { "data-testid": "from-caller" },
|
|
88
|
+
});
|
|
89
|
+
await wrapper.vm.$nextTick();
|
|
90
|
+
|
|
91
|
+
expect(document.body.querySelector('[data-testid="from-caller"]')).not.toBeNull();
|
|
92
|
+
expect(document.body.querySelector(`[data-testid="${kebab(name)}"]`)).toBeNull();
|
|
93
|
+
wrapper.unmount();
|
|
94
|
+
});
|
|
95
|
+
});
|
package/src/base/BtnBase.vue
CHANGED
|
@@ -36,12 +36,12 @@ useRipple(btn);
|
|
|
36
36
|
:class="{ loading, small, large, round, reverse, justifyCenter, [$attrs.class + '']: true }"
|
|
37
37
|
v-bind="{ ...$attrs, disabled: Boolean($attrs.disabled) || loading }"
|
|
38
38
|
>
|
|
39
|
-
<span v-if="!round">
|
|
39
|
+
<span v-if="!round" data-testid="pl-btn-label">
|
|
40
40
|
<slot />
|
|
41
41
|
</span>
|
|
42
42
|
<slot name="icon">
|
|
43
|
-
<PlMaskIcon16 v-if="loading" name="loading" :size="size" />
|
|
44
|
-
<PlMaskIcon16 v-else-if="icon" :name="icon" :size="size" />
|
|
43
|
+
<PlMaskIcon16 v-if="loading" data-testid="pl-btn-loading" name="loading" :size="size" />
|
|
44
|
+
<PlMaskIcon16 v-else-if="icon" data-testid="pl-btn-icon" :name="icon" :size="size" />
|
|
45
45
|
</slot>
|
|
46
46
|
</button>
|
|
47
47
|
</template>
|
|
@@ -47,21 +47,31 @@ const checkboxSvg = computed(() => (props.isSelected ? CheckboxCheckedSvg : Chec
|
|
|
47
47
|
</script>
|
|
48
48
|
|
|
49
49
|
<template>
|
|
50
|
-
<div :class="classes" class="dropdown-list-item">
|
|
50
|
+
<div :class="classes" class="dropdown-list-item" data-testid="pl-dropdown-list-item">
|
|
51
51
|
<!-- eslint-disable vue/no-v-html -->
|
|
52
|
-
<div
|
|
52
|
+
<div
|
|
53
|
+
v-if="props.useCheckbox"
|
|
54
|
+
:class="checkboxClasses"
|
|
55
|
+
data-testid="pl-dropdown-list-item-checkbox"
|
|
56
|
+
v-html="checkboxSvg"
|
|
57
|
+
/>
|
|
53
58
|
<!--eslint-enable-->
|
|
54
59
|
<div class="dropdown-list-item__title-container">
|
|
55
|
-
<div class="dropdown-list-item__title text-s">
|
|
60
|
+
<div class="dropdown-list-item__title text-s" data-testid="pl-dropdown-list-item-title">
|
|
56
61
|
{{ option.label }}
|
|
57
62
|
</div>
|
|
58
|
-
<div
|
|
63
|
+
<div
|
|
64
|
+
v-if="option.description"
|
|
65
|
+
class="dropdown-list-item__description text-description"
|
|
66
|
+
data-testid="pl-dropdown-list-item-description"
|
|
67
|
+
>
|
|
59
68
|
{{ option.description }}
|
|
60
69
|
</div>
|
|
61
70
|
</div>
|
|
62
71
|
<div
|
|
63
72
|
v-if="!props.useCheckbox && props.isSelected"
|
|
64
73
|
class="dropdown-list-item__icon flex-self-start"
|
|
74
|
+
data-testid="pl-dropdown-list-item-selected-icon"
|
|
65
75
|
/>
|
|
66
76
|
</div>
|
|
67
77
|
</template>
|
|
@@ -77,9 +77,10 @@ function validateInput(isLeft: boolean, event: Event) {
|
|
|
77
77
|
|
|
78
78
|
<template>
|
|
79
79
|
<!-- {{ data }} -->
|
|
80
|
-
<div :class="classes" class="ui-input-range" v-bind="$attrs">
|
|
80
|
+
<div :class="classes" class="ui-input-range" data-testid="pl-input-range" v-bind="$attrs">
|
|
81
81
|
<input
|
|
82
82
|
v-model="valuesModel.left"
|
|
83
|
+
data-testid="pl-input-range-left"
|
|
83
84
|
class="text-s"
|
|
84
85
|
type="text"
|
|
85
86
|
@change="updateModel"
|
|
@@ -87,9 +88,12 @@ function validateInput(isLeft: boolean, event: Event) {
|
|
|
87
88
|
@focusout="isFocused = false"
|
|
88
89
|
@input="validateInput(true, $event)"
|
|
89
90
|
/>
|
|
90
|
-
<div class="ui-input-range__separator">
|
|
91
|
+
<div data-testid="pl-input-range-separator" class="ui-input-range__separator">
|
|
92
|
+
{{ props.separator }}
|
|
93
|
+
</div>
|
|
91
94
|
<input
|
|
92
95
|
v-model="valuesModel.right"
|
|
96
|
+
data-testid="pl-input-range-right"
|
|
93
97
|
class="text-s"
|
|
94
98
|
type="text"
|
|
95
99
|
@change="updateModel"
|
|
@@ -50,13 +50,22 @@ defineProps<{
|
|
|
50
50
|
</script>
|
|
51
51
|
|
|
52
52
|
<template>
|
|
53
|
-
<div class="pl-accordion-section">
|
|
54
|
-
<PlSectionSeparator
|
|
55
|
-
|
|
53
|
+
<div class="pl-accordion-section" data-testid="pl-accordion-section">
|
|
54
|
+
<PlSectionSeparator
|
|
55
|
+
data-testid="pl-accordion-section-header"
|
|
56
|
+
:class="$style.separator"
|
|
57
|
+
:compact="compact"
|
|
58
|
+
@click="open = !open"
|
|
59
|
+
>
|
|
60
|
+
<PlMaskIcon16
|
|
61
|
+
data-testid="pl-accordion-section-chevron"
|
|
62
|
+
name="chevron-right"
|
|
63
|
+
:class="[{ [$style.down]: open }, $style.chevron]"
|
|
64
|
+
/>
|
|
56
65
|
{{ label }}
|
|
57
66
|
</PlSectionSeparator>
|
|
58
67
|
<ExpandTransition>
|
|
59
|
-
<div v-if="open" :class="$style.content">
|
|
68
|
+
<div v-if="open" data-testid="pl-accordion-section-body" :class="$style.content">
|
|
60
69
|
<slot />
|
|
61
70
|
</div>
|
|
62
71
|
</ExpandTransition>
|
|
@@ -80,19 +80,21 @@ const iconMap = {
|
|
|
80
80
|
<template>
|
|
81
81
|
<div
|
|
82
82
|
v-if="modelValue"
|
|
83
|
+
data-testid="pl-alert"
|
|
83
84
|
class="pl-alert"
|
|
84
85
|
:style="{ maxHeight }"
|
|
85
86
|
:class="[{ monospace, whiteSpacePre }, type ? `pl-alert__${type}` : '']"
|
|
86
87
|
>
|
|
87
|
-
<div v-if="icon && type" class="pl-alert__icon">
|
|
88
|
+
<div v-if="icon && type" data-testid="pl-alert-icon" class="pl-alert__icon">
|
|
88
89
|
<div :class="`icon-24 icon-${iconMap[type]}`" />
|
|
89
90
|
</div>
|
|
90
91
|
<div class="pl-alert__main">
|
|
91
|
-
<label v-if="label">{{ label }}</label>
|
|
92
|
-
<div class="pl-alert__main__text"><slot /></div>
|
|
92
|
+
<label v-if="label" data-testid="pl-alert-label">{{ label }}</label>
|
|
93
|
+
<div data-testid="pl-alert-message" class="pl-alert__main__text"><slot /></div>
|
|
93
94
|
</div>
|
|
94
95
|
<PlCloseModalBtn
|
|
95
96
|
v-if="closeable"
|
|
97
|
+
data-testid="pl-alert-close"
|
|
96
98
|
class="pl-alert__close-btn"
|
|
97
99
|
@click="$emit('update:modelValue', false)"
|
|
98
100
|
/>
|
|
@@ -378,11 +378,16 @@ watch(
|
|
|
378
378
|
</script>
|
|
379
379
|
|
|
380
380
|
<template>
|
|
381
|
-
<div
|
|
381
|
+
<div
|
|
382
|
+
class="pl-autocomplete__envelope"
|
|
383
|
+
@click.stop="setFocusOnInput"
|
|
384
|
+
data-testid="pl-autocomplete"
|
|
385
|
+
>
|
|
382
386
|
<div
|
|
383
387
|
ref="rootRef"
|
|
384
388
|
:tabindex="tabindex"
|
|
385
389
|
class="pl-autocomplete"
|
|
390
|
+
data-testid="pl-autocomplete-control"
|
|
386
391
|
:class="{ open: data.open, error: Boolean(computedError), disabled: isDisabled }"
|
|
387
392
|
@keydown="handleKeydown"
|
|
388
393
|
@focusout="onFocusOut"
|
|
@@ -398,23 +403,33 @@ watch(
|
|
|
398
403
|
:placeholder="computedPlaceholder"
|
|
399
404
|
spellcheck="false"
|
|
400
405
|
autocomplete="chrome-off"
|
|
406
|
+
data-testid="pl-autocomplete-input"
|
|
401
407
|
@focus="onInputFocus"
|
|
402
408
|
/>
|
|
403
409
|
|
|
404
|
-
<div v-if="!data.open" class="input-value">
|
|
410
|
+
<div v-if="!data.open" class="input-value" data-testid="pl-autocomplete-value">
|
|
405
411
|
<LongText> {{ textValue }} </LongText>
|
|
406
412
|
</div>
|
|
407
413
|
|
|
408
414
|
<div class="pl-autocomplete__controls">
|
|
409
|
-
<PlMaskIcon24
|
|
415
|
+
<PlMaskIcon24
|
|
416
|
+
v-if="isLoadingOptions"
|
|
417
|
+
name="loading"
|
|
418
|
+
data-testid="pl-autocomplete-loading"
|
|
419
|
+
/>
|
|
410
420
|
<PlIcon16
|
|
411
421
|
v-if="clearable && hasValue"
|
|
412
422
|
class="clear"
|
|
423
|
+
data-testid="pl-autocomplete-clear"
|
|
413
424
|
name="delete-clear"
|
|
414
425
|
@click.stop="clear"
|
|
415
426
|
/>
|
|
416
427
|
<slot name="append" />
|
|
417
|
-
<div
|
|
428
|
+
<div
|
|
429
|
+
class="pl-autocomplete__arrow-wrapper"
|
|
430
|
+
data-testid="pl-autocomplete-arrow"
|
|
431
|
+
@click.stop="toggleOpen"
|
|
432
|
+
>
|
|
418
433
|
<div
|
|
419
434
|
v-if="arrowIconLarge"
|
|
420
435
|
class="arrow-icon"
|
|
@@ -425,10 +440,15 @@ watch(
|
|
|
425
440
|
</div>
|
|
426
441
|
</div>
|
|
427
442
|
</div>
|
|
428
|
-
<label v-if="label">
|
|
429
|
-
<PlSvg v-if="required" :uri="SvgRequired" />
|
|
443
|
+
<label v-if="label" data-testid="pl-autocomplete-label">
|
|
444
|
+
<PlSvg v-if="required" :uri="SvgRequired" data-testid="pl-autocomplete-required" />
|
|
430
445
|
<span>{{ label }}</span>
|
|
431
|
-
<PlTooltip
|
|
446
|
+
<PlTooltip
|
|
447
|
+
v-if="slots.tooltip"
|
|
448
|
+
class="info"
|
|
449
|
+
position="top"
|
|
450
|
+
data-testid="pl-autocomplete-tooltip"
|
|
451
|
+
>
|
|
432
452
|
<template #tooltip>
|
|
433
453
|
<slot name="tooltip" />
|
|
434
454
|
</template>
|
|
@@ -439,6 +459,7 @@ watch(
|
|
|
439
459
|
ref="overlay"
|
|
440
460
|
:root="rootRef"
|
|
441
461
|
class="pl-autocomplete__options"
|
|
462
|
+
data-testid="pl-autocomplete-options"
|
|
442
463
|
tabindex="-1"
|
|
443
464
|
:gap="3"
|
|
444
465
|
>
|
|
@@ -449,17 +470,32 @@ watch(
|
|
|
449
470
|
:is-selected="item.isSelected"
|
|
450
471
|
:is-hovered="item.isActive"
|
|
451
472
|
:size="optionSize"
|
|
473
|
+
data-testid="pl-autocomplete-option"
|
|
452
474
|
@click.stop="selectOption(item)"
|
|
453
475
|
/>
|
|
454
|
-
<div
|
|
476
|
+
<div
|
|
477
|
+
v-if="!renderedOptionsRef.length"
|
|
478
|
+
class="nothing-found"
|
|
479
|
+
data-testid="pl-autocomplete-options-empty"
|
|
480
|
+
>
|
|
481
|
+
Nothing found
|
|
482
|
+
</div>
|
|
455
483
|
</DropdownOverlay>
|
|
456
484
|
<DoubleContour class="pl-autocomplete__contour" :group-position="groupPosition" />
|
|
457
485
|
</div>
|
|
458
486
|
</div>
|
|
459
|
-
<div v-if="computedError" class="pl-autocomplete__error"
|
|
460
|
-
|
|
487
|
+
<div v-if="computedError" class="pl-autocomplete__error" data-testid="pl-autocomplete-error">
|
|
488
|
+
{{ computedError }}
|
|
489
|
+
</div>
|
|
490
|
+
<div
|
|
491
|
+
v-else-if="isLoadingOptions && loadingOptionsHelper"
|
|
492
|
+
class="pl-autocomplete__helper"
|
|
493
|
+
data-testid="pl-autocomplete-helper"
|
|
494
|
+
>
|
|
461
495
|
{{ loadingOptionsHelper }}
|
|
462
496
|
</div>
|
|
463
|
-
<div v-else-if="helper" class="pl-autocomplete__helper"
|
|
497
|
+
<div v-else-if="helper" class="pl-autocomplete__helper" data-testid="pl-autocomplete-helper">
|
|
498
|
+
{{ helper }}
|
|
499
|
+
</div>
|
|
464
500
|
</div>
|
|
465
501
|
</template>
|