From 90ae7c1d5722bd65e44dc7fd66c8cae10b7e3acb Mon Sep 17 00:00:00 2001 From: Dobromir Hristov Date: Mon, 1 Aug 2022 14:19:57 +0300 Subject: [PATCH 1/6] feat: add @Small directive support --- src/components/ContentNode.vue | 5 ++++ src/components/ContentNode/Small.vue | 30 ++++++++++++++++++++ src/styles/core/typography/_font-styles.scss | 3 ++ tests/unit/components/ContentNode.spec.js | 17 +++++++++++ 4 files changed, 55 insertions(+) create mode 100644 src/components/ContentNode/Small.vue diff --git a/src/components/ContentNode.vue b/src/components/ContentNode.vue index cfee850d9..f4b6fbfd6 100644 --- a/src/components/ContentNode.vue +++ b/src/components/ContentNode.vue @@ -20,6 +20,7 @@ import InlineImage from './ContentNode/InlineImage.vue'; import Reference from './ContentNode/Reference.vue'; import Table from './ContentNode/Table.vue'; import StrikeThrough from './ContentNode/StrikeThrough.vue'; +import Small from './ContentNode/Small.vue'; const BlockType = { aside: 'aside', @@ -32,6 +33,7 @@ const BlockType = { termList: 'termList', unorderedList: 'unorderedList', dictionaryExample: 'dictionaryExample', + small: 'small', }; const InlineType = { @@ -274,6 +276,9 @@ function renderNode(createElement, references) { }; return createElement(DictionaryExample, { props }, renderChildren(node.summary || [])); } + case BlockType.small: { + return createElement(Small, renderChildren(node.content)); + } case InlineType.codeVoice: return createElement(CodeVoice, {}, ( node.code diff --git a/src/components/ContentNode/Small.vue b/src/components/ContentNode/Small.vue new file mode 100644 index 000000000..12692e7dc --- /dev/null +++ b/src/components/ContentNode/Small.vue @@ -0,0 +1,30 @@ + + + + + + + diff --git a/src/styles/core/typography/_font-styles.scss b/src/styles/core/typography/_font-styles.scss index 3da9f04ce..57638fb9c 100644 --- a/src/styles/core/typography/_font-styles.scss +++ b/src/styles/core/typography/_font-styles.scss @@ -194,5 +194,8 @@ $font-styles: ( ), nav-menu-collapsible: ( large: (nav_14_14, nav) + ), + small-text: ( + large: 14_18 ) ) !default; diff --git a/tests/unit/components/ContentNode.spec.js b/tests/unit/components/ContentNode.spec.js index 2cdaee03e..7a96f5e9b 100644 --- a/tests/unit/components/ContentNode.spec.js +++ b/tests/unit/components/ContentNode.spec.js @@ -21,6 +21,7 @@ import InlineImage from 'docc-render/components/ContentNode/InlineImage.vue'; import Reference from 'docc-render/components/ContentNode/Reference.vue'; import Table from 'docc-render/components/ContentNode/Table.vue'; import StrikeThrough from 'docc-render/components/ContentNode/StrikeThrough.vue'; +import Small from '@/components/ContentNode/Small.vue'; const { TableHeaderStyle } = ContentNode.constants; @@ -320,6 +321,22 @@ describe('ContentNode', () => { }); }); + describe('with type="small"', () => { + it('renders a ``', () => { + const wrapper = mountWithItem({ + type: 'small', + content: [ + { + type: 'text', + text: 'foo', + }, + ], + }); + const small = wrapper.find(Small); + expect(small.text()).toBe('foo'); + }); + }); + describe('with type="codeVoice"', () => { it('renders a `CodeVoice`', () => { const wrapper = mountWithItem({ From 684f642db4439cf4408e39c4b3fd31ba7dc9779e Mon Sep 17 00:00:00 2001 From: Dobromir Hristov Date: Wed, 10 Aug 2022 10:19:48 +0300 Subject: [PATCH 2/6] Update src/components/ContentNode/Small.vue --- src/components/ContentNode/Small.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ContentNode/Small.vue b/src/components/ContentNode/Small.vue index 12692e7dc..83c4f8772 100644 --- a/src/components/ContentNode/Small.vue +++ b/src/components/ContentNode/Small.vue @@ -1,7 +1,7 @@