@milaboratories/uikit 2.15.43 → 2.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1388) hide show
  1. package/.turbo/turbo-build.log +741 -735
  2. package/.turbo/turbo-formatter$colon$check.log +4 -6
  3. package/.turbo/turbo-linter$colon$check.log +4 -6
  4. package/.turbo/turbo-types$colon$check.log +3 -5
  5. package/CHANGELOG.md +25 -0
  6. package/dist/_virtual/_plugin-vue_export-helper.js +1 -2
  7. package/dist/_virtual/_rolldown/runtime.js +1 -2
  8. package/dist/_virtual/_rolldown_dynamic_import_helper.js +1 -2
  9. package/dist/assets/icons/icon-assets-min/16_add.js +1 -2
  10. package/dist/assets/icons/icon-assets-min/16_add.js.map +1 -1
  11. package/dist/assets/icons/icon-assets-min/16_arrow-down.js +1 -2
  12. package/dist/assets/icons/icon-assets-min/16_arrow-down.js.map +1 -1
  13. package/dist/assets/icons/icon-assets-min/16_arrow-left.js +1 -2
  14. package/dist/assets/icons/icon-assets-min/16_arrow-left.js.map +1 -1
  15. package/dist/assets/icons/icon-assets-min/16_arrow-link.js +1 -2
  16. package/dist/assets/icons/icon-assets-min/16_arrow-link.js.map +1 -1
  17. package/dist/assets/icons/icon-assets-min/16_arrow-right.js +1 -2
  18. package/dist/assets/icons/icon-assets-min/16_arrow-right.js.map +1 -1
  19. package/dist/assets/icons/icon-assets-min/16_arrow-up.js +1 -2
  20. package/dist/assets/icons/icon-assets-min/16_arrow-up.js.map +1 -1
  21. package/dist/assets/icons/icon-assets-min/16_box.js +1 -2
  22. package/dist/assets/icons/icon-assets-min/16_box.js.map +1 -1
  23. package/dist/assets/icons/icon-assets-min/16_calendar.js +1 -2
  24. package/dist/assets/icons/icon-assets-min/16_calendar.js.map +1 -1
  25. package/dist/assets/icons/icon-assets-min/16_caret-down.js +1 -2
  26. package/dist/assets/icons/icon-assets-min/16_caret-down.js.map +1 -1
  27. package/dist/assets/icons/icon-assets-min/16_caret-left.js +1 -2
  28. package/dist/assets/icons/icon-assets-min/16_caret-left.js.map +1 -1
  29. package/dist/assets/icons/icon-assets-min/16_caret-right.js +1 -2
  30. package/dist/assets/icons/icon-assets-min/16_caret-right.js.map +1 -1
  31. package/dist/assets/icons/icon-assets-min/16_caret-up.js +1 -2
  32. package/dist/assets/icons/icon-assets-min/16_caret-up.js.map +1 -1
  33. package/dist/assets/icons/icon-assets-min/16_cell-type-num.js +1 -2
  34. package/dist/assets/icons/icon-assets-min/16_cell-type-num.js.map +1 -1
  35. package/dist/assets/icons/icon-assets-min/16_cell-type-subset.js +1 -2
  36. package/dist/assets/icons/icon-assets-min/16_cell-type-subset.js.map +1 -1
  37. package/dist/assets/icons/icon-assets-min/16_cell-type-txt.js +1 -2
  38. package/dist/assets/icons/icon-assets-min/16_cell-type-txt.js.map +1 -1
  39. package/dist/assets/icons/icon-assets-min/16_checkmark.js +1 -2
  40. package/dist/assets/icons/icon-assets-min/16_checkmark.js.map +1 -1
  41. package/dist/assets/icons/icon-assets-min/16_chevron-down.js +1 -2
  42. package/dist/assets/icons/icon-assets-min/16_chevron-down.js.map +1 -1
  43. package/dist/assets/icons/icon-assets-min/16_chevron-first.js +1 -2
  44. package/dist/assets/icons/icon-assets-min/16_chevron-first.js.map +1 -1
  45. package/dist/assets/icons/icon-assets-min/16_chevron-last.js +1 -2
  46. package/dist/assets/icons/icon-assets-min/16_chevron-last.js.map +1 -1
  47. package/dist/assets/icons/icon-assets-min/16_chevron-left.js +1 -2
  48. package/dist/assets/icons/icon-assets-min/16_chevron-left.js.map +1 -1
  49. package/dist/assets/icons/icon-assets-min/16_chevron-right.js +1 -2
  50. package/dist/assets/icons/icon-assets-min/16_chevron-right.js.map +1 -1
  51. package/dist/assets/icons/icon-assets-min/16_chevron-up.js +1 -2
  52. package/dist/assets/icons/icon-assets-min/16_chevron-up.js.map +1 -1
  53. package/dist/assets/icons/icon-assets-min/16_clear.js +1 -2
  54. package/dist/assets/icons/icon-assets-min/16_clear.js.map +1 -1
  55. package/dist/assets/icons/icon-assets-min/16_clipboard-copied.js +1 -2
  56. package/dist/assets/icons/icon-assets-min/16_clipboard-copied.js.map +1 -1
  57. package/dist/assets/icons/icon-assets-min/16_clipboard.js +1 -2
  58. package/dist/assets/icons/icon-assets-min/16_clipboard.js.map +1 -1
  59. package/dist/assets/icons/icon-assets-min/16_close.js +1 -2
  60. package/dist/assets/icons/icon-assets-min/16_close.js.map +1 -1
  61. package/dist/assets/icons/icon-assets-min/16_compare.js +1 -2
  62. package/dist/assets/icons/icon-assets-min/16_compare.js.map +1 -1
  63. package/dist/assets/icons/icon-assets-min/16_copy.js +1 -2
  64. package/dist/assets/icons/icon-assets-min/16_copy.js.map +1 -1
  65. package/dist/assets/icons/icon-assets-min/16_data-dimentions.js +1 -2
  66. package/dist/assets/icons/icon-assets-min/16_data-dimentions.js.map +1 -1
  67. package/dist/assets/icons/icon-assets-min/16_delete-bin.js +1 -2
  68. package/dist/assets/icons/icon-assets-min/16_delete-bin.js.map +1 -1
  69. package/dist/assets/icons/icon-assets-min/16_delete-circle.js +1 -2
  70. package/dist/assets/icons/icon-assets-min/16_delete-circle.js.map +1 -1
  71. package/dist/assets/icons/icon-assets-min/16_delete-clear.js +1 -2
  72. package/dist/assets/icons/icon-assets-min/16_delete-clear.js.map +1 -1
  73. package/dist/assets/icons/icon-assets-min/16_download.js +1 -2
  74. package/dist/assets/icons/icon-assets-min/16_download.js.map +1 -1
  75. package/dist/assets/icons/icon-assets-min/16_drag-dots.js +1 -2
  76. package/dist/assets/icons/icon-assets-min/16_drag-dots.js.map +1 -1
  77. package/dist/assets/icons/icon-assets-min/16_duplicate.js +1 -2
  78. package/dist/assets/icons/icon-assets-min/16_duplicate.js.map +1 -1
  79. package/dist/assets/icons/icon-assets-min/16_edit.js +1 -2
  80. package/dist/assets/icons/icon-assets-min/16_edit.js.map +1 -1
  81. package/dist/assets/icons/icon-assets-min/16_error.js +1 -2
  82. package/dist/assets/icons/icon-assets-min/16_error.js.map +1 -1
  83. package/dist/assets/icons/icon-assets-min/16_export.js +1 -2
  84. package/dist/assets/icons/icon-assets-min/16_export.js.map +1 -1
  85. package/dist/assets/icons/icon-assets-min/16_filter-on.js +1 -2
  86. package/dist/assets/icons/icon-assets-min/16_filter-on.js.map +1 -1
  87. package/dist/assets/icons/icon-assets-min/16_filter.js +1 -2
  88. package/dist/assets/icons/icon-assets-min/16_filter.js.map +1 -1
  89. package/dist/assets/icons/icon-assets-min/16_help-outline.js +1 -2
  90. package/dist/assets/icons/icon-assets-min/16_help-outline.js.map +1 -1
  91. package/dist/assets/icons/icon-assets-min/16_help.js +1 -2
  92. package/dist/assets/icons/icon-assets-min/16_help.js.map +1 -1
  93. package/dist/assets/icons/icon-assets-min/16_import.js +1 -2
  94. package/dist/assets/icons/icon-assets-min/16_import.js.map +1 -1
  95. package/dist/assets/icons/icon-assets-min/16_info-outline.js +1 -2
  96. package/dist/assets/icons/icon-assets-min/16_info-outline.js.map +1 -1
  97. package/dist/assets/icons/icon-assets-min/16_info.js +1 -2
  98. package/dist/assets/icons/icon-assets-min/16_info.js.map +1 -1
  99. package/dist/assets/icons/icon-assets-min/16_jump-link.js +1 -2
  100. package/dist/assets/icons/icon-assets-min/16_jump-link.js.map +1 -1
  101. package/dist/assets/icons/icon-assets-min/16_link-arrow.js +1 -2
  102. package/dist/assets/icons/icon-assets-min/16_link-arrow.js.map +1 -1
  103. package/dist/assets/icons/icon-assets-min/16_link.js +1 -2
  104. package/dist/assets/icons/icon-assets-min/16_link.js.map +1 -1
  105. package/dist/assets/icons/icon-assets-min/16_loading.js +1 -2
  106. package/dist/assets/icons/icon-assets-min/16_loading.js.map +1 -1
  107. package/dist/assets/icons/icon-assets-min/16_lock.js +1 -2
  108. package/dist/assets/icons/icon-assets-min/16_lock.js.map +1 -1
  109. package/dist/assets/icons/icon-assets-min/16_maximize.js +1 -2
  110. package/dist/assets/icons/icon-assets-min/16_maximize.js.map +1 -1
  111. package/dist/assets/icons/icon-assets-min/16_minimize.js +1 -2
  112. package/dist/assets/icons/icon-assets-min/16_minimize.js.map +1 -1
  113. package/dist/assets/icons/icon-assets-min/16_minus.js +1 -2
  114. package/dist/assets/icons/icon-assets-min/16_minus.js.map +1 -1
  115. package/dist/assets/icons/icon-assets-min/16_more.js +1 -2
  116. package/dist/assets/icons/icon-assets-min/16_more.js.map +1 -1
  117. package/dist/assets/icons/icon-assets-min/16_open.js +1 -2
  118. package/dist/assets/icons/icon-assets-min/16_open.js.map +1 -1
  119. package/dist/assets/icons/icon-assets-min/16_paper-clip.js +1 -2
  120. package/dist/assets/icons/icon-assets-min/16_paper-clip.js.map +1 -1
  121. package/dist/assets/icons/icon-assets-min/16_pause.js +1 -2
  122. package/dist/assets/icons/icon-assets-min/16_pause.js.map +1 -1
  123. package/dist/assets/icons/icon-assets-min/16_play.js +1 -2
  124. package/dist/assets/icons/icon-assets-min/16_play.js.map +1 -1
  125. package/dist/assets/icons/icon-assets-min/16_progress.js +1 -2
  126. package/dist/assets/icons/icon-assets-min/16_progress.js.map +1 -1
  127. package/dist/assets/icons/icon-assets-min/16_renew.js +1 -2
  128. package/dist/assets/icons/icon-assets-min/16_renew.js.map +1 -1
  129. package/dist/assets/icons/icon-assets-min/16_required.js +1 -2
  130. package/dist/assets/icons/icon-assets-min/16_required.js.map +1 -1
  131. package/dist/assets/icons/icon-assets-min/16_restart.js +1 -2
  132. package/dist/assets/icons/icon-assets-min/16_restart.js.map +1 -1
  133. package/dist/assets/icons/icon-assets-min/16_reverse.js +1 -2
  134. package/dist/assets/icons/icon-assets-min/16_reverse.js.map +1 -1
  135. package/dist/assets/icons/icon-assets-min/16_settings.js +1 -2
  136. package/dist/assets/icons/icon-assets-min/16_settings.js.map +1 -1
  137. package/dist/assets/icons/icon-assets-min/16_sort.js +1 -2
  138. package/dist/assets/icons/icon-assets-min/16_sort.js.map +1 -1
  139. package/dist/assets/icons/icon-assets-min/16_sorter.js +1 -2
  140. package/dist/assets/icons/icon-assets-min/16_sorter.js.map +1 -1
  141. package/dist/assets/icons/icon-assets-min/16_stop.js +1 -2
  142. package/dist/assets/icons/icon-assets-min/16_stop.js.map +1 -1
  143. package/dist/assets/icons/icon-assets-min/16_success.js +1 -2
  144. package/dist/assets/icons/icon-assets-min/16_success.js.map +1 -1
  145. package/dist/assets/icons/icon-assets-min/16_time.js +1 -2
  146. package/dist/assets/icons/icon-assets-min/16_time.js.map +1 -1
  147. package/dist/assets/icons/icon-assets-min/16_tune.js +1 -2
  148. package/dist/assets/icons/icon-assets-min/16_tune.js.map +1 -1
  149. package/dist/assets/icons/icon-assets-min/16_warning.js +1 -2
  150. package/dist/assets/icons/icon-assets-min/16_warning.js.map +1 -1
  151. package/dist/assets/icons/icon-assets-min/16_x-axis.js +1 -2
  152. package/dist/assets/icons/icon-assets-min/16_x-axis.js.map +1 -1
  153. package/dist/assets/icons/icon-assets-min/16_y-axis.js +1 -2
  154. package/dist/assets/icons/icon-assets-min/16_y-axis.js.map +1 -1
  155. package/dist/assets/icons/icon-assets-min/16_zip.js +1 -2
  156. package/dist/assets/icons/icon-assets-min/16_zip.js.map +1 -1
  157. package/dist/assets/icons/icon-assets-min/24_add-layer.js +1 -2
  158. package/dist/assets/icons/icon-assets-min/24_add-layer.js.map +1 -1
  159. package/dist/assets/icons/icon-assets-min/24_add.js +1 -2
  160. package/dist/assets/icons/icon-assets-min/24_add.js.map +1 -1
  161. package/dist/assets/icons/icon-assets-min/24_align-center.js +1 -2
  162. package/dist/assets/icons/icon-assets-min/24_align-center.js.map +1 -1
  163. package/dist/assets/icons/icon-assets-min/24_align-left.js +1 -2
  164. package/dist/assets/icons/icon-assets-min/24_align-left.js.map +1 -1
  165. package/dist/assets/icons/icon-assets-min/24_align-right.js +1 -2
  166. package/dist/assets/icons/icon-assets-min/24_align-right.js.map +1 -1
  167. package/dist/assets/icons/icon-assets-min/24_analytics-accent.js +1 -2
  168. package/dist/assets/icons/icon-assets-min/24_analytics-accent.js.map +1 -1
  169. package/dist/assets/icons/icon-assets-min/24_analytics.js +1 -2
  170. package/dist/assets/icons/icon-assets-min/24_analytics.js.map +1 -1
  171. package/dist/assets/icons/icon-assets-min/24_annotate.js +1 -2
  172. package/dist/assets/icons/icon-assets-min/24_annotate.js.map +1 -1
  173. package/dist/assets/icons/icon-assets-min/24_annotation.js +1 -2
  174. package/dist/assets/icons/icon-assets-min/24_annotation.js.map +1 -1
  175. package/dist/assets/icons/icon-assets-min/24_area.js +1 -2
  176. package/dist/assets/icons/icon-assets-min/24_area.js.map +1 -1
  177. package/dist/assets/icons/icon-assets-min/24_arrow-down.js +1 -2
  178. package/dist/assets/icons/icon-assets-min/24_arrow-down.js.map +1 -1
  179. package/dist/assets/icons/icon-assets-min/24_arrow-left-curved.js +1 -2
  180. package/dist/assets/icons/icon-assets-min/24_arrow-left-curved.js.map +1 -1
  181. package/dist/assets/icons/icon-assets-min/24_arrow-left.js +1 -2
  182. package/dist/assets/icons/icon-assets-min/24_arrow-left.js.map +1 -1
  183. package/dist/assets/icons/icon-assets-min/24_arrow-link.js +1 -2
  184. package/dist/assets/icons/icon-assets-min/24_arrow-link.js.map +1 -1
  185. package/dist/assets/icons/icon-assets-min/24_arrow-right.js +1 -2
  186. package/dist/assets/icons/icon-assets-min/24_arrow-right.js.map +1 -1
  187. package/dist/assets/icons/icon-assets-min/24_arrow-up.js +1 -2
  188. package/dist/assets/icons/icon-assets-min/24_arrow-up.js.map +1 -1
  189. package/dist/assets/icons/icon-assets-min/24_axes.js +1 -2
  190. package/dist/assets/icons/icon-assets-min/24_axes.js.map +1 -1
  191. package/dist/assets/icons/icon-assets-min/24_bar-cross.js +1 -2
  192. package/dist/assets/icons/icon-assets-min/24_bar-cross.js.map +1 -1
  193. package/dist/assets/icons/icon-assets-min/24_bar-error.js +1 -2
  194. package/dist/assets/icons/icon-assets-min/24_bar-error.js.map +1 -1
  195. package/dist/assets/icons/icon-assets-min/24_bar-stacked.js +1 -2
  196. package/dist/assets/icons/icon-assets-min/24_bar-stacked.js.map +1 -1
  197. package/dist/assets/icons/icon-assets-min/24_bar-trend.js +1 -2
  198. package/dist/assets/icons/icon-assets-min/24_bar-trend.js.map +1 -1
  199. package/dist/assets/icons/icon-assets-min/24_bar.js +1 -2
  200. package/dist/assets/icons/icon-assets-min/24_bar.js.map +1 -1
  201. package/dist/assets/icons/icon-assets-min/24_bindot.js +1 -2
  202. package/dist/assets/icons/icon-assets-min/24_bindot.js.map +1 -1
  203. package/dist/assets/icons/icon-assets-min/24_box.js +1 -2
  204. package/dist/assets/icons/icon-assets-min/24_box.js.map +1 -1
  205. package/dist/assets/icons/icon-assets-min/24_boxplot-binned.js +1 -2
  206. package/dist/assets/icons/icon-assets-min/24_boxplot-binned.js.map +1 -1
  207. package/dist/assets/icons/icon-assets-min/24_boxplot-jitter.js +1 -2
  208. package/dist/assets/icons/icon-assets-min/24_boxplot-jitter.js.map +1 -1
  209. package/dist/assets/icons/icon-assets-min/24_boxplot-notched.js +1 -2
  210. package/dist/assets/icons/icon-assets-min/24_boxplot-notched.js.map +1 -1
  211. package/dist/assets/icons/icon-assets-min/24_boxplot.js +1 -2
  212. package/dist/assets/icons/icon-assets-min/24_boxplot.js.map +1 -1
  213. package/dist/assets/icons/icon-assets-min/24_bubble.js +1 -2
  214. package/dist/assets/icons/icon-assets-min/24_bubble.js.map +1 -1
  215. package/dist/assets/icons/icon-assets-min/24_calendar.js +1 -2
  216. package/dist/assets/icons/icon-assets-min/24_calendar.js.map +1 -1
  217. package/dist/assets/icons/icon-assets-min/24_canvas.js +1 -2
  218. package/dist/assets/icons/icon-assets-min/24_canvas.js.map +1 -1
  219. package/dist/assets/icons/icon-assets-min/24_cell-type-num.js +1 -2
  220. package/dist/assets/icons/icon-assets-min/24_cell-type-num.js.map +1 -1
  221. package/dist/assets/icons/icon-assets-min/24_cell-type-subset.js +1 -2
  222. package/dist/assets/icons/icon-assets-min/24_cell-type-subset.js.map +1 -1
  223. package/dist/assets/icons/icon-assets-min/24_cell-type-txt.js +1 -2
  224. package/dist/assets/icons/icon-assets-min/24_cell-type-txt.js.map +1 -1
  225. package/dist/assets/icons/icon-assets-min/24_checkbox-checked.js +1 -2
  226. package/dist/assets/icons/icon-assets-min/24_checkbox-checked.js.map +1 -1
  227. package/dist/assets/icons/icon-assets-min/24_checkbox-intermediate.js +1 -2
  228. package/dist/assets/icons/icon-assets-min/24_checkbox-intermediate.js.map +1 -1
  229. package/dist/assets/icons/icon-assets-min/24_checkbox.js +1 -2
  230. package/dist/assets/icons/icon-assets-min/24_checkbox.js.map +1 -1
  231. package/dist/assets/icons/icon-assets-min/24_checkmark.js +1 -2
  232. package/dist/assets/icons/icon-assets-min/24_checkmark.js.map +1 -1
  233. package/dist/assets/icons/icon-assets-min/24_chevron-down.js +1 -2
  234. package/dist/assets/icons/icon-assets-min/24_chevron-down.js.map +1 -1
  235. package/dist/assets/icons/icon-assets-min/24_chevron-first.js +1 -2
  236. package/dist/assets/icons/icon-assets-min/24_chevron-first.js.map +1 -1
  237. package/dist/assets/icons/icon-assets-min/24_chevron-last.js +1 -2
  238. package/dist/assets/icons/icon-assets-min/24_chevron-last.js.map +1 -1
  239. package/dist/assets/icons/icon-assets-min/24_chevron-left.js +1 -2
  240. package/dist/assets/icons/icon-assets-min/24_chevron-left.js.map +1 -1
  241. package/dist/assets/icons/icon-assets-min/24_chevron-right.js +1 -2
  242. package/dist/assets/icons/icon-assets-min/24_chevron-right.js.map +1 -1
  243. package/dist/assets/icons/icon-assets-min/24_chevron-sort.js +1 -2
  244. package/dist/assets/icons/icon-assets-min/24_chevron-sort.js.map +1 -1
  245. package/dist/assets/icons/icon-assets-min/24_chevron-up.js +1 -2
  246. package/dist/assets/icons/icon-assets-min/24_chevron-up.js.map +1 -1
  247. package/dist/assets/icons/icon-assets-min/24_clipboard-copied.js +1 -2
  248. package/dist/assets/icons/icon-assets-min/24_clipboard-copied.js.map +1 -1
  249. package/dist/assets/icons/icon-assets-min/24_clipboard.js +1 -2
  250. package/dist/assets/icons/icon-assets-min/24_clipboard.js.map +1 -1
  251. package/dist/assets/icons/icon-assets-min/24_close.js +1 -2
  252. package/dist/assets/icons/icon-assets-min/24_close.js.map +1 -1
  253. package/dist/assets/icons/icon-assets-min/24_cloud-download.js +1 -2
  254. package/dist/assets/icons/icon-assets-min/24_cloud-download.js.map +1 -1
  255. package/dist/assets/icons/icon-assets-min/24_cloud-offline.js +1 -2
  256. package/dist/assets/icons/icon-assets-min/24_cloud-offline.js.map +1 -1
  257. package/dist/assets/icons/icon-assets-min/24_cloud-online.js +1 -2
  258. package/dist/assets/icons/icon-assets-min/24_cloud-online.js.map +1 -1
  259. package/dist/assets/icons/icon-assets-min/24_cloud-upload.js +1 -2
  260. package/dist/assets/icons/icon-assets-min/24_cloud-upload.js.map +1 -1
  261. package/dist/assets/icons/icon-assets-min/24_cluster.js +1 -2
  262. package/dist/assets/icons/icon-assets-min/24_cluster.js.map +1 -1
  263. package/dist/assets/icons/icon-assets-min/24_code.js +1 -2
  264. package/dist/assets/icons/icon-assets-min/24_code.js.map +1 -1
  265. package/dist/assets/icons/icon-assets-min/24_color-fill.js +1 -2
  266. package/dist/assets/icons/icon-assets-min/24_color-fill.js.map +1 -1
  267. package/dist/assets/icons/icon-assets-min/24_color-none.js +1 -2
  268. package/dist/assets/icons/icon-assets-min/24_color-none.js.map +1 -1
  269. package/dist/assets/icons/icon-assets-min/24_color-stroke.js +1 -2
  270. package/dist/assets/icons/icon-assets-min/24_color-stroke.js.map +1 -1
  271. package/dist/assets/icons/icon-assets-min/24_color.js +1 -2
  272. package/dist/assets/icons/icon-assets-min/24_color.js.map +1 -1
  273. package/dist/assets/icons/icon-assets-min/24_columns.js +1 -2
  274. package/dist/assets/icons/icon-assets-min/24_columns.js.map +1 -1
  275. package/dist/assets/icons/icon-assets-min/24_connected-points.js +1 -2
  276. package/dist/assets/icons/icon-assets-min/24_connected-points.js.map +1 -1
  277. package/dist/assets/icons/icon-assets-min/24_container.js +1 -2
  278. package/dist/assets/icons/icon-assets-min/24_container.js.map +1 -1
  279. package/dist/assets/icons/icon-assets-min/24_cookie.js +1 -2
  280. package/dist/assets/icons/icon-assets-min/24_cookie.js.map +1 -1
  281. package/dist/assets/icons/icon-assets-min/24_copy.js +1 -2
  282. package/dist/assets/icons/icon-assets-min/24_copy.js.map +1 -1
  283. package/dist/assets/icons/icon-assets-min/24_cpu.js +1 -2
  284. package/dist/assets/icons/icon-assets-min/24_cpu.js.map +1 -1
  285. package/dist/assets/icons/icon-assets-min/24_cursor-pointer.js +1 -2
  286. package/dist/assets/icons/icon-assets-min/24_cursor-pointer.js.map +1 -1
  287. package/dist/assets/icons/icon-assets-min/24_data-dimentions.js +1 -2
  288. package/dist/assets/icons/icon-assets-min/24_data-dimentions.js.map +1 -1
  289. package/dist/assets/icons/icon-assets-min/24_debug.js +1 -2
  290. package/dist/assets/icons/icon-assets-min/24_debug.js.map +1 -1
  291. package/dist/assets/icons/icon-assets-min/24_delete-bin.js +1 -2
  292. package/dist/assets/icons/icon-assets-min/24_delete-bin.js.map +1 -1
  293. package/dist/assets/icons/icon-assets-min/24_delete-circle.js +1 -2
  294. package/dist/assets/icons/icon-assets-min/24_delete-circle.js.map +1 -1
  295. package/dist/assets/icons/icon-assets-min/24_delete-clear.js +1 -2
  296. package/dist/assets/icons/icon-assets-min/24_delete-clear.js.map +1 -1
  297. package/dist/assets/icons/icon-assets-min/24_dendrogram-X-line.js +1 -2
  298. package/dist/assets/icons/icon-assets-min/24_dendrogram-X-line.js.map +1 -1
  299. package/dist/assets/icons/icon-assets-min/24_dendrogram-X.js +1 -2
  300. package/dist/assets/icons/icon-assets-min/24_dendrogram-X.js.map +1 -1
  301. package/dist/assets/icons/icon-assets-min/24_dendrogram-Y-line.js +1 -2
  302. package/dist/assets/icons/icon-assets-min/24_dendrogram-Y-line.js.map +1 -1
  303. package/dist/assets/icons/icon-assets-min/24_dendrogram-Y.js +1 -2
  304. package/dist/assets/icons/icon-assets-min/24_dendrogram-Y.js.map +1 -1
  305. package/dist/assets/icons/icon-assets-min/24_dna-add.js +1 -2
  306. package/dist/assets/icons/icon-assets-min/24_dna-add.js.map +1 -1
  307. package/dist/assets/icons/icon-assets-min/24_dna-import.js +1 -2
  308. package/dist/assets/icons/icon-assets-min/24_dna-import.js.map +1 -1
  309. package/dist/assets/icons/icon-assets-min/24_dna.js +1 -2
  310. package/dist/assets/icons/icon-assets-min/24_dna.js.map +1 -1
  311. package/dist/assets/icons/icon-assets-min/24_download.js +1 -2
  312. package/dist/assets/icons/icon-assets-min/24_download.js.map +1 -1
  313. package/dist/assets/icons/icon-assets-min/24_drag-dots.js +1 -2
  314. package/dist/assets/icons/icon-assets-min/24_drag-dots.js.map +1 -1
  315. package/dist/assets/icons/icon-assets-min/24_drag-horizontal.js +1 -2
  316. package/dist/assets/icons/icon-assets-min/24_drag-horizontal.js.map +1 -1
  317. package/dist/assets/icons/icon-assets-min/24_drag-vertical.js +1 -2
  318. package/dist/assets/icons/icon-assets-min/24_drag-vertical.js.map +1 -1
  319. package/dist/assets/icons/icon-assets-min/24_duplicate.js +1 -2
  320. package/dist/assets/icons/icon-assets-min/24_duplicate.js.map +1 -1
  321. package/dist/assets/icons/icon-assets-min/24_edit.js +1 -2
  322. package/dist/assets/icons/icon-assets-min/24_edit.js.map +1 -1
  323. package/dist/assets/icons/icon-assets-min/24_error-bar.js +1 -2
  324. package/dist/assets/icons/icon-assets-min/24_error-bar.js.map +1 -1
  325. package/dist/assets/icons/icon-assets-min/24_error.js +1 -2
  326. package/dist/assets/icons/icon-assets-min/24_error.js.map +1 -1
  327. package/dist/assets/icons/icon-assets-min/24_expand-left.js +1 -2
  328. package/dist/assets/icons/icon-assets-min/24_expand-left.js.map +1 -1
  329. package/dist/assets/icons/icon-assets-min/24_expand-right.js +1 -2
  330. package/dist/assets/icons/icon-assets-min/24_expand-right.js.map +1 -1
  331. package/dist/assets/icons/icon-assets-min/24_export-2.js +1 -2
  332. package/dist/assets/icons/icon-assets-min/24_export-2.js.map +1 -1
  333. package/dist/assets/icons/icon-assets-min/24_export.js +1 -2
  334. package/dist/assets/icons/icon-assets-min/24_export.js.map +1 -1
  335. package/dist/assets/icons/icon-assets-min/24_external-link.js +1 -2
  336. package/dist/assets/icons/icon-assets-min/24_external-link.js.map +1 -1
  337. package/dist/assets/icons/icon-assets-min/24_file-doc-add.js +1 -2
  338. package/dist/assets/icons/icon-assets-min/24_file-doc-add.js.map +1 -1
  339. package/dist/assets/icons/icon-assets-min/24_file-doc-download.js +1 -2
  340. package/dist/assets/icons/icon-assets-min/24_file-doc-download.js.map +1 -1
  341. package/dist/assets/icons/icon-assets-min/24_file-doc-import.js +1 -2
  342. package/dist/assets/icons/icon-assets-min/24_file-doc-import.js.map +1 -1
  343. package/dist/assets/icons/icon-assets-min/24_file-doc.js +1 -2
  344. package/dist/assets/icons/icon-assets-min/24_file-doc.js.map +1 -1
  345. package/dist/assets/icons/icon-assets-min/24_file-logs-accent.js +1 -2
  346. package/dist/assets/icons/icon-assets-min/24_file-logs-accent.js.map +1 -1
  347. package/dist/assets/icons/icon-assets-min/24_file-logs.js +1 -2
  348. package/dist/assets/icons/icon-assets-min/24_file-logs.js.map +1 -1
  349. package/dist/assets/icons/icon-assets-min/24_files-export.js +1 -2
  350. package/dist/assets/icons/icon-assets-min/24_files-export.js.map +1 -1
  351. package/dist/assets/icons/icon-assets-min/24_files-import.js +1 -2
  352. package/dist/assets/icons/icon-assets-min/24_files-import.js.map +1 -1
  353. package/dist/assets/icons/icon-assets-min/24_filter-on.js +1 -2
  354. package/dist/assets/icons/icon-assets-min/24_filter-on.js.map +1 -1
  355. package/dist/assets/icons/icon-assets-min/24_filter.js +1 -2
  356. package/dist/assets/icons/icon-assets-min/24_filter.js.map +1 -1
  357. package/dist/assets/icons/icon-assets-min/24_fire-tips.js +1 -2
  358. package/dist/assets/icons/icon-assets-min/24_fire-tips.js.map +1 -1
  359. package/dist/assets/icons/icon-assets-min/24_folder-parent.js +1 -2
  360. package/dist/assets/icons/icon-assets-min/24_folder-parent.js.map +1 -1
  361. package/dist/assets/icons/icon-assets-min/24_frame-type-all.js +1 -2
  362. package/dist/assets/icons/icon-assets-min/24_frame-type-all.js.map +1 -1
  363. package/dist/assets/icons/icon-assets-min/24_frame-type-bottom.js +1 -2
  364. package/dist/assets/icons/icon-assets-min/24_frame-type-bottom.js.map +1 -1
  365. package/dist/assets/icons/icon-assets-min/24_frame-type-left-bottom.js +1 -2
  366. package/dist/assets/icons/icon-assets-min/24_frame-type-left-bottom.js.map +1 -1
  367. package/dist/assets/icons/icon-assets-min/24_frame-type-left.js +1 -2
  368. package/dist/assets/icons/icon-assets-min/24_frame-type-left.js.map +1 -1
  369. package/dist/assets/icons/icon-assets-min/24_frame-type-none.js +1 -2
  370. package/dist/assets/icons/icon-assets-min/24_frame-type-none.js.map +1 -1
  371. package/dist/assets/icons/icon-assets-min/24_generate.js +1 -2
  372. package/dist/assets/icons/icon-assets-min/24_generate.js.map +1 -1
  373. package/dist/assets/icons/icon-assets-min/24_graph.js +1 -2
  374. package/dist/assets/icons/icon-assets-min/24_graph.js.map +1 -1
  375. package/dist/assets/icons/icon-assets-min/24_heatmap.js +1 -2
  376. package/dist/assets/icons/icon-assets-min/24_heatmap.js.map +1 -1
  377. package/dist/assets/icons/icon-assets-min/24_help-outline.js +1 -2
  378. package/dist/assets/icons/icon-assets-min/24_help-outline.js.map +1 -1
  379. package/dist/assets/icons/icon-assets-min/24_help.js +1 -2
  380. package/dist/assets/icons/icon-assets-min/24_help.js.map +1 -1
  381. package/dist/assets/icons/icon-assets-min/24_hide.js +1 -2
  382. package/dist/assets/icons/icon-assets-min/24_hide.js.map +1 -1
  383. package/dist/assets/icons/icon-assets-min/24_import.js +1 -2
  384. package/dist/assets/icons/icon-assets-min/24_import.js.map +1 -1
  385. package/dist/assets/icons/icon-assets-min/24_info-outline.js +1 -2
  386. package/dist/assets/icons/icon-assets-min/24_info-outline.js.map +1 -1
  387. package/dist/assets/icons/icon-assets-min/24_info.js +1 -2
  388. package/dist/assets/icons/icon-assets-min/24_info.js.map +1 -1
  389. package/dist/assets/icons/icon-assets-min/24_jitter.js +1 -2
  390. package/dist/assets/icons/icon-assets-min/24_jitter.js.map +1 -1
  391. package/dist/assets/icons/icon-assets-min/24_jump-link.js +1 -2
  392. package/dist/assets/icons/icon-assets-min/24_jump-link.js.map +1 -1
  393. package/dist/assets/icons/icon-assets-min/24_lasso.js +1 -2
  394. package/dist/assets/icons/icon-assets-min/24_lasso.js.map +1 -1
  395. package/dist/assets/icons/icon-assets-min/24_layers.js +1 -2
  396. package/dist/assets/icons/icon-assets-min/24_layers.js.map +1 -1
  397. package/dist/assets/icons/icon-assets-min/24_learn.js +1 -2
  398. package/dist/assets/icons/icon-assets-min/24_learn.js.map +1 -1
  399. package/dist/assets/icons/icon-assets-min/24_legend-box-dot.js +1 -2
  400. package/dist/assets/icons/icon-assets-min/24_legend-box-dot.js.map +1 -1
  401. package/dist/assets/icons/icon-assets-min/24_legend-box.js +1 -2
  402. package/dist/assets/icons/icon-assets-min/24_legend-box.js.map +1 -1
  403. package/dist/assets/icons/icon-assets-min/24_legend.js +1 -2
  404. package/dist/assets/icons/icon-assets-min/24_legend.js.map +1 -1
  405. package/dist/assets/icons/icon-assets-min/24_line-binned.js +1 -2
  406. package/dist/assets/icons/icon-assets-min/24_line-binned.js.map +1 -1
  407. package/dist/assets/icons/icon-assets-min/24_line-error.js +1 -2
  408. package/dist/assets/icons/icon-assets-min/24_line-error.js.map +1 -1
  409. package/dist/assets/icons/icon-assets-min/24_line-jitter.js +1 -2
  410. package/dist/assets/icons/icon-assets-min/24_line-jitter.js.map +1 -1
  411. package/dist/assets/icons/icon-assets-min/24_line.js +1 -2
  412. package/dist/assets/icons/icon-assets-min/24_line.js.map +1 -1
  413. package/dist/assets/icons/icon-assets-min/24_linetype-dashed.js +1 -2
  414. package/dist/assets/icons/icon-assets-min/24_linetype-dashed.js.map +1 -1
  415. package/dist/assets/icons/icon-assets-min/24_linetype-dotdash.js +1 -2
  416. package/dist/assets/icons/icon-assets-min/24_linetype-dotdash.js.map +1 -1
  417. package/dist/assets/icons/icon-assets-min/24_linetype-dotted.js +1 -2
  418. package/dist/assets/icons/icon-assets-min/24_linetype-dotted.js.map +1 -1
  419. package/dist/assets/icons/icon-assets-min/24_linetype-longdash.js +1 -2
  420. package/dist/assets/icons/icon-assets-min/24_linetype-longdash.js.map +1 -1
  421. package/dist/assets/icons/icon-assets-min/24_linetype-solid.js +1 -2
  422. package/dist/assets/icons/icon-assets-min/24_linetype-solid.js.map +1 -1
  423. package/dist/assets/icons/icon-assets-min/24_linetype-twodash.js +1 -2
  424. package/dist/assets/icons/icon-assets-min/24_linetype-twodash.js.map +1 -1
  425. package/dist/assets/icons/icon-assets-min/24_link-disabled.js +1 -2
  426. package/dist/assets/icons/icon-assets-min/24_link-disabled.js.map +1 -1
  427. package/dist/assets/icons/icon-assets-min/24_link.js +1 -2
  428. package/dist/assets/icons/icon-assets-min/24_link.js.map +1 -1
  429. package/dist/assets/icons/icon-assets-min/24_loading.js +1 -2
  430. package/dist/assets/icons/icon-assets-min/24_loading.js.map +1 -1
  431. package/dist/assets/icons/icon-assets-min/24_lock.js +1 -2
  432. package/dist/assets/icons/icon-assets-min/24_lock.js.map +1 -1
  433. package/dist/assets/icons/icon-assets-min/24_maximize.js +1 -2
  434. package/dist/assets/icons/icon-assets-min/24_maximize.js.map +1 -1
  435. package/dist/assets/icons/icon-assets-min/24_menu.js +1 -2
  436. package/dist/assets/icons/icon-assets-min/24_menu.js.map +1 -1
  437. package/dist/assets/icons/icon-assets-min/24_minimize.js +1 -2
  438. package/dist/assets/icons/icon-assets-min/24_minimize.js.map +1 -1
  439. package/dist/assets/icons/icon-assets-min/24_minus.js +1 -2
  440. package/dist/assets/icons/icon-assets-min/24_minus.js.map +1 -1
  441. package/dist/assets/icons/icon-assets-min/24_monetization-off.js +1 -2
  442. package/dist/assets/icons/icon-assets-min/24_monetization-off.js.map +1 -1
  443. package/dist/assets/icons/icon-assets-min/24_monetization-on.js +1 -2
  444. package/dist/assets/icons/icon-assets-min/24_monetization-on.js.map +1 -1
  445. package/dist/assets/icons/icon-assets-min/24_monetization.js +1 -2
  446. package/dist/assets/icons/icon-assets-min/24_monetization.js.map +1 -1
  447. package/dist/assets/icons/icon-assets-min/24_more.js +1 -2
  448. package/dist/assets/icons/icon-assets-min/24_more.js.map +1 -1
  449. package/dist/assets/icons/icon-assets-min/24_paper-clip.js +1 -2
  450. package/dist/assets/icons/icon-assets-min/24_paper-clip.js.map +1 -1
  451. package/dist/assets/icons/icon-assets-min/24_pause.js +1 -2
  452. package/dist/assets/icons/icon-assets-min/24_pause.js.map +1 -1
  453. package/dist/assets/icons/icon-assets-min/24_pen-tool.js +1 -2
  454. package/dist/assets/icons/icon-assets-min/24_pen-tool.js.map +1 -1
  455. package/dist/assets/icons/icon-assets-min/24_pin.js +1 -2
  456. package/dist/assets/icons/icon-assets-min/24_pin.js.map +1 -1
  457. package/dist/assets/icons/icon-assets-min/24_play.js +1 -2
  458. package/dist/assets/icons/icon-assets-min/24_play.js.map +1 -1
  459. package/dist/assets/icons/icon-assets-min/24_position-bottom-annotation.js +1 -2
  460. package/dist/assets/icons/icon-assets-min/24_position-bottom-annotation.js.map +1 -1
  461. package/dist/assets/icons/icon-assets-min/24_position-bottom.js +1 -2
  462. package/dist/assets/icons/icon-assets-min/24_position-bottom.js.map +1 -1
  463. package/dist/assets/icons/icon-assets-min/24_position-left-annotation.js +1 -2
  464. package/dist/assets/icons/icon-assets-min/24_position-left-annotation.js.map +1 -1
  465. package/dist/assets/icons/icon-assets-min/24_position-left.js +1 -2
  466. package/dist/assets/icons/icon-assets-min/24_position-left.js.map +1 -1
  467. package/dist/assets/icons/icon-assets-min/24_position-right-annotation.js +1 -2
  468. package/dist/assets/icons/icon-assets-min/24_position-right-annotation.js.map +1 -1
  469. package/dist/assets/icons/icon-assets-min/24_position-right.js +1 -2
  470. package/dist/assets/icons/icon-assets-min/24_position-right.js.map +1 -1
  471. package/dist/assets/icons/icon-assets-min/24_position-top-annotation.js +1 -2
  472. package/dist/assets/icons/icon-assets-min/24_position-top-annotation.js.map +1 -1
  473. package/dist/assets/icons/icon-assets-min/24_position-top.js +1 -2
  474. package/dist/assets/icons/icon-assets-min/24_position-top.js.map +1 -1
  475. package/dist/assets/icons/icon-assets-min/24_product.js +1 -2
  476. package/dist/assets/icons/icon-assets-min/24_product.js.map +1 -1
  477. package/dist/assets/icons/icon-assets-min/24_progress.js +1 -2
  478. package/dist/assets/icons/icon-assets-min/24_progress.js.map +1 -1
  479. package/dist/assets/icons/icon-assets-min/24_publications.js +1 -2
  480. package/dist/assets/icons/icon-assets-min/24_publications.js.map +1 -1
  481. package/dist/assets/icons/icon-assets-min/24_radio-button-checked.js +1 -2
  482. package/dist/assets/icons/icon-assets-min/24_radio-button-checked.js.map +1 -1
  483. package/dist/assets/icons/icon-assets-min/24_radio-button.js +1 -2
  484. package/dist/assets/icons/icon-assets-min/24_radio-button.js.map +1 -1
  485. package/dist/assets/icons/icon-assets-min/24_renew.js +1 -2
  486. package/dist/assets/icons/icon-assets-min/24_renew.js.map +1 -1
  487. package/dist/assets/icons/icon-assets-min/24_restart.js +1 -2
  488. package/dist/assets/icons/icon-assets-min/24_restart.js.map +1 -1
  489. package/dist/assets/icons/icon-assets-min/24_reverse.js +1 -2
  490. package/dist/assets/icons/icon-assets-min/24_reverse.js.map +1 -1
  491. package/dist/assets/icons/icon-assets-min/24_rotation-0.js +1 -2
  492. package/dist/assets/icons/icon-assets-min/24_rotation-0.js.map +1 -1
  493. package/dist/assets/icons/icon-assets-min/24_rotation-45.js +1 -2
  494. package/dist/assets/icons/icon-assets-min/24_rotation-45.js.map +1 -1
  495. package/dist/assets/icons/icon-assets-min/24_rotation-90.js +1 -2
  496. package/dist/assets/icons/icon-assets-min/24_rotation-90.js.map +1 -1
  497. package/dist/assets/icons/icon-assets-min/24_search.js +1 -2
  498. package/dist/assets/icons/icon-assets-min/24_search.js.map +1 -1
  499. package/dist/assets/icons/icon-assets-min/24_server-on.js +1 -2
  500. package/dist/assets/icons/icon-assets-min/24_server-on.js.map +1 -1
  501. package/dist/assets/icons/icon-assets-min/24_server.js +1 -2
  502. package/dist/assets/icons/icon-assets-min/24_server.js.map +1 -1
  503. package/dist/assets/icons/icon-assets-min/24_settings.js +1 -2
  504. package/dist/assets/icons/icon-assets-min/24_settings.js.map +1 -1
  505. package/dist/assets/icons/icon-assets-min/24_show.js +1 -2
  506. package/dist/assets/icons/icon-assets-min/24_show.js.map +1 -1
  507. package/dist/assets/icons/icon-assets-min/24_sina.js +1 -2
  508. package/dist/assets/icons/icon-assets-min/24_sina.js.map +1 -1
  509. package/dist/assets/icons/icon-assets-min/24_skatterplot.js +1 -2
  510. package/dist/assets/icons/icon-assets-min/24_skatterplot.js.map +1 -1
  511. package/dist/assets/icons/icon-assets-min/24_slice.js +1 -2
  512. package/dist/assets/icons/icon-assets-min/24_slice.js.map +1 -1
  513. package/dist/assets/icons/icon-assets-min/24_social-github.js +1 -2
  514. package/dist/assets/icons/icon-assets-min/24_social-github.js.map +1 -1
  515. package/dist/assets/icons/icon-assets-min/24_social-linkedin.js +1 -2
  516. package/dist/assets/icons/icon-assets-min/24_social-linkedin.js.map +1 -1
  517. package/dist/assets/icons/icon-assets-min/24_social-twitter-X.js +1 -2
  518. package/dist/assets/icons/icon-assets-min/24_social-twitter-X.js.map +1 -1
  519. package/dist/assets/icons/icon-assets-min/24_social-twitter-bird.js +1 -2
  520. package/dist/assets/icons/icon-assets-min/24_social-twitter-bird.js.map +1 -1
  521. package/dist/assets/icons/icon-assets-min/24_social-youtube.js +1 -2
  522. package/dist/assets/icons/icon-assets-min/24_social-youtube.js.map +1 -1
  523. package/dist/assets/icons/icon-assets-min/24_sort-list-down.js +1 -2
  524. package/dist/assets/icons/icon-assets-min/24_sort-list-down.js.map +1 -1
  525. package/dist/assets/icons/icon-assets-min/24_sort-list-up.js +1 -2
  526. package/dist/assets/icons/icon-assets-min/24_sort-list-up.js.map +1 -1
  527. package/dist/assets/icons/icon-assets-min/24_sort.js +1 -2
  528. package/dist/assets/icons/icon-assets-min/24_sort.js.map +1 -1
  529. package/dist/assets/icons/icon-assets-min/24_statistics.js +1 -2
  530. package/dist/assets/icons/icon-assets-min/24_statistics.js.map +1 -1
  531. package/dist/assets/icons/icon-assets-min/24_stop.js +1 -2
  532. package/dist/assets/icons/icon-assets-min/24_stop.js.map +1 -1
  533. package/dist/assets/icons/icon-assets-min/24_strip-plot.js +1 -2
  534. package/dist/assets/icons/icon-assets-min/24_strip-plot.js.map +1 -1
  535. package/dist/assets/icons/icon-assets-min/24_success.js +1 -2
  536. package/dist/assets/icons/icon-assets-min/24_success.js.map +1 -1
  537. package/dist/assets/icons/icon-assets-min/24_table-add.js +1 -2
  538. package/dist/assets/icons/icon-assets-min/24_table-add.js.map +1 -1
  539. package/dist/assets/icons/icon-assets-min/24_table-alias.js +1 -2
  540. package/dist/assets/icons/icon-assets-min/24_table-alias.js.map +1 -1
  541. package/dist/assets/icons/icon-assets-min/24_table-import.js +1 -2
  542. package/dist/assets/icons/icon-assets-min/24_table-import.js.map +1 -1
  543. package/dist/assets/icons/icon-assets-min/24_table-upload.js +1 -2
  544. package/dist/assets/icons/icon-assets-min/24_table-upload.js.map +1 -1
  545. package/dist/assets/icons/icon-assets-min/24_table.js +1 -2
  546. package/dist/assets/icons/icon-assets-min/24_table.js.map +1 -1
  547. package/dist/assets/icons/icon-assets-min/24_template.js +1 -2
  548. package/dist/assets/icons/icon-assets-min/24_template.js.map +1 -1
  549. package/dist/assets/icons/icon-assets-min/24_terminal.js +1 -2
  550. package/dist/assets/icons/icon-assets-min/24_terminal.js.map +1 -1
  551. package/dist/assets/icons/icon-assets-min/24_text-align-center.js +1 -2
  552. package/dist/assets/icons/icon-assets-min/24_text-align-center.js.map +1 -1
  553. package/dist/assets/icons/icon-assets-min/24_text-align-left.js +1 -2
  554. package/dist/assets/icons/icon-assets-min/24_text-align-left.js.map +1 -1
  555. package/dist/assets/icons/icon-assets-min/24_text-align-right.js +1 -2
  556. package/dist/assets/icons/icon-assets-min/24_text-align-right.js.map +1 -1
  557. package/dist/assets/icons/icon-assets-min/24_theme-dark.js +1 -2
  558. package/dist/assets/icons/icon-assets-min/24_theme-dark.js.map +1 -1
  559. package/dist/assets/icons/icon-assets-min/24_theme-light.js +1 -2
  560. package/dist/assets/icons/icon-assets-min/24_theme-light.js.map +1 -1
  561. package/dist/assets/icons/icon-assets-min/24_time.js +1 -2
  562. package/dist/assets/icons/icon-assets-min/24_time.js.map +1 -1
  563. package/dist/assets/icons/icon-assets-min/24_title-position.js +1 -2
  564. package/dist/assets/icons/icon-assets-min/24_title-position.js.map +1 -1
  565. package/dist/assets/icons/icon-assets-min/24_tune.js +1 -2
  566. package/dist/assets/icons/icon-assets-min/24_tune.js.map +1 -1
  567. package/dist/assets/icons/icon-assets-min/24_venn.js +1 -2
  568. package/dist/assets/icons/icon-assets-min/24_venn.js.map +1 -1
  569. package/dist/assets/icons/icon-assets-min/24_view-hide.js +1 -2
  570. package/dist/assets/icons/icon-assets-min/24_view-hide.js.map +1 -1
  571. package/dist/assets/icons/icon-assets-min/24_view-show.js +1 -2
  572. package/dist/assets/icons/icon-assets-min/24_view-show.js.map +1 -1
  573. package/dist/assets/icons/icon-assets-min/24_violin-binned.js +1 -2
  574. package/dist/assets/icons/icon-assets-min/24_violin-binned.js.map +1 -1
  575. package/dist/assets/icons/icon-assets-min/24_violin-jitter.js +1 -2
  576. package/dist/assets/icons/icon-assets-min/24_violin-jitter.js.map +1 -1
  577. package/dist/assets/icons/icon-assets-min/24_violin.js +1 -2
  578. package/dist/assets/icons/icon-assets-min/24_violin.js.map +1 -1
  579. package/dist/assets/icons/icon-assets-min/24_warning.js +1 -2
  580. package/dist/assets/icons/icon-assets-min/24_warning.js.map +1 -1
  581. package/dist/assets/icons/icon-assets-min/24_wetlab.js +1 -2
  582. package/dist/assets/icons/icon-assets-min/24_wetlab.js.map +1 -1
  583. package/dist/assets/icons/icon-assets-min/24_windows-collapse.js +1 -2
  584. package/dist/assets/icons/icon-assets-min/24_windows-collapse.js.map +1 -1
  585. package/dist/assets/icons/icon-assets-min/24_windows-expand.js +1 -2
  586. package/dist/assets/icons/icon-assets-min/24_windows-expand.js.map +1 -1
  587. package/dist/assets/icons/icon-assets-min/24_x-axis.js +1 -2
  588. package/dist/assets/icons/icon-assets-min/24_x-axis.js.map +1 -1
  589. package/dist/assets/icons/icon-assets-min/24_y-axis.js +1 -2
  590. package/dist/assets/icons/icon-assets-min/24_y-axis.js.map +1 -1
  591. package/dist/assets/icons/icon-assets-min/24_zip.js +1 -2
  592. package/dist/assets/icons/icon-assets-min/24_zip.js.map +1 -1
  593. package/dist/assets/icons/icon-assets-min/24_zoom-in.js +1 -2
  594. package/dist/assets/icons/icon-assets-min/24_zoom-in.js.map +1 -1
  595. package/dist/assets/icons/icon-assets-min/24_zoom-out.js +1 -2
  596. package/dist/assets/icons/icon-assets-min/24_zoom-out.js.map +1 -1
  597. package/dist/assets/images/24_checkbox-light-enabled-checked.js +1 -2
  598. package/dist/assets/images/24_checkbox-light-enabled-checked.js.map +1 -1
  599. package/dist/assets/images/24_checkbox-light-enabled-unchecked.js +1 -2
  600. package/dist/assets/images/24_checkbox-light-enabled-unchecked.js.map +1 -1
  601. package/dist/assets/images/required.js +1 -2
  602. package/dist/assets/images/required.js.map +1 -1
  603. package/dist/base/BtnBase.js +1 -2
  604. package/dist/base/BtnBase.js.map +1 -1
  605. package/dist/base/BtnBase.vue2.js +2 -3
  606. package/dist/base/BtnBase.vue2.js.map +1 -1
  607. package/dist/colors/color.js +5 -2
  608. package/dist/colors/color.js.map +1 -1
  609. package/dist/colors/gradient.js +3 -2
  610. package/dist/colors/gradient.js.map +1 -1
  611. package/dist/colors/index.js +4 -3
  612. package/dist/colors/palette.js +1 -2
  613. package/dist/colors/palette.js.map +1 -1
  614. package/dist/components/ContextProvider.js +1 -2
  615. package/dist/components/ContextProvider.js.map +1 -1
  616. package/dist/components/ContextProvider.vue2.js +2 -3
  617. package/dist/components/ContextProvider.vue2.js.map +1 -1
  618. package/dist/components/DataTable/AddColumnBtn.vue.d.ts +4 -0
  619. package/dist/components/DataTable/AddColumnBtn.vue.d.ts.map +1 -0
  620. package/dist/components/DataTable/BaseCellComponent.js +1 -2
  621. package/dist/components/DataTable/BaseCellComponent.js.map +1 -1
  622. package/dist/components/DataTable/BaseCellComponent.vue2.js +4 -5
  623. package/dist/components/DataTable/BaseCellComponent.vue2.js.map +1 -1
  624. package/dist/components/DataTable/ColumnCaret.js +1 -2
  625. package/dist/components/DataTable/ColumnCaret.js.map +1 -1
  626. package/dist/components/DataTable/ColumnCaret.vue2.js +2 -3
  627. package/dist/components/DataTable/ColumnCaret.vue2.js.map +1 -1
  628. package/dist/components/DataTable/ColumnsCommandMenu.js +1 -2
  629. package/dist/components/DataTable/ColumnsCommandMenu.js.map +1 -1
  630. package/dist/components/DataTable/ColumnsCommandMenu.vue2.js +2 -3
  631. package/dist/components/DataTable/ColumnsCommandMenu.vue2.js.map +1 -1
  632. package/dist/components/DataTable/RowsCommandMenu.js +1 -2
  633. package/dist/components/DataTable/RowsCommandMenu.js.map +1 -1
  634. package/dist/components/DataTable/RowsCommandMenu.vue2.js +2 -3
  635. package/dist/components/DataTable/RowsCommandMenu.vue2.js.map +1 -1
  636. package/dist/components/DataTable/TScroll.js +1 -2
  637. package/dist/components/DataTable/TScroll.js.map +1 -1
  638. package/dist/components/DataTable/TScroll.vue2.js +4 -4
  639. package/dist/components/DataTable/TScroll.vue2.js.map +1 -1
  640. package/dist/components/DataTable/TableComponent.js +1 -2
  641. package/dist/components/DataTable/TableComponent.js.map +1 -1
  642. package/dist/components/DataTable/TableComponent.vue2.js +2 -3
  643. package/dist/components/DataTable/TableComponent.vue2.js.map +1 -1
  644. package/dist/components/DataTable/TdCell.js +1 -2
  645. package/dist/components/DataTable/TdCell.js.map +1 -1
  646. package/dist/components/DataTable/TdCell.vue2.js +2 -3
  647. package/dist/components/DataTable/TdCell.vue2.js.map +1 -1
  648. package/dist/components/DataTable/ThCell.js +1 -2
  649. package/dist/components/DataTable/ThCell.js.map +1 -1
  650. package/dist/components/DataTable/ThCell.vue2.js +2 -3
  651. package/dist/components/DataTable/ThCell.vue2.js.map +1 -1
  652. package/dist/components/DataTable/TrBody.js +1 -2
  653. package/dist/components/DataTable/TrBody.js.map +1 -1
  654. package/dist/components/DataTable/TrBody.vue2.js +2 -3
  655. package/dist/components/DataTable/TrBody.vue2.js.map +1 -1
  656. package/dist/components/DataTable/TrHead.js +1 -2
  657. package/dist/components/DataTable/TrHead.js.map +1 -1
  658. package/dist/components/DataTable/TrHead.vue2.js +2 -3
  659. package/dist/components/DataTable/TrHead.vue2.js.map +1 -1
  660. package/dist/components/DataTable/adapters/AsyncData.js +4 -2
  661. package/dist/components/DataTable/adapters/AsyncData.js.map +1 -1
  662. package/dist/components/DataTable/adapters/RawData.js +4 -2
  663. package/dist/components/DataTable/adapters/RawData.js.map +1 -1
  664. package/dist/components/DataTable/assets/TableIcon.js +2 -3
  665. package/dist/components/DataTable/assets/TableIcon.js.map +1 -1
  666. package/dist/components/DataTable/composition/useColumn.js +1 -2
  667. package/dist/components/DataTable/composition/useColumn.js.map +1 -1
  668. package/dist/components/DataTable/composition/useMouseUp.js +1 -2
  669. package/dist/components/DataTable/composition/useMouseUp.js.map +1 -1
  670. package/dist/components/DataTable/composition/useResize.js +4 -5
  671. package/dist/components/DataTable/composition/useResize.js.map +1 -1
  672. package/dist/components/DataTable/composition/useTableColumns.js +2 -3
  673. package/dist/components/DataTable/composition/useTableColumns.js.map +1 -1
  674. package/dist/components/DataTable/composition/useTableRows.js +1 -2
  675. package/dist/components/DataTable/composition/useTableRows.js.map +1 -1
  676. package/dist/components/DataTable/domain.js +1 -2
  677. package/dist/components/DataTable/domain.js.map +1 -1
  678. package/dist/components/DataTable/index.js +4 -5
  679. package/dist/components/DataTable/index.js.map +1 -1
  680. package/dist/components/DataTable/keys.js +1 -2
  681. package/dist/components/DataTable/keys.js.map +1 -1
  682. package/dist/components/DataTable/state.js +1 -2
  683. package/dist/components/DataTable/state.js.map +1 -1
  684. package/dist/components/DropdownListItem.js +1 -2
  685. package/dist/components/DropdownListItem.js.map +1 -1
  686. package/dist/components/DropdownListItem.vue.d.ts.map +1 -1
  687. package/dist/components/DropdownListItem.vue2.js +23 -22
  688. package/dist/components/DropdownListItem.vue2.js.map +1 -1
  689. package/dist/components/GridTable/AddColumnBtn.vue.d.ts +4 -0
  690. package/dist/components/GridTable/AddColumnBtn.vue.d.ts.map +1 -0
  691. package/dist/components/GridTable/TRow.vue.d.ts +19 -0
  692. package/dist/components/GridTable/TRow.vue.d.ts.map +1 -0
  693. package/dist/components/GridTable/TdCell.vue.d.ts +26 -0
  694. package/dist/components/GridTable/TdCell.vue.d.ts.map +1 -0
  695. package/dist/components/GridTable/ThCell.vue.d.ts +18 -0
  696. package/dist/components/GridTable/ThCell.vue.d.ts.map +1 -0
  697. package/dist/components/GridTable/assets/TableIcon.vue.d.ts +4 -0
  698. package/dist/components/GridTable/assets/TableIcon.vue.d.ts.map +1 -0
  699. package/dist/components/GridTable/index.vue.d.ts +46 -0
  700. package/dist/components/GridTable/index.vue.d.ts.map +1 -0
  701. package/dist/components/HScroll.js +1 -2
  702. package/dist/components/HScroll.js.map +1 -1
  703. package/dist/components/HScroll.vue2.js +2 -3
  704. package/dist/components/HScroll.vue2.js.map +1 -1
  705. package/dist/components/InputRange.js +1 -2
  706. package/dist/components/InputRange.js.map +1 -1
  707. package/dist/components/InputRange.vue2.js +2 -3
  708. package/dist/components/InputRange.vue2.js.map +1 -1
  709. package/dist/components/LongText.js +1 -2
  710. package/dist/components/LongText.js.map +1 -1
  711. package/dist/components/LongText.vue2.js +2 -3
  712. package/dist/components/LongText.vue2.js.map +1 -1
  713. package/dist/components/PlAccordion/ExpandTransition.js +1 -2
  714. package/dist/components/PlAccordion/ExpandTransition.js.map +1 -1
  715. package/dist/components/PlAccordion/ExpandTransition.vue2.js +2 -3
  716. package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +1 -1
  717. package/dist/components/PlAccordion/PlAccordion.js +1 -2
  718. package/dist/components/PlAccordion/PlAccordion.js.map +1 -1
  719. package/dist/components/PlAccordion/PlAccordion.vue2.js +3 -4
  720. package/dist/components/PlAccordion/PlAccordion.vue2.js.map +1 -1
  721. package/dist/components/PlAccordion/PlAccordionSection.js +1 -2
  722. package/dist/components/PlAccordion/PlAccordionSection.js.map +1 -1
  723. package/dist/components/PlAccordion/PlAccordionSection.style.js +7 -7
  724. package/dist/components/PlAccordion/PlAccordionSection.style.js.map +1 -1
  725. package/dist/components/PlAccordion/PlAccordionSection.vue2.js +3 -4
  726. package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
  727. package/dist/components/PlAccordion/index.js +3 -2
  728. package/dist/components/PlAlert/PlAlert.js +1 -2
  729. package/dist/components/PlAlert/PlAlert.js.map +1 -1
  730. package/dist/components/PlAlert/PlAlert.vue.d.ts +1 -1
  731. package/dist/components/PlAlert/PlAlert.vue.d.ts.map +1 -1
  732. package/dist/components/PlAlert/PlAlert.vue2.js +2 -3
  733. package/dist/components/PlAlert/PlAlert.vue2.js.map +1 -1
  734. package/dist/components/PlAlert/index.js +1 -1
  735. package/dist/components/PlAutocomplete/PlAutocomplete.js +1 -2
  736. package/dist/components/PlAutocomplete/PlAutocomplete.js.map +1 -1
  737. package/dist/components/PlAutocomplete/PlAutocomplete.vue2.js +30 -31
  738. package/dist/components/PlAutocomplete/PlAutocomplete.vue2.js.map +1 -1
  739. package/dist/components/PlAutocomplete/index.js +1 -1
  740. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.js +1 -2
  741. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.js.map +1 -1
  742. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js +20 -21
  743. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js.map +1 -1
  744. package/dist/components/PlAutocompleteMulti/index.js +1 -1
  745. package/dist/components/PlBtnAccent/PlBtnAccent.js +1 -2
  746. package/dist/components/PlBtnAccent/PlBtnAccent.js.map +1 -1
  747. package/dist/components/PlBtnAccent/PlBtnAccent.vue2.js +1 -2
  748. package/dist/components/PlBtnAccent/PlBtnAccent.vue2.js.map +1 -1
  749. package/dist/components/PlBtnAccent/index.js +1 -1
  750. package/dist/components/PlBtnDanger/PlBtnDanger.js +1 -2
  751. package/dist/components/PlBtnDanger/PlBtnDanger.js.map +1 -1
  752. package/dist/components/PlBtnDanger/PlBtnDanger.vue2.js +1 -2
  753. package/dist/components/PlBtnDanger/PlBtnDanger.vue2.js.map +1 -1
  754. package/dist/components/PlBtnDanger/index.js +1 -1
  755. package/dist/components/PlBtnGhost/PlBtnGhost.js +1 -2
  756. package/dist/components/PlBtnGhost/PlBtnGhost.js.map +1 -1
  757. package/dist/components/PlBtnGhost/PlBtnGhost.vue2.js +2 -3
  758. package/dist/components/PlBtnGhost/PlBtnGhost.vue2.js.map +1 -1
  759. package/dist/components/PlBtnGhost/index.js +1 -1
  760. package/dist/components/PlBtnGroup/PlBtnGroup.js +1 -2
  761. package/dist/components/PlBtnGroup/PlBtnGroup.js.map +1 -1
  762. package/dist/components/PlBtnGroup/PlBtnGroup.vue2.js +2 -3
  763. package/dist/components/PlBtnGroup/PlBtnGroup.vue2.js.map +1 -1
  764. package/dist/components/PlBtnGroup/index.js +1 -1
  765. package/dist/components/PlBtnLink/PlBtnLink.js +1 -2
  766. package/dist/components/PlBtnLink/PlBtnLink.js.map +1 -1
  767. package/dist/components/PlBtnLink/PlBtnLink.vue2.js +2 -3
  768. package/dist/components/PlBtnLink/PlBtnLink.vue2.js.map +1 -1
  769. package/dist/components/PlBtnLink/index.js +1 -1
  770. package/dist/components/PlBtnPrimary/PlBtnPrimary.js +1 -2
  771. package/dist/components/PlBtnPrimary/PlBtnPrimary.js.map +1 -1
  772. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js +1 -2
  773. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js.map +1 -1
  774. package/dist/components/PlBtnPrimary/index.js +1 -1
  775. package/dist/components/PlBtnSecondary/PlBtnSecondary.js +1 -2
  776. package/dist/components/PlBtnSecondary/PlBtnSecondary.js.map +1 -1
  777. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js +1 -2
  778. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js.map +1 -1
  779. package/dist/components/PlBtnSecondary/index.js +1 -1
  780. package/dist/components/PlBtnSplit/PlBtnSplit.js +1 -2
  781. package/dist/components/PlBtnSplit/PlBtnSplit.js.map +1 -1
  782. package/dist/components/PlBtnSplit/PlBtnSplit.vue2.js +19 -17
  783. package/dist/components/PlBtnSplit/PlBtnSplit.vue2.js.map +1 -1
  784. package/dist/components/PlBtnSplit/index.js +1 -1
  785. package/dist/components/PlChartHistogram/PlChartHistogram.js +1 -2
  786. package/dist/components/PlChartHistogram/PlChartHistogram.js.map +1 -1
  787. package/dist/components/PlChartHistogram/PlChartHistogram.style.js +5 -5
  788. package/dist/components/PlChartHistogram/PlChartHistogram.style.js.map +1 -1
  789. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +3 -8
  790. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
  791. package/dist/components/PlChartHistogram/createGridlines.js +1 -2
  792. package/dist/components/PlChartHistogram/createGridlines.js.map +1 -1
  793. package/dist/components/PlChartHistogram/createLabels.js +1 -2
  794. package/dist/components/PlChartHistogram/createLabels.js.map +1 -1
  795. package/dist/components/PlChartHistogram/createSvgContainer.js +1 -2
  796. package/dist/components/PlChartHistogram/createSvgContainer.js.map +1 -1
  797. package/dist/components/PlChartHistogram/drawBins.js +1 -2
  798. package/dist/components/PlChartHistogram/drawBins.js.map +1 -1
  799. package/dist/components/PlChartHistogram/drawThreshold.js +1 -2
  800. package/dist/components/PlChartHistogram/drawThreshold.js.map +1 -1
  801. package/dist/components/PlChartHistogram/histogram.js +1 -2
  802. package/dist/components/PlChartHistogram/histogram.js.map +1 -1
  803. package/dist/components/PlChartHistogram/index.js +1 -1
  804. package/dist/components/PlChartHistogram/logspace.js +1 -2
  805. package/dist/components/PlChartHistogram/logspace.js.map +1 -1
  806. package/dist/components/PlChartHistogram/normalizeBins.js +1 -2
  807. package/dist/components/PlChartHistogram/normalizeBins.js.map +1 -1
  808. package/dist/components/PlChartStackedBar/Legends.js +1 -2
  809. package/dist/components/PlChartStackedBar/Legends.js.map +1 -1
  810. package/dist/components/PlChartStackedBar/Legends.style.js +8 -8
  811. package/dist/components/PlChartStackedBar/Legends.style.js.map +1 -1
  812. package/dist/components/PlChartStackedBar/Legends.vue2.js +2 -3
  813. package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
  814. package/dist/components/PlChartStackedBar/PlChartStackedBar.js +1 -2
  815. package/dist/components/PlChartStackedBar/PlChartStackedBar.js.map +1 -1
  816. package/dist/components/PlChartStackedBar/PlChartStackedBar.style.js +5 -5
  817. package/dist/components/PlChartStackedBar/PlChartStackedBar.style.js.map +1 -1
  818. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +2 -3
  819. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
  820. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.js +1 -2
  821. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.js.map +1 -1
  822. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.style.js +3 -3
  823. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.style.js.map +1 -1
  824. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js +2 -3
  825. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
  826. package/dist/components/PlChartStackedBar/StackedRow.js +1 -2
  827. package/dist/components/PlChartStackedBar/StackedRow.js.map +1 -1
  828. package/dist/components/PlChartStackedBar/StackedRow.style.js +7 -7
  829. package/dist/components/PlChartStackedBar/StackedRow.style.js.map +1 -1
  830. package/dist/components/PlChartStackedBar/StackedRow.vue2.js +2 -3
  831. package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
  832. package/dist/components/PlChartStackedBar/StackedRowCompact.js +1 -2
  833. package/dist/components/PlChartStackedBar/StackedRowCompact.js.map +1 -1
  834. package/dist/components/PlChartStackedBar/StackedRowCompact.style.js +6 -6
  835. package/dist/components/PlChartStackedBar/StackedRowCompact.style.js.map +1 -1
  836. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js +2 -3
  837. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
  838. package/dist/components/PlChartStackedBar/index.js +3 -2
  839. package/dist/components/PlCheckbox/PlCheckbox.js +1 -2
  840. package/dist/components/PlCheckbox/PlCheckbox.js.map +1 -1
  841. package/dist/components/PlCheckbox/PlCheckbox.vue2.js +1 -2
  842. package/dist/components/PlCheckbox/PlCheckbox.vue2.js.map +1 -1
  843. package/dist/components/PlCheckbox/PlCheckboxBase.js +1 -2
  844. package/dist/components/PlCheckbox/PlCheckboxBase.js.map +1 -1
  845. package/dist/components/PlCheckbox/PlCheckboxBase.vue2.js +2 -3
  846. package/dist/components/PlCheckbox/PlCheckboxBase.vue2.js.map +1 -1
  847. package/dist/components/PlCheckbox/index.js +1 -1
  848. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.js +1 -2
  849. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.js.map +1 -1
  850. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js +2 -3
  851. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js.map +1 -1
  852. package/dist/components/PlCheckboxGroup/index.js +1 -1
  853. package/dist/components/PlChip/PlChip.js +1 -2
  854. package/dist/components/PlChip/PlChip.js.map +1 -1
  855. package/dist/components/PlChip/PlChip.vue2.js +2 -3
  856. package/dist/components/PlChip/PlChip.vue2.js.map +1 -1
  857. package/dist/components/PlChip/index.js +1 -1
  858. package/dist/components/PlClipboard/PlClipboard.js +1 -2
  859. package/dist/components/PlClipboard/PlClipboard.js.map +1 -1
  860. package/dist/components/PlClipboard/PlClipboard.style.js +3 -3
  861. package/dist/components/PlClipboard/PlClipboard.style.js.map +1 -1
  862. package/dist/components/PlClipboard/PlClipboard.vue2.js +1 -2
  863. package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
  864. package/dist/components/PlClipboard/index.js +1 -1
  865. package/dist/components/PlColumnLabel/PlColumnLabel.js +7 -0
  866. package/dist/components/PlColumnLabel/PlColumnLabel.js.map +1 -0
  867. package/dist/components/PlColumnLabel/PlColumnLabel.style.css +1 -0
  868. package/dist/components/PlColumnLabel/PlColumnLabel.style.js +8 -0
  869. package/dist/components/PlColumnLabel/PlColumnLabel.style.js.map +1 -0
  870. package/dist/components/PlColumnLabel/PlColumnLabel.vue.d.ts +23 -0
  871. package/dist/components/PlColumnLabel/PlColumnLabel.vue.d.ts.map +1 -0
  872. package/dist/components/PlColumnLabel/PlColumnLabel.vue2.js +27 -0
  873. package/dist/components/PlColumnLabel/PlColumnLabel.vue2.js.map +1 -0
  874. package/dist/components/PlColumnLabel/index.d.ts +2 -0
  875. package/dist/components/PlColumnLabel/index.d.ts.map +1 -0
  876. package/dist/components/PlColumnLabel/index.js +1 -0
  877. package/dist/components/PlConfirmDialog.js +1 -2
  878. package/dist/components/PlConfirmDialog.js.map +1 -1
  879. package/dist/components/PlConfirmDialog.vue2.js +2 -3
  880. package/dist/components/PlConfirmDialog.vue2.js.map +1 -1
  881. package/dist/components/PlDialogModal/PlDialogModal.js +1 -2
  882. package/dist/components/PlDialogModal/PlDialogModal.js.map +1 -1
  883. package/dist/components/PlDialogModal/PlDialogModal.vue2.js +2 -3
  884. package/dist/components/PlDialogModal/PlDialogModal.vue2.js.map +1 -1
  885. package/dist/components/PlDialogModal/index.js +1 -1
  886. package/dist/components/PlDropdown/OptionList.js +1 -2
  887. package/dist/components/PlDropdown/OptionList.js.map +1 -1
  888. package/dist/components/PlDropdown/OptionList.vue2.js +2 -3
  889. package/dist/components/PlDropdown/OptionList.vue2.js.map +1 -1
  890. package/dist/components/PlDropdown/PlDropdown.js +1 -2
  891. package/dist/components/PlDropdown/PlDropdown.js.map +1 -1
  892. package/dist/components/PlDropdown/PlDropdown.vue.d.ts.map +1 -1
  893. package/dist/components/PlDropdown/PlDropdown.vue2.js +126 -115
  894. package/dist/components/PlDropdown/PlDropdown.vue2.js.map +1 -1
  895. package/dist/components/PlDropdown/index.js +1 -1
  896. package/dist/components/PlDropdown/useGroupBy.js +1 -2
  897. package/dist/components/PlDropdown/useGroupBy.js.map +1 -1
  898. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.js +1 -2
  899. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.js.map +1 -1
  900. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js +34 -35
  901. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js.map +1 -1
  902. package/dist/components/PlDropdownLegacy/index.js +1 -1
  903. package/dist/components/PlDropdownLine/PlDropdownLine.js +1 -2
  904. package/dist/components/PlDropdownLine/PlDropdownLine.js.map +1 -1
  905. package/dist/components/PlDropdownLine/PlDropdownLine.vue2.js +35 -35
  906. package/dist/components/PlDropdownLine/PlDropdownLine.vue2.js.map +1 -1
  907. package/dist/components/PlDropdownLine/ResizableInput.js +1 -2
  908. package/dist/components/PlDropdownLine/ResizableInput.js.map +1 -1
  909. package/dist/components/PlDropdownLine/ResizableInput.vue2.js +2 -3
  910. package/dist/components/PlDropdownLine/ResizableInput.vue2.js.map +1 -1
  911. package/dist/components/PlDropdownLine/index.js +1 -1
  912. package/dist/components/PlDropdownMulti/PlDropdownMulti.js +1 -2
  913. package/dist/components/PlDropdownMulti/PlDropdownMulti.js.map +1 -1
  914. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js +14 -15
  915. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js.map +1 -1
  916. package/dist/components/PlDropdownMulti/index.js +1 -1
  917. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.js +1 -2
  918. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.js.map +1 -1
  919. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts +1 -1
  920. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts.map +1 -1
  921. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js +2 -3
  922. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js.map +1 -1
  923. package/dist/components/PlDropdownMultiRef/index.js +1 -1
  924. package/dist/components/PlDropdownRef/PlDropdownRef.js +1 -2
  925. package/dist/components/PlDropdownRef/PlDropdownRef.js.map +1 -1
  926. package/dist/components/PlDropdownRef/PlDropdownRef.vue2.js +1 -2
  927. package/dist/components/PlDropdownRef/PlDropdownRef.vue2.js.map +1 -1
  928. package/dist/components/PlDropdownRef/index.js +1 -1
  929. package/dist/components/PlEditableTitle/PlEditableTitle.js +1 -2
  930. package/dist/components/PlEditableTitle/PlEditableTitle.js.map +1 -1
  931. package/dist/components/PlEditableTitle/PlEditableTitle.vue2.js +3 -4
  932. package/dist/components/PlEditableTitle/PlEditableTitle.vue2.js.map +1 -1
  933. package/dist/components/PlEditableTitle/index.js +1 -1
  934. package/dist/components/PlEditableTitle/pl-editable-title.module.js +6 -6
  935. package/dist/components/PlEditableTitle/pl-editable-title.module.js.map +1 -1
  936. package/dist/components/PlElementList/PlElementList.js +1 -2
  937. package/dist/components/PlElementList/PlElementList.js.map +1 -1
  938. package/dist/components/PlElementList/PlElementList.style.js +6 -6
  939. package/dist/components/PlElementList/PlElementList.style.js.map +1 -1
  940. package/dist/components/PlElementList/PlElementList.vue2.js +4 -5
  941. package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
  942. package/dist/components/PlElementList/PlElementListItem.js +1 -2
  943. package/dist/components/PlElementList/PlElementListItem.js.map +1 -1
  944. package/dist/components/PlElementList/PlElementListItem.style.js +20 -20
  945. package/dist/components/PlElementList/PlElementListItem.style.js.map +1 -1
  946. package/dist/components/PlElementList/PlElementListItem.vue2.js +9 -10
  947. package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
  948. package/dist/components/PlElementList/index.js +1 -1
  949. package/dist/components/PlElementList/utils.js +1 -2
  950. package/dist/components/PlElementList/utils.js.map +1 -1
  951. package/dist/components/PlErrorAlert/PlErrorAlert.js +1 -2
  952. package/dist/components/PlErrorAlert/PlErrorAlert.js.map +1 -1
  953. package/dist/components/PlErrorAlert/PlErrorAlert.style.js +9 -9
  954. package/dist/components/PlErrorAlert/PlErrorAlert.style.js.map +1 -1
  955. package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js +1 -2
  956. package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
  957. package/dist/components/PlErrorAlert/index.js +1 -1
  958. package/dist/components/PlErrorBoundary/PlErrorBoundary.js +1 -2
  959. package/dist/components/PlErrorBoundary/PlErrorBoundary.js.map +1 -1
  960. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js +2 -3
  961. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js.map +1 -1
  962. package/dist/components/PlErrorBoundary/index.js +1 -1
  963. package/dist/components/PlFileDialog/Local.js +1 -2
  964. package/dist/components/PlFileDialog/Local.js.map +1 -1
  965. package/dist/components/PlFileDialog/Local.vue2.js +3 -4
  966. package/dist/components/PlFileDialog/Local.vue2.js.map +1 -1
  967. package/dist/components/PlFileDialog/PlFileDialog.js +1 -2
  968. package/dist/components/PlFileDialog/PlFileDialog.js.map +1 -1
  969. package/dist/components/PlFileDialog/PlFileDialog.vue2.js +2 -3
  970. package/dist/components/PlFileDialog/PlFileDialog.vue2.js.map +1 -1
  971. package/dist/components/PlFileDialog/Remote.js +1 -2
  972. package/dist/components/PlFileDialog/Remote.js.map +1 -1
  973. package/dist/components/PlFileDialog/Remote.vue2.js +6 -11
  974. package/dist/components/PlFileDialog/Remote.vue2.js.map +1 -1
  975. package/dist/components/PlFileDialog/Shortcuts.js +1 -2
  976. package/dist/components/PlFileDialog/Shortcuts.js.map +1 -1
  977. package/dist/components/PlFileDialog/Shortcuts.style.js +7 -7
  978. package/dist/components/PlFileDialog/Shortcuts.style.js.map +1 -1
  979. package/dist/components/PlFileDialog/Shortcuts.vue2.js +2 -3
  980. package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
  981. package/dist/components/PlFileDialog/index.js +1 -1
  982. package/dist/components/PlFileDialog/pl-file-dialog.module.js +16 -16
  983. package/dist/components/PlFileDialog/pl-file-dialog.module.js.map +1 -1
  984. package/dist/components/PlFileDialog/remote-helpers.js +1 -2
  985. package/dist/components/PlFileDialog/remote-helpers.js.map +1 -1
  986. package/dist/components/PlFileDialog/utils.js +1 -2
  987. package/dist/components/PlFileDialog/utils.js.map +1 -1
  988. package/dist/components/PlFileInput/PlFileInput.js +1 -2
  989. package/dist/components/PlFileInput/PlFileInput.js.map +1 -1
  990. package/dist/components/PlFileInput/PlFileInput.vue2.js +12 -13
  991. package/dist/components/PlFileInput/PlFileInput.vue2.js.map +1 -1
  992. package/dist/components/PlFileInput/index.js +1 -1
  993. package/dist/components/PlIcon16/PlIcon16.js +1 -2
  994. package/dist/components/PlIcon16/PlIcon16.js.map +1 -1
  995. package/dist/components/PlIcon16/PlIcon16.style.js +3 -3
  996. package/dist/components/PlIcon16/PlIcon16.style.js.map +1 -1
  997. package/dist/components/PlIcon16/PlIcon16.vue2.js +2 -3
  998. package/dist/components/PlIcon16/PlIcon16.vue2.js.map +1 -1
  999. package/dist/components/PlIcon16/index.js +1 -1
  1000. package/dist/components/PlIcon24/PlIcon24.js +1 -2
  1001. package/dist/components/PlIcon24/PlIcon24.js.map +1 -1
  1002. package/dist/components/PlIcon24/PlIcon24.style.js +3 -3
  1003. package/dist/components/PlIcon24/PlIcon24.style.js.map +1 -1
  1004. package/dist/components/PlIcon24/PlIcon24.vue2.js +2 -3
  1005. package/dist/components/PlIcon24/PlIcon24.vue2.js.map +1 -1
  1006. package/dist/components/PlIcon24/index.js +1 -1
  1007. package/dist/components/PlLoaderCircular/PlLoaderCircular.js +1 -2
  1008. package/dist/components/PlLoaderCircular/PlLoaderCircular.js.map +1 -1
  1009. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js +2 -3
  1010. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js.map +1 -1
  1011. package/dist/components/PlLoaderCircular/index.js +1 -1
  1012. package/dist/components/PlLoaderLogo.js +1 -2
  1013. package/dist/components/PlLoaderLogo.js.map +1 -1
  1014. package/dist/components/PlLoaderLogo.style.js +5 -5
  1015. package/dist/components/PlLoaderLogo.style.js.map +1 -1
  1016. package/dist/components/PlLoaderLogo.vue2.js +2 -3
  1017. package/dist/components/PlLoaderLogo.vue2.js.map +1 -1
  1018. package/dist/components/PlLogView/PlLogView.js +1 -2
  1019. package/dist/components/PlLogView/PlLogView.js.map +1 -1
  1020. package/dist/components/PlLogView/PlLogView.vue2.js +2 -3
  1021. package/dist/components/PlLogView/PlLogView.vue2.js.map +1 -1
  1022. package/dist/components/PlLogView/index.js +1 -1
  1023. package/dist/components/PlLogView/useLogHandle.js +3 -7
  1024. package/dist/components/PlLogView/useLogHandle.js.map +1 -1
  1025. package/dist/components/PlMaskIcon16/index.js +1 -1
  1026. package/dist/components/PlMaskIcon24/index.js +1 -1
  1027. package/dist/components/PlNotificationAlert/PlNotificationAlert.js +1 -2
  1028. package/dist/components/PlNotificationAlert/PlNotificationAlert.js.map +1 -1
  1029. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js +3 -4
  1030. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js.map +1 -1
  1031. package/dist/components/PlNotificationAlert/index.js +1 -1
  1032. package/dist/components/PlNumberField/PlNumberField.js +1 -2
  1033. package/dist/components/PlNumberField/PlNumberField.js.map +1 -1
  1034. package/dist/components/PlNumberField/PlNumberField.vue2.js +10 -15
  1035. package/dist/components/PlNumberField/PlNumberField.vue2.js.map +1 -1
  1036. package/dist/components/PlNumberField/index.js +1 -1
  1037. package/dist/components/PlNumberField/parseNumber.js +1 -2
  1038. package/dist/components/PlNumberField/parseNumber.js.map +1 -1
  1039. package/dist/components/PlProgressBar/PlProgressBar.js +1 -2
  1040. package/dist/components/PlProgressBar/PlProgressBar.js.map +1 -1
  1041. package/dist/components/PlProgressBar/PlProgressBar.vue2.js +2 -3
  1042. package/dist/components/PlProgressBar/PlProgressBar.vue2.js.map +1 -1
  1043. package/dist/components/PlProgressBar/index.js +1 -1
  1044. package/dist/components/PlProgressCell/PlProgressCell.js +1 -2
  1045. package/dist/components/PlProgressCell/PlProgressCell.js.map +1 -1
  1046. package/dist/components/PlProgressCell/PlProgressCell.vue2.js +2 -3
  1047. package/dist/components/PlProgressCell/PlProgressCell.vue2.js.map +1 -1
  1048. package/dist/components/PlProgressCell/index.js +1 -1
  1049. package/dist/components/PlRadio/PlRadio.js +1 -2
  1050. package/dist/components/PlRadio/PlRadio.js.map +1 -1
  1051. package/dist/components/PlRadio/PlRadio.style.js +6 -6
  1052. package/dist/components/PlRadio/PlRadio.style.js.map +1 -1
  1053. package/dist/components/PlRadio/PlRadio.vue2.js +3 -4
  1054. package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
  1055. package/dist/components/PlRadio/PlRadioGroup.js +1 -2
  1056. package/dist/components/PlRadio/PlRadioGroup.js.map +1 -1
  1057. package/dist/components/PlRadio/PlRadioGroup.style.js +5 -5
  1058. package/dist/components/PlRadio/PlRadioGroup.style.js.map +1 -1
  1059. package/dist/components/PlRadio/PlRadioGroup.vue2.js +3 -4
  1060. package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
  1061. package/dist/components/PlRadio/index.js +3 -2
  1062. package/dist/components/PlRadio/keys.js +1 -2
  1063. package/dist/components/PlRadio/keys.js.map +1 -1
  1064. package/dist/components/PlSearchField/PlSearchField.js +1 -2
  1065. package/dist/components/PlSearchField/PlSearchField.js.map +1 -1
  1066. package/dist/components/PlSearchField/PlSearchField.style.js +5 -5
  1067. package/dist/components/PlSearchField/PlSearchField.style.js.map +1 -1
  1068. package/dist/components/PlSearchField/PlSearchField.vue2.js +10 -11
  1069. package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
  1070. package/dist/components/PlSearchField/index.js +1 -1
  1071. package/dist/components/PlSectionSeparator/PlSectionSeparator.js +1 -2
  1072. package/dist/components/PlSectionSeparator/PlSectionSeparator.js.map +1 -1
  1073. package/dist/components/PlSectionSeparator/PlSectionSeparator.style.js +5 -5
  1074. package/dist/components/PlSectionSeparator/PlSectionSeparator.style.js.map +1 -1
  1075. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js +2 -3
  1076. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
  1077. package/dist/components/PlSectionSeparator/index.js +1 -1
  1078. package/dist/components/PlSidebar/PlSidebarGroup.js +1 -2
  1079. package/dist/components/PlSidebar/PlSidebarGroup.js.map +1 -1
  1080. package/dist/components/PlSidebar/PlSidebarGroup.style.js +5 -5
  1081. package/dist/components/PlSidebar/PlSidebarGroup.style.js.map +1 -1
  1082. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js +2 -3
  1083. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
  1084. package/dist/components/PlSidebar/PlSidebarItem.js +1 -2
  1085. package/dist/components/PlSidebar/PlSidebarItem.js.map +1 -1
  1086. package/dist/components/PlSidebar/PlSidebarItem.style.js +8 -8
  1087. package/dist/components/PlSidebar/PlSidebarItem.style.js.map +1 -1
  1088. package/dist/components/PlSidebar/PlSidebarItem.vue2.js +2 -3
  1089. package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
  1090. package/dist/components/PlSidebar/index.js +3 -2
  1091. package/dist/components/PlSlideModal/PlPureSlideModal.js +1 -2
  1092. package/dist/components/PlSlideModal/PlPureSlideModal.js.map +1 -1
  1093. package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js +2 -3
  1094. package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js.map +1 -1
  1095. package/dist/components/PlSlideModal/PlSlideModal.js +1 -2
  1096. package/dist/components/PlSlideModal/PlSlideModal.js.map +1 -1
  1097. package/dist/components/PlSlideModal/PlSlideModal.style.js +3 -3
  1098. package/dist/components/PlSlideModal/PlSlideModal.style.js.map +1 -1
  1099. package/dist/components/PlSlideModal/PlSlideModal.vue2.js +3 -4
  1100. package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
  1101. package/dist/components/PlSlideModal/index.js +3 -2
  1102. package/dist/components/PlSlideModal/props.js +1 -2
  1103. package/dist/components/PlSlideModal/props.js.map +1 -1
  1104. package/dist/components/PlSplash/PlSplash.js +1 -2
  1105. package/dist/components/PlSplash/PlSplash.js.map +1 -1
  1106. package/dist/components/PlSplash/PlSplash.vue2.js +2 -3
  1107. package/dist/components/PlSplash/PlSplash.vue2.js.map +1 -1
  1108. package/dist/components/PlSplash/index.js +1 -1
  1109. package/dist/components/PlSplash/pl-splash.module.js +8 -8
  1110. package/dist/components/PlSplash/pl-splash.module.js.map +1 -1
  1111. package/dist/components/PlStatusTag/PlStatusTag.js +1 -2
  1112. package/dist/components/PlStatusTag/PlStatusTag.js.map +1 -1
  1113. package/dist/components/PlStatusTag/PlStatusTag.vue2.js +2 -3
  1114. package/dist/components/PlStatusTag/PlStatusTag.vue2.js.map +1 -1
  1115. package/dist/components/PlStatusTag/index.js +1 -1
  1116. package/dist/components/PlSvg/PlSvg.js +1 -2
  1117. package/dist/components/PlSvg/PlSvg.js.map +1 -1
  1118. package/dist/components/PlSvg/PlSvg.style.js +3 -3
  1119. package/dist/components/PlSvg/PlSvg.style.js.map +1 -1
  1120. package/dist/components/PlSvg/PlSvg.vue2.js +3 -4
  1121. package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
  1122. package/dist/components/PlSvg/index.js +1 -1
  1123. package/dist/components/PlSvg/registry.js +1 -2
  1124. package/dist/components/PlSvg/registry.js.map +1 -1
  1125. package/dist/components/PlTabs/PlTabs.js +1 -2
  1126. package/dist/components/PlTabs/PlTabs.js.map +1 -1
  1127. package/dist/components/PlTabs/PlTabs.vue2.js +2 -3
  1128. package/dist/components/PlTabs/PlTabs.vue2.js.map +1 -1
  1129. package/dist/components/PlTabs/Tab.js +1 -2
  1130. package/dist/components/PlTabs/Tab.js.map +1 -1
  1131. package/dist/components/PlTabs/Tab.vue2.js +2 -3
  1132. package/dist/components/PlTabs/Tab.vue2.js.map +1 -1
  1133. package/dist/components/PlTabs/index.js +1 -1
  1134. package/dist/components/PlTabs/pl-tabs.module.js +8 -8
  1135. package/dist/components/PlTabs/pl-tabs.module.js.map +1 -1
  1136. package/dist/components/PlTextArea/PlTextArea.js +1 -2
  1137. package/dist/components/PlTextArea/PlTextArea.js.map +1 -1
  1138. package/dist/components/PlTextArea/PlTextArea.vue2.js +13 -14
  1139. package/dist/components/PlTextArea/PlTextArea.vue2.js.map +1 -1
  1140. package/dist/components/PlTextArea/index.js +1 -1
  1141. package/dist/components/PlTextField/PlTextField.js +1 -2
  1142. package/dist/components/PlTextField/PlTextField.js.map +1 -1
  1143. package/dist/components/PlTextField/PlTextField.vue2.js +19 -20
  1144. package/dist/components/PlTextField/PlTextField.vue2.js.map +1 -1
  1145. package/dist/components/PlTextField/index.js +1 -1
  1146. package/dist/components/PlToggleSwitch/PlToggleSwitch.js +1 -2
  1147. package/dist/components/PlToggleSwitch/PlToggleSwitch.js.map +1 -1
  1148. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js +2 -3
  1149. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js.map +1 -1
  1150. package/dist/components/PlToggleSwitch/index.js +1 -1
  1151. package/dist/components/PlTooltip/PlTooltip.js +1 -2
  1152. package/dist/components/PlTooltip/PlTooltip.js.map +1 -1
  1153. package/dist/components/PlTooltip/PlTooltip.style.js +13 -13
  1154. package/dist/components/PlTooltip/PlTooltip.style.js.map +1 -1
  1155. package/dist/components/PlTooltip/PlTooltip.vue2.js +2 -3
  1156. package/dist/components/PlTooltip/PlTooltip.vue2.js.map +1 -1
  1157. package/dist/components/PlTooltip/global.js +1 -2
  1158. package/dist/components/PlTooltip/global.js.map +1 -1
  1159. package/dist/components/PlTooltip/index.js +1 -1
  1160. package/dist/components/Scrollable.js +1 -2
  1161. package/dist/components/Scrollable.js.map +1 -1
  1162. package/dist/components/Scrollable.vue2.js +2 -3
  1163. package/dist/components/Scrollable.vue2.js.map +1 -1
  1164. package/dist/components/Slider.js +1 -2
  1165. package/dist/components/Slider.js.map +1 -1
  1166. package/dist/components/Slider.vue2.js +25 -26
  1167. package/dist/components/Slider.vue2.js.map +1 -1
  1168. package/dist/components/SliderRange.js +1 -2
  1169. package/dist/components/SliderRange.js.map +1 -1
  1170. package/dist/components/SliderRange.vue2.js +56 -57
  1171. package/dist/components/SliderRange.vue2.js.map +1 -1
  1172. package/dist/components/SliderRangeTriple.js +1 -2
  1173. package/dist/components/SliderRangeTriple.js.map +1 -1
  1174. package/dist/components/SliderRangeTriple.vue2.js +46 -47
  1175. package/dist/components/SliderRangeTriple.vue2.js.map +1 -1
  1176. package/dist/components/TabItem.js +1 -2
  1177. package/dist/components/TabItem.js.map +1 -1
  1178. package/dist/components/TabItem.vue2.js +2 -3
  1179. package/dist/components/TabItem.vue2.js.map +1 -1
  1180. package/dist/components/ThemeSwitcher.js +1 -2
  1181. package/dist/components/ThemeSwitcher.js.map +1 -1
  1182. package/dist/components/ThemeSwitcher.vue2.js +2 -3
  1183. package/dist/components/ThemeSwitcher.vue2.js.map +1 -1
  1184. package/dist/components/TransitionSlidePanel.js +1 -2
  1185. package/dist/components/TransitionSlidePanel.js.map +1 -1
  1186. package/dist/components/TransitionSlidePanel.vue2.js +2 -3
  1187. package/dist/components/TransitionSlidePanel.vue2.js.map +1 -1
  1188. package/dist/components/VScroll.js +1 -2
  1189. package/dist/components/VScroll.js.map +1 -1
  1190. package/dist/components/VScroll.vue2.js +2 -3
  1191. package/dist/components/VScroll.vue2.js.map +1 -1
  1192. package/dist/components/contextMenu/Menu.js +2 -3
  1193. package/dist/components/contextMenu/Menu.js.map +1 -1
  1194. package/dist/components/contextMenu/Menu.vue2.js +2 -3
  1195. package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
  1196. package/dist/components/contextMenu/index.js +1 -2
  1197. package/dist/components/contextMenu/index.js.map +1 -1
  1198. package/dist/composition/computedCached.js +2 -7
  1199. package/dist/composition/computedCached.js.map +1 -1
  1200. package/dist/composition/filters/metadata.js +1 -2
  1201. package/dist/composition/filters/metadata.js.map +1 -1
  1202. package/dist/composition/useClickOutside.js +1 -2
  1203. package/dist/composition/useClickOutside.js.map +1 -1
  1204. package/dist/composition/useComponentProp.js +1 -2
  1205. package/dist/composition/useComponentProp.js.map +1 -1
  1206. package/dist/composition/useConfirm.js +1 -2
  1207. package/dist/composition/useConfirm.js.map +1 -1
  1208. package/dist/composition/useDraggable.js +1 -2
  1209. package/dist/composition/useDraggable.js.map +1 -1
  1210. package/dist/composition/useEventListener.js +1 -2
  1211. package/dist/composition/useEventListener.js.map +1 -1
  1212. package/dist/composition/useFilteredList.js +1 -2
  1213. package/dist/composition/useFilteredList.js.map +1 -1
  1214. package/dist/composition/useFormState.js +1 -2
  1215. package/dist/composition/useFormState.js.map +1 -1
  1216. package/dist/composition/useHover.js +2 -3
  1217. package/dist/composition/useHover.js.map +1 -1
  1218. package/dist/composition/useInterval.js +1 -2
  1219. package/dist/composition/useInterval.js.map +1 -1
  1220. package/dist/composition/useLocalStorage.js +1 -2
  1221. package/dist/composition/useLocalStorage.js.map +1 -1
  1222. package/dist/composition/useMouse.js +1 -2
  1223. package/dist/composition/useMouse.js.map +1 -1
  1224. package/dist/composition/useMouseCapture.js +1 -2
  1225. package/dist/composition/useMouseCapture.js.map +1 -1
  1226. package/dist/composition/usePollingQuery.js +82 -86
  1227. package/dist/composition/usePollingQuery.js.map +1 -1
  1228. package/dist/composition/usePosition.js +1 -2
  1229. package/dist/composition/usePosition.js.map +1 -1
  1230. package/dist/composition/useQuery.js +1 -2
  1231. package/dist/composition/useQuery.js.map +1 -1
  1232. package/dist/composition/useResizeObserver.js +1 -2
  1233. package/dist/composition/useResizeObserver.js.map +1 -1
  1234. package/dist/composition/useRipple.js +1 -2
  1235. package/dist/composition/useRipple.js.map +1 -1
  1236. package/dist/composition/useScroll.js +1 -2
  1237. package/dist/composition/useScroll.js.map +1 -1
  1238. package/dist/composition/useSliderBreakpoints.js +1 -2
  1239. package/dist/composition/useSliderBreakpoints.js.map +1 -1
  1240. package/dist/composition/useSortable.js +3 -4
  1241. package/dist/composition/useSortable.js.map +1 -1
  1242. package/dist/composition/useSortable2.js +3 -4
  1243. package/dist/composition/useSortable2.js.map +1 -1
  1244. package/dist/composition/useTheme.js +7 -8
  1245. package/dist/composition/useTheme.js.map +1 -1
  1246. package/dist/composition/useTransformedModel.js +16 -17
  1247. package/dist/composition/useTransformedModel.js.map +1 -1
  1248. package/dist/composition/useWatchFetch.js +2 -3
  1249. package/dist/composition/useWatchFetch.js.map +1 -1
  1250. package/dist/composition/utils.js +1 -2
  1251. package/dist/composition/utils.js.map +1 -1
  1252. package/dist/composition/watchCached.js +1 -2
  1253. package/dist/composition/watchCached.js.map +1 -1
  1254. package/dist/demo-site-data/all-css-variables.js +1 -2
  1255. package/dist/demo-site-data/all-css-variables.js.map +1 -1
  1256. package/dist/drafts/FileBaseInput.vue.d.ts +36 -0
  1257. package/dist/drafts/FileBaseInput.vue.d.ts.map +1 -0
  1258. package/dist/generated/icons-16.js +1 -2
  1259. package/dist/generated/icons-16.js.map +1 -1
  1260. package/dist/generated/icons-24.js +1 -2
  1261. package/dist/generated/icons-24.js.map +1 -1
  1262. package/dist/global/resizeObserver.js +1 -2
  1263. package/dist/global/resizeObserver.js.map +1 -1
  1264. package/dist/helpers/dom.js +12 -12
  1265. package/dist/helpers/dom.js.map +1 -1
  1266. package/dist/helpers/downloadContent.js +1 -2
  1267. package/dist/helpers/downloadContent.js.map +1 -1
  1268. package/dist/helpers/error.js +1 -2
  1269. package/dist/helpers/error.js.map +1 -1
  1270. package/dist/helpers/functions.js +1 -2
  1271. package/dist/helpers/functions.js.map +1 -1
  1272. package/dist/helpers/index.js +1 -2
  1273. package/dist/helpers/index.js.map +1 -1
  1274. package/dist/helpers/iterators.js +1 -2
  1275. package/dist/helpers/iterators.js.map +1 -1
  1276. package/dist/helpers/math.js +1 -2
  1277. package/dist/helpers/math.js.map +1 -1
  1278. package/dist/helpers/objects.js +3 -4
  1279. package/dist/helpers/objects.js.map +1 -1
  1280. package/dist/helpers/utils.d.ts.map +1 -1
  1281. package/dist/helpers/utils.js +10 -5
  1282. package/dist/helpers/utils.js.map +1 -1
  1283. package/dist/index.d.ts +1 -0
  1284. package/dist/index.d.ts.map +1 -1
  1285. package/dist/index.js +104 -103
  1286. package/dist/index.js.map +1 -1
  1287. package/dist/layout/PlBlockPage/PlBlockPage.js +1 -2
  1288. package/dist/layout/PlBlockPage/PlBlockPage.js.map +1 -1
  1289. package/dist/layout/PlBlockPage/PlBlockPage.style.js +6 -6
  1290. package/dist/layout/PlBlockPage/PlBlockPage.style.js.map +1 -1
  1291. package/dist/layout/PlBlockPage/PlBlockPage.vue2.js +3 -4
  1292. package/dist/layout/PlBlockPage/PlBlockPage.vue2.js.map +1 -1
  1293. package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.js +1 -2
  1294. package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.js.map +1 -1
  1295. package/dist/layout/PlBlockPage/index.js +3 -2
  1296. package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.js +1 -2
  1297. package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.js.map +1 -1
  1298. package/dist/layout/PlContainer/PlContainer.js +1 -2
  1299. package/dist/layout/PlContainer/PlContainer.js.map +1 -1
  1300. package/dist/layout/PlContainer/PlContainer.vue2.js +1 -2
  1301. package/dist/layout/PlContainer/PlContainer.vue2.js.map +1 -1
  1302. package/dist/layout/PlContainer/index.js +1 -1
  1303. package/dist/layout/PlGrid/PlGrid.js +1 -2
  1304. package/dist/layout/PlGrid/PlGrid.js.map +1 -1
  1305. package/dist/layout/PlGrid/PlGrid.vue2.js +1 -2
  1306. package/dist/layout/PlGrid/PlGrid.vue2.js.map +1 -1
  1307. package/dist/layout/PlGrid/index.js +1 -1
  1308. package/dist/layout/PlPlaceholder/PlPlaceholder.js +1 -2
  1309. package/dist/layout/PlPlaceholder/PlPlaceholder.js.map +1 -1
  1310. package/dist/layout/PlPlaceholder/PlPlaceholder.style.js +12 -12
  1311. package/dist/layout/PlPlaceholder/PlPlaceholder.style.js.map +1 -1
  1312. package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js +2 -3
  1313. package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js.map +1 -1
  1314. package/dist/layout/PlPlaceholder/index.js +4 -5
  1315. package/dist/layout/PlPlaceholder/index.js.map +1 -1
  1316. package/dist/layout/PlPlaceholder/paint-worklet.js +1 -2
  1317. package/dist/layout/PlPlaceholder/paint-worklet.js.map +1 -1
  1318. package/dist/layout/PlRow/PlRow.js +1 -2
  1319. package/dist/layout/PlRow/PlRow.js.map +1 -1
  1320. package/dist/layout/PlRow/PlRow.vue2.js +1 -2
  1321. package/dist/layout/PlRow/PlRow.vue2.js.map +1 -1
  1322. package/dist/layout/PlRow/index.js +1 -1
  1323. package/dist/layout/PlSpacer/PlSpacer.js +1 -2
  1324. package/dist/layout/PlSpacer/PlSpacer.js.map +1 -1
  1325. package/dist/layout/PlSpacer/PlSpacer.vue2.js +2 -3
  1326. package/dist/layout/PlSpacer/PlSpacer.vue2.js.map +1 -1
  1327. package/dist/layout/PlSpacer/index.js +1 -1
  1328. package/dist/utils/DoubleContour.js +1 -2
  1329. package/dist/utils/DoubleContour.js.map +1 -1
  1330. package/dist/utils/DoubleContour.vue2.js +1 -2
  1331. package/dist/utils/DoubleContour.vue2.js.map +1 -1
  1332. package/dist/utils/DropdownOverlay/DropdownOverlay.js +1 -2
  1333. package/dist/utils/DropdownOverlay/DropdownOverlay.js.map +1 -1
  1334. package/dist/utils/DropdownOverlay/DropdownOverlay.vue2.js +9 -5
  1335. package/dist/utils/DropdownOverlay/DropdownOverlay.vue2.js.map +1 -1
  1336. package/dist/utils/DropdownOverlay/index.js +1 -1
  1337. package/dist/utils/InnerBorder.js +2 -3
  1338. package/dist/utils/InnerBorder.js.map +1 -1
  1339. package/dist/utils/InnerBorder.vue2.js +1 -2
  1340. package/dist/utils/InnerBorder.vue2.js.map +1 -1
  1341. package/dist/utils/PlCloseModalBtn.js +2 -3
  1342. package/dist/utils/PlCloseModalBtn.js.map +1 -1
  1343. package/dist/utils/PlCloseModalBtn.style.js +3 -3
  1344. package/dist/utils/PlCloseModalBtn.style.js.map +1 -1
  1345. package/dist/utils/TextLabel.js +2 -3
  1346. package/dist/utils/TextLabel.js.map +1 -1
  1347. package/dist/utils/TextLabel.style.js +6 -6
  1348. package/dist/utils/TextLabel.style.js.map +1 -1
  1349. package/dist/utils/useLabelNotch.js +7 -8
  1350. package/dist/utils/useLabelNotch.js.map +1 -1
  1351. package/dist/utils/useValidation.js +2 -3
  1352. package/dist/utils/useValidation.js.map +1 -1
  1353. package/package.json +18 -13
  1354. package/src/components/DropdownListItem.vue +2 -1
  1355. package/src/components/PlColumnLabel/PlColumnLabel.vue +46 -0
  1356. package/src/components/PlColumnLabel/index.ts +1 -0
  1357. package/src/components/PlDropdown/PlDropdown.vue +13 -10
  1358. package/src/components/PlLogView/PlLogView.vue +1 -1
  1359. package/src/helpers/utils.ts +1 -0
  1360. package/src/index.ts +1 -0
  1361. /package/dist/components/PlAccordion/{PlAccordionSection.vue.css → PlAccordionSection.style.css} +0 -0
  1362. /package/dist/components/PlChartHistogram/{PlChartHistogram.vue.css → PlChartHistogram.style.css} +0 -0
  1363. /package/dist/components/PlChartStackedBar/{Legends.vue.css → Legends.style.css} +0 -0
  1364. /package/dist/components/PlChartStackedBar/{PlChartStackedBar.vue.css → PlChartStackedBar.style.css} +0 -0
  1365. /package/dist/components/PlChartStackedBar/{PlChartStackedBarCompact.vue.css → PlChartStackedBarCompact.style.css} +0 -0
  1366. /package/dist/components/PlChartStackedBar/{StackedRow.vue.css → StackedRow.style.css} +0 -0
  1367. /package/dist/components/PlChartStackedBar/{StackedRowCompact.vue.css → StackedRowCompact.style.css} +0 -0
  1368. /package/dist/components/PlClipboard/{PlClipboard.vue.css → PlClipboard.style.css} +0 -0
  1369. /package/dist/components/PlElementList/{PlElementList.vue.css → PlElementList.style.css} +0 -0
  1370. /package/dist/components/PlElementList/{PlElementListItem.vue.css → PlElementListItem.style.css} +0 -0
  1371. /package/dist/components/PlErrorAlert/{PlErrorAlert.vue.css → PlErrorAlert.style.css} +0 -0
  1372. /package/dist/components/PlFileDialog/{Shortcuts.vue.css → Shortcuts.style.css} +0 -0
  1373. /package/dist/components/PlIcon16/{PlIcon16.vue.css → PlIcon16.style.css} +0 -0
  1374. /package/dist/components/PlIcon24/{PlIcon24.vue.css → PlIcon24.style.css} +0 -0
  1375. /package/dist/components/{PlLoaderLogo.vue.css → PlLoaderLogo.style.css} +0 -0
  1376. /package/dist/components/PlRadio/{PlRadio.vue.css → PlRadio.style.css} +0 -0
  1377. /package/dist/components/PlRadio/{PlRadioGroup.vue.css → PlRadioGroup.style.css} +0 -0
  1378. /package/dist/components/PlSearchField/{PlSearchField.vue.css → PlSearchField.style.css} +0 -0
  1379. /package/dist/components/PlSectionSeparator/{PlSectionSeparator.vue.css → PlSectionSeparator.style.css} +0 -0
  1380. /package/dist/components/PlSidebar/{PlSidebarGroup.vue.css → PlSidebarGroup.style.css} +0 -0
  1381. /package/dist/components/PlSidebar/{PlSidebarItem.vue.css → PlSidebarItem.style.css} +0 -0
  1382. /package/dist/components/PlSlideModal/{PlSlideModal.vue.css → PlSlideModal.style.css} +0 -0
  1383. /package/dist/components/PlSvg/{PlSvg.vue.css → PlSvg.style.css} +0 -0
  1384. /package/dist/components/PlTooltip/{PlTooltip.vue.css → PlTooltip.style.css} +0 -0
  1385. /package/dist/layout/PlBlockPage/{PlBlockPage.vue.css → PlBlockPage.style.css} +0 -0
  1386. /package/dist/layout/PlPlaceholder/{PlPlaceholder.vue.css → PlPlaceholder.style.css} +0 -0
  1387. /package/dist/utils/{PlCloseModalBtn.vue.css → PlCloseModalBtn.style.css} +0 -0
  1388. /package/dist/utils/{TextLabel.vue.css → TextLabel.style.css} +0 -0
@@ -1,7 +1,6 @@
1
1
  import e from "./PlEditableTitle.vue2.js";
2
- //#region src/components/PlEditableTitle/PlEditableTitle.vue
2
+ // src/components/PlEditableTitle/PlEditableTitle.vue
3
3
  var t = e;
4
- //#endregion
5
4
  export { t as default };
6
5
 
7
6
  //# sourceMappingURL=PlEditableTitle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlEditableTitle.js","names":[],"sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from \"../../composition/useTransformedModel\";\nimport style from \"./pl-editable-title.module.scss\";\nimport { computed, onMounted, ref } from \"vue\";\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n /**\n * A function that validates the input value.\n * @example\n * ```ts\n * validate: (v: string) => {\n * if (v.length < 3) {\n * throw Error('Title must be at least 3 characters');\n * }\n * }\n * ```\n */\n validate?: (v: string) => unknown;\n }>(),\n {\n placeholder: \"Title\",\n maxWidth: \"80%\",\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n validate: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== \"string\") {\n throw Error(\"value should be a string\");\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n if (typeof props.validate === \"function\") {\n props.validate(v);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? \"80%\",\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n</script>\n\n<template>\n <div\n class=\"pl-editable-title\"\n :class=\"style.component\"\n :style=\"computedStyle\"\n data-testid=\"pl-editable-title\"\n >\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\" data-testid=\"pl-editable-title-prefix\">{{ prefix.trim() }}&nbsp;</span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n data-testid=\"pl-editable-title-input\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\" data-testid=\"pl-editable-title-error\">\n {{ local.error }}\n </div>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"PlEditableTitle.js","names":["_sfc_main","PlEditableTitle_vue_vue_type_script_setup_true_lang_default","PlEditableTitle_default"],"sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from \"../../composition/useTransformedModel\";\nimport style from \"./pl-editable-title.module.scss\";\nimport { computed, onMounted, ref } from \"vue\";\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n /**\n * A function that validates the input value.\n * @example\n * ```ts\n * validate: (v: string) => {\n * if (v.length < 3) {\n * throw Error('Title must be at least 3 characters');\n * }\n * }\n * ```\n */\n validate?: (v: string) => unknown;\n }>(),\n {\n placeholder: \"Title\",\n maxWidth: \"80%\",\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n validate: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== \"string\") {\n throw Error(\"value should be a string\");\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n if (typeof props.validate === \"function\") {\n props.validate(v);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? \"80%\",\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n</script>\n\n<template>\n <div\n class=\"pl-editable-title\"\n :class=\"style.component\"\n :style=\"computedStyle\"\n data-testid=\"pl-editable-title\"\n >\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\" data-testid=\"pl-editable-title-prefix\">{{ prefix.trim() }}&nbsp;</span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n data-testid=\"pl-editable-title-input\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\" data-testid=\"pl-editable-title-error\">\n {{ local.error }}\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -1,13 +1,13 @@
1
1
  import { useTransformedModel as e } from "../../composition/useTransformedModel.js";
2
2
  import t from "./pl-editable-title.module.js";
3
3
  import { computed as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, defineComponent as o, mergeModels as s, normalizeClass as c, normalizeStyle as l, onMounted as u, openBlock as d, ref as f, toDisplayString as p, unref as m, useModel as h, vModelText as g, withDirectives as _, withKeys as v } from "vue";
4
- //#region src/components/PlEditableTitle/PlEditableTitle.vue?vue&type=script&setup=true&lang.ts
4
+ // src/components/PlEditableTitle/PlEditableTitle.vue?vue&type=script&setup=true&lang.ts
5
5
  var y = {
6
6
  key: 0,
7
7
  "data-testid": "pl-editable-title-prefix"
8
- }, b = ["placeholder"], x = /* @__PURE__ */ o({
8
+ }, b = ["placeholder"], x = /*@__PURE__*/ o({
9
9
  __name: "PlEditableTitle",
10
- props: /* @__PURE__ */ s({
10
+ props: /*@__PURE__*/ s({
11
11
  placeholder: { default: "Title" },
12
12
  maxWidth: { default: "80%" },
13
13
  prefix: { default: void 0 },
@@ -61,7 +61,6 @@ var y = {
61
61
  }, p(m(S).error), 3)) : r("", !0)], 6));
62
62
  }
63
63
  });
64
- //#endregion
65
64
  export { x as default };
66
65
 
67
66
  //# sourceMappingURL=PlEditableTitle.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlEditableTitle.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from \"../../composition/useTransformedModel\";\nimport style from \"./pl-editable-title.module.scss\";\nimport { computed, onMounted, ref } from \"vue\";\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n /**\n * A function that validates the input value.\n * @example\n * ```ts\n * validate: (v: string) => {\n * if (v.length < 3) {\n * throw Error('Title must be at least 3 characters');\n * }\n * }\n * ```\n */\n validate?: (v: string) => unknown;\n }>(),\n {\n placeholder: \"Title\",\n maxWidth: \"80%\",\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n validate: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== \"string\") {\n throw Error(\"value should be a string\");\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n if (typeof props.validate === \"function\") {\n props.validate(v);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? \"80%\",\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n</script>\n\n<template>\n <div\n class=\"pl-editable-title\"\n :class=\"style.component\"\n :style=\"computedStyle\"\n data-testid=\"pl-editable-title\"\n >\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\" data-testid=\"pl-editable-title-prefix\">{{ prefix.trim() }}&nbsp;</span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n data-testid=\"pl-editable-title-input\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\" data-testid=\"pl-editable-title-error\">\n {{ local.error }}\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAKA,IAAM,IAAQ,EAAmB,GAAA,aAAE,EAE7B,IAAQ,GAiDR,IAAQ,EAAoB,GAAO;GACvC,SAAS;AACP,WAAO;;GAET,QAAQ,MAAc;AACpB,QAAI,OAAO,KAAM,SACf,OAAM,MAAM,2BAA2B;AAGzC,QAAI,EAAM,aAAa,EAAE,SAAS,EAAM,UACtC,OAAM,MAAM,uBAAuB,EAAM,UAAU,aAAa;AAGlE,QAAI,EAAM,aAAa,EAAE,SAAS,EAAM,UACtC,OAAM,MAAM,uBAAuB,EAAM,UAAU,aAAa;AAOlE,WAJI,OAAO,EAAM,YAAa,cAC5B,EAAM,SAAS,EAAE,EAGZ,EAAE,MAAM;;GAElB,CAAC,EAEI,IAAW,GAAuB,EAElC,IAAgB,SAAgB,EACpC,UAAU,EAAM,YAAY,OAC7B,EAAE,EAEG,UAAa;AAEjB,GADA,EAAM,QAAQ,EAAM,SAAS,CAAC,EAAM,QAAQ,EAAM,QAAQ,EAAM,OAChE,EAAM,OAAO;;SAGf,QAAgB;AACd,GAAI,EAAM,aACR,EAAS,OAAO,OAAO;IAEzB,kBAIA,EAqBM,OAAA;GApBJ,OAAK,EAAA,CAAC,qBACE,EAAA,EAAK,CAAC,UAAS,CAAA;GACtB,OAAK,EAAE,EAAA,MAAa;GACrB,eAAY;MAEZ,EAWM,OAAA;GAXA,OAAK,EAAE,EAAA,EAAK,CAAC,UAAS;GAAG,SAAK,AAAA,EAAA,aAAQ,EAAA,OAAU,OAAK;MAC7C,EAAA,UAAA,GAAA,EAAZ,EAA2F,QAA3F,GAA2F,EAA7B,EAAA,OAAO,MAAI,CAAA,GAAK,QAAM,EAAA,IAAA,EAAA,IAAA,GAAA,EAAA,EACpF,EAQE,SAAA;YAPI;GAAJ,KAAI;4CACK,EAAK,CAAC,QAAK;GACnB,aAAa,EAAA;GACd,eAAY;GACX,YAAU;GACV,WAAO,CAAA,AAAA,EAAA,OAAA,GAAA,GAAA,MAAS,EAAA,EAAK,CAAC,SAAN,EAAA,EAAK,CAAC,MAAK,GAAA,EAAA,EAAA,CAAA,SAAA,CAAA,EAAA,AAAA,EAAA,OAAA,GACX,MAAQ,EAAG,QAA6B,MAAI,EAAA,CAAA,QAAA,CAAA,CAAA;wBALpD,EAAA,EAAK,CAAC,MAAK,CAAA,CAAA,CAAA,EAAA,EAAA,EAQb,EAAA,EAAK,CAAC,SAAA,GAAA,EAAjB,EAEM,OAAA;;GAFmB,OAAK,EAAE,EAAA,EAAK,CAAC,MAAK;GAAE,eAAY;OACpD,EAAA,EAAK,CAAC,MAAK,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"PlEditableTitle.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_normalizeClass","_unref","style","_normalizeStyle","_createElementVNode","_toDisplayString","_createCommentVNode","_withDirectives","_withKeys","_vModelText","pl_editable_title_module_default","_hoisted_1","_hoisted_2","PlEditableTitle_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","model","useModel","__props","props","local","useTransformedModel","v","inputRef","ref","computedStyle","computed","save","onMounted","openBlock","createElementBlock","normalizeClass","unref","normalizeStyle","createElementVNode","_cache","toDisplayString","createCommentVNode","withDirectives","$event","withKeys","args","ev","vModelText"],"sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from \"../../composition/useTransformedModel\";\nimport style from \"./pl-editable-title.module.scss\";\nimport { computed, onMounted, ref } from \"vue\";\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n /**\n * A function that validates the input value.\n * @example\n * ```ts\n * validate: (v: string) => {\n * if (v.length < 3) {\n * throw Error('Title must be at least 3 characters');\n * }\n * }\n * ```\n */\n validate?: (v: string) => unknown;\n }>(),\n {\n placeholder: \"Title\",\n maxWidth: \"80%\",\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n validate: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== \"string\") {\n throw Error(\"value should be a string\");\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n if (typeof props.validate === \"function\") {\n props.validate(v);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? \"80%\",\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n</script>\n\n<template>\n <div\n class=\"pl-editable-title\"\n :class=\"style.component\"\n :style=\"computedStyle\"\n data-testid=\"pl-editable-title\"\n >\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\" data-testid=\"pl-editable-title-prefix\">{{ prefix.trim() }}&nbsp;</span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n data-testid=\"pl-editable-title-input\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\" data-testid=\"pl-editable-title-error\">\n {{ local.error }}\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAKA,IAAMmB,IAAQnB,EAAmBqB,GAAA,YAAC,GAE5BC,IAAQD,GAiDRE,IAAQC,EAAoBL,GAAO;GACvC,SAAS;IACP,OAAO;GACT;GACA,QAAQ,MAAc;IACpB,IAAI,OAAOM,KAAM,UACf,MAAM,MAAM,0BAA0B;IAGxC,IAAIH,EAAM,aAAaG,EAAE,SAASH,EAAM,WACtC,MAAM,MAAM,uBAAuBA,EAAM,UAAU,YAAY;IAGjE,IAAIA,EAAM,aAAaG,EAAE,SAASH,EAAM,WACtC,MAAM,MAAM,uBAAuBA,EAAM,UAAU,YAAY;IAOjE,OAJI,OAAOA,EAAM,YAAa,cAC5BA,EAAM,SAASG,CAAC,GAGXA,EAAE,KAAK;GAChB;EACF,CAAC,GAEKC,IAAWC,EAAsB,GAEjCC,IAAgBC,SAAgB,EACpC,UAAUP,EAAM,YAAY,MAC9B,EAAE,GAEIQ,UAAa;GAEjB,AADA,EAAM,QAAQP,EAAM,SAAS,CAACA,EAAM,QAAQA,EAAM,QAAQJ,EAAM,OAChEI,EAAM,MAAM;EACd;E,OAEAQ,QAAgB;GACd,AAAIT,EAAM,aACRI,EAAS,OAAO,MAAM;EAE1B,CAAC,I,UAICzB,EAAA,GAAAC,EAqBM,OAAA;GApBJ,OAAKC,EAAA,CAAC,qBACEC,EAAAC,CAAA,CAAK,CAAC,SAAS,CAAA;GACtB,OAAKC,EAAEsB,EAAA,KAAa;GACrB,eAAY;E,IAEZrB,EAWM,OAAA;GAXA,OAAKJ,EAAEC,EAAAC,CAAA,CAAK,CAAC,SAAS;GAAG,SAAK,AAAAiC,EAAA,aAAQZ,EAAA,OAAU,MAAK;E,IAC7CL,EAAA,UAAZpB,EAAA,GAAAC,EAA2F,QAA3FY,GAA2FN,EAA7Ba,EAAA,OAAO,KAAI,CAAA,IAAK,QAAM,CAAA,K,WACpFX,EAAAH,EAQE,SAAA;GAPI,SAAA;GAAJ,KAAImB;GACK,uBAAA,AAAAY,EAAA,QAAA,MAAA,EAAAf,CAAA,CAAK,CAAC,QAAKmB;GACnB,aAAarB,EAAA;GACd,eAAY;GACX,YAAUS;GACV,WAAO,C,YAAS,GAAAc,MAAAxC,EAAAmB,CAAA,CAAK,CAAC,SAANnB,EAAAmB,CAAA,CAAK,CAAC,MAAK,GAAAqB,CAAA,GAAA,CAAA,QAAA,CAAA,GACX,AAAAN,EAAA,OAAA3B,GAAA,MAAQkC,EAAG,QAA6B,KAAI,GAAA,CAAA,OAAA,CAAA,C;E,kBALpD,CAAAjC,GAAAR,EAAAmB,CAAA,CAAK,CAAC,KAAK,C,SAQbnB,EAAAmB,CAAA,CAAK,CAAC,SAAjBtB,EAAA,GAAAC,EAEM,OAAA;;GAFmB,OAAKC,EAAEC,EAAAC,CAAA,CAAK,CAAC,KAAK;GAAE,eAAY;EACpD,GAAAG,EAAAJ,EAAAmB,CAAA,CAAK,CAAC,KAAK,GAAA,CAAA,K"}
@@ -1 +1 @@
1
- import "./PlEditableTitle.js";
1
+ export { default as PlEditableTitle } from "./PlEditableTitle.js";
@@ -1,9 +1,9 @@
1
- import './pl-editable-title.css';var e = {
2
- component: "_component_1w6b3_1",
3
- container: "_container_1w6b3_15",
4
- error: "_error_1w6b3_69"
1
+ import './pl-editable-title.css';// src/components/PlEditableTitle/pl-editable-title.module.scss
2
+ var e = "_component_1w6b3_1", t = "_container_1w6b3_15", n = "_error_1w6b3_69", r = {
3
+ component: e,
4
+ container: t,
5
+ error: n
5
6
  };
6
- //#endregion
7
- export { e as default };
7
+ export { e as component, t as container, r as default, n as error };
8
8
 
9
9
  //# sourceMappingURL=pl-editable-title.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pl-editable-title.module.js","names":[],"sources":["../../../src/components/PlEditableTitle/pl-editable-title.module.scss"],"sourcesContent":["@use \"../../assets/mixins.scss\" as *;\n\n.component {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0;\n\n --mask-icon-bg-color: transparent;\n --mask-size: 24px;\n\n &:hover {\n --mask-icon-bg-color: var(--ic-02);\n }\n\n &:focus-within:not(&:hover) {\n --mask-icon-bg-color: transparent;\n }\n\n .container {\n position: relative;\n display: flex;\n flex-direction: row;\n gap: 0;\n align-items: center;\n margin-right: calc(var(--mask-size));\n\n span {\n font-size: 28px;\n font-weight: 500;\n line-height: 32px;\n letter-spacing: -0.56px;\n white-space: nowrap;\n }\n\n input {\n outline: none;\n border: none;\n text-overflow: ellipsis;\n cursor: text;\n field-sizing: content;\n font-size: 28px;\n font-weight: 500;\n line-height: 38px;\n letter-spacing: -0.56px;\n padding-top: 4px;\n padding-bottom: 4px;\n padding-right: 4px;\n margin: 0;\n font-family: var(--font-family-base);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n &::placeholder {\n color: var(--txt-mask);\n }\n }\n\n &::before {\n content: \"\";\n @include mask-var(url(../../assets/icons/icon-assets-min/24_edit.svg));\n position: absolute;\n right: calc((var(--mask-size)) * -1);\n bottom: 6px;\n background-color: var(--mask-icon-bg-color);\n cursor: pointer;\n }\n }\n\n .error {\n position: absolute;\n bottom: -4px;\n transform: translateY(100%);\n white-space: nowrap;\n @include field-error();\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"pl-editable-title.module.js","names":["component","container","error","pl_editable_title_module_default"],"sources":["../../../src/components/PlEditableTitle/pl-editable-title.module.scss"],"sourcesContent":["@use \"../../assets/mixins.scss\" as *;\n\n.component {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0;\n\n --mask-icon-bg-color: transparent;\n --mask-size: 24px;\n\n &:hover {\n --mask-icon-bg-color: var(--ic-02);\n }\n\n &:focus-within:not(&:hover) {\n --mask-icon-bg-color: transparent;\n }\n\n .container {\n position: relative;\n display: flex;\n flex-direction: row;\n gap: 0;\n align-items: center;\n margin-right: calc(var(--mask-size));\n\n span {\n font-size: 28px;\n font-weight: 500;\n line-height: 32px;\n letter-spacing: -0.56px;\n white-space: nowrap;\n }\n\n input {\n outline: none;\n border: none;\n text-overflow: ellipsis;\n cursor: text;\n field-sizing: content;\n font-size: 28px;\n font-weight: 500;\n line-height: 38px;\n letter-spacing: -0.56px;\n padding-top: 4px;\n padding-bottom: 4px;\n padding-right: 4px;\n margin: 0;\n font-family: var(--font-family-base);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n &::placeholder {\n color: var(--txt-mask);\n }\n }\n\n &::before {\n content: \"\";\n @include mask-var(url(../../assets/icons/icon-assets-min/24_edit.svg));\n position: absolute;\n right: calc((var(--mask-size)) * -1);\n bottom: 6px;\n background-color: var(--mask-icon-bg-color);\n cursor: pointer;\n }\n }\n\n .error {\n position: absolute;\n bottom: -4px;\n transform: translateY(100%);\n white-space: nowrap;\n @include field-error();\n }\n}\n"],"mappings":""}
@@ -1,8 +1,7 @@
1
1
  import e from "../../_virtual/_plugin-vue_export-helper.js";
2
2
  import t from "./PlElementList.vue2.js";
3
3
  import n from "./PlElementList.style.js";
4
- var r = /* @__PURE__ */ e(t, [["__cssModules", { $style: n }]]);
5
- //#endregion
4
+ var r = /*#__PURE__*/ e(t, [["__cssModules", { $style: n }]]);
6
5
  export { r as default };
7
6
 
8
7
  //# sourceMappingURL=PlElementList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlElementList.js","names":[],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"PlElementList.js","names":["style0","_sfc_main","_plugin_vue_export_helper_default","PlElementList_vue_vue_type_script_setup_true_lang_default","PlElementList_vue_vue_type_style_index_0_lang_module_default","PlElementList_default","\"$style\""],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
@@ -1,9 +1,9 @@
1
- import './PlElementList.vue.css';var e = {
2
- root: "_root_11nk6_2",
3
- list: "_list_11nk6_3",
4
- item: "_item_11nk6_10"
1
+ import './PlElementList.style.css';// src/components/PlElementList/PlElementList.vue?vue&type=style&index=0&lang.module.css
2
+ var e = "_root_11nk6_2", t = "_list_11nk6_3", n = "_item_11nk6_10", r = {
3
+ root: e,
4
+ list: t,
5
+ item: n
5
6
  };
6
- //#endregion
7
- export { e as default };
7
+ export { r as default, n as item, t as list, e as root };
8
8
 
9
9
  //# sourceMappingURL=PlElementList.style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlElementList.vue_vue_type_style_index_0_lang.module.js","names":[],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"PlElementList.vue_vue_type_style_index_0_lang.module.js","names":["root","list","item","PlElementList_vue_vue_type_style_index_0_lang_module_default"],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
@@ -3,10 +3,10 @@ import { moveElements as t } from "./utils.js";
3
3
  import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as ee, createSlots as s, defineComponent as c, mergeModels as l, normalizeClass as u, openBlock as d, renderList as f, renderSlot as p, shallowRef as m, unref as h, useModel as te, useSlots as ne, watch as re, withCtx as g } from "vue";
4
4
  import { isFunction as _, shallowHash as v } from "@milaboratories/helpers";
5
5
  import { useSortable as ie } from "@vueuse/integrations/useSortable";
6
- //#region src/components/PlElementList/PlElementList.vue?vue&type=script&setup=true&lang.ts
7
- var y = /* @__PURE__ */ c({
6
+ // src/components/PlElementList/PlElementList.vue?vue&type=script&setup=true&lang.ts
7
+ var y = /*@__PURE__*/ c({
8
8
  __name: "PlElementList",
9
- props: /* @__PURE__ */ l({
9
+ props: /*@__PURE__*/ l({
10
10
  getItemKey: {
11
11
  type: Function,
12
12
  default: (e) => JSON.stringify(e)
@@ -135,7 +135,7 @@ var y = /* @__PURE__ */ c({
135
135
  items: { required: !0 },
136
136
  itemsModifiers: {}
137
137
  }),
138
- emits: /* @__PURE__ */ l(["itemClick"], ["update:items"]),
138
+ emits: /*@__PURE__*/ l(["itemClick"], ["update:items"]),
139
139
  setup(c, { emit: l }) {
140
140
  let y = te(c, "items"), b = c, x = l, S = ne(), C = r(() => b.disableDragging !== !0), w = r(() => y.value.map((e, t) => [t, e]).filter(([e, t]) => V(t, e))), ae = r(() => w.value.length > 0), T = r(() => y.value.map((e, t) => [t, e]).filter(([e, t]) => !V(t, e))), E = r(() => T.value.length > 0), D = m(), O = m(), k = m(), A = (e) => `${oe.value}-${b.getItemKey(e[1], e[0])}`, j = r(() => w.value.map(A)), M = r(() => T.value.map(A)), oe = r((e) => {
141
141
  let t = y.value.map(b.getItemKey);
@@ -367,7 +367,6 @@ var y = /* @__PURE__ */ c({
367
367
  ]))), 128))], 2)) : a("", !0)], 2));
368
368
  }
369
369
  });
370
- //#endregion
371
370
  export { y as default };
372
371
 
373
372
  //# sourceMappingURL=PlElementList.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlElementList.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"PlElementList.vue_vue_type_script_setup_true_lang.js","names":["$style","_useModel","_useSlots","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_Fragment","_renderList","_createBlock","PlElementListItem","_unref","_createSlots","_withCtx","_renderSlot","_createCommentVNode","PlElementListItem_default","PlElementList_vue_vue_type_script_setup_true_lang_default","item","\"items\"","\"itemsModifiers\"","__emit","itemsRef","useModel","__props","props","emits","slots","useSlots","dndSortingEnabled","computed","pinnedItemsRef","index","isPinnedItem","hasPinnedItems","unpinnedItemsRef","hasUnpinnedItems","domProjectionItemsRef","shallowRef","pinnedContainerRef","unpinnedContainerRef","getKey","versionRef","entry","pinnedKeysRef","unpinnedKeysRef","currentKeys","oldVersion","shallowHash","domProjectionKeys","domProjectionKeysSet","i","createSortable","sortable","useSortable","elRef","evt","moveItems","getOffset","watch","toggler","disabled","on","oldIndex","newIndex","afterUpdateDom","moveElements","isActiveItem","isDraggableItem","isRemovableItem","isToggableItem","isFunction","isToggledItem","isPinnableItem","isExpandableItem","isExpandedItem","handleExpand","handleToggle","handlePin","alreadyPinned","originalIndex","handleRemove","getClassFunction","propsItemClass","getItemClass","getItemClassTitle","getItemClassContent","getItemClassBefore","getItemClassAfter","openBlock","createElementBlock","normalizeClass","_ctx","createElementVNode","Fragment","renderList","createBlock","pinnedIndex","unref","createSlots","withCtx","renderSlot","unpinnedIndex","createCommentVNode"],"sources":["../../../src/components/PlElementList/PlElementList.vue"],"sourcesContent":["<script\n generic=\"T extends unknown = unknown, K extends number | string = number | string\"\n lang=\"ts\"\n setup\n>\nimport { isFunction, shallowHash } from \"@milaboratories/helpers\";\nimport { useSortable } from \"@vueuse/integrations/useSortable\";\nimport { type SortableEvent } from \"sortablejs\";\nimport type { ShallowRef } from \"vue\";\nimport { computed, shallowRef, watch } from \"vue\";\nimport PlElementListItem from \"./PlElementListItem.vue\";\nimport { moveElements } from \"./utils.ts\";\n\ntype ItemEntry = [idx: number, item: T];\n\nconst itemsRef = defineModel<T[]>(\"items\", { required: true });\n\nconst props = withDefaults(\n defineProps<{\n getItemKey?: (item: T, index: number) => K;\n\n itemClass?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassTitle?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassBefore?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassAfter?: string | string[] | ((item: T, index: number) => string | string[]);\n itemClassContent?: string | string[] | ((item: T, index: number) => string | string[]);\n isActive?: (item: T, index: number) => boolean;\n\n disableDragging?: boolean;\n isDraggable?: (item: T, index: number) => boolean;\n onDragEnd?: (oldIndex: number, newIndex: number) => void | boolean;\n onSort?: (oldIndex: number, newIndex: number) => void | boolean;\n\n disableRemoving?: boolean;\n isRemovable?: (item: T, index: number) => boolean;\n onRemove?: (item: T, index: number) => void | boolean;\n\n disableExpanding?: boolean;\n isExpandable?: (item: T, index: number) => boolean;\n isExpanded?: (item: T, index: number) => boolean;\n onExpand?: (item: T, index: number) => unknown;\n\n disableToggling?: boolean;\n isToggable?: (item: T, index: number) => boolean;\n isToggled?: (item: T, index: number) => boolean;\n onToggle?: (item: T, index: number) => unknown;\n\n disablePinning?: boolean;\n isPinnable?: (item: T, index: number) => boolean;\n isPinned?: (item: T, index: number) => boolean;\n onPin?: (item: T, index: number) => void | boolean;\n }>(),\n {\n getItemKey: (item: T) => JSON.stringify(item) as K,\n\n itemClass: undefined,\n itemClassTitle: undefined,\n itemClassContent: undefined,\n itemClassBefore: undefined,\n itemClassAfter: undefined,\n isActive: undefined,\n\n disableDragging: undefined,\n isDraggable: undefined,\n onDragEnd: undefined,\n onSort: undefined,\n\n disableRemoving: undefined,\n isRemovable: undefined,\n onRemove: undefined,\n\n disableExpanding: undefined,\n isExpandable: undefined,\n isExpanded: undefined,\n onExpand: undefined,\n\n disableToggling: undefined,\n isToggable: undefined,\n isToggled: undefined,\n onToggle: undefined,\n\n disablePinning: undefined,\n isPinnable: undefined,\n isPinned: undefined,\n onPin: undefined,\n },\n);\n\nconst emits = defineEmits<{\n (e: \"itemClick\", item: T): void;\n}>();\n\nconst slots = defineSlots<{\n [\"item-title\"]: (props: { item: T; index: number }) => unknown;\n [\"item-content\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-before\"]?: (props: { item: T; index: number }) => unknown;\n [\"item-after\"]?: (props: { item: T; index: number }) => unknown;\n}>();\n\nconst dndSortingEnabled = computed((): boolean => {\n return props.disableDragging !== true;\n});\n\nconst pinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => isPinnedItem(item, index)),\n);\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value\n .map((item, index) => [index, item] as ItemEntry)\n .filter(([index, item]) => !isPinnedItem(item, index)),\n);\nconst hasUnpinnedItems = computed(() => unpinnedItemsRef.value.length > 0);\n\nconst domProjectionItemsRef = shallowRef<undefined | T[]>();\nconst pinnedContainerRef = shallowRef<HTMLElement>();\nconst unpinnedContainerRef = shallowRef<HTMLElement>();\n\n// version fix problem with sync between data and rendered values\nconst getKey = (entry: ItemEntry) => {\n return `${versionRef.value}-${props.getItemKey(entry[1], entry[0])}`;\n};\nconst pinnedKeysRef = computed(() => pinnedItemsRef.value.map(getKey));\nconst unpinnedKeysRef = computed(() => unpinnedItemsRef.value.map(getKey));\n\n// version fix problem with sync between data and rendered values when items have been changed\nconst versionRef = computed<number>((oldVersion) => {\n const currentKeys = itemsRef.value.map(props.getItemKey);\n\n if (domProjectionItemsRef.value === undefined) return oldVersion ?? shallowHash(...currentKeys);\n if (currentKeys.length !== domProjectionItemsRef.value.length) return shallowHash(...currentKeys);\n\n const domProjectionKeys = domProjectionItemsRef.value.map(props.getItemKey);\n const domProjectionKeysSet = new Set(domProjectionKeys);\n\n for (let i = 0; i < currentKeys.length; i++) {\n const hasInconsistentPosition =\n domProjectionKeysSet.has(currentKeys[i]) && domProjectionKeys[i] !== currentKeys[i];\n\n if (hasInconsistentPosition) {\n return shallowHash(...currentKeys);\n }\n }\n\n return oldVersion ?? shallowHash(...currentKeys);\n});\n\ncreateSortable(hasPinnedItems, pinnedContainerRef, pinnedItemsRef, () => 0);\ncreateSortable(\n hasUnpinnedItems,\n unpinnedContainerRef,\n unpinnedItemsRef,\n () => pinnedItemsRef.value.length,\n);\n\nfunction createSortable(\n toggler: ShallowRef<boolean>,\n elRef: ShallowRef<undefined | HTMLElement>,\n itemsRef: ShallowRef<ItemEntry[]>,\n getOffset: () => number,\n) {\n const sortable = useSortable(elRef, itemsRef, {\n handle: `[data-draggable=\"true\"]`,\n animation: 150,\n forceFallback: true,\n fallbackOnBody: true,\n scrollSensitivity: 80,\n forceAutoScrollFallback: true,\n onUpdate: (evt: SortableEvent) => {\n if (evt.oldIndex == null || evt.newIndex == null) {\n throw new Error(\"Sortable event has no index\");\n }\n if (props.onDragEnd?.(evt.oldIndex, evt.newIndex) !== false) {\n moveItems(getOffset() + evt.oldIndex, getOffset() + evt.newIndex, true);\n }\n },\n });\n watch(\n [elRef, () => props.disableDragging, toggler],\n ([elRef, disabled, on]) => {\n if (!elRef || disabled || !on) {\n sortable.stop();\n } else {\n sortable.start();\n }\n },\n { immediate: true },\n );\n\n return sortable;\n}\n\nfunction moveItems(oldIndex: number, newIndex: number, afterUpdateDom: boolean) {\n if (oldIndex === newIndex) return;\n\n if (afterUpdateDom) {\n domProjectionItemsRef.value = moveElements(itemsRef.value.slice(), oldIndex, newIndex);\n }\n\n const preventDefault = props.onSort?.(oldIndex, newIndex) === false;\n\n if (!preventDefault) {\n itemsRef.value = moveElements(itemsRef.value, oldIndex, newIndex);\n }\n}\n\nfunction isActiveItem(item: T, index: number): boolean {\n return props.isActive?.(item, index) ?? false;\n}\n\nfunction isDraggableItem(item: T, index: number): boolean {\n if (props.disableDragging === true) return false;\n return props.isDraggable?.(item, index) ?? true;\n}\n\nfunction isRemovableItem(item: T, index: number): boolean {\n if (props.disableRemoving === true) return false;\n return props.isRemovable?.(item, index) ?? true;\n}\n\nfunction isToggableItem(item: T, index: number): boolean {\n if (props.disableToggling === true) return false;\n return (\n props.isToggable?.(item, index) ?? (isFunction(props.isToggled) || isFunction(props.onToggle))\n );\n}\n\nfunction isToggledItem(item: T, index: number): boolean {\n return props.isToggled?.(item, index) ?? false;\n}\n\nfunction isPinnableItem(item: T, index: number): boolean {\n if (props.disablePinning === true) return false;\n return props.isPinnable?.(item, index) ?? (isFunction(props.isPinned) || isFunction(props.onPin));\n}\n\nfunction isPinnedItem(item: T, index: number): boolean {\n return props.isPinned?.(item, index) ?? false;\n}\n\nfunction isExpandableItem(item: T, index: number): boolean {\n if (props.disableExpanding === true) return false;\n return (\n props.isExpandable?.(item, index) ??\n (isFunction(props.isExpanded) || isFunction(props.onExpand))\n );\n}\n\nfunction isExpandedItem(item: T, index: number): boolean {\n return props.isExpanded?.(item, index) ?? false;\n}\n\nfunction handleExpand(item: T, index: number) {\n props.onExpand?.(item, index);\n}\n\nfunction handleToggle(item: T, index: number) {\n props.onToggle?.(item, index);\n}\n\nfunction handlePin(item: T, index: number) {\n if (index === -1) {\n throw new Error(\"Pinnable item not found\");\n }\n\n const alreadyPinned =\n pinnedItemsRef.value.findIndex(([originalIndex]) => originalIndex === index) !== -1;\n\n if (props.onPin?.(item, index) === false) return;\n\n moveItems(index, pinnedItemsRef.value.length + (alreadyPinned ? 0 : -1), false);\n}\n\nfunction handleRemove(item: T, index: number) {\n if (props.onRemove?.(item, index) === false) return;\n itemsRef.value = [...itemsRef.value.slice(0, index), ...itemsRef.value.slice(index + 1)];\n}\n\nfunction getClassFunction(\n propsItemClass: string | string[] | ((item: T, index: number) => string | string[]) | undefined,\n): (item: T, index: number) => null | string | string[] {\n return (item: T, index: number): null | string | string[] => {\n if (typeof propsItemClass === \"function\") {\n return propsItemClass(item, index);\n }\n return propsItemClass ?? null;\n };\n}\nconst getItemClass = getClassFunction(props.itemClass);\nconst getItemClassTitle = getClassFunction(props.itemClassTitle);\nconst getItemClassContent = getClassFunction(props.itemClassContent);\nconst getItemClassBefore = getClassFunction(props.itemClassBefore);\nconst getItemClassAfter = getClassFunction(props.itemClassAfter);\n</script>\n\n<template>\n <div data-testid=\"pl-element-list\" :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" data-testid=\"pl-element-list-pinned\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"([originalIndex, item], pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template v-if=\"slots['item-before']\" #before=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-before\" />\n </template>\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n <div\n v-if=\"hasUnpinnedItems\"\n ref=\"unpinnedContainerRef\"\n data-testid=\"pl-element-list-unpinned\"\n :class=\"$style.list\"\n >\n <PlElementListItem\n v-for=\"([originalIndex, item], unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(item, originalIndex)]\"\n :titleClass=\"getItemClassTitle(item, originalIndex)\"\n :contentClass=\"getItemClassContent(item, originalIndex)\"\n :beforeClass=\"getItemClassBefore(item, originalIndex)\"\n :afterClass=\"getItemClassAfter(item, originalIndex)\"\n :index=\"originalIndex\"\n :item=\"item\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(item, originalIndex)\"\n :isDraggable=\"isDraggableItem(item, originalIndex)\"\n :isRemovable=\"isRemovableItem(item, originalIndex)\"\n :isToggable=\"isToggableItem(item, originalIndex)\"\n :isToggled=\"isToggledItem(item, originalIndex)\"\n :isPinnable=\"isPinnableItem(item, originalIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(item, originalIndex)\"\n :isExpanded=\"isExpandedItem(item, originalIndex)\"\n @click=\"emits('itemClick', item)\"\n @remove=\"handleRemove\"\n @toggle=\"handleToggle\"\n @pin=\"handlePin\"\n @expand=\"handleExpand\"\n >\n <template #title=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-title\" />\n </template>\n <template v-if=\"slots['item-content']\" #content=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-content\" />\n </template>\n <template v-if=\"slots['item-after']\" #after=\"{ item, index }\">\n <slot :index=\"index\" :item=\"item\" name=\"item-after\" />\n </template>\n </PlElementListItem>\n </div>\n </div>\n</template>\n\n<style module>\n.root,\n.list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 180px;\n}\n\n.item {\n width: 100%;\n}\n\n:global(.sortable-ghost) {\n visibility: hidden;\n}\n:global(.sortable-drag) {\n opacity: 1;\n}\n</style>\n"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import e from "../../_virtual/_plugin-vue_export-helper.js";
2
2
  import t from "./PlElementListItem.vue2.js";
3
3
  import n from "./PlElementListItem.style.js";
4
- var r = /* @__PURE__ */ e(t, [["__cssModules", { $style: n }]]);
5
- //#endregion
4
+ var r = /*#__PURE__*/ e(t, [["__cssModules", { $style: n }]]);
6
5
  export { r as default };
7
6
 
8
7
  //# sourceMappingURL=PlElementListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlElementListItem.js","names":[],"sources":["../../../src/components/PlElementList/PlElementListItem.vue"],"sourcesContent":["<script generic=\"T extends unknown = unknown\" lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport { PlIcon16 } from \"../PlIcon16\";\nimport { PlIcon24 } from \"../PlIcon24\";\n\nconst props = defineProps<{\n item: T;\n index: number;\n showDragHandle: boolean;\n isActive: boolean;\n isDraggable: boolean;\n isRemovable: boolean;\n isExpandable: boolean;\n isExpanded: boolean;\n isToggable: boolean;\n isToggled: boolean;\n isPinnable: boolean;\n isPinned: boolean;\n titleClass: string | string[] | null;\n contentClass: string | string[] | null;\n afterClass: string | string[] | null;\n beforeClass: string | string[] | null;\n}>();\ndefineOptions({ inheritAttrs: false });\n\nconst slots = defineSlots<{\n title: (props: { item: T; index: number }) => unknown;\n content?: (props: { item: T; index: number }) => unknown;\n after?: (props: { item: T; index: number }) => unknown;\n before?: (props: { item: T; index: number }) => unknown;\n}>();\nconst hasContentSlot = computed(() => slots[\"content\"] !== undefined);\nconst hasAfterSlot = computed(() => slots[\"after\"] !== undefined);\nconst hasBeforeSlot = computed(() => slots[\"before\"] !== undefined);\n\nconst emit = defineEmits<{\n (e: \"click\", item: MouseEvent): void;\n (e: \"expand\", item: T, index: number): void;\n (e: \"toggle\", item: T, index: number): void;\n (e: \"pin\", item: T, index: number): void;\n (e: \"remove\", item: T, index: number): void;\n}>();\n</script>\n\n<template>\n <div data-testid=\"pl-element-list-item\" @click=\"(event) => emit('click', event)\">\n <div v-if=\"hasBeforeSlot\" data-testid=\"pl-element-list-item-before\" :class=\"beforeClass\">\n <slot name=\"before\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n <div\n data-testid=\"pl-element-list-item-card\"\n :class=\"[\n $style.root,\n $attrs.class,\n {\n [$style.active]: props.isActive,\n [$style.pinned]: props.isPinned,\n [$style.opened]: props.isExpanded,\n [$style.disabled]: props.isToggled,\n },\n ]\"\n >\n <div\n data-testid=\"pl-element-list-item-head\"\n :class=\"[\n $style.head,\n titleClass,\n {\n [$style.clickable]: hasContentSlot,\n },\n ]\"\n @click=\"isExpandable && emit('expand', props.item, props.index)\"\n >\n <div v-if=\"props.showDragHandle || isExpandable\" :class=\"$style.headIcons\">\n <div\n v-if=\"props.showDragHandle\"\n data-testid=\"pl-element-list-item-drag\"\n :class=\"[$style.action, $style.draggable, { [$style.disable]: !props.isDraggable }]\"\n :data-draggable=\"props.isDraggable\"\n >\n <PlIcon16 name=\"drag-dots\" />\n </div>\n <PlIcon16\n v-if=\"isExpandable\"\n data-testid=\"pl-element-list-item-expand\"\n :class=\"[$style.contentChevron, { [$style.opened]: props.isExpanded }]\"\n name=\"chevron-down\"\n />\n </div>\n\n <div data-testid=\"pl-element-list-item-title\" :class=\"$style.title\">\n <slot name=\"title\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n\n <div\n data-testid=\"pl-element-list-item-actions\"\n :class=\"[$style.actions, $style.showOnHover]\"\n >\n <div\n v-if=\"props.isToggable\"\n data-testid=\"pl-element-list-item-toggle\"\n :class=\"[$style.action, $style.clickable, { [$style.disable]: !props.isToggable }]\"\n @click.stop=\"emit('toggle', props.item, props.index)\"\n >\n <PlIcon24 :name=\"props.isToggled === true ? 'view-hide' : 'view-show'\" size=\"16\" />\n </div>\n <div\n v-if=\"props.isPinnable\"\n data-testid=\"pl-element-list-item-pin\"\n :class=\"[\n $style.action,\n $style.clickable,\n {\n [$style.disable]: !props.isPinnable,\n [$style.activated]: props.isPinned,\n },\n ]\"\n @click.stop=\"emit('pin', props.item, props.index)\"\n >\n <PlIcon24 name=\"pin\" size=\"16\" />\n </div>\n <div\n v-if=\"props.isRemovable\"\n data-testid=\"pl-element-list-item-remove\"\n :class=\"[$style.action, $style.clickable]\"\n @click.stop=\"emit('remove', props.item, props.index)\"\n >\n <PlIcon16 name=\"close\" />\n </div>\n </div>\n </div>\n <div\n v-if=\"hasContentSlot && props.isExpanded\"\n data-testid=\"pl-element-list-item-content\"\n :class=\"[$style.body, contentClass, { [$style.disabled]: props.isToggled }]\"\n >\n <slot name=\"content\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n </div>\n <div v-if=\"hasAfterSlot\" data-testid=\"pl-element-list-item-after\" :class=\"afterClass\">\n <slot name=\"after\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n </div>\n</template>\n\n<style module>\n@use \"../../assets/variables.scss\" as *;\n\n.root {\n --background: rgba(255, 255, 255, 0.8);\n --border-color: var(--color-div-grey);\n --head-background: unset;\n --box-shadow: none;\n --box-shadow-active: 0 0 0 4px color-mix(in srgb, var(--border-color-focus) 50%, transparent);\n\n &:global(.sortable-drag),\n &:global(.sortable-chosen) {\n --head-background: var(--gradient-light-lime);\n --border-color: var(--border-color-focus);\n --box-shadow: var(--box-shadow-active);\n }\n}\n.root {\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-radius: var(--border-radius);\n border: 1px solid var(--border-color);\n background-color: var(--background);\n transition: box-shadow 0.15s;\n box-shadow: var(--box-shadow);\n overflow: hidden;\n\n &:hover {\n --border-color: var(--border-color-focus);\n --head-background: var(--gradient-light-lime);\n }\n\n &.opened {\n --head-background: var(--gradient-light-lime);\n }\n\n &.disabled {\n --icon-color: var(--ic-02);\n --border-color: var(--border-color-div-grey);\n color: var(--txt-03);\n filter: grayscale(1);\n }\n\n &.pinned {\n --background: var(--bg-base-light);\n }\n\n &.active {\n --border-color: var(--border-color-focus);\n --head-background: var(--btn-accent-positive-500);\n }\n}\n\n.head {\n position: relative;\n display: flex;\n align-items: center;\n padding: 8px;\n min-height: 40px;\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n background: var(--head-background);\n}\n\n.headIcons {\n display: flex;\n align-items: center;\n align-self: flex-start;\n height: 24px;\n flex: 0 0 auto;\n}\n\n.contentChevron {\n display: block;\n width: 16px;\n height: 16px;\n margin-right: 4px;\n transform: rotate(-90deg);\n transition: transform 0.15s;\n\n &.opened {\n transform: rotate(0deg);\n }\n}\n\n.title {\n display: flex;\n flex-direction: row;\n flex: 1 1 0;\n gap: 8px;\n overflow: hidden;\n}\n\n.body {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 24px;\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n\n &.disabled {\n pointer-events: none;\n }\n}\n\n.actions {\n position: absolute;\n top: 8px;\n right: 8px;\n display: flex;\n align-items: center;\n background-color: var(--background);\n border-radius: var(--border-radius);\n}\n\n.action {\n width: 24px;\n height: 24px;\n padding: 4px; /* use padding instead of gap on parent, for better accessibility */\n opacity: 0.6;\n border-radius: var(--border-radius);\n transition: all 0.15s;\n\n svg {\n width: 16px;\n height: 16px;\n }\n\n &:hover {\n opacity: 1;\n background-color: var(--bg-elevated-02);\n }\n\n &.activated {\n opacity: 0.8;\n }\n\n &.disable {\n cursor: not-allowed;\n opacity: 0.4;\n }\n}\n\n.clickable {\n cursor: pointer;\n}\n\n.draggable {\n cursor: grab;\n}\n\n.showOnHover {\n opacity: 0;\n transition: opacity 0.15s;\n}\n\n.root:hover .showOnHover {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"PlElementListItem.js","names":["style0","_sfc_main","_plugin_vue_export_helper_default","PlElementListItem_vue_vue_type_script_setup_true_lang_default","PlElementListItem_vue_vue_type_style_index_0_lang_module_default","PlElementListItem_default","\"$style\""],"sources":["../../../src/components/PlElementList/PlElementListItem.vue"],"sourcesContent":["<script generic=\"T extends unknown = unknown\" lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport { PlIcon16 } from \"../PlIcon16\";\nimport { PlIcon24 } from \"../PlIcon24\";\n\nconst props = defineProps<{\n item: T;\n index: number;\n showDragHandle: boolean;\n isActive: boolean;\n isDraggable: boolean;\n isRemovable: boolean;\n isExpandable: boolean;\n isExpanded: boolean;\n isToggable: boolean;\n isToggled: boolean;\n isPinnable: boolean;\n isPinned: boolean;\n titleClass: string | string[] | null;\n contentClass: string | string[] | null;\n afterClass: string | string[] | null;\n beforeClass: string | string[] | null;\n}>();\ndefineOptions({ inheritAttrs: false });\n\nconst slots = defineSlots<{\n title: (props: { item: T; index: number }) => unknown;\n content?: (props: { item: T; index: number }) => unknown;\n after?: (props: { item: T; index: number }) => unknown;\n before?: (props: { item: T; index: number }) => unknown;\n}>();\nconst hasContentSlot = computed(() => slots[\"content\"] !== undefined);\nconst hasAfterSlot = computed(() => slots[\"after\"] !== undefined);\nconst hasBeforeSlot = computed(() => slots[\"before\"] !== undefined);\n\nconst emit = defineEmits<{\n (e: \"click\", item: MouseEvent): void;\n (e: \"expand\", item: T, index: number): void;\n (e: \"toggle\", item: T, index: number): void;\n (e: \"pin\", item: T, index: number): void;\n (e: \"remove\", item: T, index: number): void;\n}>();\n</script>\n\n<template>\n <div data-testid=\"pl-element-list-item\" @click=\"(event) => emit('click', event)\">\n <div v-if=\"hasBeforeSlot\" data-testid=\"pl-element-list-item-before\" :class=\"beforeClass\">\n <slot name=\"before\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n <div\n data-testid=\"pl-element-list-item-card\"\n :class=\"[\n $style.root,\n $attrs.class,\n {\n [$style.active]: props.isActive,\n [$style.pinned]: props.isPinned,\n [$style.opened]: props.isExpanded,\n [$style.disabled]: props.isToggled,\n },\n ]\"\n >\n <div\n data-testid=\"pl-element-list-item-head\"\n :class=\"[\n $style.head,\n titleClass,\n {\n [$style.clickable]: hasContentSlot,\n },\n ]\"\n @click=\"isExpandable && emit('expand', props.item, props.index)\"\n >\n <div v-if=\"props.showDragHandle || isExpandable\" :class=\"$style.headIcons\">\n <div\n v-if=\"props.showDragHandle\"\n data-testid=\"pl-element-list-item-drag\"\n :class=\"[$style.action, $style.draggable, { [$style.disable]: !props.isDraggable }]\"\n :data-draggable=\"props.isDraggable\"\n >\n <PlIcon16 name=\"drag-dots\" />\n </div>\n <PlIcon16\n v-if=\"isExpandable\"\n data-testid=\"pl-element-list-item-expand\"\n :class=\"[$style.contentChevron, { [$style.opened]: props.isExpanded }]\"\n name=\"chevron-down\"\n />\n </div>\n\n <div data-testid=\"pl-element-list-item-title\" :class=\"$style.title\">\n <slot name=\"title\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n\n <div\n data-testid=\"pl-element-list-item-actions\"\n :class=\"[$style.actions, $style.showOnHover]\"\n >\n <div\n v-if=\"props.isToggable\"\n data-testid=\"pl-element-list-item-toggle\"\n :class=\"[$style.action, $style.clickable, { [$style.disable]: !props.isToggable }]\"\n @click.stop=\"emit('toggle', props.item, props.index)\"\n >\n <PlIcon24 :name=\"props.isToggled === true ? 'view-hide' : 'view-show'\" size=\"16\" />\n </div>\n <div\n v-if=\"props.isPinnable\"\n data-testid=\"pl-element-list-item-pin\"\n :class=\"[\n $style.action,\n $style.clickable,\n {\n [$style.disable]: !props.isPinnable,\n [$style.activated]: props.isPinned,\n },\n ]\"\n @click.stop=\"emit('pin', props.item, props.index)\"\n >\n <PlIcon24 name=\"pin\" size=\"16\" />\n </div>\n <div\n v-if=\"props.isRemovable\"\n data-testid=\"pl-element-list-item-remove\"\n :class=\"[$style.action, $style.clickable]\"\n @click.stop=\"emit('remove', props.item, props.index)\"\n >\n <PlIcon16 name=\"close\" />\n </div>\n </div>\n </div>\n <div\n v-if=\"hasContentSlot && props.isExpanded\"\n data-testid=\"pl-element-list-item-content\"\n :class=\"[$style.body, contentClass, { [$style.disabled]: props.isToggled }]\"\n >\n <slot name=\"content\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n </div>\n <div v-if=\"hasAfterSlot\" data-testid=\"pl-element-list-item-after\" :class=\"afterClass\">\n <slot name=\"after\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n </div>\n</template>\n\n<style module>\n@use \"../../assets/variables.scss\" as *;\n\n.root {\n --background: rgba(255, 255, 255, 0.8);\n --border-color: var(--color-div-grey);\n --head-background: unset;\n --box-shadow: none;\n --box-shadow-active: 0 0 0 4px color-mix(in srgb, var(--border-color-focus) 50%, transparent);\n\n &:global(.sortable-drag),\n &:global(.sortable-chosen) {\n --head-background: var(--gradient-light-lime);\n --border-color: var(--border-color-focus);\n --box-shadow: var(--box-shadow-active);\n }\n}\n.root {\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-radius: var(--border-radius);\n border: 1px solid var(--border-color);\n background-color: var(--background);\n transition: box-shadow 0.15s;\n box-shadow: var(--box-shadow);\n overflow: hidden;\n\n &:hover {\n --border-color: var(--border-color-focus);\n --head-background: var(--gradient-light-lime);\n }\n\n &.opened {\n --head-background: var(--gradient-light-lime);\n }\n\n &.disabled {\n --icon-color: var(--ic-02);\n --border-color: var(--border-color-div-grey);\n color: var(--txt-03);\n filter: grayscale(1);\n }\n\n &.pinned {\n --background: var(--bg-base-light);\n }\n\n &.active {\n --border-color: var(--border-color-focus);\n --head-background: var(--btn-accent-positive-500);\n }\n}\n\n.head {\n position: relative;\n display: flex;\n align-items: center;\n padding: 8px;\n min-height: 40px;\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n background: var(--head-background);\n}\n\n.headIcons {\n display: flex;\n align-items: center;\n align-self: flex-start;\n height: 24px;\n flex: 0 0 auto;\n}\n\n.contentChevron {\n display: block;\n width: 16px;\n height: 16px;\n margin-right: 4px;\n transform: rotate(-90deg);\n transition: transform 0.15s;\n\n &.opened {\n transform: rotate(0deg);\n }\n}\n\n.title {\n display: flex;\n flex-direction: row;\n flex: 1 1 0;\n gap: 8px;\n overflow: hidden;\n}\n\n.body {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 24px;\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n\n &.disabled {\n pointer-events: none;\n }\n}\n\n.actions {\n position: absolute;\n top: 8px;\n right: 8px;\n display: flex;\n align-items: center;\n background-color: var(--background);\n border-radius: var(--border-radius);\n}\n\n.action {\n width: 24px;\n height: 24px;\n padding: 4px; /* use padding instead of gap on parent, for better accessibility */\n opacity: 0.6;\n border-radius: var(--border-radius);\n transition: all 0.15s;\n\n svg {\n width: 16px;\n height: 16px;\n }\n\n &:hover {\n opacity: 1;\n background-color: var(--bg-elevated-02);\n }\n\n &.activated {\n opacity: 0.8;\n }\n\n &.disable {\n cursor: not-allowed;\n opacity: 0.4;\n }\n}\n\n.clickable {\n cursor: pointer;\n}\n\n.draggable {\n cursor: grab;\n}\n\n.showOnHover {\n opacity: 0;\n transition: opacity 0.15s;\n}\n\n.root:hover .showOnHover {\n opacity: 1;\n}\n</style>\n"],"mappings":""}
@@ -1,23 +1,23 @@
1
- import './PlElementListItem.vue.css';var e = {
2
- root: "_root_14opm_4",
3
- opened: "_opened_14opm_34",
4
- disabled: "_disabled_14opm_38",
5
- pinned: "_pinned_14opm_45",
6
- active: "_active_14opm_49",
7
- head: "_head_14opm_55",
8
- headIcons: "_headIcons_14opm_65",
9
- contentChevron: "_contentChevron_14opm_73",
10
- title: "_title_14opm_86",
11
- body: "_body_14opm_94",
12
- actions: "_actions_14opm_106",
13
- action: "_action_14opm_106",
14
- activated: "_activated_14opm_134",
15
- disable: "_disable_14opm_38",
16
- clickable: "_clickable_14opm_144",
17
- draggable: "_draggable_14opm_148",
18
- showOnHover: "_showOnHover_14opm_152"
1
+ import './PlElementListItem.style.css';// src/components/PlElementList/PlElementListItem.vue?vue&type=style&index=0&lang.module.css
2
+ var e = "_root_14opm_4", t = "_opened_14opm_34", n = "_disabled_14opm_38", r = "_pinned_14opm_45", i = "_active_14opm_49", a = "_head_14opm_55", o = "_headIcons_14opm_65", s = "_contentChevron_14opm_73", c = "_title_14opm_86", l = "_body_14opm_94", u = "_actions_14opm_106", d = "_action_14opm_106", f = "_activated_14opm_134", p = "_disable_14opm_38", m = "_clickable_14opm_144", h = "_draggable_14opm_148", g = "_showOnHover_14opm_152", _ = {
3
+ root: e,
4
+ opened: t,
5
+ disabled: n,
6
+ pinned: r,
7
+ active: i,
8
+ head: a,
9
+ headIcons: o,
10
+ contentChevron: s,
11
+ title: c,
12
+ body: l,
13
+ actions: u,
14
+ action: d,
15
+ activated: f,
16
+ disable: p,
17
+ clickable: m,
18
+ draggable: h,
19
+ showOnHover: g
19
20
  };
20
- //#endregion
21
- export { e as default };
21
+ export { d as action, u as actions, f as activated, i as active, l as body, m as clickable, s as contentChevron, _ as default, p as disable, n as disabled, h as draggable, a as head, o as headIcons, t as opened, r as pinned, e as root, g as showOnHover, c as title };
22
22
 
23
23
  //# sourceMappingURL=PlElementListItem.style.js.map