@milaboratories/uikit 2.15.37 → 2.15.39

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 (457) hide show
  1. package/.turbo/turbo-build.log +175 -175
  2. package/.turbo/turbo-formatter$colon$check.log +2 -2
  3. package/.turbo/turbo-linter$colon$check.log +2 -2
  4. package/.turbo/turbo-types$colon$check.log +1 -1
  5. package/CHANGELOG.md +12 -0
  6. package/dist/__tests__/default-testid.test.d.ts +2 -0
  7. package/dist/__tests__/default-testid.test.d.ts.map +1 -0
  8. package/dist/base/BtnBase.js.map +1 -1
  9. package/dist/base/BtnBase.vue.d.ts.map +1 -1
  10. package/dist/base/BtnBase.vue2.js +6 -1
  11. package/dist/base/BtnBase.vue2.js.map +1 -1
  12. package/dist/components/DropdownListItem.js.map +1 -1
  13. package/dist/components/DropdownListItem.vue.d.ts.map +1 -1
  14. package/dist/components/DropdownListItem.vue2.js +13 -4
  15. package/dist/components/DropdownListItem.vue2.js.map +1 -1
  16. package/dist/components/InputRange.js.map +1 -1
  17. package/dist/components/InputRange.vue.d.ts.map +1 -1
  18. package/dist/components/InputRange.vue2.js +10 -2
  19. package/dist/components/InputRange.vue2.js.map +1 -1
  20. package/dist/components/PlAccordion/PlAccordionSection.js.map +1 -1
  21. package/dist/components/PlAccordion/PlAccordionSection.style.js.map +1 -1
  22. package/dist/components/PlAccordion/PlAccordionSection.vue.d.ts.map +1 -1
  23. package/dist/components/PlAccordion/PlAccordionSection.vue2.js +7 -1
  24. package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
  25. package/dist/components/PlAlert/PlAlert.js.map +1 -1
  26. package/dist/components/PlAlert/PlAlert.vue.d.ts.map +1 -1
  27. package/dist/components/PlAlert/PlAlert.vue2.js +10 -1
  28. package/dist/components/PlAlert/PlAlert.vue2.js.map +1 -1
  29. package/dist/components/PlAutocomplete/PlAutocomplete.js.map +1 -1
  30. package/dist/components/PlAutocomplete/PlAutocomplete.vue.d.ts.map +1 -1
  31. package/dist/components/PlAutocomplete/PlAutocomplete.vue2.js +29 -11
  32. package/dist/components/PlAutocomplete/PlAutocomplete.vue2.js.map +1 -1
  33. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.js.map +1 -1
  34. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts.map +1 -1
  35. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js +30 -9
  36. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js.map +1 -1
  37. package/dist/components/PlBtnAccent/PlBtnAccent.js.map +1 -1
  38. package/dist/components/PlBtnAccent/PlBtnAccent.vue.d.ts.map +1 -1
  39. package/dist/components/PlBtnAccent/PlBtnAccent.vue2.js +4 -1
  40. package/dist/components/PlBtnAccent/PlBtnAccent.vue2.js.map +1 -1
  41. package/dist/components/PlBtnDanger/PlBtnDanger.js.map +1 -1
  42. package/dist/components/PlBtnDanger/PlBtnDanger.vue.d.ts.map +1 -1
  43. package/dist/components/PlBtnDanger/PlBtnDanger.vue2.js +4 -1
  44. package/dist/components/PlBtnDanger/PlBtnDanger.vue2.js.map +1 -1
  45. package/dist/components/PlBtnGhost/PlBtnGhost.js.map +1 -1
  46. package/dist/components/PlBtnGhost/PlBtnGhost.vue.d.ts.map +1 -1
  47. package/dist/components/PlBtnGhost/PlBtnGhost.vue2.js +7 -1
  48. package/dist/components/PlBtnGhost/PlBtnGhost.vue2.js.map +1 -1
  49. package/dist/components/PlBtnGroup/PlBtnGroup.js.map +1 -1
  50. package/dist/components/PlBtnGroup/PlBtnGroup.vue.d.ts.map +1 -1
  51. package/dist/components/PlBtnGroup/PlBtnGroup.vue2.js +19 -6
  52. package/dist/components/PlBtnGroup/PlBtnGroup.vue2.js.map +1 -1
  53. package/dist/components/PlBtnLink/PlBtnLink.js.map +1 -1
  54. package/dist/components/PlBtnLink/PlBtnLink.vue.d.ts.map +1 -1
  55. package/dist/components/PlBtnLink/PlBtnLink.vue2.js +2 -0
  56. package/dist/components/PlBtnLink/PlBtnLink.vue2.js.map +1 -1
  57. package/dist/components/PlBtnPrimary/PlBtnPrimary.js.map +1 -1
  58. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.d.ts.map +1 -1
  59. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js +4 -1
  60. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js.map +1 -1
  61. package/dist/components/PlBtnSecondary/PlBtnSecondary.js.map +1 -1
  62. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.d.ts.map +1 -1
  63. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js +1 -1
  64. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js.map +1 -1
  65. package/dist/components/PlBtnSplit/PlBtnSplit.js.map +1 -1
  66. package/dist/components/PlBtnSplit/PlBtnSplit.vue.d.ts.map +1 -1
  67. package/dist/components/PlBtnSplit/PlBtnSplit.vue2.js +6 -0
  68. package/dist/components/PlBtnSplit/PlBtnSplit.vue2.js.map +1 -1
  69. package/dist/components/PlChartHistogram/PlChartHistogram.js.map +1 -1
  70. package/dist/components/PlChartHistogram/PlChartHistogram.style.js.map +1 -1
  71. package/dist/components/PlChartHistogram/PlChartHistogram.vue.d.ts.map +1 -1
  72. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +7 -2
  73. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
  74. package/dist/components/PlChartHistogram/createGridlines.d.ts.map +1 -1
  75. package/dist/components/PlChartHistogram/createGridlines.js +1 -1
  76. package/dist/components/PlChartHistogram/createGridlines.js.map +1 -1
  77. package/dist/components/PlChartHistogram/createLabels.d.ts.map +1 -1
  78. package/dist/components/PlChartHistogram/createLabels.js +1 -1
  79. package/dist/components/PlChartHistogram/createLabels.js.map +1 -1
  80. package/dist/components/PlChartHistogram/createSvgContainer.d.ts.map +1 -1
  81. package/dist/components/PlChartHistogram/createSvgContainer.js +1 -1
  82. package/dist/components/PlChartHistogram/createSvgContainer.js.map +1 -1
  83. package/dist/components/PlChartHistogram/drawBins.d.ts.map +1 -1
  84. package/dist/components/PlChartHistogram/drawBins.js +2 -2
  85. package/dist/components/PlChartHistogram/drawBins.js.map +1 -1
  86. package/dist/components/PlChartHistogram/drawThreshold.d.ts.map +1 -1
  87. package/dist/components/PlChartHistogram/drawThreshold.js +1 -1
  88. package/dist/components/PlChartHistogram/drawThreshold.js.map +1 -1
  89. package/dist/components/PlChartHistogram/histogram.d.ts.map +1 -1
  90. package/dist/components/PlChartHistogram/histogram.js +1 -1
  91. package/dist/components/PlChartHistogram/histogram.js.map +1 -1
  92. package/dist/components/PlChartStackedBar/Legends.js.map +1 -1
  93. package/dist/components/PlChartStackedBar/Legends.style.js.map +1 -1
  94. package/dist/components/PlChartStackedBar/Legends.vue.d.ts.map +1 -1
  95. package/dist/components/PlChartStackedBar/Legends.vue2.js +7 -1
  96. package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
  97. package/dist/components/PlChartStackedBar/PlChartStackedBar.js.map +1 -1
  98. package/dist/components/PlChartStackedBar/PlChartStackedBar.style.js.map +1 -1
  99. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue.d.ts.map +1 -1
  100. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +5 -1
  101. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
  102. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.js.map +1 -1
  103. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.style.js.map +1 -1
  104. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue.d.ts.map +1 -1
  105. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js +4 -1
  106. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
  107. package/dist/components/PlChartStackedBar/StackedRow.js.map +1 -1
  108. package/dist/components/PlChartStackedBar/StackedRow.style.js.map +1 -1
  109. package/dist/components/PlChartStackedBar/StackedRow.vue.d.ts.map +1 -1
  110. package/dist/components/PlChartStackedBar/StackedRow.vue2.js +13 -3
  111. package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
  112. package/dist/components/PlChartStackedBar/StackedRowCompact.js.map +1 -1
  113. package/dist/components/PlChartStackedBar/StackedRowCompact.style.js.map +1 -1
  114. package/dist/components/PlChartStackedBar/StackedRowCompact.vue.d.ts.map +1 -1
  115. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js +8 -2
  116. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
  117. package/dist/components/PlCheckbox/PlCheckbox.js.map +1 -1
  118. package/dist/components/PlCheckbox/PlCheckbox.vue.d.ts.map +1 -1
  119. package/dist/components/PlCheckbox/PlCheckbox.vue2.js +9 -2
  120. package/dist/components/PlCheckbox/PlCheckbox.vue2.js.map +1 -1
  121. package/dist/components/PlCheckbox/PlCheckboxBase.js.map +1 -1
  122. package/dist/components/PlCheckbox/PlCheckboxBase.vue.d.ts.map +1 -1
  123. package/dist/components/PlCheckbox/PlCheckboxBase.vue2.js +1 -0
  124. package/dist/components/PlCheckbox/PlCheckboxBase.vue2.js.map +1 -1
  125. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.js.map +1 -1
  126. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.d.ts.map +1 -1
  127. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js +19 -5
  128. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js.map +1 -1
  129. package/dist/components/PlChip/PlChip.js.map +1 -1
  130. package/dist/components/PlChip/PlChip.vue.d.ts.map +1 -1
  131. package/dist/components/PlChip/PlChip.vue2.js +7 -1
  132. package/dist/components/PlChip/PlChip.vue2.js.map +1 -1
  133. package/dist/components/PlClipboard/PlClipboard.js.map +1 -1
  134. package/dist/components/PlClipboard/PlClipboard.style.js.map +1 -1
  135. package/dist/components/PlClipboard/PlClipboard.vue.d.ts.map +1 -1
  136. package/dist/components/PlClipboard/PlClipboard.vue2.js +1 -0
  137. package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
  138. package/dist/components/PlConfirmDialog.js.map +1 -1
  139. package/dist/components/PlConfirmDialog.vue.d.ts.map +1 -1
  140. package/dist/components/PlConfirmDialog.vue2.js +9 -2
  141. package/dist/components/PlConfirmDialog.vue2.js.map +1 -1
  142. package/dist/components/PlDialogModal/PlDialogModal.js.map +1 -1
  143. package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts.map +1 -1
  144. package/dist/components/PlDialogModal/PlDialogModal.vue2.js +12 -5
  145. package/dist/components/PlDialogModal/PlDialogModal.vue2.js.map +1 -1
  146. package/dist/components/PlDropdown/OptionList.js.map +1 -1
  147. package/dist/components/PlDropdown/OptionList.vue.d.ts.map +1 -1
  148. package/dist/components/PlDropdown/OptionList.vue2.js +11 -5
  149. package/dist/components/PlDropdown/OptionList.vue2.js.map +1 -1
  150. package/dist/components/PlDropdown/PlDropdown.js.map +1 -1
  151. package/dist/components/PlDropdown/PlDropdown.vue.d.ts.map +1 -1
  152. package/dist/components/PlDropdown/PlDropdown.vue2.js +26 -10
  153. package/dist/components/PlDropdown/PlDropdown.vue2.js.map +1 -1
  154. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.js.map +1 -1
  155. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.d.ts.map +1 -1
  156. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js +32 -10
  157. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js.map +1 -1
  158. package/dist/components/PlDropdownLine/PlDropdownLine.js.map +1 -1
  159. package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts.map +1 -1
  160. package/dist/components/PlDropdownLine/PlDropdownLine.vue2.js +17 -3
  161. package/dist/components/PlDropdownLine/PlDropdownLine.vue2.js.map +1 -1
  162. package/dist/components/PlDropdownLine/ResizableInput.js.map +1 -1
  163. package/dist/components/PlDropdownLine/ResizableInput.vue.d.ts.map +1 -1
  164. package/dist/components/PlDropdownLine/ResizableInput.vue2.js +5 -2
  165. package/dist/components/PlDropdownLine/ResizableInput.vue2.js.map +1 -1
  166. package/dist/components/PlDropdownMulti/PlDropdownMulti.js.map +1 -1
  167. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts.map +1 -1
  168. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js +31 -10
  169. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js.map +1 -1
  170. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.js.map +1 -1
  171. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts.map +1 -1
  172. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js +1 -1
  173. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js.map +1 -1
  174. package/dist/components/PlDropdownRef/PlDropdownRef.js.map +1 -1
  175. package/dist/components/PlDropdownRef/PlDropdownRef.vue.d.ts.map +1 -1
  176. package/dist/components/PlDropdownRef/PlDropdownRef.vue2.js +1 -1
  177. package/dist/components/PlDropdownRef/PlDropdownRef.vue2.js.map +1 -1
  178. package/dist/components/PlEditableTitle/PlEditableTitle.js.map +1 -1
  179. package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts.map +1 -1
  180. package/dist/components/PlEditableTitle/PlEditableTitle.vue2.js +9 -3
  181. package/dist/components/PlEditableTitle/PlEditableTitle.vue2.js.map +1 -1
  182. package/dist/components/PlElementList/PlElementList.js.map +1 -1
  183. package/dist/components/PlElementList/PlElementList.style.js.map +1 -1
  184. package/dist/components/PlElementList/PlElementList.vue.d.ts.map +1 -1
  185. package/dist/components/PlElementList/PlElementList.vue2.js +6 -1
  186. package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
  187. package/dist/components/PlElementList/PlElementListItem.js.map +1 -1
  188. package/dist/components/PlElementList/PlElementListItem.style.js.map +1 -1
  189. package/dist/components/PlElementList/PlElementListItem.vue.d.ts.map +1 -1
  190. package/dist/components/PlElementList/PlElementListItem.vue2.js +34 -13
  191. package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
  192. package/dist/components/PlErrorAlert/PlErrorAlert.js.map +1 -1
  193. package/dist/components/PlErrorAlert/PlErrorAlert.style.js.map +1 -1
  194. package/dist/components/PlErrorAlert/PlErrorAlert.vue.d.ts.map +1 -1
  195. package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js +15 -3
  196. package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
  197. package/dist/components/PlErrorBoundary/PlErrorBoundary.js.map +1 -1
  198. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.d.ts.map +1 -1
  199. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js +1 -0
  200. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js.map +1 -1
  201. package/dist/components/PlFileDialog/Local.js.map +1 -1
  202. package/dist/components/PlFileDialog/Local.vue.d.ts.map +1 -1
  203. package/dist/components/PlFileDialog/Local.vue2.js +23 -20
  204. package/dist/components/PlFileDialog/Local.vue2.js.map +1 -1
  205. package/dist/components/PlFileDialog/PlFileDialog.js.map +1 -1
  206. package/dist/components/PlFileDialog/PlFileDialog.vue.d.ts.map +1 -1
  207. package/dist/components/PlFileDialog/PlFileDialog.vue2.js +5 -1
  208. package/dist/components/PlFileDialog/PlFileDialog.vue2.js.map +1 -1
  209. package/dist/components/PlFileDialog/Remote.js.map +1 -1
  210. package/dist/components/PlFileDialog/Remote.vue.d.ts.map +1 -1
  211. package/dist/components/PlFileDialog/Remote.vue2.js +108 -94
  212. package/dist/components/PlFileDialog/Remote.vue2.js.map +1 -1
  213. package/dist/components/PlFileDialog/Shortcuts.js.map +1 -1
  214. package/dist/components/PlFileDialog/Shortcuts.style.js.map +1 -1
  215. package/dist/components/PlFileDialog/Shortcuts.vue.d.ts.map +1 -1
  216. package/dist/components/PlFileDialog/Shortcuts.vue2.js +2 -1
  217. package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
  218. package/dist/components/PlFileInput/PlFileInput.js.map +1 -1
  219. package/dist/components/PlFileInput/PlFileInput.vue.d.ts.map +1 -1
  220. package/dist/components/PlFileInput/PlFileInput.vue2.js +92 -71
  221. package/dist/components/PlFileInput/PlFileInput.vue2.js.map +1 -1
  222. package/dist/components/PlLoaderCircular/PlLoaderCircular.js.map +1 -1
  223. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.d.ts.map +1 -1
  224. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js +4 -1
  225. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js.map +1 -1
  226. package/dist/components/PlLoaderLogo.js.map +1 -1
  227. package/dist/components/PlLoaderLogo.style.js.map +1 -1
  228. package/dist/components/PlLoaderLogo.vue.css +1 -1
  229. package/dist/components/PlLoaderLogo.vue.d.ts.map +1 -1
  230. package/dist/components/PlLoaderLogo.vue2.js +4 -3
  231. package/dist/components/PlLoaderLogo.vue2.js.map +1 -1
  232. package/dist/components/PlLogView/PlLogView.js.map +1 -1
  233. package/dist/components/PlLogView/PlLogView.vue.d.ts.map +1 -1
  234. package/dist/components/PlLogView/PlLogView.vue2.js +13 -1
  235. package/dist/components/PlLogView/PlLogView.vue2.js.map +1 -1
  236. package/dist/components/PlNotificationAlert/PlNotificationAlert.js.map +1 -1
  237. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts.map +1 -1
  238. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js +8 -2
  239. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js.map +1 -1
  240. package/dist/components/PlNumberField/PlNumberField.js.map +1 -1
  241. package/dist/components/PlNumberField/PlNumberField.vue.d.ts.map +1 -1
  242. package/dist/components/PlNumberField/PlNumberField.vue2.js +12 -3
  243. package/dist/components/PlNumberField/PlNumberField.vue2.js.map +1 -1
  244. package/dist/components/PlProgressBar/PlProgressBar.js.map +1 -1
  245. package/dist/components/PlProgressBar/PlProgressBar.vue.d.ts.map +1 -1
  246. package/dist/components/PlProgressBar/PlProgressBar.vue2.js +9 -1
  247. package/dist/components/PlProgressBar/PlProgressBar.vue2.js.map +1 -1
  248. package/dist/components/PlProgressCell/PlProgressCell.js.map +1 -1
  249. package/dist/components/PlProgressCell/PlProgressCell.vue.d.ts.map +1 -1
  250. package/dist/components/PlProgressCell/PlProgressCell.vue2.js +19 -7
  251. package/dist/components/PlProgressCell/PlProgressCell.vue2.js.map +1 -1
  252. package/dist/components/PlRadio/PlRadio.js.map +1 -1
  253. package/dist/components/PlRadio/PlRadio.style.js.map +1 -1
  254. package/dist/components/PlRadio/PlRadio.vue.d.ts.map +1 -1
  255. package/dist/components/PlRadio/PlRadio.vue2.js +10 -3
  256. package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
  257. package/dist/components/PlRadio/PlRadioGroup.js.map +1 -1
  258. package/dist/components/PlRadio/PlRadioGroup.style.js.map +1 -1
  259. package/dist/components/PlRadio/PlRadioGroup.vue.d.ts.map +1 -1
  260. package/dist/components/PlRadio/PlRadioGroup.vue2.js +10 -3
  261. package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
  262. package/dist/components/PlSearchField/PlSearchField.js.map +1 -1
  263. package/dist/components/PlSearchField/PlSearchField.style.js.map +1 -1
  264. package/dist/components/PlSearchField/PlSearchField.vue.d.ts.map +1 -1
  265. package/dist/components/PlSearchField/PlSearchField.vue2.js +11 -4
  266. package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
  267. package/dist/components/PlSectionSeparator/PlSectionSeparator.js.map +1 -1
  268. package/dist/components/PlSectionSeparator/PlSectionSeparator.style.js.map +1 -1
  269. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue.d.ts.map +1 -1
  270. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js +7 -1
  271. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
  272. package/dist/components/PlSidebar/PlSidebarGroup.js.map +1 -1
  273. package/dist/components/PlSidebar/PlSidebarGroup.style.js.map +1 -1
  274. package/dist/components/PlSidebar/PlSidebarGroup.vue.d.ts.map +1 -1
  275. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js +5 -1
  276. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
  277. package/dist/components/PlSidebar/PlSidebarItem.js.map +1 -1
  278. package/dist/components/PlSidebar/PlSidebarItem.style.js.map +1 -1
  279. package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts.map +1 -1
  280. package/dist/components/PlSidebar/PlSidebarItem.vue2.js +7 -1
  281. package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
  282. package/dist/components/PlSlideModal/PlPureSlideModal.js.map +1 -1
  283. package/dist/components/PlSlideModal/PlPureSlideModal.vue.d.ts.map +1 -1
  284. package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js +4 -1
  285. package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js.map +1 -1
  286. package/dist/components/PlSlideModal/PlSlideModal.js.map +1 -1
  287. package/dist/components/PlSlideModal/PlSlideModal.style.js.map +1 -1
  288. package/dist/components/PlSlideModal/PlSlideModal.vue.d.ts.map +1 -1
  289. package/dist/components/PlSlideModal/PlSlideModal.vue2.js +7 -2
  290. package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
  291. package/dist/components/PlSpacer/PlSpacer.vue.d.ts.map +1 -1
  292. package/dist/components/PlSplash/PlSplash.js.map +1 -1
  293. package/dist/components/PlSplash/PlSplash.vue.d.ts.map +1 -1
  294. package/dist/components/PlSplash/PlSplash.vue2.js +13 -5
  295. package/dist/components/PlSplash/PlSplash.vue2.js.map +1 -1
  296. package/dist/components/PlStatusTag/PlStatusTag.js.map +1 -1
  297. package/dist/components/PlStatusTag/PlStatusTag.vue.d.ts.map +1 -1
  298. package/dist/components/PlStatusTag/PlStatusTag.vue2.js +4 -1
  299. package/dist/components/PlStatusTag/PlStatusTag.vue2.js.map +1 -1
  300. package/dist/components/PlTabs/PlTabs.js.map +1 -1
  301. package/dist/components/PlTabs/PlTabs.vue.d.ts.map +1 -1
  302. package/dist/components/PlTabs/PlTabs.vue2.js +16 -11
  303. package/dist/components/PlTabs/PlTabs.vue2.js.map +1 -1
  304. package/dist/components/PlTextArea/PlTextArea.js.map +1 -1
  305. package/dist/components/PlTextArea/PlTextArea.vue.d.ts.map +1 -1
  306. package/dist/components/PlTextArea/PlTextArea.vue2.js +21 -8
  307. package/dist/components/PlTextArea/PlTextArea.vue2.js.map +1 -1
  308. package/dist/components/PlTextField/PlTextField.js.map +1 -1
  309. package/dist/components/PlTextField/PlTextField.vue.d.ts.map +1 -1
  310. package/dist/components/PlTextField/PlTextField.vue2.js +23 -9
  311. package/dist/components/PlTextField/PlTextField.vue2.js.map +1 -1
  312. package/dist/components/PlToggleSwitch/PlToggleSwitch.js.map +1 -1
  313. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.d.ts.map +1 -1
  314. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js +10 -2
  315. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js.map +1 -1
  316. package/dist/components/PlTooltip/PlTooltip.js.map +1 -1
  317. package/dist/components/PlTooltip/PlTooltip.style.js.map +1 -1
  318. package/dist/components/PlTooltip/PlTooltip.vue.css +1 -1
  319. package/dist/components/PlTooltip/PlTooltip.vue.d.ts.map +1 -1
  320. package/dist/components/PlTooltip/PlTooltip.vue2.js +7 -2
  321. package/dist/components/PlTooltip/PlTooltip.vue2.js.map +1 -1
  322. package/dist/components/Slider.js.map +1 -1
  323. package/dist/components/Slider.vue.d.ts.map +1 -1
  324. package/dist/components/Slider.vue2.js +13 -1
  325. package/dist/components/Slider.vue2.js.map +1 -1
  326. package/dist/components/SliderRange.js.map +1 -1
  327. package/dist/components/SliderRange.vue.d.ts.map +1 -1
  328. package/dist/components/SliderRange.vue2.js +14 -1
  329. package/dist/components/SliderRange.vue2.js.map +1 -1
  330. package/dist/components/SliderRangeTriple.js.map +1 -1
  331. package/dist/components/SliderRangeTriple.vue.d.ts.map +1 -1
  332. package/dist/components/SliderRangeTriple.vue2.js +13 -1
  333. package/dist/components/SliderRangeTriple.vue2.js.map +1 -1
  334. package/dist/components/TabItem.js.map +1 -1
  335. package/dist/components/TabItem.vue.d.ts.map +1 -1
  336. package/dist/components/TabItem.vue2.js +8 -2
  337. package/dist/components/TabItem.vue2.js.map +1 -1
  338. package/dist/components/contextMenu/Menu.js +1 -1
  339. package/dist/components/contextMenu/Menu.js.map +1 -1
  340. package/dist/components/contextMenu/Menu.style.css +1 -1
  341. package/dist/components/contextMenu/Menu.vue.d.ts.map +1 -1
  342. package/dist/components/contextMenu/Menu.vue2.js +12 -8
  343. package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
  344. package/dist/layout/PlBlockPage/PlBlockPage.js.map +1 -1
  345. package/dist/layout/PlBlockPage/PlBlockPage.style.js.map +1 -1
  346. package/dist/layout/PlBlockPage/PlBlockPage.vue.d.ts.map +1 -1
  347. package/dist/layout/PlBlockPage/PlBlockPage.vue2.js +45 -25
  348. package/dist/layout/PlBlockPage/PlBlockPage.vue2.js.map +1 -1
  349. package/dist/layout/PlContainer/PlContainer.js.map +1 -1
  350. package/dist/layout/PlContainer/PlContainer.vue.d.ts.map +1 -1
  351. package/dist/layout/PlContainer/PlContainer.vue2.js +1 -0
  352. package/dist/layout/PlContainer/PlContainer.vue2.js.map +1 -1
  353. package/dist/layout/PlGrid/PlGrid.js.map +1 -1
  354. package/dist/layout/PlGrid/PlGrid.vue.d.ts.map +1 -1
  355. package/dist/layout/PlGrid/PlGrid.vue2.js +1 -0
  356. package/dist/layout/PlGrid/PlGrid.vue2.js.map +1 -1
  357. package/dist/layout/PlPlaceholder/PlPlaceholder.js.map +1 -1
  358. package/dist/layout/PlPlaceholder/PlPlaceholder.style.js.map +1 -1
  359. package/dist/layout/PlPlaceholder/PlPlaceholder.vue.d.ts.map +1 -1
  360. package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js +25 -6
  361. package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js.map +1 -1
  362. package/dist/layout/PlRow/PlRow.js.map +1 -1
  363. package/dist/layout/PlRow/PlRow.vue.d.ts.map +1 -1
  364. package/dist/layout/PlRow/PlRow.vue2.js +7 -4
  365. package/dist/layout/PlRow/PlRow.vue2.js.map +1 -1
  366. package/dist/layout/PlSpacer/PlSpacer.js.map +1 -1
  367. package/dist/layout/PlSpacer/PlSpacer.vue.d.ts.map +1 -1
  368. package/dist/layout/PlSpacer/PlSpacer.vue2.js +1 -0
  369. package/dist/layout/PlSpacer/PlSpacer.vue2.js.map +1 -1
  370. package/package.json +2 -2
  371. package/src/__tests__/default-testid.test.ts +95 -0
  372. package/src/base/BtnBase.vue +3 -3
  373. package/src/components/DropdownListItem.vue +14 -4
  374. package/src/components/InputRange.vue +6 -2
  375. package/src/components/PlAccordion/PlAccordionSection.vue +13 -4
  376. package/src/components/PlAlert/PlAlert.vue +5 -3
  377. package/src/components/PlAutocomplete/PlAutocomplete.vue +47 -11
  378. package/src/components/PlAutocompleteMulti/PlAutocompleteMulti.vue +53 -11
  379. package/src/components/PlBtnAccent/PlBtnAccent.vue +1 -1
  380. package/src/components/PlBtnDanger/PlBtnDanger.vue +1 -1
  381. package/src/components/PlBtnGhost/PlBtnGhost.vue +4 -3
  382. package/src/components/PlBtnGroup/PlBtnGroup.vue +16 -6
  383. package/src/components/PlBtnLink/PlBtnLink.vue +2 -1
  384. package/src/components/PlBtnPrimary/PlBtnPrimary.vue +1 -1
  385. package/src/components/PlBtnSecondary/PlBtnSecondary.vue +1 -1
  386. package/src/components/PlBtnSplit/PlBtnSplit.vue +12 -2
  387. package/src/components/PlChartHistogram/PlChartHistogram.vue +9 -3
  388. package/src/components/PlChartHistogram/createGridlines.ts +2 -0
  389. package/src/components/PlChartHistogram/createLabels.ts +2 -0
  390. package/src/components/PlChartHistogram/createSvgContainer.ts +2 -0
  391. package/src/components/PlChartHistogram/drawBins.ts +2 -0
  392. package/src/components/PlChartHistogram/drawThreshold.ts +1 -0
  393. package/src/components/PlChartHistogram/histogram.ts +6 -1
  394. package/src/components/PlChartStackedBar/Legends.vue +18 -4
  395. package/src/components/PlChartStackedBar/PlChartStackedBar.vue +4 -2
  396. package/src/components/PlChartStackedBar/PlChartStackedBarCompact.vue +1 -1
  397. package/src/components/PlChartStackedBar/StackedRow.vue +12 -4
  398. package/src/components/PlChartStackedBar/StackedRowCompact.vue +10 -3
  399. package/src/components/PlCheckbox/PlCheckbox.vue +15 -4
  400. package/src/components/PlCheckbox/PlCheckboxBase.vue +1 -0
  401. package/src/components/PlCheckboxGroup/PlCheckboxGroup.vue +15 -4
  402. package/src/components/PlChip/PlChip.vue +4 -3
  403. package/src/components/PlClipboard/PlClipboard.vue +7 -1
  404. package/src/components/PlConfirmDialog.vue +8 -3
  405. package/src/components/PlDialogModal/PlDialogModal.vue +15 -2
  406. package/src/components/PlDropdown/OptionList.vue +13 -3
  407. package/src/components/PlDropdown/PlDropdown.vue +35 -11
  408. package/src/components/PlDropdownLegacy/PlDropdownLegacy.vue +51 -12
  409. package/src/components/PlDropdownLine/PlDropdownLine.vue +29 -5
  410. package/src/components/PlDropdownLine/ResizableInput.vue +2 -1
  411. package/src/components/PlDropdownMulti/PlDropdownMulti.vue +47 -11
  412. package/src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue +1 -0
  413. package/src/components/PlDropdownRef/PlDropdownRef.vue +1 -0
  414. package/src/components/PlEditableTitle/PlEditableTitle.vue +11 -3
  415. package/src/components/PlElementList/PlElementList.vue +8 -3
  416. package/src/components/PlElementList/PlElementListItem.vue +16 -5
  417. package/src/components/PlErrorAlert/PlErrorAlert.vue +8 -6
  418. package/src/components/PlErrorBoundary/PlErrorBoundary.vue +7 -1
  419. package/src/components/PlFileDialog/Local.vue +12 -4
  420. package/src/components/PlFileDialog/PlFileDialog.vue +13 -3
  421. package/src/components/PlFileDialog/Remote.vue +39 -11
  422. package/src/components/PlFileDialog/Shortcuts.vue +7 -1
  423. package/src/components/PlFileInput/PlFileInput.vue +44 -19
  424. package/src/components/PlLoaderCircular/PlLoaderCircular.vue +1 -1
  425. package/src/components/PlLoaderLogo.vue +6 -1
  426. package/src/components/PlLogView/PlLogView.vue +30 -8
  427. package/src/components/PlNotificationAlert/PlNotificationAlert.vue +15 -3
  428. package/src/components/PlNumberField/PlNumberField.vue +14 -3
  429. package/src/components/PlProgressBar/PlProgressBar.vue +12 -4
  430. package/src/components/PlProgressCell/PlProgressCell.vue +13 -4
  431. package/src/components/PlRadio/PlRadio.vue +10 -3
  432. package/src/components/PlRadio/PlRadioGroup.vue +3 -2
  433. package/src/components/PlSearchField/PlSearchField.vue +5 -3
  434. package/src/components/PlSectionSeparator/PlSectionSeparator.vue +6 -2
  435. package/src/components/PlSidebar/PlSidebarGroup.vue +2 -2
  436. package/src/components/PlSidebar/PlSidebarItem.vue +12 -4
  437. package/src/components/PlSlideModal/PlPureSlideModal.vue +7 -1
  438. package/src/components/PlSlideModal/PlSlideModal.vue +4 -3
  439. package/src/components/PlSpacer/PlSpacer.vue +1 -1
  440. package/src/components/PlSplash/PlSplash.vue +6 -3
  441. package/src/components/PlStatusTag/PlStatusTag.vue +1 -0
  442. package/src/components/PlTabs/PlTabs.vue +6 -2
  443. package/src/components/PlTextArea/PlTextArea.vue +21 -8
  444. package/src/components/PlTextField/PlTextField.vue +23 -8
  445. package/src/components/PlToggleSwitch/PlToggleSwitch.vue +4 -3
  446. package/src/components/PlTooltip/PlTooltip.vue +3 -0
  447. package/src/components/Slider.vue +27 -7
  448. package/src/components/SliderRange.vue +28 -7
  449. package/src/components/SliderRangeTriple.vue +19 -5
  450. package/src/components/TabItem.vue +2 -2
  451. package/src/components/contextMenu/Menu.vue +8 -3
  452. package/src/layout/PlBlockPage/PlBlockPage.vue +40 -11
  453. package/src/layout/PlContainer/PlContainer.vue +1 -0
  454. package/src/layout/PlGrid/PlGrid.vue +1 -1
  455. package/src/layout/PlPlaceholder/PlPlaceholder.vue +20 -8
  456. package/src/layout/PlRow/PlRow.vue +5 -1
  457. package/src/layout/PlSpacer/PlSpacer.vue +1 -1
@@ -43,11 +43,12 @@ const emit = defineEmits<{
43
43
  </script>
44
44
 
45
45
  <template>
46
- <div @click="(event) => emit('click', event)">
47
- <div v-if="hasBeforeSlot" :class="beforeClass">
46
+ <div data-testid="pl-element-list-item" @click="(event) => emit('click', event)">
47
+ <div v-if="hasBeforeSlot" data-testid="pl-element-list-item-before" :class="beforeClass">
48
48
  <slot name="before" :item="props.item" :index="props.index" />
49
49
  </div>
50
50
  <div
51
+ data-testid="pl-element-list-item-card"
51
52
  :class="[
52
53
  $style.root,
53
54
  $attrs.class,
@@ -60,6 +61,7 @@ const emit = defineEmits<{
60
61
  ]"
61
62
  >
62
63
  <div
64
+ data-testid="pl-element-list-item-head"
63
65
  :class="[
64
66
  $style.head,
65
67
  titleClass,
@@ -72,6 +74,7 @@ const emit = defineEmits<{
72
74
  <div v-if="props.showDragHandle || isExpandable" :class="$style.headIcons">
73
75
  <div
74
76
  v-if="props.showDragHandle"
77
+ data-testid="pl-element-list-item-drag"
75
78
  :class="[$style.action, $style.draggable, { [$style.disable]: !props.isDraggable }]"
76
79
  :data-draggable="props.isDraggable"
77
80
  >
@@ -79,18 +82,23 @@ const emit = defineEmits<{
79
82
  </div>
80
83
  <PlIcon16
81
84
  v-if="isExpandable"
85
+ data-testid="pl-element-list-item-expand"
82
86
  :class="[$style.contentChevron, { [$style.opened]: props.isExpanded }]"
83
87
  name="chevron-down"
84
88
  />
85
89
  </div>
86
90
 
87
- <div :class="$style.title">
91
+ <div data-testid="pl-element-list-item-title" :class="$style.title">
88
92
  <slot name="title" :item="props.item" :index="props.index" />
89
93
  </div>
90
94
 
91
- <div :class="[$style.actions, $style.showOnHover]">
95
+ <div
96
+ data-testid="pl-element-list-item-actions"
97
+ :class="[$style.actions, $style.showOnHover]"
98
+ >
92
99
  <div
93
100
  v-if="props.isToggable"
101
+ data-testid="pl-element-list-item-toggle"
94
102
  :class="[$style.action, $style.clickable, { [$style.disable]: !props.isToggable }]"
95
103
  @click.stop="emit('toggle', props.item, props.index)"
96
104
  >
@@ -98,6 +106,7 @@ const emit = defineEmits<{
98
106
  </div>
99
107
  <div
100
108
  v-if="props.isPinnable"
109
+ data-testid="pl-element-list-item-pin"
101
110
  :class="[
102
111
  $style.action,
103
112
  $style.clickable,
@@ -112,6 +121,7 @@ const emit = defineEmits<{
112
121
  </div>
113
122
  <div
114
123
  v-if="props.isRemovable"
124
+ data-testid="pl-element-list-item-remove"
115
125
  :class="[$style.action, $style.clickable]"
116
126
  @click.stop="emit('remove', props.item, props.index)"
117
127
  >
@@ -121,12 +131,13 @@ const emit = defineEmits<{
121
131
  </div>
122
132
  <div
123
133
  v-if="hasContentSlot && props.isExpanded"
134
+ data-testid="pl-element-list-item-content"
124
135
  :class="[$style.body, contentClass, { [$style.disabled]: props.isToggled }]"
125
136
  >
126
137
  <slot name="content" :item="props.item" :index="props.index" />
127
138
  </div>
128
139
  </div>
129
- <div v-if="hasAfterSlot" :class="afterClass">
140
+ <div v-if="hasAfterSlot" data-testid="pl-element-list-item-after" :class="afterClass">
130
141
  <slot name="after" :item="props.item" :index="props.index" />
131
142
  </div>
132
143
  </div>
@@ -32,16 +32,18 @@ function onCopy() {
32
32
  </script>
33
33
 
34
34
  <template>
35
- <div :style="{ maxHeight: props.maxHeight }" :class="$style.root">
36
- <PlClipboard :class="$style.copy" @copy="onCopy" />
35
+ <div data-testid="pl-error-alert" :style="{ maxHeight: props.maxHeight }" :class="$style.root">
36
+ <PlClipboard data-testid="pl-error-alert-copy" :class="$style.copy" @copy="onCopy" />
37
37
  <slot name="title">
38
- <div :class="$style.title">
39
- <PlMaskIcon16 :class="$style.titleIcon" name="warning" />
40
- <div :class="$style.titleText">{{ props.title }}</div>
38
+ <div data-testid="pl-error-alert-title" :class="$style.title">
39
+ <PlMaskIcon16 data-testid="pl-error-alert-icon" :class="$style.titleIcon" name="warning" />
40
+ <div data-testid="pl-error-alert-title-text" :class="$style.titleText">
41
+ {{ props.title }}
42
+ </div>
41
43
  </div>
42
44
  </slot>
43
45
  <slot name="message">
44
- <div :class="$style.message">
46
+ <div data-testid="pl-error-alert-message" :class="$style.message">
45
47
  {{ props.message }}
46
48
  </div>
47
49
  </slot>
@@ -58,5 +58,11 @@ defineExpose({ error, reset });
58
58
 
59
59
  <template>
60
60
  <slot />
61
- <PlErrorAlert v-if="error" ref="errorAlert" :message="message" :title="data?.title" />
61
+ <PlErrorAlert
62
+ v-if="error"
63
+ ref="errorAlert"
64
+ data-testid="pl-error-boundary-alert"
65
+ :message="message"
66
+ :title="data?.title"
67
+ />
62
68
  </template>
@@ -90,12 +90,20 @@ const openNativeDialog = async () => {
90
90
  </script>
91
91
 
92
92
  <template>
93
- <div :class="style.local" @drop="onDrop" @dragover.prevent @click="openNativeDialog">
93
+ <div
94
+ :class="style.local"
95
+ data-testid="pl-file-dialog-local"
96
+ @drop="onDrop"
97
+ @dragover.prevent
98
+ @click="openNativeDialog"
99
+ >
94
100
  <PlIcon24 name="cloud-upload" />
95
- <span>{{ label }}</span>
96
- <span v-if="extensions" :class="style.supported"
101
+ <span data-testid="pl-file-dialog-local-label">{{ label }}</span>
102
+ <span v-if="extensions" :class="style.supported" data-testid="pl-file-dialog-local-formats"
97
103
  >Supported formats: {{ extensions.join(", ") }}</span
98
104
  >
99
- <span v-if="data.error" class="alert-error">{{ data.error }}</span>
105
+ <span v-if="data.error" class="alert-error" data-testid="pl-file-dialog-local-error">{{
106
+ data.error
107
+ }}</span>
100
108
  </div>
101
109
  </template>
@@ -98,6 +98,7 @@ const importFiles = (importedFiles: ImportedFiles) => {
98
98
  :no-content-gutters="true"
99
99
  :close-on-outside-click="closeOnOutsideClick"
100
100
  class="pl-dialog-modal"
101
+ data-testid="pl-file-dialog"
101
102
  :class="style.component"
102
103
  :model-value="modelValue"
103
104
  width="688px"
@@ -107,15 +108,24 @@ const importFiles = (importedFiles: ImportedFiles) => {
107
108
  >
108
109
  <template #title>{{ title ?? defaultTitle }}</template>
109
110
  <div style="margin: 0 24px">
110
- <PlBtnGroup v-model="mode" :options="modeOptions" />
111
+ <PlBtnGroup v-model="mode" :options="modeOptions" data-testid="pl-file-dialog-mode" />
111
112
  </div>
112
113
  <Remote v-if="mode === 'remote'" ref="remote" v-bind="$props" :submit="submit" />
113
114
  <Local v-if="mode === 'local'" :import-files="importFiles" v-bind="$props" />
114
115
  <template v-if="mode === 'remote'" #actions>
115
- <PlBtnPrimary style="min-width: 160px" :disabled="!remoteRef?.isReady" @click.stop="submit"
116
+ <PlBtnPrimary
117
+ style="min-width: 160px"
118
+ :disabled="!remoteRef?.isReady"
119
+ data-testid="pl-file-dialog-import"
120
+ @click.stop="submit"
116
121
  >Import</PlBtnPrimary
117
122
  >
118
- <PlBtnGhost :justify-center="false" @click.stop="closeModal">Cancel</PlBtnGhost>
123
+ <PlBtnGhost
124
+ :justify-center="false"
125
+ data-testid="pl-file-dialog-cancel"
126
+ @click.stop="closeModal"
127
+ >Cancel</PlBtnGhost
128
+ >
119
129
  </template>
120
130
  </PlDialogModal>
121
131
  </template>
@@ -278,52 +278,80 @@ const lsContainerRef = ref<HTMLElement | undefined>();
278
278
  </script>
279
279
 
280
280
  <template>
281
- <div :class="style.remote" @click.stop="deselectAll">
281
+ <div :class="style.remote" data-testid="pl-file-dialog-remote" @click.stop="deselectAll">
282
282
  <div :class="style.search">
283
283
  <div>
284
284
  <PlDropdown
285
285
  v-model="data.storageEntry"
286
286
  label="Select storage"
287
287
  :options="data.storageOptions"
288
+ data-testid="pl-file-dialog-storage"
288
289
  />
289
290
  </div>
290
291
  <div>
291
- <PlSearchField v-model="data.search" label="Search in folder" clearable />
292
+ <PlSearchField
293
+ v-model="data.search"
294
+ label="Search in folder"
295
+ clearable
296
+ data-testid="pl-file-dialog-search"
297
+ />
292
298
  </div>
293
299
  </div>
294
- <div :class="style['ls-container']" ref="lsContainerRef">
300
+ <div :class="style['ls-container']" ref="lsContainerRef" data-testid="pl-file-dialog-browser">
295
301
  <div :class="style['ls-head']">
296
- <div :class="style['breadcrumbs']">
302
+ <div :class="style['breadcrumbs']" data-testid="pl-file-dialog-breadcrumbs">
297
303
  <template v-for="(s, i) in breadcrumbs" :key="i">
298
- <div :title="s.path" @click="setDirPath(s.path)">{{ s.name }}</div>
304
+ <div
305
+ :title="s.path"
306
+ data-testid="pl-file-dialog-breadcrumb"
307
+ @click="setDirPath(s.path)"
308
+ >
309
+ {{ s.name }}
310
+ </div>
299
311
  <PlIcon16 v-if="s.index !== breadcrumbs.length - 1" name="chevron-right" />
300
312
  </template>
301
313
  </div>
302
314
  <div :class="style.selected">
303
- <span>Selected: {{ selectedFiles.length }}</span>
315
+ <span data-testid="pl-file-dialog-selected-count"
316
+ >Selected: {{ selectedFiles.length }}</span
317
+ >
304
318
  <Shortcuts :container="lsContainerRef" />
305
319
  </div>
306
320
  </div>
307
- <div v-if="data.currentLoadingPath !== undefined" class="ls-loader">
321
+ <div
322
+ v-if="data.currentLoadingPath !== undefined"
323
+ class="ls-loader"
324
+ data-testid="pl-file-dialog-loading"
325
+ >
308
326
  <i class="mask-24 mask-loading loader-icon" />
309
327
  </div>
310
- <div v-else-if="!data.storageEntry" :class="style['ls-empty']">
328
+ <div
329
+ v-else-if="!data.storageEntry"
330
+ :class="style['ls-empty']"
331
+ data-testid="pl-file-dialog-empty"
332
+ >
311
333
  <div :class="style.cat" />
312
334
  <div :class="style.message">Select storage to preview</div>
313
335
  </div>
314
- <div v-else-if="data.error" :class="style['ls-error']">
336
+ <div v-else-if="data.error" :class="style['ls-error']" data-testid="pl-file-dialog-error">
315
337
  <div :class="style.cat" />
316
338
  <div :class="style.message">{{ data.error }}</div>
317
339
  </div>
318
- <div v-else :class="style['ls-body']">
340
+ <div v-else :class="style['ls-body']" data-testid="pl-file-dialog-items">
319
341
  <template v-for="file in visibleItems" :key="file.id">
320
- <div v-if="file.isDir" :class="style.isDir" @click="setDirPath(file.path)">
342
+ <div
343
+ v-if="file.isDir"
344
+ :class="style.isDir"
345
+ data-testid="pl-file-dialog-dir"
346
+ @click="setDirPath(file.path)"
347
+ >
321
348
  <PlIcon16 name="chevron-right" />
322
349
  <span v-text-overflown :title="file.name">{{ file.name }}</span>
323
350
  </div>
324
351
  <div
325
352
  v-else
326
353
  :class="{ [style.canBeSelected]: file.canBeSelected, [style.selected]: file.selected }"
354
+ data-testid="pl-file-dialog-file"
327
355
  @click.stop="(ev) => selectFile(ev, file)"
328
356
  >
329
357
  <PlMaskIcon16 name="box" :class="style.isFile" />
@@ -7,7 +7,13 @@ defineProps<{
7
7
  </script>
8
8
 
9
9
  <template>
10
- <PlTooltip class="info" position="bottom" max-width="420px" :container="container">
10
+ <PlTooltip
11
+ class="info"
12
+ position="bottom"
13
+ max-width="420px"
14
+ :container="container"
15
+ data-testid="pl-file-dialog-shortcuts"
16
+ >
11
17
  <template #tooltip>
12
18
  <span :class="$style.title">Shortcuts</span>
13
19
 
@@ -174,52 +174,77 @@ if (!props.cellStyle) {
174
174
  <div
175
175
  :class="{ 'pl-file-input__cell-style': !!cellStyle, 'has-file': !!fileName }"
176
176
  class="pl-file-input__envelope"
177
+ data-testid="pl-file-input"
177
178
  >
178
179
  <div
179
180
  ref="rootRef"
180
181
  :class="{ dashed, error: hasErrors }"
181
182
  class="pl-file-input"
183
+ data-testid="pl-file-input-control"
182
184
  tabindex="0"
183
185
  @keyup.enter="openFileDialog"
184
186
  @click.stop="openFileDialog"
185
187
  >
186
- <div :style="progressStyle" class="pl-file-input__progress" />
187
- <label v-if="!cellStyle && label" ref="label">
188
- <PlSvg v-if="required" :uri="SvgRequired" />
188
+ <div
189
+ :style="progressStyle"
190
+ class="pl-file-input__progress"
191
+ data-testid="pl-file-input-progress"
192
+ />
193
+ <label v-if="!cellStyle && label" ref="label" data-testid="pl-file-input-label">
194
+ <PlSvg v-if="required" :uri="SvgRequired" data-testid="pl-file-input-required" />
189
195
  <span>{{ label }}</span>
190
- <PlTooltip v-if="slots.tooltip || filePath" class="info" position="top">
196
+ <PlTooltip
197
+ v-if="slots.tooltip || filePath"
198
+ class="info"
199
+ position="top"
200
+ data-testid="pl-file-input-tooltip"
201
+ >
191
202
  <template #tooltip>
192
203
  <slot v-if="slots.tooltip" name="tooltip" />
193
204
  <template v-else>{{ filePath }}</template>
194
205
  </template>
195
206
  </PlTooltip>
196
207
  </label>
197
- <PlMaskIcon24 v-if="hasErrors" name="restart" />
198
- <PlMaskIcon24 v-else-if="isUploading" name="cloud-upload" />
199
- <PlMaskIcon24 v-else-if="isUploaded" name="success" />
200
- <PlMaskIcon24 v-else name="paper-clip" />
201
- <div :data-placeholder="placeholder ?? 'Choose file'" class="pl-file-input__filename">
208
+ <PlMaskIcon24 v-if="hasErrors" name="restart" data-testid="pl-file-input-status-icon" />
209
+ <PlMaskIcon24
210
+ v-else-if="isUploading"
211
+ name="cloud-upload"
212
+ data-testid="pl-file-input-status-icon"
213
+ />
214
+ <PlMaskIcon24 v-else-if="isUploaded" name="success" data-testid="pl-file-input-status-icon" />
215
+ <PlMaskIcon24 v-else name="paper-clip" data-testid="pl-file-input-status-icon" />
216
+ <div
217
+ :data-placeholder="placeholder ?? 'Choose file'"
218
+ class="pl-file-input__filename"
219
+ data-testid="pl-file-input-filename"
220
+ >
202
221
  {{ fileName }}
203
222
  </div>
204
- <div v-if="uploadStats" class="pl-file-input__stats">{{ uploadStats }}</div>
223
+ <div v-if="uploadStats" class="pl-file-input__stats" data-testid="pl-file-input-stats">
224
+ {{ uploadStats }}
225
+ </div>
205
226
  <PlMaskIcon24
206
227
  v-if="modelValue"
207
228
  class="pl-file-input__clear"
229
+ data-testid="pl-file-input-clear"
208
230
  name="close"
209
231
  @click.stop="clear"
210
232
  />
211
233
  <DoubleContour class="pl-file-input__contour" />
212
234
  </div>
213
- <div v-if="hasErrors" class="pl-file-input__error">
235
+ <div v-if="hasErrors" class="pl-file-input__error" data-testid="pl-file-input-error">
214
236
  {{ computedErrorMessage }}
215
237
  </div>
216
- <div v-else-if="helper" class="pl-file-input__helper">{{ helper }}</div>
238
+ <div v-else-if="helper" class="pl-file-input__helper" data-testid="pl-file-input-helper">
239
+ {{ helper }}
240
+ </div>
241
+ <!-- Teleported to <body> by PlDialogModal; kept inside so the component has a single root. -->
242
+ <PlFileDialog
243
+ v-model="data.fileDialogOpen"
244
+ :close-on-outside-click="fileDialogCloseOnOutsideClick"
245
+ :extensions="extensions"
246
+ :title="fileDialogTitle"
247
+ @import:files="onImport"
248
+ />
217
249
  </div>
218
- <PlFileDialog
219
- v-model="data.fileDialogOpen"
220
- :close-on-outside-click="fileDialogCloseOnOutsideClick"
221
- :extensions="extensions"
222
- :title="fileDialogTitle"
223
- @import:files="onImport"
224
- />
225
250
  </template>
@@ -9,7 +9,7 @@ withDefaults(
9
9
  );
10
10
  </script>
11
11
  <template>
12
- <div class="pl-loader-circular">
12
+ <div data-testid="pl-loader-circular" class="pl-loader-circular">
13
13
  <div
14
14
  :style="{
15
15
  height: `${size}px`,
@@ -18,7 +18,12 @@ const backgroundColor = props.backgroundColor ?? "var(--color-div-bw)";
18
18
  </script>
19
19
 
20
20
  <template>
21
- <svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" :class="styles.root">
21
+ <svg
22
+ data-testid="pl-loader-logo"
23
+ viewBox="0 0 64 64"
24
+ xmlns="http://www.w3.org/2000/svg"
25
+ :class="styles.root"
26
+ >
22
27
  <path d="m32 3 26 15H6z" />
23
28
  <path d="M32 18h26v28H32z" />
24
29
  <path d="M32 45.5h26L32 61z" />
@@ -157,28 +157,50 @@ const onContentScroll = (ev: Event) => {
157
157
  </script>
158
158
 
159
159
  <template>
160
- <div ref="root" class="pl-log-view" :class="{ 'has-error': computedError }">
161
- <label v-if="label">
160
+ <div
161
+ ref="root"
162
+ data-testid="pl-log-view"
163
+ class="pl-log-view"
164
+ :class="{ 'has-error': computedError }"
165
+ >
166
+ <label v-if="label" data-testid="pl-log-view-label">
162
167
  <span>{{ label }}</span>
163
- <PlTooltip v-if="slots.tooltip" class="info" position="top">
168
+ <PlTooltip v-if="slots.tooltip" data-testid="pl-log-view-tooltip" class="info" position="top">
164
169
  <template #tooltip>
165
170
  <slot name="tooltip" />
166
171
  </template>
167
172
  </PlTooltip>
168
173
  </label>
169
174
  <DoubleContour class="pl-log-view__contour" />
170
- <div class="pl-log-view__copy">
175
+ <div data-testid="pl-log-view-actions" class="pl-log-view__copy">
171
176
  <PlTooltip :close-delay="800" position="top">
172
- <PlMaskIcon24 title="Copy content" :name="iconName" @click="onClickCopy" />
177
+ <PlMaskIcon24
178
+ data-testid="pl-log-view-copy"
179
+ title="Copy content"
180
+ :name="iconName"
181
+ @click="onClickCopy"
182
+ />
173
183
  <template #tooltip>{{ copyActive ? "copied" : "copy" }}</template>
174
184
  </PlTooltip>
175
185
  <PlTooltip v-if="downloadFilename" :close-delay="800" position="top">
176
- <PlIcon24 name="download" @click="() => onClickDownload(downloadFilename!)" />
186
+ <PlIcon24
187
+ data-testid="pl-log-view-download"
188
+ name="download"
189
+ @click="() => onClickDownload(downloadFilename!)"
190
+ />
177
191
  <template #tooltip>download</template>
178
192
  </PlTooltip>
179
193
  </div>
180
- <div v-if="computedError" class="pl-log-view__error">{{ computedError }}</div>
181
- <div v-else ref="contentRef" class="pl-log-view__content" @scroll="onContentScroll">
194
+ <div v-if="computedError" data-testid="pl-log-view-error" class="pl-log-view__error">
195
+ {{ computedError }}
196
+ </div>
197
+ <div
198
+ v-else
199
+ ref="contentRef"
200
+ data-testid="pl-log-view-content"
201
+ class="pl-log-view__content"
202
+ @scroll="onContentScroll"
203
+ >
182
204
  {{ computedValue }}
183
205
  </div>
184
206
  </div>
@@ -25,18 +25,30 @@ function closeAlert() {
25
25
  v-if="model"
26
26
  :class="type"
27
27
  :style="{ width: `${width}` }"
28
+ data-testid="pl-notification-alert"
28
29
  class="pl-notification-alert d-flex flex-column gap-16"
29
30
  >
30
31
  <div class="pl-notification-alert__wrapper d-flex text-s">
31
- <div class="pl-notification-alert__content flex-grow-1">
32
+ <div
33
+ data-testid="pl-notification-alert-content"
34
+ class="pl-notification-alert__content flex-grow-1"
35
+ >
32
36
  <slot />
33
37
  </div>
34
38
  <div v-if="closable" class="pl-notification-alert__close">
35
- <PlBtnGhost icon="close" @click.stop="closeAlert" />
39
+ <PlBtnGhost
40
+ data-testid="pl-notification-alert-close"
41
+ icon="close"
42
+ @click.stop="closeAlert"
43
+ />
36
44
  </div>
37
45
  </div>
38
46
 
39
- <div v-if="!!$slots.actions" class="pl-notification-alert__actions d-flex">
47
+ <div
48
+ v-if="!!$slots.actions"
49
+ data-testid="pl-notification-alert-actions"
50
+ class="pl-notification-alert__actions d-flex"
51
+ >
40
52
  <slot name="actions" />
41
53
  </div>
42
54
  </div>
@@ -253,14 +253,20 @@ function handleMousedown(ev: MouseEvent) {
253
253
  ref="rootRef"
254
254
  :class="{ error: !!error, disabled: disabled }"
255
255
  class="pl-number-field d-flex-column"
256
+ data-testid="pl-number-field"
256
257
  @keydown="handleKeyDown"
257
258
  >
258
259
  <div class="pl-number-field__main-wrapper d-flex">
259
260
  <DoubleContour class="pl-number-field__contour" :group-position="groupPosition" />
260
261
  <div class="pl-number-field__wrapper flex-grow d-flex flex-align-center">
261
- <label v-if="label" class="text-description">
262
+ <label v-if="label" class="text-description" data-testid="pl-number-field-label">
262
263
  {{ label }}
263
- <PlTooltip v-if="slots.tooltip" class="info" position="top">
264
+ <PlTooltip
265
+ v-if="slots.tooltip"
266
+ class="info"
267
+ position="top"
268
+ data-testid="pl-number-field-tooltip"
269
+ >
264
270
  <template #tooltip>
265
271
  <slot name="tooltip" />
266
272
  </template>
@@ -274,6 +280,7 @@ function handleMousedown(ev: MouseEvent) {
274
280
  :disabled="disabled"
275
281
  :placeholder="placeholder"
276
282
  class="text-s flex-grow"
283
+ data-testid="pl-number-field-input"
277
284
  @input="handleInput"
278
285
  @focusout="handleBlur"
279
286
  @focusin="handleFocus"
@@ -281,6 +288,7 @@ function handleMousedown(ev: MouseEvent) {
281
288
  <PlIcon16
282
289
  v-if="canShowClearable"
283
290
  class="pl-number-field__clearable"
291
+ data-testid="pl-number-field-clear"
284
292
  name="delete-clear"
285
293
  @click.stop="clear"
286
294
  />
@@ -288,11 +296,13 @@ function handleMousedown(ev: MouseEvent) {
288
296
  <div
289
297
  v-if="!props.disableSteps"
290
298
  class="pl-number-field__icons d-flex-column"
299
+ data-testid="pl-number-field-steps"
291
300
  @mousedown="handleMousedown"
292
301
  >
293
302
  <div
294
303
  :class="{ disabled: isIncrementDisabled }"
295
304
  class="pl-number-field__icon d-flex flex-justify-center uc-pointer flex-grow flex-align-center"
305
+ data-testid="pl-number-field-increment"
296
306
  @click="increment"
297
307
  >
298
308
  <svg
@@ -313,6 +323,7 @@ function handleMousedown(ev: MouseEvent) {
313
323
  <div
314
324
  :class="{ disabled: isDecrementDisabled }"
315
325
  class="pl-number-field__icon d-flex flex-justify-center uc-pointer flex-grow flex-align-center"
326
+ data-testid="pl-number-field-decrement"
316
327
  @click="decrement"
317
328
  >
318
329
  <svg
@@ -332,7 +343,7 @@ function handleMousedown(ev: MouseEvent) {
332
343
  </div>
333
344
  </div>
334
345
  </div>
335
- <div v-if="error" class="pl-number-field__error">
346
+ <div v-if="error" class="pl-number-field__error" data-testid="pl-number-field-error">
336
347
  {{ error }}
337
348
  </div>
338
349
  </div>
@@ -14,11 +14,19 @@ const readyMsg = computed(() => (props.progress === 100 ? props.completeMessage
14
14
  </script>
15
15
 
16
16
  <template>
17
- <div v-if="loading" class="ui-progress-bar">
18
- <div class="ui-progress-bar__indicator" :style="{ width: progress + '%' }" />
17
+ <div v-if="loading" data-testid="pl-progress-bar" class="ui-progress-bar">
18
+ <div
19
+ data-testid="pl-progress-bar-indicator"
20
+ class="ui-progress-bar__indicator"
21
+ :style="{ width: progress + '%' }"
22
+ />
19
23
  <div class="ui-progress-bar__messages d-flex align-center pl-6 pr-6">
20
- <div class="ui-progress-bar__message flex-grow-1">{{ readyMsg }}</div>
21
- <div class="ui-progress-bar__percent">{{ progress + "%" }}</div>
24
+ <div data-testid="pl-progress-bar-message" class="ui-progress-bar__message flex-grow-1">
25
+ {{ readyMsg }}
26
+ </div>
27
+ <div data-testid="pl-progress-bar-percent" class="ui-progress-bar__percent">
28
+ {{ progress + "%" }}
29
+ </div>
22
30
  </div>
23
31
  </div>
24
32
  </template>
@@ -30,6 +30,7 @@ const canShowInfinityLoader = computed(
30
30
 
31
31
  <template>
32
32
  <div
33
+ data-testid="pl-progress-cell"
33
34
  :class="{
34
35
  'progress-cell': true,
35
36
  'progress-cell__white-bg': canShowWhiteBg,
@@ -37,20 +38,28 @@ const canShowInfinityLoader = computed(
37
38
  'not-started': props.stage === 'not_started',
38
39
  }"
39
40
  >
40
- <div v-if="canShowInfinityLoader" class="progress-cell__infinity-loader">
41
+ <div
42
+ v-if="canShowInfinityLoader"
43
+ data-testid="pl-progress-cell-infinity-loader"
44
+ class="progress-cell__infinity-loader"
45
+ >
41
46
  <div class="progress-cell__infinity-gradient" />
42
47
  </div>
43
48
  <div
44
49
  v-if="!canShowInfinityLoader && !error"
50
+ data-testid="pl-progress-cell-indicator"
45
51
  class="progress-cell__indicator"
46
52
  :style="{ width: currentProgress + '%' }"
47
53
  />
48
54
  <div class="progress-cell__body">
49
- <div class="progress-cell__stage text-s">
55
+ <div data-testid="pl-progress-cell-stage" class="progress-cell__stage text-s">
50
56
  {{ error ? getErrorMessage(error) : step }}
51
57
  </div>
52
- <div class="progress-cell__percentage text-s d-flex align-center justify-end">
53
- <PlMaskIcon24 v-if="error" name="error" />
58
+ <div
59
+ data-testid="pl-progress-cell-percentage"
60
+ class="progress-cell__percentage text-s d-flex align-center justify-end"
61
+ >
62
+ <PlMaskIcon24 v-if="error" data-testid="pl-progress-cell-error-icon" name="error" />
54
63
  <template v-if="!error">
55
64
  {{ progressString }}
56
65
  </template>