behaviors across multiple modules - Fix scroll behavior in time table creation, quick appointment, and customer club forms - Ensure submit button becomes visible when selecting start/end time - Fix SMS discount validation (enable send button only after selecting customer) - Auto scroll quick appointment when selecting "by myself" - Replace loyalty card delete (X) button with trash icon - Fix duplicate customer registration message conflict - Prevent background scroll when opening cashback and repair settings - Simplify modal actions (remove extra cancel/close buttons and unify with back/delete) - Replace cancel button with close/back in income/cost and gift card dialogs - Improve mobile scrolling for day and percentage pickers - Fix gift card text shadow issue when sharing - Add mobile scroll pickers for time and percentage
160 lines
6.0 KiB
JavaScript
160 lines
6.0 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
export default {
|
|
darkMode: ["class"],
|
|
content: ["./index.html", "./src/**/*.{ts,tsx,js,jsx}"],
|
|
theme: {
|
|
extend: {
|
|
screens: {
|
|
xxs: "340px",
|
|
xs: "376px",
|
|
s: "450px",
|
|
"h-sm": { raw: "(min-height: 640px) and (max-width: 768px)" },
|
|
"h-md": { raw: "(min-height: 768px) and (max-width: 768px)" },
|
|
"h-lg": { raw: "(min-height: 1024px) and (max-width: 768px)" },
|
|
"h-xl": { raw: "(min-height: 1280px) and (max-width: 768px)" },
|
|
},
|
|
fontFamily: {
|
|
vazirmatn: ["Vazirmatn", "tahoma", "sans-serif"],
|
|
nastaliq: ["IranNastaliq", "Vazirmatn", "tahoma", "sans-serif"],
|
|
boblious: ["Boblious", "Vazirmatn", "tahoma", "sans-serif"],
|
|
hayat: ["Hayat", "Vazirmatn", "tahoma", "sans-serif"],
|
|
digiMadasi: ["DigiMadasi", "Vazirmatn", "tahoma", "sans-serif"],
|
|
nahid: ['Nahid', 'sans-serif'],
|
|
Shabnam: ['Shabnam', 'sans-serif'],
|
|
darya: ['Darya', 'sans-serif'],
|
|
sarvenaz: ['Sarvenaz', 'sans-serif'],
|
|
ghasedak: ['Ghasedak', 'sans-serif'],
|
|
cheshmak: ['Cheshmak', 'sans-serif'],
|
|
farkhonde: ['Farkhonde', 'sans-serif'],
|
|
mahtab: ['mahtab', 'sans-serif'],
|
|
nofar: ['nofar', 'sans-serif'],
|
|
vorojak: ['vorojak', 'sans-serif'],
|
|
paeez: ['paeez', 'sans-serif'],
|
|
},
|
|
borderRadius: {
|
|
lg: "var(--radius)",
|
|
md: "calc(var(--radius) - 2px)",
|
|
sm: "calc(var(--radius) - 4px)",
|
|
},
|
|
colors: {
|
|
background: "hsl(var(--background))",
|
|
foreground: "hsl(var(--foreground))",
|
|
card: {
|
|
DEFAULT: "hsl(var(--card))",
|
|
foreground: "hsl(var(--card-foreground))",
|
|
},
|
|
popover: {
|
|
DEFAULT: "hsl(var(--popover))",
|
|
foreground: "hsl(var(--popover-foreground))",
|
|
},
|
|
primary: {
|
|
DEFAULT: "hsl(var(--primary))",
|
|
foreground: "hsl(var(--primary-foreground))",
|
|
},
|
|
secondary: {
|
|
DEFAULT: "hsl(var(--secondary))",
|
|
foreground: "hsl(var(--secondary-foreground))",
|
|
},
|
|
muted: {
|
|
DEFAULT: "hsl(var(--muted))",
|
|
foreground: "hsl(var(--muted-foreground))",
|
|
},
|
|
accent: {
|
|
DEFAULT: "hsl(var(--accent))",
|
|
foreground: "hsl(var(--accent-foreground))",
|
|
},
|
|
destructive: {
|
|
DEFAULT: "hsl(var(--destructive))",
|
|
foreground: "hsl(var(--destructive-foreground))",
|
|
},
|
|
border: "hsl(var(--border))",
|
|
input: "hsl(var(--input))",
|
|
ring: "hsl(var(--ring))",
|
|
chart: {
|
|
1: "hsl(var(--chart-1))",
|
|
2: "hsl(var(--chart-2))",
|
|
3: "hsl(var(--chart-3))",
|
|
4: "hsl(var(--chart-4))",
|
|
5: "hsl(var(--chart-5))",
|
|
},
|
|
},
|
|
|
|
keyframes: {
|
|
"caret-blink": {
|
|
"0%,70%,100%": {
|
|
opacity: "1",
|
|
},
|
|
"20%,50%": {
|
|
opacity: "0",
|
|
},
|
|
},
|
|
"accordion-down": {
|
|
from: {
|
|
height: "0",
|
|
},
|
|
to: {
|
|
height: "var(--radix-accordion-content-height)",
|
|
},
|
|
},
|
|
"accordion-up": {
|
|
from: {
|
|
height: "var(--radix-accordion-content-height)",
|
|
},
|
|
to: {
|
|
height: "0",
|
|
},
|
|
},
|
|
"soft-pulse": {
|
|
"0%, 100%": {
|
|
transform: "scale(1)",
|
|
// opacity: "0.45",
|
|
},
|
|
"50%": {
|
|
transform: "scale(1.5)",
|
|
// opacity: "0.25",
|
|
},
|
|
},
|
|
},
|
|
animation: {
|
|
"caret-blink": "caret-blink 1.25s ease-out infinite",
|
|
"accordion-down": "accordion-down 0.2s ease-out",
|
|
"accordion-up": "accordion-up 0.2s ease-out",
|
|
"soft-pulse": "soft-pulse 1s infinite",
|
|
},
|
|
boxShadow: {
|
|
card: "0 2px 8px 0 #2D0A4829"
|
|
}
|
|
},
|
|
},
|
|
plugins: [
|
|
require("tailwindcss-animate"),
|
|
function ({ addUtilities }) {
|
|
addUtilities({
|
|
".scrollbar-hide": {
|
|
"-ms-overflow-style": "none",
|
|
"scrollbar-width": "none",
|
|
"&::-webkit-scrollbar": { display: "none" },
|
|
},
|
|
".text-shadow-white": {
|
|
textShadow: '4px -2px 4px #fff, 2px 2px 4px #fff',
|
|
},
|
|
// ".text-shadow-gray": {
|
|
// textShadow: '4px -2px 4px rgba(0,0,0,0.2), 2px 2px 4px rgba(0,0,0,0.2)',
|
|
// },
|
|
".text-shadow-gray": {
|
|
textShadow: '4px -2px 4px rgba(0,0,0,0.2), 2px 2px 4px rgba(0,0,0,0.2)',
|
|
},
|
|
// ".text-shadow-gray": {
|
|
// textShadow: '0px 1px 3px rgba(255,255,255,0.8), 0px -1px 3px rgba(255,255,255,0.8)',
|
|
// },
|
|
".text-shadow-capture": {
|
|
textShadow: '0px 1px 2px rgba(255,255,255,0.6)',
|
|
},
|
|
|
|
|
|
});
|
|
},
|
|
],
|
|
};
|
|
|