@milaboratories/uikit 2.11.6 → 2.11.8

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 (1119) hide show
  1. package/.turbo/turbo-build.log +634 -634
  2. package/.turbo/turbo-formatter$colon$check.log +2 -2
  3. package/.turbo/turbo-linter$colon$check.log +2 -2
  4. package/.turbo/turbo-types$colon$check.log +1 -1
  5. package/CHANGELOG.md +14 -0
  6. package/build.browser-lib.config.js +1 -1
  7. package/dist/_virtual/_plugin-vue_export-helper.js +2 -0
  8. package/dist/_virtual/_rolldown/runtime.js +2 -0
  9. package/dist/_virtual/_rolldown_dynamic_import_helper.js +2 -0
  10. package/dist/assets/icons/icon-assets-min/16_add.js +2 -0
  11. package/dist/assets/icons/icon-assets-min/16_add.js.map +1 -1
  12. package/dist/assets/icons/icon-assets-min/16_arrow-down.js +2 -0
  13. package/dist/assets/icons/icon-assets-min/16_arrow-down.js.map +1 -1
  14. package/dist/assets/icons/icon-assets-min/16_arrow-left.js +2 -0
  15. package/dist/assets/icons/icon-assets-min/16_arrow-left.js.map +1 -1
  16. package/dist/assets/icons/icon-assets-min/16_arrow-link.js +2 -0
  17. package/dist/assets/icons/icon-assets-min/16_arrow-link.js.map +1 -1
  18. package/dist/assets/icons/icon-assets-min/16_arrow-right.js +2 -0
  19. package/dist/assets/icons/icon-assets-min/16_arrow-right.js.map +1 -1
  20. package/dist/assets/icons/icon-assets-min/16_arrow-up.js +2 -0
  21. package/dist/assets/icons/icon-assets-min/16_arrow-up.js.map +1 -1
  22. package/dist/assets/icons/icon-assets-min/16_box.js +2 -0
  23. package/dist/assets/icons/icon-assets-min/16_box.js.map +1 -1
  24. package/dist/assets/icons/icon-assets-min/16_calendar.js +2 -0
  25. package/dist/assets/icons/icon-assets-min/16_calendar.js.map +1 -1
  26. package/dist/assets/icons/icon-assets-min/16_caret-down.js +2 -0
  27. package/dist/assets/icons/icon-assets-min/16_caret-down.js.map +1 -1
  28. package/dist/assets/icons/icon-assets-min/16_caret-left.js +2 -0
  29. package/dist/assets/icons/icon-assets-min/16_caret-left.js.map +1 -1
  30. package/dist/assets/icons/icon-assets-min/16_caret-right.js +2 -0
  31. package/dist/assets/icons/icon-assets-min/16_caret-right.js.map +1 -1
  32. package/dist/assets/icons/icon-assets-min/16_caret-up.js +2 -0
  33. package/dist/assets/icons/icon-assets-min/16_caret-up.js.map +1 -1
  34. package/dist/assets/icons/icon-assets-min/16_cell-type-num.js +2 -0
  35. package/dist/assets/icons/icon-assets-min/16_cell-type-num.js.map +1 -1
  36. package/dist/assets/icons/icon-assets-min/16_cell-type-subset.js +2 -0
  37. package/dist/assets/icons/icon-assets-min/16_cell-type-subset.js.map +1 -1
  38. package/dist/assets/icons/icon-assets-min/16_cell-type-txt.js +2 -0
  39. package/dist/assets/icons/icon-assets-min/16_cell-type-txt.js.map +1 -1
  40. package/dist/assets/icons/icon-assets-min/16_checkmark.js +2 -0
  41. package/dist/assets/icons/icon-assets-min/16_checkmark.js.map +1 -1
  42. package/dist/assets/icons/icon-assets-min/16_chevron-down.js +2 -0
  43. package/dist/assets/icons/icon-assets-min/16_chevron-down.js.map +1 -1
  44. package/dist/assets/icons/icon-assets-min/16_chevron-first.js +2 -0
  45. package/dist/assets/icons/icon-assets-min/16_chevron-first.js.map +1 -1
  46. package/dist/assets/icons/icon-assets-min/16_chevron-last.js +2 -0
  47. package/dist/assets/icons/icon-assets-min/16_chevron-last.js.map +1 -1
  48. package/dist/assets/icons/icon-assets-min/16_chevron-left.js +2 -0
  49. package/dist/assets/icons/icon-assets-min/16_chevron-left.js.map +1 -1
  50. package/dist/assets/icons/icon-assets-min/16_chevron-right.js +2 -0
  51. package/dist/assets/icons/icon-assets-min/16_chevron-right.js.map +1 -1
  52. package/dist/assets/icons/icon-assets-min/16_chevron-up.js +2 -0
  53. package/dist/assets/icons/icon-assets-min/16_chevron-up.js.map +1 -1
  54. package/dist/assets/icons/icon-assets-min/16_clear.js +2 -0
  55. package/dist/assets/icons/icon-assets-min/16_clear.js.map +1 -1
  56. package/dist/assets/icons/icon-assets-min/16_clipboard-copied.js +2 -0
  57. package/dist/assets/icons/icon-assets-min/16_clipboard-copied.js.map +1 -1
  58. package/dist/assets/icons/icon-assets-min/16_clipboard.js +2 -0
  59. package/dist/assets/icons/icon-assets-min/16_clipboard.js.map +1 -1
  60. package/dist/assets/icons/icon-assets-min/16_close.js +2 -0
  61. package/dist/assets/icons/icon-assets-min/16_close.js.map +1 -1
  62. package/dist/assets/icons/icon-assets-min/16_compare.js +2 -0
  63. package/dist/assets/icons/icon-assets-min/16_compare.js.map +1 -1
  64. package/dist/assets/icons/icon-assets-min/16_copy.js +2 -0
  65. package/dist/assets/icons/icon-assets-min/16_copy.js.map +1 -1
  66. package/dist/assets/icons/icon-assets-min/16_data-dimentions.js +2 -0
  67. package/dist/assets/icons/icon-assets-min/16_data-dimentions.js.map +1 -1
  68. package/dist/assets/icons/icon-assets-min/16_delete-bin.js +2 -0
  69. package/dist/assets/icons/icon-assets-min/16_delete-bin.js.map +1 -1
  70. package/dist/assets/icons/icon-assets-min/16_delete-circle.js +2 -0
  71. package/dist/assets/icons/icon-assets-min/16_delete-circle.js.map +1 -1
  72. package/dist/assets/icons/icon-assets-min/16_delete-clear.js +2 -0
  73. package/dist/assets/icons/icon-assets-min/16_delete-clear.js.map +1 -1
  74. package/dist/assets/icons/icon-assets-min/16_download.js +2 -0
  75. package/dist/assets/icons/icon-assets-min/16_download.js.map +1 -1
  76. package/dist/assets/icons/icon-assets-min/16_drag-dots.js +2 -0
  77. package/dist/assets/icons/icon-assets-min/16_drag-dots.js.map +1 -1
  78. package/dist/assets/icons/icon-assets-min/16_duplicate.js +2 -0
  79. package/dist/assets/icons/icon-assets-min/16_duplicate.js.map +1 -1
  80. package/dist/assets/icons/icon-assets-min/16_edit.js +2 -0
  81. package/dist/assets/icons/icon-assets-min/16_edit.js.map +1 -1
  82. package/dist/assets/icons/icon-assets-min/16_error.js +2 -0
  83. package/dist/assets/icons/icon-assets-min/16_error.js.map +1 -1
  84. package/dist/assets/icons/icon-assets-min/16_export.js +2 -0
  85. package/dist/assets/icons/icon-assets-min/16_export.js.map +1 -1
  86. package/dist/assets/icons/icon-assets-min/16_filter-on.js +2 -0
  87. package/dist/assets/icons/icon-assets-min/16_filter-on.js.map +1 -1
  88. package/dist/assets/icons/icon-assets-min/16_filter.js +2 -0
  89. package/dist/assets/icons/icon-assets-min/16_filter.js.map +1 -1
  90. package/dist/assets/icons/icon-assets-min/16_help-outline.js +2 -0
  91. package/dist/assets/icons/icon-assets-min/16_help-outline.js.map +1 -1
  92. package/dist/assets/icons/icon-assets-min/16_help.js +2 -0
  93. package/dist/assets/icons/icon-assets-min/16_help.js.map +1 -1
  94. package/dist/assets/icons/icon-assets-min/16_import.js +2 -0
  95. package/dist/assets/icons/icon-assets-min/16_import.js.map +1 -1
  96. package/dist/assets/icons/icon-assets-min/16_info-outline.js +2 -0
  97. package/dist/assets/icons/icon-assets-min/16_info-outline.js.map +1 -1
  98. package/dist/assets/icons/icon-assets-min/16_info.js +2 -0
  99. package/dist/assets/icons/icon-assets-min/16_info.js.map +1 -1
  100. package/dist/assets/icons/icon-assets-min/16_jump-link.js +2 -0
  101. package/dist/assets/icons/icon-assets-min/16_jump-link.js.map +1 -1
  102. package/dist/assets/icons/icon-assets-min/16_link-arrow.js +2 -0
  103. package/dist/assets/icons/icon-assets-min/16_link-arrow.js.map +1 -1
  104. package/dist/assets/icons/icon-assets-min/16_link.js +2 -0
  105. package/dist/assets/icons/icon-assets-min/16_link.js.map +1 -1
  106. package/dist/assets/icons/icon-assets-min/16_loading.js +2 -0
  107. package/dist/assets/icons/icon-assets-min/16_loading.js.map +1 -1
  108. package/dist/assets/icons/icon-assets-min/16_lock.js +2 -0
  109. package/dist/assets/icons/icon-assets-min/16_lock.js.map +1 -1
  110. package/dist/assets/icons/icon-assets-min/16_maximize.js +2 -0
  111. package/dist/assets/icons/icon-assets-min/16_maximize.js.map +1 -1
  112. package/dist/assets/icons/icon-assets-min/16_minimize.js +2 -0
  113. package/dist/assets/icons/icon-assets-min/16_minimize.js.map +1 -1
  114. package/dist/assets/icons/icon-assets-min/16_minus.js +2 -0
  115. package/dist/assets/icons/icon-assets-min/16_minus.js.map +1 -1
  116. package/dist/assets/icons/icon-assets-min/16_more.js +2 -0
  117. package/dist/assets/icons/icon-assets-min/16_more.js.map +1 -1
  118. package/dist/assets/icons/icon-assets-min/16_open.js +2 -0
  119. package/dist/assets/icons/icon-assets-min/16_open.js.map +1 -1
  120. package/dist/assets/icons/icon-assets-min/16_paper-clip.js +2 -0
  121. package/dist/assets/icons/icon-assets-min/16_paper-clip.js.map +1 -1
  122. package/dist/assets/icons/icon-assets-min/16_pause.js +2 -0
  123. package/dist/assets/icons/icon-assets-min/16_pause.js.map +1 -1
  124. package/dist/assets/icons/icon-assets-min/16_play.js +2 -0
  125. package/dist/assets/icons/icon-assets-min/16_play.js.map +1 -1
  126. package/dist/assets/icons/icon-assets-min/16_progress.js +2 -0
  127. package/dist/assets/icons/icon-assets-min/16_progress.js.map +1 -1
  128. package/dist/assets/icons/icon-assets-min/16_renew.js +2 -0
  129. package/dist/assets/icons/icon-assets-min/16_renew.js.map +1 -1
  130. package/dist/assets/icons/icon-assets-min/16_required.js +2 -0
  131. package/dist/assets/icons/icon-assets-min/16_required.js.map +1 -1
  132. package/dist/assets/icons/icon-assets-min/16_restart.js +2 -0
  133. package/dist/assets/icons/icon-assets-min/16_restart.js.map +1 -1
  134. package/dist/assets/icons/icon-assets-min/16_reverse.js +2 -0
  135. package/dist/assets/icons/icon-assets-min/16_reverse.js.map +1 -1
  136. package/dist/assets/icons/icon-assets-min/16_settings.js +2 -0
  137. package/dist/assets/icons/icon-assets-min/16_settings.js.map +1 -1
  138. package/dist/assets/icons/icon-assets-min/16_sort.js +2 -0
  139. package/dist/assets/icons/icon-assets-min/16_sort.js.map +1 -1
  140. package/dist/assets/icons/icon-assets-min/16_sorter.js +2 -0
  141. package/dist/assets/icons/icon-assets-min/16_sorter.js.map +1 -1
  142. package/dist/assets/icons/icon-assets-min/16_stop.js +2 -0
  143. package/dist/assets/icons/icon-assets-min/16_stop.js.map +1 -1
  144. package/dist/assets/icons/icon-assets-min/16_success.js +2 -0
  145. package/dist/assets/icons/icon-assets-min/16_success.js.map +1 -1
  146. package/dist/assets/icons/icon-assets-min/16_time.js +2 -0
  147. package/dist/assets/icons/icon-assets-min/16_time.js.map +1 -1
  148. package/dist/assets/icons/icon-assets-min/16_tune.js +2 -0
  149. package/dist/assets/icons/icon-assets-min/16_tune.js.map +1 -1
  150. package/dist/assets/icons/icon-assets-min/16_warning.js +2 -0
  151. package/dist/assets/icons/icon-assets-min/16_warning.js.map +1 -1
  152. package/dist/assets/icons/icon-assets-min/16_x-axis.js +2 -0
  153. package/dist/assets/icons/icon-assets-min/16_x-axis.js.map +1 -1
  154. package/dist/assets/icons/icon-assets-min/16_y-axis.js +2 -0
  155. package/dist/assets/icons/icon-assets-min/16_y-axis.js.map +1 -1
  156. package/dist/assets/icons/icon-assets-min/16_zip.js +2 -0
  157. package/dist/assets/icons/icon-assets-min/16_zip.js.map +1 -1
  158. package/dist/assets/icons/icon-assets-min/24_add-layer.js +2 -0
  159. package/dist/assets/icons/icon-assets-min/24_add-layer.js.map +1 -1
  160. package/dist/assets/icons/icon-assets-min/24_add.js +2 -0
  161. package/dist/assets/icons/icon-assets-min/24_add.js.map +1 -1
  162. package/dist/assets/icons/icon-assets-min/24_align-center.js +2 -0
  163. package/dist/assets/icons/icon-assets-min/24_align-center.js.map +1 -1
  164. package/dist/assets/icons/icon-assets-min/24_align-left.js +2 -0
  165. package/dist/assets/icons/icon-assets-min/24_align-left.js.map +1 -1
  166. package/dist/assets/icons/icon-assets-min/24_align-right.js +2 -0
  167. package/dist/assets/icons/icon-assets-min/24_align-right.js.map +1 -1
  168. package/dist/assets/icons/icon-assets-min/24_analytics-accent.js +2 -0
  169. package/dist/assets/icons/icon-assets-min/24_analytics-accent.js.map +1 -1
  170. package/dist/assets/icons/icon-assets-min/24_analytics.js +2 -0
  171. package/dist/assets/icons/icon-assets-min/24_analytics.js.map +1 -1
  172. package/dist/assets/icons/icon-assets-min/24_annotate.js +2 -0
  173. package/dist/assets/icons/icon-assets-min/24_annotate.js.map +1 -1
  174. package/dist/assets/icons/icon-assets-min/24_annotation.js +2 -0
  175. package/dist/assets/icons/icon-assets-min/24_annotation.js.map +1 -1
  176. package/dist/assets/icons/icon-assets-min/24_area.js +2 -0
  177. package/dist/assets/icons/icon-assets-min/24_area.js.map +1 -1
  178. package/dist/assets/icons/icon-assets-min/24_arrow-down.js +2 -0
  179. package/dist/assets/icons/icon-assets-min/24_arrow-down.js.map +1 -1
  180. package/dist/assets/icons/icon-assets-min/24_arrow-left-curved.js +2 -0
  181. package/dist/assets/icons/icon-assets-min/24_arrow-left-curved.js.map +1 -1
  182. package/dist/assets/icons/icon-assets-min/24_arrow-left.js +2 -0
  183. package/dist/assets/icons/icon-assets-min/24_arrow-left.js.map +1 -1
  184. package/dist/assets/icons/icon-assets-min/24_arrow-link.js +2 -0
  185. package/dist/assets/icons/icon-assets-min/24_arrow-link.js.map +1 -1
  186. package/dist/assets/icons/icon-assets-min/24_arrow-right.js +2 -0
  187. package/dist/assets/icons/icon-assets-min/24_arrow-right.js.map +1 -1
  188. package/dist/assets/icons/icon-assets-min/24_arrow-up.js +2 -0
  189. package/dist/assets/icons/icon-assets-min/24_arrow-up.js.map +1 -1
  190. package/dist/assets/icons/icon-assets-min/24_axes.js +2 -0
  191. package/dist/assets/icons/icon-assets-min/24_axes.js.map +1 -1
  192. package/dist/assets/icons/icon-assets-min/24_bar-cross.js +2 -0
  193. package/dist/assets/icons/icon-assets-min/24_bar-cross.js.map +1 -1
  194. package/dist/assets/icons/icon-assets-min/24_bar-error.js +2 -0
  195. package/dist/assets/icons/icon-assets-min/24_bar-error.js.map +1 -1
  196. package/dist/assets/icons/icon-assets-min/24_bar-stacked.js +2 -0
  197. package/dist/assets/icons/icon-assets-min/24_bar-stacked.js.map +1 -1
  198. package/dist/assets/icons/icon-assets-min/24_bar-trend.js +2 -0
  199. package/dist/assets/icons/icon-assets-min/24_bar-trend.js.map +1 -1
  200. package/dist/assets/icons/icon-assets-min/24_bar.js +2 -0
  201. package/dist/assets/icons/icon-assets-min/24_bar.js.map +1 -1
  202. package/dist/assets/icons/icon-assets-min/24_bindot.js +2 -0
  203. package/dist/assets/icons/icon-assets-min/24_bindot.js.map +1 -1
  204. package/dist/assets/icons/icon-assets-min/24_box.js +2 -0
  205. package/dist/assets/icons/icon-assets-min/24_box.js.map +1 -1
  206. package/dist/assets/icons/icon-assets-min/24_boxplot-binned.js +2 -0
  207. package/dist/assets/icons/icon-assets-min/24_boxplot-binned.js.map +1 -1
  208. package/dist/assets/icons/icon-assets-min/24_boxplot-jitter.js +2 -0
  209. package/dist/assets/icons/icon-assets-min/24_boxplot-jitter.js.map +1 -1
  210. package/dist/assets/icons/icon-assets-min/24_boxplot-notched.js +2 -0
  211. package/dist/assets/icons/icon-assets-min/24_boxplot-notched.js.map +1 -1
  212. package/dist/assets/icons/icon-assets-min/24_boxplot.js +2 -0
  213. package/dist/assets/icons/icon-assets-min/24_boxplot.js.map +1 -1
  214. package/dist/assets/icons/icon-assets-min/24_bubble.js +2 -0
  215. package/dist/assets/icons/icon-assets-min/24_bubble.js.map +1 -1
  216. package/dist/assets/icons/icon-assets-min/24_calendar.js +2 -0
  217. package/dist/assets/icons/icon-assets-min/24_calendar.js.map +1 -1
  218. package/dist/assets/icons/icon-assets-min/24_canvas.js +2 -0
  219. package/dist/assets/icons/icon-assets-min/24_canvas.js.map +1 -1
  220. package/dist/assets/icons/icon-assets-min/24_cell-type-num.js +2 -0
  221. package/dist/assets/icons/icon-assets-min/24_cell-type-num.js.map +1 -1
  222. package/dist/assets/icons/icon-assets-min/24_cell-type-subset.js +2 -0
  223. package/dist/assets/icons/icon-assets-min/24_cell-type-subset.js.map +1 -1
  224. package/dist/assets/icons/icon-assets-min/24_cell-type-txt.js +2 -0
  225. package/dist/assets/icons/icon-assets-min/24_cell-type-txt.js.map +1 -1
  226. package/dist/assets/icons/icon-assets-min/24_checkbox-checked.js +2 -0
  227. package/dist/assets/icons/icon-assets-min/24_checkbox-checked.js.map +1 -1
  228. package/dist/assets/icons/icon-assets-min/24_checkbox-intermediate.js +2 -0
  229. package/dist/assets/icons/icon-assets-min/24_checkbox-intermediate.js.map +1 -1
  230. package/dist/assets/icons/icon-assets-min/24_checkbox.js +2 -0
  231. package/dist/assets/icons/icon-assets-min/24_checkbox.js.map +1 -1
  232. package/dist/assets/icons/icon-assets-min/24_checkmark.js +2 -0
  233. package/dist/assets/icons/icon-assets-min/24_checkmark.js.map +1 -1
  234. package/dist/assets/icons/icon-assets-min/24_chevron-down.js +2 -0
  235. package/dist/assets/icons/icon-assets-min/24_chevron-down.js.map +1 -1
  236. package/dist/assets/icons/icon-assets-min/24_chevron-first.js +2 -0
  237. package/dist/assets/icons/icon-assets-min/24_chevron-first.js.map +1 -1
  238. package/dist/assets/icons/icon-assets-min/24_chevron-last.js +2 -0
  239. package/dist/assets/icons/icon-assets-min/24_chevron-last.js.map +1 -1
  240. package/dist/assets/icons/icon-assets-min/24_chevron-left.js +2 -0
  241. package/dist/assets/icons/icon-assets-min/24_chevron-left.js.map +1 -1
  242. package/dist/assets/icons/icon-assets-min/24_chevron-right.js +2 -0
  243. package/dist/assets/icons/icon-assets-min/24_chevron-right.js.map +1 -1
  244. package/dist/assets/icons/icon-assets-min/24_chevron-sort.js +2 -0
  245. package/dist/assets/icons/icon-assets-min/24_chevron-sort.js.map +1 -1
  246. package/dist/assets/icons/icon-assets-min/24_chevron-up.js +2 -0
  247. package/dist/assets/icons/icon-assets-min/24_chevron-up.js.map +1 -1
  248. package/dist/assets/icons/icon-assets-min/24_clipboard-copied.js +2 -0
  249. package/dist/assets/icons/icon-assets-min/24_clipboard-copied.js.map +1 -1
  250. package/dist/assets/icons/icon-assets-min/24_clipboard.js +2 -0
  251. package/dist/assets/icons/icon-assets-min/24_clipboard.js.map +1 -1
  252. package/dist/assets/icons/icon-assets-min/24_close.js +2 -0
  253. package/dist/assets/icons/icon-assets-min/24_close.js.map +1 -1
  254. package/dist/assets/icons/icon-assets-min/24_cloud-download.js +2 -0
  255. package/dist/assets/icons/icon-assets-min/24_cloud-download.js.map +1 -1
  256. package/dist/assets/icons/icon-assets-min/24_cloud-offline.js +2 -0
  257. package/dist/assets/icons/icon-assets-min/24_cloud-offline.js.map +1 -1
  258. package/dist/assets/icons/icon-assets-min/24_cloud-online.js +2 -0
  259. package/dist/assets/icons/icon-assets-min/24_cloud-online.js.map +1 -1
  260. package/dist/assets/icons/icon-assets-min/24_cloud-upload.js +2 -0
  261. package/dist/assets/icons/icon-assets-min/24_cloud-upload.js.map +1 -1
  262. package/dist/assets/icons/icon-assets-min/24_cluster.js +2 -0
  263. package/dist/assets/icons/icon-assets-min/24_cluster.js.map +1 -1
  264. package/dist/assets/icons/icon-assets-min/24_code.js +2 -0
  265. package/dist/assets/icons/icon-assets-min/24_code.js.map +1 -1
  266. package/dist/assets/icons/icon-assets-min/24_color-fill.js +2 -0
  267. package/dist/assets/icons/icon-assets-min/24_color-fill.js.map +1 -1
  268. package/dist/assets/icons/icon-assets-min/24_color-none.js +2 -0
  269. package/dist/assets/icons/icon-assets-min/24_color-none.js.map +1 -1
  270. package/dist/assets/icons/icon-assets-min/24_color-stroke.js +2 -0
  271. package/dist/assets/icons/icon-assets-min/24_color-stroke.js.map +1 -1
  272. package/dist/assets/icons/icon-assets-min/24_color.js +2 -0
  273. package/dist/assets/icons/icon-assets-min/24_color.js.map +1 -1
  274. package/dist/assets/icons/icon-assets-min/24_columns.js +2 -0
  275. package/dist/assets/icons/icon-assets-min/24_columns.js.map +1 -1
  276. package/dist/assets/icons/icon-assets-min/24_connected-points.js +2 -0
  277. package/dist/assets/icons/icon-assets-min/24_connected-points.js.map +1 -1
  278. package/dist/assets/icons/icon-assets-min/24_container.js +2 -0
  279. package/dist/assets/icons/icon-assets-min/24_container.js.map +1 -1
  280. package/dist/assets/icons/icon-assets-min/24_cookie.js +2 -0
  281. package/dist/assets/icons/icon-assets-min/24_cookie.js.map +1 -1
  282. package/dist/assets/icons/icon-assets-min/24_copy.js +2 -0
  283. package/dist/assets/icons/icon-assets-min/24_copy.js.map +1 -1
  284. package/dist/assets/icons/icon-assets-min/24_cpu.js +2 -0
  285. package/dist/assets/icons/icon-assets-min/24_cpu.js.map +1 -1
  286. package/dist/assets/icons/icon-assets-min/24_cursor-pointer.js +2 -0
  287. package/dist/assets/icons/icon-assets-min/24_cursor-pointer.js.map +1 -1
  288. package/dist/assets/icons/icon-assets-min/24_data-dimentions.js +2 -0
  289. package/dist/assets/icons/icon-assets-min/24_data-dimentions.js.map +1 -1
  290. package/dist/assets/icons/icon-assets-min/24_debug.js +2 -0
  291. package/dist/assets/icons/icon-assets-min/24_debug.js.map +1 -1
  292. package/dist/assets/icons/icon-assets-min/24_delete-bin.js +2 -0
  293. package/dist/assets/icons/icon-assets-min/24_delete-bin.js.map +1 -1
  294. package/dist/assets/icons/icon-assets-min/24_delete-circle.js +2 -0
  295. package/dist/assets/icons/icon-assets-min/24_delete-circle.js.map +1 -1
  296. package/dist/assets/icons/icon-assets-min/24_delete-clear.js +2 -0
  297. package/dist/assets/icons/icon-assets-min/24_delete-clear.js.map +1 -1
  298. package/dist/assets/icons/icon-assets-min/24_dendrogram-X-line.js +2 -0
  299. package/dist/assets/icons/icon-assets-min/24_dendrogram-X-line.js.map +1 -1
  300. package/dist/assets/icons/icon-assets-min/24_dendrogram-X.js +2 -0
  301. package/dist/assets/icons/icon-assets-min/24_dendrogram-X.js.map +1 -1
  302. package/dist/assets/icons/icon-assets-min/24_dendrogram-Y-line.js +2 -0
  303. package/dist/assets/icons/icon-assets-min/24_dendrogram-Y-line.js.map +1 -1
  304. package/dist/assets/icons/icon-assets-min/24_dendrogram-Y.js +2 -0
  305. package/dist/assets/icons/icon-assets-min/24_dendrogram-Y.js.map +1 -1
  306. package/dist/assets/icons/icon-assets-min/24_dna-add.js +2 -0
  307. package/dist/assets/icons/icon-assets-min/24_dna-add.js.map +1 -1
  308. package/dist/assets/icons/icon-assets-min/24_dna-import.js +2 -0
  309. package/dist/assets/icons/icon-assets-min/24_dna-import.js.map +1 -1
  310. package/dist/assets/icons/icon-assets-min/24_dna.js +2 -0
  311. package/dist/assets/icons/icon-assets-min/24_dna.js.map +1 -1
  312. package/dist/assets/icons/icon-assets-min/24_download.js +2 -0
  313. package/dist/assets/icons/icon-assets-min/24_download.js.map +1 -1
  314. package/dist/assets/icons/icon-assets-min/24_drag-dots.js +2 -0
  315. package/dist/assets/icons/icon-assets-min/24_drag-dots.js.map +1 -1
  316. package/dist/assets/icons/icon-assets-min/24_drag-horizontal.js +2 -0
  317. package/dist/assets/icons/icon-assets-min/24_drag-horizontal.js.map +1 -1
  318. package/dist/assets/icons/icon-assets-min/24_drag-vertical.js +2 -0
  319. package/dist/assets/icons/icon-assets-min/24_drag-vertical.js.map +1 -1
  320. package/dist/assets/icons/icon-assets-min/24_duplicate.js +2 -0
  321. package/dist/assets/icons/icon-assets-min/24_duplicate.js.map +1 -1
  322. package/dist/assets/icons/icon-assets-min/24_edit.js +2 -0
  323. package/dist/assets/icons/icon-assets-min/24_edit.js.map +1 -1
  324. package/dist/assets/icons/icon-assets-min/24_error-bar.js +2 -0
  325. package/dist/assets/icons/icon-assets-min/24_error-bar.js.map +1 -1
  326. package/dist/assets/icons/icon-assets-min/24_error.js +2 -0
  327. package/dist/assets/icons/icon-assets-min/24_error.js.map +1 -1
  328. package/dist/assets/icons/icon-assets-min/24_expand-left.js +2 -0
  329. package/dist/assets/icons/icon-assets-min/24_expand-left.js.map +1 -1
  330. package/dist/assets/icons/icon-assets-min/24_expand-right.js +2 -0
  331. package/dist/assets/icons/icon-assets-min/24_expand-right.js.map +1 -1
  332. package/dist/assets/icons/icon-assets-min/24_export-2.js +2 -0
  333. package/dist/assets/icons/icon-assets-min/24_export-2.js.map +1 -1
  334. package/dist/assets/icons/icon-assets-min/24_export.js +2 -0
  335. package/dist/assets/icons/icon-assets-min/24_export.js.map +1 -1
  336. package/dist/assets/icons/icon-assets-min/24_external-link.js +2 -0
  337. package/dist/assets/icons/icon-assets-min/24_external-link.js.map +1 -1
  338. package/dist/assets/icons/icon-assets-min/24_file-doc-add.js +2 -0
  339. package/dist/assets/icons/icon-assets-min/24_file-doc-add.js.map +1 -1
  340. package/dist/assets/icons/icon-assets-min/24_file-doc-download.js +2 -0
  341. package/dist/assets/icons/icon-assets-min/24_file-doc-download.js.map +1 -1
  342. package/dist/assets/icons/icon-assets-min/24_file-doc-import.js +2 -0
  343. package/dist/assets/icons/icon-assets-min/24_file-doc-import.js.map +1 -1
  344. package/dist/assets/icons/icon-assets-min/24_file-doc.js +2 -0
  345. package/dist/assets/icons/icon-assets-min/24_file-doc.js.map +1 -1
  346. package/dist/assets/icons/icon-assets-min/24_file-logs-accent.js +2 -0
  347. package/dist/assets/icons/icon-assets-min/24_file-logs-accent.js.map +1 -1
  348. package/dist/assets/icons/icon-assets-min/24_file-logs.js +2 -0
  349. package/dist/assets/icons/icon-assets-min/24_file-logs.js.map +1 -1
  350. package/dist/assets/icons/icon-assets-min/24_files-export.js +2 -0
  351. package/dist/assets/icons/icon-assets-min/24_files-export.js.map +1 -1
  352. package/dist/assets/icons/icon-assets-min/24_files-import.js +2 -0
  353. package/dist/assets/icons/icon-assets-min/24_files-import.js.map +1 -1
  354. package/dist/assets/icons/icon-assets-min/24_filter-on.js +2 -0
  355. package/dist/assets/icons/icon-assets-min/24_filter-on.js.map +1 -1
  356. package/dist/assets/icons/icon-assets-min/24_filter.js +2 -0
  357. package/dist/assets/icons/icon-assets-min/24_filter.js.map +1 -1
  358. package/dist/assets/icons/icon-assets-min/24_fire-tips.js +2 -0
  359. package/dist/assets/icons/icon-assets-min/24_fire-tips.js.map +1 -1
  360. package/dist/assets/icons/icon-assets-min/24_folder-parent.js +2 -0
  361. package/dist/assets/icons/icon-assets-min/24_folder-parent.js.map +1 -1
  362. package/dist/assets/icons/icon-assets-min/24_frame-type-all.js +2 -0
  363. package/dist/assets/icons/icon-assets-min/24_frame-type-all.js.map +1 -1
  364. package/dist/assets/icons/icon-assets-min/24_frame-type-bottom.js +2 -0
  365. package/dist/assets/icons/icon-assets-min/24_frame-type-bottom.js.map +1 -1
  366. package/dist/assets/icons/icon-assets-min/24_frame-type-left-bottom.js +2 -0
  367. package/dist/assets/icons/icon-assets-min/24_frame-type-left-bottom.js.map +1 -1
  368. package/dist/assets/icons/icon-assets-min/24_frame-type-left.js +2 -0
  369. package/dist/assets/icons/icon-assets-min/24_frame-type-left.js.map +1 -1
  370. package/dist/assets/icons/icon-assets-min/24_frame-type-none.js +2 -0
  371. package/dist/assets/icons/icon-assets-min/24_frame-type-none.js.map +1 -1
  372. package/dist/assets/icons/icon-assets-min/24_generate.js +2 -0
  373. package/dist/assets/icons/icon-assets-min/24_generate.js.map +1 -1
  374. package/dist/assets/icons/icon-assets-min/24_graph.js +2 -0
  375. package/dist/assets/icons/icon-assets-min/24_graph.js.map +1 -1
  376. package/dist/assets/icons/icon-assets-min/24_heatmap.js +2 -0
  377. package/dist/assets/icons/icon-assets-min/24_heatmap.js.map +1 -1
  378. package/dist/assets/icons/icon-assets-min/24_help-outline.js +2 -0
  379. package/dist/assets/icons/icon-assets-min/24_help-outline.js.map +1 -1
  380. package/dist/assets/icons/icon-assets-min/24_help.js +2 -0
  381. package/dist/assets/icons/icon-assets-min/24_help.js.map +1 -1
  382. package/dist/assets/icons/icon-assets-min/24_hide.js +2 -0
  383. package/dist/assets/icons/icon-assets-min/24_hide.js.map +1 -1
  384. package/dist/assets/icons/icon-assets-min/24_import.js +2 -0
  385. package/dist/assets/icons/icon-assets-min/24_import.js.map +1 -1
  386. package/dist/assets/icons/icon-assets-min/24_info-outline.js +2 -0
  387. package/dist/assets/icons/icon-assets-min/24_info-outline.js.map +1 -1
  388. package/dist/assets/icons/icon-assets-min/24_info.js +2 -0
  389. package/dist/assets/icons/icon-assets-min/24_info.js.map +1 -1
  390. package/dist/assets/icons/icon-assets-min/24_jitter.js +2 -0
  391. package/dist/assets/icons/icon-assets-min/24_jitter.js.map +1 -1
  392. package/dist/assets/icons/icon-assets-min/24_jump-link.js +2 -0
  393. package/dist/assets/icons/icon-assets-min/24_jump-link.js.map +1 -1
  394. package/dist/assets/icons/icon-assets-min/24_lasso.js +2 -0
  395. package/dist/assets/icons/icon-assets-min/24_lasso.js.map +1 -1
  396. package/dist/assets/icons/icon-assets-min/24_layers.js +2 -0
  397. package/dist/assets/icons/icon-assets-min/24_layers.js.map +1 -1
  398. package/dist/assets/icons/icon-assets-min/24_learn.js +2 -0
  399. package/dist/assets/icons/icon-assets-min/24_learn.js.map +1 -1
  400. package/dist/assets/icons/icon-assets-min/24_legend-box-dot.js +2 -0
  401. package/dist/assets/icons/icon-assets-min/24_legend-box-dot.js.map +1 -1
  402. package/dist/assets/icons/icon-assets-min/24_legend-box.js +2 -0
  403. package/dist/assets/icons/icon-assets-min/24_legend-box.js.map +1 -1
  404. package/dist/assets/icons/icon-assets-min/24_legend.js +2 -0
  405. package/dist/assets/icons/icon-assets-min/24_legend.js.map +1 -1
  406. package/dist/assets/icons/icon-assets-min/24_line-binned.js +2 -0
  407. package/dist/assets/icons/icon-assets-min/24_line-binned.js.map +1 -1
  408. package/dist/assets/icons/icon-assets-min/24_line-error.js +2 -0
  409. package/dist/assets/icons/icon-assets-min/24_line-error.js.map +1 -1
  410. package/dist/assets/icons/icon-assets-min/24_line-jitter.js +2 -0
  411. package/dist/assets/icons/icon-assets-min/24_line-jitter.js.map +1 -1
  412. package/dist/assets/icons/icon-assets-min/24_line.js +2 -0
  413. package/dist/assets/icons/icon-assets-min/24_line.js.map +1 -1
  414. package/dist/assets/icons/icon-assets-min/24_linetype-dashed.js +2 -0
  415. package/dist/assets/icons/icon-assets-min/24_linetype-dashed.js.map +1 -1
  416. package/dist/assets/icons/icon-assets-min/24_linetype-dotdash.js +2 -0
  417. package/dist/assets/icons/icon-assets-min/24_linetype-dotdash.js.map +1 -1
  418. package/dist/assets/icons/icon-assets-min/24_linetype-dotted.js +2 -0
  419. package/dist/assets/icons/icon-assets-min/24_linetype-dotted.js.map +1 -1
  420. package/dist/assets/icons/icon-assets-min/24_linetype-longdash.js +2 -0
  421. package/dist/assets/icons/icon-assets-min/24_linetype-longdash.js.map +1 -1
  422. package/dist/assets/icons/icon-assets-min/24_linetype-solid.js +2 -0
  423. package/dist/assets/icons/icon-assets-min/24_linetype-solid.js.map +1 -1
  424. package/dist/assets/icons/icon-assets-min/24_linetype-twodash.js +2 -0
  425. package/dist/assets/icons/icon-assets-min/24_linetype-twodash.js.map +1 -1
  426. package/dist/assets/icons/icon-assets-min/24_link-disabled.js +2 -0
  427. package/dist/assets/icons/icon-assets-min/24_link-disabled.js.map +1 -1
  428. package/dist/assets/icons/icon-assets-min/24_link.js +2 -0
  429. package/dist/assets/icons/icon-assets-min/24_link.js.map +1 -1
  430. package/dist/assets/icons/icon-assets-min/24_loading.js +2 -0
  431. package/dist/assets/icons/icon-assets-min/24_loading.js.map +1 -1
  432. package/dist/assets/icons/icon-assets-min/24_lock.js +2 -0
  433. package/dist/assets/icons/icon-assets-min/24_lock.js.map +1 -1
  434. package/dist/assets/icons/icon-assets-min/24_maximize.js +2 -0
  435. package/dist/assets/icons/icon-assets-min/24_maximize.js.map +1 -1
  436. package/dist/assets/icons/icon-assets-min/24_menu.js +2 -0
  437. package/dist/assets/icons/icon-assets-min/24_menu.js.map +1 -1
  438. package/dist/assets/icons/icon-assets-min/24_minimize.js +2 -0
  439. package/dist/assets/icons/icon-assets-min/24_minimize.js.map +1 -1
  440. package/dist/assets/icons/icon-assets-min/24_minus.js +2 -0
  441. package/dist/assets/icons/icon-assets-min/24_minus.js.map +1 -1
  442. package/dist/assets/icons/icon-assets-min/24_monetization-off.js +2 -0
  443. package/dist/assets/icons/icon-assets-min/24_monetization-off.js.map +1 -1
  444. package/dist/assets/icons/icon-assets-min/24_monetization-on.js +2 -0
  445. package/dist/assets/icons/icon-assets-min/24_monetization-on.js.map +1 -1
  446. package/dist/assets/icons/icon-assets-min/24_monetization.js +2 -0
  447. package/dist/assets/icons/icon-assets-min/24_monetization.js.map +1 -1
  448. package/dist/assets/icons/icon-assets-min/24_more.js +2 -0
  449. package/dist/assets/icons/icon-assets-min/24_more.js.map +1 -1
  450. package/dist/assets/icons/icon-assets-min/24_paper-clip.js +2 -0
  451. package/dist/assets/icons/icon-assets-min/24_paper-clip.js.map +1 -1
  452. package/dist/assets/icons/icon-assets-min/24_pause.js +2 -0
  453. package/dist/assets/icons/icon-assets-min/24_pause.js.map +1 -1
  454. package/dist/assets/icons/icon-assets-min/24_pen-tool.js +2 -0
  455. package/dist/assets/icons/icon-assets-min/24_pen-tool.js.map +1 -1
  456. package/dist/assets/icons/icon-assets-min/24_pin.js +2 -0
  457. package/dist/assets/icons/icon-assets-min/24_pin.js.map +1 -1
  458. package/dist/assets/icons/icon-assets-min/24_play.js +2 -0
  459. package/dist/assets/icons/icon-assets-min/24_play.js.map +1 -1
  460. package/dist/assets/icons/icon-assets-min/24_position-bottom-annotation.js +2 -0
  461. package/dist/assets/icons/icon-assets-min/24_position-bottom-annotation.js.map +1 -1
  462. package/dist/assets/icons/icon-assets-min/24_position-bottom.js +2 -0
  463. package/dist/assets/icons/icon-assets-min/24_position-bottom.js.map +1 -1
  464. package/dist/assets/icons/icon-assets-min/24_position-left-annotation.js +2 -0
  465. package/dist/assets/icons/icon-assets-min/24_position-left-annotation.js.map +1 -1
  466. package/dist/assets/icons/icon-assets-min/24_position-left.js +2 -0
  467. package/dist/assets/icons/icon-assets-min/24_position-left.js.map +1 -1
  468. package/dist/assets/icons/icon-assets-min/24_position-right-annotation.js +2 -0
  469. package/dist/assets/icons/icon-assets-min/24_position-right-annotation.js.map +1 -1
  470. package/dist/assets/icons/icon-assets-min/24_position-right.js +2 -0
  471. package/dist/assets/icons/icon-assets-min/24_position-right.js.map +1 -1
  472. package/dist/assets/icons/icon-assets-min/24_position-top-annotation.js +2 -0
  473. package/dist/assets/icons/icon-assets-min/24_position-top-annotation.js.map +1 -1
  474. package/dist/assets/icons/icon-assets-min/24_position-top.js +2 -0
  475. package/dist/assets/icons/icon-assets-min/24_position-top.js.map +1 -1
  476. package/dist/assets/icons/icon-assets-min/24_product.js +2 -0
  477. package/dist/assets/icons/icon-assets-min/24_product.js.map +1 -1
  478. package/dist/assets/icons/icon-assets-min/24_progress.js +2 -0
  479. package/dist/assets/icons/icon-assets-min/24_progress.js.map +1 -1
  480. package/dist/assets/icons/icon-assets-min/24_publications.js +2 -0
  481. package/dist/assets/icons/icon-assets-min/24_publications.js.map +1 -1
  482. package/dist/assets/icons/icon-assets-min/24_radio-button-checked.js +2 -0
  483. package/dist/assets/icons/icon-assets-min/24_radio-button-checked.js.map +1 -1
  484. package/dist/assets/icons/icon-assets-min/24_radio-button.js +2 -0
  485. package/dist/assets/icons/icon-assets-min/24_radio-button.js.map +1 -1
  486. package/dist/assets/icons/icon-assets-min/24_renew.js +2 -0
  487. package/dist/assets/icons/icon-assets-min/24_renew.js.map +1 -1
  488. package/dist/assets/icons/icon-assets-min/24_restart.js +2 -0
  489. package/dist/assets/icons/icon-assets-min/24_restart.js.map +1 -1
  490. package/dist/assets/icons/icon-assets-min/24_reverse.js +2 -0
  491. package/dist/assets/icons/icon-assets-min/24_reverse.js.map +1 -1
  492. package/dist/assets/icons/icon-assets-min/24_rotation-0.js +2 -0
  493. package/dist/assets/icons/icon-assets-min/24_rotation-0.js.map +1 -1
  494. package/dist/assets/icons/icon-assets-min/24_rotation-45.js +2 -0
  495. package/dist/assets/icons/icon-assets-min/24_rotation-45.js.map +1 -1
  496. package/dist/assets/icons/icon-assets-min/24_rotation-90.js +2 -0
  497. package/dist/assets/icons/icon-assets-min/24_rotation-90.js.map +1 -1
  498. package/dist/assets/icons/icon-assets-min/24_search.js +2 -0
  499. package/dist/assets/icons/icon-assets-min/24_search.js.map +1 -1
  500. package/dist/assets/icons/icon-assets-min/24_server-on.js +2 -0
  501. package/dist/assets/icons/icon-assets-min/24_server-on.js.map +1 -1
  502. package/dist/assets/icons/icon-assets-min/24_server.js +2 -0
  503. package/dist/assets/icons/icon-assets-min/24_server.js.map +1 -1
  504. package/dist/assets/icons/icon-assets-min/24_settings.js +2 -0
  505. package/dist/assets/icons/icon-assets-min/24_settings.js.map +1 -1
  506. package/dist/assets/icons/icon-assets-min/24_show.js +2 -0
  507. package/dist/assets/icons/icon-assets-min/24_show.js.map +1 -1
  508. package/dist/assets/icons/icon-assets-min/24_sina.js +2 -0
  509. package/dist/assets/icons/icon-assets-min/24_sina.js.map +1 -1
  510. package/dist/assets/icons/icon-assets-min/24_skatterplot.js +2 -0
  511. package/dist/assets/icons/icon-assets-min/24_skatterplot.js.map +1 -1
  512. package/dist/assets/icons/icon-assets-min/24_slice.js +2 -0
  513. package/dist/assets/icons/icon-assets-min/24_slice.js.map +1 -1
  514. package/dist/assets/icons/icon-assets-min/24_social-github.js +2 -0
  515. package/dist/assets/icons/icon-assets-min/24_social-github.js.map +1 -1
  516. package/dist/assets/icons/icon-assets-min/24_social-linkedin.js +2 -0
  517. package/dist/assets/icons/icon-assets-min/24_social-linkedin.js.map +1 -1
  518. package/dist/assets/icons/icon-assets-min/24_social-twitter-X.js +2 -0
  519. package/dist/assets/icons/icon-assets-min/24_social-twitter-X.js.map +1 -1
  520. package/dist/assets/icons/icon-assets-min/24_social-twitter-bird.js +2 -0
  521. package/dist/assets/icons/icon-assets-min/24_social-twitter-bird.js.map +1 -1
  522. package/dist/assets/icons/icon-assets-min/24_social-youtube.js +2 -0
  523. package/dist/assets/icons/icon-assets-min/24_social-youtube.js.map +1 -1
  524. package/dist/assets/icons/icon-assets-min/24_sort-list-down.js +2 -0
  525. package/dist/assets/icons/icon-assets-min/24_sort-list-down.js.map +1 -1
  526. package/dist/assets/icons/icon-assets-min/24_sort-list-up.js +2 -0
  527. package/dist/assets/icons/icon-assets-min/24_sort-list-up.js.map +1 -1
  528. package/dist/assets/icons/icon-assets-min/24_sort.js +2 -0
  529. package/dist/assets/icons/icon-assets-min/24_sort.js.map +1 -1
  530. package/dist/assets/icons/icon-assets-min/24_statistics.js +2 -0
  531. package/dist/assets/icons/icon-assets-min/24_statistics.js.map +1 -1
  532. package/dist/assets/icons/icon-assets-min/24_stop.js +2 -0
  533. package/dist/assets/icons/icon-assets-min/24_stop.js.map +1 -1
  534. package/dist/assets/icons/icon-assets-min/24_strip-plot.js +2 -0
  535. package/dist/assets/icons/icon-assets-min/24_strip-plot.js.map +1 -1
  536. package/dist/assets/icons/icon-assets-min/24_success.js +2 -0
  537. package/dist/assets/icons/icon-assets-min/24_success.js.map +1 -1
  538. package/dist/assets/icons/icon-assets-min/24_table-add.js +2 -0
  539. package/dist/assets/icons/icon-assets-min/24_table-add.js.map +1 -1
  540. package/dist/assets/icons/icon-assets-min/24_table-alias.js +2 -0
  541. package/dist/assets/icons/icon-assets-min/24_table-alias.js.map +1 -1
  542. package/dist/assets/icons/icon-assets-min/24_table-import.js +2 -0
  543. package/dist/assets/icons/icon-assets-min/24_table-import.js.map +1 -1
  544. package/dist/assets/icons/icon-assets-min/24_table-upload.js +2 -0
  545. package/dist/assets/icons/icon-assets-min/24_table-upload.js.map +1 -1
  546. package/dist/assets/icons/icon-assets-min/24_table.js +2 -0
  547. package/dist/assets/icons/icon-assets-min/24_table.js.map +1 -1
  548. package/dist/assets/icons/icon-assets-min/24_template.js +2 -0
  549. package/dist/assets/icons/icon-assets-min/24_template.js.map +1 -1
  550. package/dist/assets/icons/icon-assets-min/24_terminal.js +2 -0
  551. package/dist/assets/icons/icon-assets-min/24_terminal.js.map +1 -1
  552. package/dist/assets/icons/icon-assets-min/24_text-align-center.js +2 -0
  553. package/dist/assets/icons/icon-assets-min/24_text-align-center.js.map +1 -1
  554. package/dist/assets/icons/icon-assets-min/24_text-align-left.js +2 -0
  555. package/dist/assets/icons/icon-assets-min/24_text-align-left.js.map +1 -1
  556. package/dist/assets/icons/icon-assets-min/24_text-align-right.js +2 -0
  557. package/dist/assets/icons/icon-assets-min/24_text-align-right.js.map +1 -1
  558. package/dist/assets/icons/icon-assets-min/24_theme-dark.js +2 -0
  559. package/dist/assets/icons/icon-assets-min/24_theme-dark.js.map +1 -1
  560. package/dist/assets/icons/icon-assets-min/24_theme-light.js +2 -0
  561. package/dist/assets/icons/icon-assets-min/24_theme-light.js.map +1 -1
  562. package/dist/assets/icons/icon-assets-min/24_time.js +2 -0
  563. package/dist/assets/icons/icon-assets-min/24_time.js.map +1 -1
  564. package/dist/assets/icons/icon-assets-min/24_title-position.js +2 -0
  565. package/dist/assets/icons/icon-assets-min/24_title-position.js.map +1 -1
  566. package/dist/assets/icons/icon-assets-min/24_tune.js +2 -0
  567. package/dist/assets/icons/icon-assets-min/24_tune.js.map +1 -1
  568. package/dist/assets/icons/icon-assets-min/24_venn.js +2 -0
  569. package/dist/assets/icons/icon-assets-min/24_venn.js.map +1 -1
  570. package/dist/assets/icons/icon-assets-min/24_view-hide.js +2 -0
  571. package/dist/assets/icons/icon-assets-min/24_view-hide.js.map +1 -1
  572. package/dist/assets/icons/icon-assets-min/24_view-show.js +2 -0
  573. package/dist/assets/icons/icon-assets-min/24_view-show.js.map +1 -1
  574. package/dist/assets/icons/icon-assets-min/24_violin-binned.js +2 -0
  575. package/dist/assets/icons/icon-assets-min/24_violin-binned.js.map +1 -1
  576. package/dist/assets/icons/icon-assets-min/24_violin-jitter.js +2 -0
  577. package/dist/assets/icons/icon-assets-min/24_violin-jitter.js.map +1 -1
  578. package/dist/assets/icons/icon-assets-min/24_violin.js +2 -0
  579. package/dist/assets/icons/icon-assets-min/24_violin.js.map +1 -1
  580. package/dist/assets/icons/icon-assets-min/24_warning.js +2 -0
  581. package/dist/assets/icons/icon-assets-min/24_warning.js.map +1 -1
  582. package/dist/assets/icons/icon-assets-min/24_wetlab.js +2 -0
  583. package/dist/assets/icons/icon-assets-min/24_wetlab.js.map +1 -1
  584. package/dist/assets/icons/icon-assets-min/24_windows-collapse.js +2 -0
  585. package/dist/assets/icons/icon-assets-min/24_windows-collapse.js.map +1 -1
  586. package/dist/assets/icons/icon-assets-min/24_windows-expand.js +2 -0
  587. package/dist/assets/icons/icon-assets-min/24_windows-expand.js.map +1 -1
  588. package/dist/assets/icons/icon-assets-min/24_x-axis.js +2 -0
  589. package/dist/assets/icons/icon-assets-min/24_x-axis.js.map +1 -1
  590. package/dist/assets/icons/icon-assets-min/24_y-axis.js +2 -0
  591. package/dist/assets/icons/icon-assets-min/24_y-axis.js.map +1 -1
  592. package/dist/assets/icons/icon-assets-min/24_zip.js +2 -0
  593. package/dist/assets/icons/icon-assets-min/24_zip.js.map +1 -1
  594. package/dist/assets/icons/icon-assets-min/24_zoom-in.js +2 -0
  595. package/dist/assets/icons/icon-assets-min/24_zoom-in.js.map +1 -1
  596. package/dist/assets/icons/icon-assets-min/24_zoom-out.js +2 -0
  597. package/dist/assets/icons/icon-assets-min/24_zoom-out.js.map +1 -1
  598. package/dist/assets/images/24_checkbox-light-enabled-checked.js +2 -0
  599. package/dist/assets/images/24_checkbox-light-enabled-checked.js.map +1 -1
  600. package/dist/assets/images/24_checkbox-light-enabled-unchecked.js +2 -0
  601. package/dist/assets/images/24_checkbox-light-enabled-unchecked.js.map +1 -1
  602. package/dist/assets/images/required.js +2 -0
  603. package/dist/assets/images/required.js.map +1 -1
  604. package/dist/base/BtnBase.js +2 -0
  605. package/dist/base/BtnBase.vue2.js +2 -0
  606. package/dist/base/BtnBase.vue2.js.map +1 -1
  607. package/dist/colors/color.js +2 -9
  608. package/dist/colors/color.js.map +1 -1
  609. package/dist/colors/gradient.js +1 -34
  610. package/dist/colors/gradient.js.map +1 -1
  611. package/dist/colors/palette.js +3 -4
  612. package/dist/colors/palette.js.map +1 -1
  613. package/dist/components/ContextProvider.js +2 -0
  614. package/dist/components/ContextProvider.vue2.js +2 -0
  615. package/dist/components/ContextProvider.vue2.js.map +1 -1
  616. package/dist/components/DataTable/BaseCellComponent.js +2 -0
  617. package/dist/components/DataTable/BaseCellComponent.vue2.js +2 -0
  618. package/dist/components/DataTable/BaseCellComponent.vue2.js.map +1 -1
  619. package/dist/components/DataTable/ColumnCaret.js +2 -0
  620. package/dist/components/DataTable/ColumnCaret.vue2.js +2 -0
  621. package/dist/components/DataTable/ColumnCaret.vue2.js.map +1 -1
  622. package/dist/components/DataTable/ColumnsCommandMenu.js +2 -0
  623. package/dist/components/DataTable/ColumnsCommandMenu.vue2.js +2 -0
  624. package/dist/components/DataTable/ColumnsCommandMenu.vue2.js.map +1 -1
  625. package/dist/components/DataTable/RowsCommandMenu.js +2 -0
  626. package/dist/components/DataTable/RowsCommandMenu.vue2.js +2 -0
  627. package/dist/components/DataTable/RowsCommandMenu.vue2.js.map +1 -1
  628. package/dist/components/DataTable/TScroll.js +2 -0
  629. package/dist/components/DataTable/TScroll.vue2.js +2 -0
  630. package/dist/components/DataTable/TScroll.vue2.js.map +1 -1
  631. package/dist/components/DataTable/TableComponent.js +2 -0
  632. package/dist/components/DataTable/TableComponent.vue2.js +2 -0
  633. package/dist/components/DataTable/TableComponent.vue2.js.map +1 -1
  634. package/dist/components/DataTable/TdCell.js +2 -0
  635. package/dist/components/DataTable/TdCell.vue2.js +2 -0
  636. package/dist/components/DataTable/TdCell.vue2.js.map +1 -1
  637. package/dist/components/DataTable/ThCell.js +2 -0
  638. package/dist/components/DataTable/ThCell.vue2.js +2 -0
  639. package/dist/components/DataTable/ThCell.vue2.js.map +1 -1
  640. package/dist/components/DataTable/TrBody.js +2 -0
  641. package/dist/components/DataTable/TrBody.vue2.js +2 -0
  642. package/dist/components/DataTable/TrBody.vue2.js.map +1 -1
  643. package/dist/components/DataTable/TrHead.js +2 -0
  644. package/dist/components/DataTable/TrHead.vue2.js +2 -0
  645. package/dist/components/DataTable/TrHead.vue2.js.map +1 -1
  646. package/dist/components/DataTable/adapters/AsyncData.js +2 -0
  647. package/dist/components/DataTable/adapters/AsyncData.js.map +1 -1
  648. package/dist/components/DataTable/adapters/RawData.js +2 -0
  649. package/dist/components/DataTable/adapters/RawData.js.map +1 -1
  650. package/dist/components/DataTable/assets/TableIcon.js +2 -0
  651. package/dist/components/DataTable/assets/TableIcon.js.map +1 -1
  652. package/dist/components/DataTable/composition/useColumn.js +2 -0
  653. package/dist/components/DataTable/composition/useColumn.js.map +1 -1
  654. package/dist/components/DataTable/composition/useMouseUp.js +2 -0
  655. package/dist/components/DataTable/composition/useMouseUp.js.map +1 -1
  656. package/dist/components/DataTable/composition/useResize.js +2 -0
  657. package/dist/components/DataTable/composition/useResize.js.map +1 -1
  658. package/dist/components/DataTable/composition/useTableColumns.js +2 -0
  659. package/dist/components/DataTable/composition/useTableColumns.js.map +1 -1
  660. package/dist/components/DataTable/composition/useTableRows.js +2 -0
  661. package/dist/components/DataTable/composition/useTableRows.js.map +1 -1
  662. package/dist/components/DataTable/domain.js +2 -6
  663. package/dist/components/DataTable/domain.js.map +1 -1
  664. package/dist/components/DataTable/index.js +2 -7
  665. package/dist/components/DataTable/index.js.map +1 -1
  666. package/dist/components/DataTable/keys.js +3 -1
  667. package/dist/components/DataTable/keys.js.map +1 -1
  668. package/dist/components/DataTable/state.js +2 -0
  669. package/dist/components/DataTable/state.js.map +1 -1
  670. package/dist/components/DropdownListItem.js +2 -0
  671. package/dist/components/DropdownListItem.vue2.js +2 -0
  672. package/dist/components/DropdownListItem.vue2.js.map +1 -1
  673. package/dist/components/HScroll.js +2 -0
  674. package/dist/components/HScroll.vue2.js +2 -0
  675. package/dist/components/HScroll.vue2.js.map +1 -1
  676. package/dist/components/InputRange.js +2 -0
  677. package/dist/components/InputRange.vue2.js +2 -0
  678. package/dist/components/InputRange.vue2.js.map +1 -1
  679. package/dist/components/LongText.js +2 -0
  680. package/dist/components/LongText.vue2.js +2 -0
  681. package/dist/components/LongText.vue2.js.map +1 -1
  682. package/dist/components/PlAccordion/ExpandTransition.js +2 -0
  683. package/dist/components/PlAccordion/ExpandTransition.vue2.js +2 -0
  684. package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +1 -1
  685. package/dist/components/PlAccordion/PlAccordion.js +2 -0
  686. package/dist/components/PlAccordion/PlAccordion.vue2.js +2 -0
  687. package/dist/components/PlAccordion/PlAccordion.vue2.js.map +1 -1
  688. package/dist/components/PlAccordion/PlAccordionSection.js +1 -0
  689. package/dist/components/PlAccordion/PlAccordionSection.style.js +1 -0
  690. package/dist/components/PlAccordion/PlAccordionSection.vue2.js +2 -0
  691. package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
  692. package/dist/components/PlAlert/PlAlert.js +2 -0
  693. package/dist/components/PlAlert/PlAlert.vue2.js +2 -0
  694. package/dist/components/PlAlert/PlAlert.vue2.js.map +1 -1
  695. package/dist/components/PlAutocomplete/PlAutocomplete.js +2 -0
  696. package/dist/components/PlAutocomplete/PlAutocomplete.vue2.js +2 -0
  697. package/dist/components/PlAutocomplete/PlAutocomplete.vue2.js.map +1 -1
  698. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.js +2 -0
  699. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js +2 -0
  700. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js.map +1 -1
  701. package/dist/components/PlBtnAccent/PlBtnAccent.js +2 -0
  702. package/dist/components/PlBtnAccent/PlBtnAccent.vue2.js +1 -0
  703. package/dist/components/PlBtnDanger/PlBtnDanger.js +2 -0
  704. package/dist/components/PlBtnDanger/PlBtnDanger.vue2.js +1 -0
  705. package/dist/components/PlBtnGhost/PlBtnGhost.js +2 -0
  706. package/dist/components/PlBtnGhost/PlBtnGhost.vue2.js +2 -0
  707. package/dist/components/PlBtnGhost/PlBtnGhost.vue2.js.map +1 -1
  708. package/dist/components/PlBtnGroup/PlBtnGroup.js +2 -0
  709. package/dist/components/PlBtnGroup/PlBtnGroup.vue2.js +2 -0
  710. package/dist/components/PlBtnGroup/PlBtnGroup.vue2.js.map +1 -1
  711. package/dist/components/PlBtnLink/PlBtnLink.js +2 -0
  712. package/dist/components/PlBtnLink/PlBtnLink.vue2.js +2 -0
  713. package/dist/components/PlBtnLink/PlBtnLink.vue2.js.map +1 -1
  714. package/dist/components/PlBtnPrimary/PlBtnPrimary.js +2 -0
  715. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js +1 -0
  716. package/dist/components/PlBtnSecondary/PlBtnSecondary.js +2 -0
  717. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js +1 -0
  718. package/dist/components/PlBtnSplit/PlBtnSplit.js +2 -0
  719. package/dist/components/PlBtnSplit/PlBtnSplit.vue2.js +2 -0
  720. package/dist/components/PlBtnSplit/PlBtnSplit.vue2.js.map +1 -1
  721. package/dist/components/PlChartHistogram/PlChartHistogram.js +1 -0
  722. package/dist/components/PlChartHistogram/PlChartHistogram.style.js +1 -0
  723. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +2 -0
  724. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
  725. package/dist/components/PlChartHistogram/createGridlines.js +2 -0
  726. package/dist/components/PlChartHistogram/createGridlines.js.map +1 -1
  727. package/dist/components/PlChartHistogram/createLabels.js +2 -0
  728. package/dist/components/PlChartHistogram/createLabels.js.map +1 -1
  729. package/dist/components/PlChartHistogram/createSvgContainer.js +2 -0
  730. package/dist/components/PlChartHistogram/createSvgContainer.js.map +1 -1
  731. package/dist/components/PlChartHistogram/drawBins.js +2 -0
  732. package/dist/components/PlChartHistogram/drawBins.js.map +1 -1
  733. package/dist/components/PlChartHistogram/drawThreshold.js +2 -0
  734. package/dist/components/PlChartHistogram/drawThreshold.js.map +1 -1
  735. package/dist/components/PlChartHistogram/histogram.js +2 -0
  736. package/dist/components/PlChartHistogram/histogram.js.map +1 -1
  737. package/dist/components/PlChartHistogram/logspace.js +2 -0
  738. package/dist/components/PlChartHistogram/logspace.js.map +1 -1
  739. package/dist/components/PlChartHistogram/normalizeBins.js +2 -0
  740. package/dist/components/PlChartHistogram/normalizeBins.js.map +1 -1
  741. package/dist/components/PlChartStackedBar/Legends.js +1 -0
  742. package/dist/components/PlChartStackedBar/Legends.style.js +1 -0
  743. package/dist/components/PlChartStackedBar/Legends.vue2.js +2 -0
  744. package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
  745. package/dist/components/PlChartStackedBar/PlChartStackedBar.js +1 -0
  746. package/dist/components/PlChartStackedBar/PlChartStackedBar.style.js +1 -0
  747. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +2 -0
  748. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
  749. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.js +1 -0
  750. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.style.js +1 -0
  751. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js +2 -0
  752. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
  753. package/dist/components/PlChartStackedBar/StackedRow.js +1 -0
  754. package/dist/components/PlChartStackedBar/StackedRow.style.js +1 -0
  755. package/dist/components/PlChartStackedBar/StackedRow.vue2.js +2 -0
  756. package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
  757. package/dist/components/PlChartStackedBar/StackedRowCompact.js +1 -0
  758. package/dist/components/PlChartStackedBar/StackedRowCompact.style.js +1 -0
  759. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js +2 -0
  760. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
  761. package/dist/components/PlCheckbox/PlCheckbox.js +2 -0
  762. package/dist/components/PlCheckbox/PlCheckbox.vue2.js +1 -0
  763. package/dist/components/PlCheckbox/PlCheckboxBase.js +2 -0
  764. package/dist/components/PlCheckbox/PlCheckboxBase.vue2.js +2 -0
  765. package/dist/components/PlCheckbox/PlCheckboxBase.vue2.js.map +1 -1
  766. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.js +2 -0
  767. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js +2 -0
  768. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js.map +1 -1
  769. package/dist/components/PlChip/PlChip.js +2 -0
  770. package/dist/components/PlChip/PlChip.vue2.js +2 -0
  771. package/dist/components/PlChip/PlChip.vue2.js.map +1 -1
  772. package/dist/components/PlClipboard/PlClipboard.js +1 -0
  773. package/dist/components/PlClipboard/PlClipboard.style.js +1 -0
  774. package/dist/components/PlClipboard/PlClipboard.vue2.js +1 -0
  775. package/dist/components/PlConfirmDialog.js +2 -0
  776. package/dist/components/PlConfirmDialog.vue2.js +2 -0
  777. package/dist/components/PlConfirmDialog.vue2.js.map +1 -1
  778. package/dist/components/PlDialogModal/PlDialogModal.js +2 -0
  779. package/dist/components/PlDialogModal/PlDialogModal.js.map +1 -1
  780. package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts +1 -0
  781. package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts.map +1 -1
  782. package/dist/components/PlDialogModal/PlDialogModal.vue2.js +6 -1
  783. package/dist/components/PlDialogModal/PlDialogModal.vue2.js.map +1 -1
  784. package/dist/components/PlDropdown/OptionList.js +2 -0
  785. package/dist/components/PlDropdown/OptionList.vue2.js +2 -0
  786. package/dist/components/PlDropdown/OptionList.vue2.js.map +1 -1
  787. package/dist/components/PlDropdown/PlDropdown.js +2 -0
  788. package/dist/components/PlDropdown/PlDropdown.vue2.js +2 -0
  789. package/dist/components/PlDropdown/PlDropdown.vue2.js.map +1 -1
  790. package/dist/components/PlDropdown/useGroupBy.js +2 -0
  791. package/dist/components/PlDropdown/useGroupBy.js.map +1 -1
  792. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.js +2 -0
  793. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js +2 -0
  794. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js.map +1 -1
  795. package/dist/components/PlDropdownLine/PlDropdownLine.js +2 -0
  796. package/dist/components/PlDropdownLine/PlDropdownLine.vue2.js +2 -0
  797. package/dist/components/PlDropdownLine/PlDropdownLine.vue2.js.map +1 -1
  798. package/dist/components/PlDropdownLine/ResizableInput.js +2 -0
  799. package/dist/components/PlDropdownLine/ResizableInput.vue2.js +2 -0
  800. package/dist/components/PlDropdownLine/ResizableInput.vue2.js.map +1 -1
  801. package/dist/components/PlDropdownMulti/PlDropdownMulti.js +2 -0
  802. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js +2 -0
  803. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js.map +1 -1
  804. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.js +2 -0
  805. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js +2 -0
  806. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js.map +1 -1
  807. package/dist/components/PlDropdownRef/PlDropdownRef.js +2 -0
  808. package/dist/components/PlDropdownRef/PlDropdownRef.vue2.js +1 -0
  809. package/dist/components/PlEditableTitle/PlEditableTitle.js +2 -0
  810. package/dist/components/PlEditableTitle/PlEditableTitle.vue2.js +2 -0
  811. package/dist/components/PlEditableTitle/PlEditableTitle.vue2.js.map +1 -1
  812. package/dist/components/PlEditableTitle/pl-editable-title.module.js +1 -0
  813. package/dist/components/PlElementList/PlElementList.js +1 -0
  814. package/dist/components/PlElementList/PlElementList.style.js +1 -0
  815. package/dist/components/PlElementList/PlElementList.vue2.js +2 -0
  816. package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
  817. package/dist/components/PlElementList/PlElementListItem.js +1 -0
  818. package/dist/components/PlElementList/PlElementListItem.style.js +1 -0
  819. package/dist/components/PlElementList/PlElementListItem.vue2.js +2 -0
  820. package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
  821. package/dist/components/PlElementList/utils.js +3 -1
  822. package/dist/components/PlElementList/utils.js.map +1 -1
  823. package/dist/components/PlErrorAlert/PlErrorAlert.js +1 -0
  824. package/dist/components/PlErrorAlert/PlErrorAlert.style.js +1 -0
  825. package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js +1 -0
  826. package/dist/components/PlErrorBoundary/PlErrorBoundary.js +2 -0
  827. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js +2 -0
  828. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js.map +1 -1
  829. package/dist/components/PlFileDialog/Local.js +2 -0
  830. package/dist/components/PlFileDialog/Local.vue2.js +2 -0
  831. package/dist/components/PlFileDialog/Local.vue2.js.map +1 -1
  832. package/dist/components/PlFileDialog/PlFileDialog.js +2 -0
  833. package/dist/components/PlFileDialog/PlFileDialog.vue2.js +2 -0
  834. package/dist/components/PlFileDialog/PlFileDialog.vue2.js.map +1 -1
  835. package/dist/components/PlFileDialog/Remote.js +2 -0
  836. package/dist/components/PlFileDialog/Remote.vue2.js +2 -0
  837. package/dist/components/PlFileDialog/Remote.vue2.js.map +1 -1
  838. package/dist/components/PlFileDialog/Shortcuts.js +1 -0
  839. package/dist/components/PlFileDialog/Shortcuts.style.js +1 -0
  840. package/dist/components/PlFileDialog/Shortcuts.vue2.js +2 -0
  841. package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
  842. package/dist/components/PlFileDialog/pl-file-dialog.module.js +1 -0
  843. package/dist/components/PlFileDialog/remote-helpers.js +4 -2
  844. package/dist/components/PlFileDialog/remote-helpers.js.map +1 -1
  845. package/dist/components/PlFileDialog/utils.js +2 -0
  846. package/dist/components/PlFileDialog/utils.js.map +1 -1
  847. package/dist/components/PlFileInput/PlFileInput.js +2 -0
  848. package/dist/components/PlFileInput/PlFileInput.vue2.js +2 -0
  849. package/dist/components/PlFileInput/PlFileInput.vue2.js.map +1 -1
  850. package/dist/components/PlIcon16/PlIcon16.js +1 -0
  851. package/dist/components/PlIcon16/PlIcon16.style.js +1 -0
  852. package/dist/components/PlIcon16/PlIcon16.vue2.js +2 -0
  853. package/dist/components/PlIcon16/PlIcon16.vue2.js.map +1 -1
  854. package/dist/components/PlIcon24/PlIcon24.js +1 -0
  855. package/dist/components/PlIcon24/PlIcon24.style.js +1 -0
  856. package/dist/components/PlIcon24/PlIcon24.vue2.js +2 -0
  857. package/dist/components/PlIcon24/PlIcon24.vue2.js.map +1 -1
  858. package/dist/components/PlLoaderCircular/PlLoaderCircular.js +2 -0
  859. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js +2 -0
  860. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js.map +1 -1
  861. package/dist/components/PlLoaderLogo.js +1 -0
  862. package/dist/components/PlLoaderLogo.style.js +1 -0
  863. package/dist/components/PlLoaderLogo.vue2.js +2 -0
  864. package/dist/components/PlLoaderLogo.vue2.js.map +1 -1
  865. package/dist/components/PlLogView/PlLogView.js +2 -0
  866. package/dist/components/PlLogView/PlLogView.vue2.js +2 -0
  867. package/dist/components/PlLogView/PlLogView.vue2.js.map +1 -1
  868. package/dist/components/PlLogView/useLogHandle.js +2 -0
  869. package/dist/components/PlLogView/useLogHandle.js.map +1 -1
  870. package/dist/components/PlNotificationAlert/PlNotificationAlert.js +2 -0
  871. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js +2 -0
  872. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js.map +1 -1
  873. package/dist/components/PlNumberField/PlNumberField.js +2 -0
  874. package/dist/components/PlNumberField/PlNumberField.js.map +1 -1
  875. package/dist/components/PlNumberField/PlNumberField.vue.d.ts +1 -1
  876. package/dist/components/PlNumberField/PlNumberField.vue.d.ts.map +1 -1
  877. package/dist/components/PlNumberField/PlNumberField.vue2.js +2 -0
  878. package/dist/components/PlNumberField/PlNumberField.vue2.js.map +1 -1
  879. package/dist/components/PlNumberField/parseNumber.js +2 -11
  880. package/dist/components/PlNumberField/parseNumber.js.map +1 -1
  881. package/dist/components/PlProgressBar/PlProgressBar.js +2 -0
  882. package/dist/components/PlProgressBar/PlProgressBar.vue2.js +2 -0
  883. package/dist/components/PlProgressBar/PlProgressBar.vue2.js.map +1 -1
  884. package/dist/components/PlProgressCell/PlProgressCell.js +2 -0
  885. package/dist/components/PlProgressCell/PlProgressCell.vue2.js +2 -0
  886. package/dist/components/PlProgressCell/PlProgressCell.vue2.js.map +1 -1
  887. package/dist/components/PlRadio/PlRadio.js +1 -0
  888. package/dist/components/PlRadio/PlRadio.style.js +1 -0
  889. package/dist/components/PlRadio/PlRadio.vue2.js +2 -0
  890. package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
  891. package/dist/components/PlRadio/PlRadioGroup.js +1 -0
  892. package/dist/components/PlRadio/PlRadioGroup.style.js +1 -0
  893. package/dist/components/PlRadio/PlRadioGroup.vue2.js +2 -0
  894. package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
  895. package/dist/components/PlRadio/keys.js +3 -1
  896. package/dist/components/PlRadio/keys.js.map +1 -1
  897. package/dist/components/PlSearchField/PlSearchField.js +1 -0
  898. package/dist/components/PlSearchField/PlSearchField.style.js +1 -0
  899. package/dist/components/PlSearchField/PlSearchField.vue2.js +2 -0
  900. package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
  901. package/dist/components/PlSectionSeparator/PlSectionSeparator.js +1 -0
  902. package/dist/components/PlSectionSeparator/PlSectionSeparator.style.js +1 -0
  903. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js +2 -0
  904. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
  905. package/dist/components/PlSidebar/PlSidebarGroup.js +1 -0
  906. package/dist/components/PlSidebar/PlSidebarGroup.style.js +1 -0
  907. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js +2 -0
  908. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
  909. package/dist/components/PlSidebar/PlSidebarItem.js +1 -0
  910. package/dist/components/PlSidebar/PlSidebarItem.style.js +1 -0
  911. package/dist/components/PlSidebar/PlSidebarItem.vue2.js +2 -0
  912. package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
  913. package/dist/components/PlSlideModal/PlPureSlideModal.js +2 -0
  914. package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js +1 -0
  915. package/dist/components/PlSlideModal/PlSlideModal.js +1 -0
  916. package/dist/components/PlSlideModal/PlSlideModal.style.js +1 -0
  917. package/dist/components/PlSlideModal/PlSlideModal.vue2.js +2 -0
  918. package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
  919. package/dist/components/PlSlideModal/props.js +3 -1
  920. package/dist/components/PlSlideModal/props.js.map +1 -1
  921. package/dist/components/PlSplash/PlSplash.js +2 -0
  922. package/dist/components/PlSplash/PlSplash.vue2.js +2 -0
  923. package/dist/components/PlSplash/PlSplash.vue2.js.map +1 -1
  924. package/dist/components/PlSplash/pl-splash.module.js +1 -0
  925. package/dist/components/PlStatusTag/PlStatusTag.js +2 -0
  926. package/dist/components/PlStatusTag/PlStatusTag.vue2.js +2 -0
  927. package/dist/components/PlStatusTag/PlStatusTag.vue2.js.map +1 -1
  928. package/dist/components/PlSvg/PlSvg.js +1 -0
  929. package/dist/components/PlSvg/PlSvg.style.js +1 -0
  930. package/dist/components/PlSvg/PlSvg.vue2.js +2 -0
  931. package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
  932. package/dist/components/PlSvg/registry.js +2 -0
  933. package/dist/components/PlSvg/registry.js.map +1 -1
  934. package/dist/components/PlTabs/PlTabs.js +2 -0
  935. package/dist/components/PlTabs/PlTabs.vue2.js +1 -0
  936. package/dist/components/PlTabs/Tab.js +2 -0
  937. package/dist/components/PlTabs/Tab.vue2.js +2 -0
  938. package/dist/components/PlTabs/Tab.vue2.js.map +1 -1
  939. package/dist/components/PlTabs/pl-tabs.module.js +1 -0
  940. package/dist/components/PlTextArea/PlTextArea.js +2 -0
  941. package/dist/components/PlTextArea/PlTextArea.vue2.js +2 -0
  942. package/dist/components/PlTextArea/PlTextArea.vue2.js.map +1 -1
  943. package/dist/components/PlTextField/PlTextField.js +2 -0
  944. package/dist/components/PlTextField/PlTextField.js.map +1 -1
  945. package/dist/components/PlTextField/PlTextField.vue.d.ts +8 -8
  946. package/dist/components/PlTextField/PlTextField.vue.d.ts.map +1 -1
  947. package/dist/components/PlTextField/PlTextField.vue2.js +4 -2
  948. package/dist/components/PlTextField/PlTextField.vue2.js.map +1 -1
  949. package/dist/components/PlToggleSwitch/PlToggleSwitch.js +2 -0
  950. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js +2 -0
  951. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js.map +1 -1
  952. package/dist/components/PlTooltip/PlTooltip.js +1 -0
  953. package/dist/components/PlTooltip/PlTooltip.style.js +1 -0
  954. package/dist/components/PlTooltip/PlTooltip.vue2.js +1 -0
  955. package/dist/components/PlTooltip/global.js +3 -1
  956. package/dist/components/PlTooltip/global.js.map +1 -1
  957. package/dist/components/Scrollable.js +2 -0
  958. package/dist/components/Scrollable.vue2.js +2 -0
  959. package/dist/components/Scrollable.vue2.js.map +1 -1
  960. package/dist/components/Slider.js +2 -0
  961. package/dist/components/Slider.vue2.js +2 -0
  962. package/dist/components/Slider.vue2.js.map +1 -1
  963. package/dist/components/SliderRange.js +2 -0
  964. package/dist/components/SliderRange.vue2.js +2 -0
  965. package/dist/components/SliderRange.vue2.js.map +1 -1
  966. package/dist/components/SliderRangeTriple.js +2 -0
  967. package/dist/components/SliderRangeTriple.vue2.js +2 -0
  968. package/dist/components/SliderRangeTriple.vue2.js.map +1 -1
  969. package/dist/components/TabItem.js +2 -0
  970. package/dist/components/TabItem.vue2.js +2 -0
  971. package/dist/components/TabItem.vue2.js.map +1 -1
  972. package/dist/components/ThemeSwitcher.js +2 -0
  973. package/dist/components/ThemeSwitcher.vue2.js +2 -0
  974. package/dist/components/ThemeSwitcher.vue2.js.map +1 -1
  975. package/dist/components/TransitionSlidePanel.js +2 -0
  976. package/dist/components/TransitionSlidePanel.vue2.js +2 -0
  977. package/dist/components/TransitionSlidePanel.vue2.js.map +1 -1
  978. package/dist/components/VScroll.js +2 -0
  979. package/dist/components/VScroll.vue2.js +2 -0
  980. package/dist/components/VScroll.vue2.js.map +1 -1
  981. package/dist/components/contextMenu/Menu.js +2 -0
  982. package/dist/components/contextMenu/Menu.vue2.js +2 -0
  983. package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
  984. package/dist/components/contextMenu/index.js +2 -0
  985. package/dist/components/contextMenu/index.js.map +1 -1
  986. package/dist/composition/computedCached.js +2 -0
  987. package/dist/composition/computedCached.js.map +1 -1
  988. package/dist/composition/filters/metadata.js +3 -1
  989. package/dist/composition/filters/metadata.js.map +1 -1
  990. package/dist/composition/useClickOutside.js +2 -0
  991. package/dist/composition/useClickOutside.js.map +1 -1
  992. package/dist/composition/useComponentProp.js +2 -30
  993. package/dist/composition/useComponentProp.js.map +1 -1
  994. package/dist/composition/useConfirm.js +2 -0
  995. package/dist/composition/useConfirm.js.map +1 -1
  996. package/dist/composition/useDraggable.js +2 -0
  997. package/dist/composition/useDraggable.js.map +1 -1
  998. package/dist/composition/useEventListener.js +2 -0
  999. package/dist/composition/useEventListener.js.map +1 -1
  1000. package/dist/composition/useFilteredList.js +2 -0
  1001. package/dist/composition/useFilteredList.js.map +1 -1
  1002. package/dist/composition/useFormState.js +2 -0
  1003. package/dist/composition/useFormState.js.map +1 -1
  1004. package/dist/composition/useHover.js +2 -0
  1005. package/dist/composition/useHover.js.map +1 -1
  1006. package/dist/composition/useInterval.js +2 -0
  1007. package/dist/composition/useInterval.js.map +1 -1
  1008. package/dist/composition/useLocalStorage.js +2 -0
  1009. package/dist/composition/useLocalStorage.js.map +1 -1
  1010. package/dist/composition/useMouse.js +2 -0
  1011. package/dist/composition/useMouse.js.map +1 -1
  1012. package/dist/composition/useMouseCapture.js +2 -0
  1013. package/dist/composition/useMouseCapture.js.map +1 -1
  1014. package/dist/composition/usePollingQuery.js +11 -94
  1015. package/dist/composition/usePollingQuery.js.map +1 -1
  1016. package/dist/composition/usePosition.js +2 -0
  1017. package/dist/composition/usePosition.js.map +1 -1
  1018. package/dist/composition/useQuery.js +2 -0
  1019. package/dist/composition/useQuery.js.map +1 -1
  1020. package/dist/composition/useResizeObserver.js +2 -0
  1021. package/dist/composition/useResizeObserver.js.map +1 -1
  1022. package/dist/composition/useRipple.js +2 -0
  1023. package/dist/composition/useRipple.js.map +1 -1
  1024. package/dist/composition/useScroll.js +2 -0
  1025. package/dist/composition/useScroll.js.map +1 -1
  1026. package/dist/composition/useSliderBreakpoints.js +3 -1
  1027. package/dist/composition/useSliderBreakpoints.js.map +1 -1
  1028. package/dist/composition/useSortable.js +2 -0
  1029. package/dist/composition/useSortable.js.map +1 -1
  1030. package/dist/composition/useSortable2.js +2 -9
  1031. package/dist/composition/useSortable2.js.map +1 -1
  1032. package/dist/composition/useTheme.js +2 -0
  1033. package/dist/composition/useTheme.js.map +1 -1
  1034. package/dist/composition/useTransformedModel.js +2 -31
  1035. package/dist/composition/useTransformedModel.js.map +1 -1
  1036. package/dist/composition/useWatchFetch.js +2 -20
  1037. package/dist/composition/useWatchFetch.js.map +1 -1
  1038. package/dist/composition/utils.js +2 -0
  1039. package/dist/composition/utils.js.map +1 -1
  1040. package/dist/composition/watchCached.js +2 -1
  1041. package/dist/demo-site-data/all-css-variables.js +2 -0
  1042. package/dist/demo-site-data/all-css-variables.js.map +1 -1
  1043. package/dist/generated/icons-16.js +3 -1
  1044. package/dist/generated/icons-16.js.map +1 -1
  1045. package/dist/generated/icons-24.js +3 -1
  1046. package/dist/generated/icons-24.js.map +1 -1
  1047. package/dist/global/resizeObserver.js +2 -0
  1048. package/dist/global/resizeObserver.js.map +1 -1
  1049. package/dist/helpers/dom.js +2 -0
  1050. package/dist/helpers/dom.js.map +1 -1
  1051. package/dist/helpers/downloadContent.js +3 -1
  1052. package/dist/helpers/downloadContent.js.map +1 -1
  1053. package/dist/helpers/error.js +2 -0
  1054. package/dist/helpers/error.js.map +1 -1
  1055. package/dist/helpers/functions.js +2 -0
  1056. package/dist/helpers/functions.js.map +1 -1
  1057. package/dist/helpers/index.js +2 -0
  1058. package/dist/helpers/index.js.map +1 -1
  1059. package/dist/helpers/iterators.js +2 -0
  1060. package/dist/helpers/iterators.js.map +1 -1
  1061. package/dist/helpers/math.js +2 -0
  1062. package/dist/helpers/math.js.map +1 -1
  1063. package/dist/helpers/objects.js +2 -0
  1064. package/dist/helpers/objects.js.map +1 -1
  1065. package/dist/helpers/utils.js +2 -0
  1066. package/dist/helpers/utils.js.map +1 -1
  1067. package/dist/index.js +2 -0
  1068. package/dist/index.js.map +1 -1
  1069. package/dist/layout/PlBlockPage/PlBlockPage.js +1 -0
  1070. package/dist/layout/PlBlockPage/PlBlockPage.style.js +1 -0
  1071. package/dist/layout/PlBlockPage/PlBlockPage.vue2.js +2 -0
  1072. package/dist/layout/PlBlockPage/PlBlockPage.vue2.js.map +1 -1
  1073. package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.js +3 -1
  1074. package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.js.map +1 -1
  1075. package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.js +2 -0
  1076. package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.js.map +1 -1
  1077. package/dist/layout/PlContainer/PlContainer.js +2 -0
  1078. package/dist/layout/PlContainer/PlContainer.vue2.js +1 -0
  1079. package/dist/layout/PlGrid/PlGrid.js +2 -0
  1080. package/dist/layout/PlGrid/PlGrid.vue2.js +1 -0
  1081. package/dist/layout/PlPlaceholder/PlPlaceholder.js +1 -0
  1082. package/dist/layout/PlPlaceholder/PlPlaceholder.style.js +1 -0
  1083. package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js +2 -0
  1084. package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js.map +1 -1
  1085. package/dist/layout/PlPlaceholder/index.js +3 -1
  1086. package/dist/layout/PlPlaceholder/index.js.map +1 -1
  1087. package/dist/layout/PlPlaceholder/paint-worklet.js +2 -0
  1088. package/dist/layout/PlPlaceholder/paint-worklet.js.map +1 -1
  1089. package/dist/layout/PlRow/PlRow.js +2 -0
  1090. package/dist/layout/PlRow/PlRow.vue2.js +1 -0
  1091. package/dist/layout/PlSpacer/PlSpacer.js +2 -0
  1092. package/dist/layout/PlSpacer/PlSpacer.vue2.js +2 -0
  1093. package/dist/layout/PlSpacer/PlSpacer.vue2.js.map +1 -1
  1094. package/dist/utils/DoubleContour.js +2 -0
  1095. package/dist/utils/DoubleContour.js.map +1 -1
  1096. package/dist/utils/DoubleContour.vue2.js +3 -1
  1097. package/dist/utils/DoubleContour.vue2.js.map +1 -1
  1098. package/dist/utils/DropdownOverlay/DropdownOverlay.js +2 -0
  1099. package/dist/utils/DropdownOverlay/DropdownOverlay.vue2.js +2 -0
  1100. package/dist/utils/DropdownOverlay/DropdownOverlay.vue2.js.map +1 -1
  1101. package/dist/utils/InnerBorder.js +2 -0
  1102. package/dist/utils/InnerBorder.js.map +1 -1
  1103. package/dist/utils/InnerBorder.vue2.js +2 -0
  1104. package/dist/utils/InnerBorder.vue2.js.map +1 -1
  1105. package/dist/utils/PlCloseModalBtn.js +2 -0
  1106. package/dist/utils/PlCloseModalBtn.js.map +1 -1
  1107. package/dist/utils/PlCloseModalBtn.style.js +1 -0
  1108. package/dist/utils/TextLabel.js +2 -0
  1109. package/dist/utils/TextLabel.js.map +1 -1
  1110. package/dist/utils/TextLabel.style.js +1 -0
  1111. package/dist/utils/useLabelNotch.js +2 -3
  1112. package/dist/utils/useLabelNotch.js.map +1 -1
  1113. package/dist/utils/useValidation.js +2 -0
  1114. package/dist/utils/useValidation.js.map +1 -1
  1115. package/package.json +7 -7
  1116. package/src/components/PlDialogModal/PlDialogModal.vue +1 -0
  1117. package/src/components/PlNumberField/PlNumberField.vue +1 -1
  1118. package/src/components/PlTextField/PlTextField.vue +8 -8
  1119. package/src/utils/DoubleContour.vue +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"PlDropdownMulti.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlDropdownMulti/PlDropdownMulti.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * A component for selecting multiple values from a list of options\n */\nexport default {\n name: \"PlDropdownMulti\",\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M = unknown\">\nimport {\n computed,\n reactive,\n ref,\n unref,\n useSlots,\n useTemplateRef,\n watch,\n watchPostEffect,\n} from \"vue\";\nimport SvgRequired from \"../../assets/images/required.svg?raw\";\nimport { getErrorMessage } from \"../../helpers/error.ts\";\nimport { deepEqual, deepIncludes } from \"../../helpers/objects\";\nimport { normalizeListOptions } from \"../../helpers/utils\";\nimport type { ListOption } from \"../../types\";\nimport DoubleContour from \"../../utils/DoubleContour.vue\";\nimport DropdownOverlay from \"../../utils/DropdownOverlay/DropdownOverlay.vue\";\nimport { useLabelNotch } from \"../../utils/useLabelNotch\";\nimport DropdownListItem from \"../DropdownListItem.vue\";\nimport { PlChip } from \"../PlChip\";\nimport { PlIcon24 } from \"../PlIcon24\";\nimport { PlSvg } from \"../PlSvg\";\nimport { PlTooltip } from \"../PlTooltip\";\nimport \"./pl-dropdown-multi.scss\";\n\nconst emit = defineEmits<{\n (e: \"update:modelValue\", v: M[]): void;\n}>();\n\nconst emitModel = (v: M[]) => emit(\"update:modelValue\", v);\n\nconst slots = useSlots();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current selected values.\n */\n modelValue: M[];\n /**\n * The label text for the dropdown field (optional)\n */\n label?: string;\n /**\n * List of available options for the dropdown\n */\n options?: Readonly<ListOption<M>[]>;\n /**\n * A helper text displayed below the dropdown when there are no errors (optional).\n */\n helper?: string;\n /**\n * Error message displayed below the dropdown (optional)\n */\n error?: unknown;\n /**\n * Placeholder text shown when no value is selected.\n */\n placeholder?: string;\n /**\n * If `true`, the dropdown component is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the dropdown component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n /**\n * Makes some of corners not rounded\n * */\n groupPosition?:\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"middle\";\n }>(),\n {\n modelValue: () => [],\n label: undefined,\n helper: undefined,\n error: undefined,\n placeholder: \"...\",\n required: false,\n disabled: false,\n options: undefined,\n groupPosition: undefined,\n },\n);\n\nconst rootRef = ref<HTMLElement | undefined>();\nconst input = ref<HTMLInputElement | undefined>();\n\nconst overlay = useTemplateRef(\"overlay\");\n\nconst data = reactive({\n search: \"\",\n activeOption: -1,\n open: false,\n optionsHeight: 0,\n});\n\nconst selectedValuesRef = computed(() => (Array.isArray(props.modelValue) ? props.modelValue : []));\n\nconst placeholderRef = computed(() => {\n if (data.open && props.modelValue.length > 0) {\n return props.placeholder;\n }\n\n return props.modelValue.length > 0 ? \"\" : props.placeholder;\n});\n\nconst normalizedOptionsRef = computed(() => normalizeListOptions(props.options ?? []));\n\nconst selectedOptionsRef = computed(() => {\n return selectedValuesRef.value\n .map((v) => normalizedOptionsRef.value.find((opt) => deepEqual(opt.value, v)))\n .filter((v) => v !== undefined);\n});\n\nconst filteredOptionsRef = computed(() => {\n const selectedValues = unref(selectedValuesRef);\n\n const options = unref(normalizedOptionsRef);\n\n return (\n data.search\n ? options.filter((opt) => {\n const search = data.search.toLowerCase();\n\n if (opt.label.toLowerCase().includes(search)) {\n return true;\n }\n\n if (typeof opt.value === \"string\") {\n return opt.value.toLowerCase().includes(search);\n }\n\n return opt.value === data.search;\n })\n : [...options]\n ).map((opt) => ({\n ...opt,\n selected: deepIncludes(selectedValues, opt.value),\n }));\n});\n\nconst isLoadingOptions = computed(() => {\n return props.options === undefined;\n});\n\nconst showLoadingSpinner = computed(() => {\n return !props.disabled && isLoadingOptions.value;\n});\n\nconst isDisabled = computed(() => {\n if (isLoadingOptions.value) {\n return true;\n }\n\n return props.disabled;\n});\n\nconst tabindex = computed(() => (isDisabled.value ? undefined : \"0\"));\n\nconst updateActiveOption = () => {\n data.activeOption = 0;\n};\n\nconst selectOption = (v: M) => {\n const values = unref(selectedValuesRef);\n emitModel(deepIncludes(values, v) ? values.filter((it) => !deepEqual(it, v)) : [...values, v]);\n data.search = \"\";\n rootRef?.value?.focus();\n};\n\nconst unselectOption = (d: M) =>\n emitModel(unref(selectedValuesRef).filter((v) => !deepEqual(v, d)));\n\nconst setFocusOnInput = () => input.value?.focus();\n\nconst toggleModel = () => {\n data.open = !data.open;\n if (!data.open) {\n data.search = \"\";\n }\n};\n\nconst onFocusOut = (event: FocusEvent) => {\n const relatedTarget = event.relatedTarget as Node | null;\n\n if (!rootRef.value?.contains(relatedTarget) && !overlay.value?.listRef?.contains(relatedTarget)) {\n data.search = \"\";\n data.open = false;\n }\n};\n\nconst handleKeydown = (e: { code: string; preventDefault(): void }) => {\n const { open, activeOption } = data;\n\n if (!open) {\n if (e.code === \"Enter\") {\n data.open = true;\n }\n return;\n }\n\n if (e.code === \"Escape\") {\n data.open = false;\n rootRef.value?.focus();\n }\n\n const filteredOptions = unref(filteredOptionsRef);\n\n const { length } = filteredOptions;\n\n if (!length) {\n return;\n }\n\n if ([\"ArrowDown\", \"ArrowUp\", \"Enter\"].includes(e.code)) {\n e.preventDefault();\n }\n\n if (e.code === \"Enter\") {\n selectOption(filteredOptions[activeOption].value);\n }\n\n const d = e.code === \"ArrowDown\" ? 1 : e.code === \"ArrowUp\" ? -1 : 0;\n\n data.activeOption = Math.abs(activeOption + d + length) % length;\n\n requestAnimationFrame(() => overlay.value?.scrollIntoActive());\n};\n\nuseLabelNotch(rootRef);\n\nwatch(\n () => props.modelValue,\n () => updateActiveOption(),\n { immediate: true },\n);\n\nwatchPostEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n data.search;\n\n if (data.open) {\n overlay.value?.scrollIntoActive();\n }\n});\n</script>\n\n<template>\n <div class=\"pl-dropdown-multi__envelope\" @click=\"setFocusOnInput\">\n <div\n ref=\"rootRef\"\n :tabindex=\"tabindex\"\n class=\"pl-dropdown-multi\"\n :class=\"{ open: data.open, error, disabled: isDisabled }\"\n @keydown=\"handleKeydown\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-dropdown-multi__container\">\n <div class=\"pl-dropdown-multi__field\">\n <input\n ref=\"input\"\n v-model=\"data.search\"\n type=\"text\"\n tabindex=\"-1\"\n :disabled=\"isDisabled\"\n :placeholder=\"placeholderRef\"\n spellcheck=\"false\"\n autocomplete=\"chrome-off\"\n @focus=\"data.open = true\"\n />\n <div v-if=\"!data.open\" class=\"chips-container\">\n <PlChip\n v-for=\"(opt, i) in selectedOptionsRef\"\n :key=\"i\"\n closeable\n small\n @click.stop=\"data.open = true\"\n @close=\"unselectOption(opt.value)\"\n >\n {{ opt.label || opt.value }}\n </PlChip>\n </div>\n\n <div class=\"pl-dropdown-multi__controls\">\n <PlIcon24 v-if=\"showLoadingSpinner\" name=\"loading\" />\n <slot name=\"append\" />\n <div class=\"pl-dropdown-multi__arrow-wrapper\" @click.stop=\"toggleModel\">\n <div class=\"arrow-icon arrow-icon-default\" />\n </div>\n </div>\n </div>\n <label v-if=\"label\">\n <PlSvg v-if=\"required\" :uri=\"SvgRequired\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <DropdownOverlay\n v-if=\"data.open\"\n ref=\"overlay\"\n :root=\"rootRef\"\n class=\"pl-dropdown-multi__options\"\n :gap=\"5\"\n tabindex=\"-1\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-dropdown-multi__open-chips-container\">\n <PlChip\n v-for=\"(opt, i) in selectedOptionsRef\"\n :key=\"i\"\n closeable\n small\n @close=\"unselectOption(opt.value)\"\n >\n {{ opt.label || opt.value }}\n </PlChip>\n </div>\n <DropdownListItem\n v-for=\"(item, index) in filteredOptionsRef\"\n :key=\"index\"\n :option=\"item\"\n :text-item=\"'text'\"\n :is-selected=\"item.selected\"\n :is-hovered=\"data.activeOption == index\"\n size=\"medium\"\n use-checkbox\n @click.stop=\"selectOption(item.value)\"\n />\n <div v-if=\"!filteredOptionsRef.length\" class=\"nothing-found\">Nothing found</div>\n </DropdownOverlay>\n <DoubleContour class=\"pl-dropdown-multi__contour\" :group-position=\"groupPosition\" />\n </div>\n </div>\n <div v-if=\"error\" class=\"pl-dropdown-multi__error\">{{ getErrorMessage(error) }}</div>\n <div v-else-if=\"helper\" class=\"pl-dropdown-multi__helper\">{{ helper }}</div>\n </div>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"PlDropdownMulti.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlDropdownMulti/PlDropdownMulti.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * A component for selecting multiple values from a list of options\n */\nexport default {\n name: \"PlDropdownMulti\",\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M = unknown\">\nimport {\n computed,\n reactive,\n ref,\n unref,\n useSlots,\n useTemplateRef,\n watch,\n watchPostEffect,\n} from \"vue\";\nimport SvgRequired from \"../../assets/images/required.svg?raw\";\nimport { getErrorMessage } from \"../../helpers/error.ts\";\nimport { deepEqual, deepIncludes } from \"../../helpers/objects\";\nimport { normalizeListOptions } from \"../../helpers/utils\";\nimport type { ListOption } from \"../../types\";\nimport DoubleContour from \"../../utils/DoubleContour.vue\";\nimport DropdownOverlay from \"../../utils/DropdownOverlay/DropdownOverlay.vue\";\nimport { useLabelNotch } from \"../../utils/useLabelNotch\";\nimport DropdownListItem from \"../DropdownListItem.vue\";\nimport { PlChip } from \"../PlChip\";\nimport { PlIcon24 } from \"../PlIcon24\";\nimport { PlSvg } from \"../PlSvg\";\nimport { PlTooltip } from \"../PlTooltip\";\nimport \"./pl-dropdown-multi.scss\";\n\nconst emit = defineEmits<{\n (e: \"update:modelValue\", v: M[]): void;\n}>();\n\nconst emitModel = (v: M[]) => emit(\"update:modelValue\", v);\n\nconst slots = useSlots();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current selected values.\n */\n modelValue: M[];\n /**\n * The label text for the dropdown field (optional)\n */\n label?: string;\n /**\n * List of available options for the dropdown\n */\n options?: Readonly<ListOption<M>[]>;\n /**\n * A helper text displayed below the dropdown when there are no errors (optional).\n */\n helper?: string;\n /**\n * Error message displayed below the dropdown (optional)\n */\n error?: unknown;\n /**\n * Placeholder text shown when no value is selected.\n */\n placeholder?: string;\n /**\n * If `true`, the dropdown component is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the dropdown component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n /**\n * Makes some of corners not rounded\n * */\n groupPosition?:\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"middle\";\n }>(),\n {\n modelValue: () => [],\n label: undefined,\n helper: undefined,\n error: undefined,\n placeholder: \"...\",\n required: false,\n disabled: false,\n options: undefined,\n groupPosition: undefined,\n },\n);\n\nconst rootRef = ref<HTMLElement | undefined>();\nconst input = ref<HTMLInputElement | undefined>();\n\nconst overlay = useTemplateRef(\"overlay\");\n\nconst data = reactive({\n search: \"\",\n activeOption: -1,\n open: false,\n optionsHeight: 0,\n});\n\nconst selectedValuesRef = computed(() => (Array.isArray(props.modelValue) ? props.modelValue : []));\n\nconst placeholderRef = computed(() => {\n if (data.open && props.modelValue.length > 0) {\n return props.placeholder;\n }\n\n return props.modelValue.length > 0 ? \"\" : props.placeholder;\n});\n\nconst normalizedOptionsRef = computed(() => normalizeListOptions(props.options ?? []));\n\nconst selectedOptionsRef = computed(() => {\n return selectedValuesRef.value\n .map((v) => normalizedOptionsRef.value.find((opt) => deepEqual(opt.value, v)))\n .filter((v) => v !== undefined);\n});\n\nconst filteredOptionsRef = computed(() => {\n const selectedValues = unref(selectedValuesRef);\n\n const options = unref(normalizedOptionsRef);\n\n return (\n data.search\n ? options.filter((opt) => {\n const search = data.search.toLowerCase();\n\n if (opt.label.toLowerCase().includes(search)) {\n return true;\n }\n\n if (typeof opt.value === \"string\") {\n return opt.value.toLowerCase().includes(search);\n }\n\n return opt.value === data.search;\n })\n : [...options]\n ).map((opt) => ({\n ...opt,\n selected: deepIncludes(selectedValues, opt.value),\n }));\n});\n\nconst isLoadingOptions = computed(() => {\n return props.options === undefined;\n});\n\nconst showLoadingSpinner = computed(() => {\n return !props.disabled && isLoadingOptions.value;\n});\n\nconst isDisabled = computed(() => {\n if (isLoadingOptions.value) {\n return true;\n }\n\n return props.disabled;\n});\n\nconst tabindex = computed(() => (isDisabled.value ? undefined : \"0\"));\n\nconst updateActiveOption = () => {\n data.activeOption = 0;\n};\n\nconst selectOption = (v: M) => {\n const values = unref(selectedValuesRef);\n emitModel(deepIncludes(values, v) ? values.filter((it) => !deepEqual(it, v)) : [...values, v]);\n data.search = \"\";\n rootRef?.value?.focus();\n};\n\nconst unselectOption = (d: M) =>\n emitModel(unref(selectedValuesRef).filter((v) => !deepEqual(v, d)));\n\nconst setFocusOnInput = () => input.value?.focus();\n\nconst toggleModel = () => {\n data.open = !data.open;\n if (!data.open) {\n data.search = \"\";\n }\n};\n\nconst onFocusOut = (event: FocusEvent) => {\n const relatedTarget = event.relatedTarget as Node | null;\n\n if (!rootRef.value?.contains(relatedTarget) && !overlay.value?.listRef?.contains(relatedTarget)) {\n data.search = \"\";\n data.open = false;\n }\n};\n\nconst handleKeydown = (e: { code: string; preventDefault(): void }) => {\n const { open, activeOption } = data;\n\n if (!open) {\n if (e.code === \"Enter\") {\n data.open = true;\n }\n return;\n }\n\n if (e.code === \"Escape\") {\n data.open = false;\n rootRef.value?.focus();\n }\n\n const filteredOptions = unref(filteredOptionsRef);\n\n const { length } = filteredOptions;\n\n if (!length) {\n return;\n }\n\n if ([\"ArrowDown\", \"ArrowUp\", \"Enter\"].includes(e.code)) {\n e.preventDefault();\n }\n\n if (e.code === \"Enter\") {\n selectOption(filteredOptions[activeOption].value);\n }\n\n const d = e.code === \"ArrowDown\" ? 1 : e.code === \"ArrowUp\" ? -1 : 0;\n\n data.activeOption = Math.abs(activeOption + d + length) % length;\n\n requestAnimationFrame(() => overlay.value?.scrollIntoActive());\n};\n\nuseLabelNotch(rootRef);\n\nwatch(\n () => props.modelValue,\n () => updateActiveOption(),\n { immediate: true },\n);\n\nwatchPostEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n data.search;\n\n if (data.open) {\n overlay.value?.scrollIntoActive();\n }\n});\n</script>\n\n<template>\n <div class=\"pl-dropdown-multi__envelope\" @click=\"setFocusOnInput\">\n <div\n ref=\"rootRef\"\n :tabindex=\"tabindex\"\n class=\"pl-dropdown-multi\"\n :class=\"{ open: data.open, error, disabled: isDisabled }\"\n @keydown=\"handleKeydown\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-dropdown-multi__container\">\n <div class=\"pl-dropdown-multi__field\">\n <input\n ref=\"input\"\n v-model=\"data.search\"\n type=\"text\"\n tabindex=\"-1\"\n :disabled=\"isDisabled\"\n :placeholder=\"placeholderRef\"\n spellcheck=\"false\"\n autocomplete=\"chrome-off\"\n @focus=\"data.open = true\"\n />\n <div v-if=\"!data.open\" class=\"chips-container\">\n <PlChip\n v-for=\"(opt, i) in selectedOptionsRef\"\n :key=\"i\"\n closeable\n small\n @click.stop=\"data.open = true\"\n @close=\"unselectOption(opt.value)\"\n >\n {{ opt.label || opt.value }}\n </PlChip>\n </div>\n\n <div class=\"pl-dropdown-multi__controls\">\n <PlIcon24 v-if=\"showLoadingSpinner\" name=\"loading\" />\n <slot name=\"append\" />\n <div class=\"pl-dropdown-multi__arrow-wrapper\" @click.stop=\"toggleModel\">\n <div class=\"arrow-icon arrow-icon-default\" />\n </div>\n </div>\n </div>\n <label v-if=\"label\">\n <PlSvg v-if=\"required\" :uri=\"SvgRequired\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <DropdownOverlay\n v-if=\"data.open\"\n ref=\"overlay\"\n :root=\"rootRef\"\n class=\"pl-dropdown-multi__options\"\n :gap=\"5\"\n tabindex=\"-1\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-dropdown-multi__open-chips-container\">\n <PlChip\n v-for=\"(opt, i) in selectedOptionsRef\"\n :key=\"i\"\n closeable\n small\n @close=\"unselectOption(opt.value)\"\n >\n {{ opt.label || opt.value }}\n </PlChip>\n </div>\n <DropdownListItem\n v-for=\"(item, index) in filteredOptionsRef\"\n :key=\"index\"\n :option=\"item\"\n :text-item=\"'text'\"\n :is-selected=\"item.selected\"\n :is-hovered=\"data.activeOption == index\"\n size=\"medium\"\n use-checkbox\n @click.stop=\"selectOption(item.value)\"\n />\n <div v-if=\"!filteredOptionsRef.length\" class=\"nothing-found\">Nothing found</div>\n </DropdownOverlay>\n <DoubleContour class=\"pl-dropdown-multi__contour\" :group-position=\"groupPosition\" />\n </div>\n </div>\n <div v-if=\"error\" class=\"pl-dropdown-multi__error\">{{ getErrorMessage(error) }}</div>\n <div v-else-if=\"helper\" class=\"pl-dropdown-multi__helper\">{{ helper }}</div>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import e from "./PlDropdownMultiRef.vue2.js";
2
+ //#region src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue
2
3
  var t = e;
4
+ //#endregion
3
5
  export { t as default };
4
6
 
5
7
  //# sourceMappingURL=PlDropdownMultiRef.js.map
@@ -1,5 +1,6 @@
1
1
  import e from "../PlDropdownMulti/PlDropdownMulti.js";
2
2
  import { computed as t, createBlock as n, createSlots as r, defineComponent as i, mergeProps as a, openBlock as o, renderSlot as s, unref as c, useSlots as l, withCtx as u } from "vue";
3
+ //#region src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue?vue&type=script&setup=true&lang.ts
3
4
  var d = /* @__PURE__ */ i({
4
5
  __name: "PlDropdownMultiRef",
5
6
  props: {
@@ -34,6 +35,7 @@ var d = /* @__PURE__ */ i({
34
35
  } : void 0]), 1040, ["options"]));
35
36
  }
36
37
  });
38
+ //#endregion
37
39
  export { d as default };
38
40
 
39
41
  //# sourceMappingURL=PlDropdownMultiRef.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlDropdownMultiRef.vue_vue_type_script_setup_true_lang.js","names":["$emit"],"sources":["../../../src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ModelRef, RefOption } from \"../../types\";\nimport PlDropdownMulti from \"../PlDropdownMulti/PlDropdownMulti.vue\";\nimport { computed, useSlots } from \"vue\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst slots: any = useSlots();\n\ndefineEmits<{\n /**\n * Emitted when the model value is updated.\n */\n (e: \"update:modelValue\", value: ModelRef[] | undefined): void;\n}>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current selected values.\n */\n modelValue: ModelRef[] | undefined;\n /**\n * The label text for the dropdown field (optional)\n */\n label?: string;\n /**\n * List of available options for the dropdown\n */\n options?: Readonly<RefOption[]>;\n /**\n * A helper text displayed below the dropdown when there are no errors (optional).\n */\n helper?: string;\n /**\n * Error message displayed below the dropdown (optional)\n */\n error?: unknown;\n /**\n * Placeholder text shown when no value is selected.\n */\n placeholder?: string;\n /**\n * If `true`, the dropdown component is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the dropdown component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n }>(),\n {\n modelValue: () => [],\n label: undefined,\n helper: undefined,\n error: undefined,\n placeholder: \"...\",\n required: false,\n disabled: false,\n options: undefined,\n },\n);\n\nconst options = computed(() =>\n props.options?.map((opt) => ({\n label: opt.label,\n value: opt.ref,\n })),\n);\n</script>\n\n<template>\n <PlDropdownMulti\n v-bind=\"props\"\n :options=\"options\"\n @update:model-value=\"$emit('update:modelValue', $event)\"\n >\n <template v-if=\"slots.tooltip\" #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlDropdownMulti>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAMA,IAAM,IAAa,GAAU,EASvB,IAAQ,GA+CR,IAAU,QACd,EAAM,SAAS,KAAK,OAAS;GAC3B,OAAO,EAAI;GACX,OAAO,EAAI;GACZ,EAAE,CACJ;yBAIC,EAQkB,GARlB,EACU,GAAK;GACZ,SAAS,EAAA;GACT,uBAAkB,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,qBAAsB,EAAM;mBAEtC,EAAA,EAAK,CAAC,UAAA;SAAU;eACP,CAAvB,EAAuB,EAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"PlDropdownMultiRef.vue_vue_type_script_setup_true_lang.js","names":["$emit"],"sources":["../../../src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ModelRef, RefOption } from \"../../types\";\nimport PlDropdownMulti from \"../PlDropdownMulti/PlDropdownMulti.vue\";\nimport { computed, useSlots } from \"vue\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst slots: any = useSlots();\n\ndefineEmits<{\n /**\n * Emitted when the model value is updated.\n */\n (e: \"update:modelValue\", value: ModelRef[] | undefined): void;\n}>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current selected values.\n */\n modelValue: ModelRef[] | undefined;\n /**\n * The label text for the dropdown field (optional)\n */\n label?: string;\n /**\n * List of available options for the dropdown\n */\n options?: Readonly<RefOption[]>;\n /**\n * A helper text displayed below the dropdown when there are no errors (optional).\n */\n helper?: string;\n /**\n * Error message displayed below the dropdown (optional)\n */\n error?: unknown;\n /**\n * Placeholder text shown when no value is selected.\n */\n placeholder?: string;\n /**\n * If `true`, the dropdown component is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the dropdown component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n }>(),\n {\n modelValue: () => [],\n label: undefined,\n helper: undefined,\n error: undefined,\n placeholder: \"...\",\n required: false,\n disabled: false,\n options: undefined,\n },\n);\n\nconst options = computed(() =>\n props.options?.map((opt) => ({\n label: opt.label,\n value: opt.ref,\n })),\n);\n</script>\n\n<template>\n <PlDropdownMulti\n v-bind=\"props\"\n :options=\"options\"\n @update:model-value=\"$emit('update:modelValue', $event)\"\n >\n <template v-if=\"slots.tooltip\" #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlDropdownMulti>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;EAMA,IAAM,IAAa,GAAU,EASvB,IAAQ,GA+CR,IAAU,QACd,EAAM,SAAS,KAAK,OAAS;GAC3B,OAAO,EAAI;GACX,OAAO,EAAI;GACZ,EAAE,CACJ;yBAIC,EAQkB,GARlB,EACU,GAAK;GACZ,SAAS,EAAA;GACT,uBAAkB,AAAA,EAAA,QAAA,MAAEA,EAAAA,MAAK,qBAAsB,EAAM;mBAEtC,EAAA,EAAK,CAAC,UAAA;SAAU;eACP,CAAvB,EAAuB,EAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -1,5 +1,7 @@
1
1
  import e from "./PlDropdownRef.vue2.js";
2
+ //#region src/components/PlDropdownRef/PlDropdownRef.vue
2
3
  var t = e;
4
+ //#endregion
3
5
  export { t as default };
4
6
 
5
7
  //# sourceMappingURL=PlDropdownRef.js.map
@@ -48,6 +48,7 @@ var d = /* @__PURE__ */ i({
48
48
  ]));
49
49
  }
50
50
  });
51
+ //#endregion
51
52
  export { d as default };
52
53
 
53
54
  //# sourceMappingURL=PlDropdownRef.vue2.js.map
@@ -1,5 +1,7 @@
1
1
  import e from "./PlEditableTitle.vue2.js";
2
+ //#region src/components/PlEditableTitle/PlEditableTitle.vue
2
3
  var t = e;
4
+ //#endregion
3
5
  export { t as default };
4
6
 
5
7
  //# sourceMappingURL=PlEditableTitle.js.map
@@ -1,6 +1,7 @@
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
5
  var y = { key: 0 }, b = ["placeholder"], x = /* @__PURE__ */ o({
5
6
  __name: "PlEditableTitle",
6
7
  props: /* @__PURE__ */ s({
@@ -54,6 +55,7 @@ var y = { key: 0 }, b = ["placeholder"], x = /* @__PURE__ */ o({
54
55
  }, p(m(S).error), 3)) : r("", !0)], 6));
55
56
  }
56
57
  });
58
+ //#endregion
57
59
  export { x as default };
58
60
 
59
61
  //# 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 class=\"pl-editable-title\" :class=\"style.component\" :style=\"computedStyle\">\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\">{{ prefix.trim() }}&nbsp;</span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\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\">{{ local.error }}</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,EAaM,OAAA;GAbD,OAAK,EAAA,CAAC,qBAA4B,EAAA,EAAK,CAAC,UAAS,CAAA;GAAG,OAAK,EAAE,EAAA,MAAa;MAC3E,EAUM,OAAA;GAVA,OAAK,EAAE,EAAA,EAAK,CAAC,UAAS;GAAG,SAAK,AAAA,EAAA,aAAQ,EAAA,OAAU,OAAK;MAC7C,EAAA,UAAA,GAAA,EAAZ,EAAoD,QAAA,GAAA,EAA7B,EAAA,OAAO,MAAI,CAAA,GAAK,QAAM,EAAA,IAAA,EAAA,IAAA,GAAA,EAAA,EAC7C,EAOE,SAAA;YANI;GAAJ,KAAI;4CACK,EAAK,CAAC,QAAK;GACnB,aAAa,EAAA;GACb,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;wBAJpD,EAAA,EAAK,CAAC,MAAK,CAAA,CAAA,CAAA,EAAA,EAAA,EAOb,EAAA,EAAK,CAAC,SAAA,GAAA,EAAjB,EAAoE,OAAA;;GAA3C,OAAK,EAAE,EAAA,EAAK,CAAC,MAAK;OAAK,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":[],"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 class=\"pl-editable-title\" :class=\"style.component\" :style=\"computedStyle\">\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\">{{ prefix.trim() }}&nbsp;</span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\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\">{{ local.error }}</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,EAaM,OAAA;GAbD,OAAK,EAAA,CAAC,qBAA4B,EAAA,EAAK,CAAC,UAAS,CAAA;GAAG,OAAK,EAAE,EAAA,MAAa;MAC3E,EAUM,OAAA;GAVA,OAAK,EAAE,EAAA,EAAK,CAAC,UAAS;GAAG,SAAK,AAAA,EAAA,aAAQ,EAAA,OAAU,OAAK;MAC7C,EAAA,UAAA,GAAA,EAAZ,EAAoD,QAAA,GAAA,EAA7B,EAAA,OAAO,MAAI,CAAA,GAAK,QAAM,EAAA,IAAA,EAAA,IAAA,GAAA,EAAA,EAC7C,EAOE,SAAA;YANI;GAAJ,KAAI;4CACK,EAAK,CAAC,QAAK;GACnB,aAAa,EAAA;GACb,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;wBAJpD,EAAA,EAAK,CAAC,MAAK,CAAA,CAAA,CAAA,EAAA,EAAA,EAOb,EAAA,EAAK,CAAC,SAAA,GAAA,EAAjB,EAAoE,OAAA;;GAA3C,OAAK,EAAE,EAAA,EAAK,CAAC,MAAK;OAAK,EAAA,EAAK,CAAC,MAAK,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA,CAAA,EAAA,EAAA"}
@@ -3,6 +3,7 @@ import './pl-editable-title.css';var e = {
3
3
  container: "_container_1w6b3_15",
4
4
  error: "_error_1w6b3_69"
5
5
  };
6
+ //#endregion
6
7
  export { e as default };
7
8
 
8
9
  //# sourceMappingURL=pl-editable-title.module.js.map
@@ -2,6 +2,7 @@ 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
4
  var r = /* @__PURE__ */ e(t, [["__cssModules", { $style: n }]]);
5
+ //#endregion
5
6
  export { r as default };
6
7
 
7
8
  //# sourceMappingURL=PlElementList.js.map
@@ -3,6 +3,7 @@ import './PlElementList.vue.css';var e = {
3
3
  list: "_list_11nk6_3",
4
4
  item: "_item_11nk6_10"
5
5
  };
6
+ //#endregion
6
7
  export { e as default };
7
8
 
8
9
  //# sourceMappingURL=PlElementList.style.js.map
@@ -3,6 +3,7 @@ import { moveElements as t } from "./utils.js";
3
3
  import { Fragment as n, computed as r, createBlock as i, createCommentVNode as ee, createElementBlock as a, createElementVNode as te, createSlots as o, defineComponent as s, mergeModels as c, normalizeClass as l, openBlock as u, renderList as d, renderSlot as f, shallowRef as p, unref as m, useModel as h, useSlots as ne, watch as g, withCtx as _ } from "vue";
4
4
  import { isFunction as v, shallowHash as y } from "@milaboratories/helpers";
5
5
  import { useSortable as re } from "@vueuse/integrations/useSortable";
6
+ //#region src/components/PlElementList/PlElementList.vue?vue&type=script&setup=true&lang.ts
6
7
  var b = /* @__PURE__ */ s({
7
8
  __name: "PlElementList",
8
9
  props: /* @__PURE__ */ c({
@@ -361,6 +362,7 @@ var b = /* @__PURE__ */ s({
361
362
  ]))), 128))], 2)) : ee("", !0)], 2));
362
363
  }
363
364
  });
365
+ //#endregion
364
366
  export { b as default };
365
367
 
366
368
  //# 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\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(() => itemsRef.value.filter(isPinnedItem));\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value.filter((item, index) => !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 = (item: T, index: number) => {\n return `${versionRef.value}-${props.getItemKey(item, index)}`;\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<T[]>,\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 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 = pinnedItemsRef.value.includes(item);\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.splice(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 :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"(pinnedItem, pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(pinnedItem, pinnedIndex)]\"\n :titleClass=\"getItemClassTitle(pinnedItem, pinnedIndex)\"\n :contentClass=\"getItemClassContent(pinnedItem, pinnedIndex)\"\n :beforeClass=\"getItemClassBefore(pinnedItem, pinnedIndex)\"\n :afterClass=\"getItemClassAfter(pinnedItem, pinnedIndex)\"\n :index=\"pinnedIndex\"\n :item=\"pinnedItem\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(pinnedItem, pinnedIndex)\"\n :isDraggable=\"isDraggableItem(pinnedItem, pinnedIndex)\"\n :isRemovable=\"isRemovableItem(pinnedItem, pinnedIndex)\"\n :isToggable=\"isToggableItem(pinnedItem, pinnedIndex)\"\n :isToggled=\"isToggledItem(pinnedItem, pinnedIndex)\"\n :isPinnable=\"isPinnableItem(pinnedItem, pinnedIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(pinnedItem, pinnedIndex)\"\n :isExpanded=\"isExpandedItem(pinnedItem, pinnedIndex)\"\n @click=\"emits('itemClick', pinnedItem)\"\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 v-if=\"hasUnpinnedItems\" ref=\"unpinnedContainerRef\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"(unpinnedItem, unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(unpinnedItem, unpinnedIndex)]\"\n :titleClass=\"getItemClassTitle(unpinnedItem, unpinnedIndex)\"\n :contentClass=\"getItemClassContent(unpinnedItem, unpinnedIndex)\"\n :beforeClass=\"getItemClassBefore(unpinnedItem, unpinnedIndex)\"\n :afterClass=\"getItemClassAfter(unpinnedItem, unpinnedIndex)\"\n :index=\"unpinnedIndex + (pinnedItemsRef?.length ?? 0)\"\n :item=\"unpinnedItem\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(unpinnedItem, unpinnedIndex)\"\n :isDraggable=\"isDraggableItem(unpinnedItem, unpinnedIndex)\"\n :isRemovable=\"isRemovableItem(unpinnedItem, unpinnedIndex)\"\n :isToggable=\"isToggableItem(unpinnedItem, unpinnedIndex)\"\n :isToggled=\"isToggledItem(unpinnedItem, unpinnedIndex)\"\n :isPinnable=\"isPinnableItem(unpinnedItem, unpinnedIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(unpinnedItem, unpinnedIndex)\"\n :isExpanded=\"isExpandedItem(unpinnedItem, unpinnedIndex)\"\n @click=\"emits('itemClick', unpinnedItem)\"\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"],"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\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(() => itemsRef.value.filter(isPinnedItem));\nconst hasPinnedItems = computed(() => pinnedItemsRef.value.length > 0);\n\nconst unpinnedItemsRef = computed(() =>\n itemsRef.value.filter((item, index) => !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 = (item: T, index: number) => {\n return `${versionRef.value}-${props.getItemKey(item, index)}`;\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<T[]>,\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 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 = pinnedItemsRef.value.includes(item);\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.splice(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 :class=\"$style.root\">\n <div ref=\"pinnedContainerRef\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"(pinnedItem, pinnedIndex) in pinnedItemsRef\"\n :key=\"pinnedKeysRef[pinnedIndex]\"\n :class=\"[$style.item, getItemClass(pinnedItem, pinnedIndex)]\"\n :titleClass=\"getItemClassTitle(pinnedItem, pinnedIndex)\"\n :contentClass=\"getItemClassContent(pinnedItem, pinnedIndex)\"\n :beforeClass=\"getItemClassBefore(pinnedItem, pinnedIndex)\"\n :afterClass=\"getItemClassAfter(pinnedItem, pinnedIndex)\"\n :index=\"pinnedIndex\"\n :item=\"pinnedItem\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(pinnedItem, pinnedIndex)\"\n :isDraggable=\"isDraggableItem(pinnedItem, pinnedIndex)\"\n :isRemovable=\"isRemovableItem(pinnedItem, pinnedIndex)\"\n :isToggable=\"isToggableItem(pinnedItem, pinnedIndex)\"\n :isToggled=\"isToggledItem(pinnedItem, pinnedIndex)\"\n :isPinnable=\"isPinnableItem(pinnedItem, pinnedIndex)\"\n :isPinned=\"true\"\n :isExpandable=\"isExpandableItem(pinnedItem, pinnedIndex)\"\n :isExpanded=\"isExpandedItem(pinnedItem, pinnedIndex)\"\n @click=\"emits('itemClick', pinnedItem)\"\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 v-if=\"hasUnpinnedItems\" ref=\"unpinnedContainerRef\" :class=\"$style.list\">\n <PlElementListItem\n v-for=\"(unpinnedItem, unpinnedIndex) in unpinnedItemsRef\"\n :key=\"unpinnedKeysRef[unpinnedIndex]\"\n :class=\"[$style.item, getItemClass(unpinnedItem, unpinnedIndex)]\"\n :titleClass=\"getItemClassTitle(unpinnedItem, unpinnedIndex)\"\n :contentClass=\"getItemClassContent(unpinnedItem, unpinnedIndex)\"\n :beforeClass=\"getItemClassBefore(unpinnedItem, unpinnedIndex)\"\n :afterClass=\"getItemClassAfter(unpinnedItem, unpinnedIndex)\"\n :index=\"unpinnedIndex + (pinnedItemsRef?.length ?? 0)\"\n :item=\"unpinnedItem\"\n :showDragHandle=\"dndSortingEnabled\"\n :isActive=\"isActiveItem(unpinnedItem, unpinnedIndex)\"\n :isDraggable=\"isDraggableItem(unpinnedItem, unpinnedIndex)\"\n :isRemovable=\"isRemovableItem(unpinnedItem, unpinnedIndex)\"\n :isToggable=\"isToggableItem(unpinnedItem, unpinnedIndex)\"\n :isToggled=\"isToggledItem(unpinnedItem, unpinnedIndex)\"\n :isPinnable=\"isPinnableItem(unpinnedItem, unpinnedIndex)\"\n :isPinned=\"false\"\n :isExpandable=\"isExpandableItem(unpinnedItem, unpinnedIndex)\"\n :isExpanded=\"isExpandedItem(unpinnedItem, unpinnedIndex)\"\n @click=\"emits('itemClick', unpinnedItem)\"\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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"}
@@ -2,6 +2,7 @@ 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
4
  var r = /* @__PURE__ */ e(t, [["__cssModules", { $style: n }]]);
5
+ //#endregion
5
6
  export { r as default };
6
7
 
7
8
  //# sourceMappingURL=PlElementListItem.js.map
@@ -16,6 +16,7 @@ import './PlElementListItem.vue.css';var e = {
16
16
  draggable: "_draggable_1bqtz_140",
17
17
  showOnHover: "_showOnHover_1bqtz_144"
18
18
  };
19
+ //#endregion
19
20
  export { e as default };
20
21
 
21
22
  //# sourceMappingURL=PlElementListItem.style.js.map
@@ -3,6 +3,7 @@ import "../PlIcon24/index.js";
3
3
  import t from "../PlIcon16/PlIcon16.js";
4
4
  import "../PlIcon16/index.js";
5
5
  import { computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, normalizeClass as l, openBlock as u, renderSlot as d, unref as f, useSlots as p, withModifiers as m } from "vue";
6
+ //#region src/components/PlElementList/PlElementListItem.vue?vue&type=script&setup=true&lang.ts
6
7
  var h = ["data-draggable"], g = /* @__PURE__ */ c({
7
8
  inheritAttrs: !1,
8
9
  __name: "PlElementListItem",
@@ -131,6 +132,7 @@ var h = ["data-draggable"], g = /* @__PURE__ */ c({
131
132
  ]));
132
133
  }
133
134
  });
135
+ //#endregion
134
136
  export { g as default };
135
137
 
136
138
  //# sourceMappingURL=PlElementListItem.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlElementListItem.vue_vue_type_script_setup_true_lang.js","names":["$style","$attrs"],"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 @click=\"(event) => emit('click', event)\">\n <div v-if=\"hasBeforeSlot\" :class=\"beforeClass\">\n <slot name=\"before\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n <div\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 :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\n v-if=\"props.showDragHandle\"\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 :class=\"[$style.contentChevron, { [$style.opened]: props.isExpanded }]\"\n name=\"chevron-down\"\n />\n\n <div :class=\"$style.title\">\n <slot name=\"title\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n\n <div :class=\"[$style.actions, $style.showOnHover]\">\n <div\n v-if=\"props.isToggable\"\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 :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 :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 :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\" :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.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":"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"}
1
+ {"version":3,"file":"PlElementListItem.vue_vue_type_script_setup_true_lang.js","names":["$style","$attrs"],"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 @click=\"(event) => emit('click', event)\">\n <div v-if=\"hasBeforeSlot\" :class=\"beforeClass\">\n <slot name=\"before\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n <div\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 :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\n v-if=\"props.showDragHandle\"\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 :class=\"[$style.contentChevron, { [$style.opened]: props.isExpanded }]\"\n name=\"chevron-down\"\n />\n\n <div :class=\"$style.title\">\n <slot name=\"title\" :item=\"props.item\" :index=\"props.index\" />\n </div>\n\n <div :class=\"[$style.actions, $style.showOnHover]\">\n <div\n v-if=\"props.isToggable\"\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 :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 :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 :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\" :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.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":"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"}
@@ -1,10 +1,12 @@
1
- const e = (e, t, n) => {
1
+ //#region src/components/PlElementList/utils.ts
2
+ var e = (e, t, n) => {
2
3
  if (n >= 0 && n < e.length) {
3
4
  let r = e.splice(t, 1)[0];
4
5
  e.splice(n, 0, r);
5
6
  } else console.warn(`Invalid move operation: from ${t} to ${n} in array of length ${e.length}`);
6
7
  return e;
7
8
  };
9
+ //#endregion
8
10
  export { e as moveElements };
9
11
 
10
12
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../../src/components/PlElementList/utils.ts"],"sourcesContent":["export const moveElements = <T>(array: T[], from: number, to: number): T[] => {\n if (to >= 0 && to < array.length) {\n const element = array.splice(from, 1)[0];\n array.splice(to, 0, element);\n } else {\n console.warn(\n `Invalid move operation: from ${from} to ${to} in array of length ${array.length}`,\n );\n }\n\n return array;\n};\n"],"mappings":"AAAA,MAAa,KAAmB,GAAY,GAAc,MAAoB;AAC5E,KAAI,KAAM,KAAK,IAAK,EAAM,QAAQ;EAChC,IAAM,IAAU,EAAM,OAAO,GAAM,EAAE,CAAC;AACtC,IAAM,OAAO,GAAI,GAAG,EAAQ;OAE5B,SAAQ,KACN,gCAAgC,EAAK,MAAM,EAAG,sBAAsB,EAAM,SAC3E;AAGH,QAAO"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../../src/components/PlElementList/utils.ts"],"sourcesContent":["export const moveElements = <T>(array: T[], from: number, to: number): T[] => {\n if (to >= 0 && to < array.length) {\n const element = array.splice(from, 1)[0];\n array.splice(to, 0, element);\n } else {\n console.warn(\n `Invalid move operation: from ${from} to ${to} in array of length ${array.length}`,\n );\n }\n\n return array;\n};\n"],"mappings":";AAAA,IAAa,KAAmB,GAAY,GAAc,MAAoB;AAC5E,KAAI,KAAM,KAAK,IAAK,EAAM,QAAQ;EAChC,IAAM,IAAU,EAAM,OAAO,GAAM,EAAE,CAAC;AACtC,IAAM,OAAO,GAAI,GAAG,EAAQ;OAE5B,SAAQ,KACN,gCAAgC,EAAK,MAAM,EAAG,sBAAsB,EAAM,SAC3E;AAGH,QAAO"}
@@ -2,6 +2,7 @@ import e from "../../_virtual/_plugin-vue_export-helper.js";
2
2
  import t from "./PlErrorAlert.vue2.js";
3
3
  import n from "./PlErrorAlert.style.js";
4
4
  var r = /* @__PURE__ */ e(t, [["__cssModules", { $style: n }]]);
5
+ //#endregion
5
6
  export { r as default };
6
7
 
7
8
  //# sourceMappingURL=PlErrorAlert.js.map
@@ -6,6 +6,7 @@ import './PlErrorAlert.vue.css';var e = {
6
6
  titleText: "_titleText_o15c5_42",
7
7
  message: "_message_o15c5_48"
8
8
  };
9
+ //#endregion
9
10
  export { e as default };
10
11
 
11
12
  //# sourceMappingURL=PlErrorAlert.style.js.map
@@ -33,6 +33,7 @@ var f = /* @__PURE__ */ a({
33
33
  ], 6));
34
34
  }
35
35
  });
36
+ //#endregion
36
37
  export { f as default };
37
38
 
38
39
  //# sourceMappingURL=PlErrorAlert.vue2.js.map
@@ -1,5 +1,7 @@
1
1
  import e from "./PlErrorBoundary.vue2.js";
2
+ //#region src/components/PlErrorBoundary/PlErrorBoundary.vue
2
3
  var t = e;
4
+ //#endregion
3
5
  export { t as default };
4
6
 
5
7
  //# sourceMappingURL=PlErrorBoundary.js.map
@@ -2,6 +2,7 @@ import e from "../PlErrorAlert/PlErrorAlert.js";
2
2
  import "../PlErrorAlert/index.js";
3
3
  import { Fragment as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, defineComponent as o, onBeforeUpdate as s, onErrorCaptured as c, openBlock as l, ref as u, renderSlot as d, unref as f } from "vue";
4
4
  import { isErrorLike as p, tryDo as m } from "@milaboratories/helpers";
5
+ //#region src/components/PlErrorBoundary/PlErrorBoundary.vue?vue&type=script&setup=true&lang.ts
5
6
  var h = /* @__PURE__ */ o({
6
7
  __name: "PlErrorBoundary",
7
8
  setup(o, { expose: h }) {
@@ -29,6 +30,7 @@ var h = /* @__PURE__ */ o({
29
30
  }, null, 8, ["message", "title"])) : i("", !0)], 64));
30
31
  }
31
32
  });
33
+ //#endregion
32
34
  export { h as default };
33
35
 
34
36
  //# sourceMappingURL=PlErrorBoundary.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlErrorBoundary.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlErrorBoundary/PlErrorBoundary.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, onErrorCaptured, ref, onBeforeUpdate } from \"vue\";\nimport { PlErrorAlert } from \"../PlErrorAlert\";\nimport { isErrorLike, tryDo } from \"@milaboratories/helpers\";\n\nconst extractMessage = (err: unknown): undefined | string => {\n if (err == null) {\n return undefined;\n }\n\n if (isErrorLike(err)) {\n return err.stack == null || err.stack.length === 0\n ? err.message\n : err.stack.includes(err.message)\n ? err.stack\n : err.message + \"\\n\" + err.stack;\n }\n\n return tryDo(\n () => JSON.stringify(err, null, 4),\n () => err.toString(),\n );\n};\n\nconst data = ref<null | {\n title: undefined | string;\n error: Error;\n}>(null);\n\nconst error = computed(() => data.value?.error);\nconst message = computed(() => extractMessage(error.value));\n\nfunction reset() {\n data.value = null;\n}\n\nconst errorAlert = ref<InstanceType<typeof PlErrorAlert> | null>(null);\n\nonBeforeUpdate(() => {\n // If an error is currently displayed, and the component updates (e.g., due to slot content changing),\n // reset the error state.\n if (data.value !== null && errorAlert.value) {\n reset();\n }\n});\n\nonErrorCaptured((err, instance) => {\n data.value = {\n title: instance?.$?.type?.name ?? undefined,\n error: err,\n };\n // stop error propagation\n return false;\n});\n\ndefineExpose({ error, reset });\n</script>\n\n<template>\n <slot />\n <PlErrorAlert v-if=\"error\" ref=\"errorAlert\" :message=\"message\" :title=\"data?.title\" />\n</template>\n"],"mappings":";;;;;;;EAKA,IAAM,KAAkB,MAAqC;AACvD,YAAO,KAYX,QARI,EAAY,EAAI,GACX,EAAI,SAAS,QAAQ,EAAI,MAAM,WAAW,IAC7C,EAAI,UACJ,EAAI,MAAM,SAAS,EAAI,QAAO,GAC5B,EAAI,QACJ,EAAI,UAAU,OAAO,EAAI,QAG1B,QACC,KAAK,UAAU,GAAK,MAAM,EAAE,QAC5B,EAAI,UAAU,CACrB;KAGG,IAAO,EAGV,KAAK,EAEF,IAAQ,QAAe,EAAK,OAAO,MAAM,EACzC,IAAU,QAAe,EAAe,EAAM,MAAM,CAAC;EAE3D,SAAS,IAAQ;AACf,KAAK,QAAQ;;EAGf,IAAM,IAAa,EAA8C,KAAK;SAEtE,QAAqB;AAGnB,GAAI,EAAK,UAAU,QAAQ,EAAW,SACpC,GAAO;IAET,EAEF,GAAiB,GAAK,OACpB,EAAK,QAAQ;GACX,OAAO,GAAU,GAAG,MAAM,QAAQ,KAAA;GAClC,OAAO;GACR,EAEM,IACP,EAEF,EAAa;GAAE;GAAO;GAAO,CAAC,8BAI5B,EAAQ,EAAA,QAAA,UAAA,EACY,EAAA,SAAA,GAAA,EAApB,EAAsF,EAAA,EAAA,EAAA;;YAAvD;GAAJ,KAAI;GAAc,SAAS,EAAA;GAAU,OAAO,EAAA,OAAM"}
1
+ {"version":3,"file":"PlErrorBoundary.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlErrorBoundary/PlErrorBoundary.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, onErrorCaptured, ref, onBeforeUpdate } from \"vue\";\nimport { PlErrorAlert } from \"../PlErrorAlert\";\nimport { isErrorLike, tryDo } from \"@milaboratories/helpers\";\n\nconst extractMessage = (err: unknown): undefined | string => {\n if (err == null) {\n return undefined;\n }\n\n if (isErrorLike(err)) {\n return err.stack == null || err.stack.length === 0\n ? err.message\n : err.stack.includes(err.message)\n ? err.stack\n : err.message + \"\\n\" + err.stack;\n }\n\n return tryDo(\n () => JSON.stringify(err, null, 4),\n () => err.toString(),\n );\n};\n\nconst data = ref<null | {\n title: undefined | string;\n error: Error;\n}>(null);\n\nconst error = computed(() => data.value?.error);\nconst message = computed(() => extractMessage(error.value));\n\nfunction reset() {\n data.value = null;\n}\n\nconst errorAlert = ref<InstanceType<typeof PlErrorAlert> | null>(null);\n\nonBeforeUpdate(() => {\n // If an error is currently displayed, and the component updates (e.g., due to slot content changing),\n // reset the error state.\n if (data.value !== null && errorAlert.value) {\n reset();\n }\n});\n\nonErrorCaptured((err, instance) => {\n data.value = {\n title: instance?.$?.type?.name ?? undefined,\n error: err,\n };\n // stop error propagation\n return false;\n});\n\ndefineExpose({ error, reset });\n</script>\n\n<template>\n <slot />\n <PlErrorAlert v-if=\"error\" ref=\"errorAlert\" :message=\"message\" :title=\"data?.title\" />\n</template>\n"],"mappings":";;;;;;;;EAKA,IAAM,KAAkB,MAAqC;AACvD,YAAO,KAYX,QARI,EAAY,EAAI,GACX,EAAI,SAAS,QAAQ,EAAI,MAAM,WAAW,IAC7C,EAAI,UACJ,EAAI,MAAM,SAAS,EAAI,QAAO,GAC5B,EAAI,QACJ,EAAI,UAAU,OAAO,EAAI,QAG1B,QACC,KAAK,UAAU,GAAK,MAAM,EAAE,QAC5B,EAAI,UAAU,CACrB;KAGG,IAAO,EAGV,KAAK,EAEF,IAAQ,QAAe,EAAK,OAAO,MAAM,EACzC,IAAU,QAAe,EAAe,EAAM,MAAM,CAAC;EAE3D,SAAS,IAAQ;AACf,KAAK,QAAQ;;EAGf,IAAM,IAAa,EAA8C,KAAK;SAEtE,QAAqB;AAGnB,GAAI,EAAK,UAAU,QAAQ,EAAW,SACpC,GAAO;IAET,EAEF,GAAiB,GAAK,OACpB,EAAK,QAAQ;GACX,OAAO,GAAU,GAAG,MAAM,QAAQ,KAAA;GAClC,OAAO;GACR,EAEM,IACP,EAEF,EAAa;GAAE;GAAO;GAAO,CAAC,8BAI5B,EAAQ,EAAA,QAAA,UAAA,EACY,EAAA,SAAA,GAAA,EAApB,EAAsF,EAAA,EAAA,EAAA;;YAAvD;GAAJ,KAAI;GAAc,SAAS,EAAA;GAAU,OAAO,EAAA,OAAM"}
@@ -1,5 +1,7 @@
1
1
  import e from "./Local.vue2.js";
2
+ //#region src/components/PlFileDialog/Local.vue
2
3
  var t = e;
4
+ //#endregion
3
5
  export { t as default };
4
6
 
5
7
  //# sourceMappingURL=Local.js.map
@@ -4,6 +4,7 @@ import t from "./pl-file-dialog.module.js";
4
4
  import { normalizeExtensions as n } from "./utils.js";
5
5
  import { computed as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, normalizeClass as l, openBlock as u, reactive as d, toDisplayString as f, unref as p, withModifiers as m } from "vue";
6
6
  import { getRawPlatformaInstance as h } from "@platforma-sdk/model";
7
+ //#region src/components/PlFileDialog/Local.vue?vue&type=script&setup=true&lang.ts
7
8
  var g = {
8
9
  key: 1,
9
10
  class: "alert-error"
@@ -53,6 +54,7 @@ var g = {
53
54
  ], 34));
54
55
  }
55
56
  });
57
+ //#endregion
56
58
  export { _ as default };
57
59
 
58
60
  //# sourceMappingURL=Local.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Local.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlFileDialog/Local.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport style from \"./pl-file-dialog.module.scss\";\nimport type { ImportedFiles } from \"../../types\";\nimport { PlIcon24 } from \"../PlIcon24\";\nimport { computed, reactive } from \"vue\";\nimport { getRawPlatformaInstance, type OpenDialogFilter } from \"@platforma-sdk/model\";\nimport { normalizeExtensions } from \"./utils\";\n\nconst props = defineProps<{\n importFiles: (value: ImportedFiles) => void;\n multi?: boolean;\n extensions?: string[];\n}>();\n\nconst data = reactive({\n error: undefined as unknown,\n});\n\nconst label = computed(() =>\n props.multi ? \"Drag & Drop files here or click to add\" : \"Drag & Drop file here or click to add\",\n);\n\nconst onDrop = async (ev: DragEvent) => {\n const fileToImportHandle = getRawPlatformaInstance()?.lsDriver?.fileToImportHandle;\n\n if (!fileToImportHandle) {\n return console.error(\n \"API getPlatformaRawInstance().lsDriver.fileToImportHandle is not available\",\n );\n }\n\n const extensions = normalizeExtensions(props.extensions);\n\n const files = await Promise.all(\n [...(ev.dataTransfer?.files ?? [])]\n .filter((f) => !!f)\n .filter((f) => (extensions ? extensions.some((ext) => f.name.endsWith(ext)) : true))\n .map((file) => {\n return fileToImportHandle(file);\n }),\n );\n\n if (files.length) {\n props.importFiles({\n files,\n });\n }\n};\n\nconst openNativeDialog = async () => {\n const filters: OpenDialogFilter[] = props.extensions\n ? [\n {\n name: \"All Files\",\n extensions: [...props.extensions],\n },\n ]\n : [];\n\n if (props.multi) {\n getRawPlatformaInstance()\n ?.lsDriver.showOpenMultipleFilesDialog({\n title: \"Select files to import\",\n filters,\n })\n .then(({ files }) => {\n if (files) {\n props.importFiles({\n files,\n });\n }\n })\n .catch((err) => (data.error = err));\n } else {\n getRawPlatformaInstance()\n ?.lsDriver.showOpenSingleFileDialog({\n title: \"Select file to import\",\n filters,\n })\n .then(({ file }) => {\n if (file) {\n props.importFiles({\n files: [file],\n });\n }\n })\n .catch((err) => (data.error = err));\n }\n};\n</script>\n\n<template>\n <div :class=\"style.local\" @drop=\"onDrop\" @dragover.prevent @click=\"openNativeDialog\">\n <PlIcon24 name=\"cloud-upload\" />\n <span>{{ label }}</span>\n <span v-if=\"extensions\" :class=\"style.supported\"\n >Supported formats: {{ extensions.join(\", \") }}</span\n >\n <span v-if=\"data.error\" class=\"alert-error\">{{ data.error }}</span>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAQA,IAAM,IAAQ,GAMR,IAAO,EAAS,EACpB,OAAO,KAAA,GACR,CAAC,EAEI,IAAQ,QACZ,EAAM,QAAQ,2CAA2C,wCAC1D,EAEK,IAAS,OAAO,MAAkB;GACtC,IAAM,IAAqB,GAAyB,EAAE,UAAU;AAEhE,OAAI,CAAC,EACH,QAAO,QAAQ,MACb,6EACD;GAGH,IAAM,IAAa,EAAoB,EAAM,WAAW,EAElD,IAAQ,MAAM,QAAQ,IAC1B,CAAC,GAAI,EAAG,cAAc,SAAS,EAAE,CAAC,CAC/B,QAAQ,MAAM,CAAC,CAAC,EAAC,CACjB,QAAQ,MAAO,IAAa,EAAW,MAAM,MAAQ,EAAE,KAAK,SAAS,EAAI,CAAC,GAAG,GAAK,CAClF,KAAK,MACG,EAAmB,EAAK,CAC/B,CACL;AAED,GAAI,EAAM,UACR,EAAM,YAAY,EAChB,UACD,CAAC;KAIA,IAAmB,YAAY;GACnC,IAAM,IAA8B,EAAM,aACtC,CACE;IACE,MAAM;IACN,YAAY,CAAC,GAAG,EAAM,WAAW;IAClC,CACH,GACA,EAAE;AAEN,GAAI,EAAM,QACR,GAAwB,EACpB,SAAS,4BAA4B;IACrC,OAAO;IACP;IACD,CAAA,CACA,MAAM,EAAE,eAAY;AACnB,IAAI,KACF,EAAM,YAAY,EAChB,UACD,CAAC;KAEL,CACA,OAAO,MAAS,EAAK,QAAQ,EAAK,GAErC,GAAwB,EACpB,SAAS,yBAAyB;IAClC,OAAO;IACP;IACD,CAAA,CACA,MAAM,EAAE,cAAW;AAClB,IAAI,KACF,EAAM,YAAY,EAChB,OAAO,CAAC,EAAK,EACd,CAAC;KAEL,CACA,OAAO,MAAS,EAAK,QAAQ,EAAK;;yBAMvC,EAOM,OAAA;GAPA,OAAK,EAAE,EAAA,EAAK,CAAC,MAAK;GAAS;GAAS,YAAQ,AAAA,EAAA,OAAA,QAAT,IAAiB,CAAA,UAAA,CAAA;GAAE,SAAO;;GACjE,EAAgC,EAAA,EAAA,EAAA,EAAtB,MAAK,gBAAc,CAAA;GAC7B,EAAwB,QAAA,MAAA,EAAf,EAAA,MAAK,EAAA,EAAA;GACF,EAAA,cAAA,GAAA,EAAZ,EAEC,QAAA;;IAFwB,OAAK,EAAE,EAAA,EAAK,CAAC,UAAS;MAC5C,wBAAmB,EAAG,EAAA,WAAW,KAAI,KAAA,CAAA,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA;GAE5B,EAAK,SAAA,GAAA,EAAjB,EAAmE,QAAnE,GAAmE,EAApB,EAAK,MAAK,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA"}
1
+ {"version":3,"file":"Local.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlFileDialog/Local.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport style from \"./pl-file-dialog.module.scss\";\nimport type { ImportedFiles } from \"../../types\";\nimport { PlIcon24 } from \"../PlIcon24\";\nimport { computed, reactive } from \"vue\";\nimport { getRawPlatformaInstance, type OpenDialogFilter } from \"@platforma-sdk/model\";\nimport { normalizeExtensions } from \"./utils\";\n\nconst props = defineProps<{\n importFiles: (value: ImportedFiles) => void;\n multi?: boolean;\n extensions?: string[];\n}>();\n\nconst data = reactive({\n error: undefined as unknown,\n});\n\nconst label = computed(() =>\n props.multi ? \"Drag & Drop files here or click to add\" : \"Drag & Drop file here or click to add\",\n);\n\nconst onDrop = async (ev: DragEvent) => {\n const fileToImportHandle = getRawPlatformaInstance()?.lsDriver?.fileToImportHandle;\n\n if (!fileToImportHandle) {\n return console.error(\n \"API getPlatformaRawInstance().lsDriver.fileToImportHandle is not available\",\n );\n }\n\n const extensions = normalizeExtensions(props.extensions);\n\n const files = await Promise.all(\n [...(ev.dataTransfer?.files ?? [])]\n .filter((f) => !!f)\n .filter((f) => (extensions ? extensions.some((ext) => f.name.endsWith(ext)) : true))\n .map((file) => {\n return fileToImportHandle(file);\n }),\n );\n\n if (files.length) {\n props.importFiles({\n files,\n });\n }\n};\n\nconst openNativeDialog = async () => {\n const filters: OpenDialogFilter[] = props.extensions\n ? [\n {\n name: \"All Files\",\n extensions: [...props.extensions],\n },\n ]\n : [];\n\n if (props.multi) {\n getRawPlatformaInstance()\n ?.lsDriver.showOpenMultipleFilesDialog({\n title: \"Select files to import\",\n filters,\n })\n .then(({ files }) => {\n if (files) {\n props.importFiles({\n files,\n });\n }\n })\n .catch((err) => (data.error = err));\n } else {\n getRawPlatformaInstance()\n ?.lsDriver.showOpenSingleFileDialog({\n title: \"Select file to import\",\n filters,\n })\n .then(({ file }) => {\n if (file) {\n props.importFiles({\n files: [file],\n });\n }\n })\n .catch((err) => (data.error = err));\n }\n};\n</script>\n\n<template>\n <div :class=\"style.local\" @drop=\"onDrop\" @dragover.prevent @click=\"openNativeDialog\">\n <PlIcon24 name=\"cloud-upload\" />\n <span>{{ label }}</span>\n <span v-if=\"extensions\" :class=\"style.supported\"\n >Supported formats: {{ extensions.join(\", \") }}</span\n >\n <span v-if=\"data.error\" class=\"alert-error\">{{ data.error }}</span>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;EAQA,IAAM,IAAQ,GAMR,IAAO,EAAS,EACpB,OAAO,KAAA,GACR,CAAC,EAEI,IAAQ,QACZ,EAAM,QAAQ,2CAA2C,wCAC1D,EAEK,IAAS,OAAO,MAAkB;GACtC,IAAM,IAAqB,GAAyB,EAAE,UAAU;AAEhE,OAAI,CAAC,EACH,QAAO,QAAQ,MACb,6EACD;GAGH,IAAM,IAAa,EAAoB,EAAM,WAAW,EAElD,IAAQ,MAAM,QAAQ,IAC1B,CAAC,GAAI,EAAG,cAAc,SAAS,EAAE,CAAC,CAC/B,QAAQ,MAAM,CAAC,CAAC,EAAC,CACjB,QAAQ,MAAO,IAAa,EAAW,MAAM,MAAQ,EAAE,KAAK,SAAS,EAAI,CAAC,GAAG,GAAK,CAClF,KAAK,MACG,EAAmB,EAAK,CAC/B,CACL;AAED,GAAI,EAAM,UACR,EAAM,YAAY,EAChB,UACD,CAAC;KAIA,IAAmB,YAAY;GACnC,IAAM,IAA8B,EAAM,aACtC,CACE;IACE,MAAM;IACN,YAAY,CAAC,GAAG,EAAM,WAAW;IAClC,CACH,GACA,EAAE;AAEN,GAAI,EAAM,QACR,GAAwB,EACpB,SAAS,4BAA4B;IACrC,OAAO;IACP;IACD,CAAA,CACA,MAAM,EAAE,eAAY;AACnB,IAAI,KACF,EAAM,YAAY,EAChB,UACD,CAAC;KAEL,CACA,OAAO,MAAS,EAAK,QAAQ,EAAK,GAErC,GAAwB,EACpB,SAAS,yBAAyB;IAClC,OAAO;IACP;IACD,CAAA,CACA,MAAM,EAAE,cAAW;AAClB,IAAI,KACF,EAAM,YAAY,EAChB,OAAO,CAAC,EAAK,EACd,CAAC;KAEL,CACA,OAAO,MAAS,EAAK,QAAQ,EAAK;;yBAMvC,EAOM,OAAA;GAPA,OAAK,EAAE,EAAA,EAAK,CAAC,MAAK;GAAS;GAAS,YAAQ,AAAA,EAAA,OAAA,QAAT,IAAiB,CAAA,UAAA,CAAA;GAAE,SAAO;;GACjE,EAAgC,EAAA,EAAA,EAAA,EAAtB,MAAK,gBAAc,CAAA;GAC7B,EAAwB,QAAA,MAAA,EAAf,EAAA,MAAK,EAAA,EAAA;GACF,EAAA,cAAA,GAAA,EAAZ,EAEC,QAAA;;IAFwB,OAAK,EAAE,EAAA,EAAK,CAAC,UAAS;MAC5C,wBAAmB,EAAG,EAAA,WAAW,KAAI,KAAA,CAAA,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA;GAE5B,EAAK,SAAA,GAAA,EAAjB,EAAmE,QAAnE,GAAmE,EAApB,EAAK,MAAK,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA"}
@@ -1,5 +1,7 @@
1
1
  import e from "./PlFileDialog.vue2.js";
2
+ //#region src/components/PlFileDialog/PlFileDialog.vue
2
3
  var t = e;
4
+ //#endregion
3
5
  export { t as default };
4
6
 
5
7
  //# sourceMappingURL=PlFileDialog.js.map
@@ -11,6 +11,7 @@ import a from "./Remote.js";
11
11
  import o from "./Local.js";
12
12
  import { computed as s, createBlock as c, createCommentVNode as l, createElementVNode as u, createSlots as d, createTextVNode as f, createVNode as p, defineComponent as m, mergeProps as h, normalizeClass as g, openBlock as _, ref as v, toDisplayString as y, unref as b, useTemplateRef as x, withCtx as S, withModifiers as C } from "vue";
13
13
  import { notEmpty as w } from "@milaboratories/helpers";
14
+ //#region src/components/PlFileDialog/PlFileDialog.vue?vue&type=script&setup=true&lang.ts
14
15
  var T = { style: { margin: "0 24px" } }, E = /* @__PURE__ */ m({
15
16
  __name: "PlFileDialog",
16
17
  props: {
@@ -91,6 +92,7 @@ var T = { style: { margin: "0 24px" } }, E = /* @__PURE__ */ m({
91
92
  ]));
92
93
  }
93
94
  });
95
+ //#endregion
94
96
  export { E as default };
95
97
 
96
98
  //# sourceMappingURL=PlFileDialog.vue2.js.map