@milaboratories/uikit 2.10.15 → 2.10.16
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/.oxfmtrc.json +4 -0
- package/.oxlintrc.json +3 -0
- package/.prettierrc +1 -1
- package/.turbo/turbo-build.log +190 -190
- package/.turbo/turbo-formatter$colon$check.log +12 -0
- package/.turbo/turbo-linter$colon$check.log +10 -0
- package/.turbo/{turbo-type-check.log → turbo-types$colon$check.log} +2 -2
- package/CHANGELOG.md +9 -0
- package/build.browser-lib.config.js +6 -6
- package/dist/base/BtnBase.vue.js.map +1 -1
- package/dist/colors/color.d.ts.map +1 -1
- package/dist/colors/color.js.map +1 -1
- package/dist/colors/gradient.d.ts.map +1 -1
- package/dist/colors/gradient.js.map +1 -1
- package/dist/colors/palette.js.map +1 -1
- package/dist/components/ContextProvider.vue.js.map +1 -1
- package/dist/components/DataTable/BaseCellComponent.vue.js.map +1 -1
- package/dist/components/DataTable/ColumnCaret.vue.js.map +1 -1
- package/dist/components/DataTable/ColumnsCommandMenu.vue.d.ts.map +1 -1
- package/dist/components/DataTable/ColumnsCommandMenu.vue.js.map +1 -1
- package/dist/components/DataTable/RowsCommandMenu.vue.d.ts.map +1 -1
- package/dist/components/DataTable/RowsCommandMenu.vue.js.map +1 -1
- package/dist/components/DataTable/TScroll.vue.d.ts.map +1 -1
- package/dist/components/DataTable/TScroll.vue.js +6 -1
- package/dist/components/DataTable/TScroll.vue.js.map +1 -1
- package/dist/components/DataTable/TableComponent.vue.d.ts.map +1 -1
- package/dist/components/DataTable/TableComponent.vue.js.map +1 -1
- package/dist/components/DataTable/TdCell.vue.d.ts.map +1 -1
- package/dist/components/DataTable/TdCell.vue.js +3 -1
- package/dist/components/DataTable/TdCell.vue.js.map +1 -1
- package/dist/components/DataTable/ThCell.vue.d.ts.map +1 -1
- package/dist/components/DataTable/ThCell.vue.js.map +1 -1
- package/dist/components/DataTable/TrBody.vue.d.ts.map +1 -1
- package/dist/components/DataTable/TrBody.vue.js.map +1 -1
- package/dist/components/DataTable/adapters/AsyncData.d.ts +1 -1
- package/dist/components/DataTable/adapters/AsyncData.js.map +1 -1
- package/dist/components/DataTable/adapters/RawData.d.ts +1 -1
- package/dist/components/DataTable/adapters/RawData.js.map +1 -1
- package/dist/components/DataTable/assets/TableIcon.vue.d.ts.map +1 -1
- package/dist/components/DataTable/assets/TableIcon.vue.js.map +1 -1
- package/dist/components/DataTable/composition/useColumn.d.ts.map +1 -1
- package/dist/components/DataTable/composition/useColumn.js.map +1 -1
- package/dist/components/DataTable/composition/useMouseUp.js.map +1 -1
- package/dist/components/DataTable/composition/useResize.js.map +1 -1
- package/dist/components/DataTable/composition/useTableColumns.js.map +1 -1
- package/dist/components/DataTable/composition/useTableRows.js.map +1 -1
- package/dist/components/DataTable/domain.d.ts +1 -1
- package/dist/components/DataTable/domain.d.ts.map +1 -1
- package/dist/components/DataTable/domain.js.map +1 -1
- package/dist/components/DataTable/index.d.ts +1 -1
- package/dist/components/DataTable/index.d.ts.map +1 -1
- package/dist/components/DataTable/index.js +5 -1
- package/dist/components/DataTable/index.js.map +1 -1
- package/dist/components/DataTable/keys.js.map +1 -1
- package/dist/components/DataTable/state.d.ts.map +1 -1
- package/dist/components/DataTable/state.js +10 -4
- package/dist/components/DataTable/state.js.map +1 -1
- package/dist/components/DataTable/types.d.ts +3 -3
- package/dist/components/DropdownListItem.vue.d.ts +1 -1
- package/dist/components/DropdownListItem.vue.d.ts.map +1 -1
- package/dist/components/DropdownListItem.vue.js.map +1 -1
- package/dist/components/GridTable/domain.d.ts +1 -1
- package/dist/components/GridTable/domain.d.ts.map +1 -1
- package/dist/components/GridTable/types.d.ts +4 -4
- package/dist/components/GridTable/types.d.ts.map +1 -1
- package/dist/components/GridTable/useColumn.d.ts.map +1 -1
- package/dist/components/HScroll.vue.js.map +1 -1
- package/dist/components/InputRange.vue.d.ts.map +1 -1
- package/dist/components/InputRange.vue.js +3 -1
- package/dist/components/InputRange.vue.js.map +1 -1
- package/dist/components/LongText.vue.d.ts.map +1 -1
- package/dist/components/LongText.vue.js +9 -7
- package/dist/components/LongText.vue.js.map +1 -1
- package/dist/components/PlAccordion/ExpandTransition.vue.d.ts.map +1 -1
- package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordion.vue.js.map +1 -1
- package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
- package/dist/components/PlAlert/PlAlert.vue.d.ts.map +1 -1
- package/dist/components/PlAlert/PlAlert.vue.js.map +1 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.d.ts.map +1 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +40 -19
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.js.map +1 -1
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts +2 -2
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts.map +1 -1
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js +22 -12
- package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js.map +1 -1
- package/dist/components/PlAutocompleteMulti/index.d.ts +1 -1
- package/dist/components/PlAutocompleteMulti/index.d.ts.map +1 -1
- package/dist/components/PlBtnAccent/PlBtnAccent.vue.js.map +1 -1
- package/dist/components/PlBtnDanger/PlBtnDanger.vue.js.map +1 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.vue.js.map +1 -1
- package/dist/components/PlBtnGroup/PlBtnGroup.vue.js.map +1 -1
- package/dist/components/PlBtnLink/PlBtnLink.vue.d.ts.map +1 -1
- package/dist/components/PlBtnLink/PlBtnLink.vue.js.map +1 -1
- package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.js.map +1 -1
- package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.js.map +1 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.vue.d.ts.map +1 -1
- package/dist/components/PlBtnSplit/PlBtnSplit.vue.js +6 -4
- package/dist/components/PlBtnSplit/PlBtnSplit.vue.js.map +1 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.vue.d.ts.map +1 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +8 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
- package/dist/components/PlChartHistogram/PlChartHistogram.vue3.js +4 -4
- package/dist/components/PlChartHistogram/createGridlines.d.ts.map +1 -1
- package/dist/components/PlChartHistogram/createGridlines.js +5 -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.map +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.map +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 +6 -2
- package/dist/components/PlChartHistogram/histogram.js.map +1 -1
- package/dist/components/PlChartHistogram/normalizeBins.js.map +1 -1
- package/dist/components/PlChartHistogram/types.d.ts +2 -2
- package/dist/components/PlChartHistogram/types.d.ts.map +1 -1
- package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue.d.ts.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +6 -4
- package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRow.vue.d.ts.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.vue.d.ts.map +1 -1
- package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
- package/dist/components/PlCheckbox/PlCheckbox.vue.js.map +1 -1
- package/dist/components/PlCheckbox/PlCheckboxBase.vue.d.ts.map +1 -1
- package/dist/components/PlCheckbox/PlCheckboxBase.vue.js.map +1 -1
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.d.ts.map +1 -1
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js +8 -2
- package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js.map +1 -1
- package/dist/components/PlChip/PlChip.vue.d.ts.map +1 -1
- package/dist/components/PlChip/PlChip.vue.js.map +1 -1
- package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
- package/dist/components/PlConfirmDialog.vue.d.ts.map +1 -1
- package/dist/components/PlConfirmDialog.vue.js.map +1 -1
- package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts.map +1 -1
- package/dist/components/PlDialogModal/PlDialogModal.vue.js +4 -1
- package/dist/components/PlDialogModal/PlDialogModal.vue.js.map +1 -1
- package/dist/components/PlDropdown/OptionList.vue.d.ts +1 -1
- package/dist/components/PlDropdown/OptionList.vue.d.ts.map +1 -1
- package/dist/components/PlDropdown/OptionList.vue.js.map +1 -1
- package/dist/components/PlDropdown/PlDropdown.vue.d.ts.map +1 -1
- package/dist/components/PlDropdown/PlDropdown.vue.js.map +1 -1
- package/dist/components/PlDropdown/types.d.ts.map +1 -1
- package/dist/components/PlDropdown/useGroupBy.d.ts.map +1 -1
- package/dist/components/PlDropdown/useGroupBy.js.map +1 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js.map +1 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts +1 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.vue.js +5 -3
- package/dist/components/PlDropdownLine/PlDropdownLine.vue.js.map +1 -1
- package/dist/components/PlDropdownLine/ResizableInput.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownLine/ResizableInput.vue.js.map +1 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js.map +1 -1
- package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.js.map +1 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.vue.js.map +1 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts.map +1 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.vue.js.map +1 -1
- package/dist/components/PlElementList/PlElementList.vue.d.ts.map +1 -1
- package/dist/components/PlElementList/PlElementList.vue2.js +9 -2
- package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
- package/dist/components/PlElementList/PlElementList.vue3.js +4 -4
- package/dist/components/PlElementList/PlElementListItem.vue.d.ts.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.vue2.js +25 -13
- package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.vue3.js +20 -20
- package/dist/components/PlElementList/utils.d.ts.map +1 -1
- package/dist/components/PlElementList/utils.js +3 -1
- package/dist/components/PlElementList/utils.js.map +1 -1
- package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.d.ts.map +1 -1
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js +4 -1
- package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js.map +1 -1
- package/dist/components/PlFileDialog/Local.vue.d.ts.map +1 -1
- package/dist/components/PlFileDialog/Local.vue.js +6 -2
- package/dist/components/PlFileDialog/Local.vue.js.map +1 -1
- package/dist/components/PlFileDialog/PlFileDialog.vue.d.ts.map +1 -1
- package/dist/components/PlFileDialog/PlFileDialog.vue.js +3 -1
- package/dist/components/PlFileDialog/PlFileDialog.vue.js.map +1 -1
- package/dist/components/PlFileDialog/Remote.vue.d.ts.map +1 -1
- package/dist/components/PlFileDialog/Remote.vue.js +6 -2
- package/dist/components/PlFileDialog/Remote.vue.js.map +1 -1
- package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
- package/dist/components/PlFileDialog/Shortcuts.vue3.js +4 -4
- package/dist/components/PlFileDialog/pl-file-dialog.module.scss.js +21 -21
- package/dist/components/PlFileDialog/remote.js.map +1 -1
- package/dist/components/PlFileDialog/utils.js.map +1 -1
- package/dist/components/PlFileInput/PlFileInput.vue.d.ts.map +1 -1
- package/dist/components/PlFileInput/PlFileInput.vue.js.map +1 -1
- package/dist/components/PlIcon16/PlIcon16.vue2.js.map +1 -1
- package/dist/components/PlIcon24/PlIcon24.vue2.js.map +1 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.d.ts +1 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.d.ts.map +1 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js +5 -1
- package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js.map +1 -1
- package/dist/components/PlLoaderLogo.vue.d.ts.map +1 -1
- package/dist/components/PlLoaderLogo.vue2.js +8 -8
- package/dist/components/PlLoaderLogo.vue2.js.map +1 -1
- package/dist/components/PlLogView/PlLogView.vue.d.ts.map +1 -1
- package/dist/components/PlLogView/PlLogView.vue.js +11 -7
- package/dist/components/PlLogView/PlLogView.vue.js.map +1 -1
- package/dist/components/PlLogView/useLogHandle.d.ts.map +1 -1
- package/dist/components/PlLogView/useLogHandle.js +16 -3
- package/dist/components/PlLogView/useLogHandle.js.map +1 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts +1 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts.map +1 -1
- package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.js.map +1 -1
- package/dist/components/PlNumberField/PlNumberField.vue.d.ts.map +1 -1
- package/dist/components/PlNumberField/PlNumberField.vue.js +4 -6
- package/dist/components/PlNumberField/PlNumberField.vue.js.map +1 -1
- package/dist/components/PlNumberField/parseNumber.d.ts.map +1 -1
- package/dist/components/PlNumberField/parseNumber.js.map +1 -1
- package/dist/components/PlProgressBar/PlProgressBar.vue.js.map +1 -1
- package/dist/components/PlProgressCell/PlProgressCell.vue.d.ts.map +1 -1
- package/dist/components/PlProgressCell/PlProgressCell.vue.js +11 -2
- package/dist/components/PlProgressCell/PlProgressCell.vue.js.map +1 -1
- package/dist/components/PlProgressCell/types.d.ts +1 -1
- package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
- package/dist/components/PlRadio/PlRadio.vue3.js +3 -3
- package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
- package/dist/components/PlRadio/PlRadioGroup.vue3.js +6 -6
- package/dist/components/PlRadio/keys.js.map +1 -1
- package/dist/components/PlSearchField/PlSearchField.vue.d.ts.map +1 -1
- package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
- package/dist/components/PlSectionSeparator/PlSectionSeparator.vue3.js +1 -1
- package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarGroup.vue3.js +6 -6
- package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts +6 -6
- package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts.map +1 -1
- package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
- package/dist/components/PlSidebar/PlSidebarItem.vue3.js +8 -8
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.d.ts.map +1 -1
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.js.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue.d.ts.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
- package/dist/components/PlSlideModal/props.d.ts +8 -8
- package/dist/components/PlSlideModal/props.d.ts.map +1 -1
- package/dist/components/PlSlideModal/props.js.map +1 -1
- package/dist/components/PlSplash/PlSplash.vue.d.ts +1 -1
- package/dist/components/PlSplash/PlSplash.vue.d.ts.map +1 -1
- package/dist/components/PlSplash/PlSplash.vue.js +4 -1
- package/dist/components/PlSplash/PlSplash.vue.js.map +1 -1
- package/dist/components/PlStatusTag/PlStatusTag.vue.d.ts.map +1 -1
- package/dist/components/PlStatusTag/PlStatusTag.vue.js.map +1 -1
- package/dist/components/PlStatusTag/types.d.ts +1 -1
- package/dist/components/PlSvg/PlSvg.vue.d.ts.map +1 -1
- package/dist/components/PlSvg/PlSvg.vue2.js +7 -2
- package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
- package/dist/components/PlSvg/registry.d.ts.map +1 -1
- package/dist/components/PlSvg/registry.js.map +1 -1
- package/dist/components/PlTabs/PlTabs.vue.d.ts.map +1 -1
- package/dist/components/PlTabs/PlTabs.vue.js +4 -1
- package/dist/components/PlTabs/PlTabs.vue.js.map +1 -1
- package/dist/components/PlTabs/Tab.vue.js.map +1 -1
- package/dist/components/PlTextArea/PlTextArea.vue.js.map +1 -1
- package/dist/components/PlTextField/PlTextField.vue.d.ts.map +1 -1
- package/dist/components/PlTextField/PlTextField.vue.js +3 -1
- package/dist/components/PlTextField/PlTextField.vue.js.map +1 -1
- package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js.map +1 -1
- package/dist/components/PlTooltip/Beak.vue.d.ts.map +1 -1
- package/dist/components/PlTooltip/Beak.vue.js.map +1 -1
- package/dist/components/PlTooltip/PlTooltip.vue.d.ts.map +1 -1
- package/dist/components/PlTooltip/PlTooltip.vue.js.map +1 -1
- package/dist/components/PlTooltip/useTooltipPosition.d.ts +1 -1
- package/dist/components/PlTooltip/useTooltipPosition.js.map +1 -1
- package/dist/components/Scrollable.vue.d.ts.map +1 -1
- package/dist/components/Scrollable.vue.js +10 -1
- package/dist/components/Scrollable.vue.js.map +1 -1
- package/dist/components/Slider.vue.d.ts.map +1 -1
- package/dist/components/Slider.vue.js +3 -1
- package/dist/components/Slider.vue.js.map +1 -1
- package/dist/components/SliderRange.vue.d.ts.map +1 -1
- package/dist/components/SliderRange.vue.js +15 -3
- package/dist/components/SliderRange.vue.js.map +1 -1
- package/dist/components/SliderRangeTriple.vue.d.ts.map +1 -1
- package/dist/components/SliderRangeTriple.vue.js +7 -1
- package/dist/components/SliderRangeTriple.vue.js.map +1 -1
- package/dist/components/TabItem.vue.js.map +1 -1
- package/dist/components/ThemeSwitcher.vue.js.map +1 -1
- package/dist/components/TransitionSlidePanel.vue.js.map +1 -1
- package/dist/components/VScroll.vue.js.map +1 -1
- package/dist/components/contextMenu/Menu.vue.js +1 -1
- package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
- package/dist/components/contextMenu/index.js.map +1 -1
- package/dist/composition/computedCached.js.map +1 -1
- package/dist/composition/filters/metadata.d.ts.map +1 -1
- package/dist/composition/filters/metadata.js.map +1 -1
- package/dist/composition/filters/types.d.ts +1 -19
- package/dist/composition/filters/types.d.ts.map +1 -1
- package/dist/composition/useClickOutside.js.map +1 -1
- package/dist/composition/useComponentProp.d.ts.map +1 -1
- package/dist/composition/useComponentProp.js.map +1 -1
- package/dist/composition/useConfirm.js.map +1 -1
- package/dist/composition/useDraggable.d.ts.map +1 -1
- package/dist/composition/useDraggable.js.map +1 -1
- package/dist/composition/useEventListener.d.ts.map +1 -1
- package/dist/composition/useEventListener.js +11 -7
- package/dist/composition/useEventListener.js.map +1 -1
- package/dist/composition/useFilteredList.d.ts.map +1 -1
- package/dist/composition/useFilteredList.js.map +1 -1
- package/dist/composition/useFormState.js.map +1 -1
- package/dist/composition/useHover.d.ts.map +1 -1
- package/dist/composition/useHover.js.map +1 -1
- package/dist/composition/useInterval.js.map +1 -1
- package/dist/composition/useLocalStorage.js.map +1 -1
- package/dist/composition/useMouse.js.map +1 -1
- package/dist/composition/useMouseCapture.d.ts.map +1 -1
- package/dist/composition/useMouseCapture.js.map +1 -1
- package/dist/composition/usePollingQuery.d.ts.map +1 -1
- package/dist/composition/usePollingQuery.js +4 -1
- package/dist/composition/usePollingQuery.js.map +1 -1
- package/dist/composition/usePosition.d.ts.map +1 -1
- package/dist/composition/usePosition.js.map +1 -1
- package/dist/composition/useQuery.js.map +1 -1
- package/dist/composition/useResizeObserver.d.ts.map +1 -1
- package/dist/composition/useResizeObserver.js.map +1 -1
- package/dist/composition/useRipple.js.map +1 -1
- package/dist/composition/useScroll.d.ts.map +1 -1
- package/dist/composition/useScroll.js.map +1 -1
- package/dist/composition/useSliderBreakpoints.d.ts.map +1 -1
- package/dist/composition/useSliderBreakpoints.js.map +1 -1
- package/dist/composition/useSortable.js.map +1 -1
- package/dist/composition/useSortable2.d.ts.map +1 -1
- package/dist/composition/useSortable2.js +8 -5
- package/dist/composition/useSortable2.js.map +1 -1
- package/dist/composition/useTheme.d.ts +1 -1
- package/dist/composition/useTheme.d.ts.map +1 -1
- package/dist/composition/useTheme.js.map +1 -1
- package/dist/composition/useTransformedModel.d.ts.map +1 -1
- package/dist/composition/useTransformedModel.js.map +1 -1
- package/dist/composition/useWatchFetch.js.map +1 -1
- package/dist/composition/utils.js.map +1 -1
- package/dist/composition/watchCached.d.ts.map +1 -1
- package/dist/composition/watchCached.js.map +1 -1
- package/dist/demo-site-data/all-css-variables.d.ts.map +1 -1
- package/dist/demo-site-data/all-css-variables.js +52 -13
- package/dist/demo-site-data/all-css-variables.js.map +1 -1
- package/dist/generated/icons-16.js.map +1 -1
- package/dist/generated/icons-24.js.map +1 -1
- package/dist/global/resizeObserver.js.map +1 -1
- package/dist/helpers/dom.d.ts.map +1 -1
- package/dist/helpers/dom.js.map +1 -1
- package/dist/helpers/downloadContent.d.ts +1 -1
- package/dist/helpers/downloadContent.d.ts.map +1 -1
- package/dist/helpers/downloadContent.js +3 -1
- package/dist/helpers/downloadContent.js.map +1 -1
- package/dist/helpers/error.js +4 -1
- package/dist/helpers/error.js.map +1 -1
- package/dist/helpers/functions.d.ts.map +1 -1
- package/dist/helpers/functions.js.map +1 -1
- package/dist/helpers/objects.js.map +1 -1
- package/dist/helpers/utils.d.ts.map +1 -1
- package/dist/helpers/utils.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.vue.d.ts.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.vue2.js.map +1 -1
- package/dist/layout/PlBlockPage/PlBlockPage.vue3.js +4 -4
- package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.js.map +1 -1
- package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.js.map +1 -1
- package/dist/layout/PlContainer/PlContainer.vue.d.ts.map +1 -1
- package/dist/layout/PlContainer/PlContainer.vue.js.map +1 -1
- package/dist/layout/PlGrid/PlGrid.vue.js.map +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.vue.d.ts +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.vue.d.ts.map +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js +8 -8
- package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js.map +1 -1
- package/dist/layout/PlPlaceholder/PlPlaceholder.vue3.js +15 -15
- package/dist/layout/PlPlaceholder/index.d.ts +1 -1
- package/dist/layout/PlPlaceholder/index.d.ts.map +1 -1
- package/dist/layout/PlPlaceholder/index.js.map +1 -1
- package/dist/layout/PlPlaceholder/paint-worklet.js +6 -6
- package/dist/layout/PlPlaceholder/paint-worklet.js.map +1 -1
- package/dist/layout/PlRow/PlRow.vue.js.map +1 -1
- package/dist/layout/PlSpacer/PlSpacer.vue.js.map +1 -1
- package/dist/types.d.ts +5 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/DoubleContour.vue.d.ts.map +1 -1
- package/dist/utils/DoubleContour.vue.js.map +1 -1
- package/dist/utils/DropdownOverlay/DropdownOverlay.vue.js.map +1 -1
- package/dist/utils/PlCloseModalBtn.vue.js.map +1 -1
- package/dist/utils/TextLabel.vue.js.map +1 -1
- package/dist/utils/useLabelNotch.d.ts.map +1 -1
- package/dist/utils/useLabelNotch.js.map +1 -1
- package/dist/utils/useValidation.js.map +1 -1
- package/package.json +23 -24
- package/scripts/parse-icons.js +20 -14
- package/src/__tests__/compositions/usePollingQuery.spec.ts +163 -165
- package/src/__tests__/compositions/useValidation.spec.ts +41 -28
- package/src/__tests__/setup.ts +1 -1
- package/src/__tests__/use-debounce-fn.test.ts +15 -11
- package/src/assets/animations.scss +5 -5
- package/src/assets/base-btn.scss +4 -3
- package/src/assets/base.scss +11 -8
- package/src/assets/common.scss +43 -43
- package/src/assets/dropdown-list-item.scss +53 -53
- package/src/assets/dropdown-tab-item.scss +4 -4
- package/src/assets/icons.scss +1 -1
- package/src/assets/input-range.scss +26 -27
- package/src/assets/layout.scss +1 -1
- package/src/assets/masks.scss +1 -1
- package/src/assets/mixins.scss +9 -17
- package/src/assets/scroll.scss +6 -6
- package/src/assets/slider.scss +6 -5
- package/src/assets/sortable.scss +1 -1
- package/src/assets/theme-switcher.scss +2 -2
- package/src/assets/typography.scss +16 -13
- package/src/assets/ui.scss +19 -19
- package/src/assets/utils.scss +19 -19
- package/src/assets/variables.scss +9 -10
- package/src/base/BtnBase.vue +6 -6
- package/src/colors/__tests__/colors.spec.ts +12 -10
- package/src/colors/color.ts +17 -12
- package/src/colors/gradient.ts +20 -17
- package/src/colors/index.ts +3 -3
- package/src/colors/palette.ts +194 -194
- package/src/components/ContextProvider.vue +1 -1
- package/src/components/DataTable/BaseCellComponent.vue +8 -8
- package/src/components/DataTable/ColumnCaret.vue +3 -3
- package/src/components/DataTable/ColumnsCommandMenu.vue +5 -3
- package/src/components/DataTable/RowsCommandMenu.vue +5 -3
- package/src/components/DataTable/TScroll.vue +11 -6
- package/src/components/DataTable/TableComponent.vue +41 -24
- package/src/components/DataTable/TdCell.vue +28 -15
- package/src/components/DataTable/ThCell.vue +14 -9
- package/src/components/DataTable/TrBody.vue +11 -4
- package/src/components/DataTable/adapters/AsyncData.ts +4 -4
- package/src/components/DataTable/adapters/RawData.ts +5 -5
- package/src/components/DataTable/assets/TableIcon.vue +6 -1
- package/src/components/DataTable/assets/data-table-style.scss +12 -10
- package/src/components/DataTable/composition/useColumn.ts +8 -5
- package/src/components/DataTable/composition/useMouseUp.ts +3 -3
- package/src/components/DataTable/composition/useResize.ts +16 -16
- package/src/components/DataTable/composition/useTableColumns.ts +8 -8
- package/src/components/DataTable/composition/useTableRows.ts +5 -5
- package/src/components/DataTable/domain.ts +8 -4
- package/src/components/DataTable/index.ts +26 -13
- package/src/components/DataTable/keys.ts +3 -3
- package/src/components/DataTable/state.ts +38 -18
- package/src/components/DataTable/types.ts +10 -10
- package/src/components/DropdownListItem.vue +18 -15
- package/src/components/GridTable/TdCell.vue +7 -7
- package/src/components/GridTable/ThCell.vue +14 -9
- package/src/components/GridTable/assets/TableIcon.vue +6 -1
- package/src/components/GridTable/assets/style.scss +6 -6
- package/src/components/GridTable/constants.ts +10 -10
- package/src/components/GridTable/domain.ts +8 -4
- package/src/components/GridTable/getColumnPositions.ts +4 -4
- package/src/components/GridTable/index.vue +41 -32
- package/src/components/GridTable/types.ts +14 -11
- package/src/components/GridTable/useColumn.ts +8 -5
- package/src/components/GridTable/useMouseUp.ts +3 -3
- package/src/components/GridTable/useResize.ts +13 -13
- package/src/components/HScroll.vue +10 -10
- package/src/components/InputRange.vue +9 -7
- package/src/components/LongText.vue +7 -5
- package/src/components/PlAccordion/ExpandTransition.vue +12 -6
- package/src/components/PlAccordion/PlAccordion.vue +3 -3
- package/src/components/PlAccordion/PlAccordionSection.vue +9 -9
- package/src/components/PlAccordion/index.ts +2 -2
- package/src/components/PlAlert/PlAlert.vue +21 -10
- package/src/components/PlAlert/index.ts +1 -1
- package/src/components/PlAlert/pl-alert.scss +1 -1
- package/src/components/PlAutocomplete/PlAutocomplete.vue +142 -82
- package/src/components/PlAutocomplete/__tests__/PlAutocomplete.spec.ts +19 -17
- package/src/components/PlAutocomplete/index.ts +1 -1
- package/src/components/PlAutocomplete/pl-autocomplete.scss +9 -7
- package/src/components/PlAutocompleteMulti/PlAutocompleteMulti.vue +92 -62
- package/src/components/PlAutocompleteMulti/__tests__/PlAutocompleteMulti.spec.ts +17 -16
- package/src/components/PlAutocompleteMulti/index.ts +4 -1
- package/src/components/PlAutocompleteMulti/pl-autocomplete-multi.scss +8 -6
- package/src/components/PlBtnAccent/PlBtnAccent.vue +4 -4
- package/src/components/PlBtnAccent/index.ts +1 -1
- package/src/components/PlBtnDanger/PlBtnDanger.vue +4 -4
- package/src/components/PlBtnDanger/index.ts +1 -1
- package/src/components/PlBtnDanger/pl-btn-danger.scss +1 -1
- package/src/components/PlBtnGhost/PlBtnGhost.vue +8 -8
- package/src/components/PlBtnGhost/index.ts +1 -1
- package/src/components/PlBtnGroup/PlBtnGroup.vue +10 -10
- package/src/components/PlBtnGroup/index.ts +1 -1
- package/src/components/PlBtnGroup/pl-btn-group.scss +4 -4
- package/src/components/PlBtnLink/PlBtnLink.vue +10 -5
- package/src/components/PlBtnLink/index.ts +1 -1
- package/src/components/PlBtnLink/pl-btn-link.scss +2 -1
- package/src/components/PlBtnPrimary/PlBtnPrimary.vue +4 -4
- package/src/components/PlBtnPrimary/__tests__/BtnPrimary.spec.ts +7 -7
- package/src/components/PlBtnPrimary/index.ts +1 -1
- package/src/components/PlBtnPrimary/pl-btn-primary.scss +2 -2
- package/src/components/PlBtnSecondary/PlBtnSecondary.vue +4 -4
- package/src/components/PlBtnSecondary/index.ts +1 -1
- package/src/components/PlBtnSecondary/pl-btn-secondary.scss +1 -1
- package/src/components/PlBtnSplit/PlBtnSplit.vue +42 -28
- package/src/components/PlBtnSplit/__tests__/PlBtnSplit.spec.ts +66 -66
- package/src/components/PlBtnSplit/index.ts +1 -1
- package/src/components/PlBtnSplit/pl-btn-split.scss +72 -75
- package/src/components/PlChartHistogram/PlChartHistogram.vue +29 -20
- package/src/components/PlChartHistogram/createGridlines.ts +28 -22
- package/src/components/PlChartHistogram/createLabels.ts +19 -17
- package/src/components/PlChartHistogram/createSvgContainer.ts +9 -9
- package/src/components/PlChartHistogram/drawBins.ts +27 -34
- package/src/components/PlChartHistogram/drawThreshold.ts +9 -9
- package/src/components/PlChartHistogram/histogram.ts +31 -34
- package/src/components/PlChartHistogram/index.ts +1 -1
- package/src/components/PlChartHistogram/normalizeBins.ts +3 -3
- package/src/components/PlChartHistogram/scales.spec.ts +5 -5
- package/src/components/PlChartHistogram/types.ts +6 -6
- package/src/components/PlChartStackedBar/Legends.vue +2 -2
- package/src/components/PlChartStackedBar/PlChartStackedBar.vue +16 -10
- package/src/components/PlChartStackedBar/PlChartStackedBarCompact.vue +4 -4
- package/src/components/PlChartStackedBar/StackedRow.vue +7 -9
- package/src/components/PlChartStackedBar/StackedRowCompact.vue +6 -8
- package/src/components/PlChartStackedBar/index.ts +3 -3
- package/src/components/PlChartStackedBar/types.ts +1 -1
- package/src/components/PlCheckbox/PlCheckbox.vue +5 -5
- package/src/components/PlCheckbox/PlCheckboxBase.vue +3 -5
- package/src/components/PlCheckbox/__tests__/PlCheckbox.spec.ts +15 -15
- package/src/components/PlCheckbox/index.ts +1 -1
- package/src/components/PlCheckbox/pl-checkbox-base.scss +13 -13
- package/src/components/PlCheckbox/pl-checkbox.scss +2 -2
- package/src/components/PlCheckboxGroup/PlCheckboxGroup.vue +24 -10
- package/src/components/PlCheckboxGroup/index.ts +1 -1
- package/src/components/PlCheckboxGroup/pl-checkbox-group.scss +1 -1
- package/src/components/PlChip/PlChip.vue +11 -5
- package/src/components/PlChip/index.ts +1 -1
- package/src/components/PlChip/pl-chip.scss +2 -2
- package/src/components/PlClipboard/PlClipboard.vue +7 -7
- package/src/components/PlClipboard/index.ts +1 -1
- package/src/components/PlConfirmDialog.vue +7 -6
- package/src/components/PlDialogModal/PlDialogModal.vue +52 -33
- package/src/components/PlDialogModal/index.ts +1 -1
- package/src/components/PlDialogModal/pl-dialog-modal.scss +2 -2
- package/src/components/PlDropdown/OptionList.vue +21 -10
- package/src/components/PlDropdown/PlDropdown.vue +65 -46
- package/src/components/PlDropdown/__tests__/PlDropdown.spec.ts +15 -15
- package/src/components/PlDropdown/index.ts +1 -1
- package/src/components/PlDropdown/pl-dropdown.scss +4 -2
- package/src/components/PlDropdown/types.ts +6 -2
- package/src/components/PlDropdown/useGroupBy.ts +7 -10
- package/src/components/PlDropdownLegacy/PlDropdownLegacy.vue +60 -43
- package/src/components/PlDropdownLegacy/__tests__/PlDropdownLegacy.spec.ts +16 -16
- package/src/components/PlDropdownLegacy/index.ts +1 -1
- package/src/components/PlDropdownLegacy/pl-dropdown-legacy.scss +6 -6
- package/src/components/PlDropdownLine/PlDropdownLine.vue +76 -54
- package/src/components/PlDropdownLine/ResizableInput.vue +15 -8
- package/src/components/PlDropdownLine/index.ts +1 -1
- package/src/components/PlDropdownLine/pl-dropdown-line.scss +132 -132
- package/src/components/PlDropdownLine/resizable-input.scss +38 -38
- package/src/components/PlDropdownMulti/PlDropdownMulti.vue +79 -45
- package/src/components/PlDropdownMulti/__tests__/PlDropdownMulti.spec.ts +15 -14
- package/src/components/PlDropdownMulti/index.ts +1 -1
- package/src/components/PlDropdownMulti/pl-dropdown-multi.scss +8 -6
- package/src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue +5 -5
- package/src/components/PlDropdownMultiRef/__tests__/PlDropdownMultiRef.spec.ts +25 -24
- package/src/components/PlDropdownMultiRef/index.ts +1 -1
- package/src/components/PlDropdownRef/PlDropdownRef.vue +12 -12
- package/src/components/PlDropdownRef/__tests__/PlDropdownRef.spec.ts +23 -23
- package/src/components/PlDropdownRef/index.ts +1 -1
- package/src/components/PlEditableTitle/PlEditableTitle.vue +9 -10
- package/src/components/PlEditableTitle/index.ts +1 -1
- package/src/components/PlEditableTitle/pl-editable-title.module.scss +4 -4
- package/src/components/PlElementList/PlElementList.vue +60 -37
- package/src/components/PlElementList/PlElementListItem.vue +45 -29
- package/src/components/PlElementList/README.md +102 -119
- package/src/components/PlElementList/index.ts +1 -1
- package/src/components/PlElementList/utils.ts +3 -1
- package/src/components/PlErrorAlert/PlErrorAlert.vue +5 -5
- package/src/components/PlErrorAlert/index.ts +1 -1
- package/src/components/PlErrorBoundary/PlErrorBoundary.vue +8 -5
- package/src/components/PlErrorBoundary/index.ts +1 -1
- package/src/components/PlFileDialog/Local.vue +22 -16
- package/src/components/PlFileDialog/PlFileDialog.vue +27 -23
- package/src/components/PlFileDialog/Remote.vue +44 -34
- package/src/components/PlFileDialog/Shortcuts.vue +4 -4
- package/src/components/PlFileDialog/index.ts +1 -1
- package/src/components/PlFileDialog/pl-file-dialog.module.scss +15 -12
- package/src/components/PlFileDialog/remote.ts +9 -9
- package/src/components/PlFileDialog/utils.test.ts +20 -24
- package/src/components/PlFileDialog/utils.ts +8 -8
- package/src/components/PlFileInput/PlFileInput.vue +37 -26
- package/src/components/PlFileInput/index.ts +1 -1
- package/src/components/PlFileInput/pl-file-input.scss +3 -3
- package/src/components/PlFileInput/utils.ts +6 -6
- package/src/components/PlIcon16/PlIcon16.vue +7 -7
- package/src/components/PlIcon16/index.ts +1 -1
- package/src/components/PlIcon24/PlIcon24.vue +7 -7
- package/src/components/PlIcon24/index.ts +1 -1
- package/src/components/PlLoaderCircular/PlLoaderCircular.vue +24 -6
- package/src/components/PlLoaderCircular/index.ts +1 -1
- package/src/components/PlLoaderCircular/pl-loader-circular.scss +54 -50
- package/src/components/PlLoaderLogo.vue +8 -10
- package/src/components/PlLogView/PlLogView.vue +28 -22
- package/src/components/PlLogView/index.ts +1 -1
- package/src/components/PlLogView/pl-log-view.scss +10 -4
- package/src/components/PlLogView/useLogHandle.ts +32 -12
- package/src/components/PlMaskIcon16/index.ts +1 -1
- package/src/components/PlMaskIcon24/index.ts +1 -1
- package/src/components/PlNotificationAlert/PlNotificationAlert.vue +10 -5
- package/src/components/PlNotificationAlert/index.ts +1 -1
- package/src/components/PlNotificationAlert/pl-notification-alert.scss +43 -44
- package/src/components/PlNumberField/PlNumberField.vue +95 -68
- package/src/components/PlNumberField/__tests__/PlNumberField.spec.ts +71 -69
- package/src/components/PlNumberField/index.ts +1 -1
- package/src/components/PlNumberField/parseNumber.ts +20 -17
- package/src/components/PlProgressBar/PlProgressBar.vue +5 -5
- package/src/components/PlProgressBar/index.ts +1 -1
- package/src/components/PlProgressCell/PlProgressCell.vue +33 -14
- package/src/components/PlProgressCell/index.ts +2 -2
- package/src/components/PlProgressCell/pl-progress-cell.scss +70 -70
- package/src/components/PlProgressCell/types.ts +1 -1
- package/src/components/PlRadio/PlRadio.vue +54 -54
- package/src/components/PlRadio/PlRadioGroup.vue +16 -16
- package/src/components/PlRadio/__tests__/PlRadioGroup.spec.ts +50 -50
- package/src/components/PlRadio/index.ts +2 -2
- package/src/components/PlRadio/keys.ts +1 -1
- package/src/components/PlSearchField/PlSearchField.vue +21 -9
- package/src/components/PlSearchField/index.ts +1 -1
- package/src/components/PlSectionSeparator/PlSectionSeparator.vue +1 -1
- package/src/components/PlSectionSeparator/index.ts +1 -1
- package/src/components/PlSidebar/PlSidebarGroup.vue +2 -2
- package/src/components/PlSidebar/PlSidebarItem.vue +7 -7
- package/src/components/PlSidebar/index.ts +2 -2
- package/src/components/PlSlideModal/PlPureSlideModal.vue +18 -17
- package/src/components/PlSlideModal/PlSlideModal.vue +8 -12
- package/src/components/PlSlideModal/index.ts +2 -2
- package/src/components/PlSlideModal/pl-slide-modal.scss +2 -2
- package/src/components/PlSlideModal/props.ts +9 -9
- package/src/components/PlSpacer/PlSpacer.vue +1 -1
- package/src/components/PlSpacer/index.ts +1 -1
- package/src/components/PlSplash/PlSplash.vue +25 -17
- package/src/components/PlSplash/index.ts +1 -1
- package/src/components/PlSplash/pl-splash.module.scss +1 -1
- package/src/components/PlStatusTag/PlStatusTag.vue +13 -8
- package/src/components/PlStatusTag/index.ts +2 -2
- package/src/components/PlStatusTag/pl-status-tag.scss +18 -18
- package/src/components/PlStatusTag/types.ts +1 -1
- package/src/components/PlSvg/PlSvg.vue +24 -16
- package/src/components/PlSvg/index.ts +1 -1
- package/src/components/PlSvg/registry.ts +17 -21
- package/src/components/PlTabs/PlTabs.vue +10 -7
- package/src/components/PlTabs/Tab.vue +4 -4
- package/src/components/PlTabs/index.ts +2 -2
- package/src/components/PlTabs/pl-tabs.module.scss +3 -3
- package/src/components/PlTextArea/PlTextArea.vue +15 -15
- package/src/components/PlTextArea/__tests__/PlTextArea.spec.ts +12 -12
- package/src/components/PlTextArea/index.ts +1 -1
- package/src/components/PlTextArea/pl-textarea.scss +1 -1
- package/src/components/PlTextField/PlTextField.vue +48 -27
- package/src/components/PlTextField/__tests__/TextField.spec.ts +19 -19
- package/src/components/PlTextField/index.ts +1 -1
- package/src/components/PlToggleSwitch/PlToggleSwitch.vue +3 -3
- package/src/components/PlToggleSwitch/index.ts +1 -1
- package/src/components/PlToggleSwitch/pl-toggle-switch.scss +3 -2
- package/src/components/PlTooltip/Beak.vue +8 -1
- package/src/components/PlTooltip/PlTooltip.vue +33 -19
- package/src/components/PlTooltip/index.ts +1 -1
- package/src/components/PlTooltip/pl-tooltip.scss +4 -2
- package/src/components/PlTooltip/useTooltipPosition.ts +12 -12
- package/src/components/Scrollable.vue +17 -8
- package/src/components/Slider.vue +47 -23
- package/src/components/SliderRange.vue +72 -32
- package/src/components/SliderRangeTriple.vue +49 -31
- package/src/components/TabItem.vue +5 -5
- package/src/components/ThemeSwitcher.vue +1 -1
- package/src/components/TransitionSlidePanel.vue +2 -2
- package/src/components/VScroll.vue +10 -10
- package/src/components/contextMenu/Menu.vue +4 -4
- package/src/components/contextMenu/index.ts +6 -6
- package/src/composition/computedCached.ts +11 -7
- package/src/composition/filters/index.ts +2 -2
- package/src/composition/filters/metadata.ts +227 -220
- package/src/composition/filters/types.ts +44 -21
- package/src/composition/useClickOutside.ts +4 -4
- package/src/composition/useComponentProp.ts +5 -3
- package/src/composition/useConfirm.ts +5 -5
- package/src/composition/useDraggable.ts +16 -13
- package/src/composition/useEventListener.ts +13 -5
- package/src/composition/useFilteredList.ts +9 -6
- package/src/composition/useFormState.ts +3 -3
- package/src/composition/useHover.ts +10 -7
- package/src/composition/useInterval.ts +1 -1
- package/src/composition/useLocalStorage.ts +4 -4
- package/src/composition/useMouse.ts +3 -3
- package/src/composition/useMouseCapture.ts +10 -7
- package/src/composition/useNotificationPosition.ts +4 -4
- package/src/composition/usePollingQuery.ts +22 -20
- package/src/composition/usePosition.ts +13 -9
- package/src/composition/useQuery.ts +2 -2
- package/src/composition/useResizeObserver.ts +9 -6
- package/src/composition/useRipple.ts +6 -6
- package/src/composition/useScroll.ts +18 -12
- package/src/composition/useSliderBreakpoints.ts +6 -4
- package/src/composition/useSortable.ts +17 -17
- package/src/composition/useSortable2.ts +27 -24
- package/src/composition/useTheme.ts +11 -9
- package/src/composition/useTransformedModel.ts +6 -3
- package/src/composition/useWatchFetch.ts +3 -3
- package/src/composition/utils.ts +1 -1
- package/src/composition/watchCached.ts +2 -8
- package/src/demo-site-data/all-css-variables.ts +208 -169
- package/src/drafts/FileBaseInput.vue +35 -18
- package/src/generated/icons-16.ts +68 -68
- package/src/generated/icons-24.ts +211 -211
- package/src/global/resizeObserver.ts +1 -1
- package/src/helpers/dom.ts +12 -8
- package/src/helpers/downloadContent.ts +23 -21
- package/src/helpers/error.ts +6 -3
- package/src/helpers/functions.ts +5 -1
- package/src/helpers/objects.ts +1 -1
- package/src/helpers/utils.ts +23 -9
- package/src/index.ts +110 -110
- package/src/layout/PlBlockPage/PlBlockPage.vue +14 -19
- package/src/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.ts +1 -1
- package/src/layout/PlBlockPage/index.ts +2 -2
- package/src/layout/PlBlockPage/pl-block-page.scss +1 -1
- package/src/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.ts +2 -2
- package/src/layout/PlContainer/PlContainer.vue +10 -5
- package/src/layout/PlContainer/index.ts +1 -1
- package/src/layout/PlContainer/pl-container.scss +1 -1
- package/src/layout/PlGrid/PlGrid.vue +3 -3
- package/src/layout/PlGrid/index.ts +1 -1
- package/src/layout/PlGrid/pl-grid.scss +1 -1
- package/src/layout/PlPlaceholder/PlPlaceholder.vue +19 -18
- package/src/layout/PlPlaceholder/index.ts +11 -14
- package/src/layout/PlPlaceholder/paint-worklet.js +6 -6
- package/src/layout/PlRow/PlRow.vue +2 -2
- package/src/layout/PlRow/index.ts +1 -1
- package/src/layout/PlRow/pl-row.scss +1 -1
- package/src/layout/PlSpacer/PlSpacer.vue +1 -1
- package/src/layout/PlSpacer/index.ts +1 -1
- package/src/types.ts +23 -17
- package/src/utils/DoubleContour.vue +18 -7
- package/src/utils/DropdownOverlay/DropdownOverlay.vue +13 -13
- package/src/utils/DropdownOverlay/index.ts +1 -1
- package/src/utils/PlCloseModalBtn.vue +1 -1
- package/src/utils/TextLabel.vue +1 -1
- package/src/utils/WebStopWatchElement.ts +5 -5
- package/src/utils/useLabelNotch.ts +12 -9
- package/src/utils/useValidation.ts +2 -2
- package/tsconfig.json +2 -7
- package/vitest.config.mts +9 -9
- package/.turbo/turbo-lint.log +0 -5
- package/eslint.config.mjs +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlFileInput.vue.js","sources":["../../../src/components/PlFileInput/PlFileInput.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport './pl-file-input.scss';\n\nimport { prettyBytes } from '@milaboratories/helpers';\nimport type { ImportFileHandle, ImportProgress } from '@platforma-sdk/model';\nimport { getFileNameFromHandle, getFilePathFromHandle } from '@platforma-sdk/model';\nimport { computed, reactive, ref, useSlots, watch } from 'vue';\nimport { getErrorMessage } from '../../helpers/error.ts';\nimport type { ImportedFiles } from '../../types';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport { PlFileDialog } from '../PlFileDialog';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport { PlTooltip } from '../PlTooltip';\n\nimport SvgRequired from '../../assets/images/required.svg?raw';\nimport { PlSvg } from '../PlSvg';\n\nconst data = reactive({\n fileDialogOpen: false,\n error: undefined as undefined | string,\n});\n\nconst slots = useSlots();\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: ImportFileHandle | undefined): void;\n}>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current import file handle.\n */\n modelValue: ImportFileHandle | undefined;\n /**\n * The label to display above the input field.\n */\n label?: string;\n /**\n * If `true`, the input field is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the component border is dashed.\n */\n dashed?: boolean;\n /**\n * Allowed file extensions (should start with `.`)\n */\n extensions?: string[];\n /**\n * Placeholder text\n */\n placeholder?: string;\n /**\n * Import/Upload progress\n */\n progress?: ImportProgress;\n /**\n * An error message to display below the input field.\n */\n error?: unknown;\n /**\n * A helper text to display below the input field when there are no errors.\n */\n helper?: string;\n /**\n * Remove rounded border and change styles\n */\n cellStyle?: boolean;\n /**\n * File dialog title\n */\n fileDialogTitle?: string;\n /**\n * If `true`, the file dialog window closes when clicking outside the modal area (default: `true`)\n */\n fileDialogCloseOnOutsideClick?: boolean;\n }>(),\n {\n label: undefined,\n extensions: undefined,\n fileDialogTitle: undefined,\n placeholder: undefined,\n progress: undefined,\n error: undefined,\n helper: undefined,\n cellStyle: false,\n fileDialogCloseOnOutsideClick: true,\n },\n);\n\nconst tryValue = <T extends ImportFileHandle>(v: T | undefined, cb: (v: T) => string | undefined) => {\n if (!v) {\n return undefined;\n }\n\n try {\n return cb(v);\n } catch (err) {\n data.error = err instanceof Error ? err.message : String(err);\n return v;\n }\n};\n\nconst fileName = computed(() => tryValue(props.modelValue, getFileNameFromHandle));\n\nconst filePath = computed(() => tryValue(props.modelValue, getFilePathFromHandle));\n\nconst isUploading = computed(() => props.progress && !props.progress.done);\n\nconst isUploaded = computed(() => props.progress && props.progress.done);\n\nconst computedErrorMessage = computed(() => getErrorMessage(data.error, props.error));\n\nconst hasErrors = computed(() => typeof computedErrorMessage.value === 'string');\n\nconst uploadStats = computed(() => {\n const { status, done } = props.progress ?? {};\n\n if (!status || !status.bytesTotal) {\n return '';\n }\n\n if (status.bytesProcessed && !done) {\n return prettyBytes(status.bytesProcessed, {}) + ' / ' + prettyBytes(status.bytesTotal, {});\n }\n\n return prettyBytes(status.bytesTotal, {});\n});\n\nconst progressStyle = computed(() => {\n const { progress } = props;\n\n if (!progress) {\n return {};\n }\n\n return {\n width: progress.done ? '100%' : Math.round((progress.status?.progress ?? 0) * 100) + '%',\n };\n});\n\nconst openFileDialog = () => {\n data.fileDialogOpen = true;\n};\n\nconst onImport = (v: ImportedFiles) => {\n if (v.files.length) {\n emit('update:modelValue', v.files[0]);\n }\n};\n\nconst clear = () => emit('update:modelValue', undefined);\n\nwatch(\n () => props.modelValue,\n () => (data.error = undefined),\n { immediate: true },\n);\n\nconst rootRef = ref();\n\nif (!props.cellStyle) {\n useLabelNotch(rootRef);\n}\n</script>\n\n<template>\n <div :class=\"{ 'pl-file-input__cell-style': !!cellStyle, 'has-file': !!fileName }\" class=\"pl-file-input__envelope\">\n <div\n ref=\"rootRef\"\n :class=\"{ dashed, error: hasErrors }\"\n class=\"pl-file-input\"\n tabindex=\"0\"\n @keyup.enter=\"openFileDialog\"\n @click.stop=\"openFileDialog\"\n >\n <div :style=\"progressStyle\" class=\"pl-file-input__progress\" />\n <label v-if=\"!cellStyle && label\" ref=\"label\">\n <PlSvg v-if=\"required\" :uri=\"SvgRequired\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip || filePath\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot v-if=\"slots.tooltip\" name=\"tooltip\" />\n <template v-else>{{ filePath }}</template>\n </template>\n </PlTooltip>\n </label>\n <PlMaskIcon24 v-if=\"hasErrors\" name=\"restart\" />\n <PlMaskIcon24 v-else-if=\"isUploading\" name=\"cloud-upload\" />\n <PlMaskIcon24 v-else-if=\"isUploaded\" name=\"success\" />\n <PlMaskIcon24 v-else name=\"paper-clip\" />\n <div :data-placeholder=\"placeholder ?? 'Choose file'\" class=\"pl-file-input__filename\">\n {{ fileName }}\n </div>\n <div v-if=\"uploadStats\" class=\"pl-file-input__stats\">{{ uploadStats }}</div>\n <PlMaskIcon24 v-if=\"modelValue\" class=\"pl-file-input__clear\" name=\"close\" @click.stop=\"clear\" />\n <DoubleContour class=\"pl-file-input__contour\" />\n </div>\n <div v-if=\"hasErrors\" class=\"pl-file-input__error\">\n {{ computedErrorMessage }}\n </div>\n <div v-else-if=\"helper\" class=\"pl-file-input__helper\">{{ helper }}</div>\n </div>\n <PlFileDialog\n v-model=\"data.fileDialogOpen\"\n :close-on-outside-click=\"fileDialogCloseOnOutsideClick\"\n :extensions=\"extensions\"\n :title=\"fileDialogTitle\"\n @import:files=\"onImport\"\n />\n</template>\n"],"names":["data","reactive","slots","useSlots","emit","__emit","props","__props","tryValue","v","cb","err","fileName","computed","getFileNameFromHandle","filePath","getFilePathFromHandle","isUploading","isUploaded","computedErrorMessage","getErrorMessage","hasErrors","uploadStats","status","done","prettyBytes","progressStyle","progress","_a","openFileDialog","onImport","clear","watch","rootRef","ref","useLabelNotch","_createElementVNode","_normalizeClass","_openBlock","_createElementBlock","_hoisted_1","_createBlock","_unref","PlSvg","SvgRequired","PlTooltip","_renderSlot","_ctx","_Fragment","PlMaskIcon24","_hoisted_2","_hoisted_3","_toDisplayString","_createVNode","DoubleContour","_hoisted_4","_hoisted_5","PlFileDialog","_cache","$event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,UAAMA,IAAOC,EAAS;AAAA,MACpB,gBAAgB;AAAA,MAChB,OAAO;AAAA,IAAA,CACR,GAEKC,IAAQC,EAAA,GAERC,IAAOC,GAIPC,IAAQC,GAgERC,IAAW,CAA6BC,GAAkBC,MAAqC;AACnG,UAAKD;AAIL,YAAI;AACF,iBAAOC,EAAGD,CAAC;AAAA,QACb,SAASE,GAAK;AACZ,iBAAAX,EAAK,QAAQW,aAAe,QAAQA,EAAI,UAAU,OAAOA,CAAG,GACrDF;AAAA,QACT;AAAA,IACF,GAEMG,IAAWC,EAAS,MAAML,EAASF,EAAM,YAAYQ,CAAqB,CAAC,GAE3EC,IAAWF,EAAS,MAAML,EAASF,EAAM,YAAYU,CAAqB,CAAC,GAE3EC,IAAcJ,EAAS,MAAMP,EAAM,YAAY,CAACA,EAAM,SAAS,IAAI,GAEnEY,IAAaL,EAAS,MAAMP,EAAM,YAAYA,EAAM,SAAS,IAAI,GAEjEa,IAAuBN,EAAS,MAAMO,EAAgBpB,EAAK,OAAOM,EAAM,KAAK,CAAC,GAE9Ee,IAAYR,EAAS,MAAM,OAAOM,EAAqB,SAAU,QAAQ,GAEzEG,IAAcT,EAAS,MAAM;AACjC,YAAM,EAAE,QAAAU,GAAQ,MAAAC,EAAA,IAASlB,EAAM,YAAY,CAAA;AAE3C,aAAI,CAACiB,KAAU,CAACA,EAAO,aACd,KAGLA,EAAO,kBAAkB,CAACC,IACrBC,EAAYF,EAAO,gBAAgB,CAAA,CAAE,IAAI,QAAQE,EAAYF,EAAO,YAAY,EAAE,IAGpFE,EAAYF,EAAO,YAAY,EAAE;AAAA,IAC1C,CAAC,GAEKG,IAAgBb,EAAS,MAAM;;AACnC,YAAM,EAAE,UAAAc,MAAarB;AAErB,aAAKqB,IAIE;AAAA,QACL,OAAOA,EAAS,OAAO,SAAS,KAAK,SAAOC,IAAAD,EAAS,WAAT,gBAAAC,EAAiB,aAAY,KAAK,GAAG,IAAI;AAAA,MAAA,IAJ9E,CAAA;AAAA,IAMX,CAAC,GAEKC,IAAiB,MAAM;AAC3B,MAAA7B,EAAK,iBAAiB;AAAA,IACxB,GAEM8B,IAAW,CAACrB,MAAqB;AACrC,MAAIA,EAAE,MAAM,UACVL,EAAK,qBAAqBK,EAAE,MAAM,CAAC,CAAC;AAAA,IAExC,GAEMsB,IAAQ,MAAM3B,EAAK,qBAAqB,MAAS;AAEvD,IAAA4B;AAAA,MACE,MAAM1B,EAAM;AAAA,MACZ,MAAON,EAAK,QAAQ;AAAA,MACpB,EAAE,WAAW,GAAA;AAAA,IAAK;AAGpB,UAAMiC,IAAUC,EAAA;AAEhB,WAAK5B,EAAM,aACT6B,EAAcF,CAAO;MAKrBG,EAmCM,OAAA;AAAA,QAnCA,OAAKC,EAAA,CAAA,EAAA,6BAAA,CAAA,CAAmC9B,EAAA,WAAS,YAAA,CAAA,CAAgBK,EAAA,MAAA,GAAkB,yBAAyB,CAAA;AAAA,MAAA;QAChHwB,EA6BM,OAAA;AAAA,mBA5BA;AAAA,UAAJ,KAAIH;AAAA,UACH,OAAKI,EAAA,CAAA,EAAA,QAAI9B,EAAA,QAAM,OAASc,EAAA,MAAA,GACnB,eAAe,CAAA;AAAA,UACrB,UAAS;AAAA,UACR,WAAaQ,GAAc,CAAA,OAAA,CAAA;AAAA,UAC3B,WAAYA,GAAc,CAAA,MAAA,CAAA;AAAA,QAAA;UAE3BO,EAA8D,OAAA;AAAA,YAAxD,SAAOV,EAAA,KAAa;AAAA,YAAE,OAAM;AAAA,UAAA;UACpB,CAAAnB,EAAA,aAAaA,EAAA,SAA3B+B,KAAAC,EASQ,SATRC,IASQ;AAAA,YAROjC,EAAA,iBAAbkC,EAA4CC,EAAAC,EAAA,GAAA;AAAA;cAApB,KAAKD,EAAAE,CAAA;AAAA,YAAA;YAC7BR,EAAwB,gBAAf7B,EAAA,KAAK,GAAA,CAAA;AAAA,YACGmC,EAAAxC,CAAA,EAAM,WAAWa,EAAA,cAAlC0B,EAKYC,EAAAG,CAAA,GAAA;AAAA;cALgC,OAAM;AAAA,cAAO,UAAS;AAAA,YAAA;cACrD,WACT,MAA4C;AAAA,gBAAhCH,EAAAxC,CAAA,EAAM,UAAlB4C,EAA4CC,EAAA,QAAA,WAAA,EAAA,KAAA,GAAA,UAC5CR,EAA0CS,GAAA,EAAA,KAAA,KAAA;AAAA,sBAAtBjC,EAAA,KAAQ,GAAA,CAAA;AAAA,gBAAA;;;;;UAIdM,EAAA,cAApBoB,EAAgDC,EAAAO,CAAA,GAAA;AAAA;YAAjB,MAAK;AAAA,UAAA,MACXhC,EAAA,cAAzBwB,EAA4DC,EAAAO,CAAA,GAAA;AAAA;YAAtB,MAAK;AAAA,UAAA,MAClB/B,EAAA,cAAzBuB,EAAsDC,EAAAO,CAAA,GAAA;AAAA;YAAjB,MAAK;AAAA,UAAA,YAC1CR,EAAyCC,EAAAO,CAAA,GAAA;AAAA;YAApB,MAAK;AAAA,UAAA;UAC1Bb,EAEM,OAAA;AAAA,YAFA,oBAAkB7B,EAAA,eAAW;AAAA,YAAmB,OAAM;AAAA,UAAA,KACvDK,EAAA,KAAQ,GAAA,GAAAsC,EAAA;AAAA,UAEF5B,EAAA,cAAXiB,EAA4E,OAA5EY,IAA4EC,EAApB9B,EAAA,KAAW,GAAA,CAAA;UAC/Cf,EAAA,mBAApBkC,EAAgGC,EAAAO,CAAA,GAAA;AAAA;YAAhE,OAAM;AAAA,YAAuB,MAAK;AAAA,YAAS,WAAYlB,GAAK,CAAA,MAAA,CAAA;AAAA,UAAA;UAC5FsB,EAAgDC,GAAA,EAAjC,OAAM,0BAAwB;AAAA,QAAA;QAEpCjC,EAAA,cAAXkB,EAEM,OAFNgB,IAEMH,EADDjC,EAAA,KAAoB,GAAA,CAAA,KAETZ,EAAA,eAAhBgC,EAAwE,OAAxEiB,IAAwEJ,EAAf7C,EAAA,MAAM,GAAA,CAAA;;MAEjE8C,EAMEX,EAAAe,CAAA,GAAA;AAAA,QALS,YAAAzD,EAAK;AAAA,QAAL,uBAAA0D,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAA3D,EAAK,iBAAc2D;AAAA,QAC3B,0BAAwBpD,EAAA;AAAA,QACxB,YAAYA,EAAA;AAAA,QACZ,OAAOA,EAAA;AAAA,QACP,kBAAcuB;AAAA,MAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"PlFileInput.vue.js","sources":["../../../src/components/PlFileInput/PlFileInput.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport \"./pl-file-input.scss\";\n\nimport { prettyBytes } from \"@milaboratories/helpers\";\nimport type { ImportFileHandle, ImportProgress } from \"@platforma-sdk/model\";\nimport { getFileNameFromHandle, getFilePathFromHandle } from \"@platforma-sdk/model\";\nimport { computed, reactive, ref, useSlots, watch } from \"vue\";\nimport { getErrorMessage } from \"../../helpers/error.ts\";\nimport type { ImportedFiles } from \"../../types\";\nimport DoubleContour from \"../../utils/DoubleContour.vue\";\nimport { useLabelNotch } from \"../../utils/useLabelNotch\";\nimport { PlFileDialog } from \"../PlFileDialog\";\nimport { PlMaskIcon24 } from \"../PlMaskIcon24\";\nimport { PlTooltip } from \"../PlTooltip\";\n\nimport SvgRequired from \"../../assets/images/required.svg?raw\";\nimport { PlSvg } from \"../PlSvg\";\n\nconst data = reactive({\n fileDialogOpen: false,\n error: undefined as undefined | string,\n});\n\nconst slots = useSlots();\n\nconst emit = defineEmits<{\n (e: \"update:modelValue\", value: ImportFileHandle | undefined): void;\n}>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current import file handle.\n */\n modelValue: ImportFileHandle | undefined;\n /**\n * The label to display above the input field.\n */\n label?: string;\n /**\n * If `true`, the input field is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the component border is dashed.\n */\n dashed?: boolean;\n /**\n * Allowed file extensions (should start with `.`)\n */\n extensions?: string[];\n /**\n * Placeholder text\n */\n placeholder?: string;\n /**\n * Import/Upload progress\n */\n progress?: ImportProgress;\n /**\n * An error message to display below the input field.\n */\n error?: unknown;\n /**\n * A helper text to display below the input field when there are no errors.\n */\n helper?: string;\n /**\n * Remove rounded border and change styles\n */\n cellStyle?: boolean;\n /**\n * File dialog title\n */\n fileDialogTitle?: string;\n /**\n * If `true`, the file dialog window closes when clicking outside the modal area (default: `true`)\n */\n fileDialogCloseOnOutsideClick?: boolean;\n }>(),\n {\n label: undefined,\n extensions: undefined,\n fileDialogTitle: undefined,\n placeholder: undefined,\n progress: undefined,\n error: undefined,\n helper: undefined,\n cellStyle: false,\n fileDialogCloseOnOutsideClick: true,\n },\n);\n\nconst tryValue = <T extends ImportFileHandle>(\n v: T | undefined,\n cb: (v: T) => string | undefined,\n) => {\n if (!v) {\n return undefined;\n }\n\n try {\n return cb(v);\n } catch (err) {\n data.error = err instanceof Error ? err.message : String(err);\n return v;\n }\n};\n\nconst fileName = computed(() => tryValue(props.modelValue, getFileNameFromHandle));\n\nconst filePath = computed(() => tryValue(props.modelValue, getFilePathFromHandle));\n\nconst isUploading = computed(() => props.progress && !props.progress.done);\n\nconst isUploaded = computed(() => props.progress && props.progress.done);\n\nconst computedErrorMessage = computed(() => getErrorMessage(data.error, props.error));\n\nconst hasErrors = computed(() => typeof computedErrorMessage.value === \"string\");\n\nconst uploadStats = computed(() => {\n const { status, done } = props.progress ?? {};\n\n if (!status || !status.bytesTotal) {\n return \"\";\n }\n\n if (status.bytesProcessed && !done) {\n return prettyBytes(status.bytesProcessed, {}) + \" / \" + prettyBytes(status.bytesTotal, {});\n }\n\n return prettyBytes(status.bytesTotal, {});\n});\n\nconst progressStyle = computed(() => {\n const { progress } = props;\n\n if (!progress) {\n return {};\n }\n\n return {\n width: progress.done ? \"100%\" : Math.round((progress.status?.progress ?? 0) * 100) + \"%\",\n };\n});\n\nconst openFileDialog = () => {\n data.fileDialogOpen = true;\n};\n\nconst onImport = (v: ImportedFiles) => {\n if (v.files.length) {\n emit(\"update:modelValue\", v.files[0]);\n }\n};\n\nconst clear = () => emit(\"update:modelValue\", undefined);\n\nwatch(\n () => props.modelValue,\n () => (data.error = undefined),\n { immediate: true },\n);\n\nconst rootRef = ref();\n\nif (!props.cellStyle) {\n useLabelNotch(rootRef);\n}\n</script>\n\n<template>\n <div\n :class=\"{ 'pl-file-input__cell-style': !!cellStyle, 'has-file': !!fileName }\"\n class=\"pl-file-input__envelope\"\n >\n <div\n ref=\"rootRef\"\n :class=\"{ dashed, error: hasErrors }\"\n class=\"pl-file-input\"\n tabindex=\"0\"\n @keyup.enter=\"openFileDialog\"\n @click.stop=\"openFileDialog\"\n >\n <div :style=\"progressStyle\" class=\"pl-file-input__progress\" />\n <label v-if=\"!cellStyle && label\" ref=\"label\">\n <PlSvg v-if=\"required\" :uri=\"SvgRequired\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip || filePath\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot v-if=\"slots.tooltip\" name=\"tooltip\" />\n <template v-else>{{ filePath }}</template>\n </template>\n </PlTooltip>\n </label>\n <PlMaskIcon24 v-if=\"hasErrors\" name=\"restart\" />\n <PlMaskIcon24 v-else-if=\"isUploading\" name=\"cloud-upload\" />\n <PlMaskIcon24 v-else-if=\"isUploaded\" name=\"success\" />\n <PlMaskIcon24 v-else name=\"paper-clip\" />\n <div :data-placeholder=\"placeholder ?? 'Choose file'\" class=\"pl-file-input__filename\">\n {{ fileName }}\n </div>\n <div v-if=\"uploadStats\" class=\"pl-file-input__stats\">{{ uploadStats }}</div>\n <PlMaskIcon24\n v-if=\"modelValue\"\n class=\"pl-file-input__clear\"\n name=\"close\"\n @click.stop=\"clear\"\n />\n <DoubleContour class=\"pl-file-input__contour\" />\n </div>\n <div v-if=\"hasErrors\" class=\"pl-file-input__error\">\n {{ computedErrorMessage }}\n </div>\n <div v-else-if=\"helper\" class=\"pl-file-input__helper\">{{ helper }}</div>\n </div>\n <PlFileDialog\n v-model=\"data.fileDialogOpen\"\n :close-on-outside-click=\"fileDialogCloseOnOutsideClick\"\n :extensions=\"extensions\"\n :title=\"fileDialogTitle\"\n @import:files=\"onImport\"\n />\n</template>\n"],"names":["data","reactive","slots","useSlots","emit","__emit","props","__props","tryValue","v","cb","err","fileName","computed","getFileNameFromHandle","filePath","getFilePathFromHandle","isUploading","isUploaded","computedErrorMessage","getErrorMessage","hasErrors","uploadStats","status","done","prettyBytes","progressStyle","progress","_a","openFileDialog","onImport","clear","watch","rootRef","ref","useLabelNotch","_createElementVNode","_normalizeClass","_openBlock","_createElementBlock","_hoisted_1","_createBlock","_unref","PlSvg","SvgRequired","PlTooltip","_renderSlot","_ctx","_Fragment","PlMaskIcon24","_hoisted_2","_hoisted_3","_toDisplayString","_createVNode","DoubleContour","_hoisted_4","_hoisted_5","PlFileDialog","_cache","$event"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlIcon16.vue2.js","sources":["../../../src/components/PlIcon16/PlIcon16.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { MaskIconName16, Size } from
|
|
1
|
+
{"version":3,"file":"PlIcon16.vue2.js","sources":["../../../src/components/PlIcon16/PlIcon16.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { MaskIconName16, Size } from \"../../types\";\nimport { PlSvg } from \"../PlSvg\";\nimport { computed } from \"vue\";\n\nconst props = defineProps<{\n name: MaskIconName16;\n size?: number | string | Size;\n color?: string | string[];\n stroke?: string | string[];\n}>();\n\nconst size = computed(() => {\n if (typeof props.size === \"string\") {\n if (props.size === \"small\") return 12;\n if (props.size === \"medium\") return 16;\n if (props.size === \"large\") return 24;\n }\n return props.size ?? 16;\n});\n</script>\n\n<template>\n <PlSvg\n :name=\"`16_${props.name}`\"\n :class=\"[$style.icon, 'icon-16', 'mask-16', `icon-${props.name}`, `mask-${props.name}`]\"\n :width=\"size\"\n :height=\"size\"\n :color=\"props.color\"\n :stroke=\"props.stroke\"\n />\n</template>\n\n<style module>\n.icon {\n /* pass color to svg variable */\n --svg-fill-0: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-1: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-2: var(--icon-color, var(--mask-icon-bg-color));\n display: inline-block;\n}\n</style>\n"],"names":["props","__props","size","computed","_createBlock","_unref","PlSvg","_normalizeClass","$style"],"mappings":";;;;;;;;;;;AAKA,UAAMA,IAAQC,GAORC,IAAOC,EAAS,MAAM;AAC1B,UAAI,OAAOH,EAAM,QAAS,UAAU;AAClC,YAAIA,EAAM,SAAS,QAAS,QAAO;AACnC,YAAIA,EAAM,SAAS,SAAU,QAAO;AACpC,YAAIA,EAAM,SAAS,QAAS,QAAO;AAAA,MACrC;AACA,aAAOA,EAAM,QAAQ;AAAA,IACvB,CAAC;2BAICI,EAOEC,EAAAC,CAAA,GAAA;AAAA,MANC,MAAI,MAAQN,EAAM,IAAI;AAAA,MACtB,OAAKO,EAAA,CAAGC,EAAAA,OAAO,MAAI,WAAA,WAAA,QAAgCR,EAAM,IAAI,IAAA,QAAYA,EAAM,IAAI,EAAA,CAAA;AAAA,MACnF,OAAOE,EAAA;AAAA,MACP,QAAQA,EAAA;AAAA,MACR,OAAOF,EAAM;AAAA,MACb,QAAQA,EAAM;AAAA,IAAA;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlIcon24.vue2.js","sources":["../../../src/components/PlIcon24/PlIcon24.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { MaskIconName24, Size } from
|
|
1
|
+
{"version":3,"file":"PlIcon24.vue2.js","sources":["../../../src/components/PlIcon24/PlIcon24.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { MaskIconName24, Size } from \"../../types\";\nimport { PlSvg } from \"../PlSvg\";\nimport { computed } from \"vue\";\n\nconst props = defineProps<{\n name: MaskIconName24;\n size?: number | string | Size;\n color?: string | string[];\n stroke?: string | string[];\n}>();\n\nconst size = computed(() => {\n if (typeof props.size === \"string\") {\n if (props.size === \"small\") return 16;\n if (props.size === \"medium\") return 24;\n if (props.size === \"large\") return 32;\n }\n return props.size ?? 24;\n});\n</script>\n\n<template>\n <PlSvg\n :name=\"`24_${props.name}`\"\n :class=\"['icon-24', 'mask-24', `icon-${props.name}`, `mask-${props.name}`, $style.icon]\"\n :width=\"size\"\n :height=\"size\"\n :color=\"props.color\"\n :stroke=\"props.stroke\"\n />\n</template>\n\n<style module>\n.icon {\n /* pass color to svg variable */\n --svg-fill-0: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-1: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-2: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-3: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-4: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-5: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-6: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-0: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-1: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-2: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-3: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-4: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-5: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-6: var(--icon-color, var(--mask-icon-bg-color));\n display: inline-block;\n}\n</style>\n"],"names":["props","__props","size","computed","_createBlock","_unref","PlSvg","_normalizeClass","$style"],"mappings":";;;;;;;;;;;AAKA,UAAMA,IAAQC,GAORC,IAAOC,EAAS,MAAM;AAC1B,UAAI,OAAOH,EAAM,QAAS,UAAU;AAClC,YAAIA,EAAM,SAAS,QAAS,QAAO;AACnC,YAAIA,EAAM,SAAS,SAAU,QAAO;AACpC,YAAIA,EAAM,SAAS,QAAS,QAAO;AAAA,MACrC;AACA,aAAOA,EAAM,QAAQ;AAAA,IACvB,CAAC;2BAICI,EAOEC,EAAAC,CAAA,GAAA;AAAA,MANC,MAAI,MAAQN,EAAM,IAAI;AAAA,MACtB,OAAKO,EAAA,CAAA,WAAA,WAAA,QAAiCP,EAAM,IAAI,IAAA,QAAYA,EAAM,IAAI,IAAIQ,EAAAA,OAAO,IAAI,CAAA;AAAA,MACrF,OAAON,EAAA;AAAA,MACP,QAAQA,EAAA;AAAA,MACR,OAAOF,EAAM;AAAA,MACb,QAAQA,EAAM;AAAA,IAAA;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
|
-
size?:
|
|
2
|
+
size?: "16" | "24" | "48" | string;
|
|
3
3
|
};
|
|
4
4
|
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
5
5
|
size: "16" | "24" | "48" | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlLoaderCircular.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlLoaderCircular/PlLoaderCircular.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlLoaderCircular.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlLoaderCircular/PlLoaderCircular.vue"],"names":[],"mappings":"AAoCA,OAAO,2BAA2B,CAAC;AAEnC,KAAK,WAAW,GAAG;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;CACpC,CAAC;;UADO,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM;;AAmEtC,wBAQG"}
|
|
@@ -11,7 +11,11 @@ const a = { class: "pl-loader-circular" }, o = {
|
|
|
11
11
|
setup(e) {
|
|
12
12
|
return (n, d) => (r(), c("div", a, [
|
|
13
13
|
l("div", {
|
|
14
|
-
style: t({
|
|
14
|
+
style: t({
|
|
15
|
+
height: `${e.size}px`,
|
|
16
|
+
width: `${e.size}px`,
|
|
17
|
+
"--main-color": `${+e.size < 48 ? "var(--ic-01)" : "var(--ic-02)"}`
|
|
18
|
+
}),
|
|
15
19
|
class: "pl-circle-loader__wrapper"
|
|
16
20
|
}, [
|
|
17
21
|
(r(), c("svg", o, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlLoaderCircular.vue.js","sources":["../../../src/components/PlLoaderCircular/PlLoaderCircular.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport
|
|
1
|
+
{"version":3,"file":"PlLoaderCircular.vue.js","sources":["../../../src/components/PlLoaderCircular/PlLoaderCircular.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport \"./pl-loader-circular.scss\";\n\nwithDefaults(\n defineProps<{\n size?: \"16\" | \"24\" | \"48\" | string;\n }>(),\n { size: \"16\" },\n);\n</script>\n<template>\n <div class=\"pl-loader-circular\">\n <div\n :style=\"{\n height: `${size}px`,\n width: `${size}px`,\n '--main-color': `${+size < 48 ? 'var(--ic-01)' : 'var(--ic-02)'}`,\n }\"\n class=\"pl-circle-loader__wrapper\"\n >\n <svg class=\"pl-loader-circular__svg\" viewBox=\"25 25 50 50\">\n <circle\n class=\"pl-loader-circular__svg-circle\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n :stroke=\"`${+size < 48 ? 'var(--ic-01)' : 'var(--ic-02)'}`\"\n stroke-width=\"2\"\n />\n </svg>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_normalizeStyle","__props","_hoisted_2"],"mappings":";;;;;;;;;;;sBAWEA,EAAA,GAAAC,EAqBM,OArBNC,GAqBM;AAAA,MApBJC,EAmBM,OAAA;AAAA,QAlBH,OAAKC,EAAA;AAAA,qBAAuBC,EAAA,IAAI;AAAA,oBAAwBA,EAAA,IAAI;AAAA,8BAAkCA,EAAA,OAAI,KAAA,iBAAA,cAAA;AAAA,QAAA;QAKnG,OAAM;AAAA,MAAA;SAENL,KAAAC,EAUM,OAVNK,GAUM;AAAA,UATJH,EAQE,UAAA;AAAA,YAPA,OAAM;AAAA,YACN,IAAG;AAAA,YACH,IAAG;AAAA,YACH,GAAE;AAAA,YACF,MAAK;AAAA,YACJ,YAAYE,EAAA,OAAI,KAAA,iBAAA,cAAA;AAAA,YACjB,gBAAa;AAAA,UAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlLoaderLogo.vue.d.ts","sourceRoot":"","sources":["../../src/components/PlLoaderLogo.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlLoaderLogo.vue.d.ts","sourceRoot":"","sources":["../../src/components/PlLoaderLogo.vue"],"names":[],"mappings":"AAgEA,KAAK,WAAW,GAAG;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;;AAuFF,wBAOG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as n, useCssVars as h, unref as t, computed as v, useCssModule as
|
|
1
|
+
import { defineComponent as n, useCssVars as h, unref as t, computed as v, useCssModule as z, createElementBlock as d, openBlock as u, normalizeClass as m, createStaticVNode as i } from "vue";
|
|
2
2
|
const M = /* @__PURE__ */ n({
|
|
3
3
|
__name: "PlLoaderLogo",
|
|
4
4
|
props: {
|
|
@@ -6,19 +6,19 @@ const M = /* @__PURE__ */ n({
|
|
|
6
6
|
color: {},
|
|
7
7
|
backgroundColor: {}
|
|
8
8
|
},
|
|
9
|
-
setup(
|
|
9
|
+
setup(e) {
|
|
10
10
|
h((l) => ({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
v292e9844: r.value,
|
|
12
|
+
v0b1a86b2: t(p),
|
|
13
|
+
v08750100: t(s)
|
|
14
14
|
}));
|
|
15
|
-
const o =
|
|
15
|
+
const o = e, c = z(), r = v(
|
|
16
16
|
() => typeof o.size == "number" ? CSS.px(o.size).toString() : o.size
|
|
17
17
|
), s = o.color ?? "currentColor", p = o.backgroundColor ?? "var(--color-div-bw)";
|
|
18
|
-
return (l, a) => (u(),
|
|
18
|
+
return (l, a) => (u(), d("svg", {
|
|
19
19
|
viewBox: "0 0 64 64",
|
|
20
20
|
xmlns: "http://www.w3.org/2000/svg",
|
|
21
|
-
class: m(t(
|
|
21
|
+
class: m(t(c).root)
|
|
22
22
|
}, [...a[0] || (a[0] = [
|
|
23
23
|
i('<path d="m32 3 26 15H6z"></path><path d="M32 18h26v28H32z"></path><path d="M32 45.5h26L32 61z"></path><path d="M6 39h26v22L6 46z"></path><path d="M6 30h26v8H6z"></path><path d="M6 18h26v12H6z"></path><path d="M28.816 1.834c.788-.423 1.357-.671 1.947-.796a6 6 0 0 1 2.474 0c.59.125 1.159.373 1.947.796.578.295 1.26.685 2.141 1.189l17.411 9.956a67 67 0 0 1 1.88 1.098c.853.511 1.397.896 1.83 1.375a6 6 0 0 1 1.258 2.167c.296.907.296 1.922.296 3.951v20.858c0 2.029 0 3.043-.296 3.95a6 6 0 0 1-1.258 2.168c-.433.479-.977.864-1.83 1.376-.504.31-1.116.66-1.88 1.097l-17.41 9.956c-.882.504-1.563.893-2.14 1.188-.79.424-1.358.672-1.949.796a6 6 0 0 1-2.474 0c-.59-.124-1.16-.372-1.948-.796-.578-.295-1.259-.684-2.14-1.188l-17.41-9.956a69 69 0 0 1-1.88-1.097c-.853-.512-1.397-.897-1.831-1.376a6 6 0 0 1-1.258-2.167C4 45.47 4 44.457 4 42.428V21.57c0-2.03 0-3.044.296-3.95a6 6 0 0 1 1.258-2.168c.434-.479.977-.864 1.83-1.375a68 68 0 0 1 1.88-1.098l17.411-9.956c.882-.504 1.563-.894 2.14-1.19M8 27.997V19.99h21.964v8.006zm0 8.005v-4.003h21.964v4.003zM29.964 58.33 8 45.722v-5.718h21.964zm22.051-10.32L34.037 58.33V48.01zM56 19.99v24.016H34.037V19.99zm-44.016-4L32 4.499l20.016 11.49z"></path>', 7)
|
|
24
24
|
])], 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlLoaderLogo.vue2.js","sources":["../../src/components/PlLoaderLogo.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, useCssModule } from
|
|
1
|
+
{"version":3,"file":"PlLoaderLogo.vue2.js","sources":["../../src/components/PlLoaderLogo.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, useCssModule } from \"vue\";\n\nconst props = defineProps<{\n size?: number | string;\n color?: string;\n backgroundColor?: string;\n}>();\n\nconst styles = useCssModule();\n\nconst size = computed(() =>\n typeof props.size === \"number\" ? CSS.px(props.size).toString() : props.size,\n);\n\nconst color = props.color ?? \"currentColor\";\nconst backgroundColor = props.backgroundColor ?? \"var(--color-div-bw)\";\n</script>\n\n<template>\n <svg viewBox=\"0 0 64 64\" xmlns=\"http://www.w3.org/2000/svg\" :class=\"styles.root\">\n <path d=\"m32 3 26 15H6z\" />\n <path d=\"M32 18h26v28H32z\" />\n <path d=\"M32 45.5h26L32 61z\" />\n <path d=\"M6 39h26v22L6 46z\" />\n <path d=\"M6 30h26v8H6z\" />\n <path d=\"M6 18h26v12H6z\" />\n <path\n d=\"M28.816 1.834c.788-.423 1.357-.671 1.947-.796a6 6 0 0 1 2.474 0c.59.125 1.159.373 1.947.796.578.295 1.26.685 2.141 1.189l17.411 9.956a67 67 0 0 1 1.88 1.098c.853.511 1.397.896 1.83 1.375a6 6 0 0 1 1.258 2.167c.296.907.296 1.922.296 3.951v20.858c0 2.029 0 3.043-.296 3.95a6 6 0 0 1-1.258 2.168c-.433.479-.977.864-1.83 1.376-.504.31-1.116.66-1.88 1.097l-17.41 9.956c-.882.504-1.563.893-2.14 1.188-.79.424-1.358.672-1.949.796a6 6 0 0 1-2.474 0c-.59-.124-1.16-.372-1.948-.796-.578-.295-1.259-.684-2.14-1.188l-17.41-9.956a69 69 0 0 1-1.88-1.097c-.853-.512-1.397-.897-1.831-1.376a6 6 0 0 1-1.258-2.167C4 45.47 4 44.457 4 42.428V21.57c0-2.03 0-3.044.296-3.95a6 6 0 0 1 1.258-2.168c.434-.479.977-.864 1.83-1.375a68 68 0 0 1 1.88-1.098l17.411-9.956c.882-.504 1.563-.894 2.14-1.19M8 27.997V19.99h21.964v8.006zm0 8.005v-4.003h21.964v4.003zM29.964 58.33 8 45.722v-5.718h21.964zm22.051-10.32L34.037 58.33V48.01zM56 19.99v24.016H34.037V19.99zm-44.016-4L32 4.499l20.016 11.49z\"\n />\n </svg>\n</template>\n\n<style module>\n.root {\n min-block-size: v-bind(size);\n max-block-size: v-bind(size);\n min-inline-size: v-bind(size);\n max-inline-size: v-bind(size);\n fill-rule: evenodd;\n path {\n &:not(:last-of-type) {\n fill: v-bind(backgroundColor);\n animation-duration: 1s;\n animation-delay: calc(1s / 6 * (sibling-index() - 1));\n animation-iteration-count: infinite;\n animation-name: flash;\n }\n &:last-of-type {\n fill: v-bind(color);\n }\n }\n}\n\n@keyframes flash {\n from {\n fill: v-bind(color);\n }\n}\n</style>\n"],"names":["props","__props","styles","useCssModule","size","computed","color","backgroundColor","_createElementBlock","_normalizeClass","_unref"],"mappings":";;;;;;;;;;;;;;AAGA,UAAMA,IAAQC,GAMRC,IAASC,EAAA,GAETC,IAAOC;AAAA,MAAS,MACpB,OAAOL,EAAM,QAAS,WAAW,IAAI,GAAGA,EAAM,IAAI,EAAE,SAAA,IAAaA,EAAM;AAAA,IAAA,GAGnEM,IAAQN,EAAM,SAAS,gBACvBO,IAAkBP,EAAM,mBAAmB;2BAI/CQ,EAUM,OAAA;AAAA,MAVD,SAAQ;AAAA,MAAY,OAAM;AAAA,MAA8B,OAAKC,EAAEC,EAAAR,CAAA,EAAO,IAAI;AAAA,IAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlLogView.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlLogView/PlLogView.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlLogView.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlLogView/PlLogView.vue"],"names":[],"mappings":"AA6LA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAStF;;GAEG;;IAWD;;OAEG;YACK,MAAM;IACd;;OAEG;kBACW,MAAM;IACpB;;OAEG;gBACS,YAAY;IACxB;;OAEG;qBACc,MAAM;IACvB;;OAEG;YACK,OAAO;IACf;;OAEG;aACM,gBAAgB,CAAC,OAAO,CAAC;IAClC;;OAEG;iBACU,MAAM;IACnB;;OAEG;oBACa,SAAS;IACzB;;OAEG;YACK,MAAM;IACd;;OAEG;wBACiB,OAAO;IAC3B;;OAEG;uBACgB,MAAM;;IA3CzB;;OAEG;YACK,MAAM;IACd;;OAEG;kBACW,MAAM;IACpB;;OAEG;gBACS,YAAY;IACxB;;OAEG;qBACc,MAAM;IACvB;;OAEG;YACK,OAAO;IACf;;OAEG;aACM,gBAAgB,CAAC,OAAO,CAAC;IAClC;;OAEG;iBACU,MAAM;IACnB;;OAEG;oBACa,SAAS;IACzB;;OAEG;YACK,MAAM;IACd;;OAEG;wBACiB,OAAO;IAC3B;;OAEG;uBACgB,MAAM;;;;;qBAuOE,GAAG;;AA5RhC,wBAkVK;AASL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -33,13 +33,17 @@ const M = { key: 0 }, G = { class: "pl-log-view__copy" }, J = {
|
|
|
33
33
|
if (o && o.ok === !1)
|
|
34
34
|
return o.errors.join(`
|
|
35
35
|
`);
|
|
36
|
-
}, V = F(), t = n, g = O(t), k = c(!0), w = c(), _ = c(), f = u(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
}, V = F(), t = n, g = O(t), k = c(!0), w = c(), _ = c(), f = u(
|
|
37
|
+
() => {
|
|
38
|
+
var o;
|
|
39
|
+
return ((o = g.value) == null ? void 0 : o.error) ?? t.error ?? x(t.output);
|
|
40
|
+
}
|
|
41
|
+
), a = u(
|
|
42
|
+
() => {
|
|
43
|
+
var o;
|
|
44
|
+
return ((o = g.value) == null ? void 0 : o.lines) ?? t.value ?? $(t.output);
|
|
45
|
+
}
|
|
46
|
+
), C = u(() => {
|
|
43
47
|
if (t.valueToCopy)
|
|
44
48
|
return t.valueToCopy;
|
|
45
49
|
if (a.value && typeof a.value == "string")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlLogView.vue.js","sources":["../../../src/components/PlLogView/PlLogView.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Log Viewer Component\n */\nexport default {\n name:
|
|
1
|
+
{"version":3,"file":"PlLogView.vue.js","sources":["../../../src/components/PlLogView/PlLogView.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Log Viewer Component\n */\nexport default {\n name: \"PlLogView\",\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots, watch } from \"vue\";\nimport { PlMaskIcon24 } from \"../PlMaskIcon24\";\nimport \"./pl-log-view.scss\";\nimport { okOptional, tapIf } from \"@milaboratories/helpers\";\nimport type { AnyLogHandle, OutputWithStatus, Platforma } from \"@platforma-sdk/model\";\nimport { useLogHandle } from \"./useLogHandle\";\nimport { useLabelNotch } from \"../../utils/useLabelNotch\";\nimport DoubleContour from \"../../utils/DoubleContour.vue\";\nimport { PlTooltip } from \"../PlTooltip\";\nimport { PlIcon24 } from \"../PlIcon24\";\nimport { downloadContent } from \"../../helpers/dom\";\n\nconst getOutputError = <T,>(o?: OutputWithStatus<T>) => {\n if (o && o.ok === false) {\n return o.errors.join(\"\\n\");\n }\n};\n\nconst slots = useSlots();\n\nconst props = defineProps<{\n /**\n * String contents\n */\n value?: string;\n /**\n * The content to copy (Note: it takes precedence over value property)\n */\n valueToCopy?: string;\n /**\n * AnyLogHandle\n */\n logHandle?: AnyLogHandle;\n /**\n * Custom progress prefix (to filter logHandle results)\n */\n progressPrefix?: string;\n /**\n * String contents\n */\n error?: unknown;\n /**\n * Block output (Note: error and value take precedence over output property)\n */\n output?: OutputWithStatus<unknown>;\n /**\n * Max retries for AnyLogHandle fetch (with the same parameters)\n */\n maxRetries?: number;\n /**\n * @TODO\n */\n mockPlatforma?: Platforma;\n /**\n * The label to display above the texarea.\n */\n label?: string;\n /**\n * Do not scroll to bottom on content change. Default is false (scroll to bottom).\n */\n disableAutoScroll?: boolean;\n /**\n * If provided, a download icon will be shown and the content will be downloaded when clicked.\n */\n downloadFilename?: string;\n}>();\n\nconst logState = useLogHandle(props);\n\nconst isAnchored = ref<boolean>(true);\n\nconst contentRef = ref<HTMLElement>();\n\nconst root = ref<HTMLInputElement>();\n\nconst computedError = computed(\n () => logState.value?.error ?? props.error ?? getOutputError(props.output),\n);\n\nconst computedValue = computed(\n () => logState.value?.lines ?? props.value ?? okOptional(props.output),\n);\n\nconst computedValueToCopy = computed(() => {\n if (props.valueToCopy) {\n return props.valueToCopy;\n }\n if (computedValue.value && typeof computedValue.value === \"string\") {\n return computedValue.value;\n }\n return undefined;\n});\n\nconst copyActive = ref(false);\n\nuseLabelNotch(root);\n\nconst iconName = computed(() => (copyActive.value ? \"clipboard-copied\" : \"clipboard\"));\n\nconst onClickCopy = () => {\n copyActive.value = true;\n setTimeout(() => {\n copyActive.value = false;\n }, 1200);\n\n const toCopy = computedValueToCopy.value;\n\n if (toCopy !== undefined) {\n navigator.clipboard.writeText(toCopy);\n }\n};\n\nconst onClickDownload = (filename: string) => {\n const toDownload = computedValueToCopy.value;\n\n if (toDownload !== undefined) {\n downloadContent([toDownload, \"text/plain\"], filename);\n }\n};\n\nconst optionallyScrollDown = () => {\n if (props.disableAutoScroll) {\n return;\n }\n\n tapIf(contentRef.value, (el) => {\n if (isAnchored.value) {\n el.scrollTo(el.scrollLeft, el.scrollHeight);\n }\n });\n};\n\nwatch(\n computedValue,\n () => {\n requestAnimationFrame(() => {\n optionallyScrollDown();\n });\n },\n { immediate: true },\n);\n\nconst onContentScroll = (ev: Event) => {\n const el = ev.target as HTMLElement;\n isAnchored.value = el.scrollTop + 20 /* ~ 1 line height */ >= el.scrollHeight - el.offsetHeight;\n};\n</script>\n\n<template>\n <div ref=\"root\" class=\"pl-log-view\" :class=\"{ 'has-error': computedError }\">\n <label v-if=\"label\">\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <DoubleContour class=\"pl-log-view__contour\" />\n <div class=\"pl-log-view__copy\">\n <PlTooltip :close-delay=\"800\" position=\"top\">\n <PlMaskIcon24 title=\"Copy content\" :name=\"iconName\" @click=\"onClickCopy\" />\n <template #tooltip>{{ copyActive ? \"copied\" : \"copy\" }}</template>\n </PlTooltip>\n <PlTooltip v-if=\"downloadFilename\" :close-delay=\"800\" position=\"top\">\n <PlIcon24 name=\"download\" @click=\"() => onClickDownload(downloadFilename!)\" />\n <template #tooltip>download</template>\n </PlTooltip>\n </div>\n <div v-if=\"computedError\" class=\"pl-log-view__error\">{{ computedError }}</div>\n <div v-else ref=\"contentRef\" class=\"pl-log-view__content\" @scroll=\"onContentScroll\">\n {{ computedValue }}\n </div>\n </div>\n</template>\n"],"names":["__default__","getOutputError","slots","useSlots","props","__props","logState","useLogHandle","isAnchored","ref","contentRef","root","computedError","computed","_a","computedValue","okOptional","computedValueToCopy","copyActive","useLabelNotch","iconName","onClickCopy","toCopy","onClickDownload","filename","toDownload","downloadContent","optionallyScrollDown","tapIf","el","watch","onContentScroll","ev","_createElementBlock","_normalizeClass","_hoisted_1","_createElementVNode","_unref","_createBlock","PlTooltip","_renderSlot","_ctx","_createVNode","DoubleContour","_hoisted_2","PlMaskIcon24","_cache","PlIcon24","_hoisted_3","_toDisplayString"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLogHandle.d.ts","sourceRoot":"","sources":["../../../src/components/PlLogView/useLogHandle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAc,MAAM,KAAK,CAAC;AAE1D,OAAO,EAA2B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAElG,KAAK,QAAQ,GAAG;IACd,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AASF,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"useLogHandle.d.ts","sourceRoot":"","sources":["../../../src/components/PlLogView/useLogHandle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAc,MAAM,KAAK,CAAC;AAE1D,OAAO,EAA2B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAElG,KAAK,QAAQ,GAAG;IACd,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AASF,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,CAAC;IACd,SAAS,EAAE,YAAY,GAAG,SAAS,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC,iEAoGH"}
|
|
@@ -19,7 +19,11 @@ function O(t) {
|
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
for (; ; ) {
|
|
22
|
-
const a = await o.logDriver.readText(
|
|
22
|
+
const a = await o.logDriver.readText(
|
|
23
|
+
e.logHandle,
|
|
24
|
+
100,
|
|
25
|
+
e.lastOffset
|
|
26
|
+
);
|
|
23
27
|
if (e.error = void 0, n.errorCount = 0, a.shouldUpdateHandle || e.logHandle !== ((l = r.value) == null ? void 0 : l.logHandle)) return;
|
|
24
28
|
const f = t.progressPrefix ?? h, u = new TextDecoder().decode(a.data).replace(new RegExp(`${P(f)}`, "g"), "");
|
|
25
29
|
if (e = Object.assign(e, {
|
|
@@ -31,7 +35,10 @@ function O(t) {
|
|
|
31
35
|
}
|
|
32
36
|
const i = g(() => s().catch((e) => {
|
|
33
37
|
r.value && (n.errorCount++, n.errorCount > (t.maxRetries ?? 3) ? r.value.error = e : console.warn("skip error:", e, "retry..."));
|
|
34
|
-
}), 1500, {
|
|
38
|
+
}), 1500, {
|
|
39
|
+
immediate: !1,
|
|
40
|
+
immediateCallback: !0
|
|
41
|
+
});
|
|
35
42
|
return v(
|
|
36
43
|
() => {
|
|
37
44
|
var e;
|
|
@@ -42,7 +49,13 @@ function O(t) {
|
|
|
42
49
|
() => t.logHandle,
|
|
43
50
|
(e) => {
|
|
44
51
|
var o;
|
|
45
|
-
e === void 0 ? (r.value = void 0, i.pause()) : e !== ((o = r.value) == null ? void 0 : o.logHandle) && (r.value = {
|
|
52
|
+
e === void 0 ? (r.value = void 0, i.pause()) : e !== ((o = r.value) == null ? void 0 : o.logHandle) && (r.value = {
|
|
53
|
+
logHandle: e,
|
|
54
|
+
lastOffset: 0,
|
|
55
|
+
lines: "",
|
|
56
|
+
finished: !1,
|
|
57
|
+
error: void 0
|
|
58
|
+
}, n.errorCount = 0, i.resume());
|
|
46
59
|
},
|
|
47
60
|
{ immediate: !0 }
|
|
48
61
|
), r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLogHandle.js","sources":["../../../src/components/PlLogView/useLogHandle.ts"],"sourcesContent":["import { reactive, type Reactive, ref, watch } from
|
|
1
|
+
{"version":3,"file":"useLogHandle.js","sources":["../../../src/components/PlLogView/useLogHandle.ts"],"sourcesContent":["import { reactive, type Reactive, ref, watch } from \"vue\";\nimport { useTimeoutPoll, whenever } from \"@vueuse/core\";\nimport { getRawPlatformaInstance, type AnyLogHandle, type Platforma } from \"@platforma-sdk/model\";\n\ntype LogState = {\n logHandle: AnyLogHandle;\n lines: string;\n lastOffset: number;\n finished: boolean;\n error: unknown;\n};\n\nconst ProgressPrefixDefault = \"[==PROGRESS==]\"; // @TODO ?\n\n// from here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#escaping\nfunction escapeRegExp(str: string) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\nexport function useLogHandle(\n props: Reactive<{\n logHandle: AnyLogHandle | undefined;\n maxRetries?: number;\n mockPlatforma?: Platforma;\n progressPrefix?: string;\n }>,\n) {\n const logState = ref<LogState>();\n\n const data = reactive({\n errorCount: 0,\n });\n\n async function fetchLogs() {\n // making a snapshot of the ref\n let currentLogState: LogState | undefined = logState.value;\n\n if (currentLogState === undefined) return;\n\n const platforma = props.mockPlatforma ?? getRawPlatformaInstance();\n\n if (!platforma) {\n console.warn(\"Platforma API is not available\");\n return;\n }\n\n while (true) {\n const result = await platforma.logDriver.readText(\n currentLogState.logHandle,\n 100,\n currentLogState.lastOffset,\n );\n\n currentLogState.error = undefined;\n\n data.errorCount = 0;\n\n if (result.shouldUpdateHandle) return;\n\n // somebody changed target log while we were fetching log data\n // @TODO There may be a situation where the new descriptor points to the same file and we don't need to reread it\n if (currentLogState.logHandle !== logState.value?.logHandle) return;\n\n const progressPrefix = props.progressPrefix ?? ProgressPrefixDefault;\n\n const newLines = new TextDecoder()\n .decode(result.data)\n .replace(new RegExp(`${escapeRegExp(progressPrefix)}`, \"g\"), \"\");\n\n // We simply change it in a mutable way: if logHandle has been changed, it points to the new object\n currentLogState = Object.assign(currentLogState, {\n lines: currentLogState.lines + newLines,\n lastOffset: result.newOffset,\n finished: !result.live,\n });\n\n if (result.newOffset >= result.size) break;\n }\n }\n\n const fetchAndCatch = () =>\n fetchLogs().catch((err) => {\n if (logState.value) {\n data.errorCount++;\n if (data.errorCount > (props.maxRetries ?? 3)) {\n logState.value.error = err;\n } else {\n console.warn(\"skip error:\", err, \"retry...\");\n }\n }\n });\n\n // Only trigger after last fetch is done\n const timeoutPoll = useTimeoutPoll(fetchAndCatch, 1500, {\n immediate: false,\n immediateCallback: true,\n });\n\n whenever(\n () => logState?.value?.finished,\n () => timeoutPoll.pause(),\n );\n\n watch(\n () => props.logHandle,\n (lh) => {\n if (lh === undefined) {\n logState.value = undefined;\n timeoutPoll.pause();\n } else if (lh !== logState.value?.logHandle) {\n logState.value = {\n logHandle: lh,\n lastOffset: 0,\n lines: \"\",\n finished: false,\n error: undefined,\n };\n data.errorCount = 0;\n timeoutPoll.resume();\n }\n },\n { immediate: true },\n );\n\n return logState;\n}\n"],"names":["ProgressPrefixDefault","escapeRegExp","str","useLogHandle","props","logState","ref","data","reactive","fetchLogs","currentLogState","platforma","getRawPlatformaInstance","result","_a","progressPrefix","newLines","timeoutPoll","useTimeoutPoll","err","whenever","watch","lh"],"mappings":";;;AAYA,MAAMA,IAAwB;AAG9B,SAASC,EAAaC,GAAa;AACjC,SAAOA,EAAI,QAAQ,uBAAuB,MAAM;AAClD;AAEO,SAASC,EACdC,GAMA;AACA,QAAMC,IAAWC,EAAA,GAEXC,IAAOC,EAAS;AAAA,IACpB,YAAY;AAAA,EAAA,CACb;AAED,iBAAeC,IAAY;;AAEzB,QAAIC,IAAwCL,EAAS;AAErD,QAAIK,MAAoB,OAAW;AAEnC,UAAMC,IAAYP,EAAM,iBAAiBQ,EAAA;AAEzC,QAAI,CAACD,GAAW;AACd,cAAQ,KAAK,gCAAgC;AAC7C;AAAA,IACF;AAEA,eAAa;AACX,YAAME,IAAS,MAAMF,EAAU,UAAU;AAAA,QACvCD,EAAgB;AAAA,QAChB;AAAA,QACAA,EAAgB;AAAA,MAAA;AAWlB,UARAA,EAAgB,QAAQ,QAExBH,EAAK,aAAa,GAEdM,EAAO,sBAIPH,EAAgB,gBAAcI,IAAAT,EAAS,UAAT,gBAAAS,EAAgB,WAAW;AAE7D,YAAMC,IAAiBX,EAAM,kBAAkBJ,GAEzCgB,IAAW,IAAI,YAAA,EAClB,OAAOH,EAAO,IAAI,EAClB,QAAQ,IAAI,OAAO,GAAGZ,EAAac,CAAc,CAAC,IAAI,GAAG,GAAG,EAAE;AASjE,UANAL,IAAkB,OAAO,OAAOA,GAAiB;AAAA,QAC/C,OAAOA,EAAgB,QAAQM;AAAA,QAC/B,YAAYH,EAAO;AAAA,QACnB,UAAU,CAACA,EAAO;AAAA,MAAA,CACnB,GAEGA,EAAO,aAAaA,EAAO,KAAM;AAAA,IACvC;AAAA,EACF;AAeA,QAAMI,IAAcC,EAbE,MACpBT,EAAA,EAAY,MAAM,CAACU,MAAQ;AACzB,IAAId,EAAS,UACXE,EAAK,cACDA,EAAK,cAAcH,EAAM,cAAc,KACzCC,EAAS,MAAM,QAAQc,IAEvB,QAAQ,KAAK,eAAeA,GAAK,UAAU;AAAA,EAGjD,CAAC,GAG+C,MAAM;AAAA,IACtD,WAAW;AAAA,IACX,mBAAmB;AAAA,EAAA,CACpB;AAED,SAAAC;AAAA,IACE,MAAA;;AAAM,cAAAN,IAAAT,KAAA,gBAAAA,EAAU,UAAV,gBAAAS,EAAiB;AAAA;AAAA,IACvB,MAAMG,EAAY,MAAA;AAAA,EAAM,GAG1BI;AAAA,IACE,MAAMjB,EAAM;AAAA,IACZ,CAACkB,MAAO;;AACN,MAAIA,MAAO,UACTjB,EAAS,QAAQ,QACjBY,EAAY,MAAA,KACHK,QAAOR,IAAAT,EAAS,UAAT,gBAAAS,EAAgB,eAChCT,EAAS,QAAQ;AAAA,QACf,WAAWiB;AAAA,QACX,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,UAAU;AAAA,QACV,OAAO;AAAA,MAAA,GAETf,EAAK,aAAa,GAClBU,EAAY,OAAA;AAAA,IAEhB;AAAA,IACA,EAAE,WAAW,GAAA;AAAA,EAAK,GAGbZ;AACT;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlNotificationAlert.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlNotificationAlert/PlNotificationAlert.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlNotificationAlert.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlNotificationAlert/PlNotificationAlert.vue"],"names":[],"mappings":"AA8CA,OAAO,8BAA8B,CAAC;AAEtC,KAAK,WAAW,GAAG;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAMJ,QAAA,MAAM,KAAK,2DAAgD,CAAC;AAa5D,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;CAClC,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WAgET,OAAO,IAA6B;;yBAXrB,GAAG;yBACH,GAAG;;;;EAe/B;AAaD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;WA/GT,MAAM;UADP,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS;6EAwHpD,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlNotificationAlert.vue.js","sources":["../../../src/components/PlNotificationAlert/PlNotificationAlert.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { PlBtnGhost } from
|
|
1
|
+
{"version":3,"file":"PlNotificationAlert.vue.js","sources":["../../../src/components/PlNotificationAlert/PlNotificationAlert.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { PlBtnGhost } from \"../PlBtnGhost\";\nimport \"./pl-notification-alert.scss\";\n\nconst props = withDefaults(\n defineProps<{\n type?: \"success\" | \"error\" | \"warning\" | \"neutral\";\n width?: string;\n closable?: boolean;\n }>(),\n { type: \"neutral\", width: \"256px\" },\n);\n\nconst model = defineModel({ type: Boolean, default: true });\n\nfunction closeAlert() {\n if (props.closable) {\n model.value = false;\n }\n}\n</script>\n\n<template>\n <div\n v-if=\"model\"\n :class=\"type\"\n :style=\"{ width: `${width}` }\"\n class=\"pl-notification-alert d-flex flex-column gap-16\"\n >\n <div class=\"pl-notification-alert__wrapper d-flex text-s\">\n <div class=\"pl-notification-alert__content flex-grow-1\">\n <slot />\n </div>\n <div v-if=\"closable\" class=\"pl-notification-alert__close\">\n <PlBtnGhost icon=\"close\" @click.stop=\"closeAlert\" />\n </div>\n </div>\n\n <div v-if=\"!!$slots.actions\" class=\"pl-notification-alert__actions d-flex\">\n <slot name=\"actions\" />\n </div>\n </div>\n</template>\n"],"names":["props","__props","model","_useModel","closeAlert","_createElementBlock","_normalizeClass","_createElementVNode","_hoisted_1","_hoisted_2","_renderSlot","_ctx","_openBlock","_hoisted_3","_createVNode","_unref","PlBtnGhost","$slots","_hoisted_4"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIA,UAAMA,IAAQC,GASRC,IAAQC,iBAA4C;AAE1D,aAASC,IAAa;AACpB,MAAIJ,EAAM,aACRE,EAAM,QAAQ;AAAA,IAElB;qBAKUA,EAAA,cADRG,EAkBM,OAAA;AAAA;MAhBH,OAAKC,EAAA,CAAEL,EAAA,MAEF,iDAAiD,CAAA;AAAA,MADtD,qBAAmBA,EAAA,KAAK,IAAA;AAAA,IAAA;MAGzBM,EAOM,OAPNC,GAOM;AAAA,QANJD,EAEM,OAFNE,GAEM;AAAA,UADJC,EAAQC,EAAA,QAAA,SAAA;AAAA,QAAA;QAECV,EAAA,YAAXW,EAAA,GAAAP,EAEM,OAFNQ,GAEM;AAAA,UADJC,EAAoDC,EAAAC,CAAA,GAAA;AAAA,YAAxC,MAAK;AAAA,YAAS,WAAYZ,GAAU,CAAA,MAAA,CAAA;AAAA,UAAA;;;MAIvCa,EAAAA,OAAO,WAApBL,EAAA,GAAAP,EAEM,OAFNa,GAEM;AAAA,QADJR,EAAuBC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlNumberField.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlNumberField/PlNumberField.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlNumberField.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlNumberField/PlNumberField.vue"],"names":[],"mappings":"AA4UA,OAAO,wBAAwB,CAAC;AAQhC;;;;;;;;;;;;;GAaG;;gBA0OS,MAAM,GAAG,SAAS;;IAvO1B,gCAAgC;eACrB,OAAO;IAClB,6DAA6D;YACrD,MAAM;IACd,0CAA0C;kBAC5B,MAAM;IACpB,yDAAyD;WAClD,MAAM;IACb,oDAAoD;eACzC,MAAM;IACjB,oDAAoD;eACzC,MAAM;IACjB,6CAA6C;0BACvB,OAAO;IAC7B,yIAAyI;kCAC3G,OAAO;IACrC,+EAA+E;mBAChE,MAAM;IACrB,yFAAyF;eAC9E,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS;IAC5C,wCAAwC;oBAEpC,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,GACd,QAAQ;;;;gBAyMJ,MAAM,GAAG,SAAS;;IAvO1B,gCAAgC;eACrB,OAAO;IAClB,6DAA6D;YACrD,MAAM;IACd,0CAA0C;kBAC5B,MAAM;IACpB,yDAAyD;WAClD,MAAM;IACb,oDAAoD;eACzC,MAAM;IACjB,oDAAoD;eACzC,MAAM;IACjB,6CAA6C;0BACvB,OAAO;IAC7B,yIAAyI;kCAC3G,OAAO;IACrC,+EAA+E;mBAChE,MAAM;IACrB,yFAAyF;eAC9E,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS;IAC5C,wCAAwC;oBAEpC,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,GACd,QAAQ;;;;WA3BJ,MAAM;iBAEA,MAAM;UAEb,MAAM;mBAeT,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,GACd,QAAQ;cAXD,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS;cAVjC,MAAM;cAEN,MAAM;yBAEK,OAAO;kBAId,MAAM;;;;;qBA8VK,GAAG;;AAjXjC,wBA4aK;AAcL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -72,12 +72,10 @@ const J = { class: "pl-number-field__main-wrapper d-flex" }, Q = {
|
|
|
72
72
|
}), k = s(() => {
|
|
73
73
|
const e = i.value;
|
|
74
74
|
return t.minValue !== void 0 && e.value !== void 0 ? e.value <= t.minValue : !1;
|
|
75
|
-
}), a = s(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
);
|
|
75
|
+
}), a = s(() => {
|
|
76
|
+
var e;
|
|
77
|
+
return 10 ** (((e = t.step.toString().split(".").at(1)) == null ? void 0 : e.length) ?? 0);
|
|
78
|
+
});
|
|
81
79
|
function B() {
|
|
82
80
|
const l = i.value.value;
|
|
83
81
|
if (!y.value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlNumberField.vue.js","sources":["../../../src/components/PlNumberField/PlNumberField.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Number input field with increment/decrement buttons, validation, and min/max constraints.\n *\n * @example\n * <PlNumberField v-model=\"price\" :step=\"0.01\" :min-value=\"0\" label=\"Price\" />\n *\n * @example\n * <PlNumberField\n * v-model=\"evenNumber\"\n * :validate=\"(v) => v % 2 !== 0 ? 'Number must be even' : undefined\"\n * :update-on-enter-or-click-outside=\"true\"\n * label=\"Even Number\"\n * />\n */\nexport default {\n name: 'PlNumberField',\n};\n</script>\n\n<script setup lang=\"ts\">\nimport './pl-number-field.scss';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport { computed, ref, useSlots, watch } from 'vue';\nimport { PlTooltip } from '../PlTooltip';\nimport { parseNumber } from './parseNumber';\n\nconst props = withDefaults(defineProps<{\n /** Input is disabled if true */\n disabled?: boolean;\n /** Label on the top border of the field, empty by default */\n label?: string;\n /** Input placeholder, empty by default */\n placeholder?: string;\n /** Step for increment/decrement buttons, 1 by default */\n step?: number;\n /** If defined - show an error if value is lower */\n minValue?: number;\n /** If defined - show an error if value is higher */\n maxValue?: number;\n /** If false - remove buttons on the right */\n useIncrementButtons?: boolean;\n /** If true - changes do not apply immediately, they apply only by removing focus from the input (by click enter or by click outside) */\n updateOnEnterOrClickOutside?: boolean;\n /** Error message that shows always when it's provided, without other checks */\n errorMessage?: string;\n /** Additional validity check for input value that must return an error text if failed */\n validate?: (v: number) => string | undefined;\n /** Makes some of corners not rounded */\n groupPosition?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'middle';\n}>(), {\n step: 1,\n label: undefined,\n placeholder: undefined,\n minValue: undefined,\n maxValue: undefined,\n useIncrementButtons: true,\n updateOnEnter: false,\n errorMessage: undefined,\n validate: undefined,\n groupPosition: undefined,\n});\n\nconst modelValue = defineModel<number | undefined>({ required: true });\n\nconst slots = useSlots();\n\nconst rootRef = ref<HTMLElement>();\nconst inputRef = ref<HTMLInputElement>();\n\nuseLabelNotch(rootRef);\n\nfunction modelToString(v: number | undefined) {\n return v === undefined ? '' : String(+v); // (+v) to avoid staying in input non-number values if they are provided in model\n}\n\nconst parsedResult = computed(() => parseNumber(props, inputValue.value));\n\nconst cachedValue = ref<string | undefined>(undefined);\n\nconst resetCachedValue = () => cachedValue.value = undefined;\n\nwatch(modelValue, (n) => {\n const r = parsedResult.value;\n if (r.error || n !== r.value) {\n resetCachedValue();\n }\n});\n\nconst inputValue = computed({\n get() {\n return cachedValue.value ?? modelToString(modelValue.value);\n },\n set(nextValue: string) {\n const r = parseNumber(props, nextValue);\n\n cachedValue.value = r.cleanInput;\n\n if (r.error || props.updateOnEnterOrClickOutside) {\n inputRef.value!.value = r.cleanInput;\n } else {\n modelValue.value = r.value;\n }\n },\n});\n\nconst focused = ref(false);\n\nfunction applyChanges() {\n if (parsedResult.value.error === undefined) {\n modelValue.value = parsedResult.value.value;\n }\n}\n\nconst errors = computed(() => {\n let ers: string[] = [];\n\n if (props.errorMessage) {\n ers.push(props.errorMessage);\n }\n\n const r = parsedResult.value;\n\n if (r.error) {\n ers.push(r.error.message);\n } else if (props.validate && r.value !== undefined) {\n const error = props.validate(r.value);\n if (error) {\n ers.push(error);\n }\n }\n\n ers = [...ers];\n\n return ers.join(' ');\n});\n\nconst isIncrementDisabled = computed(() => {\n const r = parsedResult.value;\n\n if (props.maxValue !== undefined && r.value !== undefined) {\n return r.value >= props.maxValue;\n }\n\n return false;\n});\n\nconst isDecrementDisabled = computed(() => {\n const r = parsedResult.value;\n\n if (props.minValue !== undefined && r.value !== undefined) {\n return r.value <= props.minValue;\n }\n\n return false;\n});\n\nconst multiplier = computed(() =>\n 10 ** (props.step.toString().split('.').at(1)?.length ?? 0),\n);\n\nfunction increment() {\n const r = parsedResult.value;\n\n const parsedValue = r.value;\n\n if (!isIncrementDisabled.value) {\n let nV;\n if (parsedValue === undefined) {\n nV = props.minValue ? props.minValue : 0;\n } else {\n nV = ((parsedValue || 0) * multiplier.value\n + props.step * multiplier.value)\n / multiplier.value;\n }\n modelValue.value = props.maxValue !== undefined ? Math.min(props.maxValue, nV) : nV;\n }\n}\n\nfunction decrement() {\n const r = parsedResult.value;\n\n const parsedValue = r.value;\n\n if (!isDecrementDisabled.value) {\n let nV;\n if (parsedValue === undefined) {\n nV = 0;\n } else {\n nV = ((parsedValue || 0) * multiplier.value\n - props.step * multiplier.value)\n / multiplier.value;\n }\n modelValue.value = props.minValue !== undefined ? Math.max(props.minValue, nV) : nV;\n }\n}\n\nfunction handleKeyPress(e: { code: string; preventDefault(): void }) {\n if (props.updateOnEnterOrClickOutside) {\n if (e.code === 'Escape') {\n inputValue.value = modelToString(modelValue.value);\n inputRef.value?.blur();\n }\n if (e.code === 'Enter') {\n inputRef.value?.blur();\n }\n }\n\n if (e.code === 'Enter') {\n inputValue.value = String(modelValue.value); // to make .1 => 0.1, 10.00 => 10, remove leading zeros etc\n }\n\n if (['ArrowDown', 'ArrowUp'].includes(e.code)) {\n e.preventDefault();\n }\n\n if (props.useIncrementButtons && e.code === 'ArrowUp') {\n increment();\n }\n\n if (props.useIncrementButtons && e.code === 'ArrowDown') {\n decrement();\n }\n}\n\n// https://stackoverflow.com/questions/880512/prevent-text-selection-after-double-click#:~:text=If%20you%20encounter%20a%20situation,none%3B%20to%20the%20summary%20element.\n// this prevents selecting of more than input content in some cases,\n// but also disable selecting input content by double-click (useful feature)\nconst onMousedown = (ev: MouseEvent) => {\n if (ev.detail > 1) {\n ev.preventDefault();\n }\n};\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n :class=\"{ error: !!errors.trim(), disabled: disabled }\"\n class=\"pl-number-field d-flex-column\"\n @keydown=\"handleKeyPress($event)\"\n >\n <div class=\"pl-number-field__main-wrapper d-flex\">\n <DoubleContour class=\"pl-number-field__contour\" :group-position=\"groupPosition\"/>\n <div\n class=\"pl-number-field__wrapper flex-grow d-flex flex-align-center\"\n :class=\"{withoutArrows: !useIncrementButtons}\"\n >\n <label v-if=\"label\" class=\"text-description\">\n {{ label }}\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\"/>\n </template>\n </PlTooltip>\n </label>\n <input\n ref=\"inputRef\"\n v-model=\"inputValue\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n class=\"text-s flex-grow\"\n @focusin=\"focused = true\"\n @focusout=\"focused = false; applyChanges()\"\n />\n </div>\n <div v-if=\"useIncrementButtons\" class=\"pl-number-field__icons d-flex-column\" @mousedown=\"onMousedown\">\n <div\n :class=\"{ disabled: isIncrementDisabled }\"\n class=\"pl-number-field__icon d-flex flex-justify-center uc-pointer flex-grow flex-align-center\"\n @click=\"increment\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8 4.93933L13.5303 10.4697L12.4697 11.5303L8 7.06065L3.53033 11.5303L2.46967 10.4697L8 4.93933Z\"\n fill=\"#110529\"\n />\n </svg>\n </div>\n <div\n :class=\"{ disabled: isDecrementDisabled }\"\n class=\"pl-number-field__icon d-flex flex-justify-center uc-pointer flex-grow flex-align-center\"\n @click=\"decrement\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.46967 6.53033L3.53033 5.46967L8 9.93934L12.4697 5.46967L13.5303 6.53033L8 12.0607L2.46967 6.53033Z\"\n fill=\"#110529\"\n />\n </svg>\n </div>\n </div>\n </div>\n <div v-if=\"errors.trim()\" class=\"pl-number-field__error\">\n {{ errors }}\n </div>\n </div>\n</template>\n"],"names":["__default__","props","__props","modelValue","_useModel","slots","useSlots","rootRef","ref","inputRef","useLabelNotch","modelToString","v","parsedResult","computed","parseNumber","inputValue","cachedValue","resetCachedValue","watch","n","r","nextValue","focused","applyChanges","errors","ers","error","isIncrementDisabled","isDecrementDisabled","multiplier","_a","increment","parsedValue","nV","decrement","handleKeyPress","_b","onMousedown","ev","_createElementBlock","_cache","$event","_createElementVNode","_hoisted_1","_createVNode","DoubleContour","_normalizeClass","_openBlock","_hoisted_2","_createTextVNode","_toDisplayString","_unref","_createBlock","PlTooltip","_renderSlot","_ctx","_hoisted_4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlNumberField.vue.js","sources":["../../../src/components/PlNumberField/PlNumberField.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Number input field with increment/decrement buttons, validation, and min/max constraints.\n *\n * @example\n * <PlNumberField v-model=\"price\" :step=\"0.01\" :min-value=\"0\" label=\"Price\" />\n *\n * @example\n * <PlNumberField\n * v-model=\"evenNumber\"\n * :validate=\"(v) => v % 2 !== 0 ? 'Number must be even' : undefined\"\n * :update-on-enter-or-click-outside=\"true\"\n * label=\"Even Number\"\n * />\n */\nexport default {\n name: \"PlNumberField\",\n};\n</script>\n\n<script setup lang=\"ts\">\nimport \"./pl-number-field.scss\";\nimport DoubleContour from \"../../utils/DoubleContour.vue\";\nimport { useLabelNotch } from \"../../utils/useLabelNotch\";\nimport { computed, ref, useSlots, watch } from \"vue\";\nimport { PlTooltip } from \"../PlTooltip\";\nimport { parseNumber } from \"./parseNumber\";\n\nconst props = withDefaults(\n defineProps<{\n /** Input is disabled if true */\n disabled?: boolean;\n /** Label on the top border of the field, empty by default */\n label?: string;\n /** Input placeholder, empty by default */\n placeholder?: string;\n /** Step for increment/decrement buttons, 1 by default */\n step?: number;\n /** If defined - show an error if value is lower */\n minValue?: number;\n /** If defined - show an error if value is higher */\n maxValue?: number;\n /** If false - remove buttons on the right */\n useIncrementButtons?: boolean;\n /** If true - changes do not apply immediately, they apply only by removing focus from the input (by click enter or by click outside) */\n updateOnEnterOrClickOutside?: boolean;\n /** Error message that shows always when it's provided, without other checks */\n errorMessage?: string;\n /** Additional validity check for input value that must return an error text if failed */\n validate?: (v: number) => string | undefined;\n /** Makes some of corners not rounded */\n groupPosition?:\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"middle\";\n }>(),\n {\n step: 1,\n label: undefined,\n placeholder: undefined,\n minValue: undefined,\n maxValue: undefined,\n useIncrementButtons: true,\n updateOnEnter: false,\n errorMessage: undefined,\n validate: undefined,\n groupPosition: undefined,\n },\n);\n\nconst modelValue = defineModel<number | undefined>({ required: true });\n\nconst slots = useSlots();\n\nconst rootRef = ref<HTMLElement>();\nconst inputRef = ref<HTMLInputElement>();\n\nuseLabelNotch(rootRef);\n\nfunction modelToString(v: number | undefined) {\n return v === undefined ? \"\" : String(+v); // (+v) to avoid staying in input non-number values if they are provided in model\n}\n\nconst parsedResult = computed(() => parseNumber(props, inputValue.value));\n\nconst cachedValue = ref<string | undefined>(undefined);\n\nconst resetCachedValue = () => (cachedValue.value = undefined);\n\nwatch(modelValue, (n) => {\n const r = parsedResult.value;\n if (r.error || n !== r.value) {\n resetCachedValue();\n }\n});\n\nconst inputValue = computed({\n get() {\n return cachedValue.value ?? modelToString(modelValue.value);\n },\n set(nextValue: string) {\n const r = parseNumber(props, nextValue);\n\n cachedValue.value = r.cleanInput;\n\n if (r.error || props.updateOnEnterOrClickOutside) {\n inputRef.value!.value = r.cleanInput;\n } else {\n modelValue.value = r.value;\n }\n },\n});\n\nconst focused = ref(false);\n\nfunction applyChanges() {\n if (parsedResult.value.error === undefined) {\n modelValue.value = parsedResult.value.value;\n }\n}\n\nconst errors = computed(() => {\n let ers: string[] = [];\n\n if (props.errorMessage) {\n ers.push(props.errorMessage);\n }\n\n const r = parsedResult.value;\n\n if (r.error) {\n ers.push(r.error.message);\n } else if (props.validate && r.value !== undefined) {\n const error = props.validate(r.value);\n if (error) {\n ers.push(error);\n }\n }\n\n ers = [...ers];\n\n return ers.join(\" \");\n});\n\nconst isIncrementDisabled = computed(() => {\n const r = parsedResult.value;\n\n if (props.maxValue !== undefined && r.value !== undefined) {\n return r.value >= props.maxValue;\n }\n\n return false;\n});\n\nconst isDecrementDisabled = computed(() => {\n const r = parsedResult.value;\n\n if (props.minValue !== undefined && r.value !== undefined) {\n return r.value <= props.minValue;\n }\n\n return false;\n});\n\nconst multiplier = computed(() => 10 ** (props.step.toString().split(\".\").at(1)?.length ?? 0));\n\nfunction increment() {\n const r = parsedResult.value;\n\n const parsedValue = r.value;\n\n if (!isIncrementDisabled.value) {\n let nV;\n if (parsedValue === undefined) {\n nV = props.minValue ? props.minValue : 0;\n } else {\n nV =\n ((parsedValue || 0) * multiplier.value + props.step * multiplier.value) / multiplier.value;\n }\n modelValue.value = props.maxValue !== undefined ? Math.min(props.maxValue, nV) : nV;\n }\n}\n\nfunction decrement() {\n const r = parsedResult.value;\n\n const parsedValue = r.value;\n\n if (!isDecrementDisabled.value) {\n let nV;\n if (parsedValue === undefined) {\n nV = 0;\n } else {\n nV =\n ((parsedValue || 0) * multiplier.value - props.step * multiplier.value) / multiplier.value;\n }\n modelValue.value = props.minValue !== undefined ? Math.max(props.minValue, nV) : nV;\n }\n}\n\nfunction handleKeyPress(e: { code: string; preventDefault(): void }) {\n if (props.updateOnEnterOrClickOutside) {\n if (e.code === \"Escape\") {\n inputValue.value = modelToString(modelValue.value);\n inputRef.value?.blur();\n }\n if (e.code === \"Enter\") {\n inputRef.value?.blur();\n }\n }\n\n if (e.code === \"Enter\") {\n inputValue.value = String(modelValue.value); // to make .1 => 0.1, 10.00 => 10, remove leading zeros etc\n }\n\n if ([\"ArrowDown\", \"ArrowUp\"].includes(e.code)) {\n e.preventDefault();\n }\n\n if (props.useIncrementButtons && e.code === \"ArrowUp\") {\n increment();\n }\n\n if (props.useIncrementButtons && e.code === \"ArrowDown\") {\n decrement();\n }\n}\n\n// https://stackoverflow.com/questions/880512/prevent-text-selection-after-double-click#:~:text=If%20you%20encounter%20a%20situation,none%3B%20to%20the%20summary%20element.\n// this prevents selecting of more than input content in some cases,\n// but also disable selecting input content by double-click (useful feature)\nconst onMousedown = (ev: MouseEvent) => {\n if (ev.detail > 1) {\n ev.preventDefault();\n }\n};\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n :class=\"{ error: !!errors.trim(), disabled: disabled }\"\n class=\"pl-number-field d-flex-column\"\n @keydown=\"handleKeyPress($event)\"\n >\n <div class=\"pl-number-field__main-wrapper d-flex\">\n <DoubleContour class=\"pl-number-field__contour\" :group-position=\"groupPosition\" />\n <div\n class=\"pl-number-field__wrapper flex-grow d-flex flex-align-center\"\n :class=\"{ withoutArrows: !useIncrementButtons }\"\n >\n <label v-if=\"label\" class=\"text-description\">\n {{ label }}\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <input\n ref=\"inputRef\"\n v-model=\"inputValue\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n class=\"text-s flex-grow\"\n @focusin=\"focused = true\"\n @focusout=\"\n focused = false;\n applyChanges();\n \"\n />\n </div>\n <div\n v-if=\"useIncrementButtons\"\n class=\"pl-number-field__icons d-flex-column\"\n @mousedown=\"onMousedown\"\n >\n <div\n :class=\"{ disabled: isIncrementDisabled }\"\n class=\"pl-number-field__icon d-flex flex-justify-center uc-pointer flex-grow flex-align-center\"\n @click=\"increment\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8 4.93933L13.5303 10.4697L12.4697 11.5303L8 7.06065L3.53033 11.5303L2.46967 10.4697L8 4.93933Z\"\n fill=\"#110529\"\n />\n </svg>\n </div>\n <div\n :class=\"{ disabled: isDecrementDisabled }\"\n class=\"pl-number-field__icon d-flex flex-justify-center uc-pointer flex-grow flex-align-center\"\n @click=\"decrement\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.46967 6.53033L3.53033 5.46967L8 9.93934L12.4697 5.46967L13.5303 6.53033L8 12.0607L2.46967 6.53033Z\"\n fill=\"#110529\"\n />\n </svg>\n </div>\n </div>\n </div>\n <div v-if=\"errors.trim()\" class=\"pl-number-field__error\">\n {{ errors }}\n </div>\n </div>\n</template>\n"],"names":["__default__","props","__props","modelValue","_useModel","slots","useSlots","rootRef","ref","inputRef","useLabelNotch","modelToString","v","parsedResult","computed","parseNumber","inputValue","cachedValue","resetCachedValue","watch","n","r","nextValue","focused","applyChanges","errors","ers","error","isIncrementDisabled","isDecrementDisabled","multiplier","_a","increment","parsedValue","nV","decrement","handleKeyPress","_b","onMousedown","ev","_createElementBlock","_cache","$event","_createElementVNode","_hoisted_1","_createVNode","DoubleContour","_normalizeClass","_openBlock","_hoisted_2","_createTextVNode","_toDisplayString","_unref","_createBlock","PlTooltip","_renderSlot","_ctx","_hoisted_4"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseNumber.d.ts","sourceRoot":"","sources":["../../../src/components/PlNumberField/parseNumber.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA8CF,wBAAgB,WAAW,
|
|
1
|
+
{"version":3,"file":"parseNumber.d.ts","sourceRoot":"","sources":["../../../src/components/PlNumberField/parseNumber.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA8CF,wBAAgB,WAAW,CACzB,KAAK,EAAE;IACL,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9C,EACD,GAAG,EAAE,MAAM,GACV,WAAW,CAkEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseNumber.js","sources":["../../../src/components/PlNumberField/parseNumber.ts"],"sourcesContent":["type ParseResult = {\n error?: Error;\n value?: number;\n cleanInput: string;\n};\n\nconst NUMBER_REGEX = /^[-−–+]?(\\d+)?[.,]?(\\d+)?$/; // parseFloat works without errors on strings with multiple dots, or letters in value\n\nfunction isPartial(v: string) {\n return v ===
|
|
1
|
+
{"version":3,"file":"parseNumber.js","sources":["../../../src/components/PlNumberField/parseNumber.ts"],"sourcesContent":["type ParseResult = {\n error?: Error;\n value?: number;\n cleanInput: string;\n};\n\nconst NUMBER_REGEX = /^[-−–+]?(\\d+)?[.,]?(\\d+)?$/; // parseFloat works without errors on strings with multiple dots, or letters in value\n\nfunction isPartial(v: string) {\n return v === \".\" || v === \",\" || v === \"-\";\n}\n\nfunction clearNumericValue(v: string) {\n v = v.trim();\n v = v.replace(\",\", \".\");\n v = v.replace(\"−\", \"-\"); // minus, replacing for the case of input the whole copied value\n v = v.replace(\"–\", \"-\"); // dash, replacing for the case of input the whole copied value\n v = v.replace(\"+\", \"\");\n return v;\n}\n\nfunction stringToNumber(v: string) {\n return parseFloat(clearNumericValue(v));\n}\n\nfunction clearInput(v: string): string {\n v = v.trim();\n\n if (isPartial(v)) {\n return v;\n }\n\n if (/^-[^0-9.]/.test(v)) {\n return \"-\";\n }\n\n const match = v.match(/^(.*)[.,][^0-9].*$/);\n if (match) {\n return match[1] + \".\";\n }\n\n if (v.match(NUMBER_REGEX)) {\n return clearNumericValue(v);\n }\n\n const n = stringToNumber(v);\n\n return isNaN(n) ? \"\" : String(+n);\n}\n\nexport function parseNumber(\n props: {\n minValue?: number;\n maxValue?: number;\n validate?: (v: number) => string | undefined;\n },\n str: string,\n): ParseResult {\n str = str.trim();\n\n const cleanInput = clearInput(str);\n\n if (str === \"\") {\n return {\n value: undefined,\n cleanInput,\n };\n }\n\n if (!str.match(NUMBER_REGEX)) {\n return {\n error: Error(\"Value is not a number\"),\n cleanInput,\n };\n }\n\n if (isPartial(str)) {\n return {\n error: Error(\"Enter a number\"),\n cleanInput,\n };\n }\n\n const value = stringToNumber(str);\n\n if (isNaN(value)) {\n return {\n error: Error(\"Value is not a number\"),\n cleanInput,\n };\n }\n\n if (props.minValue !== undefined && value < props.minValue) {\n return {\n error: Error(`Value must be higher than ${props.minValue}`),\n value,\n cleanInput,\n };\n }\n\n if (props.maxValue !== undefined && value > props.maxValue) {\n return {\n error: Error(`Value must be less than ${props.maxValue}`),\n value,\n cleanInput,\n };\n }\n\n if (props.validate) {\n const error = props.validate(value);\n if (error) {\n return {\n error: Error(error),\n value,\n cleanInput,\n };\n }\n }\n\n return {\n value,\n cleanInput,\n };\n}\n"],"names":["NUMBER_REGEX","isPartial","v","clearNumericValue","stringToNumber","clearInput","match","n","parseNumber","props","str","cleanInput","value","error"],"mappings":"AAMA,MAAMA,IAAe;AAErB,SAASC,EAAUC,GAAW;AAC5B,SAAOA,MAAM,OAAOA,MAAM,OAAOA,MAAM;AACzC;AAEA,SAASC,EAAkBD,GAAW;AACpC,SAAAA,IAAIA,EAAE,KAAA,GACNA,IAAIA,EAAE,QAAQ,KAAK,GAAG,GACtBA,IAAIA,EAAE,QAAQ,KAAK,GAAG,GACtBA,IAAIA,EAAE,QAAQ,KAAK,GAAG,GACtBA,IAAIA,EAAE,QAAQ,KAAK,EAAE,GACdA;AACT;AAEA,SAASE,EAAeF,GAAW;AACjC,SAAO,WAAWC,EAAkBD,CAAC,CAAC;AACxC;AAEA,SAASG,EAAWH,GAAmB;AAGrC,MAFAA,IAAIA,EAAE,KAAA,GAEFD,EAAUC,CAAC;AACb,WAAOA;AAGT,MAAI,YAAY,KAAKA,CAAC;AACpB,WAAO;AAGT,QAAMI,IAAQJ,EAAE,MAAM,oBAAoB;AAC1C,MAAII;AACF,WAAOA,EAAM,CAAC,IAAI;AAGpB,MAAIJ,EAAE,MAAMF,CAAY;AACtB,WAAOG,EAAkBD,CAAC;AAG5B,QAAMK,IAAIH,EAAeF,CAAC;AAE1B,SAAO,MAAMK,CAAC,IAAI,KAAK,OAAO,CAACA,CAAC;AAClC;AAEO,SAASC,EACdC,GAKAC,GACa;AACb,EAAAA,IAAMA,EAAI,KAAA;AAEV,QAAMC,IAAaN,EAAWK,CAAG;AAEjC,MAAIA,MAAQ;AACV,WAAO;AAAA,MACL,OAAO;AAAA,MACP,YAAAC;AAAA,IAAA;AAIJ,MAAI,CAACD,EAAI,MAAMV,CAAY;AACzB,WAAO;AAAA,MACL,OAAO,MAAM,uBAAuB;AAAA,MACpC,YAAAW;AAAA,IAAA;AAIJ,MAAIV,EAAUS,CAAG;AACf,WAAO;AAAA,MACL,OAAO,MAAM,gBAAgB;AAAA,MAC7B,YAAAC;AAAA,IAAA;AAIJ,QAAMC,IAAQR,EAAeM,CAAG;AAEhC,MAAI,MAAME,CAAK;AACb,WAAO;AAAA,MACL,OAAO,MAAM,uBAAuB;AAAA,MACpC,YAAAD;AAAA,IAAA;AAIJ,MAAIF,EAAM,aAAa,UAAaG,IAAQH,EAAM;AAChD,WAAO;AAAA,MACL,OAAO,MAAM,6BAA6BA,EAAM,QAAQ,EAAE;AAAA,MAC1D,OAAAG;AAAA,MACA,YAAAD;AAAA,IAAA;AAIJ,MAAIF,EAAM,aAAa,UAAaG,IAAQH,EAAM;AAChD,WAAO;AAAA,MACL,OAAO,MAAM,2BAA2BA,EAAM,QAAQ,EAAE;AAAA,MACxD,OAAAG;AAAA,MACA,YAAAD;AAAA,IAAA;AAIJ,MAAIF,EAAM,UAAU;AAClB,UAAMI,IAAQJ,EAAM,SAASG,CAAK;AAClC,QAAIC;AACF,aAAO;AAAA,QACL,OAAO,MAAMA,CAAK;AAAA,QAClB,OAAAD;AAAA,QACA,YAAAD;AAAA,MAAA;AAAA,EAGN;AAEA,SAAO;AAAA,IACL,OAAAC;AAAA,IACA,YAAAD;AAAA,EAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlProgressBar.vue.js","sources":["../../../src/components/PlProgressBar/PlProgressBar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from
|
|
1
|
+
{"version":3,"file":"PlProgressBar.vue.js","sources":["../../../src/components/PlProgressBar/PlProgressBar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nconst props = withDefaults(\n defineProps<{\n loading: boolean;\n progress: number;\n completeMessage: string;\n }>(),\n { progress: 0, completeMessage: \"Completed\" },\n);\n\nconst readyMsg = computed(() => (props.progress === 100 ? props.completeMessage : \"\"));\n</script>\n\n<template>\n <div v-if=\"loading\" class=\"ui-progress-bar\">\n <div class=\"ui-progress-bar__indicator\" :style=\"{ width: progress + '%' }\" />\n <div class=\"ui-progress-bar__messages d-flex align-center pl-6 pr-6\">\n <div class=\"ui-progress-bar__message flex-grow-1\">{{ readyMsg }}</div>\n <div class=\"ui-progress-bar__percent\">{{ progress + \"%\" }}</div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","readyMsg","computed","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_toDisplayString","_hoisted_4"],"mappings":";;;;;;;;;;;;AAGA,UAAMA,IAAQC,GASRC,IAAWC,EAAS,MAAOH,EAAM,aAAa,MAAMA,EAAM,kBAAkB,EAAG;qBAIxEC,EAAA,WAAXG,EAAA,GAAAC,EAMM,OANNC,GAMM;AAAA,MALJC,EAA6E,OAAA;AAAA,QAAxE,OAAM;AAAA,QAA8B,kBAAgBN,EAAA,WAAQ,KAAA;AAAA,MAAA;MACjEM,EAGM,OAHNC,GAGM;AAAA,QAFJD,EAAsE,OAAtEE,GAAsEC,EAAjBR,EAAA,KAAQ,GAAA,CAAA;AAAA,QAC7DK,EAAgE,OAAhEI,GAAgED,EAAvBT,EAAA,WAAQ,GAAA,GAAA,CAAA;AAAA,MAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlProgressCell.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlProgressCell/PlProgressCell.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlProgressCell.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlProgressCell/PlProgressCell.vue"],"names":[],"mappings":"AA8DA,OAAO,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;;;;;;;;AAuHnD,wBAQG"}
|
|
@@ -15,9 +15,18 @@ const x = {
|
|
|
15
15
|
error: { default: void 0 }
|
|
16
16
|
},
|
|
17
17
|
setup(e) {
|
|
18
|
-
const r = e, g = n(() => r.stage !== "not_started"), u = n(
|
|
18
|
+
const r = e, g = n(() => r.stage !== "not_started"), u = n(
|
|
19
|
+
() => r.stage === "done" ? 100 : Math.min(100, r.progress || 0)
|
|
20
|
+
), a = n(
|
|
21
|
+
() => r.progress === void 0 && r.stage !== "done" && r.stage !== "not_started" && !r.error
|
|
22
|
+
);
|
|
19
23
|
return (C, i) => (t(), s("div", {
|
|
20
|
-
class: f({
|
|
24
|
+
class: f({
|
|
25
|
+
"progress-cell": !0,
|
|
26
|
+
"progress-cell__white-bg": g.value,
|
|
27
|
+
error: e.error,
|
|
28
|
+
"not-started": r.stage === "not_started"
|
|
29
|
+
})
|
|
21
30
|
}, [
|
|
22
31
|
a.value ? (t(), s("div", x, [...i[0] || (i[0] = [
|
|
23
32
|
l("div", { class: "progress-cell__infinity-gradient" }, null, -1)
|