@livestorm/ui-vue 1.1.3 → 2.0.1

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 (401) hide show
  1. package/README.md +154 -32
  2. package/components-vite.js +5 -5
  3. package/components.d.ts +3 -3
  4. package/dist/UiTimelineItem.vue_vue_type_style_index_0_lang-BN5208td.mjs +5452 -0
  5. package/dist/a11y--y7uaY4j.mjs +217 -0
  6. package/dist/breakpoints.mjs +9 -0
  7. package/dist/bus.mjs +5 -0
  8. package/dist/components.mjs +215 -1663
  9. package/dist/index.mjs +85 -166
  10. package/dist/integrations.mjs +8 -0
  11. package/dist/layouts.mjs +236 -0
  12. package/dist/responsive.mjs +25 -0
  13. package/dist/slot.mjs +21 -0
  14. package/dist/toastDSV2-wMh-UMzW.mjs +74 -0
  15. package/dist/types/index.d.ts +84 -0
  16. package/dist/types/src/components/Toast/LayoutToasts.vue.d.ts +3 -0
  17. package/dist/types/src/components/Toast/ToastMessage.vue.d.ts +21 -0
  18. package/dist/types/src/components/Toast/toastDSV2.d.ts +102 -0
  19. package/dist/types/src/components/UiActionBar/UiActionBar.vue.d.ts +44 -0
  20. package/dist/types/src/components/UiActionBar/UiActionBarItem.vue.d.ts +47 -0
  21. package/dist/types/src/components/UiActionBar/UiActionBarSeparator.vue.d.ts +3 -0
  22. package/dist/types/src/components/UiActionBar/index.d.ts +4 -0
  23. package/dist/types/src/components/UiActionBar/types.d.ts +14 -0
  24. package/dist/types/src/components/UiAnimatedLogo/UiAnimatedLogo.vue.d.ts +10 -0
  25. package/dist/types/src/components/UiAnimatedLogo/animations-links.d.ts +3 -0
  26. package/dist/types/src/components/UiAvatar/UiAvatar.vue.d.ts +55 -0
  27. package/dist/types/src/components/UiAvatar/index.d.ts +1 -0
  28. package/dist/types/src/components/UiAvatarList/UiAvatarList.vue.d.ts +28 -0
  29. package/dist/types/src/components/UiAvatarList/index.d.ts +1 -0
  30. package/dist/types/src/components/UiBadge/UiBadge.vue.d.ts +47 -0
  31. package/dist/types/src/components/UiBadge/index.d.ts +1 -0
  32. package/dist/types/src/components/UiBanner/UiBanner.vue.d.ts +96 -0
  33. package/dist/types/src/components/UiBanner/index.d.ts +2 -0
  34. package/dist/types/src/components/UiBreadcrumb/UiBreadcrumb.vue.d.ts +15 -0
  35. package/dist/types/src/components/UiBreadcrumb/index.d.ts +2 -0
  36. package/dist/types/src/components/UiButton/UiButton.vue.d.ts +280 -0
  37. package/dist/types/src/components/UiButtonGroup/UiButtonGroup.vue.d.ts +42 -0
  38. package/dist/types/src/components/UiButtonGroup/UiButtonGroupItem.vue.d.ts +21 -0
  39. package/dist/types/src/components/UiButtonGroup/index.d.ts +3 -0
  40. package/dist/types/src/components/UiButtonGroup/types.d.ts +10 -0
  41. package/dist/types/src/components/UiCard/UiCard.vue.d.ts +31 -0
  42. package/dist/types/src/components/UiCarousel/UiCarousel.vue.d.ts +63 -0
  43. package/dist/types/src/components/UiCarousel/index.d.ts +2 -0
  44. package/dist/types/src/components/UiColorField/UiColorField.vue.d.ts +19 -0
  45. package/dist/types/src/components/UiColorField/index.d.ts +2 -0
  46. package/dist/types/src/components/UiColorField/types.d.ts +29 -0
  47. package/dist/types/src/components/UiColorPicker/UiColorPicker.vue.d.ts +35 -0
  48. package/dist/types/src/components/UiColorPicker/index.d.ts +2 -0
  49. package/dist/types/src/components/UiColorPicker/types.d.ts +97 -0
  50. package/dist/types/src/components/UiDialog/MarketplaceHeaderExample.vue.d.ts +28 -0
  51. package/dist/types/src/components/UiDialog/UiDialog.vue.d.ts +18 -0
  52. package/dist/types/src/components/UiDialog/UiDialogClose.vue.d.ts +10 -0
  53. package/dist/types/src/components/UiDialog/UiDialogContent.vue.d.ts +54 -0
  54. package/dist/types/src/components/UiDialog/UiDialogFooter.vue.d.ts +13 -0
  55. package/dist/types/src/components/UiDialog/UiDialogTrigger.vue.d.ts +14 -0
  56. package/dist/types/src/components/UiDialog/index.d.ts +7 -0
  57. package/dist/types/src/components/UiDropdown/UiDropdown.vue.d.ts +42 -0
  58. package/dist/types/src/components/UiDropdown/UiDropdownContent.vue.d.ts +32 -0
  59. package/dist/types/src/components/UiDropdown/UiDropdownItem.vue.d.ts +27 -0
  60. package/dist/types/src/components/UiDropdown/UiDropdownSeparator.vue.d.ts +3 -0
  61. package/dist/types/src/components/UiDropdown/UiDropdownTrigger.vue.d.ts +45 -0
  62. package/dist/types/src/components/UiDropdown/context.d.ts +7 -0
  63. package/dist/types/src/components/UiDropdown/index.d.ts +6 -0
  64. package/dist/types/src/components/UiEmptyState/UiEmptyState.vue.d.ts +29 -0
  65. package/dist/types/src/components/UiFieldWrapper/UiFieldWrapper.vue.d.ts +36 -0
  66. package/dist/types/src/components/UiFieldWrapper/index.d.ts +1 -0
  67. package/dist/types/src/components/UiForm/UiFormField.types.d.ts +22 -0
  68. package/dist/types/src/components/UiForm/UiFormField.vue.d.ts +34 -0
  69. package/dist/types/src/components/UiForm/index.d.ts +3 -0
  70. package/dist/types/src/components/UiHorizontalSeparator/UiHorizontalSeparator.vue.d.ts +6 -0
  71. package/dist/types/src/components/UiInputCheckbox/UiInputCheckbox.vue.d.ts +108 -0
  72. package/dist/types/src/components/UiInputCheckbox/index.d.ts +2 -0
  73. package/dist/types/src/components/UiInputCheckbox/types.d.ts +1 -0
  74. package/dist/types/src/components/UiInputSelect/UiInputSelect.vue.d.ts +66 -0
  75. package/dist/types/src/components/UiInputSelect/index.d.ts +2 -0
  76. package/dist/types/src/components/UiInputSelect/types.d.ts +1 -0
  77. package/dist/types/src/components/UiInputTextarea/UiInputTextarea.vue.d.ts +49 -0
  78. package/dist/types/src/components/UiInputTextarea/index.d.ts +2 -0
  79. package/dist/types/src/components/UiInputTextarea/types.d.ts +1 -0
  80. package/dist/types/src/components/UiLabel/UiLabel.vue.d.ts +17 -0
  81. package/dist/types/src/components/UiList/UiList.vue.d.ts +27 -0
  82. package/dist/types/src/components/UiListItem/UiListItem.vue.d.ts +35 -0
  83. package/dist/types/src/components/UiLoader/UiLoader.vue.d.ts +17 -0
  84. package/dist/types/src/components/UiLogo/UiLogo.vue.d.ts +20 -0
  85. package/dist/types/src/components/UiLogo/variants/PulseVariant.vue.d.ts +3 -0
  86. package/dist/types/src/components/UiLogo/variants/TornadoVariant.vue.d.ts +3 -0
  87. package/dist/types/src/components/UiMenu/UiMenu.vue.d.ts +18 -0
  88. package/dist/types/src/components/UiMenu/UiMenuContent.vue.d.ts +30 -0
  89. package/dist/types/src/components/UiMenu/UiMenuGroup.vue.d.ts +16 -0
  90. package/dist/types/src/components/UiMenu/UiMenuItem.vue.d.ts +18 -0
  91. package/dist/types/src/components/UiMenu/UiMenuLabel.vue.d.ts +13 -0
  92. package/dist/types/src/components/UiMenu/UiMenuSeparator.vue.d.ts +13 -0
  93. package/dist/types/src/components/UiMenu/UiMenuSub.vue.d.ts +18 -0
  94. package/dist/types/src/components/UiMenu/UiMenuSubContent.vue.d.ts +32 -0
  95. package/dist/types/src/components/UiMenu/UiMenuSubTrigger.vue.d.ts +14 -0
  96. package/dist/types/src/components/UiMenu/UiMenuTrigger.vue.d.ts +14 -0
  97. package/dist/types/src/components/UiMenu/index.d.ts +10 -0
  98. package/dist/types/src/components/UiPage/UiPage.vue.d.ts +37 -0
  99. package/dist/types/src/components/UiPageHeader/UiPageHeader.vue.d.ts +33 -0
  100. package/dist/types/src/components/UiPopover/UiPopover.vue.d.ts +18 -0
  101. package/dist/types/src/components/UiPopover/UiPopoverAnchor.vue.d.ts +14 -0
  102. package/dist/types/src/components/UiPopover/UiPopoverContent.vue.d.ts +28 -0
  103. package/dist/types/src/components/UiPopover/UiPopoverTrigger.vue.d.ts +14 -0
  104. package/dist/types/src/components/UiProgress/UiProgress.vue.d.ts +15 -0
  105. package/dist/types/src/components/UiProgress/index.d.ts +2 -0
  106. package/dist/types/src/components/UiProgress/types.d.ts +4 -0
  107. package/dist/types/src/components/UiRoomButton/UiRoomButton.vue.d.ts +29 -0
  108. package/dist/types/src/components/UiShell/UiShell.vue.d.ts +24 -0
  109. package/dist/types/src/components/UiSideMenu/UiSideMenu.vue.d.ts +64 -0
  110. package/dist/types/src/components/UiSideMenu/UiSideMenuBottom.vue.d.ts +7 -0
  111. package/dist/types/src/components/UiSideMenu/UiSideMenuItem.vue.d.ts +53 -0
  112. package/dist/types/src/components/UiSideMenu/UiSideMenuItemContent.vue.d.ts +43 -0
  113. package/dist/types/src/components/UiSideMenu/UiSideMenuTop.vue.d.ts +7 -0
  114. package/dist/types/src/components/UiSideMenu/injection.d.ts +7 -0
  115. package/dist/types/src/components/UiSideMenu/types.d.ts +39 -0
  116. package/dist/types/src/components/UiSideMenu/useLabelHidden.d.ts +2 -0
  117. package/dist/types/src/components/UiSideMenu/useSideMenuLayout.d.ts +7 -0
  118. package/dist/types/src/components/UiStepper/UiStepper.vue.d.ts +18 -0
  119. package/dist/types/src/components/UiStepper/UiStepperDescription.vue.d.ts +14 -0
  120. package/dist/types/src/components/UiStepper/UiStepperIndicator.vue.d.ts +20 -0
  121. package/dist/types/src/components/UiStepper/UiStepperItem.vue.d.ts +19 -0
  122. package/dist/types/src/components/UiStepper/UiStepperSeparator.vue.d.ts +10 -0
  123. package/dist/types/src/components/UiStepper/UiStepperTitle.vue.d.ts +14 -0
  124. package/dist/types/src/components/UiStepper/index.d.ts +7 -0
  125. package/dist/types/src/components/UiTable/UiTable.vue.d.ts +20 -0
  126. package/dist/types/src/components/UiTable/UiTableBody.vue.d.ts +13 -0
  127. package/dist/types/src/components/UiTable/UiTableCell.vue.d.ts +13 -0
  128. package/dist/types/src/components/UiTable/UiTableHeader.vue.d.ts +13 -0
  129. package/dist/types/src/components/UiTable/UiTableHeaderCell.vue.d.ts +13 -0
  130. package/dist/types/src/components/UiTable/UiTableRow.vue.d.ts +16 -0
  131. package/dist/types/src/components/UiTable/index.d.ts +6 -0
  132. package/dist/types/src/components/UiTabs/UiTabs.vue.d.ts +37 -0
  133. package/dist/types/src/components/UiTabs/index.d.ts +2 -0
  134. package/dist/types/src/components/UiTag/UiTag.vue.d.ts +43 -0
  135. package/dist/types/src/components/UiTag/index.d.ts +1 -0
  136. package/dist/types/src/components/UiTextField/UiTextField.vue.d.ts +65 -0
  137. package/dist/types/src/components/UiTextField/index.d.ts +2 -0
  138. package/dist/types/src/components/UiTextField/types.d.ts +2 -0
  139. package/dist/types/src/components/UiTimeline/UiTimeline.vue.d.ts +19 -0
  140. package/dist/types/src/components/UiTimeline/UiTimelineItem.vue.d.ts +28 -0
  141. package/dist/types/src/components/UiTimeline/index.d.ts +2 -0
  142. package/dist/types/src/components/UiTooltip/UiTooltip.vue.d.ts +41 -0
  143. package/dist/types/src/components/UiTooltip/UiTooltipContent.vue.d.ts +54 -0
  144. package/dist/types/src/components/UiTooltip/UiTooltipProvider.vue.d.ts +17 -0
  145. package/dist/types/src/components/UiTooltip/UiTooltipTrigger.vue.d.ts +14 -0
  146. package/dist/types/src/components/UiTooltip/index.d.ts +4 -0
  147. package/dist/types/src/composables/useButtonStyles.d.ts +20 -0
  148. package/dist/types/src/composables/useMobileMenu.d.ts +11 -0
  149. package/dist/types/src/composables/useThemeAndModes.d.ts +34 -0
  150. package/dist/types/src/constants/index.d.ts +2 -0
  151. package/dist/types/src/constants/sizes.d.ts +2 -0
  152. package/dist/types/src/constants/themes.d.ts +22 -0
  153. package/dist/types/src/integrations/index.d.ts +1 -0
  154. package/dist/types/src/layouts/index.d.ts +2 -0
  155. package/dist/types/src/mixins/DynamicAction.d.ts +30 -0
  156. package/dist/types/src/primitives.d.ts +6 -0
  157. package/dist/types/src/theme.d.ts +1 -0
  158. package/dist/types/src/utils/a11y.d.ts +2 -0
  159. package/dist/types/src/utils/breakpoints.d.ts +9 -0
  160. package/dist/types/src/utils/bus.d.ts +2 -0
  161. package/dist/types/src/utils/clipboard.d.ts +4 -0
  162. package/dist/types/src/utils/devices.d.ts +19 -0
  163. package/dist/types/src/utils/elements.d.ts +1 -0
  164. package/dist/types/src/utils/index.d.ts +9 -0
  165. package/dist/types/src/utils/numbers.d.ts +30 -0
  166. package/dist/types/src/utils/responsive.d.ts +5 -0
  167. package/dist/types/src/utils/responsive.types.d.ts +12 -0
  168. package/dist/types/src/utils/router.d.ts +1 -0
  169. package/dist/types/src/utils/slot.d.ts +8 -0
  170. package/dist/types/src/utils/stack-view.d.ts +10 -0
  171. package/dist/types/src/utils/uid.d.ts +1 -0
  172. package/dist/types/style.d.ts +1 -0
  173. package/dist/ui-vue.css +1 -0
  174. package/dist/useThemeAndModes-DY5SDC0a.mjs +109 -0
  175. package/dist/utils.mjs +146 -0
  176. package/index.d.ts +88 -2
  177. package/index.js +169 -16
  178. package/integrations.d.ts +10 -0
  179. package/package.json +130 -63
  180. package/src/components/Toast/LayoutToasts.vue +63 -0
  181. package/src/components/Toast/ToastMessage.vue +208 -0
  182. package/src/components/Toast/toastDSV2.ts +151 -0
  183. package/src/components/UiActionBar/UiActionBar.vue +86 -0
  184. package/src/components/UiActionBar/UiActionBarItem.vue +179 -0
  185. package/src/components/UiActionBar/UiActionBarSeparator.vue +18 -0
  186. package/src/components/UiActionBar/index.ts +4 -0
  187. package/src/components/UiActionBar/types.ts +24 -0
  188. package/src/components/UiAnimatedLogo/UiAnimatedLogo.vue +47 -0
  189. package/src/components/UiAnimatedLogo/animations-links.ts +6 -0
  190. package/src/components/UiAvatar/UiAvatar.vue +186 -0
  191. package/src/components/UiAvatar/index.js +1 -0
  192. package/src/components/UiAvatarList/UiAvatarList.vue +109 -0
  193. package/src/components/UiAvatarList/index.js +1 -0
  194. package/src/components/UiBadge/UiBadge.vue +161 -0
  195. package/src/components/UiBadge/index.ts +2 -0
  196. package/src/components/UiBanner/UiBanner.vue +363 -0
  197. package/src/components/UiBanner/index.ts +2 -0
  198. package/src/components/UiBreadcrumb/UiBreadcrumb.vue +93 -0
  199. package/src/components/UiBreadcrumb/index.ts +2 -0
  200. package/src/components/UiButton/UiButton.vue +322 -0
  201. package/src/components/UiButtonGroup/UiButtonGroup.vue +198 -0
  202. package/src/components/UiButtonGroup/UiButtonGroupItem.vue +123 -0
  203. package/src/components/UiButtonGroup/index.ts +3 -0
  204. package/src/components/UiButtonGroup/types.ts +24 -0
  205. package/src/components/UiCard/UiCard.vue +112 -0
  206. package/src/components/UiCarousel/UiCarousel.vue +215 -0
  207. package/src/components/UiCarousel/index.ts +2 -0
  208. package/src/components/UiColorField/UiColorField.vue +158 -0
  209. package/src/components/UiColorField/index.ts +2 -0
  210. package/src/components/UiColorField/types.ts +30 -0
  211. package/src/components/UiColorPicker/UiColorPicker.vue +487 -0
  212. package/src/components/UiColorPicker/index.ts +2 -0
  213. package/src/components/UiColorPicker/types.ts +103 -0
  214. package/src/components/UiDialog/MarketplaceHeaderExample.vue +217 -0
  215. package/src/components/UiDialog/UiDialog.md +97 -0
  216. package/src/components/UiDialog/UiDialog.vue +16 -0
  217. package/src/components/UiDialog/UiDialogClose.vue +29 -0
  218. package/src/components/UiDialog/UiDialogContent.vue +238 -0
  219. package/src/components/UiDialog/UiDialogFooter.vue +9 -0
  220. package/src/components/UiDialog/UiDialogTrigger.vue +12 -0
  221. package/src/components/UiDialog/index.ts +18 -0
  222. package/src/components/UiDropdown/UiDropdown.vue +48 -0
  223. package/src/components/UiDropdown/UiDropdownContent.vue +72 -0
  224. package/src/components/UiDropdown/UiDropdownItem.vue +75 -0
  225. package/src/components/UiDropdown/UiDropdownSeparator.vue +7 -0
  226. package/src/components/UiDropdown/UiDropdownTrigger.vue +239 -0
  227. package/src/components/UiDropdown/context.ts +9 -0
  228. package/src/components/UiDropdown/index.ts +21 -0
  229. package/src/components/UiEmptyState/UiEmptyState.vue +80 -0
  230. package/src/components/UiFieldWrapper/UiFieldWrapper.vue +81 -0
  231. package/src/components/UiFieldWrapper/index.ts +1 -0
  232. package/src/components/UiForm/UiFormField.types.ts +24 -0
  233. package/src/components/UiForm/UiFormField.vue +66 -0
  234. package/src/components/UiForm/index.ts +3 -0
  235. package/src/components/UiHorizontalSeparator/UiHorizontalSeparator.vue +28 -0
  236. package/src/components/UiInputCheckbox/UiInputCheckbox.vue +481 -0
  237. package/src/components/UiInputCheckbox/index.ts +2 -0
  238. package/src/components/UiInputCheckbox/types.ts +1 -0
  239. package/src/components/UiInputSelect/UiInputSelect.vue +166 -0
  240. package/src/components/UiInputSelect/index.ts +2 -0
  241. package/src/components/UiInputSelect/types.ts +1 -0
  242. package/src/components/UiInputTextarea/UiInputTextarea.vue +219 -0
  243. package/src/components/UiInputTextarea/index.ts +2 -0
  244. package/src/components/UiInputTextarea/types.ts +1 -0
  245. package/src/components/UiLabel/UiLabel.vue +36 -0
  246. package/src/components/UiList/UiList.vue +45 -0
  247. package/src/components/UiListItem/UiListItem.vue +108 -0
  248. package/src/components/UiLoader/UiLoader.vue +45 -0
  249. package/src/components/UiLogo/UiLogo.vue +99 -0
  250. package/src/components/UiLogo/variants/PulseVariant.vue +51 -0
  251. package/src/components/UiLogo/variants/TornadoVariant.vue +147 -0
  252. package/src/components/UiMenu/UiMenu.vue +15 -0
  253. package/src/components/UiMenu/UiMenuContent.vue +25 -0
  254. package/src/components/UiMenu/UiMenuGroup.vue +19 -0
  255. package/src/components/UiMenu/UiMenuItem.vue +18 -0
  256. package/src/components/UiMenu/UiMenuLabel.vue +9 -0
  257. package/src/components/UiMenu/UiMenuSeparator.vue +9 -0
  258. package/src/components/UiMenu/UiMenuSub.vue +15 -0
  259. package/src/components/UiMenu/UiMenuSubContent.vue +23 -0
  260. package/src/components/UiMenu/UiMenuSubTrigger.vue +17 -0
  261. package/src/components/UiMenu/UiMenuTrigger.vue +13 -0
  262. package/src/components/UiMenu/index.ts +10 -0
  263. package/src/components/UiPage/UiPage.vue +201 -0
  264. package/src/components/UiPageHeader/UiPageHeader.vue +128 -0
  265. package/src/components/UiPopover/UiPopover.vue +16 -0
  266. package/src/components/UiPopover/UiPopoverAnchor.vue +12 -0
  267. package/src/components/UiPopover/UiPopoverContent.vue +26 -0
  268. package/src/components/UiPopover/UiPopoverTrigger.vue +19 -0
  269. package/src/components/UiProgress/UiProgress.vue +92 -0
  270. package/src/components/UiProgress/index.ts +2 -0
  271. package/src/components/UiProgress/types.ts +5 -0
  272. package/src/components/UiRoomButton/UiRoomButton.vue +240 -0
  273. package/src/components/UiShell/UiShell.vue +88 -0
  274. package/src/components/UiSideMenu/UiSideMenu.vue +513 -0
  275. package/src/components/UiSideMenu/UiSideMenuBottom.vue +27 -0
  276. package/src/components/UiSideMenu/UiSideMenuItem.vue +102 -0
  277. package/src/components/UiSideMenu/UiSideMenuItemContent.vue +172 -0
  278. package/src/components/UiSideMenu/UiSideMenuTop.vue +29 -0
  279. package/src/components/UiSideMenu/injection.ts +9 -0
  280. package/src/components/UiSideMenu/types.ts +41 -0
  281. package/src/components/UiSideMenu/useLabelHidden.ts +33 -0
  282. package/src/components/UiSideMenu/useSideMenuLayout.ts +12 -0
  283. package/src/components/UiStepper/UiStepper.vue +40 -0
  284. package/src/components/UiStepper/UiStepperDescription.vue +27 -0
  285. package/src/components/UiStepper/UiStepperIndicator.vue +93 -0
  286. package/src/components/UiStepper/UiStepperItem.vue +30 -0
  287. package/src/components/UiStepper/UiStepperSeparator.vue +49 -0
  288. package/src/components/UiStepper/UiStepperTitle.vue +24 -0
  289. package/src/components/UiStepper/index.ts +17 -0
  290. package/src/components/UiTable/UiTable.vue +24 -0
  291. package/src/components/UiTable/UiTableBody.vue +5 -0
  292. package/src/components/UiTable/UiTableCell.vue +26 -0
  293. package/src/components/UiTable/UiTableHeader.vue +17 -0
  294. package/src/components/UiTable/UiTableHeaderCell.vue +19 -0
  295. package/src/components/UiTable/UiTableRow.vue +27 -0
  296. package/src/components/UiTable/index.ts +6 -0
  297. package/src/components/UiTabs/UiTabs.vue +218 -0
  298. package/src/components/UiTabs/index.ts +5 -0
  299. package/src/components/UiTag/UiTag.vue +187 -0
  300. package/src/components/UiTag/index.js +1 -0
  301. package/src/components/UiTextField/UiTextField.vue +370 -0
  302. package/src/components/UiTextField/index.ts +2 -0
  303. package/src/components/UiTextField/types.ts +2 -0
  304. package/src/components/UiTimeline/README.md +169 -0
  305. package/src/components/UiTimeline/UiTimeline.vue +58 -0
  306. package/src/components/UiTimeline/UiTimelineItem.vue +141 -0
  307. package/src/components/UiTimeline/index.ts +2 -0
  308. package/src/components/UiTooltip/UiTooltip.vue +68 -0
  309. package/src/components/UiTooltip/UiTooltipContent.vue +86 -0
  310. package/src/components/UiTooltip/UiTooltipProvider.vue +15 -0
  311. package/src/components/UiTooltip/UiTooltipTrigger.vue +19 -0
  312. package/src/components/UiTooltip/index.js +4 -0
  313. package/src/composables/useButtonStyles.ts +242 -0
  314. package/src/composables/useMobileMenu.ts +57 -0
  315. package/src/composables/useThemeAndModes.ts +225 -0
  316. package/src/constants/index.ts +2 -0
  317. package/src/constants/sizes.ts +2 -0
  318. package/src/constants/themes.ts +34 -0
  319. package/src/css/{body.postcss → body.css} +3 -2
  320. package/src/css/reka-animations.css +209 -0
  321. package/src/css/{transitions.postcss → transitions.css} +12 -5
  322. package/src/global.d.ts +181 -0
  323. package/src/integrations/index.js +1 -0
  324. package/src/layouts/index.js +5 -0
  325. package/src/mixins/DynamicAction.js +5 -3
  326. package/src/primitives.ts +6 -0
  327. package/src/theme.ts +1 -0
  328. package/src/utils/a11y.ts +8 -0
  329. package/src/utils/{breakpoints.js → breakpoints.ts} +1 -0
  330. package/src/utils/clipboard.js +81 -14
  331. package/src/utils/devices.js +0 -3
  332. package/src/utils/index.js +2 -1
  333. package/src/utils/numbers.ts +61 -0
  334. package/src/utils/responsive.types.ts +12 -0
  335. package/src/utils/{slot.js → slot.ts} +18 -1
  336. package/style.js +3 -12
  337. package/theme.d.ts +1 -0
  338. package/.env +0 -1
  339. package/.eslintignore +0 -4
  340. package/.eslintrc.js +0 -49
  341. package/.pkg +0 -11
  342. package/babel.config.js +0 -5
  343. package/build/Dockerfile +0 -31
  344. package/ci/ci.yml +0 -54
  345. package/components-webpack.js +0 -29
  346. package/dist/environment-da321c85.mjs +0 -1656
  347. package/dist/style.css +0 -1
  348. package/plugins.js +0 -17
  349. package/postcss.config.js +0 -1
  350. package/src/components/BaseAutocomplete/BaseAutocomplete.spec.js +0 -506
  351. package/src/components/BaseAutocomplete/BaseAutocomplete.stories.js +0 -184
  352. package/src/components/BaseAutocomplete/BaseAutocomplete.vue +0 -431
  353. package/src/components/BaseBanner/BaseBanner.spec.js +0 -32
  354. package/src/components/BaseBanner/BaseBanner.stories.js +0 -133
  355. package/src/components/BaseBanner/BaseBanner.vue +0 -229
  356. package/src/components/BaseButton/BaseButton.spec.js +0 -98
  357. package/src/components/BaseButton/BaseButton.stories.js +0 -300
  358. package/src/components/BaseButton/BaseButton.vue +0 -193
  359. package/src/components/BaseButton/__snapshots__/BaseButton.spec.js.snap +0 -37
  360. package/src/components/BaseButton/__snapshots__/BaseButton.spec.js.snap.old +0 -31
  361. package/src/components/BaseCheckbox/BaseCheckbox.stories.js +0 -157
  362. package/src/components/BaseCheckbox/BaseCheckbox.vue +0 -180
  363. package/src/components/BaseDropdownMenu/BaseDropdownMenu.stories.js +0 -84
  364. package/src/components/BaseDropdownMenu/BaseDropdownMenu.vue +0 -251
  365. package/src/components/BaseDropdownMenu/BaseDropdownMenuButton.vue +0 -26
  366. package/src/components/BaseDropdownMenu/BaseDropdownMenuDivider.vue +0 -10
  367. package/src/components/BaseDropdownMenu/BaseDropdownMenuItem.vue +0 -206
  368. package/src/components/BaseDropdownMenu/BaseDropdownMenuSearch.vue +0 -49
  369. package/src/components/BaseDropdownMenu/BaseDropdownMenuTitle.vue +0 -26
  370. package/src/components/BaseModal/BaseModal.stories.js +0 -155
  371. package/src/components/BaseModal/BaseModal.vue +0 -187
  372. package/src/components/BaseModal/BaseModalContent.vue +0 -166
  373. package/src/components/BaseModal/BaseModalContentOld.vue +0 -242
  374. package/src/components/BaseRadio/BaseRadio.stories.js +0 -164
  375. package/src/components/BaseRadio/BaseRadio.vue +0 -153
  376. package/src/components/BaseRating/BaseRating.spec.js +0 -46
  377. package/src/components/BaseRating/BaseRating.stories.js +0 -46
  378. package/src/components/BaseRating/BaseRating.vue +0 -119
  379. package/src/components/BaseSelect/BaseSelect.stories.js +0 -177
  380. package/src/components/BaseSelect/BaseSelect.vue +0 -443
  381. package/src/components/BaseSelect/BaseSelectGroup.vue +0 -34
  382. package/src/components/BaseSelect/BaseSelectOption.vue +0 -219
  383. package/src/components/BaseSwitch/BaseSwitch.stories.js +0 -44
  384. package/src/components/BaseSwitch/BaseSwitch.vue +0 -114
  385. package/src/components/BaseTag/BaseTag.stories.js +0 -123
  386. package/src/components/BaseTag/BaseTag.vue +0 -244
  387. package/src/css/button.postcss +0 -363
  388. package/src/css/checkbox-radio.postcss +0 -188
  389. package/src/css/icon.postcss +0 -9
  390. package/src/css/loader.postcss +0 -120
  391. package/src/css/popper.postcss +0 -161
  392. package/src/css/tailwind-utilities.postcss +0 -1
  393. package/src/css/tailwind.postcss +0 -2
  394. package/style-postcss.d.ts +0 -3
  395. package/style-postcss.js +0 -2
  396. package/tailwind.config.base.cjs +0 -88
  397. package/tailwind.config.js +0 -9
  398. package/tsconfig.check.json +0 -13
  399. package/tsconfig.json +0 -66
  400. package/vite.config.js +0 -43
  401. package/vitest.setup.js +0 -26
@@ -0,0 +1,225 @@
1
+ import { useStorage } from '@vueuse/core'
2
+ import { computed, ref, watch } from 'vue'
3
+ import { useRoute } from 'vue-router'
4
+ import {
5
+ THEME_LIST,
6
+ MODE_OPTIONS,
7
+ ROUTES_TO_WATCH,
8
+ DEFAULT_THEME_CONFIG,
9
+ type ThemeOption,
10
+ type ModeOption,
11
+ } from '../constants/themes'
12
+
13
+ // * Keep them outside the function so that it is not reset each time the composable is called.
14
+ const modeTemplateRefsToWatch = ref<Map<string, { element:HTMLElement, modeOverride?: typeof MODE_OPTIONS[number] }>>(new Map())
15
+ const contentTemplateRefsToWatch = ref<Map<string, { element:HTMLElement, modeOverride?: typeof MODE_OPTIONS[number] }>>(new Map())
16
+
17
+ /**
18
+ * Theme: all the primitives defined for the customer.
19
+ *
20
+ * Mode: the semantic colors to be applied mostly to the UiPage.
21
+ *
22
+ * Content mode: the semantic colors to be applied to the content of the page:
23
+ * - The route content of the page
24
+ * - Modals
25
+ */
26
+ const themeAndMode = useStorage<{
27
+ theme: ThemeOption,
28
+ mode: ModeOption,
29
+ contentMode: ModeOption
30
+ }>(
31
+ 'themeAndMode',
32
+ DEFAULT_THEME_CONFIG
33
+ )
34
+
35
+ export default function useThemeAndModes (
36
+ { themeOverride, modeOverride, contentModeOverride }:
37
+ { themeOverride?: ThemeOption, modeOverride?: ModeOption, contentModeOverride?: ModeOption } = {}
38
+ ) {
39
+ /**
40
+ * Use overrides if provided, otherwise use stored values
41
+ * Overrides are not saved as preferences to localStorage
42
+ */
43
+ const hasOverrides = !!(themeOverride || modeOverride || contentModeOverride)
44
+ const effectiveTheme = themeOverride || themeAndMode.value.theme
45
+ const effectiveMode = modeOverride || themeAndMode.value.mode
46
+ const effectiveContentMode = contentModeOverride || themeAndMode.value.contentMode
47
+
48
+ /**
49
+ * Set the `data-colors-primitive` and `data-colors-semantic` attributes on the body element.
50
+ * If a custom dynamic theme token map is stored in localStorage, apply those as inline styles
51
+ * so they override the static primitive tokens.
52
+ * To be used only once per app, in the root component.
53
+ */
54
+ function initOnAppMounted () {
55
+ document.querySelector('body')!.setAttribute('data-colors-primitive', effectiveTheme)
56
+ document.querySelector('body')!.setAttribute('data-colors-semantic', effectiveMode)
57
+ applyStoredDynamicTokens()
58
+ }
59
+
60
+ /**
61
+ * Register watchers for the mode and content mode.
62
+ * To be used only once per app, in the root component.
63
+ */
64
+ function registerWatchers () {
65
+ // Resolve the mode at apply-time rather than capturing it once: an explicit
66
+ // override always wins, otherwise read the CURRENT stored value. This lets a
67
+ // stored mode updated after mount (e.g. the workspace theme mode loaded
68
+ // asynchronously) apply on element (re)registration and navigation, instead
69
+ // of the watcher re-asserting a value captured at registerWatchers() time.
70
+ const resolveMode = () => modeOverride || themeAndMode.value.mode
71
+ const resolveContentMode = () => contentModeOverride || themeAndMode.value.contentMode
72
+
73
+ watch(
74
+ () => Array.from(modeTemplateRefsToWatch.value.values()),
75
+ () => updateModeInternal({ mode: resolveMode(), hasOverrides }),
76
+ { immediate: true }
77
+ )
78
+
79
+ watch(
80
+ () => Array.from(contentTemplateRefsToWatch.value.values()),
81
+ () => updateContentModeInternal({ mode: resolveContentMode(), hasOverrides }),
82
+ { immediate: true }
83
+ )
84
+
85
+ const route = useRoute()
86
+
87
+ watch(
88
+ () => route?.name,
89
+ (routeName) => {
90
+ if (!routeName) { return }
91
+ if (ROUTES_TO_WATCH.includes(routeName.toString() as typeof ROUTES_TO_WATCH[number])) {
92
+ updateContentModeInternal({ mode: resolveContentMode(), hasOverrides })
93
+ }
94
+ },
95
+ { immediate: true }
96
+ )
97
+ }
98
+
99
+ /**
100
+ * Components and their elements such as the UiPage (and others where we want to override the mode),
101
+ * are available later in the lifecycle of the app. This function allows to add them to the watch list
102
+ * so that their `data-colors-semantic` attribute can be updated when the mode is set.
103
+ * @param listType Whether to consider it a main element such as the UiPage or a content element such as the page's content.
104
+ * @param descriptor Object containing the selector, the element and an optional mode override.
105
+ * @param descriptor.modeOverride Preferred mode for this element. Can be overridden in dev by the `ThemePicker.vue` component.
106
+ * @returns void
107
+ */
108
+ function addElementToWatch (
109
+ listType: 'mode' | 'content',
110
+ { selector, element, modeOverride }
111
+ :
112
+ { selector: string, element: HTMLElement, modeOverride?: typeof MODE_OPTIONS[number] }
113
+ ) {
114
+ const list = listType === 'mode' ? modeTemplateRefsToWatch : contentTemplateRefsToWatch
115
+ // * Note: we want to update the value of the descriptor as the DOM element
116
+ // * might have changed (e.g. route change = new content) so we need that
117
+ // * new value to be updated for the watchers to affect the right element.
118
+ // * If we do not override the value here, the watch will affect the
119
+ // * initially set DOM reference instead of the one we want to target.
120
+ list.value.set(selector, { element, modeOverride })
121
+ }
122
+
123
+ return {
124
+ initOnAppMounted,
125
+ registerWatchers,
126
+ addElementToWatch,
127
+ updateContentMode,
128
+
129
+ updateTheme,
130
+ updateMode,
131
+
132
+ themeList: THEME_LIST,
133
+ modeOptions: MODE_OPTIONS,
134
+
135
+ theme: effectiveTheme,
136
+ mode: effectiveMode,
137
+ contentMode: effectiveContentMode,
138
+
139
+ // Reactive counterparts of the values above, which are captured once at
140
+ // call time. Bind to these when the UI must follow external updates to the
141
+ // stored state (e.g. ThemePicker reflecting a mode set elsewhere).
142
+ currentTheme: computed(() => themeOverride || themeAndMode.value.theme),
143
+ currentMode: computed(() => modeOverride || themeAndMode.value.mode),
144
+ currentContentMode: computed(() => contentModeOverride || themeAndMode.value.contentMode),
145
+ }
146
+ }
147
+
148
+ function updateTheme (theme: ThemeOption) {
149
+ themeAndMode.value.theme = theme
150
+ document.querySelector('body')!.setAttribute('data-colors-primitive', theme)
151
+ }
152
+
153
+ function updateMode (mode: ModeOption) {
154
+ themeAndMode.value.mode = mode
155
+ document.querySelector('body')!.setAttribute('data-colors-semantic', mode)
156
+
157
+ const UiPageElement = modeTemplateRefsToWatch.value.get('[data-name="ui-page-wrapper"]')
158
+ UiPageElement?.element.setAttribute('data-colors-semantic', mode)
159
+ }
160
+
161
+ /**
162
+ * Only exported for the `ThemePicker.vue` component to be able to update the content mode.
163
+ * NOT for general use.
164
+ * @param mode light|dark
165
+ */
166
+ function updateContentMode (mode: ModeOption) {
167
+ updateContentModeInternal({ mode, hasOverrides: false, ignoreElementOverrides: true })
168
+ }
169
+
170
+ function updateModeInternal (
171
+ { mode, hasOverrides = false }:
172
+ { mode: ModeOption, hasOverrides?: boolean }
173
+ ) {
174
+ // Only save to localStorage when NOT using temporary overrides
175
+ if (!hasOverrides) {
176
+ themeAndMode.value.mode = mode
177
+ }
178
+
179
+ // Always maintain element-level overrides
180
+ for (const { element, modeOverride } of modeTemplateRefsToWatch.value.values()) {
181
+ const effectiveMode = modeOverride || mode
182
+ element.setAttribute('data-colors-semantic', effectiveMode)
183
+ }
184
+ }
185
+
186
+ function updateContentModeInternal (
187
+ { mode, hasOverrides = false, ignoreElementOverrides = false }:
188
+ { mode: ModeOption, hasOverrides?: boolean, ignoreElementOverrides?: boolean }
189
+ ) {
190
+ // Only save to localStorage when NOT using temporary overrides
191
+ if (!hasOverrides) {
192
+ themeAndMode.value.contentMode = mode
193
+ }
194
+
195
+ // Apply to all content elements
196
+ // When explicitly updating (e.g., via ThemePicker), ignore element-level overrides
197
+ for (const { element, modeOverride } of contentTemplateRefsToWatch.value.values()) {
198
+ const effectiveMode = ignoreElementOverrides ? mode : (modeOverride || mode)
199
+ element.setAttribute('data-colors-semantic', effectiveMode)
200
+ }
201
+ }
202
+
203
+ const DYNAMIC_TOKENS_STORAGE_KEY = 'customThemeTokens'
204
+
205
+ /**
206
+ * Reads a pre-computed token map from localStorage and applies each entry
207
+ * as an inline style on document.body. The token map is written by the
208
+ * theme playground (appThemePersistence) which handles OKLCH generation.
209
+ * This function has zero external dependencies — it just sets CSS properties.
210
+ */
211
+ function applyStoredDynamicTokens () {
212
+ try {
213
+ if (localStorage.getItem('ls-internal-theming') !== 'true') return
214
+
215
+ const stored = localStorage.getItem(DYNAMIC_TOKENS_STORAGE_KEY)
216
+ if (!stored) return
217
+
218
+ const tokens: Record<string, string> = JSON.parse(stored)
219
+ for (const [property, value] of Object.entries(tokens)) {
220
+ document.documentElement.style.setProperty(property, value)
221
+ }
222
+ } catch {
223
+ // Ignore wrongly formatted values or JSON parsing errors
224
+ }
225
+ }
@@ -0,0 +1,2 @@
1
+ export * from './sizes'
2
+ export * from './themes'
@@ -0,0 +1,2 @@
1
+ export const SIZES = ['sm', 'md', 'lg'] as const
2
+ export type Size = typeof SIZES[number]
@@ -0,0 +1,34 @@
1
+ export const THEMES = {
2
+ LIVESTORM: 'Livestorm',
3
+ CUSTOMER1: 'customer1',
4
+ CUSTOMER2: 'customer2',
5
+ CUSTOMER3: 'customer3',
6
+ } as const
7
+
8
+ export const MODES = {
9
+ LIGHT: 'light',
10
+ DARK: 'dark',
11
+ } as const
12
+
13
+ export const THEME_LIST = Object.values(THEMES)
14
+ export const MODE_OPTIONS = Object.values(MODES)
15
+
16
+ export type ThemeOption = typeof THEME_LIST[number]
17
+ export type ModeOption = typeof MODE_OPTIONS[number]
18
+
19
+ // Generate theme mapping for different contexts (e.g., Storybook toolbar values)
20
+ export const THEME_MAPPING = Object.fromEntries(
21
+ Object.entries(THEMES).map(([key, value]: [string, ThemeOption]) => [key.toLowerCase(), value])
22
+ ) as Record<string, ThemeOption>
23
+
24
+ export type ThemeKey = keyof typeof THEME_MAPPING
25
+
26
+ // Routes that need special handling for content mode
27
+ export const ROUTES_TO_WATCH = ['signup', 'signin', 'forgot-password', 'reset-password'] as const
28
+
29
+ // Default theme and mode configuration
30
+ export const DEFAULT_THEME_CONFIG = {
31
+ theme: THEMES.LIVESTORM,
32
+ mode: MODES.DARK,
33
+ contentMode: MODES.LIGHT,
34
+ } as const
@@ -1,3 +1,4 @@
1
+ @reference '@livestorm/ui-tokens/output/supernova/index.css';
1
2
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');
2
3
 
3
4
  body {
@@ -24,6 +25,6 @@ body {
24
25
  - An element needs a keyboard to function (like text <inputs>)
25
26
  https://css-tricks.com/almanac/selectors/f/focus-visible/#aa-how-do-browsers-determine-when-something-is-focus-visible
26
27
  */
27
- *:focus-visible:not(input, textarea, .v-popper__popper, .focus-indicator-none, [contenteditable]) {
28
- @apply ring-[3px] ring-[red];
28
+ *:focus-visible:not(input, .base-input, textarea, .v-popper__popper, .focus-indicator-none, [contenteditable]) {
29
+ @apply ring-2 ring-inset ring-focus-ring;
29
30
  }
@@ -0,0 +1,209 @@
1
+ /* === KEYFRAMES === */
2
+ @keyframes scale-in {
3
+ from {
4
+ transform: scale(0.6);
5
+ opacity: 0;
6
+ }
7
+ to {
8
+ transform: scale(1);
9
+ opacity: 1;
10
+ }
11
+ }
12
+
13
+ @keyframes fade-scale {
14
+ from {
15
+ transform: scale(0.95);
16
+ opacity: 0;
17
+ }
18
+ to {
19
+ transform: scale(1);
20
+ opacity: 1;
21
+ }
22
+ }
23
+
24
+ @keyframes slide-down {
25
+ from {
26
+ transform: translateY(-8px);
27
+ opacity: 0;
28
+ }
29
+ to {
30
+ transform: translateY(0);
31
+ opacity: 1;
32
+ }
33
+ }
34
+
35
+ @keyframes slide-up {
36
+ from {
37
+ transform: translateY(8px);
38
+ opacity: 0;
39
+ }
40
+ to {
41
+ transform: translateY(0);
42
+ opacity: 1;
43
+ }
44
+ }
45
+
46
+ @keyframes spring {
47
+ 0% {
48
+ transform: scale(0.8);
49
+ opacity: 0;
50
+ }
51
+ 50% {
52
+ transform: scale(1.02);
53
+ opacity: 0.8;
54
+ }
55
+ 100% {
56
+ transform: scale(1);
57
+ opacity: 1;
58
+ }
59
+ }
60
+
61
+ @keyframes tooltip-fade {
62
+ from {
63
+ transform: scale(0.9);
64
+ opacity: 0;
65
+ }
66
+ to {
67
+ transform: scale(1);
68
+ opacity: 1;
69
+ }
70
+ }
71
+
72
+ @keyframes hover-lift {
73
+ from {
74
+ transform: translateY(4px) scale(0.98);
75
+ opacity: 0;
76
+ }
77
+ to {
78
+ transform: translateY(0) scale(1);
79
+ opacity: 1;
80
+ }
81
+ }
82
+
83
+ @keyframes accordion-expand {
84
+ from {
85
+ opacity: 0;
86
+ transform: translateY(-10px);
87
+ }
88
+ to {
89
+ opacity: 1;
90
+ transform: translateY(0);
91
+ }
92
+ }
93
+
94
+ @keyframes slideDownAndFade {
95
+ from {
96
+ opacity: 0;
97
+ transform: translateY(-4px);
98
+ }
99
+ to {
100
+ opacity: 1;
101
+ transform: translateY(0);
102
+ }
103
+ }
104
+
105
+ @keyframes slideUpAndFade {
106
+ from {
107
+ opacity: 1;
108
+ transform: translateY(0);
109
+ }
110
+ to {
111
+ opacity: 0;
112
+ transform: translateY(-4px);
113
+ }
114
+ }
115
+
116
+ /* === ANIMATION CLASSES === */
117
+ .animate-scale-in {
118
+ animation-name: scale-in;
119
+ animation-duration: 150ms;
120
+ animation-timing-function: ease-out;
121
+ animation-fill-mode: both;
122
+ }
123
+
124
+ .animate-fade-scale {
125
+ animation-name: fade-scale;
126
+ animation-duration: 150ms;
127
+ animation-timing-function: ease-out;
128
+ animation-fill-mode: both;
129
+ }
130
+
131
+ .animate-slide-down {
132
+ animation-name: slide-down;
133
+ animation-duration: 150ms;
134
+ animation-timing-function: ease-out;
135
+ animation-fill-mode: both;
136
+ }
137
+
138
+ .animate-slide-up {
139
+ animation-name: slide-up;
140
+ animation-duration: 150ms;
141
+ animation-timing-function: ease-out;
142
+ animation-fill-mode: both;
143
+ }
144
+
145
+ .animate-spring {
146
+ animation-name: spring;
147
+ animation-duration: 300ms;
148
+ animation-timing-function: ease-out;
149
+ animation-fill-mode: both;
150
+ }
151
+
152
+ .animate-tooltip-fade {
153
+ animation-name: tooltip-fade;
154
+ animation-duration: 150ms;
155
+ animation-timing-function: ease-out;
156
+ animation-fill-mode: both;
157
+ }
158
+
159
+ .animate-hover-lift {
160
+ animation-name: hover-lift;
161
+ animation-duration: 200ms;
162
+ animation-timing-function: ease-out;
163
+ animation-fill-mode: both;
164
+ }
165
+
166
+ .animate-accordion-expand {
167
+ animation-name: accordion-expand;
168
+ animation-duration: 200ms;
169
+ animation-timing-function: ease-out;
170
+ animation-fill-mode: both;
171
+ }
172
+
173
+ /* === ANIMATION UTILITIES === */
174
+ /* Animation duration classes (following Tailwind naming conventions) */
175
+ .animate-duration {
176
+ animation-duration: 0.08s;
177
+ }
178
+
179
+ .animate-duration-75 {
180
+ animation-duration: 75ms;
181
+ }
182
+
183
+ .animate-duration-100 {
184
+ animation-duration: 100ms;
185
+ }
186
+
187
+ .animate-duration-150 {
188
+ animation-duration: 150ms;
189
+ }
190
+
191
+ .animate-duration-200 {
192
+ animation-duration: 200ms;
193
+ }
194
+
195
+ .animate-duration-300 {
196
+ animation-duration: 300ms;
197
+ }
198
+
199
+ .animate-duration-500 {
200
+ animation-duration: 500ms;
201
+ }
202
+
203
+ .animate-duration-700 {
204
+ animation-duration: 700ms;
205
+ }
206
+
207
+ .animate-duration-1000 {
208
+ animation-duration: 1000ms;
209
+ }
@@ -3,17 +3,21 @@
3
3
  .fade-leave-active {
4
4
  transition: opacity .3s ease;
5
5
  }
6
+
6
7
  .fade-fast-enter-active,
7
8
  .fade-fast-leave-active {
8
9
  transition: opacity .1s ease;
9
10
  }
11
+
10
12
  .fade-delay-enter-active,
11
13
  .fade-delay-leave-active {
12
14
  transition: opacity .3s ease;
13
15
  }
16
+
14
17
  .fade-delay-enter-active {
15
18
  transition-delay: .5s;
16
19
  }
20
+
17
21
  .fade-enter-from,
18
22
  .fade-leave-to,
19
23
  .fade-delay-enter-from,
@@ -30,8 +34,9 @@
30
34
  .base-modal-layout,
31
35
  .modal-wrapper {
32
36
  perspective: 1300px;
33
- > section,
34
- > .shell {
37
+
38
+ & > section,
39
+ & > .shell {
35
40
  transition: transform .2s, opacity .2s;
36
41
  transform-style: preserve-3d;
37
42
  }
@@ -45,13 +50,15 @@
45
50
  transition: transform .2s, opacity .2s;
46
51
  }
47
52
  }
53
+
48
54
  .modal-enter-from,
49
55
  .modal-leave-to {
50
- > .base-modal-layout > section,
51
- > .modal-wrapper > .shell {
56
+ & > .base-modal-layout > section,
57
+ & > .modal-wrapper > .shell {
52
58
  opacity: 0;
53
59
  }
54
- > .base-modal-layout > section {
60
+
61
+ & > .base-modal-layout > section {
55
62
  @apply scale-95;
56
63
  }
57
64