Comparing version 0.7.0 to 0.8.0
@@ -149,9 +149,2 @@ import { PropertiesFallback, PropertiesHyphenFallback } from 'csstype'; | ||
declare const STYLE_ELEMENT_ID: "__twind"; | ||
declare global { | ||
interface Window { | ||
[STYLE_ELEMENT_ID]?: HTMLStyleElement; | ||
} | ||
} | ||
interface LazyInjected { | ||
@@ -158,0 +151,0 @@ valueOf: () => string; |
{ | ||
"name": "twind", | ||
"version": "0.7.0", | ||
"version": "0.8.0", | ||
"description": "compiles tailwind like shorthand syntax into css at runtime", | ||
@@ -26,7 +26,7 @@ "keywords": [ | ||
}, | ||
"./shim": { | ||
"node": "./shim/shim.cjs", | ||
"script": "./shim/shim.umd.js", | ||
"types": "./shim/shim.d.ts", | ||
"default": "./shim/shim.js" | ||
"./colors": { | ||
"node": "./colors/colors.cjs", | ||
"script": "./colors/colors.umd.js", | ||
"types": "./colors/colors.d.ts", | ||
"default": "./colors/colors.js" | ||
}, | ||
@@ -39,2 +39,18 @@ "./css": { | ||
}, | ||
"./shim": { | ||
"node": "./shim/shim.cjs", | ||
"script": "./shim/shim.umd.js", | ||
"types": "./shim/shim.d.ts", | ||
"default": "./shim/shim.js" | ||
}, | ||
"./server": { | ||
"types": "./server/server.d.ts", | ||
"default": "./server/server.cjs" | ||
}, | ||
"./sheets": { | ||
"node": "./sheets/sheets.cjs", | ||
"script": "./sheets/sheets.umd.js", | ||
"types": "./sheets/sheets.d.ts", | ||
"default": "./sheets/sheets.js" | ||
}, | ||
"./package.json": "./package.json", | ||
@@ -41,0 +57,0 @@ "./index.html": "./index.html" |
256
README.md
@@ -1,2 +0,2 @@ | ||
# twind | ||
# Twind | ||
@@ -15,9 +15,40 @@ > the smallest, fastest, most feature complete Tailwind-in-JS solution in existence | ||
<details><summary>Quick Links (click to expand)</summary> | ||
- [Quickstart](#quickstart) | ||
- [Rational](#rational) | ||
- [Why Twind?](#why-twind) | ||
- [Advantages](#advantages) | ||
- [Documentation](https://github.com/tw-in-js/twind/tree/main/docs#readme) | ||
- Getting Started | ||
- [Installation](https://github.com/tw-in-js/twind/tree/main/docs/installation.md) - how to install `twind` or apply `twind/shim` | ||
- [Setup](https://github.com/tw-in-js/twind/tree/main/docs/setup.md) - how to use `setup` | ||
- [Theming](https://github.com/tw-in-js/twind/tree/main/docs/setup.md#theme) - how to apply your theme | ||
- [Examples](https://github.com/tw-in-js/twind/tree/main/docs/examples.md) - how to integrate with different frameworks | ||
- Usage | ||
- [`tw` Function](https://github.com/tw-in-js/twind/tree/main/docs/tw.md) - how to use `tw` | ||
- [Grouping](https://github.com/tw-in-js/twind/tree/main/docs/grouping.md) - how to optimize rules size | ||
- [Tailwind Extensions](https://github.com/tw-in-js/twind/tree/main/docs/tailwind-extensions.md) - which additional features are available | ||
- [CSS-in-JS](https://github.com/tw-in-js/twind/tree/main/docs/css-in-js.md) - how to apply custom css | ||
- [Plugins](https://github.com/tw-in-js/twind/tree/main/docs/plugins.md) - how to extend twind | ||
- [Testing](https://github.com/tw-in-js/twind/tree/main/docs/sheets.md) - how to verify the generated class names | ||
- [Static Extraction (SSR)](https://github.com/tw-in-js/twind/tree/main/docs/ssr.md) - how to extract the generated css on the server | ||
- Supporting Materials | ||
- [Tailwind Documentation](https://tailwindcss.com) | ||
- [Browser Support](https://github.com/tw-in-js/twind/tree/main/docs/browser-support.md) | ||
- [Contributing](https://github.com/tw-in-js/twind/tree/main/docs/contributing.md) | ||
- [Architecture](https://github.com/tw-in-js/twind/tree/main/docs/architecture.md) | ||
- [Benchmarks](#benchmarks) - how does twind compare to other libraries | ||
- [Inspiration](#inspiration) - who inspired us | ||
- [Changelog](https://github.com/tw-in-js/twind/releases) - what is new | ||
</details> | ||
--- | ||
If you are here then the likelihood is that you using in Tailwind or CSS-in-JS libraries such as styled components, emotion or goober before. These packages have proven overwhelmingly popular and revolutionized web development as we know it. | ||
If you are here then the likelihood is that you using Tailwind or a CSS-in-JS solution such as styled-components, emotion or goober in order to style your web applications. These packages have proven overwhelmingly popular and revolutionized web development as we know it. | ||
The purpose of this project is unify these two philosophies and create the smallest, fastest, most feature complete Tailwind-in-JS solution in existence. Embracing the flexibility of CSS-in-JS whilst conforming to the natural constraints of the Tailwind API. | ||
The purpose of this project is unify these two approaches; embracing the flexibility of CSS-in-JS whilst conforming to the carefully considered constraints of the Tailwind API. | ||
More importantly though, we hope to create a place for likeminded people to discuss issues and share ideas. | ||
We hope to create a place for likeminded people to discuss issues, share ideas and collaborate. | ||
@@ -28,4 +59,2 @@ ## Quickstart | ||
> ⚡️ Alternatively try the [live and interactive demo](https://esm.codes/#aW1wb3J0IHsgdHcsIHNldHVwIH0gZnJvbSAnaHR0cHM6Ly9jZG4uc2t5cGFjay5kZXYvdHdpbmQnCgpzZXR1cCh7CiAgdGhlbWU6IHsKICAgIC8vIEV4YW1wbGUgb2YgZXh0ZW5kaW5nIHRoZSBkZWZhdWx0IHRoZW1lCiAgICBleHRlbmQ6IHsKICAgICAgY29sb3JzOiB7IGhvdHBpbms6ICcjRkYwMEZGJyB9LAogICAgICByb3RhdGU6IHsgNTogJzVkZWcnIH0KICAgIH0KICB9Cn0pCgpjb25zdCBhcHAgPSAoKSA9PiBgCiAgICA8ZGl2IGNsYXNzPScke3N0eWxlLmNvbnRhaW5lcn0nPgogICAgICA8aDEgY2xhc3M9JyR7CiAgICAgICAgLy8gRXhhbXBsZSBvZiBhbiBpbmxpbmUgc3R5bGUKICAgICAgICB0d2AKICAgICAgICAgIHRleHQod2hpdGUgNHhsKQogICAgICAgICAgZm9udChib2xkIHNhbnMpCiAgICAgICAgICB0cmFuc2l0aW9uLXRyYW5zZm9ybQogICAgICAgICAgaG92ZXI6KAogICAgICAgICAgICByb3RhdGUtNQogICAgICAgICAgICBzY2FsZS0xNTAKICAgICAgICAgICAgY3Vyc29yLXBvaW50ZXIKICAgICAgICAgICkKICAgICAgICBgCiAgICAgIH0nPkhlbGxvIFdvcmxkPC9oMT4KICAgIDwvZGl2PgogIGA7CiAgCiAgCmNvbnN0IHN0eWxlID0gewogIC8vIEV4YW1wbGUgb2YgYWJzdHJhY3RlZCBzdHlsZQogIGNvbnRhaW5lcjogdHdgCiAgICBoLWZ1bGwKICAgIGJnLWhvdHBpbmsKICAgIGZsZXgKICAgIGl0ZW1zLWNlbnRlcgogICAganVzdGlmeS1jZW50ZXIKICBgCn0KCmRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gYXBwKCk=) | ||
```js | ||
@@ -35,4 +64,4 @@ import { tw } from 'https://cdn.skypack.dev/twind' | ||
document.body.innerHTML = ` | ||
<main class="${tw`bg-black text-white`}"> | ||
<h1 class="${tw`text-xl`}">This is Tailwind in JS!</h1> | ||
<main class="${tw`h-screen bg-purple-400 flex items-center justify-center`}"> | ||
<h1 class="${tw`font-bold text(center 5xl white sm:gray-800 md:pink-700)`}">This is Twind!</h1> | ||
</main> | ||
@@ -42,30 +71,128 @@ ` | ||
> 📚 For further instruction on usage please [read the documentation](https://github.com/tw-in-js/twind/tree/main/docs)! | ||
Alternatively try the [live and interactive demo](https://esm.codes/#aW1wb3J0IHsgdHcgfSBmcm9tICdodHRwczovL2Nkbi5za3lwYWNrLmRldi90d2luZCcKCmRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gYAogIDxtYWluIGNsYXNzPSIke3R3YGgtc2NyZWVuIGJnLXB1cnBsZS00MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJgfSI+CiAgICA8aDEgY2xhc3M9IiR7dHdgZm9udC1ib2xkIHRleHQoY2VudGVyIDV4bCB3aGl0ZSBzbTpncmF5LTgwMCBtZDpwaW5rLTcwMClgfSI+VGhpcyBpcyBUd2luZCE8L2gxPgogIDwvbWFpbj4KYA==). | ||
For seamless integration with existing Tailwind HTML you can use [twind/shim](https://github.com/tw-in-js/twind/blob/main/docs/installation.md#twindshim): | ||
```html | ||
<script type="module" src="https://cdn.skypack.dev/twind/shim"></script> | ||
<main class="h-screen bg-purple-400 flex items-center justify-center"> | ||
<h1 class="font-bold text(center 5xl white sm:gray-800 md:pink-700)">This is Twind!</h1> | ||
</main> | ||
``` | ||
Try `twind/shim` in the [live and interactive shim demo](https://esm.codes/#aW1wb3J0ICdodHRwczovL2Nkbi5za3lwYWNrLmRldi90d2luZC9zaGltJwoKZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBgCiAgPG1haW4gY2xhc3M9Imgtc2NyZWVuIGJnLXB1cnBsZS00MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgPGgxIGNsYXNzPSJmb250LWJvbGQgdGV4dChjZW50ZXIgNXhsIHdoaXRlIHNtOmdyYXktODAwIG1kOnBpbmstNzAwKSI+VGhpcyBpcyBUd2luZCE8L2gxPgogIDwvbWFpbj4KYA==) | ||
> 📚 For more detailed instruction on usage please [read the documentation](https://github.com/tw-in-js/twind/tree/main/docs#readme) and check out [this extended demo](https://esm.codes/#aW1wb3J0IHsgdHcsIHNldHVwIH0gZnJvbSAnaHR0cHM6Ly9jZG4uc2t5cGFjay5kZXYvdHdpbmQnCgpzZXR1cCh7CiAgdGhlbWU6IHsKICAgIC8vIEV4YW1wbGUgb2YgZXh0ZW5kaW5nIHRoZSBkZWZhdWx0IHRoZW1lCiAgICBleHRlbmQ6IHsKICAgICAgY29sb3JzOiB7IGhvdHBpbms6ICcjRkYwMEZGJyB9LAogICAgICByb3RhdGU6IHsgNTogJzVkZWcnIH0KICAgIH0KICB9Cn0pCgpjb25zdCBhcHAgPSAoKSA9PiBgCiAgICA8ZGl2IGNsYXNzPScke3N0eWxlLmNvbnRhaW5lcn0nPgogICAgICA8aDEgY2xhc3M9JyR7CiAgICAgICAgLy8gRXhhbXBsZSBvZiBhbiBpbmxpbmUgc3R5bGUKICAgICAgICB0d2AKICAgICAgICAgIHRleHQod2hpdGUgNHhsKQogICAgICAgICAgZm9udChib2xkIHNhbnMpCiAgICAgICAgICB0cmFuc2l0aW9uLXRyYW5zZm9ybQogICAgICAgICAgaG92ZXI6KAogICAgICAgICAgICByb3RhdGUtNQogICAgICAgICAgICBzY2FsZS0xNTAKICAgICAgICAgICAgY3Vyc29yLXBvaW50ZXIKICAgICAgICAgICkKICAgICAgICBgCiAgICAgIH0nPkhlbGxvIFdvcmxkPC9oMT4KICAgIDwvZGl2PgogIGA7CiAgCiAgCmNvbnN0IHN0eWxlID0gewogIC8vIEV4YW1wbGUgb2YgYWJzdHJhY3RlZCBzdHlsZQogIGNvbnRhaW5lcjogdHdgCiAgICBoLWZ1bGwKICAgIGJnLWhvdHBpbmsKICAgIGZsZXgKICAgIGl0ZW1zLWNlbnRlcgogICAganVzdGlmeS1jZW50ZXIKICBgCn0KCmRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gYXBwKCk=) | ||
## Rational | ||
This project was started by the authors of two similar libraries – [oceanwind](https://github.com/lukejacksonn/oceanwind) and [beamwind](https://github.com/kenoxa/beamwind) – who chose to collaborate rather than compete with each other in this space. The open source community is full of fragmentation but we wanted to see cohesion here. | ||
This project was started by the authors of two similar libraries – [oceanwind](https://github.com/lukejacksonn/oceanwind) and [beamwind](https://github.com/kenoxa/beamwind) – who chose to collaborate rather than compete with each other in this space. | ||
Combining efforts has saved us time and resulted in a much more complete and production ready offering. Furthermore we were able to agree on and coin some standards for certain aspects of the implementation, based on all of our learnings; things like parsing input, [grouping syntax](https://github.com/tw-in-js/twind/blob/main/docs/grouping.md), prescedence calculation and [plugin API](https://github.com/tw-in-js/twind/blob/main/docs/plugins.md). | ||
> Combining efforts has saved us time and resulted in a much more complete and production ready offering. | ||
Furthermore we were able to agree on and coin some standards for certain aspects of the implementation based on our collective learnings; things like parsing input, [grouping syntax](https://github.com/tw-in-js/twind/blob/main/docs/grouping.md), prescedence calculation and [plugin API](https://github.com/tw-in-js/twind/blob/main/docs/plugins.md). | ||
## Why twind? | ||
A lot of developers ask _"Why not just use Tailwind?"_ and our answer is always that you should use Tailwind, it is an absolutely incredible invention! However, if like us you are already building your app in JS using a framework like react, preact, vue or svelte, rather than just static HTML, then compiling Tailwind shorthand just in time (like twind does) rather than ahead of time like with Tailwind and PostCSS, comes with a lot of advantages. | ||
A lot of developers ask _"Why not just use Tailwind?"_ and our answer is always that you should use Tailwind, it is an absolutely incredible API with amazing documentation! | ||
> I've wanted to do a CSS-in-JS flavor of Tailwind for over 2 years because of all the neat benefits you get there so it's cool to see projects like this! – [@adamwathan](https://twitter.com/adamwathan/status/1320370489408225282) | ||
Take the following snippet for example: | ||
However, if like us you are already building your app in JS using a framework like react, preact, vue or svelte, rather than just static HTML, then compiling Tailwind shorthand just in time (like twind does) rather than ahead of time like with Tailwind and PostCSS, comes with a lot of advantages. | ||
### Advantages | ||
> _Hint_ You can click on each summary to show additional details. | ||
<details><summary>⚡️ All setup is done almost instantly at runtime, no build step required</summary> | ||
In fact, there is no dependency on Tailwind or PostCSS at all. This makes that is possible to reconfigure the compiler on the fly and apply new themes without rebuilding anything. | ||
</details> | ||
<details><summary>💸 Unlimited styles for a low fixed cost of ~10KB</summary> | ||
By shipping the compiler (rather than the resultant output) there is a known and fixed cost associated with styling. No matter how many styles you write or how many variants you use, all your users will ever have to download is approximately 10Kb of code (which is less than styled-components or your average Tailwind build). | ||
</details> | ||
<details><summary>✈️ Includes a themed Tailwind preflight stylesheet by default</summary> | ||
The [base reset](https://tailwindcss.com/docs/preflight) provided by Tailwind is instantiated with respect to your theme (values like fonts, colors etc.) and injected in the stylesheet during setup. This guarantees more consistent cross browser results out of the box. | ||
</details> | ||
<details><summary>🎢 Familiar and Tailwind V2 compliant theming</summary> | ||
Theming is done exactly as [documented by the Tailwind](https://tailwindcss.com/docs/theme) meaning that you can copy paste in your themes from existing projects. The only different here is that there is no need to rebuild anything after changing you theme. Just refresh the page! | ||
</details> | ||
<details><summary>🧪 Generate styles for Tailwind HTML markup</summary> | ||
It might not always be desirable to generate rules by invoking the compiler direct via function call. In this case you may use the [shim module](https://github.com/tw-in-js/twind/blob/main/docs/installation.md#twindshim) which finds and replaces class names within static HTML, generating styles appropriately. This is especially useful during development too; for example when editing classes in the inspector. | ||
</details> | ||
<details><summary>🤖 Built in support for conditionally combining rules</summary> | ||
Input is not limited to strings like with HTML classes. The [Twind function](https://github.com/tw-in-js/twind/tree/main/docs/tw.md) accept arrays, objects, template literals, functions, almost everything! The interpretter spec is inspired by and very similar to [clsx](https://github.com/lukeed/clsx) and offers a much more developer friendly API that handles null values gracefully. | ||
</details> | ||
<details><summary>🌈 Improve readability by breaking rules over multiple lines</summary> | ||
Using template literals as input ([the recommended method](https://github.com/tw-in-js/twind/blob/main/docs/tw.md#template-literal-recommended)) or even [object syntax](https://github.com/tw-in-js/twind/blob/main/docs/tw.md#objects) allows you to break rules over multiple lines, drastically improving readability and maintainability of complex rules. | ||
</details> | ||
<details><summary>🎯 Custom syntax for grouping directives and variants</summary> | ||
Having control over the interpreter affords us the possibility of defining terse syntax for [grouping responsive and pseudo variants](https://github.com/tw-in-js/twind/blob/main/docs/grouping.md) as well as directives with common prefixes. This massively reduces repetition and improves comprehension. | ||
</details> | ||
<details><summary>🚓 Escape hatch for writing arbitrary CSS</summary> | ||
The compiler [accepts functions](https://github.com/tw-in-js/twind/blob/main/docs/tw.md#inline-plugins) that can return arbritary CSS-in-JS objects. A convenient a escape hatch for all those one off rules which aren't supported by tailwind. The `&` keyword allows you to write complex rules (like pseudo elements `&::before` and `&::after`) that are beyond the scope of inline styles without having to add another dependency. | ||
> We provide a [css helper](https://github.com/tw-in-js/twind/tree/main/docs/css-in-js.md) as a convenience for this case. | ||
</details> | ||
<details><summary>❄️ Optional hashing of class names ensuring no conflicts</summary> | ||
By default no hashing is enabled to aid debugging during development. However it is possible to configure Twind to [hash class names](https://github.com/tw-in-js/twind/blob/main/docs/setup.md#hash) before injecting them into the DOM. This may be useful in production as it can reduce the down the wire size of server side rendered pages pages and eliminates any chance of class name conflicts with third party styles. | ||
</details> | ||
<details><summary>🚅 Faster than all popular CSS-in-JS libraries</summary> | ||
Given the limited grammar that the compiler has to support there is a much higher chance of finding a rule and its variant in the cache, because of this along with some other specialist optimizations we are able to compile and inject CSS [faster than all the popular](#benchmarks) CSS-in-JS solutions. | ||
</details> | ||
<details><summary>🔌 Language extension via plugins </summary> | ||
Extending the grammar is trivial and can be achieved by providing functions _inline_ or by generalizing inline rules and defining them during setup under [the _plugins_ key](https://github.com/tw-in-js/twind/blob/main/docs/plugins.md). | ||
</details> | ||
<details><summary>🎩 Remove all runtime overhead with static extraction</summary> | ||
The compiler itself is not reliant on the DOM at all which makes it an ideal candidate for static extraction which essentially removes all runtime overhead. This is possible during [SSR](https://github.com/tw-in-js/twind/tree/main/docs/ssr.md) or build time prepass. | ||
</details> | ||
## Example | ||
The following snippet demonstrates typical usage of both the `tw` and `setup` functions: | ||
```js | ||
import { tw, setup, strict } from 'https://cdn.skypack.dev/twind' | ||
import { tw, setup } from 'https://cdn.skypack.dev/twind' | ||
setup({ | ||
hash: true, // Hashes all generated class names | ||
mode: strict, // Throw errors for invalid rules instead of logging | ||
preflight: true, // Include Tailwind base reset | ||
theme: { | ||
fontFamily: { | ||
sans: ['Helvetica', 'sans-serif'], | ||
serif: ['Times', 'serif'], | ||
display: ['Baloo', 'sans-serif'], | ||
}, | ||
extend: { | ||
@@ -76,60 +203,53 @@ colors: { hotpink: '#FF00FF' }, | ||
}, | ||
plugins: { | ||
'scroll-snap': (parts) => ({ | ||
'scroll-snap-type': parts.join(' '), | ||
}), | ||
}, | ||
}) | ||
const app = () => ` | ||
<div class='${style.container}'> | ||
<h1 class='${tw` | ||
text(white 4xl) | ||
font(bold sans) | ||
transition-transform | ||
hover:( | ||
rotate-5 | ||
scale-150 | ||
cursor-pointer | ||
) | ||
`}'>Hello World</h1> | ||
</div> | ||
` | ||
const style = { | ||
container: tw` | ||
document.body.innerHTML = ` | ||
<div class='${tw` | ||
h-full | ||
bg-hotpink | ||
md:(bg-purple-500) | ||
lg:(bg-white text-hotpink) | ||
flex | ||
items-center | ||
justify-center | ||
`, | ||
} | ||
flex items-center justify-center | ||
bg(hotpink sm:purple-500 md:green-500) | ||
`}'> | ||
<h1 class='${tw` | ||
text(white 4xl) | ||
font(bold sans) | ||
transition-transform | ||
hover:(rotate-5 scale-150 cursor-pointer) | ||
`}'>Hello World</h1> | ||
</div> | ||
` | ||
``` | ||
document.body.innerHTML = app() | ||
Try this example in the [live and interactive demo](https://esm.codes/#aW1wb3J0IHsgdHcsIHNldHVwIH0gZnJvbSAnaHR0cHM6Ly9jZG4uc2t5cGFjay5kZXYvdHdpbmQnCgpzZXR1cCh7CiAgcHJlZmxpZ2h0OiB0cnVlLCAvLyBJbmNsdWRlIFRhaWx3aW5kIGJhc2UgcmVzZXQKICB0aGVtZTogewogICAgZXh0ZW5kOiB7CiAgICAgIGNvbG9yczogeyBob3RwaW5rOiAnI0ZGMDBGRicgfSwKICAgICAgcm90YXRlOiB7IDU6ICc1ZGVnJyB9LAogICAgfSwKICB9LAp9KQoKZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBgCiAgPGRpdiBjbGFzcz0nJHt0d2AKICAgIGgtZnVsbAogICAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIKICAgIGJnKGhvdHBpbmsgc206cHVycGxlLTUwMCBtZDpncmVlbi01MDApCiAgYH0nPgogICAgPGgxIGNsYXNzPScke3R3YAogICAgICB0ZXh0KHdoaXRlIDR4bCkKICAgICAgZm9udChib2xkIHNhbnMpCiAgICAgIHRyYW5zaXRpb24tdHJhbnNmb3JtCiAgICAgIGhvdmVyOihyb3RhdGUtNSBzY2FsZS0xNTAgY3Vyc29yLXBvaW50ZXIpCiAgICBgfSc+SGVsbG8gV29ybGQ8L2gxPgogIDwvZGl2PgpgCg==). | ||
## Benchmarks | ||
The implementation is tested for speed alongside several popular CSS-in-JS solutions that export general css functions. For those that only support a _styled component_ approach an equivalent test has been setup. Currently Twind is the fastest in both scenarios in part due to optimal caching of static parts from template literals. | ||
### CSS Function w/ template literal | ||
``` | ||
twind x 403,080 ops/sec ±1.41% (88 runs sampled) | ||
goober@2.0.18 x 143,202 ops/sec ±0.90% (95 runs sampled) | ||
emotion@11.0.0 x 224,368 ops/sec ±0.52% (93 runs sampled) | ||
``` | ||
- All setup is done at runtime, no build step required! This makes that is possible to configure and reconfigure the compiler on the fly. | ||
- By shipping the compiler (rather than the resultant output) there is a known and fixed cost associated with styling. No matter how many styles you write or how many variants you use, all your users will ever have to download is approximately 10Kb of code (which is less than styled-components or your average Tailwind build). | ||
- By default the [base reset](https://tailwindcss.com/docs/preflight) provided by tailwind is instantiated with your theme values (like fonts and colors) and injected in the document during setup. Guaranteeing more consistent cross browser results out of the box. | ||
- It is possible to configure twind to [hash class names](https://github.com/tw-in-js/twind/blob/main/docs/customization.md#hash) before injecting them into the DOM. This can reduce the overall down the wire size of pages and eliminate any chance of class name conflicts. | ||
- Theming is done exactly as [documented by the Tailwind](https://tailwindcss.com/docs/theme) meaning that you can copy paste in your project theme from existing projects. The only different here is that there is no need to rebuild after changing you theme. Just refresh the page! | ||
- Input to the compiler is not limited to just a string like HTML classes are. Twind accept arrays, objects, template literals, functions, almost everything! The interpretter spec is inspired by and very similar to [clsx](https://github.com/lukeed/clsx) and offers a much more developer friendly API that handles null values gracefully. | ||
- Using template literals as input ([the recommended method](https://github.com/tw-in-js/twind/blob/main/docs/usage.md#template-literal-recommended)) allows you to break rules over multiple lines, drastically improving readability and maintainability. | ||
- Control over the interpreter affords us the possibility of defining syntax for [grouping responsive and pseudo variants](https://github.com/tw-in-js/twind/blob/main/docs/grouping.md) as well as directives with common prefixes. This massively reduces repetition and improves comprehension. | ||
- The fact that the compiler [accepts functions](https://github.com/tw-in-js/twind/blob/main/docs/usage.md#inline-plugins) that return arbritary CSS-in-JS provides an escape hatch for all those one off rules which aren't supported by tailwind. The `&` keyword allows you to write complex rules (like pseudo elements `&::before` and `&::after`) that are beyond the scope of inline styles. | ||
- Given the finite grammars that the compiler has to support, we are able to specialize it to compile and inject CSS faster than all the popular CSS-in-JS solutions. | ||
- Extending the grammar is trivial and can be achieved by providing a function _inline_ or generalizing inline rules and defining them during setup under [the _plugins_ key](https://github.com/tw-in-js/twind/blob/main/docs/plugins.md). | ||
- The compiler itself is not reliant on the DOM at all, which makes it an ideal candidate for static extraction which would remove all runtime overhead. This is possible during SSR or build time prepass. | ||
### Styled component w/ template literal | ||
## Prior Art | ||
``` | ||
twind x 51,628 ops/sec ±0.63% (89 runs sampled) | ||
goober@2.0.18 x 40,069 ops/sec ±0.43% (96 runs sampled) | ||
emotion@11.0.0 x 35,349 ops/sec ±1.01% (93 runs sampled) | ||
styled-components@5.2.1 x 38,284 ops/sec ±0.48% (93 runs sampled) | ||
``` | ||
It would be untrue to suggest that the design here is totally original, other than the founders initial attempts at implementing such a module ([oceanwind](https://github.com/lukejacksonn/oceanwind) and [beamwind](https://github.com/kenoxa/beamwind)) we are truly standing on the shoulders of giants. Prior art includes but is not limited to: | ||
For a more detailed testing summary please see the [benchmarks](https://github.com/tw-in-js/twind/blob/main/benchmarks) directory. | ||
## Inspiration | ||
It would be untrue to suggest that the design here is totally original, other than the founders initial attempts at implementing such a module ([oceanwind](https://github.com/lukejacksonn/oceanwind) and [beamwind](https://github.com/kenoxa/beamwind)) we are truly standing on the shoulders of giants. | ||
- [tailwind](https://tailwindcss.com/): created a wonderfully thought out API on which the compiler's grammar was defined. | ||
- [styled-components](https://styled-components.com/): implemented and popularised the advantages of doing CSS-in-JS. | ||
- [styled-components](https://styled-components.com/): implemented and popularized the advantages of doing CSS-in-JS. | ||
- [htm](https://github.com/developit/htm): a JSX compiler that proved there is merit in doing runtime compilation of DSLs like JSX. | ||
- [goober](https://github.com/cristianbote/goober): an impossibly small yet efficient CSS-in-JS implemetation that defines critical module features. | ||
- [goober](https://github.com/cristianbote/goober): an impossibly small yet efficient CSS-in-JS implementation that defines critical module features. | ||
- [otion](https://github.com/kripod/otion): the first CSS-in-JS solution specifically oriented around handling CSS in an atomic fashion. | ||
@@ -136,0 +256,0 @@ - [clsx](https://github.com/lukeed/clsx): a tiny utility for constructing class name strings conditionally. |
@@ -122,5 +122,13 @@ import { PropertiesFallback, PropertiesHyphenFallback } from 'csstype'; | ||
} | ||
interface Injector { | ||
interface Sheet { | ||
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; | ||
@@ -151,3 +159,3 @@ declare type Hasher = (value: string) => string; | ||
/** Style insertion methodology to be used. */ | ||
injector?: Injector; | ||
sheet?: Sheet; | ||
/** Called right before the first rule is injected. */ | ||
@@ -154,0 +162,0 @@ preflight?: Preflight | boolean | CSSRules; |
@@ -127,3 +127,3 @@ import { PropertiesFallback, PropertiesHyphenFallback, SimplePseudos } from 'csstype'; | ||
} | ||
interface InjectorConfig<T = unknown> { | ||
interface SheetConfig<T = unknown> { | ||
/** | ||
@@ -138,11 +138,13 @@ * Sets a cryptographic nonce (number used once) on the enclosing `<style>` tag when generating a page on demand. | ||
} | ||
interface Injector { | ||
interface Sheet { | ||
insert: (rule: string, index: number) => void; | ||
init?: SheetInit; | ||
} | ||
interface VirtualInjector extends Injector { | ||
target: string[]; | ||
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; | ||
} | ||
interface CSSOMInjector extends Injector { | ||
target: CSSStyleSheet; | ||
} | ||
declare type Prefixer = (property: string, value: string, important?: boolean) => string; | ||
@@ -173,3 +175,3 @@ declare type Hasher = (value: string) => string; | ||
/** Style insertion methodology to be used. */ | ||
injector?: Injector; | ||
sheet?: Sheet; | ||
/** Called right before the first rule is injected. */ | ||
@@ -283,20 +285,10 @@ preflight?: Preflight | boolean | CSSRules; | ||
declare const STYLE_ELEMENT_ID: "__twind"; | ||
declare global { | ||
interface Window { | ||
[STYLE_ELEMENT_ID]?: HTMLStyleElement; | ||
} | ||
} | ||
/** | ||
* Creates an injector which collects style rules during server-side rendering. | ||
* Creates an sheet which inserts style rules through the CSS Object Model. | ||
*/ | ||
declare const virtualInjector: ({ target, }?: InjectorConfig<string[]>) => VirtualInjector; | ||
declare const cssomSheet: ({ nonce, target, }?: SheetConfig<CSSStyleSheet>) => Sheet; | ||
/** | ||
* Creates an injector which inserts style rules through the CSS Object Model. | ||
* An sheet placeholder which performs no operations. Useful for avoiding errors in a non-browser environment. | ||
*/ | ||
declare const cssomInjector: ({ nonce, target, }?: InjectorConfig<CSSStyleSheet>) => CSSOMInjector; | ||
/** | ||
* An injector placeholder which performs no operations. Useful for avoiding errors in a non-browser environment. | ||
*/ | ||
declare const noOpInjector: () => Injector; | ||
declare const voidSheet: () => Sheet; | ||
@@ -317,3 +309,3 @@ declare const mode: (report: (message: string) => void) => Mode; | ||
export { CSSAtKeyframes, CSSAtMedia, CSSAtSupports, CSSCustomProperties, CSSOMInjector, CSSProperties, CSSPseudos, CSSRules, CSSSimplePseudos, Configuration, Context, DarkMode, DirectiveHandler, Falsy, Hasher, Injector, InjectorConfig, InlineDirective, Instance, Mode, Plugin, Plugins, Prefixer, Preflight, ReportInfo, Rule, TW, Theme, ThemeColor, ThemeConfiguration, ThemeContainer, ThemeFontSize, ThemeOutline, ThemeResolver, ThemeSection, ThemeSectionRecord, ThemeSectionResolver, ThemeSectionResolverContext, ThemeSectionType, Token, TokenGrouping, TypescriptCompat, Unwrap, VirtualInjector, autoprefix, create, cssomInjector, cyrb32 as hash, mode, noOpInjector, noprefix, setup, silent, strict, theme, tw, virtualInjector, warn }; | ||
export { CSSAtKeyframes, CSSAtMedia, CSSAtSupports, CSSCustomProperties, CSSProperties, CSSPseudos, CSSRules, CSSSimplePseudos, Configuration, Context, DarkMode, DirectiveHandler, Falsy, Hasher, InlineDirective, Instance, Mode, Plugin, Plugins, Prefixer, Preflight, ReportInfo, Rule, Sheet, SheetConfig, SheetInit, SheetInitCallback, TW, Theme, ThemeColor, ThemeConfiguration, ThemeContainer, ThemeFontSize, ThemeOutline, ThemeResolver, ThemeSection, ThemeSectionRecord, ThemeSectionResolver, ThemeSectionResolverContext, ThemeSectionType, Token, TokenGrouping, TypescriptCompat, Unwrap, autoprefix, create, cssomSheet, cyrb32 as hash, mode, noprefix, setup, silent, strict, theme, tw, voidSheet, warn }; | ||
//# sourceMappingURL=twind.d.ts.map |
@@ -1,3 +0,3 @@ | ||
var $=e=>typeof e=="string",te=e=>e!=null&&typeof e=="object",k=e=>typeof e=="function",h=(e,t)=>!!~e.indexOf(t),u=(e,t="-")=>e.join(t),V=(e,t)=>u(e.filter(Boolean),t),d=(e,t=1)=>e.slice(t),Ae=e=>e,Pe=()=>{},De=e=>e[0].toUpperCase()+d(e),ze=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),ne=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=>{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)},Fe=(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},Oe=e=>(t,n,r,i)=>{if(t){let s=n&&e(n);if(s&&s.length>0)return s.reduce((a,g)=>(a[V([r,g,i])]=t,a),{})}},Ie=Oe(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]),X=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},re=Oe(X),o,L,T,q=e=>(t,n,r)=>({[e]:r+((o=u(t))&&"-"+o)}),m=(e,t)=>n=>({[e]:u(n,t)}),y=e=>(t,{theme:n},r)=>({[e||r]:n(e||r,t)}),E=(e,t)=>(n,r)=>e(n,r,t),D=q("display"),K=q("position"),B=q("textTransform"),G=q("textDecoration"),oe=q("fontStyle"),z=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,/*!*/ /*!*/)"}),ie=(e,{theme:t},n)=>({[n]:t("inset",e)}),Z=(e,t,n,r=n)=>({[`--tw-${n}-opacity`]:t(r+"Opacity",d(e))}),de=(e,t)=>Math.round(parseInt(e,16)*t),ue=(e,t,n)=>e&&e[0]==="#"?`rgba(${de(e.substr(1,o=(e.length-1)/3),T=[17,1,.062272][o-1])},${de(e.substr(1+o,o),T)},${de(e.substr(1+2*o,o),T)},var(--tw-${t}${n?","+n:""}))`:e,se=(e,t,n)=>n&&(o=ue(n,t+"-opacity"))&&o!==n?{[`--tw-${t}-opacity`]:"1",[e]:[n,o]}:{[e]:n},We=(e,{theme:t},n,r,i,s)=>(o={x:["right","left"],y:["bottom","top"]}[e[0]])&&(T=`--tw-${n}-${e[0]}-reverse`)?e[1]==="reverse"?{[T]:"1"}:{[T]:"0",[V([i,o[0],s])]:(L=t(r,d(e)))&&`calc(${L} * var(${T}))`,[V([i,o[1],s])]:L&&[L,`calc(${L} * calc(1 - var(${T})))`]}:void 0,Me=(e,t)=>({[e]:(h("wun",(t[0]||"")[3])?"space-":"")+t[0]}),ge=e=>t=>h(["start","end"],t[0])?{[e]:`flex-${t[0]}`}:Me(e,t),He=e=>t=>{switch(t[0]){case"auto":return{[`grid-${e}`]:"auto"};case"span":return{[`grid-${e}`]:t[1]==="full"?"1 / -1":`span ${t[1]} / span ${t[1]}`};case"start":case"end":return{[`grid-${e}-${t[0]}`]:t[1]}}},Le=(e,{theme:t},n)=>{switch(e[0]){case"solid":case"dashed":case"dotted":case"double":case"none":return m("borderStyle")(e);case"collapse":case"separate":return m("borderCollapse")(e);case"opacity":return Z(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))",pe=(e,t,n)=>(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()]},Ue=()=>"var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow,0 0 transparent)",Ne=(e,{theme:t},n)=>(o=t("gradientColorStops",e))&&{["--tw-gradient-"+n]:o},_e=e=>(t,n,r)=>r[1]?re(n.theme(e,t),r[1],e):y(e)(t,n,r),U=_e("padding"),N=_e("margin"),Ve=(e,{theme:t},n)=>(o={w:"width",h:"height"}[e[0]])&&{[o=`${n}${De(o)}`]:t(o,d(e))},Be={group:(e,{tag:t})=>t("group"),hidden:E(D,"none"),inline:D,block:D,contents:D,flow:D,table:(e,t,n)=>h(["auto","fixed"],e[0])?{tableLayout:e[0]}:D(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{[`flex-${e[0]}`]:e[1]||"1"}}return(o=t.theme("flex",e,""))?{flex:o}:D(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))`:u(d(e)," ")};case"flow":return e.length>1&&{gridAutoFlow:u(e[1]==="col"?["column",...d(e,2)]:d(e)," ")}}return D(e,t,n)},auto:e=>h(["cols","rows"],e[0])&&(o=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(${u(d(e),",")})`)&&{[`grid-auto-${e[0]==="cols"?"columns":"rows"}`]:o},static:K,fixed:K,absolute:K,relative:K,sticky:K,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]}-box`}),appearance:m("appearance"),cursor:m("cursor"),float:m("float"),clear:m("clear"),top:ie,right:ie,bottom:ie,left:ie,inset:(e,{theme:t})=>(o=X(e[0]))?re(t("inset",d(e)),e[0]):(o=t("inset",e))&&{top:o,right:o,bottom:o,left:o},underline:G,"line-through":G,"no-underline":E(G,"none"),"text-underline":E(G,"underline"),"text-no-underline":E(G,"none"),"text-line-through":E(G,"line-through"),uppercase:B,lowercase:B,capitalize:B,"normal-case":E(B,"none"),"text-normal-case":E(B,"none"),italic:oe,"not-italic":E(oe,"normal"),"font-italic":E(oe,"italic"),"font-not-italic":E(oe,"normal"),font:(e,t,n)=>(o=t.theme("fontFamily",e,""))?{fontFamily:o}:y("fontWeight")(e,t,n),items:e=>({alignItems:h(["start","end"],e[0])?`flex-${e[0]}`:u(e)}),content:ge("alignContent"),justify:ge("justifyContent"),self:ge("alignSelf"),place:e=>Me("place-"+e[0],d(e)),overscroll:e=>({["overscrollBehavior"+(e[1]?"-"+e[0]:"")]:e[1]||e[0]}),col:He("column"),row:He("row"),duration:y("transitionDuration"),delay:y("transitionDelay"),tracking:y("letterSpacing"),leading:y("lineHeight"),z:y("zIndex"),opacity:y(),ease:y("transitionTimingFunction"),p:U,py:U,px:U,pt:U,pr:U,pb:U,pl:U,m:N,my:N,mx:N,mt:N,mr:N,mb:N,ml:N,w:y("width"),h:y("height"),min:Ve,max:Ve,fill:y(),order:y(),origin:m("transformOrigin"," "),select:m("userSelect"),"pointer-events":m("pointerEvents"),align:m("verticalAlign"),whitespace:m("whiteSpace"),"normal-nums":{fontVariantNumeric:"normal"},ordinal:z("ordinal"),"slashed-zero":z("slashed-zero"),"lining-nums":z("numeric-figure"),"oldstyle-nums":z("numeric-figure"),"proportional-nums":z("numeric-spacing"),"tabular-nums":z("numeric-spacing"),"diagonal-fractions":z("numeric-fraction"),"stacked-fractions":z("numeric-fraction"),overflow:e=>h(["ellipsis","clip"],e[0])?m("textOverflow")(e):e[1]?{[`overflow-${e[0]}`]:e[1]}:m("overflow")(e),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:pe,translate:pe,skew:pe,gap:(e,t,n)=>(o={x:"column",y:"row"}[e[0]])?{[o+"Gap"]:t.theme("gap",d(e))}:y("gap")(e,t,n),stroke:(e,t,n)=>(o=t.theme("stroke",e,""))?{stroke:o}:y("strokeWidth")(e,t,n),outline:(e,{theme:t})=>(o=t("outline",e))&&{outline:o[0],outlineOffset:o[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 B([],o,e[0]);case"opacity":return Z(e,t,n)}let r=t("fontSize",e,"");return r?$(r)?{fontSize:r}:{fontSize:r[0],...$(r[1])?{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 m("backgroundAttachment",",")(e);case"bottom":case"center":case"left":case"right":case"top":return m("backgroundPosition"," ")(e);case"no":return e[1]==="repeat"&&m("backgroundRepeat")(e);case"auto":case"cover":case"contain":return m("backgroundSize")(e);case"repeat":return h("xy",e[1])?m("backgroundRepeat")(e):{"background-repeat":e[1]||e[0]};case"opacity":return Z(e,t,n,"background");case"clip":return{backgroundClip:e[1]+(e[1]==="text"?"":"-box")};case"gradient":if(e[1]==="to"&&(o=X(e[2])))return{backgroundImage:`linear-gradient(to ${u(o," ")},var(--tw-gradient-stops,var(--tw-gradient-from,transparent),var(--tw-gradient-to,transparent)))`}}return(o=t("backgroundImage",e,""))?{backgroundImage:o}:se("backgroundColor","bg",t("backgroundColor",e))},from:Ne,to:Ne,via:(e,{theme:t})=>(o=t("gradientColorStops",e))&&{"--tw-gradient-stops":`var(--tw-gradient-from,transparent),${o},var(--tw-gradient-to,transparent)`},border:(e,t,n)=>X(e[0])?re(t.theme("borderWidth",d(e)),e[0],"border","width"):Le(e,t,n),divide:(e,t,n)=>(o=We(e,t,n,"divideWidth","border","width")||Le(e,t,n))&&{"&>:not([hidden])~:not([hidden])":o},space:(e,t,n)=>(o=We(e,t,n,"space","margin"))&&{"&>:not([hidden])~:not([hidden])":o},placeholder:(e,{theme:t},n)=>(o=e[0]==="opacity"?Z(e,t,n):se("color","placeholder",t("placeholderColor",e)))&&{"&::placeholder":o},shadow:(e,{theme:t})=>(o=t("boxShadow",e))&&{"--tw-shadow":o,boxShadow:[o,Ue()]},animate:(e,{theme:t,tag:n})=>{if(T=t("animation",e)){let r=T.split(" ");return(o=t("keyframes",r[0],L={}))!==L?(T=n(r[0]))&&{animation:T+" "+u(d(r)," "),["@keyframes "+T]:o}:{animation:T}}},ring(e,{theme:t},n){switch(e[0]){case"inset":return{"--tw-ring-inset":"inset"};case"opacity":return Z(e,t,n);case"offset":return(o=t("ringOffsetWidth",d(e),""))?{"--tw-ring-offset-width":o}:{"--tw-ring-offset-color":t("ringOffsetColor",d(e))}}return(o=t("ringWidth",e,""))?{"--tw-ring-offset-shadow":`var(--tw-ring-inset,/*!*/ /*!*/) 0 0 0 var(--tw-ring-offset-width,${t("ringOffsetWidth","","0px")}) var(--tw-ring-offset-color,${t("ringOffsetColor","","#fff")})`,"--tw-ring-shadow":`var(--tw-ring-inset,/*!*/ /*!*/) 0 0 0 calc(${o} + var(--tw-ring-offset-width,${t("ringOffsetWidth","","0px")})) var(--tw-ring-color,${ue(t("ringColor","","#93c5fd"),"ring-opacity",t("ringOpacity","","0.5"))})`,"box-shadow":Ue()}:{"--tw-ring-opacity":"1","--tw-ring-color":ue(t("ringColor",e),"ring-opacity")}},object:e=>h(["contain","cover","fill","none","scale"],e[0])?m("objectFit")(e):m("objectPosition"," ")(e),list:e=>m(h(["inside","outside"],e[0])?"listStylePosition":"listStyleType")(e),rounded:(e,t,n)=>Ie(t.theme("borderRadius",d(e),""),e[0],"border","radius")||y("borderRadius")(e,t,n),"transition-none":{"transition-property":"none"},transition:(e,{theme:t})=>({transition:V([t("transitionProperty",e),t("transitionDuration",""),t("transitionTimingFunction","")]," ")}),container:(e,{theme:t})=>{let{screens:n=t("screens"),center:r,padding:i}=t("container"),s=a=>(o=i&&($(i)?i:i[a]||i.DEFAULT))?{paddingRight:o,paddingLeft:o}:{};return Object.keys(n).reduce((a,g)=>((o=n[g])&&(a[`@media (min-width: ${o})`]={"&":{"max-width":o,...s(g)}}),a),{width:"100%",...r?{marginRight:"auto",marginLeft:"auto"}:{},...s("xs")})}},Ge=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":{color:e("placeholderColor","DEFAULT","#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"}}),Ye={":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":"&~*"},Je="__twind",ut=e=>{let t=self[Je];return t||(t=document.head.appendChild(document.createElement("style")),t.id=Je,e&&(t.nonce=e)),t},gt=({target:e=[]}={})=>({target:e,insert:(t,n)=>e.splice(n,0,t)}),me=({nonce:e,target:t=ut(e).sheet}={})=>({target:t,insert:t.insertRule.bind(t)}),he=()=>({insert:()=>{}}),ae=e=>({unknown(t,n=[],r,i){r||this.report({id:"UNKNOWN_THEME_VALUE",key:u([t,...n],".")},i)},report({id:t,...n}){let r=`[${t}] ${JSON.stringify(n)}`,i=(new Error(r).stack||r).split("at ");for(let s;(s=i.splice(1,1)[0])&&!/(^|\.)(tw|setup) /.test(s););e(i.join("at "))}}),le=ae(e=>console.warn(e)),be=ae(e=>{throw new Error(e)}),xe=ae(Pe);import{prefixProperty as ft,prefixValue as pt}from"tiny-css-prefixer";var ce=(e,t,n)=>`${e}:${t}${n?" !important":""}`,we=(e,t,n)=>{let r=ce(e,pt(e,t),n),i=r,s=ft(e);return s&1&&(i+=`;-ms-${r}`),s&2&&(i+=`;-moz-${r}`),s&4&&(i+=`;-webkit-${r}`),i},Q=(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},F=(e,t,n=0)=>{let r={};for(;n<=e;n=n*2||1)r[n]=n+t;return r},A=(e,t="",n=1,r=0,i=1)=>{let s={};for(;r<=e;r+=i)s[r]=r/n+t;return s},S=e=>t=>t(e),Xe={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",...A(4,"rem",4,.5,.5),...A(12,"rem",4,5),14:"3.5rem",...A(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:S("colors"),backgroundImage:{none:"none"},backgroundOpacity:S("opacity"),borderColor:e=>({...e("colors"),DEFAULT:e("colors.gray.200","currentColor")}),borderOpacity:S("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",...F(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:S("borderColor"),divideOpacity:S("borderOpacity"),divideWidth:S("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"},gap:S("spacing"),gradientColorStops:S("colors"),height:e=>({auto:"auto",...e("spacing"),...Q(2,6),full:"100%",screen:"100vh"}),inset:e=>({auto:"auto",...e("spacing"),...Q(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",...A(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:{...A(100,"",100,0,10),5:"0.05",25:"0.25",75:"0.75",95:"0.95"},order:{first:"-9999",last:"9999",none:"0",...A(12,"",1,1)},outline:{none:["2px solid transparent","2px"],white:["2px dotted white","2px"],black:["2px dotted black","2px"]},padding:S("spacing"),placeholderColor:S("colors"),placeholderOpacity:S("opacity"),ringColor:e=>({DEFAULT:e("colors.blue.500","#3b82f6"),...e("colors")}),ringOffsetColor:S("colors"),ringOffsetWidth:F(8,"px"),ringOpacity:e=>({DEFAULT:"0.5",...e("opacity")}),ringWidth:{DEFAULT:"3px",...F(8,"px")},rotate:{...F(2,"deg"),...F(12,"deg",3),...F(180,"deg",45)},scale:{0:"0",50:".5",75:".75",...A(110,"",100,90,5),125:"1.25",150:"1.5"},skew:{...F(2,"deg"),...F(12,"deg",3)},space:S("spacing"),stroke:{current:"currentColor"},strokeWidth:A(2),textColor:S("colors"),textOpacity:S("opacity"),transitionDuration:e=>({DEFAULT:"150ms",...e("durations")}),transitionDelay:S("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"),...Q(2,4),full:"100%"}),width:e=>({auto:"auto",...e("spacing"),...Q(2,6),...Q(12,12),screen:"100vw",full:"100%",min:"min-content",max:"max-content"}),zIndex:{auto:"auto",...A(50,"",1,0,10)}},mt=e=>Object.keys(e).reduce((t,n)=>{let r=e[n];return t[n]=r,te(r)?Object.keys(r).reduce((i,s)=>(s==="DEFAULT"&&(i[n]=r[s]),i[n+"-"+s]=r[s],i[n+"."+s]=r[s],i),t):t},{}),ht={negative:()=>({}),breakpoints:e=>Object.keys(e).reduce((t,n)=>(t["screen-"+n]=e[n],t),{})},qe=e=>{let t=new Map,n={...Xe,...e},r=(a,g)=>{let p=a.split(".");return s(p[0],p.length>1?d(p):void 0,g)},i=(a,g)=>{let p=a&&a[g],x=k(p)?p(r,ht):p;return x&&g==="colors"?mt(x):x},s=(a,g,p)=>{let x=t.get(a);if(x||t.set(a,x={...i(n,a),...i(n.extend,a)}),g!=null){let j=x[(Array.isArray(g)?u(g):g)||"DEFAULT"];return j==null?p:Array.isArray(j)&&!h(["fontSize","outline"],a)?u(j,","):j}return x};return s},O,Y,_=(e="")=>(O.push(e),""),ye=e=>{O.length=Math.max(O.lastIndexOf("")+~~e,0)},bt=e=>e&&e[0]!==":",xt=e=>e[0]===":",Ke=(e,t,n)=>{Y.push({v:O.filter(xt),d:e,n:t,i:n,$:""})},Ze=e=>{let t=e[0]==="-";t&&(e=d(e));let n=e[e.length-1]==="!";n&&(e=e.slice(0,-1));let r=u(O.filter(bt));return Ke(e==="&"?r:(r&&r+"-")+e,t,n),""},Se=(e,t)=>{let n,r="";for(let i=0;i<e.length;)switch(n=e[i++]){case":":r=r&&_(":"+r);break;case"(":r=r&&_(r),_();break;case")":case" ":case" ":case` | ||
`:case"\r":r=r&&Ze(r),ye(n!==")");break;default:r+=n}r&&(t?_(":"+r):r.slice(-1)==="-"?_(r.slice(0,-1)):Ze(r))},Qe=e=>{_(),ve(e),ye()},wt=(e,t)=>{if(t){_();let n=h("tbu",(typeof t)[1]);Se(e,n),n&&Qe(t),ye()}},ve=e=>{switch(typeof e){case"string":Se(e);break;case"function":Ke(e);break;case"object":Array.isArray(e)?e.forEach(Qe):e&&Object.keys(e).forEach(t=>{wt(t,e[t])})}},et=new WeakMap,yt=e=>{let t=et.get(e);return t||(t=e.map(n=>{let r=Y=[];Se(n);let i=[...O];return Y=[],s=>{Y.push(...r),O=[...i],s&&ve(s)}}),et.set(e,t)),t},tt=e=>(O=[],Y=[],Array.isArray(e[0])&&Array.isArray(e[0].raw)?yt(e[0]).forEach((t,n)=>t(e[n+1])):e.forEach(ve),Y),nt=(e,t)=>n=>{if(k(n.d))return n.d(t);let r=n.d.split("-");if(r[0]==="tw"&&n.$===n.d)return n.$;for(let i=r.length;i;i--){let s=u(r.slice(0,i)),a=e[s];if(a)return k(a)?a(d(r,i),t,s):$(a)?t.tw(a):a}},rt=(e,t,{theme:n,tag:r})=>{let i=(s,a)=>{let g=n("screens",d(a),"");return g?{[`@media (min-width: ${g})`]:s}:a===":dark"&&e==="class"?{[".dark &"]:s}:a.slice(1,7)==="group-"?{[`.${ne(r("group"))}:${d(a,7)} &`]:s}:{[t[a]||"&"+a]:s}};return(s,a)=>a.v.reduceRight(i,s)},v,Ce=e=>(((v=/(?:^|min-width: *)(\d+(?:.\d+)?)(p)?/.exec(e))?+v[1]/(v[2]?15:1)/10:0)&31)<<23,ot=e=>{v=0;for(let t=e.length;t--;)v+=h("-:,",e[t]);return v},Te=e=>(ot(e)&15)<<18,St=["rst","st","en","d","nk","sited","pty","ecked","cus-w","ver","cus","cus-v","tive","sable","ad-on","tiona","quire"],vt=e=>1<<(~(v=St.indexOf(e.replace(/^:group-/,":").slice(3,8)))?v:17),it=(e,t)=>(n,r)=>n|((v=e("screens",d(r),""))?Ce(v):r===":dark"?1<<22:(v=t[r]||r)[0]==="@"?Te(v):vt(r)),Ct=/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7}$)|([fl].{5}l|g.{8}$|pl))/,st=e=>e[0]==="-"?0:ot(e)+((v=Ct.exec(e))?+!!v[1]||-!!v[2]:0)+1,Re=(e,t)=>t+"{"+e+"}",at=(e,t,n)=>{let{theme:r,tag:i}=n,s=(w,b)=>"--"+i(b),a=w=>`${w}`.replace(/--(tw-[\w-]+)\b/g,s),g=(w,b,C)=>(w=a(w),Array.isArray(b)?u(b.filter(Boolean).map(I=>e(w,a(I),C)),";"):e(w,a(b),C)),p,x=(w,b,C,I,W)=>{let M="",P=0,l=0;Object.keys(I).forEach(c=>{let f=I[c];if(k(f)&&(f=f(n)),h("rg",(typeof f)[5])||Array.isArray(f)){let R=ze(c);l+=1,P=Math.max(P,st(R)),M=(M&&M+";")+g(R,f,W)}else if(f)if(c[0]==="@")if(c[1]==="f")x([],c,0,f,W);else if(c[1]==="k"){let R=p.length;x([],"",0,f,W);let ee=p.splice(R,p.length-R);p.push({r:Re(u(ee.map(H=>H.r),""),c),p:ee.reduce((H,dt)=>H+dt.p,0)})}else x([...w,c],b,C|(Ce(c)||Te(c)),f,W);else{let R=b&&h(c,"&");x(w,R?b.replace(/([^,])+/g,ee=>c.replace(/([^,])+/g,H=>h(H,"&")?H.replace(/&/g,ee):H)):c,R?C:0,f,W)}}),l&&p.push({r:w.reduceRight(Re,Re(M,b)),p:C*(1<<8)+(((P||15)&15)<<4|Math.max(0,15-l)&15)})},j=it(r,t);return(w,b,C)=>(p=[],x([],b?"."+ne(b):"",C?C.v.reduceRight(j,0):0,w,C&&C.i),p)},lt=(e,t,n)=>{let r=[],i=new Set;return({r:s,p:a})=>{if(!i.has(s)){i.add(s);let g=Fe(r,a);try{e.insert(s,g),r.splice(g,0,a)}catch(p){/:-[mwo]/.test(s)||t.report({id:"INJECT_CSS_ERROR",css:s,error:p},n)}}}},ke=(e,t,n,r=t)=>e===!1?n:e===!0?r:e||t,Tt=e=>($(e)?{t:be,a:le,i:xe}[e[1]]:e)||le,$e=(e,t=e.d)=>{if(k(t))return"";let n=u(e.v,"");return(n&&d(n)+":")+(e.n?"-":"")+t+(e.i?"!":"")},ct=(e={})=>{let t=qe(e.theme),n=Tt(e.mode),r=ke(e.hash,!1,!1,J),i={v:[]},s={tw:(...l)=>M(l),theme:(l,c,f)=>{c!=null&&!c.length&&(c="DEFAULT");let R=t(l,c,f)||n.unknown(l,c==null||Array.isArray(c)?c:c.split("."),f!=null,s);return i.n&&R&&$(R)?`calc(${R} * -1)`:R},tag:l=>r?r(l):l},a=nt({...Be,...e.plugins},s),g=l=>{let c=i;i=l;try{return a(l)}finally{i=c}},p={...Ye,...e.variants},x=rt(e.darkMode||"media",p,s),j=at(ke(e.prefix,we,ce),p,s),w=lt(e.injector||(typeof window=="undefined"?he():me(e)),n,s),b=new Map,C=new WeakMap,I=(l,c)=>k(c)?c(s):c,W=l=>{i.v.length&&(l={...l,v:[...i.v,...l.v],$:""}),l.$||(l.$=$e(l)||$e(l,C.get(l.d)));let c=b.get(l.$);if(c==null){let f=g(l);l.$||(l.$=J(JSON.stringify(f,I)),C.set(l.d,l.$),l.$=$e(l,l.$)),$(f)?c=f:te(f)?(f=x(f,l),c=r?r(JSON.stringify(f,I)):l.$,j(f,c,l).forEach(w)):(c=l.$,n.report({id:"UNKNOWN_DIRECTIVE",rule:c},s)),b.set(l.$,c),b.size>3e4&&b.delete(b.keys().next().value)}return c},M=l=>tt(l).map(W).filter(Boolean).join(" "),P=ke(e.preflight,Ae,!1);if(P){let l=Ge(t);j(k(P)?P(l,s)||l:{...l,...P}).forEach(w)}return{init:()=>n.report({id:"LATE_SETUP_CALL"},s),process:M,theme:t}},Ee=e=>{let t=i=>(r(),t(i)),n=(i,s,a)=>(r(),n(i,s,a)),r=i=>{({process:t,init:r,theme:n}=ct(i))};return e&&r(e),{tw:(...i)=>t(i),setup:i=>r(i),theme:n}},je=Ee(),{tw:Rt}=je,{setup:kt}=je,{theme:$t}=je;export{we as autoprefix,Ee as create,me as cssomInjector,J as hash,ae as mode,he as noOpInjector,ce as noprefix,kt as setup,xe as silent,be as strict,$t as theme,Rt as tw,gt as virtualInjector,le as warn}; | ||
var A=e=>typeof e=="string",te=e=>e!=null&&typeof e=="object",E=e=>typeof e=="function",m=(e,t)=>!!~e.indexOf(t),u=(e,t="-")=>e.join(t),V=(e,t)=>u(e.filter(Boolean),t),d=(e,t=1)=>e.slice(t),ze=e=>e,ne=()=>{},De=e=>e[0].toUpperCase()+d(e),Fe=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),re=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,"\\$&")}),X=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)},We=(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},je=e=>(t,n,r,i)=>{if(t){let s=n&&e(n);if(s&&s.length>0)return s.reduce((l,g)=>(l[V([r,g,i])]=t,l),{})}},Oe=je(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]),q=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},oe=je(q),o,H,R,K=e=>(t,n,r)=>({[e]:r+((o=u(t))&&"-"+o)}),p=(e,t)=>n=>({[e]:u(n,t)}),S=e=>(t,{theme:n},r)=>({[e||r]:n(e||r,t)}),P=(e,t)=>(n,r)=>e(n,r,t),W=K("display"),Z=K("position"),B=K("textTransform"),G=K("textDecoration"),ie=K("fontStyle"),j=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,/*!*/ /*!*/)"}),se=(e,{theme:t},n)=>({[n]:t("inset",e)}),Q=(e,t,n,r=n)=>({[`--tw-${n}-opacity`]:t(r+"Opacity",d(e))}),ue=(e,t)=>Math.round(parseInt(e,16)*t),ge=(e,t,n)=>e&&e[0]==="#"?`rgba(${ue(e.substr(1,o=(e.length-1)/3),R=[17,1,.062272][o-1])},${ue(e.substr(1+o,o),R)},${ue(e.substr(1+2*o,o),R)},var(--tw-${t}${n?","+n:""}))`:e,ae=(e,t,n)=>n&&(o=ge(n,t+"-opacity"))&&o!==n?{[`--tw-${t}-opacity`]:"1",[e]:[n,o]}:{[e]:n},Me=(e,{theme:t},n,r,i,s)=>(o={x:["right","left"],y:["bottom","top"]}[e[0]])&&(R=`--tw-${n}-${e[0]}-reverse`)?e[1]==="reverse"?{[R]:"1"}:{[R]:"0",[V([i,o[0],s])]:(H=t(r,d(e)))&&`calc(${H} * var(${R}))`,[V([i,o[1],s])]:H&&[H,`calc(${H} * calc(1 - var(${R})))`]}:void 0,Ie=(e,t)=>({[e]:(m("wun",(t[0]||"")[3])?"space-":"")+t[0]}),fe=e=>t=>m(["start","end"],t[0])?{[e]:`flex-${t[0]}`}:Ie(e,t),He=e=>t=>{switch(t[0]){case"auto":return{[`grid-${e}`]:"auto"};case"span":return{[`grid-${e}`]:t[1]==="full"?"1 / -1":`span ${t[1]} / span ${t[1]}`};case"start":case"end":return{[`grid-${e}-${t[0]}`]:t[1]}}},Le=(e,{theme:t},n)=>{switch(e[0]){case"solid":case"dashed":case"dotted":case"double":case"none":return p("borderStyle")(e);case"collapse":case"separate":return p("borderCollapse")(e);case"opacity":return Q(e,t,n)}return(o=t(n+"Width",e,""))?{borderWidth:o}:ae("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))",me=(e,t,n)=>(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})`,pe()]},Ue=()=>"var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow,0 0 transparent)",Ne=(e,{theme:t},n)=>(o=t("gradientColorStops",e))&&{["--tw-gradient-"+n]:o},_e=e=>(t,n,r)=>r[1]?oe(n.theme(e,t),r[1],e):S(e)(t,n,r),L=_e("padding"),U=_e("margin"),Ve=(e,{theme:t},n)=>(o={w:"width",h:"height"}[e[0]])&&{[o=`${n}${De(o)}`]:t(o,d(e))},Be={group:(e,{tag:t})=>t("group"),hidden:P(W,"none"),inline:W,block:W,contents:W,flow:W,table:(e,t,n)=>m(["auto","fixed"],e[0])?{tableLayout:e[0]}:W(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{[`flex-${e[0]}`]:e[1]||"1"}}return(o=t.theme("flex",e,""))?{flex:o}:W(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))`:u(d(e)," ")};case"flow":return e.length>1&&{gridAutoFlow:u(e[1]==="col"?["column",...d(e,2)]:d(e)," ")}}return W(e,t,n)},auto:e=>m(["cols","rows"],e[0])&&(o=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(${u(d(e),",")})`)&&{[`grid-auto-${e[0]==="cols"?"columns":"rows"}`]:o},static:Z,fixed:Z,absolute:Z,relative:Z,sticky:Z,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]}-box`}),appearance:p("appearance"),cursor:p("cursor"),float:p("float"),clear:p("clear"),top:se,right:se,bottom:se,left:se,inset:(e,{theme:t})=>(o=q(e[0]))?oe(t("inset",d(e)),e[0]):(o=t("inset",e))&&{top:o,right:o,bottom:o,left:o},underline:G,"line-through":G,"no-underline":P(G,"none"),"text-underline":P(G,"underline"),"text-no-underline":P(G,"none"),"text-line-through":P(G,"line-through"),uppercase:B,lowercase:B,capitalize:B,"normal-case":P(B,"none"),"text-normal-case":P(B,"none"),italic:ie,"not-italic":P(ie,"normal"),"font-italic":P(ie,"italic"),"font-not-italic":P(ie,"normal"),font:(e,t,n)=>(o=t.theme("fontFamily",e,""))?{fontFamily:o}:S("fontWeight")(e,t,n),items:e=>({alignItems:m(["start","end"],e[0])?`flex-${e[0]}`:u(e)}),content:fe("alignContent"),justify:fe("justifyContent"),self:fe("alignSelf"),place:e=>Ie("place-"+e[0],d(e)),overscroll:e=>({["overscrollBehavior"+(e[1]?"-"+e[0]:"")]:e[1]||e[0]}),col:He("column"),row:He("row"),duration:S("transitionDuration"),delay:S("transitionDelay"),tracking:S("letterSpacing"),leading:S("lineHeight"),z:S("zIndex"),opacity:S(),ease:S("transitionTimingFunction"),p:L,py:L,px:L,pt:L,pr:L,pb:L,pl:L,m:U,my:U,mx:U,mt:U,mr:U,mb:U,ml:U,w:S("width"),h:S("height"),min:Ve,max:Ve,fill:S(),order:S(),origin:p("transformOrigin"," "),select:p("userSelect"),"pointer-events":p("pointerEvents"),align:p("verticalAlign"),whitespace:p("whiteSpace"),"normal-nums":{fontVariantNumeric:"normal"},ordinal:j("ordinal"),"slashed-zero":j("slashed-zero"),"lining-nums":j("numeric-figure"),"oldstyle-nums":j("numeric-figure"),"proportional-nums":j("numeric-spacing"),"tabular-nums":j("numeric-spacing"),"diagonal-fractions":j("numeric-fraction"),"stacked-fractions":j("numeric-fraction"),overflow:e=>m(["ellipsis","clip"],e[0])?p("textOverflow")(e):e[1]?{[`overflow-${e[0]}`]:e[1]}:p("overflow")(e),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})=>(o=t("rotate",e))&&{"--tw-rotate":o,transform:[`rotate(${o})`,pe()]},scale:me,translate:me,skew:me,gap:(e,t,n)=>(o={x:"column",y:"row"}[e[0]])?{[o+"Gap"]:t.theme("gap",d(e))}:S("gap")(e,t,n),stroke:(e,t,n)=>(o=t.theme("stroke",e,""))?{stroke:o}:S("strokeWidth")(e,t,n),outline:(e,{theme:t})=>(o=t("outline",e))&&{outline:o[0],outlineOffset:o[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 B([],o,e[0]);case"opacity":return Q(e,t,n)}let r=t("fontSize",e,"");return r?A(r)?{fontSize:r}:{fontSize:r[0],...A(r[1])?{lineHeight:r[1]}:r[1]}:ae("color","text",t("textColor",e))},bg(e,{theme:t},n){switch(e[0]){case"fixed":case"local":case"scroll":return p("backgroundAttachment",",")(e);case"bottom":case"center":case"left":case"right":case"top":return p("backgroundPosition"," ")(e);case"no":return e[1]==="repeat"&&p("backgroundRepeat")(e);case"auto":case"cover":case"contain":return p("backgroundSize")(e);case"repeat":return m("xy",e[1])?p("backgroundRepeat")(e):{"background-repeat":e[1]||e[0]};case"opacity":return Q(e,t,n,"background");case"clip":return{backgroundClip:e[1]+(e[1]==="text"?"":"-box")};case"gradient":if(e[1]==="to"&&(o=q(e[2])))return{backgroundImage:`linear-gradient(to ${u(o," ")},var(--tw-gradient-stops,var(--tw-gradient-from,transparent),var(--tw-gradient-to,transparent)))`}}return(o=t("backgroundImage",e,""))?{backgroundImage:o}:ae("backgroundColor","bg",t("backgroundColor",e))},from:Ne,to:Ne,via:(e,{theme:t})=>(o=t("gradientColorStops",e))&&{"--tw-gradient-stops":`var(--tw-gradient-from,transparent),${o},var(--tw-gradient-to,transparent)`},border:(e,t,n)=>q(e[0])?oe(t.theme("borderWidth",d(e)),e[0],"border","width"):Le(e,t,n),divide:(e,t,n)=>(o=Me(e,t,n,"divideWidth","border","width")||Le(e,t,n))&&{"&>:not([hidden])~:not([hidden])":o},space:(e,t,n)=>(o=Me(e,t,n,"space","margin"))&&{"&>:not([hidden])~:not([hidden])":o},placeholder:(e,{theme:t},n)=>(o=e[0]==="opacity"?Q(e,t,n):ae("color","placeholder",t("placeholderColor",e)))&&{"&::placeholder":o},shadow:(e,{theme:t})=>(o=t("boxShadow",e))&&{"--tw-shadow":o,boxShadow:[o,Ue()]},animate:(e,{theme:t,tag:n})=>{if(R=t("animation",e)){let r=R.split(" ");return(o=t("keyframes",r[0],H={}))!==H?(R=n(r[0]))&&{animation:R+" "+u(d(r)," "),["@keyframes "+R]:o}:{animation:R}}},ring(e,{theme:t},n){switch(e[0]){case"inset":return{"--tw-ring-inset":"inset"};case"opacity":return Q(e,t,n);case"offset":return(o=t("ringOffsetWidth",d(e),""))?{"--tw-ring-offset-width":o}:{"--tw-ring-offset-color":t("ringOffsetColor",d(e))}}return(o=t("ringWidth",e,""))?{"--tw-ring-offset-shadow":`var(--tw-ring-inset,/*!*/ /*!*/) 0 0 0 var(--tw-ring-offset-width,${t("ringOffsetWidth","","0px")}) var(--tw-ring-offset-color,${t("ringOffsetColor","","#fff")})`,"--tw-ring-shadow":`var(--tw-ring-inset,/*!*/ /*!*/) 0 0 0 calc(${o} + var(--tw-ring-offset-width,${t("ringOffsetWidth","","0px")})) var(--tw-ring-color,${ge(t("ringColor","","#93c5fd"),"ring-opacity",t("ringOpacity","","0.5"))})`,"box-shadow":Ue()}:{"--tw-ring-opacity":"1","--tw-ring-color":ge(t("ringColor",e),"ring-opacity")}},object:e=>m(["contain","cover","fill","none","scale"],e[0])?p("objectFit")(e):p("objectPosition"," ")(e),list:e=>p(m(["inside","outside"],e[0])?"listStylePosition":"listStyleType")(e),rounded:(e,t,n)=>Oe(t.theme("borderRadius",d(e),""),e[0],"border","radius")||S("borderRadius")(e,t,n),"transition-none":{"transition-property":"none"},transition:(e,{theme:t})=>({transition:V([t("transitionProperty",e),t("transitionDuration",""),t("transitionTimingFunction","")]," ")}),container:(e,{theme:t})=>{let{screens:n=t("screens"),center:r,padding:i}=t("container"),s=l=>(o=i&&(A(i)?i:i[l]||i.DEFAULT))?{paddingRight:o,paddingLeft:o}:{};return Object.keys(n).reduce((l,g)=>((o=n[g])&&(l[`@media (min-width: ${o})`]={"&":{"max-width":o,...s(g)}}),l),{width:"100%",...r?{marginRight:"auto",marginLeft:"auto"}:{},...s("xs")})}},Ge=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":{color:e("placeholderColor","DEFAULT","#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"}}),Ye={":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":"&~*"},Je="__twind",Xe=e=>{let t=self[Je];return t||(t=document.head.appendChild(document.createElement("style")),t.id=Je,e&&(t.nonce=e),t.appendChild(document.createTextNode(""))),t},he=({nonce:e,target:t=Xe(e).sheet}={})=>({insert:t.insertRule.bind(t)}),be=()=>({insert:ne}),le=e=>({unknown(t,n=[],r,i){r||this.report({id:"UNKNOWN_THEME_VALUE",key:u([t,...n],".")},i)},report({id:t,...n}){let r=`[${t}] ${JSON.stringify(n)}`,i=(new Error(r).stack||r).split("at ");for(let s;(s=i.splice(1,1)[0])&&!/(^|\.)(tw|setup) /.test(s););e(i.join("at "))}}),ce=le(e=>console.warn(e)),xe=le(e=>{throw new Error(e)}),we=le(ne);import{prefixProperty as ut,prefixValue as gt}from"tiny-css-prefixer";var de=(e,t,n)=>`${e}:${t}${n?" !important":""}`,ye=(e,t,n)=>{let r=de(e,gt(e,t),n),i=r,s=ut(e);return s&1&&(i+=`;-ms-${r}`),s&2&&(i+=`;-moz-${r}`),s&4&&(i+=`;-webkit-${r}`),i},ee=(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},O=(e,t,n=0)=>{let r={};for(;n<=e;n=n*2||1)r[n]=n+t;return r},D=(e,t="",n=1,r=0,i=1)=>{let s={};for(;r<=e;r+=i)s[r]=r/n+t;return s},v=e=>t=>t(e),ft={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",...D(4,"rem",4,.5,.5),...D(12,"rem",4,5),14:"3.5rem",...D(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",...O(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"},gap:v("spacing"),gradientColorStops:v("colors"),height:e=>({auto:"auto",...e("spacing"),...ee(2,6),full:"100%",screen:"100vh"}),inset:e=>({auto:"auto",...e("spacing"),...ee(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",...D(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:{...D(100,"",100,0,10),5:"0.05",25:"0.25",75:"0.75",95:"0.95"},order:{first:"-9999",last:"9999",none:"0",...D(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:O(8,"px"),ringOpacity:e=>({DEFAULT:"0.5",...e("opacity")}),ringWidth:{DEFAULT:"3px",...O(8,"px")},rotate:{...O(2,"deg"),...O(12,"deg",3),...O(180,"deg",45)},scale:{0:"0",50:".5",75:".75",...D(110,"",100,90,5),125:"1.25",150:"1.5"},skew:{...O(2,"deg"),...O(12,"deg",3)},space:v("spacing"),stroke:{current:"currentColor"},strokeWidth:D(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"),...ee(2,4),full:"100%"}),width:e=>({auto:"auto",...e("spacing"),...ee(2,6),...ee(12,12),screen:"100vw",full:"100%",min:"min-content",max:"max-content"}),zIndex:{auto:"auto",...D(50,"",1,0,10)}},pt=e=>Object.keys(e).reduce((t,n)=>{let r=e[n];return t[n]=r,te(r)?Object.keys(r).reduce((i,s)=>(s==="DEFAULT"&&(i[n]=r[s]),i[n+"-"+s]=r[s],i[n+"."+s]=r[s],i),t):t},{}),mt={negative:()=>({}),breakpoints:e=>Object.keys(e).reduce((t,n)=>(t["screen-"+n]=e[n],t),{})},qe=e=>{let t=new Map,n={...ft,...e},r=(l,g)=>{let f=l.split(".");return s(f[0],f.length>1?d(f):void 0,g)},i=(l,g)=>{let f=l&&l[g],h=E(f)?f(r,mt):f;return h&&g==="colors"?pt(h):h},s=(l,g,f)=>{let h=t.get(l);if(h||t.set(l,h={...i(n,l),...i(n.extend,l)}),g!=null){let z=h[(Array.isArray(g)?u(g):g)||"DEFAULT"];return z==null?f:Array.isArray(z)&&!m(["fontSize","outline"],l)?u(z,","):z}return h};return s},M,Y,N=(e="")=>(M.push(e),""),Se=e=>{M.length=Math.max(M.lastIndexOf("")+~~e,0)},ht=e=>e&&e[0]!==":",bt=e=>e[0]===":",Ke=(e,t,n)=>{Y.push({v:M.filter(bt),d:e,n:t,i:n,$:""})},Ze=e=>{let t=e[0]==="-";t&&(e=d(e));let n=e[e.length-1]==="!";n&&(e=e.slice(0,-1));let r=u(M.filter(ht));return Ke(e==="&"?r:(r&&r+"-")+e,t,n),""},ve=(e,t)=>{let n,r="";for(let i=0;i<e.length;)switch(n=e[i++]){case":":r=r&&N(":"+r);break;case"(":r=r&&N(r),N();break;case")":case" ":case" ":case` | ||
`:case"\r":r=r&&Ze(r),Se(n!==")");break;default:r+=n}r&&(t?N(":"+r):r.slice(-1)==="-"?N(r.slice(0,-1)):Ze(r))},Qe=e=>{N(),Ce(e),Se()},xt=(e,t)=>{if(t){N();let n=m("tbu",(typeof t)[1]);ve(e,n),n&&Qe(t),Se()}},Ce=e=>{switch(typeof e){case"string":ve(e);break;case"function":Ke(e);break;case"object":Array.isArray(e)?e.forEach(Qe):e&&Object.keys(e).forEach(t=>{xt(t,e[t])})}},et=new WeakMap,wt=e=>{let t=et.get(e);return t||(t=e.map(n=>{let r=Y=[];ve(n);let i=[...M];return Y=[],s=>{Y.push(...r),M=[...i],s&&Ce(s)}}),et.set(e,t)),t},tt=e=>(M=[],Y=[],Array.isArray(e[0])&&Array.isArray(e[0].raw)?wt(e[0]).forEach((t,n)=>t(e[n+1])):e.forEach(Ce),Y),nt=(e,t)=>n=>{if(E(n.d))return n.d(t);let r=n.d.split("-");if(r[0]==="tw"&&n.$===n.d)return n.$;for(let i=r.length;i;i--){let s=u(r.slice(0,i)),l=e[s];if(l)return E(l)?l(d(r,i),t,s):A(l)?t.tw(l):l}},rt=(e,t,{theme:n,tag:r})=>{let i=(s,l)=>{let g=n("screens",d(l),"");return g?{[`@media (min-width: ${g})`]:s}:l===":dark"&&e==="class"?{[".dark &"]:s}:l.slice(1,7)==="group-"?{[`.${re(r("group"))}:${d(l,7)} &`]:s}:{[t[l]||"&"+l]:s}};return(s,l)=>l.v.reduceRight(i,s)},C,Te=e=>(((C=/(?:^|min-width: *)(\d+(?:.\d+)?)(p)?/.exec(e))?+C[1]/(C[2]?15:1)/10:0)&31)<<23,ot=e=>{C=0;for(let t=e.length;t--;)C+=m("-:,",e[t]);return C},Re=e=>(ot(e)&15)<<18,yt=["rst","st","en","d","nk","sited","pty","ecked","cus-w","ver","cus","cus-v","tive","sable","ad-on","tiona","quire"],St=e=>1<<(~(C=yt.indexOf(e.replace(/^:group-/,":").slice(3,8)))?C:17),it=(e,t)=>(n,r)=>n|((C=e("screens",d(r),""))?Te(C):r===":dark"?1<<22:(C=t[r]||r)[0]==="@"?Re(C):St(r)),st=e=>e[0]==="-"?0:ot(e)+((C=/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7}$)|([fl].{5}l|g.{8}$|pl))/.exec(e))?+!!C[1]||-!!C[2]:0)+1,ke=(e,t)=>t+"{"+e+"}",at=(e,t,n)=>{let{theme:r,tag:i}=n,s=(y,w)=>"--"+i(w),l=y=>`${y}`.replace(/--(tw-[\w-]+)\b/g,s),g=(y,w,T)=>(y=l(y),Array.isArray(w)?u(w.filter(Boolean).map($=>e(y,l($),T)),";"):e(y,l(w),T)),f,h=(y,w,T,$,F)=>{let I="",J=0,_=0;Object.keys($).forEach(b=>{let a=$[b];if(E(a)&&(a=a(n)),m("rg",(typeof a)[5])||Array.isArray(a)){let c=Fe(b);_+=1,J=Math.max(J,st(c)),I=(I&&I+";")+g(c,a,F)}else if(a)if(b[0]==="@")if(b[1]==="f")h([],b,0,a,F);else if(b[1]==="k"){let c=f.length;h([],"",0,a,F);let x=f.splice(c,f.length-c);f.push({r:ke(u(x.map(k=>k.r),""),b),p:x.reduce((k,dt)=>k+dt.p,0)})}else h([...y,b],w,T|(Te(b)||Re(b)),a,F);else{let c=w&&m(b,"&");h(y,c?w.replace(/([^,])+/g,x=>b.replace(/([^,])+/g,k=>m(k,"&")?k.replace(/&/g,x):k)):b,c?T:0,a,F)}}),_&&f.push({r:y.reduceRight(ke,ke(I,w)),p:T*(1<<8)+(((J||15)&15)<<4|Math.max(0,15-_)&15)})},z=it(r,t);return(y,w,T)=>(f=[],h([],w?"."+re(w):"",T?T.v.reduceRight(z,0):0,y,T&&T.i),f)},lt=(e,t,n,r)=>{let i;n((l=[])=>i=l);let s;return n((l=new Set)=>s=l),({r:l,p:g})=>{if(!s.has(l)){s.add(l);let f=We(i,g);try{e.insert(l,f),i.splice(f,0,g)}catch(h){/:-[mwo]/.test(l)||t.report({id:"INJECT_CSS_ERROR",css:l,error:h},r)}}}},$e=(e,t,n,r=t)=>e===!1?n:e===!0?r:e||t,vt=e=>(A(e)?{t:xe,a:ce,i:we}[e[1]]:e)||ce,Ee=(e,t=e.d)=>{if(E(t))return"";let n=u(e.v,"");return(n&&d(n)+":")+(e.n?"-":"")+t+(e.i?"!":"")},ct=(e={})=>{let t=qe(e.theme),n=vt(e.mode),r=$e(e.hash,!1,!1,X),i={v:[]},s={tw:(...a)=>_(a),theme:(a,c,x)=>{c!=null&&!c.length&&(c="DEFAULT");let k=t(a,c,x)||n.unknown(a,c==null||Array.isArray(c)?c:c.split("."),x!=null,s);return i.n&&k&&A(k)?`calc(${k} * -1)`:k},tag:a=>r?r(a):a},l=nt({...Be,...e.plugins},s),g=a=>{let c=i;i=a;try{return l(a)}finally{i=c}},f={...Ye,...e.variants},h=rt(e.darkMode||"media",f,s),z=at($e(e.prefix,ye,de),f,s),y=e.sheet||(typeof window=="undefined"?be():he(e)),{init:w=a=>a()}=y,T=lt(y,n,w,s),$;w((a=new Map)=>$=a);let F=new WeakMap,I=(a,c)=>E(c)?c(s):c,J=a=>{i.v.length&&(a={...a,v:[...i.v,...a.v],$:""}),a.$||(a.$=Ee(a)||Ee(a,F.get(a.d)));let c=$.get(a.$);if(c==null){let x=g(a);a.$||(a.$=X(JSON.stringify(x,I)),F.set(a.d,a.$),a.$=Ee(a,a.$)),A(x)?c=x:te(x)?(x=h(x,a),c=r?r(JSON.stringify(x,I)):a.$,z(x,c,a).forEach(T)):(c=a.$,n.report({id:"UNKNOWN_DIRECTIVE",rule:c},s)),$.set(a.$,c),$.size>3e4&&$.delete($.keys().next().value)}return c},_=a=>tt(a).map(J).filter(Boolean).join(" "),b=$e(e.preflight,ze,!1);if(b){let a=Ge(t),c=z(E(b)?b(a,s)||a:{...a,...b});w((x=(c.forEach(T),!0))=>x)}return{init:()=>n.report({id:"LATE_SETUP_CALL"},s),process:_,theme:t}},Ae=e=>{let t=i=>(r(),t(i)),n=(i,s,l)=>(r(),n(i,s,l)),r=i=>{({process:t,init:r,theme:n}=ct(i))};return e&&r(e),{tw:(...i)=>t(i),setup:i=>r(i),theme:n}},Pe=Ae(),{tw:Ct}=Pe,{setup:Tt}=Pe,{theme:Rt}=Pe;export{ye as autoprefix,Ae as create,he as cssomSheet,X as hash,le as mode,de as noprefix,Tt as setup,we as silent,xe as strict,Rt as theme,Ct as tw,be as voidSheet,ce as warn}; | ||
//# sourceMappingURL=twind.js.map |
@@ -1,2 +0,2 @@ | ||
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports,require('tiny-css-prefixer')):typeof define==='function'&&define.amd?define(['exports','tiny-css-prefixer'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twind={},g.tinyCssPrefixer));}(this,(function(exports, tinyCssPrefixer){'use strict';var pt=Object.prototype.hasOwnProperty,Pe=Object.getOwnPropertySymbols,mt=Object.prototype.propertyIsEnumerable,a=Object.assign,De=(e,t)=>{var n={};for(var r in e)pt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Pe)for(var r of Pe(e))t.indexOf(r)<0&&mt.call(e,r)&&(n[r]=e[r]);return n},E=e=>typeof e=="string",ne=e=>e!=null&&typeof e=="object",$=e=>typeof e=="function",b=(e,t)=>!!~e.indexOf(t),g=(e,t="-")=>e.join(t),B=(e,t)=>g(e.filter(Boolean),t),u=(e,t=1)=>e.slice(t),ze=e=>e,Fe=()=>{},Oe=e=>e[0].toUpperCase()+u(e),Ie=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),re=typeof CSS!="undefined"&&CSS.escape||(e=>{let t=e.charCodeAt(0),n="";return t>=48&&t<=57&&(n="\\"+t.toString(16)+" ",e=u(e)),n+e.replace(/[!./:#]/g,"\\$&")}),X=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)},We=(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},Me=e=>(t,n,r,i)=>{if(t){let s=n&&e(n);if(s&&s.length>0)return s.reduce((l,f)=>(l[B([r,f,i])]=t,l),{})}},He=Me(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]),q=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},oe=Me(q),o,U,R,K=e=>(t,n,r)=>({[e]:r+((o=g(t))&&"-"+o)}),h=(e,t)=>n=>({[e]:g(n,t)}),S=e=>(t,{theme:n},r)=>({[e||r]:n(e||r,t)}),j=(e,t)=>(n,r)=>e(n,r,t),z=K("display"),Z=K("position"),G=K("textTransform"),Y=K("textDecoration"),ie=K("fontStyle"),F=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,/*!*/ /*!*/)"}),se=(e,{theme:t},n)=>({[n]:t("inset",e)}),Q=(e,t,n,r=n)=>({[`--tw-${n}-opacity`]:t(r+"Opacity",u(e))}),ue=(e,t)=>Math.round(parseInt(e,16)*t),ge=(e,t,n)=>e&&e[0]==="#"?`rgba(${ue(e.substr(1,o=(e.length-1)/3),R=[17,1,.062272][o-1])},${ue(e.substr(1+o,o),R)},${ue(e.substr(1+2*o,o),R)},var(--tw-${t}${n?","+n:""}))`:e,ae=(e,t,n)=>n&&(o=ge(n,t+"-opacity"))&&o!==n?{[`--tw-${t}-opacity`]:"1",[e]:[n,o]}:{[e]:n},Le=(e,{theme:t},n,r,i,s)=>(o={x:["right","left"],y:["bottom","top"]}[e[0]])&&(R=`--tw-${n}-${e[0]}-reverse`)?e[1]==="reverse"?{[R]:"1"}:{[R]:"0",[B([i,o[0],s])]:(U=t(r,u(e)))&&`calc(${U} * var(${R}))`,[B([i,o[1],s])]:U&&[U,`calc(${U} * calc(1 - var(${R})))`]}:void 0,Ue=(e,t)=>({[e]:(b("wun",(t[0]||"")[3])?"space-":"")+t[0]}),fe=e=>t=>b(["start","end"],t[0])?{[e]:`flex-${t[0]}`}:Ue(e,t),Ne=e=>t=>{switch(t[0]){case"auto":return {[`grid-${e}`]:"auto"};case"span":return {[`grid-${e}`]:t[1]==="full"?"1 / -1":`span ${t[1]} / span ${t[1]}`};case"start":case"end":return {[`grid-${e}-${t[0]}`]:t[1]}}},_e=(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 Q(e,t,n)}return (o=t(n+"Width",e,""))?{borderWidth:o}:ae("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))",me=(e,t,n)=>(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})`,pe()]},Ve=()=>"var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow,0 0 transparent)",Be=(e,{theme:t},n)=>(o=t("gradientColorStops",e))&&{["--tw-gradient-"+n]:o},Ge=e=>(t,n,r)=>r[1]?oe(n.theme(e,t),r[1],e):S(e)(t,n,r),N=Ge("padding"),_=Ge("margin"),Ye=(e,{theme:t},n)=>(o={w:"width",h:"height"}[e[0]])&&{[o=`${n}${Oe(o)}`]:t(o,u(e))},Je={group:(e,{tag:t})=>t("group"),hidden:j(z,"none"),inline:z,block:z,contents:z,flow:z,table:(e,t,n)=>b(["auto","fixed"],e[0])?{tableLayout:e[0]}:z(e,t,n),flex(e,t,n){switch(e[0]){case"row":case"col":return {flexDirection:g(e[0]==="col"?["column",...u(e)]:e)};case"nowrap":case"wrap":return {flexWrap:g(e)};case"grow":case"shrink":return {[`flex-${e[0]}`]:e[1]||"1"}}return (o=t.theme("flex",e,""))?{flex:o}:z(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))`:g(u(e)," ")};case"flow":return e.length>1&&{gridAutoFlow:g(e[1]==="col"?["column",...u(e,2)]:u(e)," ")}}return z(e,t,n)},auto:e=>b(["cols","rows"],e[0])&&(o=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(u(e),",")})`)&&{[`grid-auto-${e[0]==="cols"?"columns":"rows"}`]:o},static:Z,fixed:Z,absolute:Z,relative:Z,sticky:Z,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]}-box`}),appearance:h("appearance"),cursor:h("cursor"),float:h("float"),clear:h("clear"),top:se,right:se,bottom:se,left:se,inset:(e,{theme:t})=>(o=q(e[0]))?oe(t("inset",u(e)),e[0]):(o=t("inset",e))&&{top:o,right:o,bottom:o,left:o},underline:Y,"line-through":Y,"no-underline":j(Y,"none"),"text-underline":j(Y,"underline"),"text-no-underline":j(Y,"none"),"text-line-through":j(Y,"line-through"),uppercase:G,lowercase:G,capitalize:G,"normal-case":j(G,"none"),"text-normal-case":j(G,"none"),italic:ie,"not-italic":j(ie,"normal"),"font-italic":j(ie,"italic"),"font-not-italic":j(ie,"normal"),font:(e,t,n)=>(o=t.theme("fontFamily",e,""))?{fontFamily:o}:S("fontWeight")(e,t,n),items:e=>({alignItems:b(["start","end"],e[0])?`flex-${e[0]}`:g(e)}),content:fe("alignContent"),justify:fe("justifyContent"),self:fe("alignSelf"),place:e=>Ue("place-"+e[0],u(e)),overscroll:e=>({["overscrollBehavior"+(e[1]?"-"+e[0]:"")]:e[1]||e[0]}),col:Ne("column"),row:Ne("row"),duration:S("transitionDuration"),delay:S("transitionDelay"),tracking:S("letterSpacing"),leading:S("lineHeight"),z:S("zIndex"),opacity:S(),ease:S("transitionTimingFunction"),p:N,py:N,px:N,pt:N,pr:N,pb:N,pl:N,m:_,my:_,mx:_,mt:_,mr:_,mb:_,ml:_,w:S("width"),h:S("height"),min:Ye,max:Ye,fill:S(),order:S(),origin:h("transformOrigin"," "),select:h("userSelect"),"pointer-events":h("pointerEvents"),align:h("verticalAlign"),whitespace:h("whiteSpace"),"normal-nums":{fontVariantNumeric:"normal"},ordinal:F("ordinal"),"slashed-zero":F("slashed-zero"),"lining-nums":F("numeric-figure"),"oldstyle-nums":F("numeric-figure"),"proportional-nums":F("numeric-spacing"),"tabular-nums":F("numeric-spacing"),"diagonal-fractions":F("numeric-fraction"),"stacked-fractions":F("numeric-fraction"),overflow:e=>b(["ellipsis","clip"],e[0])?h("textOverflow")(e):e[1]?{[`overflow-${e[0]}`]:e[1]}:h("overflow")(e),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})=>(o=t("rotate",e))&&{"--tw-rotate":o,transform:[`rotate(${o})`,pe()]},scale:me,translate:me,skew:me,gap:(e,t,n)=>(o={x:"column",y:"row"}[e[0]])?{[o+"Gap"]:t.theme("gap",u(e))}:S("gap")(e,t,n),stroke:(e,t,n)=>(o=t.theme("stroke",e,""))?{stroke:o}:S("strokeWidth")(e,t,n),outline:(e,{theme:t})=>(o=t("outline",e))&&{outline:o[0],outlineOffset:o[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 G([],o,e[0]);case"opacity":return Q(e,t,n)}let r=t("fontSize",e,"");return r?E(r)?{fontSize:r}:a({fontSize:r[0]},E(r[1])?{lineHeight:r[1]}:r[1]):ae("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 Q(e,t,n,"background");case"clip":return {backgroundClip:e[1]+(e[1]==="text"?"":"-box")};case"gradient":if(e[1]==="to"&&(o=q(e[2])))return {backgroundImage:`linear-gradient(to ${g(o," ")},var(--tw-gradient-stops,var(--tw-gradient-from,transparent),var(--tw-gradient-to,transparent)))`}}return (o=t("backgroundImage",e,""))?{backgroundImage:o}:ae("backgroundColor","bg",t("backgroundColor",e))},from:Be,to:Be,via:(e,{theme:t})=>(o=t("gradientColorStops",e))&&{"--tw-gradient-stops":`var(--tw-gradient-from,transparent),${o},var(--tw-gradient-to,transparent)`},border:(e,t,n)=>q(e[0])?oe(t.theme("borderWidth",u(e)),e[0],"border","width"):_e(e,t,n),divide:(e,t,n)=>(o=Le(e,t,n,"divideWidth","border","width")||_e(e,t,n))&&{"&>:not([hidden])~:not([hidden])":o},space:(e,t,n)=>(o=Le(e,t,n,"space","margin"))&&{"&>:not([hidden])~:not([hidden])":o},placeholder:(e,{theme:t},n)=>(o=e[0]==="opacity"?Q(e,t,n):ae("color","placeholder",t("placeholderColor",e)))&&{"&::placeholder":o},shadow:(e,{theme:t})=>(o=t("boxShadow",e))&&{"--tw-shadow":o,boxShadow:[o,Ve()]},animate:(e,{theme:t,tag:n})=>{if(R=t("animation",e)){let r=R.split(" ");return (o=t("keyframes",r[0],U={}))!==U?(R=n(r[0]))&&{animation:R+" "+g(u(r)," "),["@keyframes "+R]:o}:{animation:R}}},ring(e,{theme:t},n){switch(e[0]){case"inset":return {"--tw-ring-inset":"inset"};case"opacity":return Q(e,t,n);case"offset":return (o=t("ringOffsetWidth",u(e),""))?{"--tw-ring-offset-width":o}:{"--tw-ring-offset-color":t("ringOffsetColor",u(e))}}return (o=t("ringWidth",e,""))?{"--tw-ring-offset-shadow":`var(--tw-ring-inset,/*!*/ /*!*/) 0 0 0 var(--tw-ring-offset-width,${t("ringOffsetWidth","","0px")}) var(--tw-ring-offset-color,${t("ringOffsetColor","","#fff")})`,"--tw-ring-shadow":`var(--tw-ring-inset,/*!*/ /*!*/) 0 0 0 calc(${o} + var(--tw-ring-offset-width,${t("ringOffsetWidth","","0px")})) var(--tw-ring-color,${ge(t("ringColor","","#93c5fd"),"ring-opacity",t("ringOpacity","","0.5"))})`,"box-shadow":Ve()}:{"--tw-ring-opacity":"1","--tw-ring-color":ge(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)=>He(t.theme("borderRadius",u(e),""),e[0],"border","radius")||S("borderRadius")(e,t,n),"transition-none":{"transition-property":"none"},transition:(e,{theme:t})=>({transition:B([t("transitionProperty",e),t("transitionDuration",""),t("transitionTimingFunction","")]," ")}),container:(e,{theme:t})=>{let{screens:n=t("screens"),center:r,padding:i}=t("container"),s=l=>(o=i&&(E(i)?i:i[l]||i.DEFAULT))?{paddingRight:o,paddingLeft:o}:{};return Object.keys(n).reduce((l,f)=>((o=n[f])&&(l[`@media (min-width: ${o})`]={"&":a({"max-width":o},s(f))}),l),a(a({width:"100%"},r?{marginRight:"auto",marginLeft:"auto"}:{}),s("xs")))}},Xe=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":{color:e("placeholderColor","DEFAULT","#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"}}),qe={":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":"&~*"},Ke="__twind",ht=e=>{let t=self[Ke];return t||(t=document.head.appendChild(document.createElement("style")),t.id=Ke,e&&(t.nonce=e)),t},bt=({target:e=[]}={})=>({target:e,insert:(t,n)=>e.splice(n,0,t)}),he=({nonce:e,target:t=ht(e).sheet}={})=>({target:t,insert:t.insertRule.bind(t)}),be=()=>({insert:()=>{}}),le=e=>({unknown(t,n=[],r,i){r||this.report({id:"UNKNOWN_THEME_VALUE",key:g([t,...n],".")},i);},report(r){var{id:t}=r,n=De(r,["id"]);let i=`[${t}] ${JSON.stringify(n)}`,s=(new Error(i).stack||i).split("at ");for(let l;(l=s.splice(1,1)[0])&&!/(^|\.)(tw|setup) /.test(l););e(s.join("at "));}}),ce=le(e=>console.warn(e)),xe=le(e=>{throw new Error(e)}),we=le(Fe);var de=(e,t,n)=>`${e}:${t}${n?" !important":""}`,ye=(e,t,n)=>{let r=de(e,tinyCssPrefixer.prefixValue(e,t),n),i=r,s=tinyCssPrefixer.prefixProperty(e);return s&1&&(i+=`;-ms-${r}`),s&2&&(i+=`;-moz-${r}`),s&4&&(i+=`;-webkit-${r}`),i},ee=(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},O=(e,t,n=0)=>{let r={};for(;n<=e;n=n*2||1)r[n]=n+t;return r},P=(e,t="",n=1,r=0,i=1)=>{let s={};for(;r<=e;r+=i)s[r]=r/n+t;return s},v=e=>t=>t(e),Ze={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"},P(4,"rem",4,.5,.5)),P(12,"rem",4,5)),{14:"3.5rem"}),P(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=>a(a({},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:a({DEFAULT:"1px"},O(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"},gap:v("spacing"),gradientColorStops:v("colors"),height:e=>a(a(a({auto:"auto"},e("spacing")),ee(2,6)),{full:"100%",screen:"100vh"}),inset:e=>a(a(a({auto:"auto"},e("spacing")),ee(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"},P(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({},P(100,"",100,0,10)),{5:"0.05",25:"0.25",75:"0.75",95:"0.95"}),order:a({first:"-9999",last:"9999",none:"0"},P(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=>a({DEFAULT:e("colors.blue.500","#3b82f6")},e("colors")),ringOffsetColor:v("colors"),ringOffsetWidth:O(8,"px"),ringOpacity:e=>a({DEFAULT:"0.5"},e("opacity")),ringWidth:a({DEFAULT:"3px"},O(8,"px")),rotate:a(a(a({},O(2,"deg")),O(12,"deg",3)),O(180,"deg",45)),scale:a(a({0:"0",50:".5",75:".75"},P(110,"",100,90,5)),{125:"1.25",150:"1.5"}),skew:a(a({},O(2,"deg")),O(12,"deg",3)),space:v("spacing"),stroke:{current:"currentColor"},strokeWidth:P(2),textColor:v("colors"),textOpacity:v("opacity"),transitionDuration:e=>a({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=>a(a(a({},e("spacing")),ee(2,4)),{full:"100%"}),width:e=>a(a(a(a({auto:"auto"},e("spacing")),ee(2,6)),ee(12,12)),{screen:"100vw",full:"100%",min:"min-content",max:"max-content"}),zIndex:a({auto:"auto"},P(50,"",1,0,10))},yt=e=>Object.keys(e).reduce((t,n)=>{let r=e[n];return t[n]=r,ne(r)?Object.keys(r).reduce((i,s)=>(s==="DEFAULT"&&(i[n]=r[s]),i[n+"-"+s]=r[s],i[n+"."+s]=r[s],i),t):t},{}),St={negative:()=>({}),breakpoints:e=>Object.keys(e).reduce((t,n)=>(t["screen-"+n]=e[n],t),{})},Qe=e=>{let t=new Map,n=a(a({},Ze),e),r=(l,f)=>{let m=l.split(".");return s(m[0],m.length>1?u(m):void 0,f)},i=(l,f)=>{let m=l&&l[f],w=$(m)?m(r,St):m;return w&&f==="colors"?yt(w):w},s=(l,f,m)=>{let w=t.get(l);if(w||t.set(l,w=a(a({},i(n,l)),i(n.extend,l))),f!=null){let A=w[(Array.isArray(f)?g(f):f)||"DEFAULT"];return A==null?m:Array.isArray(A)&&!b(["fontSize","outline"],l)?g(A,","):A}return w};return s},I,J,V=(e="")=>(I.push(e),""),Se=e=>{I.length=Math.max(I.lastIndexOf("")+~~e,0);},vt=e=>e&&e[0]!==":",Ct=e=>e[0]===":",et=(e,t,n)=>{J.push({v:I.filter(Ct),d:e,n:t,i:n,$:""});},tt=e=>{let t=e[0]==="-";t&&(e=u(e));let n=e[e.length-1]==="!";n&&(e=e.slice(0,-1));let r=g(I.filter(vt));return et(e==="&"?r:(r&&r+"-")+e,t,n),""},ve=(e,t)=>{let n,r="";for(let i=0;i<e.length;)switch(n=e[i++]){case":":r=r&&V(":"+r);break;case"(":r=r&&V(r),V();break;case")":case" ":case" ":case` | ||
`:case"\r":r=r&&tt(r),Se(n!==")");break;default:r+=n;}r&&(t?V(":"+r):r.slice(-1)==="-"?V(r.slice(0,-1)):tt(r));},nt=e=>{V(),Ce(e),Se();},Tt=(e,t)=>{if(t){V();let n=b("tbu",(typeof t)[1]);ve(e,n),n&&nt(t),Se();}},Ce=e=>{switch(typeof e){case"string":ve(e);break;case"function":et(e);break;case"object":Array.isArray(e)?e.forEach(nt):e&&Object.keys(e).forEach(t=>{Tt(t,e[t]);});}},rt=new WeakMap,Rt=e=>{let t=rt.get(e);return t||(t=e.map(n=>{let r=J=[];ve(n);let i=[...I];return J=[],s=>{J.push(...r),I=[...i],s&&Ce(s);}}),rt.set(e,t)),t},ot=e=>(I=[],J=[],Array.isArray(e[0])&&Array.isArray(e[0].raw)?Rt(e[0]).forEach((t,n)=>t(e[n+1])):e.forEach(Ce),J),it=(e,t)=>n=>{if($(n.d))return n.d(t);let r=n.d.split("-");if(r[0]==="tw"&&n.$===n.d)return n.$;for(let i=r.length;i;i--){let s=g(r.slice(0,i)),l=e[s];if(l)return $(l)?l(u(r,i),t,s):E(l)?t.tw(l):l}},st=(e,t,{theme:n,tag:r})=>{let i=(s,l)=>{let f=n("screens",u(l),"");return f?{[`@media (min-width: ${f})`]:s}:l===":dark"&&e==="class"?{[".dark &"]:s}:l.slice(1,7)==="group-"?{[`.${re(r("group"))}:${u(l,7)} &`]:s}:{[t[l]||"&"+l]:s}};return (s,l)=>l.v.reduceRight(i,s)},C,Te=e=>(((C=/(?:^|min-width: *)(\d+(?:.\d+)?)(p)?/.exec(e))?+C[1]/(C[2]?15:1)/10:0)&31)<<23,at=e=>{C=0;for(let t=e.length;t--;)C+=b("-:,",e[t]);return C},Re=e=>(at(e)&15)<<18,kt=["rst","st","en","d","nk","sited","pty","ecked","cus-w","ver","cus","cus-v","tive","sable","ad-on","tiona","quire"],$t=e=>1<<(~(C=kt.indexOf(e.replace(/^:group-/,":").slice(3,8)))?C:17),lt=(e,t)=>(n,r)=>n|((C=e("screens",u(r),""))?Te(C):r===":dark"?1<<22:(C=t[r]||r)[0]==="@"?Re(C):$t(r)),Et=/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7}$)|([fl].{5}l|g.{8}$|pl))/,ct=e=>e[0]==="-"?0:at(e)+((C=Et.exec(e))?+!!C[1]||-!!C[2]:0)+1,ke=(e,t)=>t+"{"+e+"}",dt=(e,t,n)=>{let{theme:r,tag:i}=n,s=(y,x)=>"--"+i(x),l=y=>`${y}`.replace(/--(tw-[\w-]+)\b/g,s),f=(y,x,T)=>(y=l(y),Array.isArray(x)?g(x.filter(Boolean).map(W=>e(y,l(W),T)),";"):e(y,l(x),T)),m,w=(y,x,T,W,M)=>{let H="",D=0,c=0;Object.keys(W).forEach(d=>{let p=W[d];if($(p)&&(p=p(n)),b("rg",(typeof p)[5])||Array.isArray(p)){let k=Ie(d);c+=1,D=Math.max(D,ct(k)),H=(H&&H+";")+f(k,p,M);}else if(p)if(d[0]==="@")if(d[1]==="f")w([],d,0,p,M);else if(d[1]==="k"){let k=m.length;w([],"",0,p,M);let te=m.splice(k,m.length-k);m.push({r:ke(g(te.map(L=>L.r),""),d),p:te.reduce((L,ft)=>L+ft.p,0)});}else w([...y,d],x,T|(Te(d)||Re(d)),p,M);else {let k=x&&b(d,"&");w(y,k?x.replace(/([^,])+/g,te=>d.replace(/([^,])+/g,L=>b(L,"&")?L.replace(/&/g,te):L)):d,k?T:0,p,M);}}),c&&m.push({r:y.reduceRight(ke,ke(H,x)),p:T*(1<<8)+(((D||15)&15)<<4|Math.max(0,15-c)&15)});},A=lt(r,t);return (y,x,T)=>(m=[],w([],x?"."+re(x):"",T?T.v.reduceRight(A,0):0,y,T&&T.i),m)},ut=(e,t,n)=>{let r=[],i=new Set;return ({r:s,p:l})=>{if(!i.has(s)){i.add(s);let f=We(r,l);try{e.insert(s,f),r.splice(f,0,l);}catch(m){/:-[mwo]/.test(s)||t.report({id:"INJECT_CSS_ERROR",css:s,error:m},n);}}}},$e=(e,t,n,r=t)=>e===!1?n:e===!0?r:e||t,jt=e=>(E(e)?{t:xe,a:ce,i:we}[e[1]]:e)||ce,Ee=(e,t=e.d)=>{if($(t))return "";let n=g(e.v,"");return (n&&u(n)+":")+(e.n?"-":"")+t+(e.i?"!":"")},gt=(e={})=>{let t=Qe(e.theme),n=jt(e.mode),r=$e(e.hash,!1,!1,X),i={v:[]},s={tw:(...c)=>H(c),theme:(c,d,p)=>{d!=null&&!d.length&&(d="DEFAULT");let k=t(c,d,p)||n.unknown(c,d==null||Array.isArray(d)?d:d.split("."),p!=null,s);return i.n&&k&&E(k)?`calc(${k} * -1)`:k},tag:c=>r?r(c):c},l=it(a(a({},Je),e.plugins),s),f=c=>{let d=i;i=c;try{return l(c)}finally{i=d;}},m=a(a({},qe),e.variants),w=st(e.darkMode||"media",m,s),A=dt($e(e.prefix,ye,de),m,s),y=ut(e.injector||(typeof window=="undefined"?be():he(e)),n,s),x=new Map,T=new WeakMap,W=(c,d)=>$(d)?d(s):d,M=c=>{i.v.length&&(c=a(a({},c),{v:[...i.v,...c.v],$:""})),c.$||(c.$=Ee(c)||Ee(c,T.get(c.d)));let d=x.get(c.$);if(d==null){let p=f(c);c.$||(c.$=X(JSON.stringify(p,W)),T.set(c.d,c.$),c.$=Ee(c,c.$)),E(p)?d=p:ne(p)?(p=w(p,c),d=r?r(JSON.stringify(p,W)):c.$,A(p,d,c).forEach(y)):(d=c.$,n.report({id:"UNKNOWN_DIRECTIVE",rule:d},s)),x.set(c.$,d),x.size>3e4&&x.delete(x.keys().next().value);}return d},H=c=>ot(c).map(M).filter(Boolean).join(" "),D=$e(e.preflight,ze,!1);if(D){let c=Xe(t);A($(D)?D(c,s)||c:a(a({},c),D)).forEach(y);}return {init:()=>n.report({id:"LATE_SETUP_CALL"},s),process:H,theme:t}},je=e=>{let t=i=>(r(),t(i)),n=(i,s,l)=>(r(),n(i,s,l)),r=i=>{({process:t,init:r,theme:n}=gt(i));};return e&&r(e),{tw:(...i)=>t(i),setup:i=>r(i),theme:n}},Ae=je(),{tw:At}=Ae,{setup:Pt}=Ae,{theme:Dt}=Ae;exports.autoprefix=ye;exports.create=je;exports.cssomInjector=he;exports.hash=X;exports.mode=le;exports.noOpInjector=be;exports.noprefix=de;exports.setup=Pt;exports.silent=we;exports.strict=xe;exports.theme=Dt;exports.tw=At;exports.virtualInjector=bt;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,require('tiny-css-prefixer')):typeof define==='function'&&define.amd?define(['exports','tiny-css-prefixer'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f(g.twind={},g.tinyCssPrefixer));}(this,(function(exports, tinyCssPrefixer){'use strict';var pt=Object.prototype.hasOwnProperty,De=Object.getOwnPropertySymbols,mt=Object.prototype.propertyIsEnumerable,a=Object.assign,Fe=(e,t)=>{var n={};for(var r in e)pt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&De)for(var r of De(e))t.indexOf(r)<0&&mt.call(e,r)&&(n[r]=e[r]);return n},P=e=>typeof e=="string",ne=e=>e!=null&&typeof e=="object",A=e=>typeof e=="function",h=(e,t)=>!!~e.indexOf(t),g=(e,t="-")=>e.join(t),B=(e,t)=>g(e.filter(Boolean),t),u=(e,t=1)=>e.slice(t),We=e=>e,re=()=>{},je=e=>e[0].toUpperCase()+u(e),Oe=e=>e.replace(/[A-Z]/g,"-$&").toLowerCase(),oe=typeof CSS!="undefined"&&CSS.escape||(e=>{let t=e.charCodeAt(0),n="";return t>=48&&t<=57&&(n="\\"+t.toString(16)+" ",e=u(e)),n+e.replace(/[!./:#]/g,"\\$&")}),q=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)},Me=(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},Ie=e=>(t,n,r,i)=>{if(t){let s=n&&e(n);if(s&&s.length>0)return s.reduce((c,f)=>(c[B([r,f,i])]=t,c),{})}},He=Ie(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]),K=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},ie=Ie(K),o,L,k,Z=e=>(t,n,r)=>({[e]:r+((o=g(t))&&"-"+o)}),m=(e,t)=>n=>({[e]:g(n,t)}),v=e=>(t,{theme:n},r)=>({[e||r]:n(e||r,t)}),z=(e,t)=>(n,r)=>e(n,r,t),j=Z("display"),Q=Z("position"),G=Z("textTransform"),Y=Z("textDecoration"),se=Z("fontStyle"),O=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,/*!*/ /*!*/)"}),ae=(e,{theme:t},n)=>({[n]:t("inset",e)}),ee=(e,t,n,r=n)=>({[`--tw-${n}-opacity`]:t(r+"Opacity",u(e))}),ge=(e,t)=>Math.round(parseInt(e,16)*t),fe=(e,t,n)=>e&&e[0]==="#"?`rgba(${ge(e.substr(1,o=(e.length-1)/3),k=[17,1,.062272][o-1])},${ge(e.substr(1+o,o),k)},${ge(e.substr(1+2*o,o),k)},var(--tw-${t}${n?","+n:""}))`:e,le=(e,t,n)=>n&&(o=fe(n,t+"-opacity"))&&o!==n?{[`--tw-${t}-opacity`]:"1",[e]:[n,o]}:{[e]:n},Le=(e,{theme:t},n,r,i,s)=>(o={x:["right","left"],y:["bottom","top"]}[e[0]])&&(k=`--tw-${n}-${e[0]}-reverse`)?e[1]==="reverse"?{[k]:"1"}:{[k]:"0",[B([i,o[0],s])]:(L=t(r,u(e)))&&`calc(${L} * var(${k}))`,[B([i,o[1],s])]:L&&[L,`calc(${L} * calc(1 - var(${k})))`]}:void 0,Ue=(e,t)=>({[e]:(h("wun",(t[0]||"")[3])?"space-":"")+t[0]}),pe=e=>t=>h(["start","end"],t[0])?{[e]:`flex-${t[0]}`}:Ue(e,t),Ne=e=>t=>{switch(t[0]){case"auto":return {[`grid-${e}`]:"auto"};case"span":return {[`grid-${e}`]:t[1]==="full"?"1 / -1":`span ${t[1]} / span ${t[1]}`};case"start":case"end":return {[`grid-${e}-${t[0]}`]:t[1]}}},_e=(e,{theme:t},n)=>{switch(e[0]){case"solid":case"dashed":case"dotted":case"double":case"none":return m("borderStyle")(e);case"collapse":case"separate":return m("borderCollapse")(e);case"opacity":return ee(e,t,n)}return (o=t(n+"Width",e,""))?{borderWidth:o}:le("borderColor",n,t(n+"Color",e))},me=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))",he=(e,t,n)=>(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})`,me()]},Ve=()=>"var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow,0 0 transparent)",Be=(e,{theme:t},n)=>(o=t("gradientColorStops",e))&&{["--tw-gradient-"+n]:o},Ge=e=>(t,n,r)=>r[1]?ie(n.theme(e,t),r[1],e):v(e)(t,n,r),U=Ge("padding"),N=Ge("margin"),Ye=(e,{theme:t},n)=>(o={w:"width",h:"height"}[e[0]])&&{[o=`${n}${je(o)}`]:t(o,u(e))},Je={group:(e,{tag:t})=>t("group"),hidden:z(j,"none"),inline:j,block:j,contents:j,flow:j,table:(e,t,n)=>h(["auto","fixed"],e[0])?{tableLayout:e[0]}:j(e,t,n),flex(e,t,n){switch(e[0]){case"row":case"col":return {flexDirection:g(e[0]==="col"?["column",...u(e)]:e)};case"nowrap":case"wrap":return {flexWrap:g(e)};case"grow":case"shrink":return {[`flex-${e[0]}`]:e[1]||"1"}}return (o=t.theme("flex",e,""))?{flex:o}:j(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))`:g(u(e)," ")};case"flow":return e.length>1&&{gridAutoFlow:g(e[1]==="col"?["column",...u(e,2)]:u(e)," ")}}return j(e,t,n)},auto:e=>h(["cols","rows"],e[0])&&(o=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(u(e),",")})`)&&{[`grid-auto-${e[0]==="cols"?"columns":"rows"}`]:o},static:Q,fixed:Q,absolute:Q,relative:Q,sticky:Q,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]}-box`}),appearance:m("appearance"),cursor:m("cursor"),float:m("float"),clear:m("clear"),top:ae,right:ae,bottom:ae,left:ae,inset:(e,{theme:t})=>(o=K(e[0]))?ie(t("inset",u(e)),e[0]):(o=t("inset",e))&&{top:o,right:o,bottom:o,left:o},underline:Y,"line-through":Y,"no-underline":z(Y,"none"),"text-underline":z(Y,"underline"),"text-no-underline":z(Y,"none"),"text-line-through":z(Y,"line-through"),uppercase:G,lowercase:G,capitalize:G,"normal-case":z(G,"none"),"text-normal-case":z(G,"none"),italic:se,"not-italic":z(se,"normal"),"font-italic":z(se,"italic"),"font-not-italic":z(se,"normal"),font:(e,t,n)=>(o=t.theme("fontFamily",e,""))?{fontFamily:o}:v("fontWeight")(e,t,n),items:e=>({alignItems:h(["start","end"],e[0])?`flex-${e[0]}`:g(e)}),content:pe("alignContent"),justify:pe("justifyContent"),self:pe("alignSelf"),place:e=>Ue("place-"+e[0],u(e)),overscroll:e=>({["overscrollBehavior"+(e[1]?"-"+e[0]:"")]:e[1]||e[0]}),col:Ne("column"),row:Ne("row"),duration:v("transitionDuration"),delay:v("transitionDelay"),tracking:v("letterSpacing"),leading:v("lineHeight"),z:v("zIndex"),opacity:v(),ease:v("transitionTimingFunction"),p:U,py:U,px:U,pt:U,pr:U,pb:U,pl:U,m:N,my:N,mx:N,mt:N,mr:N,mb:N,ml:N,w:v("width"),h:v("height"),min:Ye,max:Ye,fill:v(),order:v(),origin:m("transformOrigin"," "),select:m("userSelect"),"pointer-events":m("pointerEvents"),align:m("verticalAlign"),whitespace:m("whiteSpace"),"normal-nums":{fontVariantNumeric:"normal"},ordinal:O("ordinal"),"slashed-zero":O("slashed-zero"),"lining-nums":O("numeric-figure"),"oldstyle-nums":O("numeric-figure"),"proportional-nums":O("numeric-spacing"),"tabular-nums":O("numeric-spacing"),"diagonal-fractions":O("numeric-fraction"),"stacked-fractions":O("numeric-fraction"),overflow:e=>h(["ellipsis","clip"],e[0])?m("textOverflow")(e):e[1]?{[`overflow-${e[0]}`]:e[1]}:m("overflow")(e),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:me(e[0]==="gpu")},rotate:(e,{theme:t})=>(o=t("rotate",e))&&{"--tw-rotate":o,transform:[`rotate(${o})`,me()]},scale:he,translate:he,skew:he,gap:(e,t,n)=>(o={x:"column",y:"row"}[e[0]])?{[o+"Gap"]:t.theme("gap",u(e))}:v("gap")(e,t,n),stroke:(e,t,n)=>(o=t.theme("stroke",e,""))?{stroke:o}:v("strokeWidth")(e,t,n),outline:(e,{theme:t})=>(o=t("outline",e))&&{outline:o[0],outlineOffset:o[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 G([],o,e[0]);case"opacity":return ee(e,t,n)}let r=t("fontSize",e,"");return r?P(r)?{fontSize:r}:a({fontSize:r[0]},P(r[1])?{lineHeight:r[1]}:r[1]):le("color","text",t("textColor",e))},bg(e,{theme:t},n){switch(e[0]){case"fixed":case"local":case"scroll":return m("backgroundAttachment",",")(e);case"bottom":case"center":case"left":case"right":case"top":return m("backgroundPosition"," ")(e);case"no":return e[1]==="repeat"&&m("backgroundRepeat")(e);case"auto":case"cover":case"contain":return m("backgroundSize")(e);case"repeat":return h("xy",e[1])?m("backgroundRepeat")(e):{"background-repeat":e[1]||e[0]};case"opacity":return ee(e,t,n,"background");case"clip":return {backgroundClip:e[1]+(e[1]==="text"?"":"-box")};case"gradient":if(e[1]==="to"&&(o=K(e[2])))return {backgroundImage:`linear-gradient(to ${g(o," ")},var(--tw-gradient-stops,var(--tw-gradient-from,transparent),var(--tw-gradient-to,transparent)))`}}return (o=t("backgroundImage",e,""))?{backgroundImage:o}:le("backgroundColor","bg",t("backgroundColor",e))},from:Be,to:Be,via:(e,{theme:t})=>(o=t("gradientColorStops",e))&&{"--tw-gradient-stops":`var(--tw-gradient-from,transparent),${o},var(--tw-gradient-to,transparent)`},border:(e,t,n)=>K(e[0])?ie(t.theme("borderWidth",u(e)),e[0],"border","width"):_e(e,t,n),divide:(e,t,n)=>(o=Le(e,t,n,"divideWidth","border","width")||_e(e,t,n))&&{"&>:not([hidden])~:not([hidden])":o},space:(e,t,n)=>(o=Le(e,t,n,"space","margin"))&&{"&>:not([hidden])~:not([hidden])":o},placeholder:(e,{theme:t},n)=>(o=e[0]==="opacity"?ee(e,t,n):le("color","placeholder",t("placeholderColor",e)))&&{"&::placeholder":o},shadow:(e,{theme:t})=>(o=t("boxShadow",e))&&{"--tw-shadow":o,boxShadow:[o,Ve()]},animate:(e,{theme:t,tag:n})=>{if(k=t("animation",e)){let r=k.split(" ");return (o=t("keyframes",r[0],L={}))!==L?(k=n(r[0]))&&{animation:k+" "+g(u(r)," "),["@keyframes "+k]:o}:{animation:k}}},ring(e,{theme:t},n){switch(e[0]){case"inset":return {"--tw-ring-inset":"inset"};case"opacity":return ee(e,t,n);case"offset":return (o=t("ringOffsetWidth",u(e),""))?{"--tw-ring-offset-width":o}:{"--tw-ring-offset-color":t("ringOffsetColor",u(e))}}return (o=t("ringWidth",e,""))?{"--tw-ring-offset-shadow":`var(--tw-ring-inset,/*!*/ /*!*/) 0 0 0 var(--tw-ring-offset-width,${t("ringOffsetWidth","","0px")}) var(--tw-ring-offset-color,${t("ringOffsetColor","","#fff")})`,"--tw-ring-shadow":`var(--tw-ring-inset,/*!*/ /*!*/) 0 0 0 calc(${o} + var(--tw-ring-offset-width,${t("ringOffsetWidth","","0px")})) var(--tw-ring-color,${fe(t("ringColor","","#93c5fd"),"ring-opacity",t("ringOpacity","","0.5"))})`,"box-shadow":Ve()}:{"--tw-ring-opacity":"1","--tw-ring-color":fe(t("ringColor",e),"ring-opacity")}},object:e=>h(["contain","cover","fill","none","scale"],e[0])?m("objectFit")(e):m("objectPosition"," ")(e),list:e=>m(h(["inside","outside"],e[0])?"listStylePosition":"listStyleType")(e),rounded:(e,t,n)=>He(t.theme("borderRadius",u(e),""),e[0],"border","radius")||v("borderRadius")(e,t,n),"transition-none":{"transition-property":"none"},transition:(e,{theme:t})=>({transition:B([t("transitionProperty",e),t("transitionDuration",""),t("transitionTimingFunction","")]," ")}),container:(e,{theme:t})=>{let{screens:n=t("screens"),center:r,padding:i}=t("container"),s=c=>(o=i&&(P(i)?i:i[c]||i.DEFAULT))?{paddingRight:o,paddingLeft:o}:{};return Object.keys(n).reduce((c,f)=>((o=n[f])&&(c[`@media (min-width: ${o})`]={"&":a({"max-width":o},s(f))}),c),a(a({width:"100%"},r?{marginRight:"auto",marginLeft:"auto"}:{}),s("xs")))}},Xe=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":{color:e("placeholderColor","DEFAULT","#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"}}),qe={":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":"&~*"},Ke="__twind",Ze=e=>{let t=self[Ke];return t||(t=document.head.appendChild(document.createElement("style")),t.id=Ke,e&&(t.nonce=e),t.appendChild(document.createTextNode(""))),t},be=({nonce:e,target:t=Ze(e).sheet}={})=>({insert:t.insertRule.bind(t)}),xe=()=>({insert:re}),ce=e=>({unknown(t,n=[],r,i){r||this.report({id:"UNKNOWN_THEME_VALUE",key:g([t,...n],".")},i);},report(r){var{id:t}=r,n=Fe(r,["id"]);let i=`[${t}] ${JSON.stringify(n)}`,s=(new Error(i).stack||i).split("at ");for(let c;(c=s.splice(1,1)[0])&&!/(^|\.)(tw|setup) /.test(c););e(s.join("at "));}}),de=ce(e=>console.warn(e)),we=ce(e=>{throw new Error(e)}),ye=ce(re);var ue=(e,t,n)=>`${e}:${t}${n?" !important":""}`,Se=(e,t,n)=>{let r=ue(e,tinyCssPrefixer.prefixValue(e,t),n),i=r,s=tinyCssPrefixer.prefixProperty(e);return s&1&&(i+=`;-ms-${r}`),s&2&&(i+=`;-moz-${r}`),s&4&&(i+=`;-webkit-${r}`),i},te=(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},M=(e,t,n=0)=>{let r={};for(;n<=e;n=n*2||1)r[n]=n+t;return r},F=(e,t="",n=1,r=0,i=1)=>{let s={};for(;r<=e;r+=i)s[r]=r/n+t;return s},C=e=>t=>t(e),xt={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"},F(4,"rem",4,.5,.5)),F(12,"rem",4,5)),{14:"3.5rem"}),F(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:C("colors"),backgroundImage:{none:"none"},backgroundOpacity:C("opacity"),borderColor:e=>a(a({},e("colors")),{DEFAULT:e("colors.gray.200","currentColor")}),borderOpacity:C("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"},M(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:C("borderColor"),divideOpacity:C("borderOpacity"),divideWidth:C("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"},gap:C("spacing"),gradientColorStops:C("colors"),height:e=>a(a(a({auto:"auto"},e("spacing")),te(2,6)),{full:"100%",screen:"100vh"}),inset:e=>a(a(a({auto:"auto"},e("spacing")),te(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"},F(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({},F(100,"",100,0,10)),{5:"0.05",25:"0.25",75:"0.75",95:"0.95"}),order:a({first:"-9999",last:"9999",none:"0"},F(12,"",1,1)),outline:{none:["2px solid transparent","2px"],white:["2px dotted white","2px"],black:["2px dotted black","2px"]},padding:C("spacing"),placeholderColor:C("colors"),placeholderOpacity:C("opacity"),ringColor:e=>a({DEFAULT:e("colors.blue.500","#3b82f6")},e("colors")),ringOffsetColor:C("colors"),ringOffsetWidth:M(8,"px"),ringOpacity:e=>a({DEFAULT:"0.5"},e("opacity")),ringWidth:a({DEFAULT:"3px"},M(8,"px")),rotate:a(a(a({},M(2,"deg")),M(12,"deg",3)),M(180,"deg",45)),scale:a(a({0:"0",50:".5",75:".75"},F(110,"",100,90,5)),{125:"1.25",150:"1.5"}),skew:a(a({},M(2,"deg")),M(12,"deg",3)),space:C("spacing"),stroke:{current:"currentColor"},strokeWidth:F(2),textColor:C("colors"),textOpacity:C("opacity"),transitionDuration:e=>a({DEFAULT:"150ms"},e("durations")),transitionDelay:C("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")),te(2,4)),{full:"100%"}),width:e=>a(a(a(a({auto:"auto"},e("spacing")),te(2,6)),te(12,12)),{screen:"100vw",full:"100%",min:"min-content",max:"max-content"}),zIndex:a({auto:"auto"},F(50,"",1,0,10))},wt=e=>Object.keys(e).reduce((t,n)=>{let r=e[n];return t[n]=r,ne(r)?Object.keys(r).reduce((i,s)=>(s==="DEFAULT"&&(i[n]=r[s]),i[n+"-"+s]=r[s],i[n+"."+s]=r[s],i),t):t},{}),yt={negative:()=>({}),breakpoints:e=>Object.keys(e).reduce((t,n)=>(t["screen-"+n]=e[n],t),{})},Qe=e=>{let t=new Map,n=a(a({},xt),e),r=(c,f)=>{let p=c.split(".");return s(p[0],p.length>1?u(p):void 0,f)},i=(c,f)=>{let p=c&&c[f],b=A(p)?p(r,yt):p;return b&&f==="colors"?wt(b):b},s=(c,f,p)=>{let b=t.get(c);if(b||t.set(c,b=a(a({},i(n,c)),i(n.extend,c))),f!=null){let D=b[(Array.isArray(f)?g(f):f)||"DEFAULT"];return D==null?p:Array.isArray(D)&&!h(["fontSize","outline"],c)?g(D,","):D}return b};return s},I,J,_=(e="")=>(I.push(e),""),ve=e=>{I.length=Math.max(I.lastIndexOf("")+~~e,0);},St=e=>e&&e[0]!==":",vt=e=>e[0]===":",et=(e,t,n)=>{J.push({v:I.filter(vt),d:e,n:t,i:n,$:""});},tt=e=>{let t=e[0]==="-";t&&(e=u(e));let n=e[e.length-1]==="!";n&&(e=e.slice(0,-1));let r=g(I.filter(St));return et(e==="&"?r:(r&&r+"-")+e,t,n),""},Ce=(e,t)=>{let n,r="";for(let i=0;i<e.length;)switch(n=e[i++]){case":":r=r&&_(":"+r);break;case"(":r=r&&_(r),_();break;case")":case" ":case" ":case` | ||
`:case"\r":r=r&&tt(r),ve(n!==")");break;default:r+=n;}r&&(t?_(":"+r):r.slice(-1)==="-"?_(r.slice(0,-1)):tt(r));},nt=e=>{_(),Te(e),ve();},Ct=(e,t)=>{if(t){_();let n=h("tbu",(typeof t)[1]);Ce(e,n),n&&nt(t),ve();}},Te=e=>{switch(typeof e){case"string":Ce(e);break;case"function":et(e);break;case"object":Array.isArray(e)?e.forEach(nt):e&&Object.keys(e).forEach(t=>{Ct(t,e[t]);});}},rt=new WeakMap,Tt=e=>{let t=rt.get(e);return t||(t=e.map(n=>{let r=J=[];Ce(n);let i=[...I];return J=[],s=>{J.push(...r),I=[...i],s&&Te(s);}}),rt.set(e,t)),t},ot=e=>(I=[],J=[],Array.isArray(e[0])&&Array.isArray(e[0].raw)?Tt(e[0]).forEach((t,n)=>t(e[n+1])):e.forEach(Te),J),it=(e,t)=>n=>{if(A(n.d))return n.d(t);let r=n.d.split("-");if(r[0]==="tw"&&n.$===n.d)return n.$;for(let i=r.length;i;i--){let s=g(r.slice(0,i)),c=e[s];if(c)return A(c)?c(u(r,i),t,s):P(c)?t.tw(c):c}},st=(e,t,{theme:n,tag:r})=>{let i=(s,c)=>{let f=n("screens",u(c),"");return f?{[`@media (min-width: ${f})`]:s}:c===":dark"&&e==="class"?{[".dark &"]:s}:c.slice(1,7)==="group-"?{[`.${oe(r("group"))}:${u(c,7)} &`]:s}:{[t[c]||"&"+c]:s}};return (s,c)=>c.v.reduceRight(i,s)},T,Re=e=>(((T=/(?:^|min-width: *)(\d+(?:.\d+)?)(p)?/.exec(e))?+T[1]/(T[2]?15:1)/10:0)&31)<<23,at=e=>{T=0;for(let t=e.length;t--;)T+=h("-:,",e[t]);return T},ke=e=>(at(e)&15)<<18,Rt=["rst","st","en","d","nk","sited","pty","ecked","cus-w","ver","cus","cus-v","tive","sable","ad-on","tiona","quire"],kt=e=>1<<(~(T=Rt.indexOf(e.replace(/^:group-/,":").slice(3,8)))?T:17),lt=(e,t)=>(n,r)=>n|((T=e("screens",u(r),""))?Re(T):r===":dark"?1<<22:(T=t[r]||r)[0]==="@"?ke(T):kt(r)),ct=e=>e[0]==="-"?0:at(e)+((T=/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7}$)|([fl].{5}l|g.{8}$|pl))/.exec(e))?+!!T[1]||-!!T[2]:0)+1,$e=(e,t)=>t+"{"+e+"}",dt=(e,t,n)=>{let{theme:r,tag:i}=n,s=(S,y)=>"--"+i(y),c=S=>`${S}`.replace(/--(tw-[\w-]+)\b/g,s),f=(S,y,R)=>(S=c(S),Array.isArray(y)?g(y.filter(Boolean).map(E=>e(S,c(E),R)),";"):e(S,c(y),R)),p,b=(S,y,R,E,W)=>{let H="",X=0,V=0;Object.keys(E).forEach(x=>{let l=E[x];if(A(l)&&(l=l(n)),h("rg",(typeof l)[5])||Array.isArray(l)){let d=Oe(x);V+=1,X=Math.max(X,ct(d)),H=(H&&H+";")+f(d,l,W);}else if(l)if(x[0]==="@")if(x[1]==="f")b([],x,0,l,W);else if(x[1]==="k"){let d=p.length;b([],"",0,l,W);let w=p.splice(d,p.length-d);p.push({r:$e(g(w.map($=>$.r),""),x),p:w.reduce(($,ft)=>$+ft.p,0)});}else b([...S,x],y,R|(Re(x)||ke(x)),l,W);else {let d=y&&h(x,"&");b(S,d?y.replace(/([^,])+/g,w=>x.replace(/([^,])+/g,$=>h($,"&")?$.replace(/&/g,w):$)):x,d?R:0,l,W);}}),V&&p.push({r:S.reduceRight($e,$e(H,y)),p:R*(1<<8)+(((X||15)&15)<<4|Math.max(0,15-V)&15)});},D=lt(r,t);return (S,y,R)=>(p=[],b([],y?"."+oe(y):"",R?R.v.reduceRight(D,0):0,S,R&&R.i),p)},ut=(e,t,n,r)=>{let i;n((c=[])=>i=c);let s;return n((c=new Set)=>s=c),({r:c,p:f})=>{if(!s.has(c)){s.add(c);let p=Me(i,f);try{e.insert(c,p),i.splice(p,0,f);}catch(b){/:-[mwo]/.test(c)||t.report({id:"INJECT_CSS_ERROR",css:c,error:b},r);}}}},Ee=(e,t,n,r=t)=>e===!1?n:e===!0?r:e||t,$t=e=>(P(e)?{t:we,a:de,i:ye}[e[1]]:e)||de,Ae=(e,t=e.d)=>{if(A(t))return "";let n=g(e.v,"");return (n&&u(n)+":")+(e.n?"-":"")+t+(e.i?"!":"")},gt=(e={})=>{let t=Qe(e.theme),n=$t(e.mode),r=Ee(e.hash,!1,!1,q),i={v:[]},s={tw:(...l)=>V(l),theme:(l,d,w)=>{d!=null&&!d.length&&(d="DEFAULT");let $=t(l,d,w)||n.unknown(l,d==null||Array.isArray(d)?d:d.split("."),w!=null,s);return i.n&&$&&P($)?`calc(${$} * -1)`:$},tag:l=>r?r(l):l},c=it(a(a({},Je),e.plugins),s),f=l=>{let d=i;i=l;try{return c(l)}finally{i=d;}},p=a(a({},qe),e.variants),b=st(e.darkMode||"media",p,s),D=dt(Ee(e.prefix,Se,ue),p,s),S=e.sheet||(typeof window=="undefined"?xe():be(e)),{init:y=l=>l()}=S,R=ut(S,n,y,s),E;y((l=new Map)=>E=l);let W=new WeakMap,H=(l,d)=>A(d)?d(s):d,X=l=>{i.v.length&&(l=a(a({},l),{v:[...i.v,...l.v],$:""})),l.$||(l.$=Ae(l)||Ae(l,W.get(l.d)));let d=E.get(l.$);if(d==null){let w=f(l);l.$||(l.$=q(JSON.stringify(w,H)),W.set(l.d,l.$),l.$=Ae(l,l.$)),P(w)?d=w:ne(w)?(w=b(w,l),d=r?r(JSON.stringify(w,H)):l.$,D(w,d,l).forEach(R)):(d=l.$,n.report({id:"UNKNOWN_DIRECTIVE",rule:d},s)),E.set(l.$,d),E.size>3e4&&E.delete(E.keys().next().value);}return d},V=l=>ot(l).map(X).filter(Boolean).join(" "),x=Ee(e.preflight,We,!1);if(x){let l=Xe(t),d=D(A(x)?x(l,s)||l:a(a({},l),x));y((w=(d.forEach(R),!0))=>w);}return {init:()=>n.report({id:"LATE_SETUP_CALL"},s),process:V,theme:t}},Pe=e=>{let t=i=>(r(),t(i)),n=(i,s,c)=>(r(),n(i,s,c)),r=i=>{({process:t,init:r,theme:n}=gt(i));};return e&&r(e),{tw:(...i)=>t(i),setup:i=>r(i),theme:n}},ze=Pe(),{tw:Et}=ze,{setup:At}=ze,{theme:Pt}=ze;exports.autoprefix=Se;exports.create=Pe;exports.cssomSheet=be;exports.hash=q;exports.mode=ce;exports.noprefix=ue;exports.setup=At;exports.silent=ye;exports.strict=we;exports.theme=Pt;exports.tw=Et;exports.voidSheet=xe;exports.warn=de;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
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
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
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
635675
53
3438
258
2