rappel-ui 1.0.33 → 1.0.35

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 (319) hide show
  1. package/README.md +1 -0
  2. package/cjs/components/button/index.js +1 -1
  3. package/cjs/components/button/src/button-group.vue_vue_type_script_setup_true_lang.js +1 -1
  4. package/cjs/components/button/src/button.vue_vue_type_script_setup_true_lang.js +1 -1
  5. package/cjs/components/button/src/constants.d.ts +1 -1
  6. package/cjs/components/button/src/constants.js +1 -1
  7. package/cjs/components/dropdown/index.d.ts +70 -0
  8. package/cjs/components/dropdown/index.js +1 -0
  9. package/cjs/components/dropdown/src/constants.d.ts +15 -0
  10. package/cjs/components/dropdown/src/constants.js +1 -0
  11. package/cjs/components/dropdown/src/dropdown-item.js +1 -0
  12. package/cjs/components/dropdown/src/dropdown-item.vue.d.ts +23 -0
  13. package/cjs/components/dropdown/src/dropdown-item.vue_vue_type_script_setup_true_lang.js +1 -0
  14. package/cjs/components/dropdown/src/dropdown-menu.js +1 -0
  15. package/cjs/components/dropdown/src/dropdown-menu.vue.d.ts +14 -0
  16. package/cjs/components/dropdown/src/dropdown-menu.vue_vue_type_script_setup_true_lang.js +1 -0
  17. package/cjs/components/dropdown/src/dropdown-submenu.js +1 -0
  18. package/cjs/components/dropdown/src/dropdown-submenu.vue.d.ts +19 -0
  19. package/cjs/components/dropdown/src/dropdown-submenu.vue_vue_type_script_setup_true_lang.js +1 -0
  20. package/cjs/components/dropdown/src/dropdown.js +1 -0
  21. package/cjs/components/dropdown/src/dropdown.vue.d.ts +383 -0
  22. package/cjs/components/dropdown/src/dropdown.vue_vue_type_script_setup_true_lang.js +1 -0
  23. package/cjs/components/dropdown/src/loop.js +1 -0
  24. package/cjs/components/dropdown/src/loop.vue.d.ts +18 -0
  25. package/cjs/components/dropdown/src/loop.vue_vue_type_script_setup_true_lang.js +1 -0
  26. package/cjs/components/dropdown/src/types.d.ts +37 -0
  27. package/cjs/components/dropdown/src/use-dropdown-emit.d.ts +13 -0
  28. package/cjs/components/dropdown/src/use-dropdown-emit.js +1 -0
  29. package/cjs/components/dropdown/style/css.d.ts +0 -0
  30. package/cjs/components/dropdown/style/css.js +2 -0
  31. package/cjs/components/dropdown/style/index.d.ts +0 -0
  32. package/cjs/components/dropdown/style/index.js +2 -0
  33. package/cjs/components/index.d.ts +2 -0
  34. package/cjs/components/index.js +1 -1
  35. package/cjs/components/menu/index.d.ts +86 -0
  36. package/cjs/components/menu/index.js +1 -0
  37. package/cjs/components/menu/src/constants.d.ts +1 -0
  38. package/cjs/components/menu/src/constants.js +1 -0
  39. package/cjs/components/menu/src/loop.js +1 -0
  40. package/cjs/components/menu/src/loop.vue.d.ts +18 -0
  41. package/cjs/components/menu/src/loop.vue_vue_type_script_setup_true_lang.js +1 -0
  42. package/cjs/components/menu/src/menu-item.js +1 -0
  43. package/cjs/components/menu/src/menu-item.vue.d.ts +25 -0
  44. package/cjs/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.js +1 -0
  45. package/cjs/components/menu/src/menu.js +1 -0
  46. package/cjs/components/menu/src/menu.vue.d.ts +21 -0
  47. package/cjs/components/menu/src/menu.vue_vue_type_script_setup_true_lang.js +1 -0
  48. package/cjs/components/menu/src/submenu.js +1 -0
  49. package/cjs/components/menu/src/submenu.vue.d.ts +19 -0
  50. package/cjs/components/menu/src/submenu.vue_vue_type_script_setup_true_lang.js +1 -0
  51. package/cjs/components/menu/src/types.d.ts +79 -0
  52. package/cjs/components/menu/src/use-menu-emit.d.ts +5 -0
  53. package/cjs/components/menu/src/use-menu-emit.js +1 -0
  54. package/cjs/components/menu/style/css.d.ts +0 -0
  55. package/cjs/components/menu/style/css.js +2 -0
  56. package/cjs/components/menu/style/index.d.ts +0 -0
  57. package/cjs/components/menu/style/index.js +2 -0
  58. package/cjs/components/message/src/create-message.js +1 -1
  59. package/cjs/components/message/src/use-message-emit.d.ts +8 -8
  60. package/cjs/components/popconfirm/src/popconfirm.vue_vue_type_script_setup_true_lang.js +1 -1
  61. package/cjs/components/popconfirm/src/use-popconfirm-emit.d.ts +8 -8
  62. package/cjs/components/popover/src/popover.vue_vue_type_script_setup_true_lang.js +1 -1
  63. package/cjs/components/popover/src/types.d.ts +1 -0
  64. package/cjs/components/popover/src/use-popover-emit.d.ts +8 -8
  65. package/cjs/components/tooltip/index.d.ts +8 -1
  66. package/cjs/components/tooltip/src/constants.d.ts +0 -1
  67. package/cjs/components/tooltip/src/constants.js +1 -1
  68. package/cjs/components/tooltip/src/tooltip.vue.d.ts +4 -1
  69. package/cjs/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.js +1 -1
  70. package/cjs/components/tooltip/src/types.d.ts +3 -0
  71. package/cjs/components/tooltip/src/use-tooltip-emit.d.ts +8 -8
  72. package/cjs/components/tooltip/src/use-tooltip.js +1 -1
  73. package/cjs/components/transition/src/transition.vue_vue_type_script_setup_true_lang.js +1 -1
  74. package/cjs/components/transition/src/use-transition-emit.d.ts +8 -8
  75. package/cjs/composables/index.d.ts +1 -0
  76. package/cjs/composables/index.js +1 -1
  77. package/cjs/composables/use-slot-node/index.d.ts +2 -0
  78. package/cjs/composables/use-slot-node/index.js +1 -0
  79. package/cjs/composables/use-theme/index.js +1 -1
  80. package/cjs/constants/index.d.ts +1 -0
  81. package/cjs/constants/index.js +1 -0
  82. package/cjs/index.d.ts +429 -98
  83. package/cjs/index.js +1 -1
  84. package/cjs/svg-icons/create-icon.d.ts +2 -2
  85. package/cjs/svg-icons/get-async-icon.js +1 -1
  86. package/cjs/svg-icons/icon-names.d.ts +1 -1
  87. package/cjs/svg-icons/icon-names.js +1 -1
  88. package/cjs/svg-icons/index.d.ts +5 -0
  89. package/cjs/svg-icons/index.js +1 -1
  90. package/cjs/svg-icons/src/arrow-backward.d.ts +2 -2
  91. package/cjs/svg-icons/src/arrow-down.d.ts +2 -2
  92. package/cjs/svg-icons/src/arrow-downward.d.ts +2 -2
  93. package/cjs/svg-icons/src/arrow-forward.d.ts +2 -2
  94. package/cjs/svg-icons/src/arrow-left.d.ts +2 -2
  95. package/cjs/svg-icons/src/arrow-right.d.ts +2 -2
  96. package/cjs/svg-icons/src/arrow-up.d.ts +2 -2
  97. package/cjs/svg-icons/src/arrow-upward.d.ts +2 -2
  98. package/cjs/svg-icons/src/check-circle.d.ts +2 -2
  99. package/cjs/svg-icons/src/check-fill.d.ts +2 -2
  100. package/cjs/svg-icons/src/check-fill.js +1 -1
  101. package/cjs/svg-icons/src/check.d.ts +2 -2
  102. package/cjs/svg-icons/src/close-circle.d.ts +2 -2
  103. package/cjs/svg-icons/src/close-fill.d.ts +2 -2
  104. package/cjs/svg-icons/src/close-short.d.ts +2 -2
  105. package/cjs/svg-icons/src/close.d.ts +2 -2
  106. package/cjs/svg-icons/src/copy-closure.d.ts +2 -2
  107. package/cjs/svg-icons/src/copy.d.ts +2 -2
  108. package/cjs/svg-icons/src/delete.d.ts +2 -2
  109. package/cjs/svg-icons/src/exclam-fill.d.ts +2 -2
  110. package/cjs/svg-icons/src/exclam.d.ts +2 -2
  111. package/cjs/svg-icons/src/help.d.ts +2 -2
  112. package/cjs/svg-icons/src/info-circle.d.ts +2 -2
  113. package/cjs/svg-icons/src/info-fill.d.ts +2 -2
  114. package/cjs/svg-icons/src/loading.d.ts +2 -2
  115. package/cjs/svg-icons/src/more-dot-circle-horizontal.d.ts +2 -2
  116. package/cjs/svg-icons/src/more-dot-circle-outline-horizontal.d.ts +2 -2
  117. package/cjs/svg-icons/src/more-dot-circle-outline-vertical.d.ts +2 -2
  118. package/cjs/svg-icons/src/more-dot-circle.d.ts +2 -2
  119. package/cjs/svg-icons/src/more-dot-square-horizontal.d.ts +2 -2
  120. package/cjs/svg-icons/src/more-dot-square.d.ts +2 -2
  121. package/cjs/svg-icons/src/more-line.d.ts +2 -2
  122. package/cjs/svg-icons/src/play.d.ts +34 -0
  123. package/cjs/svg-icons/src/play.js +1 -0
  124. package/cjs/svg-icons/src/search-bold.d.ts +2 -2
  125. package/cjs/svg-icons/src/search.d.ts +2 -2
  126. package/cjs/svg-icons/src/star-fill.d.ts +2 -2
  127. package/cjs/svg-icons/src/star.d.ts +2 -2
  128. package/cjs/svg-icons/src/triangle-backward-fill.d.ts +34 -0
  129. package/cjs/svg-icons/src/triangle-backward-fill.js +1 -0
  130. package/cjs/svg-icons/src/triangle-downward-fill.d.ts +34 -0
  131. package/cjs/svg-icons/src/triangle-downward-fill.js +1 -0
  132. package/cjs/svg-icons/src/triangle-forward-fill.d.ts +34 -0
  133. package/cjs/svg-icons/src/triangle-forward-fill.js +1 -0
  134. package/cjs/svg-icons/src/triangle-upward-fill.d.ts +34 -0
  135. package/cjs/svg-icons/src/triangle-upward-fill.js +1 -0
  136. package/cjs/types/common.d.ts +16 -0
  137. package/cjs/types/component.d.ts +2 -1
  138. package/cjs/types/theme.d.ts +1 -1
  139. package/cjs/utils/index.js +1 -1
  140. package/cjs/utils/util.d.ts +29 -36
  141. package/cjs/utils/util.js +1 -3
  142. package/cjs/utils/vue/index.js +1 -1
  143. package/dist/index.css +1 -1
  144. package/dist/index.umd.js +13 -15
  145. package/es/components/button/index.mjs +2 -2
  146. package/es/components/button/src/button-group.vue_vue_type_script_setup_true_lang.mjs +1 -1
  147. package/es/components/button/src/button.vue_vue_type_script_setup_true_lang.mjs +1 -1
  148. package/es/components/button/src/constants.d.ts +1 -1
  149. package/es/components/button/src/constants.mjs +2 -2
  150. package/es/components/dropdown/index.d.ts +70 -0
  151. package/es/components/dropdown/index.mjs +15 -0
  152. package/es/components/dropdown/src/constants.d.ts +15 -0
  153. package/es/components/dropdown/src/constants.mjs +17 -0
  154. package/es/components/dropdown/src/dropdown-item.mjs +5 -0
  155. package/es/components/dropdown/src/dropdown-item.vue.d.ts +23 -0
  156. package/es/components/dropdown/src/dropdown-item.vue_vue_type_script_setup_true_lang.mjs +130 -0
  157. package/es/components/dropdown/src/dropdown-menu.mjs +5 -0
  158. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +14 -0
  159. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_script_setup_true_lang.mjs +14 -0
  160. package/es/components/dropdown/src/dropdown-submenu.mjs +5 -0
  161. package/es/components/dropdown/src/dropdown-submenu.vue.d.ts +19 -0
  162. package/es/components/dropdown/src/dropdown-submenu.vue_vue_type_script_setup_true_lang.mjs +53 -0
  163. package/es/components/dropdown/src/dropdown.mjs +5 -0
  164. package/es/components/dropdown/src/dropdown.vue.d.ts +383 -0
  165. package/es/components/dropdown/src/dropdown.vue_vue_type_script_setup_true_lang.mjs +224 -0
  166. package/es/components/dropdown/src/loop.mjs +5 -0
  167. package/es/components/dropdown/src/loop.vue.d.ts +18 -0
  168. package/es/components/dropdown/src/loop.vue_vue_type_script_setup_true_lang.mjs +26 -0
  169. package/es/components/dropdown/src/types.d.ts +37 -0
  170. package/es/components/dropdown/src/use-dropdown-emit.d.ts +13 -0
  171. package/es/components/dropdown/src/use-dropdown-emit.mjs +11 -0
  172. package/es/components/dropdown/style/css.d.ts +0 -0
  173. package/es/components/dropdown/style/css.mjs +2 -0
  174. package/es/components/dropdown/style/index.d.ts +0 -0
  175. package/es/components/dropdown/style/index.mjs +2 -0
  176. package/es/components/index.d.ts +2 -0
  177. package/es/components/index.mjs +17 -4
  178. package/es/components/menu/index.d.ts +86 -0
  179. package/es/components/menu/index.mjs +13 -0
  180. package/es/components/menu/src/constants.d.ts +1 -0
  181. package/es/components/menu/src/constants.mjs +4 -0
  182. package/es/components/menu/src/loop.mjs +5 -0
  183. package/es/components/menu/src/loop.vue.d.ts +18 -0
  184. package/es/components/menu/src/loop.vue_vue_type_script_setup_true_lang.mjs +22 -0
  185. package/es/components/menu/src/menu-item.mjs +5 -0
  186. package/es/components/menu/src/menu-item.vue.d.ts +25 -0
  187. package/es/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.mjs +232 -0
  188. package/es/components/menu/src/menu.mjs +5 -0
  189. package/es/components/menu/src/menu.vue.d.ts +21 -0
  190. package/es/components/menu/src/menu.vue_vue_type_script_setup_true_lang.mjs +119 -0
  191. package/es/components/menu/src/submenu.mjs +5 -0
  192. package/es/components/menu/src/submenu.vue.d.ts +19 -0
  193. package/es/components/menu/src/submenu.vue_vue_type_script_setup_true_lang.mjs +176 -0
  194. package/es/components/menu/src/types.d.ts +79 -0
  195. package/es/components/menu/src/use-menu-emit.d.ts +5 -0
  196. package/es/components/menu/src/use-menu-emit.mjs +6 -0
  197. package/es/components/menu/style/css.d.ts +0 -0
  198. package/es/components/menu/style/css.mjs +2 -0
  199. package/es/components/menu/style/index.d.ts +0 -0
  200. package/es/components/menu/style/index.mjs +2 -0
  201. package/es/components/message/src/create-message.mjs +44 -43
  202. package/es/components/message/src/use-message-emit.d.ts +8 -8
  203. package/es/components/popconfirm/src/popconfirm.vue_vue_type_script_setup_true_lang.mjs +66 -67
  204. package/es/components/popconfirm/src/use-popconfirm-emit.d.ts +8 -8
  205. package/es/components/popover/src/popover.vue_vue_type_script_setup_true_lang.mjs +40 -34
  206. package/es/components/popover/src/types.d.ts +1 -0
  207. package/es/components/popover/src/use-popover-emit.d.ts +8 -8
  208. package/es/components/tooltip/index.d.ts +8 -1
  209. package/es/components/tooltip/src/constants.d.ts +0 -1
  210. package/es/components/tooltip/src/constants.mjs +2 -6
  211. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -1
  212. package/es/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.mjs +131 -117
  213. package/es/components/tooltip/src/types.d.ts +3 -0
  214. package/es/components/tooltip/src/use-tooltip-emit.d.ts +8 -8
  215. package/es/components/tooltip/src/use-tooltip.mjs +5 -5
  216. package/es/components/transition/src/transition.vue_vue_type_script_setup_true_lang.mjs +1 -1
  217. package/es/components/transition/src/use-transition-emit.d.ts +8 -8
  218. package/es/composables/index.d.ts +1 -0
  219. package/es/composables/index.mjs +2 -1
  220. package/es/composables/use-slot-node/index.d.ts +2 -0
  221. package/es/composables/use-slot-node/index.mjs +10 -0
  222. package/es/composables/use-theme/index.mjs +1 -1
  223. package/es/constants/index.d.ts +1 -0
  224. package/es/constants/index.mjs +9 -0
  225. package/es/index.d.ts +429 -98
  226. package/es/index.mjs +81 -71
  227. package/es/svg-icons/create-icon.d.ts +2 -2
  228. package/es/svg-icons/get-async-icon.mjs +48 -42
  229. package/es/svg-icons/icon-names.d.ts +1 -1
  230. package/es/svg-icons/icon-names.mjs +1 -1
  231. package/es/svg-icons/index.d.ts +5 -0
  232. package/es/svg-icons/index.mjs +12 -2
  233. package/es/svg-icons/src/arrow-backward.d.ts +2 -2
  234. package/es/svg-icons/src/arrow-down.d.ts +2 -2
  235. package/es/svg-icons/src/arrow-downward.d.ts +2 -2
  236. package/es/svg-icons/src/arrow-forward.d.ts +2 -2
  237. package/es/svg-icons/src/arrow-left.d.ts +2 -2
  238. package/es/svg-icons/src/arrow-right.d.ts +2 -2
  239. package/es/svg-icons/src/arrow-up.d.ts +2 -2
  240. package/es/svg-icons/src/arrow-upward.d.ts +2 -2
  241. package/es/svg-icons/src/check-circle.d.ts +2 -2
  242. package/es/svg-icons/src/check-fill.d.ts +2 -2
  243. package/es/svg-icons/src/check-fill.mjs +4 -2
  244. package/es/svg-icons/src/check.d.ts +2 -2
  245. package/es/svg-icons/src/close-circle.d.ts +2 -2
  246. package/es/svg-icons/src/close-fill.d.ts +2 -2
  247. package/es/svg-icons/src/close-fill.mjs +1 -0
  248. package/es/svg-icons/src/close-short.d.ts +2 -2
  249. package/es/svg-icons/src/close.d.ts +2 -2
  250. package/es/svg-icons/src/copy-closure.d.ts +2 -2
  251. package/es/svg-icons/src/copy.d.ts +2 -2
  252. package/es/svg-icons/src/delete.d.ts +2 -2
  253. package/es/svg-icons/src/exclam-fill.d.ts +2 -2
  254. package/es/svg-icons/src/exclam-fill.mjs +1 -0
  255. package/es/svg-icons/src/exclam.d.ts +2 -2
  256. package/es/svg-icons/src/help.d.ts +2 -2
  257. package/es/svg-icons/src/info-circle.d.ts +2 -2
  258. package/es/svg-icons/src/info-fill.d.ts +2 -2
  259. package/es/svg-icons/src/info-fill.mjs +1 -0
  260. package/es/svg-icons/src/loading.d.ts +2 -2
  261. package/es/svg-icons/src/more-dot-circle-horizontal.d.ts +2 -2
  262. package/es/svg-icons/src/more-dot-circle-outline-horizontal.d.ts +2 -2
  263. package/es/svg-icons/src/more-dot-circle-outline-vertical.d.ts +2 -2
  264. package/es/svg-icons/src/more-dot-circle.d.ts +2 -2
  265. package/es/svg-icons/src/more-dot-square-horizontal.d.ts +2 -2
  266. package/es/svg-icons/src/more-dot-square.d.ts +2 -2
  267. package/es/svg-icons/src/more-line.d.ts +2 -2
  268. package/es/svg-icons/src/play.d.ts +34 -0
  269. package/es/svg-icons/src/play.mjs +9 -0
  270. package/es/svg-icons/src/search-bold.d.ts +2 -2
  271. package/es/svg-icons/src/search.d.ts +2 -2
  272. package/es/svg-icons/src/star-fill.d.ts +2 -2
  273. package/es/svg-icons/src/star-fill.mjs +1 -0
  274. package/es/svg-icons/src/star.d.ts +2 -2
  275. package/es/svg-icons/src/triangle-backward-fill.d.ts +34 -0
  276. package/es/svg-icons/src/triangle-backward-fill.mjs +9 -0
  277. package/es/svg-icons/src/triangle-downward-fill.d.ts +34 -0
  278. package/es/svg-icons/src/triangle-downward-fill.mjs +9 -0
  279. package/es/svg-icons/src/triangle-forward-fill.d.ts +34 -0
  280. package/es/svg-icons/src/triangle-forward-fill.mjs +9 -0
  281. package/es/svg-icons/src/triangle-upward-fill.d.ts +34 -0
  282. package/es/svg-icons/src/triangle-upward-fill.mjs +9 -0
  283. package/es/types/common.d.ts +16 -0
  284. package/es/types/component.d.ts +2 -1
  285. package/es/types/theme.d.ts +1 -1
  286. package/es/utils/index.mjs +2 -2
  287. package/es/utils/util.d.ts +29 -36
  288. package/es/utils/util.mjs +53 -76
  289. package/es/utils/vue/index.mjs +4 -1
  290. package/package.json +3 -2
  291. package/theme-chalk/index.css +1 -1
  292. package/theme-chalk/re-dropdown.css +1 -0
  293. package/theme-chalk/re-menu.css +1 -0
  294. package/theme-chalk/re-message.css +1 -1
  295. package/theme-chalk/re-popconfirm.css +1 -1
  296. package/theme-chalk/re-popover.css +1 -1
  297. package/theme-chalk/re-tooltip.css +1 -1
  298. package/theme-chalk/src/css-vars/_dropdown.scss +44 -0
  299. package/theme-chalk/src/css-vars/_menu.scss +44 -0
  300. package/theme-chalk/src/css-vars/_popconfirm.scss +15 -0
  301. package/theme-chalk/src/css-vars/_popover.scss +24 -0
  302. package/theme-chalk/src/css-vars/_tooltip.scss +10 -5
  303. package/theme-chalk/src/dropdown.scss +113 -0
  304. package/theme-chalk/src/index.scss +2 -0
  305. package/theme-chalk/src/menu.scss +215 -0
  306. package/theme-chalk/src/message.scss +2 -27
  307. package/theme-chalk/src/mixins/_dropdown.scss +95 -0
  308. package/theme-chalk/src/mixins/_menu.scss +99 -0
  309. package/theme-chalk/src/mixins/_popconfirm.scss +21 -2
  310. package/theme-chalk/src/mixins/_popover.scss +26 -0
  311. package/theme-chalk/src/mixins/_transition.scss +29 -0
  312. package/theme-chalk/src/mixins/index.scss +15 -0
  313. package/theme-chalk/src/popconfirm.scss +9 -16
  314. package/theme-chalk/src/popover.scss +10 -15
  315. package/theme-chalk/src/tooltip.scss +3 -15
  316. package/cjs/_virtual/_rolldown_dynamic_import_helper.js +0 -1
  317. package/cjs/rappel-ui/resolvers.js +0 -1
  318. package/es/_virtual/_rolldown_dynamic_import_helper.mjs +0 -9
  319. package/es/rappel-ui/resolvers.mjs +0 -18
@@ -0,0 +1,113 @@
1
+ @use 'mixins/index' as *;
2
+ @use 'function/index' as *;
3
+ @use 'mixins/_transition' as *;
4
+ @use 'mixins/_dropdown' as *;
5
+
6
+ @include buildRootCls('dropdown') {
7
+ @include buildSiblingCls('tooltip') {
8
+ filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1));
9
+ padding: 5px 0;
10
+ }
11
+ @include dropdown-var('auto');
12
+ &.is-light {
13
+ @include dropdown-var('light');
14
+ }
15
+ &.is-dark {
16
+ @include dropdown-var('dark');
17
+ }
18
+
19
+ $bgcolor: getCssVar('dropdown', 'bgcolor');
20
+ $color: getCssVar('dropdown', 'color');
21
+ $hover-bgcolor: getCssVar('dropdown', 'hover-bgcolor');
22
+ $hover-color: getCssVar('dropdown', 'hover-color');
23
+ $disabled-bgcolor: getCssVar('dropdown', 'disabled-bgcolor');
24
+ $disabled-color: getCssVar('dropdown', 'disabled-color');
25
+ $font-size: getCssVar('dropdown', 'font-size');
26
+ $icon-font-size: getCssVar('dropdown', 'icon-font-size');
27
+ $sub-padding-left: getCssVar('dropdown', 'sub-padding-left');
28
+ $line-height: getCssVar('dropdown', 'line-height');
29
+ $label-padding: getCssVar('dropdown', 'label-padding');
30
+
31
+ &[data-placement^='bottom'] {
32
+ @include transition-transform('translateY(-8px) scaleY(0.95)', 'translateY(0) scaleY(1)');
33
+ }
34
+ &[data-placement^='top'] {
35
+ @include transition-transform('translateY(8px) scaleY(0.95)', 'translateY(0) scaleY(1)');
36
+ }
37
+ &[data-placement^='left'] {
38
+ @include transition-transform('translateX(8px) scaleX(0.95)', 'translateX(0) scaleX(1)');
39
+ }
40
+ &[data-placement^='right'] {
41
+ @include transition-transform('translateX(-8px) scaleX(0.95)', 'translateX(0) scaleX(1)');
42
+ }
43
+
44
+ @include sub(menu) {
45
+ margin: 0;
46
+ padding: 0;
47
+ list-style: none;
48
+ outline: none;
49
+ }
50
+
51
+ @include sub(submenu) {
52
+ transform-origin: left center;
53
+ }
54
+ @include sub(label-wrap) {
55
+ display: flex;
56
+ align-items: center;
57
+ cursor: pointer;
58
+ height: $line-height;
59
+ line-height: $line-height;
60
+ font-size: $font-size;
61
+ padding: 0 $label-padding;
62
+ user-select: none;
63
+ }
64
+
65
+ @include sub(label) {
66
+ white-space: nowrap;
67
+ word-break: keep-all;
68
+ min-width: 0;
69
+ flex: 1;
70
+ }
71
+
72
+ @include sub(icon) {
73
+ display: flex;
74
+ justify-content: center;
75
+ align-items: center;
76
+ font-size: $icon-font-size;
77
+ margin-right: 8px;
78
+ }
79
+
80
+ @include sub(subicon) {
81
+ display: flex;
82
+ justify-content: center;
83
+ align-items: center;
84
+ margin-left: $label-padding;
85
+ margin-right: -7px;
86
+ font-size: $icon-font-size;
87
+ }
88
+
89
+ @include sub(item) {
90
+ display: flex;
91
+ align-items: center;
92
+ list-style: none;
93
+ margin: 0;
94
+ cursor: pointer;
95
+ line-height: $line-height;
96
+ font-size: $font-size;
97
+ padding: 0;
98
+
99
+ &.has-children {
100
+ position: relative;
101
+ }
102
+
103
+ @include hover() {
104
+ background-color: $hover-bgcolor;
105
+ color: $hover-color;
106
+ }
107
+ @include is(disabled) {
108
+ cursor: not-allowed;
109
+ color: $disabled-color;
110
+ background-color: $disabled-bgcolor;
111
+ }
112
+ }
113
+ }
@@ -10,3 +10,5 @@
10
10
  @forward './tooltip';
11
11
  @forward './popconfirm';
12
12
  @forward './message';
13
+ @forward './dropdown';
14
+ @forward './menu';
@@ -0,0 +1,215 @@
1
+ @use 'mixins/index' as *;
2
+ @use 'function/index' as *;
3
+ @use 'mixins/_menu' as *;
4
+
5
+ @include buildRootCls('menu') {
6
+ @include menu-var('auto');
7
+ &.is-light {
8
+ @include menu-var('light');
9
+ }
10
+ &.is-dark {
11
+ @include menu-var('dark');
12
+ }
13
+ @include modifier('tooltip') {
14
+ filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1));
15
+ @include menu-var('auto');
16
+ &.is-light {
17
+ @include menu-var('light');
18
+ }
19
+ &.is-dark {
20
+ @include menu-var('dark');
21
+ }
22
+ }
23
+ @include modifier(cover) {
24
+ &.is-light {
25
+ @include set-bordercolor-var('light', 'border-color');
26
+ }
27
+ &.is-dark {
28
+ @include set-bordercolor-var('dark', 'border-color');
29
+ }
30
+ }
31
+
32
+ $bgcolor: getCssVar('menu', 'bgcolor');
33
+ $color: getCssVar('menu', 'color');
34
+ $hover-bgcolor: getCssVar('menu', 'hover-bgcolor');
35
+ $hover-color: getCssVar('menu', 'hover-color');
36
+ $disabled-bgcolor: getCssVar('menu', 'disabled-bgcolor');
37
+ $disabled-color: getCssVar('menu', 'disabled-color');
38
+ $font-size: getCssVar('menu', 'font-size');
39
+ $icon-font-size: getCssVar('menu', 'icon-font-size');
40
+ $border-radius: getCssVar('menu', 'border-radius');
41
+ $sub-padding-left: getCssVar('menu', 'sub-padding-left');
42
+ $line-height: getCssVar('menu', 'line-height');
43
+ $icon-width: getCssVar('menu', 'icon-width');
44
+ $label-padding: getCssVar('menu', 'label-padding');
45
+
46
+ width: 100%;
47
+ margin: 0;
48
+ padding: 0;
49
+ list-style: none;
50
+ outline: none;
51
+ transition: width var(--menu-transition-duration) ease-in-out;
52
+ color: $color;
53
+ background-color: $bgcolor;
54
+
55
+ @include sub(submenu) {
56
+ padding-left: $sub-padding-left;
57
+ height: 0;
58
+ opacity: 0;
59
+ overflow: hidden;
60
+ color: $color;
61
+ background-color: $bgcolor;
62
+ transition:
63
+ height var(--menu-transition-duration) ease-in-out,
64
+ opacity var(--menu-transition-duration) ease-in-out;
65
+ }
66
+
67
+ @include sub(label) {
68
+ white-space: nowrap;
69
+ word-break: keep-all;
70
+ min-width: 0;
71
+ flex: 1;
72
+ opacity: 1;
73
+ transition:
74
+ width var(--menu-transition-duration) ease-in-out,
75
+ opacity var(--menu-transition-duration) ease-in-out;
76
+ }
77
+
78
+ @include sub(icon) {
79
+ display: flex;
80
+ justify-content: center;
81
+ align-items: center;
82
+ font-size: $icon-font-size;
83
+ margin-right: 8px;
84
+ width: $icon-width;
85
+ transition: margin-right 0s ease-in-out;
86
+ }
87
+
88
+ @include sub(subicon) {
89
+ opacity: 1;
90
+ display: flex;
91
+ justify-content: center;
92
+ align-items: center;
93
+ margin-left: $label-padding;
94
+ font-size: $icon-font-size;
95
+ transition: opacity 0s var(--menu-transition-duration) ease-in-out;
96
+ @include child(svg-icon) {
97
+ transition: transform 0.2s ease-in-out;
98
+ }
99
+ }
100
+ @include is(collapse) {
101
+ width: calc($icon-width + $label-padding * 2);
102
+ @include child(menu__item) {
103
+ @include child(menu__label-wrap) {
104
+ @include child(menu__icon) {
105
+ margin-right: 0;
106
+ transition: margin-right 0s var(--menu-transition-duration) ease-in-out;
107
+ }
108
+ @include child(menu__label) {
109
+ width: 0;
110
+ opacity: 0;
111
+ flex: 0;
112
+ }
113
+
114
+ @include child(menu__subicon) {
115
+ opacity: 0;
116
+ visibility: hidden;
117
+ }
118
+ }
119
+ }
120
+ }
121
+ @include sub(label-wrap) {
122
+ display: flex;
123
+ align-items: center;
124
+ cursor: pointer;
125
+ height: $line-height;
126
+ line-height: $line-height;
127
+ font-size: $font-size;
128
+ padding: 0 $label-padding;
129
+ user-select: none;
130
+ overflow: hidden;
131
+ color: $color;
132
+ background-color: $bgcolor;
133
+ }
134
+ @include sub(item) {
135
+ list-style: none;
136
+ margin: 0;
137
+ padding: 0;
138
+ color: $color;
139
+ background-color: $bgcolor;
140
+ &.has-children {
141
+ position: relative;
142
+ }
143
+
144
+ @include child(menu__label-wrap) {
145
+ border-radius: $border-radius;
146
+ }
147
+ @include is(selected) {
148
+ @include child(menu__label-wrap) {
149
+ background-color: $hover-bgcolor;
150
+ color: $hover-color;
151
+ }
152
+ }
153
+ @include hover() {
154
+ @include child(menu__label-wrap) {
155
+ background-color: $hover-bgcolor;
156
+ color: $hover-color;
157
+ }
158
+ }
159
+ @include is(opened) {
160
+ @include child(menu__submenu) {
161
+ opacity: 1;
162
+ height: auto;
163
+ }
164
+ @include child(menu__label-wrap) {
165
+ @include child(menu__subicon) {
166
+ @include child(svg-icon) {
167
+ transform: rotate(180deg);
168
+ }
169
+ }
170
+ }
171
+ }
172
+ @include is(disabled) {
173
+ cursor: not-allowed;
174
+ color: $disabled-color;
175
+ background-color: $disabled-bgcolor;
176
+ @include child(menu__label-wrap) {
177
+ cursor: not-allowed;
178
+ color: $disabled-color;
179
+ background-color: $disabled-bgcolor;
180
+ }
181
+ }
182
+ }
183
+
184
+ @include modifier(tooltip) {
185
+ &:not(.is-disabled) {
186
+ &[data-placement^='bottom'] {
187
+ @include transition-transform('translateY(-8px) scaleY(0.95)', 'translateY(0) scaleY(1)');
188
+ }
189
+ &[data-placement^='top'] {
190
+ @include transition-transform('translateY(8px) scaleY(0.95)', 'translateY(0) scaleY(1)');
191
+ }
192
+ &[data-placement^='left'] {
193
+ @include transition-transform('translateX(8px) scaleX(0.95)', 'translateX(0) scaleX(1)');
194
+ }
195
+ &[data-placement^='right'] {
196
+ @include transition-transform('translateX(-8px) scaleX(0.95)', 'translateX(0) scaleX(1)');
197
+ }
198
+ width: fit-content;
199
+ padding: 0;
200
+ }
201
+
202
+ @include buildCls(menu__item) {
203
+ @include buildCls(menu__subicon) {
204
+ margin-right: calc($label-padding * -0.5);
205
+ @include buildCls(svg-icon) {
206
+ transform: rotate(-90deg);
207
+ }
208
+ }
209
+ }
210
+ }
211
+ @include modifier(horizontal) {
212
+ display: flex;
213
+ flex-wrap: nowrap;
214
+ }
215
+ }
@@ -99,10 +99,6 @@
99
99
  }
100
100
  }
101
101
 
102
- &.top-enter-active {
103
- opacity: 0;
104
- }
105
-
106
102
  &.top-enter-to,
107
103
  &.top-leave-from {
108
104
  opacity: 1;
@@ -111,10 +107,6 @@
111
107
  }
112
108
  }
113
109
 
114
- &.top-leave-active {
115
- opacity: 1;
116
- }
117
-
118
110
  &.top-leave-to {
119
111
  opacity: 0;
120
112
  &[data-placement='top'] {
@@ -132,9 +124,6 @@
132
124
  transform: translateX(0) translateY(20px);
133
125
  }
134
126
  }
135
- &.bottom-enter-active {
136
- opacity: 0;
137
- }
138
127
 
139
128
  &.bottom-enter-to,
140
129
  &.bottom-leave-from {
@@ -148,10 +137,6 @@
148
137
  }
149
138
  }
150
139
 
151
- &.bottom-leave-active {
152
- opacity: 1;
153
- }
154
-
155
140
  &.bottom-leave-to {
156
141
  opacity: 0;
157
142
  &[data-placement='bottom'] {
@@ -177,9 +162,7 @@
177
162
  transform: translateY(0) translateX(-100%);
178
163
  }
179
164
  }
180
- &.left-enter-active {
181
- opacity: 0;
182
- }
165
+
183
166
  &.left-enter-to,
184
167
  &.left-leave-from {
185
168
  opacity: 1;
@@ -195,9 +178,7 @@
195
178
  transform: translateY(0) translateX(0);
196
179
  }
197
180
  }
198
- &.left-leave-active {
199
- opacity: 1;
200
- }
181
+
201
182
  &.left-leave-to {
202
183
  opacity: 0;
203
184
  &[data-placement='left'] {
@@ -229,9 +210,6 @@
229
210
  transform: translateY(0) translateX(100%);
230
211
  }
231
212
  }
232
- &.right-enter-active {
233
- opacity: 0;
234
- }
235
213
 
236
214
  &.right-enter-to,
237
215
  &.right-leave-from {
@@ -250,9 +228,6 @@
250
228
  }
251
229
  }
252
230
 
253
- &.right-leave-active {
254
- opacity: 1;
255
- }
256
231
  &.right-leave-to {
257
232
  opacity: 0;
258
233
  &[data-placement='right'] {
@@ -0,0 +1,95 @@
1
+ @use './_transition' as *;
2
+ @use 'sass:map';
3
+ @use '../css-vars/_dropdown' as *;
4
+ @use './index' as *;
5
+ @use '../function/index' as *;
6
+
7
+ @mixin transition-transform($from-style, $to-style) {
8
+ @include transition-common(
9
+ dropdown,
10
+ 'opacity, transform',
11
+ 'ease-in-out, cubic-bezier(0.1, 0.4, 0.7, 1)',
12
+ (
13
+ opacity: 0,
14
+ transform: #{$from-style}
15
+ ),
16
+ (
17
+ opacity: 1,
18
+ transform: #{$to-style}
19
+ )
20
+ );
21
+ }
22
+
23
+ @mixin set-bgcolor-var($key, $val) {
24
+ #{getCssVarStr('dropdown' ,'bgcolor')}: #{deepGet($dropdown, $key, $val)};
25
+ #{getCssVarStr('tooltip' ,'bgcolor')}: #{deepGet($dropdown, $key, $val)};
26
+ }
27
+
28
+ @mixin set-color-var($key, $val) {
29
+ #{getCssVarStr('dropdown' ,'color')}: #{deepGet($dropdown, $key, $val)};
30
+ #{getCssVarStr('tooltip' ,'color')}: #{deepGet($dropdown, $key, $val)};
31
+ }
32
+
33
+ @mixin set-bordercolor-var($key, $val) {
34
+ #{getCssVarStr('tooltip' ,'border-color')}: #{deepGet($dropdown, $key, $val)};
35
+ }
36
+
37
+ @mixin set-hover-bgcolor-var($key, $val) {
38
+ #{getCssVarStr('dropdown' ,'hover-bgcolor')}: #{deepGet($dropdown, $key, $val)};
39
+ }
40
+
41
+ @mixin set-hover-color-var($key, $val) {
42
+ #{getCssVarStr('dropdown' ,'hover-color')}: #{deepGet($dropdown, $key, $val)};
43
+ }
44
+
45
+ @mixin set-disabled-color-var($key, $val) {
46
+ #{getCssVarStr('dropdown' ,'disabled-color')}: #{deepGet($dropdown, $key, $val)};
47
+ }
48
+
49
+ @mixin set-disabled-bgcolor-var($key, $val) {
50
+ #{getCssVarStr('dropdown' ,'disabled-bgcolor')}: #{deepGet($dropdown, $key, $val)};
51
+ }
52
+
53
+ @mixin set-radius-var($key, $val) {
54
+ #{getCssVarStr('dropdown' ,'border-radius')}: #{deepGet($dropdown, $key, $val)};
55
+ }
56
+
57
+ @mixin set-font-size-var($key, $val) {
58
+ #{getCssVarStr('dropdown' ,'font-size')}: #{deepGet($dropdown, $key, $val)};
59
+ }
60
+
61
+ @mixin set-icon-font-size-var($key, $val) {
62
+ #{getCssVarStr('dropdown' ,'icon-font-size')}: #{deepGet($dropdown, $key, $val)};
63
+ }
64
+ @mixin set-label-padding-var($key, $val) {
65
+ #{getCssVarStr('dropdown' ,'label-padding')}: #{deepGet($dropdown, $key, $val)};
66
+ }
67
+ @mixin set-sub-padding-left-var($key, $val) {
68
+ #{getCssVarStr('dropdown' ,'sub-padding-left')}: #{deepGet($dropdown, $key, $val)};
69
+ }
70
+ @mixin set-line-height-var($key, $val) {
71
+ #{getCssVarStr('dropdown' ,'line-height')}: #{deepGet($dropdown, $key, $val)};
72
+ }
73
+
74
+ @mixin dropdown-theme-var($theme) {
75
+ @include set-bgcolor-var($theme, 'bgcolor');
76
+ @include set-color-var($theme, 'color');
77
+ @include set-bordercolor-var($theme, 'border-color');
78
+
79
+ @include set-hover-color-var($theme, 'hover-color');
80
+ @include set-hover-bgcolor-var($theme, 'hover-bgcolor');
81
+
82
+ @include set-disabled-color-var($theme, 'disabled-color');
83
+ @include set-disabled-bgcolor-var($theme, 'disabled-bgcolor');
84
+ }
85
+
86
+ @mixin dropdown-var($theme) {
87
+ @include set-icon-font-size-var('dropdown', 'icon-font-size');
88
+ @include set-font-size-var('dropdown', 'font-size');
89
+ @include set-radius-var('dropdown', 'border-radius');
90
+ @include set-sub-padding-left-var('dropdown', 'sub-padding-left');
91
+ @include set-line-height-var('dropdown', 'line-height');
92
+ @include set-label-padding-var('dropdown', 'label-padding');
93
+
94
+ @include dropdown-theme-var($theme);
95
+ }
@@ -0,0 +1,99 @@
1
+ @use 'sass:map';
2
+ @use './transition' as *;
3
+ @use '../css-vars/_menu' as *;
4
+ @use './index' as *;
5
+ @use '../function/index' as *;
6
+
7
+ @mixin transition-transform($from-style, $to-style) {
8
+ @include transition-common(
9
+ menu,
10
+ 'opacity, transform',
11
+ 'ease-in-out, cubic-bezier(0.1, 0.4, 0.7, 1)',
12
+ (
13
+ opacity: 0,
14
+ transform: #{$from-style}
15
+ ),
16
+ (
17
+ opacity: 1,
18
+ transform: #{$to-style}
19
+ )
20
+ );
21
+ }
22
+
23
+ @mixin set-bgcolor-var($key, $val) {
24
+ #{getCssVarStr('menu' ,'bgcolor')}: #{deepGet($menu, $key, $val)};
25
+ #{getCssVarStr('tooltip' ,'bgcolor')}: #{deepGet($menu, $key, $val)};
26
+ }
27
+
28
+ @mixin set-color-var($key, $val) {
29
+ #{getCssVarStr('menu' ,'color')}: #{deepGet($menu, $key, $val)};
30
+ #{getCssVarStr('tooltip' ,'color')}: #{deepGet($menu, $key, $val)};
31
+ }
32
+
33
+ @mixin set-bordercolor-var($key, $val) {
34
+ #{getCssVarStr('tooltip' ,'border-color')}: #{deepGet($menu, $key, $val)};
35
+ }
36
+
37
+ @mixin set-hover-bgcolor-var($key, $val) {
38
+ #{getCssVarStr('menu' ,'hover-bgcolor')}: #{deepGet($menu, $key, $val)};
39
+ }
40
+
41
+ @mixin set-hover-color-var($key, $val) {
42
+ #{getCssVarStr('menu' ,'hover-color')}: #{deepGet($menu, $key, $val)};
43
+ }
44
+
45
+ @mixin set-disabled-color-var($key, $val) {
46
+ #{getCssVarStr('menu' ,'disabled-color')}: #{deepGet($menu, $key, $val)};
47
+ }
48
+
49
+ @mixin set-disabled-bgcolor-var($key, $val) {
50
+ #{getCssVarStr('menu' ,'disabled-bgcolor')}: #{deepGet($menu, $key, $val)};
51
+ }
52
+
53
+ @mixin set-radius-var($key, $val) {
54
+ #{getCssVarStr('menu' ,'border-radius')}: #{deepGet($menu, $key, $val)};
55
+ }
56
+
57
+ @mixin set-font-size-var($key, $val) {
58
+ #{getCssVarStr('menu' ,'font-size')}: #{deepGet($menu, $key, $val)};
59
+ }
60
+
61
+ @mixin set-icon-width-var($key, $val) {
62
+ #{getCssVarStr('menu' ,'icon-width')}: #{deepGet($menu, $key, $val)};
63
+ }
64
+ @mixin set-icon-font-size-var($key, $val) {
65
+ #{getCssVarStr('menu' ,'icon-font-size')}: #{deepGet($menu, $key, $val)};
66
+ }
67
+ @mixin set-label-padding-var($key, $val) {
68
+ #{getCssVarStr('menu' ,'label-padding')}: #{deepGet($menu, $key, $val)};
69
+ }
70
+ @mixin set-sub-padding-left-var($key, $val) {
71
+ #{getCssVarStr('menu' ,'sub-padding-left')}: #{deepGet($menu, $key, $val)};
72
+ }
73
+ @mixin set-line-height-var($key, $val) {
74
+ #{getCssVarStr('menu' ,'line-height')}: #{deepGet($menu, $key, $val)};
75
+ }
76
+
77
+ @mixin menu-theme-var($theme) {
78
+ @include set-bgcolor-var($theme, 'bgcolor');
79
+ @include set-color-var($theme, 'color');
80
+ @include set-bordercolor-var($theme, 'border-color');
81
+
82
+ @include set-hover-color-var($theme, 'hover-color');
83
+ @include set-hover-bgcolor-var($theme, 'hover-bgcolor');
84
+
85
+ @include set-disabled-color-var($theme, 'disabled-color');
86
+ @include set-disabled-bgcolor-var($theme, 'disabled-bgcolor');
87
+ }
88
+
89
+ @mixin menu-var($theme) {
90
+ @include set-icon-font-size-var('menu', 'icon-font-size');
91
+ @include set-font-size-var('menu', 'font-size');
92
+ @include set-radius-var('menu', 'border-radius');
93
+ @include set-sub-padding-left-var('menu', 'sub-padding-left');
94
+ @include set-line-height-var('menu', 'line-height');
95
+ @include set-icon-width-var('menu', 'icon-width');
96
+ @include set-label-padding-var('menu', 'label-padding');
97
+
98
+ @include menu-theme-var($theme);
99
+ }
@@ -1,5 +1,5 @@
1
1
  @use 'sass:map';
2
- @use '../css-vars/popconfirm' as *;
2
+ @use '../css-vars/_popconfirm' as *;
3
3
  @use './index' as *;
4
4
  @use '../function/index' as *;
5
5
 
@@ -7,6 +7,25 @@
7
7
  #{getCssVarStr('popconfirm','icon' ,'color')}: #{deepGet($popconfirm, $key, $val)};
8
8
  }
9
9
 
10
- @mixin popconfirm-var() {
10
+ @mixin set-bgcolor-var($key, $val) {
11
+ #{getCssVarStr('tooltip' ,'bgcolor')}: #{deepGet($popconfirm, $key, $val)};
12
+ }
13
+
14
+ @mixin set-color-var($key, $val) {
15
+ #{getCssVarStr('tooltip' ,'color')}: #{deepGet($popconfirm, $key, $val)};
16
+ }
17
+
18
+ @mixin set-bordercolor-var($key, $val) {
19
+ #{getCssVarStr('tooltip' ,'border-color')}: #{deepGet($popconfirm, $key, $val)};
20
+ }
21
+
22
+ @mixin popconfirm-theme-var($theme) {
23
+ @include set-bgcolor-var($theme, 'bgcolor');
24
+ @include set-color-var($theme, 'color');
25
+ @include set-bordercolor-var($theme, 'border-color');
26
+ }
27
+
28
+ @mixin popconfirm-var($theme) {
11
29
  @include set-icon-color-var('icon', 'color');
30
+ @include popconfirm-theme-var($theme);
12
31
  }
@@ -0,0 +1,26 @@
1
+ @use 'sass:map';
2
+ @use '../css-vars/_popover' as *;
3
+ @use './index' as *;
4
+ @use '../function/index' as *;
5
+
6
+ @mixin set-bgcolor-var($key, $val) {
7
+ #{getCssVarStr('tooltip' ,'bgcolor')}: #{deepGet($popover, $key, $val)};
8
+ }
9
+
10
+ @mixin set-color-var($key, $val) {
11
+ #{getCssVarStr('tooltip' ,'color')}: #{deepGet($popover, $key, $val)};
12
+ }
13
+
14
+ @mixin set-bordercolor-var($key, $val) {
15
+ #{getCssVarStr('tooltip' ,'border-color')}: #{deepGet($popover, $key, $val)};
16
+ }
17
+
18
+ @mixin popover-theme-var($theme) {
19
+ @include set-bgcolor-var($theme, 'bgcolor');
20
+ @include set-color-var($theme, 'color');
21
+ @include set-bordercolor-var($theme, 'border-color');
22
+ }
23
+
24
+ @mixin popover-var($theme) {
25
+ @include popover-theme-var($theme);
26
+ }
@@ -0,0 +1,29 @@
1
+ @mixin transition-common(
2
+ $name,
3
+ $properties: 'opacity',
4
+ $timings: ease-in-out,
5
+ $from-styles: (opacity: 0),
6
+ $to-styles: (opacity: 1),
7
+ $durations: 0.3s,
8
+ $delays: 0s,
9
+ $behaviors: normal
10
+ ) {
11
+ transition-property: #{$properties};
12
+ transition-timing-function: #{$timings};
13
+ transition-duration: #{$durations};
14
+ transition-delay: #{$delays};
15
+ transition-behavior: #{$behaviors};
16
+
17
+ &.#{$name}-enter-from,
18
+ &.#{$name}-leave-to {
19
+ @each $prop, $val in $from-styles {
20
+ #{$prop}: $val;
21
+ }
22
+ }
23
+ &.#{$name}-enter-to,
24
+ &.#{$name}-leave-from {
25
+ @each $prop, $val in $to-styles {
26
+ #{$prop}: $val;
27
+ }
28
+ }
29
+ }