From 6086f8d3eb4585efb77ba15d5fef54173f4e1a65 Mon Sep 17 00:00:00 2001 From: liuzaijiang <530604689@qq.com> Date: Mon, 27 Dec 2021 19:04:59 +0800 Subject: [PATCH] feat(comp: space): replace gap prop with size --- packages/components/back-top/style/index.less | 8 +++- .../style/themes/default.variable.less | 6 +++ .../components/config/src/defaultConfig.ts | 2 +- packages/components/config/src/types.ts | 2 +- .../__snapshots__/space.spec.ts.snap | 8 ++-- .../components/space/__tests__/space.spec.ts | 38 +++++++++---------- packages/components/space/demo/Basic.vue | 1 - .../space/demo/{Gap.md => CustomSize.md} | 0 packages/components/space/demo/CustomSize.vue | 20 ++++++++++ packages/components/space/demo/Direction.vue | 1 - packages/components/space/demo/Gap.vue | 16 -------- packages/components/space/demo/Size.md | 10 +++++ packages/components/space/demo/Size.vue | 19 ++++++++++ packages/components/space/docs/Index.zh.md | 6 +-- packages/components/space/src/Space.tsx | 17 +++++++-- packages/components/space/src/types.ts | 9 ++++- 16 files changed, 109 insertions(+), 54 deletions(-) rename packages/components/space/demo/{Gap.md => CustomSize.md} (100%) create mode 100644 packages/components/space/demo/CustomSize.vue delete mode 100644 packages/components/space/demo/Gap.vue create mode 100644 packages/components/space/demo/Size.md create mode 100644 packages/components/space/demo/Size.vue diff --git a/packages/components/back-top/style/index.less b/packages/components/back-top/style/index.less index 7fbc5d7cb..e979fabb9 100644 --- a/packages/components/back-top/style/index.less +++ b/packages/components/back-top/style/index.less @@ -10,13 +10,19 @@ background-color: @back-top-background-color; width: @back-top-width; height: @back-top-height; - color: @color-white; + color: @back-top-color; display: flex; align-items: center; justify-content: center; font-size: @back-top-font-size; border-radius: @back-top-border-radius; + box-shadow: @back-top-box-shadow; cursor: pointer; + + &:hover { + background-color: @back-top-background-hover-color; + color: @back-top-hover-color; + } } @media screen and (min-width: @screen-lg) and (max-width: @screen-lg-max) { diff --git a/packages/components/back-top/style/themes/default.variable.less b/packages/components/back-top/style/themes/default.variable.less index e4e5c9c36..b31706216 100644 --- a/packages/components/back-top/style/themes/default.variable.less +++ b/packages/components/back-top/style/themes/default.variable.less @@ -15,4 +15,10 @@ @back-top-bottom: 50px; +@back-top-color: @color-white; +@back-top-hover-color: @color-white; @back-top-background-color: @color-primary; +@back-top-background-hover-color: @color-primary; + + +@back-top-box-shadow: 0 2px 8px 0 rgba(30,35,43,0.12); diff --git a/packages/components/config/src/defaultConfig.ts b/packages/components/config/src/defaultConfig.ts index 19e96b3da..7ee59cad2 100644 --- a/packages/components/config/src/defaultConfig.ts +++ b/packages/components/config/src/defaultConfig.ts @@ -76,7 +76,7 @@ const divider: DividerConfig = { type: 'horizontal', } -const space: SpaceConfig = { gap: 8, wrap: true } +const space: SpaceConfig = { size: 'md', wrap: true } const row: RowConfig = { wrap: true } diff --git a/packages/components/config/src/types.ts b/packages/components/config/src/types.ts index 823b799b8..e759ba945 100644 --- a/packages/components/config/src/types.ts +++ b/packages/components/config/src/types.ts @@ -55,7 +55,7 @@ export interface DividerConfig { } export interface SpaceConfig { - gap: number | string | [number | string, number | string] + size: number | [number, number] | FormSize wrap: boolean } diff --git a/packages/components/space/__tests__/__snapshots__/space.spec.ts.snap b/packages/components/space/__tests__/__snapshots__/space.spec.ts.snap index 25641cf53..deb2a870b 100644 --- a/packages/components/space/__tests__/__snapshots__/space.spec.ts.snap +++ b/packages/components/space/__tests__/__snapshots__/space.spec.ts.snap @@ -1,9 +1,9 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Space render work 1`] = ` -"
-
Space
-
-
+"
+
Space
+
+
" `; diff --git a/packages/components/space/__tests__/space.spec.ts b/packages/components/space/__tests__/space.spec.ts index e9a48666b..973c132f2 100644 --- a/packages/components/space/__tests__/space.spec.ts +++ b/packages/components/space/__tests__/space.spec.ts @@ -54,22 +54,12 @@ describe('Space', () => { expect(wrapper.classes()).toContain('ix-space-vertical') }) - test('gap work', async () => { + test('size work', async () => { const wrapper = SpaceMount() const wrapperElement = wrapper.element as HTMLElement const itemElements = wrapper.findAll('.ix-space-item').map(item => item.element as HTMLElement) - expect(wrapperElement.style.marginBottom).toBe('-8px') - expect(itemElements[0].style.marginRight).toBe('8px') - expect(itemElements[0].style.paddingBottom).toEqual('8px') - expect(itemElements[1].style.marginRight).toBe('8px') - expect(itemElements[1].style.paddingBottom).toEqual('8px') - expect(itemElements[2].style.marginRight).toBe('') - expect(itemElements[2].style.paddingBottom).toEqual('8px') - - await wrapper.setProps({ gap: 16 }) - expect(wrapperElement.style.marginBottom).toBe('-16px') expect(itemElements[0].style.marginRight).toBe('16px') expect(itemElements[0].style.paddingBottom).toEqual('16px') @@ -78,17 +68,27 @@ describe('Space', () => { expect(itemElements[2].style.marginRight).toBe('') expect(itemElements[2].style.paddingBottom).toEqual('16px') - await wrapper.setProps({ gap: `24px` }) + await wrapper.setProps({ size: 'sm' }) + + expect(wrapperElement.style.marginBottom).toBe('-8px') + expect(itemElements[0].style.marginRight).toBe('8px') + expect(itemElements[0].style.paddingBottom).toEqual('8px') + expect(itemElements[1].style.marginRight).toBe('8px') + expect(itemElements[1].style.paddingBottom).toEqual('8px') + expect(itemElements[2].style.marginRight).toBe('') + expect(itemElements[2].style.paddingBottom).toEqual('8px') + + await wrapper.setProps({ size: 30 }) - expect(wrapperElement.style.marginBottom).toBe('-24px') - expect(itemElements[0].style.marginRight).toBe('24px') - expect(itemElements[0].style.paddingBottom).toEqual('24px') - expect(itemElements[1].style.marginRight).toBe('24px') - expect(itemElements[1].style.paddingBottom).toEqual('24px') + expect(wrapperElement.style.marginBottom).toBe('-30px') + expect(itemElements[0].style.marginRight).toBe('30px') + expect(itemElements[0].style.paddingBottom).toEqual('30px') + expect(itemElements[1].style.marginRight).toBe('30px') + expect(itemElements[1].style.paddingBottom).toEqual('30px') expect(itemElements[2].style.marginRight).toBe('') - expect(itemElements[2].style.paddingBottom).toEqual('24px') + expect(itemElements[2].style.paddingBottom).toEqual('30px') - await wrapper.setProps({ gap: [8, 16] }) + await wrapper.setProps({ size: [8, 16] }) expect(wrapperElement.style.marginBottom).toBe('-16px') expect(itemElements[0].style.marginRight).toBe('8px') diff --git a/packages/components/space/demo/Basic.vue b/packages/components/space/demo/Basic.vue index 1b14770e5..144c34069 100644 --- a/packages/components/space/demo/Basic.vue +++ b/packages/components/space/demo/Basic.vue @@ -1,6 +1,5 @@