From cf0b4011d1bed7d1fe8ab5b78724c9b4911f2be7 Mon Sep 17 00:00:00 2001 From: aleidk Date: Tue, 17 Sep 2024 16:08:07 -0300 Subject: [PATCH] feat(core): add styles for vanilla tables #1 --- packages/core/src/_tokens.scss | 7 +++-- packages/core/src/components/table.scss | 37 +++++++++++++++++++++++ packages/core/src/style.scss | 1 + packages/website/src/main.ts | 4 +++ packages/website/src/templates/table.html | 29 ++++++++++++++++++ 5 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 packages/core/src/components/table.scss create mode 100644 packages/website/src/templates/table.html diff --git a/packages/core/src/_tokens.scss b/packages/core/src/_tokens.scss index 1d0957b..b4b9436 100644 --- a/packages/core/src/_tokens.scss +++ b/packages/core/src/_tokens.scss @@ -56,13 +56,15 @@ $msp-colors: ( "--msp-color-bg-primary": #{getColor("teal")}, "--msp-color-bg-secondary": #{getColor("mauve")}, "--msp-color-bg-danger": #{getColor("red")}, - "--msp-color-bg-disabled": #{getColor("red")}, + "--msp-color-bg-disabled": #{color.scale(getColor("text"), $alpha: -10%)}, "--msp-color-bg-input": #{getColor("text")}, "--msp-color-bg-checkbox": #{getColor("teal")}, "--msp-color-bg-range": #{getColor("surface1")}, "--msp-color-bg-btn": #{getColor("teal")}, + "--msp-color-bg-table": #{getColor("base")}, "--msp-color-text": #{getColor("text")}, + "--msp-color-text-transparent": #{color.scale(getColor("text"), $alpha: -50%)}, "--msp-color-text-surface": #{getColor("text")}, "--msp-color-text-link": #{getColor("teal")}, "--msp-color-text-accent": #{getColor("base")}, @@ -78,6 +80,7 @@ $msp-colors: ( "--msp-color-text-checkbox": #{getColor("surface1")}, "--msp-color-text-range": #{getColor("teal")}, "--msp-color-text-btn": #{getColor("base")}, + "--msp-color-text-table": #{getColor("text")}, "--msp-color-shadow": #{getColor("crust")}, "--msp-color-transparent": transparent, @@ -95,7 +98,7 @@ $msp-colors: ( // ── Borders ───────────────────────────────────────────────────────────── --msp-border-width: 1px; - --msp-border-color: var(--msp-color-bg-transparent); + --msp-border-color: var(--msp-color-text-transparent); --msp-border-style: solid; --msp-border-radius: 0.2rem; } diff --git a/packages/core/src/components/table.scss b/packages/core/src/components/table.scss new file mode 100644 index 0000000..1f30872 --- /dev/null +++ b/packages/core/src/components/table.scss @@ -0,0 +1,37 @@ +table { + caption-side: bottom; + border-collapse: collapse; + + width: 100%; + + tbody, + td, + tfoot, + th, + thead, + tr { + border-color: inherit; + border-style: solid; + border-width: 0; + } + + thead { + vertical-align: bottom; + th { + text-align: start; + } + } + + & > :not(caption) > * > * { + padding: var(--msp-spacing-2); + color: var(--msp-color-table-text); + background-color: var(--msp-color-bg-table); + border-bottom-width: var(--msp-border-width); + border-color: var(--msp-color-text-transparent); + box-shadow: inset 0 0 0 9999px + var( + --bs-table-bg-state, + var(--bs-table-bg-type, var(--bs-table-accent-bg)) + ); + } +} diff --git a/packages/core/src/style.scss b/packages/core/src/style.scss index 846c9ab..53f7103 100644 --- a/packages/core/src/style.scss +++ b/packages/core/src/style.scss @@ -5,6 +5,7 @@ @use "./mixins"; @use "./components/form"; +@use "./components/table"; // SASS variables are imported without namespace, but try to always use native // CSS variables when possible so they can be overrwritten by custom styles diff --git a/packages/website/src/main.ts b/packages/website/src/main.ts index f5095bb..ed88f31 100644 --- a/packages/website/src/main.ts +++ b/packages/website/src/main.ts @@ -2,11 +2,15 @@ import "mini-strap-core"; import render from "./render"; import layout from "./templates/form.html"; +import table from "./templates/table.html"; document.querySelector("#app")!.innerHTML = `
${render(layout, { name: "ale" })}
+
+ ${render(table, { name: "ale" })} +
`; diff --git a/packages/website/src/templates/table.html b/packages/website/src/templates/table.html new file mode 100644 index 0000000..14fc58d --- /dev/null +++ b/packages/website/src/templates/table.html @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#FirstLastHandle
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter