sprintify-ui 0.2.16 → 0.2.18

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 (403) hide show
  1. package/README.md +244 -244
  2. package/dist/sprintify-ui.es.js +1490 -1487
  3. package/dist/style.css +1 -1
  4. package/dist/tailwindcss/index.js +306 -306
  5. package/dist/types/src/components/BaseActionItem.vue.d.ts +40 -40
  6. package/dist/types/src/components/BaseActionItemButton.vue.d.ts +25 -25
  7. package/dist/types/src/components/BaseAddressForm.vue.d.ts +84 -84
  8. package/dist/types/src/components/BaseAlert.vue.d.ts +51 -51
  9. package/dist/types/src/components/BaseApp.vue.d.ts +9 -9
  10. package/dist/types/src/components/BaseAppDialogs.vue.d.ts +14 -14
  11. package/dist/types/src/components/BaseAppNotifications.vue.d.ts +2 -2
  12. package/dist/types/src/components/BaseAutocomplete.vue.d.ts +237 -237
  13. package/dist/types/src/components/BaseAutocompleteDrawer.vue.d.ts +91 -91
  14. package/dist/types/src/components/BaseAutocompleteFetch.vue.d.ts +210 -210
  15. package/dist/types/src/components/BaseAvatar.vue.d.ts +52 -52
  16. package/dist/types/src/components/BaseAvatarGroup.vue.d.ts +43 -43
  17. package/dist/types/src/components/BaseBadge.vue.d.ts +54 -54
  18. package/dist/types/src/components/BaseBelongsTo.vue.d.ts +216 -216
  19. package/dist/types/src/components/BaseBoolean.vue.d.ts +10 -10
  20. package/dist/types/src/components/BaseBreadcrumbs.vue.d.ts +14 -14
  21. package/dist/types/src/components/BaseButton.vue.d.ts +23 -23
  22. package/dist/types/src/components/BaseButtonGroup.vue.d.ts +143 -143
  23. package/dist/types/src/components/BaseCard.vue.d.ts +21 -21
  24. package/dist/types/src/components/BaseCardRow.vue.d.ts +16 -16
  25. package/dist/types/src/components/BaseCharacterCounter.vue.d.ts +49 -49
  26. package/dist/types/src/components/BaseClickOutside.vue.d.ts +26 -26
  27. package/dist/types/src/components/BaseClipboard.vue.d.ts +21 -21
  28. package/dist/types/src/components/BaseColor.vue.d.ts +80 -80
  29. package/dist/types/src/components/BaseContainer.vue.d.ts +34 -34
  30. package/dist/types/src/components/BaseCounter.vue.d.ts +42 -42
  31. package/dist/types/src/components/BaseCropper.vue.d.ts +76 -76
  32. package/dist/types/src/components/BaseCropperModal.vue.d.ts +28 -28
  33. package/dist/types/src/components/BaseDataIterator.vue.d.ts +212 -212
  34. package/dist/types/src/components/BaseDataIteratorSectionBox.vue.d.ts +20 -20
  35. package/dist/types/src/components/BaseDataIteratorSectionButton.vue.d.ts +17 -17
  36. package/dist/types/src/components/BaseDataIteratorSectionColumns.vue.d.ts +637 -637
  37. package/dist/types/src/components/BaseDataIteratorSectionModal.vue.d.ts +32 -32
  38. package/dist/types/src/components/BaseDataTable.vue.d.ts +385 -385
  39. package/dist/types/src/components/BaseDataTableRowAction.vue.d.ts +21 -21
  40. package/dist/types/src/components/BaseDatePicker.vue.d.ts +124 -124
  41. package/dist/types/src/components/BaseDateSelect.vue.d.ts +79 -79
  42. package/dist/types/src/components/BaseDescriptionList.vue.d.ts +9 -9
  43. package/dist/types/src/components/BaseDescriptionListItem.vue.d.ts +10 -10
  44. package/dist/types/src/components/BaseDialog.vue.d.ts +60 -60
  45. package/dist/types/src/components/BaseDisplayRelativeTime.vue.d.ts +68 -68
  46. package/dist/types/src/components/BaseDraggable.vue.d.ts +49 -49
  47. package/dist/types/src/components/BaseDropdown.vue.d.ts +65 -65
  48. package/dist/types/src/components/BaseDropdownAutocomplete.vue.d.ts +132 -132
  49. package/dist/types/src/components/BaseField.vue.d.ts +58 -58
  50. package/dist/types/src/components/BaseFieldI18n.vue.d.ts +93 -93
  51. package/dist/types/src/components/BaseFilePicker.vue.d.ts +63 -63
  52. package/dist/types/src/components/BaseFilePickerCrop.vue.d.ts +63 -63
  53. package/dist/types/src/components/BaseFileUploader.vue.d.ts +133 -133
  54. package/dist/types/src/components/BaseForm.vue.d.ts +134 -134
  55. package/dist/types/src/components/BaseGantt.vue.d.ts +425 -425
  56. package/dist/types/src/components/BaseHasMany.vue.d.ts +149 -149
  57. package/dist/types/src/components/BaseHeader.vue.d.ts +98 -98
  58. package/dist/types/src/components/BaseIconPicker.vue.d.ts +34 -34
  59. package/dist/types/src/components/BaseInput.vue.d.ts +174 -174
  60. package/dist/types/src/components/BaseInputError.vue.d.ts +9 -9
  61. package/dist/types/src/components/BaseInputLabel.vue.d.ts +43 -43
  62. package/dist/types/src/components/BaseInputPercent.vue.d.ts +138 -138
  63. package/dist/types/src/components/BaseLayoutNotificationDropdown.vue.d.ts +36 -36
  64. package/dist/types/src/components/BaseLayoutNotificationItem.vue.d.ts +16 -16
  65. package/dist/types/src/components/BaseLayoutNotificationItemContent.vue.d.ts +21 -21
  66. package/dist/types/src/components/BaseLayoutSidebar.vue.d.ts +51 -51
  67. package/dist/types/src/components/BaseLayoutSidebarConfigurable.vue.d.ts +87 -87
  68. package/dist/types/src/components/BaseLayoutStacked.vue.d.ts +23 -23
  69. package/dist/types/src/components/BaseLayoutStackedConfigurable.vue.d.ts +78 -78
  70. package/dist/types/src/components/BaseLoadingCover.vue.d.ts +96 -96
  71. package/dist/types/src/components/BaseMediaGallery.vue.d.ts +64 -64
  72. package/dist/types/src/components/BaseMediaGalleryItem.vue.d.ts +45 -45
  73. package/dist/types/src/components/BaseMediaItem.vue.d.ts +27 -27
  74. package/dist/types/src/components/BaseMediaLibrary.vue.d.ts +190 -190
  75. package/dist/types/src/components/BaseMediaList.vue.d.ts +47 -47
  76. package/dist/types/src/components/BaseMediaListItem.vue.d.ts +47 -47
  77. package/dist/types/src/components/BaseMediaPictures.vue.d.ts +55 -55
  78. package/dist/types/src/components/BaseMediaPicturesItem.vue.d.ts +54 -54
  79. package/dist/types/src/components/BaseMediaPreview.vue.d.ts +36 -36
  80. package/dist/types/src/components/BaseMenu.vue.d.ts +68 -68
  81. package/dist/types/src/components/BaseMenuItem.vue.d.ts +61 -61
  82. package/dist/types/src/components/BaseModalCenter.vue.d.ts +80 -80
  83. package/dist/types/src/components/BaseModalSide.vue.d.ts +62 -62
  84. package/dist/types/src/components/BaseNavbar.vue.d.ts +38 -38
  85. package/dist/types/src/components/BaseNavbarItem.vue.d.ts +26 -26
  86. package/dist/types/src/components/BaseNavbarItemContent.vue.d.ts +60 -60
  87. package/dist/types/src/components/BaseNavbarSideItem.vue.d.ts +44 -44
  88. package/dist/types/src/components/BaseNavbarSideItemContent.vue.d.ts +60 -60
  89. package/dist/types/src/components/BasePagination.vue.d.ts +35 -35
  90. package/dist/types/src/components/BasePanel.vue.d.ts +31 -31
  91. package/dist/types/src/components/BasePassword.vue.d.ts +67 -67
  92. package/dist/types/src/components/BaseProgressCircle.vue.d.ts +37 -37
  93. package/dist/types/src/components/BaseRadioGroup.vue.d.ts +105 -105
  94. package/dist/types/src/components/BaseReadMore.vue.d.ts +21 -21
  95. package/dist/types/src/components/BaseRichText.vue.d.ts +92 -92
  96. package/dist/types/src/components/BaseSelect.vue.d.ts +98 -98
  97. package/dist/types/src/components/BaseShortcut.vue.d.ts +86 -86
  98. package/dist/types/src/components/BaseSideNavigation.vue.d.ts +21 -21
  99. package/dist/types/src/components/BaseSideNavigationItem.vue.d.ts +41 -41
  100. package/dist/types/src/components/BaseSkeleton.vue.d.ts +31 -31
  101. package/dist/types/src/components/BaseStatistic.vue.d.ts +56 -56
  102. package/dist/types/src/components/BaseStepper.vue.d.ts +16 -16
  103. package/dist/types/src/components/BaseStepperItem.vue.d.ts +51 -51
  104. package/dist/types/src/components/BaseSwitch.vue.d.ts +87 -87
  105. package/dist/types/src/components/BaseSystemAlert.vue.d.ts +52 -52
  106. package/dist/types/src/components/BaseTabItem.vue.d.ts +41 -41
  107. package/dist/types/src/components/BaseTable.vue.d.ts +212 -212
  108. package/dist/types/src/components/BaseTableColumn.vue.d.ts +174 -174
  109. package/dist/types/src/components/BaseTabs.vue.d.ts +21 -21
  110. package/dist/types/src/components/BaseTagAutocomplete.vue.d.ts +209 -209
  111. package/dist/types/src/components/BaseTagAutocompleteFetch.vue.d.ts +141 -141
  112. package/dist/types/src/components/BaseTextarea.vue.d.ts +103 -103
  113. package/dist/types/src/components/BaseTextareaAutoresize.vue.d.ts +113 -113
  114. package/dist/types/src/components/BaseTimeline.vue.d.ts +14 -14
  115. package/dist/types/src/components/BaseTimelineItem.vue.d.ts +14 -14
  116. package/dist/types/src/components/BaseUniqueCode.vue.d.ts +33 -33
  117. package/dist/types/src/components/SlotComponent.d.ts +43 -43
  118. package/dist/types/src/components/index.d.ts +96 -96
  119. package/dist/types/src/composables/breakpoints.d.ts +27 -27
  120. package/dist/types/src/composables/clickOutside.d.ts +8 -8
  121. package/dist/types/src/composables/field.d.ts +19 -19
  122. package/dist/types/src/composables/hasOptions.d.ts +7 -7
  123. package/dist/types/src/composables/mediaQuery.d.ts +2 -2
  124. package/dist/types/src/composables/modal.d.ts +6 -6
  125. package/dist/types/src/composables/paginatedData.d.ts +7 -7
  126. package/dist/types/src/constants/MyConstants.d.ts +1 -1
  127. package/dist/types/src/constants/index.d.ts +2 -2
  128. package/dist/types/src/i18n/index.d.ts +1 -1
  129. package/dist/types/src/index.d.ts +222 -222
  130. package/dist/types/src/services/gantt/format.d.ts +24 -24
  131. package/dist/types/src/services/gantt/timescale.d.ts +26 -26
  132. package/dist/types/src/services/gantt/types.d.ts +67 -67
  133. package/dist/types/src/stores/dialogs.d.ts +9 -9
  134. package/dist/types/src/stores/i18n.d.ts +5 -5
  135. package/dist/types/src/stores/notifications.d.ts +10 -10
  136. package/dist/types/src/stores/systemAlerts.d.ts +9 -9
  137. package/dist/types/src/svg/BaseEmptyState.vue.d.ts +2 -2
  138. package/dist/types/src/svg/BaseSpinnerLarge.vue.d.ts +2 -2
  139. package/dist/types/src/svg/BaseSpinnerSmall.vue.d.ts +2 -2
  140. package/dist/types/src/types/Color.d.ts +9 -9
  141. package/dist/types/src/types/Country.d.ts +4 -4
  142. package/dist/types/src/types/ImagePickerResult.d.ts +5 -5
  143. package/dist/types/src/types/Media.d.ts +9 -9
  144. package/dist/types/src/types/Notification.d.ts +8 -8
  145. package/dist/types/src/types/Region.d.ts +5 -5
  146. package/dist/types/src/types/Status.d.ts +5 -5
  147. package/dist/types/src/types/StepperItem.d.ts +7 -7
  148. package/dist/types/src/types/TimelineItem.d.ts +8 -8
  149. package/dist/types/src/types/UploadedFile.d.ts +10 -10
  150. package/dist/types/src/types/User.d.ts +6 -6
  151. package/dist/types/src/types/index.d.ts +218 -218
  152. package/dist/types/src/utils/blob.d.ts +3 -3
  153. package/dist/types/src/utils/colors.d.ts +13 -13
  154. package/dist/types/src/utils/cropper/avatar.d.ts +5 -5
  155. package/dist/types/src/utils/cropper/cover.d.ts +5 -5
  156. package/dist/types/src/utils/cropper/presetInterface.d.ts +7 -7
  157. package/dist/types/src/utils/cropper/presets.d.ts +6 -6
  158. package/dist/types/src/utils/fileSizeFormat.d.ts +1 -1
  159. package/dist/types/src/utils/fileValidations.d.ts +2 -2
  160. package/dist/types/src/utils/index.d.ts +6 -6
  161. package/dist/types/src/utils/resizeImageFromURI.d.ts +1 -1
  162. package/dist/types/src/utils/scrollPreventer.d.ts +3 -3
  163. package/dist/types/src/utils/toHumanList.d.ts +1 -1
  164. package/package.json +136 -136
  165. package/src/assets/flatpickr.css +243 -243
  166. package/src/assets/form.css +6 -6
  167. package/src/assets/main.css +36 -36
  168. package/src/assets/tailwind.css +2 -2
  169. package/src/components/BaseActionItem.vue +68 -68
  170. package/src/components/BaseActionItemButton.vue +75 -75
  171. package/src/components/BaseAddressForm.stories.js +103 -103
  172. package/src/components/BaseAddressForm.vue +354 -354
  173. package/src/components/BaseAlert.stories.js +52 -52
  174. package/src/components/BaseAlert.vue +158 -158
  175. package/src/components/BaseApp.vue +16 -16
  176. package/src/components/BaseAppDialogs.vue +124 -124
  177. package/src/components/BaseAppNotifications.vue +76 -76
  178. package/src/components/BaseAutocomplete.stories.js +236 -236
  179. package/src/components/BaseAutocomplete.vue +523 -523
  180. package/src/components/BaseAutocompleteDrawer.vue +372 -372
  181. package/src/components/BaseAutocompleteFetch.stories.js +224 -224
  182. package/src/components/BaseAutocompleteFetch.vue +288 -288
  183. package/src/components/BaseAvatar.stories.js +39 -39
  184. package/src/components/BaseAvatar.vue +120 -120
  185. package/src/components/BaseAvatarGroup.stories.js +71 -71
  186. package/src/components/BaseAvatarGroup.vue +148 -148
  187. package/src/components/BaseBadge.stories.js +124 -124
  188. package/src/components/BaseBadge.vue +78 -78
  189. package/src/components/BaseBelongsTo.stories.js +223 -223
  190. package/src/components/BaseBelongsTo.vue +193 -193
  191. package/src/components/BaseBoolean.stories.js +35 -35
  192. package/src/components/BaseBoolean.vue +26 -26
  193. package/src/components/BaseBreadcrumbs.stories.js +45 -45
  194. package/src/components/BaseBreadcrumbs.vue +104 -104
  195. package/src/components/BaseButton.stories.js +88 -88
  196. package/src/components/BaseButton.vue +46 -46
  197. package/src/components/BaseButtonGroup.stories.js +86 -86
  198. package/src/components/BaseButtonGroup.vue +150 -150
  199. package/src/components/BaseCard.stories.js +61 -61
  200. package/src/components/BaseCard.vue +49 -49
  201. package/src/components/BaseCardRow.vue +34 -34
  202. package/src/components/BaseCharacterCounter.stories.js +30 -30
  203. package/src/components/BaseCharacterCounter.vue +64 -64
  204. package/src/components/BaseClickOutside.vue +37 -37
  205. package/src/components/BaseClipboard.stories.js +31 -31
  206. package/src/components/BaseClipboard.vue +99 -99
  207. package/src/components/BaseColor.stories.js +46 -46
  208. package/src/components/BaseColor.vue +154 -154
  209. package/src/components/BaseContainer.stories.js +34 -34
  210. package/src/components/BaseContainer.vue +50 -50
  211. package/src/components/BaseCounter.stories.js +47 -47
  212. package/src/components/BaseCounter.vue +82 -82
  213. package/src/components/BaseCropper.stories.js +113 -113
  214. package/src/components/BaseCropper.vue +458 -458
  215. package/src/components/BaseCropperModal.stories.js +54 -54
  216. package/src/components/BaseCropperModal.vue +143 -143
  217. package/src/components/BaseDataIterator.stories.js +197 -197
  218. package/src/components/BaseDataIterator.vue +802 -802
  219. package/src/components/BaseDataIteratorSectionBox.vue +36 -36
  220. package/src/components/BaseDataIteratorSectionButton.vue +42 -42
  221. package/src/components/BaseDataIteratorSectionColumns.vue +70 -70
  222. package/src/components/BaseDataIteratorSectionModal.vue +41 -41
  223. package/src/components/BaseDataTable.stories.js +341 -341
  224. package/src/components/BaseDataTable.vue +747 -747
  225. package/src/components/BaseDataTableRowAction.vue +34 -34
  226. package/src/components/BaseDatePicker.stories.js +130 -130
  227. package/src/components/BaseDatePicker.vue +296 -296
  228. package/src/components/BaseDateSelect.stories.js +47 -47
  229. package/src/components/BaseDateSelect.vue +241 -241
  230. package/src/components/BaseDescriptionList.stories.js +35 -35
  231. package/src/components/BaseDescriptionList.vue +13 -13
  232. package/src/components/BaseDescriptionListItem.vue +47 -47
  233. package/src/components/BaseDialog.stories.js +51 -51
  234. package/src/components/BaseDialog.vue +119 -119
  235. package/src/components/BaseDisplayRelativeTime.stories.js +59 -59
  236. package/src/components/BaseDisplayRelativeTime.vue +123 -123
  237. package/src/components/BaseDraggable.vue +71 -71
  238. package/src/components/BaseDropdown.stories.js +210 -210
  239. package/src/components/BaseDropdown.vue +280 -280
  240. package/src/components/BaseDropdownAutocomplete.stories.js +187 -187
  241. package/src/components/BaseDropdownAutocomplete.vue +236 -236
  242. package/src/components/BaseField.vue +112 -112
  243. package/src/components/BaseFieldI18n.stories.js +38 -38
  244. package/src/components/BaseFieldI18n.vue +170 -170
  245. package/src/components/BaseFilePicker.stories.js +78 -78
  246. package/src/components/BaseFilePicker.vue +136 -136
  247. package/src/components/BaseFilePickerCrop.stories.js +134 -134
  248. package/src/components/BaseFilePickerCrop.vue +130 -130
  249. package/src/components/BaseFileUploader.stories.js +84 -84
  250. package/src/components/BaseFileUploader.vue +163 -163
  251. package/src/components/BaseForm.stories.js +46 -46
  252. package/src/components/BaseForm.vue +331 -331
  253. package/src/components/BaseGantt.stories.js +133 -133
  254. package/src/components/BaseGantt.vue +336 -335
  255. package/src/components/BaseHasMany.stories.js +189 -189
  256. package/src/components/BaseHasMany.vue +137 -137
  257. package/src/components/BaseHeader.stories.js +127 -127
  258. package/src/components/BaseHeader.vue +191 -191
  259. package/src/components/BaseIconPicker.stories.js +22 -22
  260. package/src/components/BaseIconPicker.vue +225 -225
  261. package/src/components/BaseInput.stories.js +167 -167
  262. package/src/components/BaseInput.vue +264 -264
  263. package/src/components/BaseInputError.vue +7 -7
  264. package/src/components/BaseInputLabel.stories.js +36 -36
  265. package/src/components/BaseInputLabel.vue +75 -75
  266. package/src/components/BaseInputPercent.stories.js +65 -65
  267. package/src/components/BaseInputPercent.vue +139 -139
  268. package/src/components/BaseLayoutNotificationDropdown.vue +150 -150
  269. package/src/components/BaseLayoutNotificationItem.vue +53 -53
  270. package/src/components/BaseLayoutNotificationItemContent.vue +30 -30
  271. package/src/components/BaseLayoutSidebar.vue +236 -236
  272. package/src/components/BaseLayoutSidebarConfigurable.stories.js +166 -166
  273. package/src/components/BaseLayoutSidebarConfigurable.vue +181 -181
  274. package/src/components/BaseLayoutStacked.vue +52 -52
  275. package/src/components/BaseLayoutStackedConfigurable.stories.js +109 -109
  276. package/src/components/BaseLayoutStackedConfigurable.vue +158 -158
  277. package/src/components/BaseLoadingCover.stories.js +55 -55
  278. package/src/components/BaseLoadingCover.vue +101 -101
  279. package/src/components/BaseMediaGallery.vue +96 -96
  280. package/src/components/BaseMediaGalleryItem.vue +101 -101
  281. package/src/components/BaseMediaItem.stories.js +41 -41
  282. package/src/components/BaseMediaItem.vue +80 -80
  283. package/src/components/BaseMediaLibrary.stories.js +262 -262
  284. package/src/components/BaseMediaLibrary.vue +318 -318
  285. package/src/components/BaseMediaList.vue +68 -68
  286. package/src/components/BaseMediaListItem.vue +181 -181
  287. package/src/components/BaseMediaPictures.vue +64 -64
  288. package/src/components/BaseMediaPicturesItem.vue +100 -100
  289. package/src/components/BaseMediaPreview.stories.js +72 -72
  290. package/src/components/BaseMediaPreview.vue +106 -106
  291. package/src/components/BaseMenu.stories.js +125 -125
  292. package/src/components/BaseMenu.vue +165 -165
  293. package/src/components/BaseMenuItem.vue +118 -118
  294. package/src/components/BaseModalCenter.stories.js +68 -68
  295. package/src/components/BaseModalCenter.vue +134 -134
  296. package/src/components/BaseModalSide.stories.js +55 -55
  297. package/src/components/BaseModalSide.vue +122 -122
  298. package/src/components/BaseNavbar.stories.js +151 -151
  299. package/src/components/BaseNavbar.vue +91 -91
  300. package/src/components/BaseNavbarItem.vue +49 -49
  301. package/src/components/BaseNavbarItemContent.vue +97 -97
  302. package/src/components/BaseNavbarSideItem.vue +114 -114
  303. package/src/components/BaseNavbarSideItemContent.vue +111 -111
  304. package/src/components/BasePagination.stories.js +35 -35
  305. package/src/components/BasePagination.vue +266 -266
  306. package/src/components/BasePanel.stories.js +56 -56
  307. package/src/components/BasePanel.vue +42 -42
  308. package/src/components/BasePassword.stories.js +57 -57
  309. package/src/components/BasePassword.vue +107 -107
  310. package/src/components/BaseProgressCircle.stories.js +27 -27
  311. package/src/components/BaseProgressCircle.vue +80 -80
  312. package/src/components/BaseRadioGroup.stories.js +88 -88
  313. package/src/components/BaseRadioGroup.vue +125 -125
  314. package/src/components/BaseReadMore.stories.js +30 -30
  315. package/src/components/BaseReadMore.vue +73 -73
  316. package/src/components/BaseRichText.stories.js +102 -102
  317. package/src/components/BaseRichText.vue +182 -182
  318. package/src/components/BaseSelect.stories.js +118 -118
  319. package/src/components/BaseSelect.vue +224 -224
  320. package/src/components/BaseShortcut.stories.js +102 -102
  321. package/src/components/BaseShortcut.vue +112 -112
  322. package/src/components/BaseSideNavigation.stories.js +80 -80
  323. package/src/components/BaseSideNavigation.vue +32 -32
  324. package/src/components/BaseSideNavigationItem.vue +95 -95
  325. package/src/components/BaseSkeleton.stories.js +36 -36
  326. package/src/components/BaseSkeleton.vue +40 -40
  327. package/src/components/BaseStatistic.stories.js +51 -51
  328. package/src/components/BaseStatistic.vue +109 -109
  329. package/src/components/BaseStepper.stories.js +94 -94
  330. package/src/components/BaseStepper.vue +72 -72
  331. package/src/components/BaseStepperItem.stories.js +65 -65
  332. package/src/components/BaseStepperItem.vue +149 -149
  333. package/src/components/BaseSwitch.stories.js +130 -130
  334. package/src/components/BaseSwitch.vue +215 -215
  335. package/src/components/BaseSystemAlert.stories.js +63 -63
  336. package/src/components/BaseSystemAlert.vue +89 -89
  337. package/src/components/BaseTabItem.vue +96 -96
  338. package/src/components/BaseTable.vue +890 -890
  339. package/src/components/BaseTableColumn.vue +124 -124
  340. package/src/components/BaseTabs.stories.js +85 -85
  341. package/src/components/BaseTabs.vue +73 -73
  342. package/src/components/BaseTagAutocomplete.stories.js +258 -258
  343. package/src/components/BaseTagAutocomplete.vue +438 -438
  344. package/src/components/BaseTagAutocompleteFetch.stories.js +185 -185
  345. package/src/components/BaseTagAutocompleteFetch.vue +220 -220
  346. package/src/components/BaseTextarea.stories.js +58 -58
  347. package/src/components/BaseTextarea.vue +103 -103
  348. package/src/components/BaseTextareaAutoresize.stories.js +102 -102
  349. package/src/components/BaseTextareaAutoresize.vue +166 -166
  350. package/src/components/BaseTimeline.stories.js +53 -53
  351. package/src/components/BaseTimeline.vue +35 -35
  352. package/src/components/BaseTimelineItem.stories.js +78 -78
  353. package/src/components/BaseTimelineItem.vue +79 -79
  354. package/src/components/BaseUniqueCode.stories.js +36 -36
  355. package/src/components/BaseUniqueCode.vue +183 -209
  356. package/src/components/SlotComponent.ts +37 -37
  357. package/src/components/index.ts +194 -194
  358. package/src/composables/breakpoints.ts +94 -94
  359. package/src/composables/clickOutside.ts +80 -80
  360. package/src/composables/field.ts +117 -117
  361. package/src/composables/hasOptions.ts +68 -68
  362. package/src/composables/mediaQuery.ts +42 -42
  363. package/src/composables/modal.ts +73 -73
  364. package/src/composables/paginatedData.ts +65 -65
  365. package/src/constants/MyConstants.ts +1 -1
  366. package/src/constants/index.ts +5 -5
  367. package/src/env.d.ts +15 -15
  368. package/src/i18n/index.ts +60 -60
  369. package/src/index.ts +111 -111
  370. package/src/services/gantt/format.ts +113 -113
  371. package/src/services/gantt/timescale.ts +242 -242
  372. package/src/services/gantt/types.ts +74 -74
  373. package/src/stores/dialogs.ts +45 -45
  374. package/src/stores/i18n.ts +14 -14
  375. package/src/stores/notifications.ts +47 -47
  376. package/src/stores/systemAlerts.ts +33 -33
  377. package/src/svg/BaseEmptyState.vue +38 -38
  378. package/src/svg/BaseSpinnerLarge.vue +59 -59
  379. package/src/svg/BaseSpinnerSmall.vue +15 -15
  380. package/src/types/Color.ts +9 -9
  381. package/src/types/Country.ts +4 -4
  382. package/src/types/ImagePickerResult.ts +5 -5
  383. package/src/types/Media.ts +10 -10
  384. package/src/types/Notification.ts +10 -10
  385. package/src/types/Region.ts +5 -5
  386. package/src/types/Status.ts +5 -5
  387. package/src/types/StepperItem.ts +8 -8
  388. package/src/types/TimelineItem.ts +8 -8
  389. package/src/types/UploadedFile.ts +11 -11
  390. package/src/types/User.ts +7 -7
  391. package/src/types/index.ts +267 -267
  392. package/src/utils/blob.ts +30 -30
  393. package/src/utils/colors.ts +200 -200
  394. package/src/utils/cropper/avatar.ts +33 -33
  395. package/src/utils/cropper/cover.ts +41 -41
  396. package/src/utils/cropper/presetInterface.ts +16 -16
  397. package/src/utils/cropper/presets.ts +7 -7
  398. package/src/utils/fileSizeFormat.ts +15 -15
  399. package/src/utils/fileValidations.ts +26 -26
  400. package/src/utils/index.ts +16 -16
  401. package/src/utils/resizeImageFromURI.ts +118 -118
  402. package/src/utils/scrollPreventer.ts +11 -11
  403. package/src/utils/toHumanList.ts +20 -20
@@ -1,80 +1,80 @@
1
- <template>
2
- <div class="rounded bg-white shadow">
3
- <div class="relative flex">
4
- <div class="shrink-0">
5
- <BaseMediaPreview
6
- class="h-12 w-12 rounded-l"
7
- :media="media"
8
- />
9
- </div>
10
- <component
11
- :is="url ? 'a' : 'p'"
12
- :href="url"
13
- target="_blank"
14
- class="flex grow items-center overflow-hidden px-3"
15
- >
16
- <div class="overflow-hidden text-left leading-tight">
17
- <p class="mb-px grow truncate text-[13px] font-medium">
18
- {{ name }}
19
- </p>
20
- <p class="shrink-0 text-[10px] text-slate-400">
21
- {{ size }}
22
- </p>
23
- </div>
24
- </component>
25
- <div
26
- v-if="showRemove"
27
- class="shrink-0 p-0.5"
28
- >
29
- <button
30
- type="button"
31
- class="rounded-full bg-white p-1 text-slate-400 hover:bg-slate-100"
32
- @click="$emit('remove')"
33
- >
34
- <BaseIcon
35
- icon="heroicons:x-mark-20-solid"
36
- class="h-4 w-4"
37
- />
38
- </button>
39
- </div>
40
- </div>
41
- </div>
42
- </template>
43
-
44
- <script lang="ts" setup>
45
- import { Media } from '@/types/Media';
46
- import { UploadedFile } from '@/types/UploadedFile';
47
- import { PropType } from 'vue';
48
- import { fileSizeFormat } from '@/utils';
49
- import BaseMediaPreview from './BaseMediaPreview.vue';
50
- import { Icon as BaseIcon } from '@iconify/vue';
51
-
52
- defineEmits(['remove']);
53
-
54
- const props = defineProps({
55
- media: {
56
- required: true,
57
- type: Object as PropType<Media | UploadedFile>,
58
- },
59
- showRemove: {
60
- default: true,
61
- type: Boolean,
62
- },
63
- });
64
-
65
- const name = computed(() => {
66
- return props.media.file_name;
67
- });
68
-
69
- const size = computed(() => {
70
- return fileSizeFormat(props.media.size);
71
- });
72
-
73
- const url = computed(() => {
74
- if ('url' in props.media) {
75
- return props.media.url;
76
- }
77
-
78
- return null;
79
- });
80
- </script>
1
+ <template>
2
+ <div class="rounded bg-white shadow">
3
+ <div class="relative flex">
4
+ <div class="shrink-0">
5
+ <BaseMediaPreview
6
+ class="h-12 w-12 rounded-l"
7
+ :media="media"
8
+ />
9
+ </div>
10
+ <component
11
+ :is="url ? 'a' : 'p'"
12
+ :href="url"
13
+ target="_blank"
14
+ class="flex grow items-center overflow-hidden px-3"
15
+ >
16
+ <div class="overflow-hidden text-left leading-tight">
17
+ <p class="mb-px grow truncate text-[13px] font-medium">
18
+ {{ name }}
19
+ </p>
20
+ <p class="shrink-0 text-[10px] text-slate-400">
21
+ {{ size }}
22
+ </p>
23
+ </div>
24
+ </component>
25
+ <div
26
+ v-if="showRemove"
27
+ class="shrink-0 p-0.5"
28
+ >
29
+ <button
30
+ type="button"
31
+ class="rounded-full bg-white p-1 text-slate-400 hover:bg-slate-100"
32
+ @click="$emit('remove')"
33
+ >
34
+ <BaseIcon
35
+ icon="heroicons:x-mark-20-solid"
36
+ class="h-4 w-4"
37
+ />
38
+ </button>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </template>
43
+
44
+ <script lang="ts" setup>
45
+ import { Media } from '@/types/Media';
46
+ import { UploadedFile } from '@/types/UploadedFile';
47
+ import { PropType } from 'vue';
48
+ import { fileSizeFormat } from '@/utils';
49
+ import BaseMediaPreview from './BaseMediaPreview.vue';
50
+ import { Icon as BaseIcon } from '@iconify/vue';
51
+
52
+ defineEmits(['remove']);
53
+
54
+ const props = defineProps({
55
+ media: {
56
+ required: true,
57
+ type: Object as PropType<Media | UploadedFile>,
58
+ },
59
+ showRemove: {
60
+ default: true,
61
+ type: Boolean,
62
+ },
63
+ });
64
+
65
+ const name = computed(() => {
66
+ return props.media.file_name;
67
+ });
68
+
69
+ const size = computed(() => {
70
+ return fileSizeFormat(props.media.size);
71
+ });
72
+
73
+ const url = computed(() => {
74
+ if ('url' in props.media) {
75
+ return props.media.url;
76
+ }
77
+
78
+ return null;
79
+ });
80
+ </script>
@@ -1,262 +1,262 @@
1
- import BaseApp from './BaseApp.vue';
2
- import BaseMediaLibrary from './BaseMediaLibrary.vue';
3
- import { BaseIcon } from '../components';
4
- import ShowValue from '../../.storybook/components/ShowValue.vue';
5
- import { createFieldStory } from '@/../.storybook/utils';
6
-
7
- const mediaModel = {
8
- id: 'xxxxx',
9
- name: 'picture0-1-2dfjjje-23refg-45t',
10
- file_name: 'picture0-1-2dfjjje-23refg-45t.jpg',
11
- mime_type: 'image/jpg',
12
- url: 'https://images.unsplash.com/photo-1670139018938-af8bf748a1bc?auto=format&fit=crop&w=1200&h=800&q=80',
13
- size: 430 * 1024,
14
- };
15
-
16
- const mediaModel2 = {
17
- id: 'yyyyy',
18
- name: 'photo-1678729465418-ee8127e8c5cd',
19
- file_name: 'photo-1678729465418-ee8127e8c5cd.jpg',
20
- mime_type: 'image/jpg',
21
- url: 'https://images.unsplash.com/photo-1678729465418-ee8127e8c5cd?auto=format&fit=crop&w=800&q=80',
22
- size: 430 * 1024,
23
- };
24
-
25
- export default {
26
- title: 'Form/BaseMediaLibrary',
27
- component: BaseMediaLibrary,
28
- args: {
29
- max: null,
30
- min: 2,
31
- acceptedExtensions: ['jpg', 'jpeg', 'png', 'webp'],
32
- uploadUrl: 'https://faker.witify.io/api/todos/upload',
33
- },
34
- };
35
-
36
- const Template = (args) => ({
37
- components: {
38
- BaseApp,
39
- BaseMediaLibrary,
40
- ShowValue,
41
- },
42
- setup() {
43
- const value = ref([
44
- mediaModel,
45
- mediaModel2,
46
- {
47
- id: '1',
48
- url: '',
49
- mime_type: 'application/pdf',
50
- name: 'document',
51
- file_name: 'document.pdf',
52
- size: 40012,
53
- },
54
- {
55
- id: '2',
56
- url: '',
57
- mime_type: 'application/excel',
58
- name: 'finance-2022',
59
- file_name: 'finance-2022.xlsx',
60
- size: 5461,
61
- },
62
- {
63
- id: '3',
64
- url: '',
65
- mime_type: 'image/png',
66
- name: '34345-1',
67
- file_name: '34345-1.png',
68
- size: 40012,
69
- },
70
- {
71
- id: '4',
72
- url: '',
73
- mime_type: 'audio/mp3',
74
- name: 'test',
75
- file_name: 'test.mp3',
76
- size: 792834,
77
- },
78
- ]);
79
- return { args, value };
80
- },
81
- template: `
82
- <BaseMediaLibrary v-model="value" v-bind="args" />
83
- <ShowValue :value="value" />
84
- <BaseApp></BaseApp>
85
- `,
86
- });
87
-
88
- // Layout - Gallery
89
-
90
- export const LayoutGallery = Template.bind({});
91
- LayoutGallery.args = {
92
- layout: 'gallery',
93
- };
94
-
95
- export const LayoutGalleryDisabled = Template.bind({});
96
- LayoutGalleryDisabled.args = {
97
- layout: 'gallery',
98
- disabled: true,
99
- };
100
-
101
- export const LayoutGalleryDraggable = Template.bind({});
102
- LayoutGalleryDraggable.args = {
103
- layout: 'gallery',
104
- draggable: true,
105
- };
106
-
107
- export const LayoutGalleryDraggableDisabled = Template.bind({});
108
- LayoutGalleryDraggableDisabled.args = {
109
- layout: 'gallery',
110
- disabled: true,
111
- draggable: true,
112
- };
113
-
114
- // Layout - List
115
-
116
- export const LayoutList = Template.bind({});
117
- LayoutList.args = {
118
- layout: 'list',
119
- };
120
-
121
- export const LayoutListDisabled = Template.bind({});
122
- LayoutListDisabled.args = {
123
- layout: 'list',
124
- disabled: true,
125
- };
126
-
127
- export const LayoutListDraggable = Template.bind({});
128
- LayoutListDraggable.args = {
129
- layout: 'list',
130
- draggable: true,
131
- };
132
-
133
- export const LayoutListDraggableDisabled = Template.bind({});
134
- LayoutListDraggableDisabled.args = {
135
- layout: 'list',
136
- disabled: true,
137
- draggable: true,
138
- };
139
-
140
- // Layout - Images
141
-
142
- export const LayoutImages = Template.bind({});
143
- LayoutImages.args = {
144
- pickerComponent: 'BaseFilePickerCrop',
145
- layout: 'images',
146
- };
147
-
148
- export const LayoutImagesDisabled = Template.bind({});
149
- LayoutImagesDisabled.args = {
150
- pickerComponent: 'BaseFilePickerCrop',
151
- layout: 'images',
152
- disabled: true,
153
- };
154
-
155
- export const LayoutImagesDraggable = Template.bind({});
156
- LayoutImagesDraggable.args = {
157
- pickerComponent: 'BaseFilePickerCrop',
158
- layout: 'images',
159
- draggable: true,
160
- };
161
-
162
- export const LayoutImagesDraggableDisabled = Template.bind({});
163
- LayoutImagesDraggableDisabled.args = {
164
- pickerComponent: 'BaseFilePickerCrop',
165
- layout: 'images',
166
- disabled: true,
167
- draggable: true,
168
- };
169
-
170
- export const Crop = Template.bind({});
171
- Crop.args = {
172
- pickerComponent: 'BaseFilePickerCrop',
173
- cropper: {
174
- config: {
175
- maxWidth: 300,
176
- },
177
- preset: 'avatar',
178
- presetOptions: {
179
- size: 300,
180
- },
181
- },
182
- };
183
-
184
- export const MaxSize = Template.bind({});
185
- MaxSize.args = {
186
- maxSize: 10 * 1024,
187
- };
188
-
189
- export const Field = createFieldStory({
190
- component: BaseMediaLibrary,
191
- componentName: 'BaseMediaLibrary',
192
- });
193
-
194
- // Slots
195
-
196
- const SlotDefaultTemplate = (args) => ({
197
- components: {
198
- BaseApp,
199
- BaseMediaLibrary,
200
- ShowValue,
201
- },
202
- setup() {
203
- const value = ref([mediaModel, mediaModel2]);
204
- return { args, value };
205
- },
206
- template: `
207
- <BaseMediaLibrary v-model="value" v-bind="args">
208
- <template #default>
209
- <div class="btn btn-lg w-full">
210
- Upload!
211
- </div>
212
- </template>
213
- </BaseMediaLibrary>
214
-
215
- <ShowValue :value="value" />
216
- <BaseApp></BaseApp>
217
- `,
218
- });
219
-
220
- export const SlotDefault = SlotDefaultTemplate.bind({});
221
- SlotDefault.args = {};
222
-
223
- const SlotListTemplate = (args) => ({
224
- components: {
225
- BaseApp,
226
- BaseMediaLibrary,
227
- ShowValue,
228
- },
229
- setup() {
230
- const value = ref([mediaModel, mediaModel2]);
231
- return { args, value };
232
- },
233
- template: `
234
- <BaseMediaLibrary v-model="value" v-bind="args">
235
- <template #list="{ modelValue, remove }">
236
- <div v-for="(item, i) in modelValue" :key="item.id" class="mb-3">
237
- <div class="flex items-center">
238
- <div class="w-12 h-12 mr-4">
239
- <img :src="item.url" class="w-full h-full object-cover" />
240
- </div>
241
- <div class="flex-1">
242
- <div class="text-sm font-semibold">{{ item.name }}</div>
243
- <div class="text-xs text-gray-500">{{ item.file_name }}</div>
244
- </div>
245
- <div class="flex items-center">
246
- <div class="text-xs text-gray-500 mr-2">{{ item.size }}</div>
247
- <div class="text-xs text-gray-500 mr-2">{{ item.mime_type }}</div>
248
- </div>
249
- </div>
250
-
251
- <button type="button" @click="remove(i)" class="text-xs text-red-500">Remove</button>
252
- </div>
253
- </template>
254
- </BaseMediaLibrary>
255
-
256
- <ShowValue :value="value" />
257
- <BaseApp></BaseApp>
258
- `,
259
- });
260
-
261
- export const SlotList = SlotListTemplate.bind({});
262
- SlotList.args = {};
1
+ import BaseApp from './BaseApp.vue';
2
+ import BaseMediaLibrary from './BaseMediaLibrary.vue';
3
+ import { BaseIcon } from '../components';
4
+ import ShowValue from '../../.storybook/components/ShowValue.vue';
5
+ import { createFieldStory } from '@/../.storybook/utils';
6
+
7
+ const mediaModel = {
8
+ id: 'xxxxx',
9
+ name: 'picture0-1-2dfjjje-23refg-45t',
10
+ file_name: 'picture0-1-2dfjjje-23refg-45t.jpg',
11
+ mime_type: 'image/jpg',
12
+ url: 'https://images.unsplash.com/photo-1670139018938-af8bf748a1bc?auto=format&fit=crop&w=1200&h=800&q=80',
13
+ size: 430 * 1024,
14
+ };
15
+
16
+ const mediaModel2 = {
17
+ id: 'yyyyy',
18
+ name: 'photo-1678729465418-ee8127e8c5cd',
19
+ file_name: 'photo-1678729465418-ee8127e8c5cd.jpg',
20
+ mime_type: 'image/jpg',
21
+ url: 'https://images.unsplash.com/photo-1678729465418-ee8127e8c5cd?auto=format&fit=crop&w=800&q=80',
22
+ size: 430 * 1024,
23
+ };
24
+
25
+ export default {
26
+ title: 'Form/BaseMediaLibrary',
27
+ component: BaseMediaLibrary,
28
+ args: {
29
+ max: null,
30
+ min: 2,
31
+ acceptedExtensions: ['jpg', 'jpeg', 'png', 'webp'],
32
+ uploadUrl: 'https://faker.witify.io/api/todos/upload',
33
+ },
34
+ };
35
+
36
+ const Template = (args) => ({
37
+ components: {
38
+ BaseApp,
39
+ BaseMediaLibrary,
40
+ ShowValue,
41
+ },
42
+ setup() {
43
+ const value = ref([
44
+ mediaModel,
45
+ mediaModel2,
46
+ {
47
+ id: '1',
48
+ url: '',
49
+ mime_type: 'application/pdf',
50
+ name: 'document',
51
+ file_name: 'document.pdf',
52
+ size: 40012,
53
+ },
54
+ {
55
+ id: '2',
56
+ url: '',
57
+ mime_type: 'application/excel',
58
+ name: 'finance-2022',
59
+ file_name: 'finance-2022.xlsx',
60
+ size: 5461,
61
+ },
62
+ {
63
+ id: '3',
64
+ url: '',
65
+ mime_type: 'image/png',
66
+ name: '34345-1',
67
+ file_name: '34345-1.png',
68
+ size: 40012,
69
+ },
70
+ {
71
+ id: '4',
72
+ url: '',
73
+ mime_type: 'audio/mp3',
74
+ name: 'test',
75
+ file_name: 'test.mp3',
76
+ size: 792834,
77
+ },
78
+ ]);
79
+ return { args, value };
80
+ },
81
+ template: `
82
+ <BaseMediaLibrary v-model="value" v-bind="args" />
83
+ <ShowValue :value="value" />
84
+ <BaseApp></BaseApp>
85
+ `,
86
+ });
87
+
88
+ // Layout - Gallery
89
+
90
+ export const LayoutGallery = Template.bind({});
91
+ LayoutGallery.args = {
92
+ layout: 'gallery',
93
+ };
94
+
95
+ export const LayoutGalleryDisabled = Template.bind({});
96
+ LayoutGalleryDisabled.args = {
97
+ layout: 'gallery',
98
+ disabled: true,
99
+ };
100
+
101
+ export const LayoutGalleryDraggable = Template.bind({});
102
+ LayoutGalleryDraggable.args = {
103
+ layout: 'gallery',
104
+ draggable: true,
105
+ };
106
+
107
+ export const LayoutGalleryDraggableDisabled = Template.bind({});
108
+ LayoutGalleryDraggableDisabled.args = {
109
+ layout: 'gallery',
110
+ disabled: true,
111
+ draggable: true,
112
+ };
113
+
114
+ // Layout - List
115
+
116
+ export const LayoutList = Template.bind({});
117
+ LayoutList.args = {
118
+ layout: 'list',
119
+ };
120
+
121
+ export const LayoutListDisabled = Template.bind({});
122
+ LayoutListDisabled.args = {
123
+ layout: 'list',
124
+ disabled: true,
125
+ };
126
+
127
+ export const LayoutListDraggable = Template.bind({});
128
+ LayoutListDraggable.args = {
129
+ layout: 'list',
130
+ draggable: true,
131
+ };
132
+
133
+ export const LayoutListDraggableDisabled = Template.bind({});
134
+ LayoutListDraggableDisabled.args = {
135
+ layout: 'list',
136
+ disabled: true,
137
+ draggable: true,
138
+ };
139
+
140
+ // Layout - Images
141
+
142
+ export const LayoutImages = Template.bind({});
143
+ LayoutImages.args = {
144
+ pickerComponent: 'BaseFilePickerCrop',
145
+ layout: 'images',
146
+ };
147
+
148
+ export const LayoutImagesDisabled = Template.bind({});
149
+ LayoutImagesDisabled.args = {
150
+ pickerComponent: 'BaseFilePickerCrop',
151
+ layout: 'images',
152
+ disabled: true,
153
+ };
154
+
155
+ export const LayoutImagesDraggable = Template.bind({});
156
+ LayoutImagesDraggable.args = {
157
+ pickerComponent: 'BaseFilePickerCrop',
158
+ layout: 'images',
159
+ draggable: true,
160
+ };
161
+
162
+ export const LayoutImagesDraggableDisabled = Template.bind({});
163
+ LayoutImagesDraggableDisabled.args = {
164
+ pickerComponent: 'BaseFilePickerCrop',
165
+ layout: 'images',
166
+ disabled: true,
167
+ draggable: true,
168
+ };
169
+
170
+ export const Crop = Template.bind({});
171
+ Crop.args = {
172
+ pickerComponent: 'BaseFilePickerCrop',
173
+ cropper: {
174
+ config: {
175
+ maxWidth: 300,
176
+ },
177
+ preset: 'avatar',
178
+ presetOptions: {
179
+ size: 300,
180
+ },
181
+ },
182
+ };
183
+
184
+ export const MaxSize = Template.bind({});
185
+ MaxSize.args = {
186
+ maxSize: 10 * 1024,
187
+ };
188
+
189
+ export const Field = createFieldStory({
190
+ component: BaseMediaLibrary,
191
+ componentName: 'BaseMediaLibrary',
192
+ });
193
+
194
+ // Slots
195
+
196
+ const SlotDefaultTemplate = (args) => ({
197
+ components: {
198
+ BaseApp,
199
+ BaseMediaLibrary,
200
+ ShowValue,
201
+ },
202
+ setup() {
203
+ const value = ref([mediaModel, mediaModel2]);
204
+ return { args, value };
205
+ },
206
+ template: `
207
+ <BaseMediaLibrary v-model="value" v-bind="args">
208
+ <template #default>
209
+ <div class="btn btn-lg w-full">
210
+ Upload!
211
+ </div>
212
+ </template>
213
+ </BaseMediaLibrary>
214
+
215
+ <ShowValue :value="value" />
216
+ <BaseApp></BaseApp>
217
+ `,
218
+ });
219
+
220
+ export const SlotDefault = SlotDefaultTemplate.bind({});
221
+ SlotDefault.args = {};
222
+
223
+ const SlotListTemplate = (args) => ({
224
+ components: {
225
+ BaseApp,
226
+ BaseMediaLibrary,
227
+ ShowValue,
228
+ },
229
+ setup() {
230
+ const value = ref([mediaModel, mediaModel2]);
231
+ return { args, value };
232
+ },
233
+ template: `
234
+ <BaseMediaLibrary v-model="value" v-bind="args">
235
+ <template #list="{ modelValue, remove }">
236
+ <div v-for="(item, i) in modelValue" :key="item.id" class="mb-3">
237
+ <div class="flex items-center">
238
+ <div class="w-12 h-12 mr-4">
239
+ <img :src="item.url" class="w-full h-full object-cover" />
240
+ </div>
241
+ <div class="flex-1">
242
+ <div class="text-sm font-semibold">{{ item.name }}</div>
243
+ <div class="text-xs text-gray-500">{{ item.file_name }}</div>
244
+ </div>
245
+ <div class="flex items-center">
246
+ <div class="text-xs text-gray-500 mr-2">{{ item.size }}</div>
247
+ <div class="text-xs text-gray-500 mr-2">{{ item.mime_type }}</div>
248
+ </div>
249
+ </div>
250
+
251
+ <button type="button" @click="remove(i)" class="text-xs text-red-500">Remove</button>
252
+ </div>
253
+ </template>
254
+ </BaseMediaLibrary>
255
+
256
+ <ShowValue :value="value" />
257
+ <BaseApp></BaseApp>
258
+ `,
259
+ });
260
+
261
+ export const SlotList = SlotListTemplate.bind({});
262
+ SlotList.args = {};