sprintify-ui 0.4.5 → 0.4.7

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 (420) hide show
  1. package/README.md +258 -258
  2. package/dist/sprintify-ui.es.js +10 -10
  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 +60 -60
  18. package/dist/types/src/components/BaseBelongsTo.vue.d.ts +206 -216
  19. package/dist/types/src/components/BaseBelongsToFetch.vue.d.ts +216 -0
  20. package/dist/types/src/components/BaseBoolean.vue.d.ts +10 -10
  21. package/dist/types/src/components/BaseBreadcrumbs.vue.d.ts +24 -24
  22. package/dist/types/src/components/BaseButton.vue.d.ts +23 -23
  23. package/dist/types/src/components/BaseButtonGroup.vue.d.ts +143 -143
  24. package/dist/types/src/components/BaseCalendar.vue.d.ts +124 -124
  25. package/dist/types/src/components/BaseCard.vue.d.ts +21 -21
  26. package/dist/types/src/components/BaseCardRow.vue.d.ts +16 -16
  27. package/dist/types/src/components/BaseCharacterCounter.vue.d.ts +49 -49
  28. package/dist/types/src/components/BaseClickOutside.vue.d.ts +26 -26
  29. package/dist/types/src/components/BaseClipboard.vue.d.ts +22 -22
  30. package/dist/types/src/components/BaseColor.vue.d.ts +80 -80
  31. package/dist/types/src/components/BaseContainer.vue.d.ts +34 -34
  32. package/dist/types/src/components/BaseCounter.vue.d.ts +42 -42
  33. package/dist/types/src/components/BaseCropper.vue.d.ts +76 -76
  34. package/dist/types/src/components/BaseCropperModal.vue.d.ts +28 -28
  35. package/dist/types/src/components/BaseDataIterator.vue.d.ts +227 -227
  36. package/dist/types/src/components/BaseDataIteratorSectionBox.vue.d.ts +20 -20
  37. package/dist/types/src/components/BaseDataIteratorSectionButton.vue.d.ts +25 -25
  38. package/dist/types/src/components/BaseDataIteratorSectionColumns.vue.d.ts +657 -657
  39. package/dist/types/src/components/BaseDataIteratorSectionModal.vue.d.ts +32 -32
  40. package/dist/types/src/components/BaseDataTable.vue.d.ts +406 -406
  41. package/dist/types/src/components/BaseDataTableRowAction.vue.d.ts +31 -31
  42. package/dist/types/src/components/BaseDatePicker.vue.d.ts +124 -124
  43. package/dist/types/src/components/BaseDateSelect.vue.d.ts +79 -79
  44. package/dist/types/src/components/BaseDescriptionList.vue.d.ts +9 -9
  45. package/dist/types/src/components/BaseDescriptionListItem.vue.d.ts +10 -10
  46. package/dist/types/src/components/BaseDialog.vue.d.ts +60 -60
  47. package/dist/types/src/components/BaseDisplayRelativeTime.vue.d.ts +50 -50
  48. package/dist/types/src/components/BaseDraggable.vue.d.ts +49 -49
  49. package/dist/types/src/components/BaseDropdown.vue.d.ts +65 -65
  50. package/dist/types/src/components/BaseDropdownAutocomplete.vue.d.ts +132 -132
  51. package/dist/types/src/components/BaseField.vue.d.ts +58 -58
  52. package/dist/types/src/components/BaseFieldI18n.vue.d.ts +93 -93
  53. package/dist/types/src/components/BaseFilePicker.vue.d.ts +72 -72
  54. package/dist/types/src/components/BaseFilePickerCrop.vue.d.ts +63 -63
  55. package/dist/types/src/components/BaseFileUploader.vue.d.ts +142 -142
  56. package/dist/types/src/components/BaseForm.vue.d.ts +143 -143
  57. package/dist/types/src/components/BaseGantt.vue.d.ts +425 -425
  58. package/dist/types/src/components/BaseHasMany.vue.d.ts +149 -149
  59. package/dist/types/src/components/BaseHeader.vue.d.ts +98 -98
  60. package/dist/types/src/components/BaseIconPicker.vue.d.ts +34 -34
  61. package/dist/types/src/components/BaseInput.vue.d.ts +174 -174
  62. package/dist/types/src/components/BaseInputError.vue.d.ts +9 -9
  63. package/dist/types/src/components/BaseInputLabel.vue.d.ts +42 -42
  64. package/dist/types/src/components/BaseInputPercent.vue.d.ts +138 -138
  65. package/dist/types/src/components/BaseLayoutNotificationDropdown.vue.d.ts +36 -36
  66. package/dist/types/src/components/BaseLayoutNotificationItem.vue.d.ts +16 -16
  67. package/dist/types/src/components/BaseLayoutNotificationItemContent.vue.d.ts +21 -21
  68. package/dist/types/src/components/BaseLayoutSidebar.vue.d.ts +51 -51
  69. package/dist/types/src/components/BaseLayoutSidebarConfigurable.vue.d.ts +87 -87
  70. package/dist/types/src/components/BaseLayoutStacked.vue.d.ts +23 -23
  71. package/dist/types/src/components/BaseLayoutStackedConfigurable.vue.d.ts +78 -78
  72. package/dist/types/src/components/BaseLoadingCover.vue.d.ts +96 -96
  73. package/dist/types/src/components/BaseMediaGallery.vue.d.ts +64 -64
  74. package/dist/types/src/components/BaseMediaGalleryItem.vue.d.ts +45 -45
  75. package/dist/types/src/components/BaseMediaItem.vue.d.ts +27 -27
  76. package/dist/types/src/components/BaseMediaLibrary.vue.d.ts +199 -199
  77. package/dist/types/src/components/BaseMediaList.vue.d.ts +46 -46
  78. package/dist/types/src/components/BaseMediaListItem.vue.d.ts +46 -46
  79. package/dist/types/src/components/BaseMediaPictures.vue.d.ts +55 -55
  80. package/dist/types/src/components/BaseMediaPicturesItem.vue.d.ts +54 -54
  81. package/dist/types/src/components/BaseMediaPreview.vue.d.ts +36 -36
  82. package/dist/types/src/components/BaseMenu.vue.d.ts +68 -68
  83. package/dist/types/src/components/BaseMenuItem.vue.d.ts +61 -61
  84. package/dist/types/src/components/BaseModalCenter.vue.d.ts +80 -80
  85. package/dist/types/src/components/BaseModalSide.vue.d.ts +62 -62
  86. package/dist/types/src/components/BaseNavbar.vue.d.ts +38 -38
  87. package/dist/types/src/components/BaseNavbarItem.vue.d.ts +26 -26
  88. package/dist/types/src/components/BaseNavbarItemContent.vue.d.ts +60 -60
  89. package/dist/types/src/components/BaseNavbarSideItem.vue.d.ts +44 -44
  90. package/dist/types/src/components/BaseNavbarSideItemContent.vue.d.ts +60 -60
  91. package/dist/types/src/components/BasePagination.vue.d.ts +35 -35
  92. package/dist/types/src/components/BasePanel.vue.d.ts +31 -31
  93. package/dist/types/src/components/BasePassword.vue.d.ts +67 -67
  94. package/dist/types/src/components/BaseProgressCircle.vue.d.ts +37 -37
  95. package/dist/types/src/components/BaseRadioGroup.vue.d.ts +105 -105
  96. package/dist/types/src/components/BaseReadMore.vue.d.ts +21 -21
  97. package/dist/types/src/components/BaseRichText.vue.d.ts +92 -92
  98. package/dist/types/src/components/BaseSelect.vue.d.ts +98 -98
  99. package/dist/types/src/components/BaseShortcut.vue.d.ts +86 -86
  100. package/dist/types/src/components/BaseSideNavigation.vue.d.ts +21 -21
  101. package/dist/types/src/components/BaseSideNavigationItem.vue.d.ts +41 -41
  102. package/dist/types/src/components/BaseSkeleton.vue.d.ts +31 -31
  103. package/dist/types/src/components/BaseStatistic.vue.d.ts +55 -55
  104. package/dist/types/src/components/BaseStepper.vue.d.ts +16 -16
  105. package/dist/types/src/components/BaseStepperItem.vue.d.ts +51 -51
  106. package/dist/types/src/components/BaseSwitch.vue.d.ts +87 -87
  107. package/dist/types/src/components/BaseSystemAlert.vue.d.ts +52 -52
  108. package/dist/types/src/components/BaseTabItem.vue.d.ts +41 -41
  109. package/dist/types/src/components/BaseTable.vue.d.ts +221 -221
  110. package/dist/types/src/components/BaseTableColumn.vue.d.ts +174 -174
  111. package/dist/types/src/components/BaseTabs.vue.d.ts +21 -21
  112. package/dist/types/src/components/BaseTagAutocomplete.vue.d.ts +209 -209
  113. package/dist/types/src/components/BaseTagAutocompleteFetch.vue.d.ts +141 -141
  114. package/dist/types/src/components/BaseTextarea.vue.d.ts +103 -103
  115. package/dist/types/src/components/BaseTextareaAutoresize.vue.d.ts +113 -113
  116. package/dist/types/src/components/BaseTimeline.vue.d.ts +14 -14
  117. package/dist/types/src/components/BaseTimelineItem.vue.d.ts +14 -14
  118. package/dist/types/src/components/BaseToast.vue.d.ts +20 -20
  119. package/dist/types/src/components/BaseUniqueCode.vue.d.ts +33 -33
  120. package/dist/types/src/components/SlotComponent.d.ts +43 -43
  121. package/dist/types/src/components/index.d.ts +97 -97
  122. package/dist/types/src/composables/breakpoints.d.ts +27 -27
  123. package/dist/types/src/composables/clickOutside.d.ts +8 -8
  124. package/dist/types/src/composables/field.d.ts +19 -19
  125. package/dist/types/src/composables/hasOptions.d.ts +7 -7
  126. package/dist/types/src/composables/mediaQuery.d.ts +2 -2
  127. package/dist/types/src/composables/modal.d.ts +6 -6
  128. package/dist/types/src/composables/paginatedData.d.ts +7 -7
  129. package/dist/types/src/constants/MyConstants.d.ts +1 -1
  130. package/dist/types/src/constants/index.d.ts +2 -2
  131. package/dist/types/src/i18n/index.d.ts +1 -1
  132. package/dist/types/src/index.d.ts +236 -236
  133. package/dist/types/src/services/gantt/format.d.ts +24 -24
  134. package/dist/types/src/services/gantt/timescale.d.ts +26 -26
  135. package/dist/types/src/services/gantt/types.d.ts +67 -67
  136. package/dist/types/src/stores/dialogs.d.ts +9 -9
  137. package/dist/types/src/stores/i18n.d.ts +5 -5
  138. package/dist/types/src/stores/notifications.d.ts +10 -10
  139. package/dist/types/src/stores/systemAlerts.d.ts +9 -9
  140. package/dist/types/src/stories/PageShow.vue.d.ts +2 -2
  141. package/dist/types/src/svg/BaseEmptyState.vue.d.ts +2 -2
  142. package/dist/types/src/svg/BaseSpinnerLarge.vue.d.ts +2 -2
  143. package/dist/types/src/svg/BaseSpinnerSmall.vue.d.ts +2 -2
  144. package/dist/types/src/types/CalendarEvent.d.ts +9 -9
  145. package/dist/types/src/types/Color.d.ts +9 -9
  146. package/dist/types/src/types/Country.d.ts +4 -4
  147. package/dist/types/src/types/ImagePickerResult.d.ts +5 -5
  148. package/dist/types/src/types/Media.d.ts +9 -9
  149. package/dist/types/src/types/Notification.d.ts +8 -8
  150. package/dist/types/src/types/Region.d.ts +5 -5
  151. package/dist/types/src/types/Status.d.ts +5 -5
  152. package/dist/types/src/types/StepperItem.d.ts +7 -7
  153. package/dist/types/src/types/TimelineItem.d.ts +9 -9
  154. package/dist/types/src/types/UploadedFile.d.ts +10 -10
  155. package/dist/types/src/types/User.d.ts +6 -6
  156. package/dist/types/src/types/index.d.ts +219 -218
  157. package/dist/types/src/utils/blob.d.ts +3 -3
  158. package/dist/types/src/utils/colors.d.ts +13 -13
  159. package/dist/types/src/utils/cropper/avatar.d.ts +5 -5
  160. package/dist/types/src/utils/cropper/cover.d.ts +5 -5
  161. package/dist/types/src/utils/cropper/presetInterface.d.ts +7 -7
  162. package/dist/types/src/utils/cropper/presets.d.ts +6 -6
  163. package/dist/types/src/utils/fileSizeFormat.d.ts +1 -1
  164. package/dist/types/src/utils/fileValidations.d.ts +2 -2
  165. package/dist/types/src/utils/index.d.ts +6 -6
  166. package/dist/types/src/utils/resizeImageFromURI.d.ts +1 -1
  167. package/dist/types/src/utils/scrollPreventer.d.ts +3 -3
  168. package/dist/types/src/utils/toHumanList.d.ts +1 -1
  169. package/package.json +148 -148
  170. package/src/assets/flatpickr.css +243 -243
  171. package/src/assets/form.css +6 -6
  172. package/src/assets/main.css +36 -36
  173. package/src/assets/tailwind.css +2 -2
  174. package/src/components/BaseActionItem.vue +68 -68
  175. package/src/components/BaseActionItemButton.vue +77 -77
  176. package/src/components/BaseAddressForm.stories.js +103 -103
  177. package/src/components/BaseAddressForm.vue +354 -354
  178. package/src/components/BaseAlert.stories.js +52 -52
  179. package/src/components/BaseAlert.vue +158 -158
  180. package/src/components/BaseApp.vue +16 -16
  181. package/src/components/BaseAppDialogs.vue +123 -123
  182. package/src/components/BaseAppNotifications.vue +40 -40
  183. package/src/components/BaseAutocomplete.stories.js +236 -236
  184. package/src/components/BaseAutocomplete.vue +523 -523
  185. package/src/components/BaseAutocompleteDrawer.vue +372 -372
  186. package/src/components/BaseAutocompleteFetch.stories.js +224 -224
  187. package/src/components/BaseAutocompleteFetch.vue +288 -288
  188. package/src/components/BaseAvatar.stories.js +39 -39
  189. package/src/components/BaseAvatar.vue +120 -120
  190. package/src/components/BaseAvatarGroup.stories.js +71 -71
  191. package/src/components/BaseAvatarGroup.vue +148 -148
  192. package/src/components/BaseBadge.stories.js +124 -124
  193. package/src/components/BaseBadge.vue +87 -87
  194. package/src/components/BaseBelongsTo.stories.js +217 -223
  195. package/src/components/BaseBelongsTo.vue +157 -193
  196. package/src/components/BaseBelongsToFetch.stories.js +223 -0
  197. package/src/components/BaseBelongsToFetch.vue +193 -0
  198. package/src/components/BaseBoolean.stories.js +35 -35
  199. package/src/components/BaseBoolean.vue +26 -26
  200. package/src/components/BaseBreadcrumbs.stories.js +50 -50
  201. package/src/components/BaseBreadcrumbs.vue +109 -109
  202. package/src/components/BaseButton.stories.js +88 -88
  203. package/src/components/BaseButton.vue +46 -46
  204. package/src/components/BaseButtonGroup.stories.js +86 -86
  205. package/src/components/BaseButtonGroup.vue +150 -150
  206. package/src/components/BaseCalendar.stories.js +202 -202
  207. package/src/components/BaseCalendar.vue +215 -215
  208. package/src/components/BaseCard.stories.js +61 -61
  209. package/src/components/BaseCard.vue +49 -49
  210. package/src/components/BaseCardRow.vue +34 -34
  211. package/src/components/BaseCharacterCounter.stories.js +30 -30
  212. package/src/components/BaseCharacterCounter.vue +64 -64
  213. package/src/components/BaseClickOutside.vue +37 -37
  214. package/src/components/BaseClipboard.stories.js +32 -32
  215. package/src/components/BaseClipboard.vue +83 -83
  216. package/src/components/BaseColor.stories.js +46 -46
  217. package/src/components/BaseColor.vue +154 -154
  218. package/src/components/BaseContainer.stories.js +34 -34
  219. package/src/components/BaseContainer.vue +50 -50
  220. package/src/components/BaseCounter.stories.js +47 -47
  221. package/src/components/BaseCounter.vue +82 -82
  222. package/src/components/BaseCropper.stories.js +113 -113
  223. package/src/components/BaseCropper.vue +458 -458
  224. package/src/components/BaseCropperModal.stories.js +54 -54
  225. package/src/components/BaseCropperModal.vue +143 -143
  226. package/src/components/BaseDataIterator.stories.js +197 -197
  227. package/src/components/BaseDataIterator.vue +839 -839
  228. package/src/components/BaseDataIteratorSectionBox.vue +36 -36
  229. package/src/components/BaseDataIteratorSectionButton.vue +53 -53
  230. package/src/components/BaseDataIteratorSectionColumns.vue +70 -70
  231. package/src/components/BaseDataIteratorSectionModal.vue +41 -41
  232. package/src/components/BaseDataTable.stories.js +226 -226
  233. package/src/components/BaseDataTable.vue +779 -779
  234. package/src/components/BaseDataTableRowAction.vue +53 -53
  235. package/src/components/BaseDatePicker.stories.js +130 -130
  236. package/src/components/BaseDatePicker.vue +296 -296
  237. package/src/components/BaseDateSelect.stories.js +47 -47
  238. package/src/components/BaseDateSelect.vue +241 -241
  239. package/src/components/BaseDescriptionList.stories.js +35 -35
  240. package/src/components/BaseDescriptionList.vue +13 -13
  241. package/src/components/BaseDescriptionListItem.vue +47 -47
  242. package/src/components/BaseDialog.stories.js +51 -51
  243. package/src/components/BaseDialog.vue +119 -119
  244. package/src/components/BaseDisplayRelativeTime.stories.js +47 -47
  245. package/src/components/BaseDisplayRelativeTime.vue +122 -122
  246. package/src/components/BaseDraggable.vue +71 -71
  247. package/src/components/BaseDropdown.stories.js +210 -210
  248. package/src/components/BaseDropdown.vue +280 -280
  249. package/src/components/BaseDropdownAutocomplete.stories.js +187 -187
  250. package/src/components/BaseDropdownAutocomplete.vue +235 -235
  251. package/src/components/BaseField.vue +112 -112
  252. package/src/components/BaseFieldI18n.stories.js +38 -38
  253. package/src/components/BaseFieldI18n.vue +170 -170
  254. package/src/components/BaseFilePicker.stories.js +84 -84
  255. package/src/components/BaseFilePicker.vue +163 -163
  256. package/src/components/BaseFilePickerCrop.stories.js +135 -135
  257. package/src/components/BaseFilePickerCrop.vue +130 -130
  258. package/src/components/BaseFileUploader.stories.js +102 -102
  259. package/src/components/BaseFileUploader.vue +185 -185
  260. package/src/components/BaseForm.stories.js +48 -48
  261. package/src/components/BaseForm.vue +335 -335
  262. package/src/components/BaseGantt.stories.js +133 -133
  263. package/src/components/BaseGantt.vue +336 -336
  264. package/src/components/BaseHasMany.stories.js +189 -189
  265. package/src/components/BaseHasMany.vue +137 -137
  266. package/src/components/BaseHeader.stories.js +133 -133
  267. package/src/components/BaseHeader.vue +188 -188
  268. package/src/components/BaseIconPicker.stories.js +22 -22
  269. package/src/components/BaseIconPicker.vue +225 -225
  270. package/src/components/BaseInput.stories.js +167 -167
  271. package/src/components/BaseInput.vue +264 -264
  272. package/src/components/BaseInputError.vue +7 -7
  273. package/src/components/BaseInputLabel.stories.js +36 -36
  274. package/src/components/BaseInputLabel.vue +57 -57
  275. package/src/components/BaseInputPercent.stories.js +65 -65
  276. package/src/components/BaseInputPercent.vue +139 -139
  277. package/src/components/BaseLayoutNotificationDropdown.vue +150 -150
  278. package/src/components/BaseLayoutNotificationItem.vue +53 -53
  279. package/src/components/BaseLayoutNotificationItemContent.vue +30 -30
  280. package/src/components/BaseLayoutSidebar.vue +236 -236
  281. package/src/components/BaseLayoutSidebarConfigurable.stories.js +166 -166
  282. package/src/components/BaseLayoutSidebarConfigurable.vue +181 -181
  283. package/src/components/BaseLayoutStacked.vue +52 -52
  284. package/src/components/BaseLayoutStackedConfigurable.stories.js +109 -109
  285. package/src/components/BaseLayoutStackedConfigurable.vue +158 -158
  286. package/src/components/BaseLoadingCover.stories.js +55 -55
  287. package/src/components/BaseLoadingCover.vue +101 -101
  288. package/src/components/BaseMediaGallery.vue +96 -96
  289. package/src/components/BaseMediaGalleryItem.vue +101 -101
  290. package/src/components/BaseMediaItem.stories.js +41 -41
  291. package/src/components/BaseMediaItem.vue +80 -80
  292. package/src/components/BaseMediaLibrary.stories.js +267 -267
  293. package/src/components/BaseMediaLibrary.vue +342 -342
  294. package/src/components/BaseMediaList.vue +67 -67
  295. package/src/components/BaseMediaListItem.vue +212 -212
  296. package/src/components/BaseMediaPictures.vue +64 -64
  297. package/src/components/BaseMediaPicturesItem.vue +100 -100
  298. package/src/components/BaseMediaPreview.stories.js +72 -72
  299. package/src/components/BaseMediaPreview.vue +106 -106
  300. package/src/components/BaseMenu.stories.js +129 -129
  301. package/src/components/BaseMenu.vue +165 -165
  302. package/src/components/BaseMenuItem.vue +145 -145
  303. package/src/components/BaseModalCenter.stories.js +68 -68
  304. package/src/components/BaseModalCenter.vue +128 -128
  305. package/src/components/BaseModalSide.stories.js +55 -55
  306. package/src/components/BaseModalSide.vue +116 -116
  307. package/src/components/BaseNavbar.stories.js +151 -151
  308. package/src/components/BaseNavbar.vue +91 -91
  309. package/src/components/BaseNavbarItem.vue +49 -49
  310. package/src/components/BaseNavbarItemContent.vue +97 -97
  311. package/src/components/BaseNavbarSideItem.vue +114 -114
  312. package/src/components/BaseNavbarSideItemContent.vue +111 -111
  313. package/src/components/BasePagination.stories.js +35 -35
  314. package/src/components/BasePagination.vue +266 -266
  315. package/src/components/BasePanel.stories.js +56 -56
  316. package/src/components/BasePanel.vue +42 -42
  317. package/src/components/BasePassword.stories.js +57 -57
  318. package/src/components/BasePassword.vue +107 -107
  319. package/src/components/BaseProgressCircle.stories.js +27 -27
  320. package/src/components/BaseProgressCircle.vue +80 -80
  321. package/src/components/BaseRadioGroup.stories.js +88 -88
  322. package/src/components/BaseRadioGroup.vue +125 -125
  323. package/src/components/BaseReadMore.stories.js +30 -30
  324. package/src/components/BaseReadMore.vue +73 -73
  325. package/src/components/BaseRichText.stories.js +102 -102
  326. package/src/components/BaseRichText.vue +198 -198
  327. package/src/components/BaseSelect.stories.js +118 -118
  328. package/src/components/BaseSelect.vue +224 -224
  329. package/src/components/BaseShortcut.stories.js +102 -102
  330. package/src/components/BaseShortcut.vue +112 -112
  331. package/src/components/BaseSideNavigation.stories.js +85 -85
  332. package/src/components/BaseSideNavigation.vue +32 -32
  333. package/src/components/BaseSideNavigationItem.vue +95 -95
  334. package/src/components/BaseSkeleton.stories.js +36 -36
  335. package/src/components/BaseSkeleton.vue +40 -40
  336. package/src/components/BaseStatistic.stories.js +51 -51
  337. package/src/components/BaseStatistic.vue +106 -106
  338. package/src/components/BaseStepper.stories.js +94 -94
  339. package/src/components/BaseStepper.vue +72 -72
  340. package/src/components/BaseStepperItem.stories.js +65 -65
  341. package/src/components/BaseStepperItem.vue +149 -149
  342. package/src/components/BaseSwitch.stories.js +130 -130
  343. package/src/components/BaseSwitch.vue +215 -215
  344. package/src/components/BaseSystemAlert.stories.js +63 -63
  345. package/src/components/BaseSystemAlert.vue +89 -89
  346. package/src/components/BaseTabItem.vue +97 -97
  347. package/src/components/BaseTable.vue +904 -904
  348. package/src/components/BaseTableColumn.vue +124 -124
  349. package/src/components/BaseTabs.stories.js +85 -85
  350. package/src/components/BaseTabs.vue +73 -73
  351. package/src/components/BaseTagAutocomplete.stories.js +258 -258
  352. package/src/components/BaseTagAutocomplete.vue +438 -438
  353. package/src/components/BaseTagAutocompleteFetch.stories.js +185 -185
  354. package/src/components/BaseTagAutocompleteFetch.vue +220 -220
  355. package/src/components/BaseTextarea.stories.js +58 -58
  356. package/src/components/BaseTextarea.vue +103 -103
  357. package/src/components/BaseTextareaAutoresize.stories.js +102 -102
  358. package/src/components/BaseTextareaAutoresize.vue +166 -166
  359. package/src/components/BaseTimeline.stories.js +55 -55
  360. package/src/components/BaseTimeline.vue +38 -38
  361. package/src/components/BaseTimelineItem.stories.js +78 -78
  362. package/src/components/BaseTimelineItem.vue +90 -90
  363. package/src/components/BaseToast.stories.js +50 -50
  364. package/src/components/BaseToast.vue +43 -43
  365. package/src/components/BaseUniqueCode.stories.js +36 -36
  366. package/src/components/BaseUniqueCode.vue +183 -183
  367. package/src/components/SlotComponent.ts +37 -37
  368. package/src/components/index.ts +196 -196
  369. package/src/composables/breakpoints.ts +94 -94
  370. package/src/composables/clickOutside.ts +80 -80
  371. package/src/composables/field.ts +117 -117
  372. package/src/composables/hasOptions.ts +68 -68
  373. package/src/composables/mediaQuery.ts +42 -42
  374. package/src/composables/modal.ts +73 -73
  375. package/src/composables/paginatedData.ts +65 -65
  376. package/src/constants/MyConstants.ts +1 -1
  377. package/src/constants/index.ts +5 -5
  378. package/src/env.d.ts +15 -15
  379. package/src/i18n/index.ts +60 -60
  380. package/src/index.ts +114 -114
  381. package/src/lang/en.json +95 -95
  382. package/src/lang/fr.json +95 -95
  383. package/src/services/gantt/format.ts +113 -113
  384. package/src/services/gantt/timescale.ts +242 -242
  385. package/src/services/gantt/types.ts +74 -74
  386. package/src/stores/dialogs.ts +45 -45
  387. package/src/stores/i18n.ts +14 -14
  388. package/src/stores/notifications.ts +47 -47
  389. package/src/stores/systemAlerts.ts +32 -32
  390. package/src/stories/List.stories.js +132 -132
  391. package/src/stories/PageShow.vue +423 -423
  392. package/src/stories/Show.stories.js +22 -22
  393. package/src/svg/BaseEmptyState.vue +38 -38
  394. package/src/svg/BaseSpinnerLarge.vue +59 -59
  395. package/src/svg/BaseSpinnerSmall.vue +15 -15
  396. package/src/types/CalendarEvent.ts +9 -9
  397. package/src/types/Color.ts +9 -9
  398. package/src/types/Country.ts +4 -4
  399. package/src/types/ImagePickerResult.ts +5 -5
  400. package/src/types/Media.ts +10 -10
  401. package/src/types/Notification.ts +10 -10
  402. package/src/types/Region.ts +5 -5
  403. package/src/types/Status.ts +5 -5
  404. package/src/types/StepperItem.ts +8 -8
  405. package/src/types/TimelineItem.ts +9 -9
  406. package/src/types/UploadedFile.ts +11 -11
  407. package/src/types/User.ts +7 -7
  408. package/src/types/index.ts +268 -267
  409. package/src/utils/blob.ts +30 -30
  410. package/src/utils/colors.ts +210 -210
  411. package/src/utils/cropper/avatar.ts +33 -33
  412. package/src/utils/cropper/cover.ts +41 -41
  413. package/src/utils/cropper/presetInterface.ts +16 -16
  414. package/src/utils/cropper/presets.ts +7 -7
  415. package/src/utils/fileSizeFormat.ts +15 -15
  416. package/src/utils/fileValidations.ts +26 -26
  417. package/src/utils/index.ts +16 -16
  418. package/src/utils/resizeImageFromURI.ts +118 -118
  419. package/src/utils/scrollPreventer.ts +11 -11
  420. package/src/utils/toHumanList.ts +20 -20
@@ -1,120 +1,120 @@
1
- <template>
2
- <component
3
- :is="to ? 'RouterLink' : 'div'"
4
- :to="to"
5
- class="flex shrink-0 items-center"
6
- >
7
- <img
8
- :src="user.avatar_url"
9
- :class="[sizeClass, detailsPosition == 'left' ? 'order-2' : 'order-1']"
10
- class="shrink-0 overflow-hidden rounded-full object-cover object-center"
11
- >
12
- <div
13
- v-if="showDetails"
14
- class="max-w-[120px] grow leading-tight"
15
- :class="[
16
- textSizeClass,
17
- detailsPosition == 'left' ? 'order-1 text-right' : 'order-2 text-left',
18
- ]"
19
- :style="{
20
- marginLeft: detailsPosition == 'right' ? spacing : '0',
21
- marginRight: detailsPosition == 'left' ? spacing : '0',
22
- }"
23
- >
24
- <div class="truncate">
25
- {{ user.full_name }}
26
- </div>
27
- <div class="truncate font-light opacity-50">
28
- {{ user.email }}
29
- </div>
30
- </div>
31
- </component>
32
- </template>
33
-
34
- <script lang="ts" setup>
35
- import { PropType } from 'vue';
36
- import { User } from '@/types/User';
37
- import { RouteLocationRaw } from 'vue-router';
38
-
39
- const props = defineProps({
40
- user: {
41
- required: true,
42
- type: Object as PropType<User>,
43
- },
44
- size: {
45
- default: 'base',
46
- type: String,
47
- },
48
- showDetails: {
49
- default: false,
50
- type: Boolean,
51
- },
52
- detailsPosition: {
53
- default: 'right',
54
- type: String as PropType<'left' | 'right'>,
55
- },
56
- to: {
57
- default: undefined,
58
- type: [String, Object] as PropType<RouteLocationRaw>,
59
- },
60
- });
61
-
62
- const sizeClass = computed((): string => {
63
- const base = 'h-9 w-9';
64
-
65
- if (props.size == 'xs') {
66
- return 'h-6 w-6';
67
- }
68
- if (props.size == 'sm') {
69
- return 'h-8 w-8';
70
- }
71
- if (props.size == 'base') {
72
- return base;
73
- }
74
- if (props.size == 'lg') {
75
- return 'h-12 w-12';
76
- }
77
- if (props.size == 'xl') {
78
- return 'h-14 w-14';
79
- }
80
- return base;
81
- });
82
-
83
- const textSizeClass = computed((): string => {
84
- const base = 'text-sm';
85
-
86
- if (props.size == 'xs') {
87
- return 'text-[11px]';
88
- }
89
- if (props.size == 'sm') {
90
- return 'text-xs';
91
- }
92
- if (props.size == 'base') {
93
- return base;
94
- }
95
- if (props.size == 'lg') {
96
- return 'text-sm';
97
- }
98
- if (props.size == 'xl') {
99
- return 'text-base';
100
- }
101
- return base;
102
- });
103
-
104
- const spacing = computed(() => {
105
- switch (props.size) {
106
- case 'xl':
107
- return '0.95rem';
108
- case 'lg':
109
- return '0.85rem';
110
- case 'base':
111
- return '0.75rem';
112
- case 'sm':
113
- return '0.65rem';
114
- case 'xs':
115
- return '0.5rem';
116
- default:
117
- return '1rem';
118
- }
119
- });
120
- </script>
1
+ <template>
2
+ <component
3
+ :is="to ? 'RouterLink' : 'div'"
4
+ :to="to"
5
+ class="flex shrink-0 items-center"
6
+ >
7
+ <img
8
+ :src="user.avatar_url"
9
+ :class="[sizeClass, detailsPosition == 'left' ? 'order-2' : 'order-1']"
10
+ class="shrink-0 overflow-hidden rounded-full object-cover object-center"
11
+ >
12
+ <div
13
+ v-if="showDetails"
14
+ class="max-w-[120px] grow leading-tight"
15
+ :class="[
16
+ textSizeClass,
17
+ detailsPosition == 'left' ? 'order-1 text-right' : 'order-2 text-left',
18
+ ]"
19
+ :style="{
20
+ marginLeft: detailsPosition == 'right' ? spacing : '0',
21
+ marginRight: detailsPosition == 'left' ? spacing : '0',
22
+ }"
23
+ >
24
+ <div class="truncate">
25
+ {{ user.full_name }}
26
+ </div>
27
+ <div class="truncate font-light opacity-50">
28
+ {{ user.email }}
29
+ </div>
30
+ </div>
31
+ </component>
32
+ </template>
33
+
34
+ <script lang="ts" setup>
35
+ import { PropType } from 'vue';
36
+ import { User } from '@/types/User';
37
+ import { RouteLocationRaw } from 'vue-router';
38
+
39
+ const props = defineProps({
40
+ user: {
41
+ required: true,
42
+ type: Object as PropType<User>,
43
+ },
44
+ size: {
45
+ default: 'base',
46
+ type: String,
47
+ },
48
+ showDetails: {
49
+ default: false,
50
+ type: Boolean,
51
+ },
52
+ detailsPosition: {
53
+ default: 'right',
54
+ type: String as PropType<'left' | 'right'>,
55
+ },
56
+ to: {
57
+ default: undefined,
58
+ type: [String, Object] as PropType<RouteLocationRaw>,
59
+ },
60
+ });
61
+
62
+ const sizeClass = computed((): string => {
63
+ const base = 'h-9 w-9';
64
+
65
+ if (props.size == 'xs') {
66
+ return 'h-6 w-6';
67
+ }
68
+ if (props.size == 'sm') {
69
+ return 'h-8 w-8';
70
+ }
71
+ if (props.size == 'base') {
72
+ return base;
73
+ }
74
+ if (props.size == 'lg') {
75
+ return 'h-12 w-12';
76
+ }
77
+ if (props.size == 'xl') {
78
+ return 'h-14 w-14';
79
+ }
80
+ return base;
81
+ });
82
+
83
+ const textSizeClass = computed((): string => {
84
+ const base = 'text-sm';
85
+
86
+ if (props.size == 'xs') {
87
+ return 'text-[11px]';
88
+ }
89
+ if (props.size == 'sm') {
90
+ return 'text-xs';
91
+ }
92
+ if (props.size == 'base') {
93
+ return base;
94
+ }
95
+ if (props.size == 'lg') {
96
+ return 'text-sm';
97
+ }
98
+ if (props.size == 'xl') {
99
+ return 'text-base';
100
+ }
101
+ return base;
102
+ });
103
+
104
+ const spacing = computed(() => {
105
+ switch (props.size) {
106
+ case 'xl':
107
+ return '0.95rem';
108
+ case 'lg':
109
+ return '0.85rem';
110
+ case 'base':
111
+ return '0.75rem';
112
+ case 'sm':
113
+ return '0.65rem';
114
+ case 'xs':
115
+ return '0.5rem';
116
+ default:
117
+ return '1rem';
118
+ }
119
+ });
120
+ </script>
@@ -1,71 +1,71 @@
1
- import BaseAvatarGroup from './BaseAvatarGroup.vue';
2
-
3
- export default {
4
- title: 'Data/BaseAvatarGroup',
5
- component: BaseAvatarGroup,
6
- argTypes: {
7
- size: {
8
- control: { type: 'select' },
9
- options: ['xs', 'sm', 'base', 'lg', 'xl'],
10
- },
11
- },
12
- };
13
-
14
- const user = {
15
- email: 'jane@witify.io',
16
- full_name: 'Jane Doe',
17
- avatar_url:
18
- 'https://images.unsplash.com/photo-1494790108377-be9c29b29330??auto=format&fit=crop&w=200&h=200&q=80&g=face',
19
- };
20
-
21
- const n = 40;
22
-
23
- const users = [];
24
-
25
- for (let i = 0; i < n; i++) {
26
- users.push(user);
27
- }
28
-
29
- const Template = (args) => ({
30
- components: { BaseAvatarGroup },
31
- setup() {
32
- return { args };
33
- },
34
- template: `
35
- <p class="text-sm mt-2">Demo</p>
36
- <BaseAvatarGroup v-bind="args"></BaseAvatarGroup>
37
-
38
- <p class="text-sm mt-2">With small container</p>
39
- <div style="max-width: 200px; overflow: hidden;"><BaseAvatarGroup v-bind="args"></BaseAvatarGroup></div>
40
- `,
41
- });
42
-
43
- export const Demo = Template.bind({});
44
- Demo.args = {
45
- users: users,
46
- to(user) {
47
- return '/' + user.email;
48
- },
49
- };
50
-
51
- const TemplateWithMaxItems = (args) => ({
52
- components: { BaseAvatarGroup },
53
- setup() {
54
- return { args };
55
- },
56
- template: `
57
- <p class="text-sm mt-2">Demo</p>
58
- <BaseAvatarGroup v-bind="args"></BaseAvatarGroup>
59
-
60
- <p class="text-sm mt-2">With small container</p>
61
- <div style="max-width: 200px; overflow: hidden;"><BaseAvatarGroup v-bind="args"></BaseAvatarGroup></div>
62
- `,
63
- });
64
-
65
- export const MaxItems = TemplateWithMaxItems.bind({});
66
- MaxItems.args = {
67
- users: users,
68
- to(user) {
69
- return '/' + user.email;
70
- },
71
- };
1
+ import BaseAvatarGroup from './BaseAvatarGroup.vue';
2
+
3
+ export default {
4
+ title: 'Data/BaseAvatarGroup',
5
+ component: BaseAvatarGroup,
6
+ argTypes: {
7
+ size: {
8
+ control: { type: 'select' },
9
+ options: ['xs', 'sm', 'base', 'lg', 'xl'],
10
+ },
11
+ },
12
+ };
13
+
14
+ const user = {
15
+ email: 'jane@witify.io',
16
+ full_name: 'Jane Doe',
17
+ avatar_url:
18
+ 'https://images.unsplash.com/photo-1494790108377-be9c29b29330??auto=format&fit=crop&w=200&h=200&q=80&g=face',
19
+ };
20
+
21
+ const n = 40;
22
+
23
+ const users = [];
24
+
25
+ for (let i = 0; i < n; i++) {
26
+ users.push(user);
27
+ }
28
+
29
+ const Template = (args) => ({
30
+ components: { BaseAvatarGroup },
31
+ setup() {
32
+ return { args };
33
+ },
34
+ template: `
35
+ <p class="text-sm mt-2">Demo</p>
36
+ <BaseAvatarGroup v-bind="args"></BaseAvatarGroup>
37
+
38
+ <p class="text-sm mt-2">With small container</p>
39
+ <div style="max-width: 200px; overflow: hidden;"><BaseAvatarGroup v-bind="args"></BaseAvatarGroup></div>
40
+ `,
41
+ });
42
+
43
+ export const Demo = Template.bind({});
44
+ Demo.args = {
45
+ users: users,
46
+ to(user) {
47
+ return '/' + user.email;
48
+ },
49
+ };
50
+
51
+ const TemplateWithMaxItems = (args) => ({
52
+ components: { BaseAvatarGroup },
53
+ setup() {
54
+ return { args };
55
+ },
56
+ template: `
57
+ <p class="text-sm mt-2">Demo</p>
58
+ <BaseAvatarGroup v-bind="args"></BaseAvatarGroup>
59
+
60
+ <p class="text-sm mt-2">With small container</p>
61
+ <div style="max-width: 200px; overflow: hidden;"><BaseAvatarGroup v-bind="args"></BaseAvatarGroup></div>
62
+ `,
63
+ });
64
+
65
+ export const MaxItems = TemplateWithMaxItems.bind({});
66
+ MaxItems.args = {
67
+ users: users,
68
+ to(user) {
69
+ return '/' + user.email;
70
+ },
71
+ };
@@ -1,148 +1,148 @@
1
- <template>
2
- <div class="flex items-center -space-x-4">
3
- <div
4
- v-for="(user, index) in users"
5
- :key="user.email + '-' + index"
6
- role="tooltip"
7
- class="shrink-0"
8
- :aria-label="user.full_name + '\n' + user.email"
9
- :style="{
10
- marginLeft: index === 0 ? '0' : '-' + spacing,
11
- }"
12
- >
13
- <div class="rounded-full border-[3px] border-white">
14
- <BaseAvatar
15
- :user="user"
16
- :size="size"
17
- :show-details="false"
18
- :to="to ? to(user) : undefined"
19
- />
20
- </div>
21
- </div>
22
- <div
23
- v-if="isLimitReached"
24
- class="z-10 shrink-0"
25
- :style="{
26
- marginLeft: '-' + spacing,
27
- }"
28
- >
29
- <div class="rounded-full border-[3px] border-white bg-slate-300">
30
- <div
31
- :class="[sizeClass, fontSizeClass]"
32
- class="flex items-center justify-center rounded-full font-semibold text-slate-700"
33
- >
34
- <span v-if="hiddenItemsCount > 99"> ... </span>
35
- <span v-else> +{{ hiddenItemsCount }} </span>
36
- </div>
37
- </div>
38
- </div>
39
- </div>
40
- </template>
41
-
42
- <script lang="ts" setup>
43
- import { User } from '@/types/User';
44
- import { PropType } from 'vue';
45
- import { RouteLocationRaw } from 'vue-router';
46
- import BaseAvatar from './BaseAvatar.vue';
47
-
48
- const props = defineProps({
49
- users: {
50
- required: true,
51
- type: Array as PropType<User[]>,
52
- },
53
- size: {
54
- default: 'base',
55
- type: String,
56
- },
57
- to: {
58
- default: undefined,
59
- type: Function as PropType<(user: User) => RouteLocationRaw>,
60
- },
61
- max: {
62
- default: 10,
63
- type: Number,
64
- },
65
- });
66
-
67
- const spacing = computed(() => {
68
- switch (props.size) {
69
- case 'xl':
70
- return '1.4rem';
71
- case 'lg':
72
- return '1.25rem';
73
- case 'base':
74
- return '1rem';
75
- case 'sm':
76
- return '0.875rem';
77
- case 'xs':
78
- return '0.8rem';
79
- default:
80
- return '1rem';
81
- }
82
- });
83
-
84
- const maxInternal = computed(() => {
85
- return props.max > 3 ? props.max : 3;
86
- });
87
-
88
- const users = computed(() => {
89
- return props.users.length > maxInternal.value
90
- ? props.users.slice(0, maxInternal.value)
91
- : props.users;
92
- });
93
-
94
- const hiddenItemsCount = computed(() => {
95
- return Array.isArray(props.users) && props.users.length > maxInternal.value
96
- ? props.users.length - maxInternal.value
97
- : 0;
98
- });
99
-
100
- const isLimitReached = computed(() => {
101
- return (
102
- (Array.isArray(props.users) && props.users.length > maxInternal.value) ??
103
- false
104
- );
105
- });
106
-
107
- const sizeClass = computed((): string => {
108
- const base = 'h-9 w-9';
109
-
110
- if (props.size == 'xs') {
111
- return 'h-6 w-6';
112
- }
113
- if (props.size == 'sm') {
114
- return 'h-8 w-8';
115
- }
116
- if (props.size == 'base') {
117
- return base;
118
- }
119
- if (props.size == 'lg') {
120
- return 'h-12 w-12';
121
- }
122
- if (props.size == 'xl') {
123
- return 'h-14 w-14';
124
- }
125
- return base;
126
- });
127
-
128
- const fontSizeClass = computed((): string => {
129
- const base = 'text-xs';
130
-
131
- if (props.size == 'xs') {
132
- return 'text-[8px]';
133
- }
134
- if (props.size == 'sm') {
135
- return 'text-[10px]';
136
- }
137
- if (props.size == 'base') {
138
- return 'text-xs';
139
- }
140
- if (props.size == 'lg') {
141
- return 'text-sm';
142
- }
143
- if (props.size == 'xl') {
144
- return 'text-sm';
145
- }
146
- return base;
147
- });
148
- </script>
1
+ <template>
2
+ <div class="flex items-center -space-x-4">
3
+ <div
4
+ v-for="(user, index) in users"
5
+ :key="user.email + '-' + index"
6
+ role="tooltip"
7
+ class="shrink-0"
8
+ :aria-label="user.full_name + '\n' + user.email"
9
+ :style="{
10
+ marginLeft: index === 0 ? '0' : '-' + spacing,
11
+ }"
12
+ >
13
+ <div class="rounded-full border-[3px] border-white">
14
+ <BaseAvatar
15
+ :user="user"
16
+ :size="size"
17
+ :show-details="false"
18
+ :to="to ? to(user) : undefined"
19
+ />
20
+ </div>
21
+ </div>
22
+ <div
23
+ v-if="isLimitReached"
24
+ class="z-10 shrink-0"
25
+ :style="{
26
+ marginLeft: '-' + spacing,
27
+ }"
28
+ >
29
+ <div class="rounded-full border-[3px] border-white bg-slate-300">
30
+ <div
31
+ :class="[sizeClass, fontSizeClass]"
32
+ class="flex items-center justify-center rounded-full font-semibold text-slate-700"
33
+ >
34
+ <span v-if="hiddenItemsCount > 99"> ... </span>
35
+ <span v-else> +{{ hiddenItemsCount }} </span>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </template>
41
+
42
+ <script lang="ts" setup>
43
+ import { User } from '@/types/User';
44
+ import { PropType } from 'vue';
45
+ import { RouteLocationRaw } from 'vue-router';
46
+ import BaseAvatar from './BaseAvatar.vue';
47
+
48
+ const props = defineProps({
49
+ users: {
50
+ required: true,
51
+ type: Array as PropType<User[]>,
52
+ },
53
+ size: {
54
+ default: 'base',
55
+ type: String,
56
+ },
57
+ to: {
58
+ default: undefined,
59
+ type: Function as PropType<(user: User) => RouteLocationRaw>,
60
+ },
61
+ max: {
62
+ default: 10,
63
+ type: Number,
64
+ },
65
+ });
66
+
67
+ const spacing = computed(() => {
68
+ switch (props.size) {
69
+ case 'xl':
70
+ return '1.4rem';
71
+ case 'lg':
72
+ return '1.25rem';
73
+ case 'base':
74
+ return '1rem';
75
+ case 'sm':
76
+ return '0.875rem';
77
+ case 'xs':
78
+ return '0.8rem';
79
+ default:
80
+ return '1rem';
81
+ }
82
+ });
83
+
84
+ const maxInternal = computed(() => {
85
+ return props.max > 3 ? props.max : 3;
86
+ });
87
+
88
+ const users = computed(() => {
89
+ return props.users.length > maxInternal.value
90
+ ? props.users.slice(0, maxInternal.value)
91
+ : props.users;
92
+ });
93
+
94
+ const hiddenItemsCount = computed(() => {
95
+ return Array.isArray(props.users) && props.users.length > maxInternal.value
96
+ ? props.users.length - maxInternal.value
97
+ : 0;
98
+ });
99
+
100
+ const isLimitReached = computed(() => {
101
+ return (
102
+ (Array.isArray(props.users) && props.users.length > maxInternal.value) ??
103
+ false
104
+ );
105
+ });
106
+
107
+ const sizeClass = computed((): string => {
108
+ const base = 'h-9 w-9';
109
+
110
+ if (props.size == 'xs') {
111
+ return 'h-6 w-6';
112
+ }
113
+ if (props.size == 'sm') {
114
+ return 'h-8 w-8';
115
+ }
116
+ if (props.size == 'base') {
117
+ return base;
118
+ }
119
+ if (props.size == 'lg') {
120
+ return 'h-12 w-12';
121
+ }
122
+ if (props.size == 'xl') {
123
+ return 'h-14 w-14';
124
+ }
125
+ return base;
126
+ });
127
+
128
+ const fontSizeClass = computed((): string => {
129
+ const base = 'text-xs';
130
+
131
+ if (props.size == 'xs') {
132
+ return 'text-[8px]';
133
+ }
134
+ if (props.size == 'sm') {
135
+ return 'text-[10px]';
136
+ }
137
+ if (props.size == 'base') {
138
+ return 'text-xs';
139
+ }
140
+ if (props.size == 'lg') {
141
+ return 'text-sm';
142
+ }
143
+ if (props.size == 'xl') {
144
+ return 'text-sm';
145
+ }
146
+ return base;
147
+ });
148
+ </script>