mediacube-ui-v2 0.0.8 → 0.0.9

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 (339) hide show
  1. package/dist/App.vue.js +54 -0
  2. package/dist/assets/tokens/json/animations.json +6 -0
  3. package/dist/assets/tokens/json/border-radius.json +24 -0
  4. package/dist/assets/tokens/json/box-shadows.json +24 -0
  5. package/dist/assets/tokens/json/colors.json +71 -0
  6. package/dist/assets/tokens/json/durations.json +10 -0
  7. package/dist/assets/tokens/json/easings.json +3 -0
  8. package/dist/assets/tokens/json/font-families.json +4 -0
  9. package/dist/assets/tokens/json/font-sizes.json +18 -0
  10. package/dist/assets/tokens/json/font-weights.json +12 -0
  11. package/dist/assets/tokens/json/gradients.json +13 -0
  12. package/dist/assets/tokens/json/index.js +18 -0
  13. package/dist/assets/tokens/json/letter-spacings.json +4 -0
  14. package/dist/assets/tokens/json/line-heights.json +18 -0
  15. package/dist/assets/tokens/json/media-queries.json +26 -0
  16. package/dist/assets/tokens/json/opacities.json +5 -0
  17. package/dist/assets/tokens/json/sizes.json +42 -0
  18. package/dist/assets/tokens/json/spacings.json +34 -0
  19. package/dist/assets/tokens/json/z-indexes.json +12 -0
  20. package/dist/components/elements/McAvatar/McAvatar.vue.js +412 -0
  21. package/dist/components/elements/McBadge/McBadge.vue.js +188 -0
  22. package/dist/components/elements/McBottomLoader/McBottomLoader.vue.js +83 -0
  23. package/dist/components/elements/McButton/McButton.vue.js +1037 -0
  24. package/dist/components/elements/McChip/McChip.vue.js +326 -0
  25. package/dist/components/elements/McCropper/McCropper.vue.js +98 -0
  26. package/dist/components/elements/McDatepicker/McDatepicker.vue.js +1255 -0
  27. package/dist/components/elements/McDraggable/McDraggable.vue.js +280 -0
  28. package/dist/components/elements/McFieldCheckbox/McFieldCheckbox.vue.js +542 -0
  29. package/dist/components/elements/McFieldRadio/McFieldRadio.vue.js +489 -0
  30. package/dist/components/elements/McFieldRadioGroup/McFieldRadioGroup.vue.js +471 -0
  31. package/dist/components/elements/McFieldRange/McFieldRange.vue.js +547 -0
  32. package/dist/components/elements/McFieldSelect/McFieldSelect.vue.js +1440 -0
  33. package/dist/components/elements/McFieldText/McFieldText.vue.js +1404 -0
  34. package/dist/components/elements/McFieldToggle/McFieldToggle.vue.js +408 -0
  35. package/dist/components/elements/McInfinityLoadingTrigger/McInfinityLoadingTrigger.vue.js +192 -0
  36. package/dist/components/elements/McNodata/McNoData.vue.js +319 -0
  37. package/dist/components/elements/McNotification/McNotification.vue.js +367 -0
  38. package/dist/components/elements/McProgress/McProgress.vue.js +361 -0
  39. package/dist/components/elements/McSeparator/McSeparator.vue.js +325 -0
  40. package/dist/components/elements/McSlideUpDown/McSlideUpDown.vue.js +271 -0
  41. package/dist/components/elements/McStack/McStack.vue.js +180 -0
  42. package/dist/components/elements/McSvgIcon/McSvgIcon.vue.js +289 -0
  43. package/dist/components/elements/McTitle/McTitle.vue.js +468 -0
  44. package/dist/components/elements/McTooltip/McTooltip.vue.js +246 -0
  45. package/dist/components/index.js +73 -0
  46. package/dist/components/patterns/McAccordion/McAccordion.vue.js +120 -0
  47. package/dist/components/patterns/McCell/McCell.vue.js +197 -0
  48. package/dist/components/patterns/McCollapse/McCollapse.vue.js +315 -0
  49. package/dist/components/patterns/McDropdown/McDropdown.vue.js +366 -0
  50. package/dist/components/patterns/McDropdown/McDropdownPanel.vue.js +83 -0
  51. package/dist/components/patterns/McFilter/McFilter.vue.js +1068 -0
  52. package/dist/components/patterns/McFilter/McFilterChip/McFilterChip.vue.js +211 -0
  53. package/dist/components/patterns/McFilter/McFilterTags/McFilterTags.vue.js +552 -0
  54. package/dist/components/patterns/McFilter/McFilterTypeDate/McFilterTypeDate.vue.js +188 -0
  55. package/dist/components/patterns/McFilter/McFilterTypeRange/McFilterTypeRange.vue.js +238 -0
  56. package/dist/components/patterns/McFilter/McFilterTypeRelation/McFilterTypeRelation.vue.js +359 -0
  57. package/dist/components/patterns/McFilter/McFilterTypeText/McFilterTypeText.vue.js +171 -0
  58. package/dist/components/patterns/McGridCol/McGridCol.vue.js +246 -0
  59. package/dist/components/patterns/McGridRow/McGridRow.vue.js +292 -0
  60. package/dist/components/patterns/McOverlay/McOverlay.vue.js +107 -0
  61. package/dist/components/patterns/McPreview/McPreview.vue.js +118 -0
  62. package/dist/components/patterns/McSideBar/McSideBar.vue.js +740 -0
  63. package/dist/components/patterns/McSideBar/McSideBarBottom/McSideBarBottom.vue.js +204 -0
  64. package/dist/components/patterns/McSideBar/McSideBarButton/McSideBarButton.vue.js +510 -0
  65. package/dist/components/patterns/McSideBar/McSideBarCenter/McSideBarCenter.vue.js +413 -0
  66. package/dist/components/patterns/McSideBar/McSideBarTop/McSideBarTop.vue.js +419 -0
  67. package/dist/components/patterns/McTab/McTab.vue.js +518 -0
  68. package/dist/components/patterns/McTabs/McTabs.vue.js +427 -0
  69. package/dist/components/patterns/McWrapScroll/McWrapScroll.vue.js +422 -0
  70. package/dist/components/templates/McDrawer/McDrawer.vue.js +304 -0
  71. package/dist/components/templates/McDrawer/McDrawerContainer.vue.js +133 -0
  72. package/dist/components/templates/McDrawer/McDrawerContentTemplate/McDrawerContentTemplate.vue.js +134 -0
  73. package/dist/components/templates/McModal/McModal.vue.js +664 -0
  74. package/dist/components/templates/McModal/McModalContainer.vue.js +119 -0
  75. package/dist/components/templates/McTable/McTable/McTable.vue.js +862 -0
  76. package/dist/components/templates/McTable/McTableCard/McTableCard.vue.js +339 -0
  77. package/dist/components/templates/McTable/McTableCard/McTableCardHeader/McTableCardHeader.vue.js +119 -0
  78. package/dist/components/templates/McTable/McTableSkeletonLoading/McTableSkeletonLoading.vue.js +118 -0
  79. package/dist/components/templates/McTable/McTableSort/McTableSort.vue.js +136 -0
  80. package/dist/components/templates/McTopBar/McTopBar.vue.js +309 -0
  81. package/dist/components/templates/McVirtualScroll/McVirtualScroll.vue.js +239 -0
  82. package/dist/composables/index.js +8 -0
  83. package/dist/composables/useDrawer.js +72 -0
  84. package/dist/composables/useEncodeDecode.js +25 -0
  85. package/dist/composables/useFieldErrors.js +20 -0
  86. package/dist/composables/useHelper.js +79 -0
  87. package/dist/composables/useModal.js +71 -0
  88. package/dist/composables/useRandomNumber.js +10 -0
  89. package/dist/composables/useTooltip.js +154 -0
  90. package/dist/consts/table.js +6 -0
  91. package/dist/enums/Cell.js +6 -0
  92. package/dist/enums/Chip.js +11 -0
  93. package/dist/enums/Datepicker.js +42 -0
  94. package/dist/enums/Drawer.js +5 -0
  95. package/dist/enums/Dropdown.js +12 -0
  96. package/dist/enums/Filter.js +14 -0
  97. package/dist/enums/Grid.js +24 -0
  98. package/dist/enums/Input.js +20 -0
  99. package/dist/enums/Modal.js +5 -0
  100. package/dist/enums/Preview.js +6 -0
  101. package/dist/enums/Radio.js +5 -0
  102. package/dist/enums/RadioGroup.js +5 -0
  103. package/dist/enums/Select.js +11 -0
  104. package/dist/enums/Sidebar.js +5 -0
  105. package/dist/enums/Tab.js +6 -0
  106. package/dist/enums/Title.js +21 -0
  107. package/dist/enums/Tooltip.js +15 -0
  108. package/dist/enums/index.js +22 -0
  109. package/dist/enums/ui/Alignment.js +6 -0
  110. package/dist/enums/ui/Button.js +24 -0
  111. package/dist/enums/ui/Directions.js +5 -0
  112. package/dist/enums/ui/Weights.js +7 -0
  113. package/dist/index.js +13 -10522
  114. package/dist/main.js +6 -0
  115. package/dist/mocks/authUser.js +162 -0
  116. package/dist/mocks/categories.js +107 -0
  117. package/dist/mocks/filterMocks.js +128 -0
  118. package/dist/mocks/icons.json +1 -0
  119. package/dist/mocks/menuLangs.js +19 -0
  120. package/dist/mocks/sidebar.js +125 -0
  121. package/dist/mocks/tableData.js +8180 -0
  122. package/dist/types/App.vue.d.ts +2 -0
  123. package/dist/types/IButton.js +1 -0
  124. package/dist/types/ICell.js +1 -0
  125. package/dist/types/IChip.js +1 -0
  126. package/dist/types/ICollapse.js +1 -0
  127. package/dist/types/IDatepicker.js +1 -0
  128. package/dist/types/IDirections.js +1 -0
  129. package/dist/types/IDrawer.js +1 -0
  130. package/dist/types/IDropdown.js +1 -0
  131. package/dist/types/IFilter.js +1 -0
  132. package/dist/types/IGrid.js +1 -0
  133. package/dist/types/IInput.js +1 -0
  134. package/dist/types/IModal.js +1 -0
  135. package/dist/types/IPreview.js +1 -0
  136. package/dist/types/IRadio.js +1 -0
  137. package/dist/types/IRadioGroup.js +1 -0
  138. package/dist/types/IRoute.js +1 -0
  139. package/dist/types/ISelect.js +1 -0
  140. package/dist/types/ISideBar.js +1 -0
  141. package/dist/types/ITable.js +1 -0
  142. package/dist/types/ITabs.js +1 -0
  143. package/dist/types/ITitle.js +1 -0
  144. package/dist/types/ITooltip.js +1 -0
  145. package/dist/types/assets/tokens/json/index.d.ts +18 -0
  146. package/dist/{components → types/components}/elements/McAvatar/McAvatar.vue.d.ts +5 -5
  147. package/dist/{components → types/components}/elements/McBadge/McBadge.vue.d.ts +3 -3
  148. package/dist/types/components/elements/McBottomLoader/McBottomLoader.vue.d.ts +14 -0
  149. package/dist/{components → types/components}/elements/McButton/McButton.vue.d.ts +13 -12
  150. package/dist/{components → types/components}/elements/McChip/McChip.vue.d.ts +7 -6
  151. package/dist/types/components/elements/McCropper/McCropper.vue.d.ts +2 -0
  152. package/dist/{components → types/components}/elements/McDatepicker/McDatepicker.vue.d.ts +2 -1
  153. package/dist/{components → types/components}/elements/McDraggable/McDraggable.vue.d.ts +4 -4
  154. package/dist/{components → types/components}/elements/McFieldCheckbox/McFieldCheckbox.vue.d.ts +1 -1
  155. package/dist/{components → types/components}/elements/McFieldRadio/McFieldRadio.vue.d.ts +8 -8
  156. package/dist/{components → types/components}/elements/McFieldRadioGroup/McFieldRadioGroup.vue.d.ts +1 -1
  157. package/dist/{components → types/components}/elements/McFieldRange/McFieldRange.vue.d.ts +6 -6
  158. package/dist/{components → types/components}/elements/McFieldSelect/McFieldSelect.vue.d.ts +12 -11
  159. package/dist/{components → types/components}/elements/McFieldText/McFieldText.vue.d.ts +9 -9
  160. package/dist/{components → types/components}/elements/McFieldToggle/McFieldToggle.vue.d.ts +6 -6
  161. package/dist/{components → types/components}/elements/McInfinityLoadingTrigger/McInfinityLoadingTrigger.vue.d.ts +4 -4
  162. package/dist/types/components/elements/McNodata/McNoData.vue.d.ts +110 -0
  163. package/dist/types/components/elements/McNotification/McNotification.vue.d.ts +124 -0
  164. package/dist/{components → types/components}/elements/McProgress/McProgress.vue.d.ts +5 -5
  165. package/dist/{components → types/components}/elements/McSeparator/McSeparator.vue.d.ts +4 -4
  166. package/dist/{components → types/components}/elements/McSlideUpDown/McSlideUpDown.vue.d.ts +5 -5
  167. package/dist/{components → types/components}/elements/McStack/McStack.vue.d.ts +4 -4
  168. package/dist/{components → types/components}/elements/McSvgIcon/McSvgIcon.vue.d.ts +9 -9
  169. package/dist/{components → types/components}/elements/McTitle/McTitle.vue.d.ts +7 -7
  170. package/dist/{components → types/components}/elements/McTooltip/McTooltip.vue.d.ts +6 -6
  171. package/dist/types/components/index.d.ts +70 -0
  172. package/dist/{components → types/components}/patterns/McAccordion/McAccordion.vue.d.ts +4 -4
  173. package/dist/{components → types/components}/patterns/McCell/McCell.vue.d.ts +6 -6
  174. package/dist/{components → types/components}/patterns/McCollapse/McCollapse.vue.d.ts +6 -6
  175. package/dist/{components → types/components}/patterns/McDropdown/McDropdown.vue.d.ts +7 -7
  176. package/dist/types/components/patterns/McDropdown/McDropdownPanel.vue.d.ts +22 -0
  177. package/dist/{components → types/components}/patterns/McFilter/McFilter.vue.d.ts +6 -6
  178. package/dist/{components → types/components}/patterns/McFilter/McFilterChip/McFilterChip.vue.d.ts +6 -6
  179. package/dist/{components → types/components}/patterns/McFilter/McFilterTags/McFilterTags.vue.d.ts +6 -6
  180. package/dist/{components → types/components}/patterns/McFilter/McFilterTypeDate/McFilterTypeDate.vue.d.ts +6 -6
  181. package/dist/{components → types/components}/patterns/McFilter/McFilterTypeRange/McFilterTypeRange.vue.d.ts +6 -6
  182. package/dist/{components → types/components}/patterns/McFilter/McFilterTypeRelation/McFilterTypeRelation.vue.d.ts +6 -6
  183. package/dist/{components → types/components}/patterns/McFilter/McFilterTypeText/McFilterTypeText.vue.d.ts +6 -6
  184. package/dist/{components → types/components}/patterns/McGridCol/McGridCol.vue.d.ts +4 -4
  185. package/dist/{components → types/components}/patterns/McGridRow/McGridRow.vue.d.ts +5 -5
  186. package/dist/{components → types/components}/patterns/McOverlay/McOverlay.vue.d.ts +4 -4
  187. package/dist/{components → types/components}/patterns/McPreview/McPreview.vue.d.ts +4 -4
  188. package/dist/types/components/patterns/McSideBar/McSideBar.vue.d.ts +292 -0
  189. package/dist/{components → types/components}/patterns/McSideBar/McSideBarBottom/McSideBarBottom.vue.d.ts +5 -5
  190. package/dist/{components → types/components}/patterns/McSideBar/McSideBarButton/McSideBarButton.vue.d.ts +6 -6
  191. package/dist/{components → types/components}/patterns/McSideBar/McSideBarCenter/McSideBarCenter.vue.d.ts +6 -6
  192. package/dist/types/components/patterns/McSideBar/McSideBarTop/McSideBarTop.vue.d.ts +123 -0
  193. package/dist/types/components/patterns/McTab/McTab.vue.d.ts +224 -0
  194. package/dist/{components → types/components}/patterns/McTabs/McTabs.vue.d.ts +8 -7
  195. package/dist/{components → types/components}/patterns/McWrapScroll/McWrapScroll.vue.d.ts +7 -7
  196. package/dist/types/components/templates/McDrawer/McDrawer.vue.d.ts +104 -0
  197. package/dist/{components → types/components}/templates/McDrawer/McDrawerContainer.vue.d.ts +5 -5
  198. package/dist/{components → types/components}/templates/McDrawer/McDrawerContentTemplate/McDrawerContentTemplate.vue.d.ts +4 -4
  199. package/dist/{components → types/components}/templates/McModal/McModal.vue.d.ts +7 -7
  200. package/dist/{components → types/components}/templates/McModal/McModalContainer.vue.d.ts +5 -5
  201. package/dist/types/components/templates/McTable/McTable/McTable.vue.d.ts +295 -0
  202. package/dist/{components → types/components}/templates/McTable/McTableCard/McTableCard.vue.d.ts +6 -6
  203. package/dist/{components → types/components}/templates/McTable/McTableCard/McTableCardHeader/McTableCardHeader.vue.d.ts +4 -4
  204. package/dist/types/components/templates/McTable/McTableSkeletonLoading/McTableSkeletonLoading.vue.d.ts +18 -0
  205. package/dist/{components → types/components}/templates/McTable/McTableSort/McTableSort.vue.d.ts +7 -7
  206. package/dist/{components → types/components}/templates/McTopBar/McTopBar.vue.d.ts +4 -4
  207. package/dist/{components → types/components}/templates/McVirtualScroll/McVirtualScroll.vue.d.ts +4 -4
  208. package/dist/{composables → types/composables}/index.d.ts +1 -1
  209. package/dist/{composables → types/composables}/useDrawer.d.ts +1 -1
  210. package/dist/types/composables/useFieldErrors.d.ts +5 -0
  211. package/dist/{composables → types/composables}/useTooltip.d.ts +1 -1
  212. package/dist/types/index.d.ts +9 -36
  213. package/dist/types/index.js +38 -0
  214. package/dist/types/main.d.ts +2 -0
  215. package/dist/{mocks → types/mocks}/filterMocks.d.ts +1 -1
  216. package/dist/{mocks → types/mocks}/sidebar.d.ts +1 -1
  217. package/dist/{mocks → types/mocks}/tableData.d.ts +1 -1
  218. package/dist/types/styles/Alignment.js +1 -0
  219. package/dist/types/styles/AvatarSizes.js +3 -0
  220. package/dist/types/styles/Colors.js +3 -0
  221. package/dist/types/styles/Durations.js +3 -0
  222. package/dist/types/styles/FontSizes.js +3 -0
  223. package/dist/types/styles/FontWeights.js +3 -0
  224. package/dist/types/styles/Grid.js +1 -0
  225. package/dist/types/styles/Icons.js +2 -0
  226. package/dist/types/styles/LineHeights.js +3 -0
  227. package/dist/types/styles/MediaQueries.js +3 -0
  228. package/dist/types/styles/Radiuses.js +3 -0
  229. package/dist/types/styles/Sizes.js +3 -0
  230. package/dist/types/styles/Spaces.js +3 -0
  231. package/dist/types/styles/Weights.js +1 -0
  232. package/dist/types/{IButton.d.ts → types/IButton.d.ts} +5 -5
  233. package/dist/types/{ICell.d.ts → types/ICell.d.ts} +1 -1
  234. package/dist/types/{IChip.d.ts → types/IChip.d.ts} +2 -2
  235. package/dist/types/{IDatepicker.d.ts → types/IDatepicker.d.ts} +1 -1
  236. package/dist/types/{IDirections.d.ts → types/IDirections.d.ts} +1 -1
  237. package/dist/types/{IDrawer.d.ts → types/IDrawer.d.ts} +2 -2
  238. package/dist/types/{IDropdown.d.ts → types/IDropdown.d.ts} +1 -1
  239. package/dist/types/{IFilter.d.ts → types/IFilter.d.ts} +1 -1
  240. package/dist/types/{IInput.d.ts → types/IInput.d.ts} +1 -1
  241. package/dist/types/{IModal.d.ts → types/IModal.d.ts} +2 -2
  242. package/dist/types/{IPreview.d.ts → types/IPreview.d.ts} +1 -1
  243. package/dist/types/{IRadio.d.ts → types/IRadio.d.ts} +1 -1
  244. package/dist/types/{IRadioGroup.d.ts → types/IRadioGroup.d.ts} +1 -1
  245. package/dist/types/{ISelect.d.ts → types/ISelect.d.ts} +1 -1
  246. package/dist/types/{ISideBar.d.ts → types/ISideBar.d.ts} +5 -5
  247. package/dist/types/{ITable.d.ts → types/ITable.d.ts} +2 -2
  248. package/dist/types/{ITabs.d.ts → types/ITabs.d.ts} +4 -4
  249. package/dist/types/{ITitle.d.ts → types/ITitle.d.ts} +1 -1
  250. package/dist/types/{ITooltip.d.ts → types/ITooltip.d.ts} +1 -1
  251. package/dist/types/types/index.d.ts +36 -0
  252. package/dist/types/{styles → types/styles}/Alignment.d.ts +1 -1
  253. package/dist/types/{styles → types/styles}/Grid.d.ts +1 -1
  254. package/dist/types/{styles → types/styles}/Weights.d.ts +1 -1
  255. package/dist/{utils → types/utils}/dayjs.d.ts +2 -1
  256. package/dist/{utils → types/utils}/mcGridColAdaptiveProps.d.ts +1 -1
  257. package/dist/{utils → types/utils}/mcTitleAdaptiveProps.d.ts +1 -1
  258. package/dist/utils/dayjs.js +18 -0
  259. package/dist/utils/mcGridColAdaptiveProps.js +10 -0
  260. package/dist/utils/mcTitleAdaptiveProps.js +10 -0
  261. package/package.json +7 -3
  262. package/dist/App.vue.d.ts +0 -2
  263. package/dist/assets/tokens/json/animations.json.d.ts +0 -8
  264. package/dist/assets/tokens/json/border-radius.json.d.ts +0 -26
  265. package/dist/assets/tokens/json/box-shadows.json.d.ts +0 -26
  266. package/dist/assets/tokens/json/colors.json.d.ts +0 -73
  267. package/dist/assets/tokens/json/durations.json.d.ts +0 -12
  268. package/dist/assets/tokens/json/easings.json.d.ts +0 -5
  269. package/dist/assets/tokens/json/font-families.json.d.ts +0 -6
  270. package/dist/assets/tokens/json/font-sizes.json.d.ts +0 -20
  271. package/dist/assets/tokens/json/font-weights.json.d.ts +0 -14
  272. package/dist/assets/tokens/json/gradients.json.d.ts +0 -15
  273. package/dist/assets/tokens/json/index.d.ts +0 -18
  274. package/dist/assets/tokens/json/letter-spacings.json.d.ts +0 -6
  275. package/dist/assets/tokens/json/line-heights.json.d.ts +0 -20
  276. package/dist/assets/tokens/json/media-queries.json.d.ts +0 -28
  277. package/dist/assets/tokens/json/opacities.json.d.ts +0 -7
  278. package/dist/assets/tokens/json/sizes.json.d.ts +0 -44
  279. package/dist/assets/tokens/json/spacings.json.d.ts +0 -36
  280. package/dist/assets/tokens/json/z-indexes.json.d.ts +0 -14
  281. package/dist/components/elements/McBottomLoader/McBottomLoader.vue.d.ts +0 -14
  282. package/dist/components/elements/McNodata/McNoData.vue.d.ts +0 -110
  283. package/dist/components/elements/McNotification/McNotification.vue.d.ts +0 -124
  284. package/dist/components/index.d.ts +0 -61
  285. package/dist/components/patterns/McDropdown/McDropdownPanel.vue.d.ts +0 -22
  286. package/dist/components/patterns/McSideBar/McSideBar.vue.d.ts +0 -292
  287. package/dist/components/patterns/McSideBar/McSideBarTop/McSideBarTop.vue.d.ts +0 -123
  288. package/dist/components/patterns/McTab/McTab.vue.d.ts +0 -224
  289. package/dist/components/templates/McDrawer/McDrawer.vue.d.ts +0 -104
  290. package/dist/components/templates/McTable/McTable/McTable.vue.d.ts +0 -295
  291. package/dist/components/templates/McTable/McTableSkeletonLoading/McTableSkeletonLoading.vue.d.ts +0 -18
  292. package/dist/composables/useFieldErrors.d.ts +0 -5
  293. package/dist/index.d.ts +0 -9
  294. package/dist/main.d.ts +0 -0
  295. package/dist/mocks/icons.json.d.ts +0 -3
  296. /package/dist/{composables → types/composables}/useEncodeDecode.d.ts +0 -0
  297. /package/dist/{composables → types/composables}/useHelper.d.ts +0 -0
  298. /package/dist/{composables → types/composables}/useModal.d.ts +0 -0
  299. /package/dist/{composables → types/composables}/useRandomNumber.d.ts +0 -0
  300. /package/dist/{consts → types/consts}/table.d.ts +0 -0
  301. /package/dist/{enums → types/enums}/Cell.d.ts +0 -0
  302. /package/dist/{enums → types/enums}/Chip.d.ts +0 -0
  303. /package/dist/{enums → types/enums}/Datepicker.d.ts +0 -0
  304. /package/dist/{enums → types/enums}/Drawer.d.ts +0 -0
  305. /package/dist/{enums → types/enums}/Dropdown.d.ts +0 -0
  306. /package/dist/{enums → types/enums}/Filter.d.ts +0 -0
  307. /package/dist/{enums → types/enums}/Grid.d.ts +0 -0
  308. /package/dist/{enums → types/enums}/Input.d.ts +0 -0
  309. /package/dist/{enums → types/enums}/Modal.d.ts +0 -0
  310. /package/dist/{enums → types/enums}/Preview.d.ts +0 -0
  311. /package/dist/{enums → types/enums}/Radio.d.ts +0 -0
  312. /package/dist/{enums → types/enums}/RadioGroup.d.ts +0 -0
  313. /package/dist/{enums → types/enums}/Select.d.ts +0 -0
  314. /package/dist/{enums → types/enums}/Sidebar.d.ts +0 -0
  315. /package/dist/{enums → types/enums}/Tab.d.ts +0 -0
  316. /package/dist/{enums → types/enums}/Title.d.ts +0 -0
  317. /package/dist/{enums → types/enums}/Tooltip.d.ts +0 -0
  318. /package/dist/{enums → types/enums}/index.d.ts +0 -0
  319. /package/dist/{enums → types/enums}/ui/Alignment.d.ts +0 -0
  320. /package/dist/{enums → types/enums}/ui/Button.d.ts +0 -0
  321. /package/dist/{enums → types/enums}/ui/Directions.d.ts +0 -0
  322. /package/dist/{enums → types/enums}/ui/Weights.d.ts +0 -0
  323. /package/dist/{mocks → types/mocks}/authUser.d.ts +0 -0
  324. /package/dist/{mocks → types/mocks}/categories.d.ts +0 -0
  325. /package/dist/{mocks → types/mocks}/menuLangs.d.ts +0 -0
  326. /package/dist/types/{ICollapse.d.ts → types/ICollapse.d.ts} +0 -0
  327. /package/dist/types/{IGrid.d.ts → types/IGrid.d.ts} +0 -0
  328. /package/dist/types/{IRoute.d.ts → types/IRoute.d.ts} +0 -0
  329. /package/dist/types/{styles → types/styles}/AvatarSizes.d.ts +0 -0
  330. /package/dist/types/{styles → types/styles}/Colors.d.ts +0 -0
  331. /package/dist/types/{styles → types/styles}/Durations.d.ts +0 -0
  332. /package/dist/types/{styles → types/styles}/FontSizes.d.ts +0 -0
  333. /package/dist/types/{styles → types/styles}/FontWeights.d.ts +0 -0
  334. /package/dist/types/{styles → types/styles}/Icons.d.ts +0 -0
  335. /package/dist/types/{styles → types/styles}/LineHeights.d.ts +0 -0
  336. /package/dist/types/{styles → types/styles}/MediaQueries.d.ts +0 -0
  337. /package/dist/types/{styles → types/styles}/Radiuses.d.ts +0 -0
  338. /package/dist/types/{styles → types/styles}/Sizes.d.ts +0 -0
  339. /package/dist/types/{styles → types/styles}/Spaces.d.ts +0 -0
@@ -0,0 +1,1440 @@
1
+ import { computed, ref, watch } from 'vue';
2
+ import MultiSelect from 'vue-multiselect';
3
+ import McTitle from '@/components/elements/McTitle/McTitle.vue';
4
+ import McSvgIcon from '@/components/elements/McSvgIcon/McSvgIcon.vue';
5
+ import McAvatar from '@/components/elements/McAvatar/McAvatar.vue';
6
+ import McTooltip from '@/components/elements/McTooltip/McTooltip.vue';
7
+ import McPreview from '@/components/patterns/McPreview/McPreview.vue';
8
+ import { Directions } from '@/enums/ui/Directions';
9
+ import { Colors } from '@/types/styles/Colors';
10
+ import { useFieldErrors } from '@/composables/useFieldErrors';
11
+ import { SelectGroupKeys } from '@/enums/Select';
12
+ import { PreviewSizes, TitleVariations, TooltipPositions, Weights } from '@/enums';
13
+ const { defineProps, defineSlots, defineEmits, defineExpose, defineModel, defineOptions, withDefaults, } = await import('vue');
14
+ const emit = defineEmits(['original-input', 'tag', 'search-change', 'update:modelValue', 'handle-open', 'handle-close']);
15
+ const props = defineProps({
16
+ /**
17
+ * Значение
18
+ */
19
+ modelValue: {
20
+ type: [Array, String, Number]
21
+ },
22
+ /**
23
+ * Заголовок поля:
24
+ *
25
+ */
26
+ title: {
27
+ type: String,
28
+ default: null
29
+ },
30
+ /**
31
+ * Вспомогательный текст под инпутом:
32
+ *
33
+ */
34
+ helpText: {
35
+ type: String,
36
+ default: null
37
+ },
38
+ /**
39
+ * Массив элементов
40
+ * выпадающего списка
41
+ * [
42
+ * {
43
+ * name: String,
44
+ * value: String | Number,
45
+ * text: String - доступен, если optionWithPreview=true
46
+ * icon: String - доступен, если optionWithPreview=true
47
+ * }
48
+ * ]
49
+ */
50
+ options: {
51
+ type: Array,
52
+ default: () => []
53
+ },
54
+ /**
55
+ * Выполняется ли поиск из списка
56
+ * при вводе в инпут
57
+ */
58
+ searchable: {
59
+ type: Boolean,
60
+ default: true
61
+ },
62
+ /**
63
+ * Множественный выбор
64
+ */
65
+ multiple: {
66
+ type: Boolean,
67
+ default: false
68
+ },
69
+ /**
70
+ * Скрывать из списка
71
+ * выбранные элементы
72
+ */
73
+ hideSelected: {
74
+ type: Boolean,
75
+ default: true
76
+ },
77
+ /**
78
+ * Допустимо ли
79
+ * пустое значение
80
+ */
81
+ allowEmpty: {
82
+ type: Boolean,
83
+ default: true
84
+ },
85
+ /**
86
+ * Отключенное состояние
87
+ */
88
+ disabled: {
89
+ type: Boolean,
90
+ default: false
91
+ },
92
+ /**
93
+ * Ссылка на аватар/картинку
94
+ * в начале label
95
+ */
96
+ avatar: {
97
+ type: String,
98
+ default: null
99
+ },
100
+ /**
101
+ * Имя иконки
102
+ * в начале label
103
+ */
104
+ icon: {
105
+ type: String,
106
+ default: null
107
+ },
108
+ /**
109
+ * Цвет фона
110
+ */
111
+ backgroundColor: {
112
+ type: String,
113
+ default: null
114
+ },
115
+ /**
116
+ * placeholder
117
+ */
118
+ placeholder: {
119
+ type: String,
120
+ default: ''
121
+ },
122
+ /**
123
+ * Направление открытия списка:
124
+ * `above (top), below (bottom), auto`
125
+ */
126
+ openDirection: {
127
+ type: String,
128
+ default: 'auto'
129
+ },
130
+ /**
131
+ * Селект в режиме тэгирования, когда можно вводить свои значения и добавлять их в опции
132
+ * */
133
+ taggable: {
134
+ type: Boolean,
135
+ default: false
136
+ },
137
+ /**
138
+ * Помечать в списке выбранные
139
+ * элементы
140
+ */
141
+ showLabels: {
142
+ type: Boolean,
143
+ default: false
144
+ },
145
+ /**
146
+ * Поиск по опциям
147
+ * */
148
+ internalSearch: {
149
+ type: Boolean,
150
+ default: true
151
+ },
152
+ /**
153
+ * Ошибки
154
+ */
155
+ errors: {
156
+ type: Array,
157
+ default: null
158
+ },
159
+ /**
160
+ * Name
161
+ */
162
+ name: {
163
+ type: String,
164
+ required: true
165
+ },
166
+ /**
167
+ * Если нужен тултип
168
+ * над элементами списка
169
+ */
170
+ optionsTooltip: {
171
+ type: Boolean,
172
+ default: false
173
+ },
174
+ /**
175
+ * При группировке опций, дает возвожность выбрать сразу группу
176
+ * */
177
+ groupSelect: {
178
+ type: Boolean,
179
+ default: false
180
+ },
181
+ required: {
182
+ type: Boolean,
183
+ default: false
184
+ },
185
+ /**
186
+ * Если айтемам в селекте нужны превью с иконками и описанием
187
+ */
188
+ optionWithPreview: {
189
+ type: Boolean,
190
+ default: false
191
+ },
192
+ tabindex: {
193
+ type: [String, Number],
194
+ default: null
195
+ },
196
+ /**
197
+ * Если нужно ограничить максимальную высоту блока с выбранными элементами
198
+ */
199
+ maxHeight: {
200
+ type: String,
201
+ default: null
202
+ },
203
+ /**
204
+ * Рендерить ли выпадающий список абсолютно, что бы помещался в ограниченном пространстве
205
+ * */
206
+ renderAbsoluteList: {
207
+ type: Boolean,
208
+ default: false
209
+ },
210
+ /**
211
+ * Для какого языка селект
212
+ */
213
+ locale: {
214
+ type: String,
215
+ default: null
216
+ },
217
+ /**
218
+ * Текст для пустого селекта, когда неичего не найдено
219
+ */
220
+ noResultsText: {
221
+ type: String,
222
+ default: 'No results'
223
+ },
224
+ /**
225
+ * Показывать ли состояние лоадинга
226
+ */
227
+ loading: {
228
+ type: Boolean,
229
+ default: false
230
+ },
231
+ dir: {
232
+ type: String,
233
+ default: Directions.Ltr
234
+ },
235
+ /**
236
+ * На какое после смотреть что бы считать его заголовком строки
237
+ * */
238
+ titleField: {
239
+ type: String,
240
+ default: 'name'
241
+ },
242
+ /**
243
+ * На какое после смотреть что бы считать его значением строки
244
+ * */
245
+ valueField: {
246
+ type: String,
247
+ default: 'value'
248
+ }
249
+ });
250
+ const fieldErrors = useFieldErrors(props.errors);
251
+ const searchValue = ref(null);
252
+ const field_select_ref = ref(null);
253
+ const field_select_wrapper_ref = ref(null);
254
+ const local_options = ref([]);
255
+ const isGroupedOptions = computed(() => {
256
+ return props.options.some((o) => Object.prototype.hasOwnProperty.call(o, SelectGroupKeys.Label) &&
257
+ Object.prototype.hasOwnProperty.call(o, SelectGroupKeys.Values) &&
258
+ //@ts-ignore
259
+ Array.isArray(o[SelectGroupKeys.Values]));
260
+ });
261
+ const hasTitle = computed(() => {
262
+ return !!props.title;
263
+ });
264
+ const hasPrepend = computed(() => {
265
+ return props.avatar || props.icon;
266
+ });
267
+ const isValueMustBeArray = computed(() => {
268
+ return props.multiple;
269
+ });
270
+ const tagBind = computed(() => {
271
+ return {
272
+ label: props.titleField,
273
+ trackBy: props.valueField,
274
+ loading: props.loading,
275
+ options: computedOptions.value,
276
+ searchable: props.searchable,
277
+ showLabels: props.showLabels,
278
+ multiple: props.multiple,
279
+ hideSelected: props.hideSelected,
280
+ allowEmpty: props.allowEmpty,
281
+ openDirection: props.openDirection,
282
+ id: props.name,
283
+ taggable: props.taggable,
284
+ tagPlaceholder: '',
285
+ placeholder: props.placeholder,
286
+ disabled: props.disabled,
287
+ internalSearch: props.internalSearch,
288
+ tabindex: +props.tabindex,
289
+ groupSelect: props.groupSelect && props.multiple,
290
+ ...(isGroupedOptions.value ? { groupLabel: SelectGroupKeys.Label } : {}),
291
+ ...(isGroupedOptions.value ? { groupValues: SelectGroupKeys.Values } : {})
292
+ };
293
+ });
294
+ const computedOptions = computed(() => {
295
+ //@ts-ignore
296
+ return !isGroupedOptions.value
297
+ ? [...props.options, ...local_options.value].filter(
298
+ //@ts-ignore
299
+ (v, i, a) => a.findIndex((afi) => afi[props.valueField] === v[props.valueField]) === i)
300
+ : props.options;
301
+ });
302
+ const rtl = computed(() => {
303
+ return props.dir === Directions.Rtl;
304
+ });
305
+ const classes = computed(() => {
306
+ return {
307
+ 'mc-field-select': true,
308
+ 'mc-field-select--error': !!fieldErrors.errorText.value,
309
+ 'mc-field-select--disabled': props.disabled,
310
+ [`mc-field-select--bg-${props.backgroundColor}`]: !!props.backgroundColor,
311
+ 'mc-field-select--is-empty-options-list': isEmptyOptionsList.value || props.loading,
312
+ 'mc-field-select--with-preview': props.optionWithPreview,
313
+ 'mc-field-select--max-height': !!props.maxHeight,
314
+ 'mc-field-select--rtl': rtl.value
315
+ };
316
+ });
317
+ const computedTitle = computed(() => {
318
+ return `${props.title}${props.required ? ' *' : ''}`;
319
+ });
320
+ const styles = computed(() => {
321
+ const darkColors = ['gray', 'dark-gray', 'black'];
322
+ const lightColors = ['white'];
323
+ let placeHolderColor = 'gray';
324
+ let borderColor = props.backgroundColor;
325
+ let backgroundColor = props.backgroundColor;
326
+ let labelColor = 'black';
327
+ if (!props.backgroundColor || lightColors.includes(props.backgroundColor)) {
328
+ borderColor = 'purple';
329
+ }
330
+ if (darkColors.includes(props.backgroundColor)) {
331
+ labelColor = 'white';
332
+ placeHolderColor = 'white';
333
+ borderColor = 'black';
334
+ }
335
+ if (props.disabled && !props.backgroundColor) {
336
+ backgroundColor = 'hover-gray';
337
+ }
338
+ return {
339
+ '--mc-field-select-max-height': props.maxHeight,
340
+ '--mc-field-select-color': backgroundColor && Colors[backgroundColor],
341
+ '--mc-field-select-border-color': borderColor && Colors[borderColor],
342
+ '--mc-field-select-label-color': Colors[labelColor],
343
+ '--mc-field-select-placeholder-color': Colors[placeHolderColor]
344
+ };
345
+ });
346
+ const isEmptyOptionsList = computed(() => {
347
+ if ((props.hideSelected && !searchValue.value) || !props.options.length) {
348
+ if (props.multiple) {
349
+ if (isGroupedOptions.value)
350
+ return false;
351
+ return Array.isArray(props.modelValue) && props.options.length === props.modelValue.length;
352
+ }
353
+ else {
354
+ return !!props.modelValue && computedOptions.value?.length === 1 && !searchValue.value;
355
+ }
356
+ }
357
+ else if (props.options.length === 0)
358
+ return !props.options.length;
359
+ return false;
360
+ });
361
+ const computedModelValue = computed({
362
+ get() {
363
+ let preparedValue = isValueMustBeArray.value ? props.modelValue || [] : [props.modelValue].filter(Boolean);
364
+ preparedValue = preparedValue.map((pv) => {
365
+ //@ts-ignore
366
+ const options = isGroupedOptions.value
367
+ ? computedOptions.value.map((co) => co[SelectGroupKeys.Values]).flat()
368
+ : computedOptions.value;
369
+ const item = options.find((co) => String(co[props.valueField]) === String(pv));
370
+ return {
371
+ [props.titleField]: item?.[props.titleField],
372
+ [props.valueField]: item?.[props.valueField],
373
+ text: item?.text,
374
+ icon: item?.icon
375
+ };
376
+ });
377
+ const [first] = preparedValue;
378
+ return isValueMustBeArray.value ? preparedValue : first;
379
+ },
380
+ set(value) {
381
+ let preparedValue = isValueMustBeArray.value ? (Array.isArray(value) ? value : []) : [value];
382
+ preparedValue = preparedValue.filter(Boolean).map((v) => v[props.valueField]);
383
+ const [first] = preparedValue;
384
+ emitOriginalInput(value);
385
+ emitInput(isValueMustBeArray.value ? preparedValue : first);
386
+ }
387
+ });
388
+ const actualizeSavedOptions = () => {
389
+ //Фильтруем локальные опции и оставляем только те, значения которых выбраны в селекте
390
+ local_options.value = local_options.value.filter((lo) => props.modelValue?.constructor === Array
391
+ ? props.modelValue.map((v) => String(v)).includes(String(lo[props.valueField]))
392
+ : String(lo[props.valueField]) === String(props.modelValue));
393
+ //Делаем Юник, что бы опции не повторялись
394
+ local_options.value = local_options.value.filter((v, i, a) => a.findIndex((afi) => String(afi[props.valueField]) === String(v[props.valueField])) === i);
395
+ };
396
+ const handleTag = (value) => {
397
+ const preparedValue = { [props.titleField]: value, [props.valueField]: value };
398
+ local_options.value.push(preparedValue);
399
+ computedModelValue.value = isValueMustBeArray.value ? [...computedModelValue.value, preparedValue] : preparedValue;
400
+ /**
401
+ * Событие по добавлению
402
+ * тега в опции (по Enter)
403
+ */
404
+ emit('tag', value);
405
+ };
406
+ const handleSearchChange = (value) => {
407
+ searchValue.value = value;
408
+ /**
409
+ * Событие по вводу данных в инпут
410
+ */
411
+ emit('search-change', value);
412
+ };
413
+ const emitInput = (value) => {
414
+ fieldErrors.toggleErrorVisible();
415
+ /**
416
+ * Событие инпута (выбранное значение)
417
+ */
418
+ emit('update:modelValue', value);
419
+ };
420
+ const emitOriginalInput = (value) => {
421
+ /**
422
+ * Истинное значение инпута
423
+ */
424
+ emit('original-input', value);
425
+ };
426
+ const handleOpen = () => {
427
+ emit('handle-open');
428
+ };
429
+ const handleClose = () => {
430
+ emit('handle-close');
431
+ };
432
+ watch(() => props.options, (val) => {
433
+ //Пушим все входящие опции в локальные опции
434
+ local_options.value.push(...val);
435
+ actualizeSavedOptions();
436
+ }, { immediate: true });
437
+ watch(() => props.modelValue, () => {
438
+ actualizeSavedOptions();
439
+ }, { immediate: true, deep: true }); /* PartiallyEnd: #3632/scriptSetup.vue */
440
+ const __VLS_fnComponent = (await import('vue')).defineComponent({
441
+ props: {
442
+ /**
443
+ * Значение
444
+ */
445
+ modelValue: {
446
+ type: [Array, String, Number]
447
+ },
448
+ /**
449
+ * Заголовок поля:
450
+ *
451
+ */
452
+ title: {
453
+ type: String,
454
+ default: null
455
+ },
456
+ /**
457
+ * Вспомогательный текст под инпутом:
458
+ *
459
+ */
460
+ helpText: {
461
+ type: String,
462
+ default: null
463
+ },
464
+ /**
465
+ * Массив элементов
466
+ * выпадающего списка
467
+ * [
468
+ * {
469
+ * name: String,
470
+ * value: String | Number,
471
+ * text: String - доступен, если optionWithPreview=true
472
+ * icon: String - доступен, если optionWithPreview=true
473
+ * }
474
+ * ]
475
+ */
476
+ options: {
477
+ type: Array,
478
+ default: () => []
479
+ },
480
+ /**
481
+ * Выполняется ли поиск из списка
482
+ * при вводе в инпут
483
+ */
484
+ searchable: {
485
+ type: Boolean,
486
+ default: true
487
+ },
488
+ /**
489
+ * Множественный выбор
490
+ */
491
+ multiple: {
492
+ type: Boolean,
493
+ default: false
494
+ },
495
+ /**
496
+ * Скрывать из списка
497
+ * выбранные элементы
498
+ */
499
+ hideSelected: {
500
+ type: Boolean,
501
+ default: true
502
+ },
503
+ /**
504
+ * Допустимо ли
505
+ * пустое значение
506
+ */
507
+ allowEmpty: {
508
+ type: Boolean,
509
+ default: true
510
+ },
511
+ /**
512
+ * Отключенное состояние
513
+ */
514
+ disabled: {
515
+ type: Boolean,
516
+ default: false
517
+ },
518
+ /**
519
+ * Ссылка на аватар/картинку
520
+ * в начале label
521
+ */
522
+ avatar: {
523
+ type: String,
524
+ default: null
525
+ },
526
+ /**
527
+ * Имя иконки
528
+ * в начале label
529
+ */
530
+ icon: {
531
+ type: String,
532
+ default: null
533
+ },
534
+ /**
535
+ * Цвет фона
536
+ */
537
+ backgroundColor: {
538
+ type: String,
539
+ default: null
540
+ },
541
+ /**
542
+ * placeholder
543
+ */
544
+ placeholder: {
545
+ type: String,
546
+ default: ''
547
+ },
548
+ /**
549
+ * Направление открытия списка:
550
+ * `above (top), below (bottom), auto`
551
+ */
552
+ openDirection: {
553
+ type: String,
554
+ default: 'auto'
555
+ },
556
+ /**
557
+ * Селект в режиме тэгирования, когда можно вводить свои значения и добавлять их в опции
558
+ * */
559
+ taggable: {
560
+ type: Boolean,
561
+ default: false
562
+ },
563
+ /**
564
+ * Помечать в списке выбранные
565
+ * элементы
566
+ */
567
+ showLabels: {
568
+ type: Boolean,
569
+ default: false
570
+ },
571
+ /**
572
+ * Поиск по опциям
573
+ * */
574
+ internalSearch: {
575
+ type: Boolean,
576
+ default: true
577
+ },
578
+ /**
579
+ * Ошибки
580
+ */
581
+ errors: {
582
+ type: Array,
583
+ default: null
584
+ },
585
+ /**
586
+ * Name
587
+ */
588
+ name: {
589
+ type: String,
590
+ required: true
591
+ },
592
+ /**
593
+ * Если нужен тултип
594
+ * над элементами списка
595
+ */
596
+ optionsTooltip: {
597
+ type: Boolean,
598
+ default: false
599
+ },
600
+ /**
601
+ * При группировке опций, дает возвожность выбрать сразу группу
602
+ * */
603
+ groupSelect: {
604
+ type: Boolean,
605
+ default: false
606
+ },
607
+ required: {
608
+ type: Boolean,
609
+ default: false
610
+ },
611
+ /**
612
+ * Если айтемам в селекте нужны превью с иконками и описанием
613
+ */
614
+ optionWithPreview: {
615
+ type: Boolean,
616
+ default: false
617
+ },
618
+ tabindex: {
619
+ type: [String, Number],
620
+ default: null
621
+ },
622
+ /**
623
+ * Если нужно ограничить максимальную высоту блока с выбранными элементами
624
+ */
625
+ maxHeight: {
626
+ type: String,
627
+ default: null
628
+ },
629
+ /**
630
+ * Рендерить ли выпадающий список абсолютно, что бы помещался в ограниченном пространстве
631
+ * */
632
+ renderAbsoluteList: {
633
+ type: Boolean,
634
+ default: false
635
+ },
636
+ /**
637
+ * Для какого языка селект
638
+ */
639
+ locale: {
640
+ type: String,
641
+ default: null
642
+ },
643
+ /**
644
+ * Текст для пустого селекта, когда неичего не найдено
645
+ */
646
+ noResultsText: {
647
+ type: String,
648
+ default: 'No results'
649
+ },
650
+ /**
651
+ * Показывать ли состояние лоадинга
652
+ */
653
+ loading: {
654
+ type: Boolean,
655
+ default: false
656
+ },
657
+ dir: {
658
+ type: String,
659
+ default: Directions.Ltr
660
+ },
661
+ /**
662
+ * На какое после смотреть что бы считать его заголовком строки
663
+ * */
664
+ titleField: {
665
+ type: String,
666
+ default: 'name'
667
+ },
668
+ /**
669
+ * На какое после смотреть что бы считать его значением строки
670
+ * */
671
+ valueField: {
672
+ type: String,
673
+ default: 'value'
674
+ }
675
+ },
676
+ emits: {},
677
+ });
678
+ ;
679
+ let __VLS_functionalComponentProps;
680
+ function __VLS_template() {
681
+ const __VLS_ctx = {};
682
+ const __VLS_localComponents = {
683
+ ...{},
684
+ ...{},
685
+ ...__VLS_ctx,
686
+ };
687
+ let __VLS_components;
688
+ const __VLS_localDirectives = {
689
+ ...{},
690
+ ...__VLS_ctx,
691
+ };
692
+ let __VLS_directives;
693
+ let __VLS_styleScopedClasses;
694
+ // CSS variable injection
695
+ // CSS variable injection end
696
+ let __VLS_resolvedLocalAndGlobalComponents;
697
+ __VLS_elementAsFunction(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({ ref: ("field_select_wrapper_ref"), dir: ((__VLS_ctx.dir)), ...{ class: ((__VLS_ctx.classes)) }, ...{ style: ((__VLS_ctx.styles)) }, });
698
+ // @ts-ignore navigation for `const field_select_wrapper_ref = ref()`
699
+ __VLS_ctx.field_select_wrapper_ref;
700
+ __VLS_elementAsFunction(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({ ...{ class: ("mc-field-select__header") }, });
701
+ var __VLS_0 = {};
702
+ if (__VLS_ctx.hasTitle) {
703
+ // @ts-ignore
704
+ [McTitle, McTitle,];
705
+ // @ts-ignore
706
+ const __VLS_1 = __VLS_asFunctionalComponent(McTitle, new McTitle({ maxWidth: ("100%"), weight: ((__VLS_ctx.Weights.Medium)), }));
707
+ const __VLS_2 = __VLS_1({ maxWidth: ("100%"), weight: ((__VLS_ctx.Weights.Medium)), }, ...__VLS_functionalComponentArgsRest(__VLS_1));
708
+ (__VLS_ctx.computedTitle);
709
+ __VLS_nonNullable(__VLS_5.slots).default;
710
+ var __VLS_5;
711
+ }
712
+ __VLS_elementAsFunction(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({ ...{ class: ("mc-field-select__main") }, });
713
+ const __VLS_6 = __VLS_resolvedLocalAndGlobalComponents.MultiSelect;
714
+ /** @type { [typeof __VLS_components.MultiSelect, typeof __VLS_components.multiSelect, typeof __VLS_components.MultiSelect, typeof __VLS_components.multiSelect, ] } */
715
+ // @ts-ignore
716
+ const __VLS_7 = __VLS_asFunctionalComponent(__VLS_6, new __VLS_6({ ...{ 'onTag': {} }, ...{ 'onSearchChange': {} }, ...{ 'onOpen': {} }, ...{ 'onClose': {} }, ref: ("field_select_ref"), modelValue: ((__VLS_ctx.computedModelValue)), ...(__VLS_ctx.tagBind), }));
717
+ const __VLS_8 = __VLS_7({ ...{ 'onTag': {} }, ...{ 'onSearchChange': {} }, ...{ 'onOpen': {} }, ...{ 'onClose': {} }, ref: ("field_select_ref"), modelValue: ((__VLS_ctx.computedModelValue)), ...(__VLS_ctx.tagBind), }, ...__VLS_functionalComponentArgsRest(__VLS_7));
718
+ // @ts-ignore navigation for `const field_select_ref = ref()`
719
+ __VLS_ctx.field_select_ref;
720
+ var __VLS_12 = {};
721
+ let __VLS_13;
722
+ const __VLS_14 = {
723
+ onTag: (__VLS_ctx.handleTag)
724
+ };
725
+ const __VLS_15 = {
726
+ onSearchChange: (__VLS_ctx.handleSearchChange)
727
+ };
728
+ const __VLS_16 = {
729
+ onOpen: (__VLS_ctx.handleOpen)
730
+ };
731
+ const __VLS_17 = {
732
+ onClose: (__VLS_ctx.handleClose)
733
+ };
734
+ let __VLS_9;
735
+ let __VLS_10;
736
+ __VLS_elementAsFunction(__VLS_intrinsicElements.template, __VLS_intrinsicElements.template)({});
737
+ {
738
+ const { singleLabel: __VLS_thisSlot } = __VLS_nonNullable(__VLS_11.slots);
739
+ const [{ option }] = __VLS_getSlotParams(__VLS_thisSlot);
740
+ if (props.optionWithPreview) {
741
+ // @ts-ignore
742
+ [McPreview, McPreview,];
743
+ // @ts-ignore
744
+ const __VLS_18 = __VLS_asFunctionalComponent(McPreview, new McPreview({ ...{ class: ("option__desc") }, size: ((__VLS_ctx.PreviewSizes.L)), }));
745
+ const __VLS_19 = __VLS_18({ ...{ class: ("option__desc") }, size: ((__VLS_ctx.PreviewSizes.L)), }, ...__VLS_functionalComponentArgsRest(__VLS_18));
746
+ if (!!option.icon) {
747
+ __VLS_elementAsFunction(__VLS_intrinsicElements.template, __VLS_intrinsicElements.template)({});
748
+ {
749
+ const { left: __VLS_thisSlot } = __VLS_nonNullable(__VLS_22.slots);
750
+ // @ts-ignore
751
+ [McSvgIcon,];
752
+ // @ts-ignore
753
+ const __VLS_23 = __VLS_asFunctionalComponent(McSvgIcon, new McSvgIcon({ name: ((option.icon)), size: ("400"), }));
754
+ const __VLS_24 = __VLS_23({ name: ((option.icon)), size: ("400"), }, ...__VLS_functionalComponentArgsRest(__VLS_23));
755
+ }
756
+ }
757
+ __VLS_elementAsFunction(__VLS_intrinsicElements.template, __VLS_intrinsicElements.template)({});
758
+ {
759
+ const { top: __VLS_thisSlot } = __VLS_nonNullable(__VLS_22.slots);
760
+ // @ts-ignore
761
+ [McTitle,];
762
+ // @ts-ignore
763
+ const __VLS_28 = __VLS_asFunctionalComponent(McTitle, new McTitle({ weight: ((__VLS_ctx.Weights.SemiBold)), htmlData: ((option[props.titleField])), }));
764
+ const __VLS_29 = __VLS_28({ weight: ((__VLS_ctx.Weights.SemiBold)), htmlData: ((option[props.titleField])), }, ...__VLS_functionalComponentArgsRest(__VLS_28));
765
+ }
766
+ __VLS_elementAsFunction(__VLS_intrinsicElements.template, __VLS_intrinsicElements.template)({});
767
+ {
768
+ const { right: __VLS_thisSlot } = __VLS_nonNullable(__VLS_22.slots);
769
+ var __VLS_33 = {};
770
+ }
771
+ if (!!option.text) {
772
+ __VLS_elementAsFunction(__VLS_intrinsicElements.template, __VLS_intrinsicElements.template)({});
773
+ {
774
+ const { bottom: __VLS_thisSlot } = __VLS_nonNullable(__VLS_22.slots);
775
+ // @ts-ignore
776
+ [McTitle, McTitle,];
777
+ // @ts-ignore
778
+ const __VLS_34 = __VLS_asFunctionalComponent(McTitle, new McTitle({ color: ("gray"), }));
779
+ const __VLS_35 = __VLS_34({ color: ("gray"), }, ...__VLS_functionalComponentArgsRest(__VLS_34));
780
+ (option.text);
781
+ __VLS_nonNullable(__VLS_38.slots).default;
782
+ var __VLS_38;
783
+ }
784
+ }
785
+ var __VLS_22;
786
+ }
787
+ else {
788
+ __VLS_elementAsFunction(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({ ...{ class: ("mc-field-select__single-label") }, });
789
+ if (__VLS_ctx.hasPrepend) {
790
+ __VLS_elementAsFunction(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({ ...{ class: ("mc-field-select__prepend") }, });
791
+ if (__VLS_ctx.avatar) {
792
+ // @ts-ignore
793
+ [McAvatar,];
794
+ // @ts-ignore
795
+ const __VLS_39 = __VLS_asFunctionalComponent(McAvatar, new McAvatar({ src: ((__VLS_ctx.avatar)), }));
796
+ const __VLS_40 = __VLS_39({ src: ((__VLS_ctx.avatar)), }, ...__VLS_functionalComponentArgsRest(__VLS_39));
797
+ }
798
+ else {
799
+ // @ts-ignore
800
+ [McSvgIcon,];
801
+ // @ts-ignore
802
+ const __VLS_44 = __VLS_asFunctionalComponent(McSvgIcon, new McSvgIcon({ name: ((props.icon)), }));
803
+ const __VLS_45 = __VLS_44({ name: ((props.icon)), }, ...__VLS_functionalComponentArgsRest(__VLS_44));
804
+ }
805
+ }
806
+ __VLS_elementAsFunction(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({ ...{ class: ("mc-field-select__label-text") }, ...{ class: ((__VLS_ctx.hasPrepend ? 'mc-field-select__label-text--indent-left' : '')) }, });
807
+ (option ? option[props.titleField] : __VLS_ctx.placeholder);
808
+ }
809
+ }
810
+ if (__VLS_ctx.optionsTooltip || props.optionWithPreview) {
811
+ __VLS_elementAsFunction(__VLS_intrinsicElements.template, __VLS_intrinsicElements.template)({});
812
+ {
813
+ const { option: __VLS_thisSlot } = __VLS_nonNullable(__VLS_11.slots);
814
+ const [{ option }] = __VLS_getSlotParams(__VLS_thisSlot);
815
+ if (props.optionWithPreview) {
816
+ // @ts-ignore
817
+ [McPreview, McPreview,];
818
+ // @ts-ignore
819
+ const __VLS_49 = __VLS_asFunctionalComponent(McPreview, new McPreview({ ...{ class: ("option__desc") }, size: ((__VLS_ctx.PreviewSizes.L)), }));
820
+ const __VLS_50 = __VLS_49({ ...{ class: ("option__desc") }, size: ((__VLS_ctx.PreviewSizes.L)), }, ...__VLS_functionalComponentArgsRest(__VLS_49));
821
+ if (!!option.icon) {
822
+ __VLS_elementAsFunction(__VLS_intrinsicElements.template, __VLS_intrinsicElements.template)({});
823
+ {
824
+ const { left: __VLS_thisSlot } = __VLS_nonNullable(__VLS_53.slots);
825
+ // @ts-ignore
826
+ [McSvgIcon,];
827
+ // @ts-ignore
828
+ const __VLS_54 = __VLS_asFunctionalComponent(McSvgIcon, new McSvgIcon({ name: ((option.icon)), size: ("400"), }));
829
+ const __VLS_55 = __VLS_54({ name: ((option.icon)), size: ("400"), }, ...__VLS_functionalComponentArgsRest(__VLS_54));
830
+ }
831
+ }
832
+ __VLS_elementAsFunction(__VLS_intrinsicElements.template, __VLS_intrinsicElements.template)({});
833
+ {
834
+ const { top: __VLS_thisSlot } = __VLS_nonNullable(__VLS_53.slots);
835
+ // @ts-ignore
836
+ [McTitle,];
837
+ // @ts-ignore
838
+ const __VLS_59 = __VLS_asFunctionalComponent(McTitle, new McTitle({ weight: ((__VLS_ctx.Weights.SemiBold)), htmlData: ((option[props.titleField])), }));
839
+ const __VLS_60 = __VLS_59({ weight: ((__VLS_ctx.Weights.SemiBold)), htmlData: ((option[props.titleField])), }, ...__VLS_functionalComponentArgsRest(__VLS_59));
840
+ }
841
+ if (!!option.text) {
842
+ __VLS_elementAsFunction(__VLS_intrinsicElements.template, __VLS_intrinsicElements.template)({});
843
+ {
844
+ const { bottom: __VLS_thisSlot } = __VLS_nonNullable(__VLS_53.slots);
845
+ // @ts-ignore
846
+ [McTitle, McTitle,];
847
+ // @ts-ignore
848
+ const __VLS_64 = __VLS_asFunctionalComponent(McTitle, new McTitle({ color: ("gray"), }));
849
+ const __VLS_65 = __VLS_64({ color: ("gray"), }, ...__VLS_functionalComponentArgsRest(__VLS_64));
850
+ (option.text);
851
+ __VLS_nonNullable(__VLS_68.slots).default;
852
+ var __VLS_68;
853
+ }
854
+ }
855
+ var __VLS_53;
856
+ }
857
+ else {
858
+ // @ts-ignore
859
+ [McTooltip, McTooltip,];
860
+ // @ts-ignore
861
+ const __VLS_69 = __VLS_asFunctionalComponent(McTooltip, new McTooltip({ ...{ class: ("mc-field-select__options-tooltip-target") }, maxWidth: ("m"), color: ("black"), placement: ((__VLS_ctx.TooltipPositions.Top)), content: ((option[props.titleField])), }));
862
+ const __VLS_70 = __VLS_69({ ...{ class: ("mc-field-select__options-tooltip-target") }, maxWidth: ("m"), color: ("black"), placement: ((__VLS_ctx.TooltipPositions.Top)), content: ((option[props.titleField])), }, ...__VLS_functionalComponentArgsRest(__VLS_69));
863
+ __VLS_elementAsFunction(__VLS_intrinsicElements.span, __VLS_intrinsicElements.span)({});
864
+ (option[props.titleField]);
865
+ __VLS_nonNullable(__VLS_73.slots).default;
866
+ var __VLS_73;
867
+ }
868
+ }
869
+ }
870
+ __VLS_elementAsFunction(__VLS_intrinsicElements.template, __VLS_intrinsicElements.template)({});
871
+ {
872
+ const { noResult: __VLS_thisSlot } = __VLS_nonNullable(__VLS_11.slots);
873
+ var __VLS_74 = {};
874
+ __VLS_elementAsFunction(__VLS_intrinsicElements.span, __VLS_intrinsicElements.span)({});
875
+ (props.noResultsText);
876
+ __VLS_nonNullable(__VLS_11.slots).default;
877
+ }
878
+ var __VLS_11;
879
+ if (__VLS_ctx.fieldErrors.errorText.value || props.helpText || __VLS_ctx.$slots.footer) {
880
+ __VLS_elementAsFunction(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({ ...{ class: ("mc-field-select__footer") }, });
881
+ if (__VLS_ctx.fieldErrors.errorText.value) {
882
+ // @ts-ignore
883
+ [McTitle, McTitle,];
884
+ // @ts-ignore
885
+ const __VLS_75 = __VLS_asFunctionalComponent(McTitle, new McTitle({ tagName: ("div"), color: ("red"), variation: ((__VLS_ctx.TitleVariations.Overline)), maxWidth: ("100%"), }));
886
+ const __VLS_76 = __VLS_75({ tagName: ("div"), color: ("red"), variation: ((__VLS_ctx.TitleVariations.Overline)), maxWidth: ("100%"), }, ...__VLS_functionalComponentArgsRest(__VLS_75));
887
+ (__VLS_ctx.fieldErrors.errorText.value);
888
+ __VLS_nonNullable(__VLS_79.slots).default;
889
+ var __VLS_79;
890
+ }
891
+ if (__VLS_ctx.fieldErrors.errorText.value) {
892
+ __VLS_elementAsFunction(__VLS_intrinsicElements.br)({});
893
+ }
894
+ var __VLS_80 = {};
895
+ if (props.helpText) {
896
+ // @ts-ignore
897
+ [McTitle, McTitle,];
898
+ // @ts-ignore
899
+ const __VLS_81 = __VLS_asFunctionalComponent(McTitle, new McTitle({ tagName: ("div"), variation: ((__VLS_ctx.TitleVariations.Overline)), color: ("gray"), maxWidth: ("100%"), }));
900
+ const __VLS_82 = __VLS_81({ tagName: ("div"), variation: ((__VLS_ctx.TitleVariations.Overline)), color: ("gray"), maxWidth: ("100%"), }, ...__VLS_functionalComponentArgsRest(__VLS_81));
901
+ (props.helpText);
902
+ __VLS_nonNullable(__VLS_85.slots).default;
903
+ var __VLS_85;
904
+ }
905
+ }
906
+ __VLS_styleScopedClasses['mc-field-select__header'];
907
+ __VLS_styleScopedClasses['mc-field-select__main'];
908
+ __VLS_styleScopedClasses['option__desc'];
909
+ __VLS_styleScopedClasses['mc-field-select__single-label'];
910
+ __VLS_styleScopedClasses['mc-field-select__prepend'];
911
+ __VLS_styleScopedClasses['mc-field-select__label-text'];
912
+ __VLS_styleScopedClasses['option__desc'];
913
+ __VLS_styleScopedClasses['mc-field-select__options-tooltip-target'];
914
+ __VLS_styleScopedClasses['mc-field-select__footer'];
915
+ var __VLS_slots;
916
+ var __VLS_inheritedAttrs;
917
+ const __VLS_refs = {
918
+ "field_select_wrapper_ref": __VLS_nativeElements['div'],
919
+ "field_select_ref": __VLS_12,
920
+ };
921
+ var $refs;
922
+ var $el;
923
+ return {
924
+ attrs: {},
925
+ slots: __VLS_slots,
926
+ refs: $refs,
927
+ rootEl: $el,
928
+ };
929
+ }
930
+ ;
931
+ const __VLS_self = (await import('vue')).defineComponent({
932
+ setup() {
933
+ return {
934
+ MultiSelect: MultiSelect,
935
+ McTitle: McTitle,
936
+ McSvgIcon: McSvgIcon,
937
+ McAvatar: McAvatar,
938
+ McTooltip: McTooltip,
939
+ McPreview: McPreview,
940
+ PreviewSizes: PreviewSizes,
941
+ TitleVariations: TitleVariations,
942
+ TooltipPositions: TooltipPositions,
943
+ Weights: Weights,
944
+ fieldErrors: fieldErrors,
945
+ field_select_ref: field_select_ref,
946
+ field_select_wrapper_ref: field_select_wrapper_ref,
947
+ hasTitle: hasTitle,
948
+ hasPrepend: hasPrepend,
949
+ tagBind: tagBind,
950
+ classes: classes,
951
+ computedTitle: computedTitle,
952
+ styles: styles,
953
+ computedModelValue: computedModelValue,
954
+ handleTag: handleTag,
955
+ handleSearchChange: handleSearchChange,
956
+ handleOpen: handleOpen,
957
+ handleClose: handleClose,
958
+ };
959
+ },
960
+ emits: {},
961
+ props: {
962
+ /**
963
+ * Значение
964
+ */
965
+ modelValue: {
966
+ type: [Array, String, Number]
967
+ },
968
+ /**
969
+ * Заголовок поля:
970
+ *
971
+ */
972
+ title: {
973
+ type: String,
974
+ default: null
975
+ },
976
+ /**
977
+ * Вспомогательный текст под инпутом:
978
+ *
979
+ */
980
+ helpText: {
981
+ type: String,
982
+ default: null
983
+ },
984
+ /**
985
+ * Массив элементов
986
+ * выпадающего списка
987
+ * [
988
+ * {
989
+ * name: String,
990
+ * value: String | Number,
991
+ * text: String - доступен, если optionWithPreview=true
992
+ * icon: String - доступен, если optionWithPreview=true
993
+ * }
994
+ * ]
995
+ */
996
+ options: {
997
+ type: Array,
998
+ default: () => []
999
+ },
1000
+ /**
1001
+ * Выполняется ли поиск из списка
1002
+ * при вводе в инпут
1003
+ */
1004
+ searchable: {
1005
+ type: Boolean,
1006
+ default: true
1007
+ },
1008
+ /**
1009
+ * Множественный выбор
1010
+ */
1011
+ multiple: {
1012
+ type: Boolean,
1013
+ default: false
1014
+ },
1015
+ /**
1016
+ * Скрывать из списка
1017
+ * выбранные элементы
1018
+ */
1019
+ hideSelected: {
1020
+ type: Boolean,
1021
+ default: true
1022
+ },
1023
+ /**
1024
+ * Допустимо ли
1025
+ * пустое значение
1026
+ */
1027
+ allowEmpty: {
1028
+ type: Boolean,
1029
+ default: true
1030
+ },
1031
+ /**
1032
+ * Отключенное состояние
1033
+ */
1034
+ disabled: {
1035
+ type: Boolean,
1036
+ default: false
1037
+ },
1038
+ /**
1039
+ * Ссылка на аватар/картинку
1040
+ * в начале label
1041
+ */
1042
+ avatar: {
1043
+ type: String,
1044
+ default: null
1045
+ },
1046
+ /**
1047
+ * Имя иконки
1048
+ * в начале label
1049
+ */
1050
+ icon: {
1051
+ type: String,
1052
+ default: null
1053
+ },
1054
+ /**
1055
+ * Цвет фона
1056
+ */
1057
+ backgroundColor: {
1058
+ type: String,
1059
+ default: null
1060
+ },
1061
+ /**
1062
+ * placeholder
1063
+ */
1064
+ placeholder: {
1065
+ type: String,
1066
+ default: ''
1067
+ },
1068
+ /**
1069
+ * Направление открытия списка:
1070
+ * `above (top), below (bottom), auto`
1071
+ */
1072
+ openDirection: {
1073
+ type: String,
1074
+ default: 'auto'
1075
+ },
1076
+ /**
1077
+ * Селект в режиме тэгирования, когда можно вводить свои значения и добавлять их в опции
1078
+ * */
1079
+ taggable: {
1080
+ type: Boolean,
1081
+ default: false
1082
+ },
1083
+ /**
1084
+ * Помечать в списке выбранные
1085
+ * элементы
1086
+ */
1087
+ showLabels: {
1088
+ type: Boolean,
1089
+ default: false
1090
+ },
1091
+ /**
1092
+ * Поиск по опциям
1093
+ * */
1094
+ internalSearch: {
1095
+ type: Boolean,
1096
+ default: true
1097
+ },
1098
+ /**
1099
+ * Ошибки
1100
+ */
1101
+ errors: {
1102
+ type: Array,
1103
+ default: null
1104
+ },
1105
+ /**
1106
+ * Name
1107
+ */
1108
+ name: {
1109
+ type: String,
1110
+ required: true
1111
+ },
1112
+ /**
1113
+ * Если нужен тултип
1114
+ * над элементами списка
1115
+ */
1116
+ optionsTooltip: {
1117
+ type: Boolean,
1118
+ default: false
1119
+ },
1120
+ /**
1121
+ * При группировке опций, дает возвожность выбрать сразу группу
1122
+ * */
1123
+ groupSelect: {
1124
+ type: Boolean,
1125
+ default: false
1126
+ },
1127
+ required: {
1128
+ type: Boolean,
1129
+ default: false
1130
+ },
1131
+ /**
1132
+ * Если айтемам в селекте нужны превью с иконками и описанием
1133
+ */
1134
+ optionWithPreview: {
1135
+ type: Boolean,
1136
+ default: false
1137
+ },
1138
+ tabindex: {
1139
+ type: [String, Number],
1140
+ default: null
1141
+ },
1142
+ /**
1143
+ * Если нужно ограничить максимальную высоту блока с выбранными элементами
1144
+ */
1145
+ maxHeight: {
1146
+ type: String,
1147
+ default: null
1148
+ },
1149
+ /**
1150
+ * Рендерить ли выпадающий список абсолютно, что бы помещался в ограниченном пространстве
1151
+ * */
1152
+ renderAbsoluteList: {
1153
+ type: Boolean,
1154
+ default: false
1155
+ },
1156
+ /**
1157
+ * Для какого языка селект
1158
+ */
1159
+ locale: {
1160
+ type: String,
1161
+ default: null
1162
+ },
1163
+ /**
1164
+ * Текст для пустого селекта, когда неичего не найдено
1165
+ */
1166
+ noResultsText: {
1167
+ type: String,
1168
+ default: 'No results'
1169
+ },
1170
+ /**
1171
+ * Показывать ли состояние лоадинга
1172
+ */
1173
+ loading: {
1174
+ type: Boolean,
1175
+ default: false
1176
+ },
1177
+ dir: {
1178
+ type: String,
1179
+ default: Directions.Ltr
1180
+ },
1181
+ /**
1182
+ * На какое после смотреть что бы считать его заголовком строки
1183
+ * */
1184
+ titleField: {
1185
+ type: String,
1186
+ default: 'name'
1187
+ },
1188
+ /**
1189
+ * На какое после смотреть что бы считать его значением строки
1190
+ * */
1191
+ valueField: {
1192
+ type: String,
1193
+ default: 'value'
1194
+ }
1195
+ },
1196
+ });
1197
+ const __VLS_component = (await import('vue')).defineComponent({
1198
+ setup() {
1199
+ return {};
1200
+ },
1201
+ emits: {},
1202
+ props: {
1203
+ /**
1204
+ * Значение
1205
+ */
1206
+ modelValue: {
1207
+ type: [Array, String, Number]
1208
+ },
1209
+ /**
1210
+ * Заголовок поля:
1211
+ *
1212
+ */
1213
+ title: {
1214
+ type: String,
1215
+ default: null
1216
+ },
1217
+ /**
1218
+ * Вспомогательный текст под инпутом:
1219
+ *
1220
+ */
1221
+ helpText: {
1222
+ type: String,
1223
+ default: null
1224
+ },
1225
+ /**
1226
+ * Массив элементов
1227
+ * выпадающего списка
1228
+ * [
1229
+ * {
1230
+ * name: String,
1231
+ * value: String | Number,
1232
+ * text: String - доступен, если optionWithPreview=true
1233
+ * icon: String - доступен, если optionWithPreview=true
1234
+ * }
1235
+ * ]
1236
+ */
1237
+ options: {
1238
+ type: Array,
1239
+ default: () => []
1240
+ },
1241
+ /**
1242
+ * Выполняется ли поиск из списка
1243
+ * при вводе в инпут
1244
+ */
1245
+ searchable: {
1246
+ type: Boolean,
1247
+ default: true
1248
+ },
1249
+ /**
1250
+ * Множественный выбор
1251
+ */
1252
+ multiple: {
1253
+ type: Boolean,
1254
+ default: false
1255
+ },
1256
+ /**
1257
+ * Скрывать из списка
1258
+ * выбранные элементы
1259
+ */
1260
+ hideSelected: {
1261
+ type: Boolean,
1262
+ default: true
1263
+ },
1264
+ /**
1265
+ * Допустимо ли
1266
+ * пустое значение
1267
+ */
1268
+ allowEmpty: {
1269
+ type: Boolean,
1270
+ default: true
1271
+ },
1272
+ /**
1273
+ * Отключенное состояние
1274
+ */
1275
+ disabled: {
1276
+ type: Boolean,
1277
+ default: false
1278
+ },
1279
+ /**
1280
+ * Ссылка на аватар/картинку
1281
+ * в начале label
1282
+ */
1283
+ avatar: {
1284
+ type: String,
1285
+ default: null
1286
+ },
1287
+ /**
1288
+ * Имя иконки
1289
+ * в начале label
1290
+ */
1291
+ icon: {
1292
+ type: String,
1293
+ default: null
1294
+ },
1295
+ /**
1296
+ * Цвет фона
1297
+ */
1298
+ backgroundColor: {
1299
+ type: String,
1300
+ default: null
1301
+ },
1302
+ /**
1303
+ * placeholder
1304
+ */
1305
+ placeholder: {
1306
+ type: String,
1307
+ default: ''
1308
+ },
1309
+ /**
1310
+ * Направление открытия списка:
1311
+ * `above (top), below (bottom), auto`
1312
+ */
1313
+ openDirection: {
1314
+ type: String,
1315
+ default: 'auto'
1316
+ },
1317
+ /**
1318
+ * Селект в режиме тэгирования, когда можно вводить свои значения и добавлять их в опции
1319
+ * */
1320
+ taggable: {
1321
+ type: Boolean,
1322
+ default: false
1323
+ },
1324
+ /**
1325
+ * Помечать в списке выбранные
1326
+ * элементы
1327
+ */
1328
+ showLabels: {
1329
+ type: Boolean,
1330
+ default: false
1331
+ },
1332
+ /**
1333
+ * Поиск по опциям
1334
+ * */
1335
+ internalSearch: {
1336
+ type: Boolean,
1337
+ default: true
1338
+ },
1339
+ /**
1340
+ * Ошибки
1341
+ */
1342
+ errors: {
1343
+ type: Array,
1344
+ default: null
1345
+ },
1346
+ /**
1347
+ * Name
1348
+ */
1349
+ name: {
1350
+ type: String,
1351
+ required: true
1352
+ },
1353
+ /**
1354
+ * Если нужен тултип
1355
+ * над элементами списка
1356
+ */
1357
+ optionsTooltip: {
1358
+ type: Boolean,
1359
+ default: false
1360
+ },
1361
+ /**
1362
+ * При группировке опций, дает возвожность выбрать сразу группу
1363
+ * */
1364
+ groupSelect: {
1365
+ type: Boolean,
1366
+ default: false
1367
+ },
1368
+ required: {
1369
+ type: Boolean,
1370
+ default: false
1371
+ },
1372
+ /**
1373
+ * Если айтемам в селекте нужны превью с иконками и описанием
1374
+ */
1375
+ optionWithPreview: {
1376
+ type: Boolean,
1377
+ default: false
1378
+ },
1379
+ tabindex: {
1380
+ type: [String, Number],
1381
+ default: null
1382
+ },
1383
+ /**
1384
+ * Если нужно ограничить максимальную высоту блока с выбранными элементами
1385
+ */
1386
+ maxHeight: {
1387
+ type: String,
1388
+ default: null
1389
+ },
1390
+ /**
1391
+ * Рендерить ли выпадающий список абсолютно, что бы помещался в ограниченном пространстве
1392
+ * */
1393
+ renderAbsoluteList: {
1394
+ type: Boolean,
1395
+ default: false
1396
+ },
1397
+ /**
1398
+ * Для какого языка селект
1399
+ */
1400
+ locale: {
1401
+ type: String,
1402
+ default: null
1403
+ },
1404
+ /**
1405
+ * Текст для пустого селекта, когда неичего не найдено
1406
+ */
1407
+ noResultsText: {
1408
+ type: String,
1409
+ default: 'No results'
1410
+ },
1411
+ /**
1412
+ * Показывать ли состояние лоадинга
1413
+ */
1414
+ loading: {
1415
+ type: Boolean,
1416
+ default: false
1417
+ },
1418
+ dir: {
1419
+ type: String,
1420
+ default: Directions.Ltr
1421
+ },
1422
+ /**
1423
+ * На какое после смотреть что бы считать его заголовком строки
1424
+ * */
1425
+ titleField: {
1426
+ type: String,
1427
+ default: 'name'
1428
+ },
1429
+ /**
1430
+ * На какое после смотреть что бы считать его значением строки
1431
+ * */
1432
+ valueField: {
1433
+ type: String,
1434
+ default: 'value'
1435
+ }
1436
+ },
1437
+ __typeEl: {},
1438
+ });
1439
+ export default {};
1440
+ ; /* PartiallyEnd: #4569/main.vue */