From 7f4f28c43c135671041b0f7d32d579ad4be0ee6d Mon Sep 17 00:00:00 2001 From: 07akioni <07akioni2@gmail.com> Date: Thu, 31 Dec 2020 21:40:54 +0800 Subject: [PATCH] refactor(alert): composition + new theme --- src/_mixins/use-theme.js | 17 ++-- src/_utils/index.js | 1 + src/alert/src/Alert.vue | 87 ++++++++++++----- src/alert/src/styles/index.cssr.js | 115 ++++++++++++++++++++++ src/alert/src/styles/index.js | 9 -- src/alert/src/styles/themed-base.cssr.js | 117 ----------------------- src/alert/styles/dark.js | 14 +-- src/alert/styles/light.js | 16 ++-- src/styles.js | 2 +- src/styles.new.js | 4 + 10 files changed, 206 insertions(+), 176 deletions(-) create mode 100644 src/alert/src/styles/index.cssr.js delete mode 100644 src/alert/src/styles/index.js delete mode 100644 src/alert/src/styles/themed-base.cssr.js diff --git a/src/_mixins/use-theme.js b/src/_mixins/use-theme.js index 97b9ce1ff..d9d8ebbb1 100644 --- a/src/_mixins/use-theme.js +++ b/src/_mixins/use-theme.js @@ -39,7 +39,11 @@ export default function useTheme ( const { mergedUnstableTheme: { common: injectedGlobalCommon, - [resolveId]: { injectedCommon, injectedSelf, injectedPeers = {} } = {} + [resolveId]: { + common: injectedCommon, + self: injectedSelf, + peers: injectedPeers = {} + } = {} } = {}, mergedUnstableThemeOverrides: { common: injectedGlobalCommonOverrides, @@ -60,13 +64,14 @@ export default function useTheme ( injectedCommonOverrides, commonOverrides ) + const mergedSelf = merge( + (self || injectedSelf || defaultTheme.self || {})(mergedCommon), + injectedSelfOverrides, + selfOverrides + ) return { common: mergedCommon, - self: merge( - (self || injectedSelf || defaultTheme.self || {})(mergedCommon), - injectedSelfOverrides, - selfOverrides - ), + self: mergedSelf, peersTheme: merge(peers, injectedPeers), peersOverride: merge(peersOverrides, injectedPeersOverrides) } diff --git a/src/_utils/index.js b/src/_utils/index.js index ae890d724..050186c2e 100644 --- a/src/_utils/index.js +++ b/src/_utils/index.js @@ -9,4 +9,5 @@ export { } from './vue' export { warn, warnOnce } from './naive' export { formatLength } from './css' +export { createKey } from './cssr' export * from './composable' diff --git a/src/alert/src/Alert.vue b/src/alert/src/Alert.vue index 4ba2615c3..b42e73d68 100644 --- a/src/alert/src/Alert.vue +++ b/src/alert/src/Alert.vue @@ -5,12 +5,9 @@ class="n-alert" :class="{ [`n-alert--${type}-type`]: true, - 'n-alert--no-icon': showIcon === false, - [`n-${mergedTheme}-theme`]: mergedTheme - }" - :style="{ - ...mergedStyle + 'n-alert--no-icon': showIcon === false }" + :style="cssVars" >