feat: extract shop from mp/shop — initial libreshop/shop
Some checks failed
Build and publish / build (push) Failing after 19s

Source moved verbatim from mp/shop/ on 2026-04-29; mp was the first
concrete adapter consuming the libreshop toolkit. Builds and publishes
git.librete.ch/libreshop/shop on every main / v* push via the standard
.gitea/workflows/build.yml shared across libreshop components.
This commit is contained in:
Michael Czechowski
2026-04-29 17:48:56 +02:00
commit 44107c0734
134 changed files with 19521 additions and 0 deletions

38
tailwind.config.ts Normal file
View File

@@ -0,0 +1,38 @@
import type { Config } from "tailwindcss";
import defaultTheme from "tailwindcss/defaultTheme";
export default {
content: [
"./components/**/*.{vue,js,ts}",
"./layouts/**/*.vue",
"./pages/**/*.vue",
"./composables/**/*.{js,ts}",
"./plugins/**/*.{js,ts}",
"./assets/css/**/*.css",
"./app.vue"
],
theme: {
extend: {
fontFamily: {
sans: ["Helvetica", "Arial", ...defaultTheme.fontFamily.sans],
bebas: ["'Bebas Neue'", ...defaultTheme.fontFamily.sans]
}
}
},
safelist: [
// Dynamic gradient direction for Background component
{
pattern: /bg-gradient-to-(t|tr|r|br|b|bl|l|tl)/
},
// Dynamic colors for Background component (shades 50, 100, 200) and product details (700)
{
pattern: /(from|to|via)-(red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(50|100|200|700)/
},
// Dynamic shadow colors for ProductCard (shades 100, 200) with optional opacity
{
pattern: /shadow-(red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(100|200)(\/\d+)?/,
variants: ["group-hover", "group-active"]
}
],
plugins: [require("@tailwindcss/forms")]
} satisfies Config;