From 4f768afe543bbf9e1857c41d03804f8e37ab3512 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Fri, 29 Sep 2023 21:29:45 +0200 Subject: refactor(components): rewrite List component * change `items` prop to children * replace `kind` prop with `isHierarchical`, `isOrdered` & `isInline` props * add `hideMarker` prop * add `spacing` prop to control item spacing * move lists styles to Sass placeholders to avoid repeats because of headless WordPress --- src/styles/abstracts/placeholders/_lists.scss | 53 +++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/styles/abstracts/placeholders/_lists.scss (limited to 'src/styles/abstracts/placeholders/_lists.scss') diff --git a/src/styles/abstracts/placeholders/_lists.scss b/src/styles/abstracts/placeholders/_lists.scss new file mode 100644 index 0000000..8a6b1d9 --- /dev/null +++ b/src/styles/abstracts/placeholders/_lists.scss @@ -0,0 +1,53 @@ +%reset-list { + margin: 0; + padding: 0; + + ::marker { + color: var(--color-primary-dark); + } +} + +%regular-list { + @extend %reset-list; + + list-style-position: inside; + + ul, + ol { + margin-block-start: var(--itemSpacing); + padding-inline-start: var(--spacing-sm); + } +} + +%hierarchical-list { + @extend %reset-list; + + counter-reset: item; + + > li { + display: table; + counter-increment: item; + + &::before { + content: counters(item, ".") ". "; + display: table-cell; + padding-inline-end: var(--spacing-2xs); + color: var(--color-secondary); + } + } +} + +%inline-list { + @extend %reset-list; + + display: flex; + flex-flow: row wrap; + gap: var(--itemSpacing, 0); + list-style-position: inside; +} + +%list-item { + &:not(:last-child) { + margin-block-end: var(--itemSpacing); + } +} -- cgit v1.2.3