Comparing version 0.15.10 to 0.16.0
@@ -1,4 +0,2 @@ | ||
interface ThemeColorObject extends Record<string, ThemeColor> { | ||
} | ||
declare type ThemeColor = string | ThemeColorObject; | ||
import { ThemeColor } from 'twind'; | ||
@@ -5,0 +3,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
var e="#000",f="#fff",o={50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337"},a={50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"},c={50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75"},d={50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87"},r={50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95"},b={50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"},t={50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},l={50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e"},p={50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63"},m={50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a"},n={50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b"},s={50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},h={50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314"},x={50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},C={50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},T={50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12"},i={50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},y={50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917"},u={50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717"},g={50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b"},G={50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},w={50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a"};export{C as amber,e as black,t as blue,w as blueGray,G as coolGray,p as cyan,n as emerald,c as fuchsia,g as gray,s as green,b as indigo,l as lightBlue,h as lime,T as orange,a as pink,d as purple,i as red,o as rose,m as teal,u as trueGray,r as violet,y as warmGray,f as white,x as yellow}; | ||
var e="#000",f="#fff",o={50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337"},a={50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"},c={50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75"},d={50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87"},r={50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95"},b={50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"},t={50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},l={50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e"},n={50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63"},m={50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a"},p={50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b"},h={50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},s={50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314"},x={50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},C={50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},T={50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12"},i={50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},y={50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917"},u={50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717"},g={50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b"},w={50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},G={50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a"};export{C as amber,e as black,t as blue,G as blueGray,w as coolGray,n as cyan,p as emerald,c as fuchsia,g as gray,h as green,b as indigo,l as lightBlue,s as lime,T as orange,a as pink,d as purple,i as red,o as rose,m as teal,u as trueGray,r as violet,y as warmGray,f as white,x as yellow}; | ||
//# sourceMappingURL=colors.js.map |
@@ -1,1 +0,1 @@ | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports):typeof define==='function'&&define.amd?define(['exports'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twindColors={}));}(this,(function(exports){'use strict';var e="#000",f="#fff",o={50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337"},a={50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"},c={50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75"},d={50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87"},r={50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95"},b={50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"},t={50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},l={50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e"},p={50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63"},m={50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a"},n={50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b"},s={50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},h={50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314"},x={50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},C={50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},T={50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12"},i={50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},y={50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917"},u={50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717"},g={50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b"},G={50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},w={50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a"};exports.amber=C;exports.black=e;exports.blue=t;exports.blueGray=w;exports.coolGray=G;exports.cyan=p;exports.emerald=n;exports.fuchsia=c;exports.gray=g;exports.green=s;exports.indigo=b;exports.lightBlue=l;exports.lime=h;exports.orange=T;exports.pink=a;exports.purple=d;exports.red=i;exports.rose=o;exports.teal=m;exports.trueGray=u;exports.violet=r;exports.warmGray=y;exports.white=f;exports.yellow=x;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=colors.umd.js.map | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports):typeof define==='function'&&define.amd?define(['exports'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twindColors={}));}(this,(function(exports){'use strict';var e="#000",f="#fff",o={50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337"},a={50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"},c={50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75"},d={50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87"},r={50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95"},b={50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"},t={50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},l={50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e"},n={50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63"},m={50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a"},p={50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b"},h={50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},s={50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314"},x={50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},C={50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},T={50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12"},i={50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},y={50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917"},u={50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717"},g={50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b"},w={50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},G={50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a"};exports.amber=C;exports.black=e;exports.blue=t;exports.blueGray=G;exports.coolGray=w;exports.cyan=n;exports.emerald=p;exports.fuchsia=c;exports.gray=g;exports.green=h;exports.indigo=b;exports.lightBlue=l;exports.lime=s;exports.orange=T;exports.pink=a;exports.purple=d;exports.red=i;exports.rose=o;exports.teal=m;exports.trueGray=u;exports.violet=r;exports.warmGray=y;exports.white=f;exports.yellow=x;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=colors.umd.js.map |
374
css/css.d.ts
@@ -1,373 +0,5 @@ | ||
import { PropertiesFallback, PropertiesHyphenFallback, AtRule, SimplePseudos } from 'csstype'; | ||
import { MaybeThunk, MaybeArray, Falsy, Directive, CSSRules, CSSAtKeyframes, CSSProperties, Context } from 'twind'; | ||
export * from 'twind'; | ||
interface CSSCustomProperties { | ||
'--tw-rotate'?: string; | ||
'--tw-gradient-stops'?: string; | ||
} | ||
interface CSSProperties extends PropertiesFallback<string, string>, PropertiesHyphenFallback<string, string>, CSSCustomProperties { | ||
} | ||
interface FontFace extends AtRule.FontFaceFallback<string, string>, AtRule.FontFaceHyphenFallback<string, string> { | ||
} | ||
declare type Falsy = '' | 0 | -0 | false | null | undefined | void; | ||
declare type MaybeArray<T> = T | readonly T[]; | ||
interface TWCallable { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): string; | ||
(...tokens: Token[]): string; | ||
} | ||
interface TW extends TWCallable { | ||
theme: ThemeResolver; | ||
} | ||
interface Context { | ||
/** Allow composition */ | ||
readonly tw: TWCallable; | ||
/** Access to theme values */ | ||
readonly theme: ThemeResolver; | ||
/** Create unique identifier (group, custom properties) */ | ||
readonly tag: (key: string) => string; | ||
readonly css: (rule: Rule[] | string) => CSSRules; | ||
} | ||
interface Instance { | ||
readonly tw: TW; | ||
readonly setup: (options?: Configuration) => void; | ||
} | ||
declare type MaybeThunk<T> = T | ((context: Context) => T); | ||
interface Preflight { | ||
(preflight: CSSRules, context: Context): MaybeThunk<CSSRules | undefined | void>; | ||
} | ||
interface ThemeConfiguration extends Partial<Theme> { | ||
extend?: Partial<Theme>; | ||
} | ||
interface SheetConfig<T = unknown> { | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Target to insert rules into. */ | ||
target?: T; | ||
} | ||
interface Sheet<T = unknown> { | ||
readonly target: T; | ||
insert: (rule: string, index: number) => void; | ||
init?: SheetInit; | ||
} | ||
declare type SheetInitCallback<T = unknown> = (value?: T | undefined) => T; | ||
interface SheetInit { | ||
/** | ||
* Register a function that should be called to use a snapshot state or create a new state. | ||
*/ | ||
<T>(callback: SheetInitCallback<T>): T; | ||
} | ||
declare type Prefixer = (property: string, value: string, important?: boolean) => string; | ||
declare type Hasher = (value: string) => string; | ||
declare type DarkMode = 'media' | 'class' | false; | ||
interface Configuration { | ||
/** | ||
* Determines the dark mode strategy (default: `"media"`). | ||
*/ | ||
darkMode?: DarkMode; | ||
theme?: ThemeConfiguration; | ||
plugins?: Plugins; | ||
/** | ||
* ```js | ||
* { | ||
* ':new-variant': '& .selector', | ||
* } | ||
* ``` | ||
*/ | ||
variants?: Record<string, string>; | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Style insertion methodology to be used. */ | ||
sheet?: Sheet; | ||
/** Called right before the first rule is injected. */ | ||
preflight?: Preflight | boolean | CSSRules; | ||
/** Auto-prefixer method for CSS property–value pairs. */ | ||
prefix?: Prefixer | boolean; | ||
hash?: Hasher | boolean; | ||
mode?: Mode | 'strict' | 'warn' | 'silent'; | ||
} | ||
declare type ReportInfo = { | ||
id: 'LATE_SETUP_CALL'; | ||
} | { | ||
id: 'UNKNOWN_DIRECTIVE'; | ||
rule: string; | ||
} | { | ||
id: 'UNKNOWN_THEME_VALUE'; | ||
key: string | undefined; | ||
} | { | ||
id: 'INJECT_CSS_ERROR'; | ||
error: Error; | ||
css: string; | ||
}; | ||
interface Mode { | ||
/** Called for unknown theme values */ | ||
unknown: <Section extends keyof Theme>(section: Section, key: string[] | undefined, optional: boolean, context: Context) => ThemeSectionType<Theme[Section]> | undefined | void; | ||
/** | ||
* Notify error (missing plugin, duplicate directives? ) | ||
* | ||
* Why id? | ||
* - can generate an url with more info | ||
* - reduce bundle size by omitting large error messages | ||
*/ | ||
report(info: ReportInfo, context: Context): void; | ||
} | ||
declare type Plugin = string | CSSRules | DirectiveHandler; | ||
declare type Plugins = Record<string, Plugin | undefined>; | ||
interface DirectiveHandler { | ||
/** | ||
* Creates CSSRules based on `parameters` | ||
*/ | ||
(parameters: string[], context: Context, id: string): InlineDirective | CSSRules | string | Falsy; | ||
} | ||
interface Rule { | ||
/** | ||
* The variants: `[":sm", ":dark", ":hover"]` | ||
*/ | ||
v: string[]; | ||
/** | ||
* The directive: `"text-sm"`, `"rotate-45"` | ||
*/ | ||
d: string | InlineDirective; | ||
/** Is this rule negated: `"-rotate-45"` =\> `true` */ | ||
n: boolean | undefined; | ||
/** Is this rule marked as important: `"stroke-4!"` =\> `true` */ | ||
i: boolean | undefined; | ||
/** | ||
* The id is the tailwind rule including variants, negate and directive | ||
* | ||
* Initialy this is set to an empty string. | ||
* | ||
* This is used to cache the id of static rules (from template literals). | ||
*/ | ||
$: string; | ||
} | ||
interface Directive<T> { | ||
/** Can be used as a inline directive */ | ||
(context: Context): T; | ||
/** Can be used as a plugin */ | ||
(params: string[], context: Context): T; | ||
} | ||
interface InlineDirective { | ||
(context: Context): CSSRules | string | Falsy | TypescriptCompat; | ||
} | ||
interface TokenGrouping extends Record<string, Token> { | ||
} | ||
declare type TypescriptCompat = boolean | number; | ||
declare type Token = string | TokenGrouping | InlineDirective | Token[] | Falsy | TypescriptCompat; | ||
/** | ||
* Pseudo class | ||
* watch out for ':root' - that could use '*' instead | ||
*/ | ||
declare type CSSSimplePseudos = { | ||
[K in SimplePseudos as `&${string & K}`]?: CSSRulesThunk | MaybeArray<CSSRules>; | ||
}; | ||
interface CSSPseudos extends CSSSimplePseudos { | ||
'&:nth-child(2n)'?: CSSRules; | ||
'&:nth-child(odd)'?: CSSRules; | ||
} | ||
declare type CSSAtMedia = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtSupports = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtKeyframes = Record<string, CSSProperties | ((context: Context) => CSSProperties)>; | ||
/** | ||
* See: https://drafts.csswg.org/css-nesting/#nest-selector | ||
* | ||
* ``` | ||
* "& > * + *": { | ||
* marginLeft: 16 | ||
* }, | ||
* | ||
* // In a comma-separated list, each individual selector shall start with "&" | ||
* "&:focus, &:active": { | ||
* outline: "solid" | ||
* }, | ||
* | ||
* // Self-references are also supported | ||
* "& + &": { | ||
* color: "green" | ||
* } | ||
* ``` | ||
*/ | ||
interface CSSRules { | ||
'@import'?: CSSRulesThunk<MaybeArray<string>> | MaybeArray<string>; | ||
'@font-face'?: CSSRulesThunk<MaybeArray<FontFace>> | MaybeArray<FontFace>; | ||
'@keyframes'?: CSSRulesThunk<CSSAtKeyframes> | CSSAtKeyframes; | ||
'@apply'?: MaybeArray<string | Falsy | TypescriptCompat>; | ||
'@global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
':global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
/** Global defaults */ | ||
[key: string]: CSSRuleValue; | ||
} | ||
declare type CSSRuleValue = CSSAtMedia | CSSAtSupports | CSSAtKeyframes | CSSRulesThunk | MaybeArray<CSSProperties | CSSRules | FontFace | string | Falsy | TypescriptCompat>; | ||
interface CSSRulesThunk<Value = CSSRuleValue> { | ||
(context: Context): Value; | ||
} | ||
interface ThemeResolver { | ||
<Section extends keyof Theme>(section: Section): Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
interface ThemeHelper { | ||
<Section extends keyof Theme>(section: Section): (context: Context) => Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): (context: Context) => ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): (context: Context) => NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): (context: Context) => ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): (context: Context) => NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
declare type Unwrap<T> = T extends string[] ? string : T extends Record<string, infer R> ? R : T; | ||
declare type ThemeSectionType<T> = T extends ThemeSection<infer R> ? Unwrap<R> : Exclude<T, ThemeSectionResolver<T>>; | ||
interface ThemeSectionResolverContext { | ||
/** | ||
* No-op function as negated values are automatically infered and do _not_ not to be in the theme. | ||
*/ | ||
readonly negative: (records: Record<string, string | undefined>) => Record<string, string | undefined>; | ||
readonly breakpoints: (records: Record<string, ThemeScreen | undefined>) => Record<string, string | undefined>; | ||
} | ||
declare type ThemeSectionRecord<T = string> = Record<string, T | undefined>; | ||
declare type ThemeSectionResolver<T = string> = (theme: ThemeResolver, context: ThemeSectionResolverContext) => ThemeSectionRecord<T>; | ||
declare type ThemeSection<T = string> = ThemeSectionRecord<T> | ThemeSectionResolver<T>; | ||
interface ThemeContainer { | ||
screens?: Record<string, string | undefined>; | ||
center?: boolean; | ||
padding?: string | Record<string, string | undefined>; | ||
} | ||
declare type ThemeScreenValue = string | { | ||
raw: string; | ||
} | { | ||
min: string; | ||
max?: string; | ||
} | { | ||
min?: string; | ||
max: string; | ||
}; | ||
declare type ThemeScreen = MaybeArray<ThemeScreenValue>; | ||
interface ThemeColorObject extends Record<string, ThemeColor> { | ||
} | ||
declare type ThemeColor = string | ThemeColorObject; | ||
declare type ThemeFontSize = string | [size: string, lineHeight: string] | [size: string, options: { | ||
lineHeight?: string; | ||
letterSpacing?: string; | ||
}]; | ||
declare type ThemeOutline = [outline: string, offset: string]; | ||
interface Theme { | ||
colors: ThemeSection<ThemeColor>; | ||
spacing: ThemeSection; | ||
durations: ThemeSection<string | string[]>; | ||
screens: ThemeSection<ThemeScreen>; | ||
animation: ThemeSection<string | string[]>; | ||
backgroundColor: ThemeSection<ThemeColor>; | ||
backgroundImage: ThemeSection<string | string[]>; | ||
backgroundOpacity: ThemeSection; | ||
borderColor: ThemeSection<ThemeColor>; | ||
borderOpacity: ThemeSection; | ||
borderRadius: ThemeSection; | ||
borderWidth: ThemeSection; | ||
boxShadow: ThemeSection<string | string[]>; | ||
container: ThemeContainer | ThemeSectionResolver<ThemeContainer>; | ||
divideColor: ThemeSection<ThemeColor>; | ||
divideOpacity: ThemeSection; | ||
divideWidth: ThemeSection; | ||
fill: ThemeSection<ThemeColor>; | ||
flex: ThemeSection; | ||
fontFamily: ThemeSection<string | string[]>; | ||
fontSize: ThemeSection<ThemeFontSize>; | ||
fontWeight: ThemeSection; | ||
gridTemplateColumns: ThemeSection; | ||
gridTemplateRows: ThemeSection; | ||
gridColumn: ThemeSection; | ||
gridRow: ThemeSection; | ||
gap: ThemeSection; | ||
gradientColorStops: ThemeSection<ThemeColor>; | ||
height: ThemeSection; | ||
inset: ThemeSection; | ||
keyframes: ThemeSection<Record<string, CSSProperties>>; | ||
letterSpacing: ThemeSection; | ||
lineHeight: ThemeSection; | ||
margin: ThemeSection; | ||
maxHeight: ThemeSection; | ||
maxWidth: ThemeSection; | ||
minHeight: ThemeSection; | ||
minWidth: ThemeSection; | ||
opacity: ThemeSection; | ||
order: ThemeSection; | ||
outline: ThemeSection<ThemeOutline>; | ||
padding: ThemeSection; | ||
placeholderColor: ThemeSection<ThemeColor>; | ||
placeholderOpacity: ThemeSection; | ||
ringColor: ThemeSection<ThemeColor>; | ||
ringOffsetColor: ThemeSection<ThemeColor>; | ||
ringOffsetWidth: ThemeSection; | ||
ringOpacity: ThemeSection; | ||
ringWidth: ThemeSection; | ||
rotate: ThemeSection; | ||
scale: ThemeSection; | ||
skew: ThemeSection; | ||
space: ThemeSection; | ||
stroke: ThemeSection<ThemeColor>; | ||
strokeWidth: ThemeSection; | ||
textColor: ThemeSection<ThemeColor>; | ||
textOpacity: ThemeSection; | ||
transitionDelay: ThemeSection<string | string[]>; | ||
transitionDuration: ThemeSection<string | string[]>; | ||
transitionProperty: ThemeSection<string | string[]>; | ||
transitionTimingFunction: ThemeSection<string | string[]>; | ||
translate: ThemeSection; | ||
width: ThemeSection; | ||
zIndex: ThemeSection; | ||
} | ||
interface Apply { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): Directive<CSSRules>; | ||
(...tokens: Token[]): Directive<CSSRules>; | ||
} | ||
declare const apply: Apply; | ||
declare const tw: TW; | ||
declare const setup: (options?: Configuration | undefined) => void; | ||
/** | ||
* Returns an optimized and cached function for use with `tw`. | ||
* | ||
* `tw` caches rules based on the function identity. This helper caches | ||
* the function based on the data. | ||
* | ||
* @param factory to use when the directive is invoked | ||
* @param data to use | ||
*/ | ||
declare const directive: <Data, T>(factory: (data: Data, context: Context) => MaybeThunk<T>, data: Data) => Directive<T>; | ||
declare const create: (config?: Configuration | undefined) => Instance; | ||
declare const mode: (report: (message: string) => void) => Mode; | ||
declare const warn: Mode; | ||
declare const strict: Mode; | ||
declare const silent: Mode; | ||
declare const noprefix: Prefixer; | ||
declare const autoprefix: Prefixer; | ||
/** | ||
* Creates an sheet which inserts style rules through the CSS Object Model. | ||
*/ | ||
declare const cssomSheet: ({ nonce, target, }?: SheetConfig<CSSStyleSheet>) => Sheet<CSSStyleSheet>; | ||
/** | ||
* An sheet placeholder which performs no operations. Useful for avoiding errors in a non-browser environment. | ||
*/ | ||
declare const voidSheet: () => Sheet<null>; | ||
declare const theme: ThemeHelper; | ||
declare const cyrb32: Hasher; | ||
/** | ||
* [[include:src/css/README.md]] | ||
@@ -440,3 +72,3 @@ * | ||
export { Animation, Apply, CSSAtKeyframes, CSSAtMedia, CSSAtSupports, CSSCustomProperties, CSSFactory, CSSProperties, CSSPseudos, CSSRuleValue, CSSRules, CSSRulesThunk, CSSSimplePseudos, Configuration, Context, DarkMode, Directive, DirectiveHandler, Falsy, FontFace, Hasher, InlineDirective, Instance, MaybeArray, MaybeThunk, Mode, Plugin, Plugins, Prefixer, Preflight, ReportInfo, Rule, Screen, Sheet, SheetConfig, SheetInit, SheetInitCallback, TW, TWCallable, Theme, ThemeColor, ThemeColorObject, ThemeConfiguration, ThemeContainer, ThemeFontSize, ThemeHelper, ThemeOutline, ThemeResolver, ThemeScreen, ThemeScreenValue, ThemeSection, ThemeSectionRecord, ThemeSectionResolver, ThemeSectionResolverContext, ThemeSectionType, Token, TokenGrouping, TypescriptCompat, Unwrap, animation, apply, autoprefix, create, css, cssomSheet, directive, cyrb32 as hash, keyframes, mode, noprefix, screen, setup, silent, strict, theme, tw, voidSheet, warn }; | ||
export { Animation, CSSFactory, Screen, animation, css, keyframes, screen }; | ||
//# sourceMappingURL=css.d.ts.map |
@@ -1,2 +0,2 @@ | ||
import{apply as b,hash as v,directive as y}from"twind";var C=(e,t)=>!!~e.indexOf(t),g=(e,t="-")=>e.join(t);var h=(e,t=1)=>e.slice(t);var T=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),S=(e,t)=>{for(;typeof e=="function";)e=e(t);return e};var A=(e,t)=>!C("@:&",e[0])&&(C("rg",(typeof t)[5])||Array.isArray(t)),a=(e,t,r)=>t?Object.keys(t).reduce((n,s)=>{let i=S(t[s],r);return A(s,i)?n[T(s)]=i:n[s]=s[0]=="@"&&C("figa",s[1])?(n[s]||[]).concat(i):a(n[s]||{},i,r),n},e):e,z=typeof CSS!="undefined"&&CSS.escape||(e=>{let t=e.charCodeAt(0),r="";return t>=48&&t<=57&&(r="\\"+t.toString(16)+" ",e=h(e)),r+e.replace(/[!./:#]/g,"\\$&")}),R=e=>(Array.isArray(e)||(e=[e]),"@media "+g(e.map(t=>(typeof t=="string"&&(t={min:t}),t.raw||g(Object.keys(t).map(r=>`(${r}-width:${t[r]})`)," and "))),","));export*from"twind";var w=(e,t)=>{let r=(n,s)=>Array.isArray(s)?s.reduce(r,n):a(n,S(s,t),t);return e.reduce(r,{})},k=/\s*(?:([\w-%@]+)\s*:?\s*([^{;]+?)\s*(?:;|$|})|([^;}{]*?)\s*{)|(})/gi,M=/\/\*[\s\S]*?\*\/|\s+|\n/gm,d=(e,t)=>e.reduceRight((r,n)=>({[n]:r}),t),l=(e,t,r)=>{r&&e.push(d(t,r))},F=(e,t,r)=>{let n=e[0],s=[];for(let i=0;i<t.length;){let o=S(t[i],r);o&&typeof o=="object"?(s.push(n,o),n=e[++i]):n+=(o||"")+e[++i]}return s.push(n),s},D=(e,t)=>{let r=[],n=[],s,i;for(let o=0;o<e.length;o++){let u=e[o];if(typeof u=="string"){for(;i=k.exec(u.replace(M," "));)if(!!i[0]){if(i[4]&&(s=l(n,r,s),r.pop()),i[3])s=l(n,r,s),r.push(i[3]);else if(!i[4]){s||(s={});let c=i[2]&&/\S/.test(i[2])?i[2]:e[++o];c&&(i[1]=="@apply"?a(s,S(b(c),t),t):s[i[1]]=c)}}}else s=l(n,r,s),n.push(d(r,u))}return l(n,r,s),n},p=(e,t)=>w(Array.isArray(e[0])&&Array.isArray(e[0].raw)?D(F(e[0],e.slice(1),t),t):e,t),m=(...e)=>y(p,e),K=(e,t)=>{let r=p(e,t),n=v(JSON.stringify(r));return t.tw(()=>({[`@keyframes ${n}`]:r})),n},f=(...e)=>y(K,e),x=(e,t)=>t===void 0?(...r)=>x(e,f(...r)):m({...e&&typeof e=="object"?e:{animation:e},animationName:typeof t=="function"?t:f(t)}),V=({size:e,rules:t},r)=>{let n=R(r.theme("screens",e));return t===void 0?n:{[n]:typeof t=="function"?S(t,r):p([t],r)}},j=(e,t)=>y(V,{size:e,rules:t});export{x as animation,m as css,f as keyframes,j as screen}; | ||
import{apply as b,hash as w,directive as y}from"twind";var C=(e,t)=>!!~e.indexOf(t),g=(e,t="-")=>e.join(t);var x=(e,t=1)=>e.slice(t);var T=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),S=(e,t)=>{for(;typeof e=="function";)e=e(t);return e};var A=(e,t)=>!C("@:&",e[0])&&(C("rg",(typeof t)[5])||Array.isArray(t)),a=(e,t,r)=>t?Object.keys(t).reduce((n,s)=>{let i=S(t[s],r);return A(s,i)?n[T(s)]=i:n[s]=s[0]=="@"&&C("figa",s[1])?(n[s]||[]).concat(i):a(n[s]||{},i,r),n},e):e,P=typeof CSS!="undefined"&&CSS.escape||(e=>{let t=e.charCodeAt(0),r="";return t>=48&&t<=57&&(r="\\"+t.toString(16)+" ",e=x(e)),r+e.replace(/[!./:#]/g,"\\$&")}),R=e=>(Array.isArray(e)||(e=[e]),"@media "+g(e.map(t=>(typeof t=="string"&&(t={min:t}),t.raw||g(Object.keys(t).map(r=>`(${r}-width:${t[r]})`)," and "))),","));export*from"twind";var v=(e,t)=>{let r=(n,s)=>Array.isArray(s)?s.reduce(r,n):a(n,S(s,t),t);return e.reduce(r,{})},k=/\s*(?:([\w-%@]+)\s*:?\s*([^{;]+?)\s*(?:;|$|})|([^;}{]*?)\s*{)|(})/gi,M=/\/\*[\s\S]*?\*\/|\s+|\n/gm,d=(e,t)=>e.reduceRight((r,n)=>({[n]:r}),t),l=(e,t,r)=>{r&&e.push(d(t,r))},F=(e,t,r)=>{let n=e[0],s=[];for(let i=0;i<t.length;){let o=S(t[i],r);o&&typeof o=="object"?(s.push(n,o),n=e[++i]):n+=(o||"")+e[++i]}return s.push(n),s},D=(e,t)=>{let r=[],n=[],s,i;for(let o=0;o<e.length;o++){let u=e[o];if(typeof u=="string"){for(;i=k.exec(u.replace(M," "));)if(!!i[0]){if(i[4]&&(s=l(n,r,s),r.pop()),i[3])s=l(n,r,s),r.push(i[3]);else if(!i[4]){s||(s={});let c=i[2]&&/\S/.test(i[2])?i[2]:e[++o];c&&(i[1]=="@apply"?a(s,S(b(c),t),t):s[i[1]]=c)}}}else s=l(n,r,s),n.push(d(r,u))}return l(n,r,s),n},p=(e,t)=>v(Array.isArray(e[0])&&Array.isArray(e[0].raw)?D(F(e[0],e.slice(1),t),t):e,t),m=(...e)=>y(p,e),K=(e,t)=>{let r=p(e,t),n=w(JSON.stringify(r));return t.tw(()=>({[`@keyframes ${n}`]:r})),n},f=(...e)=>y(K,e),h=(e,t)=>t===void 0?(...r)=>h(e,f(...r)):m({...e&&typeof e=="object"?e:{animation:e},animationName:typeof t=="function"?t:f(t)}),V=({size:e,rules:t},r)=>{let n=R(r.theme("screens",e));return t===void 0?n:{[n]:typeof t=="function"?S(t,r):p([t],r)}},z=(e,t)=>y(V,{size:e,rules:t});export{h as animation,m as css,f as keyframes,z as screen}; | ||
//# sourceMappingURL=css.js.map |
@@ -1,1 +0,1 @@ | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports,require('twind')):typeof define==='function'&&define.amd?define(['exports','twind'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twindCss={},g.twind));}(this,(function(exports, twind){'use strict';var C=Object.assign;var y=(e,t)=>!!~e.indexOf(t),R=(e,t="-")=>e.join(t);var A=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),S=(e,t)=>{for(;typeof e=="function";)e=e(t);return e};var b=(e,t)=>!y("@:&",e[0])&&(y("rg",(typeof t)[5])||Array.isArray(t)),a=(e,t,r)=>t?Object.keys(t).reduce((n,s)=>{let i=S(t[s],r);return b(s,i)?n[A(s)]=i:n[s]=s[0]=="@"&&y("figa",s[1])?(n[s]||[]).concat(i):a(n[s]||{},i,r),n},e):e,d=e=>(Array.isArray(e)||(e=[e]),"@media "+R(e.map(t=>(typeof t=="string"&&(t={min:t}),t.raw||R(Object.keys(t).map(r=>`(${r}-width:${t[r]})`)," and "))),","));var k=(e,t)=>{let r=(n,s)=>Array.isArray(s)?s.reduce(r,n):a(n,S(s,t),t);return e.reduce(r,{})},M=/\s*(?:([\w-%@]+)\s*:?\s*([^{;]+?)\s*(?:;|$|})|([^;}{]*?)\s*{)|(})/gi,F=/\/\*[\s\S]*?\*\/|\s+|\n/gm,m=(e,t)=>e.reduceRight((r,n)=>({[n]:r}),t),l=(e,t,r)=>{r&&e.push(m(t,r));},D=(e,t,r)=>{let n=e[0],s=[];for(let i=0;i<t.length;){let o=S(t[i],r);o&&typeof o=="object"?(s.push(n,o),n=e[++i]):n+=(o||"")+e[++i];}return s.push(n),s},K=(e,t)=>{let r=[],n=[],s,i;for(let o=0;o<e.length;o++){let u=e[o];if(typeof u=="string"){for(;i=M.exec(u.replace(F," "));)if(!!i[0]){if(i[4]&&(s=l(n,r,s),r.pop()),i[3])s=l(n,r,s),r.push(i[3]);else if(!i[4]){s||(s={});let c=i[2]&&/\S/.test(i[2])?i[2]:e[++o];c&&(i[1]=="@apply"?a(s,S(twind.apply(c),t),t):s[i[1]]=c);}}}else s=l(n,r,s),n.push(m(r,u));}return l(n,r,s),n},f=(e,t)=>k(Array.isArray(e[0])&&Array.isArray(e[0].raw)?K(D(e[0],e.slice(1),t),t):e,t),x=(...e)=>twind.directive(f,e),V=(e,t)=>{let r=f(e,t),n=twind.hash(JSON.stringify(r));return t.tw(()=>({[`@keyframes ${n}`]:r})),n},g=(...e)=>twind.directive(V,e),h=(e,t)=>t===void 0?(...r)=>h(e,g(...r)):x(C(C({},e&&typeof e=="object"?e:{animation:e}),{animationName:typeof t=="function"?t:g(t)})),j=({size:e,rules:t},r)=>{let n=d(r.theme("screens",e));return t===void 0?n:{[n]:typeof t=="function"?S(t,r):f([t],r)}},P=(e,t)=>twind.directive(j,{size:e,rules:t});Object.keys(twind).forEach(function(k){if(k!=='default')Object.defineProperty(exports,k,{enumerable:true,get:function(){return twind[k];}});});exports.animation=h;exports.css=x;exports.keyframes=g;exports.screen=P;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=css.umd.js.map | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports,require('twind')):typeof define==='function'&&define.amd?define(['exports','twind'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twindCss={},g.twind));}(this,(function(exports, twind){'use strict';var C=Object.assign;var y=(e,t)=>!!~e.indexOf(t),R=(e,t="-")=>e.join(t);var A=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),S=(e,t)=>{for(;typeof e=="function";)e=e(t);return e};var b=(e,t)=>!y("@:&",e[0])&&(y("rg",(typeof t)[5])||Array.isArray(t)),a=(e,t,r)=>t?Object.keys(t).reduce((n,s)=>{let i=S(t[s],r);return b(s,i)?n[A(s)]=i:n[s]=s[0]=="@"&&y("figa",s[1])?(n[s]||[]).concat(i):a(n[s]||{},i,r),n},e):e,d=e=>(Array.isArray(e)||(e=[e]),"@media "+R(e.map(t=>(typeof t=="string"&&(t={min:t}),t.raw||R(Object.keys(t).map(r=>`(${r}-width:${t[r]})`)," and "))),","));var k=(e,t)=>{let r=(n,s)=>Array.isArray(s)?s.reduce(r,n):a(n,S(s,t),t);return e.reduce(r,{})},M=/\s*(?:([\w-%@]+)\s*:?\s*([^{;]+?)\s*(?:;|$|})|([^;}{]*?)\s*{)|(})/gi,F=/\/\*[\s\S]*?\*\/|\s+|\n/gm,m=(e,t)=>e.reduceRight((r,n)=>({[n]:r}),t),l=(e,t,r)=>{r&&e.push(m(t,r));},D=(e,t,r)=>{let n=e[0],s=[];for(let i=0;i<t.length;){let o=S(t[i],r);o&&typeof o=="object"?(s.push(n,o),n=e[++i]):n+=(o||"")+e[++i];}return s.push(n),s},K=(e,t)=>{let r=[],n=[],s,i;for(let o=0;o<e.length;o++){let u=e[o];if(typeof u=="string"){for(;i=M.exec(u.replace(F," "));)if(!!i[0]){if(i[4]&&(s=l(n,r,s),r.pop()),i[3])s=l(n,r,s),r.push(i[3]);else if(!i[4]){s||(s={});let c=i[2]&&/\S/.test(i[2])?i[2]:e[++o];c&&(i[1]=="@apply"?a(s,S(twind.apply(c),t),t):s[i[1]]=c);}}}else s=l(n,r,s),n.push(m(r,u));}return l(n,r,s),n},f=(e,t)=>k(Array.isArray(e[0])&&Array.isArray(e[0].raw)?K(D(e[0],e.slice(1),t),t):e,t),h=(...e)=>twind.directive(f,e),V=(e,t)=>{let r=f(e,t),n=twind.hash(JSON.stringify(r));return t.tw(()=>({[`@keyframes ${n}`]:r})),n},g=(...e)=>twind.directive(V,e),x=(e,t)=>t===void 0?(...r)=>x(e,g(...r)):h(C(C({},e&&typeof e=="object"?e:{animation:e}),{animationName:typeof t=="function"?t:g(t)})),z=({size:e,rules:t},r)=>{let n=d(r.theme("screens",e));return t===void 0?n:{[n]:typeof t=="function"?S(t,r):f([t],r)}},j=(e,t)=>twind.directive(z,{size:e,rules:t});Object.keys(twind).forEach(function(k){if(k!=='default')Object.defineProperty(exports,k,{enumerable:true,get:function(){return twind[k];}});});exports.animation=x;exports.css=h;exports.keyframes=g;exports.screen=j;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=css.umd.js.map |
@@ -1,373 +0,5 @@ | ||
import { PropertiesFallback, PropertiesHyphenFallback, AtRule, SimplePseudos } from 'csstype'; | ||
import { TW } from 'twind'; | ||
export * from 'twind'; | ||
interface CSSCustomProperties { | ||
'--tw-rotate'?: string; | ||
'--tw-gradient-stops'?: string; | ||
} | ||
interface CSSProperties extends PropertiesFallback<string, string>, PropertiesHyphenFallback<string, string>, CSSCustomProperties { | ||
} | ||
interface FontFace extends AtRule.FontFaceFallback<string, string>, AtRule.FontFaceHyphenFallback<string, string> { | ||
} | ||
declare type Falsy = '' | 0 | -0 | false | null | undefined | void; | ||
declare type MaybeArray<T> = T | readonly T[]; | ||
interface TWCallable { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): string; | ||
(...tokens: Token[]): string; | ||
} | ||
interface TW extends TWCallable { | ||
theme: ThemeResolver; | ||
} | ||
interface Context { | ||
/** Allow composition */ | ||
readonly tw: TWCallable; | ||
/** Access to theme values */ | ||
readonly theme: ThemeResolver; | ||
/** Create unique identifier (group, custom properties) */ | ||
readonly tag: (key: string) => string; | ||
readonly css: (rule: Rule[] | string) => CSSRules; | ||
} | ||
interface Instance { | ||
readonly tw: TW; | ||
readonly setup: (options?: Configuration) => void; | ||
} | ||
declare type MaybeThunk<T> = T | ((context: Context) => T); | ||
interface Preflight { | ||
(preflight: CSSRules, context: Context): MaybeThunk<CSSRules | undefined | void>; | ||
} | ||
interface ThemeConfiguration extends Partial<Theme> { | ||
extend?: Partial<Theme>; | ||
} | ||
interface SheetConfig<T = unknown> { | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Target to insert rules into. */ | ||
target?: T; | ||
} | ||
interface Sheet<T = unknown> { | ||
readonly target: T; | ||
insert: (rule: string, index: number) => void; | ||
init?: SheetInit; | ||
} | ||
declare type SheetInitCallback<T = unknown> = (value?: T | undefined) => T; | ||
interface SheetInit { | ||
/** | ||
* Register a function that should be called to use a snapshot state or create a new state. | ||
*/ | ||
<T>(callback: SheetInitCallback<T>): T; | ||
} | ||
declare type Prefixer = (property: string, value: string, important?: boolean) => string; | ||
declare type Hasher = (value: string) => string; | ||
declare type DarkMode = 'media' | 'class' | false; | ||
interface Configuration { | ||
/** | ||
* Determines the dark mode strategy (default: `"media"`). | ||
*/ | ||
darkMode?: DarkMode; | ||
theme?: ThemeConfiguration; | ||
plugins?: Plugins; | ||
/** | ||
* ```js | ||
* { | ||
* ':new-variant': '& .selector', | ||
* } | ||
* ``` | ||
*/ | ||
variants?: Record<string, string>; | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Style insertion methodology to be used. */ | ||
sheet?: Sheet; | ||
/** Called right before the first rule is injected. */ | ||
preflight?: Preflight | boolean | CSSRules; | ||
/** Auto-prefixer method for CSS property–value pairs. */ | ||
prefix?: Prefixer | boolean; | ||
hash?: Hasher | boolean; | ||
mode?: Mode | 'strict' | 'warn' | 'silent'; | ||
} | ||
declare type ReportInfo = { | ||
id: 'LATE_SETUP_CALL'; | ||
} | { | ||
id: 'UNKNOWN_DIRECTIVE'; | ||
rule: string; | ||
} | { | ||
id: 'UNKNOWN_THEME_VALUE'; | ||
key: string | undefined; | ||
} | { | ||
id: 'INJECT_CSS_ERROR'; | ||
error: Error; | ||
css: string; | ||
}; | ||
interface Mode { | ||
/** Called for unknown theme values */ | ||
unknown: <Section extends keyof Theme>(section: Section, key: string[] | undefined, optional: boolean, context: Context) => ThemeSectionType<Theme[Section]> | undefined | void; | ||
/** | ||
* Notify error (missing plugin, duplicate directives? ) | ||
* | ||
* Why id? | ||
* - can generate an url with more info | ||
* - reduce bundle size by omitting large error messages | ||
*/ | ||
report(info: ReportInfo, context: Context): void; | ||
} | ||
declare type Plugin = string | CSSRules | DirectiveHandler; | ||
declare type Plugins = Record<string, Plugin | undefined>; | ||
interface DirectiveHandler { | ||
/** | ||
* Creates CSSRules based on `parameters` | ||
*/ | ||
(parameters: string[], context: Context, id: string): InlineDirective | CSSRules | string | Falsy; | ||
} | ||
interface Rule { | ||
/** | ||
* The variants: `[":sm", ":dark", ":hover"]` | ||
*/ | ||
v: string[]; | ||
/** | ||
* The directive: `"text-sm"`, `"rotate-45"` | ||
*/ | ||
d: string | InlineDirective; | ||
/** Is this rule negated: `"-rotate-45"` =\> `true` */ | ||
n: boolean | undefined; | ||
/** Is this rule marked as important: `"stroke-4!"` =\> `true` */ | ||
i: boolean | undefined; | ||
/** | ||
* The id is the tailwind rule including variants, negate and directive | ||
* | ||
* Initialy this is set to an empty string. | ||
* | ||
* This is used to cache the id of static rules (from template literals). | ||
*/ | ||
$: string; | ||
} | ||
interface Directive<T> { | ||
/** Can be used as a inline directive */ | ||
(context: Context): T; | ||
/** Can be used as a plugin */ | ||
(params: string[], context: Context): T; | ||
} | ||
interface InlineDirective { | ||
(context: Context): CSSRules | string | Falsy | TypescriptCompat; | ||
} | ||
interface TokenGrouping extends Record<string, Token> { | ||
} | ||
declare type TypescriptCompat = boolean | number; | ||
declare type Token = string | TokenGrouping | InlineDirective | Token[] | Falsy | TypescriptCompat; | ||
/** | ||
* Pseudo class | ||
* watch out for ':root' - that could use '*' instead | ||
*/ | ||
declare type CSSSimplePseudos = { | ||
[K in SimplePseudos as `&${string & K}`]?: CSSRulesThunk | MaybeArray<CSSRules>; | ||
}; | ||
interface CSSPseudos extends CSSSimplePseudos { | ||
'&:nth-child(2n)'?: CSSRules; | ||
'&:nth-child(odd)'?: CSSRules; | ||
} | ||
declare type CSSAtMedia = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtSupports = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtKeyframes = Record<string, CSSProperties | ((context: Context) => CSSProperties)>; | ||
/** | ||
* See: https://drafts.csswg.org/css-nesting/#nest-selector | ||
* | ||
* ``` | ||
* "& > * + *": { | ||
* marginLeft: 16 | ||
* }, | ||
* | ||
* // In a comma-separated list, each individual selector shall start with "&" | ||
* "&:focus, &:active": { | ||
* outline: "solid" | ||
* }, | ||
* | ||
* // Self-references are also supported | ||
* "& + &": { | ||
* color: "green" | ||
* } | ||
* ``` | ||
*/ | ||
interface CSSRules { | ||
'@import'?: CSSRulesThunk<MaybeArray<string>> | MaybeArray<string>; | ||
'@font-face'?: CSSRulesThunk<MaybeArray<FontFace>> | MaybeArray<FontFace>; | ||
'@keyframes'?: CSSRulesThunk<CSSAtKeyframes> | CSSAtKeyframes; | ||
'@apply'?: MaybeArray<string | Falsy | TypescriptCompat>; | ||
'@global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
':global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
/** Global defaults */ | ||
[key: string]: CSSRuleValue; | ||
} | ||
declare type CSSRuleValue = CSSAtMedia | CSSAtSupports | CSSAtKeyframes | CSSRulesThunk | MaybeArray<CSSProperties | CSSRules | FontFace | string | Falsy | TypescriptCompat>; | ||
interface CSSRulesThunk<Value = CSSRuleValue> { | ||
(context: Context): Value; | ||
} | ||
interface ThemeResolver { | ||
<Section extends keyof Theme>(section: Section): Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
interface ThemeHelper { | ||
<Section extends keyof Theme>(section: Section): (context: Context) => Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): (context: Context) => ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): (context: Context) => NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): (context: Context) => ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): (context: Context) => NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
declare type Unwrap<T> = T extends string[] ? string : T extends Record<string, infer R> ? R : T; | ||
declare type ThemeSectionType<T> = T extends ThemeSection<infer R> ? Unwrap<R> : Exclude<T, ThemeSectionResolver<T>>; | ||
interface ThemeSectionResolverContext { | ||
/** | ||
* No-op function as negated values are automatically infered and do _not_ not to be in the theme. | ||
*/ | ||
readonly negative: (records: Record<string, string | undefined>) => Record<string, string | undefined>; | ||
readonly breakpoints: (records: Record<string, ThemeScreen | undefined>) => Record<string, string | undefined>; | ||
} | ||
declare type ThemeSectionRecord<T = string> = Record<string, T | undefined>; | ||
declare type ThemeSectionResolver<T = string> = (theme: ThemeResolver, context: ThemeSectionResolverContext) => ThemeSectionRecord<T>; | ||
declare type ThemeSection<T = string> = ThemeSectionRecord<T> | ThemeSectionResolver<T>; | ||
interface ThemeContainer { | ||
screens?: Record<string, string | undefined>; | ||
center?: boolean; | ||
padding?: string | Record<string, string | undefined>; | ||
} | ||
declare type ThemeScreenValue = string | { | ||
raw: string; | ||
} | { | ||
min: string; | ||
max?: string; | ||
} | { | ||
min?: string; | ||
max: string; | ||
}; | ||
declare type ThemeScreen = MaybeArray<ThemeScreenValue>; | ||
interface ThemeColorObject extends Record<string, ThemeColor> { | ||
} | ||
declare type ThemeColor = string | ThemeColorObject; | ||
declare type ThemeFontSize = string | [size: string, lineHeight: string] | [size: string, options: { | ||
lineHeight?: string; | ||
letterSpacing?: string; | ||
}]; | ||
declare type ThemeOutline = [outline: string, offset: string]; | ||
interface Theme { | ||
colors: ThemeSection<ThemeColor>; | ||
spacing: ThemeSection; | ||
durations: ThemeSection<string | string[]>; | ||
screens: ThemeSection<ThemeScreen>; | ||
animation: ThemeSection<string | string[]>; | ||
backgroundColor: ThemeSection<ThemeColor>; | ||
backgroundImage: ThemeSection<string | string[]>; | ||
backgroundOpacity: ThemeSection; | ||
borderColor: ThemeSection<ThemeColor>; | ||
borderOpacity: ThemeSection; | ||
borderRadius: ThemeSection; | ||
borderWidth: ThemeSection; | ||
boxShadow: ThemeSection<string | string[]>; | ||
container: ThemeContainer | ThemeSectionResolver<ThemeContainer>; | ||
divideColor: ThemeSection<ThemeColor>; | ||
divideOpacity: ThemeSection; | ||
divideWidth: ThemeSection; | ||
fill: ThemeSection<ThemeColor>; | ||
flex: ThemeSection; | ||
fontFamily: ThemeSection<string | string[]>; | ||
fontSize: ThemeSection<ThemeFontSize>; | ||
fontWeight: ThemeSection; | ||
gridTemplateColumns: ThemeSection; | ||
gridTemplateRows: ThemeSection; | ||
gridColumn: ThemeSection; | ||
gridRow: ThemeSection; | ||
gap: ThemeSection; | ||
gradientColorStops: ThemeSection<ThemeColor>; | ||
height: ThemeSection; | ||
inset: ThemeSection; | ||
keyframes: ThemeSection<Record<string, CSSProperties>>; | ||
letterSpacing: ThemeSection; | ||
lineHeight: ThemeSection; | ||
margin: ThemeSection; | ||
maxHeight: ThemeSection; | ||
maxWidth: ThemeSection; | ||
minHeight: ThemeSection; | ||
minWidth: ThemeSection; | ||
opacity: ThemeSection; | ||
order: ThemeSection; | ||
outline: ThemeSection<ThemeOutline>; | ||
padding: ThemeSection; | ||
placeholderColor: ThemeSection<ThemeColor>; | ||
placeholderOpacity: ThemeSection; | ||
ringColor: ThemeSection<ThemeColor>; | ||
ringOffsetColor: ThemeSection<ThemeColor>; | ||
ringOffsetWidth: ThemeSection; | ||
ringOpacity: ThemeSection; | ||
ringWidth: ThemeSection; | ||
rotate: ThemeSection; | ||
scale: ThemeSection; | ||
skew: ThemeSection; | ||
space: ThemeSection; | ||
stroke: ThemeSection<ThemeColor>; | ||
strokeWidth: ThemeSection; | ||
textColor: ThemeSection<ThemeColor>; | ||
textOpacity: ThemeSection; | ||
transitionDelay: ThemeSection<string | string[]>; | ||
transitionDuration: ThemeSection<string | string[]>; | ||
transitionProperty: ThemeSection<string | string[]>; | ||
transitionTimingFunction: ThemeSection<string | string[]>; | ||
translate: ThemeSection; | ||
width: ThemeSection; | ||
zIndex: ThemeSection; | ||
} | ||
interface Apply { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): Directive<CSSRules>; | ||
(...tokens: Token[]): Directive<CSSRules>; | ||
} | ||
declare const apply: Apply; | ||
declare const tw: TW; | ||
declare const setup: (options?: Configuration | undefined) => void; | ||
/** | ||
* Returns an optimized and cached function for use with `tw`. | ||
* | ||
* `tw` caches rules based on the function identity. This helper caches | ||
* the function based on the data. | ||
* | ||
* @param factory to use when the directive is invoked | ||
* @param data to use | ||
*/ | ||
declare const directive: <Data, T>(factory: (data: Data, context: Context) => MaybeThunk<T>, data: Data) => Directive<T>; | ||
declare const create: (config?: Configuration | undefined) => Instance; | ||
declare const mode: (report: (message: string) => void) => Mode; | ||
declare const warn: Mode; | ||
declare const strict: Mode; | ||
declare const silent: Mode; | ||
declare const noprefix: Prefixer; | ||
declare const autoprefix: Prefixer; | ||
/** | ||
* Creates an sheet which inserts style rules through the CSS Object Model. | ||
*/ | ||
declare const cssomSheet: ({ nonce, target, }?: SheetConfig<CSSStyleSheet>) => Sheet<CSSStyleSheet>; | ||
/** | ||
* An sheet placeholder which performs no operations. Useful for avoiding errors in a non-browser environment. | ||
*/ | ||
declare const voidSheet: () => Sheet<null>; | ||
declare const theme: ThemeHelper; | ||
declare const cyrb32: Hasher; | ||
/** | ||
* [[include:src/observe/README.md]] | ||
@@ -413,3 +45,3 @@ * | ||
export { Apply, CSSAtKeyframes, CSSAtMedia, CSSAtSupports, CSSCustomProperties, CSSProperties, CSSPseudos, CSSRuleValue, CSSRules, CSSRulesThunk, CSSSimplePseudos, Configuration, Context, DarkMode, Directive, DirectiveHandler, Falsy, FontFace, Hasher, InlineDirective, Instance, MaybeArray, MaybeThunk, Mode, Plugin, Plugins, Prefixer, Preflight, ReportInfo, Rule, Sheet, SheetConfig, SheetInit, SheetInitCallback, ShimConfiguration, TW, TWCallable, Theme, ThemeColor, ThemeColorObject, ThemeConfiguration, ThemeContainer, ThemeFontSize, ThemeHelper, ThemeOutline, ThemeResolver, ThemeScreen, ThemeScreenValue, ThemeSection, ThemeSectionRecord, ThemeSectionResolver, ThemeSectionResolverContext, ThemeSectionType, Token, TokenGrouping, TwindObserver, TypescriptCompat, Unwrap, apply, autoprefix, create, createObserver, cssomSheet, directive, cyrb32 as hash, mode, noprefix, observe, setup, silent, strict, theme, tw, voidSheet, warn }; | ||
export { ShimConfiguration, TwindObserver, createObserver, observe }; | ||
//# sourceMappingURL=observe.d.ts.map |
@@ -1,2 +0,2 @@ | ||
import{tw as h}from"twind";var f=(t,e=1)=>t.slice(e);var d=(t,e)=>{t.size>e&&t.delete(t.keys().next().value)};var b=typeof CSS!="undefined"&&CSS.escape||(t=>{let e=t.charCodeAt(0),i="";return e>=48&&e<=57&&(i="\\"+e.toString(16)+" ",t=f(t)),i+t.replace(/[!./:#]/g,"\\$&")});export*from"twind";var c=new WeakMap,g=t=>{let e=c.get(t);return e||(e=new Map,c.set(t,e)),e},S=(t,e,i)=>i.indexOf(t)==e,p=({tw:t=h}={})=>{let e=g(t),i=({target:r,addedNodes:o})=>{var u;let s=(u=r.getAttribute)==null?void 0:u.call(r,"class");if(s){let n=e.get(s);n||(n=t(s).split(/ +/g).filter(S).join(" "),e.set(s,n),e.set(n,n),d(e,3e4)),s!==n&&r.setAttribute("class",n)}for(let n=o.length;n--;){let l=o[n];a([{target:l,addedNodes:l.children||[]}])}},a=r=>r.forEach(i);if(typeof MutationObserver=="function"){let r=new MutationObserver(a);return{observe(o){return a([{target:o,addedNodes:[o]}]),r.observe(o,{attributes:!0,attributeFilter:["class"],subtree:!0,childList:!0}),this},disconnect(){return r.disconnect(),this}}}return{observe(){return this},disconnect(){return this}}};function x(t,e=this){return p(e).observe(t)}export{p as createObserver,x as observe}; | ||
import{tw as h}from"twind";var p=(t,e=1)=>t.slice(e);var l=(t,e)=>{t.size>e&&t.delete(t.keys().next().value)};var C=typeof CSS!="undefined"&&CSS.escape||(t=>{let e=t.charCodeAt(0),i="";return e>=48&&e<=57&&(i="\\"+e.toString(16)+" ",t=p(t)),i+t.replace(/[!./:#]/g,"\\$&")});export*from"twind";var c=new WeakMap,g=t=>{let e=c.get(t);return e||(e=new Map,c.set(t,e)),e},T=(t,e,i)=>i.indexOf(t)==e,f=({tw:t=h}={})=>{let e=g(t),i=({target:r,addedNodes:o})=>{var u;let s=(u=r.getAttribute)==null?void 0:u.call(r,"class");if(s){let n=e.get(s);n||(n=t(s).split(/ +/g).filter(T).join(" "),e.set(s,n),e.set(n,n),l(e,3e4)),s!==n&&r.setAttribute("class",n)}for(let n=o.length;n--;){let d=o[n];a([{target:d,addedNodes:d.children||[]}])}},a=r=>r.forEach(i);if(typeof MutationObserver=="function"){let r=new MutationObserver(a);return{observe(o){return a([{target:o,addedNodes:[o]}]),r.observe(o,{attributes:!0,attributeFilter:["class"],subtree:!0,childList:!0}),this},disconnect(){return r.disconnect(),this}}}return{observe(){return this},disconnect(){return this}}};function S(t,e=typeof this=="function"?void 0:this){return f(e).observe(t)}export{f as createObserver,S as observe}; | ||
//# sourceMappingURL=observe.js.map |
@@ -1,1 +0,1 @@ | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports,require('twind')):typeof define==='function'&&define.amd?define(['exports','twind'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twindObserve={},g.twind));}(this,(function(exports, twind){'use strict';var d=(t,e)=>{t.size>e&&t.delete(t.keys().next().value);};var c=new WeakMap,g=t=>{let e=c.get(t);return e||(e=new Map,c.set(t,e)),e},S=(t,e,i)=>i.indexOf(t)==e,p=({tw:t=twind.tw}={})=>{let e=g(t),i=({target:r,addedNodes:o})=>{var u;let s=(u=r.getAttribute)==null?void 0:u.call(r,"class");if(s){let n=e.get(s);n||(n=t(s).split(/ +/g).filter(S).join(" "),e.set(s,n),e.set(n,n),d(e,3e4)),s!==n&&r.setAttribute("class",n);}for(let n=o.length;n--;){let l=o[n];a([{target:l,addedNodes:l.children||[]}]);}},a=r=>r.forEach(i);if(typeof MutationObserver=="function"){let r=new MutationObserver(a);return {observe(o){return a([{target:o,addedNodes:[o]}]),r.observe(o,{attributes:!0,attributeFilter:["class"],subtree:!0,childList:!0}),this},disconnect(){return r.disconnect(),this}}}return {observe(){return this},disconnect(){return this}}};function x(t,e=this){return p(e).observe(t)}Object.keys(twind).forEach(function(k){if(k!=='default')Object.defineProperty(exports,k,{enumerable:true,get:function(){return twind[k];}});});exports.createObserver=p;exports.observe=x;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=observe.umd.js.map | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports,require('twind')):typeof define==='function'&&define.amd?define(['exports','twind'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twindObserve={},g.twind));}(this,(function(exports, twind){'use strict';var l=(t,e)=>{t.size>e&&t.delete(t.keys().next().value);};var c=new WeakMap,g=t=>{let e=c.get(t);return e||(e=new Map,c.set(t,e)),e},T=(t,e,i)=>i.indexOf(t)==e,f=({tw:t=twind.tw}={})=>{let e=g(t),i=({target:r,addedNodes:o})=>{var u;let s=(u=r.getAttribute)==null?void 0:u.call(r,"class");if(s){let n=e.get(s);n||(n=t(s).split(/ +/g).filter(T).join(" "),e.set(s,n),e.set(n,n),l(e,3e4)),s!==n&&r.setAttribute("class",n);}for(let n=o.length;n--;){let d=o[n];a([{target:d,addedNodes:d.children||[]}]);}},a=r=>r.forEach(i);if(typeof MutationObserver=="function"){let r=new MutationObserver(a);return {observe(o){return a([{target:o,addedNodes:[o]}]),r.observe(o,{attributes:!0,attributeFilter:["class"],subtree:!0,childList:!0}),this},disconnect(){return r.disconnect(),this}}}return {observe(){return this},disconnect(){return this}}};function S(t,e=typeof this=="function"?void 0:this){return f(e).observe(t)}Object.keys(twind).forEach(function(k){if(k!=='default')Object.defineProperty(exports,k,{enumerable:true,get:function(){return twind[k];}});});exports.createObserver=f;exports.observe=S;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=observe.umd.js.map |
{ | ||
"name": "twind", | ||
"version": "0.15.10", | ||
"version": "0.16.0", | ||
"description": "compiles tailwind like shorthand syntax into css at runtime", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -1,455 +0,5 @@ | ||
import { PropertiesFallback, PropertiesHyphenFallback, AtRule, SimplePseudos } from 'csstype'; | ||
import { Sheet, SheetInit } from 'twind'; | ||
export * from 'twind'; | ||
export * from 'twind/sheets'; | ||
interface CSSCustomProperties { | ||
'--tw-rotate'?: string; | ||
'--tw-gradient-stops'?: string; | ||
} | ||
interface CSSProperties extends PropertiesFallback<string, string>, PropertiesHyphenFallback<string, string>, CSSCustomProperties { | ||
} | ||
interface FontFace extends AtRule.FontFaceFallback<string, string>, AtRule.FontFaceHyphenFallback<string, string> { | ||
} | ||
declare type Falsy = '' | 0 | -0 | false | null | undefined | void; | ||
declare type MaybeArray<T> = T | readonly T[]; | ||
interface TWCallable { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): string; | ||
(...tokens: Token[]): string; | ||
} | ||
interface TW extends TWCallable { | ||
theme: ThemeResolver; | ||
} | ||
interface Context { | ||
/** Allow composition */ | ||
readonly tw: TWCallable; | ||
/** Access to theme values */ | ||
readonly theme: ThemeResolver; | ||
/** Create unique identifier (group, custom properties) */ | ||
readonly tag: (key: string) => string; | ||
readonly css: (rule: Rule[] | string) => CSSRules; | ||
} | ||
interface Instance { | ||
readonly tw: TW; | ||
readonly setup: (options?: Configuration) => void; | ||
} | ||
declare type MaybeThunk<T> = T | ((context: Context) => T); | ||
interface Preflight { | ||
(preflight: CSSRules, context: Context): MaybeThunk<CSSRules | undefined | void>; | ||
} | ||
interface ThemeConfiguration extends Partial<Theme> { | ||
extend?: Partial<Theme>; | ||
} | ||
interface SheetConfig<T = unknown> { | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Target to insert rules into. */ | ||
target?: T; | ||
} | ||
interface Sheet<T = unknown> { | ||
readonly target: T; | ||
insert: (rule: string, index: number) => void; | ||
init?: SheetInit; | ||
} | ||
declare type SheetInitCallback<T = unknown> = (value?: T | undefined) => T; | ||
interface SheetInit { | ||
/** | ||
* Register a function that should be called to use a snapshot state or create a new state. | ||
*/ | ||
<T>(callback: SheetInitCallback<T>): T; | ||
} | ||
declare type Prefixer = (property: string, value: string, important?: boolean) => string; | ||
declare type Hasher = (value: string) => string; | ||
declare type DarkMode = 'media' | 'class' | false; | ||
interface Configuration { | ||
/** | ||
* Determines the dark mode strategy (default: `"media"`). | ||
*/ | ||
darkMode?: DarkMode; | ||
theme?: ThemeConfiguration; | ||
plugins?: Plugins; | ||
/** | ||
* ```js | ||
* { | ||
* ':new-variant': '& .selector', | ||
* } | ||
* ``` | ||
*/ | ||
variants?: Record<string, string>; | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Style insertion methodology to be used. */ | ||
sheet?: Sheet; | ||
/** Called right before the first rule is injected. */ | ||
preflight?: Preflight | boolean | CSSRules; | ||
/** Auto-prefixer method for CSS property–value pairs. */ | ||
prefix?: Prefixer | boolean; | ||
hash?: Hasher | boolean; | ||
mode?: Mode | 'strict' | 'warn' | 'silent'; | ||
} | ||
declare type ReportInfo = { | ||
id: 'LATE_SETUP_CALL'; | ||
} | { | ||
id: 'UNKNOWN_DIRECTIVE'; | ||
rule: string; | ||
} | { | ||
id: 'UNKNOWN_THEME_VALUE'; | ||
key: string | undefined; | ||
} | { | ||
id: 'INJECT_CSS_ERROR'; | ||
error: Error; | ||
css: string; | ||
}; | ||
interface Mode { | ||
/** Called for unknown theme values */ | ||
unknown: <Section extends keyof Theme>(section: Section, key: string[] | undefined, optional: boolean, context: Context) => ThemeSectionType<Theme[Section]> | undefined | void; | ||
/** | ||
* Notify error (missing plugin, duplicate directives? ) | ||
* | ||
* Why id? | ||
* - can generate an url with more info | ||
* - reduce bundle size by omitting large error messages | ||
*/ | ||
report(info: ReportInfo, context: Context): void; | ||
} | ||
declare type Plugin = string | CSSRules | DirectiveHandler; | ||
declare type Plugins = Record<string, Plugin | undefined>; | ||
interface DirectiveHandler { | ||
/** | ||
* Creates CSSRules based on `parameters` | ||
*/ | ||
(parameters: string[], context: Context, id: string): InlineDirective | CSSRules | string | Falsy; | ||
} | ||
interface Rule { | ||
/** | ||
* The variants: `[":sm", ":dark", ":hover"]` | ||
*/ | ||
v: string[]; | ||
/** | ||
* The directive: `"text-sm"`, `"rotate-45"` | ||
*/ | ||
d: string | InlineDirective; | ||
/** Is this rule negated: `"-rotate-45"` =\> `true` */ | ||
n: boolean | undefined; | ||
/** Is this rule marked as important: `"stroke-4!"` =\> `true` */ | ||
i: boolean | undefined; | ||
/** | ||
* The id is the tailwind rule including variants, negate and directive | ||
* | ||
* Initialy this is set to an empty string. | ||
* | ||
* This is used to cache the id of static rules (from template literals). | ||
*/ | ||
$: string; | ||
} | ||
interface Directive<T> { | ||
/** Can be used as a inline directive */ | ||
(context: Context): T; | ||
/** Can be used as a plugin */ | ||
(params: string[], context: Context): T; | ||
} | ||
interface InlineDirective { | ||
(context: Context): CSSRules | string | Falsy | TypescriptCompat; | ||
} | ||
interface TokenGrouping extends Record<string, Token> { | ||
} | ||
declare type TypescriptCompat = boolean | number; | ||
declare type Token = string | TokenGrouping | InlineDirective | Token[] | Falsy | TypescriptCompat; | ||
/** | ||
* Pseudo class | ||
* watch out for ':root' - that could use '*' instead | ||
*/ | ||
declare type CSSSimplePseudos = { | ||
[K in SimplePseudos as `&${string & K}`]?: CSSRulesThunk | MaybeArray<CSSRules>; | ||
}; | ||
interface CSSPseudos extends CSSSimplePseudos { | ||
'&:nth-child(2n)'?: CSSRules; | ||
'&:nth-child(odd)'?: CSSRules; | ||
} | ||
declare type CSSAtMedia = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtSupports = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtKeyframes = Record<string, CSSProperties | ((context: Context) => CSSProperties)>; | ||
/** | ||
* See: https://drafts.csswg.org/css-nesting/#nest-selector | ||
* | ||
* ``` | ||
* "& > * + *": { | ||
* marginLeft: 16 | ||
* }, | ||
* | ||
* // In a comma-separated list, each individual selector shall start with "&" | ||
* "&:focus, &:active": { | ||
* outline: "solid" | ||
* }, | ||
* | ||
* // Self-references are also supported | ||
* "& + &": { | ||
* color: "green" | ||
* } | ||
* ``` | ||
*/ | ||
interface CSSRules { | ||
'@import'?: CSSRulesThunk<MaybeArray<string>> | MaybeArray<string>; | ||
'@font-face'?: CSSRulesThunk<MaybeArray<FontFace>> | MaybeArray<FontFace>; | ||
'@keyframes'?: CSSRulesThunk<CSSAtKeyframes> | CSSAtKeyframes; | ||
'@apply'?: MaybeArray<string | Falsy | TypescriptCompat>; | ||
'@global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
':global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
/** Global defaults */ | ||
[key: string]: CSSRuleValue; | ||
} | ||
declare type CSSRuleValue = CSSAtMedia | CSSAtSupports | CSSAtKeyframes | CSSRulesThunk | MaybeArray<CSSProperties | CSSRules | FontFace | string | Falsy | TypescriptCompat>; | ||
interface CSSRulesThunk<Value = CSSRuleValue> { | ||
(context: Context): Value; | ||
} | ||
interface ThemeResolver { | ||
<Section extends keyof Theme>(section: Section): Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
interface ThemeHelper { | ||
<Section extends keyof Theme>(section: Section): (context: Context) => Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): (context: Context) => ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): (context: Context) => NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): (context: Context) => ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): (context: Context) => NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
declare type Unwrap<T> = T extends string[] ? string : T extends Record<string, infer R> ? R : T; | ||
declare type ThemeSectionType<T> = T extends ThemeSection<infer R> ? Unwrap<R> : Exclude<T, ThemeSectionResolver<T>>; | ||
interface ThemeSectionResolverContext { | ||
/** | ||
* No-op function as negated values are automatically infered and do _not_ not to be in the theme. | ||
*/ | ||
readonly negative: (records: Record<string, string | undefined>) => Record<string, string | undefined>; | ||
readonly breakpoints: (records: Record<string, ThemeScreen | undefined>) => Record<string, string | undefined>; | ||
} | ||
declare type ThemeSectionRecord<T = string> = Record<string, T | undefined>; | ||
declare type ThemeSectionResolver<T = string> = (theme: ThemeResolver, context: ThemeSectionResolverContext) => ThemeSectionRecord<T>; | ||
declare type ThemeSection<T = string> = ThemeSectionRecord<T> | ThemeSectionResolver<T>; | ||
interface ThemeContainer { | ||
screens?: Record<string, string | undefined>; | ||
center?: boolean; | ||
padding?: string | Record<string, string | undefined>; | ||
} | ||
declare type ThemeScreenValue = string | { | ||
raw: string; | ||
} | { | ||
min: string; | ||
max?: string; | ||
} | { | ||
min?: string; | ||
max: string; | ||
}; | ||
declare type ThemeScreen = MaybeArray<ThemeScreenValue>; | ||
interface ThemeColorObject extends Record<string, ThemeColor> { | ||
} | ||
declare type ThemeColor = string | ThemeColorObject; | ||
declare type ThemeFontSize = string | [size: string, lineHeight: string] | [size: string, options: { | ||
lineHeight?: string; | ||
letterSpacing?: string; | ||
}]; | ||
declare type ThemeOutline = [outline: string, offset: string]; | ||
interface Theme { | ||
colors: ThemeSection<ThemeColor>; | ||
spacing: ThemeSection; | ||
durations: ThemeSection<string | string[]>; | ||
screens: ThemeSection<ThemeScreen>; | ||
animation: ThemeSection<string | string[]>; | ||
backgroundColor: ThemeSection<ThemeColor>; | ||
backgroundImage: ThemeSection<string | string[]>; | ||
backgroundOpacity: ThemeSection; | ||
borderColor: ThemeSection<ThemeColor>; | ||
borderOpacity: ThemeSection; | ||
borderRadius: ThemeSection; | ||
borderWidth: ThemeSection; | ||
boxShadow: ThemeSection<string | string[]>; | ||
container: ThemeContainer | ThemeSectionResolver<ThemeContainer>; | ||
divideColor: ThemeSection<ThemeColor>; | ||
divideOpacity: ThemeSection; | ||
divideWidth: ThemeSection; | ||
fill: ThemeSection<ThemeColor>; | ||
flex: ThemeSection; | ||
fontFamily: ThemeSection<string | string[]>; | ||
fontSize: ThemeSection<ThemeFontSize>; | ||
fontWeight: ThemeSection; | ||
gridTemplateColumns: ThemeSection; | ||
gridTemplateRows: ThemeSection; | ||
gridColumn: ThemeSection; | ||
gridRow: ThemeSection; | ||
gap: ThemeSection; | ||
gradientColorStops: ThemeSection<ThemeColor>; | ||
height: ThemeSection; | ||
inset: ThemeSection; | ||
keyframes: ThemeSection<Record<string, CSSProperties>>; | ||
letterSpacing: ThemeSection; | ||
lineHeight: ThemeSection; | ||
margin: ThemeSection; | ||
maxHeight: ThemeSection; | ||
maxWidth: ThemeSection; | ||
minHeight: ThemeSection; | ||
minWidth: ThemeSection; | ||
opacity: ThemeSection; | ||
order: ThemeSection; | ||
outline: ThemeSection<ThemeOutline>; | ||
padding: ThemeSection; | ||
placeholderColor: ThemeSection<ThemeColor>; | ||
placeholderOpacity: ThemeSection; | ||
ringColor: ThemeSection<ThemeColor>; | ||
ringOffsetColor: ThemeSection<ThemeColor>; | ||
ringOffsetWidth: ThemeSection; | ||
ringOpacity: ThemeSection; | ||
ringWidth: ThemeSection; | ||
rotate: ThemeSection; | ||
scale: ThemeSection; | ||
skew: ThemeSection; | ||
space: ThemeSection; | ||
stroke: ThemeSection<ThemeColor>; | ||
strokeWidth: ThemeSection; | ||
textColor: ThemeSection<ThemeColor>; | ||
textOpacity: ThemeSection; | ||
transitionDelay: ThemeSection<string | string[]>; | ||
transitionDuration: ThemeSection<string | string[]>; | ||
transitionProperty: ThemeSection<string | string[]>; | ||
transitionTimingFunction: ThemeSection<string | string[]>; | ||
translate: ThemeSection; | ||
width: ThemeSection; | ||
zIndex: ThemeSection; | ||
} | ||
interface Apply { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): Directive<CSSRules>; | ||
(...tokens: Token[]): Directive<CSSRules>; | ||
} | ||
declare const apply: Apply; | ||
declare const tw: TW; | ||
declare const setup: (options?: Configuration | undefined) => void; | ||
/** | ||
* Returns an optimized and cached function for use with `tw`. | ||
* | ||
* `tw` caches rules based on the function identity. This helper caches | ||
* the function based on the data. | ||
* | ||
* @param factory to use when the directive is invoked | ||
* @param data to use | ||
*/ | ||
declare const directive: <Data, T>(factory: (data: Data, context: Context) => MaybeThunk<T>, data: Data) => Directive<T>; | ||
declare const create: (config?: Configuration | undefined) => Instance; | ||
declare const mode: (report: (message: string) => void) => Mode; | ||
declare const warn: Mode; | ||
declare const strict: Mode; | ||
declare const silent: Mode; | ||
declare const noprefix: Prefixer; | ||
declare const autoprefix: Prefixer; | ||
/** | ||
* Creates an sheet which inserts style rules through the CSS Object Model. | ||
*/ | ||
declare const cssomSheet: ({ nonce, target, }?: SheetConfig<CSSStyleSheet>) => Sheet<CSSStyleSheet>; | ||
/** | ||
* An sheet placeholder which performs no operations. Useful for avoiding errors in a non-browser environment. | ||
*/ | ||
declare const voidSheet: () => Sheet<null>; | ||
declare const theme: ThemeHelper; | ||
declare const cyrb32: Hasher; | ||
/** | ||
* [[include:src/sheets/README.md]] | ||
* | ||
* @packageDocumentation | ||
* @module twind/sheets | ||
*/ | ||
/** | ||
* Creates an sheet which inserts style rules through the Document Object Model. | ||
*/ | ||
declare const domSheet: ({ nonce, target, }?: SheetConfig<HTMLStyleElement>) => Sheet<HTMLStyleElement>; | ||
/** | ||
* Allows to reset and snaphot the current state of an sheet and | ||
* in extension the internal mutable state (caches, ...) of `tw`. | ||
*/ | ||
interface Storage { | ||
/** | ||
* Register a function that should be called to create a new state. | ||
*/ | ||
init: SheetInit; | ||
/** | ||
* Creates a snapshot of the current state, invokes all init callbacks to create a fresh state | ||
* and returns the snaphot. | ||
*/ | ||
reset: (snapshot?: unknown[] | undefined) => unknown[]; | ||
} | ||
/** | ||
* A sheet that collects styles into an array. | ||
*/ | ||
interface VirtualSheet extends Sheet<string[]>, Storage { | ||
init: SheetInit; | ||
} | ||
/** | ||
* Creates an sheet which collects style rules into an array. | ||
*/ | ||
declare const virtualSheet: () => VirtualSheet; | ||
interface StyleTagProperties { | ||
id: string; | ||
textContent: string; | ||
} | ||
interface HasTarget { | ||
readonly target: readonly string[]; | ||
} | ||
declare type StyleTagSheet = HasTarget | readonly string[]; | ||
/** | ||
* Transforms css rules into `<style>` tag properties. | ||
*/ | ||
declare const getStyleTagProperties: (sheet: StyleTagSheet) => StyleTagProperties; | ||
/** | ||
* Transforms css rules into a `<style>` tag string. | ||
*/ | ||
declare const getStyleTag: (sheet: StyleTagSheet, attributes?: Record<string, string> | undefined) => string; | ||
/** | ||
* [[include:src/shim/server/README.md]] | ||
* | ||
* @packageDocumentation | ||
* @module twind/shim/server | ||
*/ | ||
/** | ||
* Options for {@link shim}. | ||
*/ | ||
interface ShimOptions { | ||
/** | ||
* Custom {@link twind.tw | tw} instance to use (default: {@link twind.tw}). | ||
*/ | ||
tw?: TW; | ||
} | ||
/** | ||
* Shim the passed html. | ||
* | ||
* 1. tokenize the markup and process element classes with either the | ||
* {@link twind.tw | default/global tw} instance or a {@link ShimOptions.tw | custom} instance | ||
* 2. populate the provided sheet with the generated rules | ||
* 3. output the HTML markup with the final element classes | ||
* @param markup the html to shim | ||
* @param options to use | ||
* @return the HTML markup with the final element classes | ||
*/ | ||
declare const shim: (markup: string, options?: TW | ShimOptions) => string; | ||
interface AsyncVirtualSheet extends Sheet { | ||
@@ -464,3 +14,3 @@ readonly target: readonly string[]; | ||
export { Apply, AsyncVirtualSheet, CSSAtKeyframes, CSSAtMedia, CSSAtSupports, CSSCustomProperties, CSSProperties, CSSPseudos, CSSRuleValue, CSSRules, CSSRulesThunk, CSSSimplePseudos, Configuration, Context, DarkMode, Directive, DirectiveHandler, Falsy, FontFace, HasTarget, Hasher, InlineDirective, Instance, MaybeArray, MaybeThunk, Mode, Plugin, Plugins, Prefixer, Preflight, ReportInfo, Rule, Sheet, SheetConfig, SheetInit, SheetInitCallback, ShimOptions, Storage, StyleTagProperties, StyleTagSheet, TW, TWCallable, Theme, ThemeColor, ThemeColorObject, ThemeConfiguration, ThemeContainer, ThemeFontSize, ThemeHelper, ThemeOutline, ThemeResolver, ThemeScreen, ThemeScreenValue, ThemeSection, ThemeSectionRecord, ThemeSectionResolver, ThemeSectionResolverContext, ThemeSectionType, Token, TokenGrouping, TypescriptCompat, Unwrap, VirtualSheet, apply, asyncVirtualSheet, autoprefix, create, cssomSheet, directive, domSheet, getStyleTag, getStyleTagProperties, cyrb32 as hash, mode, noprefix, setup, shim, silent, strict, theme, tw, virtualSheet, voidSheet, warn }; | ||
export { AsyncVirtualSheet, asyncVirtualSheet }; | ||
//# sourceMappingURL=server.d.ts.map |
// src/server/index.ts | ||
import {executionAsyncId, createHook} from "node:async_hooks"; | ||
import {virtualSheet} from "twind/sheets"; | ||
export * from "twind/shim/server"; | ||
export * from "twind"; | ||
export * from "twind/sheets"; | ||
var asyncVirtualSheet = () => { | ||
@@ -6,0 +7,0 @@ const sheet = virtualSheet(); |
@@ -1,23 +0,2 @@ | ||
interface SheetConfig<T = unknown> { | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Target to insert rules into. */ | ||
target?: T; | ||
} | ||
interface Sheet<T = unknown> { | ||
readonly target: T; | ||
insert: (rule: string, index: number) => void; | ||
init?: SheetInit; | ||
} | ||
declare type SheetInitCallback<T = unknown> = (value?: T | undefined) => T; | ||
interface SheetInit { | ||
/** | ||
* Register a function that should be called to use a snapshot state or create a new state. | ||
*/ | ||
<T>(callback: SheetInitCallback<T>): T; | ||
} | ||
import { SheetConfig, Sheet, SheetInit } from 'twind'; | ||
@@ -24,0 +3,0 @@ /** |
@@ -1,433 +0,6 @@ | ||
import { PropertiesFallback, PropertiesHyphenFallback, AtRule, SimplePseudos } from 'csstype'; | ||
import { TW } from 'twind'; | ||
export * from 'twind'; | ||
export * from 'twind/sheets'; | ||
interface CSSCustomProperties { | ||
'--tw-rotate'?: string; | ||
'--tw-gradient-stops'?: string; | ||
} | ||
interface CSSProperties extends PropertiesFallback<string, string>, PropertiesHyphenFallback<string, string>, CSSCustomProperties { | ||
} | ||
interface FontFace extends AtRule.FontFaceFallback<string, string>, AtRule.FontFaceHyphenFallback<string, string> { | ||
} | ||
declare type Falsy = '' | 0 | -0 | false | null | undefined | void; | ||
declare type MaybeArray<T> = T | readonly T[]; | ||
interface TWCallable { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): string; | ||
(...tokens: Token[]): string; | ||
} | ||
interface TW extends TWCallable { | ||
theme: ThemeResolver; | ||
} | ||
interface Context { | ||
/** Allow composition */ | ||
readonly tw: TWCallable; | ||
/** Access to theme values */ | ||
readonly theme: ThemeResolver; | ||
/** Create unique identifier (group, custom properties) */ | ||
readonly tag: (key: string) => string; | ||
readonly css: (rule: Rule[] | string) => CSSRules; | ||
} | ||
interface Instance { | ||
readonly tw: TW; | ||
readonly setup: (options?: Configuration) => void; | ||
} | ||
declare type MaybeThunk<T> = T | ((context: Context) => T); | ||
interface Preflight { | ||
(preflight: CSSRules, context: Context): MaybeThunk<CSSRules | undefined | void>; | ||
} | ||
interface ThemeConfiguration extends Partial<Theme> { | ||
extend?: Partial<Theme>; | ||
} | ||
interface SheetConfig<T = unknown> { | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Target to insert rules into. */ | ||
target?: T; | ||
} | ||
interface Sheet<T = unknown> { | ||
readonly target: T; | ||
insert: (rule: string, index: number) => void; | ||
init?: SheetInit; | ||
} | ||
declare type SheetInitCallback<T = unknown> = (value?: T | undefined) => T; | ||
interface SheetInit { | ||
/** | ||
* Register a function that should be called to use a snapshot state or create a new state. | ||
*/ | ||
<T>(callback: SheetInitCallback<T>): T; | ||
} | ||
declare type Prefixer = (property: string, value: string, important?: boolean) => string; | ||
declare type Hasher = (value: string) => string; | ||
declare type DarkMode = 'media' | 'class' | false; | ||
interface Configuration { | ||
/** | ||
* Determines the dark mode strategy (default: `"media"`). | ||
*/ | ||
darkMode?: DarkMode; | ||
theme?: ThemeConfiguration; | ||
plugins?: Plugins; | ||
/** | ||
* ```js | ||
* { | ||
* ':new-variant': '& .selector', | ||
* } | ||
* ``` | ||
*/ | ||
variants?: Record<string, string>; | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Style insertion methodology to be used. */ | ||
sheet?: Sheet; | ||
/** Called right before the first rule is injected. */ | ||
preflight?: Preflight | boolean | CSSRules; | ||
/** Auto-prefixer method for CSS property–value pairs. */ | ||
prefix?: Prefixer | boolean; | ||
hash?: Hasher | boolean; | ||
mode?: Mode | 'strict' | 'warn' | 'silent'; | ||
} | ||
declare type ReportInfo = { | ||
id: 'LATE_SETUP_CALL'; | ||
} | { | ||
id: 'UNKNOWN_DIRECTIVE'; | ||
rule: string; | ||
} | { | ||
id: 'UNKNOWN_THEME_VALUE'; | ||
key: string | undefined; | ||
} | { | ||
id: 'INJECT_CSS_ERROR'; | ||
error: Error; | ||
css: string; | ||
}; | ||
interface Mode { | ||
/** Called for unknown theme values */ | ||
unknown: <Section extends keyof Theme>(section: Section, key: string[] | undefined, optional: boolean, context: Context) => ThemeSectionType<Theme[Section]> | undefined | void; | ||
/** | ||
* Notify error (missing plugin, duplicate directives? ) | ||
* | ||
* Why id? | ||
* - can generate an url with more info | ||
* - reduce bundle size by omitting large error messages | ||
*/ | ||
report(info: ReportInfo, context: Context): void; | ||
} | ||
declare type Plugin = string | CSSRules | DirectiveHandler; | ||
declare type Plugins = Record<string, Plugin | undefined>; | ||
interface DirectiveHandler { | ||
/** | ||
* Creates CSSRules based on `parameters` | ||
*/ | ||
(parameters: string[], context: Context, id: string): InlineDirective | CSSRules | string | Falsy; | ||
} | ||
interface Rule { | ||
/** | ||
* The variants: `[":sm", ":dark", ":hover"]` | ||
*/ | ||
v: string[]; | ||
/** | ||
* The directive: `"text-sm"`, `"rotate-45"` | ||
*/ | ||
d: string | InlineDirective; | ||
/** Is this rule negated: `"-rotate-45"` =\> `true` */ | ||
n: boolean | undefined; | ||
/** Is this rule marked as important: `"stroke-4!"` =\> `true` */ | ||
i: boolean | undefined; | ||
/** | ||
* The id is the tailwind rule including variants, negate and directive | ||
* | ||
* Initialy this is set to an empty string. | ||
* | ||
* This is used to cache the id of static rules (from template literals). | ||
*/ | ||
$: string; | ||
} | ||
interface Directive<T> { | ||
/** Can be used as a inline directive */ | ||
(context: Context): T; | ||
/** Can be used as a plugin */ | ||
(params: string[], context: Context): T; | ||
} | ||
interface InlineDirective { | ||
(context: Context): CSSRules | string | Falsy | TypescriptCompat; | ||
} | ||
interface TokenGrouping extends Record<string, Token> { | ||
} | ||
declare type TypescriptCompat = boolean | number; | ||
declare type Token = string | TokenGrouping | InlineDirective | Token[] | Falsy | TypescriptCompat; | ||
/** | ||
* Pseudo class | ||
* watch out for ':root' - that could use '*' instead | ||
*/ | ||
declare type CSSSimplePseudos = { | ||
[K in SimplePseudos as `&${string & K}`]?: CSSRulesThunk | MaybeArray<CSSRules>; | ||
}; | ||
interface CSSPseudos extends CSSSimplePseudos { | ||
'&:nth-child(2n)'?: CSSRules; | ||
'&:nth-child(odd)'?: CSSRules; | ||
} | ||
declare type CSSAtMedia = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtSupports = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtKeyframes = Record<string, CSSProperties | ((context: Context) => CSSProperties)>; | ||
/** | ||
* See: https://drafts.csswg.org/css-nesting/#nest-selector | ||
* | ||
* ``` | ||
* "& > * + *": { | ||
* marginLeft: 16 | ||
* }, | ||
* | ||
* // In a comma-separated list, each individual selector shall start with "&" | ||
* "&:focus, &:active": { | ||
* outline: "solid" | ||
* }, | ||
* | ||
* // Self-references are also supported | ||
* "& + &": { | ||
* color: "green" | ||
* } | ||
* ``` | ||
*/ | ||
interface CSSRules { | ||
'@import'?: CSSRulesThunk<MaybeArray<string>> | MaybeArray<string>; | ||
'@font-face'?: CSSRulesThunk<MaybeArray<FontFace>> | MaybeArray<FontFace>; | ||
'@keyframes'?: CSSRulesThunk<CSSAtKeyframes> | CSSAtKeyframes; | ||
'@apply'?: MaybeArray<string | Falsy | TypescriptCompat>; | ||
'@global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
':global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
/** Global defaults */ | ||
[key: string]: CSSRuleValue; | ||
} | ||
declare type CSSRuleValue = CSSAtMedia | CSSAtSupports | CSSAtKeyframes | CSSRulesThunk | MaybeArray<CSSProperties | CSSRules | FontFace | string | Falsy | TypescriptCompat>; | ||
interface CSSRulesThunk<Value = CSSRuleValue> { | ||
(context: Context): Value; | ||
} | ||
interface ThemeResolver { | ||
<Section extends keyof Theme>(section: Section): Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
interface ThemeHelper { | ||
<Section extends keyof Theme>(section: Section): (context: Context) => Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): (context: Context) => ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): (context: Context) => NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): (context: Context) => ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): (context: Context) => NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
declare type Unwrap<T> = T extends string[] ? string : T extends Record<string, infer R> ? R : T; | ||
declare type ThemeSectionType<T> = T extends ThemeSection<infer R> ? Unwrap<R> : Exclude<T, ThemeSectionResolver<T>>; | ||
interface ThemeSectionResolverContext { | ||
/** | ||
* No-op function as negated values are automatically infered and do _not_ not to be in the theme. | ||
*/ | ||
readonly negative: (records: Record<string, string | undefined>) => Record<string, string | undefined>; | ||
readonly breakpoints: (records: Record<string, ThemeScreen | undefined>) => Record<string, string | undefined>; | ||
} | ||
declare type ThemeSectionRecord<T = string> = Record<string, T | undefined>; | ||
declare type ThemeSectionResolver<T = string> = (theme: ThemeResolver, context: ThemeSectionResolverContext) => ThemeSectionRecord<T>; | ||
declare type ThemeSection<T = string> = ThemeSectionRecord<T> | ThemeSectionResolver<T>; | ||
interface ThemeContainer { | ||
screens?: Record<string, string | undefined>; | ||
center?: boolean; | ||
padding?: string | Record<string, string | undefined>; | ||
} | ||
declare type ThemeScreenValue = string | { | ||
raw: string; | ||
} | { | ||
min: string; | ||
max?: string; | ||
} | { | ||
min?: string; | ||
max: string; | ||
}; | ||
declare type ThemeScreen = MaybeArray<ThemeScreenValue>; | ||
interface ThemeColorObject extends Record<string, ThemeColor> { | ||
} | ||
declare type ThemeColor = string | ThemeColorObject; | ||
declare type ThemeFontSize = string | [size: string, lineHeight: string] | [size: string, options: { | ||
lineHeight?: string; | ||
letterSpacing?: string; | ||
}]; | ||
declare type ThemeOutline = [outline: string, offset: string]; | ||
interface Theme { | ||
colors: ThemeSection<ThemeColor>; | ||
spacing: ThemeSection; | ||
durations: ThemeSection<string | string[]>; | ||
screens: ThemeSection<ThemeScreen>; | ||
animation: ThemeSection<string | string[]>; | ||
backgroundColor: ThemeSection<ThemeColor>; | ||
backgroundImage: ThemeSection<string | string[]>; | ||
backgroundOpacity: ThemeSection; | ||
borderColor: ThemeSection<ThemeColor>; | ||
borderOpacity: ThemeSection; | ||
borderRadius: ThemeSection; | ||
borderWidth: ThemeSection; | ||
boxShadow: ThemeSection<string | string[]>; | ||
container: ThemeContainer | ThemeSectionResolver<ThemeContainer>; | ||
divideColor: ThemeSection<ThemeColor>; | ||
divideOpacity: ThemeSection; | ||
divideWidth: ThemeSection; | ||
fill: ThemeSection<ThemeColor>; | ||
flex: ThemeSection; | ||
fontFamily: ThemeSection<string | string[]>; | ||
fontSize: ThemeSection<ThemeFontSize>; | ||
fontWeight: ThemeSection; | ||
gridTemplateColumns: ThemeSection; | ||
gridTemplateRows: ThemeSection; | ||
gridColumn: ThemeSection; | ||
gridRow: ThemeSection; | ||
gap: ThemeSection; | ||
gradientColorStops: ThemeSection<ThemeColor>; | ||
height: ThemeSection; | ||
inset: ThemeSection; | ||
keyframes: ThemeSection<Record<string, CSSProperties>>; | ||
letterSpacing: ThemeSection; | ||
lineHeight: ThemeSection; | ||
margin: ThemeSection; | ||
maxHeight: ThemeSection; | ||
maxWidth: ThemeSection; | ||
minHeight: ThemeSection; | ||
minWidth: ThemeSection; | ||
opacity: ThemeSection; | ||
order: ThemeSection; | ||
outline: ThemeSection<ThemeOutline>; | ||
padding: ThemeSection; | ||
placeholderColor: ThemeSection<ThemeColor>; | ||
placeholderOpacity: ThemeSection; | ||
ringColor: ThemeSection<ThemeColor>; | ||
ringOffsetColor: ThemeSection<ThemeColor>; | ||
ringOffsetWidth: ThemeSection; | ||
ringOpacity: ThemeSection; | ||
ringWidth: ThemeSection; | ||
rotate: ThemeSection; | ||
scale: ThemeSection; | ||
skew: ThemeSection; | ||
space: ThemeSection; | ||
stroke: ThemeSection<ThemeColor>; | ||
strokeWidth: ThemeSection; | ||
textColor: ThemeSection<ThemeColor>; | ||
textOpacity: ThemeSection; | ||
transitionDelay: ThemeSection<string | string[]>; | ||
transitionDuration: ThemeSection<string | string[]>; | ||
transitionProperty: ThemeSection<string | string[]>; | ||
transitionTimingFunction: ThemeSection<string | string[]>; | ||
translate: ThemeSection; | ||
width: ThemeSection; | ||
zIndex: ThemeSection; | ||
} | ||
interface Apply { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): Directive<CSSRules>; | ||
(...tokens: Token[]): Directive<CSSRules>; | ||
} | ||
declare const apply: Apply; | ||
declare const tw: TW; | ||
declare const setup: (options?: Configuration | undefined) => void; | ||
/** | ||
* Returns an optimized and cached function for use with `tw`. | ||
* | ||
* `tw` caches rules based on the function identity. This helper caches | ||
* the function based on the data. | ||
* | ||
* @param factory to use when the directive is invoked | ||
* @param data to use | ||
*/ | ||
declare const directive: <Data, T>(factory: (data: Data, context: Context) => MaybeThunk<T>, data: Data) => Directive<T>; | ||
declare const create: (config?: Configuration | undefined) => Instance; | ||
declare const mode: (report: (message: string) => void) => Mode; | ||
declare const warn: Mode; | ||
declare const strict: Mode; | ||
declare const silent: Mode; | ||
declare const noprefix: Prefixer; | ||
declare const autoprefix: Prefixer; | ||
/** | ||
* Creates an sheet which inserts style rules through the CSS Object Model. | ||
*/ | ||
declare const cssomSheet: ({ nonce, target, }?: SheetConfig<CSSStyleSheet>) => Sheet<CSSStyleSheet>; | ||
/** | ||
* An sheet placeholder which performs no operations. Useful for avoiding errors in a non-browser environment. | ||
*/ | ||
declare const voidSheet: () => Sheet<null>; | ||
declare const theme: ThemeHelper; | ||
declare const cyrb32: Hasher; | ||
/** | ||
* [[include:src/sheets/README.md]] | ||
* | ||
* @packageDocumentation | ||
* @module twind/sheets | ||
*/ | ||
/** | ||
* Creates an sheet which inserts style rules through the Document Object Model. | ||
*/ | ||
declare const domSheet: ({ nonce, target, }?: SheetConfig<HTMLStyleElement>) => Sheet<HTMLStyleElement>; | ||
/** | ||
* Allows to reset and snaphot the current state of an sheet and | ||
* in extension the internal mutable state (caches, ...) of `tw`. | ||
*/ | ||
interface Storage { | ||
/** | ||
* Register a function that should be called to create a new state. | ||
*/ | ||
init: SheetInit; | ||
/** | ||
* Creates a snapshot of the current state, invokes all init callbacks to create a fresh state | ||
* and returns the snaphot. | ||
*/ | ||
reset: (snapshot?: unknown[] | undefined) => unknown[]; | ||
} | ||
/** | ||
* A sheet that collects styles into an array. | ||
*/ | ||
interface VirtualSheet extends Sheet<string[]>, Storage { | ||
init: SheetInit; | ||
} | ||
/** | ||
* Creates an sheet which collects style rules into an array. | ||
*/ | ||
declare const virtualSheet: () => VirtualSheet; | ||
interface StyleTagProperties { | ||
id: string; | ||
textContent: string; | ||
} | ||
interface HasTarget { | ||
readonly target: readonly string[]; | ||
} | ||
declare type StyleTagSheet = HasTarget | readonly string[]; | ||
/** | ||
* Transforms css rules into `<style>` tag properties. | ||
*/ | ||
declare const getStyleTagProperties: (sheet: StyleTagSheet) => StyleTagProperties; | ||
/** | ||
* Transforms css rules into a `<style>` tag string. | ||
*/ | ||
declare const getStyleTag: (sheet: StyleTagSheet, attributes?: Record<string, string> | undefined) => string; | ||
/** | ||
* [[include:src/shim/server/README.md]] | ||
* | ||
* @packageDocumentation | ||
* @module twind/shim/server | ||
*/ | ||
/** | ||
* Options for {@link shim}. | ||
@@ -455,3 +28,3 @@ */ | ||
export { Apply, CSSAtKeyframes, CSSAtMedia, CSSAtSupports, CSSCustomProperties, CSSProperties, CSSPseudos, CSSRuleValue, CSSRules, CSSRulesThunk, CSSSimplePseudos, Configuration, Context, DarkMode, Directive, DirectiveHandler, Falsy, FontFace, HasTarget, Hasher, InlineDirective, Instance, MaybeArray, MaybeThunk, Mode, Plugin, Plugins, Prefixer, Preflight, ReportInfo, Rule, Sheet, SheetConfig, SheetInit, SheetInitCallback, ShimOptions, Storage, StyleTagProperties, StyleTagSheet, TW, TWCallable, Theme, ThemeColor, ThemeColorObject, ThemeConfiguration, ThemeContainer, ThemeFontSize, ThemeHelper, ThemeOutline, ThemeResolver, ThemeScreen, ThemeScreenValue, ThemeSection, ThemeSectionRecord, ThemeSectionResolver, ThemeSectionResolverContext, ThemeSectionType, Token, TokenGrouping, TypescriptCompat, Unwrap, VirtualSheet, apply, autoprefix, create, cssomSheet, directive, domSheet, getStyleTag, getStyleTagProperties, cyrb32 as hash, mode, noprefix, setup, shim, silent, strict, theme, tw, virtualSheet, voidSheet, warn }; | ||
export { ShimOptions, shim }; | ||
//# sourceMappingURL=server.d.ts.map |
@@ -1,289 +0,4 @@ | ||
import { PropertiesFallback, PropertiesHyphenFallback, AtRule } from 'csstype'; | ||
import { Configuration } from 'twind'; | ||
interface CSSCustomProperties { | ||
'--tw-rotate'?: string; | ||
'--tw-gradient-stops'?: string; | ||
} | ||
interface CSSProperties extends PropertiesFallback<string, string>, PropertiesHyphenFallback<string, string>, CSSCustomProperties { | ||
} | ||
interface FontFace extends AtRule.FontFaceFallback<string, string>, AtRule.FontFaceHyphenFallback<string, string> { | ||
} | ||
declare type Falsy = '' | 0 | -0 | false | null | undefined | void; | ||
declare type MaybeArray<T> = T | readonly T[]; | ||
interface TWCallable { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): string; | ||
(...tokens: Token[]): string; | ||
} | ||
interface Context { | ||
/** Allow composition */ | ||
readonly tw: TWCallable; | ||
/** Access to theme values */ | ||
readonly theme: ThemeResolver; | ||
/** Create unique identifier (group, custom properties) */ | ||
readonly tag: (key: string) => string; | ||
readonly css: (rule: Rule[] | string) => CSSRules; | ||
} | ||
declare type MaybeThunk<T> = T | ((context: Context) => T); | ||
interface Preflight { | ||
(preflight: CSSRules, context: Context): MaybeThunk<CSSRules | undefined | void>; | ||
} | ||
interface ThemeConfiguration extends Partial<Theme> { | ||
extend?: Partial<Theme>; | ||
} | ||
interface Sheet<T = unknown> { | ||
readonly target: T; | ||
insert: (rule: string, index: number) => void; | ||
init?: SheetInit; | ||
} | ||
declare type SheetInitCallback<T = unknown> = (value?: T | undefined) => T; | ||
interface SheetInit { | ||
/** | ||
* Register a function that should be called to use a snapshot state or create a new state. | ||
*/ | ||
<T>(callback: SheetInitCallback<T>): T; | ||
} | ||
declare type Prefixer = (property: string, value: string, important?: boolean) => string; | ||
declare type Hasher = (value: string) => string; | ||
declare type DarkMode = 'media' | 'class' | false; | ||
interface Configuration { | ||
/** | ||
* Determines the dark mode strategy (default: `"media"`). | ||
*/ | ||
darkMode?: DarkMode; | ||
theme?: ThemeConfiguration; | ||
plugins?: Plugins; | ||
/** | ||
* ```js | ||
* { | ||
* ':new-variant': '& .selector', | ||
* } | ||
* ``` | ||
*/ | ||
variants?: Record<string, string>; | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Style insertion methodology to be used. */ | ||
sheet?: Sheet; | ||
/** Called right before the first rule is injected. */ | ||
preflight?: Preflight | boolean | CSSRules; | ||
/** Auto-prefixer method for CSS property–value pairs. */ | ||
prefix?: Prefixer | boolean; | ||
hash?: Hasher | boolean; | ||
mode?: Mode | 'strict' | 'warn' | 'silent'; | ||
} | ||
declare type ReportInfo = { | ||
id: 'LATE_SETUP_CALL'; | ||
} | { | ||
id: 'UNKNOWN_DIRECTIVE'; | ||
rule: string; | ||
} | { | ||
id: 'UNKNOWN_THEME_VALUE'; | ||
key: string | undefined; | ||
} | { | ||
id: 'INJECT_CSS_ERROR'; | ||
error: Error; | ||
css: string; | ||
}; | ||
interface Mode { | ||
/** Called for unknown theme values */ | ||
unknown: <Section extends keyof Theme>(section: Section, key: string[] | undefined, optional: boolean, context: Context) => ThemeSectionType<Theme[Section]> | undefined | void; | ||
/** | ||
* Notify error (missing plugin, duplicate directives? ) | ||
* | ||
* Why id? | ||
* - can generate an url with more info | ||
* - reduce bundle size by omitting large error messages | ||
*/ | ||
report(info: ReportInfo, context: Context): void; | ||
} | ||
declare type Plugin = string | CSSRules | DirectiveHandler; | ||
declare type Plugins = Record<string, Plugin | undefined>; | ||
interface DirectiveHandler { | ||
/** | ||
* Creates CSSRules based on `parameters` | ||
*/ | ||
(parameters: string[], context: Context, id: string): InlineDirective | CSSRules | string | Falsy; | ||
} | ||
interface Rule { | ||
/** | ||
* The variants: `[":sm", ":dark", ":hover"]` | ||
*/ | ||
v: string[]; | ||
/** | ||
* The directive: `"text-sm"`, `"rotate-45"` | ||
*/ | ||
d: string | InlineDirective; | ||
/** Is this rule negated: `"-rotate-45"` =\> `true` */ | ||
n: boolean | undefined; | ||
/** Is this rule marked as important: `"stroke-4!"` =\> `true` */ | ||
i: boolean | undefined; | ||
/** | ||
* The id is the tailwind rule including variants, negate and directive | ||
* | ||
* Initialy this is set to an empty string. | ||
* | ||
* This is used to cache the id of static rules (from template literals). | ||
*/ | ||
$: string; | ||
} | ||
interface InlineDirective { | ||
(context: Context): CSSRules | string | Falsy | TypescriptCompat; | ||
} | ||
interface TokenGrouping extends Record<string, Token> { | ||
} | ||
declare type TypescriptCompat = boolean | number; | ||
declare type Token = string | TokenGrouping | InlineDirective | Token[] | Falsy | TypescriptCompat; | ||
declare type CSSAtMedia = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtSupports = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtKeyframes = Record<string, CSSProperties | ((context: Context) => CSSProperties)>; | ||
/** | ||
* See: https://drafts.csswg.org/css-nesting/#nest-selector | ||
* | ||
* ``` | ||
* "& > * + *": { | ||
* marginLeft: 16 | ||
* }, | ||
* | ||
* // In a comma-separated list, each individual selector shall start with "&" | ||
* "&:focus, &:active": { | ||
* outline: "solid" | ||
* }, | ||
* | ||
* // Self-references are also supported | ||
* "& + &": { | ||
* color: "green" | ||
* } | ||
* ``` | ||
*/ | ||
interface CSSRules { | ||
'@import'?: CSSRulesThunk<MaybeArray<string>> | MaybeArray<string>; | ||
'@font-face'?: CSSRulesThunk<MaybeArray<FontFace>> | MaybeArray<FontFace>; | ||
'@keyframes'?: CSSRulesThunk<CSSAtKeyframes> | CSSAtKeyframes; | ||
'@apply'?: MaybeArray<string | Falsy | TypescriptCompat>; | ||
'@global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
':global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
/** Global defaults */ | ||
[key: string]: CSSRuleValue; | ||
} | ||
declare type CSSRuleValue = CSSAtMedia | CSSAtSupports | CSSAtKeyframes | CSSRulesThunk | MaybeArray<CSSProperties | CSSRules | FontFace | string | Falsy | TypescriptCompat>; | ||
interface CSSRulesThunk<Value = CSSRuleValue> { | ||
(context: Context): Value; | ||
} | ||
interface ThemeResolver { | ||
<Section extends keyof Theme>(section: Section): Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
declare type Unwrap<T> = T extends string[] ? string : T extends Record<string, infer R> ? R : T; | ||
declare type ThemeSectionType<T> = T extends ThemeSection<infer R> ? Unwrap<R> : Exclude<T, ThemeSectionResolver<T>>; | ||
interface ThemeSectionResolverContext { | ||
/** | ||
* No-op function as negated values are automatically infered and do _not_ not to be in the theme. | ||
*/ | ||
readonly negative: (records: Record<string, string | undefined>) => Record<string, string | undefined>; | ||
readonly breakpoints: (records: Record<string, ThemeScreen | undefined>) => Record<string, string | undefined>; | ||
} | ||
declare type ThemeSectionRecord<T = string> = Record<string, T | undefined>; | ||
declare type ThemeSectionResolver<T = string> = (theme: ThemeResolver, context: ThemeSectionResolverContext) => ThemeSectionRecord<T>; | ||
declare type ThemeSection<T = string> = ThemeSectionRecord<T> | ThemeSectionResolver<T>; | ||
interface ThemeContainer { | ||
screens?: Record<string, string | undefined>; | ||
center?: boolean; | ||
padding?: string | Record<string, string | undefined>; | ||
} | ||
declare type ThemeScreenValue = string | { | ||
raw: string; | ||
} | { | ||
min: string; | ||
max?: string; | ||
} | { | ||
min?: string; | ||
max: string; | ||
}; | ||
declare type ThemeScreen = MaybeArray<ThemeScreenValue>; | ||
interface ThemeColorObject extends Record<string, ThemeColor> { | ||
} | ||
declare type ThemeColor = string | ThemeColorObject; | ||
declare type ThemeFontSize = string | [size: string, lineHeight: string] | [size: string, options: { | ||
lineHeight?: string; | ||
letterSpacing?: string; | ||
}]; | ||
declare type ThemeOutline = [outline: string, offset: string]; | ||
interface Theme { | ||
colors: ThemeSection<ThemeColor>; | ||
spacing: ThemeSection; | ||
durations: ThemeSection<string | string[]>; | ||
screens: ThemeSection<ThemeScreen>; | ||
animation: ThemeSection<string | string[]>; | ||
backgroundColor: ThemeSection<ThemeColor>; | ||
backgroundImage: ThemeSection<string | string[]>; | ||
backgroundOpacity: ThemeSection; | ||
borderColor: ThemeSection<ThemeColor>; | ||
borderOpacity: ThemeSection; | ||
borderRadius: ThemeSection; | ||
borderWidth: ThemeSection; | ||
boxShadow: ThemeSection<string | string[]>; | ||
container: ThemeContainer | ThemeSectionResolver<ThemeContainer>; | ||
divideColor: ThemeSection<ThemeColor>; | ||
divideOpacity: ThemeSection; | ||
divideWidth: ThemeSection; | ||
fill: ThemeSection<ThemeColor>; | ||
flex: ThemeSection; | ||
fontFamily: ThemeSection<string | string[]>; | ||
fontSize: ThemeSection<ThemeFontSize>; | ||
fontWeight: ThemeSection; | ||
gridTemplateColumns: ThemeSection; | ||
gridTemplateRows: ThemeSection; | ||
gridColumn: ThemeSection; | ||
gridRow: ThemeSection; | ||
gap: ThemeSection; | ||
gradientColorStops: ThemeSection<ThemeColor>; | ||
height: ThemeSection; | ||
inset: ThemeSection; | ||
keyframes: ThemeSection<Record<string, CSSProperties>>; | ||
letterSpacing: ThemeSection; | ||
lineHeight: ThemeSection; | ||
margin: ThemeSection; | ||
maxHeight: ThemeSection; | ||
maxWidth: ThemeSection; | ||
minHeight: ThemeSection; | ||
minWidth: ThemeSection; | ||
opacity: ThemeSection; | ||
order: ThemeSection; | ||
outline: ThemeSection<ThemeOutline>; | ||
padding: ThemeSection; | ||
placeholderColor: ThemeSection<ThemeColor>; | ||
placeholderOpacity: ThemeSection; | ||
ringColor: ThemeSection<ThemeColor>; | ||
ringOffsetColor: ThemeSection<ThemeColor>; | ||
ringOffsetWidth: ThemeSection; | ||
ringOpacity: ThemeSection; | ||
ringWidth: ThemeSection; | ||
rotate: ThemeSection; | ||
scale: ThemeSection; | ||
skew: ThemeSection; | ||
space: ThemeSection; | ||
stroke: ThemeSection<ThemeColor>; | ||
strokeWidth: ThemeSection; | ||
textColor: ThemeSection<ThemeColor>; | ||
textOpacity: ThemeSection; | ||
transitionDelay: ThemeSection<string | string[]>; | ||
transitionDuration: ThemeSection<string | string[]>; | ||
transitionProperty: ThemeSection<string | string[]>; | ||
transitionTimingFunction: ThemeSection<string | string[]>; | ||
translate: ThemeSection; | ||
width: ThemeSection; | ||
zIndex: ThemeSection; | ||
} | ||
/** | ||
* [[include:src/shim/README.md]] | ||
@@ -290,0 +5,0 @@ * |
@@ -1,2 +0,2 @@ | ||
import{setup as c,createObserver as d}from"twind/observe";typeof document!="undefined"&&typeof addEventListener=="function"&&(t=()=>{let e=document.querySelector('script[type="twind-config"]');r(e?JSON.parse(e.innerHTML):{})},document.readyState==="loading"?addEventListener("DOMContentLoaded",t):i=setTimeout(t));var t,i,o=d(),s=()=>{t&&(removeEventListener("DOMContentLoaded",t),clearTimeout(i)),o.disconnect()},r=({target:e=document.documentElement,...n}={})=>{Object.keys(n).length&&c(n),s(),o.observe(e),e.hidden=!1};export{s as disconnect,r as setup}; | ||
import{setup as d,createObserver as c}from"twind/observe";typeof document!="undefined"&&typeof addEventListener=="function"&&(t=()=>{let e=document.querySelector('script[type="twind-config"]');r(e?JSON.parse(e.innerHTML):{})},document.readyState==="loading"?addEventListener("DOMContentLoaded",t):i=setTimeout(t));var t,i,o=c(),s=()=>{t&&(removeEventListener("DOMContentLoaded",t),clearTimeout(i)),o.disconnect()},r=({target:e=document.documentElement,...n}={})=>{Object.keys(n).length&&d(n),s(),o.observe(e),e.hidden=!1};export{s as disconnect,r as setup}; | ||
//# sourceMappingURL=shim.js.map |
@@ -1,1 +0,1 @@ | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports,require('twind/observe')):typeof define==='function'&&define.amd?define(['exports','twind/observe'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twindShim={},g.twindObserve));}(this,(function(exports, observe){'use strict';var a=Object.prototype.hasOwnProperty;var o=Object.getOwnPropertySymbols,f=Object.prototype.propertyIsEnumerable;var s=(e,i)=>{var n={};for(var t in e)a.call(e,t)&&i.indexOf(t)<0&&(n[t]=e[t]);if(e!=null&&o)for(var t of o(e))i.indexOf(t)<0&&f.call(e,t)&&(n[t]=e[t]);return n};typeof document!="undefined"&&typeof addEventListener=="function"&&(r=()=>{let e=document.querySelector('script[type="twind-config"]');d(e?JSON.parse(e.innerHTML):{});},document.readyState==="loading"?addEventListener("DOMContentLoaded",r):c=setTimeout(r));var r,c,p=observe.createObserver(),u=()=>{r&&(removeEventListener("DOMContentLoaded",r),clearTimeout(c)),p.disconnect();},d=(n={})=>{var{target:e=document.documentElement}=n,i=s(n,["target"]);Object.keys(i).length&&observe.setup(i),u(),p.observe(e),e.hidden=!1;};exports.disconnect=u;exports.setup=d;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=shim.umd.js.map | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports,require('twind/observe')):typeof define==='function'&&define.amd?define(['exports','twind/observe'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twindShim={},g.twindObserve));}(this,(function(exports, observe){'use strict';var a=Object.prototype.hasOwnProperty;var o=Object.getOwnPropertySymbols,f=Object.prototype.propertyIsEnumerable;var s=(e,i)=>{var n={};for(var t in e)a.call(e,t)&&i.indexOf(t)<0&&(n[t]=e[t]);if(e!=null&&o)for(var t of o(e))i.indexOf(t)<0&&f.call(e,t)&&(n[t]=e[t]);return n};typeof document!="undefined"&&typeof addEventListener=="function"&&(r=()=>{let e=document.querySelector('script[type="twind-config"]');c(e?JSON.parse(e.innerHTML):{});},document.readyState==="loading"?addEventListener("DOMContentLoaded",r):d=setTimeout(r));var r,d,p=observe.createObserver(),u=()=>{r&&(removeEventListener("DOMContentLoaded",r),clearTimeout(d)),p.disconnect();},c=(n={})=>{var{target:e=document.documentElement}=n,i=s(n,["target"]);Object.keys(i).length&&observe.setup(i),u(),p.observe(e),e.hidden=!1;};exports.disconnect=u;exports.setup=c;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=shim.umd.js.map |
@@ -1,441 +0,5 @@ | ||
import { PropertiesFallback, PropertiesHyphenFallback, AtRule, SimplePseudos } from 'csstype'; | ||
import { CSSRules, Directive, Token } from 'twind'; | ||
export * from 'twind/css'; | ||
interface CSSCustomProperties { | ||
'--tw-rotate'?: string; | ||
'--tw-gradient-stops'?: string; | ||
} | ||
interface CSSProperties extends PropertiesFallback<string, string>, PropertiesHyphenFallback<string, string>, CSSCustomProperties { | ||
} | ||
interface FontFace extends AtRule.FontFaceFallback<string, string>, AtRule.FontFaceHyphenFallback<string, string> { | ||
} | ||
declare type Falsy = '' | 0 | -0 | false | null | undefined | void; | ||
declare type MaybeArray<T> = T | readonly T[]; | ||
interface TWCallable { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): string; | ||
(...tokens: Token[]): string; | ||
} | ||
interface TW extends TWCallable { | ||
theme: ThemeResolver; | ||
} | ||
interface Context { | ||
/** Allow composition */ | ||
readonly tw: TWCallable; | ||
/** Access to theme values */ | ||
readonly theme: ThemeResolver; | ||
/** Create unique identifier (group, custom properties) */ | ||
readonly tag: (key: string) => string; | ||
readonly css: (rule: Rule[] | string) => CSSRules; | ||
} | ||
interface Instance { | ||
readonly tw: TW; | ||
readonly setup: (options?: Configuration) => void; | ||
} | ||
declare type MaybeThunk<T> = T | ((context: Context) => T); | ||
interface Preflight { | ||
(preflight: CSSRules, context: Context): MaybeThunk<CSSRules | undefined | void>; | ||
} | ||
interface ThemeConfiguration extends Partial<Theme> { | ||
extend?: Partial<Theme>; | ||
} | ||
interface SheetConfig<T = unknown> { | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Target to insert rules into. */ | ||
target?: T; | ||
} | ||
interface Sheet<T = unknown> { | ||
readonly target: T; | ||
insert: (rule: string, index: number) => void; | ||
init?: SheetInit; | ||
} | ||
declare type SheetInitCallback<T = unknown> = (value?: T | undefined) => T; | ||
interface SheetInit { | ||
/** | ||
* Register a function that should be called to use a snapshot state or create a new state. | ||
*/ | ||
<T>(callback: SheetInitCallback<T>): T; | ||
} | ||
declare type Prefixer = (property: string, value: string, important?: boolean) => string; | ||
declare type Hasher = (value: string) => string; | ||
declare type DarkMode = 'media' | 'class' | false; | ||
interface Configuration { | ||
/** | ||
* Determines the dark mode strategy (default: `"media"`). | ||
*/ | ||
darkMode?: DarkMode; | ||
theme?: ThemeConfiguration; | ||
plugins?: Plugins; | ||
/** | ||
* ```js | ||
* { | ||
* ':new-variant': '& .selector', | ||
* } | ||
* ``` | ||
*/ | ||
variants?: Record<string, string>; | ||
/** | ||
* Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
* | ||
* Useful for enforcing a [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP). | ||
*/ | ||
nonce?: string; | ||
/** Style insertion methodology to be used. */ | ||
sheet?: Sheet; | ||
/** Called right before the first rule is injected. */ | ||
preflight?: Preflight | boolean | CSSRules; | ||
/** Auto-prefixer method for CSS property–value pairs. */ | ||
prefix?: Prefixer | boolean; | ||
hash?: Hasher | boolean; | ||
mode?: Mode | 'strict' | 'warn' | 'silent'; | ||
} | ||
declare type ReportInfo = { | ||
id: 'LATE_SETUP_CALL'; | ||
} | { | ||
id: 'UNKNOWN_DIRECTIVE'; | ||
rule: string; | ||
} | { | ||
id: 'UNKNOWN_THEME_VALUE'; | ||
key: string | undefined; | ||
} | { | ||
id: 'INJECT_CSS_ERROR'; | ||
error: Error; | ||
css: string; | ||
}; | ||
interface Mode { | ||
/** Called for unknown theme values */ | ||
unknown: <Section extends keyof Theme>(section: Section, key: string[] | undefined, optional: boolean, context: Context) => ThemeSectionType<Theme[Section]> | undefined | void; | ||
/** | ||
* Notify error (missing plugin, duplicate directives? ) | ||
* | ||
* Why id? | ||
* - can generate an url with more info | ||
* - reduce bundle size by omitting large error messages | ||
*/ | ||
report(info: ReportInfo, context: Context): void; | ||
} | ||
declare type Plugin = string | CSSRules | DirectiveHandler; | ||
declare type Plugins = Record<string, Plugin | undefined>; | ||
interface DirectiveHandler { | ||
/** | ||
* Creates CSSRules based on `parameters` | ||
*/ | ||
(parameters: string[], context: Context, id: string): InlineDirective | CSSRules | string | Falsy; | ||
} | ||
interface Rule { | ||
/** | ||
* The variants: `[":sm", ":dark", ":hover"]` | ||
*/ | ||
v: string[]; | ||
/** | ||
* The directive: `"text-sm"`, `"rotate-45"` | ||
*/ | ||
d: string | InlineDirective; | ||
/** Is this rule negated: `"-rotate-45"` =\> `true` */ | ||
n: boolean | undefined; | ||
/** Is this rule marked as important: `"stroke-4!"` =\> `true` */ | ||
i: boolean | undefined; | ||
/** | ||
* The id is the tailwind rule including variants, negate and directive | ||
* | ||
* Initialy this is set to an empty string. | ||
* | ||
* This is used to cache the id of static rules (from template literals). | ||
*/ | ||
$: string; | ||
} | ||
interface Directive<T> { | ||
/** Can be used as a inline directive */ | ||
(context: Context): T; | ||
/** Can be used as a plugin */ | ||
(params: string[], context: Context): T; | ||
} | ||
interface InlineDirective { | ||
(context: Context): CSSRules | string | Falsy | TypescriptCompat; | ||
} | ||
interface TokenGrouping extends Record<string, Token> { | ||
} | ||
declare type TypescriptCompat = boolean | number; | ||
declare type Token = string | TokenGrouping | InlineDirective | Token[] | Falsy | TypescriptCompat; | ||
/** | ||
* Pseudo class | ||
* watch out for ':root' - that could use '*' instead | ||
*/ | ||
declare type CSSSimplePseudos = { | ||
[K in SimplePseudos as `&${string & K}`]?: CSSRulesThunk | MaybeArray<CSSRules>; | ||
}; | ||
interface CSSPseudos extends CSSSimplePseudos { | ||
'&:nth-child(2n)'?: CSSRules; | ||
'&:nth-child(odd)'?: CSSRules; | ||
} | ||
declare type CSSAtMedia = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtSupports = Record<string, MaybeArray<CSSRules>>; | ||
declare type CSSAtKeyframes = Record<string, CSSProperties | ((context: Context) => CSSProperties)>; | ||
/** | ||
* See: https://drafts.csswg.org/css-nesting/#nest-selector | ||
* | ||
* ``` | ||
* "& > * + *": { | ||
* marginLeft: 16 | ||
* }, | ||
* | ||
* // In a comma-separated list, each individual selector shall start with "&" | ||
* "&:focus, &:active": { | ||
* outline: "solid" | ||
* }, | ||
* | ||
* // Self-references are also supported | ||
* "& + &": { | ||
* color: "green" | ||
* } | ||
* ``` | ||
*/ | ||
interface CSSRules { | ||
'@import'?: CSSRulesThunk<MaybeArray<string>> | MaybeArray<string>; | ||
'@font-face'?: CSSRulesThunk<MaybeArray<FontFace>> | MaybeArray<FontFace>; | ||
'@keyframes'?: CSSRulesThunk<CSSAtKeyframes> | CSSAtKeyframes; | ||
'@apply'?: MaybeArray<string | Falsy | TypescriptCompat>; | ||
'@global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
':global'?: CSSRulesThunk<MaybeArray<CSSRules>> | MaybeArray<CSSRules>; | ||
/** Global defaults */ | ||
[key: string]: CSSRuleValue; | ||
} | ||
declare type CSSRuleValue = CSSAtMedia | CSSAtSupports | CSSAtKeyframes | CSSRulesThunk | MaybeArray<CSSProperties | CSSRules | FontFace | string | Falsy | TypescriptCompat>; | ||
interface CSSRulesThunk<Value = CSSRuleValue> { | ||
(context: Context): Value; | ||
} | ||
interface ThemeResolver { | ||
<Section extends keyof Theme>(section: Section): Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
interface ThemeHelper { | ||
<Section extends keyof Theme>(section: Section): (context: Context) => Record<string, ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`): (context: Context) => ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(keypath: `${Section}.${string}`, defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): (context: Context) => NonNullable<ThemeSectionType<Theme[Section]>>; | ||
<Section extends keyof Theme>(section: Section, key: string | string[]): (context: Context) => ThemeSectionType<Theme[Section]> | undefined; | ||
<Section extends keyof Theme>(section: Section, key: string | string[], defaultValue: NonNullable<ThemeSectionType<Theme[Section]>>): (context: Context) => NonNullable<ThemeSectionType<Theme[Section]>>; | ||
} | ||
declare type Unwrap<T> = T extends string[] ? string : T extends Record<string, infer R> ? R : T; | ||
declare type ThemeSectionType<T> = T extends ThemeSection<infer R> ? Unwrap<R> : Exclude<T, ThemeSectionResolver<T>>; | ||
interface ThemeSectionResolverContext { | ||
/** | ||
* No-op function as negated values are automatically infered and do _not_ not to be in the theme. | ||
*/ | ||
readonly negative: (records: Record<string, string | undefined>) => Record<string, string | undefined>; | ||
readonly breakpoints: (records: Record<string, ThemeScreen | undefined>) => Record<string, string | undefined>; | ||
} | ||
declare type ThemeSectionRecord<T = string> = Record<string, T | undefined>; | ||
declare type ThemeSectionResolver<T = string> = (theme: ThemeResolver, context: ThemeSectionResolverContext) => ThemeSectionRecord<T>; | ||
declare type ThemeSection<T = string> = ThemeSectionRecord<T> | ThemeSectionResolver<T>; | ||
interface ThemeContainer { | ||
screens?: Record<string, string | undefined>; | ||
center?: boolean; | ||
padding?: string | Record<string, string | undefined>; | ||
} | ||
declare type ThemeScreenValue = string | { | ||
raw: string; | ||
} | { | ||
min: string; | ||
max?: string; | ||
} | { | ||
min?: string; | ||
max: string; | ||
}; | ||
declare type ThemeScreen = MaybeArray<ThemeScreenValue>; | ||
interface ThemeColorObject extends Record<string, ThemeColor> { | ||
} | ||
declare type ThemeColor = string | ThemeColorObject; | ||
declare type ThemeFontSize = string | [size: string, lineHeight: string] | [size: string, options: { | ||
lineHeight?: string; | ||
letterSpacing?: string; | ||
}]; | ||
declare type ThemeOutline = [outline: string, offset: string]; | ||
interface Theme { | ||
colors: ThemeSection<ThemeColor>; | ||
spacing: ThemeSection; | ||
durations: ThemeSection<string | string[]>; | ||
screens: ThemeSection<ThemeScreen>; | ||
animation: ThemeSection<string | string[]>; | ||
backgroundColor: ThemeSection<ThemeColor>; | ||
backgroundImage: ThemeSection<string | string[]>; | ||
backgroundOpacity: ThemeSection; | ||
borderColor: ThemeSection<ThemeColor>; | ||
borderOpacity: ThemeSection; | ||
borderRadius: ThemeSection; | ||
borderWidth: ThemeSection; | ||
boxShadow: ThemeSection<string | string[]>; | ||
container: ThemeContainer | ThemeSectionResolver<ThemeContainer>; | ||
divideColor: ThemeSection<ThemeColor>; | ||
divideOpacity: ThemeSection; | ||
divideWidth: ThemeSection; | ||
fill: ThemeSection<ThemeColor>; | ||
flex: ThemeSection; | ||
fontFamily: ThemeSection<string | string[]>; | ||
fontSize: ThemeSection<ThemeFontSize>; | ||
fontWeight: ThemeSection; | ||
gridTemplateColumns: ThemeSection; | ||
gridTemplateRows: ThemeSection; | ||
gridColumn: ThemeSection; | ||
gridRow: ThemeSection; | ||
gap: ThemeSection; | ||
gradientColorStops: ThemeSection<ThemeColor>; | ||
height: ThemeSection; | ||
inset: ThemeSection; | ||
keyframes: ThemeSection<Record<string, CSSProperties>>; | ||
letterSpacing: ThemeSection; | ||
lineHeight: ThemeSection; | ||
margin: ThemeSection; | ||
maxHeight: ThemeSection; | ||
maxWidth: ThemeSection; | ||
minHeight: ThemeSection; | ||
minWidth: ThemeSection; | ||
opacity: ThemeSection; | ||
order: ThemeSection; | ||
outline: ThemeSection<ThemeOutline>; | ||
padding: ThemeSection; | ||
placeholderColor: ThemeSection<ThemeColor>; | ||
placeholderOpacity: ThemeSection; | ||
ringColor: ThemeSection<ThemeColor>; | ||
ringOffsetColor: ThemeSection<ThemeColor>; | ||
ringOffsetWidth: ThemeSection; | ||
ringOpacity: ThemeSection; | ||
ringWidth: ThemeSection; | ||
rotate: ThemeSection; | ||
scale: ThemeSection; | ||
skew: ThemeSection; | ||
space: ThemeSection; | ||
stroke: ThemeSection<ThemeColor>; | ||
strokeWidth: ThemeSection; | ||
textColor: ThemeSection<ThemeColor>; | ||
textOpacity: ThemeSection; | ||
transitionDelay: ThemeSection<string | string[]>; | ||
transitionDuration: ThemeSection<string | string[]>; | ||
transitionProperty: ThemeSection<string | string[]>; | ||
transitionTimingFunction: ThemeSection<string | string[]>; | ||
translate: ThemeSection; | ||
width: ThemeSection; | ||
zIndex: ThemeSection; | ||
} | ||
interface Apply { | ||
(strings: TemplateStringsArray, ...interpolations: Token[]): Directive<CSSRules>; | ||
(...tokens: Token[]): Directive<CSSRules>; | ||
} | ||
declare const apply: Apply; | ||
declare const tw: TW; | ||
declare const setup: (options?: Configuration | undefined) => void; | ||
/** | ||
* Returns an optimized and cached function for use with `tw`. | ||
* | ||
* `tw` caches rules based on the function identity. This helper caches | ||
* the function based on the data. | ||
* | ||
* @param factory to use when the directive is invoked | ||
* @param data to use | ||
*/ | ||
declare const directive: <Data, T>(factory: (data: Data, context: Context) => MaybeThunk<T>, data: Data) => Directive<T>; | ||
declare const create: (config?: Configuration | undefined) => Instance; | ||
declare const mode: (report: (message: string) => void) => Mode; | ||
declare const warn: Mode; | ||
declare const strict: Mode; | ||
declare const silent: Mode; | ||
declare const noprefix: Prefixer; | ||
declare const autoprefix: Prefixer; | ||
/** | ||
* Creates an sheet which inserts style rules through the CSS Object Model. | ||
*/ | ||
declare const cssomSheet: ({ nonce, target, }?: SheetConfig<CSSStyleSheet>) => Sheet<CSSStyleSheet>; | ||
/** | ||
* An sheet placeholder which performs no operations. Useful for avoiding errors in a non-browser environment. | ||
*/ | ||
declare const voidSheet: () => Sheet<null>; | ||
declare const theme: ThemeHelper; | ||
declare const cyrb32: Hasher; | ||
/** | ||
* [[include:src/css/README.md]] | ||
* | ||
* @packageDocumentation | ||
* @module twind/css | ||
*/ | ||
interface CSSFactory<T, I, R> { | ||
(strings: TemplateStringsArray, ...interpolations: readonly MaybeThunk<MaybeArray<I | string | number | Falsy>>[]): Directive<R>; | ||
(tokens: MaybeThunk<MaybeArray<T | Falsy>>): Directive<R>; | ||
(...tokens: readonly MaybeThunk<T | Falsy>[]): Directive<R>; | ||
} | ||
declare const css: CSSFactory<CSSRules, CSSRules, CSSRules>; | ||
/** | ||
* | ||
* ```js | ||
* const bounce = keyframes({ | ||
* 'from, 20%, 53%, 80%, to': { | ||
* transform: 'translate3d(0,0,0)', | ||
* }, | ||
* '40%, 43%': { | ||
* transform: 'translate3d(0, -30px, 0)', | ||
* }, | ||
* '70%': { | ||
* transform: 'translate3d(0, -15px, 0)', | ||
* }, | ||
* '90%': { | ||
* transform: 'translate3d(0, -4px, 0)', | ||
* } | ||
* }) | ||
* | ||
* css({ | ||
* animation: `${bounce} 1s ease infinite`, | ||
* }) | ||
* ``` | ||
* @param waypoints | ||
*/ | ||
declare const keyframes: CSSFactory<CSSAtKeyframes, CSSAtKeyframes | CSSProperties, string>; | ||
/** | ||
* | ||
* ```js | ||
* const bounce = animation('1s ease infinite', { | ||
* 'from, 20%, 53%, 80%, to': { | ||
* transform: 'translate3d(0,0,0)', | ||
* }, | ||
* '40%, 43%': { | ||
* transform: 'translate3d(0, -30px, 0)', | ||
* }, | ||
* '70%': { | ||
* transform: 'translate3d(0, -15px, 0)', | ||
* }, | ||
* '90%': { | ||
* transform: 'translate3d(0, -4px, 0)', | ||
* } | ||
* }) | ||
* ``` | ||
*/ | ||
interface Animation { | ||
(value: string | CSSRules | ((context: Context) => string)): CSSFactory<CSSAtKeyframes, CSSAtKeyframes | CSSProperties, CSSRules>; | ||
(value: string | CSSRules | ((context: Context) => string), waypoints: CSSAtKeyframes | Directive<string>): Directive<CSSRules>; | ||
} | ||
declare const animation: Animation; | ||
interface Screen { | ||
(size: string): Directive<string>; | ||
(size: string, css: Directive<CSSRules> | MaybeArray<CSSRules | Falsy>): Directive<CSSRules>; | ||
} | ||
declare const screen: Screen; | ||
/** | ||
* [[include:src/style/README.md]] | ||
@@ -555,3 +119,3 @@ * | ||
export { Animation, Apply, BaseStyleProps, CSSAtKeyframes, CSSAtMedia, CSSAtSupports, CSSCustomProperties, CSSFactory, CSSProperties, CSSPseudos, CSSRuleValue, CSSRules, CSSRulesThunk, CSSSimplePseudos, Configuration, Context, DarkMode, DefaultVariants, Directive, DirectiveHandler, Falsy, FontFace, Hasher, InlineDirective, Instance, MaybeArray, MaybeThunk, Mode, MorphVariant, Plugin, Plugins, Prefixer, Preflight, ReportInfo, Rule, Screen, Sheet, SheetConfig, SheetInit, SheetInitCallback, StrictMorphVariant, Style, StyleConfig, StyleFunction, StyleProps, StyleToken, TW, TWCallable, Theme, ThemeColor, ThemeColorObject, ThemeConfiguration, ThemeContainer, ThemeFontSize, ThemeHelper, ThemeOutline, ThemeResolver, ThemeScreen, ThemeScreenValue, ThemeSection, ThemeSectionRecord, ThemeSectionResolver, ThemeSectionResolverContext, ThemeSectionType, Token, TokenGrouping, TypescriptCompat, Unwrap, VariantMatchers, VariantsProps, animation, apply, autoprefix, create, css, cssomSheet, directive, cyrb32 as hash, keyframes, mode, noprefix, screen, setup, silent, strict, style, theme, tw, voidSheet, warn }; | ||
export { BaseStyleProps, DefaultVariants, MorphVariant, StrictMorphVariant, Style, StyleConfig, StyleFunction, StyleProps, StyleToken, VariantMatchers, VariantsProps, style }; | ||
//# sourceMappingURL=style.d.ts.map |
@@ -1,2 +0,2 @@ | ||
import{apply as d,directive as O,hash as P}from"twind";var V=(e,t)=>!!~e.indexOf(t);var w=(e,t=1)=>e.slice(t);var v=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),g=(e,t)=>{for(;typeof e=="function";)e=e(t);return e};var j=(e,t)=>!V("@:&",e[0])&&(V("rg",(typeof t)[5])||Array.isArray(t)),u=(e,t,r)=>t?Object.keys(t).reduce((n,s)=>{let l=g(t[s],r);return j(s,l)?n[v(s)]=l:n[s]=s[0]=="@"&&V("figa",s[1])?(n[s]||[]).concat(l):u(n[s]||{},l,r),n},e):e,N=typeof CSS!="undefined"&&CSS.escape||(e=>{let t=e.charCodeAt(0),r="";return t>=48&&t<=57&&(r="\\"+t.toString(16)+" ",e=w(e)),r+e.replace(/[!./:#]/g,"\\$&")});export*from"twind/css";var $=(e,t)=>e.reduce((r,n)=>(typeof n=="string"&&(n=d(n)),typeof n=="function"?u(r,g(n,t),t):n?u(r,n,t):r),{}),R=(e,t)=>({[e[0]=="@"?e:`@screen ${e}`]:typeof t=="string"?d(t):t}),m=(e={},t)=>{let{base:r,variants:n={},defaults:s,matches:l=[]}=e,x=P(JSON.stringify([t==null?void 0:t.className,r,n,s,l])),T=(t?t.className+" ":"")+x,h=(t||"")+"."+x;return Object.defineProperties(B=>{let{tw:b,css:M,class:C,className:k,...y}={...s,...B},o=[t&&t(y),{_:T+(k?" "+k:"")+(C?" "+C:"")},r];return Object.keys(n).forEach(c=>{let S=n[c],a=y[c];a===Object(a)?Object.keys(a).forEach(i=>{let p=S[a[i]];o.push(i=="initial"?p:R(i,p))}):o.push(S[a])}),l.forEach(c=>{let S=o.push(c.use)-1;Object.keys(c).every(a=>{let i=y[a],p=String(c[a]);return i===Object(i)?(Object.keys(i).forEach(f=>{f!="initial"&&p==String(i[f])&&o.push(R(f,o[S]))}),!0):a=="use"||p==String(i)})||(o.length=S)}),o.push(d(b),M),O($,o)},{toString:{value:()=>h},className:{value:T},selector:{value:h}})},D=(e,t)=>typeof e=="function"?m(t,e):m(e);export{D as style}; | ||
import{apply as d,directive as O,hash as P}from"twind";var f=(e,t)=>!!~e.indexOf(t);var M=(e,t=1)=>e.slice(t);var v=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),g=(e,t)=>{for(;typeof e=="function";)e=e(t);return e};var j=(e,t)=>!f("@:&",e[0])&&(f("rg",(typeof t)[5])||Array.isArray(t)),u=(e,t,r)=>t?Object.keys(t).reduce((n,s)=>{let l=g(t[s],r);return j(s,l)?n[v(s)]=l:n[s]=s[0]=="@"&&f("figa",s[1])?(n[s]||[]).concat(l):u(n[s]||{},l,r),n},e):e,N=typeof CSS!="undefined"&&CSS.escape||(e=>{let t=e.charCodeAt(0),r="";return t>=48&&t<=57&&(r="\\"+t.toString(16)+" ",e=M(e)),r+e.replace(/[!./:#]/g,"\\$&")});export*from"twind/css";var $=(e,t)=>e.reduce((r,n)=>(typeof n=="string"&&(n=d(n)),typeof n=="function"?u(r,g(n,t),t):n?u(r,n,t):r),{}),R=(e,t)=>({[e[0]=="@"?e:`@screen ${e}`]:typeof t=="string"?d(t):t}),m=(e={},t)=>{let{base:r,variants:n={},defaults:s,matches:l=[]}=e,T=P(JSON.stringify([t==null?void 0:t.className,r,n,s,l])),x=(t?t.className+" ":"")+T,h=(t||"")+"."+T;return Object.defineProperties(B=>{let{tw:b,css:w,class:C,className:k,...y}={...s,...B},o=[t&&t(y),{_:x+(k?" "+k:"")+(C?" "+C:"")},r];return Object.keys(n).forEach(c=>{let S=n[c],a=y[c];a===Object(a)?Object.keys(a).forEach(i=>{let p=S[a[i]];o.push(i=="initial"?p:R(i,p))}):o.push(S[a])}),l.forEach(c=>{let S=o.push(c.use)-1;Object.keys(c).every(a=>{let i=y[a],p=String(c[a]);return i===Object(i)?(Object.keys(i).forEach(V=>{V!="initial"&&p==String(i[V])&&o.push(R(V,o[S]))}),!0):a=="use"||p==String(i)})||(o.length=S)}),o.push(d(b),w),O($,o)},{toString:{value:()=>h},className:{value:x},selector:{value:h}})},D=(e,t)=>typeof e=="function"?m(t,e):m(e);export{D as style}; | ||
//# sourceMappingURL=style.js.map |
@@ -1,1 +0,1 @@ | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports,require('twind'),require('twind/css')):typeof define==='function'&&define.amd?define(['exports','twind','twind/css'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twindStyle={},g.twind,g.twindCss));}(this,(function(exports, twind, css){'use strict';var P=Object.prototype.hasOwnProperty;var B=Object.getOwnPropertySymbols,$=Object.prototype.propertyIsEnumerable;var V=Object.assign;var b=(t,e)=>{var r={};for(var n in t)P.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&B)for(var n of B(t))e.indexOf(n)<0&&$.call(t,n)&&(r[n]=t[n]);return r};var g=(t,e)=>!!~t.indexOf(e);var A=t=>t.replace(/[A-Z]/g,"-$&").toLowerCase(),d=(t,e)=>{for(;typeof t=="function";)t=t(e);return t};var N=(t,e)=>!g("@:&",t[0])&&(g("rg",(typeof e)[5])||Array.isArray(e)),u=(t,e,r)=>e?Object.keys(e).reduce((n,s)=>{let l=d(e[s],r);return N(s,l)?n[A(s)]=l:n[s]=s[0]=="@"&&g("figa",s[1])?(n[s]||[]).concat(l):u(n[s]||{},l,r),n},t):t;var F=(t,e)=>t.reduce((r,n)=>(typeof n=="string"&&(n=twind.apply(n)),typeof n=="function"?u(r,d(n,e),e):n?u(r,n,e):r),{}),M=(t,e)=>({[t[0]=="@"?t:`@screen ${t}`]:typeof e=="string"?twind.apply(e):e}),w=(t={},e)=>{let{base:r,variants:n={},defaults:s,matches:l=[]}=t,T=twind.hash(JSON.stringify([e==null?void 0:e.className,r,n,s,l])),h=(e?e.className+" ":"")+T,C=(e||"")+"."+T;return Object.defineProperties(v=>{let m=V(V({},s),v),{tw:j,css:O,class:k,className:R}=m,y=b(m,["tw","css","class","className"]),o=[e&&e(y),{_:h+(R?" "+R:"")+(k?" "+k:"")},r];return Object.keys(n).forEach(c=>{let S=n[c],a=y[c];a===Object(a)?Object.keys(a).forEach(i=>{let p=S[a[i]];o.push(i=="initial"?p:M(i,p));}):o.push(S[a]);}),l.forEach(c=>{let S=o.push(c.use)-1;Object.keys(c).every(a=>{let i=y[a],p=String(c[a]);return i===Object(i)?(Object.keys(i).forEach(f=>{f!="initial"&&p==String(i[f])&&o.push(M(f,o[S]));}),!0):a=="use"||p==String(i)})||(o.length=S);}),o.push(twind.apply(j),O),twind.directive(F,o)},{toString:{value:()=>C},className:{value:h},selector:{value:C}})},z=(t,e)=>typeof t=="function"?w(e,t):w(t);Object.keys(css).forEach(function(k){if(k!=='default')Object.defineProperty(exports,k,{enumerable:true,get:function(){return css[k];}});});exports.style=z;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=style.umd.js.map | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports,require('twind'),require('twind/css')):typeof define==='function'&&define.amd?define(['exports','twind','twind/css'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twindStyle={},g.twind,g.twindCss));}(this,(function(exports, twind, css){'use strict';var P=Object.prototype.hasOwnProperty;var B=Object.getOwnPropertySymbols,$=Object.prototype.propertyIsEnumerable;var f=Object.assign;var b=(t,e)=>{var r={};for(var n in t)P.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&B)for(var n of B(t))e.indexOf(n)<0&&$.call(t,n)&&(r[n]=t[n]);return r};var g=(t,e)=>!!~t.indexOf(e);var A=t=>t.replace(/[A-Z]/g,"-$&").toLowerCase(),d=(t,e)=>{for(;typeof t=="function";)t=t(e);return t};var N=(t,e)=>!g("@:&",t[0])&&(g("rg",(typeof e)[5])||Array.isArray(e)),u=(t,e,r)=>e?Object.keys(e).reduce((n,s)=>{let l=d(e[s],r);return N(s,l)?n[A(s)]=l:n[s]=s[0]=="@"&&g("figa",s[1])?(n[s]||[]).concat(l):u(n[s]||{},l,r),n},t):t;var E=(t,e)=>t.reduce((r,n)=>(typeof n=="string"&&(n=twind.apply(n)),typeof n=="function"?u(r,d(n,e),e):n?u(r,n,e):r),{}),w=(t,e)=>({[t[0]=="@"?t:`@screen ${t}`]:typeof e=="string"?twind.apply(e):e}),M=(t={},e)=>{let{base:r,variants:n={},defaults:s,matches:l=[]}=t,x=twind.hash(JSON.stringify([e==null?void 0:e.className,r,n,s,l])),h=(e?e.className+" ":"")+x,C=(e||"")+"."+x;return Object.defineProperties(v=>{let m=f(f({},s),v),{tw:j,css:O,class:k,className:R}=m,y=b(m,["tw","css","class","className"]),o=[e&&e(y),{_:h+(R?" "+R:"")+(k?" "+k:"")},r];return Object.keys(n).forEach(c=>{let S=n[c],a=y[c];a===Object(a)?Object.keys(a).forEach(i=>{let p=S[a[i]];o.push(i=="initial"?p:w(i,p));}):o.push(S[a]);}),l.forEach(c=>{let S=o.push(c.use)-1;Object.keys(c).every(a=>{let i=y[a],p=String(c[a]);return i===Object(i)?(Object.keys(i).forEach(V=>{V!="initial"&&p==String(i[V])&&o.push(w(V,o[S]));}),!0):a=="use"||p==String(i)})||(o.length=S);}),o.push(twind.apply(j),O),twind.directive(E,o)},{toString:{value:()=>C},className:{value:h},selector:{value:C}})},F=(t,e)=>typeof t=="function"?M(e,t):M(t);Object.keys(css).forEach(function(k){if(k!=='default')Object.defineProperty(exports,k,{enumerable:true,get:function(){return css[k];}});});exports.style=F;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=style.umd.js.map |
202
twind.d.ts
import { PropertiesFallback, PropertiesHyphenFallback, AtRule, SimplePseudos } from 'csstype'; | ||
interface CSSCustomProperties { | ||
'--tw-bg-opacity'?: string; | ||
'--tw-text-opacity'?: string; | ||
'--tw-border-opacity'?: string; | ||
'--tw-divide-opacity'?: string; | ||
'--tw-placeholder-opacity'?: string; | ||
'--tw-shadow'?: string; | ||
'--tw-ring-inset'?: string; | ||
'--tw-ring-color'?: string; | ||
'--tw-ring-opacity'?: string; | ||
'--tw-ring-shadow'?: string; | ||
'--tw-ring-offset-color'?: string; | ||
'--tw-ring-offset-shadow'?: string; | ||
'--tw-ring-offset-width'?: string; | ||
'--tw-gradient-from'?: string; | ||
'--tw-gradient-to'?: string; | ||
'--tw-gradient-stops'?: string; | ||
'--tw-divide-y-reverse'?: string; | ||
'--tw-divide-x-reverse'?: string; | ||
'--tw-space-y-reverse'?: string; | ||
'--tw-space-x-reverse'?: string; | ||
'--tw-translate-x'?: string; | ||
'--tw-translate-y'?: string; | ||
'--tw-rotate'?: string; | ||
'--tw-gradient-stops'?: string; | ||
'--tw-skew-x'?: string; | ||
'--tw-skew-y'?: string; | ||
'--tw-scale-x'?: string; | ||
'--tw-scale-y'?: string; | ||
'--tw-ordinal'?: string; | ||
'--tw-slashed-zero'?: string; | ||
'--tw-numeric-figure'?: string; | ||
'--tw-numeric-spacing'?: string; | ||
'--tw-numeric-fraction'?: string; | ||
} | ||
@@ -11,2 +41,4 @@ interface CSSProperties extends PropertiesFallback<string, string>, PropertiesHyphenFallback<string, string>, CSSCustomProperties { | ||
} | ||
interface CounterStyle extends AtRule.CounterStyleFallback<string, string>, AtRule.CounterStyleHyphenFallback<string, string> { | ||
} | ||
@@ -74,3 +106,3 @@ declare type Falsy = '' | 0 | -0 | false | null | undefined | void; | ||
theme?: ThemeConfiguration; | ||
plugins?: Plugins; | ||
plugins?: Record<string, Plugin | undefined>; | ||
/** | ||
@@ -125,3 +157,2 @@ * ```js | ||
declare type Plugin = string | CSSRules | DirectiveHandler; | ||
declare type Plugins = Record<string, Plugin | undefined>; | ||
interface DirectiveHandler { | ||
@@ -274,2 +305,4 @@ /** | ||
backgroundOpacity: ThemeSection; | ||
backgroundPosition: ThemeSection; | ||
backgroundSize: ThemeSection; | ||
borderColor: ThemeSection<ThemeColor>; | ||
@@ -281,2 +314,3 @@ borderOpacity: ThemeSection; | ||
container: ThemeContainer | ThemeSectionResolver<ThemeContainer>; | ||
cursor: ThemeSection; | ||
divideColor: ThemeSection<ThemeColor>; | ||
@@ -287,2 +321,4 @@ divideOpacity: ThemeSection; | ||
flex: ThemeSection; | ||
flexGrow: ThemeSection<number>; | ||
flexShrink: ThemeSection<number>; | ||
fontFamily: ThemeSection<string | string[]>; | ||
@@ -293,2 +329,8 @@ fontSize: ThemeSection<ThemeFontSize>; | ||
gridTemplateRows: ThemeSection; | ||
gridAutoColumns: ThemeSection; | ||
gridAutoRows: ThemeSection; | ||
gridColumnStart: ThemeSection; | ||
gridRowStart: ThemeSection; | ||
gridColumnEnd: ThemeSection; | ||
gridRowEnd: ThemeSection; | ||
gridColumn: ThemeSection; | ||
@@ -303,2 +345,3 @@ gridRow: ThemeSection; | ||
lineHeight: ThemeSection; | ||
listStyleType: ThemeSection; | ||
margin: ThemeSection; | ||
@@ -309,2 +352,3 @@ maxHeight: ThemeSection; | ||
minWidth: ThemeSection; | ||
objectPosition: ThemeSection; | ||
opacity: ThemeSection; | ||
@@ -329,2 +373,3 @@ order: ThemeSection; | ||
textOpacity: ThemeSection; | ||
transformOrigin: ThemeSection; | ||
transitionDelay: ThemeSection<string | string[]>; | ||
@@ -339,2 +384,151 @@ transitionDuration: ThemeSection<string | string[]>; | ||
declare type InterpolateKind = `theme(${keyof Theme})` | `range(${number},${number},${number})` | 'percentage' | `length` | `length-percentage` | `string` | `number` | `nonzero`; | ||
declare type Interpolate<Kind extends InterpolateKind> = `{{${Kind}}}`; | ||
declare type FromTheme<Section extends keyof Theme> = Interpolate<`theme(${Section})`>; | ||
declare type NonEmptyString = Interpolate<'string'>; | ||
declare type Range<From extends number, To extends number, Step extends number = 1> = Interpolate<`range(${From},${To},${Step})`>; | ||
declare type Negatable<Value extends string> = Value | `-${Value}`; | ||
declare type SimplePseudoClasses = 'active' | 'any-link' | 'autofill' | 'checked' | 'default' | 'disabled' | 'empty' | 'enabled' | 'first-child' | 'first-of-type' | 'focus' | 'focus-visible' | 'focus-within' | 'future' | 'hover' | 'in-range' | 'indeterminate' | 'invalid' | 'last-child' | 'last-of-type' | 'link' | 'local-link' | 'only-child' | 'only-of-type' | 'optional' | 'out-of-range' | 'past' | 'paused' | 'placeholder-shown' | 'playing' | 'read-only' | 'read-write' | 'required' | 'target' | 'target-within' | 'user-invalid' | 'valid' | 'visited'; | ||
declare type SimplePseudoElements = 'after' | 'before' | 'cue' | 'cue-region' | 'file-selector-button' | 'first-letter' | 'first-line' | 'marker' | 'placeholder' | 'selection' | 'target-text'; | ||
declare type CoreVariants = 'dark' | 'sticky' | 'motion-reduce' | 'motion-safe' | 'first' | 'last' | 'even' | 'odd' | 'children' | 'siblings' | 'sibling' | 'override'; | ||
declare type Empty = never | '' | 'DEFAULT'; | ||
declare type Join<Prefix extends string | never, Suffix extends string | never, Separator extends string = '-'> = Suffix extends Empty ? Prefix extends Empty ? never : Prefix : Prefix extends Empty ? Suffix : Prefix extends Suffix ? never : Suffix extends `-${infer S}` ? `-${Prefix}${Separator}${S}` : `${Prefix}${Separator}${Suffix}`; | ||
declare type Corners = 't' | 'r' | 'b' | 'l' | 'tl' | 'tr' | 'bl' | 'br'; | ||
declare type Edges = 'x' | 'y' | 't' | 'r' | 'b' | 'l' | 'tl' | 'tr' | 'tb' | 'bl' | 'br' | 'lr'; | ||
declare type BorderStyle = 'solid' | 'dashed' | 'dotted' | 'double' | 'none'; | ||
interface CorePlugins { | ||
group: '' | NonEmptyString; | ||
container: ''; | ||
box: 'border' | 'content'; | ||
block: ''; | ||
inline: '' | 'block' | 'flex' | 'grid'; | ||
flow: 'root'; | ||
contents: ''; | ||
hidden: ''; | ||
float: 'right' | 'left' | 'none'; | ||
clear: 'right' | 'left' | 'both' | 'none'; | ||
object: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' | Join<'' | 'left' | 'right' | 'center', '' | 'bottom' | 'top' | 'center'> | FromTheme<'objectPosition'>; | ||
overflow: Join<'' | 'x' | 'y', 'auto' | 'hidden' | 'visible' | 'scroll'> | 'ellipsis' | 'clip'; | ||
overscroll: Join<'' | 'x' | 'y', 'auto' | 'contain' | 'none'>; | ||
static: ''; | ||
fixed: ''; | ||
absolute: ''; | ||
relative: ''; | ||
sticky: ''; | ||
inset: Negatable<Join<'' | 'x' | 'y', FromTheme<'inset'>>>; | ||
top: Negatable<FromTheme<'inset'>>; | ||
right: Negatable<FromTheme<'inset'>>; | ||
bottom: Negatable<FromTheme<'inset'>>; | ||
left: Negatable<FromTheme<'inset'>>; | ||
visible: ''; | ||
invisible: ''; | ||
z: Negatable<FromTheme<'zIndex'>>; | ||
flex: '' | 'nowrap' | Join<'row' | 'col' | 'wrap', '' | 'reverse'> | Join<'grow', '' | FromTheme<'flexGrow'> | Interpolate<'number'>> | Join<'shrink', '' | FromTheme<'flexShrink'> | Interpolate<'number'>> | FromTheme<'flex'>; | ||
order: FromTheme<'order'>; | ||
grid: '' | Join<'cols', 'none' | Range<1, 12> | Interpolate<'nonzero'> | FromTheme<'gridTemplateColumns'>> | Join<'rows', 'none' | Range<1, 6> | Interpolate<'nonzero'> | FromTheme<'gridTemplateRows'>> | Join<'flow', Join<'row' | 'col', '' | 'dense'> | 'dense'>; | ||
col: Join<'span', Range<1, 12> | Interpolate<'nonzero'>> | Join<'start', 'auto' | Range<1, 13> | Interpolate<'nonzero'> | FromTheme<'gridColumnStart'>> | Join<'end', 'auto' | Range<1, 13> | Interpolate<'nonzero'> | FromTheme<'gridColumnEnd'>> | FromTheme<'gridColumn'>; | ||
row: Join<'span', Range<1, 12> | Interpolate<'nonzero'>> | Join<'start', 'auto' | Range<1, 13> | Interpolate<'nonzero'> | FromTheme<'gridRowStart'>> | Join<'end', 'auto' | Range<1, 13> | Interpolate<'nonzero'> | FromTheme<'gridRowEnd'>> | FromTheme<'gridRow'>; | ||
auto: Join<'cols', 'auto' | FromTheme<'gridAutoColumns'>> | Join<'rows', 'auto' | FromTheme<'gridAutoRows'>>; | ||
gap: Join<'' | 'x' | 'y', FromTheme<'gap'>>; | ||
justify: 'start' | 'end' | 'center' | 'between' | 'around' | 'evenly' | Join<'items' | 'self', 'auto' | 'start' | 'end' | 'center' | 'stretch'>; | ||
content: 'start' | 'end' | 'center' | 'between' | 'around' | 'evenly'; | ||
items: 'start' | 'end' | 'center' | 'baseline' | 'stretch'; | ||
self: 'auto' | 'start' | 'end' | 'center' | 'stretch'; | ||
place: Join<'content', 'start' | 'end' | 'center' | 'between' | 'around' | 'evenly' | 'stretch'> | Join<'items' | 'self', 'auto' | 'start' | 'end' | 'center' | 'stretch'>; | ||
p: FromTheme<'spacing'>; | ||
py: FromTheme<'spacing'>; | ||
px: FromTheme<'spacing'>; | ||
pt: FromTheme<'spacing'>; | ||
pr: FromTheme<'spacing'>; | ||
pb: FromTheme<'spacing'>; | ||
pl: FromTheme<'spacing'>; | ||
m: Negatable<FromTheme<'spacing'>>; | ||
my: Negatable<FromTheme<'spacing'>>; | ||
mx: Negatable<FromTheme<'spacing'>>; | ||
mt: Negatable<FromTheme<'spacing'>>; | ||
mr: Negatable<FromTheme<'spacing'>>; | ||
mb: Negatable<FromTheme<'spacing'>>; | ||
ml: Negatable<FromTheme<'spacing'>>; | ||
space: Negatable<Join<'x' | 'y', FromTheme<'spacing'>>> | Join<'x' | 'y', 'reverse'>; | ||
w: FromTheme<'width'>; | ||
min: Join<'w', FromTheme<'minWidth'>> | Join<'h', FromTheme<'minHeight'>>; | ||
max: Join<'w', FromTheme<'maxWidth'>> | Join<'h', FromTheme<'maxHeight'>>; | ||
h: FromTheme<'height'>; | ||
font: FromTheme<'fontFamily'> | FromTheme<'fontWeight'>; | ||
text: FromTheme<'fontSize'> | 'left' | 'right' | 'center' | 'justify' | FromTheme<'textColor'> | Join<'opacity', FromTheme<'textOpacity'>>; | ||
antialiased: ''; | ||
'subpixel-antialiased': ''; | ||
italic: ''; | ||
'not-italic': ''; | ||
'normal-nums': ''; | ||
ordinal: ''; | ||
'slashed-zero': ''; | ||
'lining-nums': ''; | ||
'oldstyle-nums': ''; | ||
'proportional-nums': ''; | ||
'tabular-nums': ''; | ||
'diagonal-fractions': ''; | ||
'stacked-fractions': ''; | ||
tracking: FromTheme<'letterSpacing'>; | ||
leading: FromTheme<'lineHeight'>; | ||
list: 'inside' | 'outside' | 'none' | 'disc' | 'circle' | 'sqaure' | 'decimal' | 'decimal-leading-zero' | Join<'lower' | 'upper', 'roman' | 'greek' | 'alpha' | 'latin'> | FromTheme<'listStyleType'>; | ||
placeholder: FromTheme<'placeholderColor'> | Join<'opacity', FromTheme<'placeholderOpacity'>>; | ||
underline: ''; | ||
'no-underline': ''; | ||
'line-through': ''; | ||
uppercase: ''; | ||
lowercase: ''; | ||
capitalize: ''; | ||
'normal-case': ''; | ||
truncate: ''; | ||
align: 'baseline' | 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'sub' | 'super'; | ||
whitespace: 'normal' | 'nowrap' | 'pre' | 'pre-wrap' | 'pre-line' | 'break-spaces'; | ||
break: 'normal' | 'words' | 'all'; | ||
bg: 'fixed' | 'local' | 'scroll' | Join<'clip', 'border' | 'padding' | 'content' | 'text'> | FromTheme<'backgroundColor'> | Join<'opacity', FromTheme<'backgroundOpacity'>> | Join<'' | 'left' | 'right' | 'center', '' | 'bottom' | 'top' | 'center'> | FromTheme<'backgroundPosition'> | 'no-repeat' | Join<'repeat', '' | 'x' | 'y' | 'round' | 'space'> | Join<'gradient-to', Corners> | FromTheme<'backgroundImage'> | FromTheme<'backgroundSize'>; | ||
from: FromTheme<'gradientColorStops'>; | ||
via: FromTheme<'gradientColorStops'>; | ||
to: FromTheme<'gradientColorStops'>; | ||
rounded: Join<'' | Corners, FromTheme<'borderRadius'>>; | ||
border: Join<'' | Edges, FromTheme<'borderWidth'>> | FromTheme<'borderColor'> | Join<'opacity', FromTheme<'borderOpacity'>> | BorderStyle | 'collapse' | 'separate'; | ||
divide: Join<'x' | 'y', 'reverse' | FromTheme<'divideWidth'>> | FromTheme<'divideColor'> | Join<'opacity', FromTheme<'divideOpacity'>> | BorderStyle; | ||
ring: 'inset' | FromTheme<'ringWidth'> | FromTheme<'ringColor'> | Join<'opacity', FromTheme<'ringOpacity'>> | Join<'offset', FromTheme<'ringOffsetWidth'> | FromTheme<'ringOffsetColor'> | Join<'opacity', FromTheme<'ringOffsetWidth'>>>; | ||
shadow: FromTheme<'boxShadow'>; | ||
opacity: FromTheme<'opacity'>; | ||
table: '' | 'caption' | 'cell' | 'column' | Join<'column' | 'footer' | 'header' | 'row', 'group'> | 'row' | 'auto' | 'fixed'; | ||
transition: FromTheme<'transitionProperty'>; | ||
duration: FromTheme<'durations'>; | ||
ease: FromTheme<'transitionTimingFunction'>; | ||
delay: FromTheme<'transitionDelay'>; | ||
animate: FromTheme<'animation'>; | ||
transform: '' | 'gpu' | 'none'; | ||
origin: 'center' | Join<'' | 'top' | 'bottom', '' | 'right' | 'left'>; | ||
scale: FromTheme<'scale'>; | ||
rotate: FromTheme<'rotate'>; | ||
translate: FromTheme<'translate'>; | ||
skew: FromTheme<'skew'>; | ||
appearance: 'none' | 'auto' | 'menulist-button' | 'textfield'; | ||
cursor: FromTheme<'cursor'> | 'auto' | 'default' | 'pointer' | 'wait' | 'text' | 'move' | 'help' | 'not-allowed' | 'none' | 'context-menu' | 'progress' | 'cell' | 'crosshair' | 'vertical-text' | 'alias' | 'copy' | 'no-drop' | 'e-resize' | 'n-resize' | 'ne-resize' | 'nw-resize' | 's-resize' | 'se-resize' | 'sw-resize' | 'w-resize' | 'ew-resize' | 'ns-resize' | 'nesw-resize' | 'nwse-resize' | 'col-resize' | 'row-resize' | 'all-scroll' | 'zoom-in' | 'zoom-out' | 'grab' | 'grabbing'; | ||
outline: FromTheme<'outline'>; | ||
'pointer-events': 'auto' | 'none'; | ||
resize: 'none' | 'x' | 'y' | ''; | ||
select: 'none' | 'auto' | 'text' | 'contain' | 'all'; | ||
fill: FromTheme<'fill'>; | ||
stroke: FromTheme<'stroke'> | FromTheme<'strokeWidth'>; | ||
'sr-only': ''; | ||
'not-sr-only': ''; | ||
} | ||
declare type ToString<T> = T extends string ? T : T extends number ? `${T}` : never; | ||
declare type JoinFromObject<T, Separator extends string = '-'> = { | ||
[P in keyof T]: Join<ToString<P>, ToString<T[P]>, Separator>; | ||
}[keyof T]; | ||
/** For adding additional variants */ | ||
interface Variants { | ||
} | ||
/** For adding additional plugins */ | ||
interface Plugins { | ||
} | ||
declare type CompletionTokens = `${FromTheme<'screens'>}:` | `${SimplePseudoClasses}:` | `${SimplePseudoElements}::` | `${CoreVariants}:` | { | ||
[K in keyof Variants]: `${ToString<K>}:`; | ||
}[keyof Variants] | JoinFromObject<CorePlugins & Plugins>; | ||
interface Apply { | ||
@@ -383,3 +577,3 @@ (strings: TemplateStringsArray, ...interpolations: Token[]): Directive<CSSRules>; | ||
export { Apply, CSSAtKeyframes, CSSAtMedia, CSSAtSupports, CSSCustomProperties, CSSProperties, CSSPseudos, CSSRuleValue, CSSRules, CSSRulesThunk, CSSSimplePseudos, Configuration, Context, DarkMode, Directive, DirectiveHandler, Falsy, FontFace, Hasher, InlineDirective, Instance, MaybeArray, MaybeThunk, Mode, Plugin, Plugins, Prefixer, Preflight, ReportInfo, Rule, Sheet, SheetConfig, SheetInit, SheetInitCallback, TW, TWCallable, Theme, ThemeColor, ThemeColorObject, ThemeConfiguration, ThemeContainer, ThemeFontSize, ThemeHelper, ThemeOutline, ThemeResolver, ThemeScreen, ThemeScreenValue, ThemeSection, ThemeSectionRecord, ThemeSectionResolver, ThemeSectionResolverContext, ThemeSectionType, Token, TokenGrouping, TypescriptCompat, Unwrap, apply, autoprefix, create, cssomSheet, directive, cyrb32 as hash, mode, noprefix, setup, silent, strict, theme, tw, voidSheet, warn }; | ||
export { Apply, BorderStyle, CSSAtKeyframes, CSSAtMedia, CSSAtSupports, CSSCustomProperties, CSSProperties, CSSPseudos, CSSRuleValue, CSSRules, CSSRulesThunk, CSSSimplePseudos, CompletionTokens, Configuration, Context, CorePlugins, CoreVariants, Corners, CounterStyle, DarkMode, Directive, DirectiveHandler, Edges, Empty, Falsy, FontFace, FromTheme, Hasher, InlineDirective, Instance, Interpolate, InterpolateKind, Join, JoinFromObject, MaybeArray, MaybeThunk, Mode, Negatable, NonEmptyString, Plugin, Plugins, Prefixer, Preflight, Range, ReportInfo, Rule, Sheet, SheetConfig, SheetInit, SheetInitCallback, SimplePseudoClasses, SimplePseudoElements, TW, TWCallable, Theme, ThemeColor, ThemeColorObject, ThemeConfiguration, ThemeContainer, ThemeFontSize, ThemeHelper, ThemeOutline, ThemeResolver, ThemeScreen, ThemeScreenValue, ThemeSection, ThemeSectionRecord, ThemeSectionResolver, ThemeSectionResolverContext, ThemeSectionType, ToString, Token, TokenGrouping, TypescriptCompat, Unwrap, Variants, apply, autoprefix, create, cssomSheet, directive, cyrb32 as hash, mode, noprefix, setup, silent, strict, theme, tw, voidSheet, warn }; | ||
//# sourceMappingURL=twind.d.ts.map |
@@ -1,3 +0,3 @@ | ||
var b=(e,t)=>!!~e.indexOf(t),g=(e,t="-")=>e.join(t),X=(e,t)=>g(e.filter(Boolean),t),d=(e,t=1)=>e.slice(t),Le=e=>e,de=()=>{},ue=e=>e[0].toUpperCase()+d(e),Ce=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),M=(e,t)=>{for(;typeof e=="function";)e=e(t);return e},ge=(e,t)=>{e.size>t&&e.delete(e.keys().next().value)},Te=(e,t)=>!b("@:&",e[0])&&(b("rg",(typeof t)[5])||Array.isArray(t)),q=(e,t,n)=>t?Object.keys(t).reduce((r,i)=>{let o=M(t[i],n);return Te(i,o)?r[Ce(i)]=o:r[i]=i[0]=="@"&&b("figa",i[1])?(r[i]||[]).concat(o):q(r[i]||{},o,n),r},e):e,fe=typeof CSS!="undefined"&&CSS.escape||(e=>{let t=e.charCodeAt(0),n="";return t>=48&&t<=57&&(n="\\"+t.toString(16)+" ",e=d(e)),n+e.replace(/[!./:#]/g,"\\$&")}),j=e=>(Array.isArray(e)||(e=[e]),"@media "+g(e.map(t=>(typeof t=="string"&&(t={min:t}),t.raw||g(Object.keys(t).map(n=>`(${n}-width:${t[n]})`)," and "))),",")),Z=e=>{let t=9;for(let n=e.length;n--;)t=Math.imul(t^e.charCodeAt(n),1597334677);return"tw-"+((t^t>>>9)>>>0).toString(36)},Ve=(e,t)=>{let n=e.length;if(n==0)return 0;for(let r=0;r<n;){let i=n+r>>1;e[i]<=t?r=i+1:n=i}return n};var I,K,U=(e="")=>(I.push(e),""),Re=e=>{I.length=Math.max(I.lastIndexOf("")+~~e,0)},wt=e=>e&&e[0]!=":",Ct=e=>e[0]==":",Be=(e,t,n)=>{K.push({v:I.filter(Ct),d:e,n:t,i:n,$:""})},Ge=e=>{let t=e[0]=="-";t&&(e=d(e));let n=e[e.length-1]=="!";n&&(e=e.slice(0,-1));let r=g(I.filter(wt));return Be(e=="&"?r:(r&&r+"-")+e,t,n),""},ee=(e,t)=>{let n,r="";for(let i=0;i<e.length;)switch(n=e[i++]){case":":r=r&&U(":"+(e[i]==n?e[i++]:"")+r);break;case"(":r=r&&U(r),U();break;case")":case" ":case" ":case` | ||
`:case"\r":r=r&&Ge(r),Re(n!==")");break;default:r+=n}r&&(t?U(":"+r):r.slice(-1)=="-"?U(r.slice(0,-1)):Ge(r))},Ye=e=>{U(),pe(e),Re()},Tt=(e,t)=>{if(t){U();let n=b("tbu",(typeof t)[1]);ee(e,n),n&&Ye(t),Re()}},pe=e=>{switch(typeof e){case"string":ee(e);break;case"function":Be(e);break;case"object":Array.isArray(e)?e.forEach(Ye):e&&Object.keys(e).forEach(t=>{Tt(t,e[t])})}},Ke=new WeakMap,Rt=e=>{let t=Ke.get(e);if(!t){let n=NaN,r="";t=e.map((i,o)=>{if(n!==n&&b(":-(",(e[o+1]||"")[0])&&(n=o),o>=n)return f=>{o==n&&(r=""),r+=i,typeof f=="string"?r+=f:f&&(ee(r),r="",pe(f)),o==e.length-1&&ee(r)};let l=K=[];ee(i);let c=[...I];return K=[],f=>{K.push(...l),I=[...c],f&&pe(f)}}),Ke.set(e,t)}return t},te=e=>(I=[],K=[],Array.isArray(e[0])&&Array.isArray(e[0].raw)?Rt(e[0]).forEach((t,n)=>t(e[n+1])):pe(e),K);var ve,vt=(e,t)=>(typeof t=="function"&&(ve=!1),t),kt=e=>{ve=!0;let t=JSON.stringify(e,vt);return ve&&t},Je=new WeakMap,ne=(e,t)=>{let n=kt(t),r;if(n){var i=Je.get(e);i||Je.set(e,i=new Map),r=i.get(n)}return r||(r=Object.defineProperty((o,l)=>(l=Array.isArray(o)?l:o,M(e(t,l),l)),"toJSON",{value:()=>n||t}),i&&(i.set(n,r),ge(i,1e4))),r};var $t=(e,{css:t})=>t(te(e)),ke=(...e)=>ne($t,e);var Qe=e=>(t,n,r,i)=>{if(t){let o=n&&e(n);if(o&&o.length>0)return o.reduce((l,c)=>(l[X([r,c,i])]=t,l),{})}},Xe=Qe(e=>({t:["top-left","top-right"],r:["top-right","bottom-right"],b:["bottom-left","bottom-right"],l:["bottom-left","top-left"],tl:["top-left"],tr:["top-right"],bl:["bottom-left"],br:["bottom-right"]})[e]),re=e=>{let t=({x:"lr",y:"tb"}[e]||e||"").split("").sort();for(let n=t.length;n--;)if(!(t[n]={t:"top",r:"right",b:"bottom",l:"left"}[t[n]]))return;if(t.length)return t},me=Qe(re);var s,L,x,oe=e=>(t,n,r)=>({[e]:r+((s=g(t))&&"-"+s)}),h=(e,t)=>(n,r,i)=>({[e||i]:g(n,t)}),R=e=>(t,{theme:n},r)=>({[e||r]:n(e||r,t)}),z=(e,t)=>(n,r)=>e(n,r,t),H=oe("display"),ie=oe("position"),J=oe("textTransform"),Q=oe("textDecoration"),he=oe("fontStyle"),_=e=>(t,n,r)=>({["--tw-"+e]:r,fontVariantNumeric:"var(--tw-ordinal,/*!*/ /*!*/) var(--tw-slashed-zero,/*!*/ /*!*/) var(--tw-numeric-figure,/*!*/ /*!*/) var(--tw-numeric-spacing,/*!*/ /*!*/) var(--tw-numeric-fraction,/*!*/ /*!*/)"}),be=(e,{theme:t},n)=>({[n]:t("inset",e)}),se=(e,t,n,r=n)=>({[`--tw-${n}-opacity`]:t(r+"Opacity",d(e))}),$e=(e,t)=>Math.round(parseInt(e,16)*t),xe=(e,t,n)=>e&&e[0]=="#"?`rgba(${$e(e.substr(1,s=(e.length-1)/3),x=[17,1,.062272][s-1])},${$e(e.substr(1+s,s),x)},${$e(e.substr(1+2*s,s),x)},${t?`var(--tw-${t}${n?","+n:""})`:n||1})`:e,ye=(e,t,n)=>n&&(s=xe(n,t+"-opacity"))&&s!==n?{[`--tw-${t}-opacity`]:"1",[e]:[n,s]}:{[e]:n},qe=e=>(x=xe(e,"","0"))==s?"transparent":x,Ze=(e,{theme:t},n,r,i,o)=>(s={x:["right","left"],y:["bottom","top"]}[e[0]])&&(x=`--tw-${n}-${e[0]}-reverse`)?e[1]=="reverse"?{[x]:"1"}:{[x]:"0",[X([i,s[0],o])]:(L=t(r,d(e)))&&`calc(${L} * var(${x}))`,[X([i,s[1],o])]:L&&[L,`calc(${L} * calc(1 - var(${x})))`]}:void 0,et=(e,t)=>({[e]:t[0]&&(b("wun",(t[0]||"")[3])?"space-":"")+t[0]}),Ae=e=>t=>b(["start","end"],t[0])?{[e]:`flex-${t[0]}`}:et(e,t),tt=e=>(t,{theme:n})=>{if(s=n(`grid${ue(e)}`,t,""))return{[`grid-${e}`]:s};switch(t[0]){case"auto":return{[`grid-${e}`]:"auto"};case"span":return{[`grid-${e}`]:t[1]=="full"?"1 / -1":t[1]&&`span ${t[1]} / span ${t[1]}`};case"start":case"end":return{[`grid-${e}-${t[0]}`]:t[1]}}},nt=(e,{theme:t},n)=>{switch(e[0]){case"solid":case"dashed":case"dotted":case"double":case"none":return h("borderStyle")(e);case"collapse":case"separate":return h("borderCollapse")(e);case"opacity":return se(e,t,n)}return(s=t(n+"Width",e,""))?{borderWidth:s}:ye("borderColor",n,t(n+"Color",e))},Pe=e=>(e?"translate3d(var(--tw-translate-x,0),var(--tw-translate-y,0),0)":"translateX(var(--tw-translate-x,0)) translateY(var(--tw-translate-y,0))")+" rotate(var(--tw-rotate,0)) skewX(var(--tw-skew-x,0)) skewY(var(--tw-skew-y,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1))",Ee=(e,t,n)=>e[0]&&(s=t.theme(n,e[1]||e[0]))&&{[`--tw-${n}-x`]:e[0]!=="y"&&s,[`--tw-${n}-y`]:e[0]!=="x"&&s,transform:[`${n}${e[1]?e[0].toUpperCase():""}(${s})`,Pe()]},rt=e=>(t,n,r)=>r[1]?me(n.theme(e,t),r[1],e):R(e)(t,n,r),V=rt("padding"),B=rt("margin"),ot=(e,{theme:t},n)=>(s={w:"width",h:"height"}[e[0]])&&{[s=`${n}${ue(s)}`]:t(s,d(e))},it={group:(e,{tag:t},n)=>t(g([n,...e])),hidden:z(H,"none"),inline:H,block:H,contents:H,flow:H,table:(e,t,n)=>b(["auto","fixed"],e[0])?{tableLayout:e[0]}:H(e,t,n),flex(e,t,n){switch(e[0]){case"row":case"col":return{flexDirection:g(e[0]=="col"?["column",...d(e)]:e)};case"nowrap":case"wrap":return{flexWrap:g(e)};case"grow":case"shrink":return{[`flex-${e[0]}`]:e[1]||"1"}}return(s=t.theme("flex",e,""))?{flex:s}:H(e,t,n)},grid(e,t,n){switch(e[0]){case"cols":case"rows":return e.length>1&&{[`grid-template-${e[0]=="cols"?"columns":e[0]}`]:e.length==2&&Number(e[1])?`repeat(${e[1]},minmax(0,1fr))`:t.theme(`gridTemplate${ue(e[0]=="cols"?"columns":e[0])}`,d(e),g(d(e)," "))};case"flow":return e.length>1&&{gridAutoFlow:g(e[1]=="col"?["column",...d(e,2)]:d(e)," ")}}return H(e,t,n)},auto:e=>b(["cols","rows"],e[0])&&(s=e.length==2?{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0,1fr)"}[e[1]]||`minmax(0,${e[1]})`:e.length>2&&`minmax(${g(d(e),",")})`)&&{[`grid-auto-${e[0]=="cols"?"columns":"rows"}`]:s},static:ie,fixed:ie,absolute:ie,relative:ie,sticky:ie,visible:{visibility:"visible"},invisible:{visibility:"hidden"},antialiased:{WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"},"subpixel-antialiased":{WebkitFontSmoothing:"auto",MozOsxFontSmoothing:"auto"},truncate:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},"sr-only":{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(0,0,0,0)",borderWidth:"0"},"not-sr-only":{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal",clip:"auto"},resize:e=>({resize:{x:"vertical",y:"horizontal"}[e[0]]||e[0]||"both"}),box:e=>({"box-sizing":e[0]&&`${e[0]}-box`}),appearance:h(),cursor:h(),float:h(),clear:h(),top:be,right:be,bottom:be,left:be,inset:(e,{theme:t})=>(s=re(e[0]))?me(t("inset",d(e)),e[0]):(s=t("inset",e))&&{top:s,right:s,bottom:s,left:s},underline:Q,"line-through":Q,"no-underline":z(Q,"none"),"text-underline":z(Q,"underline"),"text-no-underline":z(Q,"none"),"text-line-through":z(Q,"line-through"),uppercase:J,lowercase:J,capitalize:J,"normal-case":z(J,"none"),"text-normal-case":z(J,"none"),italic:he,"not-italic":z(he,"normal"),"font-italic":z(he,"italic"),"font-not-italic":z(he,"normal"),font:(e,t,n)=>(s=t.theme("fontFamily",e,""))?{fontFamily:s}:R("fontWeight")(e,t,n),items:e=>({alignItems:b(["start","end"],e[0])?`flex-${e[0]}`:g(e)}),"justify-self":h(),"justify-items":h(),justify:Ae("justifyContent"),content:Ae("alignContent"),self:Ae("alignSelf"),place:e=>et("place-"+e[0],d(e)),overscroll:e=>({["overscrollBehavior"+(e[1]?"-"+e[0]:"")]:e[1]||e[0]}),col:tt("column"),row:tt("row"),duration:R("transitionDuration"),delay:R("transitionDelay"),tracking:R("letterSpacing"),leading:R("lineHeight"),z:R("zIndex"),opacity:R(),ease:R("transitionTimingFunction"),p:V,py:V,px:V,pt:V,pr:V,pb:V,pl:V,m:B,my:B,mx:B,mt:B,mr:B,mb:B,ml:B,w:R("width"),h:R("height"),min:ot,max:ot,fill:R(),order:R(),origin:h("transformOrigin"," "),select:h("userSelect"),"pointer-events":h(),align:h("verticalAlign"),whitespace:h("whiteSpace"),"normal-nums":{fontVariantNumeric:"normal"},ordinal:_("ordinal"),"slashed-zero":_("slashed-zero"),"lining-nums":_("numeric-figure"),"oldstyle-nums":_("numeric-figure"),"proportional-nums":_("numeric-spacing"),"tabular-nums":_("numeric-spacing"),"diagonal-fractions":_("numeric-fraction"),"stacked-fractions":_("numeric-fraction"),overflow:(e,t,n)=>b(["ellipsis","clip"],e[0])?h("textOverflow")(e):e[1]?{[`overflow-${e[0]}`]:e[1]}:h()(e,t,n),transform:e=>e[0]=="none"?{transform:"none"}:{"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1",transform:Pe(e[0]=="gpu")},rotate:(e,{theme:t})=>(s=t("rotate",e))&&{"--tw-rotate":s,transform:[`rotate(${s})`,Pe()]},scale:Ee,translate:Ee,skew:Ee,gap:(e,t,n)=>(s={x:"column",y:"row"}[e[0]])?{[s+"Gap"]:t.theme("gap",d(e))}:R("gap")(e,t,n),stroke:(e,t,n)=>(s=t.theme("stroke",e,""))?{stroke:s}:R("strokeWidth")(e,t,n),outline:(e,{theme:t})=>(s=t("outline",e))&&{outline:s[0],outlineOffset:s[1]},break(e){switch(e[0]){case"normal":return{wordBreak:"normal",overflowWrap:"normal"};case"words":return{overflowWrap:"break-word"};case"all":return{wordBreak:"break-all"}}},text(e,{theme:t},n){switch(e[0]){case"left":case"center":case"right":case"justify":return{textAlign:e[0]};case"uppercase":case"lowercase":case"capitalize":return J([],s,e[0]);case"opacity":return se(e,t,n)}let r=t("fontSize",e,"");return r?typeof r=="string"?{fontSize:r}:{fontSize:r[0],...typeof r[1]=="string"?{lineHeight:r[1]}:r[1]}:ye("color","text",t("textColor",e))},bg(e,{theme:t},n){switch(e[0]){case"fixed":case"local":case"scroll":return h("backgroundAttachment",",")(e);case"bottom":case"center":case"left":case"right":case"top":return h("backgroundPosition"," ")(e);case"no":return e[1]=="repeat"&&h("backgroundRepeat")(e);case"auto":case"cover":case"contain":return h("backgroundSize")(e);case"repeat":return b("xy",e[1])?h("backgroundRepeat")(e):{"background-repeat":e[1]||e[0]};case"opacity":return se(e,t,n,"background");case"clip":return{backgroundClip:e[1]+(e[1]=="text"?"":"-box")};case"gradient":if(e[1]=="to"&&(s=re(e[2])))return{backgroundImage:`linear-gradient(to ${g(s," ")},var(--tw-gradient-stops))`}}return(s=t("backgroundImage",e,""))?{backgroundImage:s}:ye("backgroundColor","bg",t("backgroundColor",e))},from:(e,{theme:t})=>(s=t("gradientColorStops",e))&&{"--tw-gradient-from":s,"--tw-gradient-stops":`var(--tw-gradient-from),var(--tw-gradient-to,${qe(s)})`},via:(e,{theme:t})=>(s=t("gradientColorStops",e))&&{"--tw-gradient-stops":`var(--tw-gradient-from),${s},var(--tw-gradient-to,${qe(s)})`},to:(e,{theme:t})=>({"--tw-gradient-to":t("gradientColorStops",e)}),border:(e,t,n)=>re(e[0])?me(t.theme("borderWidth",d(e)),e[0],"border","width"):nt(e,t,n),divide:(e,t,n)=>(s=Ze(e,t,n,"divideWidth","border","width")||nt(e,t,n))&&{"&>:not([hidden])~:not([hidden])":s},space:(e,t,n)=>(s=Ze(e,t,n,"space","margin"))&&{"&>:not([hidden])~:not([hidden])":s},placeholder:(e,{theme:t},n)=>(s=e[0]=="opacity"?se(e,t,n):ye("color","placeholder",t("placeholderColor",e)))&&{"&::placeholder":s},shadow:(e,{theme:t})=>(s=t("boxShadow",e))&&{":global":{"*":{"--tw-shadow":"0 0 transparent"}},"--tw-shadow":s=="none"?"0 0 transparent":s,boxShadow:[s,"var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)"]},animate:(e,{theme:t,tag:n})=>{if(x=t("animation",e)){let r=x.split(" ");return(s=t("keyframes",r[0],L={}))!==L?(x=n(r[0]))&&{animation:x+" "+g(d(r)," "),["@keyframes "+x]:s}:{animation:x}}},ring(e,{theme:t},n){switch(e[0]){case"inset":return{"--tw-ring-inset":"inset"};case"opacity":return se(e,t,n);case"offset":return(s=t("ringOffsetWidth",d(e),""))?{"--tw-ring-offset-width":s}:{"--tw-ring-offset-color":t("ringOffsetColor",d(e))}}return(s=t("ringWidth",e,""))?{"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${s} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,"box-shadow":"var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)",":global":{"*":{"--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":t("ringOffsetWidth","","0px"),"--tw-ring-offset-color":t("ringOffsetColor","","#fff"),"--tw-ring-color":xe(t("ringColor","","#93c5fd"),"ring-opacity",t("ringOpacity","","0.5")),"--tw-ring-offset-shadow":"0 0 transparent","--tw-ring-shadow":"0 0 transparent"}}}:{"--tw-ring-opacity":"1","--tw-ring-color":xe(t("ringColor",e),"ring-opacity")}},object:e=>b(["contain","cover","fill","none","scale"],e[0])?h("objectFit")(e):h("objectPosition"," ")(e),list:e=>h(b(["inside","outside"],e[0])?"listStylePosition":"listStyleType")(e),rounded:(e,t,n)=>Xe(t.theme("borderRadius",d(e),""),e[0],"border","radius")||R("borderRadius")(e,t,n),"transition-none":{"transition-property":"none"},transition:(e,{theme:t})=>({transitionProperty:t("transitionProperty",e),transitionTimingFunction:t("transitionTimingFunction",""),transitionDuration:t("transitionDuration","")}),container:(e,{theme:t})=>{let{screens:n=t("screens"),center:r,padding:i}=t("container"),o=l=>(s=i&&(typeof i=="string"?i:i[l]||i.DEFAULT))?{paddingRight:s,paddingLeft:s}:{};return Object.keys(n).reduce((l,c)=>((x=n[c])&&typeof x=="string"&&(l[j(x)]={"&":{"max-width":x,...o(c)}}),l),{width:"100%",...r?{marginRight:"auto",marginLeft:"auto"}:{},...o("xs")})}};var st=e=>({":root":{tabSize:4},"body,blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre,fieldset,ol,ul":{margin:"0"},button:{backgroundColor:"transparent",backgroundImage:"none"},'button,[type="button"],[type="reset"],[type="submit"]':{WebkitAppearance:"button"},"button:focus":{outline:["1px dotted","5px auto -webkit-focus-ring-color"]},"fieldset,ol,ul,legend":{padding:"0"},"ol,ul":{listStyle:"none"},html:{lineHeight:"1.5",WebkitTextSizeAdjust:"100%",fontFamily:e("fontFamily.sans","ui-sans-serif,system-ui,sans-serif")},body:{fontFamily:"inherit",lineHeight:"inherit"},"*,::before,::after":{boxSizing:"border-box",border:`0 solid ${e("borderColor.DEFAULT","currentColor")}`},hr:{height:"0",color:"inherit",borderTopWidth:"1px"},img:{borderStyle:"solid"},textarea:{resize:"vertical"},"input::placeholder,textarea::placeholder":{opacity:"1",color:e("placeholderColor.DEFAULT",e("colors.gray.400","#a1a1aa"))},'button,[role="button"]':{cursor:"pointer"},table:{textIndent:"0",borderColor:"inherit",borderCollapse:"collapse"},"h1,h2,h3,h4,h5,h6":{fontSize:"inherit",fontWeight:"inherit"},a:{color:"inherit",textDecoration:"inherit"},"button,input,optgroup,select,textarea":{fontFamily:"inherit",fontSize:"100%",margin:"0",padding:"0",lineHeight:"inherit",color:"inherit"},"button,select":{textTransform:"none"},"::-moz-focus-inner":{borderStyle:"none",padding:"0"},":-moz-focusring":{outline:"1px dotted ButtonText"},":-moz-ui-invalid":{boxShadow:"none"},progress:{verticalAlign:"baseline"},"::-webkit-inner-spin-button,::-webkit-outer-spin-button":{height:"auto"},'[type="search"]':{WebkitAppearance:"textfield",outlineOffset:"-2px"},"::-webkit-search-decoration":{WebkitAppearance:"none"},"::-webkit-file-upload-button":{WebkitAppearance:"button",font:"inherit"},summary:{display:"list-item"},"abbr[title]":{textDecoration:"underline dotted"},"b,strong":{fontWeight:"bolder"},"pre,code,kbd,samp":{fontFamily:e("fontFamily","mono","ui-monospace,monospace"),fontSize:"1em"},"sub,sup":{fontSize:"75%",lineHeight:"0",position:"relative",verticalAlign:"baseline"},sub:{bottom:"-0.25em"},sup:{top:"-0.5em"},"img,svg,video,canvas,audio,iframe,embed,object":{display:"block",verticalAlign:"middle"},"img,video":{maxWidth:"100%",height:"auto"}});var at={dark:"@media (prefers-color-scheme:dark)",sticky:"@supports ((position: -webkit-sticky) or (position:sticky))","motion-reduce":"@media (prefers-reduced-motion:reduce)","motion-safe":"@media (prefers-reduced-motion:no-preference)",first:"&:first-child",last:"&:last-child",even:"&:nth-child(2n)",odd:"&:nth-child(odd)",children:"&>*",siblings:"&~*",sibling:"&+*",override:"&&"};var lt="__twind",ct=e=>{let t=self[lt];return t||(t=document.head.appendChild(document.createElement("style")),t.id=lt,e&&(t.nonce=e),t.appendChild(document.createTextNode(""))),t};var Fe=({nonce:e,target:t=ct(e).sheet}={})=>{let n=t.cssRules.length;return{target:t,insert:(r,i)=>t.insertRule(r,n+i)}},Me=()=>({target:null,insert:de});var Se=e=>({unknown(t,n=[],r,i){r||this.report({id:"UNKNOWN_THEME_VALUE",key:g([t,...n],".")},i)},report({id:t,...n}){let r=`[${t}] ${JSON.stringify(n)}`,i=(new Error(r).stack||r).split("at ");for(let o;(o=i.splice(1,1)[0])&&!/(^|\.)(tw|setup) /.test(o););return e(i.join("at "))}}),we=Se(e=>console.warn(e)),ze=Se(e=>{throw new Error(e)}),De=Se(de);import{cssPropertyAlias as At,cssPropertyPrefixFlags as Pt,cssValuePrefixFlags as Et}from"style-vendorizer";var E=(e,t,n)=>`${e}:${t}${n?" !important":""}`,Oe=(e,t,n)=>{let r="",i=At(e);i&&(r+=`${E(i,t,n)};`);let o=Pt(e);return o&1&&(r+=`-webkit-${E(e,t,n)};`),o&2&&(r+=`-moz-${E(e,t,n)};`),o&4&&(r+=`-ms-${E(e,t,n)};`),o=Et(e,t),o&1&&(r+=`${E(e,`-webkit-${t}`,n)};`),o&2&&(r+=`${E(e,`-moz-${t}`,n)};`),o&4&&(r+=`${E(e,`-ms-${t}`,n)};`),r+=E(e,t,n),r};var ae=(e,t)=>{let n={};do for(let r=1;r<e;r++)n[`${r}/${e}`]=Number((r/e*100).toFixed(6))+"%";while(++e<=t);return n},N=(e,t,n=0)=>{let r={};for(;n<=e;n=n*2||1)r[n]=n+t;return r},W=(e,t="",n=1,r=0,i=1)=>{let o={};for(;r<=e;r+=i)o[r]=r/n+t;return o},v=e=>t=>t(e),Ft=(e,{theme:t})=>t(...e),Mt=(...e)=>ne(Ft,e),zt={screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},colors:{transparent:"transparent",current:"currentColor",black:"#000",white:"#fff",gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},yellow:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},green:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"},purple:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"}},spacing:{px:"1px",0:"0px",...W(4,"rem",4,.5,.5),...W(12,"rem",4,5),14:"3.5rem",...W(64,"rem",4,16,4),72:"18rem",80:"20rem",96:"24rem"},durations:{75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},backgroundColor:v("colors"),backgroundImage:{none:"none"},backgroundOpacity:v("opacity"),borderColor:e=>({...e("colors"),DEFAULT:e("colors.gray.200","currentColor")}),borderOpacity:v("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderWidth:{DEFAULT:"1px",...N(8,"px")},boxShadow:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",DEFAULT:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",inner:"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)",none:"none"},container:{},divideColor:v("borderColor"),divideOpacity:v("borderOpacity"),divideWidth:v("borderWidth"),fill:{current:"currentColor"},flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},fontFamily:{sans:'ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"'.split(","),serif:'ui-serif,Georgia,Cambria,"Times New Roman",Times,serif'.split(","),mono:'ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'.split(",")},fontSize:{xs:["0.75rem","1rem"],sm:["0.875rem","1.25rem"],base:["1rem","1.5rem"],lg:["1.125rem","1.75rem"],xl:["1.25rem","1.75rem"],"2xl":["1.5rem","2rem"],"3xl":["1.875rem","2.25rem"],"4xl":["2.25rem","2.5rem"],"5xl":["3rem","1"],"6xl":["3.75rem","1"],"7xl":["4.5rem","1"],"8xl":["6rem","1"],"9xl":["8rem","1"]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gridTemplateColumns:{},gridTemplateRows:{},gridColumn:{},gridRow:{},gap:v("spacing"),gradientColorStops:v("colors"),height:e=>({auto:"auto",...e("spacing"),...ae(2,6),full:"100%",screen:"100vh"}),inset:e=>({auto:"auto",...e("spacing"),...ae(2,4),full:"100%"}),keyframes:{spin:{from:{transform:"rotate(0deg)"},to:{transform:"rotate(360deg)"}},ping:{"0%":{transform:"scale(1)",opacity:"1"},"75%,100%":{transform:"scale(2)",opacity:"0"}},pulse:{"0%,100%":{opacity:"1"},"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",...W(10,"rem",4,3)},margin:e=>({auto:"auto",...e("spacing")}),maxHeight:e=>({...e("spacing"),full:"100%",screen:"100vh"}),maxWidth:(e,{breakpoints:t})=>({none:"none",0:"0rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",prose:"65ch",...t(e("screens"))}),minHeight:{0:"0px",full:"100%",screen:"100vh"},minWidth:{0:"0px",full:"100%",min:"min-content",max:"max-content"},opacity:{...W(100,"",100,0,10),5:"0.05",25:"0.25",75:"0.75",95:"0.95"},order:{first:"-9999",last:"9999",none:"0",...W(12,"",1,1)},outline:{none:["2px solid transparent","2px"],white:["2px dotted white","2px"],black:["2px dotted black","2px"]},padding:v("spacing"),placeholderColor:v("colors"),placeholderOpacity:v("opacity"),ringColor:e=>({DEFAULT:e("colors.blue.500","#3b82f6"),...e("colors")}),ringOffsetColor:v("colors"),ringOffsetWidth:N(8,"px"),ringOpacity:e=>({DEFAULT:"0.5",...e("opacity")}),ringWidth:{DEFAULT:"3px",...N(8,"px")},rotate:{...N(2,"deg"),...N(12,"deg",3),...N(180,"deg",45)},scale:{0:"0",50:".5",75:".75",...W(110,"",100,90,5),125:"1.25",150:"1.5"},skew:{...N(2,"deg"),...N(12,"deg",3)},space:v("spacing"),stroke:{current:"currentColor"},strokeWidth:W(2),textColor:v("colors"),textOpacity:v("opacity"),transitionDuration:e=>({DEFAULT:"150ms",...e("durations")}),transitionDelay:v("durations"),transitionProperty:{none:"none",all:"all",DEFAULT:"background-color,border-color,color,fill,stroke,opacity,box-shadow,transform",colors:"background-color,border-color,color,fill,stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4,0,0.2,1)",linear:"linear",in:"cubic-bezier(0.4,0,1,1)",out:"cubic-bezier(0,0,0.2,1)","in-out":"cubic-bezier(0.4,0,0.2,1)"},translate:e=>({...e("spacing"),...ae(2,4),full:"100%"}),width:e=>({auto:"auto",...e("spacing"),...ae(2,6),...ae(12,12),screen:"100vw",full:"100%",min:"min-content",max:"max-content"}),zIndex:{auto:"auto",...W(50,"",1,0,10)}},dt=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{let i=e[r];r=="DEFAULT"&&(t[g(n)]=i,t[g(n,".")]=i);let o=[...n,r];t[g(o)]=i,t[g(o,".")]=i,i&&typeof i=="object"&&dt(i,t,o)},t),t),Dt={negative:()=>({}),breakpoints:e=>Object.keys(e).filter(t=>typeof e[t]=="string").reduce((t,n)=>(t["screen-"+n]=e[n],t),{})},ut=e=>{let t=new Map,n={...zt,...e},r=(o,l)=>{let c=o&&o[l],f=typeof c=="function"?c(i,Dt):c;return f&&l=="colors"?dt(f):f},i=(o,l,c)=>{let f=o.split(".");o=f[0],f.length>1&&(c=l,l=g(d(f),"."));let C=t.get(o);if(C||t.set(o,C={...r(n,o),...r(n.extend,o)}),l!=null){let D=C[(Array.isArray(l)?g(l):l)||"DEFAULT"];return D==null?c:Array.isArray(D)&&!b(["fontSize","outline"],o)?g(D,","):D}return C};return i};var gt=(e,t)=>(n,r)=>{if(typeof n.d=="function")return n.d(t);let i=n.d.split("-");if(!r&&i[0]=="tw"&&n.$==n.d)return n.$;for(let o=i.length;o;o--){let l=g(i.slice(0,o)),c=e[l];if(c)return typeof c=="function"?c(d(i,o),t,l):typeof c=="string"?t[r?"css":"tw"](c):c}};var le,We=/^:(group(?:(?!-focus).+?)*)-(.+)$/,ft=(e,t,{theme:n,tag:r})=>{let i=(o,l)=>(le=n("screens",d(l),""))?{[j(le)]:o}:l==":dark"&&e=="class"?{[".dark &"]:o}:(le=We.exec(l))?{[`.${fe(r(le[1]))}:${le[2]} &`]:o}:{[t[d(l)]||"&"+l]:o};return(o,l)=>l.v.reduceRight(i,o)};var A,je=e=>(((A=/(?:^|min-width: *)(\d+(?:.\d+)?)(p)?/.exec(e))?+A[1]/(A[2]?15:1)/10:0)&31)<<22,pt=e=>{A=0;for(let t=e.length;t--;)A+=b("-:,",e[t]);return A},Ie=e=>(pt(e)&15)<<18,Ot=["rst","st","en","d","nk","sited","pty","ecked","cus-w","ver","cus","cus-v","tive","sable","ad-on","tiona","quire"],Wt=e=>1<<(~(A=Ot.indexOf(e.replace(We,":$2").slice(3,8)))?A:17),mt=(e,t)=>(n,r)=>n|((A=e("screens",d(r),""))?1<<27|je(j(A)):r==":dark"?1<<30:(A=t[r]||r)[0]=="@"?Ie(A):Wt(r)),ht=e=>e[0]=="-"?0:pt(e)+((A=/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7}$)|([fl].{5}l|g.{8}$|pl))/.exec(e))?+!!A[1]||-!!A[2]:0)+1;var He=(e,t)=>t+"{"+e+"}",_e;(function(e){e[e.base=0]="base",e[e.components=1]="components",e[e.utilities=2]="utilities",e[e.css=3]="css"})(_e||(_e={}));var bt=(e,t,n)=>{let{theme:r,tag:i}=n,o=(T,S)=>"--"+i(S),l=T=>`${T}`.replace(/--(tw-[\w-]+)\b/g,o),c=(T,S,k)=>(T=l(T),Array.isArray(S)?g(S.filter(Boolean).map(y=>e(T,l(y),k)),";"):e(T,l(S),k)),f,C=(T,S,k,y,F)=>{if(Array.isArray(y)){y.forEach(p=>p&&C(T,S,k,p,F));return}let O="",G=0,Y=0;y["@apply"]&&(y=q(M(ke(y["@apply"]),n),{...y,"@apply":void 0},n)),Object.keys(y).forEach(p=>{let $=M(y[p],n);if(Te(p,$)){if($!==""&&p.length>1){let w=Ce(p);Y+=1,G=Math.max(G,ht(w)),O=(O&&O+";")+c(w,$,F)}}else if($)if(p==":global"&&(p="@global"),p[0]=="@")if(p[1]=="g")C([],"",0,$,F);else if(p[1]=="f")C([],p,0,$,F);else if(p[1]=="k"){let w=f.length;C([],"",0,$,F);let a=f.splice(w,f.length-w);f.push({r:He(g(a.map(u=>u.r),""),p),p:a.reduce((u,m)=>u+m.p,0)})}else p[1]=="i"?(Array.isArray($)?$:[$]).forEach(w=>w&&f.push({p:0,r:`${p} ${w};`})):(p[2]=="c"&&(p=j(n.theme("screens",d(p,8).trim()))),C([...T,p],S,k|je(p)|Ie(p),$,F));else C(T,S?S.replace(/([^,])+/g,w=>p.replace(/([^,])+/g,a=>b(a,"&")?a.replace(/&/g,w):(w&&w+" ")+a)):p,k,$,F)}),Y&&f.push({r:T.reduceRight(He,He(O,S)),p:k*(1<<8)+((Math.max(0,15-Y)&15)<<4|(G||15)&15)})},D=mt(r,t);return(T,S,k,y=0)=>(y<<=28,f=[],C([],S?"."+fe(S):"",k?k.v.reduceRight(D,y):y,T,k&&k.i),f)};var xt=(e,t,n,r)=>{let i;n((l=[])=>i=l);let o;return n((l=new Set)=>o=l),({r:l,p:c})=>{if(!o.has(l)){o.add(l);let f=Ve(i,c);try{e.insert(l,f),i.splice(f,0,c)}catch(C){/:-[mwo]/.test(l)||t.report({id:"INJECT_CSS_ERROR",css:l,error:C},r)}}}};var Ne=(e,t,n,r=t)=>e===!1?n:e===!0?r:e||t,jt=e=>(typeof e=="string"?{t:ze,a:we,i:De}[e[1]]:e)||we,It=(e,t)=>e+(t[1]==":"?d(t,2)+":":d(t))+":",yt=(e,t=e.d)=>typeof t=="function"?"":e.v.reduce(It,"")+(e.n?"-":"")+t+(e.i?"!":""),Ht={_:{value:"",writable:!0}},St=(e={})=>{let t=ut(e.theme),n=jt(e.mode),r=Ne(e.hash,!1,!1,Z),i={v:[]},o=0,l=[],c={tw:(...a)=>$(a),theme:(a,u,m)=>{u!=null&&!u.length&&(u="DEFAULT");let P=t(a,u,m)||n.unknown(a,u==null||Array.isArray(u)?u:u.split("."),m!=null,c);return i.n&&P&&typeof P=="string"?`calc(${P} * -1)`:P},tag:a=>r?r(a):a,css:a=>{o++;let u=l.length;try{(typeof a=="string"?te([a]):a).forEach(p);let m=Object.create(null,Ht);for(let P=u;P<l.length;P++){let ce=l[P];if(ce)switch(typeof ce){case"object":q(m,ce,c);break;case"string":m._+=(m._&&" ")+ce}}return m}finally{l.length=u,o--}}},f=gt({...it,...e.plugins},c),C=a=>{let u=i;i=a;try{return M(f(a),c)}finally{i=u}},D={...at,...e.variants},T=ft(e.darkMode||"media",D,c),S=bt(Ne(e.prefix,Oe,E),D,c),k=e.sheet||(typeof window=="undefined"?Me():Fe(e)),{init:y=a=>a()}=k,F=xt(k,n,y,c),O;y((a=new Map)=>O=a);let G=new WeakMap,Y=(a,u)=>a=="_"?void 0:typeof u=="function"?JSON.stringify(M(u,c),Y):u,p=a=>{!o&&i.v.length&&(a={...a,v:[...i.v,...a.v],$:""}),a.$||(a.$=yt(a,G.get(a.d)));let u=o?null:O.get(a.$);if(u==null){let m=C(a);if(a.$||(a.$=Z(JSON.stringify(m,Y)),G.set(a.d,a.$),a.$=yt(a,a.$)),m&&typeof m=="object")if(m=T(m,a),o)l.push(m);else{let P=typeof a.d=="function"?typeof m._=="string"?1:3:2;u=r||typeof a.d=="function"?(r||Z)(P+a.$):a.$,S(m,u,a,P).forEach(F),m._&&(u+=" "+m._)}else typeof m=="string"?u=m:(u=a.$,n.report({id:"UNKNOWN_DIRECTIVE",rule:u},c)),o&&typeof a.d!="function"&&l.push(u);o||(O.set(a.$,u),ge(O,3e4))}return u},$=a=>te(a).map(p).filter(Boolean).join(" "),w=Ne(e.preflight,Le,!1);if(w){let a=st(t),u=S(typeof w=="function"?M(w(a,c),c)||a:{...a,...w});y((m=(u.forEach(F),!0))=>m)}return{init:()=>n.report({id:"LATE_SETUP_CALL"},c),process:$}};var Ue=e=>{let t=o=>(n(),t(o)),n=o=>{({process:t,init:n}=St(o))};e&&n(e);let r;return{tw:Object.defineProperties((...o)=>t(o),{theme:{get:(o=>()=>(r||t([l=>(r=l,"")]),r[o]))("theme")}}),setup:o=>n(o)}};var{tw:_t,setup:Nt}=Ue();export{ke as apply,Oe as autoprefix,Ue as create,Fe as cssomSheet,ne as directive,Z as hash,Se as mode,E as noprefix,Nt as setup,De as silent,ze as strict,Mt as theme,_t as tw,Me as voidSheet,we as warn}; | ||
var h=(e,t)=>!!~e.indexOf(t),u=(e,t="-")=>e.join(t),Z=(e,t)=>u(e.filter(Boolean),t),c=(e,t=1)=>e.slice(t),Be=e=>e,ue=()=>{},j=e=>e[0].toUpperCase()+c(e),Re=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),z=(e,t)=>{for(;typeof e=="function";)e=e(t);return e},ge=(e,t)=>{e.size>t&&e.delete(e.keys().next().value)},ve=(e,t)=>!h("@:&",e[0])&&(h("rg",(typeof t)[5])||Array.isArray(t)),ee=(e,t,n)=>t?Object.keys(t).reduce((r,s)=>{let i=z(t[s],n);return ve(s,i)?r[Re(s)]=i:r[s]=s[0]=="@"&&h("figa",s[1])?(r[s]||[]).concat(i):ee(r[s]||{},i,n),r},e):e,fe=typeof CSS!="undefined"&&CSS.escape||(e=>{let t=e.charCodeAt(0),n="";return t>=48&&t<=57&&(n="\\"+t.toString(16)+" ",e=c(e)),n+e.replace(/[!./:#]/g,"\\$&")}),I=e=>(Array.isArray(e)||(e=[e]),"@media "+u(e.map(t=>(typeof t=="string"&&(t={min:t}),t.raw||u(Object.keys(t).map(n=>`(${n}-width:${t[n]})`)," and "))),",")),te=e=>{let t=9;for(let n=e.length;n--;)t=Math.imul(t^e.charCodeAt(n),1597334677);return"tw-"+((t^t>>>9)>>>0).toString(36)},Ge=(e,t)=>{let n=e.length;if(n==0)return 0;for(let r=0;r<n;){let s=n+r>>1;e[s]<=t?r=s+1:n=s}return n};var H,Q,V=(e="")=>(H.push(e),""),ke=e=>{H.length=Math.max(H.lastIndexOf("")+~~e,0)},Tt=e=>e&&e[0]!=":",Rt=e=>e[0]==":",Ye=(e,t,n)=>{Q.push({v:H.filter(Rt),d:e,n:t,i:n,$:""})},Ke=e=>{let t=e[0]=="-";t&&(e=c(e));let n=e[e.length-1]=="!";n&&(e=e.slice(0,-1));let r=u(H.filter(Tt));return Ye(e=="&"?r:(r&&r+"-")+e,t,n),""},ne=(e,t)=>{let n,r="";for(let s=0;s<e.length;)switch(n=e[s++]){case":":r=r&&V(":"+(e[s]==n?e[s++]:"")+r);break;case"(":r=r&&V(r),V();break;case")":case" ":case" ":case` | ||
`:case"\r":r=r&&Ke(r),ke(n!==")");break;default:r+=n}r&&(t?V(":"+r):r.slice(-1)=="-"?V(r.slice(0,-1)):Ke(r))},Je=e=>{V(),pe(e),ke()},vt=(e,t)=>{if(t){V();let n=h("tbu",(typeof t)[1]);ne(e,n),n&&Je(t),ke()}},pe=e=>{switch(typeof e){case"string":ne(e);break;case"function":Ye(e);break;case"object":Array.isArray(e)?e.forEach(Je):e&&Object.keys(e).forEach(t=>{vt(t,e[t])})}},Qe=new WeakMap,kt=e=>{let t=Qe.get(e);if(!t){let n=NaN,r="";t=e.map((s,i)=>{if(n!==n&&h(":-(",(e[i+1]||"")[0])&&(n=i),i>=n)return f=>{i==n&&(r=""),r+=s,typeof f=="string"?r+=f:f&&(ne(r),r="",pe(f)),i==e.length-1&&ne(r)};let l=Q=[];ne(s);let d=[...H];return Q=[],f=>{Q.push(...l),H=[...d],f&&pe(f)}}),Qe.set(e,t)}return t},re=e=>(H=[],Q=[],Array.isArray(e[0])&&Array.isArray(e[0].raw)?kt(e[0]).forEach((t,n)=>t(e[n+1])):pe(e),Q);var Ae,At=(e,t)=>(typeof t=="function"&&(Ae=!1),t),Pt=e=>{Ae=!0;let t=JSON.stringify(e,At);return Ae&&t},Xe=new WeakMap,oe=(e,t)=>{let n=Pt(t),r;if(n){var s=Xe.get(e);s||Xe.set(e,s=new Map),r=s.get(n)}return r||(r=Object.defineProperty((i,l)=>(l=Array.isArray(i)?l:i,z(e(t,l),l)),"toJSON",{value:()=>n||t}),s&&(s.set(n,r),ge(s,1e4))),r};var $t=(e,{css:t})=>t(re(e)),Pe=(...e)=>oe($t,e);var qe=e=>(t,n,r,s)=>{if(t){let i=n&&e(n);if(i&&i.length>0)return i.reduce((l,d)=>(l[Z([r,d,s])]=t,l),{})}},Ze=qe(e=>({t:["top-left","top-right"],r:["top-right","bottom-right"],b:["bottom-left","bottom-right"],l:["bottom-left","top-left"],tl:["top-left"],tr:["top-right"],bl:["bottom-left"],br:["bottom-right"]})[e]),ie=e=>{let t=({x:"lr",y:"tb"}[e]||e||"").split("").sort();for(let n=t.length;n--;)if(!(t[n]={t:"top",r:"right",b:"bottom",l:"left"}[t[n]]))return;if(t.length)return t},me=qe(ie);var o,B,b,he=e=>e=="cols"?"columns":"rows",se=e=>(t,n,r)=>({[e]:r+((o=u(t))&&"-"+o)}),S=(e,t)=>(n,r,s)=>(o=u(n,t))&&{[e||s]:o},R=e=>(t,{theme:n},r)=>(o=n(e||r,t))&&{[e||r]:o},be=(e,t)=>(n,{theme:r},s)=>(o=r(e||s,n,u(n,t)))&&{[e||s]:o},M=(e,t)=>(n,r)=>e(n,r,t),_=se("display"),ae=se("position"),X=se("textTransform"),q=se("textDecoration"),xe=se("fontStyle"),N=e=>(t,n,r)=>({["--tw-"+e]:r,fontVariantNumeric:"var(--tw-ordinal,/*!*/ /*!*/) var(--tw-slashed-zero,/*!*/ /*!*/) var(--tw-numeric-figure,/*!*/ /*!*/) var(--tw-numeric-spacing,/*!*/ /*!*/) var(--tw-numeric-fraction,/*!*/ /*!*/)"}),ye=(e,{theme:t},n)=>(o=t("inset",e))&&{[n]:o},le=(e,t,n,r=n)=>(o=t(r+"Opacity",c(e)))&&{[`--tw-${n}-opacity`]:o},$e=(e,t)=>Math.round(parseInt(e,16)*t),we=(e,t,n)=>e&&e[0]=="#"?`rgba(${$e(e.substr(1,o=(e.length-1)/3),b=[17,1,.062272][o-1])},${$e(e.substr(1+o,o),b)},${$e(e.substr(1+2*o,o),b)},${t?`var(--tw-${t}${n?","+n:""})`:n||1})`:e,Se=(e,t,n)=>n&&(o=we(n,t+"-opacity"))&&o!==n?{[`--tw-${t}-opacity`]:"1",[e]:[n,o]}:{[e]:n},et=e=>(b=we(e,"","0"))==o?"transparent":b,tt=(e,{theme:t},n,r,s,i)=>(o={x:["right","left"],y:["bottom","top"]}[e[0]])&&(b=`--tw-${n}-${e[0]}-reverse`)?e[1]=="reverse"?{[b]:"1"}:{[b]:"0",[Z([s,o[0],i])]:(B=t(r,c(e)))&&`calc(${B} * var(${b}))`,[Z([s,o[1],i])]:B&&[B,`calc(${B} * calc(1 - var(${b})))`]}:void 0,nt=(e,t)=>t[0]&&{[e]:(h("wun",(t[0]||"")[3])?"space-":"")+t[0]},Ee=e=>t=>h(["start","end"],t[0])?{[e]:"flex-"+t[0]}:nt(e,t),rt=e=>(t,{theme:n})=>{if(o=n("grid"+j(e),t,""))return{["grid-"+e]:o};switch(t[0]){case"span":return t[1]&&{["grid-"+e]:`span ${t[1]} / span ${t[1]}`};case"start":case"end":return(o=n("grid"+j(e)+j(t[0]),c(t),u(c(t))))&&{[`grid-${e}-${t[0]}`]:o}}},ot=(e,{theme:t},n)=>{switch(e[0]){case"solid":case"dashed":case"dotted":case"double":case"none":return S("borderStyle")(e);case"collapse":case"separate":return S("borderCollapse")(e);case"opacity":return le(e,t,n)}return(o=t(n+"Width",e,""))?{borderWidth:o}:Se("borderColor",n,t(n+"Color",e))},Fe=e=>(e?"translate3d(var(--tw-translate-x,0),var(--tw-translate-y,0),0)":"translateX(var(--tw-translate-x,0)) translateY(var(--tw-translate-y,0))")+" rotate(var(--tw-rotate,0)) skewX(var(--tw-skew-x,0)) skewY(var(--tw-skew-y,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1))",ze=(e,t,n)=>e[0]&&(o=t.theme(n,e[1]||e[0]))&&{[`--tw-${n}-x`]:e[0]!=="y"&&o,[`--tw-${n}-y`]:e[0]!=="x"&&o,transform:[`${n}${e[1]?e[0].toUpperCase():""}(${o})`,Fe()]},it=e=>(t,n,r)=>r[1]?me(n.theme(e,t),r[1],e):R(e)(t,n,r),G=it("padding"),Y=it("margin"),st=(e,{theme:t},n)=>(o={w:"width",h:"height"}[e[0]])&&{[o=`${n}${j(o)}`]:t(o,c(e))},at={group:(e,{tag:t},n)=>t(u([n,...e])),hidden:M(_,"none"),inline:_,block:_,contents:_,flow:_,table:(e,t,n)=>h(["auto","fixed"],e[0])?{tableLayout:e[0]}:_(e,t,n),flex(e,t,n){switch(e[0]){case"row":case"col":return{flexDirection:u(e[0]=="col"?["column",...c(e)]:e)};case"nowrap":case"wrap":return{flexWrap:u(e)};case"grow":case"shrink":return o=t.theme("flex"+j(e[0]),c(e),Number(e[1]||1)),o!=null&&{["flex-"+e[0]]:""+o}}return(o=t.theme("flex",e,""))?{flex:o}:_(e,t,n)},grid(e,t,n){switch(e[0]){case"cols":case"rows":return(o=t.theme("gridTemplate"+j(he(e[0])),c(e),e.length==2&&Number(e[1])?`repeat(${e[1]},minmax(0,1fr))`:u(c(e))))&&{["grid-template-"+he(e[0])]:o};case"flow":return e.length>1&&{gridAutoFlow:u(e[1]=="col"?["column",...c(e,2)]:c(e)," ")}}return _(e,t,n)},auto:(e,{theme:t})=>h(["cols","rows"],e[0])&&(o=t("gridAuto"+j(he(e[0])),c(e),u(c(e))))&&{["grid-auto-"+he(e[0])]:o},static:ae,fixed:ae,absolute:ae,relative:ae,sticky:ae,visible:{visibility:"visible"},invisible:{visibility:"hidden"},antialiased:{WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"},"subpixel-antialiased":{WebkitFontSmoothing:"auto",MozOsxFontSmoothing:"auto"},truncate:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},"sr-only":{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(0,0,0,0)",borderWidth:"0"},"not-sr-only":{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal",clip:"auto"},resize:e=>({resize:{x:"vertical",y:"horizontal"}[e[0]]||e[0]||"both"}),box:e=>e[0]&&{"box-sizing":e[0]+"-box"},appearance:S(),cursor:be(),float:S(),clear:S(),top:ye,right:ye,bottom:ye,left:ye,inset:(e,{theme:t})=>(o=ie(e[0]))?me(t("inset",c(e)),e[0]):(o=t("inset",e))&&{top:o,right:o,bottom:o,left:o},underline:q,"line-through":q,"no-underline":M(q,"none"),"text-underline":M(q,"underline"),"text-no-underline":M(q,"none"),"text-line-through":M(q,"line-through"),uppercase:X,lowercase:X,capitalize:X,"normal-case":M(X,"none"),"text-normal-case":M(X,"none"),italic:xe,"not-italic":M(xe,"normal"),"font-italic":M(xe,"italic"),"font-not-italic":M(xe,"normal"),font:(e,t,n)=>(o=t.theme("fontFamily",e,""))?{fontFamily:o}:R("fontWeight")(e,t,n),items:e=>e[0]&&{alignItems:h(["start","end"],e[0])?"flex-"+e[0]:u(e)},"justify-self":S(),"justify-items":S(),justify:Ee("justifyContent"),content:Ee("alignContent"),self:Ee("alignSelf"),place:e=>e[0]&&nt("place-"+e[0],c(e)),overscroll:e=>e[0]&&{["overscrollBehavior"+(e[1]?"-"+e[0]:"")]:e[1]||e[0]},col:rt("column"),row:rt("row"),duration:R("transitionDuration"),delay:R("transitionDelay"),tracking:R("letterSpacing"),leading:R("lineHeight"),z:R("zIndex"),opacity:R(),ease:R("transitionTimingFunction"),p:G,py:G,px:G,pt:G,pr:G,pb:G,pl:G,m:Y,my:Y,mx:Y,mt:Y,mr:Y,mb:Y,ml:Y,w:R("width"),h:R("height"),min:st,max:st,fill:R(),order:R(),origin:be("transformOrigin"," "),select:S("userSelect"),"pointer-events":S(),align:S("verticalAlign"),whitespace:S("whiteSpace"),"normal-nums":{fontVariantNumeric:"normal"},ordinal:N("ordinal"),"slashed-zero":N("slashed-zero"),"lining-nums":N("numeric-figure"),"oldstyle-nums":N("numeric-figure"),"proportional-nums":N("numeric-spacing"),"tabular-nums":N("numeric-spacing"),"diagonal-fractions":N("numeric-fraction"),"stacked-fractions":N("numeric-fraction"),overflow:(e,t,n)=>h(["ellipsis","clip"],e[0])?S("textOverflow")(e):e[1]?{["overflow-"+e[0]]:e[1]}:S()(e,t,n),transform:e=>e[0]=="none"?{transform:"none"}:{"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1",transform:Fe(e[0]=="gpu")},rotate:(e,{theme:t})=>(o=t("rotate",e))&&{"--tw-rotate":o,transform:[`rotate(${o})`,Fe()]},scale:ze,translate:ze,skew:ze,gap:(e,t,n)=>(o={x:"column",y:"row"}[e[0]])?{[o+"Gap"]:t.theme("gap",c(e))}:R("gap")(e,t,n),stroke:(e,t,n)=>(o=t.theme("stroke",e,""))?{stroke:o}:R("strokeWidth")(e,t,n),outline:(e,{theme:t})=>(o=t("outline",e))&&{outline:o[0],outlineOffset:o[1]},"break-normal":{wordBreak:"normal",overflowWrap:"normal"},"break-words":{overflowWrap:"break-word"},"break-all":{wordBreak:"break-all"},text(e,{theme:t},n){switch(e[0]){case"left":case"center":case"right":case"justify":return{textAlign:e[0]};case"uppercase":case"lowercase":case"capitalize":return X([],o,e[0]);case"opacity":return le(e,t,n)}let r=t("fontSize",e,"");return r?typeof r=="string"?{fontSize:r}:{fontSize:r[0],...typeof r[1]=="string"?{lineHeight:r[1]}:r[1]}:Se("color","text",t("textColor",e))},bg(e,{theme:t},n){switch(e[0]){case"fixed":case"local":case"scroll":return S("backgroundAttachment",",")(e);case"bottom":case"center":case"left":case"right":case"top":return S("backgroundPosition"," ")(e);case"no":return e[1]=="repeat"&&S("backgroundRepeat")(e);case"repeat":return h("xy",e[1])?S("backgroundRepeat")(e):{"background-repeat":e[1]||e[0]};case"opacity":return le(e,t,n,"background");case"clip":return e[1]&&{backgroundClip:e[1]+(e[1]=="text"?"":"-box")};case"gradient":if(e[1]=="to"&&(o=ie(e[2])))return{backgroundImage:`linear-gradient(to ${u(o," ")},var(--tw-gradient-stops))`}}return(o=t("backgroundPosition",e,""))?{backgroundPosition:o}:(o=t("backgroundSize",e,""))?{backgroundSize:o}:(o=t("backgroundImage",e,""))?{backgroundImage:o}:Se("backgroundColor","bg",t("backgroundColor",e))},from:(e,{theme:t})=>(o=t("gradientColorStops",e))&&{"--tw-gradient-from":o,"--tw-gradient-stops":`var(--tw-gradient-from),var(--tw-gradient-to,${et(o)})`},via:(e,{theme:t})=>(o=t("gradientColorStops",e))&&{"--tw-gradient-stops":`var(--tw-gradient-from),${o},var(--tw-gradient-to,${et(o)})`},to:(e,{theme:t})=>(o=t("gradientColorStops",e))&&{"--tw-gradient-to":o},border:(e,t,n)=>ie(e[0])?me(t.theme("borderWidth",c(e)),e[0],"border","width"):ot(e,t,n),divide:(e,t,n)=>(o=tt(e,t,n,"divideWidth","border","width")||ot(e,t,n))&&{"&>:not([hidden])~:not([hidden])":o},space:(e,t,n)=>(o=tt(e,t,n,"space","margin"))&&{"&>:not([hidden])~:not([hidden])":o},placeholder:(e,{theme:t},n)=>(o=e[0]=="opacity"?le(e,t,n):Se("color","placeholder",t("placeholderColor",e)))&&{"&::placeholder":o},shadow:(e,{theme:t})=>(o=t("boxShadow",e))&&{":global":{"*":{"--tw-shadow":"0 0 transparent"}},"--tw-shadow":o=="none"?"0 0 transparent":o,boxShadow:[o,"var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)"]},animate:(e,{theme:t,tag:n})=>{if(b=t("animation",e)){let r=b.split(" ");return(o=t("keyframes",r[0],B={}))!==B?(b=n(r[0]))&&{animation:b+" "+u(c(r)," "),["@keyframes "+b]:o}:{animation:b}}},ring(e,{theme:t},n){switch(e[0]){case"inset":return{"--tw-ring-inset":"inset"};case"opacity":return le(e,t,n);case"offset":return(o=t("ringOffsetWidth",c(e),""))?{"--tw-ring-offset-width":o}:{"--tw-ring-offset-color":t("ringOffsetColor",c(e))}}return(o=t("ringWidth",e,""))?{"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${o} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,"box-shadow":"var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)",":global":{"*":{"--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":t("ringOffsetWidth","","0px"),"--tw-ring-offset-color":t("ringOffsetColor","","#fff"),"--tw-ring-color":we(t("ringColor","","#93c5fd"),"ring-opacity",t("ringOpacity","","0.5")),"--tw-ring-offset-shadow":"0 0 transparent","--tw-ring-shadow":"0 0 transparent"}}}:{"--tw-ring-opacity":"1","--tw-ring-color":we(t("ringColor",e),"ring-opacity")}},object:(e,t,n)=>h(["contain","cover","fill","none","scale-down"],u(e))?{objectFit:u(e)}:be("objectPosition"," ")(e,t,n),list:(e,t,n)=>h(["inside","outside"],u(e))?{listStylePosition:e[0]}:be("listStyleType")(e,t,n),rounded:(e,t,n)=>Ze(t.theme("borderRadius",c(e),""),e[0],"border","radius")||R("borderRadius")(e,t,n),"transition-none":{"transition-property":"none"},transition:(e,{theme:t})=>({transitionProperty:t("transitionProperty",e),transitionTimingFunction:t("transitionTimingFunction",""),transitionDuration:t("transitionDuration","")}),container:(e,{theme:t})=>{let{screens:n=t("screens"),center:r,padding:s}=t("container"),i=l=>(o=s&&(typeof s=="string"?s:s[l]||s.DEFAULT))?{paddingRight:o,paddingLeft:o}:{};return Object.keys(n).reduce((l,d)=>((b=n[d])&&typeof b=="string"&&(l[I(b)]={"&":{"max-width":b,...i(d)}}),l),{width:"100%",...r?{marginRight:"auto",marginLeft:"auto"}:{},...i("xs")})}};var lt=e=>({":root":{tabSize:4},"body,blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre,fieldset,ol,ul":{margin:"0"},button:{backgroundColor:"transparent",backgroundImage:"none"},'button,[type="button"],[type="reset"],[type="submit"]':{WebkitAppearance:"button"},"button:focus":{outline:["1px dotted","5px auto -webkit-focus-ring-color"]},"fieldset,ol,ul,legend":{padding:"0"},"ol,ul":{listStyle:"none"},html:{lineHeight:"1.5",WebkitTextSizeAdjust:"100%",fontFamily:e("fontFamily.sans","ui-sans-serif,system-ui,sans-serif")},body:{fontFamily:"inherit",lineHeight:"inherit"},"*,::before,::after":{boxSizing:"border-box",border:`0 solid ${e("borderColor.DEFAULT","currentColor")}`},hr:{height:"0",color:"inherit",borderTopWidth:"1px"},img:{borderStyle:"solid"},textarea:{resize:"vertical"},"input::placeholder,textarea::placeholder":{opacity:"1",color:e("placeholderColor.DEFAULT",e("colors.gray.400","#a1a1aa"))},'button,[role="button"]':{cursor:"pointer"},table:{textIndent:"0",borderColor:"inherit",borderCollapse:"collapse"},"h1,h2,h3,h4,h5,h6":{fontSize:"inherit",fontWeight:"inherit"},a:{color:"inherit",textDecoration:"inherit"},"button,input,optgroup,select,textarea":{fontFamily:"inherit",fontSize:"100%",margin:"0",padding:"0",lineHeight:"inherit",color:"inherit"},"button,select":{textTransform:"none"},"::-moz-focus-inner":{borderStyle:"none",padding:"0"},":-moz-focusring":{outline:"1px dotted ButtonText"},":-moz-ui-invalid":{boxShadow:"none"},progress:{verticalAlign:"baseline"},"::-webkit-inner-spin-button,::-webkit-outer-spin-button":{height:"auto"},'[type="search"]':{WebkitAppearance:"textfield",outlineOffset:"-2px"},"::-webkit-search-decoration":{WebkitAppearance:"none"},"::-webkit-file-upload-button":{WebkitAppearance:"button",font:"inherit"},summary:{display:"list-item"},"abbr[title]":{textDecoration:"underline dotted"},"b,strong":{fontWeight:"bolder"},"pre,code,kbd,samp":{fontFamily:e("fontFamily","mono","ui-monospace,monospace"),fontSize:"1em"},"sub,sup":{fontSize:"75%",lineHeight:"0",position:"relative",verticalAlign:"baseline"},sub:{bottom:"-0.25em"},sup:{top:"-0.5em"},"img,svg,video,canvas,audio,iframe,embed,object":{display:"block",verticalAlign:"middle"},"img,video":{maxWidth:"100%",height:"auto"}});var ct={dark:"@media (prefers-color-scheme:dark)",sticky:"@supports ((position: -webkit-sticky) or (position:sticky))","motion-reduce":"@media (prefers-reduced-motion:reduce)","motion-safe":"@media (prefers-reduced-motion:no-preference)",first:"&:first-child",last:"&:last-child",even:"&:nth-child(2n)",odd:"&:nth-child(odd)",children:"&>*",siblings:"&~*",sibling:"&+*",override:"&&"};var dt="__twind",ut=e=>{let t=self[dt];return t||(t=document.head.appendChild(document.createElement("style")),t.id=dt,e&&(t.nonce=e),t.appendChild(document.createTextNode(""))),t};var Me=({nonce:e,target:t=ut(e).sheet}={})=>{let n=t.cssRules.length;return{target:t,insert:(r,s)=>t.insertRule(r,n+s)}},De=()=>({target:null,insert:ue});var Ce=e=>({unknown(t,n=[],r,s){r||this.report({id:"UNKNOWN_THEME_VALUE",key:t+"."+u(n)},s)},report({id:t,...n}){let r=`[${t}] ${JSON.stringify(n)}`,s=(new Error(r).stack||r).split("at ");for(let i;(i=s.splice(1,1)[0])&&!/(^|\.)(tw|setup) /.test(i););return e(s.join("at "))}}),Te=Ce(e=>console.warn(e)),Oe=Ce(e=>{throw new Error(e)}),We=Ce(ue);import{cssPropertyAlias as Et,cssPropertyPrefixFlags as Ft,cssValuePrefixFlags as zt}from"style-vendorizer";var E=(e,t,n)=>`${e}:${t}${n?" !important":""}`,je=(e,t,n)=>{let r="",s=Et(e);s&&(r+=`${E(s,t,n)};`);let i=Ft(e);return i&1&&(r+=`-webkit-${E(e,t,n)};`),i&2&&(r+=`-moz-${E(e,t,n)};`),i&4&&(r+=`-ms-${E(e,t,n)};`),i=zt(e,t),i&1&&(r+=`${E(e,`-webkit-${t}`,n)};`),i&2&&(r+=`${E(e,`-moz-${t}`,n)};`),i&4&&(r+=`${E(e,`-ms-${t}`,n)};`),r+=E(e,t,n),r};var ce=(e,t)=>{let n={};do for(let r=1;r<e;r++)n[`${r}/${e}`]=Number((r/e*100).toFixed(6))+"%";while(++e<=t);return n},U=(e,t,n=0)=>{let r={};for(;n<=e;n=n*2||1)r[n]=n+t;return r},W=(e,t="",n=1,r=0,s=1,i={})=>{for(;r<=e;r+=s)i[r]=r/n+t;return i},v=e=>t=>t(e),Mt=(e,{theme:t})=>t(...e),Dt=(...e)=>oe(Mt,e),Ot={screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},colors:{transparent:"transparent",current:"currentColor",black:"#000",white:"#fff",gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},yellow:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},green:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"},purple:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"}},spacing:{px:"1px",0:"0px",...W(4,"rem",4,.5,.5),...W(12,"rem",4,5),14:"3.5rem",...W(64,"rem",4,16,4),72:"18rem",80:"20rem",96:"24rem"},durations:{75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},backgroundColor:v("colors"),backgroundImage:{none:"none"},backgroundOpacity:v("opacity"),backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},borderColor:e=>({...e("colors"),DEFAULT:e("colors.gray.200","currentColor")}),borderOpacity:v("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderWidth:{DEFAULT:"1px",...U(8,"px")},boxShadow:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",DEFAULT:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",inner:"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)",none:"none"},divideColor:v("borderColor"),divideOpacity:v("borderOpacity"),divideWidth:v("borderWidth"),fill:{current:"currentColor"},flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},fontFamily:{sans:'ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"'.split(","),serif:'ui-serif,Georgia,Cambria,"Times New Roman",Times,serif'.split(","),mono:'ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'.split(",")},fontSize:{xs:["0.75rem","1rem"],sm:["0.875rem","1.25rem"],base:["1rem","1.5rem"],lg:["1.125rem","1.75rem"],xl:["1.25rem","1.75rem"],"2xl":["1.5rem","2rem"],"3xl":["1.875rem","2.25rem"],"4xl":["2.25rem","2.5rem"],"5xl":["3rem","1"],"6xl":["3.75rem","1"],"7xl":["4.5rem","1"],"8xl":["6rem","1"],"9xl":["8rem","1"]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gridTemplateColumns:{},gridTemplateRows:{},gridAutoColumns:{min:"min-content",max:"max-content",fr:"minmax(0,1fr)"},gridAutoRows:{min:"min-content",max:"max-content",fr:"minmax(0,1fr)"},gridColumn:{auto:"auto","span-full":"1 / -1"},gridRow:{auto:"auto","span-full":"1 / -1"},gap:v("spacing"),gradientColorStops:v("colors"),height:e=>({auto:"auto",...e("spacing"),...ce(2,6),full:"100%",screen:"100vh"}),inset:e=>({auto:"auto",...e("spacing"),...ce(2,4),full:"100%"}),keyframes:{spin:{from:{transform:"rotate(0deg)"},to:{transform:"rotate(360deg)"}},ping:{"0%":{transform:"scale(1)",opacity:"1"},"75%,100%":{transform:"scale(2)",opacity:"0"}},pulse:{"0%,100%":{opacity:"1"},"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",...W(10,"rem",4,3)},margin:e=>({auto:"auto",...e("spacing")}),maxHeight:e=>({...e("spacing"),full:"100%",screen:"100vh"}),maxWidth:(e,{breakpoints:t})=>({none:"none",0:"0rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",prose:"65ch",...t(e("screens"))}),minHeight:{0:"0px",full:"100%",screen:"100vh"},minWidth:{0:"0px",full:"100%",min:"min-content",max:"max-content"},opacity:{...W(100,"",100,0,10),5:"0.05",25:"0.25",75:"0.75",95:"0.95"},order:{first:"-9999",last:"9999",none:"0",...W(12,"",1,1)},outline:{none:["2px solid transparent","2px"],white:["2px dotted white","2px"],black:["2px dotted black","2px"]},padding:v("spacing"),placeholderColor:v("colors"),placeholderOpacity:v("opacity"),ringColor:e=>({DEFAULT:e("colors.blue.500","#3b82f6"),...e("colors")}),ringOffsetColor:v("colors"),ringOffsetWidth:U(8,"px"),ringOpacity:e=>({DEFAULT:"0.5",...e("opacity")}),ringWidth:{DEFAULT:"3px",...U(8,"px")},rotate:{...U(2,"deg"),...U(12,"deg",3),...U(180,"deg",45)},scale:{0:"0",50:".5",75:".75",...W(110,"",100,90,5),125:"1.25",150:"1.5"},skew:{...U(2,"deg"),...U(12,"deg",3)},space:v("spacing"),stroke:{current:"currentColor"},strokeWidth:W(2),textColor:v("colors"),textOpacity:v("opacity"),transitionDuration:e=>({DEFAULT:"150ms",...e("durations")}),transitionDelay:v("durations"),transitionProperty:{none:"none",all:"all",DEFAULT:"background-color,border-color,color,fill,stroke,opacity,box-shadow,transform",colors:"background-color,border-color,color,fill,stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4,0,0.2,1)",linear:"linear",in:"cubic-bezier(0.4,0,1,1)",out:"cubic-bezier(0,0,0.2,1)","in-out":"cubic-bezier(0.4,0,0.2,1)"},translate:e=>({...e("spacing"),...ce(2,4),full:"100%"}),width:e=>({auto:"auto",...e("spacing"),...ce(2,6),...ce(12,12),screen:"100vw",full:"100%",min:"min-content",max:"max-content"}),zIndex:{auto:"auto",...W(50,"",1,0,10)}},gt=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{let s=e[r];r=="DEFAULT"&&(t[u(n)]=s,t[u(n,".")]=s);let i=[...n,r];t[u(i)]=s,t[u(i,".")]=s,s&&typeof s=="object"&>(s,t,i)},t),t),Wt={negative:()=>({}),breakpoints:e=>Object.keys(e).filter(t=>typeof e[t]=="string").reduce((t,n)=>(t["screen-"+n]=e[n],t),{})},ft=e=>{let t=new Map,n={...Ot,...e},r=(i,l)=>{let d=i&&i[l],f=typeof d=="function"?d(s,Wt):d;return f&&l=="colors"?gt(f):f},s=(i,l,d)=>{let f=i.split(".");i=f[0],f.length>1&&(d=l,l=u(c(f),"."));let C=t.get(i);if(C||t.set(i,C={...r(n,i),...r(n.extend,i)}),l!=null){let D=C[(Array.isArray(l)?u(l):l)||"DEFAULT"];return D==null?d:Array.isArray(D)&&!h(["fontSize","outline"],i)?u(D,","):D}return C};return s};var pt=(e,t)=>(n,r)=>{if(typeof n.d=="function")return n.d(t);let s=n.d.split("-");if(!r&&s[0]=="tw"&&n.$==n.d)return n.$;for(let i=s.length;i;i--){let l=u(s.slice(0,i)),d=e[l];if(d)return typeof d=="function"?d(c(s,i),t,l):typeof d=="string"?t[r?"css":"tw"](d):d}};var de,Ie=/^:(group(?:(?!-focus).+?)*)-(.+)$/,mt=(e,t,{theme:n,tag:r})=>{let s=(i,l)=>(de=n("screens",c(l),""))?{[I(de)]:i}:l==":dark"&&e=="class"?{[".dark &"]:i}:(de=Ie.exec(l))?{[`.${fe(r(de[1]))}:${de[2]} &`]:i}:{[t[c(l)]||"&"+l]:i};return(i,l)=>l.v.reduceRight(s,i)};var P,He=e=>(((P=/(?:^|min-width: *)(\d+(?:.\d+)?)(p)?/.exec(e))?+P[1]/(P[2]?15:1)/10:0)&31)<<22,ht=e=>{P=0;for(let t=e.length;t--;)P+=h("-:,",e[t]);return P},_e=e=>(ht(e)&15)<<18,jt=["rst","st","en","d","nk","sited","pty","ecked","cus-w","ver","cus","cus-v","tive","sable","ad-on","tiona","quire"],It=e=>1<<(~(P=jt.indexOf(e.replace(Ie,":$2").slice(3,8)))?P:17),bt=(e,t)=>(n,r)=>n|((P=e("screens",c(r),""))?1<<27|He(I(P)):r==":dark"?1<<30:(P=t[r]||r)[0]=="@"?_e(P):It(r)),xt=e=>e[0]=="-"?0:ht(e)+((P=/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7}$)|([fl].{5}l|g.{8}$|pl))/.exec(e))?+!!P[1]||-!!P[2]:0)+1;var Ne=(e,t)=>t+"{"+e+"}",Ue;(function(e){e[e.base=0]="base",e[e.components=1]="components",e[e.utilities=2]="utilities",e[e.css=3]="css"})(Ue||(Ue={}));var yt=(e,t,n)=>{let{theme:r,tag:s}=n,i=(T,y)=>"--"+s(y),l=T=>`${T}`.replace(/--(tw-[\w-]+)\b/g,i),d=(T,y,k)=>(T=l(T),Array.isArray(y)?u(y.filter(Boolean).map(x=>e(T,l(x),k)),";"):e(T,l(y),k)),f,C=(T,y,k,x,F)=>{if(Array.isArray(x)){x.forEach(p=>p&&C(T,y,k,p,F));return}let O="",K=0,J=0;x["@apply"]&&(x=ee(z(Pe(x["@apply"]),n),{...x,"@apply":void 0},n)),Object.keys(x).forEach(p=>{let A=z(x[p],n);if(ve(p,A)){if(A!==""&&p.length>1){let w=Re(p);J+=1,K=Math.max(K,xt(w)),O=(O&&O+";")+d(w,A,F)}}else if(A)if(p==":global"&&(p="@global"),p[0]=="@")if(p[1]=="g")C([],"",0,A,F);else if(p[1]=="f")C([],p,0,A,F);else if(p[1]=="k"){let w=f.length;C([],"",0,A,F);let a=f.splice(w,f.length-w);f.push({r:Ne(u(a.map(g=>g.r),""),p),p:a.reduce((g,m)=>g+m.p,0)})}else p[1]=="i"?(Array.isArray(A)?A:[A]).forEach(w=>w&&f.push({p:0,r:`${p} ${w};`})):(p[2]=="c"&&(p=I(n.theme("screens",c(p,8).trim()))),C([...T,p],y,k|He(p)|_e(p),A,F));else C(T,y?y.replace(/([^,])+/g,w=>p.replace(/([^,])+/g,a=>h(a,"&")?a.replace(/&/g,w):(w&&w+" ")+a)):p,k,A,F)}),J&&f.push({r:T.reduceRight(Ne,Ne(O,y)),p:k*(1<<8)+((Math.max(0,15-J)&15)<<4|(K||15)&15)})},D=bt(r,t);return(T,y,k,x=0)=>(x<<=28,f=[],C([],y?"."+fe(y):"",k?k.v.reduceRight(D,x):x,T,k&&k.i),f)};var wt=(e,t,n,r)=>{let s;n((l=[])=>s=l);let i;return n((l=new Set)=>i=l),({r:l,p:d})=>{if(!i.has(l)){i.add(l);let f=Ge(s,d);try{e.insert(l,f),s.splice(f,0,d)}catch(C){/:-[mwo]/.test(l)||t.report({id:"INJECT_CSS_ERROR",css:l,error:C},r)}}}};var Le=(e,t,n,r=t)=>e===!1?n:e===!0?r:e||t,Ht=e=>(typeof e=="string"?{t:Oe,a:Te,i:We}[e[1]]:e)||Te,_t=(e,t)=>e+(t[1]==":"?c(t,2)+":":c(t))+":",St=(e,t=e.d)=>typeof t=="function"?"":e.v.reduce(_t,"")+(e.n?"-":"")+t+(e.i?"!":""),Nt={_:{value:"",writable:!0}},Ct=(e={})=>{let t=ft(e.theme),n=Ht(e.mode),r=Le(e.hash,!1,!1,te),s={v:[]},i=0,l=[],d={tw:(...a)=>A(a),theme:(a,g,m)=>{var L;g!=null&&!g.length&&(g="DEFAULT");let $=(L=t(a,g,m))!=null?L:n.unknown(a,g==null||Array.isArray(g)?g:g.split("."),m!=null,d);return s.n&&$&&typeof $=="string"?`calc(${$} * -1)`:$},tag:a=>r?r(a):a,css:a=>{i++;let g=l.length;try{(typeof a=="string"?re([a]):a).forEach(p);let m=Object.create(null,Nt);for(let $=g;$<l.length;$++){let L=l[$];if(L)switch(typeof L){case"object":ee(m,L,d);break;case"string":m._+=(m._&&" ")+L}}return m}finally{l.length=g,i--}}},f=pt({...at,...e.plugins},d),C=a=>{let g=s;s=a;try{return z(f(a),d)}finally{s=g}},D={...ct,...e.variants},T=mt(e.darkMode||"media",D,d),y=yt(Le(e.prefix,je,E),D,d),k=e.sheet||(typeof window=="undefined"?De():Me(e)),{init:x=a=>a()}=k,F=wt(k,n,x,d),O;x((a=new Map)=>O=a);let K=new WeakMap,J=(a,g)=>a=="_"?void 0:typeof g=="function"?JSON.stringify(z(g,d),J):g,p=a=>{!i&&s.v.length&&(a={...a,v:[...s.v,...a.v],$:""}),a.$||(a.$=St(a,K.get(a.d)));let g=i?null:O.get(a.$);if(g==null){let m=C(a);if(a.$||(a.$=te(JSON.stringify(m,J)),K.set(a.d,a.$),a.$=St(a,a.$)),m&&typeof m=="object")if(m=T(m,a),i)l.push(m);else{let $=typeof a.d=="function"?typeof m._=="string"?1:3:2;g=r||typeof a.d=="function"?(r||te)($+a.$):a.$,y(m,g,a,$).forEach(F),m._&&(g+=" "+m._)}else typeof m=="string"?g=m:(g=a.$,n.report({id:"UNKNOWN_DIRECTIVE",rule:g},d)),i&&typeof a.d!="function"&&l.push(g);i||(O.set(a.$,g),ge(O,3e4))}return g},A=a=>re(a).map(p).filter(Boolean).join(" "),w=Le(e.preflight,Be,!1);if(w){let a=lt(t),g=y(typeof w=="function"?z(w(a,d),d)||a:{...a,...w});x((m=(g.forEach(F),!0))=>m)}return{init:()=>n.report({id:"LATE_SETUP_CALL"},d),process:A}};var Ve=e=>{let t=i=>(n(),t(i)),n=i=>{({process:t,init:n}=Ct(i))};e&&n(e);let r;return{tw:Object.defineProperties((...i)=>t(i),{theme:{get:(i=>()=>(r||t([l=>(r=l,"")]),r[i]))("theme")}}),setup:i=>n(i)}};var{tw:Ut,setup:Lt}=Ve();export{Pe as apply,je as autoprefix,Ve as create,Me as cssomSheet,oe as directive,te as hash,Ce as mode,E as noprefix,Lt as setup,We as silent,Oe as strict,Dt as theme,Ut as tw,De as voidSheet,Te as warn}; | ||
//# sourceMappingURL=twind.js.map |
@@ -1,2 +0,2 @@ | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports):typeof define==='function'&&define.amd?define(['exports'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twind={}));}(this,(function(exports){'use strict';var $t=Object.prototype.hasOwnProperty;var Ve=Object.getOwnPropertySymbols,At=Object.prototype.propertyIsEnumerable;var a=Object.assign;var Be=(e,t)=>{var n={};for(var r in e)$t.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ve)for(var r of Ve(e))t.indexOf(r)<0&&At.call(e,r)&&(n[r]=e[r]);return n};var x=(e,t)=>!!~e.indexOf(t),f=(e,t="-")=>e.join(t),q=(e,t)=>f(e.filter(Boolean),t),g=(e,t=1)=>e.slice(t),Ge=e=>e,ge=()=>{},ue=e=>e[0].toUpperCase()+g(e),Te=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),z=(e,t)=>{for(;typeof e=="function";)e=e(t);return e},fe=(e,t)=>{e.size>t&&e.delete(e.keys().next().value);},ve=(e,t)=>!x("@:&",e[0])&&(x("rg",(typeof t)[5])||Array.isArray(t)),Z=(e,t,n)=>t?Object.keys(t).reduce((r,o)=>{let i=z(t[o],n);return ve(o,i)?r[Te(o)]=i:r[o]=o[0]=="@"&&x("figa",o[1])?(r[o]||[]).concat(i):Z(r[o]||{},i,n),r},e):e,pe=typeof CSS!="undefined"&&CSS.escape||(e=>{let t=e.charCodeAt(0),n="";return t>=48&&t<=57&&(n="\\"+t.toString(16)+" ",e=g(e)),n+e.replace(/[!./:#]/g,"\\$&")}),I=e=>(Array.isArray(e)||(e=[e]),"@media "+f(e.map(t=>(typeof t=="string"&&(t={min:t}),t.raw||f(Object.keys(t).map(n=>`(${n}-width:${t[n]})`)," and "))),",")),ee=e=>{let t=9;for(let n=e.length;n--;)t=Math.imul(t^e.charCodeAt(n),1597334677);return "tw-"+((t^t>>>9)>>>0).toString(36)},Ye=(e,t)=>{let n=e.length;if(n==0)return 0;for(let r=0;r<n;){let o=n+r>>1;e[o]<=t?r=o+1:n=o;}return n};var H,J,L=(e="")=>(H.push(e),""),Re=e=>{H.length=Math.max(H.lastIndexOf("")+~~e,0);},Pt=e=>e&&e[0]!=":",Et=e=>e[0]==":",Ke=(e,t,n)=>{J.push({v:H.filter(Et),d:e,n:t,i:n,$:""});},Je=e=>{let t=e[0]=="-";t&&(e=g(e));let n=e[e.length-1]=="!";n&&(e=e.slice(0,-1));let r=f(H.filter(Pt));return Ke(e=="&"?r:(r&&r+"-")+e,t,n),""},te=(e,t)=>{let n,r="";for(let o=0;o<e.length;)switch(n=e[o++]){case":":r=r&&L(":"+(e[o]==n?e[o++]:"")+r);break;case"(":r=r&&L(r),L();break;case")":case" ":case" ":case` | ||
`:case"\r":r=r&&Je(r),Re(n!==")");break;default:r+=n;}r&&(t?L(":"+r):r.slice(-1)=="-"?L(r.slice(0,-1)):Je(r));},Qe=e=>{L(),me(e),Re();},Ft=(e,t)=>{if(t){L();let n=x("tbu",(typeof t)[1]);te(e,n),n&&Qe(t),Re();}},me=e=>{switch(typeof e){case"string":te(e);break;case"function":Ke(e);break;case"object":Array.isArray(e)?e.forEach(Qe):e&&Object.keys(e).forEach(t=>{Ft(t,e[t]);});}},Xe=new WeakMap,Mt=e=>{let t=Xe.get(e);if(!t){let n=NaN,r="";t=e.map((o,i)=>{if(n!==n&&x(":-(",(e[i+1]||"")[0])&&(n=i),i>=n)return p=>{i==n&&(r=""),r+=o,typeof p=="string"?r+=p:p&&(te(r),r="",me(p)),i==e.length-1&&te(r);};let l=J=[];te(o);let d=[...H];return J=[],p=>{J.push(...l),H=[...d],p&&me(p);}}),Xe.set(e,t);}return t},ne=e=>(H=[],J=[],Array.isArray(e[0])&&Array.isArray(e[0].raw)?Mt(e[0]).forEach((t,n)=>t(e[n+1])):me(e),J);var ke,zt=(e,t)=>(typeof t=="function"&&(ke=!1),t),Dt=e=>{ke=!0;let t=JSON.stringify(e,zt);return ke&&t},qe=new WeakMap,re=(e,t)=>{let n=Dt(t),r;if(n){var o=qe.get(e);o||qe.set(e,o=new Map),r=o.get(n);}return r||(r=Object.defineProperty((i,l)=>(l=Array.isArray(i)?l:i,z(e(t,l),l)),"toJSON",{value:()=>n||t}),o&&(o.set(n,r),fe(o,1e4))),r};var Ot=(e,{css:t})=>t(ne(e)),$e=(...e)=>re(Ot,e);var Ze=e=>(t,n,r,o)=>{if(t){let i=n&&e(n);if(i&&i.length>0)return i.reduce((l,d)=>(l[q([r,d,o])]=t,l),{})}},et=Ze(e=>({t:["top-left","top-right"],r:["top-right","bottom-right"],b:["bottom-left","bottom-right"],l:["bottom-left","top-left"],tl:["top-left"],tr:["top-right"],bl:["bottom-left"],br:["bottom-right"]})[e]),ie=e=>{let t=({x:"lr",y:"tb"}[e]||e||"").split("").sort();for(let n=t.length;n--;)if(!(t[n]={t:"top",r:"right",b:"bottom",l:"left"}[t[n]]))return;if(t.length)return t},he=Ze(ie);var s,V,y,oe=e=>(t,n,r)=>({[e]:r+((s=f(t))&&"-"+s)}),b=(e,t)=>(n,r,o)=>({[e||o]:f(n,t)}),R=e=>(t,{theme:n},r)=>({[e||r]:n(e||r,t)}),D=(e,t)=>(n,r)=>e(n,r,t),_=oe("display"),se=oe("position"),Q=oe("textTransform"),X=oe("textDecoration"),be=oe("fontStyle"),N=e=>(t,n,r)=>({["--tw-"+e]:r,fontVariantNumeric:"var(--tw-ordinal,/*!*/ /*!*/) var(--tw-slashed-zero,/*!*/ /*!*/) var(--tw-numeric-figure,/*!*/ /*!*/) var(--tw-numeric-spacing,/*!*/ /*!*/) var(--tw-numeric-fraction,/*!*/ /*!*/)"}),xe=(e,{theme:t},n)=>({[n]:t("inset",e)}),ae=(e,t,n,r=n)=>({[`--tw-${n}-opacity`]:t(r+"Opacity",g(e))}),Ae=(e,t)=>Math.round(parseInt(e,16)*t),ye=(e,t,n)=>e&&e[0]=="#"?`rgba(${Ae(e.substr(1,s=(e.length-1)/3),y=[17,1,.062272][s-1])},${Ae(e.substr(1+s,s),y)},${Ae(e.substr(1+2*s,s),y)},${t?`var(--tw-${t}${n?","+n:""})`:n||1})`:e,we=(e,t,n)=>n&&(s=ye(n,t+"-opacity"))&&s!==n?{[`--tw-${t}-opacity`]:"1",[e]:[n,s]}:{[e]:n},tt=e=>(y=ye(e,"","0"))==s?"transparent":y,nt=(e,{theme:t},n,r,o,i)=>(s={x:["right","left"],y:["bottom","top"]}[e[0]])&&(y=`--tw-${n}-${e[0]}-reverse`)?e[1]=="reverse"?{[y]:"1"}:{[y]:"0",[q([o,s[0],i])]:(V=t(r,g(e)))&&`calc(${V} * var(${y}))`,[q([o,s[1],i])]:V&&[V,`calc(${V} * calc(1 - var(${y})))`]}:void 0,rt=(e,t)=>({[e]:t[0]&&(x("wun",(t[0]||"")[3])?"space-":"")+t[0]}),Pe=e=>t=>x(["start","end"],t[0])?{[e]:`flex-${t[0]}`}:rt(e,t),it=e=>(t,{theme:n})=>{if(s=n(`grid${ue(e)}`,t,""))return {[`grid-${e}`]:s};switch(t[0]){case"auto":return {[`grid-${e}`]:"auto"};case"span":return {[`grid-${e}`]:t[1]=="full"?"1 / -1":t[1]&&`span ${t[1]} / span ${t[1]}`};case"start":case"end":return {[`grid-${e}-${t[0]}`]:t[1]}}},ot=(e,{theme:t},n)=>{switch(e[0]){case"solid":case"dashed":case"dotted":case"double":case"none":return b("borderStyle")(e);case"collapse":case"separate":return b("borderCollapse")(e);case"opacity":return ae(e,t,n)}return (s=t(n+"Width",e,""))?{borderWidth:s}:we("borderColor",n,t(n+"Color",e))},Ee=e=>(e?"translate3d(var(--tw-translate-x,0),var(--tw-translate-y,0),0)":"translateX(var(--tw-translate-x,0)) translateY(var(--tw-translate-y,0))")+" rotate(var(--tw-rotate,0)) skewX(var(--tw-skew-x,0)) skewY(var(--tw-skew-y,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1))",Fe=(e,t,n)=>e[0]&&(s=t.theme(n,e[1]||e[0]))&&{[`--tw-${n}-x`]:e[0]!=="y"&&s,[`--tw-${n}-y`]:e[0]!=="x"&&s,transform:[`${n}${e[1]?e[0].toUpperCase():""}(${s})`,Ee()]},st=e=>(t,n,r)=>r[1]?he(n.theme(e,t),r[1],e):R(e)(t,n,r),B=st("padding"),G=st("margin"),at=(e,{theme:t},n)=>(s={w:"width",h:"height"}[e[0]])&&{[s=`${n}${ue(s)}`]:t(s,g(e))},lt={group:(e,{tag:t},n)=>t(f([n,...e])),hidden:D(_,"none"),inline:_,block:_,contents:_,flow:_,table:(e,t,n)=>x(["auto","fixed"],e[0])?{tableLayout:e[0]}:_(e,t,n),flex(e,t,n){switch(e[0]){case"row":case"col":return {flexDirection:f(e[0]=="col"?["column",...g(e)]:e)};case"nowrap":case"wrap":return {flexWrap:f(e)};case"grow":case"shrink":return {[`flex-${e[0]}`]:e[1]||"1"}}return (s=t.theme("flex",e,""))?{flex:s}:_(e,t,n)},grid(e,t,n){switch(e[0]){case"cols":case"rows":return e.length>1&&{[`grid-template-${e[0]=="cols"?"columns":e[0]}`]:e.length==2&&Number(e[1])?`repeat(${e[1]},minmax(0,1fr))`:t.theme(`gridTemplate${ue(e[0]=="cols"?"columns":e[0])}`,g(e),f(g(e)," "))};case"flow":return e.length>1&&{gridAutoFlow:f(e[1]=="col"?["column",...g(e,2)]:g(e)," ")}}return _(e,t,n)},auto:e=>x(["cols","rows"],e[0])&&(s=e.length==2?{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0,1fr)"}[e[1]]||`minmax(0,${e[1]})`:e.length>2&&`minmax(${f(g(e),",")})`)&&{[`grid-auto-${e[0]=="cols"?"columns":"rows"}`]:s},static:se,fixed:se,absolute:se,relative:se,sticky:se,visible:{visibility:"visible"},invisible:{visibility:"hidden"},antialiased:{WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"},"subpixel-antialiased":{WebkitFontSmoothing:"auto",MozOsxFontSmoothing:"auto"},truncate:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},"sr-only":{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(0,0,0,0)",borderWidth:"0"},"not-sr-only":{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal",clip:"auto"},resize:e=>({resize:{x:"vertical",y:"horizontal"}[e[0]]||e[0]||"both"}),box:e=>({"box-sizing":e[0]&&`${e[0]}-box`}),appearance:b(),cursor:b(),float:b(),clear:b(),top:xe,right:xe,bottom:xe,left:xe,inset:(e,{theme:t})=>(s=ie(e[0]))?he(t("inset",g(e)),e[0]):(s=t("inset",e))&&{top:s,right:s,bottom:s,left:s},underline:X,"line-through":X,"no-underline":D(X,"none"),"text-underline":D(X,"underline"),"text-no-underline":D(X,"none"),"text-line-through":D(X,"line-through"),uppercase:Q,lowercase:Q,capitalize:Q,"normal-case":D(Q,"none"),"text-normal-case":D(Q,"none"),italic:be,"not-italic":D(be,"normal"),"font-italic":D(be,"italic"),"font-not-italic":D(be,"normal"),font:(e,t,n)=>(s=t.theme("fontFamily",e,""))?{fontFamily:s}:R("fontWeight")(e,t,n),items:e=>({alignItems:x(["start","end"],e[0])?`flex-${e[0]}`:f(e)}),"justify-self":b(),"justify-items":b(),justify:Pe("justifyContent"),content:Pe("alignContent"),self:Pe("alignSelf"),place:e=>rt("place-"+e[0],g(e)),overscroll:e=>({["overscrollBehavior"+(e[1]?"-"+e[0]:"")]:e[1]||e[0]}),col:it("column"),row:it("row"),duration:R("transitionDuration"),delay:R("transitionDelay"),tracking:R("letterSpacing"),leading:R("lineHeight"),z:R("zIndex"),opacity:R(),ease:R("transitionTimingFunction"),p:B,py:B,px:B,pt:B,pr:B,pb:B,pl:B,m:G,my:G,mx:G,mt:G,mr:G,mb:G,ml:G,w:R("width"),h:R("height"),min:at,max:at,fill:R(),order:R(),origin:b("transformOrigin"," "),select:b("userSelect"),"pointer-events":b(),align:b("verticalAlign"),whitespace:b("whiteSpace"),"normal-nums":{fontVariantNumeric:"normal"},ordinal:N("ordinal"),"slashed-zero":N("slashed-zero"),"lining-nums":N("numeric-figure"),"oldstyle-nums":N("numeric-figure"),"proportional-nums":N("numeric-spacing"),"tabular-nums":N("numeric-spacing"),"diagonal-fractions":N("numeric-fraction"),"stacked-fractions":N("numeric-fraction"),overflow:(e,t,n)=>x(["ellipsis","clip"],e[0])?b("textOverflow")(e):e[1]?{[`overflow-${e[0]}`]:e[1]}:b()(e,t,n),transform:e=>e[0]=="none"?{transform:"none"}:{"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1",transform:Ee(e[0]=="gpu")},rotate:(e,{theme:t})=>(s=t("rotate",e))&&{"--tw-rotate":s,transform:[`rotate(${s})`,Ee()]},scale:Fe,translate:Fe,skew:Fe,gap:(e,t,n)=>(s={x:"column",y:"row"}[e[0]])?{[s+"Gap"]:t.theme("gap",g(e))}:R("gap")(e,t,n),stroke:(e,t,n)=>(s=t.theme("stroke",e,""))?{stroke:s}:R("strokeWidth")(e,t,n),outline:(e,{theme:t})=>(s=t("outline",e))&&{outline:s[0],outlineOffset:s[1]},break(e){switch(e[0]){case"normal":return {wordBreak:"normal",overflowWrap:"normal"};case"words":return {overflowWrap:"break-word"};case"all":return {wordBreak:"break-all"}}},text(e,{theme:t},n){switch(e[0]){case"left":case"center":case"right":case"justify":return {textAlign:e[0]};case"uppercase":case"lowercase":case"capitalize":return Q([],s,e[0]);case"opacity":return ae(e,t,n)}let r=t("fontSize",e,"");return r?typeof r=="string"?{fontSize:r}:a({fontSize:r[0]},typeof r[1]=="string"?{lineHeight:r[1]}:r[1]):we("color","text",t("textColor",e))},bg(e,{theme:t},n){switch(e[0]){case"fixed":case"local":case"scroll":return b("backgroundAttachment",",")(e);case"bottom":case"center":case"left":case"right":case"top":return b("backgroundPosition"," ")(e);case"no":return e[1]=="repeat"&&b("backgroundRepeat")(e);case"auto":case"cover":case"contain":return b("backgroundSize")(e);case"repeat":return x("xy",e[1])?b("backgroundRepeat")(e):{"background-repeat":e[1]||e[0]};case"opacity":return ae(e,t,n,"background");case"clip":return {backgroundClip:e[1]+(e[1]=="text"?"":"-box")};case"gradient":if(e[1]=="to"&&(s=ie(e[2])))return {backgroundImage:`linear-gradient(to ${f(s," ")},var(--tw-gradient-stops))`}}return (s=t("backgroundImage",e,""))?{backgroundImage:s}:we("backgroundColor","bg",t("backgroundColor",e))},from:(e,{theme:t})=>(s=t("gradientColorStops",e))&&{"--tw-gradient-from":s,"--tw-gradient-stops":`var(--tw-gradient-from),var(--tw-gradient-to,${tt(s)})`},via:(e,{theme:t})=>(s=t("gradientColorStops",e))&&{"--tw-gradient-stops":`var(--tw-gradient-from),${s},var(--tw-gradient-to,${tt(s)})`},to:(e,{theme:t})=>({"--tw-gradient-to":t("gradientColorStops",e)}),border:(e,t,n)=>ie(e[0])?he(t.theme("borderWidth",g(e)),e[0],"border","width"):ot(e,t,n),divide:(e,t,n)=>(s=nt(e,t,n,"divideWidth","border","width")||ot(e,t,n))&&{"&>:not([hidden])~:not([hidden])":s},space:(e,t,n)=>(s=nt(e,t,n,"space","margin"))&&{"&>:not([hidden])~:not([hidden])":s},placeholder:(e,{theme:t},n)=>(s=e[0]=="opacity"?ae(e,t,n):we("color","placeholder",t("placeholderColor",e)))&&{"&::placeholder":s},shadow:(e,{theme:t})=>(s=t("boxShadow",e))&&{":global":{"*":{"--tw-shadow":"0 0 transparent"}},"--tw-shadow":s=="none"?"0 0 transparent":s,boxShadow:[s,"var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)"]},animate:(e,{theme:t,tag:n})=>{if(y=t("animation",e)){let r=y.split(" ");return (s=t("keyframes",r[0],V={}))!==V?(y=n(r[0]))&&{animation:y+" "+f(g(r)," "),["@keyframes "+y]:s}:{animation:y}}},ring(e,{theme:t},n){switch(e[0]){case"inset":return {"--tw-ring-inset":"inset"};case"opacity":return ae(e,t,n);case"offset":return (s=t("ringOffsetWidth",g(e),""))?{"--tw-ring-offset-width":s}:{"--tw-ring-offset-color":t("ringOffsetColor",g(e))}}return (s=t("ringWidth",e,""))?{"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${s} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,"box-shadow":"var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)",":global":{"*":{"--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":t("ringOffsetWidth","","0px"),"--tw-ring-offset-color":t("ringOffsetColor","","#fff"),"--tw-ring-color":ye(t("ringColor","","#93c5fd"),"ring-opacity",t("ringOpacity","","0.5")),"--tw-ring-offset-shadow":"0 0 transparent","--tw-ring-shadow":"0 0 transparent"}}}:{"--tw-ring-opacity":"1","--tw-ring-color":ye(t("ringColor",e),"ring-opacity")}},object:e=>x(["contain","cover","fill","none","scale"],e[0])?b("objectFit")(e):b("objectPosition"," ")(e),list:e=>b(x(["inside","outside"],e[0])?"listStylePosition":"listStyleType")(e),rounded:(e,t,n)=>et(t.theme("borderRadius",g(e),""),e[0],"border","radius")||R("borderRadius")(e,t,n),"transition-none":{"transition-property":"none"},transition:(e,{theme:t})=>({transitionProperty:t("transitionProperty",e),transitionTimingFunction:t("transitionTimingFunction",""),transitionDuration:t("transitionDuration","")}),container:(e,{theme:t})=>{let{screens:n=t("screens"),center:r,padding:o}=t("container"),i=l=>(s=o&&(typeof o=="string"?o:o[l]||o.DEFAULT))?{paddingRight:s,paddingLeft:s}:{};return Object.keys(n).reduce((l,d)=>((y=n[d])&&typeof y=="string"&&(l[I(y)]={"&":a({"max-width":y},i(d))}),l),a(a({width:"100%"},r?{marginRight:"auto",marginLeft:"auto"}:{}),i("xs")))}};var ct=e=>({":root":{tabSize:4},"body,blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre,fieldset,ol,ul":{margin:"0"},button:{backgroundColor:"transparent",backgroundImage:"none"},'button,[type="button"],[type="reset"],[type="submit"]':{WebkitAppearance:"button"},"button:focus":{outline:["1px dotted","5px auto -webkit-focus-ring-color"]},"fieldset,ol,ul,legend":{padding:"0"},"ol,ul":{listStyle:"none"},html:{lineHeight:"1.5",WebkitTextSizeAdjust:"100%",fontFamily:e("fontFamily.sans","ui-sans-serif,system-ui,sans-serif")},body:{fontFamily:"inherit",lineHeight:"inherit"},"*,::before,::after":{boxSizing:"border-box",border:`0 solid ${e("borderColor.DEFAULT","currentColor")}`},hr:{height:"0",color:"inherit",borderTopWidth:"1px"},img:{borderStyle:"solid"},textarea:{resize:"vertical"},"input::placeholder,textarea::placeholder":{opacity:"1",color:e("placeholderColor.DEFAULT",e("colors.gray.400","#a1a1aa"))},'button,[role="button"]':{cursor:"pointer"},table:{textIndent:"0",borderColor:"inherit",borderCollapse:"collapse"},"h1,h2,h3,h4,h5,h6":{fontSize:"inherit",fontWeight:"inherit"},a:{color:"inherit",textDecoration:"inherit"},"button,input,optgroup,select,textarea":{fontFamily:"inherit",fontSize:"100%",margin:"0",padding:"0",lineHeight:"inherit",color:"inherit"},"button,select":{textTransform:"none"},"::-moz-focus-inner":{borderStyle:"none",padding:"0"},":-moz-focusring":{outline:"1px dotted ButtonText"},":-moz-ui-invalid":{boxShadow:"none"},progress:{verticalAlign:"baseline"},"::-webkit-inner-spin-button,::-webkit-outer-spin-button":{height:"auto"},'[type="search"]':{WebkitAppearance:"textfield",outlineOffset:"-2px"},"::-webkit-search-decoration":{WebkitAppearance:"none"},"::-webkit-file-upload-button":{WebkitAppearance:"button",font:"inherit"},summary:{display:"list-item"},"abbr[title]":{textDecoration:"underline dotted"},"b,strong":{fontWeight:"bolder"},"pre,code,kbd,samp":{fontFamily:e("fontFamily","mono","ui-monospace,monospace"),fontSize:"1em"},"sub,sup":{fontSize:"75%",lineHeight:"0",position:"relative",verticalAlign:"baseline"},sub:{bottom:"-0.25em"},sup:{top:"-0.5em"},"img,svg,video,canvas,audio,iframe,embed,object":{display:"block",verticalAlign:"middle"},"img,video":{maxWidth:"100%",height:"auto"}});var dt={dark:"@media (prefers-color-scheme:dark)",sticky:"@supports ((position: -webkit-sticky) or (position:sticky))","motion-reduce":"@media (prefers-reduced-motion:reduce)","motion-safe":"@media (prefers-reduced-motion:no-preference)",first:"&:first-child",last:"&:last-child",even:"&:nth-child(2n)",odd:"&:nth-child(odd)",children:"&>*",siblings:"&~*",sibling:"&+*",override:"&&"};var gt="__twind",ut=e=>{let t=self[gt];return t||(t=document.head.appendChild(document.createElement("style")),t.id=gt,e&&(t.nonce=e),t.appendChild(document.createTextNode(""))),t};var Me=({nonce:e,target:t=ut(e).sheet}={})=>{let n=t.cssRules.length;return {target:t,insert:(r,o)=>t.insertRule(r,n+o)}},ze=()=>({target:null,insert:ge});var Se=e=>({unknown(t,n=[],r,o){r||this.report({id:"UNKNOWN_THEME_VALUE",key:f([t,...n],".")},o);},report(r){var{id:t}=r,n=Be(r,["id"]);let o=`[${t}] ${JSON.stringify(n)}`,i=(new Error(o).stack||o).split("at ");for(let l;(l=i.splice(1,1)[0])&&!/(^|\.)(tw|setup) /.test(l););return e(i.join("at "))}}),Ce=Se(e=>console.warn(e)),De=Se(e=>{throw new Error(e)}),Oe=Se(ge);var Wt=new Map([["align-self","-ms-grid-row-align"],["color-adjust","-webkit-print-color-adjust"],["column-gap","grid-column-gap"],["gap","grid-gap"],["grid-template-columns","-ms-grid-columns"],["grid-template-rows","-ms-grid-rows"],["justify-self","-ms-grid-column-align"],["margin-inline-end","-webkit-margin-end"],["margin-inline-start","-webkit-margin-start"],["overflow-wrap","word-wrap"],["padding-inline-end","-webkit-padding-end"],["padding-inline-start","-webkit-padding-start"],["row-gap","grid-row-gap"],["scroll-margin-bottom","scroll-snap-margin-bottom"],["scroll-margin-left","scroll-snap-margin-left"],["scroll-margin-right","scroll-snap-margin-right"],["scroll-margin-top","scroll-snap-margin-top"],["scroll-margin","scroll-snap-margin"],["text-combine-upright","-ms-text-combine-horizontal"]]);function ft(e){return Wt.get(e)}function pt(e){var t=/^(?:(text-(?:decoration$|e|or|si)|back(?:ground-cl|d|f)|box-d|(?:mask(?:$|-[ispro]|-cl)))|(tab-|column(?!-s)|text-align-l)|(ap)|(u|hy))/i.exec(e);return t?t[1]?1:t[2]?2:t[3]?3:5:0}function mt(e,t){var n=/^(?:(pos)|(background-i)|((?:max-|min-)?(?:block-s|inl|he|widt))|(dis))/i.exec(e);return n?n[1]?/^sti/i.test(t)?1:0:n[2]?/^image-/i.test(t)?1:0:n[3]?t[3]==="-"?2:0:/^(inline-)?grid$/i.test(t)?4:0:0}var F=(e,t,n)=>`${e}:${t}${n?" !important":""}`,We=(e,t,n)=>{let r="",o=ft(e);o&&(r+=`${F(o,t,n)};`);let i=pt(e);return i&1&&(r+=`-webkit-${F(e,t,n)};`),i&2&&(r+=`-moz-${F(e,t,n)};`),i&4&&(r+=`-ms-${F(e,t,n)};`),i=mt(e,t),i&1&&(r+=`${F(e,`-webkit-${t}`,n)};`),i&2&&(r+=`${F(e,`-moz-${t}`,n)};`),i&4&&(r+=`${F(e,`-ms-${t}`,n)};`),r+=F(e,t,n),r};var le=(e,t)=>{let n={};do for(let r=1;r<e;r++)n[`${r}/${e}`]=Number((r/e*100).toFixed(6))+"%";while(++e<=t);return n},U=(e,t,n=0)=>{let r={};for(;n<=e;n=n*2||1)r[n]=n+t;return r},j=(e,t="",n=1,r=0,o=1)=>{let i={};for(;r<=e;r+=o)i[r]=r/n+t;return i},k=e=>t=>t(e),jt=(e,{theme:t})=>t(...e),It=(...e)=>re(jt,e),Ht={screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},colors:{transparent:"transparent",current:"currentColor",black:"#000",white:"#fff",gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},yellow:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},green:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"},purple:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"}},spacing:a(a(a(a(a({px:"1px",0:"0px"},j(4,"rem",4,.5,.5)),j(12,"rem",4,5)),{14:"3.5rem"}),j(64,"rem",4,16,4)),{72:"18rem",80:"20rem",96:"24rem"}),durations:{75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},backgroundColor:k("colors"),backgroundImage:{none:"none"},backgroundOpacity:k("opacity"),borderColor:e=>a(a({},e("colors")),{DEFAULT:e("colors.gray.200","currentColor")}),borderOpacity:k("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderWidth:a({DEFAULT:"1px"},U(8,"px")),boxShadow:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",DEFAULT:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",inner:"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)",none:"none"},container:{},divideColor:k("borderColor"),divideOpacity:k("borderOpacity"),divideWidth:k("borderWidth"),fill:{current:"currentColor"},flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},fontFamily:{sans:'ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"'.split(","),serif:'ui-serif,Georgia,Cambria,"Times New Roman",Times,serif'.split(","),mono:'ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'.split(",")},fontSize:{xs:["0.75rem","1rem"],sm:["0.875rem","1.25rem"],base:["1rem","1.5rem"],lg:["1.125rem","1.75rem"],xl:["1.25rem","1.75rem"],"2xl":["1.5rem","2rem"],"3xl":["1.875rem","2.25rem"],"4xl":["2.25rem","2.5rem"],"5xl":["3rem","1"],"6xl":["3.75rem","1"],"7xl":["4.5rem","1"],"8xl":["6rem","1"],"9xl":["8rem","1"]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gridTemplateColumns:{},gridTemplateRows:{},gridColumn:{},gridRow:{},gap:k("spacing"),gradientColorStops:k("colors"),height:e=>a(a(a({auto:"auto"},e("spacing")),le(2,6)),{full:"100%",screen:"100vh"}),inset:e=>a(a(a({auto:"auto"},e("spacing")),le(2,4)),{full:"100%"}),keyframes:{spin:{from:{transform:"rotate(0deg)"},to:{transform:"rotate(360deg)"}},ping:{"0%":{transform:"scale(1)",opacity:"1"},"75%,100%":{transform:"scale(2)",opacity:"0"}},pulse:{"0%,100%":{opacity:"1"},"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:a({none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2"},j(10,"rem",4,3)),margin:e=>a({auto:"auto"},e("spacing")),maxHeight:e=>a(a({},e("spacing")),{full:"100%",screen:"100vh"}),maxWidth:(e,{breakpoints:t})=>a({none:"none",0:"0rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",prose:"65ch"},t(e("screens"))),minHeight:{0:"0px",full:"100%",screen:"100vh"},minWidth:{0:"0px",full:"100%",min:"min-content",max:"max-content"},opacity:a(a({},j(100,"",100,0,10)),{5:"0.05",25:"0.25",75:"0.75",95:"0.95"}),order:a({first:"-9999",last:"9999",none:"0"},j(12,"",1,1)),outline:{none:["2px solid transparent","2px"],white:["2px dotted white","2px"],black:["2px dotted black","2px"]},padding:k("spacing"),placeholderColor:k("colors"),placeholderOpacity:k("opacity"),ringColor:e=>a({DEFAULT:e("colors.blue.500","#3b82f6")},e("colors")),ringOffsetColor:k("colors"),ringOffsetWidth:U(8,"px"),ringOpacity:e=>a({DEFAULT:"0.5"},e("opacity")),ringWidth:a({DEFAULT:"3px"},U(8,"px")),rotate:a(a(a({},U(2,"deg")),U(12,"deg",3)),U(180,"deg",45)),scale:a(a({0:"0",50:".5",75:".75"},j(110,"",100,90,5)),{125:"1.25",150:"1.5"}),skew:a(a({},U(2,"deg")),U(12,"deg",3)),space:k("spacing"),stroke:{current:"currentColor"},strokeWidth:j(2),textColor:k("colors"),textOpacity:k("opacity"),transitionDuration:e=>a({DEFAULT:"150ms"},e("durations")),transitionDelay:k("durations"),transitionProperty:{none:"none",all:"all",DEFAULT:"background-color,border-color,color,fill,stroke,opacity,box-shadow,transform",colors:"background-color,border-color,color,fill,stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4,0,0.2,1)",linear:"linear",in:"cubic-bezier(0.4,0,1,1)",out:"cubic-bezier(0,0,0.2,1)","in-out":"cubic-bezier(0.4,0,0.2,1)"},translate:e=>a(a(a({},e("spacing")),le(2,4)),{full:"100%"}),width:e=>a(a(a(a({auto:"auto"},e("spacing")),le(2,6)),le(12,12)),{screen:"100vw",full:"100%",min:"min-content",max:"max-content"}),zIndex:a({auto:"auto"},j(50,"",1,0,10))},ht=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{let o=e[r];r=="DEFAULT"&&(t[f(n)]=o,t[f(n,".")]=o);let i=[...n,r];t[f(i)]=o,t[f(i,".")]=o,o&&typeof o=="object"&&ht(o,t,i);},t),t),_t={negative:()=>({}),breakpoints:e=>Object.keys(e).filter(t=>typeof e[t]=="string").reduce((t,n)=>(t["screen-"+n]=e[n],t),{})},bt=e=>{let t=new Map,n=a(a({},Ht),e),r=(i,l)=>{let d=i&&i[l],p=typeof d=="function"?d(o,_t):d;return p&&l=="colors"?ht(p):p},o=(i,l,d)=>{let p=i.split(".");i=p[0],p.length>1&&(d=l,l=f(g(p),"."));let T=t.get(i);if(T||t.set(i,T=a(a({},r(n,i)),r(n.extend,i))),l!=null){let O=T[(Array.isArray(l)?f(l):l)||"DEFAULT"];return O==null?d:Array.isArray(O)&&!x(["fontSize","outline"],i)?f(O,","):O}return T};return o};var xt=(e,t)=>(n,r)=>{if(typeof n.d=="function")return n.d(t);let o=n.d.split("-");if(!r&&o[0]=="tw"&&n.$==n.d)return n.$;for(let i=o.length;i;i--){let l=f(o.slice(0,i)),d=e[l];if(d)return typeof d=="function"?d(g(o,i),t,l):typeof d=="string"?t[r?"css":"tw"](d):d}};var ce,je=/^:(group(?:(?!-focus).+?)*)-(.+)$/,yt=(e,t,{theme:n,tag:r})=>{let o=(i,l)=>(ce=n("screens",g(l),""))?{[I(ce)]:i}:l==":dark"&&e=="class"?{[".dark &"]:i}:(ce=je.exec(l))?{[`.${pe(r(ce[1]))}:${ce[2]} &`]:i}:{[t[g(l)]||"&"+l]:i};return (i,l)=>l.v.reduceRight(o,i)};var P,Ie=e=>(((P=/(?:^|min-width: *)(\d+(?:.\d+)?)(p)?/.exec(e))?+P[1]/(P[2]?15:1)/10:0)&31)<<22,wt=e=>{P=0;for(let t=e.length;t--;)P+=x("-:,",e[t]);return P},He=e=>(wt(e)&15)<<18,Nt=["rst","st","en","d","nk","sited","pty","ecked","cus-w","ver","cus","cus-v","tive","sable","ad-on","tiona","quire"],Ut=e=>1<<(~(P=Nt.indexOf(e.replace(je,":$2").slice(3,8)))?P:17),St=(e,t)=>(n,r)=>n|((P=e("screens",g(r),""))?1<<27|Ie(I(P)):r==":dark"?1<<30:(P=t[r]||r)[0]=="@"?He(P):Ut(r)),Ct=e=>e[0]=="-"?0:wt(e)+((P=/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7}$)|([fl].{5}l|g.{8}$|pl))/.exec(e))?+!!P[1]||-!!P[2]:0)+1;var _e=(e,t)=>t+"{"+e+"}",Ne;(function(e){e[e.base=0]="base",e[e.components=1]="components",e[e.utilities=2]="utilities",e[e.css=3]="css";})(Ne||(Ne={}));var Tt=(e,t,n)=>{let{theme:r,tag:o}=n,i=(v,S)=>"--"+o(S),l=v=>`${v}`.replace(/--(tw-[\w-]+)\b/g,i),d=(v,S,$)=>(v=l(v),Array.isArray(S)?f(S.filter(Boolean).map(w=>e(v,l(w),$)),";"):e(v,l(S),$)),p,T=(v,S,$,w,M)=>{if(Array.isArray(w)){w.forEach(m=>m&&T(v,S,$,m,M));return}let W="",Y=0,K=0;w["@apply"]&&(w=Z(z($e(w["@apply"]),n),a(a({},w),{"@apply":void 0}),n)),Object.keys(w).forEach(m=>{let A=z(w[m],n);if(ve(m,A)){if(A!==""&&m.length>1){let C=Te(m);K+=1,Y=Math.max(Y,Ct(C)),W=(W&&W+";")+d(C,A,M);}}else if(A)if(m==":global"&&(m="@global"),m[0]=="@")if(m[1]=="g")T([],"",0,A,M);else if(m[1]=="f")T([],m,0,A,M);else if(m[1]=="k"){let C=p.length;T([],"",0,A,M);let c=p.splice(C,p.length-C);p.push({r:_e(f(c.map(u=>u.r),""),m),p:c.reduce((u,h)=>u+h.p,0)});}else m[1]=="i"?(Array.isArray(A)?A:[A]).forEach(C=>C&&p.push({p:0,r:`${m} ${C};`})):(m[2]=="c"&&(m=I(n.theme("screens",g(m,8).trim()))),T([...v,m],S,$|Ie(m)|He(m),A,M));else T(v,S?S.replace(/([^,])+/g,C=>m.replace(/([^,])+/g,c=>x(c,"&")?c.replace(/&/g,C):(C&&C+" ")+c)):m,$,A,M);}),K&&p.push({r:v.reduceRight(_e,_e(W,S)),p:$*(1<<8)+((Math.max(0,15-K)&15)<<4|(Y||15)&15)});},O=St(r,t);return (v,S,$,w=0)=>(w<<=28,p=[],T([],S?"."+pe(S):"",$?$.v.reduceRight(O,w):w,v,$&&$.i),p)};var vt=(e,t,n,r)=>{let o;n((l=[])=>o=l);let i;return n((l=new Set)=>i=l),({r:l,p:d})=>{if(!i.has(l)){i.add(l);let p=Ye(o,d);try{e.insert(l,p),o.splice(p,0,d);}catch(T){/:-[mwo]/.test(l)||t.report({id:"INJECT_CSS_ERROR",css:l,error:T},r);}}}};var Ue=(e,t,n,r=t)=>e===!1?n:e===!0?r:e||t,Lt=e=>(typeof e=="string"?{t:De,a:Ce,i:Oe}[e[1]]:e)||Ce,Vt=(e,t)=>e+(t[1]==":"?g(t,2)+":":g(t))+":",Rt=(e,t=e.d)=>typeof t=="function"?"":e.v.reduce(Vt,"")+(e.n?"-":"")+t+(e.i?"!":""),Bt={_:{value:"",writable:!0}},kt=(e={})=>{let t=bt(e.theme),n=Lt(e.mode),r=Ue(e.hash,!1,!1,ee),o={v:[]},i=0,l=[],d={tw:(...c)=>A(c),theme:(c,u,h)=>{u!=null&&!u.length&&(u="DEFAULT");let E=t(c,u,h)||n.unknown(c,u==null||Array.isArray(u)?u:u.split("."),h!=null,d);return o.n&&E&&typeof E=="string"?`calc(${E} * -1)`:E},tag:c=>r?r(c):c,css:c=>{i++;let u=l.length;try{(typeof c=="string"?ne([c]):c).forEach(m);let h=Object.create(null,Bt);for(let E=u;E<l.length;E++){let de=l[E];if(de)switch(typeof de){case"object":Z(h,de,d);break;case"string":h._+=(h._&&" ")+de;}}return h}finally{l.length=u,i--;}}},p=xt(a(a({},lt),e.plugins),d),T=c=>{let u=o;o=c;try{return z(p(c),d)}finally{o=u;}},O=a(a({},dt),e.variants),v=yt(e.darkMode||"media",O,d),S=Tt(Ue(e.prefix,We,F),O,d),$=e.sheet||(typeof window=="undefined"?ze():Me(e)),{init:w=c=>c()}=$,M=vt($,n,w,d),W;w((c=new Map)=>W=c);let Y=new WeakMap,K=(c,u)=>c=="_"?void 0:typeof u=="function"?JSON.stringify(z(u,d),K):u,m=c=>{!i&&o.v.length&&(c=a(a({},c),{v:[...o.v,...c.v],$:""})),c.$||(c.$=Rt(c,Y.get(c.d)));let u=i?null:W.get(c.$);if(u==null){let h=T(c);if(c.$||(c.$=ee(JSON.stringify(h,K)),Y.set(c.d,c.$),c.$=Rt(c,c.$)),h&&typeof h=="object")if(h=v(h,c),i)l.push(h);else {let E=typeof c.d=="function"?typeof h._=="string"?1:3:2;u=r||typeof c.d=="function"?(r||ee)(E+c.$):c.$,S(h,u,c,E).forEach(M),h._&&(u+=" "+h._);}else typeof h=="string"?u=h:(u=c.$,n.report({id:"UNKNOWN_DIRECTIVE",rule:u},d)),i&&typeof c.d!="function"&&l.push(u);i||(W.set(c.$,u),fe(W,3e4));}return u},A=c=>ne(c).map(m).filter(Boolean).join(" "),C=Ue(e.preflight,Ge,!1);if(C){let c=ct(t),u=S(typeof C=="function"?z(C(c,d),d)||c:a(a({},c),C));w((h=(u.forEach(M),!0))=>h);}return {init:()=>n.report({id:"LATE_SETUP_CALL"},d),process:A}};var Le=e=>{let t=i=>(n(),t(i)),n=i=>{({process:t,init:n}=kt(i));};e&&n(e);let r;return {tw:Object.defineProperties((...i)=>t(i),{theme:{get:(i=>()=>(r||t([l=>(r=l,"")]),r[i]))("theme")}}),setup:i=>n(i)}};var {tw:Gt,setup:Yt}=Le();exports.apply=$e;exports.autoprefix=We;exports.create=Le;exports.cssomSheet=Me;exports.directive=re;exports.hash=ee;exports.mode=Se;exports.noprefix=F;exports.setup=Yt;exports.silent=Oe;exports.strict=De;exports.theme=It;exports.tw=Gt;exports.voidSheet=ze;exports.warn=Ce;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=twind.umd.js.map | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports):typeof define==='function'&&define.amd?define(['exports'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twind={}));}(this,(function(exports){'use strict';var $t=Object.prototype.hasOwnProperty;var Ge=Object.getOwnPropertySymbols,Et=Object.prototype.propertyIsEnumerable;var a=Object.assign;var Ye=(e,t)=>{var n={};for(var r in e)$t.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ge)for(var r of Ge(e))t.indexOf(r)<0&&Et.call(e,r)&&(n[r]=e[r]);return n};var b=(e,t)=>!!~e.indexOf(t),u=(e,t="-")=>e.join(t),ee=(e,t)=>u(e.filter(Boolean),t),d=(e,t=1)=>e.slice(t),Ke=e=>e,ue=()=>{},I=e=>e[0].toUpperCase()+d(e),ve=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),M=(e,t)=>{for(;typeof e=="function";)e=e(t);return e},fe=(e,t)=>{e.size>t&&e.delete(e.keys().next().value);},ke=(e,t)=>!b("@:&",e[0])&&(b("rg",(typeof t)[5])||Array.isArray(t)),te=(e,t,n)=>t?Object.keys(t).reduce((r,s)=>{let o=M(t[s],n);return ke(s,o)?r[ve(s)]=o:r[s]=s[0]=="@"&&b("figa",s[1])?(r[s]||[]).concat(o):te(r[s]||{},o,n),r},e):e,pe=typeof CSS!="undefined"&&CSS.escape||(e=>{let t=e.charCodeAt(0),n="";return t>=48&&t<=57&&(n="\\"+t.toString(16)+" ",e=d(e)),n+e.replace(/[!./:#]/g,"\\$&")}),H=e=>(Array.isArray(e)||(e=[e]),"@media "+u(e.map(t=>(typeof t=="string"&&(t={min:t}),t.raw||u(Object.keys(t).map(n=>`(${n}-width:${t[n]})`)," and "))),",")),ne=e=>{let t=9;for(let n=e.length;n--;)t=Math.imul(t^e.charCodeAt(n),1597334677);return "tw-"+((t^t>>>9)>>>0).toString(36)},Je=(e,t)=>{let n=e.length;if(n==0)return 0;for(let r=0;r<n;){let s=n+r>>1;e[s]<=t?r=s+1:n=s;}return n};var _,X,B=(e="")=>(_.push(e),""),Ae=e=>{_.length=Math.max(_.lastIndexOf("")+~~e,0);},Ft=e=>e&&e[0]!=":",zt=e=>e[0]==":",Qe=(e,t,n)=>{X.push({v:_.filter(zt),d:e,n:t,i:n,$:""});},Xe=e=>{let t=e[0]=="-";t&&(e=d(e));let n=e[e.length-1]=="!";n&&(e=e.slice(0,-1));let r=u(_.filter(Ft));return Qe(e=="&"?r:(r&&r+"-")+e,t,n),""},re=(e,t)=>{let n,r="";for(let s=0;s<e.length;)switch(n=e[s++]){case":":r=r&&B(":"+(e[s]==n?e[s++]:"")+r);break;case"(":r=r&&B(r),B();break;case")":case" ":case" ":case` | ||
`:case"\r":r=r&&Xe(r),Ae(n!==")");break;default:r+=n;}r&&(t?B(":"+r):r.slice(-1)=="-"?B(r.slice(0,-1)):Xe(r));},qe=e=>{B(),me(e),Ae();},Mt=(e,t)=>{if(t){B();let n=b("tbu",(typeof t)[1]);re(e,n),n&&qe(t),Ae();}},me=e=>{switch(typeof e){case"string":re(e);break;case"function":Qe(e);break;case"object":Array.isArray(e)?e.forEach(qe):e&&Object.keys(e).forEach(t=>{Mt(t,e[t]);});}},Ze=new WeakMap,Dt=e=>{let t=Ze.get(e);if(!t){let n=NaN,r="";t=e.map((s,o)=>{if(n!==n&&b(":-(",(e[o+1]||"")[0])&&(n=o),o>=n)return p=>{o==n&&(r=""),r+=s,typeof p=="string"?r+=p:p&&(re(r),r="",me(p)),o==e.length-1&&re(r);};let l=X=[];re(s);let g=[..._];return X=[],p=>{X.push(...l),_=[...g],p&&me(p);}}),Ze.set(e,t);}return t},ie=e=>(_=[],X=[],Array.isArray(e[0])&&Array.isArray(e[0].raw)?Dt(e[0]).forEach((t,n)=>t(e[n+1])):me(e),X);var Pe,Ot=(e,t)=>(typeof t=="function"&&(Pe=!1),t),Wt=e=>{Pe=!0;let t=JSON.stringify(e,Ot);return Pe&&t},et=new WeakMap,oe=(e,t)=>{let n=Wt(t),r;if(n){var s=et.get(e);s||et.set(e,s=new Map),r=s.get(n);}return r||(r=Object.defineProperty((o,l)=>(l=Array.isArray(o)?l:o,M(e(t,l),l)),"toJSON",{value:()=>n||t}),s&&(s.set(n,r),fe(s,1e4))),r};var jt=(e,{css:t})=>t(ie(e)),$e=(...e)=>oe(jt,e);var tt=e=>(t,n,r,s)=>{if(t){let o=n&&e(n);if(o&&o.length>0)return o.reduce((l,g)=>(l[ee([r,g,s])]=t,l),{})}},nt=tt(e=>({t:["top-left","top-right"],r:["top-right","bottom-right"],b:["bottom-left","bottom-right"],l:["bottom-left","top-left"],tl:["top-left"],tr:["top-right"],bl:["bottom-left"],br:["bottom-right"]})[e]),se=e=>{let t=({x:"lr",y:"tb"}[e]||e||"").split("").sort();for(let n=t.length;n--;)if(!(t[n]={t:"top",r:"right",b:"bottom",l:"left"}[t[n]]))return;if(t.length)return t},he=tt(se);var i,G,x,be=e=>e=="cols"?"columns":"rows",ae=e=>(t,n,r)=>({[e]:r+((i=u(t))&&"-"+i)}),C=(e,t)=>(n,r,s)=>(i=u(n,t))&&{[e||s]:i},v=e=>(t,{theme:n},r)=>(i=n(e||r,t))&&{[e||r]:i},xe=(e,t)=>(n,{theme:r},s)=>(i=r(e||s,n,u(n,t)))&&{[e||s]:i},D=(e,t)=>(n,r)=>e(n,r,t),N=ae("display"),le=ae("position"),q=ae("textTransform"),Z=ae("textDecoration"),ye=ae("fontStyle"),U=e=>(t,n,r)=>({["--tw-"+e]:r,fontVariantNumeric:"var(--tw-ordinal,/*!*/ /*!*/) var(--tw-slashed-zero,/*!*/ /*!*/) var(--tw-numeric-figure,/*!*/ /*!*/) var(--tw-numeric-spacing,/*!*/ /*!*/) var(--tw-numeric-fraction,/*!*/ /*!*/)"}),we=(e,{theme:t},n)=>(i=t("inset",e))&&{[n]:i},ce=(e,t,n,r=n)=>(i=t(r+"Opacity",d(e)))&&{[`--tw-${n}-opacity`]:i},Ee=(e,t)=>Math.round(parseInt(e,16)*t),Se=(e,t,n)=>e&&e[0]=="#"?`rgba(${Ee(e.substr(1,i=(e.length-1)/3),x=[17,1,.062272][i-1])},${Ee(e.substr(1+i,i),x)},${Ee(e.substr(1+2*i,i),x)},${t?`var(--tw-${t}${n?","+n:""})`:n||1})`:e,Ce=(e,t,n)=>n&&(i=Se(n,t+"-opacity"))&&i!==n?{[`--tw-${t}-opacity`]:"1",[e]:[n,i]}:{[e]:n},rt=e=>(x=Se(e,"","0"))==i?"transparent":x,it=(e,{theme:t},n,r,s,o)=>(i={x:["right","left"],y:["bottom","top"]}[e[0]])&&(x=`--tw-${n}-${e[0]}-reverse`)?e[1]=="reverse"?{[x]:"1"}:{[x]:"0",[ee([s,i[0],o])]:(G=t(r,d(e)))&&`calc(${G} * var(${x}))`,[ee([s,i[1],o])]:G&&[G,`calc(${G} * calc(1 - var(${x})))`]}:void 0,ot=(e,t)=>t[0]&&{[e]:(b("wun",(t[0]||"")[3])?"space-":"")+t[0]},Fe=e=>t=>b(["start","end"],t[0])?{[e]:"flex-"+t[0]}:ot(e,t),st=e=>(t,{theme:n})=>{if(i=n("grid"+I(e),t,""))return {["grid-"+e]:i};switch(t[0]){case"span":return t[1]&&{["grid-"+e]:`span ${t[1]} / span ${t[1]}`};case"start":case"end":return (i=n("grid"+I(e)+I(t[0]),d(t),u(d(t))))&&{[`grid-${e}-${t[0]}`]:i}}},at=(e,{theme:t},n)=>{switch(e[0]){case"solid":case"dashed":case"dotted":case"double":case"none":return C("borderStyle")(e);case"collapse":case"separate":return C("borderCollapse")(e);case"opacity":return ce(e,t,n)}return (i=t(n+"Width",e,""))?{borderWidth:i}:Ce("borderColor",n,t(n+"Color",e))},ze=e=>(e?"translate3d(var(--tw-translate-x,0),var(--tw-translate-y,0),0)":"translateX(var(--tw-translate-x,0)) translateY(var(--tw-translate-y,0))")+" rotate(var(--tw-rotate,0)) skewX(var(--tw-skew-x,0)) skewY(var(--tw-skew-y,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1))",Me=(e,t,n)=>e[0]&&(i=t.theme(n,e[1]||e[0]))&&{[`--tw-${n}-x`]:e[0]!=="y"&&i,[`--tw-${n}-y`]:e[0]!=="x"&&i,transform:[`${n}${e[1]?e[0].toUpperCase():""}(${i})`,ze()]},lt=e=>(t,n,r)=>r[1]?he(n.theme(e,t),r[1],e):v(e)(t,n,r),Y=lt("padding"),K=lt("margin"),ct=(e,{theme:t},n)=>(i={w:"width",h:"height"}[e[0]])&&{[i=`${n}${I(i)}`]:t(i,d(e))},dt={group:(e,{tag:t},n)=>t(u([n,...e])),hidden:D(N,"none"),inline:N,block:N,contents:N,flow:N,table:(e,t,n)=>b(["auto","fixed"],e[0])?{tableLayout:e[0]}:N(e,t,n),flex(e,t,n){switch(e[0]){case"row":case"col":return {flexDirection:u(e[0]=="col"?["column",...d(e)]:e)};case"nowrap":case"wrap":return {flexWrap:u(e)};case"grow":case"shrink":return i=t.theme("flex"+I(e[0]),d(e),Number(e[1]||1)),i!=null&&{["flex-"+e[0]]:""+i}}return (i=t.theme("flex",e,""))?{flex:i}:N(e,t,n)},grid(e,t,n){switch(e[0]){case"cols":case"rows":return (i=t.theme("gridTemplate"+I(be(e[0])),d(e),e.length==2&&Number(e[1])?`repeat(${e[1]},minmax(0,1fr))`:u(d(e))))&&{["grid-template-"+be(e[0])]:i};case"flow":return e.length>1&&{gridAutoFlow:u(e[1]=="col"?["column",...d(e,2)]:d(e)," ")}}return N(e,t,n)},auto:(e,{theme:t})=>b(["cols","rows"],e[0])&&(i=t("gridAuto"+I(be(e[0])),d(e),u(d(e))))&&{["grid-auto-"+be(e[0])]:i},static:le,fixed:le,absolute:le,relative:le,sticky:le,visible:{visibility:"visible"},invisible:{visibility:"hidden"},antialiased:{WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"},"subpixel-antialiased":{WebkitFontSmoothing:"auto",MozOsxFontSmoothing:"auto"},truncate:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},"sr-only":{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(0,0,0,0)",borderWidth:"0"},"not-sr-only":{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal",clip:"auto"},resize:e=>({resize:{x:"vertical",y:"horizontal"}[e[0]]||e[0]||"both"}),box:e=>e[0]&&{"box-sizing":e[0]+"-box"},appearance:C(),cursor:xe(),float:C(),clear:C(),top:we,right:we,bottom:we,left:we,inset:(e,{theme:t})=>(i=se(e[0]))?he(t("inset",d(e)),e[0]):(i=t("inset",e))&&{top:i,right:i,bottom:i,left:i},underline:Z,"line-through":Z,"no-underline":D(Z,"none"),"text-underline":D(Z,"underline"),"text-no-underline":D(Z,"none"),"text-line-through":D(Z,"line-through"),uppercase:q,lowercase:q,capitalize:q,"normal-case":D(q,"none"),"text-normal-case":D(q,"none"),italic:ye,"not-italic":D(ye,"normal"),"font-italic":D(ye,"italic"),"font-not-italic":D(ye,"normal"),font:(e,t,n)=>(i=t.theme("fontFamily",e,""))?{fontFamily:i}:v("fontWeight")(e,t,n),items:e=>e[0]&&{alignItems:b(["start","end"],e[0])?"flex-"+e[0]:u(e)},"justify-self":C(),"justify-items":C(),justify:Fe("justifyContent"),content:Fe("alignContent"),self:Fe("alignSelf"),place:e=>e[0]&&ot("place-"+e[0],d(e)),overscroll:e=>e[0]&&{["overscrollBehavior"+(e[1]?"-"+e[0]:"")]:e[1]||e[0]},col:st("column"),row:st("row"),duration:v("transitionDuration"),delay:v("transitionDelay"),tracking:v("letterSpacing"),leading:v("lineHeight"),z:v("zIndex"),opacity:v(),ease:v("transitionTimingFunction"),p:Y,py:Y,px:Y,pt:Y,pr:Y,pb:Y,pl:Y,m:K,my:K,mx:K,mt:K,mr:K,mb:K,ml:K,w:v("width"),h:v("height"),min:ct,max:ct,fill:v(),order:v(),origin:xe("transformOrigin"," "),select:C("userSelect"),"pointer-events":C(),align:C("verticalAlign"),whitespace:C("whiteSpace"),"normal-nums":{fontVariantNumeric:"normal"},ordinal:U("ordinal"),"slashed-zero":U("slashed-zero"),"lining-nums":U("numeric-figure"),"oldstyle-nums":U("numeric-figure"),"proportional-nums":U("numeric-spacing"),"tabular-nums":U("numeric-spacing"),"diagonal-fractions":U("numeric-fraction"),"stacked-fractions":U("numeric-fraction"),overflow:(e,t,n)=>b(["ellipsis","clip"],e[0])?C("textOverflow")(e):e[1]?{["overflow-"+e[0]]:e[1]}:C()(e,t,n),transform:e=>e[0]=="none"?{transform:"none"}:{"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1",transform:ze(e[0]=="gpu")},rotate:(e,{theme:t})=>(i=t("rotate",e))&&{"--tw-rotate":i,transform:[`rotate(${i})`,ze()]},scale:Me,translate:Me,skew:Me,gap:(e,t,n)=>(i={x:"column",y:"row"}[e[0]])?{[i+"Gap"]:t.theme("gap",d(e))}:v("gap")(e,t,n),stroke:(e,t,n)=>(i=t.theme("stroke",e,""))?{stroke:i}:v("strokeWidth")(e,t,n),outline:(e,{theme:t})=>(i=t("outline",e))&&{outline:i[0],outlineOffset:i[1]},"break-normal":{wordBreak:"normal",overflowWrap:"normal"},"break-words":{overflowWrap:"break-word"},"break-all":{wordBreak:"break-all"},text(e,{theme:t},n){switch(e[0]){case"left":case"center":case"right":case"justify":return {textAlign:e[0]};case"uppercase":case"lowercase":case"capitalize":return q([],i,e[0]);case"opacity":return ce(e,t,n)}let r=t("fontSize",e,"");return r?typeof r=="string"?{fontSize:r}:a({fontSize:r[0]},typeof r[1]=="string"?{lineHeight:r[1]}:r[1]):Ce("color","text",t("textColor",e))},bg(e,{theme:t},n){switch(e[0]){case"fixed":case"local":case"scroll":return C("backgroundAttachment",",")(e);case"bottom":case"center":case"left":case"right":case"top":return C("backgroundPosition"," ")(e);case"no":return e[1]=="repeat"&&C("backgroundRepeat")(e);case"repeat":return b("xy",e[1])?C("backgroundRepeat")(e):{"background-repeat":e[1]||e[0]};case"opacity":return ce(e,t,n,"background");case"clip":return e[1]&&{backgroundClip:e[1]+(e[1]=="text"?"":"-box")};case"gradient":if(e[1]=="to"&&(i=se(e[2])))return {backgroundImage:`linear-gradient(to ${u(i," ")},var(--tw-gradient-stops))`}}return (i=t("backgroundPosition",e,""))?{backgroundPosition:i}:(i=t("backgroundSize",e,""))?{backgroundSize:i}:(i=t("backgroundImage",e,""))?{backgroundImage:i}:Ce("backgroundColor","bg",t("backgroundColor",e))},from:(e,{theme:t})=>(i=t("gradientColorStops",e))&&{"--tw-gradient-from":i,"--tw-gradient-stops":`var(--tw-gradient-from),var(--tw-gradient-to,${rt(i)})`},via:(e,{theme:t})=>(i=t("gradientColorStops",e))&&{"--tw-gradient-stops":`var(--tw-gradient-from),${i},var(--tw-gradient-to,${rt(i)})`},to:(e,{theme:t})=>(i=t("gradientColorStops",e))&&{"--tw-gradient-to":i},border:(e,t,n)=>se(e[0])?he(t.theme("borderWidth",d(e)),e[0],"border","width"):at(e,t,n),divide:(e,t,n)=>(i=it(e,t,n,"divideWidth","border","width")||at(e,t,n))&&{"&>:not([hidden])~:not([hidden])":i},space:(e,t,n)=>(i=it(e,t,n,"space","margin"))&&{"&>:not([hidden])~:not([hidden])":i},placeholder:(e,{theme:t},n)=>(i=e[0]=="opacity"?ce(e,t,n):Ce("color","placeholder",t("placeholderColor",e)))&&{"&::placeholder":i},shadow:(e,{theme:t})=>(i=t("boxShadow",e))&&{":global":{"*":{"--tw-shadow":"0 0 transparent"}},"--tw-shadow":i=="none"?"0 0 transparent":i,boxShadow:[i,"var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)"]},animate:(e,{theme:t,tag:n})=>{if(x=t("animation",e)){let r=x.split(" ");return (i=t("keyframes",r[0],G={}))!==G?(x=n(r[0]))&&{animation:x+" "+u(d(r)," "),["@keyframes "+x]:i}:{animation:x}}},ring(e,{theme:t},n){switch(e[0]){case"inset":return {"--tw-ring-inset":"inset"};case"opacity":return ce(e,t,n);case"offset":return (i=t("ringOffsetWidth",d(e),""))?{"--tw-ring-offset-width":i}:{"--tw-ring-offset-color":t("ringOffsetColor",d(e))}}return (i=t("ringWidth",e,""))?{"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${i} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,"box-shadow":"var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)",":global":{"*":{"--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":t("ringOffsetWidth","","0px"),"--tw-ring-offset-color":t("ringOffsetColor","","#fff"),"--tw-ring-color":Se(t("ringColor","","#93c5fd"),"ring-opacity",t("ringOpacity","","0.5")),"--tw-ring-offset-shadow":"0 0 transparent","--tw-ring-shadow":"0 0 transparent"}}}:{"--tw-ring-opacity":"1","--tw-ring-color":Se(t("ringColor",e),"ring-opacity")}},object:(e,t,n)=>b(["contain","cover","fill","none","scale-down"],u(e))?{objectFit:u(e)}:xe("objectPosition"," ")(e,t,n),list:(e,t,n)=>b(["inside","outside"],u(e))?{listStylePosition:e[0]}:xe("listStyleType")(e,t,n),rounded:(e,t,n)=>nt(t.theme("borderRadius",d(e),""),e[0],"border","radius")||v("borderRadius")(e,t,n),"transition-none":{"transition-property":"none"},transition:(e,{theme:t})=>({transitionProperty:t("transitionProperty",e),transitionTimingFunction:t("transitionTimingFunction",""),transitionDuration:t("transitionDuration","")}),container:(e,{theme:t})=>{let{screens:n=t("screens"),center:r,padding:s}=t("container"),o=l=>(i=s&&(typeof s=="string"?s:s[l]||s.DEFAULT))?{paddingRight:i,paddingLeft:i}:{};return Object.keys(n).reduce((l,g)=>((x=n[g])&&typeof x=="string"&&(l[H(x)]={"&":a({"max-width":x},o(g))}),l),a(a({width:"100%"},r?{marginRight:"auto",marginLeft:"auto"}:{}),o("xs")))}};var gt=e=>({":root":{tabSize:4},"body,blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre,fieldset,ol,ul":{margin:"0"},button:{backgroundColor:"transparent",backgroundImage:"none"},'button,[type="button"],[type="reset"],[type="submit"]':{WebkitAppearance:"button"},"button:focus":{outline:["1px dotted","5px auto -webkit-focus-ring-color"]},"fieldset,ol,ul,legend":{padding:"0"},"ol,ul":{listStyle:"none"},html:{lineHeight:"1.5",WebkitTextSizeAdjust:"100%",fontFamily:e("fontFamily.sans","ui-sans-serif,system-ui,sans-serif")},body:{fontFamily:"inherit",lineHeight:"inherit"},"*,::before,::after":{boxSizing:"border-box",border:`0 solid ${e("borderColor.DEFAULT","currentColor")}`},hr:{height:"0",color:"inherit",borderTopWidth:"1px"},img:{borderStyle:"solid"},textarea:{resize:"vertical"},"input::placeholder,textarea::placeholder":{opacity:"1",color:e("placeholderColor.DEFAULT",e("colors.gray.400","#a1a1aa"))},'button,[role="button"]':{cursor:"pointer"},table:{textIndent:"0",borderColor:"inherit",borderCollapse:"collapse"},"h1,h2,h3,h4,h5,h6":{fontSize:"inherit",fontWeight:"inherit"},a:{color:"inherit",textDecoration:"inherit"},"button,input,optgroup,select,textarea":{fontFamily:"inherit",fontSize:"100%",margin:"0",padding:"0",lineHeight:"inherit",color:"inherit"},"button,select":{textTransform:"none"},"::-moz-focus-inner":{borderStyle:"none",padding:"0"},":-moz-focusring":{outline:"1px dotted ButtonText"},":-moz-ui-invalid":{boxShadow:"none"},progress:{verticalAlign:"baseline"},"::-webkit-inner-spin-button,::-webkit-outer-spin-button":{height:"auto"},'[type="search"]':{WebkitAppearance:"textfield",outlineOffset:"-2px"},"::-webkit-search-decoration":{WebkitAppearance:"none"},"::-webkit-file-upload-button":{WebkitAppearance:"button",font:"inherit"},summary:{display:"list-item"},"abbr[title]":{textDecoration:"underline dotted"},"b,strong":{fontWeight:"bolder"},"pre,code,kbd,samp":{fontFamily:e("fontFamily","mono","ui-monospace,monospace"),fontSize:"1em"},"sub,sup":{fontSize:"75%",lineHeight:"0",position:"relative",verticalAlign:"baseline"},sub:{bottom:"-0.25em"},sup:{top:"-0.5em"},"img,svg,video,canvas,audio,iframe,embed,object":{display:"block",verticalAlign:"middle"},"img,video":{maxWidth:"100%",height:"auto"}});var ut={dark:"@media (prefers-color-scheme:dark)",sticky:"@supports ((position: -webkit-sticky) or (position:sticky))","motion-reduce":"@media (prefers-reduced-motion:reduce)","motion-safe":"@media (prefers-reduced-motion:no-preference)",first:"&:first-child",last:"&:last-child",even:"&:nth-child(2n)",odd:"&:nth-child(odd)",children:"&>*",siblings:"&~*",sibling:"&+*",override:"&&"};var ft="__twind",pt=e=>{let t=self[ft];return t||(t=document.head.appendChild(document.createElement("style")),t.id=ft,e&&(t.nonce=e),t.appendChild(document.createTextNode(""))),t};var De=({nonce:e,target:t=pt(e).sheet}={})=>{let n=t.cssRules.length;return {target:t,insert:(r,s)=>t.insertRule(r,n+s)}},Oe=()=>({target:null,insert:ue});var Te=e=>({unknown(t,n=[],r,s){r||this.report({id:"UNKNOWN_THEME_VALUE",key:t+"."+u(n)},s);},report(r){var{id:t}=r,n=Ye(r,["id"]);let s=`[${t}] ${JSON.stringify(n)}`,o=(new Error(s).stack||s).split("at ");for(let l;(l=o.splice(1,1)[0])&&!/(^|\.)(tw|setup) /.test(l););return e(o.join("at "))}}),Re=Te(e=>console.warn(e)),We=Te(e=>{throw new Error(e)}),je=Te(ue);var It=new Map([["align-self","-ms-grid-row-align"],["color-adjust","-webkit-print-color-adjust"],["column-gap","grid-column-gap"],["gap","grid-gap"],["grid-template-columns","-ms-grid-columns"],["grid-template-rows","-ms-grid-rows"],["justify-self","-ms-grid-column-align"],["margin-inline-end","-webkit-margin-end"],["margin-inline-start","-webkit-margin-start"],["overflow-wrap","word-wrap"],["padding-inline-end","-webkit-padding-end"],["padding-inline-start","-webkit-padding-start"],["row-gap","grid-row-gap"],["scroll-margin-bottom","scroll-snap-margin-bottom"],["scroll-margin-left","scroll-snap-margin-left"],["scroll-margin-right","scroll-snap-margin-right"],["scroll-margin-top","scroll-snap-margin-top"],["scroll-margin","scroll-snap-margin"],["text-combine-upright","-ms-text-combine-horizontal"]]);function mt(e){return It.get(e)}function ht(e){var t=/^(?:(text-(?:decoration$|e|or|si)|back(?:ground-cl|d|f)|box-d|(?:mask(?:$|-[ispro]|-cl)))|(tab-|column(?!-s)|text-align-l)|(ap)|(u|hy))/i.exec(e);return t?t[1]?1:t[2]?2:t[3]?3:5:0}function bt(e,t){var n=/^(?:(pos)|(background-i)|((?:max-|min-)?(?:block-s|inl|he|widt))|(dis))/i.exec(e);return n?n[1]?/^sti/i.test(t)?1:0:n[2]?/^image-/i.test(t)?1:0:n[3]?t[3]==="-"?2:0:/^(inline-)?grid$/i.test(t)?4:0:0}var F=(e,t,n)=>`${e}:${t}${n?" !important":""}`,Ie=(e,t,n)=>{let r="",s=mt(e);s&&(r+=`${F(s,t,n)};`);let o=ht(e);return o&1&&(r+=`-webkit-${F(e,t,n)};`),o&2&&(r+=`-moz-${F(e,t,n)};`),o&4&&(r+=`-ms-${F(e,t,n)};`),o=bt(e,t),o&1&&(r+=`${F(e,`-webkit-${t}`,n)};`),o&2&&(r+=`${F(e,`-moz-${t}`,n)};`),o&4&&(r+=`${F(e,`-ms-${t}`,n)};`),r+=F(e,t,n),r};var de=(e,t)=>{let n={};do for(let r=1;r<e;r++)n[`${r}/${e}`]=Number((r/e*100).toFixed(6))+"%";while(++e<=t);return n},L=(e,t,n=0)=>{let r={};for(;n<=e;n=n*2||1)r[n]=n+t;return r},j=(e,t="",n=1,r=0,s=1,o={})=>{for(;r<=e;r+=s)o[r]=r/n+t;return o},k=e=>t=>t(e),Ht=(e,{theme:t})=>t(...e),_t=(...e)=>oe(Ht,e),Nt={screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},colors:{transparent:"transparent",current:"currentColor",black:"#000",white:"#fff",gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},yellow:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},green:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"},purple:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"}},spacing:a(a(a(a(a({px:"1px",0:"0px"},j(4,"rem",4,.5,.5)),j(12,"rem",4,5)),{14:"3.5rem"}),j(64,"rem",4,16,4)),{72:"18rem",80:"20rem",96:"24rem"}),durations:{75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},backgroundColor:k("colors"),backgroundImage:{none:"none"},backgroundOpacity:k("opacity"),backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},borderColor:e=>a(a({},e("colors")),{DEFAULT:e("colors.gray.200","currentColor")}),borderOpacity:k("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderWidth:a({DEFAULT:"1px"},L(8,"px")),boxShadow:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",DEFAULT:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",inner:"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)",none:"none"},divideColor:k("borderColor"),divideOpacity:k("borderOpacity"),divideWidth:k("borderWidth"),fill:{current:"currentColor"},flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},fontFamily:{sans:'ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"'.split(","),serif:'ui-serif,Georgia,Cambria,"Times New Roman",Times,serif'.split(","),mono:'ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'.split(",")},fontSize:{xs:["0.75rem","1rem"],sm:["0.875rem","1.25rem"],base:["1rem","1.5rem"],lg:["1.125rem","1.75rem"],xl:["1.25rem","1.75rem"],"2xl":["1.5rem","2rem"],"3xl":["1.875rem","2.25rem"],"4xl":["2.25rem","2.5rem"],"5xl":["3rem","1"],"6xl":["3.75rem","1"],"7xl":["4.5rem","1"],"8xl":["6rem","1"],"9xl":["8rem","1"]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gridTemplateColumns:{},gridTemplateRows:{},gridAutoColumns:{min:"min-content",max:"max-content",fr:"minmax(0,1fr)"},gridAutoRows:{min:"min-content",max:"max-content",fr:"minmax(0,1fr)"},gridColumn:{auto:"auto","span-full":"1 / -1"},gridRow:{auto:"auto","span-full":"1 / -1"},gap:k("spacing"),gradientColorStops:k("colors"),height:e=>a(a(a({auto:"auto"},e("spacing")),de(2,6)),{full:"100%",screen:"100vh"}),inset:e=>a(a(a({auto:"auto"},e("spacing")),de(2,4)),{full:"100%"}),keyframes:{spin:{from:{transform:"rotate(0deg)"},to:{transform:"rotate(360deg)"}},ping:{"0%":{transform:"scale(1)",opacity:"1"},"75%,100%":{transform:"scale(2)",opacity:"0"}},pulse:{"0%,100%":{opacity:"1"},"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:a({none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2"},j(10,"rem",4,3)),margin:e=>a({auto:"auto"},e("spacing")),maxHeight:e=>a(a({},e("spacing")),{full:"100%",screen:"100vh"}),maxWidth:(e,{breakpoints:t})=>a({none:"none",0:"0rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",prose:"65ch"},t(e("screens"))),minHeight:{0:"0px",full:"100%",screen:"100vh"},minWidth:{0:"0px",full:"100%",min:"min-content",max:"max-content"},opacity:a(a({},j(100,"",100,0,10)),{5:"0.05",25:"0.25",75:"0.75",95:"0.95"}),order:a({first:"-9999",last:"9999",none:"0"},j(12,"",1,1)),outline:{none:["2px solid transparent","2px"],white:["2px dotted white","2px"],black:["2px dotted black","2px"]},padding:k("spacing"),placeholderColor:k("colors"),placeholderOpacity:k("opacity"),ringColor:e=>a({DEFAULT:e("colors.blue.500","#3b82f6")},e("colors")),ringOffsetColor:k("colors"),ringOffsetWidth:L(8,"px"),ringOpacity:e=>a({DEFAULT:"0.5"},e("opacity")),ringWidth:a({DEFAULT:"3px"},L(8,"px")),rotate:a(a(a({},L(2,"deg")),L(12,"deg",3)),L(180,"deg",45)),scale:a(a({0:"0",50:".5",75:".75"},j(110,"",100,90,5)),{125:"1.25",150:"1.5"}),skew:a(a({},L(2,"deg")),L(12,"deg",3)),space:k("spacing"),stroke:{current:"currentColor"},strokeWidth:j(2),textColor:k("colors"),textOpacity:k("opacity"),transitionDuration:e=>a({DEFAULT:"150ms"},e("durations")),transitionDelay:k("durations"),transitionProperty:{none:"none",all:"all",DEFAULT:"background-color,border-color,color,fill,stroke,opacity,box-shadow,transform",colors:"background-color,border-color,color,fill,stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4,0,0.2,1)",linear:"linear",in:"cubic-bezier(0.4,0,1,1)",out:"cubic-bezier(0,0,0.2,1)","in-out":"cubic-bezier(0.4,0,0.2,1)"},translate:e=>a(a(a({},e("spacing")),de(2,4)),{full:"100%"}),width:e=>a(a(a(a({auto:"auto"},e("spacing")),de(2,6)),de(12,12)),{screen:"100vw",full:"100%",min:"min-content",max:"max-content"}),zIndex:a({auto:"auto"},j(50,"",1,0,10))},xt=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{let s=e[r];r=="DEFAULT"&&(t[u(n)]=s,t[u(n,".")]=s);let o=[...n,r];t[u(o)]=s,t[u(o,".")]=s,s&&typeof s=="object"&&xt(s,t,o);},t),t),Ut={negative:()=>({}),breakpoints:e=>Object.keys(e).filter(t=>typeof e[t]=="string").reduce((t,n)=>(t["screen-"+n]=e[n],t),{})},yt=e=>{let t=new Map,n=a(a({},Nt),e),r=(o,l)=>{let g=o&&o[l],p=typeof g=="function"?g(s,Ut):g;return p&&l=="colors"?xt(p):p},s=(o,l,g)=>{let p=o.split(".");o=p[0],p.length>1&&(g=l,l=u(d(p),"."));let T=t.get(o);if(T||t.set(o,T=a(a({},r(n,o)),r(n.extend,o))),l!=null){let O=T[(Array.isArray(l)?u(l):l)||"DEFAULT"];return O==null?g:Array.isArray(O)&&!b(["fontSize","outline"],o)?u(O,","):O}return T};return s};var wt=(e,t)=>(n,r)=>{if(typeof n.d=="function")return n.d(t);let s=n.d.split("-");if(!r&&s[0]=="tw"&&n.$==n.d)return n.$;for(let o=s.length;o;o--){let l=u(s.slice(0,o)),g=e[l];if(g)return typeof g=="function"?g(d(s,o),t,l):typeof g=="string"?t[r?"css":"tw"](g):g}};var ge,He=/^:(group(?:(?!-focus).+?)*)-(.+)$/,St=(e,t,{theme:n,tag:r})=>{let s=(o,l)=>(ge=n("screens",d(l),""))?{[H(ge)]:o}:l==":dark"&&e=="class"?{[".dark &"]:o}:(ge=He.exec(l))?{[`.${pe(r(ge[1]))}:${ge[2]} &`]:o}:{[t[d(l)]||"&"+l]:o};return (o,l)=>l.v.reduceRight(s,o)};var $,_e=e=>((($=/(?:^|min-width: *)(\d+(?:.\d+)?)(p)?/.exec(e))?+$[1]/($[2]?15:1)/10:0)&31)<<22,Ct=e=>{$=0;for(let t=e.length;t--;)$+=b("-:,",e[t]);return $},Ne=e=>(Ct(e)&15)<<18,Lt=["rst","st","en","d","nk","sited","pty","ecked","cus-w","ver","cus","cus-v","tive","sable","ad-on","tiona","quire"],Vt=e=>1<<(~($=Lt.indexOf(e.replace(He,":$2").slice(3,8)))?$:17),Tt=(e,t)=>(n,r)=>n|(($=e("screens",d(r),""))?1<<27|_e(H($)):r==":dark"?1<<30:($=t[r]||r)[0]=="@"?Ne($):Vt(r)),Rt=e=>e[0]=="-"?0:Ct(e)+(($=/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7}$)|([fl].{5}l|g.{8}$|pl))/.exec(e))?+!!$[1]||-!!$[2]:0)+1;var Ue=(e,t)=>t+"{"+e+"}",Le;(function(e){e[e.base=0]="base",e[e.components=1]="components",e[e.utilities=2]="utilities",e[e.css=3]="css";})(Le||(Le={}));var vt=(e,t,n)=>{let{theme:r,tag:s}=n,o=(R,w)=>"--"+s(w),l=R=>`${R}`.replace(/--(tw-[\w-]+)\b/g,o),g=(R,w,A)=>(R=l(R),Array.isArray(w)?u(w.filter(Boolean).map(y=>e(R,l(y),A)),";"):e(R,l(w),A)),p,T=(R,w,A,y,z)=>{if(Array.isArray(y)){y.forEach(m=>m&&T(R,w,A,m,z));return}let W="",J=0,Q=0;y["@apply"]&&(y=te(M($e(y["@apply"]),n),a(a({},y),{"@apply":void 0}),n)),Object.keys(y).forEach(m=>{let P=M(y[m],n);if(ke(m,P)){if(P!==""&&m.length>1){let S=ve(m);Q+=1,J=Math.max(J,Rt(S)),W=(W&&W+";")+g(S,P,z);}}else if(P)if(m==":global"&&(m="@global"),m[0]=="@")if(m[1]=="g")T([],"",0,P,z);else if(m[1]=="f")T([],m,0,P,z);else if(m[1]=="k"){let S=p.length;T([],"",0,P,z);let c=p.splice(S,p.length-S);p.push({r:Ue(u(c.map(f=>f.r),""),m),p:c.reduce((f,h)=>f+h.p,0)});}else m[1]=="i"?(Array.isArray(P)?P:[P]).forEach(S=>S&&p.push({p:0,r:`${m} ${S};`})):(m[2]=="c"&&(m=H(n.theme("screens",d(m,8).trim()))),T([...R,m],w,A|_e(m)|Ne(m),P,z));else T(R,w?w.replace(/([^,])+/g,S=>m.replace(/([^,])+/g,c=>b(c,"&")?c.replace(/&/g,S):(S&&S+" ")+c)):m,A,P,z);}),Q&&p.push({r:R.reduceRight(Ue,Ue(W,w)),p:A*(1<<8)+((Math.max(0,15-Q)&15)<<4|(J||15)&15)});},O=Tt(r,t);return (R,w,A,y=0)=>(y<<=28,p=[],T([],w?"."+pe(w):"",A?A.v.reduceRight(O,y):y,R,A&&A.i),p)};var kt=(e,t,n,r)=>{let s;n((l=[])=>s=l);let o;return n((l=new Set)=>o=l),({r:l,p:g})=>{if(!o.has(l)){o.add(l);let p=Je(s,g);try{e.insert(l,p),s.splice(p,0,g);}catch(T){/:-[mwo]/.test(l)||t.report({id:"INJECT_CSS_ERROR",css:l,error:T},r);}}}};var Ve=(e,t,n,r=t)=>e===!1?n:e===!0?r:e||t,Bt=e=>(typeof e=="string"?{t:We,a:Re,i:je}[e[1]]:e)||Re,Gt=(e,t)=>e+(t[1]==":"?d(t,2)+":":d(t))+":",At=(e,t=e.d)=>typeof t=="function"?"":e.v.reduce(Gt,"")+(e.n?"-":"")+t+(e.i?"!":""),Yt={_:{value:"",writable:!0}},Pt=(e={})=>{let t=yt(e.theme),n=Bt(e.mode),r=Ve(e.hash,!1,!1,ne),s={v:[]},o=0,l=[],g={tw:(...c)=>P(c),theme:(c,f,h)=>{var V;f!=null&&!f.length&&(f="DEFAULT");let E=(V=t(c,f,h))!=null?V:n.unknown(c,f==null||Array.isArray(f)?f:f.split("."),h!=null,g);return s.n&&E&&typeof E=="string"?`calc(${E} * -1)`:E},tag:c=>r?r(c):c,css:c=>{o++;let f=l.length;try{(typeof c=="string"?ie([c]):c).forEach(m);let h=Object.create(null,Yt);for(let E=f;E<l.length;E++){let V=l[E];if(V)switch(typeof V){case"object":te(h,V,g);break;case"string":h._+=(h._&&" ")+V;}}return h}finally{l.length=f,o--;}}},p=wt(a(a({},dt),e.plugins),g),T=c=>{let f=s;s=c;try{return M(p(c),g)}finally{s=f;}},O=a(a({},ut),e.variants),R=St(e.darkMode||"media",O,g),w=vt(Ve(e.prefix,Ie,F),O,g),A=e.sheet||(typeof window=="undefined"?Oe():De(e)),{init:y=c=>c()}=A,z=kt(A,n,y,g),W;y((c=new Map)=>W=c);let J=new WeakMap,Q=(c,f)=>c=="_"?void 0:typeof f=="function"?JSON.stringify(M(f,g),Q):f,m=c=>{!o&&s.v.length&&(c=a(a({},c),{v:[...s.v,...c.v],$:""})),c.$||(c.$=At(c,J.get(c.d)));let f=o?null:W.get(c.$);if(f==null){let h=T(c);if(c.$||(c.$=ne(JSON.stringify(h,Q)),J.set(c.d,c.$),c.$=At(c,c.$)),h&&typeof h=="object")if(h=R(h,c),o)l.push(h);else {let E=typeof c.d=="function"?typeof h._=="string"?1:3:2;f=r||typeof c.d=="function"?(r||ne)(E+c.$):c.$,w(h,f,c,E).forEach(z),h._&&(f+=" "+h._);}else typeof h=="string"?f=h:(f=c.$,n.report({id:"UNKNOWN_DIRECTIVE",rule:f},g)),o&&typeof c.d!="function"&&l.push(f);o||(W.set(c.$,f),fe(W,3e4));}return f},P=c=>ie(c).map(m).filter(Boolean).join(" "),S=Ve(e.preflight,Ke,!1);if(S){let c=gt(t),f=w(typeof S=="function"?M(S(c,g),g)||c:a(a({},c),S));y((h=(f.forEach(z),!0))=>h);}return {init:()=>n.report({id:"LATE_SETUP_CALL"},g),process:P}};var Be=e=>{let t=o=>(n(),t(o)),n=o=>{({process:t,init:n}=Pt(o));};e&&n(e);let r;return {tw:Object.defineProperties((...o)=>t(o),{theme:{get:(o=>()=>(r||t([l=>(r=l,"")]),r[o]))("theme")}}),setup:o=>n(o)}};var {tw:Kt,setup:Jt}=Be();exports.apply=$e;exports.autoprefix=Ie;exports.create=Be;exports.cssomSheet=De;exports.directive=oe;exports.hash=ne;exports.mode=Te;exports.noprefix=F;exports.setup=Jt;exports.silent=je;exports.strict=We;exports.theme=_t;exports.tw=Kt;exports.voidSheet=Oe;exports.warn=Re;Object.defineProperty(exports,'__esModule',{value:true});})));//# sourceMappingURL=twind.umd.js.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
822519
4283