sprintify-ui 0.2.17 → 0.2.19

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 (405) hide show
  1. package/README.md +244 -244
  2. package/dist/sprintify-ui.es.js +1563 -1542
  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 +72 -63
  52. package/dist/types/src/components/BaseFilePickerCrop.vue.d.ts +63 -63
  53. package/dist/types/src/components/BaseFileUploader.vue.d.ts +144 -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 +199 -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 +83 -78
  246. package/src/components/BaseFilePicker.vue +166 -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 +89 -84
  250. package/src/components/BaseFileUploader.vue +174 -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 -336
  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 +268 -262
  284. package/src/components/BaseMediaLibrary.vue +323 -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/lang/en.json +88 -88
  371. package/src/lang/fr.json +88 -88
  372. package/src/services/gantt/format.ts +113 -113
  373. package/src/services/gantt/timescale.ts +242 -242
  374. package/src/services/gantt/types.ts +74 -74
  375. package/src/stores/dialogs.ts +45 -45
  376. package/src/stores/i18n.ts +14 -14
  377. package/src/stores/notifications.ts +47 -47
  378. package/src/stores/systemAlerts.ts +33 -33
  379. package/src/svg/BaseEmptyState.vue +38 -38
  380. package/src/svg/BaseSpinnerLarge.vue +59 -59
  381. package/src/svg/BaseSpinnerSmall.vue +15 -15
  382. package/src/types/Color.ts +9 -9
  383. package/src/types/Country.ts +4 -4
  384. package/src/types/ImagePickerResult.ts +5 -5
  385. package/src/types/Media.ts +10 -10
  386. package/src/types/Notification.ts +10 -10
  387. package/src/types/Region.ts +5 -5
  388. package/src/types/Status.ts +5 -5
  389. package/src/types/StepperItem.ts +8 -8
  390. package/src/types/TimelineItem.ts +8 -8
  391. package/src/types/UploadedFile.ts +11 -11
  392. package/src/types/User.ts +7 -7
  393. package/src/types/index.ts +267 -267
  394. package/src/utils/blob.ts +30 -30
  395. package/src/utils/colors.ts +200 -200
  396. package/src/utils/cropper/avatar.ts +33 -33
  397. package/src/utils/cropper/cover.ts +41 -41
  398. package/src/utils/cropper/presetInterface.ts +16 -16
  399. package/src/utils/cropper/presets.ts +7 -7
  400. package/src/utils/fileSizeFormat.ts +15 -15
  401. package/src/utils/fileValidations.ts +26 -26
  402. package/src/utils/index.ts +16 -16
  403. package/src/utils/resizeImageFromURI.ts +118 -118
  404. package/src/utils/scrollPreventer.ts +11 -11
  405. package/src/utils/toHumanList.ts +20 -20
@@ -1,84 +1,89 @@
1
- import BaseFileUploader from '@/components/BaseFileUploader.vue';
2
- import BaseLoadingCover from '@/components/BaseLoadingCover.vue';
3
- import BaseAppNotifications from '@/components/BaseAppNotifications.vue';
4
- import { Icon as BaseIcon } from '@iconify/vue';
5
-
6
- export default {
7
- title: 'Form/BaseFileUploader',
8
- component: BaseFileUploader,
9
- args: {
10
- twButton: 'w-full',
11
- acceptedExtensions: ['jpg', 'png'],
12
- maxSize: 1024 * 200, // 200kb
13
- url: 'https://dummyjson.com/posts/add',
14
- },
15
- };
16
-
17
- const Template = (args) => ({
18
- components: {
19
- BaseFileUploader,
20
- BaseIcon,
21
- BaseLoadingCover,
22
- BaseAppNotifications,
23
- },
24
- setup() {
25
- return { args };
26
- },
27
- template: `
28
- <BaseFileUploader v-bind="args">
29
- <template #default="{ dragging, disabled, uploading, selecting }">
30
- <div
31
- class="flex w-full items-center space-x-4 rounded-lg border-2 border-dashed border-slate-200 p-5 duration-100"
32
- :class="[
33
- dragging ? 'bg-slate-100' : 'bg-white',
34
- disabled ? 'bg-slate-100 cursor-not-allowed opacity-50' : 'hover:bg-slate-50',
35
- ]"
36
- >
37
- <div class="rounded-full bg-slate-200 p-2">
38
- <BaseIcon
39
- icon="heroicons:arrow-up-on-square"
40
- class="h-6 w-6"
41
- />
42
- </div>
43
- <div class="text-left">
44
- <p class="mb-0 text-sm font-medium leading-tight">
45
- {{ $t("sui.drop_or_click_to_upload") }}
46
- </p>
47
- <p class="text-sm text-slate-500 mt-1">Max 200kb</p>
48
- <p class="text-sm text-slate-500">.jpg, .png</p>
49
- </div>
50
- </div>
51
- </template>
52
- <template #loading="{ dragging, disabled, uploading, selecting }">
53
- <BaseLoadingCover
54
- :model-value="args.loading || uploading || selecting"
55
- :delay="0"
56
- tw-icon="text-red-600 w-6 h-6"
57
- tw-backdrop="bg-white opacity-60"
58
- />
59
- </template>
60
- </BaseFileUploader>
61
- <BaseAppNotifications></BaseAppNotifications>
62
- `,
63
- });
64
-
65
- export const Demo = Template.bind({});
66
- Demo.args = {};
67
-
68
- export const ImagePicker = Template.bind({});
69
- ImagePicker.args = {
70
- component: 'BaseFilePickerCrop',
71
- cropper: {
72
- preset: 'avatar',
73
- },
74
- };
75
-
76
- export const Disabled = Template.bind({});
77
- Disabled.args = {
78
- disabled: true,
79
- };
80
-
81
- export const Loading = Template.bind({});
82
- Loading.args = {
83
- loading: true,
84
- };
1
+ import BaseFileUploader from '@/components/BaseFileUploader.vue';
2
+ import BaseLoadingCover from '@/components/BaseLoadingCover.vue';
3
+ import BaseAppNotifications from '@/components/BaseAppNotifications.vue';
4
+ import { Icon as BaseIcon } from '@iconify/vue';
5
+
6
+ export default {
7
+ title: 'Form/BaseFileUploader',
8
+ component: BaseFileUploader,
9
+ args: {
10
+ twButton: 'w-full',
11
+ acceptedExtensions: ['jpg', 'png'],
12
+ maxSize: 1024 * 1024 * 20, // 20MB
13
+ url: 'https://faker.witify.io/api/todos/upload',
14
+ },
15
+ };
16
+
17
+ const Template = (args) => ({
18
+ components: {
19
+ BaseFileUploader,
20
+ BaseIcon,
21
+ BaseLoadingCover,
22
+ BaseAppNotifications,
23
+ },
24
+ setup() {
25
+ return { args };
26
+ },
27
+ template: `
28
+ <BaseFileUploader v-bind="args">
29
+ <template #default="{ dragging, disabled, uploading, selecting }">
30
+ <div
31
+ class="flex w-full items-center space-x-4 rounded-lg border-2 border-dashed border-slate-200 p-5 duration-100"
32
+ :class="[
33
+ dragging ? 'bg-slate-100' : 'bg-white',
34
+ disabled ? 'bg-slate-100 cursor-not-allowed opacity-50' : 'hover:bg-slate-50',
35
+ ]"
36
+ >
37
+ <div class="rounded-full bg-slate-200 p-2">
38
+ <BaseIcon
39
+ icon="heroicons:arrow-up-on-square"
40
+ class="h-6 w-6"
41
+ />
42
+ </div>
43
+ <div class="text-left">
44
+ <p class="mb-0 text-sm font-medium leading-tight">
45
+ {{ $t("sui.drop_or_click_to_upload") }}
46
+ </p>
47
+ <p class="text-sm text-slate-500 mt-1">Max 200kb</p>
48
+ <p class="text-sm text-slate-500">.jpg, .png</p>
49
+ </div>
50
+ </div>
51
+ </template>
52
+ <template #loading="{ dragging, disabled, uploading, selecting }">
53
+ <BaseLoadingCover
54
+ :model-value="args.loading || uploading || selecting"
55
+ :delay="0"
56
+ tw-icon="text-red-600 w-6 h-6"
57
+ tw-backdrop="bg-white opacity-60"
58
+ />
59
+ </template>
60
+ </BaseFileUploader>
61
+ <BaseAppNotifications></BaseAppNotifications>
62
+ `,
63
+ });
64
+
65
+ export const Demo = Template.bind({});
66
+ Demo.args = {};
67
+
68
+ export const ImagePicker = Template.bind({});
69
+ ImagePicker.args = {
70
+ component: 'BaseFilePickerCrop',
71
+ cropper: {
72
+ preset: 'avatar',
73
+ },
74
+ };
75
+
76
+ export const Multiple = Template.bind({});
77
+ Multiple.args = {
78
+ multiple: true,
79
+ };
80
+
81
+ export const Disabled = Template.bind({});
82
+ Disabled.args = {
83
+ disabled: true,
84
+ };
85
+
86
+ export const Loading = Template.bind({});
87
+ Loading.args = {
88
+ loading: true,
89
+ };
@@ -1,163 +1,174 @@
1
- <template>
2
- <div class="relative">
3
- <component
4
- :is="componentInternal"
5
- v-bind="pickerProps"
6
- @select="onFileSelect"
7
- >
8
- <template #default="slotProps">
9
- <slot
10
- name="default"
11
- :uploading="uploading"
12
- :loading="loading"
13
- v-bind="slotProps"
14
- />
15
- <slot
16
- name="loading"
17
- :uploading="uploading"
18
- :loading="loading"
19
- v-bind="slotProps"
20
- >
21
- <BaseLoadingCover
22
- :delay="0"
23
- tw-icon="w-6 h-6 text-primary-600"
24
- :model-value="loading || uploading || slotProps.selecting"
25
- />
26
- </slot>
27
- </template>
28
- </component>
29
- </div>
30
- </template>
31
-
32
- <script lang="ts" setup>
33
- import { config } from '@/index';
34
- import { UploadedFile } from '@/types/UploadedFile';
35
- import { useNotificationsStore } from '@/stores/notifications';
36
- import BaseLoadingCover from '@/components/BaseLoadingCover.vue';
37
- import { BaseCropperConfig } from '@/types';
38
- import BaseFilePicker from './BaseFilePicker.vue';
39
- import BaseFilePickerCrop from './BaseFilePickerCrop.vue';
40
- import { t } from '@/i18n';
41
-
42
- const http = config.http;
43
- const notifications = useNotificationsStore();
44
-
45
- const props = withDefaults(
46
- defineProps<{
47
- component?: 'BaseFilePicker' | 'BaseFilePickerCrop';
48
- url?: string;
49
- disabled?: boolean;
50
- loading?: boolean;
51
- beforeUpload?: () => boolean;
52
- twButton?: string;
53
- maxSize?: number;
54
- accept?: string;
55
- acceptedExtensions?: string[];
56
- cropper?: BaseCropperConfig | Record<string, any> | boolean | null;
57
- }>(),
58
- {
59
- component: 'BaseFilePicker',
60
- url: undefined,
61
- disabled: false,
62
- loading: false,
63
- beforeUpload: (): boolean => {
64
- return true;
65
- },
66
- twButton: '',
67
- maxSize: undefined,
68
- accept: undefined,
69
- acceptedExtensions: undefined,
70
- cropper: true,
71
- }
72
- );
73
-
74
- const emit = defineEmits([
75
- 'upload:start',
76
- 'upload:success',
77
- 'upload:fail',
78
- 'upload:end',
79
- ]);
80
-
81
- const componentInternal = computed(() => {
82
- if (props.component == 'BaseFilePickerCrop') {
83
- return BaseFilePickerCrop;
84
- }
85
- return BaseFilePicker;
86
- });
87
-
88
- const pickerProps = computed(() => {
89
- const pickerProps = {
90
- disabled: props.disabled || props.loading || uploading.value,
91
- twButton: props.twButton,
92
- maxSize: props.maxSize,
93
- accept: props.component == 'BaseFilePickerCrop' ? undefined : props.accept,
94
- acceptedExtensions: props.acceptedExtensions,
95
- } as Record<string, any>;
96
-
97
- if (props.component == 'BaseFilePickerCrop') {
98
- pickerProps.cropper = props.cropper;
99
- }
100
-
101
- return pickerProps;
102
- });
103
-
104
- const uploading = ref(false);
105
-
106
- async function onFileSelect(file: File) {
107
- if (uploading.value) {
108
- return;
109
- }
110
-
111
- uploading.value = true;
112
-
113
- if (!(await props.beforeUpload())) {
114
- uploading.value = false;
115
- return;
116
- }
117
-
118
- try {
119
- const formData = new FormData();
120
-
121
- formData.append('file', file);
122
-
123
- emit('upload:start');
124
-
125
- const response = await http.post(props.url ?? config.upload_url, formData);
126
-
127
- const payload = response.data as UploadedFile;
128
- payload.original_file = file;
129
-
130
- const reader = new FileReader();
131
-
132
- reader.onload = (e: any) => {
133
- payload.data_url = e.target.result;
134
- onSuccess(payload);
135
- };
136
-
137
- reader.onerror = (e: any) => {
138
- onSuccess(payload);
139
- };
140
-
141
- if (payload.mime_type.includes('image')) {
142
- reader.readAsDataURL(file);
143
- } else {
144
- onSuccess(payload);
145
- }
146
- } catch (e: unknown) {
147
- console.error(e);
148
- emit('upload:fail');
149
- notifications.push({
150
- color: 'danger',
151
- title: t('sui.error'),
152
- text: t('sui.upload_failed'),
153
- });
154
- } finally {
155
- emit('upload:end');
156
- uploading.value = false;
157
- }
158
- }
159
-
160
- function onSuccess(payload: any) {
161
- emit('upload:success', payload);
162
- }
163
- </script>
1
+ <template>
2
+ <div class="relative">
3
+ <component
4
+ :is="componentInternal"
5
+ v-bind="pickerProps"
6
+ @select="onFileSelect"
7
+ >
8
+ <template #default="slotProps">
9
+ <slot
10
+ name="default"
11
+ :uploading="uploading"
12
+ :loading="loading"
13
+ v-bind="slotProps"
14
+ />
15
+ <slot
16
+ name="loading"
17
+ :uploading="uploading"
18
+ :loading="loading"
19
+ v-bind="slotProps"
20
+ >
21
+ <BaseLoadingCover
22
+ :delay="0"
23
+ tw-icon="w-6 h-6 text-primary-600"
24
+ :model-value="loading || uploading || slotProps.selecting"
25
+ />
26
+ </slot>
27
+ </template>
28
+ </component>
29
+ </div>
30
+ </template>
31
+
32
+ <script lang="ts" setup>
33
+ import { config } from '@/index';
34
+ import { UploadedFile } from '@/types/UploadedFile';
35
+ import { useNotificationsStore } from '@/stores/notifications';
36
+ import BaseLoadingCover from '@/components/BaseLoadingCover.vue';
37
+ import { BaseCropperConfig } from '@/types';
38
+ import BaseFilePicker from './BaseFilePicker.vue';
39
+ import BaseFilePickerCrop from './BaseFilePickerCrop.vue';
40
+ import { t } from '@/i18n';
41
+
42
+ const http = config.http;
43
+ const notifications = useNotificationsStore();
44
+
45
+ const props = withDefaults(
46
+ defineProps<{
47
+ component?: 'BaseFilePicker' | 'BaseFilePickerCrop';
48
+ url?: string;
49
+ disabled?: boolean;
50
+ loading?: boolean;
51
+ beforeUpload?: () => boolean;
52
+ twButton?: string;
53
+ maxSize?: number;
54
+ accept?: string;
55
+ acceptedExtensions?: string[];
56
+ cropper?: BaseCropperConfig | Record<string, any> | boolean | null;
57
+ multiple: boolean;
58
+ }>(),
59
+ {
60
+ component: 'BaseFilePicker',
61
+ url: undefined,
62
+ disabled: false,
63
+ loading: false,
64
+ beforeUpload: (): boolean => {
65
+ return true;
66
+ },
67
+ twButton: '',
68
+ maxSize: undefined,
69
+ accept: undefined,
70
+ acceptedExtensions: undefined,
71
+ cropper: true,
72
+ multiple: false
73
+ }
74
+ );
75
+
76
+ const emit = defineEmits([
77
+ 'upload:start',
78
+ 'upload:success',
79
+ 'upload:fail',
80
+ 'upload:end',
81
+ ]);
82
+
83
+ const componentInternal = computed(() => {
84
+ if (props.component == 'BaseFilePickerCrop') {
85
+ return BaseFilePickerCrop;
86
+ }
87
+ return BaseFilePicker;
88
+ });
89
+
90
+ const pickerProps = computed(() => {
91
+ const pickerProps = {
92
+ disabled: props.disabled || props.loading || uploading.value,
93
+ twButton: props.twButton,
94
+ maxSize: props.maxSize,
95
+ accept: props.component == 'BaseFilePickerCrop' ? undefined : props.accept,
96
+ acceptedExtensions: props.acceptedExtensions,
97
+ multiple: props.component == 'BaseFilePickerCrop' ? undefined : props.multiple,
98
+ } as Record<string, any>;
99
+
100
+ if (props.component == 'BaseFilePickerCrop') {
101
+ pickerProps.cropper = props.cropper;
102
+ }
103
+
104
+ return pickerProps;
105
+ });
106
+
107
+ const uploading = ref(false);
108
+
109
+ async function onFileSelect(files: File | File[]) {
110
+ if (uploading.value) {
111
+ return;
112
+ }
113
+
114
+ uploading.value = true;
115
+
116
+ if (!(await props.beforeUpload())) {
117
+ uploading.value = false;
118
+ return;
119
+ }
120
+
121
+ try {
122
+ const formData = new FormData();
123
+
124
+ if (Array.isArray(files)) {
125
+ await Promise.all(files.map(f => processFileUpload(formData, f)))
126
+ } else {
127
+ await processFileUpload(formData, files)
128
+ }
129
+ } catch (e: unknown) {
130
+ console.error(e);
131
+ emit('upload:fail');
132
+ notifications.push({
133
+ color: 'danger',
134
+ title: t('sui.error'),
135
+ text: t('sui.upload_failed'),
136
+ });
137
+ } finally {
138
+ emit('upload:end');
139
+ uploading.value = false;
140
+ }
141
+ }
142
+
143
+ async function processFileUpload(formData: FormData, file: File) {
144
+ formData.append('file', file);
145
+
146
+ emit('upload:start');
147
+
148
+ const response = await http.post(props.url ?? config.upload_url, formData);
149
+
150
+ const payload = response.data as UploadedFile;
151
+ payload.original_file = file;
152
+
153
+ const reader = new FileReader();
154
+
155
+ reader.onload = (e: any) => {
156
+ payload.data_url = e.target.result;
157
+ onSuccess(payload);
158
+ };
159
+
160
+ reader.onerror = (e: any) => {
161
+ onSuccess(payload);
162
+ };
163
+
164
+ if (payload.mime_type.includes('image')) {
165
+ reader.readAsDataURL(file);
166
+ } else {
167
+ onSuccess(payload);
168
+ }
169
+ }
170
+
171
+ function onSuccess(payload: any) {
172
+ emit('upload:success', payload);
173
+ }
174
+ </script>
@@ -1,46 +1,46 @@
1
- import BaseForm from './BaseForm.vue';
2
- import BaseField from './BaseField.vue';
3
- import BaseMediaLibrary from './BaseMediaLibrary.vue';
4
- import ShowValue from '../../.storybook/components/ShowValue.vue';
5
-
6
- export default {
7
- title: 'Form/BaseForm',
8
- component: BaseForm,
9
- };
10
-
11
- const Template = (args) => ({
12
- components: {
13
- ShowValue,
14
- BaseForm,
15
- BaseField,
16
- BaseMediaLibrary,
17
- },
18
- setup() {
19
- const form = ref({
20
- number: 1.1,
21
- });
22
- return { args, form };
23
- },
24
- template: `
25
- <BaseForm
26
- method="post"
27
- url="https://faker.witify.io/api/todos/422"
28
- :data="form"
29
- v-slot="{disabled}"
30
- >
31
- <BaseField class="mb-3" name="number" label="Number">
32
- <BaseInput v-model="form.number"></BaseInput>
33
- </BaseField>
34
-
35
- <BaseField class="mb-3" name="media" label="Media">
36
- <BaseMediaLibrary v-model="form.media" upload-url="https://faker.witify.io/api/todos/upload"></BaseMediaLibrary>
37
- </BaseField>
38
-
39
- <button type="submit" class="btn btn-primary" :disabled="disabled">Submit</button>
40
- </BaseForm>
41
- <ShowValue :value="form" />
42
- `,
43
- });
44
-
45
- export const Demo = Template.bind({});
46
- Demo.args = {};
1
+ import BaseForm from './BaseForm.vue';
2
+ import BaseField from './BaseField.vue';
3
+ import BaseMediaLibrary from './BaseMediaLibrary.vue';
4
+ import ShowValue from '../../.storybook/components/ShowValue.vue';
5
+
6
+ export default {
7
+ title: 'Form/BaseForm',
8
+ component: BaseForm,
9
+ };
10
+
11
+ const Template = (args) => ({
12
+ components: {
13
+ ShowValue,
14
+ BaseForm,
15
+ BaseField,
16
+ BaseMediaLibrary,
17
+ },
18
+ setup() {
19
+ const form = ref({
20
+ number: 1.1,
21
+ });
22
+ return { args, form };
23
+ },
24
+ template: `
25
+ <BaseForm
26
+ method="post"
27
+ url="https://faker.witify.io/api/todos/422"
28
+ :data="form"
29
+ v-slot="{disabled}"
30
+ >
31
+ <BaseField class="mb-3" name="number" label="Number">
32
+ <BaseInput v-model="form.number"></BaseInput>
33
+ </BaseField>
34
+
35
+ <BaseField class="mb-3" name="media" label="Media">
36
+ <BaseMediaLibrary v-model="form.media" upload-url="https://faker.witify.io/api/todos/upload"></BaseMediaLibrary>
37
+ </BaseField>
38
+
39
+ <button type="submit" class="btn btn-primary" :disabled="disabled">Submit</button>
40
+ </BaseForm>
41
+ <ShowValue :value="form" />
42
+ `,
43
+ });
44
+
45
+ export const Demo = Template.bind({});
46
+ Demo.args = {};