sprintify-ui 0.1.15 → 0.1.17

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 (395) hide show
  1. package/README.md +229 -254
  2. package/dist/sprintify-ui.es.js +10346 -10218
  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 +33 -33
  6. package/dist/types/src/components/BaseActionItemButton.vue.d.ts +29 -29
  7. package/dist/types/src/components/BaseAddressForm.vue.d.ts +81 -81
  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 +232 -232
  13. package/dist/types/src/components/BaseAutocompleteDrawer.vue.d.ts +90 -90
  14. package/dist/types/src/components/BaseAutocompleteFetch.vue.d.ts +213 -213
  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 +50 -50
  18. package/dist/types/src/components/BaseBelongsTo.vue.d.ts +219 -219
  19. package/dist/types/src/components/BaseBoolean.vue.d.ts +15 -15
  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 +57 -57
  32. package/dist/types/src/components/BaseCropperModal.vue.d.ts +27 -27
  33. package/dist/types/src/components/BaseDataIterator.vue.d.ts +212 -212
  34. package/dist/types/src/components/BaseDataIteratorSectionBox.vue.d.ts +23 -23
  35. package/dist/types/src/components/BaseDataIteratorSectionButton.vue.d.ts +20 -20
  36. package/dist/types/src/components/BaseDataIteratorSectionColumns.vue.d.ts +665 -665
  37. package/dist/types/src/components/BaseDataIteratorSectionModal.vue.d.ts +29 -29
  38. package/dist/types/src/components/BaseDataTable.vue.d.ts +383 -383
  39. package/dist/types/src/components/BaseDataTableRowAction.vue.d.ts +18 -18
  40. package/dist/types/src/components/BaseDatePicker.vue.d.ts +84 -84
  41. package/dist/types/src/components/BaseDateSelect.vue.d.ts +70 -70
  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 +34 -34
  47. package/dist/types/src/components/BaseDropdown.vue.d.ts +62 -62
  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 +96 -96
  51. package/dist/types/src/components/BaseFilePicker.vue.d.ts +59 -59
  52. package/dist/types/src/components/BaseFilePickerCrop.vue.d.ts +57 -57
  53. package/dist/types/src/components/BaseFileUploader.vue.d.ts +85 -85
  54. package/dist/types/src/components/BaseForm.vue.d.ts +131 -131
  55. package/dist/types/src/components/BaseHasMany.vue.d.ts +152 -147
  56. package/dist/types/src/components/BaseHeader.vue.d.ts +80 -80
  57. package/dist/types/src/components/BaseIconPicker.vue.d.ts +38 -38
  58. package/dist/types/src/components/BaseInput.vue.d.ts +169 -169
  59. package/dist/types/src/components/BaseInputError.vue.d.ts +9 -9
  60. package/dist/types/src/components/BaseInputLabel.vue.d.ts +43 -43
  61. package/dist/types/src/components/BaseInputPercent.vue.d.ts +133 -133
  62. package/dist/types/src/components/BaseLayoutNotificationDropdown.vue.d.ts +36 -36
  63. package/dist/types/src/components/BaseLayoutNotificationItem.vue.d.ts +16 -16
  64. package/dist/types/src/components/BaseLayoutNotificationItemContent.vue.d.ts +18 -18
  65. package/dist/types/src/components/BaseLayoutSidebar.vue.d.ts +51 -51
  66. package/dist/types/src/components/BaseLayoutSidebarConfigurable.vue.d.ts +87 -87
  67. package/dist/types/src/components/BaseLayoutStacked.vue.d.ts +23 -23
  68. package/dist/types/src/components/BaseLayoutStackedConfigurable.vue.d.ts +78 -78
  69. package/dist/types/src/components/BaseLoadingCover.vue.d.ts +96 -96
  70. package/dist/types/src/components/BaseMediaGallery.vue.d.ts +64 -64
  71. package/dist/types/src/components/BaseMediaGalleryItem.vue.d.ts +45 -45
  72. package/dist/types/src/components/BaseMediaItem.vue.d.ts +27 -27
  73. package/dist/types/src/components/BaseMediaLibrary.vue.d.ts +172 -172
  74. package/dist/types/src/components/BaseMediaList.vue.d.ts +47 -47
  75. package/dist/types/src/components/BaseMediaListItem.vue.d.ts +47 -47
  76. package/dist/types/src/components/BaseMediaPictures.vue.d.ts +55 -55
  77. package/dist/types/src/components/BaseMediaPicturesItem.vue.d.ts +54 -54
  78. package/dist/types/src/components/BaseMediaPreview.vue.d.ts +36 -36
  79. package/dist/types/src/components/BaseMenu.vue.d.ts +68 -68
  80. package/dist/types/src/components/BaseMenuItem.vue.d.ts +61 -61
  81. package/dist/types/src/components/BaseModalCenter.vue.d.ts +79 -79
  82. package/dist/types/src/components/BaseModalSide.vue.d.ts +61 -61
  83. package/dist/types/src/components/BaseNavbar.vue.d.ts +35 -35
  84. package/dist/types/src/components/BaseNavbarItem.vue.d.ts +26 -26
  85. package/dist/types/src/components/BaseNavbarItemContent.vue.d.ts +60 -60
  86. package/dist/types/src/components/BaseNavbarSideItem.vue.d.ts +44 -44
  87. package/dist/types/src/components/BaseNavbarSideItemContent.vue.d.ts +60 -60
  88. package/dist/types/src/components/BaseNumber.vue.d.ts +125 -125
  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 +62 -62
  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 +97 -97
  97. package/dist/types/src/components/BaseShortcut.vue.d.ts +86 -86
  98. package/dist/types/src/components/BaseSideNavigation.vue.d.ts +33 -33
  99. package/dist/types/src/components/BaseSideNavigationItem.vue.d.ts +43 -43
  100. package/dist/types/src/components/BaseSkeleton.vue.d.ts +30 -30
  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 +43 -43
  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 +33 -33
  110. package/dist/types/src/components/BaseTagAutocomplete.vue.d.ts +204 -190
  111. package/dist/types/src/components/BaseTagAutocompleteFetch.vue.d.ts +144 -139
  112. package/dist/types/src/components/BaseTextarea.vue.d.ts +98 -98
  113. package/dist/types/src/components/BaseTextareaAutoresize.vue.d.ts +98 -98
  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/SlotComponent.d.ts +43 -43
  117. package/dist/types/src/components/index.d.ts +93 -93
  118. package/dist/types/src/composables/breakpoints.d.ts +27 -27
  119. package/dist/types/src/composables/clickOutside.d.ts +8 -8
  120. package/dist/types/src/composables/field.d.ts +19 -19
  121. package/dist/types/src/composables/hasOptions.d.ts +7 -7
  122. package/dist/types/src/composables/mediaQuery.d.ts +2 -2
  123. package/dist/types/src/composables/modal.d.ts +6 -6
  124. package/dist/types/src/composables/paginatedData.d.ts +7 -7
  125. package/dist/types/src/constants/MyConstants.d.ts +1 -1
  126. package/dist/types/src/constants/index.d.ts +2 -2
  127. package/dist/types/src/i18n/index.d.ts +1 -0
  128. package/dist/types/src/index.d.ts +220 -398
  129. package/dist/types/src/stores/dialogs.d.ts +9 -9
  130. package/dist/types/src/stores/i18n.d.ts +5 -0
  131. package/dist/types/src/stores/notifications.d.ts +10 -10
  132. package/dist/types/src/stores/systemAlerts.d.ts +9 -9
  133. package/dist/types/src/svg/BaseEmptyState.vue.d.ts +2 -2
  134. package/dist/types/src/svg/BaseSpinnerLarge.vue.d.ts +2 -2
  135. package/dist/types/src/svg/BaseSpinnerSmall.vue.d.ts +2 -2
  136. package/dist/types/src/types/Color.d.ts +9 -9
  137. package/dist/types/src/types/Country.d.ts +4 -4
  138. package/dist/types/src/types/ImagePickerResult.d.ts +5 -5
  139. package/dist/types/src/types/Media.d.ts +9 -9
  140. package/dist/types/src/types/Notification.d.ts +8 -8
  141. package/dist/types/src/types/Region.d.ts +5 -5
  142. package/dist/types/src/types/Status.d.ts +5 -5
  143. package/dist/types/src/types/StepperItem.d.ts +7 -7
  144. package/dist/types/src/types/TimelineItem.d.ts +8 -8
  145. package/dist/types/src/types/UploadedFile.d.ts +10 -10
  146. package/dist/types/src/types/User.d.ts +6 -6
  147. package/dist/types/src/types/index.d.ts +218 -218
  148. package/dist/types/src/utils/blob.d.ts +3 -3
  149. package/dist/types/src/utils/colors.d.ts +13 -13
  150. package/dist/types/src/utils/cropper/avatar.d.ts +5 -5
  151. package/dist/types/src/utils/cropper/cover.d.ts +5 -5
  152. package/dist/types/src/utils/cropper/presetInterface.d.ts +7 -7
  153. package/dist/types/src/utils/cropper/presets.d.ts +6 -6
  154. package/dist/types/src/utils/fileSizeFormat.d.ts +1 -1
  155. package/dist/types/src/utils/fileValidations.d.ts +2 -2
  156. package/dist/types/src/utils/index.d.ts +6 -6
  157. package/dist/types/src/utils/resizeImageFromURI.d.ts +1 -1
  158. package/dist/types/src/utils/scrollPreventer.d.ts +3 -3
  159. package/dist/types/src/utils/toHumanList.d.ts +1 -1
  160. package/package.json +139 -138
  161. package/src/assets/form.css +6 -6
  162. package/src/assets/main.css +35 -35
  163. package/src/assets/tailwind.css +2 -2
  164. package/src/components/BaseActionItem.vue +63 -63
  165. package/src/components/BaseActionItemButton.vue +75 -75
  166. package/src/components/BaseAddressForm.stories.js +103 -103
  167. package/src/components/BaseAddressForm.vue +353 -352
  168. package/src/components/BaseAlert.stories.js +52 -52
  169. package/src/components/BaseAlert.vue +152 -152
  170. package/src/components/BaseApp.vue +16 -16
  171. package/src/components/BaseAppDialogs.vue +124 -124
  172. package/src/components/BaseAppNotifications.vue +73 -73
  173. package/src/components/BaseAutocomplete.stories.js +236 -236
  174. package/src/components/BaseAutocomplete.vue +514 -514
  175. package/src/components/BaseAutocompleteDrawer.vue +354 -353
  176. package/src/components/BaseAutocompleteFetch.stories.js +224 -224
  177. package/src/components/BaseAutocompleteFetch.vue +277 -276
  178. package/src/components/BaseAvatar.stories.js +39 -39
  179. package/src/components/BaseAvatar.vue +120 -120
  180. package/src/components/BaseAvatarGroup.stories.js +71 -71
  181. package/src/components/BaseAvatarGroup.vue +148 -148
  182. package/src/components/BaseBadge.stories.js +124 -124
  183. package/src/components/BaseBadge.vue +79 -79
  184. package/src/components/BaseBelongsTo.stories.js +223 -223
  185. package/src/components/BaseBelongsTo.vue +184 -184
  186. package/src/components/BaseBoolean.stories.js +35 -35
  187. package/src/components/BaseBoolean.vue +26 -26
  188. package/src/components/BaseBreadcrumbs.stories.js +45 -45
  189. package/src/components/BaseBreadcrumbs.vue +98 -98
  190. package/src/components/BaseButton.stories.js +88 -88
  191. package/src/components/BaseButton.vue +39 -39
  192. package/src/components/BaseButtonGroup.stories.js +85 -85
  193. package/src/components/BaseButtonGroup.vue +147 -147
  194. package/src/components/BaseCard.stories.js +61 -61
  195. package/src/components/BaseCard.vue +49 -49
  196. package/src/components/BaseCardRow.vue +34 -34
  197. package/src/components/BaseCharacterCounter.stories.js +30 -30
  198. package/src/components/BaseCharacterCounter.vue +61 -60
  199. package/src/components/BaseClickOutside.vue +37 -37
  200. package/src/components/BaseClipboard.stories.js +31 -31
  201. package/src/components/BaseClipboard.vue +96 -94
  202. package/src/components/BaseColor.stories.js +46 -46
  203. package/src/components/BaseColor.vue +151 -151
  204. package/src/components/BaseContainer.stories.js +34 -34
  205. package/src/components/BaseContainer.vue +50 -50
  206. package/src/components/BaseCounter.stories.js +47 -47
  207. package/src/components/BaseCounter.vue +82 -82
  208. package/src/components/BaseCropper.stories.js +113 -113
  209. package/src/components/BaseCropper.vue +446 -449
  210. package/src/components/BaseCropperModal.stories.js +54 -54
  211. package/src/components/BaseCropperModal.vue +140 -139
  212. package/src/components/BaseDataIterator.stories.js +197 -197
  213. package/src/components/BaseDataIterator.vue +777 -778
  214. package/src/components/BaseDataIteratorSectionBox.vue +33 -33
  215. package/src/components/BaseDataIteratorSectionButton.vue +40 -40
  216. package/src/components/BaseDataIteratorSectionColumns.vue +67 -67
  217. package/src/components/BaseDataIteratorSectionModal.vue +41 -41
  218. package/src/components/BaseDataTable.stories.js +341 -341
  219. package/src/components/BaseDataTable.vue +724 -724
  220. package/src/components/BaseDataTableRowAction.vue +28 -28
  221. package/src/components/BaseDatePicker.stories.js +130 -130
  222. package/src/components/BaseDatePicker.vue +374 -374
  223. package/src/components/BaseDateSelect.stories.js +47 -47
  224. package/src/components/BaseDateSelect.vue +209 -209
  225. package/src/components/BaseDescriptionList.stories.js +35 -35
  226. package/src/components/BaseDescriptionList.vue +13 -13
  227. package/src/components/BaseDescriptionListItem.vue +47 -47
  228. package/src/components/BaseDialog.stories.js +51 -51
  229. package/src/components/BaseDialog.vue +119 -120
  230. package/src/components/BaseDisplayRelativeTime.stories.js +59 -59
  231. package/src/components/BaseDisplayRelativeTime.vue +120 -120
  232. package/src/components/BaseDraggable.vue +71 -71
  233. package/src/components/BaseDropdown.stories.js +210 -210
  234. package/src/components/BaseDropdown.vue +269 -269
  235. package/src/components/BaseDropdownAutocomplete.stories.js +187 -187
  236. package/src/components/BaseDropdownAutocomplete.vue +230 -230
  237. package/src/components/BaseField.vue +109 -109
  238. package/src/components/BaseFieldI18n.stories.js +38 -38
  239. package/src/components/BaseFieldI18n.vue +162 -162
  240. package/src/components/BaseFilePicker.stories.js +78 -78
  241. package/src/components/BaseFilePicker.vue +132 -133
  242. package/src/components/BaseFilePickerCrop.stories.js +134 -134
  243. package/src/components/BaseFilePickerCrop.vue +127 -127
  244. package/src/components/BaseFileUploader.stories.js +84 -84
  245. package/src/components/BaseFileUploader.vue +163 -163
  246. package/src/components/BaseForm.stories.js +48 -48
  247. package/src/components/BaseForm.vue +323 -323
  248. package/src/components/BaseHasMany.stories.js +189 -150
  249. package/src/components/BaseHasMany.vue +125 -119
  250. package/src/components/BaseHeader.stories.js +127 -127
  251. package/src/components/BaseHeader.vue +188 -188
  252. package/src/components/BaseIconPicker.stories.js +22 -22
  253. package/src/components/BaseIconPicker.vue +215 -214
  254. package/src/components/BaseInput.stories.js +151 -151
  255. package/src/components/BaseInput.vue +266 -266
  256. package/src/components/BaseInputError.vue +7 -7
  257. package/src/components/BaseInputLabel.stories.js +36 -36
  258. package/src/components/BaseInputLabel.vue +72 -72
  259. package/src/components/BaseInputPercent.stories.js +50 -50
  260. package/src/components/BaseInputPercent.vue +123 -123
  261. package/src/components/BaseLayoutNotificationDropdown.vue +144 -143
  262. package/src/components/BaseLayoutNotificationItem.vue +43 -43
  263. package/src/components/BaseLayoutNotificationItemContent.vue +27 -27
  264. package/src/components/BaseLayoutSidebar.vue +219 -219
  265. package/src/components/BaseLayoutSidebarConfigurable.stories.js +166 -166
  266. package/src/components/BaseLayoutSidebarConfigurable.vue +167 -167
  267. package/src/components/BaseLayoutStacked.vue +52 -52
  268. package/src/components/BaseLayoutStackedConfigurable.stories.js +109 -109
  269. package/src/components/BaseLayoutStackedConfigurable.vue +141 -141
  270. package/src/components/BaseLoadingCover.stories.js +55 -55
  271. package/src/components/BaseLoadingCover.vue +94 -94
  272. package/src/components/BaseMediaGallery.vue +93 -93
  273. package/src/components/BaseMediaGalleryItem.vue +92 -92
  274. package/src/components/BaseMediaItem.stories.js +41 -41
  275. package/src/components/BaseMediaItem.vue +71 -71
  276. package/src/components/BaseMediaLibrary.stories.js +262 -262
  277. package/src/components/BaseMediaLibrary.vue +313 -316
  278. package/src/components/BaseMediaList.vue +68 -68
  279. package/src/components/BaseMediaListItem.vue +172 -171
  280. package/src/components/BaseMediaPictures.vue +64 -64
  281. package/src/components/BaseMediaPicturesItem.vue +94 -94
  282. package/src/components/BaseMediaPreview.stories.js +72 -72
  283. package/src/components/BaseMediaPreview.vue +106 -106
  284. package/src/components/BaseMenu.stories.js +125 -125
  285. package/src/components/BaseMenu.vue +129 -129
  286. package/src/components/BaseMenuItem.vue +107 -107
  287. package/src/components/BaseModalCenter.stories.js +68 -68
  288. package/src/components/BaseModalCenter.vue +125 -125
  289. package/src/components/BaseModalSide.stories.js +55 -55
  290. package/src/components/BaseModalSide.vue +116 -116
  291. package/src/components/BaseNavbar.stories.js +151 -151
  292. package/src/components/BaseNavbar.vue +91 -91
  293. package/src/components/BaseNavbarItem.vue +49 -49
  294. package/src/components/BaseNavbarItemContent.vue +86 -86
  295. package/src/components/BaseNavbarSideItem.vue +111 -111
  296. package/src/components/BaseNavbarSideItemContent.vue +104 -104
  297. package/src/components/BaseNumber.stories.js +66 -66
  298. package/src/components/BaseNumber.vue +366 -346
  299. package/src/components/BasePagination.stories.js +35 -35
  300. package/src/components/BasePagination.vue +266 -265
  301. package/src/components/BasePanel.stories.js +56 -56
  302. package/src/components/BasePanel.vue +39 -39
  303. package/src/components/BasePassword.stories.js +41 -41
  304. package/src/components/BasePassword.vue +88 -88
  305. package/src/components/BaseProgressCircle.stories.js +27 -27
  306. package/src/components/BaseProgressCircle.vue +77 -77
  307. package/src/components/BaseRadioGroup.stories.js +88 -88
  308. package/src/components/BaseRadioGroup.vue +122 -122
  309. package/src/components/BaseReadMore.stories.js +30 -30
  310. package/src/components/BaseReadMore.vue +73 -72
  311. package/src/components/BaseRichText.stories.js +102 -102
  312. package/src/components/BaseRichText.vue +183 -183
  313. package/src/components/BaseSelect.stories.js +118 -118
  314. package/src/components/BaseSelect.vue +220 -219
  315. package/src/components/BaseShortcut.stories.js +102 -102
  316. package/src/components/BaseShortcut.vue +105 -105
  317. package/src/components/BaseSideNavigation.stories.js +80 -80
  318. package/src/components/BaseSideNavigation.vue +29 -29
  319. package/src/components/BaseSideNavigationItem.vue +92 -92
  320. package/src/components/BaseSkeleton.stories.js +36 -36
  321. package/src/components/BaseSkeleton.vue +24 -24
  322. package/src/components/BaseStatistic.stories.js +51 -51
  323. package/src/components/BaseStatistic.vue +98 -98
  324. package/src/components/BaseStepper.stories.js +94 -94
  325. package/src/components/BaseStepper.vue +69 -69
  326. package/src/components/BaseStepperItem.stories.js +65 -65
  327. package/src/components/BaseStepperItem.vue +149 -149
  328. package/src/components/BaseSwitch.stories.js +131 -131
  329. package/src/components/BaseSwitch.vue +209 -209
  330. package/src/components/BaseSystemAlert.stories.js +63 -63
  331. package/src/components/BaseSystemAlert.vue +86 -86
  332. package/src/components/BaseTabItem.vue +93 -93
  333. package/src/components/BaseTable.vue +880 -880
  334. package/src/components/BaseTableColumn.vue +124 -124
  335. package/src/components/BaseTabs.stories.js +85 -85
  336. package/src/components/BaseTabs.vue +73 -73
  337. package/src/components/BaseTagAutocomplete.stories.js +258 -179
  338. package/src/components/BaseTagAutocomplete.vue +428 -414
  339. package/src/components/BaseTagAutocompleteFetch.stories.js +185 -146
  340. package/src/components/BaseTagAutocompleteFetch.vue +206 -201
  341. package/src/components/BaseTextarea.stories.js +43 -43
  342. package/src/components/BaseTextarea.vue +87 -87
  343. package/src/components/BaseTextareaAutoresize.stories.js +58 -58
  344. package/src/components/BaseTextareaAutoresize.vue +140 -140
  345. package/src/components/BaseTimeline.stories.js +53 -53
  346. package/src/components/BaseTimeline.vue +29 -29
  347. package/src/components/BaseTimelineItem.stories.js +78 -78
  348. package/src/components/BaseTimelineItem.vue +79 -79
  349. package/src/components/SlotComponent.ts +37 -37
  350. package/src/components/index.ts +188 -188
  351. package/src/composables/breakpoints.ts +94 -94
  352. package/src/composables/clickOutside.ts +80 -80
  353. package/src/composables/field.ts +117 -117
  354. package/src/composables/hasOptions.ts +68 -68
  355. package/src/composables/mediaQuery.ts +42 -42
  356. package/src/composables/modal.ts +73 -73
  357. package/src/composables/paginatedData.ts +65 -65
  358. package/src/constants/MyConstants.ts +1 -1
  359. package/src/constants/index.ts +5 -5
  360. package/src/env.d.ts +15 -15
  361. package/src/i18n/index.ts +60 -0
  362. package/src/index.ts +111 -111
  363. package/src/lang/en.json +87 -87
  364. package/src/lang/fr.json +87 -87
  365. package/src/stores/dialogs.ts +45 -45
  366. package/src/stores/i18n.ts +14 -0
  367. package/src/stores/notifications.ts +47 -47
  368. package/src/stores/systemAlerts.ts +33 -33
  369. package/src/svg/BaseEmptyState.vue +34 -34
  370. package/src/svg/BaseSpinnerLarge.vue +47 -47
  371. package/src/svg/BaseSpinnerSmall.vue +9 -9
  372. package/src/types/Color.ts +9 -9
  373. package/src/types/Country.ts +4 -4
  374. package/src/types/ImagePickerResult.ts +5 -5
  375. package/src/types/Media.ts +10 -10
  376. package/src/types/Notification.ts +10 -10
  377. package/src/types/Region.ts +5 -5
  378. package/src/types/Status.ts +5 -5
  379. package/src/types/StepperItem.ts +8 -8
  380. package/src/types/TimelineItem.ts +8 -8
  381. package/src/types/UploadedFile.ts +11 -11
  382. package/src/types/User.ts +7 -7
  383. package/src/types/index.ts +267 -267
  384. package/src/utils/blob.ts +30 -30
  385. package/src/utils/colors.ts +200 -200
  386. package/src/utils/cropper/avatar.ts +33 -33
  387. package/src/utils/cropper/cover.ts +41 -41
  388. package/src/utils/cropper/presetInterface.ts +16 -16
  389. package/src/utils/cropper/presets.ts +7 -7
  390. package/src/utils/fileSizeFormat.ts +15 -15
  391. package/src/utils/fileValidations.ts +26 -26
  392. package/src/utils/index.ts +16 -16
  393. package/src/utils/resizeImageFromURI.ts +118 -118
  394. package/src/utils/scrollPreventer.ts +11 -11
  395. package/src/utils/toHumanList.ts +20 -20
@@ -1,352 +1,353 @@
1
- <template>
2
- <BaseField
3
- :label="$t('sui.address')"
4
- :name="`${namePrefix}address_1`"
5
- class="mb-2"
6
- required
7
- >
8
- <BaseInput
9
- ref="address1Ref"
10
- :model-value="normalizedModelValue.address_1 ?? ''"
11
- :placeholder="$t('sui.address_1_placeholder')"
12
- class="w-full"
13
- prevent-submit
14
- name="address_search_field"
15
- :autocomplete="false"
16
- :required="false"
17
- @update:model-value="update('address_1', $event)"
18
- />
19
- </BaseField>
20
-
21
- <BaseField :name="`${namePrefix}address_2`" class="mb-4">
22
- <BaseInput
23
- :model-value="normalizedModelValue.address_2 ?? ''"
24
- :placeholder="$t('sui.address_2_description')"
25
- class="w-full"
26
- @update:model-value="update('address_2', $event)"
27
- />
28
- </BaseField>
29
-
30
- <div class="sm:flex sm:space-x-3">
31
- <BaseField
32
- :label="$t('sui.city')"
33
- required
34
- :name="`${namePrefix}city`"
35
- class="mb-4 flex-1"
36
- >
37
- <BaseInput
38
- :model-value="normalizedModelValue.city ?? ''"
39
- class="w-full"
40
- @update:model-value="update('city', $event)"
41
- />
42
- </BaseField>
43
- <BaseField
44
- :label="$t('sui.postal_code_zip_code')"
45
- required
46
- :name="`${namePrefix}postal_code`"
47
- class="mb-4 flex-1"
48
- >
49
- <BaseInput
50
- :model-value="normalizedModelValue.postal_code ?? ''"
51
- class="w-full"
52
- @update:model-value="update('postal_code', $event)"
53
- />
54
- </BaseField>
55
- </div>
56
- <div class="sm:flex sm:space-x-3">
57
- <BaseField
58
- v-if="!props.hideCountry"
59
- :label="$t('sui.country')"
60
- :name="`${namePrefix}country`"
61
- required
62
- class="mb-4 flex-1"
63
- >
64
- <BaseSelect
65
- :model-value="normalizedModelValue.country ?? ''"
66
- class="w-full"
67
- :options="countries"
68
- label-key="name"
69
- :disabled="props.restrictCountry"
70
- value-key="id"
71
- @update:model-value="update('country', $event)"
72
- >
73
- </BaseSelect>
74
- </BaseField>
75
- <BaseField
76
- v-if="!props.hideRegion"
77
- :label="$t('sui.region')"
78
- :name="`${namePrefix}region`"
79
- required
80
- class="mb-4 flex-1"
81
- >
82
- <BaseSelect
83
- :model-value="normalizedModelValue.region ?? ''"
84
- class="w-full"
85
- required
86
- :options="regions"
87
- label-key="name"
88
- value-key="id"
89
- @update:model-value="update('region', $event)"
90
- >
91
- </BaseSelect>
92
- </BaseField>
93
- </div>
94
- </template>
95
-
96
- <script lang="ts" setup>
97
- import { ComputedRef } from 'vue';
98
- import { cloneDeep, isArray } from 'lodash';
99
- import { Country } from '@/types/Country';
100
- import { Region } from '@/types/Region';
101
- import BaseField from './BaseField.vue';
102
- import BaseInput from './BaseInput.vue';
103
- import BaseSelect from './BaseSelect.vue';
104
- import { config } from '..';
105
-
106
- const DEFAULT_COUNTRY = 'ca';
107
-
108
- type Address = {
109
- address_1?: string | null;
110
- address_2?: string | null;
111
- postal_code?: string | null;
112
- city?: string | null;
113
- region?: string | null;
114
- country?: string | null;
115
- };
116
-
117
- const props = withDefaults(
118
- defineProps<{
119
- modelValue: undefined | null | Address;
120
- prefix: string | null;
121
- countries?: Country[];
122
- regions?: Region[];
123
- restrictCountry?: boolean;
124
- hideRegion?: boolean;
125
- hideCountry?: boolean;
126
- }>(),
127
- {
128
- modelValue() {
129
- return {};
130
- },
131
- prefix: null,
132
- countries() {
133
- return [];
134
- },
135
- regions() {
136
- return [];
137
- },
138
- restrictCountry: false,
139
- hideRegion: false,
140
- hideCountry: false,
141
- }
142
- );
143
-
144
- const emit = defineEmits(['update:model-value']);
145
-
146
- const normalizedModelValue = computed((): Address => {
147
- const form = cloneDeep(props.modelValue ?? {}) as Address;
148
- form.address_1 = form.address_1 ?? '';
149
- form.address_2 = form.address_2 ?? '';
150
- form.city = form.city ?? '';
151
- form.postal_code = form.postal_code ?? '';
152
- form.country = form.country ?? '';
153
- form.region = form.region ?? '';
154
- return form;
155
- });
156
-
157
- const normalizedCountry = computed((): string | null => {
158
- if (props.restrictCountry) {
159
- if (normalizedModelValue.value.country) {
160
- return normalizedModelValue.value.country;
161
- }
162
- return DEFAULT_COUNTRY;
163
- }
164
- return normalizedModelValue.value.country ?? null;
165
- });
166
-
167
- const countries = computed((): Country[] => {
168
- if (props.countries && isArray(props.countries) && props.countries.length) {
169
- return props.countries;
170
- }
171
- return config.countries;
172
- });
173
-
174
- const allRegions = computed((): Region[] => {
175
- if (props.regions && isArray(props.regions) && props.regions.length) {
176
- return props.regions;
177
- }
178
- return config.regions;
179
- });
180
-
181
- const regions = computed((): Country[] => {
182
- return allRegions.value.filter(
183
- (r) => r.country_id == normalizedModelValue.value.country
184
- );
185
- });
186
-
187
- const namePrefix = computed((): string => {
188
- if (props.prefix) {
189
- return props.prefix + '.';
190
- }
191
- return '';
192
- });
193
-
194
- function update(field: keyof Address, value: string) {
195
- const newForm = cloneDeep(normalizedModelValue.value);
196
- newForm[field] = value;
197
- emit('update:model-value', newForm);
198
- }
199
-
200
- // Autocomplete
201
-
202
- const address1Ref = ref<InstanceType<typeof BaseInput> | null>(null);
203
- const address1Input = computed(
204
- () => address1Ref.value?.$refs.input ?? null
205
- ) as ComputedRef<HTMLInputElement | null>;
206
-
207
- // eslint-disable-next-line no-undef
208
- let autocomplete = null as google.maps.places.Autocomplete | null;
209
-
210
- onMounted(() => {
211
- if (!window.google) {
212
- return;
213
- }
214
-
215
- if (!address1Input.value) {
216
- return;
217
- }
218
-
219
- autocomplete = new window.google.maps.places.Autocomplete(
220
- address1Input.value
221
- );
222
-
223
- setAutocompleteOptions();
224
-
225
- autocomplete.addListener('place_changed', fillAddress);
226
- });
227
-
228
- watch(
229
- () => props.modelValue?.country + ' ' + props.restrictCountry,
230
- () => {
231
- setAutocompleteOptions();
232
- }
233
- );
234
-
235
- function setAutocompleteOptions() {
236
- if (!autocomplete) {
237
- return;
238
- }
239
-
240
- const options = {
241
- fields: ['address_components'],
242
- types: ['address'],
243
- } as any;
244
-
245
- if (props.restrictCountry) {
246
- if (normalizedCountry.value) {
247
- options.componentRestrictions = {
248
- country: normalizedCountry.value,
249
- };
250
- }
251
- }
252
-
253
- autocomplete.setOptions(options);
254
- }
255
-
256
- function fillAddress() {
257
- if (!autocomplete) {
258
- return;
259
- }
260
-
261
- // Get the place details from the autocomplete object.
262
- const place = autocomplete.getPlace();
263
- let address1 = '';
264
- let postcode = '';
265
- let region = '';
266
-
267
- const newForm = cloneDeep(props.modelValue ?? {});
268
-
269
- if (!place.address_components) {
270
- return;
271
- }
272
-
273
- // Get each component of the address from the place details,
274
- // and then fill-in the corresponding field on the form.
275
- // place.address_components are google.maps.GeocoderAddressComponent objects
276
- // which are documented at http://goo.gle/3l5i5Mr
277
- // eslint-disable-next-line no-undef
278
- for (const component of place.address_components as google.maps.GeocoderAddressComponent[]) {
279
- const componentType = component.types[0];
280
- switch (componentType) {
281
- case 'street_number': {
282
- address1 = `${component.long_name} ${address1}`;
283
- break;
284
- }
285
- case 'route': {
286
- address1 += component.long_name;
287
- break;
288
- }
289
- case 'postal_code': {
290
- postcode = `${component.long_name}${postcode}`;
291
- break;
292
- }
293
- case 'postal_code_suffix': {
294
- postcode = `${postcode}-${component.long_name}`;
295
- break;
296
- }
297
- case 'locality':
298
- newForm.city = component.long_name;
299
- break;
300
- case 'administrative_area_level_1': {
301
- region = component.short_name.toLowerCase();
302
- break;
303
- }
304
- case 'country':
305
- newForm.country = component.short_name.toLowerCase();
306
- break;
307
- }
308
- }
309
-
310
- newForm.region = newForm.country + '-' + region;
311
- newForm.address_1 = address1;
312
- newForm.postal_code = postcode;
313
-
314
- nextTick(() => {
315
- // Force value change
316
- /* if (address1Input.value) {
317
- address1Input.value.value = address1;
318
- } */
319
-
320
- emit('update:model-value', newForm);
321
- });
322
- }
323
- </script>
324
-
325
- <style lang="postcss">
326
- .pac-container {
327
- @apply rounded-lg border border-gray-200 font-sans shadow-md;
328
-
329
- & .pac-item {
330
- @apply flex cursor-pointer items-center py-2 pl-2;
331
- }
332
-
333
- & .pac-icon {
334
- @apply m-0 mr-2;
335
- }
336
-
337
- & .pac-item,
338
- & .pac-item-query,
339
- & .pac-matched {
340
- @apply text-base;
341
- }
342
-
343
- & .pac-matched {
344
- @apply font-semibold;
345
- }
346
-
347
- &:after {
348
- background-image: none !important;
349
- @apply h-0 p-0;
350
- }
351
- }
352
- </style>
1
+ <template>
2
+ <BaseField
3
+ :label="t('sui.address')"
4
+ :name="`${namePrefix}address_1`"
5
+ class="mb-2"
6
+ required
7
+ >
8
+ <BaseInput
9
+ ref="address1Ref"
10
+ :model-value="normalizedModelValue.address_1 ?? ''"
11
+ :placeholder="t('sui.address_1_placeholder')"
12
+ class="w-full"
13
+ prevent-submit
14
+ name="address_search_field"
15
+ :autocomplete="false"
16
+ :required="false"
17
+ @update:model-value="update('address_1', $event)"
18
+ />
19
+ </BaseField>
20
+
21
+ <BaseField :name="`${namePrefix}address_2`" class="mb-4">
22
+ <BaseInput
23
+ :model-value="normalizedModelValue.address_2 ?? ''"
24
+ :placeholder="t('sui.address_2_description')"
25
+ class="w-full"
26
+ @update:model-value="update('address_2', $event)"
27
+ />
28
+ </BaseField>
29
+
30
+ <div class="sm:flex sm:space-x-3">
31
+ <BaseField
32
+ :label="t('sui.city')"
33
+ required
34
+ :name="`${namePrefix}city`"
35
+ class="mb-4 flex-1"
36
+ >
37
+ <BaseInput
38
+ :model-value="normalizedModelValue.city ?? ''"
39
+ class="w-full"
40
+ @update:model-value="update('city', $event)"
41
+ />
42
+ </BaseField>
43
+ <BaseField
44
+ :label="t('sui.postal_code_zip_code')"
45
+ required
46
+ :name="`${namePrefix}postal_code`"
47
+ class="mb-4 flex-1"
48
+ >
49
+ <BaseInput
50
+ :model-value="normalizedModelValue.postal_code ?? ''"
51
+ class="w-full"
52
+ @update:model-value="update('postal_code', $event)"
53
+ />
54
+ </BaseField>
55
+ </div>
56
+ <div class="sm:flex sm:space-x-3">
57
+ <BaseField
58
+ v-if="!props.hideCountry"
59
+ :label="t('sui.country')"
60
+ :name="`${namePrefix}country`"
61
+ required
62
+ class="mb-4 flex-1"
63
+ >
64
+ <BaseSelect
65
+ :model-value="normalizedModelValue.country ?? ''"
66
+ class="w-full"
67
+ :options="countries"
68
+ label-key="name"
69
+ :disabled="props.restrictCountry"
70
+ value-key="id"
71
+ @update:model-value="update('country', $event)"
72
+ >
73
+ </BaseSelect>
74
+ </BaseField>
75
+ <BaseField
76
+ v-if="!props.hideRegion"
77
+ :label="t('sui.region')"
78
+ :name="`${namePrefix}region`"
79
+ required
80
+ class="mb-4 flex-1"
81
+ >
82
+ <BaseSelect
83
+ :model-value="normalizedModelValue.region ?? ''"
84
+ class="w-full"
85
+ required
86
+ :options="regions"
87
+ label-key="name"
88
+ value-key="id"
89
+ @update:model-value="update('region', $event)"
90
+ >
91
+ </BaseSelect>
92
+ </BaseField>
93
+ </div>
94
+ </template>
95
+
96
+ <script lang="ts" setup>
97
+ import { ComputedRef } from 'vue';
98
+ import { cloneDeep, isArray } from 'lodash';
99
+ import { Country } from '@/types/Country';
100
+ import { Region } from '@/types/Region';
101
+ import BaseField from './BaseField.vue';
102
+ import BaseInput from './BaseInput.vue';
103
+ import BaseSelect from './BaseSelect.vue';
104
+ import { t } from '@/i18n';
105
+ import { config } from '..';
106
+
107
+ const DEFAULT_COUNTRY = 'ca';
108
+
109
+ type Address = {
110
+ address_1?: string | null;
111
+ address_2?: string | null;
112
+ postal_code?: string | null;
113
+ city?: string | null;
114
+ region?: string | null;
115
+ country?: string | null;
116
+ };
117
+
118
+ const props = withDefaults(
119
+ defineProps<{
120
+ modelValue: undefined | null | Address;
121
+ prefix: string | null;
122
+ countries?: Country[];
123
+ regions?: Region[];
124
+ restrictCountry?: boolean;
125
+ hideRegion?: boolean;
126
+ hideCountry?: boolean;
127
+ }>(),
128
+ {
129
+ modelValue() {
130
+ return {};
131
+ },
132
+ prefix: null,
133
+ countries() {
134
+ return [];
135
+ },
136
+ regions() {
137
+ return [];
138
+ },
139
+ restrictCountry: false,
140
+ hideRegion: false,
141
+ hideCountry: false,
142
+ }
143
+ );
144
+
145
+ const emit = defineEmits(['update:model-value']);
146
+
147
+ const normalizedModelValue = computed((): Address => {
148
+ const form = cloneDeep(props.modelValue ?? {}) as Address;
149
+ form.address_1 = form.address_1 ?? '';
150
+ form.address_2 = form.address_2 ?? '';
151
+ form.city = form.city ?? '';
152
+ form.postal_code = form.postal_code ?? '';
153
+ form.country = form.country ?? '';
154
+ form.region = form.region ?? '';
155
+ return form;
156
+ });
157
+
158
+ const normalizedCountry = computed((): string | null => {
159
+ if (props.restrictCountry) {
160
+ if (normalizedModelValue.value.country) {
161
+ return normalizedModelValue.value.country;
162
+ }
163
+ return DEFAULT_COUNTRY;
164
+ }
165
+ return normalizedModelValue.value.country ?? null;
166
+ });
167
+
168
+ const countries = computed((): Country[] => {
169
+ if (props.countries && isArray(props.countries) && props.countries.length) {
170
+ return props.countries;
171
+ }
172
+ return config.countries;
173
+ });
174
+
175
+ const allRegions = computed((): Region[] => {
176
+ if (props.regions && isArray(props.regions) && props.regions.length) {
177
+ return props.regions;
178
+ }
179
+ return config.regions;
180
+ });
181
+
182
+ const regions = computed((): Country[] => {
183
+ return allRegions.value.filter(
184
+ (r) => r.country_id == normalizedModelValue.value.country
185
+ );
186
+ });
187
+
188
+ const namePrefix = computed((): string => {
189
+ if (props.prefix) {
190
+ return props.prefix + '.';
191
+ }
192
+ return '';
193
+ });
194
+
195
+ function update(field: keyof Address, value: string) {
196
+ const newForm = cloneDeep(normalizedModelValue.value);
197
+ newForm[field] = value;
198
+ emit('update:model-value', newForm);
199
+ }
200
+
201
+ // Autocomplete
202
+
203
+ const address1Ref = ref<InstanceType<typeof BaseInput> | null>(null);
204
+ const address1Input = computed(
205
+ () => address1Ref.value?.$refs.input ?? null
206
+ ) as ComputedRef<HTMLInputElement | null>;
207
+
208
+ // eslint-disable-next-line no-undef
209
+ let autocomplete = null as google.maps.places.Autocomplete | null;
210
+
211
+ onMounted(() => {
212
+ if (!window.google) {
213
+ return;
214
+ }
215
+
216
+ if (!address1Input.value) {
217
+ return;
218
+ }
219
+
220
+ autocomplete = new window.google.maps.places.Autocomplete(
221
+ address1Input.value
222
+ );
223
+
224
+ setAutocompleteOptions();
225
+
226
+ autocomplete.addListener('place_changed', fillAddress);
227
+ });
228
+
229
+ watch(
230
+ () => props.modelValue?.country + ' ' + props.restrictCountry,
231
+ () => {
232
+ setAutocompleteOptions();
233
+ }
234
+ );
235
+
236
+ function setAutocompleteOptions() {
237
+ if (!autocomplete) {
238
+ return;
239
+ }
240
+
241
+ const options = {
242
+ fields: ['address_components'],
243
+ types: ['address'],
244
+ } as any;
245
+
246
+ if (props.restrictCountry) {
247
+ if (normalizedCountry.value) {
248
+ options.componentRestrictions = {
249
+ country: normalizedCountry.value,
250
+ };
251
+ }
252
+ }
253
+
254
+ autocomplete.setOptions(options);
255
+ }
256
+
257
+ function fillAddress() {
258
+ if (!autocomplete) {
259
+ return;
260
+ }
261
+
262
+ // Get the place details from the autocomplete object.
263
+ const place = autocomplete.getPlace();
264
+ let address1 = '';
265
+ let postcode = '';
266
+ let region = '';
267
+
268
+ const newForm = cloneDeep(props.modelValue ?? {});
269
+
270
+ if (!place.address_components) {
271
+ return;
272
+ }
273
+
274
+ // Get each component of the address from the place details,
275
+ // and then fill-in the corresponding field on the form.
276
+ // place.address_components are google.maps.GeocoderAddressComponent objects
277
+ // which are documented at http://goo.gle/3l5i5Mr
278
+ // eslint-disable-next-line no-undef
279
+ for (const component of place.address_components as google.maps.GeocoderAddressComponent[]) {
280
+ const componentType = component.types[0];
281
+ switch (componentType) {
282
+ case 'street_number': {
283
+ address1 = `${component.long_name} ${address1}`;
284
+ break;
285
+ }
286
+ case 'route': {
287
+ address1 += component.long_name;
288
+ break;
289
+ }
290
+ case 'postal_code': {
291
+ postcode = `${component.long_name}${postcode}`;
292
+ break;
293
+ }
294
+ case 'postal_code_suffix': {
295
+ postcode = `${postcode}-${component.long_name}`;
296
+ break;
297
+ }
298
+ case 'locality':
299
+ newForm.city = component.long_name;
300
+ break;
301
+ case 'administrative_area_level_1': {
302
+ region = component.short_name.toLowerCase();
303
+ break;
304
+ }
305
+ case 'country':
306
+ newForm.country = component.short_name.toLowerCase();
307
+ break;
308
+ }
309
+ }
310
+
311
+ newForm.region = newForm.country + '-' + region;
312
+ newForm.address_1 = address1;
313
+ newForm.postal_code = postcode;
314
+
315
+ nextTick(() => {
316
+ // Force value change
317
+ /* if (address1Input.value) {
318
+ address1Input.value.value = address1;
319
+ } */
320
+
321
+ emit('update:model-value', newForm);
322
+ });
323
+ }
324
+ </script>
325
+
326
+ <style lang="postcss">
327
+ .pac-container {
328
+ @apply rounded-lg border border-gray-200 font-sans shadow-md;
329
+
330
+ & .pac-item {
331
+ @apply flex cursor-pointer items-center py-2 pl-2;
332
+ }
333
+
334
+ & .pac-icon {
335
+ @apply m-0 mr-2;
336
+ }
337
+
338
+ & .pac-item,
339
+ & .pac-item-query,
340
+ & .pac-matched {
341
+ @apply text-base;
342
+ }
343
+
344
+ & .pac-matched {
345
+ @apply font-semibold;
346
+ }
347
+
348
+ &:after {
349
+ background-image: none !important;
350
+ @apply h-0 p-0;
351
+ }
352
+ }
353
+ </style>