@milaboratories/uikit 2.10.15 → 2.10.17

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.
Files changed (755) hide show
  1. package/.oxfmtrc.json +4 -0
  2. package/.oxlintrc.json +3 -0
  3. package/.prettierrc +1 -1
  4. package/.turbo/turbo-build.log +191 -191
  5. package/.turbo/turbo-formatter$colon$check.log +12 -0
  6. package/.turbo/turbo-linter$colon$check.log +10 -0
  7. package/.turbo/{turbo-type-check.log → turbo-types$colon$check.log} +2 -2
  8. package/CHANGELOG.md +18 -0
  9. package/build.browser-lib.config.js +6 -6
  10. package/dist/base/BtnBase.vue.js.map +1 -1
  11. package/dist/colors/color.d.ts.map +1 -1
  12. package/dist/colors/color.js.map +1 -1
  13. package/dist/colors/gradient.d.ts.map +1 -1
  14. package/dist/colors/gradient.js.map +1 -1
  15. package/dist/colors/palette.js.map +1 -1
  16. package/dist/components/ContextProvider.vue.js.map +1 -1
  17. package/dist/components/DataTable/BaseCellComponent.vue.js.map +1 -1
  18. package/dist/components/DataTable/ColumnCaret.vue.js.map +1 -1
  19. package/dist/components/DataTable/ColumnsCommandMenu.vue.d.ts.map +1 -1
  20. package/dist/components/DataTable/ColumnsCommandMenu.vue.js.map +1 -1
  21. package/dist/components/DataTable/RowsCommandMenu.vue.d.ts.map +1 -1
  22. package/dist/components/DataTable/RowsCommandMenu.vue.js.map +1 -1
  23. package/dist/components/DataTable/TScroll.vue.d.ts.map +1 -1
  24. package/dist/components/DataTable/TScroll.vue.js +6 -1
  25. package/dist/components/DataTable/TScroll.vue.js.map +1 -1
  26. package/dist/components/DataTable/TableComponent.vue.d.ts.map +1 -1
  27. package/dist/components/DataTable/TableComponent.vue.js +1 -1
  28. package/dist/components/DataTable/TableComponent.vue.js.map +1 -1
  29. package/dist/components/DataTable/TdCell.vue.d.ts.map +1 -1
  30. package/dist/components/DataTable/TdCell.vue.js +3 -1
  31. package/dist/components/DataTable/TdCell.vue.js.map +1 -1
  32. package/dist/components/DataTable/ThCell.vue.d.ts.map +1 -1
  33. package/dist/components/DataTable/ThCell.vue.js.map +1 -1
  34. package/dist/components/DataTable/TrBody.vue.d.ts.map +1 -1
  35. package/dist/components/DataTable/TrBody.vue.js.map +1 -1
  36. package/dist/components/DataTable/adapters/AsyncData.d.ts +1 -1
  37. package/dist/components/DataTable/adapters/AsyncData.js.map +1 -1
  38. package/dist/components/DataTable/adapters/RawData.d.ts +1 -1
  39. package/dist/components/DataTable/adapters/RawData.js.map +1 -1
  40. package/dist/components/DataTable/assets/TableIcon.vue.d.ts.map +1 -1
  41. package/dist/components/DataTable/assets/TableIcon.vue.js.map +1 -1
  42. package/dist/components/DataTable/composition/useColumn.d.ts.map +1 -1
  43. package/dist/components/DataTable/composition/useColumn.js.map +1 -1
  44. package/dist/components/DataTable/composition/useMouseUp.js.map +1 -1
  45. package/dist/components/DataTable/composition/useResize.js.map +1 -1
  46. package/dist/components/DataTable/composition/useTableColumns.js.map +1 -1
  47. package/dist/components/DataTable/composition/useTableRows.js.map +1 -1
  48. package/dist/components/DataTable/domain.d.ts +1 -1
  49. package/dist/components/DataTable/domain.d.ts.map +1 -1
  50. package/dist/components/DataTable/domain.js.map +1 -1
  51. package/dist/components/DataTable/index.d.ts +1 -1
  52. package/dist/components/DataTable/index.d.ts.map +1 -1
  53. package/dist/components/DataTable/index.js +5 -1
  54. package/dist/components/DataTable/index.js.map +1 -1
  55. package/dist/components/DataTable/keys.js.map +1 -1
  56. package/dist/components/DataTable/state.d.ts.map +1 -1
  57. package/dist/components/DataTable/state.js +10 -4
  58. package/dist/components/DataTable/state.js.map +1 -1
  59. package/dist/components/DataTable/types.d.ts +3 -3
  60. package/dist/components/DropdownListItem.vue.d.ts +1 -1
  61. package/dist/components/DropdownListItem.vue.d.ts.map +1 -1
  62. package/dist/components/DropdownListItem.vue.js.map +1 -1
  63. package/dist/components/GridTable/domain.d.ts +1 -1
  64. package/dist/components/GridTable/domain.d.ts.map +1 -1
  65. package/dist/components/GridTable/types.d.ts +4 -4
  66. package/dist/components/GridTable/types.d.ts.map +1 -1
  67. package/dist/components/GridTable/useColumn.d.ts.map +1 -1
  68. package/dist/components/HScroll.vue.js.map +1 -1
  69. package/dist/components/InputRange.vue.d.ts.map +1 -1
  70. package/dist/components/InputRange.vue.js +3 -1
  71. package/dist/components/InputRange.vue.js.map +1 -1
  72. package/dist/components/LongText.vue.d.ts.map +1 -1
  73. package/dist/components/LongText.vue.js +9 -7
  74. package/dist/components/LongText.vue.js.map +1 -1
  75. package/dist/components/PlAccordion/ExpandTransition.vue.d.ts.map +1 -1
  76. package/dist/components/PlAccordion/ExpandTransition.vue.js +27 -0
  77. package/dist/components/PlAccordion/ExpandTransition.vue.js.map +1 -0
  78. package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +1 -1
  79. package/dist/components/PlAccordion/ExpandTransition.vue3.js +2 -2
  80. package/dist/components/PlAccordion/PlAccordion.vue.js.map +1 -1
  81. package/dist/components/PlAccordion/PlAccordionSection.vue2.js +2 -2
  82. package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
  83. package/dist/components/PlAlert/PlAlert.vue.d.ts.map +1 -1
  84. package/dist/components/PlAlert/PlAlert.vue.js.map +1 -1
  85. package/dist/components/PlAutocomplete/PlAutocomplete.vue.d.ts.map +1 -1
  86. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +40 -19
  87. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js.map +1 -1
  88. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts +2 -2
  89. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts.map +1 -1
  90. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js +22 -12
  91. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js.map +1 -1
  92. package/dist/components/PlAutocompleteMulti/index.d.ts +1 -1
  93. package/dist/components/PlAutocompleteMulti/index.d.ts.map +1 -1
  94. package/dist/components/PlBtnAccent/PlBtnAccent.vue.js.map +1 -1
  95. package/dist/components/PlBtnDanger/PlBtnDanger.vue.js.map +1 -1
  96. package/dist/components/PlBtnGhost/PlBtnGhost.vue.js.map +1 -1
  97. package/dist/components/PlBtnGroup/PlBtnGroup.vue.js.map +1 -1
  98. package/dist/components/PlBtnLink/PlBtnLink.vue.d.ts.map +1 -1
  99. package/dist/components/PlBtnLink/PlBtnLink.vue.js.map +1 -1
  100. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.js.map +1 -1
  101. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.js.map +1 -1
  102. package/dist/components/PlBtnSplit/PlBtnSplit.vue.d.ts.map +1 -1
  103. package/dist/components/PlBtnSplit/PlBtnSplit.vue.js +6 -4
  104. package/dist/components/PlBtnSplit/PlBtnSplit.vue.js.map +1 -1
  105. package/dist/components/PlChartHistogram/PlChartHistogram.vue.d.ts.map +1 -1
  106. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +8 -1
  107. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
  108. package/dist/components/PlChartHistogram/PlChartHistogram.vue3.js +4 -4
  109. package/dist/components/PlChartHistogram/createGridlines.d.ts.map +1 -1
  110. package/dist/components/PlChartHistogram/createGridlines.js +5 -1
  111. package/dist/components/PlChartHistogram/createGridlines.js.map +1 -1
  112. package/dist/components/PlChartHistogram/createLabels.d.ts.map +1 -1
  113. package/dist/components/PlChartHistogram/createLabels.js.map +1 -1
  114. package/dist/components/PlChartHistogram/createSvgContainer.js.map +1 -1
  115. package/dist/components/PlChartHistogram/drawBins.d.ts.map +1 -1
  116. package/dist/components/PlChartHistogram/drawBins.js.map +1 -1
  117. package/dist/components/PlChartHistogram/drawThreshold.js.map +1 -1
  118. package/dist/components/PlChartHistogram/histogram.d.ts.map +1 -1
  119. package/dist/components/PlChartHistogram/histogram.js +6 -2
  120. package/dist/components/PlChartHistogram/histogram.js.map +1 -1
  121. package/dist/components/PlChartHistogram/normalizeBins.js.map +1 -1
  122. package/dist/components/PlChartHistogram/types.d.ts +2 -2
  123. package/dist/components/PlChartHistogram/types.d.ts.map +1 -1
  124. package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
  125. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue.d.ts.map +1 -1
  126. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +6 -4
  127. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
  128. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
  129. package/dist/components/PlChartStackedBar/StackedRow.vue.d.ts.map +1 -1
  130. package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
  131. package/dist/components/PlChartStackedBar/StackedRowCompact.vue.d.ts.map +1 -1
  132. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
  133. package/dist/components/PlCheckbox/PlCheckbox.vue.js.map +1 -1
  134. package/dist/components/PlCheckbox/PlCheckboxBase.vue.d.ts.map +1 -1
  135. package/dist/components/PlCheckbox/PlCheckboxBase.vue.js.map +1 -1
  136. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.d.ts.map +1 -1
  137. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js +8 -2
  138. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js.map +1 -1
  139. package/dist/components/PlChip/PlChip.vue.d.ts.map +1 -1
  140. package/dist/components/PlChip/PlChip.vue.js.map +1 -1
  141. package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
  142. package/dist/components/PlConfirmDialog.vue.d.ts.map +1 -1
  143. package/dist/components/PlConfirmDialog.vue.js.map +1 -1
  144. package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts.map +1 -1
  145. package/dist/components/PlDialogModal/PlDialogModal.vue.js +4 -1
  146. package/dist/components/PlDialogModal/PlDialogModal.vue.js.map +1 -1
  147. package/dist/components/PlDropdown/OptionList.vue.d.ts +1 -1
  148. package/dist/components/PlDropdown/OptionList.vue.d.ts.map +1 -1
  149. package/dist/components/PlDropdown/OptionList.vue.js.map +1 -1
  150. package/dist/components/PlDropdown/PlDropdown.vue.d.ts.map +1 -1
  151. package/dist/components/PlDropdown/PlDropdown.vue.js.map +1 -1
  152. package/dist/components/PlDropdown/types.d.ts.map +1 -1
  153. package/dist/components/PlDropdown/useGroupBy.d.ts.map +1 -1
  154. package/dist/components/PlDropdown/useGroupBy.js.map +1 -1
  155. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.d.ts.map +1 -1
  156. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js.map +1 -1
  157. package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts +1 -1
  158. package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts.map +1 -1
  159. package/dist/components/PlDropdownLine/PlDropdownLine.vue.js +5 -3
  160. package/dist/components/PlDropdownLine/PlDropdownLine.vue.js.map +1 -1
  161. package/dist/components/PlDropdownLine/ResizableInput.vue.d.ts.map +1 -1
  162. package/dist/components/PlDropdownLine/ResizableInput.vue.js.map +1 -1
  163. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts.map +1 -1
  164. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js.map +1 -1
  165. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.js.map +1 -1
  166. package/dist/components/PlDropdownRef/PlDropdownRef.vue.js.map +1 -1
  167. package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts.map +1 -1
  168. package/dist/components/PlEditableTitle/PlEditableTitle.vue.js.map +1 -1
  169. package/dist/components/PlElementList/PlElementList.vue.d.ts.map +1 -1
  170. package/dist/components/PlElementList/PlElementList.vue2.js +9 -2
  171. package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
  172. package/dist/components/PlElementList/PlElementList.vue3.js +4 -4
  173. package/dist/components/PlElementList/PlElementListItem.vue.d.ts.map +1 -1
  174. package/dist/components/PlElementList/PlElementListItem.vue2.js +25 -13
  175. package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
  176. package/dist/components/PlElementList/PlElementListItem.vue3.js +20 -20
  177. package/dist/components/PlElementList/utils.d.ts.map +1 -1
  178. package/dist/components/PlElementList/utils.js +3 -1
  179. package/dist/components/PlElementList/utils.js.map +1 -1
  180. package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
  181. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.d.ts.map +1 -1
  182. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js +4 -1
  183. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js.map +1 -1
  184. package/dist/components/PlFileDialog/Local.vue.d.ts.map +1 -1
  185. package/dist/components/PlFileDialog/Local.vue.js +6 -2
  186. package/dist/components/PlFileDialog/Local.vue.js.map +1 -1
  187. package/dist/components/PlFileDialog/PlFileDialog.vue.d.ts.map +1 -1
  188. package/dist/components/PlFileDialog/PlFileDialog.vue.js +3 -1
  189. package/dist/components/PlFileDialog/PlFileDialog.vue.js.map +1 -1
  190. package/dist/components/PlFileDialog/Remote.vue.d.ts.map +1 -1
  191. package/dist/components/PlFileDialog/Remote.vue.js +6 -2
  192. package/dist/components/PlFileDialog/Remote.vue.js.map +1 -1
  193. package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
  194. package/dist/components/PlFileDialog/Shortcuts.vue3.js +4 -4
  195. package/dist/components/PlFileDialog/pl-file-dialog.module.scss.js +21 -21
  196. package/dist/components/PlFileDialog/remote.js.map +1 -1
  197. package/dist/components/PlFileDialog/utils.js.map +1 -1
  198. package/dist/components/PlFileInput/PlFileInput.vue.d.ts.map +1 -1
  199. package/dist/components/PlFileInput/PlFileInput.vue.js.map +1 -1
  200. package/dist/components/PlIcon16/PlIcon16.vue2.js.map +1 -1
  201. package/dist/components/PlIcon24/PlIcon24.vue2.js.map +1 -1
  202. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.d.ts +1 -1
  203. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.d.ts.map +1 -1
  204. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js +5 -1
  205. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js.map +1 -1
  206. package/dist/components/PlLoaderLogo.vue.d.ts.map +1 -1
  207. package/dist/components/PlLoaderLogo.vue2.js +8 -8
  208. package/dist/components/PlLoaderLogo.vue2.js.map +1 -1
  209. package/dist/components/PlLogView/PlLogView.vue.d.ts.map +1 -1
  210. package/dist/components/PlLogView/PlLogView.vue.js +11 -7
  211. package/dist/components/PlLogView/PlLogView.vue.js.map +1 -1
  212. package/dist/components/PlLogView/useLogHandle.d.ts.map +1 -1
  213. package/dist/components/PlLogView/useLogHandle.js +16 -3
  214. package/dist/components/PlLogView/useLogHandle.js.map +1 -1
  215. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts +1 -1
  216. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts.map +1 -1
  217. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.js.map +1 -1
  218. package/dist/components/PlNumberField/PlNumberField.vue.d.ts.map +1 -1
  219. package/dist/components/PlNumberField/PlNumberField.vue.js +4 -6
  220. package/dist/components/PlNumberField/PlNumberField.vue.js.map +1 -1
  221. package/dist/components/PlNumberField/parseNumber.d.ts.map +1 -1
  222. package/dist/components/PlNumberField/parseNumber.js.map +1 -1
  223. package/dist/components/PlProgressBar/PlProgressBar.vue.js.map +1 -1
  224. package/dist/components/PlProgressCell/PlProgressCell.vue.d.ts.map +1 -1
  225. package/dist/components/PlProgressCell/PlProgressCell.vue.js +11 -2
  226. package/dist/components/PlProgressCell/PlProgressCell.vue.js.map +1 -1
  227. package/dist/components/PlProgressCell/types.d.ts +1 -1
  228. package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
  229. package/dist/components/PlRadio/PlRadio.vue3.js +3 -3
  230. package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
  231. package/dist/components/PlRadio/PlRadioGroup.vue3.js +6 -6
  232. package/dist/components/PlRadio/keys.js.map +1 -1
  233. package/dist/components/PlSearchField/PlSearchField.vue.d.ts.map +1 -1
  234. package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
  235. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
  236. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue3.js +1 -1
  237. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
  238. package/dist/components/PlSidebar/PlSidebarGroup.vue3.js +6 -6
  239. package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts +6 -6
  240. package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts.map +1 -1
  241. package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
  242. package/dist/components/PlSidebar/PlSidebarItem.vue3.js +8 -8
  243. package/dist/components/PlSlideModal/PlPureSlideModal.vue.d.ts.map +1 -1
  244. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js +1 -1
  245. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js.map +1 -1
  246. package/dist/components/PlSlideModal/PlSlideModal.vue.d.ts.map +1 -1
  247. package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
  248. package/dist/components/PlSlideModal/props.d.ts +8 -8
  249. package/dist/components/PlSlideModal/props.d.ts.map +1 -1
  250. package/dist/components/PlSlideModal/props.js.map +1 -1
  251. package/dist/components/PlSplash/PlSplash.vue.d.ts +1 -1
  252. package/dist/components/PlSplash/PlSplash.vue.d.ts.map +1 -1
  253. package/dist/components/PlSplash/PlSplash.vue.js +4 -1
  254. package/dist/components/PlSplash/PlSplash.vue.js.map +1 -1
  255. package/dist/components/PlStatusTag/PlStatusTag.vue.d.ts.map +1 -1
  256. package/dist/components/PlStatusTag/PlStatusTag.vue.js.map +1 -1
  257. package/dist/components/PlStatusTag/types.d.ts +1 -1
  258. package/dist/components/PlSvg/PlSvg.vue.d.ts.map +1 -1
  259. package/dist/components/PlSvg/PlSvg.vue2.js +7 -2
  260. package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
  261. package/dist/components/PlSvg/registry.d.ts.map +1 -1
  262. package/dist/components/PlSvg/registry.js.map +1 -1
  263. package/dist/components/PlTabs/PlTabs.vue.d.ts.map +1 -1
  264. package/dist/components/PlTabs/PlTabs.vue.js +4 -1
  265. package/dist/components/PlTabs/PlTabs.vue.js.map +1 -1
  266. package/dist/components/PlTabs/Tab.vue.js.map +1 -1
  267. package/dist/components/PlTextArea/PlTextArea.vue.js.map +1 -1
  268. package/dist/components/PlTextField/PlTextField.vue.d.ts.map +1 -1
  269. package/dist/components/PlTextField/PlTextField.vue.js +3 -1
  270. package/dist/components/PlTextField/PlTextField.vue.js.map +1 -1
  271. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js.map +1 -1
  272. package/dist/components/PlTooltip/Beak.vue.d.ts.map +1 -1
  273. package/dist/components/PlTooltip/Beak.vue.js.map +1 -1
  274. package/dist/components/PlTooltip/PlTooltip.vue.d.ts.map +1 -1
  275. package/dist/components/PlTooltip/PlTooltip.vue.js.map +1 -1
  276. package/dist/components/PlTooltip/useTooltipPosition.d.ts +1 -1
  277. package/dist/components/PlTooltip/useTooltipPosition.js.map +1 -1
  278. package/dist/components/Scrollable.vue.d.ts.map +1 -1
  279. package/dist/components/Scrollable.vue.js +10 -1
  280. package/dist/components/Scrollable.vue.js.map +1 -1
  281. package/dist/components/Slider.vue.d.ts.map +1 -1
  282. package/dist/components/Slider.vue.js +3 -1
  283. package/dist/components/Slider.vue.js.map +1 -1
  284. package/dist/components/SliderRange.vue.d.ts.map +1 -1
  285. package/dist/components/SliderRange.vue.js +15 -3
  286. package/dist/components/SliderRange.vue.js.map +1 -1
  287. package/dist/components/SliderRangeTriple.vue.d.ts.map +1 -1
  288. package/dist/components/SliderRangeTriple.vue.js +7 -1
  289. package/dist/components/SliderRangeTriple.vue.js.map +1 -1
  290. package/dist/components/TabItem.vue.js.map +1 -1
  291. package/dist/components/ThemeSwitcher.vue.js.map +1 -1
  292. package/dist/components/TransitionSlidePanel.vue.js.map +1 -1
  293. package/dist/components/VScroll.vue.js.map +1 -1
  294. package/dist/components/contextMenu/Menu.vue.js +1 -1
  295. package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
  296. package/dist/components/contextMenu/index.js.map +1 -1
  297. package/dist/composition/computedCached.js.map +1 -1
  298. package/dist/composition/filters/metadata.d.ts.map +1 -1
  299. package/dist/composition/filters/metadata.js.map +1 -1
  300. package/dist/composition/filters/types.d.ts +1 -19
  301. package/dist/composition/filters/types.d.ts.map +1 -1
  302. package/dist/composition/useClickOutside.js.map +1 -1
  303. package/dist/composition/useComponentProp.d.ts.map +1 -1
  304. package/dist/composition/useComponentProp.js.map +1 -1
  305. package/dist/composition/useConfirm.js.map +1 -1
  306. package/dist/composition/useDraggable.d.ts.map +1 -1
  307. package/dist/composition/useDraggable.js.map +1 -1
  308. package/dist/composition/useEventListener.d.ts.map +1 -1
  309. package/dist/composition/useEventListener.js +11 -7
  310. package/dist/composition/useEventListener.js.map +1 -1
  311. package/dist/composition/useFilteredList.d.ts.map +1 -1
  312. package/dist/composition/useFilteredList.js.map +1 -1
  313. package/dist/composition/useFormState.js.map +1 -1
  314. package/dist/composition/useHover.d.ts.map +1 -1
  315. package/dist/composition/useHover.js.map +1 -1
  316. package/dist/composition/useInterval.js.map +1 -1
  317. package/dist/composition/useLocalStorage.js.map +1 -1
  318. package/dist/composition/useMouse.js.map +1 -1
  319. package/dist/composition/useMouseCapture.d.ts.map +1 -1
  320. package/dist/composition/useMouseCapture.js.map +1 -1
  321. package/dist/composition/usePollingQuery.d.ts.map +1 -1
  322. package/dist/composition/usePollingQuery.js +4 -1
  323. package/dist/composition/usePollingQuery.js.map +1 -1
  324. package/dist/composition/usePosition.d.ts.map +1 -1
  325. package/dist/composition/usePosition.js.map +1 -1
  326. package/dist/composition/useQuery.js.map +1 -1
  327. package/dist/composition/useResizeObserver.d.ts.map +1 -1
  328. package/dist/composition/useResizeObserver.js.map +1 -1
  329. package/dist/composition/useRipple.js.map +1 -1
  330. package/dist/composition/useScroll.d.ts.map +1 -1
  331. package/dist/composition/useScroll.js.map +1 -1
  332. package/dist/composition/useSliderBreakpoints.d.ts.map +1 -1
  333. package/dist/composition/useSliderBreakpoints.js.map +1 -1
  334. package/dist/composition/useSortable.js.map +1 -1
  335. package/dist/composition/useSortable2.d.ts.map +1 -1
  336. package/dist/composition/useSortable2.js +8 -5
  337. package/dist/composition/useSortable2.js.map +1 -1
  338. package/dist/composition/useTheme.d.ts +1 -1
  339. package/dist/composition/useTheme.d.ts.map +1 -1
  340. package/dist/composition/useTheme.js.map +1 -1
  341. package/dist/composition/useTransformedModel.d.ts.map +1 -1
  342. package/dist/composition/useTransformedModel.js.map +1 -1
  343. package/dist/composition/useWatchFetch.js.map +1 -1
  344. package/dist/composition/utils.js.map +1 -1
  345. package/dist/composition/watchCached.d.ts.map +1 -1
  346. package/dist/composition/watchCached.js.map +1 -1
  347. package/dist/demo-site-data/all-css-variables.d.ts.map +1 -1
  348. package/dist/demo-site-data/all-css-variables.js +52 -13
  349. package/dist/demo-site-data/all-css-variables.js.map +1 -1
  350. package/dist/generated/icons-16.js.map +1 -1
  351. package/dist/generated/icons-24.js.map +1 -1
  352. package/dist/global/resizeObserver.js.map +1 -1
  353. package/dist/helpers/dom.d.ts.map +1 -1
  354. package/dist/helpers/dom.js.map +1 -1
  355. package/dist/helpers/downloadContent.d.ts +1 -1
  356. package/dist/helpers/downloadContent.d.ts.map +1 -1
  357. package/dist/helpers/downloadContent.js +3 -1
  358. package/dist/helpers/downloadContent.js.map +1 -1
  359. package/dist/helpers/error.js +4 -1
  360. package/dist/helpers/error.js.map +1 -1
  361. package/dist/helpers/functions.d.ts.map +1 -1
  362. package/dist/helpers/functions.js.map +1 -1
  363. package/dist/helpers/objects.js.map +1 -1
  364. package/dist/helpers/utils.d.ts.map +1 -1
  365. package/dist/helpers/utils.js.map +1 -1
  366. package/dist/index.d.ts +1 -1
  367. package/dist/index.js +1 -1
  368. package/dist/index.js.map +1 -1
  369. package/dist/layout/PlBlockPage/PlBlockPage.vue.d.ts.map +1 -1
  370. package/dist/layout/PlBlockPage/PlBlockPage.vue2.js.map +1 -1
  371. package/dist/layout/PlBlockPage/PlBlockPage.vue3.js +4 -4
  372. package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.js.map +1 -1
  373. package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.js.map +1 -1
  374. package/dist/layout/PlContainer/PlContainer.vue.d.ts.map +1 -1
  375. package/dist/layout/PlContainer/PlContainer.vue.js.map +1 -1
  376. package/dist/layout/PlGrid/PlGrid.vue.js.map +1 -1
  377. package/dist/layout/PlPlaceholder/PlPlaceholder.vue.d.ts +1 -1
  378. package/dist/layout/PlPlaceholder/PlPlaceholder.vue.d.ts.map +1 -1
  379. package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js +8 -8
  380. package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js.map +1 -1
  381. package/dist/layout/PlPlaceholder/PlPlaceholder.vue3.js +15 -15
  382. package/dist/layout/PlPlaceholder/index.d.ts +1 -1
  383. package/dist/layout/PlPlaceholder/index.d.ts.map +1 -1
  384. package/dist/layout/PlPlaceholder/index.js.map +1 -1
  385. package/dist/layout/PlPlaceholder/paint-worklet.js +6 -6
  386. package/dist/layout/PlPlaceholder/paint-worklet.js.map +1 -1
  387. package/dist/layout/PlRow/PlRow.vue.js.map +1 -1
  388. package/dist/layout/PlSpacer/PlSpacer.vue.js.map +1 -1
  389. package/dist/types.d.ts +5 -5
  390. package/dist/types.d.ts.map +1 -1
  391. package/dist/utils/DoubleContour.vue.d.ts.map +1 -1
  392. package/dist/utils/DoubleContour.vue.js.map +1 -1
  393. package/dist/utils/DropdownOverlay/DropdownOverlay.vue.js.map +1 -1
  394. package/dist/utils/PlCloseModalBtn.vue.js.map +1 -1
  395. package/dist/utils/TextLabel.vue.js.map +1 -1
  396. package/dist/utils/useLabelNotch.d.ts.map +1 -1
  397. package/dist/utils/useLabelNotch.js.map +1 -1
  398. package/dist/utils/useValidation.js.map +1 -1
  399. package/package.json +23 -24
  400. package/scripts/parse-icons.js +20 -14
  401. package/src/__tests__/compositions/usePollingQuery.spec.ts +163 -165
  402. package/src/__tests__/compositions/useValidation.spec.ts +41 -28
  403. package/src/__tests__/setup.ts +1 -1
  404. package/src/__tests__/use-debounce-fn.test.ts +15 -11
  405. package/src/assets/animations.scss +5 -5
  406. package/src/assets/base-btn.scss +4 -3
  407. package/src/assets/base.scss +11 -8
  408. package/src/assets/common.scss +43 -43
  409. package/src/assets/dropdown-list-item.scss +53 -53
  410. package/src/assets/dropdown-tab-item.scss +4 -4
  411. package/src/assets/icons.scss +1 -1
  412. package/src/assets/input-range.scss +26 -27
  413. package/src/assets/layout.scss +1 -1
  414. package/src/assets/masks.scss +1 -1
  415. package/src/assets/mixins.scss +9 -17
  416. package/src/assets/scroll.scss +6 -6
  417. package/src/assets/slider.scss +6 -5
  418. package/src/assets/sortable.scss +1 -1
  419. package/src/assets/theme-switcher.scss +2 -2
  420. package/src/assets/typography.scss +16 -13
  421. package/src/assets/ui.scss +19 -19
  422. package/src/assets/utils.scss +19 -19
  423. package/src/assets/variables.scss +9 -10
  424. package/src/base/BtnBase.vue +6 -6
  425. package/src/colors/__tests__/colors.spec.ts +12 -10
  426. package/src/colors/color.ts +17 -12
  427. package/src/colors/gradient.ts +20 -17
  428. package/src/colors/index.ts +3 -3
  429. package/src/colors/palette.ts +194 -194
  430. package/src/components/ContextProvider.vue +1 -1
  431. package/src/components/DataTable/BaseCellComponent.vue +8 -8
  432. package/src/components/DataTable/ColumnCaret.vue +3 -3
  433. package/src/components/DataTable/ColumnsCommandMenu.vue +5 -3
  434. package/src/components/DataTable/RowsCommandMenu.vue +5 -3
  435. package/src/components/DataTable/TScroll.vue +11 -6
  436. package/src/components/DataTable/TableComponent.vue +41 -24
  437. package/src/components/DataTable/TdCell.vue +28 -15
  438. package/src/components/DataTable/ThCell.vue +14 -9
  439. package/src/components/DataTable/TrBody.vue +11 -4
  440. package/src/components/DataTable/adapters/AsyncData.ts +4 -4
  441. package/src/components/DataTable/adapters/RawData.ts +5 -5
  442. package/src/components/DataTable/assets/TableIcon.vue +6 -1
  443. package/src/components/DataTable/assets/data-table-style.scss +12 -10
  444. package/src/components/DataTable/composition/useColumn.ts +8 -5
  445. package/src/components/DataTable/composition/useMouseUp.ts +3 -3
  446. package/src/components/DataTable/composition/useResize.ts +16 -16
  447. package/src/components/DataTable/composition/useTableColumns.ts +8 -8
  448. package/src/components/DataTable/composition/useTableRows.ts +5 -5
  449. package/src/components/DataTable/domain.ts +8 -4
  450. package/src/components/DataTable/index.ts +26 -13
  451. package/src/components/DataTable/keys.ts +3 -3
  452. package/src/components/DataTable/state.ts +38 -18
  453. package/src/components/DataTable/types.ts +10 -10
  454. package/src/components/DropdownListItem.vue +18 -15
  455. package/src/components/GridTable/TdCell.vue +7 -7
  456. package/src/components/GridTable/ThCell.vue +14 -9
  457. package/src/components/GridTable/assets/TableIcon.vue +6 -1
  458. package/src/components/GridTable/assets/style.scss +6 -6
  459. package/src/components/GridTable/constants.ts +10 -10
  460. package/src/components/GridTable/domain.ts +8 -4
  461. package/src/components/GridTable/getColumnPositions.ts +4 -4
  462. package/src/components/GridTable/index.vue +41 -32
  463. package/src/components/GridTable/types.ts +14 -11
  464. package/src/components/GridTable/useColumn.ts +8 -5
  465. package/src/components/GridTable/useMouseUp.ts +3 -3
  466. package/src/components/GridTable/useResize.ts +13 -13
  467. package/src/components/HScroll.vue +10 -10
  468. package/src/components/InputRange.vue +9 -7
  469. package/src/components/LongText.vue +7 -5
  470. package/src/components/PlAccordion/ExpandTransition.vue +12 -6
  471. package/src/components/PlAccordion/PlAccordion.vue +3 -3
  472. package/src/components/PlAccordion/PlAccordionSection.vue +9 -9
  473. package/src/components/PlAccordion/index.ts +2 -2
  474. package/src/components/PlAlert/PlAlert.vue +21 -10
  475. package/src/components/PlAlert/index.ts +1 -1
  476. package/src/components/PlAlert/pl-alert.scss +1 -1
  477. package/src/components/PlAutocomplete/PlAutocomplete.vue +142 -82
  478. package/src/components/PlAutocomplete/__tests__/PlAutocomplete.spec.ts +19 -17
  479. package/src/components/PlAutocomplete/index.ts +1 -1
  480. package/src/components/PlAutocomplete/pl-autocomplete.scss +9 -7
  481. package/src/components/PlAutocompleteMulti/PlAutocompleteMulti.vue +92 -62
  482. package/src/components/PlAutocompleteMulti/__tests__/PlAutocompleteMulti.spec.ts +17 -16
  483. package/src/components/PlAutocompleteMulti/index.ts +4 -1
  484. package/src/components/PlAutocompleteMulti/pl-autocomplete-multi.scss +8 -6
  485. package/src/components/PlBtnAccent/PlBtnAccent.vue +4 -4
  486. package/src/components/PlBtnAccent/index.ts +1 -1
  487. package/src/components/PlBtnDanger/PlBtnDanger.vue +4 -4
  488. package/src/components/PlBtnDanger/index.ts +1 -1
  489. package/src/components/PlBtnDanger/pl-btn-danger.scss +1 -1
  490. package/src/components/PlBtnGhost/PlBtnGhost.vue +8 -8
  491. package/src/components/PlBtnGhost/index.ts +1 -1
  492. package/src/components/PlBtnGroup/PlBtnGroup.vue +10 -10
  493. package/src/components/PlBtnGroup/index.ts +1 -1
  494. package/src/components/PlBtnGroup/pl-btn-group.scss +4 -4
  495. package/src/components/PlBtnLink/PlBtnLink.vue +10 -5
  496. package/src/components/PlBtnLink/index.ts +1 -1
  497. package/src/components/PlBtnLink/pl-btn-link.scss +2 -1
  498. package/src/components/PlBtnPrimary/PlBtnPrimary.vue +4 -4
  499. package/src/components/PlBtnPrimary/__tests__/BtnPrimary.spec.ts +7 -7
  500. package/src/components/PlBtnPrimary/index.ts +1 -1
  501. package/src/components/PlBtnPrimary/pl-btn-primary.scss +2 -2
  502. package/src/components/PlBtnSecondary/PlBtnSecondary.vue +4 -4
  503. package/src/components/PlBtnSecondary/index.ts +1 -1
  504. package/src/components/PlBtnSecondary/pl-btn-secondary.scss +1 -1
  505. package/src/components/PlBtnSplit/PlBtnSplit.vue +42 -28
  506. package/src/components/PlBtnSplit/__tests__/PlBtnSplit.spec.ts +66 -66
  507. package/src/components/PlBtnSplit/index.ts +1 -1
  508. package/src/components/PlBtnSplit/pl-btn-split.scss +72 -75
  509. package/src/components/PlChartHistogram/PlChartHistogram.vue +29 -20
  510. package/src/components/PlChartHistogram/createGridlines.ts +28 -22
  511. package/src/components/PlChartHistogram/createLabels.ts +19 -17
  512. package/src/components/PlChartHistogram/createSvgContainer.ts +9 -9
  513. package/src/components/PlChartHistogram/drawBins.ts +27 -34
  514. package/src/components/PlChartHistogram/drawThreshold.ts +9 -9
  515. package/src/components/PlChartHistogram/histogram.ts +31 -34
  516. package/src/components/PlChartHistogram/index.ts +1 -1
  517. package/src/components/PlChartHistogram/normalizeBins.ts +3 -3
  518. package/src/components/PlChartHistogram/scales.spec.ts +5 -5
  519. package/src/components/PlChartHistogram/types.ts +6 -6
  520. package/src/components/PlChartStackedBar/Legends.vue +2 -2
  521. package/src/components/PlChartStackedBar/PlChartStackedBar.vue +16 -10
  522. package/src/components/PlChartStackedBar/PlChartStackedBarCompact.vue +4 -4
  523. package/src/components/PlChartStackedBar/StackedRow.vue +7 -9
  524. package/src/components/PlChartStackedBar/StackedRowCompact.vue +6 -8
  525. package/src/components/PlChartStackedBar/index.ts +3 -3
  526. package/src/components/PlChartStackedBar/types.ts +1 -1
  527. package/src/components/PlCheckbox/PlCheckbox.vue +5 -5
  528. package/src/components/PlCheckbox/PlCheckboxBase.vue +3 -5
  529. package/src/components/PlCheckbox/__tests__/PlCheckbox.spec.ts +15 -15
  530. package/src/components/PlCheckbox/index.ts +1 -1
  531. package/src/components/PlCheckbox/pl-checkbox-base.scss +13 -13
  532. package/src/components/PlCheckbox/pl-checkbox.scss +2 -2
  533. package/src/components/PlCheckboxGroup/PlCheckboxGroup.vue +24 -10
  534. package/src/components/PlCheckboxGroup/index.ts +1 -1
  535. package/src/components/PlCheckboxGroup/pl-checkbox-group.scss +1 -1
  536. package/src/components/PlChip/PlChip.vue +11 -5
  537. package/src/components/PlChip/index.ts +1 -1
  538. package/src/components/PlChip/pl-chip.scss +2 -2
  539. package/src/components/PlClipboard/PlClipboard.vue +7 -7
  540. package/src/components/PlClipboard/index.ts +1 -1
  541. package/src/components/PlConfirmDialog.vue +7 -6
  542. package/src/components/PlDialogModal/PlDialogModal.vue +52 -33
  543. package/src/components/PlDialogModal/index.ts +1 -1
  544. package/src/components/PlDialogModal/pl-dialog-modal.scss +2 -2
  545. package/src/components/PlDropdown/OptionList.vue +21 -10
  546. package/src/components/PlDropdown/PlDropdown.vue +65 -46
  547. package/src/components/PlDropdown/__tests__/PlDropdown.spec.ts +15 -15
  548. package/src/components/PlDropdown/index.ts +1 -1
  549. package/src/components/PlDropdown/pl-dropdown.scss +4 -2
  550. package/src/components/PlDropdown/types.ts +6 -2
  551. package/src/components/PlDropdown/useGroupBy.ts +7 -10
  552. package/src/components/PlDropdownLegacy/PlDropdownLegacy.vue +60 -43
  553. package/src/components/PlDropdownLegacy/__tests__/PlDropdownLegacy.spec.ts +16 -16
  554. package/src/components/PlDropdownLegacy/index.ts +1 -1
  555. package/src/components/PlDropdownLegacy/pl-dropdown-legacy.scss +6 -6
  556. package/src/components/PlDropdownLine/PlDropdownLine.vue +76 -54
  557. package/src/components/PlDropdownLine/ResizableInput.vue +15 -8
  558. package/src/components/PlDropdownLine/index.ts +1 -1
  559. package/src/components/PlDropdownLine/pl-dropdown-line.scss +132 -132
  560. package/src/components/PlDropdownLine/resizable-input.scss +38 -38
  561. package/src/components/PlDropdownMulti/PlDropdownMulti.vue +79 -45
  562. package/src/components/PlDropdownMulti/__tests__/PlDropdownMulti.spec.ts +15 -14
  563. package/src/components/PlDropdownMulti/index.ts +1 -1
  564. package/src/components/PlDropdownMulti/pl-dropdown-multi.scss +8 -6
  565. package/src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue +5 -5
  566. package/src/components/PlDropdownMultiRef/__tests__/PlDropdownMultiRef.spec.ts +25 -24
  567. package/src/components/PlDropdownMultiRef/index.ts +1 -1
  568. package/src/components/PlDropdownRef/PlDropdownRef.vue +12 -12
  569. package/src/components/PlDropdownRef/__tests__/PlDropdownRef.spec.ts +23 -23
  570. package/src/components/PlDropdownRef/index.ts +1 -1
  571. package/src/components/PlEditableTitle/PlEditableTitle.vue +9 -10
  572. package/src/components/PlEditableTitle/index.ts +1 -1
  573. package/src/components/PlEditableTitle/pl-editable-title.module.scss +4 -4
  574. package/src/components/PlElementList/PlElementList.vue +60 -37
  575. package/src/components/PlElementList/PlElementListItem.vue +45 -29
  576. package/src/components/PlElementList/README.md +102 -119
  577. package/src/components/PlElementList/index.ts +1 -1
  578. package/src/components/PlElementList/utils.ts +3 -1
  579. package/src/components/PlErrorAlert/PlErrorAlert.vue +5 -5
  580. package/src/components/PlErrorAlert/index.ts +1 -1
  581. package/src/components/PlErrorBoundary/PlErrorBoundary.vue +8 -5
  582. package/src/components/PlErrorBoundary/index.ts +1 -1
  583. package/src/components/PlFileDialog/Local.vue +22 -16
  584. package/src/components/PlFileDialog/PlFileDialog.vue +27 -23
  585. package/src/components/PlFileDialog/Remote.vue +44 -34
  586. package/src/components/PlFileDialog/Shortcuts.vue +4 -4
  587. package/src/components/PlFileDialog/index.ts +1 -1
  588. package/src/components/PlFileDialog/pl-file-dialog.module.scss +15 -12
  589. package/src/components/PlFileDialog/remote.ts +9 -9
  590. package/src/components/PlFileDialog/utils.test.ts +20 -24
  591. package/src/components/PlFileDialog/utils.ts +8 -8
  592. package/src/components/PlFileInput/PlFileInput.vue +37 -26
  593. package/src/components/PlFileInput/index.ts +1 -1
  594. package/src/components/PlFileInput/pl-file-input.scss +3 -3
  595. package/src/components/PlFileInput/utils.ts +6 -6
  596. package/src/components/PlIcon16/PlIcon16.vue +7 -7
  597. package/src/components/PlIcon16/index.ts +1 -1
  598. package/src/components/PlIcon24/PlIcon24.vue +7 -7
  599. package/src/components/PlIcon24/index.ts +1 -1
  600. package/src/components/PlLoaderCircular/PlLoaderCircular.vue +24 -6
  601. package/src/components/PlLoaderCircular/index.ts +1 -1
  602. package/src/components/PlLoaderCircular/pl-loader-circular.scss +54 -50
  603. package/src/components/PlLoaderLogo.vue +8 -10
  604. package/src/components/PlLogView/PlLogView.vue +28 -22
  605. package/src/components/PlLogView/index.ts +1 -1
  606. package/src/components/PlLogView/pl-log-view.scss +10 -4
  607. package/src/components/PlLogView/useLogHandle.ts +32 -12
  608. package/src/components/PlMaskIcon16/index.ts +1 -1
  609. package/src/components/PlMaskIcon24/index.ts +1 -1
  610. package/src/components/PlNotificationAlert/PlNotificationAlert.vue +10 -5
  611. package/src/components/PlNotificationAlert/index.ts +1 -1
  612. package/src/components/PlNotificationAlert/pl-notification-alert.scss +43 -44
  613. package/src/components/PlNumberField/PlNumberField.vue +95 -68
  614. package/src/components/PlNumberField/__tests__/PlNumberField.spec.ts +71 -69
  615. package/src/components/PlNumberField/index.ts +1 -1
  616. package/src/components/PlNumberField/parseNumber.ts +20 -17
  617. package/src/components/PlProgressBar/PlProgressBar.vue +5 -5
  618. package/src/components/PlProgressBar/index.ts +1 -1
  619. package/src/components/PlProgressCell/PlProgressCell.vue +33 -14
  620. package/src/components/PlProgressCell/index.ts +2 -2
  621. package/src/components/PlProgressCell/pl-progress-cell.scss +70 -70
  622. package/src/components/PlProgressCell/types.ts +1 -1
  623. package/src/components/PlRadio/PlRadio.vue +54 -54
  624. package/src/components/PlRadio/PlRadioGroup.vue +16 -16
  625. package/src/components/PlRadio/__tests__/PlRadioGroup.spec.ts +50 -50
  626. package/src/components/PlRadio/index.ts +2 -2
  627. package/src/components/PlRadio/keys.ts +1 -1
  628. package/src/components/PlSearchField/PlSearchField.vue +21 -9
  629. package/src/components/PlSearchField/index.ts +1 -1
  630. package/src/components/PlSectionSeparator/PlSectionSeparator.vue +1 -1
  631. package/src/components/PlSectionSeparator/index.ts +1 -1
  632. package/src/components/PlSidebar/PlSidebarGroup.vue +2 -2
  633. package/src/components/PlSidebar/PlSidebarItem.vue +7 -7
  634. package/src/components/PlSidebar/index.ts +2 -2
  635. package/src/components/PlSlideModal/PlPureSlideModal.vue +18 -17
  636. package/src/components/PlSlideModal/PlSlideModal.vue +8 -12
  637. package/src/components/PlSlideModal/index.ts +2 -2
  638. package/src/components/PlSlideModal/pl-slide-modal.scss +2 -2
  639. package/src/components/PlSlideModal/props.ts +9 -9
  640. package/src/components/PlSpacer/PlSpacer.vue +1 -1
  641. package/src/components/PlSpacer/index.ts +1 -1
  642. package/src/components/PlSplash/PlSplash.vue +25 -17
  643. package/src/components/PlSplash/index.ts +1 -1
  644. package/src/components/PlSplash/pl-splash.module.scss +1 -1
  645. package/src/components/PlStatusTag/PlStatusTag.vue +13 -8
  646. package/src/components/PlStatusTag/index.ts +2 -2
  647. package/src/components/PlStatusTag/pl-status-tag.scss +18 -18
  648. package/src/components/PlStatusTag/types.ts +1 -1
  649. package/src/components/PlSvg/PlSvg.vue +24 -16
  650. package/src/components/PlSvg/index.ts +1 -1
  651. package/src/components/PlSvg/registry.ts +17 -21
  652. package/src/components/PlTabs/PlTabs.vue +10 -7
  653. package/src/components/PlTabs/Tab.vue +4 -4
  654. package/src/components/PlTabs/index.ts +2 -2
  655. package/src/components/PlTabs/pl-tabs.module.scss +3 -3
  656. package/src/components/PlTextArea/PlTextArea.vue +15 -15
  657. package/src/components/PlTextArea/__tests__/PlTextArea.spec.ts +12 -12
  658. package/src/components/PlTextArea/index.ts +1 -1
  659. package/src/components/PlTextArea/pl-textarea.scss +1 -1
  660. package/src/components/PlTextField/PlTextField.vue +48 -27
  661. package/src/components/PlTextField/__tests__/TextField.spec.ts +19 -19
  662. package/src/components/PlTextField/index.ts +1 -1
  663. package/src/components/PlToggleSwitch/PlToggleSwitch.vue +3 -3
  664. package/src/components/PlToggleSwitch/index.ts +1 -1
  665. package/src/components/PlToggleSwitch/pl-toggle-switch.scss +3 -2
  666. package/src/components/PlTooltip/Beak.vue +8 -1
  667. package/src/components/PlTooltip/PlTooltip.vue +33 -19
  668. package/src/components/PlTooltip/index.ts +1 -1
  669. package/src/components/PlTooltip/pl-tooltip.scss +4 -2
  670. package/src/components/PlTooltip/useTooltipPosition.ts +12 -12
  671. package/src/components/Scrollable.vue +17 -8
  672. package/src/components/Slider.vue +47 -23
  673. package/src/components/SliderRange.vue +72 -32
  674. package/src/components/SliderRangeTriple.vue +49 -31
  675. package/src/components/TabItem.vue +5 -5
  676. package/src/components/ThemeSwitcher.vue +1 -1
  677. package/src/components/TransitionSlidePanel.vue +2 -2
  678. package/src/components/VScroll.vue +10 -10
  679. package/src/components/contextMenu/Menu.vue +4 -4
  680. package/src/components/contextMenu/index.ts +6 -6
  681. package/src/composition/computedCached.ts +11 -7
  682. package/src/composition/filters/index.ts +2 -2
  683. package/src/composition/filters/metadata.ts +227 -220
  684. package/src/composition/filters/types.ts +44 -21
  685. package/src/composition/useClickOutside.ts +4 -4
  686. package/src/composition/useComponentProp.ts +5 -3
  687. package/src/composition/useConfirm.ts +5 -5
  688. package/src/composition/useDraggable.ts +16 -13
  689. package/src/composition/useEventListener.ts +13 -5
  690. package/src/composition/useFilteredList.ts +9 -6
  691. package/src/composition/useFormState.ts +3 -3
  692. package/src/composition/useHover.ts +10 -7
  693. package/src/composition/useInterval.ts +1 -1
  694. package/src/composition/useLocalStorage.ts +4 -4
  695. package/src/composition/useMouse.ts +3 -3
  696. package/src/composition/useMouseCapture.ts +10 -7
  697. package/src/composition/useNotificationPosition.ts +4 -4
  698. package/src/composition/usePollingQuery.ts +22 -20
  699. package/src/composition/usePosition.ts +13 -9
  700. package/src/composition/useQuery.ts +2 -2
  701. package/src/composition/useResizeObserver.ts +9 -6
  702. package/src/composition/useRipple.ts +6 -6
  703. package/src/composition/useScroll.ts +18 -12
  704. package/src/composition/useSliderBreakpoints.ts +6 -4
  705. package/src/composition/useSortable.ts +17 -17
  706. package/src/composition/useSortable2.ts +27 -24
  707. package/src/composition/useTheme.ts +11 -9
  708. package/src/composition/useTransformedModel.ts +6 -3
  709. package/src/composition/useWatchFetch.ts +3 -3
  710. package/src/composition/utils.ts +1 -1
  711. package/src/composition/watchCached.ts +2 -8
  712. package/src/demo-site-data/all-css-variables.ts +208 -169
  713. package/src/drafts/FileBaseInput.vue +35 -18
  714. package/src/generated/icons-16.ts +68 -68
  715. package/src/generated/icons-24.ts +211 -211
  716. package/src/global/resizeObserver.ts +1 -1
  717. package/src/helpers/dom.ts +12 -8
  718. package/src/helpers/downloadContent.ts +23 -21
  719. package/src/helpers/error.ts +6 -3
  720. package/src/helpers/functions.ts +5 -1
  721. package/src/helpers/objects.ts +1 -1
  722. package/src/helpers/utils.ts +23 -9
  723. package/src/index.ts +110 -110
  724. package/src/layout/PlBlockPage/PlBlockPage.vue +14 -19
  725. package/src/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.ts +1 -1
  726. package/src/layout/PlBlockPage/index.ts +2 -2
  727. package/src/layout/PlBlockPage/pl-block-page.scss +1 -1
  728. package/src/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.ts +2 -2
  729. package/src/layout/PlContainer/PlContainer.vue +10 -5
  730. package/src/layout/PlContainer/index.ts +1 -1
  731. package/src/layout/PlContainer/pl-container.scss +1 -1
  732. package/src/layout/PlGrid/PlGrid.vue +3 -3
  733. package/src/layout/PlGrid/index.ts +1 -1
  734. package/src/layout/PlGrid/pl-grid.scss +1 -1
  735. package/src/layout/PlPlaceholder/PlPlaceholder.vue +19 -18
  736. package/src/layout/PlPlaceholder/index.ts +11 -14
  737. package/src/layout/PlPlaceholder/paint-worklet.js +6 -6
  738. package/src/layout/PlRow/PlRow.vue +2 -2
  739. package/src/layout/PlRow/index.ts +1 -1
  740. package/src/layout/PlRow/pl-row.scss +1 -1
  741. package/src/layout/PlSpacer/PlSpacer.vue +1 -1
  742. package/src/layout/PlSpacer/index.ts +1 -1
  743. package/src/types.ts +23 -17
  744. package/src/utils/DoubleContour.vue +18 -7
  745. package/src/utils/DropdownOverlay/DropdownOverlay.vue +13 -13
  746. package/src/utils/DropdownOverlay/index.ts +1 -1
  747. package/src/utils/PlCloseModalBtn.vue +1 -1
  748. package/src/utils/TextLabel.vue +1 -1
  749. package/src/utils/WebStopWatchElement.ts +5 -5
  750. package/src/utils/useLabelNotch.ts +12 -9
  751. package/src/utils/useValidation.ts +2 -2
  752. package/tsconfig.json +2 -7
  753. package/vitest.config.mts +9 -9
  754. package/.turbo/turbo-lint.log +0 -5
  755. package/eslint.config.mjs +0 -4
@@ -14,53 +14,65 @@
14
14
  * />
15
15
  */
16
16
  export default {
17
- name: 'PlNumberField',
17
+ name: "PlNumberField",
18
18
  };
19
19
  </script>
20
20
 
21
21
  <script setup lang="ts">
22
- import './pl-number-field.scss';
23
- import DoubleContour from '../../utils/DoubleContour.vue';
24
- import { useLabelNotch } from '../../utils/useLabelNotch';
25
- import { computed, ref, useSlots, watch } from 'vue';
26
- import { PlTooltip } from '../PlTooltip';
27
- import { parseNumber } from './parseNumber';
28
-
29
- const props = withDefaults(defineProps<{
30
- /** Input is disabled if true */
31
- disabled?: boolean;
32
- /** Label on the top border of the field, empty by default */
33
- label?: string;
34
- /** Input placeholder, empty by default */
35
- placeholder?: string;
36
- /** Step for increment/decrement buttons, 1 by default */
37
- step?: number;
38
- /** If defined - show an error if value is lower */
39
- minValue?: number;
40
- /** If defined - show an error if value is higher */
41
- maxValue?: number;
42
- /** If false - remove buttons on the right */
43
- useIncrementButtons?: boolean;
44
- /** If true - changes do not apply immediately, they apply only by removing focus from the input (by click enter or by click outside) */
45
- updateOnEnterOrClickOutside?: boolean;
46
- /** Error message that shows always when it's provided, without other checks */
47
- errorMessage?: string;
48
- /** Additional validity check for input value that must return an error text if failed */
49
- validate?: (v: number) => string | undefined;
50
- /** Makes some of corners not rounded */
51
- groupPosition?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'middle';
52
- }>(), {
53
- step: 1,
54
- label: undefined,
55
- placeholder: undefined,
56
- minValue: undefined,
57
- maxValue: undefined,
58
- useIncrementButtons: true,
59
- updateOnEnter: false,
60
- errorMessage: undefined,
61
- validate: undefined,
62
- groupPosition: undefined,
63
- });
22
+ import "./pl-number-field.scss";
23
+ import DoubleContour from "../../utils/DoubleContour.vue";
24
+ import { useLabelNotch } from "../../utils/useLabelNotch";
25
+ import { computed, ref, useSlots, watch } from "vue";
26
+ import { PlTooltip } from "../PlTooltip";
27
+ import { parseNumber } from "./parseNumber";
28
+
29
+ const props = withDefaults(
30
+ defineProps<{
31
+ /** Input is disabled if true */
32
+ disabled?: boolean;
33
+ /** Label on the top border of the field, empty by default */
34
+ label?: string;
35
+ /** Input placeholder, empty by default */
36
+ placeholder?: string;
37
+ /** Step for increment/decrement buttons, 1 by default */
38
+ step?: number;
39
+ /** If defined - show an error if value is lower */
40
+ minValue?: number;
41
+ /** If defined - show an error if value is higher */
42
+ maxValue?: number;
43
+ /** If false - remove buttons on the right */
44
+ useIncrementButtons?: boolean;
45
+ /** If true - changes do not apply immediately, they apply only by removing focus from the input (by click enter or by click outside) */
46
+ updateOnEnterOrClickOutside?: boolean;
47
+ /** Error message that shows always when it's provided, without other checks */
48
+ errorMessage?: string;
49
+ /** Additional validity check for input value that must return an error text if failed */
50
+ validate?: (v: number) => string | undefined;
51
+ /** Makes some of corners not rounded */
52
+ groupPosition?:
53
+ | "top"
54
+ | "bottom"
55
+ | "left"
56
+ | "right"
57
+ | "top-left"
58
+ | "top-right"
59
+ | "bottom-left"
60
+ | "bottom-right"
61
+ | "middle";
62
+ }>(),
63
+ {
64
+ step: 1,
65
+ label: undefined,
66
+ placeholder: undefined,
67
+ minValue: undefined,
68
+ maxValue: undefined,
69
+ useIncrementButtons: true,
70
+ updateOnEnter: false,
71
+ errorMessage: undefined,
72
+ validate: undefined,
73
+ groupPosition: undefined,
74
+ },
75
+ );
64
76
 
65
77
  const modelValue = defineModel<number | undefined>({ required: true });
66
78
 
@@ -72,14 +84,14 @@ const inputRef = ref<HTMLInputElement>();
72
84
  useLabelNotch(rootRef);
73
85
 
74
86
  function modelToString(v: number | undefined) {
75
- return v === undefined ? '' : String(+v); // (+v) to avoid staying in input non-number values if they are provided in model
87
+ return v === undefined ? "" : String(+v); // (+v) to avoid staying in input non-number values if they are provided in model
76
88
  }
77
89
 
78
90
  const parsedResult = computed(() => parseNumber(props, inputValue.value));
79
91
 
80
92
  const cachedValue = ref<string | undefined>(undefined);
81
93
 
82
- const resetCachedValue = () => cachedValue.value = undefined;
94
+ const resetCachedValue = () => (cachedValue.value = undefined);
83
95
 
84
96
  watch(modelValue, (n) => {
85
97
  const r = parsedResult.value;
@@ -133,7 +145,7 @@ const errors = computed(() => {
133
145
 
134
146
  ers = [...ers];
135
147
 
136
- return ers.join(' ');
148
+ return ers.join(" ");
137
149
  });
138
150
 
139
151
  const isIncrementDisabled = computed(() => {
@@ -156,9 +168,7 @@ const isDecrementDisabled = computed(() => {
156
168
  return false;
157
169
  });
158
170
 
159
- const multiplier = computed(() =>
160
- 10 ** (props.step.toString().split('.').at(1)?.length ?? 0),
161
- );
171
+ const multiplier = computed(() => 10 ** (props.step.toString().split(".").at(1)?.length ?? 0));
162
172
 
163
173
  function increment() {
164
174
  const r = parsedResult.value;
@@ -170,9 +180,8 @@ function increment() {
170
180
  if (parsedValue === undefined) {
171
181
  nV = props.minValue ? props.minValue : 0;
172
182
  } else {
173
- nV = ((parsedValue || 0) * multiplier.value
174
- + props.step * multiplier.value)
175
- / multiplier.value;
183
+ nV =
184
+ ((parsedValue || 0) * multiplier.value + props.step * multiplier.value) / multiplier.value;
176
185
  }
177
186
  modelValue.value = props.maxValue !== undefined ? Math.min(props.maxValue, nV) : nV;
178
187
  }
@@ -188,9 +197,8 @@ function decrement() {
188
197
  if (parsedValue === undefined) {
189
198
  nV = 0;
190
199
  } else {
191
- nV = ((parsedValue || 0) * multiplier.value
192
- - props.step * multiplier.value)
193
- / multiplier.value;
200
+ nV =
201
+ ((parsedValue || 0) * multiplier.value - props.step * multiplier.value) / multiplier.value;
194
202
  }
195
203
  modelValue.value = props.minValue !== undefined ? Math.max(props.minValue, nV) : nV;
196
204
  }
@@ -198,28 +206,28 @@ function decrement() {
198
206
 
199
207
  function handleKeyPress(e: { code: string; preventDefault(): void }) {
200
208
  if (props.updateOnEnterOrClickOutside) {
201
- if (e.code === 'Escape') {
209
+ if (e.code === "Escape") {
202
210
  inputValue.value = modelToString(modelValue.value);
203
211
  inputRef.value?.blur();
204
212
  }
205
- if (e.code === 'Enter') {
213
+ if (e.code === "Enter") {
206
214
  inputRef.value?.blur();
207
215
  }
208
216
  }
209
217
 
210
- if (e.code === 'Enter') {
218
+ if (e.code === "Enter") {
211
219
  inputValue.value = String(modelValue.value); // to make .1 => 0.1, 10.00 => 10, remove leading zeros etc
212
220
  }
213
221
 
214
- if (['ArrowDown', 'ArrowUp'].includes(e.code)) {
222
+ if (["ArrowDown", "ArrowUp"].includes(e.code)) {
215
223
  e.preventDefault();
216
224
  }
217
225
 
218
- if (props.useIncrementButtons && e.code === 'ArrowUp') {
226
+ if (props.useIncrementButtons && e.code === "ArrowUp") {
219
227
  increment();
220
228
  }
221
229
 
222
- if (props.useIncrementButtons && e.code === 'ArrowDown') {
230
+ if (props.useIncrementButtons && e.code === "ArrowDown") {
223
231
  decrement();
224
232
  }
225
233
  }
@@ -242,16 +250,16 @@ const onMousedown = (ev: MouseEvent) => {
242
250
  @keydown="handleKeyPress($event)"
243
251
  >
244
252
  <div class="pl-number-field__main-wrapper d-flex">
245
- <DoubleContour class="pl-number-field__contour" :group-position="groupPosition"/>
253
+ <DoubleContour class="pl-number-field__contour" :group-position="groupPosition" />
246
254
  <div
247
255
  class="pl-number-field__wrapper flex-grow d-flex flex-align-center"
248
- :class="{withoutArrows: !useIncrementButtons}"
256
+ :class="{ withoutArrows: !useIncrementButtons }"
249
257
  >
250
258
  <label v-if="label" class="text-description">
251
259
  {{ label }}
252
260
  <PlTooltip v-if="slots.tooltip" class="info" position="top">
253
261
  <template #tooltip>
254
- <slot name="tooltip"/>
262
+ <slot name="tooltip" />
255
263
  </template>
256
264
  </PlTooltip>
257
265
  </label>
@@ -262,16 +270,29 @@ const onMousedown = (ev: MouseEvent) => {
262
270
  :placeholder="placeholder"
263
271
  class="text-s flex-grow"
264
272
  @focusin="focused = true"
265
- @focusout="focused = false; applyChanges()"
273
+ @focusout="
274
+ focused = false;
275
+ applyChanges();
276
+ "
266
277
  />
267
278
  </div>
268
- <div v-if="useIncrementButtons" class="pl-number-field__icons d-flex-column" @mousedown="onMousedown">
279
+ <div
280
+ v-if="useIncrementButtons"
281
+ class="pl-number-field__icons d-flex-column"
282
+ @mousedown="onMousedown"
283
+ >
269
284
  <div
270
285
  :class="{ disabled: isIncrementDisabled }"
271
286
  class="pl-number-field__icon d-flex flex-justify-center uc-pointer flex-grow flex-align-center"
272
287
  @click="increment"
273
288
  >
274
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
289
+ <svg
290
+ xmlns="http://www.w3.org/2000/svg"
291
+ width="16"
292
+ height="16"
293
+ viewBox="0 0 16 16"
294
+ fill="none"
295
+ >
275
296
  <path
276
297
  fill-rule="evenodd"
277
298
  clip-rule="evenodd"
@@ -285,7 +306,13 @@ const onMousedown = (ev: MouseEvent) => {
285
306
  class="pl-number-field__icon d-flex flex-justify-center uc-pointer flex-grow flex-align-center"
286
307
  @click="decrement"
287
308
  >
288
- <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
309
+ <svg
310
+ xmlns="http://www.w3.org/2000/svg"
311
+ width="16"
312
+ height="16"
313
+ viewBox="0 0 16 16"
314
+ fill="none"
315
+ >
289
316
  <path
290
317
  fill-rule="evenodd"
291
318
  clip-rule="evenodd"
@@ -1,180 +1,182 @@
1
- import PlNumberField from '../PlNumberField.vue';
2
- import { mount } from '@vue/test-utils';
3
- import { describe, expect, it } from 'vitest';
1
+ import PlNumberField from "../PlNumberField.vue";
2
+ import { mount } from "@vue/test-utils";
3
+ import { describe, expect, it } from "vitest";
4
4
 
5
- describe('NumberInput.vue', () => {
6
- it('renders correctly with default props', () => {
5
+ describe("NumberInput.vue", () => {
6
+ it("renders correctly with default props", () => {
7
7
  const wrapper = mount(PlNumberField, {
8
8
  props: {
9
9
  modelValue: 10,
10
10
  },
11
11
  });
12
- expect(wrapper.find('input').element.value).toBe('10');
12
+ expect(wrapper.find("input").element.value).toBe("10");
13
13
  });
14
14
 
15
- it('displays the label when provided', () => {
15
+ it("displays the label when provided", () => {
16
16
  const wrapper = mount(PlNumberField, {
17
17
  props: {
18
18
  modelValue: 10,
19
- label: 'Test Label',
19
+ label: "Test Label",
20
20
  },
21
21
  });
22
- expect(wrapper.find('label').text()).toBe('Test Label');
22
+ expect(wrapper.find("label").text()).toBe("Test Label");
23
23
  });
24
24
 
25
- it('increments the value when increment button is clicked', async () => {
25
+ it("increments the value when increment button is clicked", async () => {
26
26
  const wrapper = mount(PlNumberField, {
27
27
  props: {
28
28
  modelValue: 10,
29
29
  step: 2,
30
30
  },
31
31
  });
32
- const incrementButton = wrapper.find('.pl-number-field__icons div:first-child');
33
- await incrementButton.trigger('click');
32
+ const incrementButton = wrapper.find(".pl-number-field__icons div:first-child");
33
+ await incrementButton.trigger("click");
34
34
  expect(wrapper.vm.modelValue).toEqual(12);
35
35
  });
36
36
 
37
- it('decrements the value when decrement button is clicked', async () => {
37
+ it("decrements the value when decrement button is clicked", async () => {
38
38
  const wrapper = mount(PlNumberField, {
39
39
  props: {
40
40
  modelValue: 10,
41
41
  step: 1,
42
42
  },
43
43
  });
44
- const decrementButton = wrapper.find('.pl-number-field__icons div:last-child');
45
- await decrementButton.trigger('click');
44
+ const decrementButton = wrapper.find(".pl-number-field__icons div:last-child");
45
+ await decrementButton.trigger("click");
46
46
  expect(wrapper.vm.modelValue).toEqual(9);
47
47
  });
48
48
 
49
- it('disables increment button when value exceeds maxValue', () => {
49
+ it("disables increment button when value exceeds maxValue", () => {
50
50
  const wrapper = mount(PlNumberField, {
51
51
  props: {
52
52
  modelValue: 10,
53
53
  maxValue: 10,
54
54
  },
55
55
  });
56
- const incrementButton = wrapper.find('.pl-number-field__icons div:first-child');
57
- expect(incrementButton.classes()).toContain('disabled');
56
+ const incrementButton = wrapper.find(".pl-number-field__icons div:first-child");
57
+ expect(incrementButton.classes()).toContain("disabled");
58
58
  });
59
59
 
60
- it('disables decrement button when value is below minValue', () => {
60
+ it("disables decrement button when value is below minValue", () => {
61
61
  const wrapper = mount(PlNumberField, {
62
62
  props: {
63
63
  modelValue: 1,
64
64
  minValue: 1,
65
65
  },
66
66
  });
67
- const decrementButton = wrapper.find('.pl-number-field__icons div:last-child');
68
- expect(decrementButton.classes()).toContain('disabled');
67
+ const decrementButton = wrapper.find(".pl-number-field__icons div:last-child");
68
+ expect(decrementButton.classes()).toContain("disabled");
69
69
  });
70
70
 
71
- it('renders error messages when there are validation errors', () => {
71
+ it("renders error messages when there are validation errors", () => {
72
72
  const wrapper = mount(PlNumberField, {
73
73
  props: {
74
74
  modelValue: 5,
75
75
  minValue: 10,
76
- errorMessage: 'Custom error message',
76
+ errorMessage: "Custom error message",
77
77
  },
78
78
  });
79
- expect(wrapper.find('.pl-number-field__error').text()).toContain('Custom error message');
80
- expect(wrapper.find('.pl-number-field__error').text()).toContain('Value must be higher than 10');
79
+ expect(wrapper.find(".pl-number-field__error").text()).toContain("Custom error message");
80
+ expect(wrapper.find(".pl-number-field__error").text()).toContain(
81
+ "Value must be higher than 10",
82
+ );
81
83
  });
82
84
 
83
- it('validates and updates the computedValue when the user types in the input field', async () => {
85
+ it("validates and updates the computedValue when the user types in the input field", async () => {
84
86
  const wrapper = mount(PlNumberField, {
85
87
  props: {
86
88
  modelValue: 5,
87
89
  },
88
90
  });
89
- const input = wrapper.find('input');
90
- await input.setValue('1.1.1');
91
- await input.trigger('focusout');
91
+ const input = wrapper.find("input");
92
+ await input.setValue("1.1.1");
93
+ await input.trigger("focusout");
92
94
  expect(wrapper.vm.modelValue).toEqual(1.1);
93
95
 
94
- await input.setValue('15');
95
- await input.trigger('focusout');
96
+ await input.setValue("15");
97
+ await input.trigger("focusout");
96
98
  expect(wrapper.vm.modelValue).toEqual(15);
97
99
 
98
- await input.setValue('.');
99
- await input.trigger('focusout');
100
+ await input.setValue(".");
101
+ await input.trigger("focusout");
100
102
  expect(wrapper.vm.modelValue).toEqual(15);
101
103
 
102
- await input.setValue('..');
103
- await input.trigger('focusout');
104
+ await input.setValue("..");
105
+ await input.trigger("focusout");
104
106
  expect(wrapper.vm.modelValue).toEqual(15);
105
- expect(input.element.value).toEqual('.');
107
+ expect(input.element.value).toEqual(".");
106
108
 
107
- await input.setValue(',,');
108
- await input.trigger('focusout');
109
+ await input.setValue(",,");
110
+ await input.trigger("focusout");
109
111
  expect(wrapper.vm.modelValue).toEqual(15);
110
- expect(input.element.value).toEqual('.');
112
+ expect(input.element.value).toEqual(".");
111
113
 
112
- await input.setValue('-');
113
- await input.trigger('focusout');
114
+ await input.setValue("-");
115
+ await input.trigger("focusout");
114
116
  expect(wrapper.vm.modelValue).toEqual(15);
115
- expect(input.element.value).toEqual('-');
117
+ expect(input.element.value).toEqual("-");
116
118
 
117
- await input.setValue('-a');
118
- await input.trigger('focusout');
119
+ await input.setValue("-a");
120
+ await input.trigger("focusout");
119
121
  expect(wrapper.vm.modelValue).toEqual(15);
120
- expect(input.element.value).toEqual('-');
122
+ expect(input.element.value).toEqual("-");
121
123
 
122
- await input.setValue('-1');
123
- await input.trigger('focusout');
124
+ await input.setValue("-1");
125
+ await input.trigger("focusout");
124
126
  expect(wrapper.vm.modelValue).toEqual(-1);
125
- expect(input.element.value).toEqual('-1');
127
+ expect(input.element.value).toEqual("-1");
126
128
 
127
- await input.setValue(',');
128
- await input.trigger('focusout');
129
+ await input.setValue(",");
130
+ await input.trigger("focusout");
129
131
  expect(wrapper.vm.modelValue).toEqual(-1);
130
132
 
131
- await input.setValue('1,1');
132
- await input.trigger('focusout');
133
+ await input.setValue("1,1");
134
+ await input.trigger("focusout");
133
135
  expect(wrapper.vm.modelValue).toEqual(1.1);
134
- expect(input.element.value).toEqual('1.1');
136
+ expect(input.element.value).toEqual("1.1");
135
137
 
136
- await input.setValue('-1.1');
137
- await input.trigger('focusout');
138
+ await input.setValue("-1.1");
139
+ await input.trigger("focusout");
138
140
  expect(wrapper.vm.modelValue).toEqual(-1.1);
139
- expect(input.element.value).toEqual('-1.1');
141
+ expect(input.element.value).toEqual("-1.1");
140
142
  });
141
143
 
142
- it('update model with undefined when input is cleared', async () => {
144
+ it("update model with undefined when input is cleared", async () => {
143
145
  const wrapper = mount(PlNumberField, {
144
146
  props: {
145
147
  modelValue: 10,
146
148
  },
147
149
  });
148
- const input = wrapper.find('input');
149
- await input.setValue('');
150
- await input.trigger('focusout');
150
+ const input = wrapper.find("input");
151
+ await input.setValue("");
152
+ await input.trigger("focusout");
151
153
  expect(wrapper.vm.modelValue).toEqual(undefined);
152
154
  });
153
155
 
154
- it('external modelValue change', async () => {
156
+ it("external modelValue change", async () => {
155
157
  const wrapper = mount(PlNumberField, {
156
158
  props: {
157
159
  modelValue: 10,
158
160
  },
159
161
  });
160
162
 
161
- const input = wrapper.find('input');
162
- await input.trigger('focusout');
163
+ const input = wrapper.find("input");
164
+ await input.trigger("focusout");
163
165
  expect(wrapper.vm.modelValue).toEqual(10);
164
- expect(input.element.value).toEqual('10');
166
+ expect(input.element.value).toEqual("10");
165
167
 
166
- await input.setValue('');
167
- await input.trigger('focusout');
168
+ await input.setValue("");
169
+ await input.trigger("focusout");
168
170
  expect(wrapper.vm.modelValue).toEqual(undefined);
169
171
 
170
172
  wrapper.setProps({ modelValue: 1 });
171
173
 
172
- await input.trigger('focusout');
174
+ await input.trigger("focusout");
173
175
  expect(wrapper.vm.modelValue).toEqual(1);
174
- expect(input.element.value).toEqual('1');
176
+ expect(input.element.value).toEqual("1");
175
177
 
176
178
  await input.setValue(10);
177
179
  expect(wrapper.vm.modelValue).toEqual(10);
178
- expect(input.element.value).toEqual('10');
180
+ expect(input.element.value).toEqual("10");
179
181
  });
180
182
  });
@@ -1 +1 @@
1
- export { default as PlNumberField } from './PlNumberField.vue';
1
+ export { default as PlNumberField } from "./PlNumberField.vue";
@@ -7,15 +7,15 @@ type ParseResult = {
7
7
  const NUMBER_REGEX = /^[-−–+]?(\d+)?[.,]?(\d+)?$/; // parseFloat works without errors on strings with multiple dots, or letters in value
8
8
 
9
9
  function isPartial(v: string) {
10
- return v === '.' || v === ',' || v === '-';
10
+ return v === "." || v === "," || v === "-";
11
11
  }
12
12
 
13
13
  function clearNumericValue(v: string) {
14
14
  v = v.trim();
15
- v = v.replace(',', '.');
16
- v = v.replace('', '-'); // minus, replacing for the case of input the whole copied value
17
- v = v.replace('', '-'); // dash, replacing for the case of input the whole copied value
18
- v = v.replace('+', '');
15
+ v = v.replace(",", ".");
16
+ v = v.replace("", "-"); // minus, replacing for the case of input the whole copied value
17
+ v = v.replace("", "-"); // dash, replacing for the case of input the whole copied value
18
+ v = v.replace("+", "");
19
19
  return v;
20
20
  }
21
21
 
@@ -31,12 +31,12 @@ function clearInput(v: string): string {
31
31
  }
32
32
 
33
33
  if (/^-[^0-9.]/.test(v)) {
34
- return '-';
34
+ return "-";
35
35
  }
36
36
 
37
37
  const match = v.match(/^(.*)[.,][^0-9].*$/);
38
38
  if (match) {
39
- return match[1] + '.';
39
+ return match[1] + ".";
40
40
  }
41
41
 
42
42
  if (v.match(NUMBER_REGEX)) {
@@ -45,19 +45,22 @@ function clearInput(v: string): string {
45
45
 
46
46
  const n = stringToNumber(v);
47
47
 
48
- return isNaN(n) ? '' : String(+n);
48
+ return isNaN(n) ? "" : String(+n);
49
49
  }
50
50
 
51
- export function parseNumber(props: {
52
- minValue?: number;
53
- maxValue?: number;
54
- validate?: (v: number) => string | undefined;
55
- }, str: string): ParseResult {
51
+ export function parseNumber(
52
+ props: {
53
+ minValue?: number;
54
+ maxValue?: number;
55
+ validate?: (v: number) => string | undefined;
56
+ },
57
+ str: string,
58
+ ): ParseResult {
56
59
  str = str.trim();
57
60
 
58
61
  const cleanInput = clearInput(str);
59
62
 
60
- if (str === '') {
63
+ if (str === "") {
61
64
  return {
62
65
  value: undefined,
63
66
  cleanInput,
@@ -66,14 +69,14 @@ export function parseNumber(props: {
66
69
 
67
70
  if (!str.match(NUMBER_REGEX)) {
68
71
  return {
69
- error: Error('Value is not a number'),
72
+ error: Error("Value is not a number"),
70
73
  cleanInput,
71
74
  };
72
75
  }
73
76
 
74
77
  if (isPartial(str)) {
75
78
  return {
76
- error: Error('Enter a number'),
79
+ error: Error("Enter a number"),
77
80
  cleanInput,
78
81
  };
79
82
  }
@@ -82,7 +85,7 @@ export function parseNumber(props: {
82
85
 
83
86
  if (isNaN(value)) {
84
87
  return {
85
- error: Error('Value is not a number'),
88
+ error: Error("Value is not a number"),
86
89
  cleanInput,
87
90
  };
88
91
  }
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { computed } from 'vue';
2
+ import { computed } from "vue";
3
3
 
4
4
  const props = withDefaults(
5
5
  defineProps<{
@@ -7,18 +7,18 @@ const props = withDefaults(
7
7
  progress: number;
8
8
  completeMessage: string;
9
9
  }>(),
10
- { progress: 0, completeMessage: 'Completed' },
10
+ { progress: 0, completeMessage: "Completed" },
11
11
  );
12
12
 
13
- const readyMsg = computed(() => (props.progress === 100 ? props.completeMessage : ''));
13
+ const readyMsg = computed(() => (props.progress === 100 ? props.completeMessage : ""));
14
14
  </script>
15
15
 
16
16
  <template>
17
17
  <div v-if="loading" class="ui-progress-bar">
18
- <div class="ui-progress-bar__indicator" :style="{ width: progress + '%' }"/>
18
+ <div class="ui-progress-bar__indicator" :style="{ width: progress + '%' }" />
19
19
  <div class="ui-progress-bar__messages d-flex align-center pl-6 pr-6">
20
20
  <div class="ui-progress-bar__message flex-grow-1">{{ readyMsg }}</div>
21
- <div class="ui-progress-bar__percent">{{ progress + '%' }}</div>
21
+ <div class="ui-progress-bar__percent">{{ progress + "%" }}</div>
22
22
  </div>
23
23
  </div>
24
24
  </template>
@@ -1 +1 @@
1
- export { default as PlProgressBar } from './PlProgressBar.vue';
1
+ export { default as PlProgressBar } from "./PlProgressBar.vue";