diff --git a/.changeset/angry-sheep-matter.md b/.changeset/angry-sheep-matter.md
new file mode 100644
index 0000000..a743ae0
--- /dev/null
+++ b/.changeset/angry-sheep-matter.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': patch
+---
+
+feat: Add `TimerState`
diff --git a/.changeset/bitter-buttons-trade.md b/.changeset/bitter-buttons-trade.md
new file mode 100644
index 0000000..464ccff
--- /dev/null
+++ b/.changeset/bitter-buttons-trade.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat: Add `platform` to get details of browser (operating system, etc)
diff --git a/.changeset/brave-ideas-scream.md b/.changeset/brave-ideas-scream.md
new file mode 100644
index 0000000..12e2325
--- /dev/null
+++ b/.changeset/brave-ideas-scream.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+fix(isActive): Do not match when path is not at the beginning
diff --git a/.changeset/bright-jokes-press.md b/.changeset/bright-jokes-press.md
new file mode 100644
index 0000000..a321e32
--- /dev/null
+++ b/.changeset/bright-jokes-press.md
@@ -0,0 +1,9 @@
+---
+'@layerstack/svelte-actions': patch
+'@layerstack/svelte-stores': patch
+'@layerstack/svelte-state': patch
+'@layerstack/svelte-table': patch
+'@layerstack/utils': patch
+---
+
+chore: Remove unused deps
diff --git a/.changeset/cold-actors-burn.md b/.changeset/cold-actors-burn.md
new file mode 100644
index 0000000..b65ec50
--- /dev/null
+++ b/.changeset/cold-actors-burn.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': patch
+---
+
+fix(SelectionState): Improve `current` type (based on `single`)
diff --git a/.changeset/config.json b/.changeset/config.json
index 5f00299..74e6477 100644
--- a/.changeset/config.json
+++ b/.changeset/config.json
@@ -7,5 +7,5 @@
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
- "ignore": []
+ "ignore": ["@layerstack/docs"]
}
diff --git a/.changeset/cuddly-cows-win.md b/.changeset/cuddly-cows-win.md
new file mode 100644
index 0000000..bef12da
--- /dev/null
+++ b/.changeset/cuddly-cows-win.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+fix: Add `FormatConfig` as top-level export
diff --git a/.changeset/cyan-guests-sip.md b/.changeset/cyan-guests-sip.md
new file mode 100644
index 0000000..8940248
--- /dev/null
+++ b/.changeset/cyan-guests-sip.md
@@ -0,0 +1,10 @@
+---
+'@layerstack/svelte-actions': patch
+'@layerstack/svelte-stores': patch
+'@layerstack/svelte-state': patch
+'@layerstack/svelte-table': patch
+'@layerstack/tailwind': patch
+'@layerstack/utils': patch
+---
+
+refactor: Replace `date-fns` usage with new date utils (based on d3-time) to reduce bundle size
diff --git a/.changeset/dull-meals-post.md b/.changeset/dull-meals-post.md
new file mode 100644
index 0000000..1a97070
--- /dev/null
+++ b/.changeset/dull-meals-post.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat: Add string utils `toCamelCase()`, `toSnakeCase()`, `toKebabCase()`, and `toPascalCase()`
diff --git a/.changeset/eager-bugs-laugh.md b/.changeset/eager-bugs-laugh.md
new file mode 100644
index 0000000..78151f2
--- /dev/null
+++ b/.changeset/eager-bugs-laugh.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+refactor: Remove `platform` nesting of user agent introspection functions (already nested in `env` export)
diff --git a/.changeset/empty-dancers-rule.md b/.changeset/empty-dancers-rule.md
new file mode 100644
index 0000000..f3e08e4
--- /dev/null
+++ b/.changeset/empty-dancers-rule.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat: Add additional time formats (hour, minute, second, millisecond). Resolves #84
diff --git a/.changeset/empty-wasps-watch.md b/.changeset/empty-wasps-watch.md
new file mode 100644
index 0000000..c6d1b53
--- /dev/null
+++ b/.changeset/empty-wasps-watch.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+fix(Duration): Support `.toISOString()` to output ISO 8601 duration strings (ex. `P2DT3H5M`)
diff --git a/.changeset/fancy-poets-lead.md b/.changeset/fancy-poets-lead.md
new file mode 100644
index 0000000..f7c4e1f
--- /dev/null
+++ b/.changeset/fancy-poets-lead.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': patch
+---
+
+feat: Add `MediaQueryPresets`
diff --git a/.changeset/fluffy-eggs-joke.md b/.changeset/fluffy-eggs-joke.md
new file mode 100644
index 0000000..e072e03
--- /dev/null
+++ b/.changeset/fluffy-eggs-joke.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': minor
+---
+
+feat: Add `@layerstack/svelte-state` package, initially with `selectionState` and `uniqueState`
diff --git a/.changeset/four-signs-smell.md b/.changeset/four-signs-smell.md
new file mode 100644
index 0000000..efa6850
--- /dev/null
+++ b/.changeset/four-signs-smell.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/tailwind': patch
+---
+
+fix: Change `culori` dep to devDependencies (only used for generation and not runtime)
diff --git a/.changeset/fresh-pants-accept.md b/.changeset/fresh-pants-accept.md
new file mode 100644
index 0000000..b53a848
--- /dev/null
+++ b/.changeset/fresh-pants-accept.md
@@ -0,0 +1,6 @@
+---
+'@layerstack/tailwind': major
+'@layerstack/utils': minor
+---
+
+Tailwind 4 support
diff --git a/.changeset/khaki-bars-smell.md b/.changeset/khaki-bars-smell.md
new file mode 100644
index 0000000..8c04056
--- /dev/null
+++ b/.changeset/khaki-bars-smell.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/tailwind': patch
+---
+
+fix(theme.css): Apply tailwind typography `.prose` css variable overrides within `@layer utilities` to fix deployment. Properly set opacity for some variables
diff --git a/.changeset/lazy-bottles-rule.md b/.changeset/lazy-bottles-rule.md
new file mode 100644
index 0000000..4cfb615
--- /dev/null
+++ b/.changeset/lazy-bottles-rule.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/tailwind': patch
+---
+
+fix: Change `tailwindcss` dep to devDependecies
diff --git a/.changeset/legal-seals-march.md b/.changeset/legal-seals-march.md
new file mode 100644
index 0000000..eb712ee
--- /dev/null
+++ b/.changeset/legal-seals-march.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': patch
+---
+
+breaking(SelectionState): Refine API (use `current` property setter instead of `setSelected()` and rename `toggleSelected()` to `toggle()`)
diff --git a/.changeset/light-mice-brake.md b/.changeset/light-mice-brake.md
new file mode 100644
index 0000000..3ee986c
--- /dev/null
+++ b/.changeset/light-mice-brake.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': patch
+---
+
+breaking(TimerState): Rename `onTick` to `tick`
diff --git a/.changeset/loud-rockets-tease.md b/.changeset/loud-rockets-tease.md
new file mode 100644
index 0000000..1915bb9
--- /dev/null
+++ b/.changeset/loud-rockets-tease.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': minor
+---
+
+breaking: Migrate `selectionState` and `uniqueState` to `SelectionState` and `UniqueState` classes
diff --git a/.changeset/mean-taxis-drive.md b/.changeset/mean-taxis-drive.md
new file mode 100644
index 0000000..cd2e2ce
--- /dev/null
+++ b/.changeset/mean-taxis-drive.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/tailwind': patch
+---
+
+fix: Split theme generation CLI from runtime theme utils
diff --git a/.changeset/modern-hairs-open.md b/.changeset/modern-hairs-open.md
new file mode 100644
index 0000000..454991a
--- /dev/null
+++ b/.changeset/modern-hairs-open.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/tailwind': patch
+---
+
+breaking: Rename `theme.css` to `core.css`. Provide default colors for all theme variables including deriving `-50`:`-950` shades (`primary-700`, etc). Add `themes/basic.css` for simple light/dark use cases
diff --git a/.changeset/odd-dots-greet.md b/.changeset/odd-dots-greet.md
new file mode 100644
index 0000000..555dc53
--- /dev/null
+++ b/.changeset/odd-dots-greet.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': patch
+---
+
+Add PaginationState
diff --git a/.changeset/odd-hands-tie.md b/.changeset/odd-hands-tie.md
new file mode 100644
index 0000000..0ecd95e
--- /dev/null
+++ b/.changeset/odd-hands-tie.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat: Add new date utils including `parseDate`, `timeInterval`, `startOfInterval`, `endOfInterval`, `intervalOffset`, and more
diff --git a/.changeset/odd-yaks-see.md b/.changeset/odd-yaks-see.md
new file mode 100644
index 0000000..139ad4f
--- /dev/null
+++ b/.changeset/odd-yaks-see.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat: Add `mapKeys()` and `mapValues()` object utils
diff --git a/.changeset/open-schools-spend.md b/.changeset/open-schools-spend.md
new file mode 100644
index 0000000..9b154ac
--- /dev/null
+++ b/.changeset/open-schools-spend.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat(format): Support passing `locale` as part of config object
diff --git a/.changeset/plain-crews-cry.md b/.changeset/plain-crews-cry.md
new file mode 100644
index 0000000..2811541
--- /dev/null
+++ b/.changeset/plain-crews-cry.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': patch
+---
+
+fix(TimerState): Only restart timer after updating delay if previously running
diff --git a/.changeset/polite-moments-build.md b/.changeset/polite-moments-build.md
new file mode 100644
index 0000000..e371742
--- /dev/null
+++ b/.changeset/polite-moments-build.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': patch
+---
+
+fix(MediaQueryPresets): Add workaround for `screen` and `print` for upstream svelte issue
diff --git a/.changeset/pre.json b/.changeset/pre.json
new file mode 100644
index 0000000..b561fe2
--- /dev/null
+++ b/.changeset/pre.json
@@ -0,0 +1,58 @@
+{
+ "mode": "pre",
+ "tag": "next",
+ "initialVersions": {
+ "@layerstack/svelte-actions": "1.0.0",
+ "@layerstack/svelte-stores": "1.0.1",
+ "@layerstack/svelte-table": "1.0.0",
+ "@layerstack/tailwind": "1.0.0",
+ "@layerstack/utils": "1.0.0",
+ "@layerstack/docs": "1.0.1",
+ "@layerstack/svelte-state": "0.0.0"
+ },
+ "changesets": [
+ "angry-sheep-matter",
+ "bitter-buttons-trade",
+ "brave-ideas-scream",
+ "bright-jokes-press",
+ "cold-actors-burn",
+ "cuddly-cows-win",
+ "cyan-guests-sip",
+ "dull-meals-post",
+ "eager-bugs-laugh",
+ "empty-dancers-rule",
+ "empty-wasps-watch",
+ "fancy-poets-lead",
+ "fluffy-eggs-joke",
+ "four-signs-smell",
+ "fresh-pants-accept",
+ "khaki-bars-smell",
+ "lazy-bottles-rule",
+ "legal-seals-march",
+ "light-mice-brake",
+ "loud-rockets-tease",
+ "mean-taxis-drive",
+ "modern-hairs-open",
+ "odd-dots-greet",
+ "odd-hands-tie",
+ "odd-yaks-see",
+ "open-schools-spend",
+ "plain-crews-cry",
+ "polite-moments-build",
+ "quick-ducks-do",
+ "ripe-pens-raise",
+ "seven-humans-sink",
+ "seven-teeth-ring",
+ "slimy-bags-beg",
+ "smooth-ties-lie",
+ "social-poems-start",
+ "solid-lands-shine",
+ "swift-clocks-warn",
+ "tidy-drinks-rush",
+ "tiny-dogs-shave",
+ "tricky-snails-repeat",
+ "twelve-cloths-live",
+ "two-doodles-return",
+ "wicked-items-change"
+ ]
+}
diff --git a/.changeset/quick-ducks-do.md b/.changeset/quick-ducks-do.md
new file mode 100644
index 0000000..db563f6
--- /dev/null
+++ b/.changeset/quick-ducks-do.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': major
+---
+
+breaking: Replace `getDuration()` / `humanizeDuration()` utils with `Duration` class (with `.format()` method)
diff --git a/.changeset/ripe-pens-raise.md b/.changeset/ripe-pens-raise.md
new file mode 100644
index 0000000..01ad106
--- /dev/null
+++ b/.changeset/ripe-pens-raise.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/tailwind': patch
+---
+
+fix(theme.css): Provide default colors (instead of black) for theme variables. Use `color-mix()` to derive `-50`:`-950` shades of all theme colors (primary-100, success-700, etc)
diff --git a/.changeset/seven-humans-sink.md b/.changeset/seven-humans-sink.md
new file mode 100644
index 0000000..eb83ce7
--- /dev/null
+++ b/.changeset/seven-humans-sink.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+fix: Add more date utils to top-level exports including `intervalOffset`, `intervalDifference`, `isSameInterval`, `isDateWithin`, and more
diff --git a/.changeset/seven-teeth-ring.md b/.changeset/seven-teeth-ring.md
new file mode 100644
index 0000000..d4dc405
--- /dev/null
+++ b/.changeset/seven-teeth-ring.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/svelte-state': patch
+---
+
+fix: Add `PaginationState` to top-level exports
diff --git a/.changeset/slimy-bags-beg.md b/.changeset/slimy-bags-beg.md
new file mode 100644
index 0000000..c447665
--- /dev/null
+++ b/.changeset/slimy-bags-beg.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat(format): Support passing config option to easily set `type` and additional `options` as single object (ex. `format(number, { type: 'currency', options: { notation: 'compact' } })`)
diff --git a/.changeset/smooth-ties-lie.md b/.changeset/smooth-ties-lie.md
new file mode 100644
index 0000000..4c5df95
--- /dev/null
+++ b/.changeset/smooth-ties-lie.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+breaking(utils): Lowercase all periodTypeMappings, simplify (`DAY-TIME` => `daytime`, etc), and add `PeriodTypeCode` type
diff --git a/.changeset/social-poems-start.md b/.changeset/social-poems-start.md
new file mode 100644
index 0000000..dcfa94d
--- /dev/null
+++ b/.changeset/social-poems-start.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat(formatDate): Support second argument as explicit `format` string accepting both `Unicode` and `strftime` formats (converting `Unicode` to `strftime`) while still supporting period type string/enum.
diff --git a/.changeset/solid-lands-shine.md b/.changeset/solid-lands-shine.md
new file mode 100644
index 0000000..985d4d1
--- /dev/null
+++ b/.changeset/solid-lands-shine.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat: Add `NestedRecord` type
diff --git a/.changeset/swift-clocks-warn.md b/.changeset/swift-clocks-warn.md
new file mode 100644
index 0000000..f21ff5e
--- /dev/null
+++ b/.changeset/swift-clocks-warn.md
@@ -0,0 +1,9 @@
+---
+'@layerstack/svelte-actions': patch
+'@layerstack/svelte-stores': patch
+'@layerstack/svelte-table': patch
+'@layerstack/tailwind': patch
+'@layerstack/utils': patch
+---
+
+Update dependencies
diff --git a/.changeset/tidy-drinks-rush.md b/.changeset/tidy-drinks-rush.md
new file mode 100644
index 0000000..52f8dde
--- /dev/null
+++ b/.changeset/tidy-drinks-rush.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+fix(format): Improve typing for `FormatConfig` and `formatDate()`
diff --git a/.changeset/tiny-dogs-shave.md b/.changeset/tiny-dogs-shave.md
new file mode 100644
index 0000000..1f90de2
--- /dev/null
+++ b/.changeset/tiny-dogs-shave.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat(parseDate): Support optional `format` argument accepting both `Unicode` and `strftime` formats (converting `Unicode` to `strftime`)
diff --git a/.changeset/tricky-snails-repeat.md b/.changeset/tricky-snails-repeat.md
new file mode 100644
index 0000000..19db446
--- /dev/null
+++ b/.changeset/tricky-snails-repeat.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat(clamp): Update types to support `Date`
diff --git a/.changeset/twelve-cloths-live.md b/.changeset/twelve-cloths-live.md
new file mode 100644
index 0000000..143b311
--- /dev/null
+++ b/.changeset/twelve-cloths-live.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+fix: Update `PeriodType.Month` `default` variant to include full name, and `long` to include year.
diff --git a/.changeset/two-doodles-return.md b/.changeset/two-doodles-return.md
new file mode 100644
index 0000000..6e159f0
--- /dev/null
+++ b/.changeset/two-doodles-return.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+feat(format): Support passing PeriodTypeCode strings to easily format dates (ex. `format(date, 'day')`)
diff --git a/.changeset/wicked-items-change.md b/.changeset/wicked-items-change.md
new file mode 100644
index 0000000..f4c0f63
--- /dev/null
+++ b/.changeset/wicked-items-change.md
@@ -0,0 +1,5 @@
+---
+'@layerstack/utils': patch
+---
+
+fix(Duration): Support `fractional` values (ex. `1.5s`). Useful with `minUnits` or `totalUnits`
diff --git a/README.md b/README.md
index 3e0d0b0..c30dc55 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,30 @@
[](https://github.com/techniq/layerstack/actions/workflows/ci.yml)

-[](https://discord.gg/697JhMPD3t)
+[](https://discord.gg/697JhMPD3t)
## Companion libraries
- [LayerChart](https://layerchart.com) - composable chart components to build a wide range of visualizations
- [Svelte UX](https://svelte-ux.techniq.dev/) - components to build highly interactive applications.
+
+## Sponsors
+
+This project is supported by the following beautiful people/organizations:
+
+
+
+
+
+
+
+## Community
+
+Join the Discord server to ask questions, find collaborators, or just say hi!
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/svelte-actions/CHANGELOG.md b/packages/svelte-actions/CHANGELOG.md
index 4d2e9c0..966262a 100644
--- a/packages/svelte-actions/CHANGELOG.md
+++ b/packages/svelte-actions/CHANGELOG.md
@@ -1,5 +1,130 @@
# @layerstack/svelte-actions
+## 1.0.1-next.16
+
+### Patch Changes
+
+- Updated dependencies [[`d43c010`](https://github.com/techniq/layerstack/commit/d43c010d45681df2c78693e59de4915ce57b3dd9), [`73c58ed`](https://github.com/techniq/layerstack/commit/73c58edd94931b5774262fed1ecfbd8ba3bd087a), [`73c58ed`](https://github.com/techniq/layerstack/commit/73c58edd94931b5774262fed1ecfbd8ba3bd087a)]:
+ - @layerstack/utils@2.0.0-next.16
+
+## 1.0.1-next.15
+
+### Patch Changes
+
+- Updated dependencies [[`b7f39f7`](https://github.com/techniq/layerstack/commit/b7f39f7cfd3b58bf12e51f75e0b8bfda7a833899)]:
+ - @layerstack/utils@2.0.0-next.15
+
+## 1.0.1-next.14
+
+### Patch Changes
+
+- Updated dependencies [[`28027b3`](https://github.com/techniq/layerstack/commit/28027b3f71014e7926e779554a1d9cbd0ad65e07)]:
+ - @layerstack/utils@2.0.0-next.14
+
+## 1.0.1-next.13
+
+### Patch Changes
+
+- Updated dependencies [[`e366ee7`](https://github.com/techniq/layerstack/commit/e366ee7f43cc1340aafeff7021eee2714b590733)]:
+ - @layerstack/utils@2.0.0-next.13
+
+## 1.0.1-next.12
+
+### Patch Changes
+
+- chore: Remove unused deps ([#76](https://github.com/techniq/layerstack/pull/76))
+
+- Updated dependencies [[`49ccf88`](https://github.com/techniq/layerstack/commit/49ccf8863b5f6402eb4caa72b53380611ae80ad1), [`1ebd4db`](https://github.com/techniq/layerstack/commit/1ebd4db5b1fb3d3d820312aa1aa5a84d7926200e)]:
+ - @layerstack/utils@2.0.0-next.12
+
+## 1.0.1-next.11
+
+### Patch Changes
+
+- Updated dependencies [[`ad4c34f`](https://github.com/techniq/layerstack/commit/ad4c34f8db8e67a702a317e0056559ac98ac61d5), [`7c986f8`](https://github.com/techniq/layerstack/commit/7c986f8401575c99709788f2feca6070fdee44b8)]:
+ - @layerstack/utils@2.0.0-next.11
+
+## 1.0.1-next.10
+
+### Patch Changes
+
+- Updated dependencies [[`32eb536`](https://github.com/techniq/layerstack/commit/32eb5367e8a9e545026c6254827547b374d1db94)]:
+ - @layerstack/utils@2.0.0-next.10
+
+## 1.0.1-next.9
+
+### Patch Changes
+
+- refactor: Replace `date-fns` usage with new date utils (based on d3-time) to reduce bundle size ([#71](https://github.com/techniq/layerstack/pull/71))
+
+- Updated dependencies [[`abd845a`](https://github.com/techniq/layerstack/commit/abd845a53b4b1cdc3a61a6503b6cb4fd144d35a5), [`abd845a`](https://github.com/techniq/layerstack/commit/abd845a53b4b1cdc3a61a6503b6cb4fd144d35a5)]:
+ - @layerstack/utils@2.0.0-next.9
+
+## 1.0.1-next.8
+
+### Patch Changes
+
+- Updated dependencies [[`e47ed35`](https://github.com/techniq/layerstack/commit/e47ed359ae04ce24d70f3ab5369366f77cdc93d6)]:
+ - @layerstack/utils@2.0.0-next.8
+
+## 1.0.1-next.7
+
+### Patch Changes
+
+- Updated dependencies [[`a6df412`](https://github.com/techniq/layerstack/commit/a6df412a42636fead1b1ce4f92d114ecc6b1d727)]:
+ - @layerstack/utils@2.0.0-next.7
+
+## 1.0.1-next.6
+
+### Patch Changes
+
+- Updated dependencies [[`23651ad`](https://github.com/techniq/layerstack/commit/23651adc92ef675c3fedb4fbc6fa3d976df57cb4)]:
+ - @layerstack/utils@2.0.0-next.6
+
+## 1.0.1-next.5
+
+### Patch Changes
+
+- Updated dependencies [[`7642289`](https://github.com/techniq/layerstack/commit/7642289e1a99cf8092f2695491fd78b35a796bff)]:
+ - @layerstack/utils@2.0.0-next.5
+
+## 1.0.1-next.4
+
+### Patch Changes
+
+- Updated dependencies [[`ab0bb08`](https://github.com/techniq/layerstack/commit/ab0bb086257e281aa10ef13a3296aedf95c777f9), [`48b0aea`](https://github.com/techniq/layerstack/commit/48b0aead52ca6aeb2135a5297f5d774c8b510e12), [`38c4443`](https://github.com/techniq/layerstack/commit/38c44438c2454d3ffe328be15c1077987f64ee24), [`eaca635`](https://github.com/techniq/layerstack/commit/eaca6356ccd5288950aca64b8082ef18df2757ec)]:
+ - @layerstack/utils@2.0.0-next.4
+
+## 1.0.1-next.3
+
+### Patch Changes
+
+- Updated dependencies [[`4ed65a7`](https://github.com/techniq/layerstack/commit/4ed65a76562db9af2d18a196a2ba9e58f959aa5c)]:
+ - @layerstack/utils@2.0.0-next.3
+
+## 1.0.1-next.2
+
+### Patch Changes
+
+- Updated dependencies [[`955e07b`](https://github.com/techniq/layerstack/commit/955e07b5aed62acd8afba10f9eaa68b90d72bb74)]:
+ - @layerstack/utils@1.1.0-next.2
+
+## 1.0.1-next.1
+
+### Patch Changes
+
+- Update dependencies ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- Updated dependencies [[`b7ca80b`](https://github.com/techniq/layerstack/commit/b7ca80b6a8a07c53ec4a99864ec6b9fd1ecab0b4)]:
+ - @layerstack/utils@1.1.0-next.1
+
+## 1.0.1-next.0
+
+### Patch Changes
+
+- Updated dependencies [[`6cdcb26`](https://github.com/techniq/layerstack/commit/6cdcb26cabd0539cee2885efbaa39e7787a34114), [`c6bb443`](https://github.com/techniq/layerstack/commit/c6bb443d12ee12bd69417dcfa5880b6bf78c9f09), [`c13e65e`](https://github.com/techniq/layerstack/commit/c13e65e059d690cbc282635f6e48a27d715e5997)]:
+ - @layerstack/utils@1.1.0-next.0
+
## 1.0.1
### Patch Changes
diff --git a/packages/svelte-actions/package.json b/packages/svelte-actions/package.json
index b95b51f..a5f7602 100644
--- a/packages/svelte-actions/package.json
+++ b/packages/svelte-actions/package.json
@@ -4,7 +4,7 @@
"author": "Sean Lynch ",
"license": "MIT",
"repository": "techniq/layerstack",
- "version": "1.0.1",
+ "version": "1.0.1-next.16",
"scripts": {
"dev": "rimraf dist && tsc -p tsconfig.build.json --watch",
"build": "rimraf dist && tsc -p tsconfig.build.json",
@@ -20,29 +20,23 @@
"devDependencies": {
"@sveltejs/package": "^2.3.11",
"@sveltejs/vite-plugin-svelte": "^5.0.3",
- "@types/d3-array": "^3.2.1",
"@types/d3-scale": "^4.0.9",
- "@types/lodash-es": "^4.17.12",
- "@vitest/coverage-v8": "^3.0.7",
- "prettier": "^3.5.2",
+ "prettier": "^3.5.3",
"prettier-plugin-svelte": "^3.3.3",
"rimraf": "6.0.1",
- "svelte": "^5.20.4",
- "svelte-check": "^4.1.4",
- "svelte2tsx": "^0.7.34",
+ "svelte": "^5.28.2",
+ "svelte-check": "^4.1.6",
+ "svelte2tsx": "^0.7.36",
"tslib": "^2.8.1",
- "typescript": "^5.7.3",
+ "typescript": "^5.8.3",
"vite": "^6.3.5",
"vitest": "^3.1.3"
},
"type": "module",
"dependencies": {
- "@floating-ui/dom": "^1.6.13",
+ "@floating-ui/dom": "^1.7.0",
"@layerstack/utils": "workspace:*",
- "d3-array": "^3.2.4",
- "d3-scale": "^4.0.2",
- "date-fns": "^4.1.0",
- "lodash-es": "^4.17.21"
+ "d3-scale": "^4.0.2"
},
"main": "./dist/index.js",
"exports": {
diff --git a/packages/svelte-state/.prettierignore b/packages/svelte-state/.prettierignore
new file mode 100644
index 0000000..17a42fc
--- /dev/null
+++ b/packages/svelte-state/.prettierignore
@@ -0,0 +1,15 @@
+.DS_Store
+node_modules
+/build
+/dist
+/.svelte-kit
+/package
+.env
+.env.*
+!.env.example
+coverage/
+
+# Ignore files for PNPM, NPM and YARN
+pnpm-lock.yaml
+package-lock.json
+yarn.lock
diff --git a/packages/svelte-state/CHANGELOG.md b/packages/svelte-state/CHANGELOG.md
new file mode 100644
index 0000000..60070f9
--- /dev/null
+++ b/packages/svelte-state/CHANGELOG.md
@@ -0,0 +1,165 @@
+# @layerstack/svelte-state
+
+## 0.1.0-next.21
+
+### Patch Changes
+
+- Updated dependencies [[`d43c010`](https://github.com/techniq/layerstack/commit/d43c010d45681df2c78693e59de4915ce57b3dd9), [`73c58ed`](https://github.com/techniq/layerstack/commit/73c58edd94931b5774262fed1ecfbd8ba3bd087a), [`73c58ed`](https://github.com/techniq/layerstack/commit/73c58edd94931b5774262fed1ecfbd8ba3bd087a)]:
+ - @layerstack/utils@2.0.0-next.16
+
+## 0.1.0-next.20
+
+### Patch Changes
+
+- Updated dependencies [[`b7f39f7`](https://github.com/techniq/layerstack/commit/b7f39f7cfd3b58bf12e51f75e0b8bfda7a833899)]:
+ - @layerstack/utils@2.0.0-next.15
+
+## 0.1.0-next.19
+
+### Patch Changes
+
+- Updated dependencies [[`28027b3`](https://github.com/techniq/layerstack/commit/28027b3f71014e7926e779554a1d9cbd0ad65e07)]:
+ - @layerstack/utils@2.0.0-next.14
+
+## 0.1.0-next.18
+
+### Patch Changes
+
+- Updated dependencies [[`e366ee7`](https://github.com/techniq/layerstack/commit/e366ee7f43cc1340aafeff7021eee2714b590733)]:
+ - @layerstack/utils@2.0.0-next.13
+
+## 0.1.0-next.17
+
+### Patch Changes
+
+- chore: Remove unused deps ([#76](https://github.com/techniq/layerstack/pull/76))
+
+- Updated dependencies [[`49ccf88`](https://github.com/techniq/layerstack/commit/49ccf8863b5f6402eb4caa72b53380611ae80ad1), [`1ebd4db`](https://github.com/techniq/layerstack/commit/1ebd4db5b1fb3d3d820312aa1aa5a84d7926200e)]:
+ - @layerstack/utils@2.0.0-next.12
+
+## 0.1.0-next.16
+
+### Patch Changes
+
+- Updated dependencies [[`ad4c34f`](https://github.com/techniq/layerstack/commit/ad4c34f8db8e67a702a317e0056559ac98ac61d5), [`7c986f8`](https://github.com/techniq/layerstack/commit/7c986f8401575c99709788f2feca6070fdee44b8)]:
+ - @layerstack/utils@2.0.0-next.11
+
+## 0.1.0-next.15
+
+### Patch Changes
+
+- Updated dependencies [[`32eb536`](https://github.com/techniq/layerstack/commit/32eb5367e8a9e545026c6254827547b374d1db94)]:
+ - @layerstack/utils@2.0.0-next.10
+
+## 0.1.0-next.14
+
+### Patch Changes
+
+- refactor: Replace `date-fns` usage with new date utils (based on d3-time) to reduce bundle size ([#71](https://github.com/techniq/layerstack/pull/71))
+
+- Updated dependencies [[`abd845a`](https://github.com/techniq/layerstack/commit/abd845a53b4b1cdc3a61a6503b6cb4fd144d35a5), [`abd845a`](https://github.com/techniq/layerstack/commit/abd845a53b4b1cdc3a61a6503b6cb4fd144d35a5)]:
+ - @layerstack/utils@2.0.0-next.9
+
+## 0.1.0-next.13
+
+### Patch Changes
+
+- Updated dependencies [[`e47ed35`](https://github.com/techniq/layerstack/commit/e47ed359ae04ce24d70f3ab5369366f77cdc93d6)]:
+ - @layerstack/utils@2.0.0-next.8
+
+## 0.1.0-next.12
+
+### Patch Changes
+
+- Updated dependencies [[`a6df412`](https://github.com/techniq/layerstack/commit/a6df412a42636fead1b1ce4f92d114ecc6b1d727)]:
+ - @layerstack/utils@2.0.0-next.7
+
+## 0.1.0-next.11
+
+### Patch Changes
+
+- Updated dependencies [[`23651ad`](https://github.com/techniq/layerstack/commit/23651adc92ef675c3fedb4fbc6fa3d976df57cb4)]:
+ - @layerstack/utils@2.0.0-next.6
+
+## 0.1.0-next.10
+
+### Patch Changes
+
+- Updated dependencies [[`7642289`](https://github.com/techniq/layerstack/commit/7642289e1a99cf8092f2695491fd78b35a796bff)]:
+ - @layerstack/utils@2.0.0-next.5
+
+## 0.1.0-next.9
+
+### Patch Changes
+
+- Updated dependencies [[`ab0bb08`](https://github.com/techniq/layerstack/commit/ab0bb086257e281aa10ef13a3296aedf95c777f9), [`48b0aea`](https://github.com/techniq/layerstack/commit/48b0aead52ca6aeb2135a5297f5d774c8b510e12), [`38c4443`](https://github.com/techniq/layerstack/commit/38c44438c2454d3ffe328be15c1077987f64ee24), [`eaca635`](https://github.com/techniq/layerstack/commit/eaca6356ccd5288950aca64b8082ef18df2757ec)]:
+ - @layerstack/utils@2.0.0-next.4
+
+## 0.1.0-next.8
+
+### Patch Changes
+
+- fix: Add `PaginationState` to top-level exports ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 0.1.0-next.7
+
+### Patch Changes
+
+- fix(TimerState): Only restart timer after updating delay if previously running ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 0.1.0-next.6
+
+### Patch Changes
+
+- breaking(TimerState): Rename `onTick` to `tick` ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- Updated dependencies [[`4ed65a7`](https://github.com/techniq/layerstack/commit/4ed65a76562db9af2d18a196a2ba9e58f959aa5c)]:
+ - @layerstack/utils@2.0.0-next.3
+
+## 0.1.0-next.5
+
+### Patch Changes
+
+- fix(SelectionState): Improve `current` type (based on `single`) ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- Add PaginationState ([#60](https://github.com/techniq/layerstack/pull/60))
+
+- fix(MediaQueryPresets): Add workaround for `screen` and `print` for upstream svelte issue ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 0.1.0-next.4
+
+### Patch Changes
+
+- feat: Add `MediaQueryPresets` ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- breaking(SelectionState): Refine API (use `current` property setter instead of `setSelected()` and rename `toggleSelected()` to `toggle()`) ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 0.1.0-next.3
+
+### Patch Changes
+
+- feat: Add `TimerState` ([#56](https://github.com/techniq/layerstack/pull/56))
+
+## 0.1.0-next.2
+
+### Patch Changes
+
+- Updated dependencies [[`955e07b`](https://github.com/techniq/layerstack/commit/955e07b5aed62acd8afba10f9eaa68b90d72bb74)]:
+ - @layerstack/utils@1.1.0-next.2
+
+## 0.1.0-next.1
+
+### Minor Changes
+
+- breaking: Migrate `selectionState` and `uniqueState` to `SelectionState` and `UniqueState` classes ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 0.1.0-next.0
+
+### Minor Changes
+
+- feat: Add `@layerstack/svelte-state` package, initially with `selectionState` and `uniqueState` ([#31](https://github.com/techniq/layerstack/pull/31))
+
+### Patch Changes
+
+- Updated dependencies [[`b7ca80b`](https://github.com/techniq/layerstack/commit/b7ca80b6a8a07c53ec4a99864ec6b9fd1ecab0b4)]:
+ - @layerstack/utils@1.1.0-next.1
diff --git a/packages/svelte-state/LICENSE b/packages/svelte-state/LICENSE
new file mode 100644
index 0000000..882619f
--- /dev/null
+++ b/packages/svelte-state/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2024 Sean Lynch
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file
diff --git a/packages/svelte-state/README.md b/packages/svelte-state/README.md
new file mode 100644
index 0000000..4fdd67f
--- /dev/null
+++ b/packages/svelte-state/README.md
@@ -0,0 +1,9 @@
+# LayerStack svelte-stores
+
+
+[](https://github.com/techniq/layerstack/actions/workflows/ci.yml)
+
+
+[](https://discord.gg/697JhMPD3t)
+
+See also the companion libraries [LayerChart](https://layerchart.com) for a large collection of composable chart components to build a wide range of visualizations, and [Svelte UX](https://svelte-ux.techniq.dev/) for a collection of components to build highly interactive applications.
diff --git a/packages/svelte-state/package.json b/packages/svelte-state/package.json
new file mode 100644
index 0000000..d6a4ea7
--- /dev/null
+++ b/packages/svelte-state/package.json
@@ -0,0 +1,54 @@
+{
+ "name": "@layerstack/svelte-state",
+ "description": "TODO",
+ "author": "Sean Lynch ",
+ "license": "MIT",
+ "repository": "techniq/layerstack",
+ "version": "0.1.0-next.21",
+ "scripts": {
+ "dev": "rimraf dist && tsc -p tsconfig.build.json --watch",
+ "build": "rimraf dist && tsc -p tsconfig.build.json",
+ "preview": "vite preview",
+ "package": "svelte-package",
+ "prepublishOnly": "svelte-package",
+ "check": "svelte-check --tsconfig ./tsconfig.json",
+ "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
+ "test:unit": "TZ=UTC+4 vitest",
+ "lint": "prettier --check .",
+ "format": "prettier --write ."
+ },
+ "devDependencies": {
+ "@sveltejs/kit": "^2.20.8",
+ "@sveltejs/package": "^2.3.11",
+ "@sveltejs/vite-plugin-svelte": "^5.0.3",
+ "prettier": "^3.5.3",
+ "prettier-plugin-svelte": "^3.3.3",
+ "rimraf": "6.0.1",
+ "svelte": "^5.28.2",
+ "svelte-check": "^4.1.6",
+ "svelte2tsx": "^0.7.36",
+ "tslib": "^2.8.1",
+ "typescript": "^5.8.3",
+ "vite": "^6.3.4",
+ "vitest": "^3.1.2"
+ },
+ "type": "module",
+ "dependencies": {
+ "@layerstack/utils": "workspace:*"
+ },
+ "main": "./dist/index.js",
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "svelte": "./dist/index.js"
+ },
+ "./*": {
+ "types": "./dist/*.d.ts",
+ "svelte": "./dist/*.js"
+ }
+ },
+ "files": [
+ "dist"
+ ],
+ "svelte": "./dist/index.js"
+}
diff --git a/packages/svelte-state/src/lib/index.ts b/packages/svelte-state/src/lib/index.ts
new file mode 100644
index 0000000..95ff9d6
--- /dev/null
+++ b/packages/svelte-state/src/lib/index.ts
@@ -0,0 +1,5 @@
+export { MediaQueryPresets } from './mediaQueryPresets.svelte.js';
+export { PaginationState } from './paginationState.svelte.js';
+export { SelectionState } from './selectionState.svelte.js';
+export { TimerState } from './timerState.svelte.js';
+export { UniqueState } from './uniqueState.svelte.js';
diff --git a/packages/svelte-state/src/lib/mediaQueryPresets.svelte.ts b/packages/svelte-state/src/lib/mediaQueryPresets.svelte.ts
new file mode 100644
index 0000000..a10265c
--- /dev/null
+++ b/packages/svelte-state/src/lib/mediaQueryPresets.svelte.ts
@@ -0,0 +1,30 @@
+import { MediaQuery } from 'svelte/reactivity';
+
+export class MediaQueryPresets {
+ width(width: number) {
+ return new MediaQuery(`(min-width: ${width}px)`);
+ }
+
+ height(height: number) {
+ return new MediaQuery(`(min-height: ${height}px)`);
+ }
+
+ // Matches tailwind defaults (https://tailwindcss.com/docs/responsive-design)
+ smScreen = this.width(640);
+ mdScreen = this.width(768);
+ lgScreen = this.width(1024);
+ xlScreen = this.width(1280);
+ xxlScreen = this.width(1536);
+
+ screen = new MediaQuery('screen and (min-width: 0)'); // workaround for https://github.com/sveltejs/svelte/issues/15930
+ print = new MediaQuery('print and (min-width: 0)'); // workaround for https://github.com/sveltejs/svelte/issues/15930
+
+ dark = new MediaQuery('(prefers-color-scheme: dark)');
+ light = new MediaQuery('(prefers-color-scheme: light)');
+
+ motion = new MediaQuery('(prefers-reduced-motion: no-preference)');
+ motionReduce = new MediaQuery('(prefers-reduced-motion: reduce)');
+
+ landscape = new MediaQuery('(orientation: landscape)');
+ portrait = new MediaQuery('(orientation: portrait)');
+}
diff --git a/packages/svelte-state/src/lib/paginationState.svelte.ts b/packages/svelte-state/src/lib/paginationState.svelte.ts
new file mode 100644
index 0000000..5fdf83b
--- /dev/null
+++ b/packages/svelte-state/src/lib/paginationState.svelte.ts
@@ -0,0 +1,97 @@
+import { clamp } from '@layerstack/utils';
+
+export type PaginationOptions = {
+ /** Initial page */
+ page?: number;
+
+ /** Number of items per page */
+ perPage?: number;
+
+ /** Total number of items */
+ total?: number;
+};
+
+export class PaginationState {
+ #page: number;
+ #perPage: number;
+ #total: number;
+
+ constructor(options: PaginationOptions = {}) {
+ this.#page = options.page ?? 1;
+ this.#perPage = options.perPage ?? 25;
+ this.#total = options.total ?? 0;
+ }
+
+ get page() {
+ return this.#page;
+ }
+
+ set page(value: number) {
+ // Do not allow page to exceed bounds (ex. call nextPage() when on last page)
+ this.#page = clamp(value, 1, this.totalPages);
+ }
+
+ get perPage() {
+ return this.#perPage;
+ }
+
+ set perPage(value: number) {
+ this.#perPage = value;
+ }
+
+ get total() {
+ return this.#total;
+ }
+
+ set total(value: number) {
+ this.#total = value;
+ }
+
+ get totalPages() {
+ return Math.ceil(this.total / this.perPage);
+ }
+
+ get from() {
+ return Math.min(this.total, Math.max(0, (this.page - 1) * this.perPage + 1));
+ }
+
+ get to() {
+ return Math.min(this.total, this.page * this.perPage);
+ }
+
+ get isFirst() {
+ return this.page === 1;
+ }
+
+ get isLast() {
+ return this.page >= this.totalPages;
+ }
+
+ get hasPrevious() {
+ return this.page > 1 && this.totalPages > 0;
+ }
+
+ get hasNext() {
+ return this.page < this.totalPages;
+ }
+
+ nextPage = () => {
+ this.page = this.page + 1;
+ };
+
+ prevPage = () => {
+ this.page = this.page - 1;
+ };
+
+ firstPage = () => {
+ this.page = 1;
+ };
+
+ lastPage = () => {
+ this.page = Math.ceil(this.total / this.perPage);
+ };
+
+ slice(data: T[]) {
+ return data.slice((this.page - 1) * this.perPage, this.page * this.perPage);
+ }
+}
diff --git a/packages/svelte-state/src/lib/paginationState.test.svelte.ts b/packages/svelte-state/src/lib/paginationState.test.svelte.ts
new file mode 100644
index 0000000..84f600b
--- /dev/null
+++ b/packages/svelte-state/src/lib/paginationState.test.svelte.ts
@@ -0,0 +1,139 @@
+import { describe, it, expect } from 'vitest';
+
+import { PaginationState } from './paginationState.svelte.js';
+
+describe('PaginationState', () => {
+ it('should initialize with default values', () => {
+ const paginationState = new PaginationState();
+ expect(paginationState.page).toEqual(1);
+ expect(paginationState.perPage).toEqual(25);
+ expect(paginationState.total).toEqual(0);
+ expect(paginationState.totalPages).toEqual(0);
+ expect(paginationState.from).toEqual(0);
+ expect(paginationState.to).toEqual(0);
+ expect(paginationState.isFirst).toEqual(true);
+ expect(paginationState.isLast).toEqual(true);
+ expect(paginationState.hasPrevious).toEqual(false);
+ expect(paginationState.hasNext).toEqual(false);
+ });
+
+ it('should initialize with total only', () => {
+ const paginationState = new PaginationState({ total: 100 });
+ expect(paginationState.page).toEqual(1);
+ expect(paginationState.perPage).toEqual(25);
+ expect(paginationState.total).toEqual(100);
+ expect(paginationState.totalPages).toEqual(4);
+ expect(paginationState.from).toEqual(1);
+ expect(paginationState.to).toEqual(25);
+ expect(paginationState.isFirst).toEqual(true);
+ expect(paginationState.isLast).toEqual(false);
+ expect(paginationState.hasPrevious).toEqual(false);
+ expect(paginationState.hasNext).toEqual(true);
+ });
+
+ it('should initialize with page', () => {
+ const paginationState = new PaginationState({ page: 2, total: 100 });
+ expect(paginationState.page).toEqual(2);
+ expect(paginationState.perPage).toEqual(25);
+ expect(paginationState.total).toEqual(100);
+ expect(paginationState.totalPages).toEqual(4);
+ expect(paginationState.from).toEqual(26);
+ expect(paginationState.to).toEqual(50);
+ expect(paginationState.isFirst).toEqual(false);
+ expect(paginationState.isLast).toEqual(false);
+ expect(paginationState.hasPrevious).toEqual(true);
+ expect(paginationState.hasNext).toEqual(true);
+ });
+
+ it('should initialize with perPage', () => {
+ const paginationState = new PaginationState({ perPage: 10, total: 100 });
+ expect(paginationState.page).toEqual(1);
+ expect(paginationState.perPage).toEqual(10);
+ expect(paginationState.total).toEqual(100);
+ expect(paginationState.totalPages).toEqual(10);
+ expect(paginationState.from).toEqual(1);
+ expect(paginationState.to).toEqual(10);
+ expect(paginationState.isFirst).toEqual(true);
+ expect(paginationState.isLast).toEqual(false);
+ expect(paginationState.hasPrevious).toEqual(false);
+ expect(paginationState.hasNext).toEqual(true);
+ });
+
+ it('should increment page', () => {
+ const paginationState = new PaginationState({ total: 100 });
+ expect(paginationState.page).toEqual(1);
+ expect(paginationState.from).toEqual(1);
+ expect(paginationState.to).toEqual(25);
+ expect(paginationState.isFirst).toEqual(true);
+ expect(paginationState.isLast).toEqual(false);
+ expect(paginationState.hasPrevious).toEqual(false);
+ expect(paginationState.hasNext).toEqual(true);
+
+ paginationState.nextPage();
+ expect(paginationState.page).toEqual(2);
+ expect(paginationState.from).toEqual(26);
+ expect(paginationState.to).toEqual(50);
+ expect(paginationState.isFirst).toEqual(false);
+ expect(paginationState.isLast).toEqual(false);
+ expect(paginationState.hasPrevious).toEqual(true);
+ expect(paginationState.hasNext).toEqual(true);
+ });
+
+ it('should decrement page', () => {
+ const paginationState = new PaginationState({ page: 2, total: 100 });
+ expect(paginationState.page).toEqual(2);
+ expect(paginationState.from).toEqual(26);
+ expect(paginationState.to).toEqual(50);
+ expect(paginationState.isFirst).toEqual(false);
+ expect(paginationState.isLast).toEqual(false);
+ expect(paginationState.hasPrevious).toEqual(true);
+ expect(paginationState.hasNext).toEqual(true);
+
+ paginationState.prevPage();
+ expect(paginationState.page).toEqual(1);
+ expect(paginationState.from).toEqual(1);
+ expect(paginationState.to).toEqual(25);
+ expect(paginationState.isFirst).toEqual(true);
+ expect(paginationState.isLast).toEqual(false);
+ expect(paginationState.hasPrevious).toEqual(false);
+ expect(paginationState.hasNext).toEqual(true);
+ });
+
+ it('should clamp page', () => {
+ const paginationState = new PaginationState({ page: 4, total: 100 });
+ expect(paginationState.page).toEqual(4);
+ expect(paginationState.from).toEqual(76);
+ expect(paginationState.to).toEqual(100);
+ expect(paginationState.isFirst).toEqual(false);
+ expect(paginationState.isLast).toEqual(true);
+ expect(paginationState.hasPrevious).toEqual(true);
+ expect(paginationState.hasNext).toEqual(false);
+
+ paginationState.nextPage();
+ expect(paginationState.page).toEqual(4);
+ expect(paginationState.from).toEqual(76);
+ expect(paginationState.to).toEqual(100);
+ expect(paginationState.isFirst).toEqual(false);
+ expect(paginationState.isLast).toEqual(true);
+ expect(paginationState.hasPrevious).toEqual(true);
+ expect(paginationState.hasNext).toEqual(false);
+ });
+
+ it('should slice data', () => {
+ const data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
+ const paginationState = new PaginationState({ perPage: 5, total: data.length });
+ expect(paginationState.slice(data)).toEqual([1, 2, 3, 4, 5]);
+
+ paginationState.nextPage();
+ expect(paginationState.slice(data)).toEqual([6, 7, 8, 9, 10]);
+
+ paginationState.nextPage();
+ expect(paginationState.slice(data)).toEqual([6, 7, 8, 9, 10]); // clamped
+
+ paginationState.prevPage();
+ expect(paginationState.slice(data)).toEqual([1, 2, 3, 4, 5]);
+
+ paginationState.prevPage();
+ expect(paginationState.slice(data)).toEqual([1, 2, 3, 4, 5]); // clamped
+ });
+});
diff --git a/packages/svelte-state/src/lib/selectionState.svelte.ts b/packages/svelte-state/src/lib/selectionState.svelte.ts
new file mode 100644
index 0000000..171a723
--- /dev/null
+++ b/packages/svelte-state/src/lib/selectionState.svelte.ts
@@ -0,0 +1,132 @@
+import { UniqueState } from './uniqueState.svelte.js';
+
+export type SelectionOptions = {
+ /** Initial values */
+ initial?: T[];
+
+ /** All values to select when `toggleAll()` is called */
+ all?: T[];
+
+ /** Only allow 1 selected value */
+ single?: S;
+
+ /** Maximum number of values that can be selected */
+ max?: number;
+};
+
+export class SelectionState {
+ #initial: T[];
+ #selected: UniqueState;
+
+ all: Array;
+ single: S;
+ max: number | undefined;
+
+ constructor(options: SelectionOptions = {}) {
+ this.#initial = options.initial ?? [];
+ this.#selected = new UniqueState(this.#initial);
+
+ this.all = options.all ?? [];
+ this.single = (options.single ?? false) as S;
+ this.max = options.max;
+ }
+
+ get current(): S extends true ? T | null : T[] {
+ return (
+ this.single
+ ? (Array.from(this.#selected.current)[0] ?? null)
+ : Array.from(this.#selected.current)
+ ) as S extends true ? T | null : T[];
+ }
+
+ set current(values: T[] | T | null) {
+ if (Array.isArray(values)) {
+ if (this.max == null || values.length < this.max) {
+ this.#selected.clear();
+ this.#selected.addEach(values);
+ } else {
+ throw new Error(`Too many values selected. Current: ${values.length}, max: ${this.max}`);
+ }
+ } else if (values != null) {
+ // single
+ this.#selected.clear();
+ this.#selected.add(values);
+ } else {
+ // null
+ this.#selected.clear();
+ }
+ }
+
+ /** Check if a value is selected */
+ isSelected(value: T) {
+ return this.#selected.current.has(value);
+ }
+
+ /** Check if the selection is empty */
+ isEmpty() {
+ return this.#selected.current.size === 0;
+ }
+
+ /** Check if all values in `all` are selected */
+ isAllSelected() {
+ return this.all.every((v) => this.#selected.current.has(v));
+ }
+
+ /** Check if any values in `all` are selected */
+ isAnySelected() {
+ return this.all.some((v) => this.#selected.current.has(v));
+ }
+
+ /** Check if the selection is at the maximum */
+ isMaxSelected() {
+ return this.max != null ? this.#selected.current.size >= this.max : false;
+ }
+
+ /** Check if a value is disabled (max reached) */
+ isDisabled(value: T) {
+ return !this.isSelected(value) && this.isMaxSelected();
+ }
+
+ /** Clear all selected values */
+ clear() {
+ this.#selected.clear();
+ }
+
+ /** Reset to initial values */
+ reset() {
+ this.#selected.reset();
+ }
+
+ /** Toggle a value */
+ toggle(value: T) {
+ if (this.#selected.current.has(value)) {
+ // Remove
+ const prevSelected = [...this.#selected.current];
+ this.#selected.clear();
+ this.#selected.addEach(prevSelected.filter((v) => v != value));
+ } else if (this.single) {
+ // Replace
+ this.#selected.clear();
+ this.#selected.add(value);
+ } else {
+ // Add
+ if (this.max == null || this.#selected.current.size < this.max) {
+ return this.#selected.add(value);
+ }
+ }
+ }
+
+ /** Toggle all values */
+ toggleAll() {
+ let values: T[];
+ if (this.isAllSelected()) {
+ // Deselect all (within current `all`, for example page/filtered result)
+ values = [...this.#selected.current].filter((v) => !this.all.includes(v));
+ } else {
+ // Select all (`new Set()` will dedupe)
+ values = [...this.#selected.current, ...this.all];
+ }
+ this.#selected.clear();
+ this.#selected.addEach(values);
+ }
+}
diff --git a/packages/svelte-state/src/lib/selectionState.test.svelte.ts b/packages/svelte-state/src/lib/selectionState.test.svelte.ts
new file mode 100644
index 0000000..4f1f1be
--- /dev/null
+++ b/packages/svelte-state/src/lib/selectionState.test.svelte.ts
@@ -0,0 +1,111 @@
+import { describe, it, expect } from 'vitest';
+
+import { SelectionState } from './selectionState.svelte.js';
+
+describe('SelectionState', () => {
+ it('should be empty array by default', () => {
+ const selectionState = new SelectionState();
+ expect(selectionState.current).instanceOf(Array);
+ expect(selectionState.current.length).toEqual(0);
+ });
+
+ it('should contain initial values', () => {
+ const selectionState = new SelectionState({ initial: ['a', 'b', 'c'] });
+ expect(selectionState.current.length).toEqual(3);
+ expect(selectionState.current.includes('a')).toBe(true);
+ expect(selectionState.current.includes('b')).toBe(true);
+ expect(selectionState.current.includes('c')).toBe(true);
+ });
+
+ it('should clear', () => {
+ const selectionState = new SelectionState({ initial: ['a', 'b', 'c'] });
+ expect(selectionState.current.length).toEqual(3);
+
+ selectionState.clear();
+ expect(selectionState.current.length).toEqual(0);
+ });
+
+ it('should reset to initial values', () => {
+ const selectionState = new SelectionState({ initial: ['a', 'b', 'c'] });
+ expect(selectionState.current.length).toEqual(3);
+
+ selectionState.toggle('d');
+ expect(selectionState.current.length).toEqual(4);
+
+ selectionState.reset();
+ expect(selectionState.current.length).toEqual(3);
+ expect(Array.from(selectionState.current)).toEqual(['a', 'b', 'c']);
+
+ selectionState.clear();
+ expect(selectionState.current.length).toEqual(0);
+ selectionState.reset();
+ expect(selectionState.current.length).toEqual(3);
+ expect(Array.from(selectionState.current)).toEqual(['a', 'b', 'c']);
+ });
+
+ it('should toggle value', () => {
+ const selectionState = new SelectionState();
+ expect(selectionState.current.length).toEqual(0);
+
+ selectionState.toggle('a');
+ expect(selectionState.current.length).toEqual(1);
+ expect(selectionState.current.includes('a')).toBe(true);
+
+ selectionState.toggle('a');
+ expect(selectionState.current.length).toEqual(0);
+ expect(selectionState.current.includes('a')).toBe(false);
+ });
+
+ it('should toggle all', () => {
+ const selectionState = new SelectionState({ all: ['a', 'b', 'c'] });
+ expect(selectionState.current.length).toEqual(0);
+
+ selectionState.toggleAll();
+ expect(selectionState.current.length).toEqual(3);
+ expect(Array.from(selectionState.current)).toEqual(['a', 'b', 'c']);
+ });
+
+ it('should check if any values are selected', () => {
+ const selectionState = new SelectionState({ all: ['a', 'b', 'c'] });
+
+ expect(selectionState.isAnySelected()).toBe(false);
+ selectionState.toggle('a');
+ expect(selectionState.isAnySelected()).toBe(true);
+ });
+
+ it('should check if all values are selected', () => {
+ const selectionState = new SelectionState({ all: ['a', 'b', 'c'] });
+
+ expect(selectionState.isAllSelected()).toBe(false);
+ selectionState.toggle('a');
+ expect(selectionState.isAllSelected()).toBe(false);
+ selectionState.toggle('b');
+ expect(selectionState.isAllSelected()).toBe(false);
+ selectionState.toggle('c');
+ expect(selectionState.isAllSelected()).toBe(true);
+ });
+
+ it('should limit max', () => {
+ const selectionState = new SelectionState({ max: 2 });
+ expect(selectionState.max).toEqual(2);
+
+ expect(selectionState.isMaxSelected()).toBe(false);
+ selectionState.toggle('a');
+ selectionState.toggle('b');
+ selectionState.toggle('c');
+ expect(selectionState.current.length).toEqual(2);
+ expect(Array.from(selectionState.current)).toEqual(['a', 'b']);
+ expect(selectionState.isMaxSelected()).toBe(true);
+ });
+
+ it('should check if value is disabled', () => {
+ const selectionState = new SelectionState({ max: 2 });
+ expect(selectionState.max).toEqual(2);
+
+ selectionState.toggle('a');
+ selectionState.toggle('b');
+ expect(selectionState.isDisabled('a')).toBe(false);
+ expect(selectionState.isDisabled('b')).toBe(false);
+ expect(selectionState.isDisabled('c')).toBe(true);
+ });
+});
diff --git a/packages/svelte-state/src/lib/timerState.svelte.ts b/packages/svelte-state/src/lib/timerState.svelte.ts
new file mode 100644
index 0000000..7d220a2
--- /dev/null
+++ b/packages/svelte-state/src/lib/timerState.svelte.ts
@@ -0,0 +1,96 @@
+export type TimerOptions = {
+ initial?: T;
+
+ /** Delay between ticks in milliseconds
+ * @default 1000
+ */
+ delay?: number;
+
+ /** Start disabled (manually call `start()`)
+ * @default false
+ */
+ disabled?: boolean;
+
+ /** Called on each interval tick. Returned value is used to update store value, defaulting to current Date */
+ tick?: (current: T | null) => any;
+};
+
+/**
+ * Subscribable timer/interval state
+ */
+export class TimerState {
+ #initial: T | null;
+ #current: T | null = $state(null);
+ #intervalId: ReturnType | null = null;
+ #delay: number;
+ #disabled: boolean;
+ #running = $state(false);
+ #tick: (current: T | null) => any;
+
+ constructor(options: TimerOptions = {}) {
+ this.#initial = options.initial ?? null;
+ this.#current = this.#initial;
+ this.#delay = options.delay ?? 1000;
+ this.#disabled = options.disabled ?? false;
+ this.#tick = options.tick ?? (() => new Date());
+
+ if (!this.#disabled) {
+ this.start();
+ }
+
+ $effect(() => {
+ return this.stop;
+ });
+ }
+
+ get current() {
+ return this.#current;
+ }
+
+ set current(value: T | null) {
+ if (!this.#disabled) {
+ this.start();
+ }
+
+ this.#current = value;
+ }
+
+ get delay() {
+ return this.#delay;
+ }
+
+ set delay(value: number) {
+ const isRunning = this.#running;
+ this.stop();
+ this.#delay = value;
+
+ if (isRunning) {
+ // Restart if was running
+ this.start();
+ }
+ }
+
+ start = () => {
+ stop();
+ this.#intervalId = setInterval(() => {
+ this.#current = this.#tick(this.#current) ?? new Date();
+ }, this.#delay);
+ this.#running = true;
+ };
+
+ stop = () => {
+ if (this.#intervalId) {
+ clearInterval(this.#intervalId);
+ }
+ this.#intervalId = null;
+ this.#running = false;
+ };
+
+ reset = () => {
+ return (this.#current = this.#initial);
+ };
+
+ get running() {
+ return this.#running;
+ }
+}
diff --git a/packages/svelte-state/src/lib/uniqueState.svelte.ts b/packages/svelte-state/src/lib/uniqueState.svelte.ts
new file mode 100644
index 0000000..971f9bb
--- /dev/null
+++ b/packages/svelte-state/src/lib/uniqueState.svelte.ts
@@ -0,0 +1,52 @@
+import { SvelteSet } from 'svelte/reactivity';
+
+/**
+ * State to manage unique values using `SvelteSet` with improved
+ * ergonomics and better control of updates
+ */
+export class UniqueState {
+ #initial: T[];
+ current: SvelteSet;
+
+ constructor(initial?: T[]) {
+ this.#initial = initial ?? [];
+ this.current = new SvelteSet(initial ?? []);
+ }
+
+ /** Clear all values */
+ clear() {
+ this.current.clear();
+ }
+
+ /** Reset to initial values */
+ reset() {
+ this.clear();
+ this.addEach(this.#initial);
+ }
+
+ /** Add a value */
+ add(value: T) {
+ this.current.add(value);
+ }
+
+ /** Add multiple values */
+ addEach(values: T[]) {
+ for (const value of values) {
+ this.current.add(value);
+ }
+ }
+
+ /** Remove a value */
+ delete(value: T) {
+ this.current.delete(value);
+ }
+
+ /** Toggle a value */
+ toggle(value: T) {
+ if (this.current.has(value)) {
+ this.current.delete(value);
+ } else {
+ this.current.add(value);
+ }
+ }
+}
diff --git a/packages/svelte-state/src/lib/uniqueState.test.svelte.ts b/packages/svelte-state/src/lib/uniqueState.test.svelte.ts
new file mode 100644
index 0000000..56f719f
--- /dev/null
+++ b/packages/svelte-state/src/lib/uniqueState.test.svelte.ts
@@ -0,0 +1,68 @@
+import { describe, it, expect } from 'vitest';
+
+import { UniqueState } from './uniqueState.svelte.js';
+
+describe('UniqueState', () => {
+ it('should be empty set by default', () => {
+ const uniqueState = new UniqueState();
+ expect(uniqueState.current).instanceOf(Set);
+ expect(uniqueState.current.size).toEqual(0);
+ });
+
+ it('should contain initial values', () => {
+ const uniqueState = new UniqueState(['a', 'b', 'c']);
+ expect(uniqueState.current.size).toEqual(3);
+ expect(uniqueState.current.has('a')).toBe(true);
+ expect(uniqueState.current.has('b')).toBe(true);
+ expect(uniqueState.current.has('c')).toBe(true);
+ });
+
+ it('should toggle value', () => {
+ const uniqueState = new UniqueState();
+ expect(uniqueState.current.size).toEqual(0);
+
+ uniqueState.toggle('a');
+ expect(uniqueState.current.size).toEqual(1);
+ expect(uniqueState.current.has('a')).toBe(true);
+
+ uniqueState.toggle('a');
+ expect(uniqueState.current.size).toEqual(0);
+ expect(uniqueState.current.has('a')).toBe(false);
+ });
+
+ it('should add multiple values', () => {
+ const uniqueState = new UniqueState();
+
+ uniqueState.addEach(['a', 'b', 'c']);
+ expect(uniqueState.current.size).toEqual(3);
+ expect(uniqueState.current.has('a')).toBe(true);
+ expect(uniqueState.current.has('b')).toBe(true);
+ expect(uniqueState.current.has('c')).toBe(true);
+ });
+
+ it('should clear', () => {
+ const uniqueState = new UniqueState(['a', 'b', 'c']);
+ expect(uniqueState.current.size).toEqual(3);
+
+ uniqueState.clear();
+ expect(uniqueState.current.size).toEqual(0);
+ });
+
+ it('should reset to initial values', () => {
+ const uniqueState = new UniqueState(['a', 'b', 'c']);
+ expect(uniqueState.current.size).toEqual(3);
+
+ uniqueState.add('d');
+ expect(uniqueState.current.size).toEqual(4);
+
+ uniqueState.reset();
+ expect(uniqueState.current.size).toEqual(3);
+ expect(Array.from(uniqueState.current)).toEqual(['a', 'b', 'c']);
+
+ uniqueState.clear();
+ expect(uniqueState.current.size).toEqual(0);
+ uniqueState.reset();
+ expect(uniqueState.current.size).toEqual(3);
+ expect(Array.from(uniqueState.current)).toEqual(['a', 'b', 'c']);
+ });
+});
diff --git a/packages/svelte-state/tsconfig.build.json b/packages/svelte-state/tsconfig.build.json
new file mode 100644
index 0000000..eeccde4
--- /dev/null
+++ b/packages/svelte-state/tsconfig.build.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["./src/**/*.test.ts"]
+}
diff --git a/packages/svelte-state/tsconfig.json b/packages/svelte-state/tsconfig.json
new file mode 100644
index 0000000..8557be8
--- /dev/null
+++ b/packages/svelte-state/tsconfig.json
@@ -0,0 +1,17 @@
+{
+ "compilerOptions": {
+ "noErrorTruncation": true,
+ "incremental": true,
+ "outDir": "./dist",
+ "target": "esnext",
+ "lib": ["es2021", "DOM"],
+ "sourceMap": true,
+ "alwaysStrict": true,
+ "strict": true,
+ "module": "NodeNext",
+ "moduleResolution": "NodeNext",
+ "declaration": true,
+ "declarationMap": true
+ },
+ "include": ["./src/**/*.ts"]
+}
diff --git a/packages/svelte-state/vite.config.js b/packages/svelte-state/vite.config.js
new file mode 100644
index 0000000..66860a6
--- /dev/null
+++ b/packages/svelte-state/vite.config.js
@@ -0,0 +1,7 @@
+import { defineConfig } from 'vitest/config';
+
+export default defineConfig({
+ test: {
+ include: ['src/**/*.{test,test.svelte,spec}.{js,ts}'],
+ },
+});
diff --git a/packages/svelte-stores/CHANGELOG.md b/packages/svelte-stores/CHANGELOG.md
index 9fb21f1..9509b36 100644
--- a/packages/svelte-stores/CHANGELOG.md
+++ b/packages/svelte-stores/CHANGELOG.md
@@ -1,5 +1,130 @@
# @layerstack/svelte-stores
+## 1.0.2-next.16
+
+### Patch Changes
+
+- Updated dependencies [[`d43c010`](https://github.com/techniq/layerstack/commit/d43c010d45681df2c78693e59de4915ce57b3dd9), [`73c58ed`](https://github.com/techniq/layerstack/commit/73c58edd94931b5774262fed1ecfbd8ba3bd087a), [`73c58ed`](https://github.com/techniq/layerstack/commit/73c58edd94931b5774262fed1ecfbd8ba3bd087a)]:
+ - @layerstack/utils@2.0.0-next.16
+
+## 1.0.2-next.15
+
+### Patch Changes
+
+- Updated dependencies [[`b7f39f7`](https://github.com/techniq/layerstack/commit/b7f39f7cfd3b58bf12e51f75e0b8bfda7a833899)]:
+ - @layerstack/utils@2.0.0-next.15
+
+## 1.0.2-next.14
+
+### Patch Changes
+
+- Updated dependencies [[`28027b3`](https://github.com/techniq/layerstack/commit/28027b3f71014e7926e779554a1d9cbd0ad65e07)]:
+ - @layerstack/utils@2.0.0-next.14
+
+## 1.0.2-next.13
+
+### Patch Changes
+
+- Updated dependencies [[`e366ee7`](https://github.com/techniq/layerstack/commit/e366ee7f43cc1340aafeff7021eee2714b590733)]:
+ - @layerstack/utils@2.0.0-next.13
+
+## 1.0.2-next.12
+
+### Patch Changes
+
+- chore: Remove unused deps ([#76](https://github.com/techniq/layerstack/pull/76))
+
+- Updated dependencies [[`49ccf88`](https://github.com/techniq/layerstack/commit/49ccf8863b5f6402eb4caa72b53380611ae80ad1), [`1ebd4db`](https://github.com/techniq/layerstack/commit/1ebd4db5b1fb3d3d820312aa1aa5a84d7926200e)]:
+ - @layerstack/utils@2.0.0-next.12
+
+## 1.0.2-next.11
+
+### Patch Changes
+
+- Updated dependencies [[`ad4c34f`](https://github.com/techniq/layerstack/commit/ad4c34f8db8e67a702a317e0056559ac98ac61d5), [`7c986f8`](https://github.com/techniq/layerstack/commit/7c986f8401575c99709788f2feca6070fdee44b8)]:
+ - @layerstack/utils@2.0.0-next.11
+
+## 1.0.2-next.10
+
+### Patch Changes
+
+- Updated dependencies [[`32eb536`](https://github.com/techniq/layerstack/commit/32eb5367e8a9e545026c6254827547b374d1db94)]:
+ - @layerstack/utils@2.0.0-next.10
+
+## 1.0.2-next.9
+
+### Patch Changes
+
+- refactor: Replace `date-fns` usage with new date utils (based on d3-time) to reduce bundle size ([#71](https://github.com/techniq/layerstack/pull/71))
+
+- Updated dependencies [[`abd845a`](https://github.com/techniq/layerstack/commit/abd845a53b4b1cdc3a61a6503b6cb4fd144d35a5), [`abd845a`](https://github.com/techniq/layerstack/commit/abd845a53b4b1cdc3a61a6503b6cb4fd144d35a5)]:
+ - @layerstack/utils@2.0.0-next.9
+
+## 1.0.2-next.8
+
+### Patch Changes
+
+- Updated dependencies [[`e47ed35`](https://github.com/techniq/layerstack/commit/e47ed359ae04ce24d70f3ab5369366f77cdc93d6)]:
+ - @layerstack/utils@2.0.0-next.8
+
+## 1.0.2-next.7
+
+### Patch Changes
+
+- Updated dependencies [[`a6df412`](https://github.com/techniq/layerstack/commit/a6df412a42636fead1b1ce4f92d114ecc6b1d727)]:
+ - @layerstack/utils@2.0.0-next.7
+
+## 1.0.2-next.6
+
+### Patch Changes
+
+- Updated dependencies [[`23651ad`](https://github.com/techniq/layerstack/commit/23651adc92ef675c3fedb4fbc6fa3d976df57cb4)]:
+ - @layerstack/utils@2.0.0-next.6
+
+## 1.0.2-next.5
+
+### Patch Changes
+
+- Updated dependencies [[`7642289`](https://github.com/techniq/layerstack/commit/7642289e1a99cf8092f2695491fd78b35a796bff)]:
+ - @layerstack/utils@2.0.0-next.5
+
+## 1.0.2-next.4
+
+### Patch Changes
+
+- Updated dependencies [[`ab0bb08`](https://github.com/techniq/layerstack/commit/ab0bb086257e281aa10ef13a3296aedf95c777f9), [`48b0aea`](https://github.com/techniq/layerstack/commit/48b0aead52ca6aeb2135a5297f5d774c8b510e12), [`38c4443`](https://github.com/techniq/layerstack/commit/38c44438c2454d3ffe328be15c1077987f64ee24), [`eaca635`](https://github.com/techniq/layerstack/commit/eaca6356ccd5288950aca64b8082ef18df2757ec)]:
+ - @layerstack/utils@2.0.0-next.4
+
+## 1.0.2-next.3
+
+### Patch Changes
+
+- Updated dependencies [[`4ed65a7`](https://github.com/techniq/layerstack/commit/4ed65a76562db9af2d18a196a2ba9e58f959aa5c)]:
+ - @layerstack/utils@2.0.0-next.3
+
+## 1.0.2-next.2
+
+### Patch Changes
+
+- Updated dependencies [[`955e07b`](https://github.com/techniq/layerstack/commit/955e07b5aed62acd8afba10f9eaa68b90d72bb74)]:
+ - @layerstack/utils@1.1.0-next.2
+
+## 1.0.2-next.1
+
+### Patch Changes
+
+- Update dependencies ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- Updated dependencies [[`b7ca80b`](https://github.com/techniq/layerstack/commit/b7ca80b6a8a07c53ec4a99864ec6b9fd1ecab0b4)]:
+ - @layerstack/utils@1.1.0-next.1
+
+## 1.0.2-next.0
+
+### Patch Changes
+
+- Updated dependencies [[`6cdcb26`](https://github.com/techniq/layerstack/commit/6cdcb26cabd0539cee2885efbaa39e7787a34114), [`c6bb443`](https://github.com/techniq/layerstack/commit/c6bb443d12ee12bd69417dcfa5880b6bf78c9f09), [`c13e65e`](https://github.com/techniq/layerstack/commit/c13e65e059d690cbc282635f6e48a27d715e5997)]:
+ - @layerstack/utils@1.1.0-next.0
+
## 1.0.2
### Patch Changes
diff --git a/packages/svelte-stores/package.json b/packages/svelte-stores/package.json
index 94aa1ac..2e3dbfb 100644
--- a/packages/svelte-stores/package.json
+++ b/packages/svelte-stores/package.json
@@ -4,7 +4,7 @@
"author": "Sean Lynch ",
"license": "MIT",
"repository": "techniq/layerstack",
- "version": "1.0.2",
+ "version": "1.0.2-next.16",
"scripts": {
"dev": "rimraf dist && tsc -p tsconfig.build.json --watch",
"build": "rimraf dist && tsc -p tsconfig.build.json",
@@ -21,28 +21,24 @@
"@sveltejs/kit": "^2.21.0",
"@sveltejs/package": "^2.3.11",
"@sveltejs/vite-plugin-svelte": "^5.0.3",
- "@types/d3-array": "^3.2.1",
"@types/lodash-es": "^4.17.12",
- "@vitest/coverage-v8": "^3.0.7",
- "prettier": "^3.5.2",
+ "prettier": "^3.5.3",
"prettier-plugin-svelte": "^3.3.3",
"rimraf": "6.0.1",
- "svelte": "^5.20.4",
- "svelte-check": "^4.1.4",
- "svelte2tsx": "^0.7.34",
+ "svelte": "^5.28.2",
+ "svelte-check": "^4.1.6",
+ "svelte2tsx": "^0.7.36",
"tslib": "^2.8.1",
- "typescript": "^5.7.3",
+ "typescript": "^5.8.3",
"vite": "^6.3.5",
"vitest": "^3.1.3"
},
"type": "module",
"dependencies": {
"@layerstack/utils": "workspace:*",
- "d3-array": "^3.2.4",
- "date-fns": "^4.1.0",
"immer": "^10.1.1",
"lodash-es": "^4.17.21",
- "zod": "^3.24.2"
+ "zod": "^3.24.3"
},
"main": "./dist/index.js",
"exports": {
diff --git a/packages/svelte-stores/src/lib/localStore.ts b/packages/svelte-stores/src/lib/localStore.ts
index 47da353..96f0986 100644
--- a/packages/svelte-stores/src/lib/localStore.ts
+++ b/packages/svelte-stores/src/lib/localStore.ts
@@ -1,5 +1,4 @@
import { writable } from 'svelte/store';
-import { isFunction } from 'lodash-es';
import { parse, stringify } from '@layerstack/utils';
import { browser } from '@layerstack/utils/env';
@@ -42,10 +41,11 @@ function localStore(key: string, initialValue: Value, options?: LocalStor
? expireObject(previousExpiry, previousExpiry)
: previousExpiry;
- const expiry = isFunction(options?.expiry)
- ? // @ts-expect-error
- options?.expiry(prunedPreviousExpiry) // Update expiry on write
- : options?.expiry;
+ const expiry =
+ typeof options?.expiry === 'function'
+ ? // @ts-expect-error
+ options?.expiry(prunedPreviousExpiry) // Update expiry on write
+ : options?.expiry;
previousExpiry = expiry;
localStorage.setItem(key, stringify({ value: val, expiry }));
diff --git a/packages/svelte-table/CHANGELOG.md b/packages/svelte-table/CHANGELOG.md
index 8f82406..7dc2113 100644
--- a/packages/svelte-table/CHANGELOG.md
+++ b/packages/svelte-table/CHANGELOG.md
@@ -1,5 +1,147 @@
# @layerstack/svelte-table
+## 1.0.1-next.16
+
+### Patch Changes
+
+- Updated dependencies [[`d43c010`](https://github.com/techniq/layerstack/commit/d43c010d45681df2c78693e59de4915ce57b3dd9), [`73c58ed`](https://github.com/techniq/layerstack/commit/73c58edd94931b5774262fed1ecfbd8ba3bd087a), [`73c58ed`](https://github.com/techniq/layerstack/commit/73c58edd94931b5774262fed1ecfbd8ba3bd087a)]:
+ - @layerstack/utils@2.0.0-next.16
+ - @layerstack/svelte-actions@1.0.1-next.16
+
+## 1.0.1-next.15
+
+### Patch Changes
+
+- Updated dependencies [[`b7f39f7`](https://github.com/techniq/layerstack/commit/b7f39f7cfd3b58bf12e51f75e0b8bfda7a833899)]:
+ - @layerstack/utils@2.0.0-next.15
+ - @layerstack/svelte-actions@1.0.1-next.15
+
+## 1.0.1-next.14
+
+### Patch Changes
+
+- Updated dependencies [[`28027b3`](https://github.com/techniq/layerstack/commit/28027b3f71014e7926e779554a1d9cbd0ad65e07)]:
+ - @layerstack/utils@2.0.0-next.14
+ - @layerstack/svelte-actions@1.0.1-next.14
+
+## 1.0.1-next.13
+
+### Patch Changes
+
+- Updated dependencies [[`e366ee7`](https://github.com/techniq/layerstack/commit/e366ee7f43cc1340aafeff7021eee2714b590733)]:
+ - @layerstack/utils@2.0.0-next.13
+ - @layerstack/svelte-actions@1.0.1-next.13
+
+## 1.0.1-next.12
+
+### Patch Changes
+
+- chore: Remove unused deps ([#76](https://github.com/techniq/layerstack/pull/76))
+
+- Updated dependencies [[`49ccf88`](https://github.com/techniq/layerstack/commit/49ccf8863b5f6402eb4caa72b53380611ae80ad1), [`1ebd4db`](https://github.com/techniq/layerstack/commit/1ebd4db5b1fb3d3d820312aa1aa5a84d7926200e)]:
+ - @layerstack/svelte-actions@1.0.1-next.12
+ - @layerstack/utils@2.0.0-next.12
+
+## 1.0.1-next.11
+
+### Patch Changes
+
+- Updated dependencies [[`ad4c34f`](https://github.com/techniq/layerstack/commit/ad4c34f8db8e67a702a317e0056559ac98ac61d5), [`7c986f8`](https://github.com/techniq/layerstack/commit/7c986f8401575c99709788f2feca6070fdee44b8)]:
+ - @layerstack/utils@2.0.0-next.11
+ - @layerstack/svelte-actions@1.0.1-next.11
+
+## 1.0.1-next.10
+
+### Patch Changes
+
+- Updated dependencies [[`32eb536`](https://github.com/techniq/layerstack/commit/32eb5367e8a9e545026c6254827547b374d1db94)]:
+ - @layerstack/utils@2.0.0-next.10
+ - @layerstack/svelte-actions@1.0.1-next.10
+
+## 1.0.1-next.9
+
+### Patch Changes
+
+- refactor: Replace `date-fns` usage with new date utils (based on d3-time) to reduce bundle size ([#71](https://github.com/techniq/layerstack/pull/71))
+
+- Updated dependencies [[`abd845a`](https://github.com/techniq/layerstack/commit/abd845a53b4b1cdc3a61a6503b6cb4fd144d35a5), [`abd845a`](https://github.com/techniq/layerstack/commit/abd845a53b4b1cdc3a61a6503b6cb4fd144d35a5)]:
+ - @layerstack/svelte-actions@1.0.1-next.9
+ - @layerstack/utils@2.0.0-next.9
+
+## 1.0.1-next.8
+
+### Patch Changes
+
+- Updated dependencies [[`e47ed35`](https://github.com/techniq/layerstack/commit/e47ed359ae04ce24d70f3ab5369366f77cdc93d6)]:
+ - @layerstack/utils@2.0.0-next.8
+ - @layerstack/svelte-actions@1.0.1-next.8
+
+## 1.0.1-next.7
+
+### Patch Changes
+
+- Updated dependencies [[`a6df412`](https://github.com/techniq/layerstack/commit/a6df412a42636fead1b1ce4f92d114ecc6b1d727)]:
+ - @layerstack/utils@2.0.0-next.7
+ - @layerstack/svelte-actions@1.0.1-next.7
+
+## 1.0.1-next.6
+
+### Patch Changes
+
+- Updated dependencies [[`23651ad`](https://github.com/techniq/layerstack/commit/23651adc92ef675c3fedb4fbc6fa3d976df57cb4)]:
+ - @layerstack/utils@2.0.0-next.6
+ - @layerstack/svelte-actions@1.0.1-next.6
+
+## 1.0.1-next.5
+
+### Patch Changes
+
+- Updated dependencies [[`7642289`](https://github.com/techniq/layerstack/commit/7642289e1a99cf8092f2695491fd78b35a796bff)]:
+ - @layerstack/utils@2.0.0-next.5
+ - @layerstack/svelte-actions@1.0.1-next.5
+
+## 1.0.1-next.4
+
+### Patch Changes
+
+- Updated dependencies [[`ab0bb08`](https://github.com/techniq/layerstack/commit/ab0bb086257e281aa10ef13a3296aedf95c777f9), [`48b0aea`](https://github.com/techniq/layerstack/commit/48b0aead52ca6aeb2135a5297f5d774c8b510e12), [`38c4443`](https://github.com/techniq/layerstack/commit/38c44438c2454d3ffe328be15c1077987f64ee24), [`eaca635`](https://github.com/techniq/layerstack/commit/eaca6356ccd5288950aca64b8082ef18df2757ec)]:
+ - @layerstack/utils@2.0.0-next.4
+ - @layerstack/svelte-actions@1.0.1-next.4
+
+## 1.0.1-next.3
+
+### Patch Changes
+
+- Updated dependencies [[`4ed65a7`](https://github.com/techniq/layerstack/commit/4ed65a76562db9af2d18a196a2ba9e58f959aa5c)]:
+ - @layerstack/utils@2.0.0-next.3
+ - @layerstack/svelte-actions@1.0.1-next.3
+
+## 1.0.1-next.2
+
+### Patch Changes
+
+- Updated dependencies [[`955e07b`](https://github.com/techniq/layerstack/commit/955e07b5aed62acd8afba10f9eaa68b90d72bb74)]:
+ - @layerstack/utils@1.1.0-next.2
+ - @layerstack/svelte-actions@1.0.1-next.2
+
+## 1.0.1-next.1
+
+### Patch Changes
+
+- Update dependencies ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- Updated dependencies [[`b7ca80b`](https://github.com/techniq/layerstack/commit/b7ca80b6a8a07c53ec4a99864ec6b9fd1ecab0b4)]:
+ - @layerstack/svelte-actions@1.0.1-next.1
+ - @layerstack/utils@1.1.0-next.1
+
+## 1.0.1-next.0
+
+### Patch Changes
+
+- Updated dependencies [[`6cdcb26`](https://github.com/techniq/layerstack/commit/6cdcb26cabd0539cee2885efbaa39e7787a34114), [`c6bb443`](https://github.com/techniq/layerstack/commit/c6bb443d12ee12bd69417dcfa5880b6bf78c9f09), [`c13e65e`](https://github.com/techniq/layerstack/commit/c13e65e059d690cbc282635f6e48a27d715e5997)]:
+ - @layerstack/utils@1.1.0-next.0
+ - @layerstack/svelte-actions@1.0.1-next.0
+
## 1.0.1
### Patch Changes
diff --git a/packages/svelte-table/package.json b/packages/svelte-table/package.json
index f8fe6ce..e225e88 100644
--- a/packages/svelte-table/package.json
+++ b/packages/svelte-table/package.json
@@ -4,7 +4,7 @@
"author": "Sean Lynch ",
"license": "MIT",
"repository": "techniq/layerstack",
- "version": "1.0.1",
+ "version": "1.0.1-next.16",
"scripts": {
"dev": "rimraf dist && tsc -p tsconfig.build.json --watch",
"build": "rimraf dist && tsc -p tsconfig.build.json",
@@ -22,15 +22,14 @@
"@sveltejs/vite-plugin-svelte": "^5.0.3",
"@types/d3-array": "^3.2.1",
"@types/lodash-es": "^4.17.12",
- "@vitest/coverage-v8": "^3.0.7",
- "prettier": "^3.5.2",
+ "prettier": "^3.5.3",
"prettier-plugin-svelte": "^3.3.3",
"rimraf": "6.0.1",
- "svelte": "^5.20.4",
- "svelte-check": "^4.1.4",
- "svelte2tsx": "^0.7.34",
+ "svelte": "^5.28.2",
+ "svelte-check": "^4.1.6",
+ "svelte2tsx": "^0.7.36",
"tslib": "^2.8.1",
- "typescript": "^5.7.3",
+ "typescript": "^5.8.3",
"vite": "^6.3.5",
"vitest": "^3.1.3"
},
@@ -39,7 +38,6 @@
"@layerstack/svelte-actions": "workspace:*",
"@layerstack/utils": "workspace:*",
"d3-array": "^3.2.4",
- "date-fns": "^4.1.0",
"lodash-es": "^4.17.21"
},
"main": "./dist/index.js",
diff --git a/packages/svelte-table/src/lib/stores.ts b/packages/svelte-table/src/lib/stores.ts
index 3761993..169613d 100644
--- a/packages/svelte-table/src/lib/stores.ts
+++ b/packages/svelte-table/src/lib/stores.ts
@@ -1,6 +1,5 @@
import { writable } from 'svelte/store';
import type { ComponentEvents } from 'svelte';
-import { isFunction } from 'lodash-es';
import { index } from 'd3-array';
import { sortFunc } from '@layerstack/utils';
@@ -78,7 +77,7 @@ function createState(column: ColumnDef, props?: TableOrderProps, prevState?: Tab
: 'asc';
let handler: SortFunc | undefined = undefined;
- if (isFunction(column.orderBy)) {
+ if (typeof column.orderBy === 'function') {
handler = column.orderBy;
} else if (typeof column.orderBy === 'string') {
handler = sortFunc(column.orderBy, direction);
diff --git a/packages/svelte-table/src/lib/utils.ts b/packages/svelte-table/src/lib/utils.ts
index 57cf341..b158697 100644
--- a/packages/svelte-table/src/lib/utils.ts
+++ b/packages/svelte-table/src/lib/utils.ts
@@ -1,7 +1,6 @@
-import { isFunction, get } from 'lodash-es';
-import { parseISO } from 'date-fns';
+import { get } from 'lodash-es';
-import { PeriodType } from '@layerstack/utils';
+import { PeriodType, parseDate } from '@layerstack/utils';
import type { ColumnDef } from './types.js';
@@ -100,7 +99,7 @@ export function getCellHeader(column: ColumnDef) {
export function getCellValue(column: ColumnDef, rowData: any, rowIndex?: number) {
let value = undefined;
- if (isFunction(column.value)) {
+ if (typeof column.value === 'function') {
value = column.value?.(rowData, rowIndex);
}
@@ -110,7 +109,7 @@ export function getCellValue(column: ColumnDef, rowData: any, rowIndex?: number)
if (
typeof value === 'string' &&
- !isFunction(column.format) &&
+ typeof column.format !== 'function' &&
(column.format ?? 'none') in PeriodType
) {
// Convert date string to Date instance
@@ -118,7 +117,7 @@ export function getCellValue(column: ColumnDef, rowData: any, rowIndex?: number)
// TODO: Should we handle date-only strings different?
// value = new Date(value);
// console.log({ column: column.name, value });
- value = parseISO(value);
+ value = parseDate(value);
}
return value;
diff --git a/packages/tailwind/.prettierignore b/packages/tailwind/.prettierignore
index 17a42fc..a114bd1 100644
--- a/packages/tailwind/.prettierignore
+++ b/packages/tailwind/.prettierignore
@@ -13,3 +13,6 @@ coverage/
pnpm-lock.yaml
package-lock.json
yarn.lock
+
+# Ignore generated files
+src/lib/css/themes/generated/*
diff --git a/packages/tailwind/CHANGELOG.md b/packages/tailwind/CHANGELOG.md
index 4babf97..2245e39 100644
--- a/packages/tailwind/CHANGELOG.md
+++ b/packages/tailwind/CHANGELOG.md
@@ -1,5 +1,158 @@
# @layerstack/tailwind
+## 2.0.0-next.19
+
+### Patch Changes
+
+- Updated dependencies [[`d43c010`](https://github.com/techniq/layerstack/commit/d43c010d45681df2c78693e59de4915ce57b3dd9), [`73c58ed`](https://github.com/techniq/layerstack/commit/73c58edd94931b5774262fed1ecfbd8ba3bd087a), [`73c58ed`](https://github.com/techniq/layerstack/commit/73c58edd94931b5774262fed1ecfbd8ba3bd087a)]:
+ - @layerstack/utils@2.0.0-next.16
+
+## 2.0.0-next.18
+
+### Patch Changes
+
+- Updated dependencies [[`b7f39f7`](https://github.com/techniq/layerstack/commit/b7f39f7cfd3b58bf12e51f75e0b8bfda7a833899)]:
+ - @layerstack/utils@2.0.0-next.15
+
+## 2.0.0-next.17
+
+### Patch Changes
+
+- Updated dependencies [[`28027b3`](https://github.com/techniq/layerstack/commit/28027b3f71014e7926e779554a1d9cbd0ad65e07)]:
+ - @layerstack/utils@2.0.0-next.14
+
+## 2.0.0-next.16
+
+### Patch Changes
+
+- Updated dependencies [[`e366ee7`](https://github.com/techniq/layerstack/commit/e366ee7f43cc1340aafeff7021eee2714b590733)]:
+ - @layerstack/utils@2.0.0-next.13
+
+## 2.0.0-next.15
+
+### Patch Changes
+
+- fix: Split theme generation CLI from runtime theme utils ([#80](https://github.com/techniq/layerstack/pull/80))
+
+## 2.0.0-next.14
+
+### Patch Changes
+
+- fix: Change `culori` dep to devDependencies (only used for generation and not runtime) ([#79](https://github.com/techniq/layerstack/pull/79))
+
+- fix: Change `tailwindcss` dep to devDependecies ([#79](https://github.com/techniq/layerstack/pull/79))
+
+- Updated dependencies [[`49ccf88`](https://github.com/techniq/layerstack/commit/49ccf8863b5f6402eb4caa72b53380611ae80ad1), [`1ebd4db`](https://github.com/techniq/layerstack/commit/1ebd4db5b1fb3d3d820312aa1aa5a84d7926200e)]:
+ - @layerstack/utils@2.0.0-next.12
+
+## 2.0.0-next.13
+
+### Patch Changes
+
+- Updated dependencies [[`ad4c34f`](https://github.com/techniq/layerstack/commit/ad4c34f8db8e67a702a317e0056559ac98ac61d5), [`7c986f8`](https://github.com/techniq/layerstack/commit/7c986f8401575c99709788f2feca6070fdee44b8)]:
+ - @layerstack/utils@2.0.0-next.11
+
+## 2.0.0-next.12
+
+### Patch Changes
+
+- Updated dependencies [[`32eb536`](https://github.com/techniq/layerstack/commit/32eb5367e8a9e545026c6254827547b374d1db94)]:
+ - @layerstack/utils@2.0.0-next.10
+
+## 2.0.0-next.11
+
+### Patch Changes
+
+- refactor: Replace `date-fns` usage with new date utils (based on d3-time) to reduce bundle size ([#71](https://github.com/techniq/layerstack/pull/71))
+
+- Updated dependencies [[`abd845a`](https://github.com/techniq/layerstack/commit/abd845a53b4b1cdc3a61a6503b6cb4fd144d35a5), [`abd845a`](https://github.com/techniq/layerstack/commit/abd845a53b4b1cdc3a61a6503b6cb4fd144d35a5)]:
+ - @layerstack/utils@2.0.0-next.9
+
+## 2.0.0-next.10
+
+### Patch Changes
+
+- Updated dependencies [[`e47ed35`](https://github.com/techniq/layerstack/commit/e47ed359ae04ce24d70f3ab5369366f77cdc93d6)]:
+ - @layerstack/utils@2.0.0-next.8
+
+## 2.0.0-next.9
+
+### Patch Changes
+
+- Updated dependencies [[`a6df412`](https://github.com/techniq/layerstack/commit/a6df412a42636fead1b1ce4f92d114ecc6b1d727)]:
+ - @layerstack/utils@2.0.0-next.7
+
+## 2.0.0-next.8
+
+### Patch Changes
+
+- Updated dependencies [[`23651ad`](https://github.com/techniq/layerstack/commit/23651adc92ef675c3fedb4fbc6fa3d976df57cb4)]:
+ - @layerstack/utils@2.0.0-next.6
+
+## 2.0.0-next.7
+
+### Patch Changes
+
+- Updated dependencies [[`7642289`](https://github.com/techniq/layerstack/commit/7642289e1a99cf8092f2695491fd78b35a796bff)]:
+ - @layerstack/utils@2.0.0-next.5
+
+## 2.0.0-next.6
+
+### Patch Changes
+
+- Updated dependencies [[`ab0bb08`](https://github.com/techniq/layerstack/commit/ab0bb086257e281aa10ef13a3296aedf95c777f9), [`48b0aea`](https://github.com/techniq/layerstack/commit/48b0aead52ca6aeb2135a5297f5d774c8b510e12), [`38c4443`](https://github.com/techniq/layerstack/commit/38c44438c2454d3ffe328be15c1077987f64ee24), [`eaca635`](https://github.com/techniq/layerstack/commit/eaca6356ccd5288950aca64b8082ef18df2757ec)]:
+ - @layerstack/utils@2.0.0-next.4
+
+## 2.0.0-next.5
+
+### Patch Changes
+
+- Updated dependencies [[`4ed65a7`](https://github.com/techniq/layerstack/commit/4ed65a76562db9af2d18a196a2ba9e58f959aa5c)]:
+ - @layerstack/utils@2.0.0-next.3
+
+## 2.0.0-next.4
+
+### Patch Changes
+
+- Updated dependencies [[`955e07b`](https://github.com/techniq/layerstack/commit/955e07b5aed62acd8afba10f9eaa68b90d72bb74)]:
+ - @layerstack/utils@1.1.0-next.2
+
+## 2.0.0-next.3
+
+### Patch Changes
+
+- Update dependencies ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- Updated dependencies [[`b7ca80b`](https://github.com/techniq/layerstack/commit/b7ca80b6a8a07c53ec4a99864ec6b9fd1ecab0b4)]:
+ - @layerstack/utils@1.1.0-next.1
+
+## 2.0.0-next.2
+
+### Patch Changes
+
+- breaking: Rename `theme.css` to `core.css` ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- feat: Add `themes/basic.css` for simple light/dark use cases ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- fix(theme.css): Provide default colors (instead of black) for all theme variables. Use `color-mix()` to derive `-50`:`-950` shades of all theme colors (primary-100, success-700, etc) ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 2.0.0-next.1
+
+### Patch Changes
+
+- fix(theme.css): Apply tailwind typography `.prose` css variable overrides within `@layer utilities` to fix deployment. Properly set opacity for some variables ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 2.0.0-next.0
+
+### Major Changes
+
+- Tailwind 4 support ([#32](https://github.com/techniq/layerstack/pull/32))
+
+### Patch Changes
+
+- Updated dependencies [[`6cdcb26`](https://github.com/techniq/layerstack/commit/6cdcb26cabd0539cee2885efbaa39e7787a34114), [`c6bb443`](https://github.com/techniq/layerstack/commit/c6bb443d12ee12bd69417dcfa5880b6bf78c9f09), [`c13e65e`](https://github.com/techniq/layerstack/commit/c13e65e059d690cbc282635f6e48a27d715e5997)]:
+ - @layerstack/utils@1.1.0-next.0
+
## 1.0.1
### Patch Changes
diff --git a/packages/tailwind/package.json b/packages/tailwind/package.json
index 372a102..a10ba9c 100644
--- a/packages/tailwind/package.json
+++ b/packages/tailwind/package.json
@@ -4,10 +4,11 @@
"author": "Sean Lynch ",
"license": "MIT",
"repository": "techniq/layerstack",
- "version": "1.0.1",
+ "version": "2.0.0-next.19",
"scripts": {
"dev": "rimraf dist && tsc -p tsconfig.build.json --watch",
- "build": "rimraf dist && tsc -p tsconfig.build.json && cp -r ./src/lib/plugin* dist",
+ "build": "rimraf dist && tsc -p tsconfig.build.json && pnpm build:css && cp -r ./src/lib/css dist",
+ "build:css": "tsc --noEmit && tsx ./src/lib/cli/index.ts",
"preview": "vite preview",
"package": "svelte-package",
"prepublishOnly": "svelte-package",
@@ -23,11 +24,15 @@
"@types/culori": "^2.1.1",
"@types/d3-array": "^3.2.1",
"@types/lodash-es": "^4.17.12",
+ "@types/node": "^24.0.1",
+ "culori": "^4.0.1",
"daisyui": "^4.12.24",
- "prettier": "^3.5.2",
+ "prettier": "^3.5.3",
"rimraf": "6.0.1",
+ "tailwindcss": "^4.1.5",
"tslib": "^2.8.1",
- "typescript": "^5.7.3",
+ "tsx": "^4.19.4",
+ "typescript": "^5.8.3",
"vite": "^6.3.5",
"vitest": "^3.1.3"
},
@@ -35,19 +40,18 @@
"dependencies": {
"@layerstack/utils": "workspace:^",
"clsx": "^2.1.1",
- "culori": "^4.0.1",
"d3-array": "^3.2.4",
- "date-fns": "^4.1.0",
"lodash-es": "^4.17.21",
- "tailwind-merge": "^2.5.4",
- "tailwindcss": "^3.4.15"
+ "tailwind-merge": "^3.2.0"
},
"main": "./dist/index.js",
"exports": {
".": "./dist/index.js",
"./daisy": "./dist/daisy.js",
"./skeleton": "./dist/skeleton.js",
- "./plugin": "./dist/plugin.cjs"
+ "./*.css": "./dist/css/*.css",
+ "./themes/basic.css": "./dist/css/themes/basic.css",
+ "./themes/*.css": "./dist/css/themes/generated/*.css"
},
"files": [
"dist"
diff --git a/packages/tailwind/src/lib/__snapshots__/theme.test.ts.snap b/packages/tailwind/src/lib/__snapshots__/theme.test.ts.snap
index 050991d..82c26f9 100644
--- a/packages/tailwind/src/lib/__snapshots__/theme.test.ts.snap
+++ b/packages/tailwind/src/lib/__snapshots__/theme.test.ts.snap
@@ -2,114 +2,114 @@
exports[`processThemeColors > Process theme colors recursive colors object 1`] = `
{
- "--color-accent": "292.1893 84.0796% 60.5882%",
- "--color-accent-100": "286.9565 100% 95.4902%",
- "--color-accent-200": "288.2609 95.8333% 90.5882%",
- "--color-accent-300": "291.1111 93.1034% 82.9412%",
- "--color-accent-400": "292.0313 91.4286% 72.549%",
- "--color-accent-50": "289.0909 100% 97.8431%",
- "--color-accent-500": "292.1893 84.0796% 60.5882%",
- "--color-accent-600": "293.4104 69.4779% 48.8235%",
- "--color-accent-700": "294.6939 72.4138% 39.8039%",
- "--color-accent-800": "295.4237 70.2381% 32.9412%",
- "--color-accent-900": "296.7033 63.6364% 28.0392%",
- "--color-accent-content": "0 0% 100%",
- "--color-danger": "0 84.2365% 60.1961%",
- "--color-danger-100": "0 93.3333% 94.1176%",
- "--color-danger-200": "0 96.2963% 89.4118%",
- "--color-danger-300": "0 93.5484% 81.7647%",
- "--color-danger-400": "0 90.604% 70.7843%",
- "--color-danger-50": "0 85.7143% 97.2549%",
- "--color-danger-500": "0 84.2365% 60.1961%",
- "--color-danger-600": "0 72.2222% 50.5882%",
- "--color-danger-700": "0 73.7089% 41.7647%",
- "--color-danger-800": "0 70% 35.2941%",
- "--color-danger-900": "0 62.8205% 30.5882%",
- "--color-danger-content": "0 85.7211% 4.1843%",
- "--color-info": "217.2193 91.2195% 59.8039%",
- "--color-info-100": "214.2857 94.5946% 92.7451%",
- "--color-info-200": "213.3333 96.9231% 87.2549%",
- "--color-info-300": "211.6981 96.3636% 78.4314%",
- "--color-info-400": "213.1169 93.9024% 67.8431%",
- "--color-info-50": "213.75 100% 96.8627%",
- "--color-info-500": "217.2193 91.2195% 59.8039%",
- "--color-info-600": "221.2121 83.1933% 53.3333%",
- "--color-info-700": "224.2781 76.3265% 48.0392%",
- "--color-info-800": "225.931 70.7317% 40.1961%",
- "--color-info-900": "224.4444 64.2857% 32.9412%",
- "--color-info-content": "225.5179 89.4756% 4.2952%",
- "--color-neutral": "220 8.9362% 46.0784%",
- "--color-neutral-100": "220 14.2857% 95.8824%",
- "--color-neutral-200": "220 13.0435% 90.9804%",
- "--color-neutral-300": "216 12.1951% 83.9216%",
- "--color-neutral-400": "217.8947 10.6145% 64.902%",
- "--color-neutral-50": "210 20% 98.0392%",
- "--color-neutral-500": "220 8.9362% 46.0784%",
- "--color-neutral-600": "215 13.7931% 34.1176%",
- "--color-neutral-700": "216.9231 19.1176% 26.6667%",
- "--color-neutral-800": "215 27.907% 16.8627%",
- "--color-neutral-900": "220.9091 39.2857% 10.9804%",
- "--color-neutral-content": "0 0% 100%",
- "--color-primary": "221.2121 83.1933% 53.3333%",
- "--color-primary-100": "214.2857 94.5946% 92.7451%",
- "--color-primary-200": "213.3333 96.9231% 87.2549%",
- "--color-primary-300": "211.6981 96.3636% 78.4314%",
- "--color-primary-400": "213.1169 93.9024% 67.8431%",
- "--color-primary-50": "213.75 100% 96.8627%",
- "--color-primary-500": "217.2193 91.2195% 59.8039%",
- "--color-primary-600": "221.2121 83.1933% 53.3333%",
- "--color-primary-700": "224.2781 76.3265% 48.0392%",
- "--color-primary-800": "225.931 70.7317% 40.1961%",
- "--color-primary-900": "224.4444 64.2857% 32.9412%",
- "--color-primary-content": "0 0% 100%",
- "--color-secondary": "24.5815 94.9791% 53.1373%",
- "--color-secondary-100": "34.2857 100% 91.7647%",
- "--color-secondary-200": "32.1429 97.6744% 83.1373%",
- "--color-secondary-300": "30.6569 97.1631% 72.3529%",
- "--color-secondary-400": "27.0157 95.9799% 60.9804%",
- "--color-secondary-50": "33.3333 100% 96.4706%",
- "--color-secondary-500": "24.5815 94.9791% 53.1373%",
- "--color-secondary-600": "20.5405 90.2439% 48.2353%",
- "--color-secondary-700": "17.4725 88.3495% 40.3922%",
- "--color-secondary-800": "15 79.0698% 33.7255%",
- "--color-secondary-900": "15.283 74.6479% 27.8431%",
- "--color-secondary-content": "0 0% 100%",
- "--color-success": "142.0859 70.5628% 45.2941%",
- "--color-success-100": "140.625 84.2105% 92.549%",
- "--color-success-200": "141 78.9474% 85.098%",
- "--color-success-300": "141.7143 76.6423% 73.1373%",
- "--color-success-400": "141.8919 69.1589% 58.0392%",
- "--color-success-50": "138.4615 76.4706% 96.6667%",
- "--color-success-500": "142.0859 70.5628% 45.2941%",
- "--color-success-600": "142.1277 76.2162% 36.2745%",
- "--color-success-700": "142.4299 71.8121% 29.2157%",
- "--color-success-800": "142.7848 64.2276% 24.1176%",
- "--color-success-900": "143.8095 61.165% 20.1961%",
- "--color-success-content": "131.0117 94.2327% 2.8668%",
- "--color-surface-100": "0 0% 100%",
- "--color-surface-200": "220 13.0435% 90.9804%",
- "--color-surface-300": "216 12.1951% 83.9216%",
- "--color-surface-content": "220.9091 39.2857% 10.9804%",
- "--color-warning": "37.6923 92.126% 50.1961%",
- "--color-warning-100": "48 96.4912% 88.8235%",
- "--color-warning-200": "48 96.6387% 76.6667%",
- "--color-warning-300": "45.9429 96.6851% 64.5098%",
- "--color-warning-400": "43.2558 96.4126% 56.2745%",
- "--color-warning-50": "48 100% 96.0784%",
- "--color-warning-500": "37.6923 92.126% 50.1961%",
- "--color-warning-600": "32.1327 94.6188% 43.7255%",
- "--color-warning-700": "25.9649 90.4762% 37.0588%",
- "--color-warning-800": "22.7273 82.5% 31.3725%",
- "--color-warning-900": "21.7143 77.7778% 26.4706%",
- "--color-warning-content": "26.0785 99.1481% 4.0603%",
- "accent-950": "#4a044e",
+ "--color-accent": "hsl(292.6122 96.3522% 57.5124%)",
+ "--color-accent-100": "hsl(287.8451 100% 95.4466%)",
+ "--color-accent-200": "hsl(288.4167 100% 90.6671%)",
+ "--color-accent-300": "hsl(292.1393 100% 82.8641%)",
+ "--color-accent-400": "hsl(292.7825 100% 70.8783%)",
+ "--color-accent-50": "hsl(289.0916 95.9544% 97.7939%)",
+ "--color-accent-500": "hsl(292.6122 96.3522% 57.5124%)",
+ "--color-accent-600": "hsl(293.9463 100% 43.5771%)",
+ "--color-accent-700": "hsl(295.0291 100% 35.8976%)",
+ "--color-accent-800": "hsl(295.7977 98.2382% 29.3476%)",
+ "--color-accent-900": "hsl(296.7004 72.3479% 27.247%)",
+ "--color-accent-content": "hsl(0 0% 100%)",
+ "--color-danger": "hsl(356.946 95.8988% 57.7229%)",
+ "--color-danger-100": "hsl(359.982 98.7846% 94.2472%)",
+ "--color-danger-200": "hsl(359.9472 100% 89.4922%)",
+ "--color-danger-300": "hsl(359.7222 100% 81.734%)",
+ "--color-danger-400": "hsl(358.748 100% 69.5576%)",
+ "--color-danger-50": "hsl(359.9996 88.2079% 97.3213%)",
+ "--color-danger-500": "hsl(356.946 95.8988% 57.7229%)",
+ "--color-danger-600": "hsl(357.2057 100% 45.3229%)",
+ "--color-danger-700": "hsl(357.7206 100% 37.8442%)",
+ "--color-danger-800": "hsl(355.9407 91.1549% 32.5499%)",
+ "--color-danger-900": "hsl(358.7969 69.3004% 30.075%)",
+ "--color-danger-content": "hsl(359.0578 94.0193% 4.3184%)",
+ "--color-info": "hsl(216.2564 100% 58.4666%)",
+ "--color-info-100": "hsl(214.2845 96.222% 92.7756%)",
+ "--color-info-200": "hsl(213.2677 100% 87.2546%)",
+ "--color-info-300": "hsl(210.6944 100% 77.8296%)",
+ "--color-info-400": "hsl(211.9564 100% 65.79%)",
+ "--color-info-50": "hsl(213.7504 96.4852% 96.7906%)",
+ "--color-info-500": "hsl(216.2564 100% 58.4666%)",
+ "--color-info-600": "hsl(221.3366 97.0631% 53.4981%)",
+ "--color-info-700": "hsl(225.3451 84.0953% 48.9841%)",
+ "--color-info-800": "hsl(227.0987 75.7431% 41.1352%)",
+ "--color-info-900": "hsl(224.8632 67.2785% 33.3285%)",
+ "--color-info-content": "hsl(226.5507 94.5113% 4.5837%)",
+ "--color-neutral": "hsl(220.0279 10.2643% 46.2976%)",
+ "--color-neutral-100": "hsl(220.0003 14.9678% 95.8979%)",
+ "--color-neutral-200": "hsl(220.0003 13.5652% 91.0486%)",
+ "--color-neutral-300": "hsl(215.9989 13.1233% 84.0013%)",
+ "--color-neutral-400": "hsl(217.9005 11.9219% 64.2616%)",
+ "--color-neutral-50": "hsl(209.9983 24.1882% 98.0992%)",
+ "--color-neutral-500": "hsl(220.0279 10.2643% 46.2976%)",
+ "--color-neutral-600": "hsl(214.9937 15.6629% 34.2475%)",
+ "--color-neutral-700": "hsl(216.9394 21.105% 26.8119%)",
+ "--color-neutral-800": "hsl(214.9924 30.9869% 16.9495%)",
+ "--color-neutral-900": "hsl(220.9996 41.6876% 11.0655%)",
+ "--color-neutral-content": "hsl(0 0% 100%)",
+ "--color-primary": "hsl(221.3366 97.0631% 53.4981%)",
+ "--color-primary-100": "hsl(214.2845 96.222% 92.7756%)",
+ "--color-primary-200": "hsl(213.2677 100% 87.2546%)",
+ "--color-primary-300": "hsl(210.6944 100% 77.8296%)",
+ "--color-primary-400": "hsl(211.9564 100% 65.79%)",
+ "--color-primary-50": "hsl(213.7504 96.4852% 96.7906%)",
+ "--color-primary-500": "hsl(216.2564 100% 58.4666%)",
+ "--color-primary-600": "hsl(221.3366 97.0631% 53.4981%)",
+ "--color-primary-700": "hsl(225.3451 84.0953% 48.9841%)",
+ "--color-primary-800": "hsl(227.0987 75.7431% 41.1352%)",
+ "--color-primary-900": "hsl(224.8632 67.2785% 33.3285%)",
+ "--color-primary-content": "hsl(0 0% 100%)",
+ "--color-secondary": "hsl(24.6441 100% 50%)",
+ "--color-secondary-100": "hsl(34.5099 100% 91.6292%)",
+ "--color-secondary-200": "hsl(32.2202 100% 82.8417%)",
+ "--color-secondary-300": "hsl(31.5676 100% 70.6964%)",
+ "--color-secondary-400": "hsl(31.8315 100% 50.6921%)",
+ "--color-secondary-50": "hsl(33.7504 100% 96.4632%)",
+ "--color-secondary-500": "hsl(24.6441 100% 50%)",
+ "--color-secondary-600": "hsl(17.9987 100% 48.0353%)",
+ "--color-secondary-700": "hsl(15.7046 100% 39.5941%)",
+ "--color-secondary-800": "hsl(16.9704 100% 31.2249%)",
+ "--color-secondary-900": "hsl(15.9878 83.1158% 27.0385%)",
+ "--color-secondary-content": "hsl(0 0% 100%)",
+ "--color-success": "hsl(144.0579 100% 39.3578%)",
+ "--color-success-100": "hsl(140.6473 84.3761% 92.4545%)",
+ "--color-success-200": "hsl(141.1448 81.0714% 84.817%)",
+ "--color-success-300": "hsl(142.6564 81.2473% 71.3902%)",
+ "--color-success-400": "hsl(150.0644 95.5607% 44.7591%)",
+ "--color-success-50": "hsl(138.4592 76.5139% 96.6798%)",
+ "--color-success-500": "hsl(144.0579 100% 39.3578%)",
+ "--color-success-600": "hsl(142.2931 100% 32.5651%)",
+ "--color-success-700": "hsl(144.6836 100% 25.4999%)",
+ "--color-success-800": "hsl(147.7182 97.1538% 20.3636%)",
+ "--color-success-900": "hsl(145.734 73.0788% 18.9907%)",
+ "--color-success-content": "hsl(128.7384 100% 2.8818%)",
+ "--color-surface-100": "hsl(0 0% 100%)",
+ "--color-surface-200": "hsl(220.0003 13.5652% 91.0486%)",
+ "--color-surface-300": "hsl(215.9989 13.1233% 84.0013%)",
+ "--color-surface-content": "hsl(220.9996 41.6876% 11.0655%)",
+ "--color-warning": "hsl(36.3337 100% 49.7136%)",
+ "--color-warning-100": "hsl(47.994 97.3389% 88.7262%)",
+ "--color-warning-200": "hsl(48.0232 98.2285% 75.896%)",
+ "--color-warning-300": "hsl(46.9903 100% 59.3803%)",
+ "--color-warning-400": "hsl(43.6353 100% 50%)",
+ "--color-warning-50": "hsl(48.3807 100% 95.9997%)",
+ "--color-warning-500": "hsl(36.3337 100% 49.7136%)",
+ "--color-warning-600": "hsl(30.0996 100% 44.1884%)",
+ "--color-warning-700": "hsl(24.6812 100% 36.5894%)",
+ "--color-warning-800": "hsl(23.7595 100% 29.5153%)",
+ "--color-warning-900": "hsl(23.0369 90.1705% 25.264%)",
+ "--color-warning-content": "hsl(23.327 100% 4.2669%)",
+ "accent-950": "oklch(0.293 0.136 325.661)",
"color-scheme": "light",
- "danger-950": "#450a0a",
- "info-950": "#172554",
- "neutral-950": "#030712",
- "primary-950": "#172554",
- "secondary-950": "#431407",
- "success-950": "#052e16",
- "warning-950": "#451a03",
+ "danger-950": "oklch(0.258 0.092 26.042)",
+ "info-950": "oklch(0.282 0.091 267.935)",
+ "neutral-950": "oklch(0.13 0.028 261.692)",
+ "primary-950": "oklch(0.282 0.091 267.935)",
+ "secondary-950": "oklch(0.266 0.079 36.259)",
+ "success-950": "oklch(0.266 0.065 152.934)",
+ "warning-950": "oklch(0.279 0.077 45.635)",
}
`;
diff --git a/packages/tailwind/src/lib/daisy.ts b/packages/tailwind/src/lib/cli/daisy.ts
similarity index 96%
rename from packages/tailwind/src/lib/daisy.ts
rename to packages/tailwind/src/lib/cli/daisy.ts
index f9d8e51..9916583 100644
--- a/packages/tailwind/src/lib/daisy.ts
+++ b/packages/tailwind/src/lib/cli/daisy.ts
@@ -49,7 +49,7 @@ const daisyColorMap = {
};
/**
- * Map Daisy UI color names to Svelte UX names, and sort themes
+ * Map Daisy UI color names to LayerStack names, and sort themes
*/
function mapColorsName(themes: typeof daisyThemes, colorMap: typeof daisyColorMap) {
let themesGeneric = themes as unknown as Record>;
diff --git a/packages/tailwind/src/lib/cli/index.ts b/packages/tailwind/src/lib/cli/index.ts
new file mode 100755
index 0000000..35b5b6e
--- /dev/null
+++ b/packages/tailwind/src/lib/cli/index.ts
@@ -0,0 +1,80 @@
+import { writeFileSync, mkdirSync } from 'node:fs';
+import { dirname } from 'node:path';
+import { format } from 'prettier';
+
+import { entries } from '@layerstack/utils';
+import { mapKeys } from '@layerstack/utils/object';
+
+import { colorNames, themeStylesString, type Colors, type SupportedColorSpace } from './utils.js';
+import { themes as daisyThemes } from './daisy.js';
+import { themes as skeletonThemes } from './skeleton.js';
+
+/**
+ * Build theme CSS variables
+ */
+function buildThemeCss(colorSpace: SupportedColorSpace) {
+ let result: string[] = [];
+
+ result.push('@theme {');
+
+ // Register theme colors variables with placeholder values
+ colorNames.forEach((color) => {
+ result.push(`--color-${color}: ${colorSpace}(0 0 0);`);
+ });
+
+ result.push('}');
+
+ return format(result.join('\n'), { parser: 'css' });
+}
+
+/**
+ * Build themes as CSS files
+ */
+async function buildThemesCss(themes: Record, colorSpace: SupportedColorSpace) {
+ let result: string[] = [];
+
+ let rootThemeName: string = '';
+ entries(themes).map(([themeName, themeColors], index) => {
+ if (index === 0) {
+ // Root / default theme
+ result.push(`:root { ${themeStylesString(themeColors, colorSpace)} }`);
+ rootThemeName = themeName;
+ } else if (index === 1) {
+ // Dark theme
+ result.push(`@media (prefers-color-scheme: dark) {
+ :root { ${themeStylesString(themeColors, colorSpace)} }
+ }`);
+
+ // Also register first and second theme by name AFTER @media for precedence
+ result.push(
+ `[data-theme=${rootThemeName}] { ${themeStylesString(themes[rootThemeName], colorSpace)} }`
+ );
+ result.push(`[data-theme=${themeName}] { ${themeStylesString(themeColors, colorSpace)} }`);
+ } else {
+ result.push(`[data-theme=${themeName}] { ${themeStylesString(themeColors, colorSpace)} }`);
+ }
+ });
+
+ return format(result.join('\n\n'), { parser: 'css' });
+}
+
+function writeFile(filePath: string, data: string) {
+ mkdirSync(dirname(filePath), { recursive: true });
+ writeFileSync(filePath, data);
+ console.log(`Wrote ${filePath}`);
+}
+
+const daisyCss = await buildThemesCss(daisyThemes, 'hsl');
+writeFile('src/lib/css/themes/generated/daisy.css', daisyCss);
+
+const skeletonCss = await buildThemesCss(skeletonThemes, 'hsl');
+writeFile('src/lib/css/themes/generated/skeleton.css', skeletonCss);
+
+const allThemes = {
+ ...daisyThemes,
+ ...mapKeys(skeletonThemes, (key: string) =>
+ key === 'light' ? 'skeleton-light' : key === 'dark' ? 'skeleton-dark' : key
+ ),
+};
+const allThemesCss = await buildThemesCss(allThemes, 'hsl');
+writeFile('src/lib/css/themes/generated/all.css', allThemesCss);
diff --git a/packages/tailwind/src/lib/skeleton.ts b/packages/tailwind/src/lib/cli/skeleton.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton.ts
rename to packages/tailwind/src/lib/cli/skeleton.ts
diff --git a/packages/tailwind/src/lib/skeleton/crimson.ts b/packages/tailwind/src/lib/cli/skeleton/crimson.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton/crimson.ts
rename to packages/tailwind/src/lib/cli/skeleton/crimson.ts
diff --git a/packages/tailwind/src/lib/skeleton/gold-nouveau.ts b/packages/tailwind/src/lib/cli/skeleton/gold-nouveau.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton/gold-nouveau.ts
rename to packages/tailwind/src/lib/cli/skeleton/gold-nouveau.ts
diff --git a/packages/tailwind/src/lib/skeleton/hamlindigo.ts b/packages/tailwind/src/lib/cli/skeleton/hamlindigo.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton/hamlindigo.ts
rename to packages/tailwind/src/lib/cli/skeleton/hamlindigo.ts
diff --git a/packages/tailwind/src/lib/skeleton/index.ts b/packages/tailwind/src/lib/cli/skeleton/index.ts
similarity index 91%
rename from packages/tailwind/src/lib/skeleton/index.ts
rename to packages/tailwind/src/lib/cli/skeleton/index.ts
index a25271d..6bea742 100644
--- a/packages/tailwind/src/lib/skeleton/index.ts
+++ b/packages/tailwind/src/lib/cli/skeleton/index.ts
@@ -8,7 +8,12 @@ import seafoam from './seafoam.js';
import skeleton from './skeleton.js';
import vintage from './vintage.js';
import wintry from './wintry.js';
-import type { CSSRuleObject } from 'tailwindcss/types/config.js';
+
+// `CSSRuleObject` copied from tailwindcss/types/config.js (no longer available in v4 - https://github.com/tailwindlabs/tailwindcss/blob/v3.4.17/types/config.d.ts#L15)
+interface RecursiveKeyValuePair {
+ [key: string]: V | RecursiveKeyValuePair;
+}
+type CSSRuleObject = RecursiveKeyValuePair;
export const themes = {
crimson,
diff --git a/packages/tailwind/src/lib/skeleton/modern.ts b/packages/tailwind/src/lib/cli/skeleton/modern.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton/modern.ts
rename to packages/tailwind/src/lib/cli/skeleton/modern.ts
diff --git a/packages/tailwind/src/lib/skeleton/rocket.ts b/packages/tailwind/src/lib/cli/skeleton/rocket.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton/rocket.ts
rename to packages/tailwind/src/lib/cli/skeleton/rocket.ts
diff --git a/packages/tailwind/src/lib/skeleton/sahara.ts b/packages/tailwind/src/lib/cli/skeleton/sahara.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton/sahara.ts
rename to packages/tailwind/src/lib/cli/skeleton/sahara.ts
diff --git a/packages/tailwind/src/lib/skeleton/seafoam.ts b/packages/tailwind/src/lib/cli/skeleton/seafoam.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton/seafoam.ts
rename to packages/tailwind/src/lib/cli/skeleton/seafoam.ts
diff --git a/packages/tailwind/src/lib/skeleton/skeleton.ts b/packages/tailwind/src/lib/cli/skeleton/skeleton.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton/skeleton.ts
rename to packages/tailwind/src/lib/cli/skeleton/skeleton.ts
diff --git a/packages/tailwind/src/lib/skeleton/vintage.ts b/packages/tailwind/src/lib/cli/skeleton/vintage.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton/vintage.ts
rename to packages/tailwind/src/lib/cli/skeleton/vintage.ts
diff --git a/packages/tailwind/src/lib/skeleton/wintry.ts b/packages/tailwind/src/lib/cli/skeleton/wintry.ts
similarity index 100%
rename from packages/tailwind/src/lib/skeleton/wintry.ts
rename to packages/tailwind/src/lib/cli/skeleton/wintry.ts
diff --git a/packages/tailwind/src/lib/cli/utils.ts b/packages/tailwind/src/lib/cli/utils.ts
new file mode 100644
index 0000000..54ff310
--- /dev/null
+++ b/packages/tailwind/src/lib/cli/utils.ts
@@ -0,0 +1,194 @@
+import {
+ rgb,
+ hsl,
+ oklch,
+ clampRgb,
+ interpolate,
+ wcagContrast,
+ formatCss,
+ type Color,
+ type Hsl,
+ type Oklch,
+ type Rgb,
+} from 'culori';
+import { entries, fromEntries, keys } from '@layerstack/utils';
+import { colors, semanticColors, shades, stateColors } from '../theme.js';
+
+export type SupportedColorSpace = 'rgb' | 'hsl' | 'oklch';
+export type Colors = Record;
+
+export const colorNames = [
+ // Semantic & State colors (ex. `priamry`, 'primary-content`, 'primary-100`, ...)
+ ...colors.flatMap((color) => [
+ color, // default
+ `${color}-content`, // text/content
+ ...shades.map((shade) => `${color}-${shade}`),
+ ]),
+
+ // Surfaces
+ 'surface-100',
+ 'surface-200',
+ 'surface-300',
+ 'surface-content',
+];
+
+/**
+ * Generate missing theme colors (if needed), convert names to CSS variables and to a common color space (hsl, oklch, etc)
+ */
+export function processThemeColors(colors: Colors, colorSpace: SupportedColorSpace) {
+ // TODO: make all semanatic colors optional as well
+
+ // Generate optional semanatic colors
+ colors['neutral'] ??= colors['neutral-500'] ?? 'oklch(.355192 .032071 262.988584)';
+
+ // Generate optional state colors
+ colors['info'] ??= colors['info-500'] ?? 'oklch(0.7206 0.191 231.6)';
+ colors['success'] ??= colors['success-500'] ?? 'oklch(64.8% 0.150 160)';
+ colors['warning'] ??= colors['warning-500'] ?? 'oklch(0.8471 0.199 83.87)';
+ colors['danger'] ??= colors['danger-500'] ?? 'oklch(0.7176 0.221 22.18)';
+
+ // Generate optional content colors
+ for (const color of [...semanticColors, ...stateColors]) {
+ // Add `primary` from `primary-500` if not defined in theme (ex. Skeleton)
+ colors[color] ??= colors[`${color}-500`];
+ colors[`${color}-content`] ??= foregroundColor(colors[color]) as string;
+
+ // Generate color shades (ex. `primary-500`) if not defined. Useful for Daisy but not Skeleton themes, for example
+ for (const shade of shades) {
+ const shadeColorName = `${color}-${shade}`;
+ if (!(shadeColorName in colors)) {
+ // Find the next shade above (shade < 500) or below (shade > 500) and use as reference, if available
+ const referenceShade =
+ keys(colors)
+ .map((key) => {
+ const [c, s] = String(key).split('-');
+ return [c, Number(s)] as [string, number];
+ })
+ .find(([c, s]) => c === color && (s < 500 ? s > shade : s < shade))?.[1] ?? 500;
+ const referenceColor = colors[`${color}-${referenceShade}`] ?? colors[color];
+
+ if (shade < 500) {
+ colors[shadeColorName] ??= lightenColor(
+ referenceColor,
+ (referenceShade - shade) / 1000
+ ) as string; // 100 == 0.1
+ } else if (shade > 500) {
+ colors[shadeColorName] ??= darkenColor(
+ colors[color],
+ (shade - referenceShade) / 1000
+ ) as string; // 100 == 0.1
+ } else {
+ colors[shadeColorName] ??= colors[color] as string;
+ }
+ }
+ }
+ }
+
+ // Generate optional surface colors
+ colors['surface-100'] ??= 'oklch(100 0 0)';
+ colors['surface-200'] ??= darkenColor(colors['surface-100'], 0.07) as string;
+ colors['surface-300'] ??= darkenColor(colors['surface-200'], 0.07) as string;
+ colors['surface-content'] ??= foregroundColor(colors['surface-100']) as string;
+
+ // Add `color-scheme: "dark"` for `dark` theme (if not set)
+ colors['color-scheme'] ??= isDark(colors['surface-content']) ? 'light' : 'dark';
+
+ const result = fromEntries(
+ entries(colors).map(([name, value]) => {
+ if (colorNames.includes(String(name))) {
+ // Convert each color to common colorspace and add variable
+ return [`--color-${name}`, convertColor(value, colorSpace)];
+ } else {
+ // Additional properties such as `color-scheme` or CSS variable
+ return [name, value];
+ }
+ })
+ );
+
+ return result;
+}
+
+function round(value: number, decimals: number) {
+ if (value) {
+ return Number(value.toFixed(decimals));
+ } else {
+ return 0;
+ }
+}
+
+function isDark(color: Color | string) {
+ try {
+ if (wcagContrast(color, 'black') < wcagContrast(color, 'white')) {
+ return true;
+ }
+ return false;
+ } catch (e) {
+ return false;
+ }
+}
+
+/** Lighten or darken color based on contrast of input */
+function foregroundColor(color: Color | string, percentage = 0.8) {
+ try {
+ return isDark(color) ? lightenColor(color, percentage) : darkenColor(color, percentage);
+ } catch (e) {
+ // console.error('Unable to generate foreground color', color);
+ }
+}
+
+function lightenColor(color: Color | string, percentage: number) {
+ try {
+ return formatCss(interpolate([color, 'white'], 'oklch')(percentage));
+ } catch (e) {
+ // console.error('Unable to generate lighten color', color);
+ }
+}
+
+function darkenColor(color: Color | string, percentage: number) {
+ try {
+ return formatCss(interpolate([color, 'black'], 'oklch')(percentage));
+ } catch (e) {
+ // console.error('Unable to generate darken color', color);
+ }
+}
+
+/**
+ * Convert color to space separated components string
+ */
+export function convertColor(color: Color | string, colorSpace: SupportedColorSpace, decimals = 4) {
+ try {
+ if (colorSpace === 'rgb') {
+ const computedColor = typeof color === 'string' ? rgb(color) : (color as Rgb);
+ if (computedColor) {
+ const { r, g, b } = computedColor;
+ return `rgb(${round(r * 255, decimals)} ${round(g * 255, decimals)} ${round(b * 255, decimals)})`;
+ }
+ } else if (colorSpace === 'hsl') {
+ const computedColor = typeof color === 'string' ? hsl(clampRgb(color)) : (color as Hsl);
+ if (computedColor) {
+ const { h, s, l } = computedColor;
+ return `hsl(${round(h ?? 0, decimals)} ${round(s * 100, decimals)}% ${round(l * 100, decimals)}%)`;
+ }
+ } else if (colorSpace === 'oklch') {
+ const computedColor = typeof color === 'string' ? oklch(clampRgb(color)) : (color as Oklch);
+ if (computedColor) {
+ const { l, c, h } = computedColor;
+ return `oklch(${round(l, decimals)} ${round(c, decimals)} ${round(h ?? 0, decimals)})`;
+ }
+ }
+ } catch (e) {
+ // console.error('Unable to convert color object to string', color);
+ }
+}
+
+/**
+ * Process theme to style variables
+ */
+export function themeStylesString(colors: Colors, colorSpace: SupportedColorSpace) {
+ const styleProperties = processThemeColors(colors, colorSpace);
+ return entries(styleProperties)
+ .map(([key, value]) => {
+ return `${key}: ${value};`;
+ })
+ .join('\n');
+}
diff --git a/packages/tailwind/src/lib/css/core.css b/packages/tailwind/src/lib/css/core.css
new file mode 100644
index 0000000..d6095a3
--- /dev/null
+++ b/packages/tailwind/src/lib/css/core.css
@@ -0,0 +1,165 @@
+@theme {
+ /*
+ * Semantic colors
+ */
+ --color-primary: var(--color-blue-500);
+ --color-primary-content: color-mix(in oklab, var(--color-primary) 50%, black);
+
+ --color-secondary: var(--color-orange-500);
+ --color-secondary-content: color-mix(in oklab, var(--color-secondary) 50%, black);
+
+ --color-accent: var(--color-purple-500);
+ --color-accent-content: color-mix(in oklab, var(--color-accent) 50%, black);
+
+ --color-neutral: var(--color-gray-500);
+ --color-neutral-content: color-mix(in oklab, var(--color-neutral) 50%, black);
+
+ /*
+ * Status colors
+ */
+ --color-info: hsl(200 100% 50%);
+ --color-info-content: color-mix(in oklab, var(--color-info) 50%, black);
+
+ --color-success: hsl(160 100% 30%);
+ --color-success-content: color-mix(in oklab, var(--color-success) 50%, black);
+
+ --color-warning: hsl(45 100% 50%);
+ --color-warning-content: color-mix(in oklab, var(--color-warning) 50%, black);
+
+ --color-danger: hsl(0 100% 70%);
+ --color-danger-content: color-mix(in oklab, var(--color-danger) 50%, black);
+
+ /*
+ * Surface colors
+ */
+ --color-surface-100: var(--color-white);
+ --color-surface-200: var(--color-gray-100);
+ --color-surface-300: var(--color-gray-300);
+ --color-surface-content: var(--color-gray-900);
+
+ /*
+ * Extra colors
+ */
+ --color-primary-50: color-mix(in oklab, var(--color-primary) 50%, white);
+ --color-primary-100: color-mix(in oklab, var(--color-primary) 60%, white);
+ --color-primary-200: color-mix(in oklab, var(--color-primary) 70%, white);
+ --color-primary-300: color-mix(in oklab, var(--color-primary) 80%, white);
+ --color-primary-400: color-mix(in oklab, var(--color-primary) 90%, white);
+ --color-primary-500: var(--color-primary);
+ --color-primary-600: color-mix(in oklab, var(--color-primary) 90%, black);
+ --color-primary-700: color-mix(in oklab, var(--color-primary) 80%, black);
+ --color-primary-800: color-mix(in oklab, var(--color-primary) 70%, black);
+ --color-primary-900: color-mix(in oklab, var(--color-primary) 60%, black);
+ --color-primary-950: color-mix(in oklab, var(--color-primary) 50%, black);
+
+ --color-secondary-50: color-mix(in oklab, var(--color-secondary) 50%, white);
+ --color-secondary-100: color-mix(in oklab, var(--color-secondary) 60%, white);
+ --color-secondary-200: color-mix(in oklab, var(--color-secondary) 70%, white);
+ --color-secondary-300: color-mix(in oklab, var(--color-secondary) 80%, white);
+ --color-secondary-400: color-mix(in oklab, var(--color-secondary) 90%, white);
+ --color-secondary-500: var(--color-secondary);
+ --color-secondary-600: color-mix(in oklab, var(--color-secondary) 90%, black);
+ --color-secondary-700: color-mix(in oklab, var(--color-secondary) 80%, black);
+ --color-secondary-800: color-mix(in oklab, var(--color-secondary) 70%, black);
+ --color-secondary-900: color-mix(in oklab, var(--color-secondary) 60%, black);
+ --color-secondary-950: color-mix(in oklab, var(--color-secondary) 50%, black);
+
+ --color-accent-50: color-mix(in oklab, var(--color-accent) 50%, white);
+ --color-accent-100: color-mix(in oklab, var(--color-accent) 60%, white);
+ --color-accent-200: color-mix(in oklab, var(--color-accent) 70%, white);
+ --color-accent-300: color-mix(in oklab, var(--color-accent) 80%, white);
+ --color-accent-400: color-mix(in oklab, var(--color-accent) 90%, white);
+ --color-accent-500: var(--color-accent);
+ --color-accent-600: color-mix(in oklab, var(--color-accent) 90%, black);
+ --color-accent-700: color-mix(in oklab, var(--color-accent) 80%, black);
+ --color-accent-800: color-mix(in oklab, var(--color-accent) 70%, black);
+ --color-accent-900: color-mix(in oklab, var(--color-accent) 60%, black);
+ --color-accent-950: color-mix(in oklab, var(--color-accent) 50%, black);
+
+ --color-neutral-50: color-mix(in oklab, var(--color-neutral) 50%, white);
+ --color-neutral-100: color-mix(in oklab, var(--color-neutral) 60%, white);
+ --color-neutral-200: color-mix(in oklab, var(--color-neutral) 70%, white);
+ --color-neutral-300: color-mix(in oklab, var(--color-neutral) 80%, white);
+ --color-neutral-400: color-mix(in oklab, var(--color-neutral) 90%, white);
+ --color-neutral-500: var(--color-neutral);
+ --color-neutral-600: color-mix(in oklab, var(--color-neutral) 90%, black);
+ --color-neutral-700: color-mix(in oklab, var(--color-neutral) 80%, black);
+ --color-neutral-800: color-mix(in oklab, var(--color-neutral) 70%, black);
+ --color-neutral-900: color-mix(in oklab, var(--color-neutral) 60%, black);
+ --color-neutral-950: color-mix(in oklab, var(--color-neutral) 50%, black);
+
+ --color-info-50: color-mix(in oklab, var(--color-info) 50%, white);
+ --color-info-100: color-mix(in oklab, var(--color-info) 60%, white);
+ --color-info-200: color-mix(in oklab, var(--color-info) 70%, white);
+ --color-info-300: color-mix(in oklab, var(--color-info) 80%, white);
+ --color-info-400: color-mix(in oklab, var(--color-info) 90%, white);
+ --color-info-500: var(--color-info);
+ --color-info-600: color-mix(in oklab, var(--color-info) 90%, black);
+ --color-info-700: color-mix(in oklab, var(--color-info) 80%, black);
+ --color-info-800: color-mix(in oklab, var(--color-info) 70%, black);
+ --color-info-900: color-mix(in oklab, var(--color-info) 60%, black);
+ --color-info-950: color-mix(in oklab, var(--color-info) 50%, black);
+
+ --color-success-50: color-mix(in oklab, var(--color-success) 50%, white);
+ --color-success-100: color-mix(in oklab, var(--color-success) 60%, white);
+ --color-success-200: color-mix(in oklab, var(--color-success) 70%, white);
+ --color-success-300: color-mix(in oklab, var(--color-success) 80%, white);
+ --color-success-400: color-mix(in oklab, var(--color-success) 90%, white);
+ --color-success-500: var(--color-success);
+ --color-success-600: color-mix(in oklab, var(--color-success) 90%, black);
+ --color-success-700: color-mix(in oklab, var(--color-success) 80%, black);
+ --color-success-800: color-mix(in oklab, var(--color-success) 70%, black);
+ --color-success-900: color-mix(in oklab, var(--color-success) 60%, black);
+ --color-success-950: color-mix(in oklab, var(--color-success) 50%, black);
+
+ --color-warning-50: color-mix(in oklab, var(--color-warning) 50%, white);
+ --color-warning-100: color-mix(in oklab, var(--color-warning) 60%, white);
+ --color-warning-200: color-mix(in oklab, var(--color-warning) 70%, white);
+ --color-warning-300: color-mix(in oklab, var(--color-warning) 80%, white);
+ --color-warning-400: color-mix(in oklab, var(--color-warning) 90%, white);
+ --color-warning-500: var(--color-warning);
+ --color-warning-600: color-mix(in oklab, var(--color-warning) 90%, black);
+ --color-warning-700: color-mix(in oklab, var(--color-warning) 80%, black);
+ --color-warning-800: color-mix(in oklab, var(--color-warning) 70%, black);
+ --color-warning-900: color-mix(in oklab, var(--color-warning) 60%, black);
+ --color-warning-950: color-mix(in oklab, var(--color-warning) 50%, black);
+
+ --color-danger-50: color-mix(in oklab, var(--color-danger) 50%, white);
+ --color-danger-100: color-mix(in oklab, var(--color-danger) 60%, white);
+ --color-danger-200: color-mix(in oklab, var(--color-danger) 70%, white);
+ --color-danger-300: color-mix(in oklab, var(--color-danger) 80%, white);
+ --color-danger-400: color-mix(in oklab, var(--color-danger) 90%, white);
+ --color-danger-500: var(--color-danger);
+ --color-danger-600: color-mix(in oklab, var(--color-danger) 90%, black);
+ --color-danger-700: color-mix(in oklab, var(--color-danger) 80%, black);
+ --color-danger-800: color-mix(in oklab, var(--color-danger) 70%, black);
+ --color-danger-900: color-mix(in oklab, var(--color-danger) 60%, black);
+ --color-danger-950: color-mix(in oklab, var(--color-danger) 50%, black);
+}
+
+/* Use `` to activate `dark:` variant */
+@custom-variant dark (&:where(.dark, .dark *));
+
+/*
+ Tailwind CSS Typography plugin overrides
+*/
+@layer utilities {
+ .prose {
+ --tw-prose-body: var(--color-surface-content);
+ --tw-prose-headings: var(--color-surface-content);
+ --tw-prose-lead: var(--color-surface-content);
+ --tw-prose-links: var(--color-surface-content);
+ --tw-prose-bold: var(--color-surface-content);
+ --tw-prose-counters: color-mix(in oklab, var(--color-surface-content) 30%, transparent);
+ --tw-prose-bullets: color-mix(in oklab, var(--color-surface-content) 20%, transparent);
+ --tw-prose-hr: color-mix(in oklab, var(--color-surface-content) 20%, transparent);
+ --tw-prose-quotes: var(--color-surface-content);
+ --tw-prose-quote-borders: var(--color-surface-content);
+ --tw-prose-captions: var(--color-surface-content);
+ --tw-prose-code: var(--color-surface-content);
+ --tw-prose-pre-code: var(--color-surface-content);
+ --tw-prose-pre-bg: var(--color-surface-content);
+ --tw-prose-th-borders: var(--color-surface-300);
+ --tw-prose-td-borders: var(--color-surface-300);
+ }
+}
diff --git a/packages/tailwind/src/lib/css/themes/basic.css b/packages/tailwind/src/lib/css/themes/basic.css
new file mode 100644
index 0000000..437d940
--- /dev/null
+++ b/packages/tailwind/src/lib/css/themes/basic.css
@@ -0,0 +1,45 @@
+:root {
+ color-scheme: light;
+ --color-primary: var(--color-blue-500);
+ --color-primary-content: var(--color-white);
+ --color-secondary: var(--color-orange-500);
+ --color-surface-100: var(--color-white);
+ --color-surface-200: var(--color-gray-100);
+ --color-surface-300: var(--color-gray-300);
+ --color-surface-content: var(--color-gray-900);
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ color-scheme: dark;
+ --color-primary: var(--color-blue-500);
+ --color-primary-content: var(--color-white);
+ --color-secondary: var(--color-orange-500);
+ --color-surface-100: var(--color-zinc-800);
+ --color-surface-200: var(--color-zinc-900);
+ --color-surface-300: var(--color-zinc-950);
+ --color-surface-content: var(--color-zinc-100);
+ }
+}
+
+[data-theme='light'] {
+ color-scheme: light;
+ --color-primary: var(--color-blue-500);
+ --color-primary-content: var(--color-white);
+ --color-secondary: var(--color-orange-500);
+ --color-surface-100: var(--color-white);
+ --color-surface-200: var(--color-gray-100);
+ --color-surface-300: var(--color-gray-300);
+ --color-surface-content: var(--color-gray-900);
+}
+
+[data-theme='dark'] {
+ color-scheme: dark;
+ --color-primary: var(--color-blue-500);
+ --color-primary-content: var(--color-white);
+ --color-secondary: var(--color-orange-500);
+ --color-surface-100: var(--color-zinc-800);
+ --color-surface-200: var(--color-zinc-900);
+ --color-surface-300: var(--color-zinc-950);
+ --color-surface-content: var(--color-zinc-100);
+}
diff --git a/packages/tailwind/src/lib/css/themes/generated/all.css b/packages/tailwind/src/lib/css/themes/generated/all.css
new file mode 100644
index 0000000..779f6f4
--- /dev/null
+++ b/packages/tailwind/src/lib/css/themes/generated/all.css
@@ -0,0 +1,5589 @@
+:root {
+ color-scheme: light;
+ --color-primary: hsl(257.4075 100% 50%);
+ --color-secondary: hsl(310.4453 100% 50%);
+ --color-secondary-content: hsl(320.0789 100% 98.6494%);
+ --color-accent: hsl(173.4835 100% 42.1865%);
+ --color-neutral: hsl(214.2857 19.6262% 20.9804%);
+ --color-neutral-content: hsl(212.3077 19.403% 86.8627%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(0 0% 94.902%);
+ --color-surface-300: hsl(180 1.9608% 90%);
+ --color-surface-content: hsl(215 27.907% 16.8627%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(227.6647 100% 91.0748%);
+ --color-primary-50: hsl(232.3457 100% 76.8157%);
+ --color-primary-100: hsl(233.4035 100% 74.9896%);
+ --color-primary-200: hsl(236.0867 100% 71.5789%);
+ --color-primary-300: hsl(239.9818 100% 68.5879%);
+ --color-primary-400: hsl(245.7714 100% 62.5712%);
+ --color-primary-500: hsl(257.4075 100% 50%);
+ --color-primary-600: hsl(256.3942 100% 45.2974%);
+ --color-primary-700: hsl(255.9702 100% 38.7195%);
+ --color-primary-800: hsl(255.3947 100% 32.3445%);
+ --color-primary-900: hsl(254.5739 100% 26.1938%);
+ --color-secondary-50: hsl(312.9534 100% 79.1139%);
+ --color-secondary-100: hsl(312.8775 100% 76.9231%);
+ --color-secondary-200: hsl(312.6258 100% 72.1652%);
+ --color-secondary-300: hsl(312.1478 100% 66.4927%);
+ --color-secondary-400: hsl(311.0379 100% 57.9643%);
+ --color-secondary-500: hsl(310.4453 100% 50%);
+ --color-secondary-600: hsl(314.516 100% 47.3052%);
+ --color-secondary-700: hsl(314.6511 100% 40.4525%);
+ --color-secondary-800: hsl(314.8343 100% 33.8111%);
+ --color-secondary-900: hsl(315.0952 100% 27.4033%);
+ --color-accent-content: hsl(168.722 100% 3.2602%);
+ --color-accent-50: hsl(171.3855 72.5307% 71.4464%);
+ --color-accent-100: hsl(171.7771 72.9012% 68.0855%);
+ --color-accent-200: hsl(172.7542 74.2685% 59.9573%);
+ --color-accent-300: hsl(174.6018 100% 43.9907%);
+ --color-accent-400: hsl(174.0311 100% 43.1035%);
+ --color-accent-500: hsl(173.4835 100% 42.1865%);
+ --color-accent-600: hsl(173.4232 100% 36.6415%);
+ --color-accent-700: hsl(173.3439 100% 31.2487%);
+ --color-accent-800: hsl(173.2358 100% 26.0221%);
+ --color-accent-900: hsl(173.0804 100% 20.9795%);
+ --color-neutral-50: hsl(214.3814 5.8279% 54.0221%);
+ --color-neutral-100: hsl(214.3741 5.7772% 50.1155%);
+ --color-neutral-200: hsl(214.3577 7.6767% 42.4628%);
+ --color-neutral-300: hsl(214.3385 10.2652% 35.04%);
+ --color-neutral-400: hsl(214.3153 13.944% 27.8698%);
+ --color-neutral-500: hsl(214.2857 19.6262% 20.9804%);
+ --color-neutral-600: hsl(214.2857 20.3782% 17.7128%);
+ --color-neutral-700: hsl(214.2857 21.4338% 14.5349%);
+ --color-neutral-800: hsl(214.2857 23.0159% 11.455%);
+ --color-neutral-900: hsl(214.2857 25.6311% 8.4834%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ color-scheme: dark;
+ --color-primary: hsl(234.8208 100% 72.6713%);
+ --color-secondary: hsl(313.3209 100% 66.1653%);
+ --color-accent: hsl(173.7346 100% 40.1728%);
+ --color-neutral: hsl(213.3333 17.6471% 20%);
+ --color-neutral-content: hsl(220 13.3758% 69.2157%);
+ --color-surface-100: hsl(212.3077 18.3099% 13.9216%);
+ --color-surface-200: hsl(212.7273 18.0328% 11.9608%);
+ --color-surface-300: hsl(213.3333 17.6471% 10%);
+ --color-surface-content: hsl(220 13.3758% 69.2157%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(236.4483 66.7205% 5.3866%);
+ --color-primary-50: hsl(229.7915 100% 84.0735%);
+ --color-primary-100: hsl(230.1859 100% 82.7145%);
+ --color-primary-200: hsl(231.0667 100% 80.0547%);
+ --color-primary-300: hsl(232.0983 100% 77.4828%);
+ --color-primary-400: hsl(233.327 100% 75.0147%);
+ --color-primary-500: hsl(234.8208 100% 72.6713%);
+ --color-primary-600: hsl(235.0704 70.3808% 64.2382%);
+ --color-primary-700: hsl(235.0704 47.9454% 54.6908%);
+ --color-primary-800: hsl(235.0704 40.46% 45.4378%);
+ --color-primary-900: hsl(235.0704 41.5282% 36.5104%);
+ --color-secondary-content: hsl(320.8908 83.2641% 5.2689%);
+ --color-secondary-50: hsl(314.3395 100% 83.432%);
+ --color-secondary-100: hsl(314.31 100% 81.8013%);
+ --color-secondary-200: hsl(314.212 100% 78.4165%);
+ --color-secondary-300: hsl(314.0445 100% 74.8016%);
+ --color-secondary-400: hsl(313.7722 100% 70.8191%);
+ --color-secondary-500: hsl(313.3209 100% 66.1653%);
+ --color-secondary-600: hsl(318.1553 84.2932% 60.7486%);
+ --color-secondary-700: hsl(318.1553 59.0977% 51.679%);
+ --color-secondary-800: hsl(318.1553 56.347% 42.889%);
+ --color-secondary-900: hsl(318.1553 57.9256% 34.4083%);
+ --color-accent-content: hsl(168.7443 100% 2.9908%);
+ --color-accent-50: hsl(171.1098 64.2687% 71.4638%);
+ --color-accent-100: hsl(171.4554 64.6409% 68.3324%);
+ --color-accent-200: hsl(172.2753 65.8475% 61.2424%);
+ --color-accent-300: hsl(173.5236 68.6512% 51.112%);
+ --color-accent-400: hsl(174.292 100% 41.2676%);
+ --color-accent-500: hsl(173.7346 100% 40.1728%);
+ --color-accent-600: hsl(173.6737 100% 34.8763%);
+ --color-accent-700: hsl(173.5935 100% 29.7251%);
+ --color-accent-800: hsl(173.484 100% 24.7328%);
+ --color-accent-900: hsl(173.3263 100% 19.9161%);
+ --color-neutral-50: hsl(213.4653 4.9421% 53.3722%);
+ --color-neutral-100: hsl(213.4565 5.0146% 49.4173%);
+ --color-neutral-200: hsl(213.4361 6.723% 41.6751%);
+ --color-neutral-300: hsl(213.4108 9.0416% 34.1738%);
+ --color-neutral-400: hsl(213.3782 12.3819% 26.9382%);
+ --color-neutral-500: hsl(213.3333 17.6471% 20%);
+ --color-neutral-600: hsl(213.3333 18.3577% 16.8534%);
+ --color-neutral-700: hsl(213.3333 19.3599% 13.7931%);
+ --color-neutral-800: hsl(213.3333 20.8717% 10.8272%);
+ --color-neutral-900: hsl(213.3333 23.3974% 7.9657%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ }
+}
+
+[data-theme="light"] {
+ color-scheme: light;
+ --color-primary: hsl(257.4075 100% 50%);
+ --color-secondary: hsl(310.4453 100% 50%);
+ --color-secondary-content: hsl(320.0789 100% 98.6494%);
+ --color-accent: hsl(173.4835 100% 42.1865%);
+ --color-neutral: hsl(214.2857 19.6262% 20.9804%);
+ --color-neutral-content: hsl(212.3077 19.403% 86.8627%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(0 0% 94.902%);
+ --color-surface-300: hsl(180 1.9608% 90%);
+ --color-surface-content: hsl(215 27.907% 16.8627%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(227.6647 100% 91.0748%);
+ --color-primary-50: hsl(232.3457 100% 76.8157%);
+ --color-primary-100: hsl(233.4035 100% 74.9896%);
+ --color-primary-200: hsl(236.0867 100% 71.5789%);
+ --color-primary-300: hsl(239.9818 100% 68.5879%);
+ --color-primary-400: hsl(245.7714 100% 62.5712%);
+ --color-primary-500: hsl(257.4075 100% 50%);
+ --color-primary-600: hsl(256.3942 100% 45.2974%);
+ --color-primary-700: hsl(255.9702 100% 38.7195%);
+ --color-primary-800: hsl(255.3947 100% 32.3445%);
+ --color-primary-900: hsl(254.5739 100% 26.1938%);
+ --color-secondary-50: hsl(312.9534 100% 79.1139%);
+ --color-secondary-100: hsl(312.8775 100% 76.9231%);
+ --color-secondary-200: hsl(312.6258 100% 72.1652%);
+ --color-secondary-300: hsl(312.1478 100% 66.4927%);
+ --color-secondary-400: hsl(311.0379 100% 57.9643%);
+ --color-secondary-500: hsl(310.4453 100% 50%);
+ --color-secondary-600: hsl(314.516 100% 47.3052%);
+ --color-secondary-700: hsl(314.6511 100% 40.4525%);
+ --color-secondary-800: hsl(314.8343 100% 33.8111%);
+ --color-secondary-900: hsl(315.0952 100% 27.4033%);
+ --color-accent-content: hsl(168.722 100% 3.2602%);
+ --color-accent-50: hsl(171.3855 72.5307% 71.4464%);
+ --color-accent-100: hsl(171.7771 72.9012% 68.0855%);
+ --color-accent-200: hsl(172.7542 74.2685% 59.9573%);
+ --color-accent-300: hsl(174.6018 100% 43.9907%);
+ --color-accent-400: hsl(174.0311 100% 43.1035%);
+ --color-accent-500: hsl(173.4835 100% 42.1865%);
+ --color-accent-600: hsl(173.4232 100% 36.6415%);
+ --color-accent-700: hsl(173.3439 100% 31.2487%);
+ --color-accent-800: hsl(173.2358 100% 26.0221%);
+ --color-accent-900: hsl(173.0804 100% 20.9795%);
+ --color-neutral-50: hsl(214.3814 5.8279% 54.0221%);
+ --color-neutral-100: hsl(214.3741 5.7772% 50.1155%);
+ --color-neutral-200: hsl(214.3577 7.6767% 42.4628%);
+ --color-neutral-300: hsl(214.3385 10.2652% 35.04%);
+ --color-neutral-400: hsl(214.3153 13.944% 27.8698%);
+ --color-neutral-500: hsl(214.2857 19.6262% 20.9804%);
+ --color-neutral-600: hsl(214.2857 20.3782% 17.7128%);
+ --color-neutral-700: hsl(214.2857 21.4338% 14.5349%);
+ --color-neutral-800: hsl(214.2857 23.0159% 11.455%);
+ --color-neutral-900: hsl(214.2857 25.6311% 8.4834%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+}
+
+[data-theme="dark"] {
+ color-scheme: dark;
+ --color-primary: hsl(234.8208 100% 72.6713%);
+ --color-secondary: hsl(313.3209 100% 66.1653%);
+ --color-accent: hsl(173.7346 100% 40.1728%);
+ --color-neutral: hsl(213.3333 17.6471% 20%);
+ --color-neutral-content: hsl(220 13.3758% 69.2157%);
+ --color-surface-100: hsl(212.3077 18.3099% 13.9216%);
+ --color-surface-200: hsl(212.7273 18.0328% 11.9608%);
+ --color-surface-300: hsl(213.3333 17.6471% 10%);
+ --color-surface-content: hsl(220 13.3758% 69.2157%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(236.4483 66.7205% 5.3866%);
+ --color-primary-50: hsl(229.7915 100% 84.0735%);
+ --color-primary-100: hsl(230.1859 100% 82.7145%);
+ --color-primary-200: hsl(231.0667 100% 80.0547%);
+ --color-primary-300: hsl(232.0983 100% 77.4828%);
+ --color-primary-400: hsl(233.327 100% 75.0147%);
+ --color-primary-500: hsl(234.8208 100% 72.6713%);
+ --color-primary-600: hsl(235.0704 70.3808% 64.2382%);
+ --color-primary-700: hsl(235.0704 47.9454% 54.6908%);
+ --color-primary-800: hsl(235.0704 40.46% 45.4378%);
+ --color-primary-900: hsl(235.0704 41.5282% 36.5104%);
+ --color-secondary-content: hsl(320.8908 83.2641% 5.2689%);
+ --color-secondary-50: hsl(314.3395 100% 83.432%);
+ --color-secondary-100: hsl(314.31 100% 81.8013%);
+ --color-secondary-200: hsl(314.212 100% 78.4165%);
+ --color-secondary-300: hsl(314.0445 100% 74.8016%);
+ --color-secondary-400: hsl(313.7722 100% 70.8191%);
+ --color-secondary-500: hsl(313.3209 100% 66.1653%);
+ --color-secondary-600: hsl(318.1553 84.2932% 60.7486%);
+ --color-secondary-700: hsl(318.1553 59.0977% 51.679%);
+ --color-secondary-800: hsl(318.1553 56.347% 42.889%);
+ --color-secondary-900: hsl(318.1553 57.9256% 34.4083%);
+ --color-accent-content: hsl(168.7443 100% 2.9908%);
+ --color-accent-50: hsl(171.1098 64.2687% 71.4638%);
+ --color-accent-100: hsl(171.4554 64.6409% 68.3324%);
+ --color-accent-200: hsl(172.2753 65.8475% 61.2424%);
+ --color-accent-300: hsl(173.5236 68.6512% 51.112%);
+ --color-accent-400: hsl(174.292 100% 41.2676%);
+ --color-accent-500: hsl(173.7346 100% 40.1728%);
+ --color-accent-600: hsl(173.6737 100% 34.8763%);
+ --color-accent-700: hsl(173.5935 100% 29.7251%);
+ --color-accent-800: hsl(173.484 100% 24.7328%);
+ --color-accent-900: hsl(173.3263 100% 19.9161%);
+ --color-neutral-50: hsl(213.4653 4.9421% 53.3722%);
+ --color-neutral-100: hsl(213.4565 5.0146% 49.4173%);
+ --color-neutral-200: hsl(213.4361 6.723% 41.6751%);
+ --color-neutral-300: hsl(213.4108 9.0416% 34.1738%);
+ --color-neutral-400: hsl(213.3782 12.3819% 26.9382%);
+ --color-neutral-500: hsl(213.3333 17.6471% 20%);
+ --color-neutral-600: hsl(213.3333 18.3577% 16.8534%);
+ --color-neutral-700: hsl(213.3333 19.3599% 13.7931%);
+ --color-neutral-800: hsl(213.3333 20.8717% 10.8272%);
+ --color-neutral-900: hsl(213.3333 23.3974% 7.9657%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+}
+
+[data-theme="cupcake"] {
+ color-scheme: light;
+ --color-primary: hsl(183.0303 47.3684% 59.0196%);
+ --color-secondary: hsl(338.25 71.4286% 78.0392%);
+ --color-accent: hsl(39 84.1121% 58.0392%);
+ --color-neutral: hsl(280 46.4789% 13.9216%);
+ --color-surface-100: hsl(24 33.3333% 97.0588%);
+ --color-surface-200: hsl(26.6667 21.9512% 91.9608%);
+ --color-surface-300: hsl(22.5 14.2857% 89.0196%);
+ --color-surface-content: hsl(280 46.4789% 13.9216%);
+ --rounded-btn: 1.9rem;
+ --tab-border: 2px;
+ --tab-radius: 0.7rem;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(183.592 61.9534% 3.5354%);
+ --color-primary-50: hsl(182.8135 45.0464% 78.3089%);
+ --color-primary-100: hsl(182.8508 45.1979% 76.2843%);
+ --color-primary-200: hsl(182.9191 45.5551% 72.1801%);
+ --color-primary-300: hsl(182.9757 46.0058% 67.9748%);
+ --color-primary-400: hsl(183.0156 46.5882% 63.6177%);
+ --color-primary-500: hsl(183.0303 47.3684% 59.0196%);
+ --color-primary-600: hsl(183.0303 34.7686% 51.0581%);
+ --color-primary-700: hsl(183.0303 33.9069% 43.3151%);
+ --color-primary-800: hsl(183.0303 34.7075% 35.8109%);
+ --color-primary-900: hsl(183.0303 35.8784% 28.5707%);
+ --color-secondary-content: hsl(338.3261 36.8805% 5.6774%);
+ --color-secondary-50: hsl(339.9637 77.8725% 88.3746%);
+ --color-secondary-100: hsl(339.7914 77.1042% 87.2641%);
+ --color-secondary-200: hsl(339.435 75.6078% 85.0159%);
+ --color-secondary-300: hsl(339.0611 74.1636% 82.7301%);
+ --color-secondary-400: hsl(338.667 72.7707% 80.4053%);
+ --color-secondary-500: hsl(338.25 71.4286% 78.0392%);
+ --color-secondary-600: hsl(338.25 42.6122% 67.7308%);
+ --color-secondary-700: hsl(338.25 28.0605% 57.7052%);
+ --color-secondary-800: hsl(338.25 20.9292% 47.9888%);
+ --color-secondary-900: hsl(338.25 21.4516% 38.6143%);
+ --color-accent-content: hsl(32.7716 89.276% 4.078%);
+ --color-accent-50: hsl(36.6302 84.5383% 79.2533%);
+ --color-accent-100: hsl(36.7295 84.3776% 77.2485%);
+ --color-accent-200: hsl(36.9903 84.0998% 73.1112%);
+ --color-accent-300: hsl(37.3729 83.9063% 68.7199%);
+ --color-accent-400: hsl(37.9652 83.8573% 63.8784%);
+ --color-accent-500: hsl(39 84.1121% 58.0392%);
+ --color-accent-600: hsl(39 62.1248% 50.1987%);
+ --color-accent-700: hsl(39 62.723% 42.5733%);
+ --color-accent-800: hsl(39 64.2304% 35.1831%);
+ --color-accent-900: hsl(39 66.4374% 28.053%);
+ --color-neutral-content: hsl(277.4916 8.9902% 81.0734%);
+ --color-neutral-50: hsl(277.9531 8.5356% 49.8233%);
+ --color-neutral-100: hsl(278.0513 10.0106% 45.5792%);
+ --color-neutral-200: hsl(278.2915 13.7729% 37.2757%);
+ --color-neutral-300: hsl(278.6202 19.2768% 29.2321%);
+ --color-neutral-400: hsl(279.1131 28.2712% 21.4582%);
+ --color-neutral-500: hsl(280 46.4789% 13.9216%);
+ --color-neutral-600: hsl(280 49.2159% 11.525%);
+ --color-neutral-700: hsl(280 53.2465% 9.1942%);
+ --color-neutral-800: hsl(279.7716 58.6676% 6.9821%);
+ --color-neutral-900: hsl(278.4947 63.6173% 4.9951%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+}
+
+[data-theme="bumblebee"] {
+ color-scheme: light;
+ --color-primary: hsl(51.1671 100% 50%);
+ --color-primary-content: hsl(48.6495 31.4788% 22.6077%);
+ --color-secondary: hsl(38.6454 100% 50%);
+ --color-secondary-content: hsl(34.0814 58.921% 22.9243%);
+ --color-accent: hsl(28.7938 100% 65.8965%);
+ --color-neutral: hsl(249.9215 99.0127% 6.9007%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-50: hsl(50.1329 100% 77.853%);
+ --color-primary-100: hsl(50.174 100% 75.4365%);
+ --color-primary-200: hsl(50.3764 100% 70.0218%);
+ --color-primary-300: hsl(50.8957 100% 62.9194%);
+ --color-primary-400: hsl(52.2272 100% 50%);
+ --color-primary-500: hsl(51.1671 100% 50%);
+ --color-primary-600: hsl(49.7902 100% 44.6334%);
+ --color-primary-700: hsl(49.6894 100% 38.1464%);
+ --color-primary-800: hsl(49.5526 100% 31.8595%);
+ --color-primary-900: hsl(49.3574 100% 25.7938%);
+ --color-secondary-50: hsl(35.3928 100% 77.3594%);
+ --color-secondary-100: hsl(35.514 100% 75.0514%);
+ --color-secondary-200: hsl(35.9342 100% 70.0664%);
+ --color-secondary-300: hsl(36.8072 100% 64.0955%);
+ --color-secondary-400: hsl(39.4957 100% 53.7492%);
+ --color-secondary-500: hsl(38.6454 100% 50%);
+ --color-secondary-600: hsl(36.7251 100% 45.5675%);
+ --color-secondary-700: hsl(36.5002 100% 38.9527%);
+ --color-secondary-800: hsl(36.1949 100% 32.5418%);
+ --color-secondary-900: hsl(35.7596 100% 26.3565%);
+ --color-accent-content: hsl(21.2807 83.2924% 5.0996%);
+ --color-accent-50: hsl(27.8466 100% 82.4383%);
+ --color-accent-100: hsl(27.8448 100% 80.7792%);
+ --color-accent-200: hsl(27.8857 100% 77.3881%);
+ --color-accent-300: hsl(28.0125 100% 73.8545%);
+ --color-accent-400: hsl(28.2784 100% 70.0873%);
+ --color-accent-500: hsl(28.7938 100% 65.8965%);
+ --color-accent-600: hsl(26.6421 79.7786% 59.5008%);
+ --color-accent-700: hsl(26.6421 56.4524% 50.602%);
+ --color-accent-800: hsl(26.6421 56.2193% 41.9775%);
+ --color-accent-900: hsl(26.6421 57.8295% 33.6566%);
+ --color-neutral-content: hsl(235.0933 11.0335% 79.1266%);
+ --color-neutral-50: hsl(236.3956 12.1636% 44.9745%);
+ --color-neutral-100: hsl(236.7583 14.3576% 40.3892%);
+ --color-neutral-200: hsl(237.8082 20.0825% 31.485%);
+ --color-neutral-300: hsl(239.7177 28.7822% 22.991%);
+ --color-neutral-400: hsl(243.8584 48.1176% 14.5744%);
+ --color-neutral-500: hsl(249.9215 99.0127% 6.9007%);
+ --color-neutral-600: hsl(248.7387 99.1294% 5.7048%);
+ --color-neutral-700: hsl(247.6985 99.2322% 4.5433%);
+ --color-neutral-800: hsl(246.8474 99.3165% 3.4191%);
+ --color-neutral-900: hsl(246.3091 99.3699% 2.3356%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(223.8136 0.0001% 90.851%);
+ --color-surface-300: hsl(223.8136 0% 82.4954%);
+ --color-surface-content: hsl(223.8136 0% 8.6104%);
+}
+
+[data-theme="emerald"] {
+ color-scheme: light;
+ --color-primary: hsl(141.1765 50% 60%);
+ --color-primary-content: hsl(151.1111 28.4211% 18.6275%);
+ --color-secondary: hsl(218.8776 96.0784% 60%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent: hsl(10.4895 88.8199% 68.4314%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-neutral: hsl(219.2308 20.3125% 25.098%);
+ --color-neutral-content: hsl(210 20% 98.0392%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-content: hsl(219.2308 20.3125% 25.098%);
+ --animation-btn: 0;
+ --animation-input: 0;
+ --btn-focus-scale: 1;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-50: hsl(136.9122 48.8676% 79.068%);
+ --color-primary-100: hsl(137.241 48.887% 77.0872%);
+ --color-primary-200: hsl(137.9749 48.9801% 73.057%);
+ --color-primary-300: hsl(138.8376 49.1664% 68.9068%);
+ --color-primary-400: hsl(139.8774 49.4843% 64.5848%);
+ --color-primary-500: hsl(141.1765 50% 60%);
+ --color-primary-600: hsl(141.1765 36.4625% 51.9175%);
+ --color-primary-700: hsl(141.1765 34.3462% 44.0569%);
+ --color-primary-800: hsl(141.1765 35.1432% 36.4386%);
+ --color-primary-900: hsl(141.1765 36.3078% 29.0884%);
+ --color-secondary-50: hsl(217.7582 100% 78.5099%);
+ --color-secondary-100: hsl(217.9342 100% 76.5881%);
+ --color-secondary-200: hsl(218.2972 100% 72.7424%);
+ --color-secondary-300: hsl(218.6097 99.4576% 68.7869%);
+ --color-secondary-400: hsl(218.7788 97.7141% 64.5195%);
+ --color-secondary-500: hsl(218.8776 96.0784% 60%);
+ --color-secondary-600: hsl(218.8776 70.0652% 51.9175%);
+ --color-secondary-700: hsl(218.8776 65.9986% 44.0569%);
+ --color-secondary-800: hsl(218.8776 67.53% 36.4386%);
+ --color-secondary-900: hsl(218.8776 69.7678% 29.0884%);
+ --color-accent-50: hsl(11.1276 99.7017% 83.5571%);
+ --color-accent-100: hsl(11.0807 98.3642% 81.9586%);
+ --color-accent-200: hsl(10.9696 95.7901% 78.7075%);
+ --color-accent-300: hsl(10.8343 93.3439% 75.3784%);
+ --color-accent-400: hsl(10.6739 91.0205% 71.9599%);
+ --color-accent-500: hsl(10.4895 88.8199% 68.4314%);
+ --color-accent-600: hsl(10.4895 60.4039% 59.3085%);
+ --color-accent-700: hsl(10.4895 42.8018% 50.436%);
+ --color-accent-800: hsl(10.4895 42.9118% 41.8371%);
+ --color-accent-900: hsl(10.4895 44.1451% 33.5407%);
+ --color-neutral-50: hsl(219.0029 7.5926% 56.6636%);
+ --color-neutral-100: hsl(219.0128 7.5265% 52.9589%);
+ --color-neutral-200: hsl(219.039 8.7761% 45.6856%);
+ --color-neutral-300: hsl(219.0777 11.4776% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1166% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3125% 25.098%);
+ --color-neutral-600: hsl(219.2308 20.959% 21.3223%);
+ --color-neutral-700: hsl(219.2308 21.8532% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1644% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2595% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(223.8136 0.0001% 90.851%);
+ --color-surface-300: hsl(223.8136 0% 82.4954%);
+}
+
+[data-theme="corporate"] {
+ color-scheme: light;
+ --color-primary: hsl(228.8755 100% 65.0987%);
+ --color-secondary: hsl(214.9091 26.3158% 59.0196%);
+ --color-accent: hsl(154.2 49.0196% 60%);
+ --color-neutral: hsl(233.3333 27.2727% 12.9412%);
+ --color-neutral-content: hsl(210 38.4615% 94.902%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-content: hsl(233.3333 27.2727% 12.9412%);
+ --rounded-box: 0.25rem;
+ --rounded-btn: 0.125rem;
+ --rounded-badge: 0.125rem;
+ --tab-radius: 0.25rem;
+ --animation-btn: 0;
+ --animation-input: 0;
+ --btn-focus-scale: 1;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(233.8621 84.3302% 4.8956%);
+ --color-primary-50: hsl(223.386 100% 79.6774%);
+ --color-primary-100: hsl(223.7755 100% 77.9322%);
+ --color-primary-200: hsl(224.6622 100% 74.5121%);
+ --color-primary-300: hsl(225.7388 100% 71.2051%);
+ --color-primary-400: hsl(227.0922 100% 68.0469%);
+ --color-primary-500: hsl(228.8755 100% 65.0987%);
+ --color-primary-600: hsl(229.3476 75.6093% 57.7428%);
+ --color-primary-700: hsl(229.3476 56.1811% 49.0846%);
+ --color-primary-800: hsl(229.3476 57.3484% 40.6934%);
+ --color-primary-900: hsl(229.3476 59.0442% 32.5975%);
+ --color-secondary-content: hsl(218.0454 38.1404% 3.3095%);
+ --color-secondary-50: hsl(214.9523 27.3495% 77.0969%);
+ --color-secondary-100: hsl(214.9469 27.2411% 75.0581%);
+ --color-secondary-200: hsl(214.9366 27.0194% 71.003%);
+ --color-secondary-300: hsl(214.927 26.7912% 66.9781%);
+ --color-secondary-400: hsl(214.9179 26.5566% 62.9836%);
+ --color-secondary-500: hsl(214.9091 26.3158% 59.0196%);
+ --color-secondary-600: hsl(214.9091 19.3159% 51.0581%);
+ --color-secondary-700: hsl(214.9091 18.8372% 43.3151%);
+ --color-secondary-800: hsl(214.9091 19.2819% 35.8109%);
+ --color-secondary-900: hsl(214.9091 19.9325% 28.5707%);
+ --color-accent-content: hsl(149.8793 61.5121% 3.6425%);
+ --color-accent-50: hsl(150.5849 47.4928% 79.03%);
+ --color-accent-100: hsl(150.8798 47.5557% 77.0501%);
+ --color-accent-200: hsl(151.5279 47.7361% 73.0236%);
+ --color-accent-300: hsl(152.2721 48.0103% 68.8804%);
+ --color-accent-400: hsl(153.1448 48.4163% 64.569%);
+ --color-accent-500: hsl(154.2 49.0196% 60%);
+ --color-accent-600: hsl(154.2 35.7475% 51.9175%);
+ --color-accent-700: hsl(154.2 33.6728% 44.0569%);
+ --color-accent-800: hsl(154.2 34.4541% 36.4386%);
+ --color-accent-900: hsl(154.2 35.5958% 29.0884%);
+ --color-neutral-50: hsl(231.2026 5.275% 48.6833%);
+ --color-neutral-100: hsl(231.2834 6.1879% 44.3781%);
+ --color-neutral-200: hsl(231.4942 8.5092% 35.9872%);
+ --color-neutral-300: hsl(231.8106 11.8708% 27.9174%);
+ --color-neutral-400: hsl(232.3322 17.2238% 20.2136%);
+ --color-neutral-500: hsl(233.3333 27.2727% 12.9412%);
+ --color-neutral-600: hsl(233.3333 29.0082% 10.6656%);
+ --color-neutral-700: hsl(233.3333 31.5923% 8.4525%);
+ --color-neutral-800: hsl(233.3333 35.8271% 6.3076%);
+ --color-neutral-900: hsl(234.3645 41.069% 4.3255%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(223.8136 0.0001% 90.851%);
+ --color-surface-300: hsl(223.8136 0% 82.4954%);
+}
+
+[data-theme="synthwave"] {
+ color-scheme: dark;
+ --color-primary: hsl(320.7273 69.6203% 69.0196%);
+ --color-secondary: hsl(197.0323 86.5922% 64.902%);
+ --color-accent: hsl(49.4271 100% 50%);
+ --color-neutral: hsl(253 58.8235% 20%);
+ --color-neutral-content: hsl(260 60% 98.0392%);
+ --color-surface-100: hsl(253.3333 58.4416% 15.098%);
+ --color-surface-content: hsl(260 60% 98.0392%);
+ --color-info: hsl(199.125 86.9565% 63.9216%);
+ --color-info-content: hsl(257.4545 63.2184% 17.0588%);
+ --color-success: hsl(168.0992 74.2331% 68.0392%);
+ --color-success-content: hsl(257.4545 63.2184% 17.0588%);
+ --color-warning: hsl(46.6667 75% 67.0588%);
+ --color-warning-content: hsl(257.4545 63.2184% 17.0588%);
+ --color-danger: hsl(10.3448 75.3247% 69.8039%);
+ --color-danger-content: hsl(257.4545 63.2184% 17.0588%);
+ --color-primary-content: hsl(322.2472 57.6268% 4.6639%);
+ --color-primary-50: hsl(323.4709 77.1979% 83.964%);
+ --color-primary-100: hsl(323.1958 76.2529% 82.3979%);
+ --color-primary-200: hsl(322.6282 74.4376% 79.2039%);
+ --color-primary-300: hsl(322.0328 72.7232% 75.9199%);
+ --color-primary-400: hsl(321.4025 71.1141% 72.5322%);
+ --color-primary-500: hsl(320.7273 69.6203% 69.0196%);
+ --color-primary-600: hsl(320.7273 47.0609% 59.8241%);
+ --color-primary-700: hsl(320.7273 33.2228% 50.881%);
+ --color-primary-800: hsl(320.7273 32.7146% 42.2137%);
+ --color-primary-900: hsl(320.7273 33.6462% 33.8513%);
+ --color-secondary-content: hsl(199.8597 77.5595% 4.4948%);
+ --color-secondary-50: hsl(198.6286 87.5707% 82.3884%);
+ --color-secondary-100: hsl(198.5299 87.3898% 80.6702%);
+ --color-secondary-200: hsl(198.2955 87.065% 77.1293%);
+ --color-secondary-300: hsl(197.995 86.8027% 73.4012%);
+ --color-secondary-400: hsl(197.5953 86.6285% 69.3901%);
+ --color-secondary-500: hsl(197.0323 86.5922% 64.902%);
+ --color-secondary-600: hsl(197.0323 60.8465% 56.2146%);
+ --color-secondary-700: hsl(197.0323 48.1402% 47.7657%);
+ --color-secondary-800: hsl(197.0323 49.1687% 39.5772%);
+ --color-secondary-900: hsl(197.0323 50.6649% 31.677%);
+ --color-accent-content: hsl(42.0309 100% 4.4636%);
+ --color-accent-50: hsl(47.8889 100% 77.9546%);
+ --color-accent-100: hsl(47.953 100% 75.5857%);
+ --color-accent-200: hsl(48.21 100% 70.3294%);
+ --color-accent-300: hsl(48.7969 100% 63.6303%);
+ --color-accent-400: hsl(50.659 100% 50%);
+ --color-accent-500: hsl(49.4271 100% 50%);
+ --color-accent-600: hsl(48.1946 100% 44.5287%);
+ --color-accent-700: hsl(48.0778 100% 38.0561%);
+ --color-accent-800: hsl(47.9192 100% 31.783%);
+ --color-accent-900: hsl(47.6929 100% 25.7307%);
+ --color-neutral-50: hsl(242.6109 16.2414% 54.6966%);
+ --color-neutral-100: hsl(243.0522 16.0433% 50.7656%);
+ --color-neutral-200: hsl(244.1805 20.7248% 42.997%);
+ --color-neutral-300: hsl(245.814 27.8394% 35.3399%);
+ --color-neutral-400: hsl(248.3741 38.6467% 27.7449%);
+ --color-neutral-500: hsl(253 58.8235% 20%);
+ --color-neutral-600: hsl(253 61.1923% 16.8534%);
+ --color-neutral-700: hsl(253 64.5328% 13.7931%);
+ --color-neutral-800: hsl(252.9101 69.3474% 10.8416%);
+ --color-neutral-900: hsl(251.6793 74.2761% 8.1355%);
+ --color-info-50: hsl(200.8937 88.4055% 81.8757%);
+ --color-info-100: hsl(200.7867 88.1686% 80.1116%);
+ --color-info-200: hsl(200.5322 87.7336% 76.4788%);
+ --color-info-300: hsl(200.2037 87.3638% 72.6563%);
+ --color-info-400: hsl(199.7613 87.0865% 68.5421%);
+ --color-info-500: hsl(199.125 86.9565% 63.9216%);
+ --color-info-600: hsl(199.125 61.6002% 55.3552%);
+ --color-info-700: hsl(199.125 50.477% 47.0239%);
+ --color-info-800: hsl(199.125 51.5728% 38.9495%);
+ --color-info-900: hsl(199.125 53.1682% 31.1592%);
+ --color-success-50: hsl(165.7904 73.4139% 84.0541%);
+ --color-success-100: hsl(166.0004 73.4102% 82.4735%);
+ --color-success-200: hsl(166.4461 73.4546% 79.2076%);
+ --color-success-300: hsl(166.9337 73.5842% 75.7654%);
+ --color-success-400: hsl(167.4771 73.8276% 72.0809%);
+ --color-success-500: hsl(168.0992 74.2331% 68.0392%);
+ --color-success-600: hsl(168.0992 50.6828% 58.9647%);
+ --color-success-700: hsl(168.0992 36.0014% 50.1393%);
+ --color-success-800: hsl(168.0992 36.5293% 41.586%);
+ --color-success-900: hsl(168.0992 37.5856% 33.3336%);
+ --color-warning-50: hsl(46.4369 73.7305% 82.6664%);
+ --color-warning-100: hsl(46.4224 73.8225% 81.039%);
+ --color-warning-200: hsl(46.4149 74.0316% 77.7326%);
+ --color-warning-300: hsl(46.4432 74.2841% 74.3334%);
+ --color-warning-400: hsl(46.5203 74.5973% 70.7991%);
+ --color-warning-500: hsl(46.6667 75% 67.0588%);
+ --color-warning-600: hsl(46.6667 51.6945% 58.1053%);
+ --color-warning-700: hsl(46.6667 37.8406% 49.3975%);
+ --color-warning-800: hsl(46.6667 38.6217% 40.9582%);
+ --color-warning-900: hsl(46.6667 39.7562% 32.8159%);
+ --color-danger-50: hsl(10.8299 82.947% 83.9235%);
+ --color-danger-100: hsl(10.7951 82.039% 82.3996%);
+ --color-danger-200: hsl(10.7126 80.2701% 79.3204%);
+ --color-danger-300: hsl(10.6114 78.5618% 76.1974%);
+ --color-danger-400: hsl(10.4895 76.9131% 73.0273%);
+ --color-danger-500: hsl(10.3448 75.3247% 69.8039%);
+ --color-danger-600: hsl(10.3448 50.492% 60.5117%);
+ --color-danger-700: hsl(10.3448 35.4633% 51.4744%);
+ --color-danger-800: hsl(10.3448 34.0935% 42.7159%);
+ --color-danger-900: hsl(10.3448 35.0525% 34.2655%);
+ --color-surface-200: hsl(253.3333 60.5355% 13.3118%);
+ --color-surface-300: hsl(253.3333 63.0075% 11.6804%);
+}
+
+[data-theme="retro"] {
+ color-scheme: light;
+ --color-primary: hsl(2.6667 73.7705% 76.0784%);
+ --color-primary-content: hsl(345 5.2632% 14.902%);
+ --color-secondary: hsl(144.6154 27.2727% 71.9608%);
+ --color-secondary-content: hsl(345 5.2632% 14.902%);
+ --color-accent: hsl(24 66.6667% 58.8235%);
+ --color-accent-content: hsl(345 5.2632% 14.902%);
+ --color-neutral: hsl(340 6.9767% 16.8627%);
+ --color-neutral-content: hsl(43.2 40.9836% 88.0392%);
+ --color-surface-100: hsl(44.1176 47.2222% 85.8824%);
+ --color-surface-200: hsl(45 47.0588% 80%);
+ --color-surface-300: hsl(44.3077 47.4453% 73.1373%);
+ --color-surface-content: hsl(345 5.2632% 14.902%);
+ --color-info: hsl(221.2121 83.1933% 53.3333%);
+ --color-success: hsl(142.1277 76.2162% 36.2745%);
+ --color-warning: hsl(32.1327 94.6188% 43.7255%);
+ --color-danger: hsl(3.3252 87.4903% 61.7362%);
+ --rounded-box: 0.4rem;
+ --rounded-btn: 0.4rem;
+ --rounded-badge: 0.4rem;
+ --tab-radius: 0.4rem;
+ --color-primary-50: hsl(3.6837 81.4365% 87.2108%);
+ --color-primary-100: hsl(3.5985 80.5338% 86.0016%);
+ --color-primary-200: hsl(3.4105 78.7692% 83.562%);
+ --color-primary-300: hsl(3.1958 77.0559% 81.0946%);
+ --color-primary-400: hsl(2.9498 75.3906% 78.6%);
+ --color-primary-500: hsl(2.6667 73.7705% 76.0784%);
+ --color-primary-600: hsl(2.6667 45.5144% 66.0119%);
+ --color-primary-700: hsl(2.6667 30.4983% 56.2217%);
+ --color-primary-800: hsl(2.6667 24.1779% 46.7334%);
+ --color-primary-900: hsl(2.6667 24.7981% 37.5789%);
+ --color-secondary-50: hsl(143.494 27.2321% 84.5322%);
+ --color-secondary-100: hsl(143.6018 27.2295% 83.1334%);
+ --color-secondary-200: hsl(143.8285 27.2286% 80.3383%);
+ --color-secondary-300: hsl(144.0715 27.2347% 77.5454%);
+ --color-secondary-400: hsl(144.333 27.2489% 74.7534%);
+ --color-secondary-500: hsl(144.6154 27.2727% 71.9608%);
+ --color-secondary-600: hsl(144.6154 17.8294% 62.4024%);
+ --color-secondary-700: hsl(144.6154 12.3379% 53.1063%);
+ --color-secondary-800: hsl(144.6154 11.1035% 44.0969%);
+ --color-secondary-900: hsl(144.6154 11.4058% 35.4045%);
+ --color-accent-50: hsl(22.7677 70.4023% 78.1888%);
+ --color-accent-100: hsl(22.8402 69.917% 76.1434%);
+ --color-accent-200: hsl(23.0105 68.982% 72.0018%);
+ --color-accent-300: hsl(23.232 68.1074% 67.7706%);
+ --color-accent-400: hsl(23.5391 67.3191% 63.4061%);
+ --color-accent-500: hsl(24 66.6667% 58.8235%);
+ --color-accent-600: hsl(24 48.9957% 50.8862%);
+ --color-accent-700: hsl(24 48.1139% 43.1668%);
+ --color-accent-800: hsl(24 49.2539% 35.6853%);
+ --color-accent-900: hsl(24 50.9217% 28.4671%);
+ --color-neutral-50: hsl(340.6798 1.6296% 51.2796%);
+ --color-neutral-100: hsl(340.6417 1.8068% 47.1695%);
+ --color-neutral-200: hsl(340.5493 2.4512% 39.1408%);
+ --color-neutral-300: hsl(340.4265 3.351% 31.3895%);
+ --color-neutral-400: hsl(340.2553 4.7018% 23.9487%);
+ --color-neutral-500: hsl(340 6.9767% 16.8627%);
+ --color-neutral-600: hsl(340 7.3125% 14.1033%);
+ --color-neutral-700: hsl(340 7.7946% 11.4195%);
+ --color-neutral-800: hsl(340 8.542% 8.8185%);
+ --color-neutral-900: hsl(340 9.8471% 6.309%);
+ --color-info-content: hsl(218.9847 98.1914% 91.1191%);
+ --color-info-50: hsl(219.5223 90.8982% 75.1352%);
+ --color-info-100: hsl(219.6486 89.9471% 72.8089%);
+ --color-info-200: hsl(219.9484 88.1075% 68.1172%);
+ --color-info-300: hsl(220.3175 86.3541% 63.3558%);
+ --color-info-400: hsl(220.756 84.7001% 58.4762%);
+ --color-info-500: hsl(221.2121 83.1933% 53.3333%);
+ --color-info-600: hsl(221.2121 73.8664% 46.0735%);
+ --color-info-700: hsl(221.2121 75.2921% 39.0129%);
+ --color-info-800: hsl(221.2121 77.2709% 32.17%);
+ --color-info-900: hsl(221.2121 80.1841% 25.5679%);
+ --color-success-content: hsl(130.1256 95.7127% 1.9343%);
+ --color-success-50: hsl(130.3106 37.672% 68.7269%);
+ --color-success-100: hsl(130.8008 37.753% 65.7761%);
+ --color-success-200: hsl(131.9998 38.0525% 59.7265%);
+ --color-success-300: hsl(133.6564 38.6495% 53.3423%);
+ --color-success-400: hsl(136.2425 46.3769% 46.2272%);
+ --color-success-500: hsl(142.1277 76.2162% 36.2745%);
+ --color-success-600: hsl(142.1277 77.8784% 31.1197%);
+ --color-success-700: hsl(142.1277 80.1246% 26.1063%);
+ --color-success-800: hsl(142.117 83.2701% 21.2525%);
+ --color-success-900: hsl(141.7625 86.5918% 16.6991%);
+ --color-warning-content: hsl(17.1667 99.4327% 3.3181%);
+ --color-warning-50: hsl(25.8631 74.2191% 73.8529%);
+ --color-warning-100: hsl(26.0117 73.723% 71.3345%);
+ --color-warning-200: hsl(26.407 72.8234% 66.1392%);
+ --color-warning-300: hsl(27.0339 72.1185% 60.5933%);
+ --color-warning-400: hsl(28.2027 71.8262% 54.2587%);
+ --color-warning-500: hsl(32.1327 94.6188% 43.7255%);
+ --color-warning-600: hsl(32.0048 95.4642% 37.8169%);
+ --color-warning-700: hsl(31.7888 96.25% 32.1253%);
+ --color-warning-800: hsl(31.4433 96.9725% 26.6578%);
+ --color-warning-900: hsl(30.8928 97.6278% 21.425%);
+ --color-danger-content: hsl(1.5684 84.471% 4.3206%);
+ --color-danger-50: hsl(6.645 100% 80.3116%);
+ --color-danger-100: hsl(6.3908 100% 78.5508%);
+ --color-danger-200: hsl(5.9013 97.1794% 74.6701%);
+ --color-danger-300: hsl(5.2994 93.7104% 70.5565%);
+ --color-danger-400: hsl(4.4885 90.4774% 66.2706%);
+ --color-danger-500: hsl(3.3252 87.4903% 61.7362%);
+ --color-danger-600: hsl(3.3252 63.0279% 53.4395%);
+ --color-danger-700: hsl(3.3252 55.8261% 45.3704%);
+ --color-danger-800: hsl(3.3252 57.0831% 37.5502%);
+ --color-danger-900: hsl(3.3252 58.917% 30.0052%);
+}
+
+[data-theme="cyberpunk"] {
+ color-scheme: light;
+ fontfamily:
+ ui-monospace,
+ SFMono-Regular,
+ Menlo,
+ Monaco,
+ Consolas,
+ Liberation Mono,
+ Courier New,
+ monospace;
+ --color-primary: hsl(340.8799 100% 69.8833%);
+ --color-secondary: hsl(185.3347 100% 50%);
+ --color-accent: hsl(278.9515 100% 72.6993%);
+ --color-neutral: hsl(227.154 55.502% 14.9159%);
+ --color-neutral-content: hsl(55.763 100% 64.174%);
+ --color-surface-100: hsl(55.763 100% 64.174%);
+ --rounded-box: 0;
+ --rounded-btn: 0;
+ --rounded-badge: 0;
+ --tab-radius: 0;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(346.8024 75.2266% 5.4755%);
+ --color-primary-50: hsl(344.7937 100% 84.5824%);
+ --color-primary-100: hsl(344.4947 100% 83.1034%);
+ --color-primary-200: hsl(343.8257 100% 80.0716%);
+ --color-primary-300: hsl(343.0366 100% 76.9079%);
+ --color-primary-400: hsl(342.0814 100% 73.5494%);
+ --color-primary-500: hsl(340.8799 100% 69.8833%);
+ --color-primary-600: hsl(342.9615 81.8536% 63.8065%);
+ --color-primary-700: hsl(342.9615 55.9738% 54.3182%);
+ --color-primary-800: hsl(342.9615 47.9562% 45.1225%);
+ --color-primary-900: hsl(342.9615 49.2314% 36.2503%);
+ --color-secondary-content: hsl(188.6497 100% 4.3357%);
+ --color-secondary-50: hsl(185.2602 100% 76.7471%);
+ --color-secondary-100: hsl(185.2286 100% 73.9042%);
+ --color-secondary-200: hsl(185.0291 100% 66.961%);
+ --color-secondary-300: hsl(184.1125 100% 51.9055%);
+ --color-secondary-400: hsl(184.6264 100% 50%);
+ --color-secondary-500: hsl(185.3347 100% 50%);
+ --color-secondary-600: hsl(185.6259 100% 43.6904%);
+ --color-secondary-700: hsl(185.6826 100% 37.3325%);
+ --color-secondary-800: hsl(185.7597 100% 31.1707%);
+ --color-secondary-900: hsl(185.8697 100% 25.2257%);
+ --color-accent-content: hsl(275.3124 66.7705% 5.409%);
+ --color-accent-50: hsl(278.3746 100% 85.6921%);
+ --color-accent-100: hsl(278.3913 100% 84.3414%);
+ --color-accent-200: hsl(278.4507 100% 81.593%);
+ --color-accent-300: hsl(278.5533 100% 78.7624%);
+ --color-accent-400: hsl(278.713 100% 75.8158%);
+ --color-accent-500: hsl(278.9515 100% 72.6993%);
+ --color-accent-600: hsl(276.8801 70.9879% 64.3939%);
+ --color-accent-700: hsl(276.8801 48.2916% 54.8252%);
+ --color-accent-800: hsl(276.8801 40.5299% 45.5515%);
+ --color-accent-900: hsl(276.8801 41.5972% 36.6042%);
+ --color-neutral-50: hsl(223.8431 12.0156% 50.1588%);
+ --color-neutral-100: hsl(223.942 13.9346% 45.9467%);
+ --color-neutral-200: hsl(224.2145 18.9277% 37.715%);
+ --color-neutral-300: hsl(224.6551 25.9706% 29.7651%);
+ --color-neutral-400: hsl(225.4462 36.7496% 22.1398%);
+ --color-neutral-500: hsl(227.154 55.502% 14.9159%);
+ --color-neutral-600: hsl(227.154 58.5406% 12.3967%);
+ --color-neutral-700: hsl(227.1673 62.9432% 9.9483%);
+ --color-neutral-800: hsl(228.0532 67.8056% 7.6712%);
+ --color-neutral-900: hsl(230.2087 72.2472% 5.604%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(55.2439 79.4658% 58.4392%);
+ --color-surface-300: hsl(55.2439 64.0317% 52.8944%);
+ --color-surface-content: hsl(54.2672 85.597% 4.6878%);
+}
+
+[data-theme="valentine"] {
+ color-scheme: light;
+ --color-primary: hsl(353.2258 73.8095% 67.0588%);
+ --color-secondary: hsl(254.1176 86.4407% 76.8627%);
+ --color-accent: hsl(181.5584 33.6245% 55.098%);
+ --color-neutral: hsl(336 42.8571% 48.0392%);
+ --color-neutral-content: hsl(318.4615 46.4286% 89.0196%);
+ --color-surface-100: hsl(318.9474 65.5172% 94.3137%);
+ --color-surface-content: hsl(343.6364 38.4615% 28.0392%);
+ --color-info: hsl(221.2121 83.1933% 53.3333%);
+ --color-success: hsl(142.1277 76.2162% 36.2745%);
+ --color-warning: hsl(32.1327 94.6188% 43.7255%);
+ --color-danger: hsl(4.3168 100% 67.8206%);
+ --rounded-btn: 1.9rem;
+ --tab-radius: 0.7rem;
+ --color-primary-content: hsl(355.2354 65.019% 4.5186%);
+ --color-primary-50: hsl(356.3783 84.5787% 83.2964%);
+ --color-primary-100: hsl(356.1335 83.2065% 81.6242%);
+ --color-primary-200: hsl(355.5849 80.5941% 78.1944%);
+ --color-primary-300: hsl(354.9399 78.1543% 74.6397%);
+ --color-primary-400: hsl(354.1687 75.8889% 70.9395%);
+ --color-primary-500: hsl(353.2258 73.8095% 67.0588%);
+ --color-primary-600: hsl(353.2258 50.874% 58.1053%);
+ --color-primary-700: hsl(353.2258 37.2399% 49.3975%);
+ --color-primary-800: hsl(353.2258 38.0087% 40.9582%);
+ --color-primary-900: hsl(353.2258 39.1251% 32.8159%);
+ --color-secondary-content: hsl(253.3704 47.3508% 5.5587%);
+ --color-secondary-50: hsl(251.2403 93.2239% 87.848%);
+ --color-secondary-100: hsl(251.5088 92.3994% 86.6789%);
+ --color-secondary-200: hsl(252.0792 90.8044% 84.3054%);
+ --color-secondary-300: hsl(252.6989 89.2797% 81.8819%);
+ --color-secondary-400: hsl(253.3754 87.825% 79.4034%);
+ --color-secondary-500: hsl(254.1176 86.4407% 76.8627%);
+ --color-secondary-600: hsl(254.1176 52.648% 66.6995%);
+ --color-secondary-700: hsl(254.1176 35.0397% 56.8151%);
+ --color-secondary-800: hsl(254.1176 27.1103% 47.2355%);
+ --color-secondary-900: hsl(254.1176 27.7981% 37.9931%);
+ --color-accent-content: hsl(181.9361 54.2036% 2.9988%);
+ --color-accent-50: hsl(181.1201 31.9936% 75.5961%);
+ --color-accent-100: hsl(181.172 32.0993% 73.3719%);
+ --color-accent-200: hsl(181.2752 32.3497% 68.9032%);
+ --color-accent-300: hsl(181.3759 32.667% 64.391%);
+ --color-accent-400: hsl(181.4716 33.0775% 59.8058%);
+ --color-accent-500: hsl(181.5584 33.6245% 55.098%);
+ --color-accent-600: hsl(181.5584 27.7927% 47.6204%);
+ --color-accent-700: hsl(181.5584 28.3113% 40.3481%);
+ --color-accent-800: hsl(181.5584 29.0302% 33.2999%);
+ --color-accent-900: hsl(181.5584 30.0861% 26.4998%);
+ --color-neutral-50: hsl(340.521 44.3687% 72.4144%);
+ --color-neutral-100: hsl(340.1773 43.7625% 69.8222%);
+ --color-neutral-200: hsl(339.4108 42.5861% 64.5785%);
+ --color-neutral-300: hsl(338.507 41.4744% 59.2357%);
+ --color-neutral-400: hsl(337.4068 40.4623% 53.7516%);
+ --color-neutral-500: hsl(336 42.8571% 48.0392%);
+ --color-neutral-600: hsl(336 43.5592% 41.4327%);
+ --color-neutral-700: hsl(336 44.4961% 35.0074%);
+ --color-neutral-800: hsl(336 45.8033% 28.7803%);
+ --color-neutral-900: hsl(336 47.7421% 22.7723%);
+ --color-info-content: hsl(218.9847 98.1914% 91.1191%);
+ --color-info-50: hsl(219.5223 90.8982% 75.1352%);
+ --color-info-100: hsl(219.6486 89.9471% 72.8089%);
+ --color-info-200: hsl(219.9484 88.1075% 68.1172%);
+ --color-info-300: hsl(220.3175 86.3541% 63.3558%);
+ --color-info-400: hsl(220.756 84.7001% 58.4762%);
+ --color-info-500: hsl(221.2121 83.1933% 53.3333%);
+ --color-info-600: hsl(221.2121 73.8664% 46.0735%);
+ --color-info-700: hsl(221.2121 75.2921% 39.0129%);
+ --color-info-800: hsl(221.2121 77.2709% 32.17%);
+ --color-info-900: hsl(221.2121 80.1841% 25.5679%);
+ --color-success-content: hsl(130.1256 95.7127% 1.9343%);
+ --color-success-50: hsl(130.3106 37.672% 68.7269%);
+ --color-success-100: hsl(130.8008 37.753% 65.7761%);
+ --color-success-200: hsl(131.9998 38.0525% 59.7265%);
+ --color-success-300: hsl(133.6564 38.6495% 53.3423%);
+ --color-success-400: hsl(136.2425 46.3769% 46.2272%);
+ --color-success-500: hsl(142.1277 76.2162% 36.2745%);
+ --color-success-600: hsl(142.1277 77.8784% 31.1197%);
+ --color-success-700: hsl(142.1277 80.1246% 26.1063%);
+ --color-success-800: hsl(142.117 83.2701% 21.2525%);
+ --color-success-900: hsl(141.7625 86.5918% 16.6991%);
+ --color-warning-content: hsl(17.1667 99.4327% 3.3181%);
+ --color-warning-50: hsl(25.8631 74.2191% 73.8529%);
+ --color-warning-100: hsl(26.0117 73.723% 71.3345%);
+ --color-warning-200: hsl(26.407 72.8234% 66.1392%);
+ --color-warning-300: hsl(27.0339 72.1185% 60.5933%);
+ --color-warning-400: hsl(28.2027 71.8262% 54.2587%);
+ --color-warning-500: hsl(32.1327 94.6188% 43.7255%);
+ --color-warning-600: hsl(32.0048 95.4642% 37.8169%);
+ --color-warning-700: hsl(31.7888 96.25% 32.1253%);
+ --color-warning-800: hsl(31.4433 96.9725% 26.6578%);
+ --color-warning-900: hsl(30.8928 97.6278% 21.425%);
+ --color-danger-content: hsl(2.2254 79.7261% 5.3196%);
+ --color-danger-50: hsl(7.875 100% 82.4603%);
+ --color-danger-100: hsl(7.5951 100% 80.8734%);
+ --color-danger-200: hsl(6.9757 100% 77.6885%);
+ --color-danger-300: hsl(6.2552 100% 74.4738%);
+ --color-danger-400: hsl(5.3935 100% 71.2011%);
+ --color-danger-500: hsl(4.3168 100% 67.8206%);
+ --color-danger-600: hsl(3.8876 82.183% 61.887%);
+ --color-danger-700: hsl(3.8876 57.1084% 52.6615%);
+ --color-danger-800: hsl(3.8876 52.3288% 43.7204%);
+ --color-danger-900: hsl(3.8876 53.7661% 35.094%);
+ --color-surface-200: hsl(318.9474 23.7231% 85.6578%);
+ --color-surface-300: hsl(318.9474 13.9672% 77.7526%);
+}
+
+[data-theme="halloween"] {
+ color-scheme: dark;
+ --color-primary: hsl(33.6272 100% 50%);
+ --color-primary-content: hsl(180 7.3171% 8.0392%);
+ --color-secondary: hsl(277.6985 100% 38.1041%);
+ --color-accent: hsl(96.7808 100% 33.291%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-neutral: hsl(31.4286 80.7692% 10.1961%);
+ --color-surface-100: hsl(0 0% 12.9412%);
+ --color-info: hsl(221.2121 83.1933% 53.3333%);
+ --color-success: hsl(142.1277 76.2162% 36.2745%);
+ --color-warning: hsl(32.1327 94.6188% 43.7255%);
+ --color-danger: hsl(3.3252 87.4903% 61.7362%);
+ --color-primary-50: hsl(30.5586 100% 76.7985%);
+ --color-primary-100: hsl(30.665 100% 74.4632%);
+ --color-primary-200: hsl(31.0742 100% 69.4404%);
+ --color-primary-300: hsl(32.0073 100% 63.4507%);
+ --color-primary-400: hsl(35.3246 100% 52.6838%);
+ --color-primary-500: hsl(33.6272 100% 50%);
+ --color-primary-600: hsl(31.3856 100% 46.3119%);
+ --color-primary-700: hsl(31.1135 100% 39.5951%);
+ --color-primary-800: hsl(30.7444 100% 33.0855%);
+ --color-primary-900: hsl(30.2184 100% 26.8049%);
+ --color-secondary-content: hsl(266.0416 66.9607% 89.8355%);
+ --color-secondary-50: hsl(268.5109 61.9036% 71.1559%);
+ --color-secondary-100: hsl(268.9772 61.2997% 68.3449%);
+ --color-secondary-200: hsl(270.0665 60.2412% 62.5283%);
+ --color-secondary-300: hsl(271.4878 59.4987% 56.2799%);
+ --color-secondary-400: hsl(273.6337 61.9136% 48.9933%);
+ --color-secondary-500: hsl(277.6985 100% 38.1041%);
+ --color-secondary-600: hsl(277.4696 100% 33.0628%);
+ --color-secondary-700: hsl(277.1684 100% 28.1599%);
+ --color-secondary-800: hsl(276.756 100% 23.4082%);
+ --color-secondary-900: hsl(276.1609 100% 18.8237%);
+ --color-accent-50: hsl(100.6724 47.2624% 66.5219%);
+ --color-accent-100: hsl(100.3767 47.2888% 63.2972%);
+ --color-accent-200: hsl(99.5185 47.5807% 56.5563%);
+ --color-accent-300: hsl(97.8942 50.508% 48.9943%);
+ --color-accent-400: hsl(92.3742 88.8493% 37.1684%);
+ --color-accent-500: hsl(96.7808 100% 33.291%);
+ --color-accent-600: hsl(97.2135 100% 28.8437%);
+ --color-accent-700: hsl(97.7849 100% 24.5184%);
+ --color-accent-800: hsl(98.5708 100% 20.3265%);
+ --color-accent-900: hsl(99.7125 100% 16.2821%);
+ --color-neutral-content: hsl(28.9179 10.4732% 80.1481%);
+ --color-neutral-50: hsl(29.1471 10.9763% 47.5094%);
+ --color-neutral-100: hsl(29.2041 12.9927% 43.0957%);
+ --color-neutral-200: hsl(29.3599 18.3125% 34.4772%);
+ --color-neutral-300: hsl(29.6223 26.6018% 26.1474%);
+ --color-neutral-400: hsl(30.1722 41.778% 18.0888%);
+ --color-neutral-500: hsl(31.4286 80.7692% 10.1961%);
+ --color-neutral-600: hsl(30.6369 83.0916% 8.4539%);
+ --color-neutral-700: hsl(29.3129 85.2476% 6.8051%);
+ --color-neutral-800: hsl(27.0711 87.184% 5.2477%);
+ --color-neutral-900: hsl(23.5495 88.7968% 3.7804%);
+ --color-info-content: hsl(218.9847 98.1914% 91.1191%);
+ --color-info-50: hsl(219.5223 90.8982% 75.1352%);
+ --color-info-100: hsl(219.6486 89.9471% 72.8089%);
+ --color-info-200: hsl(219.9484 88.1075% 68.1172%);
+ --color-info-300: hsl(220.3175 86.3541% 63.3558%);
+ --color-info-400: hsl(220.756 84.7001% 58.4762%);
+ --color-info-500: hsl(221.2121 83.1933% 53.3333%);
+ --color-info-600: hsl(221.2121 73.8664% 46.0735%);
+ --color-info-700: hsl(221.2121 75.2921% 39.0129%);
+ --color-info-800: hsl(221.2121 77.2709% 32.17%);
+ --color-info-900: hsl(221.2121 80.1841% 25.5679%);
+ --color-success-content: hsl(130.1256 95.7127% 1.9343%);
+ --color-success-50: hsl(130.3106 37.672% 68.7269%);
+ --color-success-100: hsl(130.8008 37.753% 65.7761%);
+ --color-success-200: hsl(131.9998 38.0525% 59.7265%);
+ --color-success-300: hsl(133.6564 38.6495% 53.3423%);
+ --color-success-400: hsl(136.2425 46.3769% 46.2272%);
+ --color-success-500: hsl(142.1277 76.2162% 36.2745%);
+ --color-success-600: hsl(142.1277 77.8784% 31.1197%);
+ --color-success-700: hsl(142.1277 80.1246% 26.1063%);
+ --color-success-800: hsl(142.117 83.2701% 21.2525%);
+ --color-success-900: hsl(141.7625 86.5918% 16.6991%);
+ --color-warning-content: hsl(17.1667 99.4327% 3.3181%);
+ --color-warning-50: hsl(25.8631 74.2191% 73.8529%);
+ --color-warning-100: hsl(26.0117 73.723% 71.3345%);
+ --color-warning-200: hsl(26.407 72.8234% 66.1392%);
+ --color-warning-300: hsl(27.0339 72.1185% 60.5933%);
+ --color-warning-400: hsl(28.2027 71.8262% 54.2587%);
+ --color-warning-500: hsl(32.1327 94.6188% 43.7255%);
+ --color-warning-600: hsl(32.0048 95.4642% 37.8169%);
+ --color-warning-700: hsl(31.7888 96.25% 32.1253%);
+ --color-warning-800: hsl(31.4433 96.9725% 26.6578%);
+ --color-warning-900: hsl(30.8928 97.6278% 21.425%);
+ --color-danger-content: hsl(1.5684 84.471% 4.3206%);
+ --color-danger-50: hsl(6.645 100% 80.3116%);
+ --color-danger-100: hsl(6.3908 100% 78.5508%);
+ --color-danger-200: hsl(5.9013 97.1794% 74.6701%);
+ --color-danger-300: hsl(5.2994 93.7104% 70.5565%);
+ --color-danger-400: hsl(4.4885 90.4774% 66.2706%);
+ --color-danger-500: hsl(3.3252 87.4903% 61.7362%);
+ --color-danger-600: hsl(3.3252 63.0279% 53.4395%);
+ --color-danger-700: hsl(3.3252 55.8261% 45.3704%);
+ --color-danger-800: hsl(3.3252 57.0831% 37.5502%);
+ --color-danger-900: hsl(3.3252 58.917% 30.0052%);
+ --color-surface-200: hsl(223.8136 0% 11.3419%);
+ --color-surface-300: hsl(223.8136 0% 9.8814%);
+ --color-surface-content: hsl(223.8136 0% 80.5478%);
+}
+
+[data-theme="garden"] {
+ color-scheme: light;
+ --color-primary: hsl(332.4702 100% 49.8311%);
+ --color-primary-content: hsl(0 0% 100%);
+ --color-secondary: hsl(334.2857 37.1981% 40.5882%);
+ --color-accent: hsl(138.8571 15.9817% 42.9412%);
+ --color-neutral: hsl(43.9024 100% 8.0392%);
+ --color-neutral-content: hsl(0 4.3478% 90.9804%);
+ --color-surface-100: hsl(0 4.3478% 90.9804%);
+ --color-surface-content: hsl(0 3.2258% 6.0784%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-50: hsl(341.896 100% 77.9663%);
+ --color-primary-100: hsl(341.3859 100% 75.7437%);
+ --color-primary-200: hsl(340.11 100% 70.989%);
+ --color-primary-300: hsl(338.245 100% 65.4594%);
+ --color-primary-400: hsl(334.7005 100% 57.4679%);
+ --color-primary-500: hsl(332.4702 100% 49.8311%);
+ --color-primary-600: hsl(332.7244 100% 43.3427%);
+ --color-primary-700: hsl(333.0571 100% 37.0325%);
+ --color-primary-800: hsl(333.5091 100% 30.9168%);
+ --color-primary-900: hsl(334.1547 100% 25.0163%);
+ --color-secondary-content: hsl(339.8087 30.77% 88.0909%);
+ --color-secondary-50: hsl(338.1948 28.408% 67.3715%);
+ --color-secondary-100: hsl(337.9003 28.061% 64.4189%);
+ --color-secondary-200: hsl(337.2399 27.3651% 58.5114%);
+ --color-secondary-300: hsl(336.4575 26.6755% 52.5898%);
+ --color-secondary-400: hsl(335.5026 29.7694% 46.6311%);
+ --color-secondary-500: hsl(334.2857 37.1981% 40.5882%);
+ --color-secondary-600: hsl(334.2857 37.9214% 34.9011%);
+ --color-secondary-700: hsl(334.2857 38.8936% 29.37%);
+ --color-secondary-800: hsl(334.2857 40.2633% 24.0096%);
+ --color-secondary-900: hsl(334.2857 42.3236% 18.8377%);
+ --color-accent-content: hsl(136.3164 32.9542% 1.6499%);
+ --color-accent-50: hsl(136.9081 12.1332% 67.7982%);
+ --color-accent-100: hsl(137.0565 12.1128% 64.97%);
+ --color-accent-200: hsl(137.3907 12.0755% 59.3645%);
+ --color-accent-300: hsl(137.7872 12.0454% 53.8264%);
+ --color-accent-400: hsl(138.2658 12.8458% 48.3536%);
+ --color-accent-500: hsl(138.8571 15.9817% 42.9412%);
+ --color-accent-600: hsl(138.8571 16.2752% 36.9637%);
+ --color-accent-700: hsl(138.8571 16.6686% 31.1503%);
+ --color-accent-800: hsl(138.8571 17.2209% 25.5161%);
+ --color-accent-900: hsl(138.8571 18.0476% 20.0802%);
+ --color-neutral-50: hsl(43.0486 10.3803% 46.0248%);
+ --color-neutral-100: hsl(43.0406 12.4039% 41.5066%);
+ --color-neutral-200: hsl(43.0491 17.9226% 32.6951%);
+ --color-neutral-300: hsl(43.1427 27.0789% 24.1868%);
+ --color-neutral-400: hsl(43.5427 45.997% 15.912%);
+ --color-neutral-500: hsl(43.9024 100% 8.0392%);
+ --color-neutral-600: hsl(43.0881 100% 6.7079%);
+ --color-neutral-700: hsl(41.9118 100% 5.413%);
+ --color-neutral-800: hsl(40.0729 100% 4.1582%);
+ --color-neutral-900: hsl(36.8782 100% 2.9474%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(0 2.0599% 82.6136%);
+ --color-surface-300: hsl(0 1.3069% 74.9723%);
+}
+
+[data-theme="forest"] {
+ color-scheme: dark;
+ --color-primary: hsl(141.039 71.9626% 41.9608%);
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary: hsl(163.7419 72.77% 41.7647%);
+ --color-accent: hsl(174.9677 72.77% 41.7647%);
+ --color-neutral: hsl(161.3793 36.7089% 15.4902%);
+ --color-surface-100: hsl(0 12.1951% 8.0392%);
+ --rounded-btn: 1.9rem;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-50: hsl(129.9902 46.7848% 72.2578%);
+ --color-primary-100: hsl(130.4892 46.8542% 69.574%);
+ --color-primary-200: hsl(131.6961 47.1389% 64.0222%);
+ --color-primary-300: hsl(133.3335 47.7269% 58.0809%);
+ --color-primary-400: hsl(135.821 48.9141% 51.3492%);
+ --color-primary-500: hsl(141.039 71.9626% 41.9608%);
+ --color-primary-600: hsl(141.039 73.3154% 36.1043%);
+ --color-primary-700: hsl(141.039 75.1308% 30.4085%);
+ --color-primary-800: hsl(141.039 77.6831% 24.8884%);
+ --color-primary-900: hsl(141.0313 81.4818% 19.5656%);
+ --color-secondary-content: hsl(153.645 94.9339% 2.5067%);
+ --color-secondary-50: hsl(156.6298 45.6454% 72.3384%);
+ --color-secondary-100: hsl(157.041 45.8255% 69.6641%);
+ --color-secondary-200: hsl(157.9893 46.3397% 64.1266%);
+ --color-secondary-300: hsl(159.1808 47.1734% 58.1857%);
+ --color-secondary-400: hsl(160.8126 48.6393% 51.4157%);
+ --color-secondary-500: hsl(163.7419 72.77% 41.7647%);
+ --color-secondary-600: hsl(163.7419 74.1444% 35.9324%);
+ --color-secondary-700: hsl(163.7419 75.9894% 30.2602%);
+ --color-secondary-800: hsl(163.7419 78.5839% 24.7628%);
+ --color-secondary-900: hsl(163.7323 82.3878% 19.4684%);
+ --color-accent-content: hsl(171.4042 94.9339% 2.5067%);
+ --color-accent-50: hsl(172.031 45.2779% 72.4164%);
+ --color-accent-100: hsl(172.2406 45.4875% 69.7469%);
+ --color-accent-200: hsl(172.7001 46.0643% 64.2162%);
+ --color-accent-300: hsl(173.2354 46.9671% 58.2753%);
+ --color-accent-400: hsl(173.9044 48.514% 51.4914%);
+ --color-accent-500: hsl(174.9677 72.77% 41.7647%);
+ --color-accent-600: hsl(174.9677 74.1444% 35.9324%);
+ --color-accent-700: hsl(174.9677 75.9894% 30.2602%);
+ --color-accent-800: hsl(174.9677 78.5839% 24.7628%);
+ --color-accent-900: hsl(174.9648 82.3878% 19.4684%);
+ --color-neutral-content: hsl(157.0371 6.8619% 81.5089%);
+ --color-neutral-50: hsl(157.83 6.6834% 50.9312%);
+ --color-neutral-100: hsl(158.0038 7.5771% 46.7703%);
+ --color-neutral-200: hsl(158.4331 10.506% 38.6189%);
+ --color-neutral-300: hsl(159.0245 14.8451% 30.702%);
+ --color-neutral-400: hsl(159.9009 22.0285% 23.015%);
+ --color-neutral-500: hsl(161.3793 36.7089% 15.4902%);
+ --color-neutral-600: hsl(161.3793 38.6401% 12.9001%);
+ --color-neutral-700: hsl(161.3793 41.4428% 10.381%);
+ --color-neutral-800: hsl(161.3793 45.8561% 7.9397%);
+ --color-neutral-900: hsl(160.9627 51.9832% 5.6499%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(0 13.0424% 6.8651%);
+ --color-surface-300: hsl(360 14.1163% 5.7928%);
+ --color-surface-content: hsl(0.603 1.4217% 79.1884%);
+}
+
+[data-theme="aqua"] {
+ color-scheme: dark;
+ --color-primary: hsl(181.7949 92.8571% 49.4118%);
+ --color-primary-content: hsl(181.4118 100% 16.6667%);
+ --color-secondary: hsl(274.4118 30.9091% 56.8627%);
+ --color-accent: hsl(47.0588 100% 80%);
+ --color-neutral: hsl(205.4015 53.7255% 50%);
+ --color-surface-100: hsl(218.6087 52.5114% 42.9412%);
+ --color-info: hsl(221.2121 83.1933% 53.3333%);
+ --color-success: hsl(142.1277 76.2162% 36.2745%);
+ --color-warning: hsl(32.1327 94.6188% 43.7255%);
+ --color-danger: hsl(4.9473 100% 69.8114%);
+ --color-primary-50: hsl(182.0187 87.0513% 80.8851%);
+ --color-primary-100: hsl(182.0657 87.17% 78.8467%);
+ --color-primary-200: hsl(182.1381 87.4807% 74.4519%);
+ --color-primary-300: hsl(182.17 87.9367% 69.3953%);
+ --color-primary-400: hsl(182.1296 88.673% 62.9696%);
+ --color-primary-500: hsl(181.7949 92.8571% 49.4118%);
+ --color-primary-600: hsl(181.7984 93.9765% 42.7147%);
+ --color-primary-700: hsl(181.8072 95.0196% 36.2836%);
+ --color-primary-800: hsl(181.8237 95.9813% 30.1237%);
+ --color-primary-900: hsl(181.852 96.8555% 24.2442%);
+ --color-secondary-content: hsl(270.3771 47.5679% 3.1336%);
+ --color-secondary-50: hsl(273.0767 32.3941% 76.1582%);
+ --color-secondary-100: hsl(273.1975 32.2236% 74.0096%);
+ --color-secondary-200: hsl(273.4555 31.8838% 69.719%);
+ --color-secondary-300: hsl(273.7392 31.5482% 65.4345%);
+ --color-secondary-400: hsl(274.055 31.2211% 61.1514%);
+ --color-secondary-500: hsl(274.4118 30.9091% 56.8627%);
+ --color-secondary-600: hsl(274.4118 23.7719% 49.1674%);
+ --color-secondary-700: hsl(274.4118 24.2014% 41.6832%);
+ --color-secondary-800: hsl(274.4118 24.7957% 34.4299%);
+ --color-secondary-900: hsl(274.4118 25.667% 27.4317%);
+ --color-accent-content: hsl(46.9809 44.6774% 5.9515%);
+ --color-accent-50: hsl(47.1462 99.8274% 89.3924%);
+ --color-accent-100: hsl(47.1209 99.8515% 88.3936%);
+ --color-accent-200: hsl(47.0802 99.896% 86.3696%);
+ --color-accent-300: hsl(47.0544 99.9355% 84.3033%);
+ --color-accent-400: hsl(47.0461 99.9702% 82.1847%);
+ --color-accent-500: hsl(47.0588 100% 80%);
+ --color-accent-600: hsl(47.0588 57.3873% 69.4496%);
+ --color-accent-700: hsl(47.0588 37.0777% 59.1887%);
+ --color-accent-800: hsl(47.0588 26.0044% 49.2443%);
+ --color-accent-900: hsl(47.0588 26.6366% 39.6497%);
+ --color-neutral-content: hsl(214.2304 84.8508% 2.984%);
+ --color-neutral-50: hsl(207.2202 54.2891% 73.3918%);
+ --color-neutral-100: hsl(207.1291 54.109% 70.9395%);
+ --color-neutral-200: hsl(206.9056 53.793% 65.9856%);
+ --color-neutral-300: hsl(206.5986 53.5656% 60.9256%);
+ --color-neutral-400: hsl(206.1459 53.4918% 55.6697%);
+ --color-neutral-500: hsl(205.4015 53.7255% 50%);
+ --color-neutral-600: hsl(205.4015 54.5705% 43.1515%);
+ --color-neutral-700: hsl(205.4015 55.6965% 36.4909%);
+ --color-neutral-800: hsl(205.4015 57.2644% 30.0358%);
+ --color-neutral-900: hsl(205.4015 59.5829% 23.8077%);
+ --color-info-content: hsl(218.9847 98.1914% 91.1191%);
+ --color-info-50: hsl(219.5223 90.8982% 75.1352%);
+ --color-info-100: hsl(219.6486 89.9471% 72.8089%);
+ --color-info-200: hsl(219.9484 88.1075% 68.1172%);
+ --color-info-300: hsl(220.3175 86.3541% 63.3558%);
+ --color-info-400: hsl(220.756 84.7001% 58.4762%);
+ --color-info-500: hsl(221.2121 83.1933% 53.3333%);
+ --color-info-600: hsl(221.2121 73.8664% 46.0735%);
+ --color-info-700: hsl(221.2121 75.2921% 39.0129%);
+ --color-info-800: hsl(221.2121 77.2709% 32.17%);
+ --color-info-900: hsl(221.2121 80.1841% 25.5679%);
+ --color-success-content: hsl(130.1256 95.7127% 1.9343%);
+ --color-success-50: hsl(130.3106 37.672% 68.7269%);
+ --color-success-100: hsl(130.8008 37.753% 65.7761%);
+ --color-success-200: hsl(131.9998 38.0525% 59.7265%);
+ --color-success-300: hsl(133.6564 38.6495% 53.3423%);
+ --color-success-400: hsl(136.2425 46.3769% 46.2272%);
+ --color-success-500: hsl(142.1277 76.2162% 36.2745%);
+ --color-success-600: hsl(142.1277 77.8784% 31.1197%);
+ --color-success-700: hsl(142.1277 80.1246% 26.1063%);
+ --color-success-800: hsl(142.117 83.2701% 21.2525%);
+ --color-success-900: hsl(141.7625 86.5918% 16.6991%);
+ --color-warning-content: hsl(17.1667 99.4327% 3.3181%);
+ --color-warning-50: hsl(25.8631 74.2191% 73.8529%);
+ --color-warning-100: hsl(26.0117 73.723% 71.3345%);
+ --color-warning-200: hsl(26.407 72.8234% 66.1392%);
+ --color-warning-300: hsl(27.0339 72.1185% 60.5933%);
+ --color-warning-400: hsl(28.2027 71.8262% 54.2587%);
+ --color-warning-500: hsl(32.1327 94.6188% 43.7255%);
+ --color-warning-600: hsl(32.0048 95.4642% 37.8169%);
+ --color-warning-700: hsl(31.7888 96.25% 32.1253%);
+ --color-warning-800: hsl(31.4433 96.9725% 26.6578%);
+ --color-warning-900: hsl(30.8928 97.6278% 21.425%);
+ --color-danger-content: hsl(2.8839 74.8129% 5.3446%);
+ --color-danger-50: hsl(7.8583 100% 83.4404%);
+ --color-danger-100: hsl(7.6181 100% 81.9469%);
+ --color-danger-200: hsl(7.092 100% 78.956%);
+ --color-danger-300: hsl(6.4907 100% 75.9498%);
+ --color-danger-400: hsl(5.7895 100% 72.9111%);
+ --color-danger-500: hsl(4.9473 100% 69.8114%);
+ --color-danger-600: hsl(4.5357 77.8427% 62.9193%);
+ --color-danger-700: hsl(4.5357 53.6367% 53.5525%);
+ --color-danger-800: hsl(4.5357 47.405% 44.4745%);
+ --color-danger-900: hsl(4.5357 48.6844% 35.7159%);
+ --color-surface-200: hsl(218.6087 53.1579% 38.7403%);
+ --color-surface-300: hsl(218.6087 53.8843% 34.9038%);
+ --color-surface-content: hsl(217.8029 45.0593% 88.3418%);
+}
+
+[data-theme="lofi"] {
+ color-scheme: light;
+ --color-primary: hsl(0 0% 5.098%);
+ --color-primary-content: hsl(180 100% 100%);
+ --color-secondary: hsl(0 1.9608% 10%);
+ --color-secondary-content: hsl(180 100% 100%);
+ --color-accent: hsl(0 0% 14.902%);
+ --color-accent-content: hsl(180 100% 100%);
+ --color-neutral: hsl(0 0% 0%);
+ --color-neutral-content: hsl(180 100% 100%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(0 0% 94.902%);
+ --color-surface-300: hsl(0 1.9608% 90%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-info: hsl(186.3996 64.5332% 61.9566%);
+ --color-success: hsl(156.3531 98.7858% 70.4206%);
+ --color-warning: hsl(40.5761 100% 70.509%);
+ --color-danger: hsl(7.4376 100% 75.3917%);
+ --rounded-box: 0.25rem;
+ --rounded-btn: 0.125rem;
+ --rounded-badge: 0.125rem;
+ --tab-radius: 0.125rem;
+ --animation-btn: 0;
+ --animation-input: 0;
+ --btn-focus-scale: 1;
+ --color-primary-50: hsl(223.8136 0% 43.0525%);
+ --color-primary-100: hsl(223.8136 0% 38.3522%);
+ --color-primary-200: hsl(223.8136 0% 29.2546%);
+ --color-primary-300: hsl(223.8136 0% 20.613%);
+ --color-primary-400: hsl(223.8136 0% 12.5143%);
+ --color-primary-500: hsl(0 0% 5.098%);
+ --color-primary-600: hsl(223.8136 0% 3.7908%);
+ --color-primary-700: hsl(223.8136 0% 2.6624%);
+ --color-primary-800: hsl(223.8136 0% 1.7836%);
+ --color-primary-900: hsl(223.8136 0% 1.1232%);
+ --color-secondary-50: hsl(0.0797 0.297% 46.5899%);
+ --color-secondary-100: hsl(0.0763 0.3518% 42.1381%);
+ --color-secondary-200: hsl(0.0675 0.4958% 33.4846%);
+ --color-secondary-300: hsl(0.0547 0.7169% 25.2009%);
+ --color-secondary-400: hsl(0.0348 1.1027% 17.3446%);
+ --color-secondary-500: hsl(0 1.9608% 10%);
+ --color-secondary-600: hsl(0 2.1253% 8.0874%);
+ --color-secondary-700: hsl(360 2.3823% 6.2272%);
+ --color-secondary-800: hsl(0 2.8376% 4.4244%);
+ --color-secondary-900: hsl(0 3.0353% 2.7978%);
+ --color-accent-50: hsl(223.8136 0% 49.9489%);
+ --color-accent-100: hsl(223.8136 0% 45.7415%);
+ --color-accent-200: hsl(223.8136 0% 37.5342%);
+ --color-accent-300: hsl(223.8136 0% 29.6297%);
+ --color-accent-400: hsl(223.8136 0% 22.0676%);
+ --color-accent-500: hsl(0 0% 14.902%);
+ --color-accent-600: hsl(223.8136 0% 12.3844%);
+ --color-accent-700: hsl(223.8136 0% 9.936%);
+ --color-accent-800: hsl(223.8136 0% 7.563%);
+ --color-accent-900: hsl(223.8136 0% 5.2736%);
+ --color-neutral-50: hsl(223.8136 0% 33.3837%);
+ --color-neutral-100: hsl(223.8136 0% 28.0604%);
+ --color-neutral-200: hsl(223.8136 0% 17.9236%);
+ --color-neutral-300: hsl(223.8136 0% 8.6104%);
+ --color-neutral-400: hsl(223.8136 0% 1.292%);
+ --color-neutral-500: hsl(0 0% 0%);
+ --color-neutral-600: hsl(0 0% 0%);
+ --color-neutral-700: hsl(0 0% 0%);
+ --color-neutral-800: hsl(0 0% 0%);
+ --color-neutral-900: hsl(0 0% 0%);
+ --color-info-content: hsl(187.4876 70.1734% 3.9993%);
+ --color-info-50: hsl(186.7721 62.267% 80.5435%);
+ --color-info-100: hsl(186.7651 62.3978% 78.6757%);
+ --color-info-200: hsl(186.7339 62.7191% 74.8475%);
+ --color-info-300: hsl(186.6728 63.1445% 70.8529%);
+ --color-info-400: hsl(186.569 63.7204% 66.6089%);
+ --color-info-500: hsl(186.3996 64.5332% 61.9566%);
+ --color-info-600: hsl(186.3996 46.4145% 53.6327%);
+ --color-info-700: hsl(186.3996 40.7904% 45.5372%);
+ --color-info-800: hsl(186.3996 41.7054% 37.6914%);
+ --color-info-900: hsl(186.3996 43.04% 30.1216%);
+ --color-success-content: hsl(153.9692 70.833% 5.0121%);
+ --color-success-50: hsl(152.2143 100% 86.1265%);
+ --color-success-100: hsl(152.52 100% 84.6962%);
+ --color-success-200: hsl(153.1981 100% 81.691%);
+ --color-success-300: hsl(153.9958 99.9595% 78.4296%);
+ --color-success-400: hsl(155.0548 99.3365% 74.727%);
+ --color-success-500: hsl(156.3531 98.7858% 70.4206%);
+ --color-success-600: hsl(156.3531 65.7665% 61.0522%);
+ --color-success-700: hsl(156.3531 46.0015% 51.941%);
+ --color-success-800: hsl(156.3531 43.3981% 43.1107%);
+ --color-success-900: hsl(156.3531 44.6075% 34.5912%);
+ --color-warning-content: hsl(36.3719 72.4108% 5.2493%);
+ --color-warning-50: hsl(39.9253 100% 84.8697%);
+ --color-warning-100: hsl(39.937 100% 83.4194%);
+ --color-warning-200: hsl(39.9914 100% 80.4483%);
+ --color-warning-300: hsl(40.0992 100% 77.3518%);
+ --color-warning-400: hsl(40.2818 100% 74.0724%);
+ --color-warning-500: hsl(40.5761 100% 70.509%);
+ --color-warning-600: hsl(38.4331 72.921% 62.5713%);
+ --color-warning-700: hsl(38.4331 50.3912% 53.2521%);
+ --color-warning-800: hsl(38.4331 45.0823% 44.2202%);
+ --color-warning-900: hsl(38.4331 46.3062% 35.5062%);
+ --color-danger-content: hsl(5.5076 60.4131% 5.7797%);
+ --color-danger-50: hsl(9.1407 100% 86.4251%);
+ --color-danger-100: hsl(8.9831 100% 85.202%);
+ --color-danger-200: hsl(8.648 100% 82.7572%);
+ --color-danger-300: hsl(8.2828 100% 80.311%);
+ --color-danger-400: hsl(7.8818 100% 77.8584%);
+ --color-danger-500: hsl(7.4376 100% 75.3917%);
+ --color-danger-600: hsl(6.7589 73.2118% 67.5762%);
+ --color-danger-700: hsl(6.7589 48.2891% 57.5718%);
+ --color-danger-800: hsl(6.7589 36.2157% 47.8759%);
+ --color-danger-900: hsl(6.7589 37.1219% 38.5212%);
+}
+
+[data-theme="pastel"] {
+ color-scheme: light;
+ --color-primary: hsl(283.6364 21.5686% 80%);
+ --color-secondary: hsl(351.6279 70.4918% 88.0392%);
+ --color-accent: hsl(158.4906 54.6392% 80.9804%);
+ --color-neutral: hsl(198.6207 43.7186% 60.9804%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(210 20% 98.0392%);
+ --color-surface-300: hsl(216 12.1951% 83.9216%);
+ --rounded-btn: 1.9rem;
+ --tab-radius: 0.7rem;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(283.6364 9.7204% 5.9355%);
+ --color-primary-50: hsl(283.5486 21.8954% 88.9249%);
+ --color-primary-100: hsl(283.5578 21.8599% 87.9272%);
+ --color-primary-200: hsl(283.5766 21.7884% 85.9362%);
+ --color-primary-300: hsl(283.5959 21.7159% 83.9513%);
+ --color-primary-400: hsl(283.6158 21.6427% 81.9726%);
+ --color-primary-500: hsl(283.6364 21.5686% 80%);
+ --color-primary-600: hsl(283.6364 12.3777% 69.4496%);
+ --color-primary-700: hsl(283.6364 7.9971% 59.1887%);
+ --color-primary-800: hsl(283.6364 5.6088% 49.2443%);
+ --color-primary-900: hsl(283.6364 5.7451% 39.6497%);
+ --color-secondary-content: hsl(351.6279 16.0851% 7.0107%);
+ --color-secondary-50: hsl(352.2067 73.9056% 93.5351%);
+ --color-secondary-100: hsl(352.1466 73.5135% 92.9336%);
+ --color-secondary-200: hsl(352.0235 72.7392% 91.7237%);
+ --color-secondary-300: hsl(351.8962 71.9776% 90.5047%);
+ --color-secondary-400: hsl(351.7644 71.2286% 89.2766%);
+ --color-secondary-500: hsl(351.6279 70.4918% 88.0392%);
+ --color-secondary-600: hsl(351.6279 31.4466% 76.4968%);
+ --color-secondary-700: hsl(351.6279 18.3684% 65.2711%);
+ --color-secondary-800: hsl(351.6279 11.8366% 54.3916%);
+ --color-secondary-900: hsl(351.6279 10.1431% 43.895%);
+ --color-accent-content: hsl(158.4906 22.9113% 6.0666%);
+ --color-accent-50: hsl(157.397 54.5046% 89.7167%);
+ --color-accent-100: hsl(157.5077 54.5064% 88.7637%);
+ --color-accent-200: hsl(157.7366 54.5187% 86.8462%);
+ --color-accent-300: hsl(157.9759 54.5439% 84.9114%);
+ --color-accent-400: hsl(158.2268 54.5834% 82.957%);
+ --color-accent-500: hsl(158.4906 54.6392% 80.9804%);
+ --color-accent-600: hsl(158.4906 30.682% 70.309%);
+ --color-accent-700: hsl(158.4906 19.6225% 59.9305%);
+ --color-accent-800: hsl(158.4906 13.342% 49.872%);
+ --color-accent-900: hsl(158.4906 13.6622% 40.1674%);
+ --color-neutral-content: hsl(201.2505 54.4162% 3.674%);
+ --color-neutral-50: hsl(199.3241 43.6959% 78.689%);
+ --color-neutral-100: hsl(199.2725 43.6632% 76.7489%);
+ --color-neutral-200: hsl(199.155 43.6165% 72.8576%);
+ --color-neutral-300: hsl(199.0133 43.6012% 68.9433%);
+ --color-neutral-400: hsl(198.8393 43.6293% 64.9916%);
+ --color-neutral-500: hsl(198.6207 43.7186% 60.9804%);
+ --color-neutral-600: hsl(198.6207 31.6664% 52.7769%);
+ --color-neutral-700: hsl(198.6207 28.8102% 44.7986%);
+ --color-neutral-800: hsl(198.6207 29.4674% 37.0663%);
+ --color-neutral-900: hsl(198.6207 30.4268% 29.6061%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-content: hsl(223.8136 0% 8.6104%);
+}
+
+[data-theme="fantasy"] {
+ color-scheme: light;
+ --color-primary: hsl(295.8488 100% 23.0482%);
+ --color-secondary: hsl(203.8078 100% 38.1183%);
+ --color-accent: hsl(31.6284 100% 50%);
+ --color-neutral: hsl(215 27.907% 16.8627%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-content: hsl(215 27.907% 16.8627%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(298.257 28.839% 85.0197%);
+ --color-primary-50: hsl(297.0731 27.7729% 59.2785%);
+ --color-primary-100: hsl(296.8868 27.6575% 55.6187%);
+ --color-primary-200: hsl(296.5105 29.5051% 48.2514%);
+ --color-primary-300: hsl(296.1555 40.2323% 40.6875%);
+ --color-primary-400: hsl(295.9274 59.247% 32.3994%);
+ --color-primary-500: hsl(295.8488 100% 23.0482%);
+ --color-primary-600: hsl(295.7779 100% 19.8648%);
+ --color-primary-700: hsl(295.6831 100% 16.7688%);
+ --color-primary-800: hsl(295.5505 100% 13.7682%);
+ --color-primary-900: hsl(295.3533 100% 10.8732%);
+ --color-secondary-content: hsl(206.3032 64.8301% 88.452%);
+ --color-secondary-50: hsl(205.449 62.9331% 67.6036%);
+ --color-secondary-100: hsl(205.2166 62.7883% 64.4478%);
+ --color-secondary-200: hsl(204.5298 62.7383% 57.7688%);
+ --color-secondary-300: hsl(203.1374 63.7803% 49.8672%);
+ --color-secondary-400: hsl(200.7972 100% 39.4983%);
+ --color-secondary-500: hsl(203.8078 100% 38.1183%);
+ --color-secondary-600: hsl(204.0521 100% 33.0753%);
+ --color-secondary-700: hsl(204.3735 100% 28.1707%);
+ --color-secondary-800: hsl(204.8135 100% 23.4173%);
+ --color-secondary-900: hsl(205.4486 100% 18.8312%);
+ --color-accent-content: hsl(15.8841 100% 4.6857%);
+ --color-accent-50: hsl(28.1294 100% 76.9529%);
+ --color-accent-100: hsl(28.2092 100% 74.6669%);
+ --color-accent-200: hsl(28.5451 100% 69.7968%);
+ --color-accent-300: hsl(29.342 100% 64.1361%);
+ --color-accent-400: hsl(31.7781 100% 55.5285%);
+ --color-accent-500: hsl(31.6284 100% 50%);
+ --color-accent-600: hsl(29.7039 100% 45.9845%);
+ --color-accent-700: hsl(29.4138 100% 39.3126%);
+ --color-accent-800: hsl(29.0201 100% 32.8464%);
+ --color-accent-900: hsl(28.4589 100% 26.6077%);
+ --color-neutral-content: hsl(215.101 6.8198% 81.6528%);
+ --color-neutral-50: hsl(215.0645 6.466% 51.37%);
+ --color-neutral-100: hsl(215.0583 7.1439% 47.261%);
+ --color-neutral-200: hsl(215.0453 9.6966% 39.2287%);
+ --color-neutral-300: hsl(215.0315 13.2724% 31.4641%);
+ --color-neutral-400: hsl(215.0172 18.6763% 23.9967%);
+ --color-neutral-500: hsl(215 27.907% 16.8627%);
+ --color-neutral-600: hsl(215 29.2499% 14.1033%);
+ --color-neutral-700: hsl(215 31.1786% 11.4195%);
+ --color-neutral-800: hsl(215 34.1679% 8.8185%);
+ --color-neutral-900: hsl(214.999 39.3899% 6.309%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(223.8136 0.0001% 90.851%);
+ --color-surface-300: hsl(223.8136 0% 82.4954%);
+}
+
+[data-theme="wireframe"] {
+ color-scheme: light;
+ fontfamily:
+ Chalkboard,
+ comic sans ms,
+ "sans-serif";
+ --color-primary: hsl(0 0% 72.1569%);
+ --color-secondary: hsl(0 0% 72.1569%);
+ --color-accent: hsl(0 0% 72.1569%);
+ --color-neutral: hsl(0 0% 92.1569%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(0 0% 93.3333%);
+ --color-surface-300: hsl(0 0% 86.6667%);
+ --color-info: hsl(240 100% 50%);
+ --color-success: hsl(120 100% 25.098%);
+ --color-warning: hsl(60 30.1961% 50%);
+ --color-danger: hsl(0 100% 50%);
+ --rounded-box: 0.2rem;
+ --rounded-btn: 0.2rem;
+ --rounded-badge: 0.2rem;
+ --tab-radius: 0.2rem;
+ --color-primary-content: hsl(223.8136 0% 4.8865%);
+ --color-primary-50: hsl(223.8136 0% 84.4751%);
+ --color-primary-100: hsl(223.8136 0% 83.0887%);
+ --color-primary-200: hsl(223.8136 0% 80.3289%);
+ --color-primary-300: hsl(223.8136 0% 77.5868%);
+ --color-primary-400: hsl(223.8136 0% 74.8627%);
+ --color-primary-500: hsl(0 0% 72.1569%);
+ --color-primary-600: hsl(223.8136 0% 62.5743%);
+ --color-primary-700: hsl(223.8136 0% 53.2547%);
+ --color-primary-800: hsl(223.8136 0% 44.2224%);
+ --color-primary-900: hsl(223.8136 0% 35.508%);
+ --color-secondary-content: hsl(223.8136 0% 4.8865%);
+ --color-secondary-50: hsl(223.8136 0% 84.4751%);
+ --color-secondary-100: hsl(223.8136 0% 83.0887%);
+ --color-secondary-200: hsl(223.8136 0% 80.3289%);
+ --color-secondary-300: hsl(223.8136 0% 77.5868%);
+ --color-secondary-400: hsl(223.8136 0% 74.8627%);
+ --color-secondary-500: hsl(0 0% 72.1569%);
+ --color-secondary-600: hsl(223.8136 0% 62.5743%);
+ --color-secondary-700: hsl(223.8136 0% 53.2547%);
+ --color-secondary-800: hsl(223.8136 0% 44.2224%);
+ --color-secondary-900: hsl(223.8136 0% 35.508%);
+ --color-accent-content: hsl(223.8136 0% 4.8865%);
+ --color-accent-50: hsl(223.8136 0% 84.4751%);
+ --color-accent-100: hsl(223.8136 0% 83.0887%);
+ --color-accent-200: hsl(223.8136 0% 80.3289%);
+ --color-accent-300: hsl(223.8136 0% 77.5868%);
+ --color-accent-400: hsl(223.8136 0% 74.8627%);
+ --color-accent-500: hsl(0 0% 72.1569%);
+ --color-accent-600: hsl(223.8136 0% 62.5743%);
+ --color-accent-700: hsl(223.8136 0% 53.2547%);
+ --color-accent-800: hsl(223.8136 0% 44.2224%);
+ --color-accent-900: hsl(223.8136 0% 35.508%);
+ --color-neutral-content: hsl(223.8136 0% 7.5614%);
+ --color-neutral-50: hsl(223.8136 0.0002% 95.6713%);
+ --color-neutral-100: hsl(223.8136 0.0001% 95.2796%);
+ --color-neutral-200: hsl(223.8136 0.0001% 94.497%);
+ --color-neutral-300: hsl(223.8136 0.0001% 93.7158%);
+ --color-neutral-400: hsl(223.8136 0.0001% 92.9357%);
+ --color-neutral-500: hsl(0 0% 92.1569%);
+ --color-neutral-600: hsl(223.8136 0% 80.1063%);
+ --color-neutral-700: hsl(223.8136 0% 68.3865%);
+ --color-neutral-800: hsl(223.8136 0% 57.0281%);
+ --color-neutral-900: hsl(223.8136 0% 46.0694%);
+ --color-info-content: hsl(217.6355 100% 88.8385%);
+ --color-info-50: hsl(220.1478 100% 70.0069%);
+ --color-info-100: hsl(220.6406 100% 67.3724%);
+ --color-info-200: hsl(221.8025 100% 62.1077%);
+ --color-info-300: hsl(223.3146 100% 56.7575%);
+ --color-info-400: hsl(225.4892 100% 50.9722%);
+ --color-info-500: hsl(240 100% 50%);
+ --color-info-600: hsl(240 100% 43.4908%);
+ --color-info-700: hsl(240 100% 37.1603%);
+ --color-info-800: hsl(240 100% 31.025%);
+ --color-info-900: hsl(240 100% 25.1055%);
+ --color-success-content: hsl(114.0582 29.7922% 85.8982%);
+ --color-success-50: hsl(114.9829 29.0112% 61.5926%);
+ --color-success-100: hsl(115.1825 28.9427% 58.1273%);
+ --color-success-200: hsl(115.6697 28.8898% 51.1462%);
+ --color-success-300: hsl(116.3298 36.9889% 43.9879%);
+ --color-success-400: hsl(117.3101 52.2408% 36.2837%);
+ --color-success-500: hsl(120 100% 25.098%);
+ --color-success-600: hsl(120 100% 21.6617%);
+ --color-success-700: hsl(120 100% 18.3196%);
+ --color-success-800: hsl(120 100% 15.0806%);
+ --color-success-900: hsl(120 100% 11.9556%);
+ --color-warning-content: hsl(60 58.4815% 2.487%);
+ --color-warning-50: hsl(61.4892 29.4687% 72.6435%);
+ --color-warning-100: hsl(61.3343 29.4818% 70.1688%);
+ --color-warning-200: hsl(61.0154 29.5398% 65.2093%);
+ --color-warning-300: hsl(60.6851 29.6554% 60.2196%);
+ --color-warning-400: hsl(60.3454 29.8574% 55.1685%);
+ --color-warning-500: hsl(60 30.1961% 50%);
+ --color-warning-600: hsl(60 30.671% 43.1515%);
+ --color-warning-700: hsl(60 31.3039% 36.4909%);
+ --color-warning-800: hsl(60 32.1851% 30.0358%);
+ --color-warning-900: hsl(60 33.4882% 23.8077%);
+ --color-danger-content: hsl(0 100% 4.3052%);
+ --color-danger-50: hsl(8.2867 100% 76.3184%);
+ --color-danger-100: hsl(7.9087 100% 74.1471%);
+ --color-danger-200: hsl(7.0314 100% 69.7153%);
+ --color-danger-300: hsl(5.9169 100% 65.0332%);
+ --color-danger-400: hsl(4.3532 100% 59.6704%);
+ --color-danger-500: hsl(0 100% 50%);
+ --color-danger-600: hsl(0 100% 43.4908%);
+ --color-danger-700: hsl(0 100% 37.1603%);
+ --color-danger-800: hsl(0 100% 31.025%);
+ --color-danger-900: hsl(0 100% 25.1055%);
+ --color-surface-content: hsl(223.8136 0% 8.6104%);
+}
+
+[data-theme="black"] {
+ color-scheme: dark;
+ --color-primary: hsl(0 0% 21.5686%);
+ --color-secondary: hsl(0 0% 21.5686%);
+ --color-accent: hsl(0 0% 21.5686%);
+ --color-surface-100: hsl(0 0% 0%);
+ --color-surface-200: hsl(0 0% 7.8431%);
+ --color-surface-300: hsl(0 0% 14.902%);
+ --color-surface-content: hsl(0 0% 83.9216%);
+ --color-neutral: hsl(0 0% 21.5686%);
+ --color-info: hsl(240 100% 50%);
+ --color-success: hsl(120 100% 25.098%);
+ --color-warning: hsl(60 100% 50%);
+ --color-danger: hsl(0 100% 50%);
+ --rounded-box: 0;
+ --rounded-btn: 0;
+ --rounded-badge: 0;
+ --animation-btn: 0;
+ --animation-input: 0;
+ --btn-focus-scale: 1;
+ --tab-radius: 0;
+ --color-primary-content: hsl(223.8136 0% 82.8083%);
+ --color-primary-50: hsl(223.8136 0% 54.3307%);
+ --color-primary-100: hsl(223.8136 0% 50.4525%);
+ --color-primary-200: hsl(223.8136 0% 42.8576%);
+ --color-primary-300: hsl(223.8136 0% 35.4946%);
+ --color-primary-400: hsl(223.8136 0% 28.3879%);
+ --color-primary-500: hsl(0 0% 21.5686%);
+ --color-primary-600: hsl(223.8136 0% 18.2285%);
+ --color-primary-700: hsl(223.8136 0% 14.9799%);
+ --color-primary-800: hsl(223.8136 0% 11.8316%);
+ --color-primary-900: hsl(223.8136 0% 8.7941%);
+ --color-secondary-content: hsl(223.8136 0% 82.8083%);
+ --color-secondary-50: hsl(223.8136 0% 54.3307%);
+ --color-secondary-100: hsl(223.8136 0% 50.4525%);
+ --color-secondary-200: hsl(223.8136 0% 42.8576%);
+ --color-secondary-300: hsl(223.8136 0% 35.4946%);
+ --color-secondary-400: hsl(223.8136 0% 28.3879%);
+ --color-secondary-500: hsl(0 0% 21.5686%);
+ --color-secondary-600: hsl(223.8136 0% 18.2285%);
+ --color-secondary-700: hsl(223.8136 0% 14.9799%);
+ --color-secondary-800: hsl(223.8136 0% 11.8316%);
+ --color-secondary-900: hsl(223.8136 0% 8.7941%);
+ --color-accent-content: hsl(223.8136 0% 82.8083%);
+ --color-accent-50: hsl(223.8136 0% 54.3307%);
+ --color-accent-100: hsl(223.8136 0% 50.4525%);
+ --color-accent-200: hsl(223.8136 0% 42.8576%);
+ --color-accent-300: hsl(223.8136 0% 35.4946%);
+ --color-accent-400: hsl(223.8136 0% 28.3879%);
+ --color-accent-500: hsl(0 0% 21.5686%);
+ --color-accent-600: hsl(223.8136 0% 18.2285%);
+ --color-accent-700: hsl(223.8136 0% 14.9799%);
+ --color-accent-800: hsl(223.8136 0% 11.8316%);
+ --color-accent-900: hsl(223.8136 0% 8.7941%);
+ --color-neutral-content: hsl(223.8136 0% 82.8083%);
+ --color-neutral-50: hsl(223.8136 0% 54.3307%);
+ --color-neutral-100: hsl(223.8136 0% 50.4525%);
+ --color-neutral-200: hsl(223.8136 0% 42.8576%);
+ --color-neutral-300: hsl(223.8136 0% 35.4946%);
+ --color-neutral-400: hsl(223.8136 0% 28.3879%);
+ --color-neutral-500: hsl(0 0% 21.5686%);
+ --color-neutral-600: hsl(223.8136 0% 18.2285%);
+ --color-neutral-700: hsl(223.8136 0% 14.9799%);
+ --color-neutral-800: hsl(223.8136 0% 11.8316%);
+ --color-neutral-900: hsl(223.8136 0% 8.7941%);
+ --color-info-content: hsl(217.6355 100% 88.8385%);
+ --color-info-50: hsl(220.1478 100% 70.0069%);
+ --color-info-100: hsl(220.6406 100% 67.3724%);
+ --color-info-200: hsl(221.8025 100% 62.1077%);
+ --color-info-300: hsl(223.3146 100% 56.7575%);
+ --color-info-400: hsl(225.4892 100% 50.9722%);
+ --color-info-500: hsl(240 100% 50%);
+ --color-info-600: hsl(240 100% 43.4908%);
+ --color-info-700: hsl(240 100% 37.1603%);
+ --color-info-800: hsl(240 100% 31.025%);
+ --color-info-900: hsl(240 100% 25.1055%);
+ --color-success-content: hsl(114.0582 29.7922% 85.8982%);
+ --color-success-50: hsl(114.9829 29.0112% 61.5926%);
+ --color-success-100: hsl(115.1825 28.9427% 58.1273%);
+ --color-success-200: hsl(115.6697 28.8898% 51.1462%);
+ --color-success-300: hsl(116.3298 36.9889% 43.9879%);
+ --color-success-400: hsl(117.3101 52.2408% 36.2837%);
+ --color-success-500: hsl(120 100% 25.098%);
+ --color-success-600: hsl(120 100% 21.6617%);
+ --color-success-700: hsl(120 100% 18.3196%);
+ --color-success-800: hsl(120 100% 15.0806%);
+ --color-success-900: hsl(120 100% 11.9556%);
+ --color-warning-content: hsl(60 100% 4.3052%);
+ --color-warning-50: hsl(60.675 100% 81.8925%);
+ --color-warning-100: hsl(60.5874 100% 79.9583%);
+ --color-warning-200: hsl(60.4193 100% 75.7757%);
+ --color-warning-300: hsl(60.2624 100% 70.9297%);
+ --color-warning-400: hsl(60.1197 100% 64.6815%);
+ --color-warning-500: hsl(60 100% 50%);
+ --color-warning-600: hsl(60 100% 43.4908%);
+ --color-warning-700: hsl(60 100% 37.1603%);
+ --color-warning-800: hsl(60 100% 31.025%);
+ --color-warning-900: hsl(60 100% 25.1055%);
+ --color-danger-content: hsl(0 100% 4.3052%);
+ --color-danger-50: hsl(8.2867 100% 76.3184%);
+ --color-danger-100: hsl(7.9087 100% 74.1471%);
+ --color-danger-200: hsl(7.0314 100% 69.7153%);
+ --color-danger-300: hsl(5.9169 100% 65.0332%);
+ --color-danger-400: hsl(4.3532 100% 59.6704%);
+ --color-danger-500: hsl(0 100% 50%);
+ --color-danger-600: hsl(0 100% 43.4908%);
+ --color-danger-700: hsl(0 100% 37.1603%);
+ --color-danger-800: hsl(0 100% 31.025%);
+ --color-danger-900: hsl(0 100% 25.1055%);
+}
+
+[data-theme="luxury"] {
+ color-scheme: dark;
+ --color-primary: hsl(180 100% 100%);
+ --color-secondary: hsl(218.4 54.3478% 18.0392%);
+ --color-accent: hsl(318.6207 21.8045% 26.0784%);
+ --color-neutral: hsl(28.2353 100% 10%);
+ --color-neutral-content: hsl(44.3478 100% 81.9608%);
+ --color-surface-100: hsl(240 10% 3.9216%);
+ --color-surface-200: hsl(270 4.3478% 9.0196%);
+ --color-surface-300: hsl(270 2.1739% 18.0392%);
+ --color-surface-content: hsl(37.0833 67.2897% 58.0392%);
+ --color-info: hsl(202.3529 100% 70%);
+ --color-success: hsl(89.0066 61.6327% 51.9608%);
+ --color-warning: hsl(53.9063 68.8172% 63.5294%);
+ --color-danger: hsl(0 100% 71.7647%);
+ --color-primary-content: hsl(223.8136 0% 8.6104%);
+ --color-primary-50: hsl(180 100% 100%);
+ --color-primary-100: hsl(180 100% 100%);
+ --color-primary-200: hsl(180 100% 100%);
+ --color-primary-300: hsl(180 100% 100%);
+ --color-primary-400: hsl(180 100% 100%);
+ --color-primary-500: hsl(180 100% 100%);
+ --color-primary-600: hsl(223.8136 0% 86.9817%);
+ --color-primary-700: hsl(223.8136 0% 74.3206%);
+ --color-primary-800: hsl(223.8136 0% 62.0499%);
+ --color-primary-900: hsl(223.8136 0% 50.2111%);
+ --color-secondary-content: hsl(217.7182 14.6321% 82.1044%);
+ --color-secondary-50: hsl(217.7798 13.7575% 52.4196%);
+ --color-secondary-100: hsl(217.8017 14.5197% 48.3703%);
+ --color-secondary-200: hsl(217.865 19.5423% 40.4323%);
+ --color-secondary-300: hsl(217.9676 26.4833% 32.7223%);
+ --color-secondary-400: hsl(218.135 36.8301% 25.2563%);
+ --color-secondary-500: hsl(218.4 54.3478% 18.0392%);
+ --color-secondary-600: hsl(218.4 56.785% 15.1346%);
+ --color-secondary-700: hsl(218.4 60.2584% 12.3096%);
+ --color-secondary-800: hsl(218.4882 65.3329% 9.5862%);
+ --color-secondary-900: hsl(219.7022 70.5247% 7.1001%);
+ --color-accent-content: hsl(321.804 9.1751% 84.1009%);
+ --color-accent-50: hsl(320.9429 8.6664% 57.518%);
+ --color-accent-100: hsl(320.7772 8.5791% 53.8623%);
+ --color-accent-200: hsl(320.398 9.5894% 46.6666%);
+ --color-accent-300: hsl(319.937 12.4622% 39.6322%);
+ --color-accent-400: hsl(319.3622 16.3102% 32.7674%);
+ --color-accent-500: hsl(318.6207 21.8045% 26.0784%);
+ --color-accent-600: hsl(318.6207 22.4717% 22.1818%);
+ --color-accent-700: hsl(318.6207 23.3916% 18.392%);
+ --color-accent-800: hsl(318.6207 24.7353% 14.7192%);
+ --color-accent-900: hsl(318.6207 26.8688% 11.1755%);
+ --color-neutral-50: hsl(26.1584 13.4946% 47.6189%);
+ --color-neutral-100: hsl(26.2321 15.9644% 43.1971%);
+ --color-neutral-200: hsl(26.4349 22.4924% 34.5443%);
+ --color-neutral-300: hsl(26.7889 32.7619% 26.1407%);
+ --color-neutral-400: hsl(27.6144 52.3033% 17.904%);
+ --color-neutral-500: hsl(28.2353 100% 10%);
+ --color-neutral-600: hsl(26.9561 100% 8.4267%);
+ --color-neutral-700: hsl(25.1523 100% 6.8966%);
+ --color-neutral-800: hsl(22.431 100% 5.4136%);
+ --color-neutral-900: hsl(19.2002 100% 3.9829%);
+ --color-info-content: hsl(204.7862 72.4887% 4.9919%);
+ --color-info-50: hsl(203.0847 100% 84.459%);
+ --color-info-100: hsl(203.0649 100% 82.9823%);
+ --color-info-200: hsl(202.9944 100% 79.9667%);
+ --color-info-300: hsl(202.87 100% 76.8396%);
+ --color-info-400: hsl(202.6692 100% 73.5484%);
+ --color-info-500: hsl(202.3529 100% 70%);
+ --color-info-600: hsl(202.3529 66.8883% 60.6836%);
+ --color-info-700: hsl(202.3529 46.9184% 51.6228%);
+ --color-info-800: hsl(202.3529 44.8363% 42.8414%);
+ --color-info-900: hsl(202.3529 46.0938% 34.3691%);
+ --color-success-content: hsl(98.177 87.1227% 3.2841%);
+ --color-success-50: hsl(93.8231 60.0454% 76.0657%);
+ --color-success-100: hsl(93.5558 59.9767% 73.7592%);
+ --color-success-200: hsl(92.92 59.934% 69.0106%);
+ --color-success-300: hsl(92.0867 60.0729% 63.9948%);
+ --color-success-400: hsl(90.9122 60.5218% 58.5062%);
+ --color-success-500: hsl(89.0066 61.6327% 51.9608%);
+ --color-success-600: hsl(89.0066 57.843% 44.8703%);
+ --color-success-700: hsl(89.0066 58.9899% 37.9744%);
+ --color-success-800: hsl(89.0066 60.5839% 31.2912%);
+ --color-success-900: hsl(89.0066 62.9346% 24.8431%);
+ --color-warning-content: hsl(52.979 69.7687% 4.1759%);
+ --color-warning-50: hsl(54.4726 66.0555% 80.9981%);
+ --color-warning-100: hsl(54.3766 66.2754% 79.208%);
+ --color-warning-200: hsl(54.2021 66.7586% 75.5598%);
+ --color-warning-300: hsl(54.0567 67.3172% 71.7851%);
+ --color-warning-400: hsl(53.9517 67.9838% 67.8163%);
+ --color-warning-500: hsl(53.9063 68.8172% 63.5294%);
+ --color-warning-600: hsl(53.9063 48.9036% 55.0114%);
+ --color-warning-700: hsl(53.9062 40.638% 46.7272%);
+ --color-warning-800: hsl(53.9063 41.5259% 38.6984%);
+ --color-warning-900: hsl(53.9062 42.8191% 30.9522%);
+ --color-danger-content: hsl(0 67.9518% 5.1267%);
+ --color-danger-50: hsl(3.1601 100% 84.2905%);
+ --color-danger-100: hsl(2.914 100% 82.8904%);
+ --color-danger-200: hsl(2.366 100% 80.1005%);
+ --color-danger-300: hsl(1.7245 100% 77.3209%);
+ --color-danger-400: hsl(0.955 100% 74.5454%);
+ --color-danger-500: hsl(0 100% 71.7647%);
+ --color-danger-600: hsl(0 65.5321% 62.2305%);
+ --color-danger-700: hsl(0 45.4118% 52.958%);
+ --color-danger-800: hsl(0 41.1145% 43.9713%);
+ --color-danger-900: hsl(0 42.2372% 35.3009%);
+}
+
+[data-theme="dracula"] {
+ color-scheme: dark;
+ --color-primary: hsl(325.5224 100% 73.7255%);
+ --color-secondary: hsl(264.7059 89.4737% 77.6471%);
+ --color-accent: hsl(31.0204 100% 71.1765%);
+ --color-neutral: hsl(229.5652 15.0327% 30%);
+ --color-surface-100: hsl(231.4286 14.8936% 18.4314%);
+ --color-surface-content: hsl(60 30% 96.0784%);
+ --color-info: hsl(190.5263 96.6102% 76.8627%);
+ --color-success: hsl(135.1765 94.4444% 64.7059%);
+ --color-warning: hsl(64.9091 91.6667% 76.4706%);
+ --color-danger: hsl(0 100% 66.6667%);
+ --color-primary-content: hsl(327.0388 62.6652% 5.2933%);
+ --color-primary-50: hsl(326.4622 100% 86.069%);
+ --color-primary-100: hsl(326.3986 100% 84.7655%);
+ --color-primary-200: hsl(326.2484 100% 82.1233%);
+ --color-primary-300: hsl(326.0609 100% 79.4204%);
+ --color-primary-400: hsl(325.8246 100% 76.6332%);
+ --color-primary-500: hsl(325.5224 100% 73.7255%);
+ --color-primary-600: hsl(325.5224 63.8888% 63.9493%);
+ --color-primary-700: hsl(325.5224 43.6342% 54.4415%);
+ --color-primary-800: hsl(325.5224 37.1973% 45.2268%);
+ --color-primary-900: hsl(325.5224 38.1841% 36.3364%);
+ --color-secondary-content: hsl(264.2383 46.6781% 5.6557%);
+ --color-secondary-50: hsl(262.5555 95.8176% 88.2425%);
+ --color-secondary-100: hsl(262.7658 95.0498% 87.1141%);
+ --color-secondary-200: hsl(263.2046 93.562% 84.824%);
+ --color-secondary-300: hsl(263.6709 92.1368% 82.4865%);
+ --color-secondary-400: hsl(264.1694 90.7738% 80.0966%);
+ --color-secondary-500: hsl(264.7059 89.4737% 77.6471%);
+ --color-secondary-600: hsl(264.7059 53.7579% 67.387%);
+ --color-secondary-700: hsl(264.7059 35.5279% 57.4085%);
+ --color-secondary-800: hsl(264.7059 26.8251% 47.7377%);
+ --color-secondary-900: hsl(264.7059 27.4983% 38.4072%);
+ --color-accent-content: hsl(28.3535 69.4897% 5.0802%);
+ --color-accent-50: hsl(30.498 100% 84.7445%);
+ --color-accent-100: hsl(30.5044 100% 83.3204%);
+ --color-accent-200: hsl(30.5434 100% 80.4324%);
+ --color-accent-300: hsl(30.6279 100% 77.4722%);
+ --color-accent-400: hsl(30.7767 100% 74.4056%);
+ --color-accent-500: hsl(31.0204 100% 71.1765%);
+ --color-accent-600: hsl(31.0204 65.9964% 61.7149%);
+ --color-accent-700: hsl(31.0204 45.9234% 52.5129%);
+ --color-accent-800: hsl(31.0204 42.3337% 43.5947%);
+ --color-accent-900: hsl(31.0204 43.4999% 34.9903%);
+ --color-neutral-content: hsl(228.5119 7.5426% 84.9164%);
+ --color-neutral-50: hsl(228.7476 7.1804% 59.7062%);
+ --color-neutral-100: hsl(228.7972 7.1174% 56.2417%);
+ --color-neutral-200: hsl(228.916 7.1422% 49.4266%);
+ --color-neutral-300: hsl(229.07 9.1319% 42.7722%);
+ --color-neutral-400: hsl(229.2764 11.6705% 36.2914%);
+ --color-neutral-500: hsl(229.5652 15.0327% 30%);
+ --color-neutral-600: hsl(229.5652 15.4309% 25.6194%);
+ --color-neutral-700: hsl(229.5652 15.9749% 21.3591%);
+ --color-neutral-800: hsl(229.5652 16.7588% 17.2301%);
+ --color-neutral-900: hsl(229.5652 17.9783% 13.2464%);
+ --color-info-content: hsl(190.7831 52.2364% 5.587%);
+ --color-info-50: hsl(190.9724 97.5291% 88.1319%);
+ --color-info-100: hsl(190.9432 97.4127% 86.9765%);
+ --color-info-200: hsl(190.8727 97.1892% 84.6091%);
+ --color-info-300: hsl(190.7831 96.9793% 82.1519%);
+ --color-info-400: hsl(190.6699 96.7852% 79.5812%);
+ --color-info-500: hsl(190.5263 96.6102% 76.8627%);
+ --color-info-600: hsl(190.5263 58.8419% 66.6995%);
+ --color-info-700: hsl(190.5263 39.162% 56.8151%);
+ --color-info-800: hsl(190.5263 30.2997% 47.2355%);
+ --color-info-900: hsl(190.5263 31.0684% 37.9931%);
+ --color-success-content: hsl(129.7201 81.9304% 4.5887%);
+ --color-success-50: hsl(128.2448 98.0719% 84.1559%);
+ --color-success-100: hsl(128.6906 97.5433% 82.4676%);
+ --color-success-200: hsl(129.7163 96.5603% 78.8817%);
+ --color-success-300: hsl(130.9926 95.6897% 74.9196%);
+ --color-success-400: hsl(132.6797 94.9614% 70.3687%);
+ --color-success-500: hsl(135.1765 94.4444% 64.7059%);
+ --color-success-600: hsl(135.1765 66.4739% 56.0427%);
+ --color-success-700: hsl(135.1765 52.9635% 47.6173%);
+ --color-success-800: hsl(135.1765 54.0986% 39.4517%);
+ --color-success-900: hsl(135.1765 55.7502% 31.5734%);
+ --color-warning-content: hsl(65.024 50.978% 5.5294%);
+ --color-warning-50: hsl(66.4482 93.4042% 87.9702%);
+ --color-warning-100: hsl(66.2798 93.1772% 86.7927%);
+ --color-warning-200: hsl(65.9416 92.7455% 84.3782%);
+ --color-warning-300: hsl(65.601 92.3465% 81.8699%);
+ --color-warning-400: hsl(65.2573 91.9847% 79.2451%);
+ --color-warning-500: hsl(64.9091 91.6667% 76.4706%);
+ --color-warning-600: hsl(64.9091 56.1971% 66.3557%);
+ --color-warning-700: hsl(64.9091 37.5301% 56.5184%);
+ --color-warning-800: hsl(64.9091 29.3928% 46.9844%);
+ --color-warning-900: hsl(64.9091 30.1426% 37.786%);
+ --color-danger-content: hsl(360 80.335% 4.7747%);
+ --color-danger-50: hsl(4.5218 100% 81.6113%);
+ --color-danger-100: hsl(4.2119 100% 79.9674%);
+ --color-danger-200: hsl(3.5048 100% 76.6825%);
+ --color-danger-300: hsl(2.6403 100% 73.3893%);
+ --color-danger-400: hsl(1.5334 100% 70.0648%);
+ --color-danger-500: hsl(0 100% 66.6667%);
+ --color-danger-600: hsl(360 69.1789% 57.7615%);
+ --color-danger-700: hsl(360 51.3633% 49.1008%);
+ --color-danger-800: hsl(0 52.4301% 40.7072%);
+ --color-danger-900: hsl(360 53.98% 32.6088%);
+ --color-surface-200: hsl(231.4286 15.3279% 16.356%);
+ --color-surface-300: hsl(231.4286 15.8335% 14.4607%);
+}
+
+[data-theme="cmyk"] {
+ color-scheme: light;
+ --color-primary: hsl(202.7219 83.2512% 60.1961%);
+ --color-secondary: hsl(335.25 77.6699% 59.6078%);
+ --color-accent: hsl(56.1951 100% 59.8039%);
+ --color-neutral: hsl(0 0% 10.1961%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-info: hsl(192.2034 48.3607% 52.1569%);
+ --color-success: hsl(291.0638 48.4536% 38.0392%);
+ --color-warning: hsl(25.0267 84.6154% 56.6667%);
+ --color-danger: hsl(3.956 80.531% 55.6863%);
+ --color-primary-content: hsl(208.3528 85.2384% 4.1669%);
+ --color-primary-50: hsl(204.8062 85.1282% 79.9227%);
+ --color-primary-100: hsl(204.6929 84.818% 77.9852%);
+ --color-primary-200: hsl(204.4186 84.2456% 74.0044%);
+ --color-primary-300: hsl(204.0519 83.757% 69.8252%);
+ --color-primary-400: hsl(203.5323 83.3938% 65.3218%);
+ --color-primary-500: hsl(202.7219 83.2512% 60.1961%);
+ --color-primary-600: hsl(202.7219 60.6301% 52.0894%);
+ --color-primary-700: hsl(202.7219 56.716% 44.2052%);
+ --color-primary-800: hsl(202.7219 58.0275% 36.5641%);
+ --color-primary-900: hsl(202.7219 59.9436% 29.1919%);
+ --color-secondary-content: hsl(342.5628 83.408% 4.0369%);
+ --color-secondary-50: hsl(340.9226 90.4677% 80.5355%);
+ --color-secondary-100: hsl(340.4917 88.7202% 78.513%);
+ --color-secondary-200: hsl(339.5367 85.4522% 74.3085%);
+ --color-secondary-300: hsl(338.4159 82.4897% 69.8458%);
+ --color-secondary-400: hsl(337.0457 79.8633% 65.0235%);
+ --color-secondary-500: hsl(335.25 77.6699% 59.6078%);
+ --color-secondary-600: hsl(335.25 56.79% 51.5738%);
+ --color-secondary-700: hsl(335.25 54.2417% 43.7602%);
+ --color-secondary-800: hsl(335.25 55.509% 36.1875%);
+ --color-secondary-900: hsl(335.25 57.3617% 28.8813%);
+ --color-accent-content: hsl(55.0595 92.6247% 4.47%);
+ --color-accent-50: hsl(56.6701 98.3135% 82.318%);
+ --color-accent-100: hsl(56.5387 98.53% 80.5085%);
+ --color-accent-200: hsl(56.3105 98.9455% 76.6664%);
+ --color-accent-300: hsl(56.1421 99.3344% 72.372%);
+ --color-accent-400: hsl(56.067 99.6905% 67.2295%);
+ --color-accent-500: hsl(56.1951 100% 59.8039%);
+ --color-accent-600: hsl(56.1951 73.0214% 51.7456%);
+ --color-accent-700: hsl(56.1951 69.2624% 43.9085%);
+ --color-accent-800: hsl(56.1951 70.8751% 36.313%);
+ --color-accent-900: hsl(56.1951 73.2321% 28.9848%);
+ --color-neutral-content: hsl(223.8136 0% 79.7895%);
+ --color-neutral-50: hsl(223.8136 0% 46.7263%);
+ --color-neutral-100: hsl(223.8136 0% 42.2843%);
+ --color-neutral-200: hsl(223.8136 0% 33.6486%);
+ --color-neutral-300: hsl(223.8136 0% 25.3798%);
+ --color-neutral-400: hsl(223.8136 0% 17.5346%);
+ --color-neutral-500: hsl(0 0% 10.1961%);
+ --color-neutral-600: hsl(223.8136 0% 8.2592%);
+ --color-neutral-700: hsl(223.8136 0% 6.3755%);
+ --color-neutral-800: hsl(223.8136 0% 4.5499%);
+ --color-neutral-900: hsl(223.8136 0% 2.8828%);
+ --color-info-content: hsl(196.4254 76.4613% 3.0069%);
+ --color-info-50: hsl(193.4024 46.4431% 74.7537%);
+ --color-info-100: hsl(193.3396 46.5097% 72.4102%);
+ --color-info-200: hsl(193.1827 46.7061% 67.6594%);
+ --color-info-300: hsl(192.9679 47.0206% 62.7795%);
+ --color-info-400: hsl(192.6633 47.5227% 57.6785%);
+ --color-info-500: hsl(192.2034 48.3607% 52.1569%);
+ --color-info-600: hsl(192.2034 45.0293% 45.0422%);
+ --color-info-700: hsl(192.2034 45.9187% 38.1228%);
+ --color-info-800: hsl(192.2034 47.1545% 31.4168%);
+ --color-info-900: hsl(192.2034 48.9765% 24.9467%);
+ --color-success-content: hsl(291.4769 31.417% 87.5815%);
+ --color-success-50: hsl(291.1507 30.2435% 66.1403%);
+ --color-success-100: hsl(291.105 30.0895% 63.0941%);
+ --color-success-200: hsl(291.0214 29.8106% 56.9945%);
+ --color-success-300: hsl(290.9605 29.5988% 50.8537%);
+ --color-success-400: hsl(290.9507 36.6721% 44.5983%);
+ --color-success-500: hsl(291.0638 48.4536% 38.0392%);
+ --color-success-600: hsl(291.0638 49.4603% 32.6666%);
+ --color-success-700: hsl(291.0638 50.8174% 27.4415%);
+ --color-success-800: hsl(291.0638 52.7375% 22.3775%);
+ --color-success-900: hsl(291.0638 55.6438% 17.4916%);
+ --color-warning-content: hsl(15.6727 91.5104% 4.0305%);
+ --color-warning-50: hsl(22.4417 90.6782% 78.4351%);
+ --color-warning-100: hsl(22.5456 89.854% 76.3321%);
+ --color-warning-200: hsl(22.8086 88.2823% 72.0044%);
+ --color-warning-300: hsl(23.1937 86.8337% 67.4467%);
+ --color-warning-400: hsl(23.8196 85.561% 62.4934%);
+ --color-warning-500: hsl(25.0267 84.6154% 56.6667%);
+ --color-warning-600: hsl(25.0267 65.6022% 48.9955%);
+ --color-warning-700: hsl(25.0267 66.7915% 41.5349%);
+ --color-warning-800: hsl(25.0267 68.4377% 34.3043%);
+ --color-warning-900: hsl(25.0267 70.8517% 27.3282%);
+ --color-danger-content: hsl(1.4472 91.2249% 3.8993%);
+ --color-danger-50: hsl(7.5281 94.4656% 77.7269%);
+ --color-danger-100: hsl(7.3341 92.6594% 75.5053%);
+ --color-danger-200: hsl(6.8556 89.2314% 70.9487%);
+ --color-danger-300: hsl(6.2143 86.0441% 66.2078%);
+ --color-danger-400: hsl(5.3207 83.1156% 61.1974%);
+ --color-danger-500: hsl(3.956 80.531% 55.6863%);
+ --color-danger-600: hsl(3.956 64.988% 48.1361%);
+ --color-danger-700: hsl(3.956 66.1876% 40.7931%);
+ --color-danger-800: hsl(3.956 67.8494% 33.6766%);
+ --color-danger-900: hsl(3.956 70.2888% 26.8105%);
+ --color-surface-200: hsl(223.8136 0.0001% 90.851%);
+ --color-surface-300: hsl(223.8136 0% 82.4954%);
+ --color-surface-content: hsl(223.8136 0% 8.6104%);
+}
+
+[data-theme="autumn"] {
+ color-scheme: light;
+ --color-primary: hsl(344.2336 95.8042% 28.0392%);
+ --color-secondary: hsl(0.4444 63.3803% 58.2353%);
+ --color-accent: hsl(27.4766 56.0209% 62.549%);
+ --color-neutral: hsl(22.1053 17.1171% 43.5294%);
+ --color-surface-100: hsl(0 0% 94.5098%);
+ --color-info: hsl(186.9421 47.8261% 49.6078%);
+ --color-success: hsl(164.5946 33.6364% 43.1373%);
+ --color-warning: hsl(30.1408 84.1897% 49.6078%);
+ --color-danger: hsl(354.4845 100% 41.642%);
+ --color-primary-content: hsl(359.7822 43.9393% 87.1844%);
+ --color-primary-50: hsl(358.0209 38.9348% 64.1187%);
+ --color-primary-100: hsl(357.6026 38.2676% 60.7289%);
+ --color-primary-200: hsl(356.5219 37.0114% 53.8268%);
+ --color-primary-300: hsl(354.9098 41.0895% 46.6607%);
+ --color-primary-400: hsl(352.1432 55.5307% 38.8986%);
+ --color-primary-500: hsl(344.2336 95.8042% 28.0392%);
+ --color-primary-600: hsl(344.7131 96.4491% 24.1531%);
+ --color-primary-700: hsl(345.4076 97.0474% 20.401%);
+ --color-primary-800: hsl(346.432 97.5965% 16.789%);
+ --color-primary-900: hsl(348.0043 98.093% 13.3252%);
+ --color-secondary-content: hsl(0.2272 77.0618% 3.7077%);
+ --color-secondary-50: hsl(3.9709 73.8854% 77.9902%);
+ --color-secondary-100: hsl(3.7621 72.6137% 75.876%);
+ --color-secondary-200: hsl(3.2584 70.15% 71.5931%);
+ --color-secondary-300: hsl(2.6012 67.7884% 67.2339%);
+ --color-secondary-400: hsl(1.714 65.5289% 62.7884%);
+ --color-secondary-500: hsl(0.4444 63.3803% 58.2353%);
+ --color-secondary-600: hsl(0.4444 46.7549% 50.3706%);
+ --color-secondary-700: hsl(0.4444 46.8789% 42.7217%);
+ --color-secondary-800: hsl(0.4444 48.0015% 35.3087%);
+ --color-secondary-900: hsl(0.4444 49.6448% 28.1565%);
+ --color-accent-content: hsl(23.1592 62.2725% 3.9486%);
+ --color-accent-50: hsl(26.6918 57.9104% 79.6627%);
+ --color-accent-100: hsl(26.749 57.6731% 77.7967%);
+ --color-accent-200: hsl(26.8783 57.2123% 74.0475%);
+ --color-accent-300: hsl(27.034 56.7757% 70.2672%);
+ --color-accent-400: hsl(27.2274 56.3733% 66.4418%);
+ --color-accent-500: hsl(27.4766 56.0209% 62.549%);
+ --color-accent-600: hsl(27.4766 40.114% 54.152%);
+ --color-accent-700: hsl(27.4766 34.5188% 45.9854%);
+ --color-accent-800: hsl(27.4766 35.2854% 38.0707%);
+ --color-accent-900: hsl(27.4766 36.403% 30.4344%);
+ --color-neutral-content: hsl(21.7051 14.4479% 88.1294%);
+ --color-neutral-50: hsl(21.8336 13.9743% 68.0144%);
+ --color-neutral-100: hsl(21.8561 13.8981% 65.2139%);
+ --color-neutral-200: hsl(21.9052 13.7385% 59.6709%);
+ --color-neutral-300: hsl(21.9613 13.5684% 54.2074%);
+ --color-neutral-400: hsl(22.0268 14.0309% 48.8261%);
+ --color-neutral-500: hsl(22.1053 17.1171% 43.5294%);
+ --color-neutral-600: hsl(22.1053 17.4271% 37.4793%);
+ --color-neutral-700: hsl(22.1053 17.8424% 31.5953%);
+ --color-neutral-800: hsl(22.1053 18.425% 25.8927%);
+ --color-neutral-900: hsl(22.1053 19.296% 20.3908%);
+ --color-info-content: hsl(189.8329 79.9138% 2.8035%);
+ --color-info-50: hsl(187.6316 43.8366% 73.8052%);
+ --color-info-100: hsl(187.6134 43.987% 71.3575%);
+ --color-info-200: hsl(187.5526 44.3735% 66.3754%);
+ --color-info-300: hsl(187.4455 44.9229% 61.2154%);
+ --color-info-400: hsl(187.2636 45.7411% 55.739%);
+ --color-info-500: hsl(186.9421 47.8261% 49.6078%);
+ --color-info-600: hsl(186.9421 48.5843% 42.8077%);
+ --color-info-700: hsl(186.9421 49.5951% 36.1942%);
+ --color-info-800: hsl(186.9421 51.0029% 29.7847%);
+ --color-info-900: hsl(186.9421 53.0861% 23.6006%);
+ --color-success-content: hsl(159.7703 62.82% 1.8522%);
+ --color-success-50: hsl(161.7205 24.1199% 68.9039%);
+ --color-success-100: hsl(161.9382 24.1719% 66.1021%);
+ --color-success-200: hsl(162.4256 24.32% 60.488%);
+ --color-success-300: hsl(163.0019 24.5517% 54.8343%);
+ --color-success-400: hsl(163.703 25.8435% 49.0873%);
+ --color-success-500: hsl(164.5946 33.6364% 43.1373%);
+ --color-success-600: hsl(164.5946 34.2511% 37.1356%);
+ --color-success-700: hsl(164.5946 35.0751% 31.2986%);
+ --color-success-800: hsl(164.5946 36.2317% 25.6416%);
+ --color-success-900: hsl(164.5946 37.962% 20.1837%);
+ --color-warning-content: hsl(17.2366 98.0793% 3.7644%);
+ --color-warning-50: hsl(25.1016 86.5844% 76.4303%);
+ --color-warning-100: hsl(25.2458 85.907% 74.1214%);
+ --color-warning-200: hsl(25.625 84.6391% 69.3357%);
+ --color-warning-300: hsl(26.2144 83.5325% 64.1965%);
+ --color-warning-400: hsl(27.2725 82.7199% 58.3212%);
+ --color-warning-500: hsl(30.1408 84.1897% 49.6078%);
+ --color-warning-600: hsl(30.1408 85.5245% 42.8077%);
+ --color-warning-700: hsl(30.1408 87.3037% 36.1942%);
+ --color-warning-800: hsl(30.1092 89.6017% 29.813%);
+ --color-warning-900: hsl(29.8634 91.7987% 23.8037%);
+ --color-danger-content: hsl(4.986 99.3475% 90.8534%);
+ --color-danger-50: hsl(3.2054 83.4371% 73.2191%);
+ --color-danger-100: hsl(2.7424 81.4951% 70.5394%);
+ --color-danger-200: hsl(1.487 77.8227% 65.0369%);
+ --color-danger-300: hsl(359.4121 74.6315% 58.9829%);
+ --color-danger-400: hsl(354.9466 73.2158% 49.998%);
+ --color-danger-500: hsl(354.4845 100% 41.642%);
+ --color-danger-600: hsl(354.9957 100% 36.1642%);
+ --color-danger-700: hsl(355.6672 100% 30.8367%);
+ --color-danger-800: hsl(356.4983 100% 25.6735%);
+ --color-danger-900: hsl(357.264 100% 20.692%);
+ --color-surface-200: hsl(223.8136 0% 85.8369%);
+ --color-surface-300: hsl(223.8136 0% 77.9161%);
+ --color-surface-content: hsl(223.8136 0% 7.8761%);
+}
+
+[data-theme="business"] {
+ color-scheme: dark;
+ --color-primary: hsl(210 64.1026% 30.5882%);
+ --color-secondary: hsl(200 12.931% 54.5098%);
+ --color-accent: hsl(12.5153 79.5122% 59.8039%);
+ --color-neutral: hsl(212.7273 13.5802% 15.8824%);
+ --color-surface-100: hsl(0 0% 12.549%);
+ --color-info: hsl(199.1549 100% 41.7647%);
+ --color-success: hsl(144 30.9735% 55.6863%);
+ --color-warning: hsl(39.2308 64.3564% 60.3922%);
+ --color-danger: hsl(6.3415 55.6561% 43.3333%);
+ --rounded-box: 0.25rem;
+ --rounded-btn: 0.125rem;
+ --rounded-badge: 0.125rem;
+ --color-primary-content: hsl(211.9142 30.4685% 85.6944%);
+ --color-primary-50: hsl(211.6742 29.2018% 61.3824%);
+ --color-primary-100: hsl(211.623 29.0154% 57.9803%);
+ --color-primary-200: hsl(211.4902 28.6516% 51.2171%);
+ --color-primary-300: hsl(211.2823 35.3524% 44.4821%);
+ --color-primary-400: hsl(210.9011 46.4518% 37.6981%);
+ --color-primary-500: hsl(210 64.1026% 30.5882%);
+ --color-primary-600: hsl(210 65.7672% 26.1351%);
+ --color-primary-700: hsl(210 68.0384% 21.8041%);
+ --color-primary-800: hsl(210 71.3057% 17.6067%);
+ --color-primary-900: hsl(210.055 76.1295% 13.576%);
+ --color-secondary-content: hsl(201.8357 23.1727% 2.7116%);
+ --color-secondary-50: hsl(200.2005 13.2026% 74.4186%);
+ --color-secondary-100: hsl(200.1838 13.1735% 72.1591%);
+ --color-secondary-200: hsl(200.147 13.1143% 67.6749%);
+ --color-secondary-300: hsl(200.105 13.0539% 63.238%);
+ --color-secondary-400: hsl(200.0566 12.9926% 58.8494%);
+ --color-secondary-500: hsl(200 12.931% 54.5098%);
+ --color-secondary-600: hsl(200 10.9468% 47.1048%);
+ --color-secondary-700: hsl(200 11.1534% 39.903%);
+ --color-secondary-800: hsl(200 11.4398% 32.9233%);
+ --color-secondary-900: hsl(200 11.8609% 26.1892%);
+ --color-accent-content: hsl(7.0767 84.0379% 4.0801%);
+ --color-accent-50: hsl(12.8008 89.374% 79.2809%);
+ --color-accent-100: hsl(12.7671 88.1328% 77.2657%);
+ --color-accent-200: hsl(12.6881 85.7511% 73.1554%);
+ --color-accent-300: hsl(12.6003 83.5063% 68.9163%);
+ --color-accent-400: hsl(12.5239 81.4129% 64.5003%);
+ --color-accent-500: hsl(12.5153 79.5122% 59.8039%);
+ --color-accent-600: hsl(12.5153 58.0609% 51.7456%);
+ --color-accent-700: hsl(12.5153 55.072% 43.9085%);
+ --color-accent-800: hsl(12.5153 56.3543% 36.313%);
+ --color-accent-900: hsl(12.5153 58.2285% 28.9848%);
+ --color-neutral-content: hsl(212.8863 3.0767% 81.3508%);
+ --color-neutral-50: hsl(212.8512 2.9246% 50.6328%);
+ --color-neutral-100: hsl(212.844 3.3363% 46.4743%);
+ --color-neutral-200: hsl(212.8265 4.5557% 38.3558%);
+ --color-neutral-300: hsl(212.8038 6.2849% 30.5253%);
+ --color-neutral-400: hsl(212.7729 8.9406% 23.0183%);
+ --color-neutral-500: hsl(212.7273 13.5802% 15.8824%);
+ --color-neutral-600: hsl(212.7273 14.2762% 13.2438%);
+ --color-neutral-700: hsl(212.7273 15.2829% 10.6777%);
+ --color-neutral-800: hsl(212.7273 16.8605% 8.1908%);
+ --color-neutral-900: hsl(212.7273 19.6668% 5.7913%);
+ --color-info-content: hsl(212.5951 100% 3.2038%);
+ --color-info-50: hsl(204.9772 68.8424% 73.5398%);
+ --color-info-100: hsl(204.8233 68.6424% 70.9989%);
+ --color-info-200: hsl(204.4219 68.3451% 65.7488%);
+ --color-info-300: hsl(203.81 68.2709% 60.1164%);
+ --color-info-400: hsl(202.7269 68.6838% 53.5988%);
+ --color-info-500: hsl(199.1549 100% 41.7647%);
+ --color-info-600: hsl(199.3341 100% 36.2717%);
+ --color-info-700: hsl(199.5695 100% 30.9295%);
+ --color-info-800: hsl(199.8907 100% 25.752%);
+ --color-info-900: hsl(200.3526 100% 20.7567%);
+ --color-success-content: hsl(139.6933 49.6712% 3.0195%);
+ --color-success-50: hsl(140.9887 30.3385% 75.8203%);
+ --color-success-100: hsl(141.2316 30.3576% 73.6196%);
+ --color-success-200: hsl(141.7691 30.4224% 69.2043%);
+ --color-success-300: hsl(142.3905 30.533% 64.7588%);
+ --color-success-400: hsl(143.1213 30.7072% 60.2634%);
+ --color-success-500: hsl(144 30.9735% 55.6863%);
+ --color-success-600: hsl(144 24.9954% 48.1361%);
+ --color-success-700: hsl(144 25.4568% 40.7931%);
+ --color-success-800: hsl(144 26.0959% 33.6766%);
+ --color-success-900: hsl(144 27.0342% 26.8105%);
+ --color-warning-content: hsl(35.11 73.3698% 3.8774%);
+ --color-warning-50: hsl(38.1926 64.0169% 78.9784%);
+ --color-warning-100: hsl(38.2426 63.9819% 77.0255%);
+ --color-warning-200: hsl(38.3737 63.9456% 73.0711%);
+ --color-warning-300: hsl(38.5606 63.9709% 69.024%);
+ --color-warning-400: hsl(38.8302 64.0888% 64.8309%);
+ --color-warning-500: hsl(39.2308 64.3564% 60.3922%);
+ --color-warning-600: hsl(39.2308 46.8064% 52.2613%);
+ --color-warning-700: hsl(39.2308 43.4818% 44.3536%);
+ --color-warning-800: hsl(39.2308 44.4838% 36.6897%);
+ --color-warning-900: hsl(39.2308 45.9475% 29.2955%);
+ --color-danger-content: hsl(9.0406 53.9346% 88.9946%);
+ --color-danger-50: hsl(8.5775 48.7104% 69.4418%);
+ --color-danger-100: hsl(8.4597 47.9787% 66.6165%);
+ --color-danger-200: hsl(8.162 46.5316% 60.9343%);
+ --color-danger-300: hsl(7.7535 45.1181% 55.1946%);
+ --color-danger-400: hsl(7.1801 44.9039% 49.3597%);
+ --color-danger-500: hsl(6.3415 55.6561% 43.3333%);
+ --color-danger-600: hsl(6.3415 56.6686% 37.3075%);
+ --color-danger-700: hsl(6.3415 58.0255% 31.447%);
+ --color-danger-800: hsl(6.3415 59.9295% 25.7672%);
+ --color-danger-900: hsl(6.3415 62.777% 20.2873%);
+ --color-surface-200: hsl(223.8136 0% 10.9838%);
+ --color-surface-300: hsl(223.8136 0% 9.5543%);
+ --color-surface-content: hsl(223.8136 0% 80.4409%);
+}
+
+[data-theme="acid"] {
+ color-scheme: light;
+ --color-primary: hsl(300 100% 50%);
+ --color-secondary: hsl(25.9816 100% 50%);
+ --color-accent: hsl(73.0318 100% 50%);
+ --color-neutral: hsl(254.0153 97.4904% 16.1015%);
+ --color-surface-100: hsl(0 0% 98.0392%);
+ --color-info: hsl(210.0636 100% 50%);
+ --color-success: hsl(152.4739 100% 50%);
+ --color-warning: hsl(53.2818 100% 50%);
+ --color-danger: hsl(0 100% 50%);
+ --rounded-box: 1.25rem;
+ --rounded-btn: 1rem;
+ --rounded-badge: 1rem;
+ --tab-radius: 0.7rem;
+ --color-primary-content: hsl(303.7094 100% 4.8138%);
+ --color-primary-50: hsl(300 100% 79.7412%);
+ --color-primary-100: hsl(300 100% 77.575%);
+ --color-primary-200: hsl(300 100% 72.8384%);
+ --color-primary-300: hsl(300 100% 67.1361%);
+ --color-primary-400: hsl(300 100% 58.5001%);
+ --color-primary-500: hsl(300 100% 50%);
+ --color-primary-600: hsl(302.4994 100% 46.824%);
+ --color-primary-700: hsl(302.5229 100% 40.0371%);
+ --color-primary-800: hsl(302.5548 100% 33.4595%);
+ --color-primary-900: hsl(302.6002 100% 27.1134%);
+ --color-secondary-content: hsl(10.1311 100% 4.8114%);
+ --color-secondary-50: hsl(23.6927 100% 76.2996%);
+ --color-secondary-100: hsl(23.7165 100% 73.9684%);
+ --color-secondary-200: hsl(23.9438 100% 69.0094%);
+ --color-secondary-300: hsl(24.6847 100% 63.2298%);
+ --color-secondary-400: hsl(27.6825 100% 53.8578%);
+ --color-secondary-500: hsl(25.9816 100% 50%);
+ --color-secondary-600: hsl(23.8934 100% 46.8088%);
+ --color-secondary-700: hsl(23.5537 100% 40.024%);
+ --color-secondary-800: hsl(23.0931 100% 33.4485%);
+ --color-secondary-900: hsl(22.4368 100% 27.1043%);
+ --color-accent-content: hsl(80.5651 100% 4.3404%);
+ --color-accent-50: hsl(77.0177 100% 78.2827%);
+ --color-accent-100: hsl(76.637 100% 75.8468%);
+ --color-accent-200: hsl(75.6887 100% 70.3186%);
+ --color-accent-300: hsl(74.2299 100% 62.8551%);
+ --color-accent-400: hsl(71.8109 100% 50%);
+ --color-accent-500: hsl(73.0318 100% 50%);
+ --color-accent-600: hsl(73.3808 100% 43.7215%);
+ --color-accent-700: hsl(73.5156 100% 37.3594%);
+ --color-accent-800: hsl(73.6988 100% 31.1935%);
+ --color-accent-900: hsl(73.9603 100% 25.2445%);
+ --color-neutral-content: hsl(231.8127 23.4749% 82.2725%);
+ --color-neutral-50: hsl(233.6449 21.0781% 52.7408%);
+ --color-neutral-100: hsl(234.1486 21.7398% 48.7122%);
+ --color-neutral-200: hsl(235.5731 28.5165% 40.8393%);
+ --color-neutral-300: hsl(238.0264 37.1684% 33.2711%);
+ --color-neutral-400: hsl(242.9395 51.9839% 25.4939%);
+ --color-neutral-500: hsl(254.0153 97.4904% 16.1015%);
+ --color-neutral-600: hsl(252.9572 97.8569% 13.7455%);
+ --color-neutral-700: hsl(251.4827 98.1952% 11.4635%);
+ --color-neutral-800: hsl(249.5473 98.5033% 9.2603%);
+ --color-neutral-900: hsl(247.774 98.7779% 7.1418%);
+ --color-info-content: hsl(225.0408 100% 4.4164%);
+ --color-info-50: hsl(210.0186 100% 74.1831%);
+ --color-info-100: hsl(209.9793 100% 71.6469%);
+ --color-info-200: hsl(209.6887 100% 66.2016%);
+ --color-info-300: hsl(208.6982 100% 59.4997%);
+ --color-info-400: hsl(206.562 100% 50%);
+ --color-info-500: hsl(210.0636 100% 50%);
+ --color-info-600: hsl(210.7877 100% 44.2196%);
+ --color-info-700: hsl(211.0945 100% 37.7893%);
+ --color-info-800: hsl(211.511 100% 31.5573%);
+ --color-info-900: hsl(212.1055 100% 25.5446%);
+ --color-success-content: hsl(138.1514 100% 4.3426%);
+ --color-success-50: hsl(149.0902 100% 76.2099%);
+ --color-success-100: hsl(150.0929 100% 73.1203%);
+ --color-success-200: hsl(152.9737 100% 65.1278%);
+ --color-success-300: hsl(158.3301 100% 50%);
+ --color-success-400: hsl(155.4451 100% 50%);
+ --color-success-500: hsl(152.4739 100% 50%);
+ --color-success-600: hsl(152.0782 100% 43.7361%);
+ --color-success-700: hsl(151.7969 100% 37.372%);
+ --color-success-800: hsl(151.4148 100% 31.2042%);
+ --color-success-900: hsl(150.8692 100% 25.2533%);
+ --color-warning-content: hsl(48.6708 100% 4.3843%);
+ --color-warning-50: hsl(52.3743 100% 78.7644%);
+ --color-warning-100: hsl(52.3745 100% 76.4638%);
+ --color-warning-200: hsl(52.4598 100% 71.3651%);
+ --color-warning-300: hsl(52.7474 100% 64.9582%);
+ --color-warning-400: hsl(53.9826 100% 51.1169%);
+ --color-warning-500: hsl(53.2818 100% 50%);
+ --color-warning-600: hsl(52.6028 100% 44.0089%);
+ --color-warning-700: hsl(52.5287 100% 37.6075%);
+ --color-warning-800: hsl(52.4281 100% 31.4034%);
+ --color-warning-900: hsl(52.2845 100% 25.4176%);
+ --color-danger-content: hsl(0 100% 4.8612%);
+ --color-danger-50: hsl(8.8437 100% 75.3492%);
+ --color-danger-100: hsl(8.3614 100% 73.0335%);
+ --color-danger-200: hsl(7.2264 100% 68.2221%);
+ --color-danger-300: hsl(5.7332 100% 62.8914%);
+ --color-danger-400: hsl(3.4 100% 55.6562%);
+ --color-danger-500: hsl(0 100% 50%);
+ --color-danger-600: hsl(360 100% 47.1349%);
+ --color-danger-700: hsl(0 100% 40.3055%);
+ --color-danger-800: hsl(0 100% 33.6866%);
+ --color-danger-900: hsl(0 100% 27.3007%);
+ --color-surface-200: hsl(223.8136 0.0001% 89.0602%);
+ --color-surface-300: hsl(223.8136 0% 80.8599%);
+ --color-surface-content: hsl(223.8136 0% 8.3482%);
+}
+
+[data-theme="lemonade"] {
+ color-scheme: light;
+ --color-primary: hsl(93.4996 100% 29.0294%);
+ --color-secondary: hsl(60.8502 100% 37.6616%);
+ --color-accent: hsl(52.6958 100% 46.4788%);
+ --color-neutral: hsl(58.4134 100% 10.1809%);
+ --color-surface-100: hsl(82.6841 81.8906% 96.5044%);
+ --color-info: hsl(197.1466 55.5016% 80.42%);
+ --color-success: hsl(142.5226 32.7183% 79.3071%);
+ --color-warning: hsl(54.0615 32.8556% 76.7519%);
+ --color-danger: hsl(6.2376 58.9836% 84.8923%);
+ --color-primary-content: hsl(109.1708 100% 1.5316%);
+ --color-primary-50: hsl(97.93 38.4425% 63.2134%);
+ --color-primary-100: hsl(97.5997 38.486% 59.7635%);
+ --color-primary-200: hsl(96.6731 38.7883% 52.6394%);
+ --color-primary-300: hsl(95.0069 48.8173% 44.8423%);
+ --color-primary-400: hsl(89.9607 85.7813% 33.5969%);
+ --color-primary-500: hsl(93.4996 100% 29.0294%);
+ --color-primary-600: hsl(93.9523 100% 25.108%);
+ --color-primary-700: hsl(94.5526 100% 21.2941%);
+ --color-primary-800: hsl(95.3827 100% 17.5979%);
+ --color-primary-900: hsl(96.598 100% 14.0317%);
+ --color-secondary-content: hsl(61.6131 100% 2.655%);
+ --color-secondary-50: hsl(63.2518 56.1981% 70.3169%);
+ --color-secondary-100: hsl(62.9727 56.3816% 67.3239%);
+ --color-secondary-200: hsl(62.4033 57.039% 60.9192%);
+ --color-secondary-300: hsl(61.8114 58.4603% 53.3641%);
+ --color-secondary-400: hsl(61.082 100% 38.9992%);
+ --color-secondary-500: hsl(60.8502 100% 37.6616%);
+ --color-secondary-600: hsl(60.8591 100% 32.675%);
+ --color-secondary-700: hsl(60.8707 100% 27.8252%);
+ --color-secondary-800: hsl(60.8866 100% 23.1249%);
+ --color-secondary-900: hsl(60.9096 100% 18.59%);
+ --color-accent-content: hsl(48.1577 100% 3.8343%);
+ --color-accent-50: hsl(52.0804 82.9217% 75.8541%);
+ --color-accent-100: hsl(52.0424 83.2457% 73.3537%);
+ --color-accent-200: hsl(52.061 84.0111% 67.9033%);
+ --color-accent-300: hsl(52.3065 85.0851% 61.2291%);
+ --color-accent-400: hsl(53.6574 99.2271% 46.9722%);
+ --color-accent-500: hsl(52.6958 100% 46.4788%);
+ --color-accent-600: hsl(52.6344 100% 40.4042%);
+ --color-accent-700: hsl(52.554 100% 34.4962%);
+ --color-accent-800: hsl(52.4446 100% 28.7704%);
+ --color-accent-900: hsl(52.288 100% 23.2461%);
+ --color-neutral-content: hsl(62.4437 11.0501% 80.3925%);
+ --color-neutral-50: hsl(61.3377 11.6994% 47.9634%);
+ --color-neutral-100: hsl(61.1184 13.951% 43.5385%);
+ --color-neutral-200: hsl(60.6131 20.0975% 34.8351%);
+ --color-neutral-300: hsl(60.0045 30.456% 26.2683%);
+ --color-neutral-400: hsl(59.3163 54.0588% 17.6182%);
+ --color-neutral-500: hsl(58.4134 100% 10.1809%);
+ --color-neutral-600: hsl(58.3507 100% 8.5853%);
+ --color-neutral-700: hsl(58.2624 100% 7.0334%);
+ --color-neutral-800: hsl(58.1296 100% 5.5294%);
+ --color-neutral-900: hsl(57.9085 100% 4.0784%);
+ --color-info-content: hsl(197.1466 24.2582% 5.9916%);
+ --color-info-50: hsl(197.3691 55.6859% 89.2917%);
+ --color-info-100: hsl(197.3487 55.6586% 88.3127%);
+ --color-info-200: hsl(197.305 55.6085% 86.3506%);
+ --color-info-300: hsl(197.2572 55.565% 84.382%);
+ --color-info-400: hsl(197.2046 55.529% 82.4056%);
+ --color-info-500: hsl(197.1466 55.5016% 80.42%);
+ --color-info-600: hsl(197.1466 31.5623% 69.8178%);
+ --color-info-700: hsl(197.1466 20.3046% 59.5065%);
+ --color-info-800: hsl(197.1466 14.053% 49.5132%);
+ --color-info-900: hsl(197.1466 14.3927% 39.8715%);
+ --color-success-content: hsl(142.5226 15.4982% 5.8428%);
+ --color-success-50: hsl(141.6518 32.7194% 88.6213%);
+ --color-success-100: hsl(141.739 32.7147% 87.5875%);
+ --color-success-200: hsl(141.9199 32.7082% 85.5196%);
+ --color-success-300: hsl(142.1102 32.7063% 83.4506%);
+ --color-success-400: hsl(142.3108 32.7094% 81.38%);
+ --color-success-500: hsl(142.5226 32.7183% 79.3071%);
+ --color-success-600: hsl(142.5226 19.0479% 68.8422%);
+ --color-success-700: hsl(142.5226 12.3923% 58.6645%);
+ --color-success-800: hsl(142.5226 8.883% 48.8006%);
+ --color-success-900: hsl(142.5226 9.101% 39.2838%);
+ --color-warning-content: hsl(54.0615 18.5712% 5.501%);
+ --color-warning-50: hsl(54.4564 32.5814% 87.1401%);
+ --color-warning-100: hsl(54.4125 32.6067% 85.9808%);
+ --color-warning-200: hsl(54.3246 32.6607% 83.6663%);
+ --color-warning-300: hsl(54.2367 32.7198% 81.3571%);
+ --color-warning-400: hsl(54.1489 32.7845% 79.0526%);
+ --color-warning-500: hsl(54.0615 32.8556% 76.7519%);
+ --color-warning-600: hsl(54.0615 20.0485% 66.6023%);
+ --color-warning-700: hsl(54.0615 13.3562% 56.7313%);
+ --color-warning-800: hsl(54.0615 10.3694% 47.1646%);
+ --color-warning-900: hsl(54.0615 10.6329% 37.9345%);
+ --color-danger-content: hsl(6.2376 18.0861% 6.5898%);
+ --color-danger-50: hsl(6.4363 61.5681% 91.7492%);
+ --color-danger-100: hsl(6.4176 61.2769% 90.9918%);
+ --color-danger-200: hsl(6.3779 60.6976% 89.4737%);
+ --color-danger-300: hsl(6.3349 60.1224% 87.951%);
+ --color-danger-400: hsl(6.2882 59.5511% 86.4238%);
+ --color-danger-500: hsl(6.2376 58.9836% 84.8923%);
+ --color-danger-600: hsl(6.2376 29.7446% 73.7382%);
+ --color-danger-700: hsl(6.2376 18.1679% 62.8902%);
+ --color-danger-800: hsl(6.2376 11.9807% 52.3767%);
+ --color-danger-900: hsl(6.2376 11.142% 42.2332%);
+ --color-surface-200: hsl(82.6841 21.1834% 87.6585%);
+ --color-surface-300: hsl(82.6841 11.6925% 79.5797%);
+ --color-surface-content: hsl(82.6841 4.7019% 8.1429%);
+}
+
+[data-theme="night"] {
+ color-scheme: dark;
+ --color-primary: hsl(198.4375 93.2039% 59.6078%);
+ --color-secondary: hsl(234.4538 89.4737% 73.9216%);
+ --color-accent: hsl(328.855 85.6209% 70%);
+ --color-neutral: hsl(217.2414 32.5843% 17.451%);
+ --color-surface-100: hsl(222.2222 47.3684% 11.1765%);
+ --color-info: hsl(198.4615 90.2041% 48.0392%);
+ --color-info-content: hsl(0 0% 0%);
+ --color-success: hsl(172.4551 66.0079% 50.3922%);
+ --color-warning: hsl(40.6098 88.172% 63.5294%);
+ --color-danger: hsl(350.9353 94.5578% 71.1765%);
+ --color-primary-content: hsl(203.6994 90.5513% 4.326%);
+ --color-primary-50: hsl(201.1834 95.3375% 80.8549%);
+ --color-primary-100: hsl(201.0466 95.007% 78.9452%);
+ --color-primary-200: hsl(200.7106 94.3895% 74.9603%);
+ --color-primary-300: hsl(200.2524 93.8466% 70.6536%);
+ --color-primary-400: hsl(199.5808 93.4162% 65.7806%);
+ --color-primary-500: hsl(198.4375 93.2039% 59.6078%);
+ --color-primary-600: hsl(198.4375 68.148% 51.5738%);
+ --color-primary-700: hsl(198.4375 65.0901% 43.7602%);
+ --color-primary-800: hsl(198.4375 66.6109% 36.1875%);
+ --color-primary-900: hsl(198.4375 68.834% 28.8813%);
+ --color-secondary-content: hsl(235.565 56.8311% 5.2561%);
+ --color-secondary-50: hsl(231.3883 97.6838% 85.6269%);
+ --color-secondary-100: hsl(231.6256 96.7279% 84.3101%);
+ --color-secondary-200: hsl(232.1616 94.8549% 81.6823%);
+ --color-secondary-300: hsl(232.7946 93.027% 79.0686%);
+ --color-secondary-400: hsl(233.5481 91.2361% 76.478%);
+ --color-secondary-500: hsl(234.4538 89.4737% 73.9216%);
+ --color-secondary-600: hsl(234.4538 57.0088% 64.1212%);
+ --color-secondary-700: hsl(234.4538 38.8764% 54.5898%);
+ --color-secondary-800: hsl(234.4538 32.942% 45.3523%);
+ --color-secondary-900: hsl(234.4538 33.8134% 36.4399%);
+ --color-accent-content: hsl(331.3375 64.9536% 4.8701%);
+ --color-accent-50: hsl(332.2661 98.013% 85.0031%);
+ --color-accent-100: hsl(331.9428 96.4242% 83.4779%);
+ --color-accent-200: hsl(331.2651 93.4108% 80.3364%);
+ --color-accent-300: hsl(330.5363 90.6073% 77.0609%);
+ --color-accent-400: hsl(329.7407 88.0091% 73.6283%);
+ --color-accent-500: hsl(328.855 85.6209% 70%);
+ --color-accent-600: hsl(328.855 57.2704% 60.6836%);
+ --color-accent-700: hsl(328.855 40.1719% 51.6228%);
+ --color-accent-800: hsl(328.855 38.3893% 42.8414%);
+ --color-accent-900: hsl(328.855 39.4659% 34.3691%);
+ --color-neutral-content: hsl(217.0558 8.3669% 81.8251%);
+ --color-neutral-50: hsl(217.0594 7.9131% 51.7923%);
+ --color-neutral-100: hsl(217.0633 8.5821% 47.7122%);
+ --color-neutral-200: hsl(217.0769 11.6027% 39.7314%);
+ --color-neutral-300: hsl(217.1027 15.7981% 32.0085%);
+ --color-neutral-400: hsl(217.1509 22.0652% 24.5706%);
+ --color-neutral-500: hsl(217.2414 32.5843% 17.451%);
+ --color-neutral-600: hsl(217.2414 34.097% 14.6189%);
+ --color-neutral-700: hsl(217.2414 36.2609% 11.8646%);
+ --color-neutral-800: hsl(217.2414 39.5951% 9.1951%);
+ --color-neutral-900: hsl(217.2804 45.292% 6.6228%);
+ --color-info-50: hsl(203.4771 82.9215% 76.8862%);
+ --color-info-100: hsl(203.3168 82.6486% 74.6076%);
+ --color-info-200: hsl(202.906 82.1878% 69.8521%);
+ --color-info-300: hsl(202.2997 81.898% 64.6679%);
+ --color-info-400: hsl(201.2804 81.9454% 58.5588%);
+ --color-info-500: hsl(198.4615 90.2041% 48.0392%);
+ --color-info-600: hsl(198.4655 91.644% 41.4408%);
+ --color-info-700: hsl(198.5209 93.0736% 35.1126%);
+ --color-info-800: hsl(198.6615 94.3968% 29.0776%);
+ --color-info-900: hsl(198.9317 95.6042% 23.3406%);
+ --color-success-content: hsl(169.1372 91.8135% 3.3131%);
+ --color-success-50: hsl(169.0357 60.9289% 77.223%);
+ --color-success-100: hsl(169.2869 61.0884% 74.9343%);
+ --color-success-200: hsl(169.8372 61.5465% 70.1334%);
+ --color-success-300: hsl(170.4774 62.2767% 64.8849%);
+ --color-success-400: hsl(171.2723 63.498% 58.799%);
+ --color-success-500: hsl(172.4551 66.0079% 50.3922%);
+ --color-success-600: hsl(172.4551 65.9945% 43.4953%);
+ --color-success-700: hsl(172.4551 67.3452% 36.7876%);
+ --color-success-800: hsl(172.4551 69.2253% 30.2868%);
+ --color-success-900: hsl(172.4551 72.0039% 24.0148%);
+ --color-warning-content: hsl(36.8484 81.2888% 4.4313%);
+ --color-warning-50: hsl(39.1379 88.6283% 81.5778%);
+ --color-warning-100: hsl(39.2032 88.5219% 79.8039%);
+ --color-warning-200: hsl(39.378 88.3334% 76.1568%);
+ --color-warning-300: hsl(39.6336 88.1903% 72.3238%);
+ --color-warning-400: hsl(40.014 88.1187% 68.1941%);
+ --color-warning-500: hsl(40.6098 88.172% 63.5294%);
+ --color-warning-600: hsl(40.6098 62.6577% 55.0114%);
+ --color-warning-700: hsl(40.6098 52.0675% 46.7272%);
+ --color-warning-800: hsl(40.6098 53.2051% 38.6984%);
+ --color-warning-900: hsl(40.6098 54.862% 30.9522%);
+ --color-danger-content: hsl(353.3132 66.7558% 5.0377%);
+ --color-danger-50: hsl(354.1213 100% 85.1155%);
+ --color-danger-100: hsl(353.8868 100% 83.7278%);
+ --color-danger-200: hsl(353.3674 100% 80.9163%);
+ --color-danger-300: hsl(352.7649 100% 78.0401%);
+ --color-danger-400: hsl(351.9595 97.7077% 74.7813%);
+ --color-danger-500: hsl(350.9353 94.5578% 71.1765%);
+ --color-danger-600: hsl(350.9353 62.4047% 61.7149%);
+ --color-danger-700: hsl(350.9353 43.4242% 52.5129%);
+ --color-danger-800: hsl(350.9353 40.0298% 43.5947%);
+ --color-danger-900: hsl(350.9353 41.1326% 34.9903%);
+ --color-surface-200: hsl(222.2222 49.6903% 9.7303%);
+ --color-surface-300: hsl(222.219 52.5148% 8.4092%);
+ --color-surface-content: hsl(220.8541 7.8181% 80.145%);
+}
+
+[data-theme="coffee"] {
+ color-scheme: dark;
+ --color-primary: hsl(29.5833 66.6667% 57.6471%);
+ --color-secondary: hsl(182.4 24.7525% 19.8039%);
+ --color-accent: hsl(194.1935 74.4% 24.5098%);
+ --color-neutral: hsl(300 20% 5.8824%);
+ --color-surface-100: hsl(306 18.5185% 10.5882%);
+ --color-surface-content: hsl(37.4257 46.5438% 57.451%);
+ --color-info: hsl(171.1475 36.5269% 67.2549%);
+ --color-success: hsl(92.5 25% 62.3529%);
+ --color-warning: hsl(43.125 100% 68.6275%);
+ --color-danger: hsl(9.7561 95.3488% 74.7059%);
+ --color-primary-content: hsl(22.4563 80.4753% 3.7247%);
+ --color-primary-50: hsl(27.9304 68.7647% 77.6841%);
+ --color-primary-100: hsl(28.0223 68.4476% 75.5946%);
+ --color-primary-200: hsl(28.2439 67.8511% 71.3566%);
+ --color-primary-300: hsl(28.5389 67.3237% 67.008%);
+ --color-primary-400: hsl(28.9537 66.9032% 62.4833%);
+ --color-primary-500: hsl(29.5833 66.6667% 57.6471%);
+ --color-primary-600: hsl(29.5833 49.6464% 49.8549%);
+ --color-primary-700: hsl(29.5833 50.5306% 42.2766%);
+ --color-primary-800: hsl(29.5833 51.7536% 34.932%);
+ --color-primary-900: hsl(29.5833 53.5452% 27.8459%);
+ --color-secondary-content: hsl(181.7497 6.3066% 82.5018%);
+ --color-secondary-50: hsl(181.9436 6.1715% 53.4862%);
+ --color-secondary-100: hsl(181.9804 6.2691% 49.528%);
+ --color-secondary-200: hsl(182.0633 8.5256% 41.7666%);
+ --color-secondary-300: hsl(182.1608 11.6961% 34.2219%);
+ --color-secondary-400: hsl(182.2743 16.5036% 26.9029%);
+ --color-secondary-500: hsl(182.4 24.7525% 19.8039%);
+ --color-secondary-600: hsl(182.4 25.7595% 16.6815%);
+ --color-secondary-700: hsl(182.4 27.181% 13.6448%);
+ --color-secondary-800: hsl(182.4 29.3285% 10.7017%);
+ --color-secondary-900: hsl(182.4 32.9243% 7.8622%);
+ --color-accent-content: hsl(197.579 22.0364% 84.6848%);
+ --color-accent-50: hsl(197.2253 21.7661% 58.7581%);
+ --color-accent-100: hsl(197.1362 21.7552% 55.1321%);
+ --color-accent-200: hsl(196.8977 23.6884% 47.909%);
+ --color-accent-300: hsl(196.5233 32.0291% 40.6633%);
+ --color-accent-400: hsl(195.8553 45.1257% 33.2008%);
+ --color-accent-500: hsl(194.1935 74.4% 24.5098%);
+ --color-accent-600: hsl(194.1935 76.8268% 20.8067%);
+ --color-accent-700: hsl(194.2034 80.0892% 17.2148%);
+ --color-accent-800: hsl(194.3516 83.4129% 13.8434%);
+ --color-accent-900: hsl(194.7514 86.5001% 10.7113%);
+ --color-neutral-content: hsl(301.3634 1.6631% 78.569%);
+ --color-neutral-50: hsl(301.1604 2.0087% 43.6882%);
+ --color-neutral-100: hsl(301.1129 2.4028% 39.0296%);
+ --color-neutral-200: hsl(300.9913 3.4789% 30.003%);
+ --color-neutral-300: hsl(300.8135 5.2582% 21.4113%);
+ --color-neutral-400: hsl(300.5288 8.8169% 13.3317%);
+ --color-neutral-500: hsl(300 20% 5.8824%);
+ --color-neutral-600: hsl(300 22.8081% 4.4859%);
+ --color-neutral-700: hsl(300 24.3932% 3.2167%);
+ --color-neutral-800: hsl(300 24.3932% 2.1549%);
+ --color-neutral-900: hsl(300 24.3932% 1.357%);
+ --color-info-content: hsl(170.7967 35.8533% 4.2918%);
+ --color-info-50: hsl(170.1487 35.9249% 82.1693%);
+ --color-info-100: hsl(170.2466 35.9625% 80.5361%);
+ --color-info-200: hsl(170.451 36.0551% 77.2571%);
+ --color-info-300: hsl(170.668 36.1752% 73.9561%);
+ --color-info-400: hsl(170.8994 36.3296% 70.6255%);
+ --color-info-500: hsl(171.1475 36.5269% 67.2549%);
+ --color-info-600: hsl(171.1475 25.1298% 58.2772%);
+ --color-info-700: hsl(171.1475 18.2648% 49.5459%);
+ --color-info-800: hsl(171.1475 18.6407% 41.0838%);
+ --color-info-900: hsl(171.1475 19.1865% 32.9195%);
+ --color-success-content: hsl(94.7435 31.7487% 3.6691%);
+ --color-success-50: hsl(93.3782 25.2385% 79.0975%);
+ --color-success-100: hsl(93.3001 25.2049% 77.2235%);
+ --color-success-200: hsl(93.1318 25.1416% 73.4871%);
+ --color-success-300: hsl(92.945 25.0847% 69.7647%);
+ --color-success-400: hsl(92.736 25.0365% 66.0543%);
+ --color-success-500: hsl(92.5 25% 62.3529%);
+ --color-success-600: hsl(92.5 17.9279% 53.9801%);
+ --color-success-700: hsl(92.5 15.5352% 45.8371%);
+ --color-success-800: hsl(92.5 15.8814% 37.9451%);
+ --color-success-900: hsl(92.5 16.3861% 30.3309%);
+ --color-warning-content: hsl(40.9339 75.8444% 4.8966%);
+ --color-warning-50: hsl(42.3467 100% 84.1486%);
+ --color-warning-100: hsl(42.3625 100% 82.6164%);
+ --color-warning-200: hsl(42.4289 100% 79.4633%);
+ --color-warning-300: hsl(42.5562 100% 76.1489%);
+ --color-warning-400: hsl(42.7715 100% 72.5901%);
+ --color-warning-500: hsl(43.125 100% 68.6275%);
+ --color-warning-600: hsl(43.125 67.8715% 59.4804%);
+ --color-warning-700: hsl(43.125 48.0339% 50.5843%);
+ --color-warning-800: hsl(43.125 47.8696% 41.9626%);
+ --color-warning-900: hsl(43.125 49.2411% 33.6443%);
+ --color-danger-content: hsl(8.1248 57.6757% 5.361%);
+ --color-danger-50: hsl(10.6001 100% 86.333%);
+ --color-danger-100: hsl(10.4952 100% 85.1052%);
+ --color-danger-200: hsl(10.2754 100% 82.6536%);
+ --color-danger-300: hsl(10.0524 99.7767% 80.1823%);
+ --color-danger-400: hsl(9.916 97.5138% 77.4734%);
+ --color-danger-500: hsl(9.7561 95.3488% 74.7059%);
+ --color-danger-600: hsl(9.7561 60.0763% 64.8087%);
+ --color-danger-700: hsl(9.7561 40.7152% 55.1832%);
+ --color-danger-800: hsl(9.7561 33.6764% 45.8545%);
+ --color-danger-900: hsl(9.7561 34.5572% 36.8541%);
+ --color-surface-200: hsl(306 19.4793% 9.1931%);
+ --color-surface-300: hsl(306 20.6526% 7.9189%);
+}
+
+[data-theme="winter"] {
+ color-scheme: light;
+ --color-primary: hsl(215.4061 100% 50%);
+ --color-secondary: hsl(246.9231 47.2727% 43.1373%);
+ --color-accent: hsl(310.4132 49.3878% 51.9608%);
+ --color-neutral: hsl(217.0213 92.1569% 10%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(216.9231 100% 97.451%);
+ --color-surface-300: hsl(218.8235 43.5897% 92.3529%);
+ --color-surface-content: hsl(214.2857 30.0613% 31.9608%);
+ --color-info: hsl(191.5385 92.8571% 78.0392%);
+ --color-success: hsl(181.5 46.5116% 66.2745%);
+ --color-warning: hsl(32.3077 61.9048% 83.5294%);
+ --color-danger: hsl(0 63.3803% 72.1569%);
+ --color-primary-content: hsl(212.4625 100% 90.3464%);
+ --color-primary-50: hsl(213.4814 100% 73.358%);
+ --color-primary-100: hsl(213.5783 100% 70.833%);
+ --color-primary-200: hsl(213.6319 100% 65.5289%);
+ --color-primary-300: hsl(213.1749 100% 59.3604%);
+ --color-primary-400: hsl(210.994 100% 50%);
+ --color-primary-500: hsl(215.4061 100% 50%);
+ --color-primary-600: hsl(216.4922 100% 44.989%);
+ --color-primary-700: hsl(216.8494 100% 38.4533%);
+ --color-primary-800: hsl(217.3345 100% 32.1192%);
+ --color-primary-900: hsl(218.0263 100% 26.008%);
+ --color-secondary-content: hsl(235.8529 43.4015% 88.5918%);
+ --color-secondary-50: hsl(238.0994 39.4748% 69.0245%);
+ --color-secondary-100: hsl(238.605 38.8639% 66.2902%);
+ --color-secondary-200: hsl(239.8565 37.5885% 60.8873%);
+ --color-secondary-300: hsl(241.5263 36.8215% 55.1732%);
+ --color-secondary-400: hsl(243.7677 37.2698% 49.2895%);
+ --color-secondary-500: hsl(246.9231 47.2727% 43.1373%);
+ --color-secondary-600: hsl(246.9231 48.1367% 37.1356%);
+ --color-secondary-700: hsl(246.9231 49.2947% 31.2986%);
+ --color-secondary-800: hsl(246.9231 50.9202% 25.6416%);
+ --color-secondary-900: hsl(246.9231 53.352% 20.1837%);
+ --color-accent-content: hsl(314.095 77.778% 3.0142%);
+ --color-accent-50: hsl(313.8406 53.6827% 75.1216%);
+ --color-accent-100: hsl(313.5177 53.0661% 72.7338%);
+ --color-accent-200: hsl(312.8416 51.9014% 67.8663%);
+ --color-accent-300: hsl(312.1147 50.8536% 62.8424%);
+ --color-accent-400: hsl(311.3176 49.9771% 57.5911%);
+ --color-accent-500: hsl(310.4132 49.3878% 51.9608%);
+ --color-accent-600: hsl(310.4132 46.351% 44.8703%);
+ --color-accent-700: hsl(310.4132 47.2701% 37.9744%);
+ --color-accent-800: hsl(310.4132 48.5473% 31.2912%);
+ --color-accent-900: hsl(310.4132 50.431% 24.8431%);
+ --color-neutral-content: hsl(215.5731 13.2527% 79.9757%);
+ --color-neutral-50: hsl(215.5382 13.9448% 47.0444%);
+ --color-neutral-100: hsl(215.5369 16.4864% 42.5914%);
+ --color-neutral-200: hsl(215.5391 23.1742% 33.8988%);
+ --color-neutral-300: hsl(215.5419 33.5602% 25.5065%);
+ --color-neutral-400: hsl(215.4795 52.5215% 17.4096%);
+ --color-neutral-500: hsl(217.0213 92.1569% 10%);
+ --color-neutral-600: hsl(218.3577 93.1679% 8.3688%);
+ --color-neutral-700: hsl(220.3389 94.0951% 6.8006%);
+ --color-neutral-800: hsl(223.1084 94.9213% 5.297%);
+ --color-neutral-900: hsl(225.5098 95.6116% 3.8605%);
+ --color-info-content: hsl(191.6883 47.1681% 5.7082%);
+ --color-info-50: hsl(191.9494 93.5787% 88.5692%);
+ --color-info-100: hsl(191.9202 93.4828% 87.4704%);
+ --color-info-200: hsl(191.8518 93.3011% 85.2298%);
+ --color-info-300: hsl(191.7679 93.1345% 82.9224%);
+ --color-info-400: hsl(191.665 92.9854% 80.5326%);
+ --color-info-500: hsl(191.5385 92.8571% 78.0392%);
+ --color-info-600: hsl(191.5385 55.3959% 67.7308%);
+ --color-info-700: hsl(191.5385 36.4787% 57.7052%);
+ --color-info-800: hsl(191.5385 27.2079% 47.9888%);
+ --color-info-900: hsl(191.5385 27.8871% 38.6143%);
+ --color-success-content: hsl(181.6021 46.4015% 4.2334%);
+ --color-success-50: hsl(181.1021 44.9532% 81.8911%);
+ --color-success-100: hsl(181.15 45.0719% 80.2125%);
+ --color-success-200: hsl(181.2439 45.3408% 76.8252%);
+ --color-success-300: hsl(181.3345 45.66% 73.3868%);
+ --color-success-400: hsl(181.4205 46.0435% 69.8789%);
+ --color-success-500: hsl(181.5 46.5116% 66.2745%);
+ --color-success-600: hsl(181.5 32.292% 57.4178%);
+ --color-success-700: hsl(181.5 24.3179% 48.8041%);
+ --color-success-800: hsl(181.5 24.8261% 40.4561%);
+ --color-success-900: hsl(181.5 25.5647% 32.4018%);
+ --color-warning-content: hsl(32.3077 21.2829% 6.4075%);
+ --color-warning-50: hsl(32.1495 62.5681% 90.9627%);
+ --color-warning-100: hsl(32.1646 62.4921% 90.1392%);
+ --color-warning-200: hsl(32.1964 62.3415% 88.4908%);
+ --color-warning-300: hsl(32.2307 62.1933% 86.84%);
+ --color-warning-400: hsl(32.2676 62.0476% 85.1864%);
+ --color-warning-500: hsl(32.3077 61.9048% 83.5294%);
+ --color-warning-600: hsl(32.3077 32.553% 72.5435%);
+ --color-warning-700: hsl(32.3077 20.2257% 61.8591%);
+ --color-warning-800: hsl(32.3077 13.4617% 51.5041%);
+ --color-warning-900: hsl(32.3077 12.9698% 41.5135%);
+ --color-danger-content: hsl(0 46.1725% 4.9576%);
+ --color-danger-50: hsl(1.4623 70.6764% 85.0656%);
+ --color-danger-100: hsl(1.343 69.825% 83.6596%);
+ --color-danger-200: hsl(1.0781 68.1549% 80.8258%);
+ --color-danger-300: hsl(0.7723 66.5259% 77.9637%);
+ --color-danger-400: hsl(0.4169 64.9351% 75.0739%);
+ --color-danger-500: hsl(0 63.3803% 72.1569%);
+ --color-danger-600: hsl(0 41.3338% 62.5743%);
+ --color-danger-700: hsl(0 28.5625% 53.2547%);
+ --color-danger-800: hsl(0 25.5507% 44.2224%);
+ --color-danger-900: hsl(0 26.2443% 35.508%);
+}
+
+[data-theme="dim"] {
+ color-scheme: dark;
+ --color-primary: hsl(108.1319 66.4234% 73.1373%);
+ --color-secondary: hsl(12.1472 100% 68.0392%);
+ --color-accent: hsl(276.5517 66.4122% 74.3137%);
+ --color-neutral: hsl(220 21.1268% 13.9216%);
+ --color-neutral-content: hsl(196.6667 30.5085% 76.8627%);
+ --color-surface-100: hsl(220 17.6471% 20%);
+ --color-surface-200: hsl(220 17.2414% 17.0588%);
+ --color-surface-300: hsl(218.5714 17.9487% 15.2941%);
+ --color-surface-content: hsl(196.6667 30.5085% 76.8627%);
+ --color-info: hsl(185.5814 100% 57.8431%);
+ --color-success: hsl(158.7234 81.5029% 66.0784%);
+ --color-warning: hsl(47.7632 82.6087% 63.9216%);
+ --color-danger: hsl(11.4 100% 80.3922%);
+ --color-primary-content: hsl(109.2864 45.7907% 5.0786%);
+ --color-primary-50: hsl(108.2365 67.728% 85.6578%);
+ --color-primary-100: hsl(108.2362 67.5517% 84.3133%);
+ --color-primary-200: hsl(108.2302 67.2186% 81.5959%);
+ --color-primary-300: hsl(108.2144 66.9153% 78.8345%);
+ --color-primary-400: hsl(108.1839 66.6476% 76.0194%);
+ --color-primary-500: hsl(108.1319 66.4234% 73.1373%);
+ --color-primary-600: hsl(108.1319 42.7753% 63.4337%);
+ --color-primary-700: hsl(108.1319 29.3455% 53.9964%);
+ --color-primary-800: hsl(108.1319 25.473% 44.8502%);
+ --color-primary-900: hsl(108.1319 26.1546% 36.0257%);
+ --color-secondary-content: hsl(8.1035 77.2309% 4.8583%);
+ --color-secondary-50: hsl(13.2996 100% 82.6119%);
+ --color-secondary-100: hsl(13.1729 100% 81.0356%);
+ --color-secondary-200: hsl(12.9127 100% 77.87%);
+ --color-secondary-300: hsl(12.6472 100% 74.6715%);
+ --color-secondary-400: hsl(12.3852 100% 71.4114%);
+ --color-secondary-500: hsl(12.1472 100% 68.0392%);
+ --color-secondary-600: hsl(12.1472 68.2752% 58.9647%);
+ --color-secondary-700: hsl(12.1472 48.4977% 50.1393%);
+ --color-secondary-800: hsl(12.1472 49.2088% 41.586%);
+ --color-secondary-900: hsl(12.1472 50.6319% 33.3336%);
+ --color-accent-content: hsl(276.1458 43.0163% 5.2138%);
+ --color-accent-50: hsl(275.4992 69.5985% 86.1986%);
+ --color-accent-100: hsl(275.6036 69.2177% 84.9093%);
+ --color-accent-200: hsl(275.8201 68.4744% 82.31%);
+ --color-accent-300: hsl(276.0483 67.7571% 79.6807%);
+ --color-accent-400: hsl(276.2911 67.0686% 77.0171%);
+ --color-accent-500: hsl(276.5517 66.4122% 74.3137%);
+ --color-accent-600: hsl(276.5517 42.0819% 64.465%);
+ --color-accent-700: hsl(276.5517 28.6092% 54.8865%);
+ --color-accent-800: hsl(276.5517 23.951% 45.6034%);
+ --color-accent-900: hsl(276.5517 24.581% 36.647%);
+ --color-neutral-50: hsl(219.7345 4.1219% 49.3365%);
+ --color-neutral-100: hsl(219.7434 4.836% 45.0809%);
+ --color-neutral-200: hsl(219.7678 6.6511% 36.7822%);
+ --color-neutral-300: hsl(219.8063 9.275% 28.7932%);
+ --color-neutral-400: hsl(219.8723 13.432% 21.1544%);
+ --color-neutral-500: hsl(220 21.1268% 13.9216%);
+ --color-neutral-600: hsl(220 22.3709% 11.525%);
+ --color-neutral-700: hsl(220 24.2029% 9.1942%);
+ --color-neutral-800: hsl(220 27.1536% 6.9353%);
+ --color-neutral-900: hsl(220.4941 32.1307% 4.7748%);
+ --color-info-content: hsl(187.5008 95.0323% 4.4149%);
+ --color-info-50: hsl(186.5921 100% 82.6325%);
+ --color-info-100: hsl(186.5964 100% 80.7885%);
+ --color-info-200: hsl(186.5633 100% 76.826%);
+ --color-info-300: hsl(186.4518 100% 72.3093%);
+ --color-info-400: hsl(186.2036 100% 66.7305%);
+ --color-info-500: hsl(185.5814 100% 57.8431%);
+ --color-info-600: hsl(185.5814 73.9493% 50.0268%);
+ --color-info-700: hsl(185.5814 75.1812% 42.425%);
+ --color-info-800: hsl(185.5814 76.9943% 35.0576%);
+ --color-info-900: hsl(185.5814 79.6498% 27.9494%);
+ --color-success-content: hsl(155.8249 72.0506% 4.5168%);
+ --color-success-50: hsl(154.4968 81.3033% 83.7028%);
+ --color-success-100: hsl(154.8405 81.2094% 82.045%);
+ --color-success-200: hsl(155.592 81.0825% 78.5827%);
+ --color-success-300: hsl(156.4525 81.0572% 74.8653%);
+ --color-success-400: hsl(157.4672 81.1723% 70.7755%);
+ --color-success-500: hsl(158.7234 81.5029% 66.0784%);
+ --color-success-600: hsl(158.7234 56.6858% 57.2459%);
+ --color-success-700: hsl(158.7234 42.991% 48.6558%);
+ --color-success-800: hsl(158.7234 43.8922% 40.3305%);
+ --color-success-900: hsl(158.7234 45.2022% 32.2982%);
+ --color-warning-content: hsl(45.624 77.4997% 4.3782%);
+ --color-warning-50: hsl(47.2624 80.964% 81.6716%);
+ --color-warning-100: hsl(47.2502 81.0798% 79.9154%);
+ --color-warning-200: hsl(47.2587 81.3413% 76.3092%);
+ --color-warning-300: hsl(47.325 81.6582% 72.527%);
+ --color-warning-400: hsl(47.4757 82.0607% 68.4672%);
+ --color-warning-500: hsl(47.7632 82.6087% 63.9216%);
+ --color-warning-600: hsl(47.7632 58.5202% 55.3552%);
+ --color-warning-700: hsl(47.7632 47.9532% 47.0239%);
+ --color-warning-800: hsl(47.7632 48.9941% 38.9495%);
+ --color-warning-900: hsl(47.7632 50.5098% 31.1592%);
+ --color-danger-content: hsl(11.1905 43.5269% 5.9992%);
+ --color-danger-50: hsl(12.0884 100% 89.1555%);
+ --color-danger-100: hsl(12.0178 100% 88.1789%);
+ --color-danger-200: hsl(11.8723 100% 86.2288%);
+ --color-danger-300: hsl(11.7209 100% 84.2821%);
+ --color-danger-400: hsl(11.5636 100% 82.3372%);
+ --color-danger-500: hsl(11.4 100% 80.3922%);
+ --color-danger-600: hsl(11.4 56.9024% 69.7934%);
+ --color-danger-700: hsl(11.4 36.6169% 59.4854%);
+ --color-danger-800: hsl(11.4 25.3652% 49.4954%);
+ --color-danger-900: hsl(11.4 25.9786% 39.8568%);
+}
+
+[data-theme="nord"] {
+ color-scheme: light;
+ --color-primary: hsl(213.0769 31.9672% 52.1569%);
+ --color-secondary: hsl(210 34.0426% 63.1373%);
+ --color-accent: hsl(193.3333 43.3735% 67.451%);
+ --color-neutral: hsl(220 16.4835% 35.6863%);
+ --color-neutral-content: hsl(218.8235 27.8689% 88.0392%);
+ --color-surface-100: hsl(217.5 26.6667% 94.1176%);
+ --color-surface-200: hsl(218.1818 26.8293% 91.9608%);
+ --color-surface-300: hsl(218.8235 27.8689% 88.0392%);
+ --color-surface-content: hsl(220 16.3636% 21.5686%);
+ --color-info: hsl(311.0526 20.2128% 63.1373%);
+ --color-success: hsl(92.4 27.7778% 64.7059%);
+ --color-warning: hsl(40 70.5882% 73.3333%);
+ --color-danger: hsl(354.2553 42.3423% 56.4706%);
+ --rounded-box: 0.4rem;
+ --rounded-btn: 0.2rem;
+ --rounded-badge: 0.4rem;
+ --tab-radius: 0.2rem;
+ --color-primary-content: hsl(218.4765 57.2613% 2.707%);
+ --color-primary-50: hsl(213.2981 33.3966% 73.3113%);
+ --color-primary-100: hsl(213.2809 33.2391% 70.9331%);
+ --color-primary-200: hsl(213.2436 32.9207% 66.1998%);
+ --color-primary-300: hsl(213.2004 32.5998% 61.4955%);
+ --color-primary-400: hsl(213.1472 32.2799% 56.8166%);
+ --color-primary-500: hsl(213.0769 31.9672% 52.1569%);
+ --color-primary-600: hsl(213.0769 29.7651% 45.0422%);
+ --color-primary-700: hsl(213.0769 30.353% 38.1228%);
+ --color-primary-800: hsl(213.0769 31.1699% 31.4168%);
+ --color-primary-900: hsl(213.0769 32.3743% 24.9467%);
+ --color-secondary-content: hsl(212.5249 40.5044% 3.8138%);
+ --color-secondary-50: hsl(210.2625 34.964% 79.5289%);
+ --color-secondary-100: hsl(210.2393 34.861% 77.6931%);
+ --color-secondary-200: hsl(210.1896 34.6545% 74.0333%);
+ --color-secondary-300: hsl(210.1344 34.4482% 70.3885%);
+ --color-secondary-400: hsl(210.072 34.2436% 66.7571%);
+ --color-secondary-500: hsl(210 34.0426% 63.1373%);
+ --color-secondary-600: hsl(210 24.2664% 54.6676%);
+ --color-secondary-700: hsl(210 20.4489% 46.4305%);
+ --color-secondary-800: hsl(210 20.8986% 38.4473%);
+ --color-secondary-900: hsl(210 21.5538% 30.7451%);
+ --color-accent-content: hsl(193.9847 41.433% 4.345%);
+ --color-accent-50: hsl(193.6739 43.0636% 82.2112%);
+ --color-accent-100: hsl(193.6487 43.0737% 80.589%);
+ --color-accent-200: hsl(193.5909 43.108% 77.3362%);
+ --color-accent-300: hsl(193.5211 43.1652% 74.0675%);
+ --color-accent-400: hsl(193.4366 43.251% 70.7757%);
+ --color-accent-500: hsl(193.3333 43.3735% 67.451%);
+ --color-accent-600: hsl(193.3333 29.7841% 58.4491%);
+ --color-accent-700: hsl(193.3333 21.4941% 49.6942%);
+ --color-accent-800: hsl(193.3333 21.9351% 41.2093%);
+ --color-accent-900: hsl(193.3333 22.5754% 33.023%);
+ --color-neutral-50: hsl(219.7846 9.9087% 63.2244%);
+ --color-neutral-100: hsl(219.7969 9.8397% 60.039%);
+ --color-neutral-200: hsl(219.8272 9.692% 53.7569%);
+ --color-neutral-300: hsl(219.8678 10.4907% 47.5986%);
+ --color-neutral-400: hsl(219.923 13.1389% 41.572%);
+ --color-neutral-500: hsl(220 16.4835% 35.6863%);
+ --color-neutral-600: hsl(220 16.8491% 30.604%);
+ --color-neutral-700: hsl(220 17.3435% 25.6613%);
+ --color-neutral-800: hsl(220 18.0461% 20.8709%);
+ --color-neutral-900: hsl(220 19.1166% 16.2491%);
+ --color-info-content: hsl(311.7127 25.1694% 3.7363%);
+ --color-info-50: hsl(312.0916 21.1337% 79.5121%);
+ --color-info-100: hsl(311.9883 21.0353% 77.6757%);
+ --color-info-200: hsl(311.7735 20.8355% 74.0158%);
+ --color-info-300: hsl(311.5467 20.6316% 70.3731%);
+ --color-info-400: hsl(311.3069 20.4239% 66.7471%);
+ --color-info-500: hsl(311.0526 20.2128% 63.1373%);
+ --color-info-600: hsl(311.0526 14.4082% 54.6676%);
+ --color-info-700: hsl(311.0526 12.1415% 46.4305%);
+ --color-info-800: hsl(311.0526 12.4085% 38.4473%);
+ --color-info-900: hsl(311.0526 12.7976% 30.7451%);
+ --color-success-content: hsl(94.1028 31.4788% 3.9559%);
+ --color-success-50: hsl(93.2777 28.0121% 80.454%);
+ --color-success-100: hsl(93.1985 27.9782% 78.696%);
+ --color-success-200: hsl(93.0287 27.9147% 75.1878%);
+ --color-success-300: hsl(92.8414 27.8585% 71.6883%);
+ --color-success-400: hsl(92.6333 27.8119% 68.1953%);
+ --color-success-500: hsl(92.4 27.7778% 64.7059%);
+ --color-success-600: hsl(92.4 19.5511% 56.0427%);
+ --color-success-700: hsl(92.4 15.5775% 47.6173%);
+ --color-success-800: hsl(92.4 15.9113% 39.4517%);
+ --color-success-900: hsl(92.4 16.3971% 31.5734%);
+ --color-warning-content: hsl(39.418 47.8284% 5.115%);
+ --color-warning-50: hsl(39.7064 70.6878% 85.5821%);
+ --color-warning-100: hsl(39.7214 70.6588% 84.2522%);
+ --color-warning-200: hsl(39.7617 70.611% 81.5752%);
+ --color-warning-300: hsl(39.8186 70.5801% 78.8696%);
+ --color-warning-400: hsl(39.8961 70.5704% 76.1264%);
+ --color-warning-500: hsl(40 70.5882% 73.3333%);
+ --color-warning-600: hsl(40 45.3387% 63.6056%);
+ --color-warning-700: hsl(40 31.0581% 54.1448%);
+ --color-warning-800: hsl(40 26.7976% 44.9757%);
+ --color-warning-900: hsl(40 27.5125% 36.1293%);
+ --color-danger-content: hsl(356.2047 61.9196% 3.2446%);
+ --color-danger-50: hsl(356.9859 47.2799% 76.746%);
+ --color-danger-100: hsl(356.7833 46.6863% 74.5624%);
+ --color-danger-200: hsl(356.3233 45.5253% 70.153%);
+ --color-danger-300: hsl(355.7719 44.4052% 65.6793%);
+ --color-danger-400: hsl(355.0985 43.3376% 61.1267%);
+ --color-danger-500: hsl(354.2553 42.3423% 56.4706%);
+ --color-danger-600: hsl(354.2553 33.0926% 48.8236%);
+ --color-danger-700: hsl(354.2553 33.6947% 41.3865%);
+ --color-danger-800: hsl(354.2553 34.5282% 34.1788%);
+ --color-danger-900: hsl(354.2553 35.7507% 27.2246%);
+}
+
+[data-theme="sunset"] {
+ color-scheme: dark;
+ --color-primary: hsl(15.7317 100% 67.8431%);
+ --color-secondary: hsl(340.9859 97.2603% 71.3725%);
+ --color-accent: hsl(262.9565 92% 75.4902%);
+ --color-neutral: hsl(204.0206 23.4236% 14.0508%);
+ --color-neutral-content: hsl(204.4439 10.9185% 62.1538%);
+ --color-surface-100: hsl(203.8689 30.8151% 10.324%);
+ --color-surface-200: hsl(203.7604 36.6879% 8.5153%);
+ --color-surface-300: hsl(203.6293 45.4194% 6.7469%);
+ --color-surface-content: hsl(208.1633 34.2657% 71.9608%);
+ --color-info: hsl(186.7347 71.0145% 72.9412%);
+ --color-success: hsl(120 43.8596% 77.6471%);
+ --color-warning: hsl(34.375 77.4194% 75.6863%);
+ --color-danger: hsl(358.2353 100% 86.6667%);
+ --rounded-box: 1.2rem;
+ --rounded-btn: 0.8rem;
+ --rounded-badge: 0.4rem;
+ --tab-radius: 0.7rem;
+ --color-primary-content: hsl(11.0193 77.6858% 4.8459%);
+ --color-primary-50: hsl(16.2896 100% 82.629%);
+ --color-primary-100: hsl(16.2012 100% 81.045%);
+ --color-primary-200: hsl(16.0316 100% 77.8561%);
+ --color-primary-300: hsl(15.8807 100% 74.6207%);
+ --color-primary-400: hsl(15.768 100% 71.3039%);
+ --color-primary-500: hsl(15.7317 100% 67.8431%);
+ --color-primary-600: hsl(15.7317 68.4076% 58.7928%);
+ --color-primary-700: hsl(15.7317 48.6682% 49.9909%);
+ --color-primary-800: hsl(15.7317 49.6607% 41.4604%);
+ --color-primary-900: hsl(15.7317 51.1012% 33.2301%);
+ --color-secondary-content: hsl(344.3218 67.6206% 5.0743%);
+ --color-secondary-50: hsl(343.7257 100% 85.0523%);
+ --color-secondary-100: hsl(343.5316 100% 83.6556%);
+ --color-secondary-200: hsl(343.0988 100% 80.8235%);
+ --color-secondary-300: hsl(342.5925 100% 77.9217%);
+ --color-secondary-400: hsl(341.9888 100% 74.9189%);
+ --color-secondary-500: hsl(340.9859 97.2603% 71.3725%);
+ --color-secondary-600: hsl(340.9859 64.0391% 61.8867%);
+ --color-secondary-700: hsl(340.9859 44.5004% 52.6613%);
+ --color-secondary-800: hsl(340.9859 40.7763% 43.7203%);
+ --color-secondary-900: hsl(340.9859 41.8963% 35.0939%);
+ --color-accent-content: hsl(261.766 53.8495% 5.4262%);
+ --color-accent-50: hsl(260.174 99.531% 87.2551%);
+ --color-accent-100: hsl(260.4373 98.6064% 86.0169%);
+ --color-accent-200: hsl(260.9925 96.824% 83.4948%);
+ --color-accent-300: hsl(261.5914 95.129% 80.9066%);
+ --color-accent-400: hsl(262.2424 93.5206% 78.2429%);
+ --color-accent-500: hsl(262.9565 92% 75.4902%);
+ --color-accent-600: hsl(262.9565 57.2882% 65.4963%);
+ --color-accent-700: hsl(262.9565 38.5779% 55.7766%);
+ --color-accent-800: hsl(262.9565 31.1449% 46.3567%);
+ --color-accent-900: hsl(262.9565 31.9505% 37.2683%);
+ --color-neutral-50: hsl(204.5187 4.3944% 49.4697%);
+ --color-neutral-100: hsl(204.4964 5.1649% 45.2221%);
+ --color-neutral-200: hsl(204.4403 7.135% 36.9356%);
+ --color-neutral-300: hsl(204.3608 10.0124% 28.9524%);
+ --color-neutral-400: hsl(204.2381 14.6403% 21.3089%);
+ --color-neutral-500: hsl(204.0206 23.4236% 14.0508%);
+ --color-neutral-600: hsl(204.0206 24.7896% 11.6383%);
+ --color-neutral-700: hsl(204.0206 26.7984% 9.292%);
+ --color-neutral-800: hsl(204.0206 30.0269% 7.018%);
+ --color-neutral-900: hsl(204.3802 35.3077% 4.8498%);
+ --color-info-content: hsl(186.9571 49.0367% 5.0735%);
+ --color-info-50: hsl(186.8462 70.1059% 85.795%);
+ --color-info-100: hsl(186.8476 70.1656% 84.4454%);
+ --color-info-200: hsl(186.8422 70.3093% 81.7011%);
+ --color-info-300: hsl(186.8239 70.4917% 78.884%);
+ --color-info-400: hsl(186.7895 70.7222% 75.9739%);
+ --color-info-500: hsl(186.7347 71.0145% 72.9412%);
+ --color-info-600: hsl(186.7347 45.8502% 63.2618%);
+ --color-info-700: hsl(186.7347 31.5013% 53.8481%);
+ --color-info-800: hsl(186.7347 27.5094% 44.7246%);
+ --color-info-900: hsl(186.7347 28.2476% 35.9222%);
+ --color-success-content: hsl(120 23.3288% 5.6208%);
+ --color-success-50: hsl(119.1013 44.5815% 87.7387%);
+ --color-success-100: hsl(119.1865 44.4967% 86.6213%);
+ --color-success-200: hsl(119.3665 44.3299% 84.3844%);
+ --color-success-300: hsl(119.5608 44.1676% 82.1436%);
+ --color-success-400: hsl(119.7712 44.0105% 79.8982%);
+ --color-success-500: hsl(120 43.8596% 77.6471%);
+ --color-success-600: hsl(120 26.3519% 67.387%);
+ --color-success-700: hsl(120 17.4156% 57.4085%);
+ --color-success-800: hsl(120 13.1495% 47.7377%);
+ --color-success-900: hsl(120 13.4796% 38.4072%);
+ --color-warning-content: hsl(33.9312 45.817% 5.4014%);
+ --color-warning-50: hsl(33.9386 78.587% 86.8668%);
+ --color-warning-100: hsl(33.9722 78.4438% 85.6516%);
+ --color-warning-200: hsl(34.0481 78.1657% 83.2051%);
+ --color-warning-300: hsl(34.1381 77.9003% 80.7332%);
+ --color-warning-400: hsl(34.2455 77.6503% 78.2297%);
+ --color-warning-500: hsl(34.375 77.4194% 75.6863%);
+ --color-warning-600: hsl(34.375 48.0626% 65.6682%);
+ --color-warning-700: hsl(34.375 32.3125% 55.925%);
+ --color-warning-800: hsl(34.375 25.929% 46.4823%);
+ --color-warning-900: hsl(34.375 26.5978% 37.3718%);
+ --color-danger-content: hsl(358.2353 26.121% 6.8271%);
+ --color-danger-50: hsl(359.0066 100% 92.6921%);
+ --color-danger-100: hsl(358.9295 100% 92.0258%);
+ --color-danger-200: hsl(358.7694 100% 90.6914%);
+ --color-danger-300: hsl(358.6009 100% 89.3539%);
+ --color-danger-400: hsl(358.4231 100% 88.0126%);
+ --color-danger-500: hsl(358.2353 100% 86.6667%);
+ --color-danger-600: hsl(358.2353 47.3078% 75.2936%);
+ --color-danger-700: hsl(358.2353 28.2043% 64.2327%);
+ --color-danger-800: hsl(358.2353 18.3645% 53.5128%);
+ --color-danger-900: hsl(358.2353 16.3096% 43.1702%);
+}
+
+[data-theme="skeleton-light"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(160.5882 54.8387% 87.8431%);
+ --color-primary-200: hsl(160.4651 55.8442% 84.902%);
+ --color-primary-300: hsl(160.5882 54.8387% 75.6863%);
+ --color-primary-400: hsl(160 55.5556% 57.6471%);
+ --color-primary-500: hsl(160 85.0746% 39.4118%);
+ --color-primary-600: hsl(160 84.5304% 35.4902%);
+ --color-primary-700: hsl(160 85.4305% 29.6078%);
+ --color-primary-800: hsl(159.6117 85.124% 23.7255%);
+ --color-primary-900: hsl(160 85.7143% 19.2157%);
+ --color-secondary-100: hsl(243.75 76.1905% 91.7647%);
+ --color-secondary-200: hsl(243 76.9231% 89.8039%);
+ --color-secondary-300: hsl(243.75 76.1905% 83.5294%);
+ --color-secondary-400: hsl(243.2432 75.5102% 71.1765%);
+ --color-secondary-500: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-600: hsl(243.3566 59.3361% 52.7451%);
+ --color-secondary-700: hsl(243.0252 52.8889% 44.1176%);
+ --color-secondary-800: hsl(243.1579 53.0726% 35.098%);
+ --color-secondary-900: hsl(243.8462 53.4247% 28.6275%);
+ --color-accent-100: hsl(199.0909 84.6154% 89.8039%);
+ --color-accent-200: hsl(198.5455 84.6154% 87.2549%);
+ --color-accent-300: hsl(198.6207 82.8571% 79.4118%);
+ --color-accent-400: hsl(198.7013 83.6957% 63.9216%);
+ --color-accent-500: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-600: hsl(198.5787 88.3408% 43.7255%);
+ --color-accent-700: hsl(198.6585 88.172% 36.4706%);
+ --color-accent-800: hsl(198.6364 89.1892% 29.0196%);
+ --color-accent-900: hsl(198.5047 88.4298% 23.7255%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(329.1892 67.2727% 89.2157%);
+ --color-danger-200: hsl(330 67.6471% 86.6667%);
+ --color-danger-300: hsl(330.4 68.8073% 78.6275%);
+ --color-danger-400: hsl(330.229 68.5864% 62.549%);
+ --color-danger-500: hsl(330.1604 78.903% 46.4706%);
+ --color-danger-600: hsl(330.3571 78.5047% 41.9608%);
+ --color-danger-700: hsl(330 78.6517% 34.902%);
+ --color-danger-800: hsl(330 78.8732% 27.8431%);
+ --color-danger-900: hsl(330 79.3103% 22.7451%);
+ --color-surface-100: hsl(228 22.7273% 91.3725%);
+ --color-surface-200: hsl(227.1429 24.1379% 88.6275%);
+ --color-surface-300: hsl(225.8824 23.2877% 85.6863%);
+ surface-400: rgb(128 140 177);
+ surface-500: rgb(73 90 143);
+ surface-600: rgb(66 81 129);
+ surface-700: rgb(55 68 107);
+ surface-800: rgb(44 54 86);
+ surface-900: rgb(36 44 70);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(330.1604 78.903% 46.4706%);
+ --color-primary: hsl(160 85.0746% 39.4118%);
+ --color-primary-50: hsl(160.5193 54.8337% 88.4639%);
+ --color-secondary: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-50: hsl(243.6812 76.4014% 92.1848%);
+ --color-accent: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-50: hsl(199.1094 84.6794% 90.3249%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(329.2701 67.5446% 89.7696%);
+}
+
+[data-theme="skeleton-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(160.5882 54.8387% 87.8431%);
+ --color-primary-200: hsl(160.4651 55.8442% 84.902%);
+ --color-primary-300: hsl(160.5882 54.8387% 75.6863%);
+ --color-primary-400: hsl(160 55.5556% 57.6471%);
+ --color-primary-500: hsl(160 85.0746% 39.4118%);
+ --color-primary-600: hsl(160 84.5304% 35.4902%);
+ --color-primary-700: hsl(160 85.4305% 29.6078%);
+ --color-primary-800: hsl(159.6117 85.124% 23.7255%);
+ --color-primary-900: hsl(160 85.7143% 19.2157%);
+ --color-secondary-100: hsl(243.75 76.1905% 91.7647%);
+ --color-secondary-200: hsl(243 76.9231% 89.8039%);
+ --color-secondary-300: hsl(243.75 76.1905% 83.5294%);
+ --color-secondary-400: hsl(243.2432 75.5102% 71.1765%);
+ --color-secondary-500: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-600: hsl(243.3566 59.3361% 52.7451%);
+ --color-secondary-700: hsl(243.0252 52.8889% 44.1176%);
+ --color-secondary-800: hsl(243.1579 53.0726% 35.098%);
+ --color-secondary-900: hsl(243.8462 53.4247% 28.6275%);
+ --color-accent-100: hsl(199.0909 84.6154% 89.8039%);
+ --color-accent-200: hsl(198.5455 84.6154% 87.2549%);
+ --color-accent-300: hsl(198.6207 82.8571% 79.4118%);
+ --color-accent-400: hsl(198.7013 83.6957% 63.9216%);
+ --color-accent-500: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-600: hsl(198.5787 88.3408% 43.7255%);
+ --color-accent-700: hsl(198.6585 88.172% 36.4706%);
+ --color-accent-800: hsl(198.6364 89.1892% 29.0196%);
+ --color-accent-900: hsl(198.5047 88.4298% 23.7255%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(329.1892 67.2727% 89.2157%);
+ --color-danger-200: hsl(330 67.6471% 86.6667%);
+ --color-danger-300: hsl(330.4 68.8073% 78.6275%);
+ --color-danger-400: hsl(330.229 68.5864% 62.549%);
+ --color-danger-500: hsl(330.1604 78.903% 46.4706%);
+ --color-danger-600: hsl(330.3571 78.5047% 41.9608%);
+ --color-danger-700: hsl(330 78.6517% 34.902%);
+ --color-danger-800: hsl(330 78.8732% 27.8431%);
+ --color-danger-900: hsl(330 79.3103% 22.7451%);
+ --color-surface-100: hsl(225 32.0988% 31.7647%);
+ --color-surface-200: hsl(225.7143 32.3077% 25.4902%);
+ --color-surface-300: hsl(225.8824 32.0755% 20.7843%);
+ surface-400: rgb(128 140 177);
+ surface-500: rgb(73 90 143);
+ surface-600: rgb(66 81 129);
+ surface-700: rgb(55 68 107);
+ surface-800: rgb(44 54 86);
+ surface-900: rgb(36 44 70);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(330.1604 78.903% 46.4706%);
+ --color-primary: hsl(160 85.0746% 39.4118%);
+ --color-primary-50: hsl(160.5193 54.8337% 88.4639%);
+ --color-secondary: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-50: hsl(243.6812 76.4014% 92.1848%);
+ --color-accent: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-50: hsl(199.1094 84.6794% 90.3249%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(329.2701 67.5446% 89.7696%);
+}
+
+[data-theme="wintry"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(214.2857 94.5946% 92.7451%);
+ --color-primary-200: hsl(213.3333 96.9231% 87.2549%);
+ --color-primary-300: hsl(211.6981 96.3636% 78.4314%);
+ --color-primary-400: hsl(213.1169 93.9024% 67.8431%);
+ --color-primary-500: hsl(217.2193 91.2195% 59.8039%);
+ --color-primary-600: hsl(221.2121 83.1933% 53.3333%);
+ --color-primary-700: hsl(224.2781 76.3265% 48.0392%);
+ --color-primary-800: hsl(225.931 70.7317% 40.1961%);
+ --color-primary-900: hsl(224.4444 64.2857% 32.9412%);
+ --color-secondary-100: hsl(204 93.75% 93.7255%);
+ --color-secondary-200: hsl(200.597 94.3662% 86.0784%);
+ --color-secondary-300: hsl(199.3701 95.4887% 73.9216%);
+ --color-secondary-400: hsl(198.4375 93.2039% 59.6078%);
+ --color-secondary-500: hsl(198.6301 88.664% 48.4314%);
+ --color-secondary-600: hsl(200.4061 98.01% 39.4118%);
+ --color-secondary-700: hsl(201.2658 96.3415% 32.1569%);
+ --color-secondary-800: hsl(200.9524 90% 27.451%);
+ --color-secondary-900: hsl(202.0408 80.3279% 23.9216%);
+ --color-accent-100: hsl(226.4516 100% 93.9216%);
+ --color-accent-200: hsl(228 96.4912% 88.8235%);
+ --color-accent-300: hsl(229.6552 93.5484% 81.7647%);
+ --color-accent-400: hsl(234.4538 89.4737% 73.9216%);
+ --color-accent-500: hsl(238.7324 83.5294% 66.6667%);
+ --color-accent-600: hsl(243.3962 75.3555% 58.6275%);
+ --color-accent-700: hsl(244.5205 57.9365% 50.5882%);
+ --color-accent-800: hsl(243.6522 54.5024% 41.3725%);
+ --color-accent-900: hsl(242.1687 47.4286% 34.3137%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(329.1892 67.2727% 89.2157%);
+ --color-danger-200: hsl(330 67.6471% 86.6667%);
+ --color-danger-300: hsl(330.4 68.8073% 78.6275%);
+ --color-danger-400: hsl(330.229 68.5864% 62.549%);
+ --color-danger-500: hsl(330.1604 78.903% 46.4706%);
+ --color-danger-600: hsl(330.3571 78.5047% 41.9608%);
+ --color-danger-700: hsl(330 78.6517% 34.902%);
+ --color-danger-800: hsl(330 78.8732% 27.8431%);
+ --color-danger-900: hsl(330 79.3103% 22.7451%);
+ --color-surface-100: hsl(210 20% 98.0392%);
+ --color-surface-200: hsl(220 14.2857% 95.8824%);
+ --color-surface-300: hsl(220 13.0435% 90.9804%);
+ surface-400: rgb(156 163 175);
+ surface-500: rgb(107 114 128);
+ surface-600: rgb(75 85 99);
+ surface-700: rgb(55 65 81);
+ surface-800: rgb(31 41 55);
+ surface-900: rgb(17 24 39);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(330.1604 78.903% 46.4706%);
+ --color-primary: hsl(217.2193 91.2195% 59.8039%);
+ --color-primary-50: hsl(214.2894 94.7383% 93.1112%);
+ --color-secondary: hsl(198.6301 88.664% 48.4314%);
+ --color-secondary-50: hsl(204.0111 93.8261% 94.0431%);
+ --color-accent: hsl(238.7324 83.5294% 66.6667%);
+ --color-accent-50: hsl(226.4169 100% 94.2217%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(329.2701 67.5446% 89.7696%);
+}
+
+[data-theme="wintry-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(214.2857 94.5946% 92.7451%);
+ --color-primary-200: hsl(213.3333 96.9231% 87.2549%);
+ --color-primary-300: hsl(211.6981 96.3636% 78.4314%);
+ --color-primary-400: hsl(213.1169 93.9024% 67.8431%);
+ --color-primary-500: hsl(217.2193 91.2195% 59.8039%);
+ --color-primary-600: hsl(221.2121 83.1933% 53.3333%);
+ --color-primary-700: hsl(224.2781 76.3265% 48.0392%);
+ --color-primary-800: hsl(225.931 70.7317% 40.1961%);
+ --color-primary-900: hsl(224.4444 64.2857% 32.9412%);
+ --color-secondary-100: hsl(204 93.75% 93.7255%);
+ --color-secondary-200: hsl(200.597 94.3662% 86.0784%);
+ --color-secondary-300: hsl(199.3701 95.4887% 73.9216%);
+ --color-secondary-400: hsl(198.4375 93.2039% 59.6078%);
+ --color-secondary-500: hsl(198.6301 88.664% 48.4314%);
+ --color-secondary-600: hsl(200.4061 98.01% 39.4118%);
+ --color-secondary-700: hsl(201.2658 96.3415% 32.1569%);
+ --color-secondary-800: hsl(200.9524 90% 27.451%);
+ --color-secondary-900: hsl(202.0408 80.3279% 23.9216%);
+ --color-accent-100: hsl(226.4516 100% 93.9216%);
+ --color-accent-200: hsl(228 96.4912% 88.8235%);
+ --color-accent-300: hsl(229.6552 93.5484% 81.7647%);
+ --color-accent-400: hsl(234.4538 89.4737% 73.9216%);
+ --color-accent-500: hsl(238.7324 83.5294% 66.6667%);
+ --color-accent-600: hsl(243.3962 75.3555% 58.6275%);
+ --color-accent-700: hsl(244.5205 57.9365% 50.5882%);
+ --color-accent-800: hsl(243.6522 54.5024% 41.3725%);
+ --color-accent-900: hsl(242.1687 47.4286% 34.3137%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(329.1892 67.2727% 89.2157%);
+ --color-danger-200: hsl(330 67.6471% 86.6667%);
+ --color-danger-300: hsl(330.4 68.8073% 78.6275%);
+ --color-danger-400: hsl(330.229 68.5864% 62.549%);
+ --color-danger-500: hsl(330.1604 78.903% 46.4706%);
+ --color-danger-600: hsl(330.3571 78.5047% 41.9608%);
+ --color-danger-700: hsl(330 78.6517% 34.902%);
+ --color-danger-800: hsl(330 78.8732% 27.8431%);
+ --color-danger-900: hsl(330 79.3103% 22.7451%);
+ --color-surface-100: hsl(216.9231 19.1176% 26.6667%);
+ --color-surface-200: hsl(215 27.907% 16.8627%);
+ --color-surface-300: hsl(220.9091 39.2857% 10.9804%);
+ surface-400: rgb(156 163 175);
+ surface-500: rgb(107 114 128);
+ surface-600: rgb(75 85 99);
+ surface-700: rgb(55 65 81);
+ surface-800: rgb(31 41 55);
+ surface-900: rgb(17 24 39);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(330.1604 78.903% 46.4706%);
+ --color-primary: hsl(217.2193 91.2195% 59.8039%);
+ --color-primary-50: hsl(214.2894 94.7383% 93.1112%);
+ --color-secondary: hsl(198.6301 88.664% 48.4314%);
+ --color-secondary-50: hsl(204.0111 93.8261% 94.0431%);
+ --color-accent: hsl(238.7324 83.5294% 66.6667%);
+ --color-accent-50: hsl(226.4169 100% 94.2217%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(329.2701 67.5446% 89.7696%);
+}
+
+[data-theme="modern"] {
+ --color-primary-content: hsl(0 0% 100%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(329.0909 80.4878% 91.9608%);
+ --color-primary-200: hsl(329.2683 80.3922% 90%);
+ --color-primary-300: hsl(330.4615 80.2469% 84.1176%);
+ --color-primary-400: hsl(330.2609 81.5603% 72.3529%);
+ --color-primary-500: hsl(330.3659 81.1881% 60.3922%);
+ --color-primary-600: hsl(330.2041 63.0901% 54.3137%);
+ --color-primary-700: hsl(330.2439 53.2468% 45.2941%);
+ --color-primary-800: hsl(330.303 53.5135% 36.2745%);
+ --color-primary-900: hsl(330.3704 53.6424% 29.6078%);
+ --color-secondary-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-secondary-200: hsl(188.2353 69.863% 85.6863%);
+ --color-secondary-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-secondary-400: hsl(188.75 70.5882% 60%);
+ --color-secondary-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-secondary-600: hsl(188.7097 94.898% 38.4314%);
+ --color-secondary-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-secondary-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-secondary-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-accent-100: hsl(172.7273 54.0984% 88.0392%);
+ --color-accent-200: hsl(174.1463 53.2468% 84.902%);
+ --color-accent-300: hsl(172.7273 54.0984% 76.0784%);
+ --color-accent-400: hsl(173.6842 53.271% 58.0392%);
+ --color-accent-500: hsl(173.4146 80.3922% 40%);
+ --color-accent-600: hsl(173.1081 80.4348% 36.0784%);
+ --color-accent-700: hsl(173.6585 80.3922% 30%);
+ --color-accent-800: hsl(173.8776 80.3279% 23.9216%);
+ --color-accent-900: hsl(173.25 80% 19.6078%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(0 85% 92.1569%);
+ --color-danger-200: hsl(0 84.3137% 90%);
+ --color-danger-300: hsl(0 85.1852% 84.1176%);
+ --color-danger-400: hsl(0 84.507% 72.1569%);
+ --color-danger-500: hsl(0 84.2365% 60.1961%);
+ --color-danger-600: hsl(0 65.812% 54.1176%);
+ --color-danger-700: hsl(0 55.6522% 45.098%);
+ --color-danger-800: hsl(0 55.4348% 36.0784%);
+ --color-danger-900: hsl(0 56% 29.4118%);
+ --color-surface-100: hsl(240 84% 95.098%);
+ --color-surface-200: hsl(240 82.3529% 93.3333%);
+ --color-surface-300: hsl(238.3333 85.7143% 91.7647%);
+ surface-400: rgb(146 148 245);
+ surface-500: rgb(99 102 241);
+ surface-600: rgb(89 92 217);
+ surface-700: rgb(74 77 181);
+ surface-800: rgb(59 61 145);
+ surface-900: rgb(49 50 118);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(0 84.2365% 60.1961%);
+ --color-primary: hsl(330.3659 81.1881% 60.3922%);
+ --color-primary-50: hsl(329.1599 80.7897% 92.3751%);
+ --color-secondary: hsl(188.7379 94.4954% 42.7451%);
+ --color-secondary-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-accent: hsl(173.4146 80.3922% 40%);
+ --color-accent-50: hsl(172.6855 54.0885% 88.6496%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(0.0349 85.3775% 92.5596%);
+}
+
+[data-theme="modern-dark"] {
+ --color-primary-content: hsl(0 0% 100%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(329.0909 80.4878% 91.9608%);
+ --color-primary-200: hsl(329.2683 80.3922% 90%);
+ --color-primary-300: hsl(330.4615 80.2469% 84.1176%);
+ --color-primary-400: hsl(330.2609 81.5603% 72.3529%);
+ --color-primary-500: hsl(330.3659 81.1881% 60.3922%);
+ --color-primary-600: hsl(330.2041 63.0901% 54.3137%);
+ --color-primary-700: hsl(330.2439 53.2468% 45.2941%);
+ --color-primary-800: hsl(330.303 53.5135% 36.2745%);
+ --color-primary-900: hsl(330.3704 53.6424% 29.6078%);
+ --color-secondary-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-secondary-200: hsl(188.2353 69.863% 85.6863%);
+ --color-secondary-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-secondary-400: hsl(188.75 70.5882% 60%);
+ --color-secondary-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-secondary-600: hsl(188.7097 94.898% 38.4314%);
+ --color-secondary-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-secondary-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-secondary-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-accent-100: hsl(172.7273 54.0984% 88.0392%);
+ --color-accent-200: hsl(174.1463 53.2468% 84.902%);
+ --color-accent-300: hsl(172.7273 54.0984% 76.0784%);
+ --color-accent-400: hsl(173.6842 53.271% 58.0392%);
+ --color-accent-500: hsl(173.4146 80.3922% 40%);
+ --color-accent-600: hsl(173.1081 80.4348% 36.0784%);
+ --color-accent-700: hsl(173.6585 80.3922% 30%);
+ --color-accent-800: hsl(173.8776 80.3279% 23.9216%);
+ --color-accent-900: hsl(173.25 80% 19.6078%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(0 85% 92.1569%);
+ --color-danger-200: hsl(0 84.3137% 90%);
+ --color-danger-300: hsl(0 85.1852% 84.1176%);
+ --color-danger-400: hsl(0 84.507% 72.1569%);
+ --color-danger-500: hsl(0 84.2365% 60.1961%);
+ --color-danger-600: hsl(0 65.812% 54.1176%);
+ --color-danger-700: hsl(0 55.6522% 45.098%);
+ --color-danger-800: hsl(0 55.4348% 36.0784%);
+ --color-danger-900: hsl(0 56% 29.4118%);
+ --color-surface-100: hsl(238.3178 41.9608% 50%);
+ --color-surface-200: hsl(238.6047 42.1569% 40%);
+ --color-surface-300: hsl(239.1304 41.3174% 32.7451%);
+ surface-400: rgb(146 148 245);
+ surface-500: rgb(99 102 241);
+ surface-600: rgb(89 92 217);
+ surface-700: rgb(74 77 181);
+ surface-800: rgb(59 61 145);
+ surface-900: rgb(49 50 118);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(0 84.2365% 60.1961%);
+ --color-primary: hsl(330.3659 81.1881% 60.3922%);
+ --color-primary-50: hsl(329.1599 80.7897% 92.3751%);
+ --color-secondary: hsl(188.7379 94.4954% 42.7451%);
+ --color-secondary-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-accent: hsl(173.4146 80.3922% 40%);
+ --color-accent-50: hsl(172.6855 54.0885% 88.6496%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(0.0349 85.3775% 92.5596%);
+}
+
+[data-theme="rocket"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-primary-200: hsl(188.2353 69.863% 85.6863%);
+ --color-primary-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-primary-400: hsl(188.75 70.5882% 60%);
+ --color-primary-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-primary-600: hsl(188.7097 94.898% 38.4314%);
+ --color-primary-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-primary-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-primary-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-secondary-100: hsl(217.2973 90.2439% 91.9608%);
+ --color-secondary-200: hsl(217.0213 92.1569% 90%);
+ --color-secondary-300: hsl(217.2973 90.2439% 83.9216%);
+ --color-secondary-400: hsl(217.0992 91.6084% 71.9608%);
+ --color-secondary-500: hsl(217.2193 91.2195% 59.8039%);
+ --color-secondary-600: hsl(217.1429 71.1864% 53.7255%);
+ --color-secondary-700: hsl(217.0213 61.5721% 44.902%);
+ --color-secondary-800: hsl(217.1681 61.7486% 35.8824%);
+ --color-secondary-900: hsl(217.1739 61.3333% 29.4118%);
+ --color-accent-100: hsl(271.875 88.8889% 92.9412%);
+ --color-accent-200: hsl(270 90.9091% 91.3725%);
+ --color-accent-300: hsl(270.4615 91.5493% 86.0784%);
+ --color-accent-400: hsl(270.7965 90.4% 75.4902%);
+ --color-accent-500: hsl(270.7407 91.0112% 65.098%);
+ --color-accent-600: hsl(270.6207 68.7204% 58.6275%);
+ --color-accent-700: hsl(270.7438 48.5944% 48.8235%);
+ --color-accent-800: hsl(270.9278 48.7437% 39.0196%);
+ --color-accent-900: hsl(270.3797 48.4663% 31.9608%);
+ --color-success-100: hsl(102.1622 64.9123% 88.8235%);
+ --color-success-200: hsl(102.6667 63.3803% 86.0784%);
+ --color-success-300: hsl(101.9178 63.4783% 77.451%);
+ --color-success-400: hsl(101.7188 64% 60.7843%);
+ --color-success-500: hsl(101.8681 81.25% 43.9216%);
+ --color-success-600: hsl(102.0732 81.1881% 39.6078%);
+ --color-success-700: hsl(101.9118 80.9524% 32.9412%);
+ --color-success-800: hsl(101.8349 80.7407% 26.4706%);
+ --color-success-900: hsl(101.7978 81.6514% 21.3725%);
+ --color-warning-100: hsl(45.3659 91.1111% 91.1765%);
+ --color-warning-200: hsl(45.6 89.2857% 89.0196%);
+ --color-warning-300: hsl(44.4444 91.0112% 82.549%);
+ --color-warning-400: hsl(45.1064 89.8089% 69.2157%);
+ --color-warning-500: hsl(44.8515 90.1786% 56.0784%);
+ --color-warning-600: hsl(44.8352 72.2222% 50.5882%);
+ --color-warning-700: hsl(44.9007 70.2326% 42.1569%);
+ --color-warning-800: hsl(45.124 70.7602% 33.5294%);
+ --color-warning-900: hsl(44.8485 70.2128% 27.6471%);
+ --color-danger-100: hsl(342.2222 47.3684% 88.8235%);
+ --color-danger-200: hsl(341.1429 49.2958% 86.0784%);
+ --color-danger-300: hsl(342.2222 47.3684% 77.6471%);
+ --color-danger-400: hsl(341.875 48% 60.7843%);
+ --color-danger-500: hsl(342.0438 60.8889% 44.1176%);
+ --color-danger-600: hsl(341.9512 60.5911% 39.8039%);
+ --color-danger-700: hsl(341.9417 60.9467% 33.1373%);
+ --color-danger-800: hsl(341.9277 61.4815% 26.4706%);
+ --color-danger-900: hsl(342.0896 60.3604% 21.7647%);
+ --color-surface-100: hsl(220 15% 92.1569%);
+ --color-surface-200: hsl(217.5 14.8148% 89.4118%);
+ --color-surface-300: hsl(216 14.7059% 86.6667%);
+ surface-400: rgb(147 158 174);
+ surface-500: rgb(100 116 139);
+ surface-600: rgb(90 104 125);
+ surface-700: rgb(75 87 104);
+ surface-800: rgb(60 70 83);
+ surface-900: rgb(49 57 68);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(101.8681 81.25% 43.9216%);
+ --color-warning: hsl(44.8515 90.1786% 56.0784%);
+ --color-danger: hsl(342.0438 60.8889% 44.1176%);
+ --color-primary: hsl(188.7379 94.4954% 42.7451%);
+ --color-primary-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-secondary: hsl(217.2193 91.2195% 59.8039%);
+ --color-secondary-50: hsl(217.2953 90.4058% 92.3659%);
+ --color-accent: hsl(270.7407 91.0112% 65.098%);
+ --color-accent-50: hsl(271.8354 89.0885% 93.3015%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(102.1849 64.9768% 89.3912%);
+ --color-warning-50: hsl(45.3756 91.104% 91.6245%);
+ --color-danger-50: hsl(342.2736 47.511% 89.3875%);
+}
+
+[data-theme="rocket-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-primary-200: hsl(188.2353 69.863% 85.6863%);
+ --color-primary-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-primary-400: hsl(188.75 70.5882% 60%);
+ --color-primary-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-primary-600: hsl(188.7097 94.898% 38.4314%);
+ --color-primary-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-primary-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-primary-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-secondary-100: hsl(217.2973 90.2439% 91.9608%);
+ --color-secondary-200: hsl(217.0213 92.1569% 90%);
+ --color-secondary-300: hsl(217.2973 90.2439% 83.9216%);
+ --color-secondary-400: hsl(217.0992 91.6084% 71.9608%);
+ --color-secondary-500: hsl(217.2193 91.2195% 59.8039%);
+ --color-secondary-600: hsl(217.1429 71.1864% 53.7255%);
+ --color-secondary-700: hsl(217.0213 61.5721% 44.902%);
+ --color-secondary-800: hsl(217.1681 61.7486% 35.8824%);
+ --color-secondary-900: hsl(217.1739 61.3333% 29.4118%);
+ --color-accent-100: hsl(271.875 88.8889% 92.9412%);
+ --color-accent-200: hsl(270 90.9091% 91.3725%);
+ --color-accent-300: hsl(270.4615 91.5493% 86.0784%);
+ --color-accent-400: hsl(270.7965 90.4% 75.4902%);
+ --color-accent-500: hsl(270.7407 91.0112% 65.098%);
+ --color-accent-600: hsl(270.6207 68.7204% 58.6275%);
+ --color-accent-700: hsl(270.7438 48.5944% 48.8235%);
+ --color-accent-800: hsl(270.9278 48.7437% 39.0196%);
+ --color-accent-900: hsl(270.3797 48.4663% 31.9608%);
+ --color-success-100: hsl(102.1622 64.9123% 88.8235%);
+ --color-success-200: hsl(102.6667 63.3803% 86.0784%);
+ --color-success-300: hsl(101.9178 63.4783% 77.451%);
+ --color-success-400: hsl(101.7188 64% 60.7843%);
+ --color-success-500: hsl(101.8681 81.25% 43.9216%);
+ --color-success-600: hsl(102.0732 81.1881% 39.6078%);
+ --color-success-700: hsl(101.9118 80.9524% 32.9412%);
+ --color-success-800: hsl(101.8349 80.7407% 26.4706%);
+ --color-success-900: hsl(101.7978 81.6514% 21.3725%);
+ --color-warning-100: hsl(45.3659 91.1111% 91.1765%);
+ --color-warning-200: hsl(45.6 89.2857% 89.0196%);
+ --color-warning-300: hsl(44.4444 91.0112% 82.549%);
+ --color-warning-400: hsl(45.1064 89.8089% 69.2157%);
+ --color-warning-500: hsl(44.8515 90.1786% 56.0784%);
+ --color-warning-600: hsl(44.8352 72.2222% 50.5882%);
+ --color-warning-700: hsl(44.9007 70.2326% 42.1569%);
+ --color-warning-800: hsl(45.124 70.7602% 33.5294%);
+ --color-warning-900: hsl(44.8485 70.2128% 27.6471%);
+ --color-danger-100: hsl(342.2222 47.3684% 88.8235%);
+ --color-danger-200: hsl(341.1429 49.2958% 86.0784%);
+ --color-danger-300: hsl(342.2222 47.3684% 77.6471%);
+ --color-danger-400: hsl(341.875 48% 60.7843%);
+ --color-danger-500: hsl(342.0438 60.8889% 44.1176%);
+ --color-danger-600: hsl(341.9512 60.5911% 39.8039%);
+ --color-danger-700: hsl(341.9417 60.9467% 33.1373%);
+ --color-danger-800: hsl(341.9277 61.4815% 26.4706%);
+ --color-danger-900: hsl(342.0896 60.3604% 21.7647%);
+ --color-surface-100: hsl(215.1724 16.2011% 35.098%);
+ --color-surface-200: hsl(213.913 16.0839% 28.0392%);
+ --color-surface-300: hsl(214.7368 16.2393% 22.9412%);
+ surface-400: rgb(147 158 174);
+ surface-500: rgb(100 116 139);
+ surface-600: rgb(90 104 125);
+ surface-700: rgb(75 87 104);
+ surface-800: rgb(60 70 83);
+ surface-900: rgb(49 57 68);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(101.8681 81.25% 43.9216%);
+ --color-warning: hsl(44.8515 90.1786% 56.0784%);
+ --color-danger: hsl(342.0438 60.8889% 44.1176%);
+ --color-primary: hsl(188.7379 94.4954% 42.7451%);
+ --color-primary-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-secondary: hsl(217.2193 91.2195% 59.8039%);
+ --color-secondary-50: hsl(217.2953 90.4058% 92.3659%);
+ --color-accent: hsl(270.7407 91.0112% 65.098%);
+ --color-accent-50: hsl(271.8354 89.0885% 93.3015%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(102.1849 64.9768% 89.3912%);
+ --color-warning-50: hsl(45.3756 91.104% 91.6245%);
+ --color-danger-50: hsl(342.2736 47.511% 89.3875%);
+}
+
+[data-theme="seafoam"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(176 45.4545% 93.5294%);
+ --color-primary-200: hsl(176.6667 42.8571% 91.7647%);
+ --color-primary-300: hsl(175.8621 43.2836% 86.8627%);
+ --color-primary-400: hsl(176.5385 44.0678% 76.8627%);
+ --color-primary-500: hsl(175.9459 44.0476% 67.0588%);
+ --color-primary-600: hsl(176.3636 32.6733% 60.3922%);
+ --color-primary-700: hsl(175.6364 21.7391% 50.3922%);
+ --color-primary-800: hsl(176 21.9512% 40.1961%);
+ --color-primary-900: hsl(175 21.4286% 32.9412%);
+ --color-secondary-100: hsl(222 12.8205% 84.7059%);
+ --color-secondary-200: hsl(221.5385 13.4021% 80.9804%);
+ --color-secondary-300: hsl(220 13.3758% 69.2157%);
+ --color-secondary-400: hsl(220 15.2542% 46.2745%);
+ --color-secondary-500: hsl(219.2308 44.0678% 23.1373%);
+ --color-secondary-600: hsl(219.5745 43.9252% 20.9804%);
+ --color-secondary-700: hsl(220 43.8202% 17.451%);
+ --color-secondary-800: hsl(218.7097 43.662% 13.9216%);
+ --color-secondary-900: hsl(219.2308 44.8276% 11.3725%);
+ --color-accent-100: hsl(14.1176 100% 90%);
+ --color-accent-200: hsl(15 100% 87.451%);
+ --color-accent-300: hsl(14.1176 100% 80%);
+ --color-accent-400: hsl(14.1573 100% 65.098%);
+ --color-accent-500: hsl(14.3529 100% 50%);
+ --color-accent-600: hsl(14.3478 100% 45.098%);
+ --color-accent-700: hsl(14.4503 100% 37.451%);
+ --color-accent-800: hsl(14.5098 100% 30%);
+ --color-accent-900: hsl(14.4 100% 24.5098%);
+ --color-success-100: hsl(161.3333 81.8182% 89.2157%);
+ --color-success-200: hsl(161.7857 82.3529% 86.6667%);
+ --color-success-300: hsl(162 81.8182% 78.4314%);
+ --color-success-400: hsl(161.9231 81.25% 62.3529%);
+ --color-success-500: hsl(161.9731 94.8936% 46.0784%);
+ --color-success-600: hsl(162.0896 95.2607% 41.3725%);
+ --color-success-700: hsl(162.0359 94.3503% 34.7059%);
+ --color-success-800: hsl(161.9549 94.3262% 27.6471%);
+ --color-success-900: hsl(161.8349 94.7826% 22.549%);
+ --color-warning-100: hsl(58 78.9474% 92.549%);
+ --color-warning-200: hsl(58.3784 78.7234% 90.7843%);
+ --color-warning-300: hsl(57.9661 78.6667% 85.2941%);
+ --color-warning-400: hsl(58.2524 77.4436% 73.9216%);
+ --color-warning-500: hsl(57.9592 77.7778% 62.9412%);
+ --color-warning-600: hsl(57.7444 60.181% 56.6667%);
+ --color-warning-700: hsl(57.8378 46.0581% 47.2549%);
+ --color-warning-800: hsl(57.9545 45.8333% 37.6471%);
+ --color-warning-900: hsl(57.5 45.5696% 30.9804%);
+ --color-danger-100: hsl(0 60.8696% 90.9804%);
+ --color-danger-200: hsl(0 61.4035% 88.8235%);
+ --color-danger-300: hsl(0 60.8696% 81.9608%);
+ --color-danger-400: hsl(0 61.25% 68.6275%);
+ --color-danger-500: hsl(0 60.8696% 54.902%);
+ --color-danger-600: hsl(0 50% 49.4118%);
+ --color-danger-700: hsl(0 49.763% 41.3725%);
+ --color-danger-800: hsl(0 50% 32.9412%);
+ --color-danger-900: hsl(0 50.365% 26.8627%);
+ --color-surface-100: hsl(182.2222 69.2308% 92.3529%);
+ --color-surface-200: hsl(180 66.0377% 89.6078%);
+ --color-surface-300: hsl(180 66.1538% 87.2549%);
+ surface-400: rgb(102 223 225);
+ surface-500: rgb(37 209 212);
+ surface-600: rgb(33 188 191);
+ surface-700: rgb(28 157 159);
+ surface-800: rgb(22 125 127);
+ surface-900: rgb(18 102 104);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(161.9731 94.8936% 46.0784%);
+ --color-warning: hsl(57.9592 77.7778% 62.9412%);
+ --color-danger: hsl(0 60.8696% 54.902%);
+ --color-primary: hsl(175.9459 44.0476% 67.0588%);
+ --color-primary-50: hsl(175.9851 45.4522% 93.8545%);
+ --color-secondary: hsl(219.2308 44.0678% 23.1373%);
+ --color-secondary-50: hsl(221.997 12.8364% 85.4596%);
+ --color-accent: hsl(14.3529 100% 50%);
+ --color-accent-50: hsl(14.1448 100% 90.4963%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(161.2453 81.8677% 89.7845%);
+ --color-warning-50: hsl(58.0387 78.8938% 92.9257%);
+ --color-danger-50: hsl(0.0284 61.0823% 91.437%);
+}
+
+[data-theme="seafoam-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(176 45.4545% 93.5294%);
+ --color-primary-200: hsl(176.6667 42.8571% 91.7647%);
+ --color-primary-300: hsl(175.8621 43.2836% 86.8627%);
+ --color-primary-400: hsl(176.5385 44.0678% 76.8627%);
+ --color-primary-500: hsl(175.9459 44.0476% 67.0588%);
+ --color-primary-600: hsl(176.3636 32.6733% 60.3922%);
+ --color-primary-700: hsl(175.6364 21.7391% 50.3922%);
+ --color-primary-800: hsl(176 21.9512% 40.1961%);
+ --color-primary-900: hsl(175 21.4286% 32.9412%);
+ --color-secondary-100: hsl(222 12.8205% 84.7059%);
+ --color-secondary-200: hsl(221.5385 13.4021% 80.9804%);
+ --color-secondary-300: hsl(220 13.3758% 69.2157%);
+ --color-secondary-400: hsl(220 15.2542% 46.2745%);
+ --color-secondary-500: hsl(219.2308 44.0678% 23.1373%);
+ --color-secondary-600: hsl(219.5745 43.9252% 20.9804%);
+ --color-secondary-700: hsl(220 43.8202% 17.451%);
+ --color-secondary-800: hsl(218.7097 43.662% 13.9216%);
+ --color-secondary-900: hsl(219.2308 44.8276% 11.3725%);
+ --color-accent-100: hsl(14.1176 100% 90%);
+ --color-accent-200: hsl(15 100% 87.451%);
+ --color-accent-300: hsl(14.1176 100% 80%);
+ --color-accent-400: hsl(14.1573 100% 65.098%);
+ --color-accent-500: hsl(14.3529 100% 50%);
+ --color-accent-600: hsl(14.3478 100% 45.098%);
+ --color-accent-700: hsl(14.4503 100% 37.451%);
+ --color-accent-800: hsl(14.5098 100% 30%);
+ --color-accent-900: hsl(14.4 100% 24.5098%);
+ --color-success-100: hsl(161.3333 81.8182% 89.2157%);
+ --color-success-200: hsl(161.7857 82.3529% 86.6667%);
+ --color-success-300: hsl(162 81.8182% 78.4314%);
+ --color-success-400: hsl(161.9231 81.25% 62.3529%);
+ --color-success-500: hsl(161.9731 94.8936% 46.0784%);
+ --color-success-600: hsl(162.0896 95.2607% 41.3725%);
+ --color-success-700: hsl(162.0359 94.3503% 34.7059%);
+ --color-success-800: hsl(161.9549 94.3262% 27.6471%);
+ --color-success-900: hsl(161.8349 94.7826% 22.549%);
+ --color-warning-100: hsl(58 78.9474% 92.549%);
+ --color-warning-200: hsl(58.3784 78.7234% 90.7843%);
+ --color-warning-300: hsl(57.9661 78.6667% 85.2941%);
+ --color-warning-400: hsl(58.2524 77.4436% 73.9216%);
+ --color-warning-500: hsl(57.9592 77.7778% 62.9412%);
+ --color-warning-600: hsl(57.7444 60.181% 56.6667%);
+ --color-warning-700: hsl(57.8378 46.0581% 47.2549%);
+ --color-warning-800: hsl(57.9545 45.8333% 37.6471%);
+ --color-warning-900: hsl(57.5 45.5696% 30.9804%);
+ --color-danger-100: hsl(0 60.8696% 90.9804%);
+ --color-danger-200: hsl(0 61.4035% 88.8235%);
+ --color-danger-300: hsl(0 60.8696% 81.9608%);
+ --color-danger-400: hsl(0 61.25% 68.6275%);
+ --color-danger-500: hsl(0 60.8696% 54.902%);
+ --color-danger-600: hsl(0 50% 49.4118%);
+ --color-danger-700: hsl(0 49.763% 41.3725%);
+ --color-danger-800: hsl(0 50% 32.9412%);
+ --color-danger-900: hsl(0 50.365% 26.8627%);
+ --color-surface-100: hsl(180.916 70.0535% 36.6667%);
+ --color-surface-200: hsl(181.1429 70.4698% 29.2157%);
+ --color-surface-300: hsl(181.3953 70.4918% 23.9216%);
+ surface-400: rgb(102 223 225);
+ surface-500: rgb(37 209 212);
+ surface-600: rgb(33 188 191);
+ surface-700: rgb(28 157 159);
+ surface-800: rgb(22 125 127);
+ surface-900: rgb(18 102 104);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(161.9731 94.8936% 46.0784%);
+ --color-warning: hsl(57.9592 77.7778% 62.9412%);
+ --color-danger: hsl(0 60.8696% 54.902%);
+ --color-primary: hsl(175.9459 44.0476% 67.0588%);
+ --color-primary-50: hsl(175.9851 45.4522% 93.8545%);
+ --color-secondary: hsl(219.2308 44.0678% 23.1373%);
+ --color-secondary-50: hsl(221.997 12.8364% 85.4596%);
+ --color-accent: hsl(14.3529 100% 50%);
+ --color-accent-50: hsl(14.1448 100% 90.4963%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(161.2453 81.8677% 89.7845%);
+ --color-warning-50: hsl(58.0387 78.8938% 92.9257%);
+ --color-danger-50: hsl(0.0284 61.0823% 91.437%);
+}
+
+[data-theme="vintage"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 0%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(31.4286 84% 90.1961%);
+ --color-primary-200: hsl(31.1538 83.871% 87.8431%);
+ --color-primary-300: hsl(31.4286 84% 80.3922%);
+ --color-primary-400: hsl(31.0345 82.8571% 65.6863%);
+ --color-primary-500: hsl(31.1538 83.2% 50.9804%);
+ --color-primary-600: hsl(31.2766 80.3419% 45.8824%);
+ --color-primary-700: hsl(31.1538 79.5918% 38.4314%);
+ --color-primary-800: hsl(30.9677 79.4872% 30.5882%);
+ --color-primary-900: hsl(31.1765 79.6875% 25.098%);
+ --color-secondary-100: hsl(136.3636 35.4839% 93.9216%);
+ --color-secondary-200: hsl(137.1429 36.8421% 92.549%);
+ --color-secondary-300: hsl(136.3636 35.4839% 87.8431%);
+ --color-secondary-400: hsl(135.3846 36.4486% 79.0196%);
+ --color-secondary-500: hsl(135.2727 35.9477% 70%);
+ --color-secondary-600: hsl(135.9184 25.9259% 62.9412%);
+ --color-secondary-700: hsl(135.7143 17.3554% 52.549%);
+ --color-secondary-800: hsl(134.5455 15.3488% 42.1569%);
+ --color-secondary-900: hsl(135.5556 15.4286% 34.3137%);
+ --color-accent-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-accent-200: hsl(188.2353 69.863% 85.6863%);
+ --color-accent-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-accent-400: hsl(188.75 70.5882% 60%);
+ --color-accent-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-accent-600: hsl(188.7097 94.898% 38.4314%);
+ --color-accent-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-accent-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-accent-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-success-100: hsl(100.9091 52.381% 91.7647%);
+ --color-success-200: hsl(100 50.9434% 89.6078%);
+ --color-success-300: hsl(98.1818 51.1628% 83.1373%);
+ --color-success-400: hsl(98.961 51.6779% 70.7843%);
+ --color-success-500: hsl(98.7273 51.4019% 58.0392%);
+ --color-success-600: hsl(98.7879 40.7407% 52.3529%);
+ --color-success-700: hsl(98.7805 36.9369% 43.5294%);
+ --color-success-800: hsl(99.0909 37.0787% 34.902%);
+ --color-success-900: hsl(98.4906 36.5517% 28.4314%);
+ --color-warning-100: hsl(39.5122 87.234% 90.7843%);
+ --color-warning-200: hsl(39.2308 89.6552% 88.6275%);
+ --color-warning-300: hsl(39.759 89.2473% 81.7647%);
+ --color-warning-400: hsl(39.7241 88.9571% 68.0392%);
+ --color-warning-500: hsl(39.7101 88.8412% 54.3137%);
+ --color-warning-600: hsl(39.6774 74.4% 49.0196%);
+ --color-warning-700: hsl(39.6154 75% 40.7843%);
+ --color-warning-800: hsl(39.6774 74.6988% 32.549%);
+ --color-warning-900: hsl(39.4118 75% 26.6667%);
+ --color-danger-100: hsl(3.1579 54.2857% 93.1373%);
+ --color-danger-200: hsl(5 54.5455% 91.3725%);
+ --color-danger-300: hsl(3.2432 52.1127% 86.0784%);
+ --color-danger-400: hsl(3.6923 52.8455% 75.8824%);
+ --color-danger-500: hsl(3.871 52.5424% 65.2941%);
+ --color-danger-600: hsl(3.5714 40% 58.8235%);
+ --color-danger-700: hsl(4.2857 28% 49.0196%);
+ --color-danger-800: hsl(4.2857 28% 39.2157%);
+ --color-danger-900: hsl(4 27.6074% 31.9608%);
+ --color-surface-100: hsl(30 3.3333% 88.2353%);
+ --color-surface-200: hsl(20 3.7975% 84.5098%);
+ --color-surface-300: hsl(20 3.0303% 80.5882%);
+ surface-400: rgb(121 115 111);
+ surface-500: rgb(63 55 49);
+ surface-600: rgb(57 50 44);
+ surface-700: rgb(47 41 37);
+ surface-800: rgb(38 33 29);
+ surface-900: rgb(31 27 24);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(98.7273 51.4019% 58.0392%);
+ --color-warning: hsl(39.7101 88.8412% 54.3137%);
+ --color-danger: hsl(3.871 52.5424% 65.2941%);
+ --color-primary: hsl(31.1538 83.2% 50.9804%);
+ --color-primary-50: hsl(31.4148 84.0933% 90.6922%);
+ --color-secondary: hsl(135.2727 35.9477% 70%);
+ --color-secondary-50: hsl(136.3397 35.4883% 94.2255%);
+ --color-accent: hsl(188.7379 94.4954% 42.7451%);
+ --color-accent-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(100.9235 52.4104% 92.1781%);
+ --color-warning-50: hsl(39.5093 87.2642% 91.251%);
+ --color-danger-50: hsl(3.1696 54.3994% 93.4821%);
+}
+
+[data-theme="vintage-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 0%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(31.4286 84% 90.1961%);
+ --color-primary-200: hsl(31.1538 83.871% 87.8431%);
+ --color-primary-300: hsl(31.4286 84% 80.3922%);
+ --color-primary-400: hsl(31.0345 82.8571% 65.6863%);
+ --color-primary-500: hsl(31.1538 83.2% 50.9804%);
+ --color-primary-600: hsl(31.2766 80.3419% 45.8824%);
+ --color-primary-700: hsl(31.1538 79.5918% 38.4314%);
+ --color-primary-800: hsl(30.9677 79.4872% 30.5882%);
+ --color-primary-900: hsl(31.1765 79.6875% 25.098%);
+ --color-secondary-100: hsl(136.3636 35.4839% 93.9216%);
+ --color-secondary-200: hsl(137.1429 36.8421% 92.549%);
+ --color-secondary-300: hsl(136.3636 35.4839% 87.8431%);
+ --color-secondary-400: hsl(135.3846 36.4486% 79.0196%);
+ --color-secondary-500: hsl(135.2727 35.9477% 70%);
+ --color-secondary-600: hsl(135.9184 25.9259% 62.9412%);
+ --color-secondary-700: hsl(135.7143 17.3554% 52.549%);
+ --color-secondary-800: hsl(134.5455 15.3488% 42.1569%);
+ --color-secondary-900: hsl(135.5556 15.4286% 34.3137%);
+ --color-accent-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-accent-200: hsl(188.2353 69.863% 85.6863%);
+ --color-accent-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-accent-400: hsl(188.75 70.5882% 60%);
+ --color-accent-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-accent-600: hsl(188.7097 94.898% 38.4314%);
+ --color-accent-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-accent-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-accent-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-success-100: hsl(100.9091 52.381% 91.7647%);
+ --color-success-200: hsl(100 50.9434% 89.6078%);
+ --color-success-300: hsl(98.1818 51.1628% 83.1373%);
+ --color-success-400: hsl(98.961 51.6779% 70.7843%);
+ --color-success-500: hsl(98.7273 51.4019% 58.0392%);
+ --color-success-600: hsl(98.7879 40.7407% 52.3529%);
+ --color-success-700: hsl(98.7805 36.9369% 43.5294%);
+ --color-success-800: hsl(99.0909 37.0787% 34.902%);
+ --color-success-900: hsl(98.4906 36.5517% 28.4314%);
+ --color-warning-100: hsl(39.5122 87.234% 90.7843%);
+ --color-warning-200: hsl(39.2308 89.6552% 88.6275%);
+ --color-warning-300: hsl(39.759 89.2473% 81.7647%);
+ --color-warning-400: hsl(39.7241 88.9571% 68.0392%);
+ --color-warning-500: hsl(39.7101 88.8412% 54.3137%);
+ --color-warning-600: hsl(39.6774 74.4% 49.0196%);
+ --color-warning-700: hsl(39.6154 75% 40.7843%);
+ --color-warning-800: hsl(39.6774 74.6988% 32.549%);
+ --color-warning-900: hsl(39.4118 75% 26.6667%);
+ --color-danger-100: hsl(3.1579 54.2857% 93.1373%);
+ --color-danger-200: hsl(5 54.5455% 91.3725%);
+ --color-danger-300: hsl(3.2432 52.1127% 86.0784%);
+ --color-danger-400: hsl(3.6923 52.8455% 75.8824%);
+ --color-danger-500: hsl(3.871 52.5424% 65.2941%);
+ --color-danger-600: hsl(3.5714 40% 58.8235%);
+ --color-danger-700: hsl(4.2857 28% 49.0196%);
+ --color-danger-800: hsl(4.2857 28% 39.2157%);
+ --color-danger-900: hsl(4 27.6074% 31.9608%);
+ --color-surface-100: hsl(24 11.9048% 16.4706%);
+ --color-surface-200: hsl(26.6667 13.4328% 13.1373%);
+ --color-surface-300: hsl(25.7143 12.7273% 10.7843%);
+ surface-400: rgb(121 115 111);
+ surface-500: rgb(63 55 49);
+ surface-600: rgb(57 50 44);
+ surface-700: rgb(47 41 37);
+ surface-800: rgb(38 33 29);
+ surface-900: rgb(31 27 24);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(98.7273 51.4019% 58.0392%);
+ --color-warning: hsl(39.7101 88.8412% 54.3137%);
+ --color-danger: hsl(3.871 52.5424% 65.2941%);
+ --color-primary: hsl(31.1538 83.2% 50.9804%);
+ --color-primary-50: hsl(31.4148 84.0933% 90.6922%);
+ --color-secondary: hsl(135.2727 35.9477% 70%);
+ --color-secondary-50: hsl(136.3397 35.4883% 94.2255%);
+ --color-accent: hsl(188.7379 94.4954% 42.7451%);
+ --color-accent-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(100.9235 52.4104% 92.1781%);
+ --color-warning-50: hsl(39.5093 87.2642% 91.251%);
+ --color-danger-50: hsl(3.1696 54.3994% 93.4821%);
+}
+
+[data-theme="sahara"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(38.3333 81.8182% 91.3725%);
+ --color-primary-200: hsl(38.6667 81.8182% 89.2157%);
+ --color-primary-300: hsl(38.3333 81.8182% 82.7451%);
+ --color-primary-400: hsl(38.4375 83.1169% 69.8039%);
+ --color-primary-500: hsl(38.2418 82.7273% 56.8627%);
+ --color-primary-600: hsl(38.2822 65.4618% 51.1765%);
+ --color-primary-700: hsl(38.3824 62.3853% 42.7451%);
+ --color-primary-800: hsl(38.1818 63.2184% 34.1176%);
+ --color-primary-900: hsl(38 63.3803% 27.8431%);
+ --color-secondary-100: hsl(171.7241 59.1837% 90.3922%);
+ --color-secondary-200: hsl(173.3333 58.0645% 87.8431%);
+ --color-secondary-300: hsl(172.7586 58% 80.3922%);
+ --color-secondary-400: hsl(172.9412 58.6207% 65.8824%);
+ --color-secondary-500: hsl(172.9655 58.2329% 51.1765%);
+ --color-secondary-600: hsl(172.6718 55.7447% 46.0784%);
+ --color-secondary-700: hsl(173.3333 55.102% 38.4314%);
+ --color-secondary-800: hsl(173.1034 55.414% 30.7843%);
+ --color-secondary-900: hsl(173.2394 55.9055% 24.902%);
+ --color-accent-100: hsl(86.6667 60% 94.1176%);
+ --color-accent-200: hsl(84.5455 57.8947% 92.549%);
+ --color-accent-300: hsl(84 57.377% 88.0392%);
+ --color-accent-400: hsl(84.7619 58.8785% 79.0196%);
+ --color-accent-500: hsl(84.2697 58.1699% 70%);
+ --color-accent-600: hsl(84.75 42.5532% 63.1373%);
+ --color-accent-700: hsl(84.5455 27.2727% 52.549%);
+ --color-accent-800: hsl(84.4444 25.2336% 41.9608%);
+ --color-accent-900: hsl(83.7209 24.5714% 34.3137%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.5172 74.359% 92.3529%);
+ --color-warning-200: hsl(45 75% 90.5882%);
+ --color-warning-300: hsl(44.2105 74.026% 84.902%);
+ --color-warning-400: hsl(45 73.5294% 73.3333%);
+ --color-warning-500: hsl(44.7887 73.1959% 61.9608%);
+ --color-warning-600: hsl(45 56.6372% 55.6863%);
+ --color-warning-700: hsl(44.8598 45.1477% 46.4706%);
+ --color-warning-800: hsl(45.1765 44.9735% 37.0588%);
+ --color-warning-900: hsl(45.2174 44.5161% 30.3922%);
+ --color-danger-100: hsl(330 65% 92.1569%);
+ --color-danger-200: hsl(330 64% 90.1961%);
+ --color-danger-300: hsl(330.5882 64.557% 84.5098%);
+ --color-danger-400: hsl(329.6629 64.0288% 72.7451%);
+ --color-danger-500: hsl(329.7638 63.8191% 60.9804%);
+ --color-danger-600: hsl(330 49.5652% 54.902%);
+ --color-danger-700: hsl(329.6842 40.7725% 45.6863%);
+ --color-danger-800: hsl(329.2105 40.8602% 36.4706%);
+ --color-danger-900: hsl(330 40.7895% 29.8039%);
+ --color-surface-100: hsl(348.5714 63.6364% 93.5294%);
+ --color-surface-200: hsl(351.4286 66.6667% 91.7647%);
+ --color-surface-300: hsl(349.7143 66.0377% 89.6078%);
+ surface-400: rgb(229 131 147);
+ surface-500: rgb(218 78 101);
+ surface-600: rgb(196 70 91);
+ surface-700: rgb(164 59 76);
+ surface-800: rgb(131 47 61);
+ surface-900: rgb(107 38 49);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(44.7887 73.1959% 61.9608%);
+ --color-danger: hsl(329.7638 63.8191% 60.9804%);
+ --color-primary: hsl(38.2418 82.7273% 56.8627%);
+ --color-primary-50: hsl(38.3297 81.8482% 91.8078%);
+ --color-secondary: hsl(172.9655 58.2329% 51.1765%);
+ --color-secondary-50: hsl(171.6868 59.1825% 90.8822%);
+ --color-accent: hsl(84.2697 58.1699% 70%);
+ --color-accent-50: hsl(86.6928 60.0216% 94.4134%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.5261 74.3486% 92.7374%);
+ --color-danger-50: hsl(330.0542 65.1822% 92.5558%);
+}
+
+[data-theme="sahara-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(38.3333 81.8182% 91.3725%);
+ --color-primary-200: hsl(38.6667 81.8182% 89.2157%);
+ --color-primary-300: hsl(38.3333 81.8182% 82.7451%);
+ --color-primary-400: hsl(38.4375 83.1169% 69.8039%);
+ --color-primary-500: hsl(38.2418 82.7273% 56.8627%);
+ --color-primary-600: hsl(38.2822 65.4618% 51.1765%);
+ --color-primary-700: hsl(38.3824 62.3853% 42.7451%);
+ --color-primary-800: hsl(38.1818 63.2184% 34.1176%);
+ --color-primary-900: hsl(38 63.3803% 27.8431%);
+ --color-secondary-100: hsl(171.7241 59.1837% 90.3922%);
+ --color-secondary-200: hsl(173.3333 58.0645% 87.8431%);
+ --color-secondary-300: hsl(172.7586 58% 80.3922%);
+ --color-secondary-400: hsl(172.9412 58.6207% 65.8824%);
+ --color-secondary-500: hsl(172.9655 58.2329% 51.1765%);
+ --color-secondary-600: hsl(172.6718 55.7447% 46.0784%);
+ --color-secondary-700: hsl(173.3333 55.102% 38.4314%);
+ --color-secondary-800: hsl(173.1034 55.414% 30.7843%);
+ --color-secondary-900: hsl(173.2394 55.9055% 24.902%);
+ --color-accent-100: hsl(86.6667 60% 94.1176%);
+ --color-accent-200: hsl(84.5455 57.8947% 92.549%);
+ --color-accent-300: hsl(84 57.377% 88.0392%);
+ --color-accent-400: hsl(84.7619 58.8785% 79.0196%);
+ --color-accent-500: hsl(84.2697 58.1699% 70%);
+ --color-accent-600: hsl(84.75 42.5532% 63.1373%);
+ --color-accent-700: hsl(84.5455 27.2727% 52.549%);
+ --color-accent-800: hsl(84.4444 25.2336% 41.9608%);
+ --color-accent-900: hsl(83.7209 24.5714% 34.3137%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.5172 74.359% 92.3529%);
+ --color-warning-200: hsl(45 75% 90.5882%);
+ --color-warning-300: hsl(44.2105 74.026% 84.902%);
+ --color-warning-400: hsl(45 73.5294% 73.3333%);
+ --color-warning-500: hsl(44.7887 73.1959% 61.9608%);
+ --color-warning-600: hsl(45 56.6372% 55.6863%);
+ --color-warning-700: hsl(44.8598 45.1477% 46.4706%);
+ --color-warning-800: hsl(45.1765 44.9735% 37.0588%);
+ --color-warning-900: hsl(45.2174 44.5161% 30.3922%);
+ --color-danger-100: hsl(330 65% 92.1569%);
+ --color-danger-200: hsl(330 64% 90.1961%);
+ --color-danger-300: hsl(330.5882 64.557% 84.5098%);
+ --color-danger-400: hsl(329.6629 64.0288% 72.7451%);
+ --color-danger-500: hsl(329.7638 63.8191% 60.9804%);
+ --color-danger-600: hsl(330 49.5652% 54.902%);
+ --color-danger-700: hsl(329.6842 40.7725% 45.6863%);
+ --color-danger-800: hsl(329.2105 40.8602% 36.4706%);
+ --color-danger-900: hsl(330 40.7895% 29.8039%);
+ --color-surface-100: hsl(350.2857 47.0852% 43.7255%);
+ --color-surface-200: hsl(350 47.191% 34.902%);
+ --color-surface-300: hsl(350.4348 47.5862% 28.4314%);
+ surface-400: rgb(229 131 147);
+ surface-500: rgb(218 78 101);
+ surface-600: rgb(196 70 91);
+ surface-700: rgb(164 59 76);
+ surface-800: rgb(131 47 61);
+ surface-900: rgb(107 38 49);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(44.7887 73.1959% 61.9608%);
+ --color-danger: hsl(329.7638 63.8191% 60.9804%);
+ --color-primary: hsl(38.2418 82.7273% 56.8627%);
+ --color-primary-50: hsl(38.3297 81.8482% 91.8078%);
+ --color-secondary: hsl(172.9655 58.2329% 51.1765%);
+ --color-secondary-50: hsl(171.6868 59.1825% 90.8822%);
+ --color-accent: hsl(84.2697 58.1699% 70%);
+ --color-accent-50: hsl(86.6928 60.0216% 94.4134%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.5261 74.3486% 92.7374%);
+ --color-danger-50: hsl(330.0542 65.1822% 92.5558%);
+}
+
+[data-theme="hamlindigo"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 100%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(222.8571 70% 96.0784%);
+ --color-primary-200: hsl(221.0526 76% 95.098%);
+ --color-primary-300: hsl(221.3793 70.7317% 91.9608%);
+ --color-primary-400: hsl(221.1765 71.831% 86.0784%);
+ --color-primary-500: hsl(221.9178 72.2772% 80.1961%);
+ --color-primary-600: hsl(221.8182 46.4789% 72.1569%);
+ --color-primary-700: hsl(221.4545 27.0936% 60.1961%);
+ --color-primary-800: hsl(222.2727 17.8862% 48.2353%);
+ --color-primary-900: hsl(221.6667 18% 39.2157%);
+ --color-secondary-100: hsl(40 29.4118% 90%);
+ --color-secondary-200: hsl(43.3333 28.125% 87.451%);
+ --color-secondary-300: hsl(42 29.4118% 80%);
+ --color-secondary-400: hsl(42.3529 28.4916% 64.902%);
+ --color-secondary-500: hsl(41.9178 28.6275% 50%);
+ --color-secondary-600: hsl(41.8182 28.6957% 45.098%);
+ --color-secondary-700: hsl(42.5455 28.7958% 37.451%);
+ --color-secondary-800: hsl(41.8605 28.1046% 30%);
+ --color-secondary-900: hsl(42.8571 28% 24.5098%);
+ --color-accent-100: hsl(192.8571 28% 90.1961%);
+ --color-accent-200: hsl(191.25 25.8065% 87.8431%);
+ --color-accent-300: hsl(191.5385 26% 80.3922%);
+ --color-accent-400: hsl(191.4894 26.8571% 65.6863%);
+ --color-accent-500: hsl(190.9091 26.4% 50.9804%);
+ --color-accent-600: hsl(191 25.641% 45.8824%);
+ --color-accent-700: hsl(191.0204 25.1282% 38.2353%);
+ --color-accent-800: hsl(190.5 25.641% 30.5882%);
+ --color-accent-900: hsl(191.25 25% 25.098%);
+ --color-success-100: hsl(161.25 27.5862% 88.6275%);
+ --color-success-200: hsl(164.2105 26.0274% 85.6863%);
+ --color-success-300: hsl(162.5806 26.4957% 77.0588%);
+ --color-success-400: hsl(162.2222 26.4706% 60%);
+ --color-success-500: hsl(162.0779 35.1598% 42.9412%);
+ --color-success-600: hsl(162.6087 35.0254% 38.6275%);
+ --color-success-700: hsl(162.4138 35.3659% 32.1569%);
+ --color-success-800: hsl(161.7391 34.8485% 25.8824%);
+ --color-success-900: hsl(161.0526 35.1852% 21.1765%);
+ --color-warning-100: hsl(41.25 69.5652% 90.9804%);
+ --color-warning-200: hsl(41.5385 68.4211% 88.8235%);
+ --color-warning-300: hsl(41.6129 67.3913% 81.9608%);
+ --color-warning-400: hsl(41.2844 67.7019% 68.4314%);
+ --color-warning-500: hsl(41.1538 67.8261% 54.902%);
+ --color-warning-600: hsl(41.1429 55.5556% 49.4118%);
+ --color-warning-700: hsl(41.0256 55.4502% 41.3725%);
+ --color-warning-800: hsl(40.8511 55.9524% 32.9412%);
+ --color-warning-900: hsl(41.2987 56.2044% 26.8627%);
+ --color-danger-100: hsl(341.5385 25.4902% 90%);
+ --color-danger-200: hsl(341.25 25.8065% 87.8431%);
+ --color-danger-300: hsl(341.5385 26% 80.3922%);
+ --color-danger-400: hsl(341.7391 26.1364% 65.4902%);
+ --color-danger-500: hsl(341.5385 25.8964% 50.7843%);
+ --color-danger-600: hsl(341.6949 25.3219% 45.6863%);
+ --color-danger-700: hsl(341.6327 25.1282% 38.2353%);
+ --color-danger-800: hsl(341.5385 25.1613% 30.3922%);
+ --color-danger-900: hsl(342.5806 24.4094% 24.902%);
+ --color-surface-100: hsl(226.6667 24.3243% 92.7451%);
+ --color-surface-200: hsl(221.5385 26.5306% 90.3922%);
+ --color-surface-300: hsl(221.25 25.8065% 87.8431%);
+ surface-400: rgb(146 159 191);
+ surface-500: rgb(99 118 163);
+ surface-600: rgb(89 106 147);
+ surface-700: rgb(74 89 122);
+ surface-800: rgb(59 71 98);
+ surface-900: rgb(49 58 80);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(162.0779 35.1598% 42.9412%);
+ --color-warning: hsl(41.1538 67.8261% 54.902%);
+ --color-danger: hsl(341.5385 25.8964% 50.7843%);
+ --color-primary: hsl(221.9178 72.2772% 80.1961%);
+ --color-primary-50: hsl(222.8528 70.0572% 96.2746%);
+ --color-secondary: hsl(41.9178 28.6275% 50%);
+ --color-secondary-50: hsl(40.0008 29.4184% 90.4964%);
+ --color-accent: hsl(190.9091 26.4% 50.9804%);
+ --color-accent-50: hsl(192.8593 28.0029% 90.6835%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(161.2189 27.5849% 89.1941%);
+ --color-warning-50: hsl(41.2516 69.5712% 91.4334%);
+ --color-danger-50: hsl(341.5628 25.5286% 90.4978%);
+}
+
+[data-theme="hamlindigo-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 100%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(222.8571 70% 96.0784%);
+ --color-primary-200: hsl(221.0526 76% 95.098%);
+ --color-primary-300: hsl(221.3793 70.7317% 91.9608%);
+ --color-primary-400: hsl(221.1765 71.831% 86.0784%);
+ --color-primary-500: hsl(221.9178 72.2772% 80.1961%);
+ --color-primary-600: hsl(221.8182 46.4789% 72.1569%);
+ --color-primary-700: hsl(221.4545 27.0936% 60.1961%);
+ --color-primary-800: hsl(222.2727 17.8862% 48.2353%);
+ --color-primary-900: hsl(221.6667 18% 39.2157%);
+ --color-secondary-100: hsl(40 29.4118% 90%);
+ --color-secondary-200: hsl(43.3333 28.125% 87.451%);
+ --color-secondary-300: hsl(42 29.4118% 80%);
+ --color-secondary-400: hsl(42.3529 28.4916% 64.902%);
+ --color-secondary-500: hsl(41.9178 28.6275% 50%);
+ --color-secondary-600: hsl(41.8182 28.6957% 45.098%);
+ --color-secondary-700: hsl(42.5455 28.7958% 37.451%);
+ --color-secondary-800: hsl(41.8605 28.1046% 30%);
+ --color-secondary-900: hsl(42.8571 28% 24.5098%);
+ --color-accent-100: hsl(192.8571 28% 90.1961%);
+ --color-accent-200: hsl(191.25 25.8065% 87.8431%);
+ --color-accent-300: hsl(191.5385 26% 80.3922%);
+ --color-accent-400: hsl(191.4894 26.8571% 65.6863%);
+ --color-accent-500: hsl(190.9091 26.4% 50.9804%);
+ --color-accent-600: hsl(191 25.641% 45.8824%);
+ --color-accent-700: hsl(191.0204 25.1282% 38.2353%);
+ --color-accent-800: hsl(190.5 25.641% 30.5882%);
+ --color-accent-900: hsl(191.25 25% 25.098%);
+ --color-success-100: hsl(161.25 27.5862% 88.6275%);
+ --color-success-200: hsl(164.2105 26.0274% 85.6863%);
+ --color-success-300: hsl(162.5806 26.4957% 77.0588%);
+ --color-success-400: hsl(162.2222 26.4706% 60%);
+ --color-success-500: hsl(162.0779 35.1598% 42.9412%);
+ --color-success-600: hsl(162.6087 35.0254% 38.6275%);
+ --color-success-700: hsl(162.4138 35.3659% 32.1569%);
+ --color-success-800: hsl(161.7391 34.8485% 25.8824%);
+ --color-success-900: hsl(161.0526 35.1852% 21.1765%);
+ --color-warning-100: hsl(41.25 69.5652% 90.9804%);
+ --color-warning-200: hsl(41.5385 68.4211% 88.8235%);
+ --color-warning-300: hsl(41.6129 67.3913% 81.9608%);
+ --color-warning-400: hsl(41.2844 67.7019% 68.4314%);
+ --color-warning-500: hsl(41.1538 67.8261% 54.902%);
+ --color-warning-600: hsl(41.1429 55.5556% 49.4118%);
+ --color-warning-700: hsl(41.0256 55.4502% 41.3725%);
+ --color-warning-800: hsl(40.8511 55.9524% 32.9412%);
+ --color-warning-900: hsl(41.2987 56.2044% 26.8627%);
+ --color-danger-100: hsl(341.5385 25.4902% 90%);
+ --color-danger-200: hsl(341.25 25.8065% 87.8431%);
+ --color-danger-300: hsl(341.5385 26% 80.3922%);
+ --color-danger-400: hsl(341.7391 26.1364% 65.4902%);
+ --color-danger-500: hsl(341.5385 25.8964% 50.7843%);
+ --color-danger-600: hsl(341.6949 25.3219% 45.6863%);
+ --color-danger-700: hsl(341.6327 25.1282% 38.2353%);
+ --color-danger-800: hsl(341.5385 25.1613% 30.3922%);
+ --color-danger-900: hsl(342.5806 24.4094% 24.902%);
+ --color-surface-100: hsl(221.25 24.4898% 38.4314%);
+ --color-surface-200: hsl(221.5385 24.8408% 30.7843%);
+ --color-surface-300: hsl(222.5806 24.031% 25.2941%);
+ surface-400: rgb(146 159 191);
+ surface-500: rgb(99 118 163);
+ surface-600: rgb(89 106 147);
+ surface-700: rgb(74 89 122);
+ surface-800: rgb(59 71 98);
+ surface-900: rgb(49 58 80);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(162.0779 35.1598% 42.9412%);
+ --color-warning: hsl(41.1538 67.8261% 54.902%);
+ --color-danger: hsl(341.5385 25.8964% 50.7843%);
+ --color-primary: hsl(221.9178 72.2772% 80.1961%);
+ --color-primary-50: hsl(222.8528 70.0572% 96.2746%);
+ --color-secondary: hsl(41.9178 28.6275% 50%);
+ --color-secondary-50: hsl(40.0008 29.4184% 90.4964%);
+ --color-accent: hsl(190.9091 26.4% 50.9804%);
+ --color-accent-50: hsl(192.8593 28.0029% 90.6835%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(161.2189 27.5849% 89.1941%);
+ --color-warning-50: hsl(41.2516 69.5712% 91.4334%);
+ --color-danger-50: hsl(341.5628 25.5286% 90.4978%);
+}
+
+[data-theme="gold-nouveau"] {
+ --color-primary-content: hsl(0 0% 100%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(266.6667 36% 95.098%);
+ --color-primary-200: hsl(268.4211 37.2549% 90%);
+ --color-primary-300: hsl(270 36.9565% 81.9608%);
+ --color-primary-400: hsl(269.1176 36.9565% 63.9216%);
+ --color-primary-500: hsl(268.9655 37.0213% 46.0784%);
+ --color-primary-600: hsl(269.0323 36.9048% 32.9412%);
+ --color-primary-700: hsl(268 36.5854% 24.1176%);
+ --color-primary-800: hsl(268.8889 38.0282% 13.9216%);
+ --color-primary-900: hsl(272.3077 37.1429% 6.8627%);
+ --color-secondary-100: hsl(210.6667 81.8182% 89.2157%);
+ --color-secondary-200: hsl(211.0714 82.3529% 86.6667%);
+ --color-secondary-300: hsl(210.6667 81.8182% 78.4314%);
+ --color-secondary-400: hsl(211.1538 81.25% 62.3529%);
+ --color-secondary-500: hsl(210.9417 94.8936% 46.0784%);
+ --color-secondary-600: hsl(210.7463 95.2607% 41.3725%);
+ --color-secondary-700: hsl(210.8982 94.3503% 34.7059%);
+ --color-secondary-800: hsl(211.1278 94.3262% 27.6471%);
+ --color-secondary-900: hsl(210.8257 94.7826% 22.549%);
+ --color-accent-100: hsl(243 58.8235% 93.3333%);
+ --color-accent-200: hsl(244.6154 61.9048% 91.7647%);
+ --color-accent-300: hsl(244.5 58.8235% 86.6667%);
+ --color-accent-400: hsl(243.4286 59.322% 76.8627%);
+ --color-accent-500: hsl(244.1584 59.7633% 66.8627%);
+ --color-accent-600: hsl(243.956 44.8276% 60.1961%);
+ --color-accent-700: hsl(243.9474 29.9213% 50.1961%);
+ --color-accent-800: hsl(243.9344 29.7561% 40.1961%);
+ --color-accent-900: hsl(243.6735 29.3413% 32.7451%);
+ --color-success-100: hsl(135 40% 92.1569%);
+ --color-success-200: hsl(134.2857 42.8571% 90.3922%);
+ --color-success-300: hsl(132.7273 41.7722% 84.5098%);
+ --color-success-400: hsl(134.4828 41.4286% 72.549%);
+ --color-success-500: hsl(133.7349 41.7085% 60.9804%);
+ --color-success-600: hsl(133.7838 32.1739% 54.902%);
+ --color-success-700: hsl(133.5484 26.4957% 45.8824%);
+ --color-success-800: hsl(134.4 26.8817% 36.4706%);
+ --color-success-900: hsl(133.1707 26.7974% 30%);
+ --color-warning-100: hsl(31.3636 81.4815% 89.4118%);
+ --color-warning-200: hsl(32.1429 82.3529% 86.6667%);
+ --color-warning-300: hsl(32.3596 81.6514% 78.6275%);
+ --color-warning-400: hsl(31.9231 82.1053% 62.7451%);
+ --color-warning-500: hsl(32.0179 93.3054% 46.8627%);
+ --color-warning-600: hsl(31.9403 93.4884% 42.1569%);
+ --color-warning-700: hsl(31.976 93.2961% 35.098%);
+ --color-warning-800: hsl(31.791 93.0556% 28.2353%);
+ --color-warning-900: hsl(31.9266 93.1624% 22.9412%);
+ --color-danger-100: hsl(350.7692 37.1429% 86.2745%);
+ --color-danger-200: hsl(350.625 36.3636% 82.7451%);
+ --color-danger-300: hsl(350.5882 36.1702% 72.3529%);
+ --color-danger-400: hsl(351.3333 36.5854% 51.7647%);
+ --color-danger-500: hsl(351.0938 81.0127% 30.9804%);
+ --color-danger-600: hsl(351.1304 80.4196% 28.0392%);
+ --color-danger-700: hsl(350.625 81.3559% 23.1373%);
+ --color-danger-800: hsl(351.4286 81.0526% 18.6275%);
+ --color-danger-900: hsl(350.4762 81.8182% 15.098%);
+ --color-surface-100: hsl(270 40% 98.0392%);
+ --color-surface-200: hsl(266.6667 36% 95.098%);
+ --color-surface-300: hsl(268.4211 37.2549% 90%);
+ surface-400: rgb(162 129 197);
+ surface-500: rgb(116 74 161);
+ surface-600: rgb(83 53 115);
+ surface-700: rgb(60 39 84);
+ surface-800: rgb(35 22 49);
+ surface-900: rgb(18 11 24);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(133.7349 41.7085% 60.9804%);
+ --color-warning: hsl(32.0179 93.3054% 46.8627%);
+ --color-danger: hsl(351.0938 81.0127% 30.9804%);
+ --color-primary: hsl(268.9655 37.0213% 46.0784%);
+ --color-primary-50: hsl(266.6537 36.0218% 95.3428%);
+ --color-secondary: hsl(210.9417 94.8936% 46.0784%);
+ --color-secondary-50: hsl(210.6786 81.9499% 89.7608%);
+ --color-accent: hsl(244.1584 59.7633% 66.8627%);
+ --color-accent-50: hsl(242.9607 58.9204% 93.669%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(134.964 40.0072% 92.55%);
+ --color-warning-50: hsl(31.3488 81.5757% 89.9476%);
+ --color-danger-50: hsl(350.8113 37.2561% 86.9627%);
+}
+
+[data-theme="gold-nouveau-dark"] {
+ --color-primary-content: hsl(0 0% 100%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(266.6667 36% 95.098%);
+ --color-primary-200: hsl(268.4211 37.2549% 90%);
+ --color-primary-300: hsl(270 36.9565% 81.9608%);
+ --color-primary-400: hsl(269.1176 36.9565% 63.9216%);
+ --color-primary-500: hsl(268.9655 37.0213% 46.0784%);
+ --color-primary-600: hsl(269.0323 36.9048% 32.9412%);
+ --color-primary-700: hsl(268 36.5854% 24.1176%);
+ --color-primary-800: hsl(268.8889 38.0282% 13.9216%);
+ --color-primary-900: hsl(272.3077 37.1429% 6.8627%);
+ --color-secondary-100: hsl(210.6667 81.8182% 89.2157%);
+ --color-secondary-200: hsl(211.0714 82.3529% 86.6667%);
+ --color-secondary-300: hsl(210.6667 81.8182% 78.4314%);
+ --color-secondary-400: hsl(211.1538 81.25% 62.3529%);
+ --color-secondary-500: hsl(210.9417 94.8936% 46.0784%);
+ --color-secondary-600: hsl(210.7463 95.2607% 41.3725%);
+ --color-secondary-700: hsl(210.8982 94.3503% 34.7059%);
+ --color-secondary-800: hsl(211.1278 94.3262% 27.6471%);
+ --color-secondary-900: hsl(210.8257 94.7826% 22.549%);
+ --color-accent-100: hsl(243 58.8235% 93.3333%);
+ --color-accent-200: hsl(244.6154 61.9048% 91.7647%);
+ --color-accent-300: hsl(244.5 58.8235% 86.6667%);
+ --color-accent-400: hsl(243.4286 59.322% 76.8627%);
+ --color-accent-500: hsl(244.1584 59.7633% 66.8627%);
+ --color-accent-600: hsl(243.956 44.8276% 60.1961%);
+ --color-accent-700: hsl(243.9474 29.9213% 50.1961%);
+ --color-accent-800: hsl(243.9344 29.7561% 40.1961%);
+ --color-accent-900: hsl(243.6735 29.3413% 32.7451%);
+ --color-success-100: hsl(135 40% 92.1569%);
+ --color-success-200: hsl(134.2857 42.8571% 90.3922%);
+ --color-success-300: hsl(132.7273 41.7722% 84.5098%);
+ --color-success-400: hsl(134.4828 41.4286% 72.549%);
+ --color-success-500: hsl(133.7349 41.7085% 60.9804%);
+ --color-success-600: hsl(133.7838 32.1739% 54.902%);
+ --color-success-700: hsl(133.5484 26.4957% 45.8824%);
+ --color-success-800: hsl(134.4 26.8817% 36.4706%);
+ --color-success-900: hsl(133.1707 26.7974% 30%);
+ --color-warning-100: hsl(31.3636 81.4815% 89.4118%);
+ --color-warning-200: hsl(32.1429 82.3529% 86.6667%);
+ --color-warning-300: hsl(32.3596 81.6514% 78.6275%);
+ --color-warning-400: hsl(31.9231 82.1053% 62.7451%);
+ --color-warning-500: hsl(32.0179 93.3054% 46.8627%);
+ --color-warning-600: hsl(31.9403 93.4884% 42.1569%);
+ --color-warning-700: hsl(31.976 93.2961% 35.098%);
+ --color-warning-800: hsl(31.791 93.0556% 28.2353%);
+ --color-warning-900: hsl(31.9266 93.1624% 22.9412%);
+ --color-danger-100: hsl(350.7692 37.1429% 86.2745%);
+ --color-danger-200: hsl(350.625 36.3636% 82.7451%);
+ --color-danger-300: hsl(350.5882 36.1702% 72.3529%);
+ --color-danger-400: hsl(351.3333 36.5854% 51.7647%);
+ --color-danger-500: hsl(351.0938 81.0127% 30.9804%);
+ --color-danger-600: hsl(351.1304 80.4196% 28.0392%);
+ --color-danger-700: hsl(350.625 81.3559% 23.1373%);
+ --color-danger-800: hsl(351.4286 81.0526% 18.6275%);
+ --color-danger-900: hsl(350.4762 81.8182% 15.098%);
+ --color-surface-100: hsl(268 36.5854% 24.1176%);
+ --color-surface-200: hsl(268.8889 38.0282% 13.9216%);
+ --color-surface-300: hsl(272.3077 37.1429% 6.8627%);
+ surface-400: rgb(162 129 197);
+ surface-500: rgb(116 74 161);
+ surface-600: rgb(83 53 115);
+ surface-700: rgb(60 39 84);
+ surface-800: rgb(35 22 49);
+ surface-900: rgb(18 11 24);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(133.7349 41.7085% 60.9804%);
+ --color-warning: hsl(32.0179 93.3054% 46.8627%);
+ --color-danger: hsl(351.0938 81.0127% 30.9804%);
+ --color-primary: hsl(268.9655 37.0213% 46.0784%);
+ --color-primary-50: hsl(266.6537 36.0218% 95.3428%);
+ --color-secondary: hsl(210.9417 94.8936% 46.0784%);
+ --color-secondary-50: hsl(210.6786 81.9499% 89.7608%);
+ --color-accent: hsl(244.1584 59.7633% 66.8627%);
+ --color-accent-50: hsl(242.9607 58.9204% 93.669%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(134.964 40.0072% 92.55%);
+ --color-warning-50: hsl(31.3488 81.5757% 89.9476%);
+ --color-danger-50: hsl(350.8113 37.2561% 86.9627%);
+}
diff --git a/packages/tailwind/src/lib/css/themes/generated/daisy.css b/packages/tailwind/src/lib/css/themes/generated/daisy.css
new file mode 100644
index 0000000..bd5da58
--- /dev/null
+++ b/packages/tailwind/src/lib/css/themes/generated/daisy.css
@@ -0,0 +1,3609 @@
+:root {
+ color-scheme: light;
+ --color-primary: hsl(257.4075 100% 50%);
+ --color-secondary: hsl(310.4453 100% 50%);
+ --color-secondary-content: hsl(320.0789 100% 98.6494%);
+ --color-accent: hsl(173.4835 100% 42.1865%);
+ --color-neutral: hsl(214.2857 19.6262% 20.9804%);
+ --color-neutral-content: hsl(212.3077 19.403% 86.8627%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(0 0% 94.902%);
+ --color-surface-300: hsl(180 1.9608% 90%);
+ --color-surface-content: hsl(215 27.907% 16.8627%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(227.6647 100% 91.0748%);
+ --color-primary-50: hsl(232.3457 100% 76.8157%);
+ --color-primary-100: hsl(233.4035 100% 74.9896%);
+ --color-primary-200: hsl(236.0867 100% 71.5789%);
+ --color-primary-300: hsl(239.9818 100% 68.5879%);
+ --color-primary-400: hsl(245.7714 100% 62.5712%);
+ --color-primary-500: hsl(257.4075 100% 50%);
+ --color-primary-600: hsl(256.3942 100% 45.2974%);
+ --color-primary-700: hsl(255.9702 100% 38.7195%);
+ --color-primary-800: hsl(255.3947 100% 32.3445%);
+ --color-primary-900: hsl(254.5739 100% 26.1938%);
+ --color-secondary-50: hsl(312.9534 100% 79.1139%);
+ --color-secondary-100: hsl(312.8775 100% 76.9231%);
+ --color-secondary-200: hsl(312.6258 100% 72.1652%);
+ --color-secondary-300: hsl(312.1478 100% 66.4927%);
+ --color-secondary-400: hsl(311.0379 100% 57.9643%);
+ --color-secondary-500: hsl(310.4453 100% 50%);
+ --color-secondary-600: hsl(314.516 100% 47.3052%);
+ --color-secondary-700: hsl(314.6511 100% 40.4525%);
+ --color-secondary-800: hsl(314.8343 100% 33.8111%);
+ --color-secondary-900: hsl(315.0952 100% 27.4033%);
+ --color-accent-content: hsl(168.722 100% 3.2602%);
+ --color-accent-50: hsl(171.3855 72.5307% 71.4464%);
+ --color-accent-100: hsl(171.7771 72.9012% 68.0855%);
+ --color-accent-200: hsl(172.7542 74.2685% 59.9573%);
+ --color-accent-300: hsl(174.6018 100% 43.9907%);
+ --color-accent-400: hsl(174.0311 100% 43.1035%);
+ --color-accent-500: hsl(173.4835 100% 42.1865%);
+ --color-accent-600: hsl(173.4232 100% 36.6415%);
+ --color-accent-700: hsl(173.3439 100% 31.2487%);
+ --color-accent-800: hsl(173.2358 100% 26.0221%);
+ --color-accent-900: hsl(173.0804 100% 20.9795%);
+ --color-neutral-50: hsl(214.3814 5.8279% 54.0221%);
+ --color-neutral-100: hsl(214.3741 5.7772% 50.1155%);
+ --color-neutral-200: hsl(214.3577 7.6767% 42.4628%);
+ --color-neutral-300: hsl(214.3385 10.2652% 35.04%);
+ --color-neutral-400: hsl(214.3153 13.944% 27.8698%);
+ --color-neutral-500: hsl(214.2857 19.6262% 20.9804%);
+ --color-neutral-600: hsl(214.2857 20.3782% 17.7128%);
+ --color-neutral-700: hsl(214.2857 21.4338% 14.5349%);
+ --color-neutral-800: hsl(214.2857 23.0159% 11.455%);
+ --color-neutral-900: hsl(214.2857 25.6311% 8.4834%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ color-scheme: dark;
+ --color-primary: hsl(234.8208 100% 72.6713%);
+ --color-secondary: hsl(313.3209 100% 66.1653%);
+ --color-accent: hsl(173.7346 100% 40.1728%);
+ --color-neutral: hsl(213.3333 17.6471% 20%);
+ --color-neutral-content: hsl(220 13.3758% 69.2157%);
+ --color-surface-100: hsl(212.3077 18.3099% 13.9216%);
+ --color-surface-200: hsl(212.7273 18.0328% 11.9608%);
+ --color-surface-300: hsl(213.3333 17.6471% 10%);
+ --color-surface-content: hsl(220 13.3758% 69.2157%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(236.4483 66.7205% 5.3866%);
+ --color-primary-50: hsl(229.7915 100% 84.0735%);
+ --color-primary-100: hsl(230.1859 100% 82.7145%);
+ --color-primary-200: hsl(231.0667 100% 80.0547%);
+ --color-primary-300: hsl(232.0983 100% 77.4828%);
+ --color-primary-400: hsl(233.327 100% 75.0147%);
+ --color-primary-500: hsl(234.8208 100% 72.6713%);
+ --color-primary-600: hsl(235.0704 70.3808% 64.2382%);
+ --color-primary-700: hsl(235.0704 47.9454% 54.6908%);
+ --color-primary-800: hsl(235.0704 40.46% 45.4378%);
+ --color-primary-900: hsl(235.0704 41.5282% 36.5104%);
+ --color-secondary-content: hsl(320.8908 83.2641% 5.2689%);
+ --color-secondary-50: hsl(314.3395 100% 83.432%);
+ --color-secondary-100: hsl(314.31 100% 81.8013%);
+ --color-secondary-200: hsl(314.212 100% 78.4165%);
+ --color-secondary-300: hsl(314.0445 100% 74.8016%);
+ --color-secondary-400: hsl(313.7722 100% 70.8191%);
+ --color-secondary-500: hsl(313.3209 100% 66.1653%);
+ --color-secondary-600: hsl(318.1553 84.2932% 60.7486%);
+ --color-secondary-700: hsl(318.1553 59.0977% 51.679%);
+ --color-secondary-800: hsl(318.1553 56.347% 42.889%);
+ --color-secondary-900: hsl(318.1553 57.9256% 34.4083%);
+ --color-accent-content: hsl(168.7443 100% 2.9908%);
+ --color-accent-50: hsl(171.1098 64.2687% 71.4638%);
+ --color-accent-100: hsl(171.4554 64.6409% 68.3324%);
+ --color-accent-200: hsl(172.2753 65.8475% 61.2424%);
+ --color-accent-300: hsl(173.5236 68.6512% 51.112%);
+ --color-accent-400: hsl(174.292 100% 41.2676%);
+ --color-accent-500: hsl(173.7346 100% 40.1728%);
+ --color-accent-600: hsl(173.6737 100% 34.8763%);
+ --color-accent-700: hsl(173.5935 100% 29.7251%);
+ --color-accent-800: hsl(173.484 100% 24.7328%);
+ --color-accent-900: hsl(173.3263 100% 19.9161%);
+ --color-neutral-50: hsl(213.4653 4.9421% 53.3722%);
+ --color-neutral-100: hsl(213.4565 5.0146% 49.4173%);
+ --color-neutral-200: hsl(213.4361 6.723% 41.6751%);
+ --color-neutral-300: hsl(213.4108 9.0416% 34.1738%);
+ --color-neutral-400: hsl(213.3782 12.3819% 26.9382%);
+ --color-neutral-500: hsl(213.3333 17.6471% 20%);
+ --color-neutral-600: hsl(213.3333 18.3577% 16.8534%);
+ --color-neutral-700: hsl(213.3333 19.3599% 13.7931%);
+ --color-neutral-800: hsl(213.3333 20.8717% 10.8272%);
+ --color-neutral-900: hsl(213.3333 23.3974% 7.9657%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ }
+}
+
+[data-theme="light"] {
+ color-scheme: light;
+ --color-primary: hsl(257.4075 100% 50%);
+ --color-secondary: hsl(310.4453 100% 50%);
+ --color-secondary-content: hsl(320.0789 100% 98.6494%);
+ --color-accent: hsl(173.4835 100% 42.1865%);
+ --color-neutral: hsl(214.2857 19.6262% 20.9804%);
+ --color-neutral-content: hsl(212.3077 19.403% 86.8627%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(0 0% 94.902%);
+ --color-surface-300: hsl(180 1.9608% 90%);
+ --color-surface-content: hsl(215 27.907% 16.8627%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(227.6647 100% 91.0748%);
+ --color-primary-50: hsl(232.3457 100% 76.8157%);
+ --color-primary-100: hsl(233.4035 100% 74.9896%);
+ --color-primary-200: hsl(236.0867 100% 71.5789%);
+ --color-primary-300: hsl(239.9818 100% 68.5879%);
+ --color-primary-400: hsl(245.7714 100% 62.5712%);
+ --color-primary-500: hsl(257.4075 100% 50%);
+ --color-primary-600: hsl(256.3942 100% 45.2974%);
+ --color-primary-700: hsl(255.9702 100% 38.7195%);
+ --color-primary-800: hsl(255.3947 100% 32.3445%);
+ --color-primary-900: hsl(254.5739 100% 26.1938%);
+ --color-secondary-50: hsl(312.9534 100% 79.1139%);
+ --color-secondary-100: hsl(312.8775 100% 76.9231%);
+ --color-secondary-200: hsl(312.6258 100% 72.1652%);
+ --color-secondary-300: hsl(312.1478 100% 66.4927%);
+ --color-secondary-400: hsl(311.0379 100% 57.9643%);
+ --color-secondary-500: hsl(310.4453 100% 50%);
+ --color-secondary-600: hsl(314.516 100% 47.3052%);
+ --color-secondary-700: hsl(314.6511 100% 40.4525%);
+ --color-secondary-800: hsl(314.8343 100% 33.8111%);
+ --color-secondary-900: hsl(315.0952 100% 27.4033%);
+ --color-accent-content: hsl(168.722 100% 3.2602%);
+ --color-accent-50: hsl(171.3855 72.5307% 71.4464%);
+ --color-accent-100: hsl(171.7771 72.9012% 68.0855%);
+ --color-accent-200: hsl(172.7542 74.2685% 59.9573%);
+ --color-accent-300: hsl(174.6018 100% 43.9907%);
+ --color-accent-400: hsl(174.0311 100% 43.1035%);
+ --color-accent-500: hsl(173.4835 100% 42.1865%);
+ --color-accent-600: hsl(173.4232 100% 36.6415%);
+ --color-accent-700: hsl(173.3439 100% 31.2487%);
+ --color-accent-800: hsl(173.2358 100% 26.0221%);
+ --color-accent-900: hsl(173.0804 100% 20.9795%);
+ --color-neutral-50: hsl(214.3814 5.8279% 54.0221%);
+ --color-neutral-100: hsl(214.3741 5.7772% 50.1155%);
+ --color-neutral-200: hsl(214.3577 7.6767% 42.4628%);
+ --color-neutral-300: hsl(214.3385 10.2652% 35.04%);
+ --color-neutral-400: hsl(214.3153 13.944% 27.8698%);
+ --color-neutral-500: hsl(214.2857 19.6262% 20.9804%);
+ --color-neutral-600: hsl(214.2857 20.3782% 17.7128%);
+ --color-neutral-700: hsl(214.2857 21.4338% 14.5349%);
+ --color-neutral-800: hsl(214.2857 23.0159% 11.455%);
+ --color-neutral-900: hsl(214.2857 25.6311% 8.4834%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+}
+
+[data-theme="dark"] {
+ color-scheme: dark;
+ --color-primary: hsl(234.8208 100% 72.6713%);
+ --color-secondary: hsl(313.3209 100% 66.1653%);
+ --color-accent: hsl(173.7346 100% 40.1728%);
+ --color-neutral: hsl(213.3333 17.6471% 20%);
+ --color-neutral-content: hsl(220 13.3758% 69.2157%);
+ --color-surface-100: hsl(212.3077 18.3099% 13.9216%);
+ --color-surface-200: hsl(212.7273 18.0328% 11.9608%);
+ --color-surface-300: hsl(213.3333 17.6471% 10%);
+ --color-surface-content: hsl(220 13.3758% 69.2157%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(236.4483 66.7205% 5.3866%);
+ --color-primary-50: hsl(229.7915 100% 84.0735%);
+ --color-primary-100: hsl(230.1859 100% 82.7145%);
+ --color-primary-200: hsl(231.0667 100% 80.0547%);
+ --color-primary-300: hsl(232.0983 100% 77.4828%);
+ --color-primary-400: hsl(233.327 100% 75.0147%);
+ --color-primary-500: hsl(234.8208 100% 72.6713%);
+ --color-primary-600: hsl(235.0704 70.3808% 64.2382%);
+ --color-primary-700: hsl(235.0704 47.9454% 54.6908%);
+ --color-primary-800: hsl(235.0704 40.46% 45.4378%);
+ --color-primary-900: hsl(235.0704 41.5282% 36.5104%);
+ --color-secondary-content: hsl(320.8908 83.2641% 5.2689%);
+ --color-secondary-50: hsl(314.3395 100% 83.432%);
+ --color-secondary-100: hsl(314.31 100% 81.8013%);
+ --color-secondary-200: hsl(314.212 100% 78.4165%);
+ --color-secondary-300: hsl(314.0445 100% 74.8016%);
+ --color-secondary-400: hsl(313.7722 100% 70.8191%);
+ --color-secondary-500: hsl(313.3209 100% 66.1653%);
+ --color-secondary-600: hsl(318.1553 84.2932% 60.7486%);
+ --color-secondary-700: hsl(318.1553 59.0977% 51.679%);
+ --color-secondary-800: hsl(318.1553 56.347% 42.889%);
+ --color-secondary-900: hsl(318.1553 57.9256% 34.4083%);
+ --color-accent-content: hsl(168.7443 100% 2.9908%);
+ --color-accent-50: hsl(171.1098 64.2687% 71.4638%);
+ --color-accent-100: hsl(171.4554 64.6409% 68.3324%);
+ --color-accent-200: hsl(172.2753 65.8475% 61.2424%);
+ --color-accent-300: hsl(173.5236 68.6512% 51.112%);
+ --color-accent-400: hsl(174.292 100% 41.2676%);
+ --color-accent-500: hsl(173.7346 100% 40.1728%);
+ --color-accent-600: hsl(173.6737 100% 34.8763%);
+ --color-accent-700: hsl(173.5935 100% 29.7251%);
+ --color-accent-800: hsl(173.484 100% 24.7328%);
+ --color-accent-900: hsl(173.3263 100% 19.9161%);
+ --color-neutral-50: hsl(213.4653 4.9421% 53.3722%);
+ --color-neutral-100: hsl(213.4565 5.0146% 49.4173%);
+ --color-neutral-200: hsl(213.4361 6.723% 41.6751%);
+ --color-neutral-300: hsl(213.4108 9.0416% 34.1738%);
+ --color-neutral-400: hsl(213.3782 12.3819% 26.9382%);
+ --color-neutral-500: hsl(213.3333 17.6471% 20%);
+ --color-neutral-600: hsl(213.3333 18.3577% 16.8534%);
+ --color-neutral-700: hsl(213.3333 19.3599% 13.7931%);
+ --color-neutral-800: hsl(213.3333 20.8717% 10.8272%);
+ --color-neutral-900: hsl(213.3333 23.3974% 7.9657%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+}
+
+[data-theme="cupcake"] {
+ color-scheme: light;
+ --color-primary: hsl(183.0303 47.3684% 59.0196%);
+ --color-secondary: hsl(338.25 71.4286% 78.0392%);
+ --color-accent: hsl(39 84.1121% 58.0392%);
+ --color-neutral: hsl(280 46.4789% 13.9216%);
+ --color-surface-100: hsl(24 33.3333% 97.0588%);
+ --color-surface-200: hsl(26.6667 21.9512% 91.9608%);
+ --color-surface-300: hsl(22.5 14.2857% 89.0196%);
+ --color-surface-content: hsl(280 46.4789% 13.9216%);
+ --rounded-btn: 1.9rem;
+ --tab-border: 2px;
+ --tab-radius: 0.7rem;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(183.592 61.9534% 3.5354%);
+ --color-primary-50: hsl(182.8135 45.0464% 78.3089%);
+ --color-primary-100: hsl(182.8508 45.1979% 76.2843%);
+ --color-primary-200: hsl(182.9191 45.5551% 72.1801%);
+ --color-primary-300: hsl(182.9757 46.0058% 67.9748%);
+ --color-primary-400: hsl(183.0156 46.5882% 63.6177%);
+ --color-primary-500: hsl(183.0303 47.3684% 59.0196%);
+ --color-primary-600: hsl(183.0303 34.7686% 51.0581%);
+ --color-primary-700: hsl(183.0303 33.9069% 43.3151%);
+ --color-primary-800: hsl(183.0303 34.7075% 35.8109%);
+ --color-primary-900: hsl(183.0303 35.8784% 28.5707%);
+ --color-secondary-content: hsl(338.3261 36.8805% 5.6774%);
+ --color-secondary-50: hsl(339.9637 77.8725% 88.3746%);
+ --color-secondary-100: hsl(339.7914 77.1042% 87.2641%);
+ --color-secondary-200: hsl(339.435 75.6078% 85.0159%);
+ --color-secondary-300: hsl(339.0611 74.1636% 82.7301%);
+ --color-secondary-400: hsl(338.667 72.7707% 80.4053%);
+ --color-secondary-500: hsl(338.25 71.4286% 78.0392%);
+ --color-secondary-600: hsl(338.25 42.6122% 67.7308%);
+ --color-secondary-700: hsl(338.25 28.0605% 57.7052%);
+ --color-secondary-800: hsl(338.25 20.9292% 47.9888%);
+ --color-secondary-900: hsl(338.25 21.4516% 38.6143%);
+ --color-accent-content: hsl(32.7716 89.276% 4.078%);
+ --color-accent-50: hsl(36.6302 84.5383% 79.2533%);
+ --color-accent-100: hsl(36.7295 84.3776% 77.2485%);
+ --color-accent-200: hsl(36.9903 84.0998% 73.1112%);
+ --color-accent-300: hsl(37.3729 83.9063% 68.7199%);
+ --color-accent-400: hsl(37.9652 83.8573% 63.8784%);
+ --color-accent-500: hsl(39 84.1121% 58.0392%);
+ --color-accent-600: hsl(39 62.1248% 50.1987%);
+ --color-accent-700: hsl(39 62.723% 42.5733%);
+ --color-accent-800: hsl(39 64.2304% 35.1831%);
+ --color-accent-900: hsl(39 66.4374% 28.053%);
+ --color-neutral-content: hsl(277.4916 8.9902% 81.0734%);
+ --color-neutral-50: hsl(277.9531 8.5356% 49.8233%);
+ --color-neutral-100: hsl(278.0513 10.0106% 45.5792%);
+ --color-neutral-200: hsl(278.2915 13.7729% 37.2757%);
+ --color-neutral-300: hsl(278.6202 19.2768% 29.2321%);
+ --color-neutral-400: hsl(279.1131 28.2712% 21.4582%);
+ --color-neutral-500: hsl(280 46.4789% 13.9216%);
+ --color-neutral-600: hsl(280 49.2159% 11.525%);
+ --color-neutral-700: hsl(280 53.2465% 9.1942%);
+ --color-neutral-800: hsl(279.7716 58.6676% 6.9821%);
+ --color-neutral-900: hsl(278.4947 63.6173% 4.9951%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+}
+
+[data-theme="bumblebee"] {
+ color-scheme: light;
+ --color-primary: hsl(51.1671 100% 50%);
+ --color-primary-content: hsl(48.6495 31.4788% 22.6077%);
+ --color-secondary: hsl(38.6454 100% 50%);
+ --color-secondary-content: hsl(34.0814 58.921% 22.9243%);
+ --color-accent: hsl(28.7938 100% 65.8965%);
+ --color-neutral: hsl(249.9215 99.0127% 6.9007%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-50: hsl(50.1329 100% 77.853%);
+ --color-primary-100: hsl(50.174 100% 75.4365%);
+ --color-primary-200: hsl(50.3764 100% 70.0218%);
+ --color-primary-300: hsl(50.8957 100% 62.9194%);
+ --color-primary-400: hsl(52.2272 100% 50%);
+ --color-primary-500: hsl(51.1671 100% 50%);
+ --color-primary-600: hsl(49.7902 100% 44.6334%);
+ --color-primary-700: hsl(49.6894 100% 38.1464%);
+ --color-primary-800: hsl(49.5526 100% 31.8595%);
+ --color-primary-900: hsl(49.3574 100% 25.7938%);
+ --color-secondary-50: hsl(35.3928 100% 77.3594%);
+ --color-secondary-100: hsl(35.514 100% 75.0514%);
+ --color-secondary-200: hsl(35.9342 100% 70.0664%);
+ --color-secondary-300: hsl(36.8072 100% 64.0955%);
+ --color-secondary-400: hsl(39.4957 100% 53.7492%);
+ --color-secondary-500: hsl(38.6454 100% 50%);
+ --color-secondary-600: hsl(36.7251 100% 45.5675%);
+ --color-secondary-700: hsl(36.5002 100% 38.9527%);
+ --color-secondary-800: hsl(36.1949 100% 32.5418%);
+ --color-secondary-900: hsl(35.7596 100% 26.3565%);
+ --color-accent-content: hsl(21.2807 83.2924% 5.0996%);
+ --color-accent-50: hsl(27.8466 100% 82.4383%);
+ --color-accent-100: hsl(27.8448 100% 80.7792%);
+ --color-accent-200: hsl(27.8857 100% 77.3881%);
+ --color-accent-300: hsl(28.0125 100% 73.8545%);
+ --color-accent-400: hsl(28.2784 100% 70.0873%);
+ --color-accent-500: hsl(28.7938 100% 65.8965%);
+ --color-accent-600: hsl(26.6421 79.7786% 59.5008%);
+ --color-accent-700: hsl(26.6421 56.4524% 50.602%);
+ --color-accent-800: hsl(26.6421 56.2193% 41.9775%);
+ --color-accent-900: hsl(26.6421 57.8295% 33.6566%);
+ --color-neutral-content: hsl(235.0933 11.0335% 79.1266%);
+ --color-neutral-50: hsl(236.3956 12.1636% 44.9745%);
+ --color-neutral-100: hsl(236.7583 14.3576% 40.3892%);
+ --color-neutral-200: hsl(237.8082 20.0825% 31.485%);
+ --color-neutral-300: hsl(239.7177 28.7822% 22.991%);
+ --color-neutral-400: hsl(243.8584 48.1176% 14.5744%);
+ --color-neutral-500: hsl(249.9215 99.0127% 6.9007%);
+ --color-neutral-600: hsl(248.7387 99.1294% 5.7048%);
+ --color-neutral-700: hsl(247.6985 99.2322% 4.5433%);
+ --color-neutral-800: hsl(246.8474 99.3165% 3.4191%);
+ --color-neutral-900: hsl(246.3091 99.3699% 2.3356%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(223.8136 0.0001% 90.851%);
+ --color-surface-300: hsl(223.8136 0% 82.4954%);
+ --color-surface-content: hsl(223.8136 0% 8.6104%);
+}
+
+[data-theme="emerald"] {
+ color-scheme: light;
+ --color-primary: hsl(141.1765 50% 60%);
+ --color-primary-content: hsl(151.1111 28.4211% 18.6275%);
+ --color-secondary: hsl(218.8776 96.0784% 60%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent: hsl(10.4895 88.8199% 68.4314%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-neutral: hsl(219.2308 20.3125% 25.098%);
+ --color-neutral-content: hsl(210 20% 98.0392%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-content: hsl(219.2308 20.3125% 25.098%);
+ --animation-btn: 0;
+ --animation-input: 0;
+ --btn-focus-scale: 1;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-50: hsl(136.9122 48.8676% 79.068%);
+ --color-primary-100: hsl(137.241 48.887% 77.0872%);
+ --color-primary-200: hsl(137.9749 48.9801% 73.057%);
+ --color-primary-300: hsl(138.8376 49.1664% 68.9068%);
+ --color-primary-400: hsl(139.8774 49.4843% 64.5848%);
+ --color-primary-500: hsl(141.1765 50% 60%);
+ --color-primary-600: hsl(141.1765 36.4625% 51.9175%);
+ --color-primary-700: hsl(141.1765 34.3462% 44.0569%);
+ --color-primary-800: hsl(141.1765 35.1432% 36.4386%);
+ --color-primary-900: hsl(141.1765 36.3078% 29.0884%);
+ --color-secondary-50: hsl(217.7582 100% 78.5099%);
+ --color-secondary-100: hsl(217.9342 100% 76.5881%);
+ --color-secondary-200: hsl(218.2972 100% 72.7424%);
+ --color-secondary-300: hsl(218.6097 99.4576% 68.7869%);
+ --color-secondary-400: hsl(218.7788 97.7141% 64.5195%);
+ --color-secondary-500: hsl(218.8776 96.0784% 60%);
+ --color-secondary-600: hsl(218.8776 70.0652% 51.9175%);
+ --color-secondary-700: hsl(218.8776 65.9986% 44.0569%);
+ --color-secondary-800: hsl(218.8776 67.53% 36.4386%);
+ --color-secondary-900: hsl(218.8776 69.7678% 29.0884%);
+ --color-accent-50: hsl(11.1276 99.7017% 83.5571%);
+ --color-accent-100: hsl(11.0807 98.3642% 81.9586%);
+ --color-accent-200: hsl(10.9696 95.7901% 78.7075%);
+ --color-accent-300: hsl(10.8343 93.3439% 75.3784%);
+ --color-accent-400: hsl(10.6739 91.0205% 71.9599%);
+ --color-accent-500: hsl(10.4895 88.8199% 68.4314%);
+ --color-accent-600: hsl(10.4895 60.4039% 59.3085%);
+ --color-accent-700: hsl(10.4895 42.8018% 50.436%);
+ --color-accent-800: hsl(10.4895 42.9118% 41.8371%);
+ --color-accent-900: hsl(10.4895 44.1451% 33.5407%);
+ --color-neutral-50: hsl(219.0029 7.5926% 56.6636%);
+ --color-neutral-100: hsl(219.0128 7.5265% 52.9589%);
+ --color-neutral-200: hsl(219.039 8.7761% 45.6856%);
+ --color-neutral-300: hsl(219.0777 11.4776% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1166% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3125% 25.098%);
+ --color-neutral-600: hsl(219.2308 20.959% 21.3223%);
+ --color-neutral-700: hsl(219.2308 21.8532% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1644% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2595% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(223.8136 0.0001% 90.851%);
+ --color-surface-300: hsl(223.8136 0% 82.4954%);
+}
+
+[data-theme="corporate"] {
+ color-scheme: light;
+ --color-primary: hsl(228.8755 100% 65.0987%);
+ --color-secondary: hsl(214.9091 26.3158% 59.0196%);
+ --color-accent: hsl(154.2 49.0196% 60%);
+ --color-neutral: hsl(233.3333 27.2727% 12.9412%);
+ --color-neutral-content: hsl(210 38.4615% 94.902%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-content: hsl(233.3333 27.2727% 12.9412%);
+ --rounded-box: 0.25rem;
+ --rounded-btn: 0.125rem;
+ --rounded-badge: 0.125rem;
+ --tab-radius: 0.25rem;
+ --animation-btn: 0;
+ --animation-input: 0;
+ --btn-focus-scale: 1;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(233.8621 84.3302% 4.8956%);
+ --color-primary-50: hsl(223.386 100% 79.6774%);
+ --color-primary-100: hsl(223.7755 100% 77.9322%);
+ --color-primary-200: hsl(224.6622 100% 74.5121%);
+ --color-primary-300: hsl(225.7388 100% 71.2051%);
+ --color-primary-400: hsl(227.0922 100% 68.0469%);
+ --color-primary-500: hsl(228.8755 100% 65.0987%);
+ --color-primary-600: hsl(229.3476 75.6093% 57.7428%);
+ --color-primary-700: hsl(229.3476 56.1811% 49.0846%);
+ --color-primary-800: hsl(229.3476 57.3484% 40.6934%);
+ --color-primary-900: hsl(229.3476 59.0442% 32.5975%);
+ --color-secondary-content: hsl(218.0454 38.1404% 3.3095%);
+ --color-secondary-50: hsl(214.9523 27.3495% 77.0969%);
+ --color-secondary-100: hsl(214.9469 27.2411% 75.0581%);
+ --color-secondary-200: hsl(214.9366 27.0194% 71.003%);
+ --color-secondary-300: hsl(214.927 26.7912% 66.9781%);
+ --color-secondary-400: hsl(214.9179 26.5566% 62.9836%);
+ --color-secondary-500: hsl(214.9091 26.3158% 59.0196%);
+ --color-secondary-600: hsl(214.9091 19.3159% 51.0581%);
+ --color-secondary-700: hsl(214.9091 18.8372% 43.3151%);
+ --color-secondary-800: hsl(214.9091 19.2819% 35.8109%);
+ --color-secondary-900: hsl(214.9091 19.9325% 28.5707%);
+ --color-accent-content: hsl(149.8793 61.5121% 3.6425%);
+ --color-accent-50: hsl(150.5849 47.4928% 79.03%);
+ --color-accent-100: hsl(150.8798 47.5557% 77.0501%);
+ --color-accent-200: hsl(151.5279 47.7361% 73.0236%);
+ --color-accent-300: hsl(152.2721 48.0103% 68.8804%);
+ --color-accent-400: hsl(153.1448 48.4163% 64.569%);
+ --color-accent-500: hsl(154.2 49.0196% 60%);
+ --color-accent-600: hsl(154.2 35.7475% 51.9175%);
+ --color-accent-700: hsl(154.2 33.6728% 44.0569%);
+ --color-accent-800: hsl(154.2 34.4541% 36.4386%);
+ --color-accent-900: hsl(154.2 35.5958% 29.0884%);
+ --color-neutral-50: hsl(231.2026 5.275% 48.6833%);
+ --color-neutral-100: hsl(231.2834 6.1879% 44.3781%);
+ --color-neutral-200: hsl(231.4942 8.5092% 35.9872%);
+ --color-neutral-300: hsl(231.8106 11.8708% 27.9174%);
+ --color-neutral-400: hsl(232.3322 17.2238% 20.2136%);
+ --color-neutral-500: hsl(233.3333 27.2727% 12.9412%);
+ --color-neutral-600: hsl(233.3333 29.0082% 10.6656%);
+ --color-neutral-700: hsl(233.3333 31.5923% 8.4525%);
+ --color-neutral-800: hsl(233.3333 35.8271% 6.3076%);
+ --color-neutral-900: hsl(234.3645 41.069% 4.3255%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(223.8136 0.0001% 90.851%);
+ --color-surface-300: hsl(223.8136 0% 82.4954%);
+}
+
+[data-theme="synthwave"] {
+ color-scheme: dark;
+ --color-primary: hsl(320.7273 69.6203% 69.0196%);
+ --color-secondary: hsl(197.0323 86.5922% 64.902%);
+ --color-accent: hsl(49.4271 100% 50%);
+ --color-neutral: hsl(253 58.8235% 20%);
+ --color-neutral-content: hsl(260 60% 98.0392%);
+ --color-surface-100: hsl(253.3333 58.4416% 15.098%);
+ --color-surface-content: hsl(260 60% 98.0392%);
+ --color-info: hsl(199.125 86.9565% 63.9216%);
+ --color-info-content: hsl(257.4545 63.2184% 17.0588%);
+ --color-success: hsl(168.0992 74.2331% 68.0392%);
+ --color-success-content: hsl(257.4545 63.2184% 17.0588%);
+ --color-warning: hsl(46.6667 75% 67.0588%);
+ --color-warning-content: hsl(257.4545 63.2184% 17.0588%);
+ --color-danger: hsl(10.3448 75.3247% 69.8039%);
+ --color-danger-content: hsl(257.4545 63.2184% 17.0588%);
+ --color-primary-content: hsl(322.2472 57.6268% 4.6639%);
+ --color-primary-50: hsl(323.4709 77.1979% 83.964%);
+ --color-primary-100: hsl(323.1958 76.2529% 82.3979%);
+ --color-primary-200: hsl(322.6282 74.4376% 79.2039%);
+ --color-primary-300: hsl(322.0328 72.7232% 75.9199%);
+ --color-primary-400: hsl(321.4025 71.1141% 72.5322%);
+ --color-primary-500: hsl(320.7273 69.6203% 69.0196%);
+ --color-primary-600: hsl(320.7273 47.0609% 59.8241%);
+ --color-primary-700: hsl(320.7273 33.2228% 50.881%);
+ --color-primary-800: hsl(320.7273 32.7146% 42.2137%);
+ --color-primary-900: hsl(320.7273 33.6462% 33.8513%);
+ --color-secondary-content: hsl(199.8597 77.5595% 4.4948%);
+ --color-secondary-50: hsl(198.6286 87.5707% 82.3884%);
+ --color-secondary-100: hsl(198.5299 87.3898% 80.6702%);
+ --color-secondary-200: hsl(198.2955 87.065% 77.1293%);
+ --color-secondary-300: hsl(197.995 86.8027% 73.4012%);
+ --color-secondary-400: hsl(197.5953 86.6285% 69.3901%);
+ --color-secondary-500: hsl(197.0323 86.5922% 64.902%);
+ --color-secondary-600: hsl(197.0323 60.8465% 56.2146%);
+ --color-secondary-700: hsl(197.0323 48.1402% 47.7657%);
+ --color-secondary-800: hsl(197.0323 49.1687% 39.5772%);
+ --color-secondary-900: hsl(197.0323 50.6649% 31.677%);
+ --color-accent-content: hsl(42.0309 100% 4.4636%);
+ --color-accent-50: hsl(47.8889 100% 77.9546%);
+ --color-accent-100: hsl(47.953 100% 75.5857%);
+ --color-accent-200: hsl(48.21 100% 70.3294%);
+ --color-accent-300: hsl(48.7969 100% 63.6303%);
+ --color-accent-400: hsl(50.659 100% 50%);
+ --color-accent-500: hsl(49.4271 100% 50%);
+ --color-accent-600: hsl(48.1946 100% 44.5287%);
+ --color-accent-700: hsl(48.0778 100% 38.0561%);
+ --color-accent-800: hsl(47.9192 100% 31.783%);
+ --color-accent-900: hsl(47.6929 100% 25.7307%);
+ --color-neutral-50: hsl(242.6109 16.2414% 54.6966%);
+ --color-neutral-100: hsl(243.0522 16.0433% 50.7656%);
+ --color-neutral-200: hsl(244.1805 20.7248% 42.997%);
+ --color-neutral-300: hsl(245.814 27.8394% 35.3399%);
+ --color-neutral-400: hsl(248.3741 38.6467% 27.7449%);
+ --color-neutral-500: hsl(253 58.8235% 20%);
+ --color-neutral-600: hsl(253 61.1923% 16.8534%);
+ --color-neutral-700: hsl(253 64.5328% 13.7931%);
+ --color-neutral-800: hsl(252.9101 69.3474% 10.8416%);
+ --color-neutral-900: hsl(251.6793 74.2761% 8.1355%);
+ --color-info-50: hsl(200.8937 88.4055% 81.8757%);
+ --color-info-100: hsl(200.7867 88.1686% 80.1116%);
+ --color-info-200: hsl(200.5322 87.7336% 76.4788%);
+ --color-info-300: hsl(200.2037 87.3638% 72.6563%);
+ --color-info-400: hsl(199.7613 87.0865% 68.5421%);
+ --color-info-500: hsl(199.125 86.9565% 63.9216%);
+ --color-info-600: hsl(199.125 61.6002% 55.3552%);
+ --color-info-700: hsl(199.125 50.477% 47.0239%);
+ --color-info-800: hsl(199.125 51.5728% 38.9495%);
+ --color-info-900: hsl(199.125 53.1682% 31.1592%);
+ --color-success-50: hsl(165.7904 73.4139% 84.0541%);
+ --color-success-100: hsl(166.0004 73.4102% 82.4735%);
+ --color-success-200: hsl(166.4461 73.4546% 79.2076%);
+ --color-success-300: hsl(166.9337 73.5842% 75.7654%);
+ --color-success-400: hsl(167.4771 73.8276% 72.0809%);
+ --color-success-500: hsl(168.0992 74.2331% 68.0392%);
+ --color-success-600: hsl(168.0992 50.6828% 58.9647%);
+ --color-success-700: hsl(168.0992 36.0014% 50.1393%);
+ --color-success-800: hsl(168.0992 36.5293% 41.586%);
+ --color-success-900: hsl(168.0992 37.5856% 33.3336%);
+ --color-warning-50: hsl(46.4369 73.7305% 82.6664%);
+ --color-warning-100: hsl(46.4224 73.8225% 81.039%);
+ --color-warning-200: hsl(46.4149 74.0316% 77.7326%);
+ --color-warning-300: hsl(46.4432 74.2841% 74.3334%);
+ --color-warning-400: hsl(46.5203 74.5973% 70.7991%);
+ --color-warning-500: hsl(46.6667 75% 67.0588%);
+ --color-warning-600: hsl(46.6667 51.6945% 58.1053%);
+ --color-warning-700: hsl(46.6667 37.8406% 49.3975%);
+ --color-warning-800: hsl(46.6667 38.6217% 40.9582%);
+ --color-warning-900: hsl(46.6667 39.7562% 32.8159%);
+ --color-danger-50: hsl(10.8299 82.947% 83.9235%);
+ --color-danger-100: hsl(10.7951 82.039% 82.3996%);
+ --color-danger-200: hsl(10.7126 80.2701% 79.3204%);
+ --color-danger-300: hsl(10.6114 78.5618% 76.1974%);
+ --color-danger-400: hsl(10.4895 76.9131% 73.0273%);
+ --color-danger-500: hsl(10.3448 75.3247% 69.8039%);
+ --color-danger-600: hsl(10.3448 50.492% 60.5117%);
+ --color-danger-700: hsl(10.3448 35.4633% 51.4744%);
+ --color-danger-800: hsl(10.3448 34.0935% 42.7159%);
+ --color-danger-900: hsl(10.3448 35.0525% 34.2655%);
+ --color-surface-200: hsl(253.3333 60.5355% 13.3118%);
+ --color-surface-300: hsl(253.3333 63.0075% 11.6804%);
+}
+
+[data-theme="retro"] {
+ color-scheme: light;
+ --color-primary: hsl(2.6667 73.7705% 76.0784%);
+ --color-primary-content: hsl(345 5.2632% 14.902%);
+ --color-secondary: hsl(144.6154 27.2727% 71.9608%);
+ --color-secondary-content: hsl(345 5.2632% 14.902%);
+ --color-accent: hsl(24 66.6667% 58.8235%);
+ --color-accent-content: hsl(345 5.2632% 14.902%);
+ --color-neutral: hsl(340 6.9767% 16.8627%);
+ --color-neutral-content: hsl(43.2 40.9836% 88.0392%);
+ --color-surface-100: hsl(44.1176 47.2222% 85.8824%);
+ --color-surface-200: hsl(45 47.0588% 80%);
+ --color-surface-300: hsl(44.3077 47.4453% 73.1373%);
+ --color-surface-content: hsl(345 5.2632% 14.902%);
+ --color-info: hsl(221.2121 83.1933% 53.3333%);
+ --color-success: hsl(142.1277 76.2162% 36.2745%);
+ --color-warning: hsl(32.1327 94.6188% 43.7255%);
+ --color-danger: hsl(3.3252 87.4903% 61.7362%);
+ --rounded-box: 0.4rem;
+ --rounded-btn: 0.4rem;
+ --rounded-badge: 0.4rem;
+ --tab-radius: 0.4rem;
+ --color-primary-50: hsl(3.6837 81.4365% 87.2108%);
+ --color-primary-100: hsl(3.5985 80.5338% 86.0016%);
+ --color-primary-200: hsl(3.4105 78.7692% 83.562%);
+ --color-primary-300: hsl(3.1958 77.0559% 81.0946%);
+ --color-primary-400: hsl(2.9498 75.3906% 78.6%);
+ --color-primary-500: hsl(2.6667 73.7705% 76.0784%);
+ --color-primary-600: hsl(2.6667 45.5144% 66.0119%);
+ --color-primary-700: hsl(2.6667 30.4983% 56.2217%);
+ --color-primary-800: hsl(2.6667 24.1779% 46.7334%);
+ --color-primary-900: hsl(2.6667 24.7981% 37.5789%);
+ --color-secondary-50: hsl(143.494 27.2321% 84.5322%);
+ --color-secondary-100: hsl(143.6018 27.2295% 83.1334%);
+ --color-secondary-200: hsl(143.8285 27.2286% 80.3383%);
+ --color-secondary-300: hsl(144.0715 27.2347% 77.5454%);
+ --color-secondary-400: hsl(144.333 27.2489% 74.7534%);
+ --color-secondary-500: hsl(144.6154 27.2727% 71.9608%);
+ --color-secondary-600: hsl(144.6154 17.8294% 62.4024%);
+ --color-secondary-700: hsl(144.6154 12.3379% 53.1063%);
+ --color-secondary-800: hsl(144.6154 11.1035% 44.0969%);
+ --color-secondary-900: hsl(144.6154 11.4058% 35.4045%);
+ --color-accent-50: hsl(22.7677 70.4023% 78.1888%);
+ --color-accent-100: hsl(22.8402 69.917% 76.1434%);
+ --color-accent-200: hsl(23.0105 68.982% 72.0018%);
+ --color-accent-300: hsl(23.232 68.1074% 67.7706%);
+ --color-accent-400: hsl(23.5391 67.3191% 63.4061%);
+ --color-accent-500: hsl(24 66.6667% 58.8235%);
+ --color-accent-600: hsl(24 48.9957% 50.8862%);
+ --color-accent-700: hsl(24 48.1139% 43.1668%);
+ --color-accent-800: hsl(24 49.2539% 35.6853%);
+ --color-accent-900: hsl(24 50.9217% 28.4671%);
+ --color-neutral-50: hsl(340.6798 1.6296% 51.2796%);
+ --color-neutral-100: hsl(340.6417 1.8068% 47.1695%);
+ --color-neutral-200: hsl(340.5493 2.4512% 39.1408%);
+ --color-neutral-300: hsl(340.4265 3.351% 31.3895%);
+ --color-neutral-400: hsl(340.2553 4.7018% 23.9487%);
+ --color-neutral-500: hsl(340 6.9767% 16.8627%);
+ --color-neutral-600: hsl(340 7.3125% 14.1033%);
+ --color-neutral-700: hsl(340 7.7946% 11.4195%);
+ --color-neutral-800: hsl(340 8.542% 8.8185%);
+ --color-neutral-900: hsl(340 9.8471% 6.309%);
+ --color-info-content: hsl(218.9847 98.1914% 91.1191%);
+ --color-info-50: hsl(219.5223 90.8982% 75.1352%);
+ --color-info-100: hsl(219.6486 89.9471% 72.8089%);
+ --color-info-200: hsl(219.9484 88.1075% 68.1172%);
+ --color-info-300: hsl(220.3175 86.3541% 63.3558%);
+ --color-info-400: hsl(220.756 84.7001% 58.4762%);
+ --color-info-500: hsl(221.2121 83.1933% 53.3333%);
+ --color-info-600: hsl(221.2121 73.8664% 46.0735%);
+ --color-info-700: hsl(221.2121 75.2921% 39.0129%);
+ --color-info-800: hsl(221.2121 77.2709% 32.17%);
+ --color-info-900: hsl(221.2121 80.1841% 25.5679%);
+ --color-success-content: hsl(130.1256 95.7127% 1.9343%);
+ --color-success-50: hsl(130.3106 37.672% 68.7269%);
+ --color-success-100: hsl(130.8008 37.753% 65.7761%);
+ --color-success-200: hsl(131.9998 38.0525% 59.7265%);
+ --color-success-300: hsl(133.6564 38.6495% 53.3423%);
+ --color-success-400: hsl(136.2425 46.3769% 46.2272%);
+ --color-success-500: hsl(142.1277 76.2162% 36.2745%);
+ --color-success-600: hsl(142.1277 77.8784% 31.1197%);
+ --color-success-700: hsl(142.1277 80.1246% 26.1063%);
+ --color-success-800: hsl(142.117 83.2701% 21.2525%);
+ --color-success-900: hsl(141.7625 86.5918% 16.6991%);
+ --color-warning-content: hsl(17.1667 99.4327% 3.3181%);
+ --color-warning-50: hsl(25.8631 74.2191% 73.8529%);
+ --color-warning-100: hsl(26.0117 73.723% 71.3345%);
+ --color-warning-200: hsl(26.407 72.8234% 66.1392%);
+ --color-warning-300: hsl(27.0339 72.1185% 60.5933%);
+ --color-warning-400: hsl(28.2027 71.8262% 54.2587%);
+ --color-warning-500: hsl(32.1327 94.6188% 43.7255%);
+ --color-warning-600: hsl(32.0048 95.4642% 37.8169%);
+ --color-warning-700: hsl(31.7888 96.25% 32.1253%);
+ --color-warning-800: hsl(31.4433 96.9725% 26.6578%);
+ --color-warning-900: hsl(30.8928 97.6278% 21.425%);
+ --color-danger-content: hsl(1.5684 84.471% 4.3206%);
+ --color-danger-50: hsl(6.645 100% 80.3116%);
+ --color-danger-100: hsl(6.3908 100% 78.5508%);
+ --color-danger-200: hsl(5.9013 97.1794% 74.6701%);
+ --color-danger-300: hsl(5.2994 93.7104% 70.5565%);
+ --color-danger-400: hsl(4.4885 90.4774% 66.2706%);
+ --color-danger-500: hsl(3.3252 87.4903% 61.7362%);
+ --color-danger-600: hsl(3.3252 63.0279% 53.4395%);
+ --color-danger-700: hsl(3.3252 55.8261% 45.3704%);
+ --color-danger-800: hsl(3.3252 57.0831% 37.5502%);
+ --color-danger-900: hsl(3.3252 58.917% 30.0052%);
+}
+
+[data-theme="cyberpunk"] {
+ color-scheme: light;
+ fontfamily:
+ ui-monospace,
+ SFMono-Regular,
+ Menlo,
+ Monaco,
+ Consolas,
+ Liberation Mono,
+ Courier New,
+ monospace;
+ --color-primary: hsl(340.8799 100% 69.8833%);
+ --color-secondary: hsl(185.3347 100% 50%);
+ --color-accent: hsl(278.9515 100% 72.6993%);
+ --color-neutral: hsl(227.154 55.502% 14.9159%);
+ --color-neutral-content: hsl(55.763 100% 64.174%);
+ --color-surface-100: hsl(55.763 100% 64.174%);
+ --rounded-box: 0;
+ --rounded-btn: 0;
+ --rounded-badge: 0;
+ --tab-radius: 0;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(346.8024 75.2266% 5.4755%);
+ --color-primary-50: hsl(344.7937 100% 84.5824%);
+ --color-primary-100: hsl(344.4947 100% 83.1034%);
+ --color-primary-200: hsl(343.8257 100% 80.0716%);
+ --color-primary-300: hsl(343.0366 100% 76.9079%);
+ --color-primary-400: hsl(342.0814 100% 73.5494%);
+ --color-primary-500: hsl(340.8799 100% 69.8833%);
+ --color-primary-600: hsl(342.9615 81.8536% 63.8065%);
+ --color-primary-700: hsl(342.9615 55.9738% 54.3182%);
+ --color-primary-800: hsl(342.9615 47.9562% 45.1225%);
+ --color-primary-900: hsl(342.9615 49.2314% 36.2503%);
+ --color-secondary-content: hsl(188.6497 100% 4.3357%);
+ --color-secondary-50: hsl(185.2602 100% 76.7471%);
+ --color-secondary-100: hsl(185.2286 100% 73.9042%);
+ --color-secondary-200: hsl(185.0291 100% 66.961%);
+ --color-secondary-300: hsl(184.1125 100% 51.9055%);
+ --color-secondary-400: hsl(184.6264 100% 50%);
+ --color-secondary-500: hsl(185.3347 100% 50%);
+ --color-secondary-600: hsl(185.6259 100% 43.6904%);
+ --color-secondary-700: hsl(185.6826 100% 37.3325%);
+ --color-secondary-800: hsl(185.7597 100% 31.1707%);
+ --color-secondary-900: hsl(185.8697 100% 25.2257%);
+ --color-accent-content: hsl(275.3124 66.7705% 5.409%);
+ --color-accent-50: hsl(278.3746 100% 85.6921%);
+ --color-accent-100: hsl(278.3913 100% 84.3414%);
+ --color-accent-200: hsl(278.4507 100% 81.593%);
+ --color-accent-300: hsl(278.5533 100% 78.7624%);
+ --color-accent-400: hsl(278.713 100% 75.8158%);
+ --color-accent-500: hsl(278.9515 100% 72.6993%);
+ --color-accent-600: hsl(276.8801 70.9879% 64.3939%);
+ --color-accent-700: hsl(276.8801 48.2916% 54.8252%);
+ --color-accent-800: hsl(276.8801 40.5299% 45.5515%);
+ --color-accent-900: hsl(276.8801 41.5972% 36.6042%);
+ --color-neutral-50: hsl(223.8431 12.0156% 50.1588%);
+ --color-neutral-100: hsl(223.942 13.9346% 45.9467%);
+ --color-neutral-200: hsl(224.2145 18.9277% 37.715%);
+ --color-neutral-300: hsl(224.6551 25.9706% 29.7651%);
+ --color-neutral-400: hsl(225.4462 36.7496% 22.1398%);
+ --color-neutral-500: hsl(227.154 55.502% 14.9159%);
+ --color-neutral-600: hsl(227.154 58.5406% 12.3967%);
+ --color-neutral-700: hsl(227.1673 62.9432% 9.9483%);
+ --color-neutral-800: hsl(228.0532 67.8056% 7.6712%);
+ --color-neutral-900: hsl(230.2087 72.2472% 5.604%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(55.2439 79.4658% 58.4392%);
+ --color-surface-300: hsl(55.2439 64.0317% 52.8944%);
+ --color-surface-content: hsl(54.2672 85.597% 4.6878%);
+}
+
+[data-theme="valentine"] {
+ color-scheme: light;
+ --color-primary: hsl(353.2258 73.8095% 67.0588%);
+ --color-secondary: hsl(254.1176 86.4407% 76.8627%);
+ --color-accent: hsl(181.5584 33.6245% 55.098%);
+ --color-neutral: hsl(336 42.8571% 48.0392%);
+ --color-neutral-content: hsl(318.4615 46.4286% 89.0196%);
+ --color-surface-100: hsl(318.9474 65.5172% 94.3137%);
+ --color-surface-content: hsl(343.6364 38.4615% 28.0392%);
+ --color-info: hsl(221.2121 83.1933% 53.3333%);
+ --color-success: hsl(142.1277 76.2162% 36.2745%);
+ --color-warning: hsl(32.1327 94.6188% 43.7255%);
+ --color-danger: hsl(4.3168 100% 67.8206%);
+ --rounded-btn: 1.9rem;
+ --tab-radius: 0.7rem;
+ --color-primary-content: hsl(355.2354 65.019% 4.5186%);
+ --color-primary-50: hsl(356.3783 84.5787% 83.2964%);
+ --color-primary-100: hsl(356.1335 83.2065% 81.6242%);
+ --color-primary-200: hsl(355.5849 80.5941% 78.1944%);
+ --color-primary-300: hsl(354.9399 78.1543% 74.6397%);
+ --color-primary-400: hsl(354.1687 75.8889% 70.9395%);
+ --color-primary-500: hsl(353.2258 73.8095% 67.0588%);
+ --color-primary-600: hsl(353.2258 50.874% 58.1053%);
+ --color-primary-700: hsl(353.2258 37.2399% 49.3975%);
+ --color-primary-800: hsl(353.2258 38.0087% 40.9582%);
+ --color-primary-900: hsl(353.2258 39.1251% 32.8159%);
+ --color-secondary-content: hsl(253.3704 47.3508% 5.5587%);
+ --color-secondary-50: hsl(251.2403 93.2239% 87.848%);
+ --color-secondary-100: hsl(251.5088 92.3994% 86.6789%);
+ --color-secondary-200: hsl(252.0792 90.8044% 84.3054%);
+ --color-secondary-300: hsl(252.6989 89.2797% 81.8819%);
+ --color-secondary-400: hsl(253.3754 87.825% 79.4034%);
+ --color-secondary-500: hsl(254.1176 86.4407% 76.8627%);
+ --color-secondary-600: hsl(254.1176 52.648% 66.6995%);
+ --color-secondary-700: hsl(254.1176 35.0397% 56.8151%);
+ --color-secondary-800: hsl(254.1176 27.1103% 47.2355%);
+ --color-secondary-900: hsl(254.1176 27.7981% 37.9931%);
+ --color-accent-content: hsl(181.9361 54.2036% 2.9988%);
+ --color-accent-50: hsl(181.1201 31.9936% 75.5961%);
+ --color-accent-100: hsl(181.172 32.0993% 73.3719%);
+ --color-accent-200: hsl(181.2752 32.3497% 68.9032%);
+ --color-accent-300: hsl(181.3759 32.667% 64.391%);
+ --color-accent-400: hsl(181.4716 33.0775% 59.8058%);
+ --color-accent-500: hsl(181.5584 33.6245% 55.098%);
+ --color-accent-600: hsl(181.5584 27.7927% 47.6204%);
+ --color-accent-700: hsl(181.5584 28.3113% 40.3481%);
+ --color-accent-800: hsl(181.5584 29.0302% 33.2999%);
+ --color-accent-900: hsl(181.5584 30.0861% 26.4998%);
+ --color-neutral-50: hsl(340.521 44.3687% 72.4144%);
+ --color-neutral-100: hsl(340.1773 43.7625% 69.8222%);
+ --color-neutral-200: hsl(339.4108 42.5861% 64.5785%);
+ --color-neutral-300: hsl(338.507 41.4744% 59.2357%);
+ --color-neutral-400: hsl(337.4068 40.4623% 53.7516%);
+ --color-neutral-500: hsl(336 42.8571% 48.0392%);
+ --color-neutral-600: hsl(336 43.5592% 41.4327%);
+ --color-neutral-700: hsl(336 44.4961% 35.0074%);
+ --color-neutral-800: hsl(336 45.8033% 28.7803%);
+ --color-neutral-900: hsl(336 47.7421% 22.7723%);
+ --color-info-content: hsl(218.9847 98.1914% 91.1191%);
+ --color-info-50: hsl(219.5223 90.8982% 75.1352%);
+ --color-info-100: hsl(219.6486 89.9471% 72.8089%);
+ --color-info-200: hsl(219.9484 88.1075% 68.1172%);
+ --color-info-300: hsl(220.3175 86.3541% 63.3558%);
+ --color-info-400: hsl(220.756 84.7001% 58.4762%);
+ --color-info-500: hsl(221.2121 83.1933% 53.3333%);
+ --color-info-600: hsl(221.2121 73.8664% 46.0735%);
+ --color-info-700: hsl(221.2121 75.2921% 39.0129%);
+ --color-info-800: hsl(221.2121 77.2709% 32.17%);
+ --color-info-900: hsl(221.2121 80.1841% 25.5679%);
+ --color-success-content: hsl(130.1256 95.7127% 1.9343%);
+ --color-success-50: hsl(130.3106 37.672% 68.7269%);
+ --color-success-100: hsl(130.8008 37.753% 65.7761%);
+ --color-success-200: hsl(131.9998 38.0525% 59.7265%);
+ --color-success-300: hsl(133.6564 38.6495% 53.3423%);
+ --color-success-400: hsl(136.2425 46.3769% 46.2272%);
+ --color-success-500: hsl(142.1277 76.2162% 36.2745%);
+ --color-success-600: hsl(142.1277 77.8784% 31.1197%);
+ --color-success-700: hsl(142.1277 80.1246% 26.1063%);
+ --color-success-800: hsl(142.117 83.2701% 21.2525%);
+ --color-success-900: hsl(141.7625 86.5918% 16.6991%);
+ --color-warning-content: hsl(17.1667 99.4327% 3.3181%);
+ --color-warning-50: hsl(25.8631 74.2191% 73.8529%);
+ --color-warning-100: hsl(26.0117 73.723% 71.3345%);
+ --color-warning-200: hsl(26.407 72.8234% 66.1392%);
+ --color-warning-300: hsl(27.0339 72.1185% 60.5933%);
+ --color-warning-400: hsl(28.2027 71.8262% 54.2587%);
+ --color-warning-500: hsl(32.1327 94.6188% 43.7255%);
+ --color-warning-600: hsl(32.0048 95.4642% 37.8169%);
+ --color-warning-700: hsl(31.7888 96.25% 32.1253%);
+ --color-warning-800: hsl(31.4433 96.9725% 26.6578%);
+ --color-warning-900: hsl(30.8928 97.6278% 21.425%);
+ --color-danger-content: hsl(2.2254 79.7261% 5.3196%);
+ --color-danger-50: hsl(7.875 100% 82.4603%);
+ --color-danger-100: hsl(7.5951 100% 80.8734%);
+ --color-danger-200: hsl(6.9757 100% 77.6885%);
+ --color-danger-300: hsl(6.2552 100% 74.4738%);
+ --color-danger-400: hsl(5.3935 100% 71.2011%);
+ --color-danger-500: hsl(4.3168 100% 67.8206%);
+ --color-danger-600: hsl(3.8876 82.183% 61.887%);
+ --color-danger-700: hsl(3.8876 57.1084% 52.6615%);
+ --color-danger-800: hsl(3.8876 52.3288% 43.7204%);
+ --color-danger-900: hsl(3.8876 53.7661% 35.094%);
+ --color-surface-200: hsl(318.9474 23.7231% 85.6578%);
+ --color-surface-300: hsl(318.9474 13.9672% 77.7526%);
+}
+
+[data-theme="halloween"] {
+ color-scheme: dark;
+ --color-primary: hsl(33.6272 100% 50%);
+ --color-primary-content: hsl(180 7.3171% 8.0392%);
+ --color-secondary: hsl(277.6985 100% 38.1041%);
+ --color-accent: hsl(96.7808 100% 33.291%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-neutral: hsl(31.4286 80.7692% 10.1961%);
+ --color-surface-100: hsl(0 0% 12.9412%);
+ --color-info: hsl(221.2121 83.1933% 53.3333%);
+ --color-success: hsl(142.1277 76.2162% 36.2745%);
+ --color-warning: hsl(32.1327 94.6188% 43.7255%);
+ --color-danger: hsl(3.3252 87.4903% 61.7362%);
+ --color-primary-50: hsl(30.5586 100% 76.7985%);
+ --color-primary-100: hsl(30.665 100% 74.4632%);
+ --color-primary-200: hsl(31.0742 100% 69.4404%);
+ --color-primary-300: hsl(32.0073 100% 63.4507%);
+ --color-primary-400: hsl(35.3246 100% 52.6838%);
+ --color-primary-500: hsl(33.6272 100% 50%);
+ --color-primary-600: hsl(31.3856 100% 46.3119%);
+ --color-primary-700: hsl(31.1135 100% 39.5951%);
+ --color-primary-800: hsl(30.7444 100% 33.0855%);
+ --color-primary-900: hsl(30.2184 100% 26.8049%);
+ --color-secondary-content: hsl(266.0416 66.9607% 89.8355%);
+ --color-secondary-50: hsl(268.5109 61.9036% 71.1559%);
+ --color-secondary-100: hsl(268.9772 61.2997% 68.3449%);
+ --color-secondary-200: hsl(270.0665 60.2412% 62.5283%);
+ --color-secondary-300: hsl(271.4878 59.4987% 56.2799%);
+ --color-secondary-400: hsl(273.6337 61.9136% 48.9933%);
+ --color-secondary-500: hsl(277.6985 100% 38.1041%);
+ --color-secondary-600: hsl(277.4696 100% 33.0628%);
+ --color-secondary-700: hsl(277.1684 100% 28.1599%);
+ --color-secondary-800: hsl(276.756 100% 23.4082%);
+ --color-secondary-900: hsl(276.1609 100% 18.8237%);
+ --color-accent-50: hsl(100.6724 47.2624% 66.5219%);
+ --color-accent-100: hsl(100.3767 47.2888% 63.2972%);
+ --color-accent-200: hsl(99.5185 47.5807% 56.5563%);
+ --color-accent-300: hsl(97.8942 50.508% 48.9943%);
+ --color-accent-400: hsl(92.3742 88.8493% 37.1684%);
+ --color-accent-500: hsl(96.7808 100% 33.291%);
+ --color-accent-600: hsl(97.2135 100% 28.8437%);
+ --color-accent-700: hsl(97.7849 100% 24.5184%);
+ --color-accent-800: hsl(98.5708 100% 20.3265%);
+ --color-accent-900: hsl(99.7125 100% 16.2821%);
+ --color-neutral-content: hsl(28.9179 10.4732% 80.1481%);
+ --color-neutral-50: hsl(29.1471 10.9763% 47.5094%);
+ --color-neutral-100: hsl(29.2041 12.9927% 43.0957%);
+ --color-neutral-200: hsl(29.3599 18.3125% 34.4772%);
+ --color-neutral-300: hsl(29.6223 26.6018% 26.1474%);
+ --color-neutral-400: hsl(30.1722 41.778% 18.0888%);
+ --color-neutral-500: hsl(31.4286 80.7692% 10.1961%);
+ --color-neutral-600: hsl(30.6369 83.0916% 8.4539%);
+ --color-neutral-700: hsl(29.3129 85.2476% 6.8051%);
+ --color-neutral-800: hsl(27.0711 87.184% 5.2477%);
+ --color-neutral-900: hsl(23.5495 88.7968% 3.7804%);
+ --color-info-content: hsl(218.9847 98.1914% 91.1191%);
+ --color-info-50: hsl(219.5223 90.8982% 75.1352%);
+ --color-info-100: hsl(219.6486 89.9471% 72.8089%);
+ --color-info-200: hsl(219.9484 88.1075% 68.1172%);
+ --color-info-300: hsl(220.3175 86.3541% 63.3558%);
+ --color-info-400: hsl(220.756 84.7001% 58.4762%);
+ --color-info-500: hsl(221.2121 83.1933% 53.3333%);
+ --color-info-600: hsl(221.2121 73.8664% 46.0735%);
+ --color-info-700: hsl(221.2121 75.2921% 39.0129%);
+ --color-info-800: hsl(221.2121 77.2709% 32.17%);
+ --color-info-900: hsl(221.2121 80.1841% 25.5679%);
+ --color-success-content: hsl(130.1256 95.7127% 1.9343%);
+ --color-success-50: hsl(130.3106 37.672% 68.7269%);
+ --color-success-100: hsl(130.8008 37.753% 65.7761%);
+ --color-success-200: hsl(131.9998 38.0525% 59.7265%);
+ --color-success-300: hsl(133.6564 38.6495% 53.3423%);
+ --color-success-400: hsl(136.2425 46.3769% 46.2272%);
+ --color-success-500: hsl(142.1277 76.2162% 36.2745%);
+ --color-success-600: hsl(142.1277 77.8784% 31.1197%);
+ --color-success-700: hsl(142.1277 80.1246% 26.1063%);
+ --color-success-800: hsl(142.117 83.2701% 21.2525%);
+ --color-success-900: hsl(141.7625 86.5918% 16.6991%);
+ --color-warning-content: hsl(17.1667 99.4327% 3.3181%);
+ --color-warning-50: hsl(25.8631 74.2191% 73.8529%);
+ --color-warning-100: hsl(26.0117 73.723% 71.3345%);
+ --color-warning-200: hsl(26.407 72.8234% 66.1392%);
+ --color-warning-300: hsl(27.0339 72.1185% 60.5933%);
+ --color-warning-400: hsl(28.2027 71.8262% 54.2587%);
+ --color-warning-500: hsl(32.1327 94.6188% 43.7255%);
+ --color-warning-600: hsl(32.0048 95.4642% 37.8169%);
+ --color-warning-700: hsl(31.7888 96.25% 32.1253%);
+ --color-warning-800: hsl(31.4433 96.9725% 26.6578%);
+ --color-warning-900: hsl(30.8928 97.6278% 21.425%);
+ --color-danger-content: hsl(1.5684 84.471% 4.3206%);
+ --color-danger-50: hsl(6.645 100% 80.3116%);
+ --color-danger-100: hsl(6.3908 100% 78.5508%);
+ --color-danger-200: hsl(5.9013 97.1794% 74.6701%);
+ --color-danger-300: hsl(5.2994 93.7104% 70.5565%);
+ --color-danger-400: hsl(4.4885 90.4774% 66.2706%);
+ --color-danger-500: hsl(3.3252 87.4903% 61.7362%);
+ --color-danger-600: hsl(3.3252 63.0279% 53.4395%);
+ --color-danger-700: hsl(3.3252 55.8261% 45.3704%);
+ --color-danger-800: hsl(3.3252 57.0831% 37.5502%);
+ --color-danger-900: hsl(3.3252 58.917% 30.0052%);
+ --color-surface-200: hsl(223.8136 0% 11.3419%);
+ --color-surface-300: hsl(223.8136 0% 9.8814%);
+ --color-surface-content: hsl(223.8136 0% 80.5478%);
+}
+
+[data-theme="garden"] {
+ color-scheme: light;
+ --color-primary: hsl(332.4702 100% 49.8311%);
+ --color-primary-content: hsl(0 0% 100%);
+ --color-secondary: hsl(334.2857 37.1981% 40.5882%);
+ --color-accent: hsl(138.8571 15.9817% 42.9412%);
+ --color-neutral: hsl(43.9024 100% 8.0392%);
+ --color-neutral-content: hsl(0 4.3478% 90.9804%);
+ --color-surface-100: hsl(0 4.3478% 90.9804%);
+ --color-surface-content: hsl(0 3.2258% 6.0784%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-50: hsl(341.896 100% 77.9663%);
+ --color-primary-100: hsl(341.3859 100% 75.7437%);
+ --color-primary-200: hsl(340.11 100% 70.989%);
+ --color-primary-300: hsl(338.245 100% 65.4594%);
+ --color-primary-400: hsl(334.7005 100% 57.4679%);
+ --color-primary-500: hsl(332.4702 100% 49.8311%);
+ --color-primary-600: hsl(332.7244 100% 43.3427%);
+ --color-primary-700: hsl(333.0571 100% 37.0325%);
+ --color-primary-800: hsl(333.5091 100% 30.9168%);
+ --color-primary-900: hsl(334.1547 100% 25.0163%);
+ --color-secondary-content: hsl(339.8087 30.77% 88.0909%);
+ --color-secondary-50: hsl(338.1948 28.408% 67.3715%);
+ --color-secondary-100: hsl(337.9003 28.061% 64.4189%);
+ --color-secondary-200: hsl(337.2399 27.3651% 58.5114%);
+ --color-secondary-300: hsl(336.4575 26.6755% 52.5898%);
+ --color-secondary-400: hsl(335.5026 29.7694% 46.6311%);
+ --color-secondary-500: hsl(334.2857 37.1981% 40.5882%);
+ --color-secondary-600: hsl(334.2857 37.9214% 34.9011%);
+ --color-secondary-700: hsl(334.2857 38.8936% 29.37%);
+ --color-secondary-800: hsl(334.2857 40.2633% 24.0096%);
+ --color-secondary-900: hsl(334.2857 42.3236% 18.8377%);
+ --color-accent-content: hsl(136.3164 32.9542% 1.6499%);
+ --color-accent-50: hsl(136.9081 12.1332% 67.7982%);
+ --color-accent-100: hsl(137.0565 12.1128% 64.97%);
+ --color-accent-200: hsl(137.3907 12.0755% 59.3645%);
+ --color-accent-300: hsl(137.7872 12.0454% 53.8264%);
+ --color-accent-400: hsl(138.2658 12.8458% 48.3536%);
+ --color-accent-500: hsl(138.8571 15.9817% 42.9412%);
+ --color-accent-600: hsl(138.8571 16.2752% 36.9637%);
+ --color-accent-700: hsl(138.8571 16.6686% 31.1503%);
+ --color-accent-800: hsl(138.8571 17.2209% 25.5161%);
+ --color-accent-900: hsl(138.8571 18.0476% 20.0802%);
+ --color-neutral-50: hsl(43.0486 10.3803% 46.0248%);
+ --color-neutral-100: hsl(43.0406 12.4039% 41.5066%);
+ --color-neutral-200: hsl(43.0491 17.9226% 32.6951%);
+ --color-neutral-300: hsl(43.1427 27.0789% 24.1868%);
+ --color-neutral-400: hsl(43.5427 45.997% 15.912%);
+ --color-neutral-500: hsl(43.9024 100% 8.0392%);
+ --color-neutral-600: hsl(43.0881 100% 6.7079%);
+ --color-neutral-700: hsl(41.9118 100% 5.413%);
+ --color-neutral-800: hsl(40.0729 100% 4.1582%);
+ --color-neutral-900: hsl(36.8782 100% 2.9474%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(0 2.0599% 82.6136%);
+ --color-surface-300: hsl(0 1.3069% 74.9723%);
+}
+
+[data-theme="forest"] {
+ color-scheme: dark;
+ --color-primary: hsl(141.039 71.9626% 41.9608%);
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary: hsl(163.7419 72.77% 41.7647%);
+ --color-accent: hsl(174.9677 72.77% 41.7647%);
+ --color-neutral: hsl(161.3793 36.7089% 15.4902%);
+ --color-surface-100: hsl(0 12.1951% 8.0392%);
+ --rounded-btn: 1.9rem;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-50: hsl(129.9902 46.7848% 72.2578%);
+ --color-primary-100: hsl(130.4892 46.8542% 69.574%);
+ --color-primary-200: hsl(131.6961 47.1389% 64.0222%);
+ --color-primary-300: hsl(133.3335 47.7269% 58.0809%);
+ --color-primary-400: hsl(135.821 48.9141% 51.3492%);
+ --color-primary-500: hsl(141.039 71.9626% 41.9608%);
+ --color-primary-600: hsl(141.039 73.3154% 36.1043%);
+ --color-primary-700: hsl(141.039 75.1308% 30.4085%);
+ --color-primary-800: hsl(141.039 77.6831% 24.8884%);
+ --color-primary-900: hsl(141.0313 81.4818% 19.5656%);
+ --color-secondary-content: hsl(153.645 94.9339% 2.5067%);
+ --color-secondary-50: hsl(156.6298 45.6454% 72.3384%);
+ --color-secondary-100: hsl(157.041 45.8255% 69.6641%);
+ --color-secondary-200: hsl(157.9893 46.3397% 64.1266%);
+ --color-secondary-300: hsl(159.1808 47.1734% 58.1857%);
+ --color-secondary-400: hsl(160.8126 48.6393% 51.4157%);
+ --color-secondary-500: hsl(163.7419 72.77% 41.7647%);
+ --color-secondary-600: hsl(163.7419 74.1444% 35.9324%);
+ --color-secondary-700: hsl(163.7419 75.9894% 30.2602%);
+ --color-secondary-800: hsl(163.7419 78.5839% 24.7628%);
+ --color-secondary-900: hsl(163.7323 82.3878% 19.4684%);
+ --color-accent-content: hsl(171.4042 94.9339% 2.5067%);
+ --color-accent-50: hsl(172.031 45.2779% 72.4164%);
+ --color-accent-100: hsl(172.2406 45.4875% 69.7469%);
+ --color-accent-200: hsl(172.7001 46.0643% 64.2162%);
+ --color-accent-300: hsl(173.2354 46.9671% 58.2753%);
+ --color-accent-400: hsl(173.9044 48.514% 51.4914%);
+ --color-accent-500: hsl(174.9677 72.77% 41.7647%);
+ --color-accent-600: hsl(174.9677 74.1444% 35.9324%);
+ --color-accent-700: hsl(174.9677 75.9894% 30.2602%);
+ --color-accent-800: hsl(174.9677 78.5839% 24.7628%);
+ --color-accent-900: hsl(174.9648 82.3878% 19.4684%);
+ --color-neutral-content: hsl(157.0371 6.8619% 81.5089%);
+ --color-neutral-50: hsl(157.83 6.6834% 50.9312%);
+ --color-neutral-100: hsl(158.0038 7.5771% 46.7703%);
+ --color-neutral-200: hsl(158.4331 10.506% 38.6189%);
+ --color-neutral-300: hsl(159.0245 14.8451% 30.702%);
+ --color-neutral-400: hsl(159.9009 22.0285% 23.015%);
+ --color-neutral-500: hsl(161.3793 36.7089% 15.4902%);
+ --color-neutral-600: hsl(161.3793 38.6401% 12.9001%);
+ --color-neutral-700: hsl(161.3793 41.4428% 10.381%);
+ --color-neutral-800: hsl(161.3793 45.8561% 7.9397%);
+ --color-neutral-900: hsl(160.9627 51.9832% 5.6499%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(0 13.0424% 6.8651%);
+ --color-surface-300: hsl(360 14.1163% 5.7928%);
+ --color-surface-content: hsl(0.603 1.4217% 79.1884%);
+}
+
+[data-theme="aqua"] {
+ color-scheme: dark;
+ --color-primary: hsl(181.7949 92.8571% 49.4118%);
+ --color-primary-content: hsl(181.4118 100% 16.6667%);
+ --color-secondary: hsl(274.4118 30.9091% 56.8627%);
+ --color-accent: hsl(47.0588 100% 80%);
+ --color-neutral: hsl(205.4015 53.7255% 50%);
+ --color-surface-100: hsl(218.6087 52.5114% 42.9412%);
+ --color-info: hsl(221.2121 83.1933% 53.3333%);
+ --color-success: hsl(142.1277 76.2162% 36.2745%);
+ --color-warning: hsl(32.1327 94.6188% 43.7255%);
+ --color-danger: hsl(4.9473 100% 69.8114%);
+ --color-primary-50: hsl(182.0187 87.0513% 80.8851%);
+ --color-primary-100: hsl(182.0657 87.17% 78.8467%);
+ --color-primary-200: hsl(182.1381 87.4807% 74.4519%);
+ --color-primary-300: hsl(182.17 87.9367% 69.3953%);
+ --color-primary-400: hsl(182.1296 88.673% 62.9696%);
+ --color-primary-500: hsl(181.7949 92.8571% 49.4118%);
+ --color-primary-600: hsl(181.7984 93.9765% 42.7147%);
+ --color-primary-700: hsl(181.8072 95.0196% 36.2836%);
+ --color-primary-800: hsl(181.8237 95.9813% 30.1237%);
+ --color-primary-900: hsl(181.852 96.8555% 24.2442%);
+ --color-secondary-content: hsl(270.3771 47.5679% 3.1336%);
+ --color-secondary-50: hsl(273.0767 32.3941% 76.1582%);
+ --color-secondary-100: hsl(273.1975 32.2236% 74.0096%);
+ --color-secondary-200: hsl(273.4555 31.8838% 69.719%);
+ --color-secondary-300: hsl(273.7392 31.5482% 65.4345%);
+ --color-secondary-400: hsl(274.055 31.2211% 61.1514%);
+ --color-secondary-500: hsl(274.4118 30.9091% 56.8627%);
+ --color-secondary-600: hsl(274.4118 23.7719% 49.1674%);
+ --color-secondary-700: hsl(274.4118 24.2014% 41.6832%);
+ --color-secondary-800: hsl(274.4118 24.7957% 34.4299%);
+ --color-secondary-900: hsl(274.4118 25.667% 27.4317%);
+ --color-accent-content: hsl(46.9809 44.6774% 5.9515%);
+ --color-accent-50: hsl(47.1462 99.8274% 89.3924%);
+ --color-accent-100: hsl(47.1209 99.8515% 88.3936%);
+ --color-accent-200: hsl(47.0802 99.896% 86.3696%);
+ --color-accent-300: hsl(47.0544 99.9355% 84.3033%);
+ --color-accent-400: hsl(47.0461 99.9702% 82.1847%);
+ --color-accent-500: hsl(47.0588 100% 80%);
+ --color-accent-600: hsl(47.0588 57.3873% 69.4496%);
+ --color-accent-700: hsl(47.0588 37.0777% 59.1887%);
+ --color-accent-800: hsl(47.0588 26.0044% 49.2443%);
+ --color-accent-900: hsl(47.0588 26.6366% 39.6497%);
+ --color-neutral-content: hsl(214.2304 84.8508% 2.984%);
+ --color-neutral-50: hsl(207.2202 54.2891% 73.3918%);
+ --color-neutral-100: hsl(207.1291 54.109% 70.9395%);
+ --color-neutral-200: hsl(206.9056 53.793% 65.9856%);
+ --color-neutral-300: hsl(206.5986 53.5656% 60.9256%);
+ --color-neutral-400: hsl(206.1459 53.4918% 55.6697%);
+ --color-neutral-500: hsl(205.4015 53.7255% 50%);
+ --color-neutral-600: hsl(205.4015 54.5705% 43.1515%);
+ --color-neutral-700: hsl(205.4015 55.6965% 36.4909%);
+ --color-neutral-800: hsl(205.4015 57.2644% 30.0358%);
+ --color-neutral-900: hsl(205.4015 59.5829% 23.8077%);
+ --color-info-content: hsl(218.9847 98.1914% 91.1191%);
+ --color-info-50: hsl(219.5223 90.8982% 75.1352%);
+ --color-info-100: hsl(219.6486 89.9471% 72.8089%);
+ --color-info-200: hsl(219.9484 88.1075% 68.1172%);
+ --color-info-300: hsl(220.3175 86.3541% 63.3558%);
+ --color-info-400: hsl(220.756 84.7001% 58.4762%);
+ --color-info-500: hsl(221.2121 83.1933% 53.3333%);
+ --color-info-600: hsl(221.2121 73.8664% 46.0735%);
+ --color-info-700: hsl(221.2121 75.2921% 39.0129%);
+ --color-info-800: hsl(221.2121 77.2709% 32.17%);
+ --color-info-900: hsl(221.2121 80.1841% 25.5679%);
+ --color-success-content: hsl(130.1256 95.7127% 1.9343%);
+ --color-success-50: hsl(130.3106 37.672% 68.7269%);
+ --color-success-100: hsl(130.8008 37.753% 65.7761%);
+ --color-success-200: hsl(131.9998 38.0525% 59.7265%);
+ --color-success-300: hsl(133.6564 38.6495% 53.3423%);
+ --color-success-400: hsl(136.2425 46.3769% 46.2272%);
+ --color-success-500: hsl(142.1277 76.2162% 36.2745%);
+ --color-success-600: hsl(142.1277 77.8784% 31.1197%);
+ --color-success-700: hsl(142.1277 80.1246% 26.1063%);
+ --color-success-800: hsl(142.117 83.2701% 21.2525%);
+ --color-success-900: hsl(141.7625 86.5918% 16.6991%);
+ --color-warning-content: hsl(17.1667 99.4327% 3.3181%);
+ --color-warning-50: hsl(25.8631 74.2191% 73.8529%);
+ --color-warning-100: hsl(26.0117 73.723% 71.3345%);
+ --color-warning-200: hsl(26.407 72.8234% 66.1392%);
+ --color-warning-300: hsl(27.0339 72.1185% 60.5933%);
+ --color-warning-400: hsl(28.2027 71.8262% 54.2587%);
+ --color-warning-500: hsl(32.1327 94.6188% 43.7255%);
+ --color-warning-600: hsl(32.0048 95.4642% 37.8169%);
+ --color-warning-700: hsl(31.7888 96.25% 32.1253%);
+ --color-warning-800: hsl(31.4433 96.9725% 26.6578%);
+ --color-warning-900: hsl(30.8928 97.6278% 21.425%);
+ --color-danger-content: hsl(2.8839 74.8129% 5.3446%);
+ --color-danger-50: hsl(7.8583 100% 83.4404%);
+ --color-danger-100: hsl(7.6181 100% 81.9469%);
+ --color-danger-200: hsl(7.092 100% 78.956%);
+ --color-danger-300: hsl(6.4907 100% 75.9498%);
+ --color-danger-400: hsl(5.7895 100% 72.9111%);
+ --color-danger-500: hsl(4.9473 100% 69.8114%);
+ --color-danger-600: hsl(4.5357 77.8427% 62.9193%);
+ --color-danger-700: hsl(4.5357 53.6367% 53.5525%);
+ --color-danger-800: hsl(4.5357 47.405% 44.4745%);
+ --color-danger-900: hsl(4.5357 48.6844% 35.7159%);
+ --color-surface-200: hsl(218.6087 53.1579% 38.7403%);
+ --color-surface-300: hsl(218.6087 53.8843% 34.9038%);
+ --color-surface-content: hsl(217.8029 45.0593% 88.3418%);
+}
+
+[data-theme="lofi"] {
+ color-scheme: light;
+ --color-primary: hsl(0 0% 5.098%);
+ --color-primary-content: hsl(180 100% 100%);
+ --color-secondary: hsl(0 1.9608% 10%);
+ --color-secondary-content: hsl(180 100% 100%);
+ --color-accent: hsl(0 0% 14.902%);
+ --color-accent-content: hsl(180 100% 100%);
+ --color-neutral: hsl(0 0% 0%);
+ --color-neutral-content: hsl(180 100% 100%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(0 0% 94.902%);
+ --color-surface-300: hsl(0 1.9608% 90%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-info: hsl(186.3996 64.5332% 61.9566%);
+ --color-success: hsl(156.3531 98.7858% 70.4206%);
+ --color-warning: hsl(40.5761 100% 70.509%);
+ --color-danger: hsl(7.4376 100% 75.3917%);
+ --rounded-box: 0.25rem;
+ --rounded-btn: 0.125rem;
+ --rounded-badge: 0.125rem;
+ --tab-radius: 0.125rem;
+ --animation-btn: 0;
+ --animation-input: 0;
+ --btn-focus-scale: 1;
+ --color-primary-50: hsl(223.8136 0% 43.0525%);
+ --color-primary-100: hsl(223.8136 0% 38.3522%);
+ --color-primary-200: hsl(223.8136 0% 29.2546%);
+ --color-primary-300: hsl(223.8136 0% 20.613%);
+ --color-primary-400: hsl(223.8136 0% 12.5143%);
+ --color-primary-500: hsl(0 0% 5.098%);
+ --color-primary-600: hsl(223.8136 0% 3.7908%);
+ --color-primary-700: hsl(223.8136 0% 2.6624%);
+ --color-primary-800: hsl(223.8136 0% 1.7836%);
+ --color-primary-900: hsl(223.8136 0% 1.1232%);
+ --color-secondary-50: hsl(0.0797 0.297% 46.5899%);
+ --color-secondary-100: hsl(0.0763 0.3518% 42.1381%);
+ --color-secondary-200: hsl(0.0675 0.4958% 33.4846%);
+ --color-secondary-300: hsl(0.0547 0.7169% 25.2009%);
+ --color-secondary-400: hsl(0.0348 1.1027% 17.3446%);
+ --color-secondary-500: hsl(0 1.9608% 10%);
+ --color-secondary-600: hsl(0 2.1253% 8.0874%);
+ --color-secondary-700: hsl(360 2.3823% 6.2272%);
+ --color-secondary-800: hsl(0 2.8376% 4.4244%);
+ --color-secondary-900: hsl(0 3.0353% 2.7978%);
+ --color-accent-50: hsl(223.8136 0% 49.9489%);
+ --color-accent-100: hsl(223.8136 0% 45.7415%);
+ --color-accent-200: hsl(223.8136 0% 37.5342%);
+ --color-accent-300: hsl(223.8136 0% 29.6297%);
+ --color-accent-400: hsl(223.8136 0% 22.0676%);
+ --color-accent-500: hsl(0 0% 14.902%);
+ --color-accent-600: hsl(223.8136 0% 12.3844%);
+ --color-accent-700: hsl(223.8136 0% 9.936%);
+ --color-accent-800: hsl(223.8136 0% 7.563%);
+ --color-accent-900: hsl(223.8136 0% 5.2736%);
+ --color-neutral-50: hsl(223.8136 0% 33.3837%);
+ --color-neutral-100: hsl(223.8136 0% 28.0604%);
+ --color-neutral-200: hsl(223.8136 0% 17.9236%);
+ --color-neutral-300: hsl(223.8136 0% 8.6104%);
+ --color-neutral-400: hsl(223.8136 0% 1.292%);
+ --color-neutral-500: hsl(0 0% 0%);
+ --color-neutral-600: hsl(0 0% 0%);
+ --color-neutral-700: hsl(0 0% 0%);
+ --color-neutral-800: hsl(0 0% 0%);
+ --color-neutral-900: hsl(0 0% 0%);
+ --color-info-content: hsl(187.4876 70.1734% 3.9993%);
+ --color-info-50: hsl(186.7721 62.267% 80.5435%);
+ --color-info-100: hsl(186.7651 62.3978% 78.6757%);
+ --color-info-200: hsl(186.7339 62.7191% 74.8475%);
+ --color-info-300: hsl(186.6728 63.1445% 70.8529%);
+ --color-info-400: hsl(186.569 63.7204% 66.6089%);
+ --color-info-500: hsl(186.3996 64.5332% 61.9566%);
+ --color-info-600: hsl(186.3996 46.4145% 53.6327%);
+ --color-info-700: hsl(186.3996 40.7904% 45.5372%);
+ --color-info-800: hsl(186.3996 41.7054% 37.6914%);
+ --color-info-900: hsl(186.3996 43.04% 30.1216%);
+ --color-success-content: hsl(153.9692 70.833% 5.0121%);
+ --color-success-50: hsl(152.2143 100% 86.1265%);
+ --color-success-100: hsl(152.52 100% 84.6962%);
+ --color-success-200: hsl(153.1981 100% 81.691%);
+ --color-success-300: hsl(153.9958 99.9595% 78.4296%);
+ --color-success-400: hsl(155.0548 99.3365% 74.727%);
+ --color-success-500: hsl(156.3531 98.7858% 70.4206%);
+ --color-success-600: hsl(156.3531 65.7665% 61.0522%);
+ --color-success-700: hsl(156.3531 46.0015% 51.941%);
+ --color-success-800: hsl(156.3531 43.3981% 43.1107%);
+ --color-success-900: hsl(156.3531 44.6075% 34.5912%);
+ --color-warning-content: hsl(36.3719 72.4108% 5.2493%);
+ --color-warning-50: hsl(39.9253 100% 84.8697%);
+ --color-warning-100: hsl(39.937 100% 83.4194%);
+ --color-warning-200: hsl(39.9914 100% 80.4483%);
+ --color-warning-300: hsl(40.0992 100% 77.3518%);
+ --color-warning-400: hsl(40.2818 100% 74.0724%);
+ --color-warning-500: hsl(40.5761 100% 70.509%);
+ --color-warning-600: hsl(38.4331 72.921% 62.5713%);
+ --color-warning-700: hsl(38.4331 50.3912% 53.2521%);
+ --color-warning-800: hsl(38.4331 45.0823% 44.2202%);
+ --color-warning-900: hsl(38.4331 46.3062% 35.5062%);
+ --color-danger-content: hsl(5.5076 60.4131% 5.7797%);
+ --color-danger-50: hsl(9.1407 100% 86.4251%);
+ --color-danger-100: hsl(8.9831 100% 85.202%);
+ --color-danger-200: hsl(8.648 100% 82.7572%);
+ --color-danger-300: hsl(8.2828 100% 80.311%);
+ --color-danger-400: hsl(7.8818 100% 77.8584%);
+ --color-danger-500: hsl(7.4376 100% 75.3917%);
+ --color-danger-600: hsl(6.7589 73.2118% 67.5762%);
+ --color-danger-700: hsl(6.7589 48.2891% 57.5718%);
+ --color-danger-800: hsl(6.7589 36.2157% 47.8759%);
+ --color-danger-900: hsl(6.7589 37.1219% 38.5212%);
+}
+
+[data-theme="pastel"] {
+ color-scheme: light;
+ --color-primary: hsl(283.6364 21.5686% 80%);
+ --color-secondary: hsl(351.6279 70.4918% 88.0392%);
+ --color-accent: hsl(158.4906 54.6392% 80.9804%);
+ --color-neutral: hsl(198.6207 43.7186% 60.9804%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(210 20% 98.0392%);
+ --color-surface-300: hsl(216 12.1951% 83.9216%);
+ --rounded-btn: 1.9rem;
+ --tab-radius: 0.7rem;
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(283.6364 9.7204% 5.9355%);
+ --color-primary-50: hsl(283.5486 21.8954% 88.9249%);
+ --color-primary-100: hsl(283.5578 21.8599% 87.9272%);
+ --color-primary-200: hsl(283.5766 21.7884% 85.9362%);
+ --color-primary-300: hsl(283.5959 21.7159% 83.9513%);
+ --color-primary-400: hsl(283.6158 21.6427% 81.9726%);
+ --color-primary-500: hsl(283.6364 21.5686% 80%);
+ --color-primary-600: hsl(283.6364 12.3777% 69.4496%);
+ --color-primary-700: hsl(283.6364 7.9971% 59.1887%);
+ --color-primary-800: hsl(283.6364 5.6088% 49.2443%);
+ --color-primary-900: hsl(283.6364 5.7451% 39.6497%);
+ --color-secondary-content: hsl(351.6279 16.0851% 7.0107%);
+ --color-secondary-50: hsl(352.2067 73.9056% 93.5351%);
+ --color-secondary-100: hsl(352.1466 73.5135% 92.9336%);
+ --color-secondary-200: hsl(352.0235 72.7392% 91.7237%);
+ --color-secondary-300: hsl(351.8962 71.9776% 90.5047%);
+ --color-secondary-400: hsl(351.7644 71.2286% 89.2766%);
+ --color-secondary-500: hsl(351.6279 70.4918% 88.0392%);
+ --color-secondary-600: hsl(351.6279 31.4466% 76.4968%);
+ --color-secondary-700: hsl(351.6279 18.3684% 65.2711%);
+ --color-secondary-800: hsl(351.6279 11.8366% 54.3916%);
+ --color-secondary-900: hsl(351.6279 10.1431% 43.895%);
+ --color-accent-content: hsl(158.4906 22.9113% 6.0666%);
+ --color-accent-50: hsl(157.397 54.5046% 89.7167%);
+ --color-accent-100: hsl(157.5077 54.5064% 88.7637%);
+ --color-accent-200: hsl(157.7366 54.5187% 86.8462%);
+ --color-accent-300: hsl(157.9759 54.5439% 84.9114%);
+ --color-accent-400: hsl(158.2268 54.5834% 82.957%);
+ --color-accent-500: hsl(158.4906 54.6392% 80.9804%);
+ --color-accent-600: hsl(158.4906 30.682% 70.309%);
+ --color-accent-700: hsl(158.4906 19.6225% 59.9305%);
+ --color-accent-800: hsl(158.4906 13.342% 49.872%);
+ --color-accent-900: hsl(158.4906 13.6622% 40.1674%);
+ --color-neutral-content: hsl(201.2505 54.4162% 3.674%);
+ --color-neutral-50: hsl(199.3241 43.6959% 78.689%);
+ --color-neutral-100: hsl(199.2725 43.6632% 76.7489%);
+ --color-neutral-200: hsl(199.155 43.6165% 72.8576%);
+ --color-neutral-300: hsl(199.0133 43.6012% 68.9433%);
+ --color-neutral-400: hsl(198.8393 43.6293% 64.9916%);
+ --color-neutral-500: hsl(198.6207 43.7186% 60.9804%);
+ --color-neutral-600: hsl(198.6207 31.6664% 52.7769%);
+ --color-neutral-700: hsl(198.6207 28.8102% 44.7986%);
+ --color-neutral-800: hsl(198.6207 29.4674% 37.0663%);
+ --color-neutral-900: hsl(198.6207 30.4268% 29.6061%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-content: hsl(223.8136 0% 8.6104%);
+}
+
+[data-theme="fantasy"] {
+ color-scheme: light;
+ --color-primary: hsl(295.8488 100% 23.0482%);
+ --color-secondary: hsl(203.8078 100% 38.1183%);
+ --color-accent: hsl(31.6284 100% 50%);
+ --color-neutral: hsl(215 27.907% 16.8627%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-content: hsl(215 27.907% 16.8627%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(158.9382 100% 33.2172%);
+ --color-warning: hsl(44.7108 100% 50%);
+ --color-danger: hsl(356.8706 100% 67.3052%);
+ --color-primary-content: hsl(298.257 28.839% 85.0197%);
+ --color-primary-50: hsl(297.0731 27.7729% 59.2785%);
+ --color-primary-100: hsl(296.8868 27.6575% 55.6187%);
+ --color-primary-200: hsl(296.5105 29.5051% 48.2514%);
+ --color-primary-300: hsl(296.1555 40.2323% 40.6875%);
+ --color-primary-400: hsl(295.9274 59.247% 32.3994%);
+ --color-primary-500: hsl(295.8488 100% 23.0482%);
+ --color-primary-600: hsl(295.7779 100% 19.8648%);
+ --color-primary-700: hsl(295.6831 100% 16.7688%);
+ --color-primary-800: hsl(295.5505 100% 13.7682%);
+ --color-primary-900: hsl(295.3533 100% 10.8732%);
+ --color-secondary-content: hsl(206.3032 64.8301% 88.452%);
+ --color-secondary-50: hsl(205.449 62.9331% 67.6036%);
+ --color-secondary-100: hsl(205.2166 62.7883% 64.4478%);
+ --color-secondary-200: hsl(204.5298 62.7383% 57.7688%);
+ --color-secondary-300: hsl(203.1374 63.7803% 49.8672%);
+ --color-secondary-400: hsl(200.7972 100% 39.4983%);
+ --color-secondary-500: hsl(203.8078 100% 38.1183%);
+ --color-secondary-600: hsl(204.0521 100% 33.0753%);
+ --color-secondary-700: hsl(204.3735 100% 28.1707%);
+ --color-secondary-800: hsl(204.8135 100% 23.4173%);
+ --color-secondary-900: hsl(205.4486 100% 18.8312%);
+ --color-accent-content: hsl(15.8841 100% 4.6857%);
+ --color-accent-50: hsl(28.1294 100% 76.9529%);
+ --color-accent-100: hsl(28.2092 100% 74.6669%);
+ --color-accent-200: hsl(28.5451 100% 69.7968%);
+ --color-accent-300: hsl(29.342 100% 64.1361%);
+ --color-accent-400: hsl(31.7781 100% 55.5285%);
+ --color-accent-500: hsl(31.6284 100% 50%);
+ --color-accent-600: hsl(29.7039 100% 45.9845%);
+ --color-accent-700: hsl(29.4138 100% 39.3126%);
+ --color-accent-800: hsl(29.0201 100% 32.8464%);
+ --color-accent-900: hsl(28.4589 100% 26.6077%);
+ --color-neutral-content: hsl(215.101 6.8198% 81.6528%);
+ --color-neutral-50: hsl(215.0645 6.466% 51.37%);
+ --color-neutral-100: hsl(215.0583 7.1439% 47.261%);
+ --color-neutral-200: hsl(215.0453 9.6966% 39.2287%);
+ --color-neutral-300: hsl(215.0315 13.2724% 31.4641%);
+ --color-neutral-400: hsl(215.0172 18.6763% 23.9967%);
+ --color-neutral-500: hsl(215 27.907% 16.8627%);
+ --color-neutral-600: hsl(215 29.2499% 14.1033%);
+ --color-neutral-700: hsl(215 31.1786% 11.4195%);
+ --color-neutral-800: hsl(215 34.1679% 8.8185%);
+ --color-neutral-900: hsl(214.999 39.3899% 6.309%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-content: hsl(143.4375 100% 2.0605%);
+ --color-success-50: hsl(147.3179 40.9835% 69.2004%);
+ --color-success-100: hsl(147.8507 41.1583% 66.2464%);
+ --color-success-200: hsl(149.1296 41.6896% 60.1308%);
+ --color-success-300: hsl(150.8516 42.626% 53.5333%);
+ --color-success-400: hsl(153.506 52.7364% 45.7661%);
+ --color-success-500: hsl(158.9382 100% 33.2172%);
+ --color-success-600: hsl(158.6898 100% 28.779%);
+ --color-success-700: hsl(158.3618 100% 24.4626%);
+ --color-success-800: hsl(157.9108 100% 20.2792%);
+ --color-success-900: hsl(157.2553 100% 16.2431%);
+ --color-warning-content: hsl(34.0938 100% 4.5776%);
+ --color-warning-50: hsl(42.459 100% 77.4929%);
+ --color-warning-100: hsl(42.5716 100% 75.1201%);
+ --color-warning-200: hsl(42.9633 100% 69.897%);
+ --color-warning-300: hsl(43.7898 100% 63.3363%);
+ --color-warning-400: hsl(46.4372 100% 50%);
+ --color-warning-500: hsl(44.7108 100% 50%);
+ --color-warning-600: hsl(42.8332 100% 45.2761%);
+ --color-warning-700: hsl(42.6662 100% 38.7012%);
+ --color-warning-800: hsl(42.4396 100% 32.329%);
+ --color-warning-900: hsl(42.1163 100% 26.181%);
+ --color-danger-content: hsl(358.4678 80.9018% 5.3134%);
+ --color-danger-50: hsl(2.5475 100% 82.9143%);
+ --color-danger-100: hsl(2.1539 100% 81.382%);
+ --color-danger-200: hsl(1.252 100% 78.3187%);
+ --color-danger-300: hsl(0.1416 100% 75.2484%);
+ --color-danger-400: hsl(358.7344 100% 71.5547%);
+ --color-danger-500: hsl(356.8706 100% 67.3052%);
+ --color-danger-600: hsl(357.1922 83.1914% 61.6035%);
+ --color-danger-700: hsl(357.1922 57.9396% 52.4168%);
+ --color-danger-800: hsl(357.1922 53.6188% 43.5134%);
+ --color-danger-900: hsl(357.1922 55.0988% 34.9232%);
+ --color-surface-200: hsl(223.8136 0.0001% 90.851%);
+ --color-surface-300: hsl(223.8136 0% 82.4954%);
+}
+
+[data-theme="wireframe"] {
+ color-scheme: light;
+ fontfamily:
+ Chalkboard,
+ comic sans ms,
+ "sans-serif";
+ --color-primary: hsl(0 0% 72.1569%);
+ --color-secondary: hsl(0 0% 72.1569%);
+ --color-accent: hsl(0 0% 72.1569%);
+ --color-neutral: hsl(0 0% 92.1569%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(0 0% 93.3333%);
+ --color-surface-300: hsl(0 0% 86.6667%);
+ --color-info: hsl(240 100% 50%);
+ --color-success: hsl(120 100% 25.098%);
+ --color-warning: hsl(60 30.1961% 50%);
+ --color-danger: hsl(0 100% 50%);
+ --rounded-box: 0.2rem;
+ --rounded-btn: 0.2rem;
+ --rounded-badge: 0.2rem;
+ --tab-radius: 0.2rem;
+ --color-primary-content: hsl(223.8136 0% 4.8865%);
+ --color-primary-50: hsl(223.8136 0% 84.4751%);
+ --color-primary-100: hsl(223.8136 0% 83.0887%);
+ --color-primary-200: hsl(223.8136 0% 80.3289%);
+ --color-primary-300: hsl(223.8136 0% 77.5868%);
+ --color-primary-400: hsl(223.8136 0% 74.8627%);
+ --color-primary-500: hsl(0 0% 72.1569%);
+ --color-primary-600: hsl(223.8136 0% 62.5743%);
+ --color-primary-700: hsl(223.8136 0% 53.2547%);
+ --color-primary-800: hsl(223.8136 0% 44.2224%);
+ --color-primary-900: hsl(223.8136 0% 35.508%);
+ --color-secondary-content: hsl(223.8136 0% 4.8865%);
+ --color-secondary-50: hsl(223.8136 0% 84.4751%);
+ --color-secondary-100: hsl(223.8136 0% 83.0887%);
+ --color-secondary-200: hsl(223.8136 0% 80.3289%);
+ --color-secondary-300: hsl(223.8136 0% 77.5868%);
+ --color-secondary-400: hsl(223.8136 0% 74.8627%);
+ --color-secondary-500: hsl(0 0% 72.1569%);
+ --color-secondary-600: hsl(223.8136 0% 62.5743%);
+ --color-secondary-700: hsl(223.8136 0% 53.2547%);
+ --color-secondary-800: hsl(223.8136 0% 44.2224%);
+ --color-secondary-900: hsl(223.8136 0% 35.508%);
+ --color-accent-content: hsl(223.8136 0% 4.8865%);
+ --color-accent-50: hsl(223.8136 0% 84.4751%);
+ --color-accent-100: hsl(223.8136 0% 83.0887%);
+ --color-accent-200: hsl(223.8136 0% 80.3289%);
+ --color-accent-300: hsl(223.8136 0% 77.5868%);
+ --color-accent-400: hsl(223.8136 0% 74.8627%);
+ --color-accent-500: hsl(0 0% 72.1569%);
+ --color-accent-600: hsl(223.8136 0% 62.5743%);
+ --color-accent-700: hsl(223.8136 0% 53.2547%);
+ --color-accent-800: hsl(223.8136 0% 44.2224%);
+ --color-accent-900: hsl(223.8136 0% 35.508%);
+ --color-neutral-content: hsl(223.8136 0% 7.5614%);
+ --color-neutral-50: hsl(223.8136 0.0002% 95.6713%);
+ --color-neutral-100: hsl(223.8136 0.0001% 95.2796%);
+ --color-neutral-200: hsl(223.8136 0.0001% 94.497%);
+ --color-neutral-300: hsl(223.8136 0.0001% 93.7158%);
+ --color-neutral-400: hsl(223.8136 0.0001% 92.9357%);
+ --color-neutral-500: hsl(0 0% 92.1569%);
+ --color-neutral-600: hsl(223.8136 0% 80.1063%);
+ --color-neutral-700: hsl(223.8136 0% 68.3865%);
+ --color-neutral-800: hsl(223.8136 0% 57.0281%);
+ --color-neutral-900: hsl(223.8136 0% 46.0694%);
+ --color-info-content: hsl(217.6355 100% 88.8385%);
+ --color-info-50: hsl(220.1478 100% 70.0069%);
+ --color-info-100: hsl(220.6406 100% 67.3724%);
+ --color-info-200: hsl(221.8025 100% 62.1077%);
+ --color-info-300: hsl(223.3146 100% 56.7575%);
+ --color-info-400: hsl(225.4892 100% 50.9722%);
+ --color-info-500: hsl(240 100% 50%);
+ --color-info-600: hsl(240 100% 43.4908%);
+ --color-info-700: hsl(240 100% 37.1603%);
+ --color-info-800: hsl(240 100% 31.025%);
+ --color-info-900: hsl(240 100% 25.1055%);
+ --color-success-content: hsl(114.0582 29.7922% 85.8982%);
+ --color-success-50: hsl(114.9829 29.0112% 61.5926%);
+ --color-success-100: hsl(115.1825 28.9427% 58.1273%);
+ --color-success-200: hsl(115.6697 28.8898% 51.1462%);
+ --color-success-300: hsl(116.3298 36.9889% 43.9879%);
+ --color-success-400: hsl(117.3101 52.2408% 36.2837%);
+ --color-success-500: hsl(120 100% 25.098%);
+ --color-success-600: hsl(120 100% 21.6617%);
+ --color-success-700: hsl(120 100% 18.3196%);
+ --color-success-800: hsl(120 100% 15.0806%);
+ --color-success-900: hsl(120 100% 11.9556%);
+ --color-warning-content: hsl(60 58.4815% 2.487%);
+ --color-warning-50: hsl(61.4892 29.4687% 72.6435%);
+ --color-warning-100: hsl(61.3343 29.4818% 70.1688%);
+ --color-warning-200: hsl(61.0154 29.5398% 65.2093%);
+ --color-warning-300: hsl(60.6851 29.6554% 60.2196%);
+ --color-warning-400: hsl(60.3454 29.8574% 55.1685%);
+ --color-warning-500: hsl(60 30.1961% 50%);
+ --color-warning-600: hsl(60 30.671% 43.1515%);
+ --color-warning-700: hsl(60 31.3039% 36.4909%);
+ --color-warning-800: hsl(60 32.1851% 30.0358%);
+ --color-warning-900: hsl(60 33.4882% 23.8077%);
+ --color-danger-content: hsl(0 100% 4.3052%);
+ --color-danger-50: hsl(8.2867 100% 76.3184%);
+ --color-danger-100: hsl(7.9087 100% 74.1471%);
+ --color-danger-200: hsl(7.0314 100% 69.7153%);
+ --color-danger-300: hsl(5.9169 100% 65.0332%);
+ --color-danger-400: hsl(4.3532 100% 59.6704%);
+ --color-danger-500: hsl(0 100% 50%);
+ --color-danger-600: hsl(0 100% 43.4908%);
+ --color-danger-700: hsl(0 100% 37.1603%);
+ --color-danger-800: hsl(0 100% 31.025%);
+ --color-danger-900: hsl(0 100% 25.1055%);
+ --color-surface-content: hsl(223.8136 0% 8.6104%);
+}
+
+[data-theme="black"] {
+ color-scheme: dark;
+ --color-primary: hsl(0 0% 21.5686%);
+ --color-secondary: hsl(0 0% 21.5686%);
+ --color-accent: hsl(0 0% 21.5686%);
+ --color-surface-100: hsl(0 0% 0%);
+ --color-surface-200: hsl(0 0% 7.8431%);
+ --color-surface-300: hsl(0 0% 14.902%);
+ --color-surface-content: hsl(0 0% 83.9216%);
+ --color-neutral: hsl(0 0% 21.5686%);
+ --color-info: hsl(240 100% 50%);
+ --color-success: hsl(120 100% 25.098%);
+ --color-warning: hsl(60 100% 50%);
+ --color-danger: hsl(0 100% 50%);
+ --rounded-box: 0;
+ --rounded-btn: 0;
+ --rounded-badge: 0;
+ --animation-btn: 0;
+ --animation-input: 0;
+ --btn-focus-scale: 1;
+ --tab-radius: 0;
+ --color-primary-content: hsl(223.8136 0% 82.8083%);
+ --color-primary-50: hsl(223.8136 0% 54.3307%);
+ --color-primary-100: hsl(223.8136 0% 50.4525%);
+ --color-primary-200: hsl(223.8136 0% 42.8576%);
+ --color-primary-300: hsl(223.8136 0% 35.4946%);
+ --color-primary-400: hsl(223.8136 0% 28.3879%);
+ --color-primary-500: hsl(0 0% 21.5686%);
+ --color-primary-600: hsl(223.8136 0% 18.2285%);
+ --color-primary-700: hsl(223.8136 0% 14.9799%);
+ --color-primary-800: hsl(223.8136 0% 11.8316%);
+ --color-primary-900: hsl(223.8136 0% 8.7941%);
+ --color-secondary-content: hsl(223.8136 0% 82.8083%);
+ --color-secondary-50: hsl(223.8136 0% 54.3307%);
+ --color-secondary-100: hsl(223.8136 0% 50.4525%);
+ --color-secondary-200: hsl(223.8136 0% 42.8576%);
+ --color-secondary-300: hsl(223.8136 0% 35.4946%);
+ --color-secondary-400: hsl(223.8136 0% 28.3879%);
+ --color-secondary-500: hsl(0 0% 21.5686%);
+ --color-secondary-600: hsl(223.8136 0% 18.2285%);
+ --color-secondary-700: hsl(223.8136 0% 14.9799%);
+ --color-secondary-800: hsl(223.8136 0% 11.8316%);
+ --color-secondary-900: hsl(223.8136 0% 8.7941%);
+ --color-accent-content: hsl(223.8136 0% 82.8083%);
+ --color-accent-50: hsl(223.8136 0% 54.3307%);
+ --color-accent-100: hsl(223.8136 0% 50.4525%);
+ --color-accent-200: hsl(223.8136 0% 42.8576%);
+ --color-accent-300: hsl(223.8136 0% 35.4946%);
+ --color-accent-400: hsl(223.8136 0% 28.3879%);
+ --color-accent-500: hsl(0 0% 21.5686%);
+ --color-accent-600: hsl(223.8136 0% 18.2285%);
+ --color-accent-700: hsl(223.8136 0% 14.9799%);
+ --color-accent-800: hsl(223.8136 0% 11.8316%);
+ --color-accent-900: hsl(223.8136 0% 8.7941%);
+ --color-neutral-content: hsl(223.8136 0% 82.8083%);
+ --color-neutral-50: hsl(223.8136 0% 54.3307%);
+ --color-neutral-100: hsl(223.8136 0% 50.4525%);
+ --color-neutral-200: hsl(223.8136 0% 42.8576%);
+ --color-neutral-300: hsl(223.8136 0% 35.4946%);
+ --color-neutral-400: hsl(223.8136 0% 28.3879%);
+ --color-neutral-500: hsl(0 0% 21.5686%);
+ --color-neutral-600: hsl(223.8136 0% 18.2285%);
+ --color-neutral-700: hsl(223.8136 0% 14.9799%);
+ --color-neutral-800: hsl(223.8136 0% 11.8316%);
+ --color-neutral-900: hsl(223.8136 0% 8.7941%);
+ --color-info-content: hsl(217.6355 100% 88.8385%);
+ --color-info-50: hsl(220.1478 100% 70.0069%);
+ --color-info-100: hsl(220.6406 100% 67.3724%);
+ --color-info-200: hsl(221.8025 100% 62.1077%);
+ --color-info-300: hsl(223.3146 100% 56.7575%);
+ --color-info-400: hsl(225.4892 100% 50.9722%);
+ --color-info-500: hsl(240 100% 50%);
+ --color-info-600: hsl(240 100% 43.4908%);
+ --color-info-700: hsl(240 100% 37.1603%);
+ --color-info-800: hsl(240 100% 31.025%);
+ --color-info-900: hsl(240 100% 25.1055%);
+ --color-success-content: hsl(114.0582 29.7922% 85.8982%);
+ --color-success-50: hsl(114.9829 29.0112% 61.5926%);
+ --color-success-100: hsl(115.1825 28.9427% 58.1273%);
+ --color-success-200: hsl(115.6697 28.8898% 51.1462%);
+ --color-success-300: hsl(116.3298 36.9889% 43.9879%);
+ --color-success-400: hsl(117.3101 52.2408% 36.2837%);
+ --color-success-500: hsl(120 100% 25.098%);
+ --color-success-600: hsl(120 100% 21.6617%);
+ --color-success-700: hsl(120 100% 18.3196%);
+ --color-success-800: hsl(120 100% 15.0806%);
+ --color-success-900: hsl(120 100% 11.9556%);
+ --color-warning-content: hsl(60 100% 4.3052%);
+ --color-warning-50: hsl(60.675 100% 81.8925%);
+ --color-warning-100: hsl(60.5874 100% 79.9583%);
+ --color-warning-200: hsl(60.4193 100% 75.7757%);
+ --color-warning-300: hsl(60.2624 100% 70.9297%);
+ --color-warning-400: hsl(60.1197 100% 64.6815%);
+ --color-warning-500: hsl(60 100% 50%);
+ --color-warning-600: hsl(60 100% 43.4908%);
+ --color-warning-700: hsl(60 100% 37.1603%);
+ --color-warning-800: hsl(60 100% 31.025%);
+ --color-warning-900: hsl(60 100% 25.1055%);
+ --color-danger-content: hsl(0 100% 4.3052%);
+ --color-danger-50: hsl(8.2867 100% 76.3184%);
+ --color-danger-100: hsl(7.9087 100% 74.1471%);
+ --color-danger-200: hsl(7.0314 100% 69.7153%);
+ --color-danger-300: hsl(5.9169 100% 65.0332%);
+ --color-danger-400: hsl(4.3532 100% 59.6704%);
+ --color-danger-500: hsl(0 100% 50%);
+ --color-danger-600: hsl(0 100% 43.4908%);
+ --color-danger-700: hsl(0 100% 37.1603%);
+ --color-danger-800: hsl(0 100% 31.025%);
+ --color-danger-900: hsl(0 100% 25.1055%);
+}
+
+[data-theme="luxury"] {
+ color-scheme: dark;
+ --color-primary: hsl(180 100% 100%);
+ --color-secondary: hsl(218.4 54.3478% 18.0392%);
+ --color-accent: hsl(318.6207 21.8045% 26.0784%);
+ --color-neutral: hsl(28.2353 100% 10%);
+ --color-neutral-content: hsl(44.3478 100% 81.9608%);
+ --color-surface-100: hsl(240 10% 3.9216%);
+ --color-surface-200: hsl(270 4.3478% 9.0196%);
+ --color-surface-300: hsl(270 2.1739% 18.0392%);
+ --color-surface-content: hsl(37.0833 67.2897% 58.0392%);
+ --color-info: hsl(202.3529 100% 70%);
+ --color-success: hsl(89.0066 61.6327% 51.9608%);
+ --color-warning: hsl(53.9063 68.8172% 63.5294%);
+ --color-danger: hsl(0 100% 71.7647%);
+ --color-primary-content: hsl(223.8136 0% 8.6104%);
+ --color-primary-50: hsl(180 100% 100%);
+ --color-primary-100: hsl(180 100% 100%);
+ --color-primary-200: hsl(180 100% 100%);
+ --color-primary-300: hsl(180 100% 100%);
+ --color-primary-400: hsl(180 100% 100%);
+ --color-primary-500: hsl(180 100% 100%);
+ --color-primary-600: hsl(223.8136 0% 86.9817%);
+ --color-primary-700: hsl(223.8136 0% 74.3206%);
+ --color-primary-800: hsl(223.8136 0% 62.0499%);
+ --color-primary-900: hsl(223.8136 0% 50.2111%);
+ --color-secondary-content: hsl(217.7182 14.6321% 82.1044%);
+ --color-secondary-50: hsl(217.7798 13.7575% 52.4196%);
+ --color-secondary-100: hsl(217.8017 14.5197% 48.3703%);
+ --color-secondary-200: hsl(217.865 19.5423% 40.4323%);
+ --color-secondary-300: hsl(217.9676 26.4833% 32.7223%);
+ --color-secondary-400: hsl(218.135 36.8301% 25.2563%);
+ --color-secondary-500: hsl(218.4 54.3478% 18.0392%);
+ --color-secondary-600: hsl(218.4 56.785% 15.1346%);
+ --color-secondary-700: hsl(218.4 60.2584% 12.3096%);
+ --color-secondary-800: hsl(218.4882 65.3329% 9.5862%);
+ --color-secondary-900: hsl(219.7022 70.5247% 7.1001%);
+ --color-accent-content: hsl(321.804 9.1751% 84.1009%);
+ --color-accent-50: hsl(320.9429 8.6664% 57.518%);
+ --color-accent-100: hsl(320.7772 8.5791% 53.8623%);
+ --color-accent-200: hsl(320.398 9.5894% 46.6666%);
+ --color-accent-300: hsl(319.937 12.4622% 39.6322%);
+ --color-accent-400: hsl(319.3622 16.3102% 32.7674%);
+ --color-accent-500: hsl(318.6207 21.8045% 26.0784%);
+ --color-accent-600: hsl(318.6207 22.4717% 22.1818%);
+ --color-accent-700: hsl(318.6207 23.3916% 18.392%);
+ --color-accent-800: hsl(318.6207 24.7353% 14.7192%);
+ --color-accent-900: hsl(318.6207 26.8688% 11.1755%);
+ --color-neutral-50: hsl(26.1584 13.4946% 47.6189%);
+ --color-neutral-100: hsl(26.2321 15.9644% 43.1971%);
+ --color-neutral-200: hsl(26.4349 22.4924% 34.5443%);
+ --color-neutral-300: hsl(26.7889 32.7619% 26.1407%);
+ --color-neutral-400: hsl(27.6144 52.3033% 17.904%);
+ --color-neutral-500: hsl(28.2353 100% 10%);
+ --color-neutral-600: hsl(26.9561 100% 8.4267%);
+ --color-neutral-700: hsl(25.1523 100% 6.8966%);
+ --color-neutral-800: hsl(22.431 100% 5.4136%);
+ --color-neutral-900: hsl(19.2002 100% 3.9829%);
+ --color-info-content: hsl(204.7862 72.4887% 4.9919%);
+ --color-info-50: hsl(203.0847 100% 84.459%);
+ --color-info-100: hsl(203.0649 100% 82.9823%);
+ --color-info-200: hsl(202.9944 100% 79.9667%);
+ --color-info-300: hsl(202.87 100% 76.8396%);
+ --color-info-400: hsl(202.6692 100% 73.5484%);
+ --color-info-500: hsl(202.3529 100% 70%);
+ --color-info-600: hsl(202.3529 66.8883% 60.6836%);
+ --color-info-700: hsl(202.3529 46.9184% 51.6228%);
+ --color-info-800: hsl(202.3529 44.8363% 42.8414%);
+ --color-info-900: hsl(202.3529 46.0938% 34.3691%);
+ --color-success-content: hsl(98.177 87.1227% 3.2841%);
+ --color-success-50: hsl(93.8231 60.0454% 76.0657%);
+ --color-success-100: hsl(93.5558 59.9767% 73.7592%);
+ --color-success-200: hsl(92.92 59.934% 69.0106%);
+ --color-success-300: hsl(92.0867 60.0729% 63.9948%);
+ --color-success-400: hsl(90.9122 60.5218% 58.5062%);
+ --color-success-500: hsl(89.0066 61.6327% 51.9608%);
+ --color-success-600: hsl(89.0066 57.843% 44.8703%);
+ --color-success-700: hsl(89.0066 58.9899% 37.9744%);
+ --color-success-800: hsl(89.0066 60.5839% 31.2912%);
+ --color-success-900: hsl(89.0066 62.9346% 24.8431%);
+ --color-warning-content: hsl(52.979 69.7687% 4.1759%);
+ --color-warning-50: hsl(54.4726 66.0555% 80.9981%);
+ --color-warning-100: hsl(54.3766 66.2754% 79.208%);
+ --color-warning-200: hsl(54.2021 66.7586% 75.5598%);
+ --color-warning-300: hsl(54.0567 67.3172% 71.7851%);
+ --color-warning-400: hsl(53.9517 67.9838% 67.8163%);
+ --color-warning-500: hsl(53.9063 68.8172% 63.5294%);
+ --color-warning-600: hsl(53.9063 48.9036% 55.0114%);
+ --color-warning-700: hsl(53.9062 40.638% 46.7272%);
+ --color-warning-800: hsl(53.9063 41.5259% 38.6984%);
+ --color-warning-900: hsl(53.9062 42.8191% 30.9522%);
+ --color-danger-content: hsl(0 67.9518% 5.1267%);
+ --color-danger-50: hsl(3.1601 100% 84.2905%);
+ --color-danger-100: hsl(2.914 100% 82.8904%);
+ --color-danger-200: hsl(2.366 100% 80.1005%);
+ --color-danger-300: hsl(1.7245 100% 77.3209%);
+ --color-danger-400: hsl(0.955 100% 74.5454%);
+ --color-danger-500: hsl(0 100% 71.7647%);
+ --color-danger-600: hsl(0 65.5321% 62.2305%);
+ --color-danger-700: hsl(0 45.4118% 52.958%);
+ --color-danger-800: hsl(0 41.1145% 43.9713%);
+ --color-danger-900: hsl(0 42.2372% 35.3009%);
+}
+
+[data-theme="dracula"] {
+ color-scheme: dark;
+ --color-primary: hsl(325.5224 100% 73.7255%);
+ --color-secondary: hsl(264.7059 89.4737% 77.6471%);
+ --color-accent: hsl(31.0204 100% 71.1765%);
+ --color-neutral: hsl(229.5652 15.0327% 30%);
+ --color-surface-100: hsl(231.4286 14.8936% 18.4314%);
+ --color-surface-content: hsl(60 30% 96.0784%);
+ --color-info: hsl(190.5263 96.6102% 76.8627%);
+ --color-success: hsl(135.1765 94.4444% 64.7059%);
+ --color-warning: hsl(64.9091 91.6667% 76.4706%);
+ --color-danger: hsl(0 100% 66.6667%);
+ --color-primary-content: hsl(327.0388 62.6652% 5.2933%);
+ --color-primary-50: hsl(326.4622 100% 86.069%);
+ --color-primary-100: hsl(326.3986 100% 84.7655%);
+ --color-primary-200: hsl(326.2484 100% 82.1233%);
+ --color-primary-300: hsl(326.0609 100% 79.4204%);
+ --color-primary-400: hsl(325.8246 100% 76.6332%);
+ --color-primary-500: hsl(325.5224 100% 73.7255%);
+ --color-primary-600: hsl(325.5224 63.8888% 63.9493%);
+ --color-primary-700: hsl(325.5224 43.6342% 54.4415%);
+ --color-primary-800: hsl(325.5224 37.1973% 45.2268%);
+ --color-primary-900: hsl(325.5224 38.1841% 36.3364%);
+ --color-secondary-content: hsl(264.2383 46.6781% 5.6557%);
+ --color-secondary-50: hsl(262.5555 95.8176% 88.2425%);
+ --color-secondary-100: hsl(262.7658 95.0498% 87.1141%);
+ --color-secondary-200: hsl(263.2046 93.562% 84.824%);
+ --color-secondary-300: hsl(263.6709 92.1368% 82.4865%);
+ --color-secondary-400: hsl(264.1694 90.7738% 80.0966%);
+ --color-secondary-500: hsl(264.7059 89.4737% 77.6471%);
+ --color-secondary-600: hsl(264.7059 53.7579% 67.387%);
+ --color-secondary-700: hsl(264.7059 35.5279% 57.4085%);
+ --color-secondary-800: hsl(264.7059 26.8251% 47.7377%);
+ --color-secondary-900: hsl(264.7059 27.4983% 38.4072%);
+ --color-accent-content: hsl(28.3535 69.4897% 5.0802%);
+ --color-accent-50: hsl(30.498 100% 84.7445%);
+ --color-accent-100: hsl(30.5044 100% 83.3204%);
+ --color-accent-200: hsl(30.5434 100% 80.4324%);
+ --color-accent-300: hsl(30.6279 100% 77.4722%);
+ --color-accent-400: hsl(30.7767 100% 74.4056%);
+ --color-accent-500: hsl(31.0204 100% 71.1765%);
+ --color-accent-600: hsl(31.0204 65.9964% 61.7149%);
+ --color-accent-700: hsl(31.0204 45.9234% 52.5129%);
+ --color-accent-800: hsl(31.0204 42.3337% 43.5947%);
+ --color-accent-900: hsl(31.0204 43.4999% 34.9903%);
+ --color-neutral-content: hsl(228.5119 7.5426% 84.9164%);
+ --color-neutral-50: hsl(228.7476 7.1804% 59.7062%);
+ --color-neutral-100: hsl(228.7972 7.1174% 56.2417%);
+ --color-neutral-200: hsl(228.916 7.1422% 49.4266%);
+ --color-neutral-300: hsl(229.07 9.1319% 42.7722%);
+ --color-neutral-400: hsl(229.2764 11.6705% 36.2914%);
+ --color-neutral-500: hsl(229.5652 15.0327% 30%);
+ --color-neutral-600: hsl(229.5652 15.4309% 25.6194%);
+ --color-neutral-700: hsl(229.5652 15.9749% 21.3591%);
+ --color-neutral-800: hsl(229.5652 16.7588% 17.2301%);
+ --color-neutral-900: hsl(229.5652 17.9783% 13.2464%);
+ --color-info-content: hsl(190.7831 52.2364% 5.587%);
+ --color-info-50: hsl(190.9724 97.5291% 88.1319%);
+ --color-info-100: hsl(190.9432 97.4127% 86.9765%);
+ --color-info-200: hsl(190.8727 97.1892% 84.6091%);
+ --color-info-300: hsl(190.7831 96.9793% 82.1519%);
+ --color-info-400: hsl(190.6699 96.7852% 79.5812%);
+ --color-info-500: hsl(190.5263 96.6102% 76.8627%);
+ --color-info-600: hsl(190.5263 58.8419% 66.6995%);
+ --color-info-700: hsl(190.5263 39.162% 56.8151%);
+ --color-info-800: hsl(190.5263 30.2997% 47.2355%);
+ --color-info-900: hsl(190.5263 31.0684% 37.9931%);
+ --color-success-content: hsl(129.7201 81.9304% 4.5887%);
+ --color-success-50: hsl(128.2448 98.0719% 84.1559%);
+ --color-success-100: hsl(128.6906 97.5433% 82.4676%);
+ --color-success-200: hsl(129.7163 96.5603% 78.8817%);
+ --color-success-300: hsl(130.9926 95.6897% 74.9196%);
+ --color-success-400: hsl(132.6797 94.9614% 70.3687%);
+ --color-success-500: hsl(135.1765 94.4444% 64.7059%);
+ --color-success-600: hsl(135.1765 66.4739% 56.0427%);
+ --color-success-700: hsl(135.1765 52.9635% 47.6173%);
+ --color-success-800: hsl(135.1765 54.0986% 39.4517%);
+ --color-success-900: hsl(135.1765 55.7502% 31.5734%);
+ --color-warning-content: hsl(65.024 50.978% 5.5294%);
+ --color-warning-50: hsl(66.4482 93.4042% 87.9702%);
+ --color-warning-100: hsl(66.2798 93.1772% 86.7927%);
+ --color-warning-200: hsl(65.9416 92.7455% 84.3782%);
+ --color-warning-300: hsl(65.601 92.3465% 81.8699%);
+ --color-warning-400: hsl(65.2573 91.9847% 79.2451%);
+ --color-warning-500: hsl(64.9091 91.6667% 76.4706%);
+ --color-warning-600: hsl(64.9091 56.1971% 66.3557%);
+ --color-warning-700: hsl(64.9091 37.5301% 56.5184%);
+ --color-warning-800: hsl(64.9091 29.3928% 46.9844%);
+ --color-warning-900: hsl(64.9091 30.1426% 37.786%);
+ --color-danger-content: hsl(360 80.335% 4.7747%);
+ --color-danger-50: hsl(4.5218 100% 81.6113%);
+ --color-danger-100: hsl(4.2119 100% 79.9674%);
+ --color-danger-200: hsl(3.5048 100% 76.6825%);
+ --color-danger-300: hsl(2.6403 100% 73.3893%);
+ --color-danger-400: hsl(1.5334 100% 70.0648%);
+ --color-danger-500: hsl(0 100% 66.6667%);
+ --color-danger-600: hsl(360 69.1789% 57.7615%);
+ --color-danger-700: hsl(360 51.3633% 49.1008%);
+ --color-danger-800: hsl(0 52.4301% 40.7072%);
+ --color-danger-900: hsl(360 53.98% 32.6088%);
+ --color-surface-200: hsl(231.4286 15.3279% 16.356%);
+ --color-surface-300: hsl(231.4286 15.8335% 14.4607%);
+}
+
+[data-theme="cmyk"] {
+ color-scheme: light;
+ --color-primary: hsl(202.7219 83.2512% 60.1961%);
+ --color-secondary: hsl(335.25 77.6699% 59.6078%);
+ --color-accent: hsl(56.1951 100% 59.8039%);
+ --color-neutral: hsl(0 0% 10.1961%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-info: hsl(192.2034 48.3607% 52.1569%);
+ --color-success: hsl(291.0638 48.4536% 38.0392%);
+ --color-warning: hsl(25.0267 84.6154% 56.6667%);
+ --color-danger: hsl(3.956 80.531% 55.6863%);
+ --color-primary-content: hsl(208.3528 85.2384% 4.1669%);
+ --color-primary-50: hsl(204.8062 85.1282% 79.9227%);
+ --color-primary-100: hsl(204.6929 84.818% 77.9852%);
+ --color-primary-200: hsl(204.4186 84.2456% 74.0044%);
+ --color-primary-300: hsl(204.0519 83.757% 69.8252%);
+ --color-primary-400: hsl(203.5323 83.3938% 65.3218%);
+ --color-primary-500: hsl(202.7219 83.2512% 60.1961%);
+ --color-primary-600: hsl(202.7219 60.6301% 52.0894%);
+ --color-primary-700: hsl(202.7219 56.716% 44.2052%);
+ --color-primary-800: hsl(202.7219 58.0275% 36.5641%);
+ --color-primary-900: hsl(202.7219 59.9436% 29.1919%);
+ --color-secondary-content: hsl(342.5628 83.408% 4.0369%);
+ --color-secondary-50: hsl(340.9226 90.4677% 80.5355%);
+ --color-secondary-100: hsl(340.4917 88.7202% 78.513%);
+ --color-secondary-200: hsl(339.5367 85.4522% 74.3085%);
+ --color-secondary-300: hsl(338.4159 82.4897% 69.8458%);
+ --color-secondary-400: hsl(337.0457 79.8633% 65.0235%);
+ --color-secondary-500: hsl(335.25 77.6699% 59.6078%);
+ --color-secondary-600: hsl(335.25 56.79% 51.5738%);
+ --color-secondary-700: hsl(335.25 54.2417% 43.7602%);
+ --color-secondary-800: hsl(335.25 55.509% 36.1875%);
+ --color-secondary-900: hsl(335.25 57.3617% 28.8813%);
+ --color-accent-content: hsl(55.0595 92.6247% 4.47%);
+ --color-accent-50: hsl(56.6701 98.3135% 82.318%);
+ --color-accent-100: hsl(56.5387 98.53% 80.5085%);
+ --color-accent-200: hsl(56.3105 98.9455% 76.6664%);
+ --color-accent-300: hsl(56.1421 99.3344% 72.372%);
+ --color-accent-400: hsl(56.067 99.6905% 67.2295%);
+ --color-accent-500: hsl(56.1951 100% 59.8039%);
+ --color-accent-600: hsl(56.1951 73.0214% 51.7456%);
+ --color-accent-700: hsl(56.1951 69.2624% 43.9085%);
+ --color-accent-800: hsl(56.1951 70.8751% 36.313%);
+ --color-accent-900: hsl(56.1951 73.2321% 28.9848%);
+ --color-neutral-content: hsl(223.8136 0% 79.7895%);
+ --color-neutral-50: hsl(223.8136 0% 46.7263%);
+ --color-neutral-100: hsl(223.8136 0% 42.2843%);
+ --color-neutral-200: hsl(223.8136 0% 33.6486%);
+ --color-neutral-300: hsl(223.8136 0% 25.3798%);
+ --color-neutral-400: hsl(223.8136 0% 17.5346%);
+ --color-neutral-500: hsl(0 0% 10.1961%);
+ --color-neutral-600: hsl(223.8136 0% 8.2592%);
+ --color-neutral-700: hsl(223.8136 0% 6.3755%);
+ --color-neutral-800: hsl(223.8136 0% 4.5499%);
+ --color-neutral-900: hsl(223.8136 0% 2.8828%);
+ --color-info-content: hsl(196.4254 76.4613% 3.0069%);
+ --color-info-50: hsl(193.4024 46.4431% 74.7537%);
+ --color-info-100: hsl(193.3396 46.5097% 72.4102%);
+ --color-info-200: hsl(193.1827 46.7061% 67.6594%);
+ --color-info-300: hsl(192.9679 47.0206% 62.7795%);
+ --color-info-400: hsl(192.6633 47.5227% 57.6785%);
+ --color-info-500: hsl(192.2034 48.3607% 52.1569%);
+ --color-info-600: hsl(192.2034 45.0293% 45.0422%);
+ --color-info-700: hsl(192.2034 45.9187% 38.1228%);
+ --color-info-800: hsl(192.2034 47.1545% 31.4168%);
+ --color-info-900: hsl(192.2034 48.9765% 24.9467%);
+ --color-success-content: hsl(291.4769 31.417% 87.5815%);
+ --color-success-50: hsl(291.1507 30.2435% 66.1403%);
+ --color-success-100: hsl(291.105 30.0895% 63.0941%);
+ --color-success-200: hsl(291.0214 29.8106% 56.9945%);
+ --color-success-300: hsl(290.9605 29.5988% 50.8537%);
+ --color-success-400: hsl(290.9507 36.6721% 44.5983%);
+ --color-success-500: hsl(291.0638 48.4536% 38.0392%);
+ --color-success-600: hsl(291.0638 49.4603% 32.6666%);
+ --color-success-700: hsl(291.0638 50.8174% 27.4415%);
+ --color-success-800: hsl(291.0638 52.7375% 22.3775%);
+ --color-success-900: hsl(291.0638 55.6438% 17.4916%);
+ --color-warning-content: hsl(15.6727 91.5104% 4.0305%);
+ --color-warning-50: hsl(22.4417 90.6782% 78.4351%);
+ --color-warning-100: hsl(22.5456 89.854% 76.3321%);
+ --color-warning-200: hsl(22.8086 88.2823% 72.0044%);
+ --color-warning-300: hsl(23.1937 86.8337% 67.4467%);
+ --color-warning-400: hsl(23.8196 85.561% 62.4934%);
+ --color-warning-500: hsl(25.0267 84.6154% 56.6667%);
+ --color-warning-600: hsl(25.0267 65.6022% 48.9955%);
+ --color-warning-700: hsl(25.0267 66.7915% 41.5349%);
+ --color-warning-800: hsl(25.0267 68.4377% 34.3043%);
+ --color-warning-900: hsl(25.0267 70.8517% 27.3282%);
+ --color-danger-content: hsl(1.4472 91.2249% 3.8993%);
+ --color-danger-50: hsl(7.5281 94.4656% 77.7269%);
+ --color-danger-100: hsl(7.3341 92.6594% 75.5053%);
+ --color-danger-200: hsl(6.8556 89.2314% 70.9487%);
+ --color-danger-300: hsl(6.2143 86.0441% 66.2078%);
+ --color-danger-400: hsl(5.3207 83.1156% 61.1974%);
+ --color-danger-500: hsl(3.956 80.531% 55.6863%);
+ --color-danger-600: hsl(3.956 64.988% 48.1361%);
+ --color-danger-700: hsl(3.956 66.1876% 40.7931%);
+ --color-danger-800: hsl(3.956 67.8494% 33.6766%);
+ --color-danger-900: hsl(3.956 70.2888% 26.8105%);
+ --color-surface-200: hsl(223.8136 0.0001% 90.851%);
+ --color-surface-300: hsl(223.8136 0% 82.4954%);
+ --color-surface-content: hsl(223.8136 0% 8.6104%);
+}
+
+[data-theme="autumn"] {
+ color-scheme: light;
+ --color-primary: hsl(344.2336 95.8042% 28.0392%);
+ --color-secondary: hsl(0.4444 63.3803% 58.2353%);
+ --color-accent: hsl(27.4766 56.0209% 62.549%);
+ --color-neutral: hsl(22.1053 17.1171% 43.5294%);
+ --color-surface-100: hsl(0 0% 94.5098%);
+ --color-info: hsl(186.9421 47.8261% 49.6078%);
+ --color-success: hsl(164.5946 33.6364% 43.1373%);
+ --color-warning: hsl(30.1408 84.1897% 49.6078%);
+ --color-danger: hsl(354.4845 100% 41.642%);
+ --color-primary-content: hsl(359.7822 43.9393% 87.1844%);
+ --color-primary-50: hsl(358.0209 38.9348% 64.1187%);
+ --color-primary-100: hsl(357.6026 38.2676% 60.7289%);
+ --color-primary-200: hsl(356.5219 37.0114% 53.8268%);
+ --color-primary-300: hsl(354.9098 41.0895% 46.6607%);
+ --color-primary-400: hsl(352.1432 55.5307% 38.8986%);
+ --color-primary-500: hsl(344.2336 95.8042% 28.0392%);
+ --color-primary-600: hsl(344.7131 96.4491% 24.1531%);
+ --color-primary-700: hsl(345.4076 97.0474% 20.401%);
+ --color-primary-800: hsl(346.432 97.5965% 16.789%);
+ --color-primary-900: hsl(348.0043 98.093% 13.3252%);
+ --color-secondary-content: hsl(0.2272 77.0618% 3.7077%);
+ --color-secondary-50: hsl(3.9709 73.8854% 77.9902%);
+ --color-secondary-100: hsl(3.7621 72.6137% 75.876%);
+ --color-secondary-200: hsl(3.2584 70.15% 71.5931%);
+ --color-secondary-300: hsl(2.6012 67.7884% 67.2339%);
+ --color-secondary-400: hsl(1.714 65.5289% 62.7884%);
+ --color-secondary-500: hsl(0.4444 63.3803% 58.2353%);
+ --color-secondary-600: hsl(0.4444 46.7549% 50.3706%);
+ --color-secondary-700: hsl(0.4444 46.8789% 42.7217%);
+ --color-secondary-800: hsl(0.4444 48.0015% 35.3087%);
+ --color-secondary-900: hsl(0.4444 49.6448% 28.1565%);
+ --color-accent-content: hsl(23.1592 62.2725% 3.9486%);
+ --color-accent-50: hsl(26.6918 57.9104% 79.6627%);
+ --color-accent-100: hsl(26.749 57.6731% 77.7967%);
+ --color-accent-200: hsl(26.8783 57.2123% 74.0475%);
+ --color-accent-300: hsl(27.034 56.7757% 70.2672%);
+ --color-accent-400: hsl(27.2274 56.3733% 66.4418%);
+ --color-accent-500: hsl(27.4766 56.0209% 62.549%);
+ --color-accent-600: hsl(27.4766 40.114% 54.152%);
+ --color-accent-700: hsl(27.4766 34.5188% 45.9854%);
+ --color-accent-800: hsl(27.4766 35.2854% 38.0707%);
+ --color-accent-900: hsl(27.4766 36.403% 30.4344%);
+ --color-neutral-content: hsl(21.7051 14.4479% 88.1294%);
+ --color-neutral-50: hsl(21.8336 13.9743% 68.0144%);
+ --color-neutral-100: hsl(21.8561 13.8981% 65.2139%);
+ --color-neutral-200: hsl(21.9052 13.7385% 59.6709%);
+ --color-neutral-300: hsl(21.9613 13.5684% 54.2074%);
+ --color-neutral-400: hsl(22.0268 14.0309% 48.8261%);
+ --color-neutral-500: hsl(22.1053 17.1171% 43.5294%);
+ --color-neutral-600: hsl(22.1053 17.4271% 37.4793%);
+ --color-neutral-700: hsl(22.1053 17.8424% 31.5953%);
+ --color-neutral-800: hsl(22.1053 18.425% 25.8927%);
+ --color-neutral-900: hsl(22.1053 19.296% 20.3908%);
+ --color-info-content: hsl(189.8329 79.9138% 2.8035%);
+ --color-info-50: hsl(187.6316 43.8366% 73.8052%);
+ --color-info-100: hsl(187.6134 43.987% 71.3575%);
+ --color-info-200: hsl(187.5526 44.3735% 66.3754%);
+ --color-info-300: hsl(187.4455 44.9229% 61.2154%);
+ --color-info-400: hsl(187.2636 45.7411% 55.739%);
+ --color-info-500: hsl(186.9421 47.8261% 49.6078%);
+ --color-info-600: hsl(186.9421 48.5843% 42.8077%);
+ --color-info-700: hsl(186.9421 49.5951% 36.1942%);
+ --color-info-800: hsl(186.9421 51.0029% 29.7847%);
+ --color-info-900: hsl(186.9421 53.0861% 23.6006%);
+ --color-success-content: hsl(159.7703 62.82% 1.8522%);
+ --color-success-50: hsl(161.7205 24.1199% 68.9039%);
+ --color-success-100: hsl(161.9382 24.1719% 66.1021%);
+ --color-success-200: hsl(162.4256 24.32% 60.488%);
+ --color-success-300: hsl(163.0019 24.5517% 54.8343%);
+ --color-success-400: hsl(163.703 25.8435% 49.0873%);
+ --color-success-500: hsl(164.5946 33.6364% 43.1373%);
+ --color-success-600: hsl(164.5946 34.2511% 37.1356%);
+ --color-success-700: hsl(164.5946 35.0751% 31.2986%);
+ --color-success-800: hsl(164.5946 36.2317% 25.6416%);
+ --color-success-900: hsl(164.5946 37.962% 20.1837%);
+ --color-warning-content: hsl(17.2366 98.0793% 3.7644%);
+ --color-warning-50: hsl(25.1016 86.5844% 76.4303%);
+ --color-warning-100: hsl(25.2458 85.907% 74.1214%);
+ --color-warning-200: hsl(25.625 84.6391% 69.3357%);
+ --color-warning-300: hsl(26.2144 83.5325% 64.1965%);
+ --color-warning-400: hsl(27.2725 82.7199% 58.3212%);
+ --color-warning-500: hsl(30.1408 84.1897% 49.6078%);
+ --color-warning-600: hsl(30.1408 85.5245% 42.8077%);
+ --color-warning-700: hsl(30.1408 87.3037% 36.1942%);
+ --color-warning-800: hsl(30.1092 89.6017% 29.813%);
+ --color-warning-900: hsl(29.8634 91.7987% 23.8037%);
+ --color-danger-content: hsl(4.986 99.3475% 90.8534%);
+ --color-danger-50: hsl(3.2054 83.4371% 73.2191%);
+ --color-danger-100: hsl(2.7424 81.4951% 70.5394%);
+ --color-danger-200: hsl(1.487 77.8227% 65.0369%);
+ --color-danger-300: hsl(359.4121 74.6315% 58.9829%);
+ --color-danger-400: hsl(354.9466 73.2158% 49.998%);
+ --color-danger-500: hsl(354.4845 100% 41.642%);
+ --color-danger-600: hsl(354.9957 100% 36.1642%);
+ --color-danger-700: hsl(355.6672 100% 30.8367%);
+ --color-danger-800: hsl(356.4983 100% 25.6735%);
+ --color-danger-900: hsl(357.264 100% 20.692%);
+ --color-surface-200: hsl(223.8136 0% 85.8369%);
+ --color-surface-300: hsl(223.8136 0% 77.9161%);
+ --color-surface-content: hsl(223.8136 0% 7.8761%);
+}
+
+[data-theme="business"] {
+ color-scheme: dark;
+ --color-primary: hsl(210 64.1026% 30.5882%);
+ --color-secondary: hsl(200 12.931% 54.5098%);
+ --color-accent: hsl(12.5153 79.5122% 59.8039%);
+ --color-neutral: hsl(212.7273 13.5802% 15.8824%);
+ --color-surface-100: hsl(0 0% 12.549%);
+ --color-info: hsl(199.1549 100% 41.7647%);
+ --color-success: hsl(144 30.9735% 55.6863%);
+ --color-warning: hsl(39.2308 64.3564% 60.3922%);
+ --color-danger: hsl(6.3415 55.6561% 43.3333%);
+ --rounded-box: 0.25rem;
+ --rounded-btn: 0.125rem;
+ --rounded-badge: 0.125rem;
+ --color-primary-content: hsl(211.9142 30.4685% 85.6944%);
+ --color-primary-50: hsl(211.6742 29.2018% 61.3824%);
+ --color-primary-100: hsl(211.623 29.0154% 57.9803%);
+ --color-primary-200: hsl(211.4902 28.6516% 51.2171%);
+ --color-primary-300: hsl(211.2823 35.3524% 44.4821%);
+ --color-primary-400: hsl(210.9011 46.4518% 37.6981%);
+ --color-primary-500: hsl(210 64.1026% 30.5882%);
+ --color-primary-600: hsl(210 65.7672% 26.1351%);
+ --color-primary-700: hsl(210 68.0384% 21.8041%);
+ --color-primary-800: hsl(210 71.3057% 17.6067%);
+ --color-primary-900: hsl(210.055 76.1295% 13.576%);
+ --color-secondary-content: hsl(201.8357 23.1727% 2.7116%);
+ --color-secondary-50: hsl(200.2005 13.2026% 74.4186%);
+ --color-secondary-100: hsl(200.1838 13.1735% 72.1591%);
+ --color-secondary-200: hsl(200.147 13.1143% 67.6749%);
+ --color-secondary-300: hsl(200.105 13.0539% 63.238%);
+ --color-secondary-400: hsl(200.0566 12.9926% 58.8494%);
+ --color-secondary-500: hsl(200 12.931% 54.5098%);
+ --color-secondary-600: hsl(200 10.9468% 47.1048%);
+ --color-secondary-700: hsl(200 11.1534% 39.903%);
+ --color-secondary-800: hsl(200 11.4398% 32.9233%);
+ --color-secondary-900: hsl(200 11.8609% 26.1892%);
+ --color-accent-content: hsl(7.0767 84.0379% 4.0801%);
+ --color-accent-50: hsl(12.8008 89.374% 79.2809%);
+ --color-accent-100: hsl(12.7671 88.1328% 77.2657%);
+ --color-accent-200: hsl(12.6881 85.7511% 73.1554%);
+ --color-accent-300: hsl(12.6003 83.5063% 68.9163%);
+ --color-accent-400: hsl(12.5239 81.4129% 64.5003%);
+ --color-accent-500: hsl(12.5153 79.5122% 59.8039%);
+ --color-accent-600: hsl(12.5153 58.0609% 51.7456%);
+ --color-accent-700: hsl(12.5153 55.072% 43.9085%);
+ --color-accent-800: hsl(12.5153 56.3543% 36.313%);
+ --color-accent-900: hsl(12.5153 58.2285% 28.9848%);
+ --color-neutral-content: hsl(212.8863 3.0767% 81.3508%);
+ --color-neutral-50: hsl(212.8512 2.9246% 50.6328%);
+ --color-neutral-100: hsl(212.844 3.3363% 46.4743%);
+ --color-neutral-200: hsl(212.8265 4.5557% 38.3558%);
+ --color-neutral-300: hsl(212.8038 6.2849% 30.5253%);
+ --color-neutral-400: hsl(212.7729 8.9406% 23.0183%);
+ --color-neutral-500: hsl(212.7273 13.5802% 15.8824%);
+ --color-neutral-600: hsl(212.7273 14.2762% 13.2438%);
+ --color-neutral-700: hsl(212.7273 15.2829% 10.6777%);
+ --color-neutral-800: hsl(212.7273 16.8605% 8.1908%);
+ --color-neutral-900: hsl(212.7273 19.6668% 5.7913%);
+ --color-info-content: hsl(212.5951 100% 3.2038%);
+ --color-info-50: hsl(204.9772 68.8424% 73.5398%);
+ --color-info-100: hsl(204.8233 68.6424% 70.9989%);
+ --color-info-200: hsl(204.4219 68.3451% 65.7488%);
+ --color-info-300: hsl(203.81 68.2709% 60.1164%);
+ --color-info-400: hsl(202.7269 68.6838% 53.5988%);
+ --color-info-500: hsl(199.1549 100% 41.7647%);
+ --color-info-600: hsl(199.3341 100% 36.2717%);
+ --color-info-700: hsl(199.5695 100% 30.9295%);
+ --color-info-800: hsl(199.8907 100% 25.752%);
+ --color-info-900: hsl(200.3526 100% 20.7567%);
+ --color-success-content: hsl(139.6933 49.6712% 3.0195%);
+ --color-success-50: hsl(140.9887 30.3385% 75.8203%);
+ --color-success-100: hsl(141.2316 30.3576% 73.6196%);
+ --color-success-200: hsl(141.7691 30.4224% 69.2043%);
+ --color-success-300: hsl(142.3905 30.533% 64.7588%);
+ --color-success-400: hsl(143.1213 30.7072% 60.2634%);
+ --color-success-500: hsl(144 30.9735% 55.6863%);
+ --color-success-600: hsl(144 24.9954% 48.1361%);
+ --color-success-700: hsl(144 25.4568% 40.7931%);
+ --color-success-800: hsl(144 26.0959% 33.6766%);
+ --color-success-900: hsl(144 27.0342% 26.8105%);
+ --color-warning-content: hsl(35.11 73.3698% 3.8774%);
+ --color-warning-50: hsl(38.1926 64.0169% 78.9784%);
+ --color-warning-100: hsl(38.2426 63.9819% 77.0255%);
+ --color-warning-200: hsl(38.3737 63.9456% 73.0711%);
+ --color-warning-300: hsl(38.5606 63.9709% 69.024%);
+ --color-warning-400: hsl(38.8302 64.0888% 64.8309%);
+ --color-warning-500: hsl(39.2308 64.3564% 60.3922%);
+ --color-warning-600: hsl(39.2308 46.8064% 52.2613%);
+ --color-warning-700: hsl(39.2308 43.4818% 44.3536%);
+ --color-warning-800: hsl(39.2308 44.4838% 36.6897%);
+ --color-warning-900: hsl(39.2308 45.9475% 29.2955%);
+ --color-danger-content: hsl(9.0406 53.9346% 88.9946%);
+ --color-danger-50: hsl(8.5775 48.7104% 69.4418%);
+ --color-danger-100: hsl(8.4597 47.9787% 66.6165%);
+ --color-danger-200: hsl(8.162 46.5316% 60.9343%);
+ --color-danger-300: hsl(7.7535 45.1181% 55.1946%);
+ --color-danger-400: hsl(7.1801 44.9039% 49.3597%);
+ --color-danger-500: hsl(6.3415 55.6561% 43.3333%);
+ --color-danger-600: hsl(6.3415 56.6686% 37.3075%);
+ --color-danger-700: hsl(6.3415 58.0255% 31.447%);
+ --color-danger-800: hsl(6.3415 59.9295% 25.7672%);
+ --color-danger-900: hsl(6.3415 62.777% 20.2873%);
+ --color-surface-200: hsl(223.8136 0% 10.9838%);
+ --color-surface-300: hsl(223.8136 0% 9.5543%);
+ --color-surface-content: hsl(223.8136 0% 80.4409%);
+}
+
+[data-theme="acid"] {
+ color-scheme: light;
+ --color-primary: hsl(300 100% 50%);
+ --color-secondary: hsl(25.9816 100% 50%);
+ --color-accent: hsl(73.0318 100% 50%);
+ --color-neutral: hsl(254.0153 97.4904% 16.1015%);
+ --color-surface-100: hsl(0 0% 98.0392%);
+ --color-info: hsl(210.0636 100% 50%);
+ --color-success: hsl(152.4739 100% 50%);
+ --color-warning: hsl(53.2818 100% 50%);
+ --color-danger: hsl(0 100% 50%);
+ --rounded-box: 1.25rem;
+ --rounded-btn: 1rem;
+ --rounded-badge: 1rem;
+ --tab-radius: 0.7rem;
+ --color-primary-content: hsl(303.7094 100% 4.8138%);
+ --color-primary-50: hsl(300 100% 79.7412%);
+ --color-primary-100: hsl(300 100% 77.575%);
+ --color-primary-200: hsl(300 100% 72.8384%);
+ --color-primary-300: hsl(300 100% 67.1361%);
+ --color-primary-400: hsl(300 100% 58.5001%);
+ --color-primary-500: hsl(300 100% 50%);
+ --color-primary-600: hsl(302.4994 100% 46.824%);
+ --color-primary-700: hsl(302.5229 100% 40.0371%);
+ --color-primary-800: hsl(302.5548 100% 33.4595%);
+ --color-primary-900: hsl(302.6002 100% 27.1134%);
+ --color-secondary-content: hsl(10.1311 100% 4.8114%);
+ --color-secondary-50: hsl(23.6927 100% 76.2996%);
+ --color-secondary-100: hsl(23.7165 100% 73.9684%);
+ --color-secondary-200: hsl(23.9438 100% 69.0094%);
+ --color-secondary-300: hsl(24.6847 100% 63.2298%);
+ --color-secondary-400: hsl(27.6825 100% 53.8578%);
+ --color-secondary-500: hsl(25.9816 100% 50%);
+ --color-secondary-600: hsl(23.8934 100% 46.8088%);
+ --color-secondary-700: hsl(23.5537 100% 40.024%);
+ --color-secondary-800: hsl(23.0931 100% 33.4485%);
+ --color-secondary-900: hsl(22.4368 100% 27.1043%);
+ --color-accent-content: hsl(80.5651 100% 4.3404%);
+ --color-accent-50: hsl(77.0177 100% 78.2827%);
+ --color-accent-100: hsl(76.637 100% 75.8468%);
+ --color-accent-200: hsl(75.6887 100% 70.3186%);
+ --color-accent-300: hsl(74.2299 100% 62.8551%);
+ --color-accent-400: hsl(71.8109 100% 50%);
+ --color-accent-500: hsl(73.0318 100% 50%);
+ --color-accent-600: hsl(73.3808 100% 43.7215%);
+ --color-accent-700: hsl(73.5156 100% 37.3594%);
+ --color-accent-800: hsl(73.6988 100% 31.1935%);
+ --color-accent-900: hsl(73.9603 100% 25.2445%);
+ --color-neutral-content: hsl(231.8127 23.4749% 82.2725%);
+ --color-neutral-50: hsl(233.6449 21.0781% 52.7408%);
+ --color-neutral-100: hsl(234.1486 21.7398% 48.7122%);
+ --color-neutral-200: hsl(235.5731 28.5165% 40.8393%);
+ --color-neutral-300: hsl(238.0264 37.1684% 33.2711%);
+ --color-neutral-400: hsl(242.9395 51.9839% 25.4939%);
+ --color-neutral-500: hsl(254.0153 97.4904% 16.1015%);
+ --color-neutral-600: hsl(252.9572 97.8569% 13.7455%);
+ --color-neutral-700: hsl(251.4827 98.1952% 11.4635%);
+ --color-neutral-800: hsl(249.5473 98.5033% 9.2603%);
+ --color-neutral-900: hsl(247.774 98.7779% 7.1418%);
+ --color-info-content: hsl(225.0408 100% 4.4164%);
+ --color-info-50: hsl(210.0186 100% 74.1831%);
+ --color-info-100: hsl(209.9793 100% 71.6469%);
+ --color-info-200: hsl(209.6887 100% 66.2016%);
+ --color-info-300: hsl(208.6982 100% 59.4997%);
+ --color-info-400: hsl(206.562 100% 50%);
+ --color-info-500: hsl(210.0636 100% 50%);
+ --color-info-600: hsl(210.7877 100% 44.2196%);
+ --color-info-700: hsl(211.0945 100% 37.7893%);
+ --color-info-800: hsl(211.511 100% 31.5573%);
+ --color-info-900: hsl(212.1055 100% 25.5446%);
+ --color-success-content: hsl(138.1514 100% 4.3426%);
+ --color-success-50: hsl(149.0902 100% 76.2099%);
+ --color-success-100: hsl(150.0929 100% 73.1203%);
+ --color-success-200: hsl(152.9737 100% 65.1278%);
+ --color-success-300: hsl(158.3301 100% 50%);
+ --color-success-400: hsl(155.4451 100% 50%);
+ --color-success-500: hsl(152.4739 100% 50%);
+ --color-success-600: hsl(152.0782 100% 43.7361%);
+ --color-success-700: hsl(151.7969 100% 37.372%);
+ --color-success-800: hsl(151.4148 100% 31.2042%);
+ --color-success-900: hsl(150.8692 100% 25.2533%);
+ --color-warning-content: hsl(48.6708 100% 4.3843%);
+ --color-warning-50: hsl(52.3743 100% 78.7644%);
+ --color-warning-100: hsl(52.3745 100% 76.4638%);
+ --color-warning-200: hsl(52.4598 100% 71.3651%);
+ --color-warning-300: hsl(52.7474 100% 64.9582%);
+ --color-warning-400: hsl(53.9826 100% 51.1169%);
+ --color-warning-500: hsl(53.2818 100% 50%);
+ --color-warning-600: hsl(52.6028 100% 44.0089%);
+ --color-warning-700: hsl(52.5287 100% 37.6075%);
+ --color-warning-800: hsl(52.4281 100% 31.4034%);
+ --color-warning-900: hsl(52.2845 100% 25.4176%);
+ --color-danger-content: hsl(0 100% 4.8612%);
+ --color-danger-50: hsl(8.8437 100% 75.3492%);
+ --color-danger-100: hsl(8.3614 100% 73.0335%);
+ --color-danger-200: hsl(7.2264 100% 68.2221%);
+ --color-danger-300: hsl(5.7332 100% 62.8914%);
+ --color-danger-400: hsl(3.4 100% 55.6562%);
+ --color-danger-500: hsl(0 100% 50%);
+ --color-danger-600: hsl(360 100% 47.1349%);
+ --color-danger-700: hsl(0 100% 40.3055%);
+ --color-danger-800: hsl(0 100% 33.6866%);
+ --color-danger-900: hsl(0 100% 27.3007%);
+ --color-surface-200: hsl(223.8136 0.0001% 89.0602%);
+ --color-surface-300: hsl(223.8136 0% 80.8599%);
+ --color-surface-content: hsl(223.8136 0% 8.3482%);
+}
+
+[data-theme="lemonade"] {
+ color-scheme: light;
+ --color-primary: hsl(93.4996 100% 29.0294%);
+ --color-secondary: hsl(60.8502 100% 37.6616%);
+ --color-accent: hsl(52.6958 100% 46.4788%);
+ --color-neutral: hsl(58.4134 100% 10.1809%);
+ --color-surface-100: hsl(82.6841 81.8906% 96.5044%);
+ --color-info: hsl(197.1466 55.5016% 80.42%);
+ --color-success: hsl(142.5226 32.7183% 79.3071%);
+ --color-warning: hsl(54.0615 32.8556% 76.7519%);
+ --color-danger: hsl(6.2376 58.9836% 84.8923%);
+ --color-primary-content: hsl(109.1708 100% 1.5316%);
+ --color-primary-50: hsl(97.93 38.4425% 63.2134%);
+ --color-primary-100: hsl(97.5997 38.486% 59.7635%);
+ --color-primary-200: hsl(96.6731 38.7883% 52.6394%);
+ --color-primary-300: hsl(95.0069 48.8173% 44.8423%);
+ --color-primary-400: hsl(89.9607 85.7813% 33.5969%);
+ --color-primary-500: hsl(93.4996 100% 29.0294%);
+ --color-primary-600: hsl(93.9523 100% 25.108%);
+ --color-primary-700: hsl(94.5526 100% 21.2941%);
+ --color-primary-800: hsl(95.3827 100% 17.5979%);
+ --color-primary-900: hsl(96.598 100% 14.0317%);
+ --color-secondary-content: hsl(61.6131 100% 2.655%);
+ --color-secondary-50: hsl(63.2518 56.1981% 70.3169%);
+ --color-secondary-100: hsl(62.9727 56.3816% 67.3239%);
+ --color-secondary-200: hsl(62.4033 57.039% 60.9192%);
+ --color-secondary-300: hsl(61.8114 58.4603% 53.3641%);
+ --color-secondary-400: hsl(61.082 100% 38.9992%);
+ --color-secondary-500: hsl(60.8502 100% 37.6616%);
+ --color-secondary-600: hsl(60.8591 100% 32.675%);
+ --color-secondary-700: hsl(60.8707 100% 27.8252%);
+ --color-secondary-800: hsl(60.8866 100% 23.1249%);
+ --color-secondary-900: hsl(60.9096 100% 18.59%);
+ --color-accent-content: hsl(48.1577 100% 3.8343%);
+ --color-accent-50: hsl(52.0804 82.9217% 75.8541%);
+ --color-accent-100: hsl(52.0424 83.2457% 73.3537%);
+ --color-accent-200: hsl(52.061 84.0111% 67.9033%);
+ --color-accent-300: hsl(52.3065 85.0851% 61.2291%);
+ --color-accent-400: hsl(53.6574 99.2271% 46.9722%);
+ --color-accent-500: hsl(52.6958 100% 46.4788%);
+ --color-accent-600: hsl(52.6344 100% 40.4042%);
+ --color-accent-700: hsl(52.554 100% 34.4962%);
+ --color-accent-800: hsl(52.4446 100% 28.7704%);
+ --color-accent-900: hsl(52.288 100% 23.2461%);
+ --color-neutral-content: hsl(62.4437 11.0501% 80.3925%);
+ --color-neutral-50: hsl(61.3377 11.6994% 47.9634%);
+ --color-neutral-100: hsl(61.1184 13.951% 43.5385%);
+ --color-neutral-200: hsl(60.6131 20.0975% 34.8351%);
+ --color-neutral-300: hsl(60.0045 30.456% 26.2683%);
+ --color-neutral-400: hsl(59.3163 54.0588% 17.6182%);
+ --color-neutral-500: hsl(58.4134 100% 10.1809%);
+ --color-neutral-600: hsl(58.3507 100% 8.5853%);
+ --color-neutral-700: hsl(58.2624 100% 7.0334%);
+ --color-neutral-800: hsl(58.1296 100% 5.5294%);
+ --color-neutral-900: hsl(57.9085 100% 4.0784%);
+ --color-info-content: hsl(197.1466 24.2582% 5.9916%);
+ --color-info-50: hsl(197.3691 55.6859% 89.2917%);
+ --color-info-100: hsl(197.3487 55.6586% 88.3127%);
+ --color-info-200: hsl(197.305 55.6085% 86.3506%);
+ --color-info-300: hsl(197.2572 55.565% 84.382%);
+ --color-info-400: hsl(197.2046 55.529% 82.4056%);
+ --color-info-500: hsl(197.1466 55.5016% 80.42%);
+ --color-info-600: hsl(197.1466 31.5623% 69.8178%);
+ --color-info-700: hsl(197.1466 20.3046% 59.5065%);
+ --color-info-800: hsl(197.1466 14.053% 49.5132%);
+ --color-info-900: hsl(197.1466 14.3927% 39.8715%);
+ --color-success-content: hsl(142.5226 15.4982% 5.8428%);
+ --color-success-50: hsl(141.6518 32.7194% 88.6213%);
+ --color-success-100: hsl(141.739 32.7147% 87.5875%);
+ --color-success-200: hsl(141.9199 32.7082% 85.5196%);
+ --color-success-300: hsl(142.1102 32.7063% 83.4506%);
+ --color-success-400: hsl(142.3108 32.7094% 81.38%);
+ --color-success-500: hsl(142.5226 32.7183% 79.3071%);
+ --color-success-600: hsl(142.5226 19.0479% 68.8422%);
+ --color-success-700: hsl(142.5226 12.3923% 58.6645%);
+ --color-success-800: hsl(142.5226 8.883% 48.8006%);
+ --color-success-900: hsl(142.5226 9.101% 39.2838%);
+ --color-warning-content: hsl(54.0615 18.5712% 5.501%);
+ --color-warning-50: hsl(54.4564 32.5814% 87.1401%);
+ --color-warning-100: hsl(54.4125 32.6067% 85.9808%);
+ --color-warning-200: hsl(54.3246 32.6607% 83.6663%);
+ --color-warning-300: hsl(54.2367 32.7198% 81.3571%);
+ --color-warning-400: hsl(54.1489 32.7845% 79.0526%);
+ --color-warning-500: hsl(54.0615 32.8556% 76.7519%);
+ --color-warning-600: hsl(54.0615 20.0485% 66.6023%);
+ --color-warning-700: hsl(54.0615 13.3562% 56.7313%);
+ --color-warning-800: hsl(54.0615 10.3694% 47.1646%);
+ --color-warning-900: hsl(54.0615 10.6329% 37.9345%);
+ --color-danger-content: hsl(6.2376 18.0861% 6.5898%);
+ --color-danger-50: hsl(6.4363 61.5681% 91.7492%);
+ --color-danger-100: hsl(6.4176 61.2769% 90.9918%);
+ --color-danger-200: hsl(6.3779 60.6976% 89.4737%);
+ --color-danger-300: hsl(6.3349 60.1224% 87.951%);
+ --color-danger-400: hsl(6.2882 59.5511% 86.4238%);
+ --color-danger-500: hsl(6.2376 58.9836% 84.8923%);
+ --color-danger-600: hsl(6.2376 29.7446% 73.7382%);
+ --color-danger-700: hsl(6.2376 18.1679% 62.8902%);
+ --color-danger-800: hsl(6.2376 11.9807% 52.3767%);
+ --color-danger-900: hsl(6.2376 11.142% 42.2332%);
+ --color-surface-200: hsl(82.6841 21.1834% 87.6585%);
+ --color-surface-300: hsl(82.6841 11.6925% 79.5797%);
+ --color-surface-content: hsl(82.6841 4.7019% 8.1429%);
+}
+
+[data-theme="night"] {
+ color-scheme: dark;
+ --color-primary: hsl(198.4375 93.2039% 59.6078%);
+ --color-secondary: hsl(234.4538 89.4737% 73.9216%);
+ --color-accent: hsl(328.855 85.6209% 70%);
+ --color-neutral: hsl(217.2414 32.5843% 17.451%);
+ --color-surface-100: hsl(222.2222 47.3684% 11.1765%);
+ --color-info: hsl(198.4615 90.2041% 48.0392%);
+ --color-info-content: hsl(0 0% 0%);
+ --color-success: hsl(172.4551 66.0079% 50.3922%);
+ --color-warning: hsl(40.6098 88.172% 63.5294%);
+ --color-danger: hsl(350.9353 94.5578% 71.1765%);
+ --color-primary-content: hsl(203.6994 90.5513% 4.326%);
+ --color-primary-50: hsl(201.1834 95.3375% 80.8549%);
+ --color-primary-100: hsl(201.0466 95.007% 78.9452%);
+ --color-primary-200: hsl(200.7106 94.3895% 74.9603%);
+ --color-primary-300: hsl(200.2524 93.8466% 70.6536%);
+ --color-primary-400: hsl(199.5808 93.4162% 65.7806%);
+ --color-primary-500: hsl(198.4375 93.2039% 59.6078%);
+ --color-primary-600: hsl(198.4375 68.148% 51.5738%);
+ --color-primary-700: hsl(198.4375 65.0901% 43.7602%);
+ --color-primary-800: hsl(198.4375 66.6109% 36.1875%);
+ --color-primary-900: hsl(198.4375 68.834% 28.8813%);
+ --color-secondary-content: hsl(235.565 56.8311% 5.2561%);
+ --color-secondary-50: hsl(231.3883 97.6838% 85.6269%);
+ --color-secondary-100: hsl(231.6256 96.7279% 84.3101%);
+ --color-secondary-200: hsl(232.1616 94.8549% 81.6823%);
+ --color-secondary-300: hsl(232.7946 93.027% 79.0686%);
+ --color-secondary-400: hsl(233.5481 91.2361% 76.478%);
+ --color-secondary-500: hsl(234.4538 89.4737% 73.9216%);
+ --color-secondary-600: hsl(234.4538 57.0088% 64.1212%);
+ --color-secondary-700: hsl(234.4538 38.8764% 54.5898%);
+ --color-secondary-800: hsl(234.4538 32.942% 45.3523%);
+ --color-secondary-900: hsl(234.4538 33.8134% 36.4399%);
+ --color-accent-content: hsl(331.3375 64.9536% 4.8701%);
+ --color-accent-50: hsl(332.2661 98.013% 85.0031%);
+ --color-accent-100: hsl(331.9428 96.4242% 83.4779%);
+ --color-accent-200: hsl(331.2651 93.4108% 80.3364%);
+ --color-accent-300: hsl(330.5363 90.6073% 77.0609%);
+ --color-accent-400: hsl(329.7407 88.0091% 73.6283%);
+ --color-accent-500: hsl(328.855 85.6209% 70%);
+ --color-accent-600: hsl(328.855 57.2704% 60.6836%);
+ --color-accent-700: hsl(328.855 40.1719% 51.6228%);
+ --color-accent-800: hsl(328.855 38.3893% 42.8414%);
+ --color-accent-900: hsl(328.855 39.4659% 34.3691%);
+ --color-neutral-content: hsl(217.0558 8.3669% 81.8251%);
+ --color-neutral-50: hsl(217.0594 7.9131% 51.7923%);
+ --color-neutral-100: hsl(217.0633 8.5821% 47.7122%);
+ --color-neutral-200: hsl(217.0769 11.6027% 39.7314%);
+ --color-neutral-300: hsl(217.1027 15.7981% 32.0085%);
+ --color-neutral-400: hsl(217.1509 22.0652% 24.5706%);
+ --color-neutral-500: hsl(217.2414 32.5843% 17.451%);
+ --color-neutral-600: hsl(217.2414 34.097% 14.6189%);
+ --color-neutral-700: hsl(217.2414 36.2609% 11.8646%);
+ --color-neutral-800: hsl(217.2414 39.5951% 9.1951%);
+ --color-neutral-900: hsl(217.2804 45.292% 6.6228%);
+ --color-info-50: hsl(203.4771 82.9215% 76.8862%);
+ --color-info-100: hsl(203.3168 82.6486% 74.6076%);
+ --color-info-200: hsl(202.906 82.1878% 69.8521%);
+ --color-info-300: hsl(202.2997 81.898% 64.6679%);
+ --color-info-400: hsl(201.2804 81.9454% 58.5588%);
+ --color-info-500: hsl(198.4615 90.2041% 48.0392%);
+ --color-info-600: hsl(198.4655 91.644% 41.4408%);
+ --color-info-700: hsl(198.5209 93.0736% 35.1126%);
+ --color-info-800: hsl(198.6615 94.3968% 29.0776%);
+ --color-info-900: hsl(198.9317 95.6042% 23.3406%);
+ --color-success-content: hsl(169.1372 91.8135% 3.3131%);
+ --color-success-50: hsl(169.0357 60.9289% 77.223%);
+ --color-success-100: hsl(169.2869 61.0884% 74.9343%);
+ --color-success-200: hsl(169.8372 61.5465% 70.1334%);
+ --color-success-300: hsl(170.4774 62.2767% 64.8849%);
+ --color-success-400: hsl(171.2723 63.498% 58.799%);
+ --color-success-500: hsl(172.4551 66.0079% 50.3922%);
+ --color-success-600: hsl(172.4551 65.9945% 43.4953%);
+ --color-success-700: hsl(172.4551 67.3452% 36.7876%);
+ --color-success-800: hsl(172.4551 69.2253% 30.2868%);
+ --color-success-900: hsl(172.4551 72.0039% 24.0148%);
+ --color-warning-content: hsl(36.8484 81.2888% 4.4313%);
+ --color-warning-50: hsl(39.1379 88.6283% 81.5778%);
+ --color-warning-100: hsl(39.2032 88.5219% 79.8039%);
+ --color-warning-200: hsl(39.378 88.3334% 76.1568%);
+ --color-warning-300: hsl(39.6336 88.1903% 72.3238%);
+ --color-warning-400: hsl(40.014 88.1187% 68.1941%);
+ --color-warning-500: hsl(40.6098 88.172% 63.5294%);
+ --color-warning-600: hsl(40.6098 62.6577% 55.0114%);
+ --color-warning-700: hsl(40.6098 52.0675% 46.7272%);
+ --color-warning-800: hsl(40.6098 53.2051% 38.6984%);
+ --color-warning-900: hsl(40.6098 54.862% 30.9522%);
+ --color-danger-content: hsl(353.3132 66.7558% 5.0377%);
+ --color-danger-50: hsl(354.1213 100% 85.1155%);
+ --color-danger-100: hsl(353.8868 100% 83.7278%);
+ --color-danger-200: hsl(353.3674 100% 80.9163%);
+ --color-danger-300: hsl(352.7649 100% 78.0401%);
+ --color-danger-400: hsl(351.9595 97.7077% 74.7813%);
+ --color-danger-500: hsl(350.9353 94.5578% 71.1765%);
+ --color-danger-600: hsl(350.9353 62.4047% 61.7149%);
+ --color-danger-700: hsl(350.9353 43.4242% 52.5129%);
+ --color-danger-800: hsl(350.9353 40.0298% 43.5947%);
+ --color-danger-900: hsl(350.9353 41.1326% 34.9903%);
+ --color-surface-200: hsl(222.2222 49.6903% 9.7303%);
+ --color-surface-300: hsl(222.219 52.5148% 8.4092%);
+ --color-surface-content: hsl(220.8541 7.8181% 80.145%);
+}
+
+[data-theme="coffee"] {
+ color-scheme: dark;
+ --color-primary: hsl(29.5833 66.6667% 57.6471%);
+ --color-secondary: hsl(182.4 24.7525% 19.8039%);
+ --color-accent: hsl(194.1935 74.4% 24.5098%);
+ --color-neutral: hsl(300 20% 5.8824%);
+ --color-surface-100: hsl(306 18.5185% 10.5882%);
+ --color-surface-content: hsl(37.4257 46.5438% 57.451%);
+ --color-info: hsl(171.1475 36.5269% 67.2549%);
+ --color-success: hsl(92.5 25% 62.3529%);
+ --color-warning: hsl(43.125 100% 68.6275%);
+ --color-danger: hsl(9.7561 95.3488% 74.7059%);
+ --color-primary-content: hsl(22.4563 80.4753% 3.7247%);
+ --color-primary-50: hsl(27.9304 68.7647% 77.6841%);
+ --color-primary-100: hsl(28.0223 68.4476% 75.5946%);
+ --color-primary-200: hsl(28.2439 67.8511% 71.3566%);
+ --color-primary-300: hsl(28.5389 67.3237% 67.008%);
+ --color-primary-400: hsl(28.9537 66.9032% 62.4833%);
+ --color-primary-500: hsl(29.5833 66.6667% 57.6471%);
+ --color-primary-600: hsl(29.5833 49.6464% 49.8549%);
+ --color-primary-700: hsl(29.5833 50.5306% 42.2766%);
+ --color-primary-800: hsl(29.5833 51.7536% 34.932%);
+ --color-primary-900: hsl(29.5833 53.5452% 27.8459%);
+ --color-secondary-content: hsl(181.7497 6.3066% 82.5018%);
+ --color-secondary-50: hsl(181.9436 6.1715% 53.4862%);
+ --color-secondary-100: hsl(181.9804 6.2691% 49.528%);
+ --color-secondary-200: hsl(182.0633 8.5256% 41.7666%);
+ --color-secondary-300: hsl(182.1608 11.6961% 34.2219%);
+ --color-secondary-400: hsl(182.2743 16.5036% 26.9029%);
+ --color-secondary-500: hsl(182.4 24.7525% 19.8039%);
+ --color-secondary-600: hsl(182.4 25.7595% 16.6815%);
+ --color-secondary-700: hsl(182.4 27.181% 13.6448%);
+ --color-secondary-800: hsl(182.4 29.3285% 10.7017%);
+ --color-secondary-900: hsl(182.4 32.9243% 7.8622%);
+ --color-accent-content: hsl(197.579 22.0364% 84.6848%);
+ --color-accent-50: hsl(197.2253 21.7661% 58.7581%);
+ --color-accent-100: hsl(197.1362 21.7552% 55.1321%);
+ --color-accent-200: hsl(196.8977 23.6884% 47.909%);
+ --color-accent-300: hsl(196.5233 32.0291% 40.6633%);
+ --color-accent-400: hsl(195.8553 45.1257% 33.2008%);
+ --color-accent-500: hsl(194.1935 74.4% 24.5098%);
+ --color-accent-600: hsl(194.1935 76.8268% 20.8067%);
+ --color-accent-700: hsl(194.2034 80.0892% 17.2148%);
+ --color-accent-800: hsl(194.3516 83.4129% 13.8434%);
+ --color-accent-900: hsl(194.7514 86.5001% 10.7113%);
+ --color-neutral-content: hsl(301.3634 1.6631% 78.569%);
+ --color-neutral-50: hsl(301.1604 2.0087% 43.6882%);
+ --color-neutral-100: hsl(301.1129 2.4028% 39.0296%);
+ --color-neutral-200: hsl(300.9913 3.4789% 30.003%);
+ --color-neutral-300: hsl(300.8135 5.2582% 21.4113%);
+ --color-neutral-400: hsl(300.5288 8.8169% 13.3317%);
+ --color-neutral-500: hsl(300 20% 5.8824%);
+ --color-neutral-600: hsl(300 22.8081% 4.4859%);
+ --color-neutral-700: hsl(300 24.3932% 3.2167%);
+ --color-neutral-800: hsl(300 24.3932% 2.1549%);
+ --color-neutral-900: hsl(300 24.3932% 1.357%);
+ --color-info-content: hsl(170.7967 35.8533% 4.2918%);
+ --color-info-50: hsl(170.1487 35.9249% 82.1693%);
+ --color-info-100: hsl(170.2466 35.9625% 80.5361%);
+ --color-info-200: hsl(170.451 36.0551% 77.2571%);
+ --color-info-300: hsl(170.668 36.1752% 73.9561%);
+ --color-info-400: hsl(170.8994 36.3296% 70.6255%);
+ --color-info-500: hsl(171.1475 36.5269% 67.2549%);
+ --color-info-600: hsl(171.1475 25.1298% 58.2772%);
+ --color-info-700: hsl(171.1475 18.2648% 49.5459%);
+ --color-info-800: hsl(171.1475 18.6407% 41.0838%);
+ --color-info-900: hsl(171.1475 19.1865% 32.9195%);
+ --color-success-content: hsl(94.7435 31.7487% 3.6691%);
+ --color-success-50: hsl(93.3782 25.2385% 79.0975%);
+ --color-success-100: hsl(93.3001 25.2049% 77.2235%);
+ --color-success-200: hsl(93.1318 25.1416% 73.4871%);
+ --color-success-300: hsl(92.945 25.0847% 69.7647%);
+ --color-success-400: hsl(92.736 25.0365% 66.0543%);
+ --color-success-500: hsl(92.5 25% 62.3529%);
+ --color-success-600: hsl(92.5 17.9279% 53.9801%);
+ --color-success-700: hsl(92.5 15.5352% 45.8371%);
+ --color-success-800: hsl(92.5 15.8814% 37.9451%);
+ --color-success-900: hsl(92.5 16.3861% 30.3309%);
+ --color-warning-content: hsl(40.9339 75.8444% 4.8966%);
+ --color-warning-50: hsl(42.3467 100% 84.1486%);
+ --color-warning-100: hsl(42.3625 100% 82.6164%);
+ --color-warning-200: hsl(42.4289 100% 79.4633%);
+ --color-warning-300: hsl(42.5562 100% 76.1489%);
+ --color-warning-400: hsl(42.7715 100% 72.5901%);
+ --color-warning-500: hsl(43.125 100% 68.6275%);
+ --color-warning-600: hsl(43.125 67.8715% 59.4804%);
+ --color-warning-700: hsl(43.125 48.0339% 50.5843%);
+ --color-warning-800: hsl(43.125 47.8696% 41.9626%);
+ --color-warning-900: hsl(43.125 49.2411% 33.6443%);
+ --color-danger-content: hsl(8.1248 57.6757% 5.361%);
+ --color-danger-50: hsl(10.6001 100% 86.333%);
+ --color-danger-100: hsl(10.4952 100% 85.1052%);
+ --color-danger-200: hsl(10.2754 100% 82.6536%);
+ --color-danger-300: hsl(10.0524 99.7767% 80.1823%);
+ --color-danger-400: hsl(9.916 97.5138% 77.4734%);
+ --color-danger-500: hsl(9.7561 95.3488% 74.7059%);
+ --color-danger-600: hsl(9.7561 60.0763% 64.8087%);
+ --color-danger-700: hsl(9.7561 40.7152% 55.1832%);
+ --color-danger-800: hsl(9.7561 33.6764% 45.8545%);
+ --color-danger-900: hsl(9.7561 34.5572% 36.8541%);
+ --color-surface-200: hsl(306 19.4793% 9.1931%);
+ --color-surface-300: hsl(306 20.6526% 7.9189%);
+}
+
+[data-theme="winter"] {
+ color-scheme: light;
+ --color-primary: hsl(215.4061 100% 50%);
+ --color-secondary: hsl(246.9231 47.2727% 43.1373%);
+ --color-accent: hsl(310.4132 49.3878% 51.9608%);
+ --color-neutral: hsl(217.0213 92.1569% 10%);
+ --color-surface-100: hsl(180 100% 100%);
+ --color-surface-200: hsl(216.9231 100% 97.451%);
+ --color-surface-300: hsl(218.8235 43.5897% 92.3529%);
+ --color-surface-content: hsl(214.2857 30.0613% 31.9608%);
+ --color-info: hsl(191.5385 92.8571% 78.0392%);
+ --color-success: hsl(181.5 46.5116% 66.2745%);
+ --color-warning: hsl(32.3077 61.9048% 83.5294%);
+ --color-danger: hsl(0 63.3803% 72.1569%);
+ --color-primary-content: hsl(212.4625 100% 90.3464%);
+ --color-primary-50: hsl(213.4814 100% 73.358%);
+ --color-primary-100: hsl(213.5783 100% 70.833%);
+ --color-primary-200: hsl(213.6319 100% 65.5289%);
+ --color-primary-300: hsl(213.1749 100% 59.3604%);
+ --color-primary-400: hsl(210.994 100% 50%);
+ --color-primary-500: hsl(215.4061 100% 50%);
+ --color-primary-600: hsl(216.4922 100% 44.989%);
+ --color-primary-700: hsl(216.8494 100% 38.4533%);
+ --color-primary-800: hsl(217.3345 100% 32.1192%);
+ --color-primary-900: hsl(218.0263 100% 26.008%);
+ --color-secondary-content: hsl(235.8529 43.4015% 88.5918%);
+ --color-secondary-50: hsl(238.0994 39.4748% 69.0245%);
+ --color-secondary-100: hsl(238.605 38.8639% 66.2902%);
+ --color-secondary-200: hsl(239.8565 37.5885% 60.8873%);
+ --color-secondary-300: hsl(241.5263 36.8215% 55.1732%);
+ --color-secondary-400: hsl(243.7677 37.2698% 49.2895%);
+ --color-secondary-500: hsl(246.9231 47.2727% 43.1373%);
+ --color-secondary-600: hsl(246.9231 48.1367% 37.1356%);
+ --color-secondary-700: hsl(246.9231 49.2947% 31.2986%);
+ --color-secondary-800: hsl(246.9231 50.9202% 25.6416%);
+ --color-secondary-900: hsl(246.9231 53.352% 20.1837%);
+ --color-accent-content: hsl(314.095 77.778% 3.0142%);
+ --color-accent-50: hsl(313.8406 53.6827% 75.1216%);
+ --color-accent-100: hsl(313.5177 53.0661% 72.7338%);
+ --color-accent-200: hsl(312.8416 51.9014% 67.8663%);
+ --color-accent-300: hsl(312.1147 50.8536% 62.8424%);
+ --color-accent-400: hsl(311.3176 49.9771% 57.5911%);
+ --color-accent-500: hsl(310.4132 49.3878% 51.9608%);
+ --color-accent-600: hsl(310.4132 46.351% 44.8703%);
+ --color-accent-700: hsl(310.4132 47.2701% 37.9744%);
+ --color-accent-800: hsl(310.4132 48.5473% 31.2912%);
+ --color-accent-900: hsl(310.4132 50.431% 24.8431%);
+ --color-neutral-content: hsl(215.5731 13.2527% 79.9757%);
+ --color-neutral-50: hsl(215.5382 13.9448% 47.0444%);
+ --color-neutral-100: hsl(215.5369 16.4864% 42.5914%);
+ --color-neutral-200: hsl(215.5391 23.1742% 33.8988%);
+ --color-neutral-300: hsl(215.5419 33.5602% 25.5065%);
+ --color-neutral-400: hsl(215.4795 52.5215% 17.4096%);
+ --color-neutral-500: hsl(217.0213 92.1569% 10%);
+ --color-neutral-600: hsl(218.3577 93.1679% 8.3688%);
+ --color-neutral-700: hsl(220.3389 94.0951% 6.8006%);
+ --color-neutral-800: hsl(223.1084 94.9213% 5.297%);
+ --color-neutral-900: hsl(225.5098 95.6116% 3.8605%);
+ --color-info-content: hsl(191.6883 47.1681% 5.7082%);
+ --color-info-50: hsl(191.9494 93.5787% 88.5692%);
+ --color-info-100: hsl(191.9202 93.4828% 87.4704%);
+ --color-info-200: hsl(191.8518 93.3011% 85.2298%);
+ --color-info-300: hsl(191.7679 93.1345% 82.9224%);
+ --color-info-400: hsl(191.665 92.9854% 80.5326%);
+ --color-info-500: hsl(191.5385 92.8571% 78.0392%);
+ --color-info-600: hsl(191.5385 55.3959% 67.7308%);
+ --color-info-700: hsl(191.5385 36.4787% 57.7052%);
+ --color-info-800: hsl(191.5385 27.2079% 47.9888%);
+ --color-info-900: hsl(191.5385 27.8871% 38.6143%);
+ --color-success-content: hsl(181.6021 46.4015% 4.2334%);
+ --color-success-50: hsl(181.1021 44.9532% 81.8911%);
+ --color-success-100: hsl(181.15 45.0719% 80.2125%);
+ --color-success-200: hsl(181.2439 45.3408% 76.8252%);
+ --color-success-300: hsl(181.3345 45.66% 73.3868%);
+ --color-success-400: hsl(181.4205 46.0435% 69.8789%);
+ --color-success-500: hsl(181.5 46.5116% 66.2745%);
+ --color-success-600: hsl(181.5 32.292% 57.4178%);
+ --color-success-700: hsl(181.5 24.3179% 48.8041%);
+ --color-success-800: hsl(181.5 24.8261% 40.4561%);
+ --color-success-900: hsl(181.5 25.5647% 32.4018%);
+ --color-warning-content: hsl(32.3077 21.2829% 6.4075%);
+ --color-warning-50: hsl(32.1495 62.5681% 90.9627%);
+ --color-warning-100: hsl(32.1646 62.4921% 90.1392%);
+ --color-warning-200: hsl(32.1964 62.3415% 88.4908%);
+ --color-warning-300: hsl(32.2307 62.1933% 86.84%);
+ --color-warning-400: hsl(32.2676 62.0476% 85.1864%);
+ --color-warning-500: hsl(32.3077 61.9048% 83.5294%);
+ --color-warning-600: hsl(32.3077 32.553% 72.5435%);
+ --color-warning-700: hsl(32.3077 20.2257% 61.8591%);
+ --color-warning-800: hsl(32.3077 13.4617% 51.5041%);
+ --color-warning-900: hsl(32.3077 12.9698% 41.5135%);
+ --color-danger-content: hsl(0 46.1725% 4.9576%);
+ --color-danger-50: hsl(1.4623 70.6764% 85.0656%);
+ --color-danger-100: hsl(1.343 69.825% 83.6596%);
+ --color-danger-200: hsl(1.0781 68.1549% 80.8258%);
+ --color-danger-300: hsl(0.7723 66.5259% 77.9637%);
+ --color-danger-400: hsl(0.4169 64.9351% 75.0739%);
+ --color-danger-500: hsl(0 63.3803% 72.1569%);
+ --color-danger-600: hsl(0 41.3338% 62.5743%);
+ --color-danger-700: hsl(0 28.5625% 53.2547%);
+ --color-danger-800: hsl(0 25.5507% 44.2224%);
+ --color-danger-900: hsl(0 26.2443% 35.508%);
+}
+
+[data-theme="dim"] {
+ color-scheme: dark;
+ --color-primary: hsl(108.1319 66.4234% 73.1373%);
+ --color-secondary: hsl(12.1472 100% 68.0392%);
+ --color-accent: hsl(276.5517 66.4122% 74.3137%);
+ --color-neutral: hsl(220 21.1268% 13.9216%);
+ --color-neutral-content: hsl(196.6667 30.5085% 76.8627%);
+ --color-surface-100: hsl(220 17.6471% 20%);
+ --color-surface-200: hsl(220 17.2414% 17.0588%);
+ --color-surface-300: hsl(218.5714 17.9487% 15.2941%);
+ --color-surface-content: hsl(196.6667 30.5085% 76.8627%);
+ --color-info: hsl(185.5814 100% 57.8431%);
+ --color-success: hsl(158.7234 81.5029% 66.0784%);
+ --color-warning: hsl(47.7632 82.6087% 63.9216%);
+ --color-danger: hsl(11.4 100% 80.3922%);
+ --color-primary-content: hsl(109.2864 45.7907% 5.0786%);
+ --color-primary-50: hsl(108.2365 67.728% 85.6578%);
+ --color-primary-100: hsl(108.2362 67.5517% 84.3133%);
+ --color-primary-200: hsl(108.2302 67.2186% 81.5959%);
+ --color-primary-300: hsl(108.2144 66.9153% 78.8345%);
+ --color-primary-400: hsl(108.1839 66.6476% 76.0194%);
+ --color-primary-500: hsl(108.1319 66.4234% 73.1373%);
+ --color-primary-600: hsl(108.1319 42.7753% 63.4337%);
+ --color-primary-700: hsl(108.1319 29.3455% 53.9964%);
+ --color-primary-800: hsl(108.1319 25.473% 44.8502%);
+ --color-primary-900: hsl(108.1319 26.1546% 36.0257%);
+ --color-secondary-content: hsl(8.1035 77.2309% 4.8583%);
+ --color-secondary-50: hsl(13.2996 100% 82.6119%);
+ --color-secondary-100: hsl(13.1729 100% 81.0356%);
+ --color-secondary-200: hsl(12.9127 100% 77.87%);
+ --color-secondary-300: hsl(12.6472 100% 74.6715%);
+ --color-secondary-400: hsl(12.3852 100% 71.4114%);
+ --color-secondary-500: hsl(12.1472 100% 68.0392%);
+ --color-secondary-600: hsl(12.1472 68.2752% 58.9647%);
+ --color-secondary-700: hsl(12.1472 48.4977% 50.1393%);
+ --color-secondary-800: hsl(12.1472 49.2088% 41.586%);
+ --color-secondary-900: hsl(12.1472 50.6319% 33.3336%);
+ --color-accent-content: hsl(276.1458 43.0163% 5.2138%);
+ --color-accent-50: hsl(275.4992 69.5985% 86.1986%);
+ --color-accent-100: hsl(275.6036 69.2177% 84.9093%);
+ --color-accent-200: hsl(275.8201 68.4744% 82.31%);
+ --color-accent-300: hsl(276.0483 67.7571% 79.6807%);
+ --color-accent-400: hsl(276.2911 67.0686% 77.0171%);
+ --color-accent-500: hsl(276.5517 66.4122% 74.3137%);
+ --color-accent-600: hsl(276.5517 42.0819% 64.465%);
+ --color-accent-700: hsl(276.5517 28.6092% 54.8865%);
+ --color-accent-800: hsl(276.5517 23.951% 45.6034%);
+ --color-accent-900: hsl(276.5517 24.581% 36.647%);
+ --color-neutral-50: hsl(219.7345 4.1219% 49.3365%);
+ --color-neutral-100: hsl(219.7434 4.836% 45.0809%);
+ --color-neutral-200: hsl(219.7678 6.6511% 36.7822%);
+ --color-neutral-300: hsl(219.8063 9.275% 28.7932%);
+ --color-neutral-400: hsl(219.8723 13.432% 21.1544%);
+ --color-neutral-500: hsl(220 21.1268% 13.9216%);
+ --color-neutral-600: hsl(220 22.3709% 11.525%);
+ --color-neutral-700: hsl(220 24.2029% 9.1942%);
+ --color-neutral-800: hsl(220 27.1536% 6.9353%);
+ --color-neutral-900: hsl(220.4941 32.1307% 4.7748%);
+ --color-info-content: hsl(187.5008 95.0323% 4.4149%);
+ --color-info-50: hsl(186.5921 100% 82.6325%);
+ --color-info-100: hsl(186.5964 100% 80.7885%);
+ --color-info-200: hsl(186.5633 100% 76.826%);
+ --color-info-300: hsl(186.4518 100% 72.3093%);
+ --color-info-400: hsl(186.2036 100% 66.7305%);
+ --color-info-500: hsl(185.5814 100% 57.8431%);
+ --color-info-600: hsl(185.5814 73.9493% 50.0268%);
+ --color-info-700: hsl(185.5814 75.1812% 42.425%);
+ --color-info-800: hsl(185.5814 76.9943% 35.0576%);
+ --color-info-900: hsl(185.5814 79.6498% 27.9494%);
+ --color-success-content: hsl(155.8249 72.0506% 4.5168%);
+ --color-success-50: hsl(154.4968 81.3033% 83.7028%);
+ --color-success-100: hsl(154.8405 81.2094% 82.045%);
+ --color-success-200: hsl(155.592 81.0825% 78.5827%);
+ --color-success-300: hsl(156.4525 81.0572% 74.8653%);
+ --color-success-400: hsl(157.4672 81.1723% 70.7755%);
+ --color-success-500: hsl(158.7234 81.5029% 66.0784%);
+ --color-success-600: hsl(158.7234 56.6858% 57.2459%);
+ --color-success-700: hsl(158.7234 42.991% 48.6558%);
+ --color-success-800: hsl(158.7234 43.8922% 40.3305%);
+ --color-success-900: hsl(158.7234 45.2022% 32.2982%);
+ --color-warning-content: hsl(45.624 77.4997% 4.3782%);
+ --color-warning-50: hsl(47.2624 80.964% 81.6716%);
+ --color-warning-100: hsl(47.2502 81.0798% 79.9154%);
+ --color-warning-200: hsl(47.2587 81.3413% 76.3092%);
+ --color-warning-300: hsl(47.325 81.6582% 72.527%);
+ --color-warning-400: hsl(47.4757 82.0607% 68.4672%);
+ --color-warning-500: hsl(47.7632 82.6087% 63.9216%);
+ --color-warning-600: hsl(47.7632 58.5202% 55.3552%);
+ --color-warning-700: hsl(47.7632 47.9532% 47.0239%);
+ --color-warning-800: hsl(47.7632 48.9941% 38.9495%);
+ --color-warning-900: hsl(47.7632 50.5098% 31.1592%);
+ --color-danger-content: hsl(11.1905 43.5269% 5.9992%);
+ --color-danger-50: hsl(12.0884 100% 89.1555%);
+ --color-danger-100: hsl(12.0178 100% 88.1789%);
+ --color-danger-200: hsl(11.8723 100% 86.2288%);
+ --color-danger-300: hsl(11.7209 100% 84.2821%);
+ --color-danger-400: hsl(11.5636 100% 82.3372%);
+ --color-danger-500: hsl(11.4 100% 80.3922%);
+ --color-danger-600: hsl(11.4 56.9024% 69.7934%);
+ --color-danger-700: hsl(11.4 36.6169% 59.4854%);
+ --color-danger-800: hsl(11.4 25.3652% 49.4954%);
+ --color-danger-900: hsl(11.4 25.9786% 39.8568%);
+}
+
+[data-theme="nord"] {
+ color-scheme: light;
+ --color-primary: hsl(213.0769 31.9672% 52.1569%);
+ --color-secondary: hsl(210 34.0426% 63.1373%);
+ --color-accent: hsl(193.3333 43.3735% 67.451%);
+ --color-neutral: hsl(220 16.4835% 35.6863%);
+ --color-neutral-content: hsl(218.8235 27.8689% 88.0392%);
+ --color-surface-100: hsl(217.5 26.6667% 94.1176%);
+ --color-surface-200: hsl(218.1818 26.8293% 91.9608%);
+ --color-surface-300: hsl(218.8235 27.8689% 88.0392%);
+ --color-surface-content: hsl(220 16.3636% 21.5686%);
+ --color-info: hsl(311.0526 20.2128% 63.1373%);
+ --color-success: hsl(92.4 27.7778% 64.7059%);
+ --color-warning: hsl(40 70.5882% 73.3333%);
+ --color-danger: hsl(354.2553 42.3423% 56.4706%);
+ --rounded-box: 0.4rem;
+ --rounded-btn: 0.2rem;
+ --rounded-badge: 0.4rem;
+ --tab-radius: 0.2rem;
+ --color-primary-content: hsl(218.4765 57.2613% 2.707%);
+ --color-primary-50: hsl(213.2981 33.3966% 73.3113%);
+ --color-primary-100: hsl(213.2809 33.2391% 70.9331%);
+ --color-primary-200: hsl(213.2436 32.9207% 66.1998%);
+ --color-primary-300: hsl(213.2004 32.5998% 61.4955%);
+ --color-primary-400: hsl(213.1472 32.2799% 56.8166%);
+ --color-primary-500: hsl(213.0769 31.9672% 52.1569%);
+ --color-primary-600: hsl(213.0769 29.7651% 45.0422%);
+ --color-primary-700: hsl(213.0769 30.353% 38.1228%);
+ --color-primary-800: hsl(213.0769 31.1699% 31.4168%);
+ --color-primary-900: hsl(213.0769 32.3743% 24.9467%);
+ --color-secondary-content: hsl(212.5249 40.5044% 3.8138%);
+ --color-secondary-50: hsl(210.2625 34.964% 79.5289%);
+ --color-secondary-100: hsl(210.2393 34.861% 77.6931%);
+ --color-secondary-200: hsl(210.1896 34.6545% 74.0333%);
+ --color-secondary-300: hsl(210.1344 34.4482% 70.3885%);
+ --color-secondary-400: hsl(210.072 34.2436% 66.7571%);
+ --color-secondary-500: hsl(210 34.0426% 63.1373%);
+ --color-secondary-600: hsl(210 24.2664% 54.6676%);
+ --color-secondary-700: hsl(210 20.4489% 46.4305%);
+ --color-secondary-800: hsl(210 20.8986% 38.4473%);
+ --color-secondary-900: hsl(210 21.5538% 30.7451%);
+ --color-accent-content: hsl(193.9847 41.433% 4.345%);
+ --color-accent-50: hsl(193.6739 43.0636% 82.2112%);
+ --color-accent-100: hsl(193.6487 43.0737% 80.589%);
+ --color-accent-200: hsl(193.5909 43.108% 77.3362%);
+ --color-accent-300: hsl(193.5211 43.1652% 74.0675%);
+ --color-accent-400: hsl(193.4366 43.251% 70.7757%);
+ --color-accent-500: hsl(193.3333 43.3735% 67.451%);
+ --color-accent-600: hsl(193.3333 29.7841% 58.4491%);
+ --color-accent-700: hsl(193.3333 21.4941% 49.6942%);
+ --color-accent-800: hsl(193.3333 21.9351% 41.2093%);
+ --color-accent-900: hsl(193.3333 22.5754% 33.023%);
+ --color-neutral-50: hsl(219.7846 9.9087% 63.2244%);
+ --color-neutral-100: hsl(219.7969 9.8397% 60.039%);
+ --color-neutral-200: hsl(219.8272 9.692% 53.7569%);
+ --color-neutral-300: hsl(219.8678 10.4907% 47.5986%);
+ --color-neutral-400: hsl(219.923 13.1389% 41.572%);
+ --color-neutral-500: hsl(220 16.4835% 35.6863%);
+ --color-neutral-600: hsl(220 16.8491% 30.604%);
+ --color-neutral-700: hsl(220 17.3435% 25.6613%);
+ --color-neutral-800: hsl(220 18.0461% 20.8709%);
+ --color-neutral-900: hsl(220 19.1166% 16.2491%);
+ --color-info-content: hsl(311.7127 25.1694% 3.7363%);
+ --color-info-50: hsl(312.0916 21.1337% 79.5121%);
+ --color-info-100: hsl(311.9883 21.0353% 77.6757%);
+ --color-info-200: hsl(311.7735 20.8355% 74.0158%);
+ --color-info-300: hsl(311.5467 20.6316% 70.3731%);
+ --color-info-400: hsl(311.3069 20.4239% 66.7471%);
+ --color-info-500: hsl(311.0526 20.2128% 63.1373%);
+ --color-info-600: hsl(311.0526 14.4082% 54.6676%);
+ --color-info-700: hsl(311.0526 12.1415% 46.4305%);
+ --color-info-800: hsl(311.0526 12.4085% 38.4473%);
+ --color-info-900: hsl(311.0526 12.7976% 30.7451%);
+ --color-success-content: hsl(94.1028 31.4788% 3.9559%);
+ --color-success-50: hsl(93.2777 28.0121% 80.454%);
+ --color-success-100: hsl(93.1985 27.9782% 78.696%);
+ --color-success-200: hsl(93.0287 27.9147% 75.1878%);
+ --color-success-300: hsl(92.8414 27.8585% 71.6883%);
+ --color-success-400: hsl(92.6333 27.8119% 68.1953%);
+ --color-success-500: hsl(92.4 27.7778% 64.7059%);
+ --color-success-600: hsl(92.4 19.5511% 56.0427%);
+ --color-success-700: hsl(92.4 15.5775% 47.6173%);
+ --color-success-800: hsl(92.4 15.9113% 39.4517%);
+ --color-success-900: hsl(92.4 16.3971% 31.5734%);
+ --color-warning-content: hsl(39.418 47.8284% 5.115%);
+ --color-warning-50: hsl(39.7064 70.6878% 85.5821%);
+ --color-warning-100: hsl(39.7214 70.6588% 84.2522%);
+ --color-warning-200: hsl(39.7617 70.611% 81.5752%);
+ --color-warning-300: hsl(39.8186 70.5801% 78.8696%);
+ --color-warning-400: hsl(39.8961 70.5704% 76.1264%);
+ --color-warning-500: hsl(40 70.5882% 73.3333%);
+ --color-warning-600: hsl(40 45.3387% 63.6056%);
+ --color-warning-700: hsl(40 31.0581% 54.1448%);
+ --color-warning-800: hsl(40 26.7976% 44.9757%);
+ --color-warning-900: hsl(40 27.5125% 36.1293%);
+ --color-danger-content: hsl(356.2047 61.9196% 3.2446%);
+ --color-danger-50: hsl(356.9859 47.2799% 76.746%);
+ --color-danger-100: hsl(356.7833 46.6863% 74.5624%);
+ --color-danger-200: hsl(356.3233 45.5253% 70.153%);
+ --color-danger-300: hsl(355.7719 44.4052% 65.6793%);
+ --color-danger-400: hsl(355.0985 43.3376% 61.1267%);
+ --color-danger-500: hsl(354.2553 42.3423% 56.4706%);
+ --color-danger-600: hsl(354.2553 33.0926% 48.8236%);
+ --color-danger-700: hsl(354.2553 33.6947% 41.3865%);
+ --color-danger-800: hsl(354.2553 34.5282% 34.1788%);
+ --color-danger-900: hsl(354.2553 35.7507% 27.2246%);
+}
+
+[data-theme="sunset"] {
+ color-scheme: dark;
+ --color-primary: hsl(15.7317 100% 67.8431%);
+ --color-secondary: hsl(340.9859 97.2603% 71.3725%);
+ --color-accent: hsl(262.9565 92% 75.4902%);
+ --color-neutral: hsl(204.0206 23.4236% 14.0508%);
+ --color-neutral-content: hsl(204.4439 10.9185% 62.1538%);
+ --color-surface-100: hsl(203.8689 30.8151% 10.324%);
+ --color-surface-200: hsl(203.7604 36.6879% 8.5153%);
+ --color-surface-300: hsl(203.6293 45.4194% 6.7469%);
+ --color-surface-content: hsl(208.1633 34.2657% 71.9608%);
+ --color-info: hsl(186.7347 71.0145% 72.9412%);
+ --color-success: hsl(120 43.8596% 77.6471%);
+ --color-warning: hsl(34.375 77.4194% 75.6863%);
+ --color-danger: hsl(358.2353 100% 86.6667%);
+ --rounded-box: 1.2rem;
+ --rounded-btn: 0.8rem;
+ --rounded-badge: 0.4rem;
+ --tab-radius: 0.7rem;
+ --color-primary-content: hsl(11.0193 77.6858% 4.8459%);
+ --color-primary-50: hsl(16.2896 100% 82.629%);
+ --color-primary-100: hsl(16.2012 100% 81.045%);
+ --color-primary-200: hsl(16.0316 100% 77.8561%);
+ --color-primary-300: hsl(15.8807 100% 74.6207%);
+ --color-primary-400: hsl(15.768 100% 71.3039%);
+ --color-primary-500: hsl(15.7317 100% 67.8431%);
+ --color-primary-600: hsl(15.7317 68.4076% 58.7928%);
+ --color-primary-700: hsl(15.7317 48.6682% 49.9909%);
+ --color-primary-800: hsl(15.7317 49.6607% 41.4604%);
+ --color-primary-900: hsl(15.7317 51.1012% 33.2301%);
+ --color-secondary-content: hsl(344.3218 67.6206% 5.0743%);
+ --color-secondary-50: hsl(343.7257 100% 85.0523%);
+ --color-secondary-100: hsl(343.5316 100% 83.6556%);
+ --color-secondary-200: hsl(343.0988 100% 80.8235%);
+ --color-secondary-300: hsl(342.5925 100% 77.9217%);
+ --color-secondary-400: hsl(341.9888 100% 74.9189%);
+ --color-secondary-500: hsl(340.9859 97.2603% 71.3725%);
+ --color-secondary-600: hsl(340.9859 64.0391% 61.8867%);
+ --color-secondary-700: hsl(340.9859 44.5004% 52.6613%);
+ --color-secondary-800: hsl(340.9859 40.7763% 43.7203%);
+ --color-secondary-900: hsl(340.9859 41.8963% 35.0939%);
+ --color-accent-content: hsl(261.766 53.8495% 5.4262%);
+ --color-accent-50: hsl(260.174 99.531% 87.2551%);
+ --color-accent-100: hsl(260.4373 98.6064% 86.0169%);
+ --color-accent-200: hsl(260.9925 96.824% 83.4948%);
+ --color-accent-300: hsl(261.5914 95.129% 80.9066%);
+ --color-accent-400: hsl(262.2424 93.5206% 78.2429%);
+ --color-accent-500: hsl(262.9565 92% 75.4902%);
+ --color-accent-600: hsl(262.9565 57.2882% 65.4963%);
+ --color-accent-700: hsl(262.9565 38.5779% 55.7766%);
+ --color-accent-800: hsl(262.9565 31.1449% 46.3567%);
+ --color-accent-900: hsl(262.9565 31.9505% 37.2683%);
+ --color-neutral-50: hsl(204.5187 4.3944% 49.4697%);
+ --color-neutral-100: hsl(204.4964 5.1649% 45.2221%);
+ --color-neutral-200: hsl(204.4403 7.135% 36.9356%);
+ --color-neutral-300: hsl(204.3608 10.0124% 28.9524%);
+ --color-neutral-400: hsl(204.2381 14.6403% 21.3089%);
+ --color-neutral-500: hsl(204.0206 23.4236% 14.0508%);
+ --color-neutral-600: hsl(204.0206 24.7896% 11.6383%);
+ --color-neutral-700: hsl(204.0206 26.7984% 9.292%);
+ --color-neutral-800: hsl(204.0206 30.0269% 7.018%);
+ --color-neutral-900: hsl(204.3802 35.3077% 4.8498%);
+ --color-info-content: hsl(186.9571 49.0367% 5.0735%);
+ --color-info-50: hsl(186.8462 70.1059% 85.795%);
+ --color-info-100: hsl(186.8476 70.1656% 84.4454%);
+ --color-info-200: hsl(186.8422 70.3093% 81.7011%);
+ --color-info-300: hsl(186.8239 70.4917% 78.884%);
+ --color-info-400: hsl(186.7895 70.7222% 75.9739%);
+ --color-info-500: hsl(186.7347 71.0145% 72.9412%);
+ --color-info-600: hsl(186.7347 45.8502% 63.2618%);
+ --color-info-700: hsl(186.7347 31.5013% 53.8481%);
+ --color-info-800: hsl(186.7347 27.5094% 44.7246%);
+ --color-info-900: hsl(186.7347 28.2476% 35.9222%);
+ --color-success-content: hsl(120 23.3288% 5.6208%);
+ --color-success-50: hsl(119.1013 44.5815% 87.7387%);
+ --color-success-100: hsl(119.1865 44.4967% 86.6213%);
+ --color-success-200: hsl(119.3665 44.3299% 84.3844%);
+ --color-success-300: hsl(119.5608 44.1676% 82.1436%);
+ --color-success-400: hsl(119.7712 44.0105% 79.8982%);
+ --color-success-500: hsl(120 43.8596% 77.6471%);
+ --color-success-600: hsl(120 26.3519% 67.387%);
+ --color-success-700: hsl(120 17.4156% 57.4085%);
+ --color-success-800: hsl(120 13.1495% 47.7377%);
+ --color-success-900: hsl(120 13.4796% 38.4072%);
+ --color-warning-content: hsl(33.9312 45.817% 5.4014%);
+ --color-warning-50: hsl(33.9386 78.587% 86.8668%);
+ --color-warning-100: hsl(33.9722 78.4438% 85.6516%);
+ --color-warning-200: hsl(34.0481 78.1657% 83.2051%);
+ --color-warning-300: hsl(34.1381 77.9003% 80.7332%);
+ --color-warning-400: hsl(34.2455 77.6503% 78.2297%);
+ --color-warning-500: hsl(34.375 77.4194% 75.6863%);
+ --color-warning-600: hsl(34.375 48.0626% 65.6682%);
+ --color-warning-700: hsl(34.375 32.3125% 55.925%);
+ --color-warning-800: hsl(34.375 25.929% 46.4823%);
+ --color-warning-900: hsl(34.375 26.5978% 37.3718%);
+ --color-danger-content: hsl(358.2353 26.121% 6.8271%);
+ --color-danger-50: hsl(359.0066 100% 92.6921%);
+ --color-danger-100: hsl(358.9295 100% 92.0258%);
+ --color-danger-200: hsl(358.7694 100% 90.6914%);
+ --color-danger-300: hsl(358.6009 100% 89.3539%);
+ --color-danger-400: hsl(358.4231 100% 88.0126%);
+ --color-danger-500: hsl(358.2353 100% 86.6667%);
+ --color-danger-600: hsl(358.2353 47.3078% 75.2936%);
+ --color-danger-700: hsl(358.2353 28.2043% 64.2327%);
+ --color-danger-800: hsl(358.2353 18.3645% 53.5128%);
+ --color-danger-900: hsl(358.2353 16.3096% 43.1702%);
+}
diff --git a/packages/tailwind/src/lib/css/themes/generated/skeleton.css b/packages/tailwind/src/lib/css/themes/generated/skeleton.css
new file mode 100644
index 0000000..81917a8
--- /dev/null
+++ b/packages/tailwind/src/lib/css/themes/generated/skeleton.css
@@ -0,0 +1,2201 @@
+:root {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(160.5882 54.8387% 87.8431%);
+ --color-primary-200: hsl(160.4651 55.8442% 84.902%);
+ --color-primary-300: hsl(160.5882 54.8387% 75.6863%);
+ --color-primary-400: hsl(160 55.5556% 57.6471%);
+ --color-primary-500: hsl(160 85.0746% 39.4118%);
+ --color-primary-600: hsl(160 84.5304% 35.4902%);
+ --color-primary-700: hsl(160 85.4305% 29.6078%);
+ --color-primary-800: hsl(159.6117 85.124% 23.7255%);
+ --color-primary-900: hsl(160 85.7143% 19.2157%);
+ --color-secondary-100: hsl(243.75 76.1905% 91.7647%);
+ --color-secondary-200: hsl(243 76.9231% 89.8039%);
+ --color-secondary-300: hsl(243.75 76.1905% 83.5294%);
+ --color-secondary-400: hsl(243.2432 75.5102% 71.1765%);
+ --color-secondary-500: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-600: hsl(243.3566 59.3361% 52.7451%);
+ --color-secondary-700: hsl(243.0252 52.8889% 44.1176%);
+ --color-secondary-800: hsl(243.1579 53.0726% 35.098%);
+ --color-secondary-900: hsl(243.8462 53.4247% 28.6275%);
+ --color-accent-100: hsl(199.0909 84.6154% 89.8039%);
+ --color-accent-200: hsl(198.5455 84.6154% 87.2549%);
+ --color-accent-300: hsl(198.6207 82.8571% 79.4118%);
+ --color-accent-400: hsl(198.7013 83.6957% 63.9216%);
+ --color-accent-500: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-600: hsl(198.5787 88.3408% 43.7255%);
+ --color-accent-700: hsl(198.6585 88.172% 36.4706%);
+ --color-accent-800: hsl(198.6364 89.1892% 29.0196%);
+ --color-accent-900: hsl(198.5047 88.4298% 23.7255%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(329.1892 67.2727% 89.2157%);
+ --color-danger-200: hsl(330 67.6471% 86.6667%);
+ --color-danger-300: hsl(330.4 68.8073% 78.6275%);
+ --color-danger-400: hsl(330.229 68.5864% 62.549%);
+ --color-danger-500: hsl(330.1604 78.903% 46.4706%);
+ --color-danger-600: hsl(330.3571 78.5047% 41.9608%);
+ --color-danger-700: hsl(330 78.6517% 34.902%);
+ --color-danger-800: hsl(330 78.8732% 27.8431%);
+ --color-danger-900: hsl(330 79.3103% 22.7451%);
+ --color-surface-100: hsl(228 22.7273% 91.3725%);
+ --color-surface-200: hsl(227.1429 24.1379% 88.6275%);
+ --color-surface-300: hsl(225.8824 23.2877% 85.6863%);
+ surface-400: rgb(128 140 177);
+ surface-500: rgb(73 90 143);
+ surface-600: rgb(66 81 129);
+ surface-700: rgb(55 68 107);
+ surface-800: rgb(44 54 86);
+ surface-900: rgb(36 44 70);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(330.1604 78.903% 46.4706%);
+ --color-primary: hsl(160 85.0746% 39.4118%);
+ --color-primary-50: hsl(160.5193 54.8337% 88.4639%);
+ --color-secondary: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-50: hsl(243.6812 76.4014% 92.1848%);
+ --color-accent: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-50: hsl(199.1094 84.6794% 90.3249%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(329.2701 67.5446% 89.7696%);
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(160.5882 54.8387% 87.8431%);
+ --color-primary-200: hsl(160.4651 55.8442% 84.902%);
+ --color-primary-300: hsl(160.5882 54.8387% 75.6863%);
+ --color-primary-400: hsl(160 55.5556% 57.6471%);
+ --color-primary-500: hsl(160 85.0746% 39.4118%);
+ --color-primary-600: hsl(160 84.5304% 35.4902%);
+ --color-primary-700: hsl(160 85.4305% 29.6078%);
+ --color-primary-800: hsl(159.6117 85.124% 23.7255%);
+ --color-primary-900: hsl(160 85.7143% 19.2157%);
+ --color-secondary-100: hsl(243.75 76.1905% 91.7647%);
+ --color-secondary-200: hsl(243 76.9231% 89.8039%);
+ --color-secondary-300: hsl(243.75 76.1905% 83.5294%);
+ --color-secondary-400: hsl(243.2432 75.5102% 71.1765%);
+ --color-secondary-500: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-600: hsl(243.3566 59.3361% 52.7451%);
+ --color-secondary-700: hsl(243.0252 52.8889% 44.1176%);
+ --color-secondary-800: hsl(243.1579 53.0726% 35.098%);
+ --color-secondary-900: hsl(243.8462 53.4247% 28.6275%);
+ --color-accent-100: hsl(199.0909 84.6154% 89.8039%);
+ --color-accent-200: hsl(198.5455 84.6154% 87.2549%);
+ --color-accent-300: hsl(198.6207 82.8571% 79.4118%);
+ --color-accent-400: hsl(198.7013 83.6957% 63.9216%);
+ --color-accent-500: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-600: hsl(198.5787 88.3408% 43.7255%);
+ --color-accent-700: hsl(198.6585 88.172% 36.4706%);
+ --color-accent-800: hsl(198.6364 89.1892% 29.0196%);
+ --color-accent-900: hsl(198.5047 88.4298% 23.7255%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(329.1892 67.2727% 89.2157%);
+ --color-danger-200: hsl(330 67.6471% 86.6667%);
+ --color-danger-300: hsl(330.4 68.8073% 78.6275%);
+ --color-danger-400: hsl(330.229 68.5864% 62.549%);
+ --color-danger-500: hsl(330.1604 78.903% 46.4706%);
+ --color-danger-600: hsl(330.3571 78.5047% 41.9608%);
+ --color-danger-700: hsl(330 78.6517% 34.902%);
+ --color-danger-800: hsl(330 78.8732% 27.8431%);
+ --color-danger-900: hsl(330 79.3103% 22.7451%);
+ --color-surface-100: hsl(225 32.0988% 31.7647%);
+ --color-surface-200: hsl(225.7143 32.3077% 25.4902%);
+ --color-surface-300: hsl(225.8824 32.0755% 20.7843%);
+ surface-400: rgb(128 140 177);
+ surface-500: rgb(73 90 143);
+ surface-600: rgb(66 81 129);
+ surface-700: rgb(55 68 107);
+ surface-800: rgb(44 54 86);
+ surface-900: rgb(36 44 70);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(330.1604 78.903% 46.4706%);
+ --color-primary: hsl(160 85.0746% 39.4118%);
+ --color-primary-50: hsl(160.5193 54.8337% 88.4639%);
+ --color-secondary: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-50: hsl(243.6812 76.4014% 92.1848%);
+ --color-accent: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-50: hsl(199.1094 84.6794% 90.3249%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(329.2701 67.5446% 89.7696%);
+ }
+}
+
+[data-theme="light"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(160.5882 54.8387% 87.8431%);
+ --color-primary-200: hsl(160.4651 55.8442% 84.902%);
+ --color-primary-300: hsl(160.5882 54.8387% 75.6863%);
+ --color-primary-400: hsl(160 55.5556% 57.6471%);
+ --color-primary-500: hsl(160 85.0746% 39.4118%);
+ --color-primary-600: hsl(160 84.5304% 35.4902%);
+ --color-primary-700: hsl(160 85.4305% 29.6078%);
+ --color-primary-800: hsl(159.6117 85.124% 23.7255%);
+ --color-primary-900: hsl(160 85.7143% 19.2157%);
+ --color-secondary-100: hsl(243.75 76.1905% 91.7647%);
+ --color-secondary-200: hsl(243 76.9231% 89.8039%);
+ --color-secondary-300: hsl(243.75 76.1905% 83.5294%);
+ --color-secondary-400: hsl(243.2432 75.5102% 71.1765%);
+ --color-secondary-500: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-600: hsl(243.3566 59.3361% 52.7451%);
+ --color-secondary-700: hsl(243.0252 52.8889% 44.1176%);
+ --color-secondary-800: hsl(243.1579 53.0726% 35.098%);
+ --color-secondary-900: hsl(243.8462 53.4247% 28.6275%);
+ --color-accent-100: hsl(199.0909 84.6154% 89.8039%);
+ --color-accent-200: hsl(198.5455 84.6154% 87.2549%);
+ --color-accent-300: hsl(198.6207 82.8571% 79.4118%);
+ --color-accent-400: hsl(198.7013 83.6957% 63.9216%);
+ --color-accent-500: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-600: hsl(198.5787 88.3408% 43.7255%);
+ --color-accent-700: hsl(198.6585 88.172% 36.4706%);
+ --color-accent-800: hsl(198.6364 89.1892% 29.0196%);
+ --color-accent-900: hsl(198.5047 88.4298% 23.7255%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(329.1892 67.2727% 89.2157%);
+ --color-danger-200: hsl(330 67.6471% 86.6667%);
+ --color-danger-300: hsl(330.4 68.8073% 78.6275%);
+ --color-danger-400: hsl(330.229 68.5864% 62.549%);
+ --color-danger-500: hsl(330.1604 78.903% 46.4706%);
+ --color-danger-600: hsl(330.3571 78.5047% 41.9608%);
+ --color-danger-700: hsl(330 78.6517% 34.902%);
+ --color-danger-800: hsl(330 78.8732% 27.8431%);
+ --color-danger-900: hsl(330 79.3103% 22.7451%);
+ --color-surface-100: hsl(228 22.7273% 91.3725%);
+ --color-surface-200: hsl(227.1429 24.1379% 88.6275%);
+ --color-surface-300: hsl(225.8824 23.2877% 85.6863%);
+ surface-400: rgb(128 140 177);
+ surface-500: rgb(73 90 143);
+ surface-600: rgb(66 81 129);
+ surface-700: rgb(55 68 107);
+ surface-800: rgb(44 54 86);
+ surface-900: rgb(36 44 70);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(330.1604 78.903% 46.4706%);
+ --color-primary: hsl(160 85.0746% 39.4118%);
+ --color-primary-50: hsl(160.5193 54.8337% 88.4639%);
+ --color-secondary: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-50: hsl(243.6812 76.4014% 92.1848%);
+ --color-accent: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-50: hsl(199.1094 84.6794% 90.3249%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(329.2701 67.5446% 89.7696%);
+}
+
+[data-theme="dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(160.5882 54.8387% 87.8431%);
+ --color-primary-200: hsl(160.4651 55.8442% 84.902%);
+ --color-primary-300: hsl(160.5882 54.8387% 75.6863%);
+ --color-primary-400: hsl(160 55.5556% 57.6471%);
+ --color-primary-500: hsl(160 85.0746% 39.4118%);
+ --color-primary-600: hsl(160 84.5304% 35.4902%);
+ --color-primary-700: hsl(160 85.4305% 29.6078%);
+ --color-primary-800: hsl(159.6117 85.124% 23.7255%);
+ --color-primary-900: hsl(160 85.7143% 19.2157%);
+ --color-secondary-100: hsl(243.75 76.1905% 91.7647%);
+ --color-secondary-200: hsl(243 76.9231% 89.8039%);
+ --color-secondary-300: hsl(243.75 76.1905% 83.5294%);
+ --color-secondary-400: hsl(243.2432 75.5102% 71.1765%);
+ --color-secondary-500: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-600: hsl(243.3566 59.3361% 52.7451%);
+ --color-secondary-700: hsl(243.0252 52.8889% 44.1176%);
+ --color-secondary-800: hsl(243.1579 53.0726% 35.098%);
+ --color-secondary-900: hsl(243.8462 53.4247% 28.6275%);
+ --color-accent-100: hsl(199.0909 84.6154% 89.8039%);
+ --color-accent-200: hsl(198.5455 84.6154% 87.2549%);
+ --color-accent-300: hsl(198.6207 82.8571% 79.4118%);
+ --color-accent-400: hsl(198.7013 83.6957% 63.9216%);
+ --color-accent-500: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-600: hsl(198.5787 88.3408% 43.7255%);
+ --color-accent-700: hsl(198.6585 88.172% 36.4706%);
+ --color-accent-800: hsl(198.6364 89.1892% 29.0196%);
+ --color-accent-900: hsl(198.5047 88.4298% 23.7255%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(329.1892 67.2727% 89.2157%);
+ --color-danger-200: hsl(330 67.6471% 86.6667%);
+ --color-danger-300: hsl(330.4 68.8073% 78.6275%);
+ --color-danger-400: hsl(330.229 68.5864% 62.549%);
+ --color-danger-500: hsl(330.1604 78.903% 46.4706%);
+ --color-danger-600: hsl(330.3571 78.5047% 41.9608%);
+ --color-danger-700: hsl(330 78.6517% 34.902%);
+ --color-danger-800: hsl(330 78.8732% 27.8431%);
+ --color-danger-900: hsl(330 79.3103% 22.7451%);
+ --color-surface-100: hsl(225 32.0988% 31.7647%);
+ --color-surface-200: hsl(225.7143 32.3077% 25.4902%);
+ --color-surface-300: hsl(225.8824 32.0755% 20.7843%);
+ surface-400: rgb(128 140 177);
+ surface-500: rgb(73 90 143);
+ surface-600: rgb(66 81 129);
+ surface-700: rgb(55 68 107);
+ surface-800: rgb(44 54 86);
+ surface-900: rgb(36 44 70);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(330.1604 78.903% 46.4706%);
+ --color-primary: hsl(160 85.0746% 39.4118%);
+ --color-primary-50: hsl(160.5193 54.8337% 88.4639%);
+ --color-secondary: hsl(243.3962 75.3555% 58.6275%);
+ --color-secondary-50: hsl(243.6812 76.4014% 92.1848%);
+ --color-accent: hsl(198.6301 88.664% 48.4314%);
+ --color-accent-50: hsl(199.1094 84.6794% 90.3249%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(329.2701 67.5446% 89.7696%);
+}
+
+[data-theme="wintry"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(214.2857 94.5946% 92.7451%);
+ --color-primary-200: hsl(213.3333 96.9231% 87.2549%);
+ --color-primary-300: hsl(211.6981 96.3636% 78.4314%);
+ --color-primary-400: hsl(213.1169 93.9024% 67.8431%);
+ --color-primary-500: hsl(217.2193 91.2195% 59.8039%);
+ --color-primary-600: hsl(221.2121 83.1933% 53.3333%);
+ --color-primary-700: hsl(224.2781 76.3265% 48.0392%);
+ --color-primary-800: hsl(225.931 70.7317% 40.1961%);
+ --color-primary-900: hsl(224.4444 64.2857% 32.9412%);
+ --color-secondary-100: hsl(204 93.75% 93.7255%);
+ --color-secondary-200: hsl(200.597 94.3662% 86.0784%);
+ --color-secondary-300: hsl(199.3701 95.4887% 73.9216%);
+ --color-secondary-400: hsl(198.4375 93.2039% 59.6078%);
+ --color-secondary-500: hsl(198.6301 88.664% 48.4314%);
+ --color-secondary-600: hsl(200.4061 98.01% 39.4118%);
+ --color-secondary-700: hsl(201.2658 96.3415% 32.1569%);
+ --color-secondary-800: hsl(200.9524 90% 27.451%);
+ --color-secondary-900: hsl(202.0408 80.3279% 23.9216%);
+ --color-accent-100: hsl(226.4516 100% 93.9216%);
+ --color-accent-200: hsl(228 96.4912% 88.8235%);
+ --color-accent-300: hsl(229.6552 93.5484% 81.7647%);
+ --color-accent-400: hsl(234.4538 89.4737% 73.9216%);
+ --color-accent-500: hsl(238.7324 83.5294% 66.6667%);
+ --color-accent-600: hsl(243.3962 75.3555% 58.6275%);
+ --color-accent-700: hsl(244.5205 57.9365% 50.5882%);
+ --color-accent-800: hsl(243.6522 54.5024% 41.3725%);
+ --color-accent-900: hsl(242.1687 47.4286% 34.3137%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(329.1892 67.2727% 89.2157%);
+ --color-danger-200: hsl(330 67.6471% 86.6667%);
+ --color-danger-300: hsl(330.4 68.8073% 78.6275%);
+ --color-danger-400: hsl(330.229 68.5864% 62.549%);
+ --color-danger-500: hsl(330.1604 78.903% 46.4706%);
+ --color-danger-600: hsl(330.3571 78.5047% 41.9608%);
+ --color-danger-700: hsl(330 78.6517% 34.902%);
+ --color-danger-800: hsl(330 78.8732% 27.8431%);
+ --color-danger-900: hsl(330 79.3103% 22.7451%);
+ --color-surface-100: hsl(210 20% 98.0392%);
+ --color-surface-200: hsl(220 14.2857% 95.8824%);
+ --color-surface-300: hsl(220 13.0435% 90.9804%);
+ surface-400: rgb(156 163 175);
+ surface-500: rgb(107 114 128);
+ surface-600: rgb(75 85 99);
+ surface-700: rgb(55 65 81);
+ surface-800: rgb(31 41 55);
+ surface-900: rgb(17 24 39);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(330.1604 78.903% 46.4706%);
+ --color-primary: hsl(217.2193 91.2195% 59.8039%);
+ --color-primary-50: hsl(214.2894 94.7383% 93.1112%);
+ --color-secondary: hsl(198.6301 88.664% 48.4314%);
+ --color-secondary-50: hsl(204.0111 93.8261% 94.0431%);
+ --color-accent: hsl(238.7324 83.5294% 66.6667%);
+ --color-accent-50: hsl(226.4169 100% 94.2217%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(329.2701 67.5446% 89.7696%);
+}
+
+[data-theme="wintry-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(214.2857 94.5946% 92.7451%);
+ --color-primary-200: hsl(213.3333 96.9231% 87.2549%);
+ --color-primary-300: hsl(211.6981 96.3636% 78.4314%);
+ --color-primary-400: hsl(213.1169 93.9024% 67.8431%);
+ --color-primary-500: hsl(217.2193 91.2195% 59.8039%);
+ --color-primary-600: hsl(221.2121 83.1933% 53.3333%);
+ --color-primary-700: hsl(224.2781 76.3265% 48.0392%);
+ --color-primary-800: hsl(225.931 70.7317% 40.1961%);
+ --color-primary-900: hsl(224.4444 64.2857% 32.9412%);
+ --color-secondary-100: hsl(204 93.75% 93.7255%);
+ --color-secondary-200: hsl(200.597 94.3662% 86.0784%);
+ --color-secondary-300: hsl(199.3701 95.4887% 73.9216%);
+ --color-secondary-400: hsl(198.4375 93.2039% 59.6078%);
+ --color-secondary-500: hsl(198.6301 88.664% 48.4314%);
+ --color-secondary-600: hsl(200.4061 98.01% 39.4118%);
+ --color-secondary-700: hsl(201.2658 96.3415% 32.1569%);
+ --color-secondary-800: hsl(200.9524 90% 27.451%);
+ --color-secondary-900: hsl(202.0408 80.3279% 23.9216%);
+ --color-accent-100: hsl(226.4516 100% 93.9216%);
+ --color-accent-200: hsl(228 96.4912% 88.8235%);
+ --color-accent-300: hsl(229.6552 93.5484% 81.7647%);
+ --color-accent-400: hsl(234.4538 89.4737% 73.9216%);
+ --color-accent-500: hsl(238.7324 83.5294% 66.6667%);
+ --color-accent-600: hsl(243.3962 75.3555% 58.6275%);
+ --color-accent-700: hsl(244.5205 57.9365% 50.5882%);
+ --color-accent-800: hsl(243.6522 54.5024% 41.3725%);
+ --color-accent-900: hsl(242.1687 47.4286% 34.3137%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(329.1892 67.2727% 89.2157%);
+ --color-danger-200: hsl(330 67.6471% 86.6667%);
+ --color-danger-300: hsl(330.4 68.8073% 78.6275%);
+ --color-danger-400: hsl(330.229 68.5864% 62.549%);
+ --color-danger-500: hsl(330.1604 78.903% 46.4706%);
+ --color-danger-600: hsl(330.3571 78.5047% 41.9608%);
+ --color-danger-700: hsl(330 78.6517% 34.902%);
+ --color-danger-800: hsl(330 78.8732% 27.8431%);
+ --color-danger-900: hsl(330 79.3103% 22.7451%);
+ --color-surface-100: hsl(216.9231 19.1176% 26.6667%);
+ --color-surface-200: hsl(215 27.907% 16.8627%);
+ --color-surface-300: hsl(220.9091 39.2857% 10.9804%);
+ surface-400: rgb(156 163 175);
+ surface-500: rgb(107 114 128);
+ surface-600: rgb(75 85 99);
+ surface-700: rgb(55 65 81);
+ surface-800: rgb(31 41 55);
+ surface-900: rgb(17 24 39);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(330.1604 78.903% 46.4706%);
+ --color-primary: hsl(217.2193 91.2195% 59.8039%);
+ --color-primary-50: hsl(214.2894 94.7383% 93.1112%);
+ --color-secondary: hsl(198.6301 88.664% 48.4314%);
+ --color-secondary-50: hsl(204.0111 93.8261% 94.0431%);
+ --color-accent: hsl(238.7324 83.5294% 66.6667%);
+ --color-accent-50: hsl(226.4169 100% 94.2217%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(329.2701 67.5446% 89.7696%);
+}
+
+[data-theme="modern"] {
+ --color-primary-content: hsl(0 0% 100%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(329.0909 80.4878% 91.9608%);
+ --color-primary-200: hsl(329.2683 80.3922% 90%);
+ --color-primary-300: hsl(330.4615 80.2469% 84.1176%);
+ --color-primary-400: hsl(330.2609 81.5603% 72.3529%);
+ --color-primary-500: hsl(330.3659 81.1881% 60.3922%);
+ --color-primary-600: hsl(330.2041 63.0901% 54.3137%);
+ --color-primary-700: hsl(330.2439 53.2468% 45.2941%);
+ --color-primary-800: hsl(330.303 53.5135% 36.2745%);
+ --color-primary-900: hsl(330.3704 53.6424% 29.6078%);
+ --color-secondary-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-secondary-200: hsl(188.2353 69.863% 85.6863%);
+ --color-secondary-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-secondary-400: hsl(188.75 70.5882% 60%);
+ --color-secondary-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-secondary-600: hsl(188.7097 94.898% 38.4314%);
+ --color-secondary-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-secondary-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-secondary-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-accent-100: hsl(172.7273 54.0984% 88.0392%);
+ --color-accent-200: hsl(174.1463 53.2468% 84.902%);
+ --color-accent-300: hsl(172.7273 54.0984% 76.0784%);
+ --color-accent-400: hsl(173.6842 53.271% 58.0392%);
+ --color-accent-500: hsl(173.4146 80.3922% 40%);
+ --color-accent-600: hsl(173.1081 80.4348% 36.0784%);
+ --color-accent-700: hsl(173.6585 80.3922% 30%);
+ --color-accent-800: hsl(173.8776 80.3279% 23.9216%);
+ --color-accent-900: hsl(173.25 80% 19.6078%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(0 85% 92.1569%);
+ --color-danger-200: hsl(0 84.3137% 90%);
+ --color-danger-300: hsl(0 85.1852% 84.1176%);
+ --color-danger-400: hsl(0 84.507% 72.1569%);
+ --color-danger-500: hsl(0 84.2365% 60.1961%);
+ --color-danger-600: hsl(0 65.812% 54.1176%);
+ --color-danger-700: hsl(0 55.6522% 45.098%);
+ --color-danger-800: hsl(0 55.4348% 36.0784%);
+ --color-danger-900: hsl(0 56% 29.4118%);
+ --color-surface-100: hsl(240 84% 95.098%);
+ --color-surface-200: hsl(240 82.3529% 93.3333%);
+ --color-surface-300: hsl(238.3333 85.7143% 91.7647%);
+ surface-400: rgb(146 148 245);
+ surface-500: rgb(99 102 241);
+ surface-600: rgb(89 92 217);
+ surface-700: rgb(74 77 181);
+ surface-800: rgb(59 61 145);
+ surface-900: rgb(49 50 118);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(0 84.2365% 60.1961%);
+ --color-primary: hsl(330.3659 81.1881% 60.3922%);
+ --color-primary-50: hsl(329.1599 80.7897% 92.3751%);
+ --color-secondary: hsl(188.7379 94.4954% 42.7451%);
+ --color-secondary-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-accent: hsl(173.4146 80.3922% 40%);
+ --color-accent-50: hsl(172.6855 54.0885% 88.6496%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(0.0349 85.3775% 92.5596%);
+}
+
+[data-theme="modern-dark"] {
+ --color-primary-content: hsl(0 0% 100%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(329.0909 80.4878% 91.9608%);
+ --color-primary-200: hsl(329.2683 80.3922% 90%);
+ --color-primary-300: hsl(330.4615 80.2469% 84.1176%);
+ --color-primary-400: hsl(330.2609 81.5603% 72.3529%);
+ --color-primary-500: hsl(330.3659 81.1881% 60.3922%);
+ --color-primary-600: hsl(330.2041 63.0901% 54.3137%);
+ --color-primary-700: hsl(330.2439 53.2468% 45.2941%);
+ --color-primary-800: hsl(330.303 53.5135% 36.2745%);
+ --color-primary-900: hsl(330.3704 53.6424% 29.6078%);
+ --color-secondary-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-secondary-200: hsl(188.2353 69.863% 85.6863%);
+ --color-secondary-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-secondary-400: hsl(188.75 70.5882% 60%);
+ --color-secondary-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-secondary-600: hsl(188.7097 94.898% 38.4314%);
+ --color-secondary-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-secondary-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-secondary-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-accent-100: hsl(172.7273 54.0984% 88.0392%);
+ --color-accent-200: hsl(174.1463 53.2468% 84.902%);
+ --color-accent-300: hsl(172.7273 54.0984% 76.0784%);
+ --color-accent-400: hsl(173.6842 53.271% 58.0392%);
+ --color-accent-500: hsl(173.4146 80.3922% 40%);
+ --color-accent-600: hsl(173.1081 80.4348% 36.0784%);
+ --color-accent-700: hsl(173.6585 80.3922% 30%);
+ --color-accent-800: hsl(173.8776 80.3279% 23.9216%);
+ --color-accent-900: hsl(173.25 80% 19.6078%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.3333 84.9057% 89.6078%);
+ --color-warning-200: hsl(45.2632 85.0746% 86.8627%);
+ --color-warning-300: hsl(45.4945 85.0467% 79.0196%);
+ --color-warning-400: hsl(45.5696 84.0426% 63.1373%);
+ --color-warning-500: hsl(45.3982 93.3884% 47.451%);
+ --color-warning-600: hsl(45.2941 93.578% 42.7451%);
+ --color-warning-700: hsl(45.1765 93.4066% 35.6863%);
+ --color-warning-800: hsl(45.3333 93.1034% 28.4314%);
+ --color-warning-900: hsl(45.4054 93.2773% 23.3333%);
+ --color-danger-100: hsl(0 85% 92.1569%);
+ --color-danger-200: hsl(0 84.3137% 90%);
+ --color-danger-300: hsl(0 85.1852% 84.1176%);
+ --color-danger-400: hsl(0 84.507% 72.1569%);
+ --color-danger-500: hsl(0 84.2365% 60.1961%);
+ --color-danger-600: hsl(0 65.812% 54.1176%);
+ --color-danger-700: hsl(0 55.6522% 45.098%);
+ --color-danger-800: hsl(0 55.4348% 36.0784%);
+ --color-danger-900: hsl(0 56% 29.4118%);
+ --color-surface-100: hsl(238.3178 41.9608% 50%);
+ --color-surface-200: hsl(238.6047 42.1569% 40%);
+ --color-surface-300: hsl(239.1304 41.3174% 32.7451%);
+ surface-400: rgb(146 148 245);
+ surface-500: rgb(99 102 241);
+ surface-600: rgb(89 92 217);
+ surface-700: rgb(74 77 181);
+ surface-800: rgb(59 61 145);
+ surface-900: rgb(49 50 118);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(45.3982 93.3884% 47.451%);
+ --color-danger: hsl(0 84.2365% 60.1961%);
+ --color-primary: hsl(330.3659 81.1881% 60.3922%);
+ --color-primary-50: hsl(329.1599 80.7897% 92.3751%);
+ --color-secondary: hsl(188.7379 94.4954% 42.7451%);
+ --color-secondary-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-accent: hsl(173.4146 80.3922% 40%);
+ --color-accent-50: hsl(172.6855 54.0885% 88.6496%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.3431 84.8929% 90.1357%);
+ --color-danger-50: hsl(0.0349 85.3775% 92.5596%);
+}
+
+[data-theme="rocket"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-primary-200: hsl(188.2353 69.863% 85.6863%);
+ --color-primary-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-primary-400: hsl(188.75 70.5882% 60%);
+ --color-primary-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-primary-600: hsl(188.7097 94.898% 38.4314%);
+ --color-primary-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-primary-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-primary-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-secondary-100: hsl(217.2973 90.2439% 91.9608%);
+ --color-secondary-200: hsl(217.0213 92.1569% 90%);
+ --color-secondary-300: hsl(217.2973 90.2439% 83.9216%);
+ --color-secondary-400: hsl(217.0992 91.6084% 71.9608%);
+ --color-secondary-500: hsl(217.2193 91.2195% 59.8039%);
+ --color-secondary-600: hsl(217.1429 71.1864% 53.7255%);
+ --color-secondary-700: hsl(217.0213 61.5721% 44.902%);
+ --color-secondary-800: hsl(217.1681 61.7486% 35.8824%);
+ --color-secondary-900: hsl(217.1739 61.3333% 29.4118%);
+ --color-accent-100: hsl(271.875 88.8889% 92.9412%);
+ --color-accent-200: hsl(270 90.9091% 91.3725%);
+ --color-accent-300: hsl(270.4615 91.5493% 86.0784%);
+ --color-accent-400: hsl(270.7965 90.4% 75.4902%);
+ --color-accent-500: hsl(270.7407 91.0112% 65.098%);
+ --color-accent-600: hsl(270.6207 68.7204% 58.6275%);
+ --color-accent-700: hsl(270.7438 48.5944% 48.8235%);
+ --color-accent-800: hsl(270.9278 48.7437% 39.0196%);
+ --color-accent-900: hsl(270.3797 48.4663% 31.9608%);
+ --color-success-100: hsl(102.1622 64.9123% 88.8235%);
+ --color-success-200: hsl(102.6667 63.3803% 86.0784%);
+ --color-success-300: hsl(101.9178 63.4783% 77.451%);
+ --color-success-400: hsl(101.7188 64% 60.7843%);
+ --color-success-500: hsl(101.8681 81.25% 43.9216%);
+ --color-success-600: hsl(102.0732 81.1881% 39.6078%);
+ --color-success-700: hsl(101.9118 80.9524% 32.9412%);
+ --color-success-800: hsl(101.8349 80.7407% 26.4706%);
+ --color-success-900: hsl(101.7978 81.6514% 21.3725%);
+ --color-warning-100: hsl(45.3659 91.1111% 91.1765%);
+ --color-warning-200: hsl(45.6 89.2857% 89.0196%);
+ --color-warning-300: hsl(44.4444 91.0112% 82.549%);
+ --color-warning-400: hsl(45.1064 89.8089% 69.2157%);
+ --color-warning-500: hsl(44.8515 90.1786% 56.0784%);
+ --color-warning-600: hsl(44.8352 72.2222% 50.5882%);
+ --color-warning-700: hsl(44.9007 70.2326% 42.1569%);
+ --color-warning-800: hsl(45.124 70.7602% 33.5294%);
+ --color-warning-900: hsl(44.8485 70.2128% 27.6471%);
+ --color-danger-100: hsl(342.2222 47.3684% 88.8235%);
+ --color-danger-200: hsl(341.1429 49.2958% 86.0784%);
+ --color-danger-300: hsl(342.2222 47.3684% 77.6471%);
+ --color-danger-400: hsl(341.875 48% 60.7843%);
+ --color-danger-500: hsl(342.0438 60.8889% 44.1176%);
+ --color-danger-600: hsl(341.9512 60.5911% 39.8039%);
+ --color-danger-700: hsl(341.9417 60.9467% 33.1373%);
+ --color-danger-800: hsl(341.9277 61.4815% 26.4706%);
+ --color-danger-900: hsl(342.0896 60.3604% 21.7647%);
+ --color-surface-100: hsl(220 15% 92.1569%);
+ --color-surface-200: hsl(217.5 14.8148% 89.4118%);
+ --color-surface-300: hsl(216 14.7059% 86.6667%);
+ surface-400: rgb(147 158 174);
+ surface-500: rgb(100 116 139);
+ surface-600: rgb(90 104 125);
+ surface-700: rgb(75 87 104);
+ surface-800: rgb(60 70 83);
+ surface-900: rgb(49 57 68);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(101.8681 81.25% 43.9216%);
+ --color-warning: hsl(44.8515 90.1786% 56.0784%);
+ --color-danger: hsl(342.0438 60.8889% 44.1176%);
+ --color-primary: hsl(188.7379 94.4954% 42.7451%);
+ --color-primary-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-secondary: hsl(217.2193 91.2195% 59.8039%);
+ --color-secondary-50: hsl(217.2953 90.4058% 92.3659%);
+ --color-accent: hsl(270.7407 91.0112% 65.098%);
+ --color-accent-50: hsl(271.8354 89.0885% 93.3015%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(102.1849 64.9768% 89.3912%);
+ --color-warning-50: hsl(45.3756 91.104% 91.6245%);
+ --color-danger-50: hsl(342.2736 47.511% 89.3875%);
+}
+
+[data-theme="rocket-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-primary-200: hsl(188.2353 69.863% 85.6863%);
+ --color-primary-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-primary-400: hsl(188.75 70.5882% 60%);
+ --color-primary-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-primary-600: hsl(188.7097 94.898% 38.4314%);
+ --color-primary-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-primary-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-primary-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-secondary-100: hsl(217.2973 90.2439% 91.9608%);
+ --color-secondary-200: hsl(217.0213 92.1569% 90%);
+ --color-secondary-300: hsl(217.2973 90.2439% 83.9216%);
+ --color-secondary-400: hsl(217.0992 91.6084% 71.9608%);
+ --color-secondary-500: hsl(217.2193 91.2195% 59.8039%);
+ --color-secondary-600: hsl(217.1429 71.1864% 53.7255%);
+ --color-secondary-700: hsl(217.0213 61.5721% 44.902%);
+ --color-secondary-800: hsl(217.1681 61.7486% 35.8824%);
+ --color-secondary-900: hsl(217.1739 61.3333% 29.4118%);
+ --color-accent-100: hsl(271.875 88.8889% 92.9412%);
+ --color-accent-200: hsl(270 90.9091% 91.3725%);
+ --color-accent-300: hsl(270.4615 91.5493% 86.0784%);
+ --color-accent-400: hsl(270.7965 90.4% 75.4902%);
+ --color-accent-500: hsl(270.7407 91.0112% 65.098%);
+ --color-accent-600: hsl(270.6207 68.7204% 58.6275%);
+ --color-accent-700: hsl(270.7438 48.5944% 48.8235%);
+ --color-accent-800: hsl(270.9278 48.7437% 39.0196%);
+ --color-accent-900: hsl(270.3797 48.4663% 31.9608%);
+ --color-success-100: hsl(102.1622 64.9123% 88.8235%);
+ --color-success-200: hsl(102.6667 63.3803% 86.0784%);
+ --color-success-300: hsl(101.9178 63.4783% 77.451%);
+ --color-success-400: hsl(101.7188 64% 60.7843%);
+ --color-success-500: hsl(101.8681 81.25% 43.9216%);
+ --color-success-600: hsl(102.0732 81.1881% 39.6078%);
+ --color-success-700: hsl(101.9118 80.9524% 32.9412%);
+ --color-success-800: hsl(101.8349 80.7407% 26.4706%);
+ --color-success-900: hsl(101.7978 81.6514% 21.3725%);
+ --color-warning-100: hsl(45.3659 91.1111% 91.1765%);
+ --color-warning-200: hsl(45.6 89.2857% 89.0196%);
+ --color-warning-300: hsl(44.4444 91.0112% 82.549%);
+ --color-warning-400: hsl(45.1064 89.8089% 69.2157%);
+ --color-warning-500: hsl(44.8515 90.1786% 56.0784%);
+ --color-warning-600: hsl(44.8352 72.2222% 50.5882%);
+ --color-warning-700: hsl(44.9007 70.2326% 42.1569%);
+ --color-warning-800: hsl(45.124 70.7602% 33.5294%);
+ --color-warning-900: hsl(44.8485 70.2128% 27.6471%);
+ --color-danger-100: hsl(342.2222 47.3684% 88.8235%);
+ --color-danger-200: hsl(341.1429 49.2958% 86.0784%);
+ --color-danger-300: hsl(342.2222 47.3684% 77.6471%);
+ --color-danger-400: hsl(341.875 48% 60.7843%);
+ --color-danger-500: hsl(342.0438 60.8889% 44.1176%);
+ --color-danger-600: hsl(341.9512 60.5911% 39.8039%);
+ --color-danger-700: hsl(341.9417 60.9467% 33.1373%);
+ --color-danger-800: hsl(341.9277 61.4815% 26.4706%);
+ --color-danger-900: hsl(342.0896 60.3604% 21.7647%);
+ --color-surface-100: hsl(215.1724 16.2011% 35.098%);
+ --color-surface-200: hsl(213.913 16.0839% 28.0392%);
+ --color-surface-300: hsl(214.7368 16.2393% 22.9412%);
+ surface-400: rgb(147 158 174);
+ surface-500: rgb(100 116 139);
+ surface-600: rgb(90 104 125);
+ surface-700: rgb(75 87 104);
+ surface-800: rgb(60 70 83);
+ surface-900: rgb(49 57 68);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(101.8681 81.25% 43.9216%);
+ --color-warning: hsl(44.8515 90.1786% 56.0784%);
+ --color-danger: hsl(342.0438 60.8889% 44.1176%);
+ --color-primary: hsl(188.7379 94.4954% 42.7451%);
+ --color-primary-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-secondary: hsl(217.2193 91.2195% 59.8039%);
+ --color-secondary-50: hsl(217.2953 90.4058% 92.3659%);
+ --color-accent: hsl(270.7407 91.0112% 65.098%);
+ --color-accent-50: hsl(271.8354 89.0885% 93.3015%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(102.1849 64.9768% 89.3912%);
+ --color-warning-50: hsl(45.3756 91.104% 91.6245%);
+ --color-danger-50: hsl(342.2736 47.511% 89.3875%);
+}
+
+[data-theme="seafoam"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(176 45.4545% 93.5294%);
+ --color-primary-200: hsl(176.6667 42.8571% 91.7647%);
+ --color-primary-300: hsl(175.8621 43.2836% 86.8627%);
+ --color-primary-400: hsl(176.5385 44.0678% 76.8627%);
+ --color-primary-500: hsl(175.9459 44.0476% 67.0588%);
+ --color-primary-600: hsl(176.3636 32.6733% 60.3922%);
+ --color-primary-700: hsl(175.6364 21.7391% 50.3922%);
+ --color-primary-800: hsl(176 21.9512% 40.1961%);
+ --color-primary-900: hsl(175 21.4286% 32.9412%);
+ --color-secondary-100: hsl(222 12.8205% 84.7059%);
+ --color-secondary-200: hsl(221.5385 13.4021% 80.9804%);
+ --color-secondary-300: hsl(220 13.3758% 69.2157%);
+ --color-secondary-400: hsl(220 15.2542% 46.2745%);
+ --color-secondary-500: hsl(219.2308 44.0678% 23.1373%);
+ --color-secondary-600: hsl(219.5745 43.9252% 20.9804%);
+ --color-secondary-700: hsl(220 43.8202% 17.451%);
+ --color-secondary-800: hsl(218.7097 43.662% 13.9216%);
+ --color-secondary-900: hsl(219.2308 44.8276% 11.3725%);
+ --color-accent-100: hsl(14.1176 100% 90%);
+ --color-accent-200: hsl(15 100% 87.451%);
+ --color-accent-300: hsl(14.1176 100% 80%);
+ --color-accent-400: hsl(14.1573 100% 65.098%);
+ --color-accent-500: hsl(14.3529 100% 50%);
+ --color-accent-600: hsl(14.3478 100% 45.098%);
+ --color-accent-700: hsl(14.4503 100% 37.451%);
+ --color-accent-800: hsl(14.5098 100% 30%);
+ --color-accent-900: hsl(14.4 100% 24.5098%);
+ --color-success-100: hsl(161.3333 81.8182% 89.2157%);
+ --color-success-200: hsl(161.7857 82.3529% 86.6667%);
+ --color-success-300: hsl(162 81.8182% 78.4314%);
+ --color-success-400: hsl(161.9231 81.25% 62.3529%);
+ --color-success-500: hsl(161.9731 94.8936% 46.0784%);
+ --color-success-600: hsl(162.0896 95.2607% 41.3725%);
+ --color-success-700: hsl(162.0359 94.3503% 34.7059%);
+ --color-success-800: hsl(161.9549 94.3262% 27.6471%);
+ --color-success-900: hsl(161.8349 94.7826% 22.549%);
+ --color-warning-100: hsl(58 78.9474% 92.549%);
+ --color-warning-200: hsl(58.3784 78.7234% 90.7843%);
+ --color-warning-300: hsl(57.9661 78.6667% 85.2941%);
+ --color-warning-400: hsl(58.2524 77.4436% 73.9216%);
+ --color-warning-500: hsl(57.9592 77.7778% 62.9412%);
+ --color-warning-600: hsl(57.7444 60.181% 56.6667%);
+ --color-warning-700: hsl(57.8378 46.0581% 47.2549%);
+ --color-warning-800: hsl(57.9545 45.8333% 37.6471%);
+ --color-warning-900: hsl(57.5 45.5696% 30.9804%);
+ --color-danger-100: hsl(0 60.8696% 90.9804%);
+ --color-danger-200: hsl(0 61.4035% 88.8235%);
+ --color-danger-300: hsl(0 60.8696% 81.9608%);
+ --color-danger-400: hsl(0 61.25% 68.6275%);
+ --color-danger-500: hsl(0 60.8696% 54.902%);
+ --color-danger-600: hsl(0 50% 49.4118%);
+ --color-danger-700: hsl(0 49.763% 41.3725%);
+ --color-danger-800: hsl(0 50% 32.9412%);
+ --color-danger-900: hsl(0 50.365% 26.8627%);
+ --color-surface-100: hsl(182.2222 69.2308% 92.3529%);
+ --color-surface-200: hsl(180 66.0377% 89.6078%);
+ --color-surface-300: hsl(180 66.1538% 87.2549%);
+ surface-400: rgb(102 223 225);
+ surface-500: rgb(37 209 212);
+ surface-600: rgb(33 188 191);
+ surface-700: rgb(28 157 159);
+ surface-800: rgb(22 125 127);
+ surface-900: rgb(18 102 104);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(161.9731 94.8936% 46.0784%);
+ --color-warning: hsl(57.9592 77.7778% 62.9412%);
+ --color-danger: hsl(0 60.8696% 54.902%);
+ --color-primary: hsl(175.9459 44.0476% 67.0588%);
+ --color-primary-50: hsl(175.9851 45.4522% 93.8545%);
+ --color-secondary: hsl(219.2308 44.0678% 23.1373%);
+ --color-secondary-50: hsl(221.997 12.8364% 85.4596%);
+ --color-accent: hsl(14.3529 100% 50%);
+ --color-accent-50: hsl(14.1448 100% 90.4963%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(161.2453 81.8677% 89.7845%);
+ --color-warning-50: hsl(58.0387 78.8938% 92.9257%);
+ --color-danger-50: hsl(0.0284 61.0823% 91.437%);
+}
+
+[data-theme="seafoam-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(176 45.4545% 93.5294%);
+ --color-primary-200: hsl(176.6667 42.8571% 91.7647%);
+ --color-primary-300: hsl(175.8621 43.2836% 86.8627%);
+ --color-primary-400: hsl(176.5385 44.0678% 76.8627%);
+ --color-primary-500: hsl(175.9459 44.0476% 67.0588%);
+ --color-primary-600: hsl(176.3636 32.6733% 60.3922%);
+ --color-primary-700: hsl(175.6364 21.7391% 50.3922%);
+ --color-primary-800: hsl(176 21.9512% 40.1961%);
+ --color-primary-900: hsl(175 21.4286% 32.9412%);
+ --color-secondary-100: hsl(222 12.8205% 84.7059%);
+ --color-secondary-200: hsl(221.5385 13.4021% 80.9804%);
+ --color-secondary-300: hsl(220 13.3758% 69.2157%);
+ --color-secondary-400: hsl(220 15.2542% 46.2745%);
+ --color-secondary-500: hsl(219.2308 44.0678% 23.1373%);
+ --color-secondary-600: hsl(219.5745 43.9252% 20.9804%);
+ --color-secondary-700: hsl(220 43.8202% 17.451%);
+ --color-secondary-800: hsl(218.7097 43.662% 13.9216%);
+ --color-secondary-900: hsl(219.2308 44.8276% 11.3725%);
+ --color-accent-100: hsl(14.1176 100% 90%);
+ --color-accent-200: hsl(15 100% 87.451%);
+ --color-accent-300: hsl(14.1176 100% 80%);
+ --color-accent-400: hsl(14.1573 100% 65.098%);
+ --color-accent-500: hsl(14.3529 100% 50%);
+ --color-accent-600: hsl(14.3478 100% 45.098%);
+ --color-accent-700: hsl(14.4503 100% 37.451%);
+ --color-accent-800: hsl(14.5098 100% 30%);
+ --color-accent-900: hsl(14.4 100% 24.5098%);
+ --color-success-100: hsl(161.3333 81.8182% 89.2157%);
+ --color-success-200: hsl(161.7857 82.3529% 86.6667%);
+ --color-success-300: hsl(162 81.8182% 78.4314%);
+ --color-success-400: hsl(161.9231 81.25% 62.3529%);
+ --color-success-500: hsl(161.9731 94.8936% 46.0784%);
+ --color-success-600: hsl(162.0896 95.2607% 41.3725%);
+ --color-success-700: hsl(162.0359 94.3503% 34.7059%);
+ --color-success-800: hsl(161.9549 94.3262% 27.6471%);
+ --color-success-900: hsl(161.8349 94.7826% 22.549%);
+ --color-warning-100: hsl(58 78.9474% 92.549%);
+ --color-warning-200: hsl(58.3784 78.7234% 90.7843%);
+ --color-warning-300: hsl(57.9661 78.6667% 85.2941%);
+ --color-warning-400: hsl(58.2524 77.4436% 73.9216%);
+ --color-warning-500: hsl(57.9592 77.7778% 62.9412%);
+ --color-warning-600: hsl(57.7444 60.181% 56.6667%);
+ --color-warning-700: hsl(57.8378 46.0581% 47.2549%);
+ --color-warning-800: hsl(57.9545 45.8333% 37.6471%);
+ --color-warning-900: hsl(57.5 45.5696% 30.9804%);
+ --color-danger-100: hsl(0 60.8696% 90.9804%);
+ --color-danger-200: hsl(0 61.4035% 88.8235%);
+ --color-danger-300: hsl(0 60.8696% 81.9608%);
+ --color-danger-400: hsl(0 61.25% 68.6275%);
+ --color-danger-500: hsl(0 60.8696% 54.902%);
+ --color-danger-600: hsl(0 50% 49.4118%);
+ --color-danger-700: hsl(0 49.763% 41.3725%);
+ --color-danger-800: hsl(0 50% 32.9412%);
+ --color-danger-900: hsl(0 50.365% 26.8627%);
+ --color-surface-100: hsl(180.916 70.0535% 36.6667%);
+ --color-surface-200: hsl(181.1429 70.4698% 29.2157%);
+ --color-surface-300: hsl(181.3953 70.4918% 23.9216%);
+ surface-400: rgb(102 223 225);
+ surface-500: rgb(37 209 212);
+ surface-600: rgb(33 188 191);
+ surface-700: rgb(28 157 159);
+ surface-800: rgb(22 125 127);
+ surface-900: rgb(18 102 104);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(161.9731 94.8936% 46.0784%);
+ --color-warning: hsl(57.9592 77.7778% 62.9412%);
+ --color-danger: hsl(0 60.8696% 54.902%);
+ --color-primary: hsl(175.9459 44.0476% 67.0588%);
+ --color-primary-50: hsl(175.9851 45.4522% 93.8545%);
+ --color-secondary: hsl(219.2308 44.0678% 23.1373%);
+ --color-secondary-50: hsl(221.997 12.8364% 85.4596%);
+ --color-accent: hsl(14.3529 100% 50%);
+ --color-accent-50: hsl(14.1448 100% 90.4963%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(161.2453 81.8677% 89.7845%);
+ --color-warning-50: hsl(58.0387 78.8938% 92.9257%);
+ --color-danger-50: hsl(0.0284 61.0823% 91.437%);
+}
+
+[data-theme="vintage"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 0%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(31.4286 84% 90.1961%);
+ --color-primary-200: hsl(31.1538 83.871% 87.8431%);
+ --color-primary-300: hsl(31.4286 84% 80.3922%);
+ --color-primary-400: hsl(31.0345 82.8571% 65.6863%);
+ --color-primary-500: hsl(31.1538 83.2% 50.9804%);
+ --color-primary-600: hsl(31.2766 80.3419% 45.8824%);
+ --color-primary-700: hsl(31.1538 79.5918% 38.4314%);
+ --color-primary-800: hsl(30.9677 79.4872% 30.5882%);
+ --color-primary-900: hsl(31.1765 79.6875% 25.098%);
+ --color-secondary-100: hsl(136.3636 35.4839% 93.9216%);
+ --color-secondary-200: hsl(137.1429 36.8421% 92.549%);
+ --color-secondary-300: hsl(136.3636 35.4839% 87.8431%);
+ --color-secondary-400: hsl(135.3846 36.4486% 79.0196%);
+ --color-secondary-500: hsl(135.2727 35.9477% 70%);
+ --color-secondary-600: hsl(135.9184 25.9259% 62.9412%);
+ --color-secondary-700: hsl(135.7143 17.3554% 52.549%);
+ --color-secondary-800: hsl(134.5455 15.3488% 42.1569%);
+ --color-secondary-900: hsl(135.5556 15.4286% 34.3137%);
+ --color-accent-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-accent-200: hsl(188.2353 69.863% 85.6863%);
+ --color-accent-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-accent-400: hsl(188.75 70.5882% 60%);
+ --color-accent-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-accent-600: hsl(188.7097 94.898% 38.4314%);
+ --color-accent-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-accent-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-accent-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-success-100: hsl(100.9091 52.381% 91.7647%);
+ --color-success-200: hsl(100 50.9434% 89.6078%);
+ --color-success-300: hsl(98.1818 51.1628% 83.1373%);
+ --color-success-400: hsl(98.961 51.6779% 70.7843%);
+ --color-success-500: hsl(98.7273 51.4019% 58.0392%);
+ --color-success-600: hsl(98.7879 40.7407% 52.3529%);
+ --color-success-700: hsl(98.7805 36.9369% 43.5294%);
+ --color-success-800: hsl(99.0909 37.0787% 34.902%);
+ --color-success-900: hsl(98.4906 36.5517% 28.4314%);
+ --color-warning-100: hsl(39.5122 87.234% 90.7843%);
+ --color-warning-200: hsl(39.2308 89.6552% 88.6275%);
+ --color-warning-300: hsl(39.759 89.2473% 81.7647%);
+ --color-warning-400: hsl(39.7241 88.9571% 68.0392%);
+ --color-warning-500: hsl(39.7101 88.8412% 54.3137%);
+ --color-warning-600: hsl(39.6774 74.4% 49.0196%);
+ --color-warning-700: hsl(39.6154 75% 40.7843%);
+ --color-warning-800: hsl(39.6774 74.6988% 32.549%);
+ --color-warning-900: hsl(39.4118 75% 26.6667%);
+ --color-danger-100: hsl(3.1579 54.2857% 93.1373%);
+ --color-danger-200: hsl(5 54.5455% 91.3725%);
+ --color-danger-300: hsl(3.2432 52.1127% 86.0784%);
+ --color-danger-400: hsl(3.6923 52.8455% 75.8824%);
+ --color-danger-500: hsl(3.871 52.5424% 65.2941%);
+ --color-danger-600: hsl(3.5714 40% 58.8235%);
+ --color-danger-700: hsl(4.2857 28% 49.0196%);
+ --color-danger-800: hsl(4.2857 28% 39.2157%);
+ --color-danger-900: hsl(4 27.6074% 31.9608%);
+ --color-surface-100: hsl(30 3.3333% 88.2353%);
+ --color-surface-200: hsl(20 3.7975% 84.5098%);
+ --color-surface-300: hsl(20 3.0303% 80.5882%);
+ surface-400: rgb(121 115 111);
+ surface-500: rgb(63 55 49);
+ surface-600: rgb(57 50 44);
+ surface-700: rgb(47 41 37);
+ surface-800: rgb(38 33 29);
+ surface-900: rgb(31 27 24);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(98.7273 51.4019% 58.0392%);
+ --color-warning: hsl(39.7101 88.8412% 54.3137%);
+ --color-danger: hsl(3.871 52.5424% 65.2941%);
+ --color-primary: hsl(31.1538 83.2% 50.9804%);
+ --color-primary-50: hsl(31.4148 84.0933% 90.6922%);
+ --color-secondary: hsl(135.2727 35.9477% 70%);
+ --color-secondary-50: hsl(136.3397 35.4883% 94.2255%);
+ --color-accent: hsl(188.7379 94.4954% 42.7451%);
+ --color-accent-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(100.9235 52.4104% 92.1781%);
+ --color-warning-50: hsl(39.5093 87.2642% 91.251%);
+ --color-danger-50: hsl(3.1696 54.3994% 93.4821%);
+}
+
+[data-theme="vintage-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 0%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(31.4286 84% 90.1961%);
+ --color-primary-200: hsl(31.1538 83.871% 87.8431%);
+ --color-primary-300: hsl(31.4286 84% 80.3922%);
+ --color-primary-400: hsl(31.0345 82.8571% 65.6863%);
+ --color-primary-500: hsl(31.1538 83.2% 50.9804%);
+ --color-primary-600: hsl(31.2766 80.3419% 45.8824%);
+ --color-primary-700: hsl(31.1538 79.5918% 38.4314%);
+ --color-primary-800: hsl(30.9677 79.4872% 30.5882%);
+ --color-primary-900: hsl(31.1765 79.6875% 25.098%);
+ --color-secondary-100: hsl(136.3636 35.4839% 93.9216%);
+ --color-secondary-200: hsl(137.1429 36.8421% 92.549%);
+ --color-secondary-300: hsl(136.3636 35.4839% 87.8431%);
+ --color-secondary-400: hsl(135.3846 36.4486% 79.0196%);
+ --color-secondary-500: hsl(135.2727 35.9477% 70%);
+ --color-secondary-600: hsl(135.9184 25.9259% 62.9412%);
+ --color-secondary-700: hsl(135.7143 17.3554% 52.549%);
+ --color-secondary-800: hsl(134.5455 15.3488% 42.1569%);
+ --color-secondary-900: hsl(135.5556 15.4286% 34.3137%);
+ --color-accent-100: hsl(188.7805 69.4915% 88.4314%);
+ --color-accent-200: hsl(188.2353 69.863% 85.6863%);
+ --color-accent-300: hsl(188.6747 70.9402% 77.0588%);
+ --color-accent-400: hsl(188.75 70.5882% 60%);
+ --color-accent-500: hsl(188.7379 94.4954% 42.7451%);
+ --color-accent-600: hsl(188.7097 94.898% 38.4314%);
+ --color-accent-700: hsl(188.5714 93.9024% 32.1569%);
+ --color-accent-800: hsl(188.7805 93.8931% 25.6863%);
+ --color-accent-900: hsl(188.9109 94.3925% 20.9804%);
+ --color-success-100: hsl(100.9091 52.381% 91.7647%);
+ --color-success-200: hsl(100 50.9434% 89.6078%);
+ --color-success-300: hsl(98.1818 51.1628% 83.1373%);
+ --color-success-400: hsl(98.961 51.6779% 70.7843%);
+ --color-success-500: hsl(98.7273 51.4019% 58.0392%);
+ --color-success-600: hsl(98.7879 40.7407% 52.3529%);
+ --color-success-700: hsl(98.7805 36.9369% 43.5294%);
+ --color-success-800: hsl(99.0909 37.0787% 34.902%);
+ --color-success-900: hsl(98.4906 36.5517% 28.4314%);
+ --color-warning-100: hsl(39.5122 87.234% 90.7843%);
+ --color-warning-200: hsl(39.2308 89.6552% 88.6275%);
+ --color-warning-300: hsl(39.759 89.2473% 81.7647%);
+ --color-warning-400: hsl(39.7241 88.9571% 68.0392%);
+ --color-warning-500: hsl(39.7101 88.8412% 54.3137%);
+ --color-warning-600: hsl(39.6774 74.4% 49.0196%);
+ --color-warning-700: hsl(39.6154 75% 40.7843%);
+ --color-warning-800: hsl(39.6774 74.6988% 32.549%);
+ --color-warning-900: hsl(39.4118 75% 26.6667%);
+ --color-danger-100: hsl(3.1579 54.2857% 93.1373%);
+ --color-danger-200: hsl(5 54.5455% 91.3725%);
+ --color-danger-300: hsl(3.2432 52.1127% 86.0784%);
+ --color-danger-400: hsl(3.6923 52.8455% 75.8824%);
+ --color-danger-500: hsl(3.871 52.5424% 65.2941%);
+ --color-danger-600: hsl(3.5714 40% 58.8235%);
+ --color-danger-700: hsl(4.2857 28% 49.0196%);
+ --color-danger-800: hsl(4.2857 28% 39.2157%);
+ --color-danger-900: hsl(4 27.6074% 31.9608%);
+ --color-surface-100: hsl(24 11.9048% 16.4706%);
+ --color-surface-200: hsl(26.6667 13.4328% 13.1373%);
+ --color-surface-300: hsl(25.7143 12.7273% 10.7843%);
+ surface-400: rgb(121 115 111);
+ surface-500: rgb(63 55 49);
+ surface-600: rgb(57 50 44);
+ surface-700: rgb(47 41 37);
+ surface-800: rgb(38 33 29);
+ surface-900: rgb(31 27 24);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(98.7273 51.4019% 58.0392%);
+ --color-warning: hsl(39.7101 88.8412% 54.3137%);
+ --color-danger: hsl(3.871 52.5424% 65.2941%);
+ --color-primary: hsl(31.1538 83.2% 50.9804%);
+ --color-primary-50: hsl(31.4148 84.0933% 90.6922%);
+ --color-secondary: hsl(135.2727 35.9477% 70%);
+ --color-secondary-50: hsl(136.3397 35.4883% 94.2255%);
+ --color-accent: hsl(188.7379 94.4954% 42.7451%);
+ --color-accent-50: hsl(188.7824 69.4811% 89.0237%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(100.9235 52.4104% 92.1781%);
+ --color-warning-50: hsl(39.5093 87.2642% 91.251%);
+ --color-danger-50: hsl(3.1696 54.3994% 93.4821%);
+}
+
+[data-theme="sahara"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(38.3333 81.8182% 91.3725%);
+ --color-primary-200: hsl(38.6667 81.8182% 89.2157%);
+ --color-primary-300: hsl(38.3333 81.8182% 82.7451%);
+ --color-primary-400: hsl(38.4375 83.1169% 69.8039%);
+ --color-primary-500: hsl(38.2418 82.7273% 56.8627%);
+ --color-primary-600: hsl(38.2822 65.4618% 51.1765%);
+ --color-primary-700: hsl(38.3824 62.3853% 42.7451%);
+ --color-primary-800: hsl(38.1818 63.2184% 34.1176%);
+ --color-primary-900: hsl(38 63.3803% 27.8431%);
+ --color-secondary-100: hsl(171.7241 59.1837% 90.3922%);
+ --color-secondary-200: hsl(173.3333 58.0645% 87.8431%);
+ --color-secondary-300: hsl(172.7586 58% 80.3922%);
+ --color-secondary-400: hsl(172.9412 58.6207% 65.8824%);
+ --color-secondary-500: hsl(172.9655 58.2329% 51.1765%);
+ --color-secondary-600: hsl(172.6718 55.7447% 46.0784%);
+ --color-secondary-700: hsl(173.3333 55.102% 38.4314%);
+ --color-secondary-800: hsl(173.1034 55.414% 30.7843%);
+ --color-secondary-900: hsl(173.2394 55.9055% 24.902%);
+ --color-accent-100: hsl(86.6667 60% 94.1176%);
+ --color-accent-200: hsl(84.5455 57.8947% 92.549%);
+ --color-accent-300: hsl(84 57.377% 88.0392%);
+ --color-accent-400: hsl(84.7619 58.8785% 79.0196%);
+ --color-accent-500: hsl(84.2697 58.1699% 70%);
+ --color-accent-600: hsl(84.75 42.5532% 63.1373%);
+ --color-accent-700: hsl(84.5455 27.2727% 52.549%);
+ --color-accent-800: hsl(84.4444 25.2336% 41.9608%);
+ --color-accent-900: hsl(83.7209 24.5714% 34.3137%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.5172 74.359% 92.3529%);
+ --color-warning-200: hsl(45 75% 90.5882%);
+ --color-warning-300: hsl(44.2105 74.026% 84.902%);
+ --color-warning-400: hsl(45 73.5294% 73.3333%);
+ --color-warning-500: hsl(44.7887 73.1959% 61.9608%);
+ --color-warning-600: hsl(45 56.6372% 55.6863%);
+ --color-warning-700: hsl(44.8598 45.1477% 46.4706%);
+ --color-warning-800: hsl(45.1765 44.9735% 37.0588%);
+ --color-warning-900: hsl(45.2174 44.5161% 30.3922%);
+ --color-danger-100: hsl(330 65% 92.1569%);
+ --color-danger-200: hsl(330 64% 90.1961%);
+ --color-danger-300: hsl(330.5882 64.557% 84.5098%);
+ --color-danger-400: hsl(329.6629 64.0288% 72.7451%);
+ --color-danger-500: hsl(329.7638 63.8191% 60.9804%);
+ --color-danger-600: hsl(330 49.5652% 54.902%);
+ --color-danger-700: hsl(329.6842 40.7725% 45.6863%);
+ --color-danger-800: hsl(329.2105 40.8602% 36.4706%);
+ --color-danger-900: hsl(330 40.7895% 29.8039%);
+ --color-surface-100: hsl(348.5714 63.6364% 93.5294%);
+ --color-surface-200: hsl(351.4286 66.6667% 91.7647%);
+ --color-surface-300: hsl(349.7143 66.0377% 89.6078%);
+ surface-400: rgb(229 131 147);
+ surface-500: rgb(218 78 101);
+ surface-600: rgb(196 70 91);
+ surface-700: rgb(164 59 76);
+ surface-800: rgb(131 47 61);
+ surface-900: rgb(107 38 49);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(44.7887 73.1959% 61.9608%);
+ --color-danger: hsl(329.7638 63.8191% 60.9804%);
+ --color-primary: hsl(38.2418 82.7273% 56.8627%);
+ --color-primary-50: hsl(38.3297 81.8482% 91.8078%);
+ --color-secondary: hsl(172.9655 58.2329% 51.1765%);
+ --color-secondary-50: hsl(171.6868 59.1825% 90.8822%);
+ --color-accent: hsl(84.2697 58.1699% 70%);
+ --color-accent-50: hsl(86.6928 60.0216% 94.4134%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.5261 74.3486% 92.7374%);
+ --color-danger-50: hsl(330.0542 65.1822% 92.5558%);
+}
+
+[data-theme="sahara-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 0%);
+ --color-accent-content: hsl(0 0% 0%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(38.3333 81.8182% 91.3725%);
+ --color-primary-200: hsl(38.6667 81.8182% 89.2157%);
+ --color-primary-300: hsl(38.3333 81.8182% 82.7451%);
+ --color-primary-400: hsl(38.4375 83.1169% 69.8039%);
+ --color-primary-500: hsl(38.2418 82.7273% 56.8627%);
+ --color-primary-600: hsl(38.2822 65.4618% 51.1765%);
+ --color-primary-700: hsl(38.3824 62.3853% 42.7451%);
+ --color-primary-800: hsl(38.1818 63.2184% 34.1176%);
+ --color-primary-900: hsl(38 63.3803% 27.8431%);
+ --color-secondary-100: hsl(171.7241 59.1837% 90.3922%);
+ --color-secondary-200: hsl(173.3333 58.0645% 87.8431%);
+ --color-secondary-300: hsl(172.7586 58% 80.3922%);
+ --color-secondary-400: hsl(172.9412 58.6207% 65.8824%);
+ --color-secondary-500: hsl(172.9655 58.2329% 51.1765%);
+ --color-secondary-600: hsl(172.6718 55.7447% 46.0784%);
+ --color-secondary-700: hsl(173.3333 55.102% 38.4314%);
+ --color-secondary-800: hsl(173.1034 55.414% 30.7843%);
+ --color-secondary-900: hsl(173.2394 55.9055% 24.902%);
+ --color-accent-100: hsl(86.6667 60% 94.1176%);
+ --color-accent-200: hsl(84.5455 57.8947% 92.549%);
+ --color-accent-300: hsl(84 57.377% 88.0392%);
+ --color-accent-400: hsl(84.7619 58.8785% 79.0196%);
+ --color-accent-500: hsl(84.2697 58.1699% 70%);
+ --color-accent-600: hsl(84.75 42.5532% 63.1373%);
+ --color-accent-700: hsl(84.5455 27.2727% 52.549%);
+ --color-accent-800: hsl(84.4444 25.2336% 41.9608%);
+ --color-accent-900: hsl(83.7209 24.5714% 34.3137%);
+ --color-success-100: hsl(84.3243 64.9123% 88.8235%);
+ --color-success-200: hsl(84 63.3803% 86.0784%);
+ --color-success-300: hsl(83.8356 64.6018% 77.8431%);
+ --color-success-400: hsl(83.622 63.8191% 60.9804%);
+ --color-success-500: hsl(83.7363 80.531% 44.3137%);
+ --color-success-600: hsl(83.7805 80.3922% 40%);
+ --color-success-700: hsl(83.8235 80% 33.3333%);
+ --color-success-800: hsl(83.6697 80.7407% 26.4706%);
+ --color-success-900: hsl(83.5955 80.1802% 21.7647%);
+ --color-warning-100: hsl(45.5172 74.359% 92.3529%);
+ --color-warning-200: hsl(45 75% 90.5882%);
+ --color-warning-300: hsl(44.2105 74.026% 84.902%);
+ --color-warning-400: hsl(45 73.5294% 73.3333%);
+ --color-warning-500: hsl(44.7887 73.1959% 61.9608%);
+ --color-warning-600: hsl(45 56.6372% 55.6863%);
+ --color-warning-700: hsl(44.8598 45.1477% 46.4706%);
+ --color-warning-800: hsl(45.1765 44.9735% 37.0588%);
+ --color-warning-900: hsl(45.2174 44.5161% 30.3922%);
+ --color-danger-100: hsl(330 65% 92.1569%);
+ --color-danger-200: hsl(330 64% 90.1961%);
+ --color-danger-300: hsl(330.5882 64.557% 84.5098%);
+ --color-danger-400: hsl(329.6629 64.0288% 72.7451%);
+ --color-danger-500: hsl(329.7638 63.8191% 60.9804%);
+ --color-danger-600: hsl(330 49.5652% 54.902%);
+ --color-danger-700: hsl(329.6842 40.7725% 45.6863%);
+ --color-danger-800: hsl(329.2105 40.8602% 36.4706%);
+ --color-danger-900: hsl(330 40.7895% 29.8039%);
+ --color-surface-100: hsl(350.2857 47.0852% 43.7255%);
+ --color-surface-200: hsl(350 47.191% 34.902%);
+ --color-surface-300: hsl(350.4348 47.5862% 28.4314%);
+ surface-400: rgb(229 131 147);
+ surface-500: rgb(218 78 101);
+ surface-600: rgb(196 70 91);
+ surface-700: rgb(164 59 76);
+ surface-800: rgb(131 47 61);
+ surface-900: rgb(107 38 49);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(83.7363 80.531% 44.3137%);
+ --color-warning: hsl(44.7887 73.1959% 61.9608%);
+ --color-danger: hsl(329.7638 63.8191% 60.9804%);
+ --color-primary: hsl(38.2418 82.7273% 56.8627%);
+ --color-primary-50: hsl(38.3297 81.8482% 91.8078%);
+ --color-secondary: hsl(172.9655 58.2329% 51.1765%);
+ --color-secondary-50: hsl(171.6868 59.1825% 90.8822%);
+ --color-accent: hsl(84.2697 58.1699% 70%);
+ --color-accent-50: hsl(86.6928 60.0216% 94.4134%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(84.3865 64.9546% 89.3922%);
+ --color-warning-50: hsl(45.5261 74.3486% 92.7374%);
+ --color-danger-50: hsl(330.0542 65.1822% 92.5558%);
+}
+
+[data-theme="hamlindigo"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 100%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(222.8571 70% 96.0784%);
+ --color-primary-200: hsl(221.0526 76% 95.098%);
+ --color-primary-300: hsl(221.3793 70.7317% 91.9608%);
+ --color-primary-400: hsl(221.1765 71.831% 86.0784%);
+ --color-primary-500: hsl(221.9178 72.2772% 80.1961%);
+ --color-primary-600: hsl(221.8182 46.4789% 72.1569%);
+ --color-primary-700: hsl(221.4545 27.0936% 60.1961%);
+ --color-primary-800: hsl(222.2727 17.8862% 48.2353%);
+ --color-primary-900: hsl(221.6667 18% 39.2157%);
+ --color-secondary-100: hsl(40 29.4118% 90%);
+ --color-secondary-200: hsl(43.3333 28.125% 87.451%);
+ --color-secondary-300: hsl(42 29.4118% 80%);
+ --color-secondary-400: hsl(42.3529 28.4916% 64.902%);
+ --color-secondary-500: hsl(41.9178 28.6275% 50%);
+ --color-secondary-600: hsl(41.8182 28.6957% 45.098%);
+ --color-secondary-700: hsl(42.5455 28.7958% 37.451%);
+ --color-secondary-800: hsl(41.8605 28.1046% 30%);
+ --color-secondary-900: hsl(42.8571 28% 24.5098%);
+ --color-accent-100: hsl(192.8571 28% 90.1961%);
+ --color-accent-200: hsl(191.25 25.8065% 87.8431%);
+ --color-accent-300: hsl(191.5385 26% 80.3922%);
+ --color-accent-400: hsl(191.4894 26.8571% 65.6863%);
+ --color-accent-500: hsl(190.9091 26.4% 50.9804%);
+ --color-accent-600: hsl(191 25.641% 45.8824%);
+ --color-accent-700: hsl(191.0204 25.1282% 38.2353%);
+ --color-accent-800: hsl(190.5 25.641% 30.5882%);
+ --color-accent-900: hsl(191.25 25% 25.098%);
+ --color-success-100: hsl(161.25 27.5862% 88.6275%);
+ --color-success-200: hsl(164.2105 26.0274% 85.6863%);
+ --color-success-300: hsl(162.5806 26.4957% 77.0588%);
+ --color-success-400: hsl(162.2222 26.4706% 60%);
+ --color-success-500: hsl(162.0779 35.1598% 42.9412%);
+ --color-success-600: hsl(162.6087 35.0254% 38.6275%);
+ --color-success-700: hsl(162.4138 35.3659% 32.1569%);
+ --color-success-800: hsl(161.7391 34.8485% 25.8824%);
+ --color-success-900: hsl(161.0526 35.1852% 21.1765%);
+ --color-warning-100: hsl(41.25 69.5652% 90.9804%);
+ --color-warning-200: hsl(41.5385 68.4211% 88.8235%);
+ --color-warning-300: hsl(41.6129 67.3913% 81.9608%);
+ --color-warning-400: hsl(41.2844 67.7019% 68.4314%);
+ --color-warning-500: hsl(41.1538 67.8261% 54.902%);
+ --color-warning-600: hsl(41.1429 55.5556% 49.4118%);
+ --color-warning-700: hsl(41.0256 55.4502% 41.3725%);
+ --color-warning-800: hsl(40.8511 55.9524% 32.9412%);
+ --color-warning-900: hsl(41.2987 56.2044% 26.8627%);
+ --color-danger-100: hsl(341.5385 25.4902% 90%);
+ --color-danger-200: hsl(341.25 25.8065% 87.8431%);
+ --color-danger-300: hsl(341.5385 26% 80.3922%);
+ --color-danger-400: hsl(341.7391 26.1364% 65.4902%);
+ --color-danger-500: hsl(341.5385 25.8964% 50.7843%);
+ --color-danger-600: hsl(341.6949 25.3219% 45.6863%);
+ --color-danger-700: hsl(341.6327 25.1282% 38.2353%);
+ --color-danger-800: hsl(341.5385 25.1613% 30.3922%);
+ --color-danger-900: hsl(342.5806 24.4094% 24.902%);
+ --color-surface-100: hsl(226.6667 24.3243% 92.7451%);
+ --color-surface-200: hsl(221.5385 26.5306% 90.3922%);
+ --color-surface-300: hsl(221.25 25.8065% 87.8431%);
+ surface-400: rgb(146 159 191);
+ surface-500: rgb(99 118 163);
+ surface-600: rgb(89 106 147);
+ surface-700: rgb(74 89 122);
+ surface-800: rgb(59 71 98);
+ surface-900: rgb(49 58 80);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(162.0779 35.1598% 42.9412%);
+ --color-warning: hsl(41.1538 67.8261% 54.902%);
+ --color-danger: hsl(341.5385 25.8964% 50.7843%);
+ --color-primary: hsl(221.9178 72.2772% 80.1961%);
+ --color-primary-50: hsl(222.8528 70.0572% 96.2746%);
+ --color-secondary: hsl(41.9178 28.6275% 50%);
+ --color-secondary-50: hsl(40.0008 29.4184% 90.4964%);
+ --color-accent: hsl(190.9091 26.4% 50.9804%);
+ --color-accent-50: hsl(192.8593 28.0029% 90.6835%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(161.2189 27.5849% 89.1941%);
+ --color-warning-50: hsl(41.2516 69.5712% 91.4334%);
+ --color-danger-50: hsl(341.5628 25.5286% 90.4978%);
+}
+
+[data-theme="hamlindigo-dark"] {
+ --color-primary-content: hsl(0 0% 0%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 100%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(222.8571 70% 96.0784%);
+ --color-primary-200: hsl(221.0526 76% 95.098%);
+ --color-primary-300: hsl(221.3793 70.7317% 91.9608%);
+ --color-primary-400: hsl(221.1765 71.831% 86.0784%);
+ --color-primary-500: hsl(221.9178 72.2772% 80.1961%);
+ --color-primary-600: hsl(221.8182 46.4789% 72.1569%);
+ --color-primary-700: hsl(221.4545 27.0936% 60.1961%);
+ --color-primary-800: hsl(222.2727 17.8862% 48.2353%);
+ --color-primary-900: hsl(221.6667 18% 39.2157%);
+ --color-secondary-100: hsl(40 29.4118% 90%);
+ --color-secondary-200: hsl(43.3333 28.125% 87.451%);
+ --color-secondary-300: hsl(42 29.4118% 80%);
+ --color-secondary-400: hsl(42.3529 28.4916% 64.902%);
+ --color-secondary-500: hsl(41.9178 28.6275% 50%);
+ --color-secondary-600: hsl(41.8182 28.6957% 45.098%);
+ --color-secondary-700: hsl(42.5455 28.7958% 37.451%);
+ --color-secondary-800: hsl(41.8605 28.1046% 30%);
+ --color-secondary-900: hsl(42.8571 28% 24.5098%);
+ --color-accent-100: hsl(192.8571 28% 90.1961%);
+ --color-accent-200: hsl(191.25 25.8065% 87.8431%);
+ --color-accent-300: hsl(191.5385 26% 80.3922%);
+ --color-accent-400: hsl(191.4894 26.8571% 65.6863%);
+ --color-accent-500: hsl(190.9091 26.4% 50.9804%);
+ --color-accent-600: hsl(191 25.641% 45.8824%);
+ --color-accent-700: hsl(191.0204 25.1282% 38.2353%);
+ --color-accent-800: hsl(190.5 25.641% 30.5882%);
+ --color-accent-900: hsl(191.25 25% 25.098%);
+ --color-success-100: hsl(161.25 27.5862% 88.6275%);
+ --color-success-200: hsl(164.2105 26.0274% 85.6863%);
+ --color-success-300: hsl(162.5806 26.4957% 77.0588%);
+ --color-success-400: hsl(162.2222 26.4706% 60%);
+ --color-success-500: hsl(162.0779 35.1598% 42.9412%);
+ --color-success-600: hsl(162.6087 35.0254% 38.6275%);
+ --color-success-700: hsl(162.4138 35.3659% 32.1569%);
+ --color-success-800: hsl(161.7391 34.8485% 25.8824%);
+ --color-success-900: hsl(161.0526 35.1852% 21.1765%);
+ --color-warning-100: hsl(41.25 69.5652% 90.9804%);
+ --color-warning-200: hsl(41.5385 68.4211% 88.8235%);
+ --color-warning-300: hsl(41.6129 67.3913% 81.9608%);
+ --color-warning-400: hsl(41.2844 67.7019% 68.4314%);
+ --color-warning-500: hsl(41.1538 67.8261% 54.902%);
+ --color-warning-600: hsl(41.1429 55.5556% 49.4118%);
+ --color-warning-700: hsl(41.0256 55.4502% 41.3725%);
+ --color-warning-800: hsl(40.8511 55.9524% 32.9412%);
+ --color-warning-900: hsl(41.2987 56.2044% 26.8627%);
+ --color-danger-100: hsl(341.5385 25.4902% 90%);
+ --color-danger-200: hsl(341.25 25.8065% 87.8431%);
+ --color-danger-300: hsl(341.5385 26% 80.3922%);
+ --color-danger-400: hsl(341.7391 26.1364% 65.4902%);
+ --color-danger-500: hsl(341.5385 25.8964% 50.7843%);
+ --color-danger-600: hsl(341.6949 25.3219% 45.6863%);
+ --color-danger-700: hsl(341.6327 25.1282% 38.2353%);
+ --color-danger-800: hsl(341.5385 25.1613% 30.3922%);
+ --color-danger-900: hsl(342.5806 24.4094% 24.902%);
+ --color-surface-100: hsl(221.25 24.4898% 38.4314%);
+ --color-surface-200: hsl(221.5385 24.8408% 30.7843%);
+ --color-surface-300: hsl(222.5806 24.031% 25.2941%);
+ surface-400: rgb(146 159 191);
+ surface-500: rgb(99 118 163);
+ surface-600: rgb(89 106 147);
+ surface-700: rgb(74 89 122);
+ surface-800: rgb(59 71 98);
+ surface-900: rgb(49 58 80);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(162.0779 35.1598% 42.9412%);
+ --color-warning: hsl(41.1538 67.8261% 54.902%);
+ --color-danger: hsl(341.5385 25.8964% 50.7843%);
+ --color-primary: hsl(221.9178 72.2772% 80.1961%);
+ --color-primary-50: hsl(222.8528 70.0572% 96.2746%);
+ --color-secondary: hsl(41.9178 28.6275% 50%);
+ --color-secondary-50: hsl(40.0008 29.4184% 90.4964%);
+ --color-accent: hsl(190.9091 26.4% 50.9804%);
+ --color-accent-50: hsl(192.8593 28.0029% 90.6835%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(161.2189 27.5849% 89.1941%);
+ --color-warning-50: hsl(41.2516 69.5712% 91.4334%);
+ --color-danger-50: hsl(341.5628 25.5286% 90.4978%);
+}
+
+[data-theme="gold-nouveau"] {
+ --color-primary-content: hsl(0 0% 100%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 0%);
+ --color-primary-100: hsl(266.6667 36% 95.098%);
+ --color-primary-200: hsl(268.4211 37.2549% 90%);
+ --color-primary-300: hsl(270 36.9565% 81.9608%);
+ --color-primary-400: hsl(269.1176 36.9565% 63.9216%);
+ --color-primary-500: hsl(268.9655 37.0213% 46.0784%);
+ --color-primary-600: hsl(269.0323 36.9048% 32.9412%);
+ --color-primary-700: hsl(268 36.5854% 24.1176%);
+ --color-primary-800: hsl(268.8889 38.0282% 13.9216%);
+ --color-primary-900: hsl(272.3077 37.1429% 6.8627%);
+ --color-secondary-100: hsl(210.6667 81.8182% 89.2157%);
+ --color-secondary-200: hsl(211.0714 82.3529% 86.6667%);
+ --color-secondary-300: hsl(210.6667 81.8182% 78.4314%);
+ --color-secondary-400: hsl(211.1538 81.25% 62.3529%);
+ --color-secondary-500: hsl(210.9417 94.8936% 46.0784%);
+ --color-secondary-600: hsl(210.7463 95.2607% 41.3725%);
+ --color-secondary-700: hsl(210.8982 94.3503% 34.7059%);
+ --color-secondary-800: hsl(211.1278 94.3262% 27.6471%);
+ --color-secondary-900: hsl(210.8257 94.7826% 22.549%);
+ --color-accent-100: hsl(243 58.8235% 93.3333%);
+ --color-accent-200: hsl(244.6154 61.9048% 91.7647%);
+ --color-accent-300: hsl(244.5 58.8235% 86.6667%);
+ --color-accent-400: hsl(243.4286 59.322% 76.8627%);
+ --color-accent-500: hsl(244.1584 59.7633% 66.8627%);
+ --color-accent-600: hsl(243.956 44.8276% 60.1961%);
+ --color-accent-700: hsl(243.9474 29.9213% 50.1961%);
+ --color-accent-800: hsl(243.9344 29.7561% 40.1961%);
+ --color-accent-900: hsl(243.6735 29.3413% 32.7451%);
+ --color-success-100: hsl(135 40% 92.1569%);
+ --color-success-200: hsl(134.2857 42.8571% 90.3922%);
+ --color-success-300: hsl(132.7273 41.7722% 84.5098%);
+ --color-success-400: hsl(134.4828 41.4286% 72.549%);
+ --color-success-500: hsl(133.7349 41.7085% 60.9804%);
+ --color-success-600: hsl(133.7838 32.1739% 54.902%);
+ --color-success-700: hsl(133.5484 26.4957% 45.8824%);
+ --color-success-800: hsl(134.4 26.8817% 36.4706%);
+ --color-success-900: hsl(133.1707 26.7974% 30%);
+ --color-warning-100: hsl(31.3636 81.4815% 89.4118%);
+ --color-warning-200: hsl(32.1429 82.3529% 86.6667%);
+ --color-warning-300: hsl(32.3596 81.6514% 78.6275%);
+ --color-warning-400: hsl(31.9231 82.1053% 62.7451%);
+ --color-warning-500: hsl(32.0179 93.3054% 46.8627%);
+ --color-warning-600: hsl(31.9403 93.4884% 42.1569%);
+ --color-warning-700: hsl(31.976 93.2961% 35.098%);
+ --color-warning-800: hsl(31.791 93.0556% 28.2353%);
+ --color-warning-900: hsl(31.9266 93.1624% 22.9412%);
+ --color-danger-100: hsl(350.7692 37.1429% 86.2745%);
+ --color-danger-200: hsl(350.625 36.3636% 82.7451%);
+ --color-danger-300: hsl(350.5882 36.1702% 72.3529%);
+ --color-danger-400: hsl(351.3333 36.5854% 51.7647%);
+ --color-danger-500: hsl(351.0938 81.0127% 30.9804%);
+ --color-danger-600: hsl(351.1304 80.4196% 28.0392%);
+ --color-danger-700: hsl(350.625 81.3559% 23.1373%);
+ --color-danger-800: hsl(351.4286 81.0526% 18.6275%);
+ --color-danger-900: hsl(350.4762 81.8182% 15.098%);
+ --color-surface-100: hsl(270 40% 98.0392%);
+ --color-surface-200: hsl(266.6667 36% 95.098%);
+ --color-surface-300: hsl(268.4211 37.2549% 90%);
+ surface-400: rgb(162 129 197);
+ surface-500: rgb(116 74 161);
+ surface-600: rgb(83 53 115);
+ surface-700: rgb(60 39 84);
+ surface-800: rgb(35 22 49);
+ surface-900: rgb(18 11 24);
+ color-scheme: light;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(133.7349 41.7085% 60.9804%);
+ --color-warning: hsl(32.0179 93.3054% 46.8627%);
+ --color-danger: hsl(351.0938 81.0127% 30.9804%);
+ --color-primary: hsl(268.9655 37.0213% 46.0784%);
+ --color-primary-50: hsl(266.6537 36.0218% 95.3428%);
+ --color-secondary: hsl(210.9417 94.8936% 46.0784%);
+ --color-secondary-50: hsl(210.6786 81.9499% 89.7608%);
+ --color-accent: hsl(244.1584 59.7633% 66.8627%);
+ --color-accent-50: hsl(242.9607 58.9204% 93.669%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(134.964 40.0072% 92.55%);
+ --color-warning-50: hsl(31.3488 81.5757% 89.9476%);
+ --color-danger-50: hsl(350.8113 37.2561% 86.9627%);
+}
+
+[data-theme="gold-nouveau-dark"] {
+ --color-primary-content: hsl(0 0% 100%);
+ --color-secondary-content: hsl(0 0% 100%);
+ --color-accent-content: hsl(0 0% 100%);
+ --color-success-content: hsl(0 0% 0%);
+ --color-warning-content: hsl(0 0% 0%);
+ --color-danger-content: hsl(0 0% 100%);
+ --color-surface-content: hsl(0 0% 100%);
+ --color-primary-100: hsl(266.6667 36% 95.098%);
+ --color-primary-200: hsl(268.4211 37.2549% 90%);
+ --color-primary-300: hsl(270 36.9565% 81.9608%);
+ --color-primary-400: hsl(269.1176 36.9565% 63.9216%);
+ --color-primary-500: hsl(268.9655 37.0213% 46.0784%);
+ --color-primary-600: hsl(269.0323 36.9048% 32.9412%);
+ --color-primary-700: hsl(268 36.5854% 24.1176%);
+ --color-primary-800: hsl(268.8889 38.0282% 13.9216%);
+ --color-primary-900: hsl(272.3077 37.1429% 6.8627%);
+ --color-secondary-100: hsl(210.6667 81.8182% 89.2157%);
+ --color-secondary-200: hsl(211.0714 82.3529% 86.6667%);
+ --color-secondary-300: hsl(210.6667 81.8182% 78.4314%);
+ --color-secondary-400: hsl(211.1538 81.25% 62.3529%);
+ --color-secondary-500: hsl(210.9417 94.8936% 46.0784%);
+ --color-secondary-600: hsl(210.7463 95.2607% 41.3725%);
+ --color-secondary-700: hsl(210.8982 94.3503% 34.7059%);
+ --color-secondary-800: hsl(211.1278 94.3262% 27.6471%);
+ --color-secondary-900: hsl(210.8257 94.7826% 22.549%);
+ --color-accent-100: hsl(243 58.8235% 93.3333%);
+ --color-accent-200: hsl(244.6154 61.9048% 91.7647%);
+ --color-accent-300: hsl(244.5 58.8235% 86.6667%);
+ --color-accent-400: hsl(243.4286 59.322% 76.8627%);
+ --color-accent-500: hsl(244.1584 59.7633% 66.8627%);
+ --color-accent-600: hsl(243.956 44.8276% 60.1961%);
+ --color-accent-700: hsl(243.9474 29.9213% 50.1961%);
+ --color-accent-800: hsl(243.9344 29.7561% 40.1961%);
+ --color-accent-900: hsl(243.6735 29.3413% 32.7451%);
+ --color-success-100: hsl(135 40% 92.1569%);
+ --color-success-200: hsl(134.2857 42.8571% 90.3922%);
+ --color-success-300: hsl(132.7273 41.7722% 84.5098%);
+ --color-success-400: hsl(134.4828 41.4286% 72.549%);
+ --color-success-500: hsl(133.7349 41.7085% 60.9804%);
+ --color-success-600: hsl(133.7838 32.1739% 54.902%);
+ --color-success-700: hsl(133.5484 26.4957% 45.8824%);
+ --color-success-800: hsl(134.4 26.8817% 36.4706%);
+ --color-success-900: hsl(133.1707 26.7974% 30%);
+ --color-warning-100: hsl(31.3636 81.4815% 89.4118%);
+ --color-warning-200: hsl(32.1429 82.3529% 86.6667%);
+ --color-warning-300: hsl(32.3596 81.6514% 78.6275%);
+ --color-warning-400: hsl(31.9231 82.1053% 62.7451%);
+ --color-warning-500: hsl(32.0179 93.3054% 46.8627%);
+ --color-warning-600: hsl(31.9403 93.4884% 42.1569%);
+ --color-warning-700: hsl(31.976 93.2961% 35.098%);
+ --color-warning-800: hsl(31.791 93.0556% 28.2353%);
+ --color-warning-900: hsl(31.9266 93.1624% 22.9412%);
+ --color-danger-100: hsl(350.7692 37.1429% 86.2745%);
+ --color-danger-200: hsl(350.625 36.3636% 82.7451%);
+ --color-danger-300: hsl(350.5882 36.1702% 72.3529%);
+ --color-danger-400: hsl(351.3333 36.5854% 51.7647%);
+ --color-danger-500: hsl(351.0938 81.0127% 30.9804%);
+ --color-danger-600: hsl(351.1304 80.4196% 28.0392%);
+ --color-danger-700: hsl(350.625 81.3559% 23.1373%);
+ --color-danger-800: hsl(351.4286 81.0526% 18.6275%);
+ --color-danger-900: hsl(350.4762 81.8182% 15.098%);
+ --color-surface-100: hsl(268 36.5854% 24.1176%);
+ --color-surface-200: hsl(268.8889 38.0282% 13.9216%);
+ --color-surface-300: hsl(272.3077 37.1429% 6.8627%);
+ surface-400: rgb(162 129 197);
+ surface-500: rgb(116 74 161);
+ surface-600: rgb(83 53 115);
+ surface-700: rgb(60 39 84);
+ surface-800: rgb(35 22 49);
+ surface-900: rgb(18 11 24);
+ color-scheme: dark;
+ --color-neutral: hsl(219.2308 20.3127% 25.0981%);
+ --color-info: hsl(197.2976 100% 50%);
+ --color-success: hsl(133.7349 41.7085% 60.9804%);
+ --color-warning: hsl(32.0179 93.3054% 46.8627%);
+ --color-danger: hsl(351.0938 81.0127% 30.9804%);
+ --color-primary: hsl(268.9655 37.0213% 46.0784%);
+ --color-primary-50: hsl(266.6537 36.0218% 95.3428%);
+ --color-secondary: hsl(210.9417 94.8936% 46.0784%);
+ --color-secondary-50: hsl(210.6786 81.9499% 89.7608%);
+ --color-accent: hsl(244.1584 59.7633% 66.8627%);
+ --color-accent-50: hsl(242.9607 58.9204% 93.669%);
+ --color-neutral-content: hsl(218.9657 7.9689% 83.7344%);
+ --color-neutral-50: hsl(219.0029 7.5927% 56.6637%);
+ --color-neutral-100: hsl(219.0128 7.5266% 52.959%);
+ --color-neutral-200: hsl(219.0391 8.7762% 45.6857%);
+ --color-neutral-300: hsl(219.0777 11.4777% 38.6058%);
+ --color-neutral-400: hsl(219.1367 15.1168% 31.7363%);
+ --color-neutral-500: hsl(219.2308 20.3127% 25.0981%);
+ --color-neutral-600: hsl(219.2308 20.9593% 21.3224%);
+ --color-neutral-700: hsl(219.2308 21.8534% 17.6503%);
+ --color-neutral-800: hsl(219.2308 23.1647% 14.0914%);
+ --color-neutral-900: hsl(219.2308 25.2598% 10.6578%);
+ --color-info-content: hsl(208.1554 100% 4.4791%);
+ --color-info-50: hsl(198.0379 100% 75.2757%);
+ --color-info-100: hsl(197.8374 100% 72.5384%);
+ --color-info-200: hsl(197.139 100% 66.1909%);
+ --color-info-300: hsl(195.2063 100% 55.8279%);
+ --color-info-400: hsl(195.3352 100% 50%);
+ --color-info-500: hsl(197.2976 100% 50%);
+ --color-info-600: hsl(198.5199 100% 44.6308%);
+ --color-info-700: hsl(198.7027 100% 38.1442%);
+ --color-info-800: hsl(198.9509 100% 31.8576%);
+ --color-info-900: hsl(199.305 100% 25.7923%);
+ --color-success-50: hsl(134.964 40.0072% 92.55%);
+ --color-warning-50: hsl(31.3488 81.5757% 89.9476%);
+ --color-danger-50: hsl(350.8113 37.2561% 86.9627%);
+}
diff --git a/packages/tailwind/src/lib/css/utils.css b/packages/tailwind/src/lib/css/utils.css
new file mode 100644
index 0000000..736ca73
--- /dev/null
+++ b/packages/tailwind/src/lib/css/utils.css
@@ -0,0 +1,215 @@
+/* Stack grid children */
+@utility grid-stack {
+ & > * {
+ grid-area: 1 / 1;
+ }
+}
+
+/* Grid column classes (RAM) */
+@utility grid-cols-xs {
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
+}
+
+@utility grid-cols-sm {
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
+}
+
+@utility grid-cols-md {
+ grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
+}
+
+@utility grid-cols-lg {
+ grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
+}
+
+/* Hide scrollbar */
+@utility scrollbar-none {
+ -ms-overflow-style: none;
+ scrollbar-width: none;
+ &::-webkit-scrollbar: {
+ display: none;
+ }
+}
+
+/**
+ * `elevation-#` classes
+ * @see https://www.joshwcomeau.com/css/designing-shadows/
+ */
+@utility elevation-none {
+ box-shadow: none;
+}
+
+@utility elevation-0 {
+ box-shadow:
+ 0px 0px 0px 0px hsl(0 0% 0% / 20%),
+ 0px 0px 0px 0px hsl(0 0% 0% / 14%),
+ 0px 0px 0px 0px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-1 {
+ box-shadow:
+ 0px 2px 1px -1px hsl(0 0% 0% / 20%),
+ 0px 1px 1px 0px hsl(0 0% 0% / 14%),
+ 0px 1px 3px 0px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-2 {
+ box-shadow:
+ 0px 3px 1px -2px hsl(0 0% 0% / 20%),
+ 0px 2px 2px 0px hsl(0 0% 0% / 14%),
+ 0px 1px 5px 0px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-3 {
+ box-shadow:
+ 0px 3px 3px -2px hsl(0 0% 0% / 20%),
+ 0px 3px 4px 0px hsl(0 0% 0% / 14%),
+ 0px 1px 8px 0px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-4 {
+ box-shadow:
+ 0px 2px 4px -1px hsl(0 0% 0% / 20%),
+ 0px 4px 5px 0px hsl(0 0% 0% / 14%),
+ 0px 1px 10px 0px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-5 {
+ box-shadow:
+ 0px 3px 5px -1px hsl(0 0% 0% / 20%),
+ 0px 5px 8px 0px hsl(0 0% 0% / 14%),
+ 0px 1px 14px 0px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-6 {
+ box-shadow:
+ 0px 3px 5px -1px hsl(0 0% 0% / 20%),
+ 0px 6px 10px 0px hsl(0 0% 0% / 14%),
+ 0px 1px 18px 0px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-7 {
+ box-shadow:
+ 0px 4px 5px -2px hsl(0 0% 0% / 20%),
+ 0px 7px 10px 1px hsl(0 0% 0% / 14%),
+ 0px 2px 16px 1px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-8 {
+ box-shadow:
+ 0px 5px 5px -3px hsl(0 0% 0% / 20%),
+ 0px 8px 10px 1px hsl(0 0% 0% / 14%),
+ 0px 3px 14px 2px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-9 {
+ box-shadow:
+ 0px 5px 6px -3px hsl(0 0% 0% / 20%),
+ 0px 9px 12px 1px hsl(0 0% 0% / 14%),
+ 0px 3px 16px 2px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-10 {
+ box-shadow:
+ 0px 6px 6px -3px hsl(0 0% 0% / 20%),
+ 0px 10px 14px 1px hsl(0 0% 0% / 14%),
+ 0px 4px 18px 3px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-11 {
+ box-shadow:
+ 0px 6px 7px -4px hsl(0 0% 0% / 20%),
+ 0px 11px 15px 1px hsl(0 0% 0% / 14%),
+ 0px 4px 20px 3px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-12 {
+ box-shadow:
+ 0px 7px 8px -4px hsl(0 0% 0% / 20%),
+ 0px 12px 17px 2px hsl(0 0% 0% / 14%),
+ 0px 5px 22px 4px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-13 {
+ box-shadow:
+ 0px 7px 8px -4px hsl(0 0% 0% / 20%),
+ 0px 13px 19px 2px hsl(0 0% 0% / 14%),
+ 0px 5px 24px 4px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-14 {
+ box-shadow:
+ 0px 7px 9px -4px hsl(0 0% 0% / 20%),
+ 0px 14px 21px 2px hsl(0 0% 0% / 14%),
+ 0px 5px 26px 4px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-15 {
+ box-shadow:
+ 0px 8px 9px -5px hsl(0 0% 0% / 20%),
+ 0px 15px 22px 2px hsl(0 0% 0% / 14%),
+ 0px 6px 28px 5px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-16 {
+ box-shadow:
+ 0px 8px 10px -5px hsl(0 0% 0% / 20%),
+ 0px 16px 24px 2px hsl(0 0% 0% / 14%),
+ 0px 6px 30px 5px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-17 {
+ box-shadow:
+ 0px 8px 11px -5px hsl(0 0% 0% / 20%),
+ 0px 17px 26px 2px hsl(0 0% 0% / 14%),
+ 0px 6px 32px 5px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-18 {
+ box-shadow:
+ 0px 9px 11px -5px hsl(0 0% 0% / 20%),
+ 0px 18px 28px 2px hsl(0 0% 0% / 14%),
+ 0px 7px 34px 6px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-19 {
+ box-shadow:
+ 0px 9px 12px -6px hsl(0 0% 0% / 20%),
+ 0px 19px 29px 2px hsl(0 0% 0% / 14%),
+ 0px 7px 36px 6px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-20 {
+ box-shadow:
+ 0px 10px 13px -6px hsl(0 0% 0% / 20%),
+ 0px 20px 31px 3px hsl(0 0% 0% / 14%),
+ 0px 8px 38px 7px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-21 {
+ box-shadow:
+ 0px 10px 13px -6px hsl(0 0% 0% / 20%),
+ 0px 21px 33px 3px hsl(0 0% 0% / 14%),
+ 0px 8px 40px 7px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-22 {
+ box-shadow:
+ 0px 10px 14px -6px hsl(0 0% 0% / 20%),
+ 0px 22px 35px 3px hsl(0 0% 0% / 14%),
+ 0px 8px 42px 7px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-23 {
+ box-shadow:
+ 0px 11px 14px -7px hsl(0 0% 0% / 20%),
+ 0px 23px 36px 3px hsl(0 0% 0% / 14%),
+ 0px 9px 44px 8px hsl(0 0% 0% / 12%);
+}
+
+@utility elevation-24 {
+ box-shadow:
+ 0px 11px 15px -7px hsl(0 0% 0% / 20%),
+ 0px 24px 38px 3px hsl(0 0% 0% / 14%),
+ 0px 9px 46px 8px hsl(0 0% 0% / 12%);
+}
diff --git a/packages/tailwind/src/lib/plugin.cjs b/packages/tailwind/src/lib/plugin.cjs
deleted file mode 100644
index d705af5..0000000
--- a/packages/tailwind/src/lib/plugin.cjs
+++ /dev/null
@@ -1,85 +0,0 @@
-const plugin = require('tailwindcss/plugin');
-
-const { createThemeColors, injectThemes } = require('./plugin/theme.cjs');
-const colorMix = require('./plugin/colorMix.cjs');
-const elevation = require('./plugin/elevation.cjs');
-
-// TODO: Type options (convert to Typescript and use generic argument, or use jsdoc?)
-module.exports = plugin.withOptions(
- (options = {}) => {
- const colorSpace = options?.colorSpace ?? 'hsl';
-
- return function (api) {
- const { addBase, addUtilities, config } = api;
-
- injectThemes(colorSpace, addBase, config);
-
- // colorMix(api); // Remove `bg-mix-*` / etc utils until needed (and better browser support)
-
- elevation(api);
-
- // Stack grid children
- addUtilities({
- '.grid-stack': {
- '& > *': {
- 'grid-area': '1 / 1',
- },
- },
- });
-
- // Hide scrollbar
- addUtilities({
- '.scrollbar-none': {
- '-ms-overflow-style': 'none',
- 'scrollbar-width': 'none',
- '&::-webkit-scrollbar': {
- display: 'none',
- },
- },
- });
- };
- },
- (options) => {
- const colorSpace = options?.colorSpace ?? 'hsl';
-
- return {
- darkMode: 'class',
- theme: {
- extend: {
- colors: createThemeColors(colorSpace),
- borderColor: (theme) => ({
- DEFAULT: theme('colors.surface-content/20%'),
- }),
- outlineColor: (theme) => ({
- DEFAULT: theme('colors.surface-content/20%'),
- }),
- ringOffsetColor: (theme) => ({
- DEFAULT: theme('colors.surface-100/100%'),
- }),
- typography: ({ theme }) => ({
- DEFAULT: {
- css: {
- '--tw-prose-body': theme('colors.surface-content'),
- '--tw-prose-headings': theme('colors.surface-content'),
- '--tw-prose-lead': theme('colors.surface-content'),
- '--tw-prose-links': theme('colors.surface-content'),
- '--tw-prose-bold': theme('colors.surface-content'),
- '--tw-prose-counters': theme('colors.surface-content/30%'),
- '--tw-prose-bullets': theme('colors.surface-content/30%'),
- '--tw-prose-hr': theme('colors.surface-content/20%'),
- '--tw-prose-quotes': theme('colors.surface-content'),
- '--tw-prose-quote-borders': theme('colors.surface-content'),
- '--tw-prose-captions': theme('colors.surface-content'),
- '--tw-prose-code': theme('colors.surface-content'),
- '--tw-prose-pre-code': theme('colors.surface-content'),
- '--tw-prose-pre-bg': theme('colors.surface-content'),
- '--tw-prose-th-borders': theme('colors.surface-300'),
- '--tw-prose-td-borders': theme('colors.surface-300'),
- },
- },
- }),
- },
- },
- };
- }
-);
diff --git a/packages/tailwind/src/lib/plugin/colorMix.cjs b/packages/tailwind/src/lib/plugin/colorMix.cjs
deleted file mode 100644
index 244d4d0..0000000
--- a/packages/tailwind/src/lib/plugin/colorMix.cjs
+++ /dev/null
@@ -1,38 +0,0 @@
-module.exports = function ({ matchUtilities }) {
- // color-mix (ex. `bg-mix-[indigo/80]`, or `bg-mix-[indigo/-40]`)
- // https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color-mix
- // https://twitter.com/Saadeghi/status/1727954306140172295
- // https://twitter.com/crswll/status/1724459346489139675
- matchUtilities({
- 'text-mix': (value) => {
- const [color, percent] = value.split('/');
- return {
- color: `color-mix(in oklab,color-mix(in oklab,${color},${
- percent?.startsWith('-') ? 'black' : percent?.endsWith('%') ? 'transparent' : 'white'
- } ${
- percent?.replace('-', '') + '%'
- }),transparent calc(100% - 100% * var(--tw-text-opacity,1)))`,
- };
- },
- 'bg-mix': (value) => {
- const [color, percent] = value.split('/');
- return {
- backgroundColor: `color-mix(in oklab,color-mix(in oklab,${color},${
- percent?.startsWith('-') ? 'black' : percent?.endsWith('%') ? 'transparent' : 'white'
- } ${
- percent?.replace('-', '') + '%'
- }),transparent calc(100% - 100% * var(--tw-bg-opacity,1)))`,
- };
- },
- 'border-mix': (value) => {
- const [color, percent] = value.split('/');
- return {
- borderColor: `color-mix(in oklab,color-mix(in oklab,${color},${
- percent?.startsWith('-') ? 'black' : percent?.endsWith('%') ? 'transparent' : 'white'
- } ${
- percent?.replace('-', '') + '%'
- }),transparent calc(100% - 100% * var(--tw-border-opacity,1)))`,
- };
- },
- });
-};
diff --git a/packages/tailwind/src/lib/plugin/elevation.cjs b/packages/tailwind/src/lib/plugin/elevation.cjs
deleted file mode 100644
index 7e716c3..0000000
--- a/packages/tailwind/src/lib/plugin/elevation.cjs
+++ /dev/null
@@ -1,133 +0,0 @@
-module.exports = function ({ addUtilities }) {
- addUtilities({
- // Add `elevation-#` classes
- '.elevation-none': {
- 'box-shadow': 'none',
- },
-
- '.elevation-0': {
- 'box-shadow':
- '0px 0px 0px 0px rgba(0,0,0,0.20), 0px 0px 0px 0px rgba(0,0,0,0.14), 0px 0px 0px 0px rgba(0,0,0,0.12)',
- },
-
- '.elevation-1': {
- 'box-shadow':
- '0px 2px 1px -1px rgba(0,0,0,0.20), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 3px 0px rgba(0,0,0,0.12)',
- },
-
- '.elevation-2': {
- 'box-shadow':
- '0px 3px 1px -2px rgba(0,0,0,0.20), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12)',
- },
-
- '.elevation-3': {
- 'box-shadow':
- '0px 3px 3px -2px rgba(0,0,0,0.20), 0px 3px 4px 0px rgba(0,0,0,0.14), 0px 1px 8px 0px rgba(0,0,0,0.12)',
- },
-
- '.elevation-4': {
- 'box-shadow':
- '0px 2px 4px -1px rgba(0,0,0,0.20), 0px 4px 5px 0px rgba(0,0,0,0.14), 0px 1px 10px 0px rgba(0,0,0,0.12)',
- },
-
- '.elevation-5': {
- 'box-shadow':
- '0px 3px 5px -1px rgba(0,0,0,0.20), 0px 5px 8px 0px rgba(0,0,0,0.14), 0px 1px 14px 0px rgba(0,0,0,0.12)',
- },
-
- '.elevation-6': {
- 'box-shadow':
- '0px 3px 5px -1px rgba(0,0,0,0.20), 0px 6px 10px 0px rgba(0,0,0,0.14), 0px 1px 18px 0px rgba(0,0,0,0.12)',
- },
-
- '.elevation-7': {
- 'box-shadow':
- '0px 4px 5px -2px rgba(0,0,0,0.20), 0px 7px 10px 1px rgba(0,0,0,0.14), 0px 2px 16px 1px rgba(0,0,0,0.12)',
- },
-
- '.elevation-8': {
- 'box-shadow':
- '0px 5px 5px -3px rgba(0,0,0,0.20), 0px 8px 10px 1px rgba(0,0,0,0.14), 0px 3px 14px 2px rgba(0,0,0,0.12)',
- },
-
- '.elevation-9': {
- 'box-shadow':
- '0px 5px 6px -3px rgba(0,0,0,0.20), 0px 9px 12px 1px rgba(0,0,0,0.14), 0px 3px 16px 2px rgba(0,0,0,0.12)',
- },
-
- '.elevation-10': {
- 'box-shadow':
- '0px 6px 6px -3px rgba(0,0,0,0.20), 0px 10px 14px 1px rgba(0,0,0,0.14), 0px 4px 18px 3px rgba(0,0,0,0.12)',
- },
-
- '.elevation-11': {
- 'box-shadow':
- '0px 6px 7px -4px rgba(0,0,0,0.20), 0px 11px 15px 1px rgba(0,0,0,0.14), 0px 4px 20px 3px rgba(0,0,0,0.12)',
- },
-
- '.elevation-12': {
- 'box-shadow':
- '0px 7px 8px -4px rgba(0,0,0,0.20), 0px 12px 17px 2px rgba(0,0,0,0.14), 0px 5px 22px 4px rgba(0,0,0,0.12)',
- },
-
- '.elevation-13': {
- 'box-shadow':
- '0px 7px 8px -4px rgba(0,0,0,0.20), 0px 13px 19px 2px rgba(0,0,0,0.14), 0px 5px 24px 4px rgba(0,0,0,0.12)',
- },
-
- '.elevation-14': {
- 'box-shadow':
- '0px 7px 9px -4px rgba(0,0,0,0.20), 0px 14px 21px 2px rgba(0,0,0,0.14), 0px 5px 26px 4px rgba(0,0,0,0.12)',
- },
-
- '.elevation-15': {
- 'box-shadow':
- '0px 8px 9px -5px rgba(0,0,0,0.20), 0px 15px 22px 2px rgba(0,0,0,0.14), 0px 6px 28px 5px rgba(0,0,0,0.12)',
- },
-
- '.elevation-16': {
- 'box-shadow':
- '0px 8px 10px -5px rgba(0,0,0,0.20), 0px 16px 24px 2px rgba(0,0,0,0.14), 0px 6px 30px 5px rgba(0,0,0,0.12)',
- },
-
- '.elevation-17': {
- 'box-shadow':
- '0px 8px 11px -5px rgba(0,0,0,0.20), 0px 17px 26px 2px rgba(0,0,0,0.14), 0px 6px 32px 5px rgba(0,0,0,0.12)',
- },
-
- '.elevation-18': {
- 'box-shadow':
- '0px 9px 11px -5px rgba(0,0,0,0.20), 0px 18px 28px 2px rgba(0,0,0,0.14), 0px 7px 34px 6px rgba(0,0,0,0.12)',
- },
-
- '.elevation-19': {
- 'box-shadow':
- '0px 9px 12px -6px rgba(0,0,0,0.20), 0px 19px 29px 2px rgba(0,0,0,0.14), 0px 7px 36px 6px rgba(0,0,0,0.12)',
- },
-
- '.elevation-20': {
- 'box-shadow':
- '0px 10px 13px -6px rgba(0,0,0,0.20), 0px 20px 31px 3px rgba(0,0,0,0.14), 0px 8px 38px 7px rgba(0,0,0,0.12)',
- },
-
- '.elevation-21': {
- 'box-shadow':
- '0px 10px 13px -6px rgba(0,0,0,0.20), 0px 21px 33px 3px rgba(0,0,0,0.14), 0px 8px 40px 7px rgba(0,0,0,0.12)',
- },
-
- '.elevation-22': {
- 'box-shadow':
- '0px 10px 14px -6px rgba(0,0,0,0.20), 0px 22px 35px 3px rgba(0,0,0,0.14), 0px 8px 42px 7px rgba(0,0,0,0.12)',
- },
-
- '.elevation-23': {
- 'box-shadow':
- '0px 11px 14px -7px rgba(0,0,0,0.20), 0px 23px 36px 3px rgba(0,0,0,0.14), 0px 9px 44px 8px rgba(0,0,0,0.12)',
- },
-
- '.elevation-24': {
- 'box-shadow':
- '0px 11px 15px -7px rgba(0,0,0,0.20), 0px 24px 38px 3px rgba(0,0,0,0.14), 0px 9px 46px 8px rgba(0,0,0,0.12)',
- },
- });
-};
diff --git a/packages/tailwind/src/lib/plugin/theme.cjs b/packages/tailwind/src/lib/plugin/theme.cjs
deleted file mode 100644
index 425ca3a..0000000
--- a/packages/tailwind/src/lib/plugin/theme.cjs
+++ /dev/null
@@ -1,61 +0,0 @@
-const colors = require('tailwindcss/colors');
-const { createThemeColors, processThemeColors } = require('../theme');
-const { entries } = require('@layerstack/utils');
-
-const defaultThemes = {
- light: {
- primary: colors['blue']['500'],
- 'primary-content': 'white',
- secondary: colors['blue']['500'],
- 'surface-100': 'white',
- 'surface-200': colors['gray']['100'],
- 'surface-300': colors['gray']['300'],
- 'surface-content': colors['gray']['900'],
- },
- dark: {
- primary: colors['blue']['500'],
- 'primary-content': 'white',
- secondary: colors['blue']['500'],
- 'surface-100': colors['zinc']['800'],
- 'surface-200': colors['zinc']['900'],
- 'surface-300': colors['zinc']['950'],
- 'surface-content': colors['zinc']['100'],
- },
-};
-
-/**
- * Inject all Tailwind config themes (`{ ux: { themes: [] }}`) into base CSS
- * @param {'rgb' | 'hsl' | 'oklch'} colorSpace
- */
-function injectThemes(colorSpace, addBase, config) {
- const themes = config('ux.themes') ?? defaultThemes;
- const themeRoot = config('ux.themeRoot') ?? ':root';
-
- const cssThemes = {};
- let rootThemeName = null;
- entries(themes).map(([themeName, themeColors], index) => {
- if (index === 0) {
- // Root / default theme
- cssThemes[themeRoot] = processThemeColors(themeColors, colorSpace);
- rootThemeName = themeName;
- } else if (index === 1) {
- // Dark theme
- cssThemes['@media (prefers-color-scheme: dark)'] = {
- [themeRoot]: processThemeColors(themeColors, colorSpace),
- };
-
- // Also register first and second theme by name AFTER @media for precedence
- cssThemes[`[data-theme=${rootThemeName}]`] = processThemeColors(
- themes[rootThemeName],
- colorSpace
- );
- cssThemes[`[data-theme=${themeName}]`] = processThemeColors(themeColors, colorSpace);
- } else {
- cssThemes[`[data-theme=${themeName}]`] = processThemeColors(themeColors, colorSpace);
- }
- });
-
- addBase(cssThemes);
-}
-
-module.exports = { createThemeColors, injectThemes };
diff --git a/packages/tailwind/src/lib/theme.test.ts b/packages/tailwind/src/lib/theme.test.ts
deleted file mode 100644
index b170918..0000000
--- a/packages/tailwind/src/lib/theme.test.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { describe, it, expect } from 'vitest';
-import { flattenThemeColors, processThemeColors } from './theme.js';
-import tailwindColors from 'tailwindcss/colors.js';
-
-describe('flattenThemeColors', () => {
- it('Flatten recursive colors object', () => {
- const actual = flattenThemeColors({
- // Simple key-value pair
- primary: '#ff0000',
- dark: {
- // Default value
- DEFAULT: '#000',
- // Nested once
- blue: '#0000ff',
- red: {
- // Nested twice
- 500: '#f00',
- // Multiple nested properties
- content: 'white',
- },
- },
- light: {
- // Should not be used, since objects do not guarantee respecting insertion, but it should work without any error
- green: { 100: '#0f0' },
- 'green-100': '#0f0',
- },
- });
- const expected = {
- primary: '#ff0000',
- dark: '#000',
- 'dark-blue': '#0000ff',
- 'dark-red-500': '#f00',
- 'dark-red-content': 'white',
- 'light-green-100': '#0f0',
- };
-
- expect(actual).toEqual(expected);
- });
-});
-
-describe('processThemeColors', () => {
- it('Process theme colors recursive colors object', () => {
- const actual = processThemeColors(
- {
- // overriding semantic colors
- primary: {
- ...tailwindColors.blue,
- content: 'white',
- DEFAULT: tailwindColors.blue[600],
- },
- secondary: { ...tailwindColors.orange, content: 'white' },
- accent: { ...tailwindColors.fuchsia, content: 'white' },
- neutral: { ...tailwindColors.gray, content: 'white' },
- // overriding state colors
- info: tailwindColors.blue,
- success: tailwindColors.green,
- warning: tailwindColors.amber,
- danger: tailwindColors.red,
- // overriding surface colors
- surface: {
- 100: 'white',
- 200: tailwindColors.gray[200],
- 300: tailwindColors.gray[300],
- content: tailwindColors.gray[900],
- },
- },
- 'hsl'
- );
-
- expect(actual).toMatchSnapshot();
- });
-});
diff --git a/packages/tailwind/src/lib/theme.ts b/packages/tailwind/src/lib/theme.ts
index 0a90551..d708d60 100644
--- a/packages/tailwind/src/lib/theme.ts
+++ b/packages/tailwind/src/lib/theme.ts
@@ -1,257 +1,36 @@
import { range } from 'd3-array';
-import {
- rgb,
- hsl,
- oklch,
- clampRgb,
- interpolate,
- wcagContrast,
- formatCss,
- type Color,
- type Hsl,
- type Oklch,
- type Rgb,
-} from 'culori';
-import { entries, fromEntries, keys } from '@layerstack/utils';
-
-export type SupportedColorSpace = 'rgb' | 'hsl' | 'oklch';
-
export const semanticColors = ['primary', 'secondary', 'accent', 'neutral'] as const;
export const stateColors = ['info', 'success', 'warning', 'danger'] as const;
export const colors = [...semanticColors, ...stateColors];
-
export const shades = [50, ...range(100, 1000, 100)];
-export const colorNames = [
- // Semantic & State colors (ex. `priamry`, 'primary-content`, 'primary-100`, ...)
- ...colors.flatMap((color) => [
- color, // default
- `${color}-content`, // text/content
- ...shades.map((shade) => `${color}-${shade}`),
- ]),
-
- // Surfaces
- 'surface-100',
- 'surface-200',
- 'surface-300',
- 'surface-content',
-];
-
/**
- * Generate theme colors (ex. { primary: hsl(var(--color-primary) / ), ... })
+ * Get themes names from css file (`[data-theme="..."]`) split into `light` and `dark` collections determined by `color-scheme` property
*/
-export function createThemeColors(colorSpace: SupportedColorSpace) {
- return fromEntries(
- colorNames.map((color) => [color, `${colorSpace}(var(--color-${color}) / )`])
- );
-}
+export function getThemeNames(cssContent: string) {
+ const themeBlocks = cssContent.split(/\[data-theme=/);
-/**
- * Get themes names split into light and dark collections determined by `color-scheme` property
- */
-export function getThemeNames(themes: Record) {
- const light: string[] = [];
- const dark: string[] = [];
+ const light = [];
+ const dark = [];
+
+ // Skip first element as it's content before first theme
+ for (let i = 1; i < themeBlocks.length; i++) {
+ const block = themeBlocks[i];
- entries(themes).map(([themeName, props]) => {
- if (props['color-scheme'] === 'dark') {
+ // Extract theme name
+ const nameMatch = block.match(/^"([^"]+)"/);
+ if (!nameMatch) continue;
+ const themeName = nameMatch[1];
+
+ if (block.includes('color-scheme: dark')) {
dark.push(themeName);
} else {
light.push(themeName);
}
- });
-
- return { light, dark };
-}
-
-export interface NestedColors {
- [key: string]: string | NestedColors;
-}
-
-/**
- * Flatten nested color objects into a single-level color object with concatenated keys
- */
-export function flattenThemeColors(
- themeColors: NestedColors,
- keys: (string | number)[] = [],
- memo?: Record
-) {
- return entries(themeColors).reduce>((memo, [key, value]) => {
- if (typeof value === 'string') {
- memo[(key === 'DEFAULT' ? keys : [...keys, key]).join('-')] = value;
- } else if (value) {
- flattenThemeColors(value, [...keys, key], memo);
- }
- return memo;
- }, memo ?? {});
-}
-
-/**
- * Convert names to CSS variables and color values common color space (hsl, oklch, etc) and space separated
- */
-export function processThemeColors(themeColors: NestedColors, colorSpace: SupportedColorSpace) {
- const colors = flattenThemeColors(themeColors);
-
- // TODO: make all semanatic colors optional as well
-
- // Generate optional semanatic colors
- colors['neutral'] ??= colors['neutral-500'] ?? 'oklch(.355192 .032071 262.988584)';
-
- // Generate optional state colors
- colors['info'] ??= colors['info-500'] ?? 'oklch(0.7206 0.191 231.6)';
- colors['success'] ??= colors['success-500'] ?? 'oklch(64.8% 0.150 160)';
- colors['warning'] ??= colors['warning-500'] ?? 'oklch(0.8471 0.199 83.87)';
- colors['danger'] ??= colors['danger-500'] ?? 'oklch(0.7176 0.221 22.18)';
-
- // Generate optional content colors
- for (const color of [...semanticColors, ...stateColors]) {
- // Add `primary` from `primary-500` if not defined in theme (ex. Skeleton)
- colors[color] ??= colors[`${color}-500`];
- colors[`${color}-content`] ??= foregroundColor(colors[color]) as string;
-
- // Generate color shades (ex. `primary-500`) if not defined. Useful for Daisy but not Skeleton themes, for example
- for (const shade of shades) {
- const shadeColorName = `${color}-${shade}`;
- if (!(shadeColorName in colors)) {
- // Find the next shade above (shade < 500) or below (shade > 500) and use as reference, if available
- const referenceShade =
- keys(colors)
- .map((key) => {
- const [c, s] = String(key).split('-');
- return [c, Number(s)] as [string, number];
- })
- .find(([c, s]) => c === color && (s < 500 ? s > shade : s < shade))?.[1] ?? 500;
- const referenceColor = colors[`${color}-${referenceShade}`] ?? colors[color];
-
- if (shade < 500) {
- colors[shadeColorName] ??= lightenColor(
- referenceColor,
- (referenceShade - shade) / 1000
- ) as string; // 100 == 0.1
- } else if (shade > 500) {
- colors[shadeColorName] ??= darkenColor(
- colors[color],
- (shade - referenceShade) / 1000
- ) as string; // 100 == 0.1
- } else {
- colors[shadeColorName] ??= colors[color] as string;
- }
- }
- }
- }
-
- // Generate optional surface colors
- colors['surface-100'] ??= 'oklch(100 0 0)';
- colors['surface-200'] ??= darkenColor(colors['surface-100'], 0.07) as string;
- colors['surface-300'] ??= darkenColor(colors['surface-200'], 0.07) as string;
- colors['surface-content'] ??= foregroundColor(colors['surface-100']) as string;
-
- // Add `color-scheme: "dark"` for `dark` theme (if not set)
- colors['color-scheme'] ??= isDark(colors['surface-content']) ? 'light' : 'dark';
-
- const result = fromEntries(
- entries(colors).map(([name, value]) => {
- if (colorNames.includes(String(name))) {
- // Add space separated color variables for each color
- return [`--color-${name}`, colorVariableValue(value, colorSpace)];
- } else {
- // Additional properties such as `color-scheme` or CSS variable
- return [name, value];
- }
- })
- );
-
- return result;
-}
-
-function round(value: number, decimals: number) {
- if (value) {
- return Number(value.toFixed(decimals));
- } else {
- return 0;
- }
-}
-
-function isDark(color: Color | string) {
- try {
- if (wcagContrast(color, 'black') < wcagContrast(color, 'white')) {
- return true;
- }
- return false;
- } catch (e) {
- return false;
- }
-}
-
-/** Lighten or darken color based on contrast of input */
-function foregroundColor(color: Color | string, percentage = 0.8) {
- try {
- return isDark(color) ? lightenColor(color, percentage) : darkenColor(color, percentage);
- } catch (e) {
- // console.error('Unable to generate foreground color', color);
}
-}
-function lightenColor(color: Color | string, percentage: number) {
- try {
- return formatCss(interpolate([color, 'white'], 'oklch')(percentage));
- } catch (e) {
- // console.error('Unable to generate lighten color', color);
- }
-}
-
-function darkenColor(color: Color | string, percentage: number) {
- try {
- return formatCss(interpolate([color, 'black'], 'oklch')(percentage));
- } catch (e) {
- // console.error('Unable to generate darken color', color);
- }
-}
-
-/**
- * Convert color to space separated components string
- */
-export function colorVariableValue(
- color: Color | string,
- colorSpace: SupportedColorSpace,
- decimals = 4
-) {
- try {
- if (colorSpace === 'rgb') {
- const computedColor = typeof color === 'string' ? rgb(color) : (color as Rgb);
- if (computedColor) {
- const { r, g, b } = computedColor;
- return `${round(r * 255, decimals)} ${round(g * 255, decimals)} ${round(b * 255, decimals)}`;
- }
- } else if (colorSpace === 'hsl') {
- const computedColor = typeof color === 'string' ? hsl(clampRgb(color)) : (color as Hsl);
- if (computedColor) {
- const { h, s, l } = computedColor;
- return `${round(h ?? 0, decimals)} ${round(s * 100, decimals)}% ${round(l * 100, decimals)}%`;
- }
- } else if (colorSpace === 'oklch') {
- const computedColor = typeof color === 'string' ? oklch(clampRgb(color)) : (color as Oklch);
- if (computedColor) {
- const { l, c, h } = computedColor;
- return `${round(l, decimals)} ${round(c, decimals)} ${round(h ?? 0, decimals)}`;
- }
- }
- } catch (e) {
- // console.error('Unable to convert color object to string', color);
- }
-}
-
-/**
- * Process theme to style variables
- */
-export function themeStylesString(theme: NestedColors, colorSpace: SupportedColorSpace) {
- const styleProperties = processThemeColors(theme, colorSpace);
- return entries(styleProperties)
- .map(([key, value]) => {
- return `${key}: ${value};`;
- })
- .join('\n');
+ return { light, dark };
}
/** Return a script tag that will set the initial theme from localStorage. This allows setting
diff --git a/packages/tailwind/tsconfig.build.json b/packages/tailwind/tsconfig.build.json
index eeccde4..437fd3f 100644
--- a/packages/tailwind/tsconfig.build.json
+++ b/packages/tailwind/tsconfig.build.json
@@ -1,4 +1,4 @@
{
"extends": "./tsconfig.json",
- "exclude": ["./src/**/*.test.ts"]
+ "exclude": ["./src/**/*.test.ts", "./src/lib/cli.ts"]
}
diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md
index 6674891..e402b22 100644
--- a/packages/utils/CHANGELOG.md
+++ b/packages/utils/CHANGELOG.md
@@ -1,11 +1,135 @@
# @layerstack/utils
+## 2.0.0-next.16
+
+### Patch Changes
+
+- fix(isActive): Do not match when path is not at the beginning ([#90](https://github.com/techniq/layerstack/pull/90))
+
+- fix(Duration): Support `.toISOString()` to output ISO 8601 duration strings (ex. `P2DT3H5M`) ([#92](https://github.com/techniq/layerstack/pull/92))
+
+- fix(Duration): Support `fractional` values (ex. `1.5s`). Useful with `minUnits` or `totalUnits` ([#92](https://github.com/techniq/layerstack/pull/92))
+
+## 2.0.0-next.15
+
+### Patch Changes
+
+- feat(clamp): Update types to support `Date` ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 2.0.0-next.14
+
+### Patch Changes
+
+- feat: Add additional time formats (hour, minute, second, millisecond). Resolves #84 ([#85](https://github.com/techniq/layerstack/pull/85))
+
+## 2.0.0-next.13
+
+### Patch Changes
+
+- feat(format): Support passing `locale` as part of config object ([#82](https://github.com/techniq/layerstack/pull/82))
+
+## 2.0.0-next.12
+
+### Patch Changes
+
+- chore: Remove unused deps ([#76](https://github.com/techniq/layerstack/pull/76))
+
+- feat: Add string utils `toCamelCase()`, `toSnakeCase()`, `toKebabCase()`, and `toPascalCase()` ([#79](https://github.com/techniq/layerstack/pull/79))
+
+## 2.0.0-next.11
+
+### Patch Changes
+
+- feat(formatDate): Support second argument as explicit `format` string accepting both `Unicode` and `strftime` formats (converting `Unicode` to `strftime`) while still supporting period type string/enum. ([#74](https://github.com/techniq/layerstack/pull/74))
+
+- feat(parseDate): Support optional `format` argument accepting both `Unicode` and `strftime` formats (converting `Unicode` to `strftime`) ([#74](https://github.com/techniq/layerstack/pull/74))
+
+## 2.0.0-next.10
+
+### Patch Changes
+
+- fix: Add more date utils to top-level exports including `intervalOffset`, `intervalDifference`, `isSameInterval`, `isDateWithin`, and more ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 2.0.0-next.9
+
+### Patch Changes
+
+- refactor: Replace `date-fns` usage with new date utils (based on d3-time) to reduce bundle size ([#71](https://github.com/techniq/layerstack/pull/71))
+
+- feat: Add new date utils including `parseDate`, `timeInterval`, `startOfInterval`, `endOfInterval`, `intervalOffset`, and more ([#71](https://github.com/techniq/layerstack/pull/71))
+
+## 2.0.0-next.8
+
+### Patch Changes
+
+- refactor: Remove `platform` nesting of user agent introspection functions (already nested in `env` export) ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 2.0.0-next.7
+
+### Patch Changes
+
+- feat: Add `platform` to get details of browser (operating system, etc) ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 2.0.0-next.6
+
+### Patch Changes
+
+- fix: Add `FormatConfig` as top-level export ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 2.0.0-next.5
+
+### Patch Changes
+
+- fix(format): Improve typing for `FormatConfig` and `formatDate()` ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 2.0.0-next.4
+
+### Patch Changes
+
+- feat(format): Support passing config option to easily set `type` and additional `options` as single object (ex. `format(number, { type: 'currency', options: { notation: 'compact' } })`) ([#66](https://github.com/techniq/layerstack/pull/66))
+
+- breaking(utils): Lowercase all periodTypeMappings, simplify (`DAY-TIME` => `daytime`, etc), and add `PeriodTypeCode` type ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- fix: Update `PeriodType.Month` `default` variant to include full name, and `long` to include year. ([#31](https://github.com/techniq/layerstack/pull/31))
+
+- feat(format): Support passing PeriodTypeCode strings to easily format dates (ex. `format(date, 'day')`) ([#66](https://github.com/techniq/layerstack/pull/66))
+
+## 2.0.0-next.3
+
+### Major Changes
+
+- breaking: Replace `getDuration()` / `humanizeDuration()` utils with `Duration` class (with `.format()` method) ([#62](https://github.com/techniq/layerstack/pull/62))
+
+## 1.1.0-next.2
+
+### Patch Changes
+
+- fix(format): Do not truncate decimal values when using `metric` preset (ex. 0.5) ([#53](https://github.com/techniq/layerstack/pull/53))
+
## 1.0.1
### Patch Changes
- fix(format): Do not truncate decimal values when using `metric` preset (ex. 0.5) ([#53](https://github.com/techniq/layerstack/pull/53))
+## 1.1.0-next.1
+
+### Patch Changes
+
+- Update dependencies ([#31](https://github.com/techniq/layerstack/pull/31))
+
+## 1.1.0-next.0
+
+### Minor Changes
+
+- Tailwind 4 support ([#32](https://github.com/techniq/layerstack/pull/32))
+
+### Patch Changes
+
+- feat: Add `mapKeys()` and `mapValues()` object utils ([#32](https://github.com/techniq/layerstack/pull/32))
+
+- feat: Add `NestedRecord` type ([#32](https://github.com/techniq/layerstack/pull/32))
+
## 1.0.0
### Major Changes
diff --git a/packages/utils/package.json b/packages/utils/package.json
index aceec53..4107474 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -4,15 +4,15 @@
"author": "Sean Lynch ",
"license": "MIT",
"repository": "techniq/layerstack",
- "version": "1.0.1",
+ "version": "2.0.0-next.16",
"scripts": {
"dev": "rimraf dist && tsc -p tsconfig.build.json --watch",
"build": "rimraf dist && tsc -p tsconfig.build.json",
"preview": "vite preview",
"package": "svelte-package",
"prepublishOnly": "svelte-package",
- "check": "svelte-check --tsconfig ./tsconfig.json",
- "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
+ "check": "tsc --noEmit",
+ "check:watch": "tsc --noEmit --watch",
"test:unit": "TZ=UTC+4 vitest",
"lint": "prettier --check .",
"format": "prettier --write ."
@@ -21,23 +21,24 @@
"@sveltejs/package": "^2.3.11",
"@sveltejs/vite-plugin-svelte": "^5.0.3",
"@types/d3-array": "^3.2.1",
+ "@types/d3-time": "^3.0.4",
+ "@types/d3-time-format": "^4.0.3",
"@types/lodash-es": "^4.17.12",
- "@vitest/coverage-v8": "^3.0.7",
- "prettier": "^3.5.2",
+ "prettier": "^3.5.3",
"prettier-plugin-svelte": "^3.3.3",
"rimraf": "6.0.1",
- "svelte": "^5.20.4",
- "svelte-check": "^4.1.4",
- "svelte2tsx": "^0.7.34",
+ "svelte": "^5.28.2",
+ "svelte2tsx": "^0.7.36",
"tslib": "^2.8.1",
- "typescript": "^5.7.3",
+ "typescript": "^5.8.3",
"vite": "^6.3.5",
"vitest": "^3.1.3"
},
"type": "module",
"dependencies": {
"d3-array": "^3.2.4",
- "date-fns": "^4.1.0",
+ "d3-time": "^3.1.0",
+ "d3-time-format": "^4.1.0",
"lodash-es": "^4.17.21"
},
"main": "./dist/index.js",
diff --git a/packages/utils/src/lib/array.test.ts b/packages/utils/src/lib/array.test.ts
index da498ba..0a42369 100644
--- a/packages/utils/src/lib/array.test.ts
+++ b/packages/utils/src/lib/array.test.ts
@@ -1,7 +1,7 @@
import { describe, it, expect } from 'vitest';
import { greatestAbs, sumObjects } from './array.js';
-import { testDate } from './date.test.js';
+import { testDateStr } from './date.test.js';
describe('sumObjects', () => {
it('Sum array of objects ', () => {
@@ -11,7 +11,7 @@ describe('sumObjects', () => {
{ one: null, two: null, three: null, four: null },
{ one: NaN, two: NaN, three: NaN, four: NaN },
{ one: 'NaN', two: 'NaN', three: 'NaN', four: 'NaN' },
- { one: '3', two: 6, four: '4', startDate: new Date(testDate) },
+ { one: '3', two: 6, four: '4', startDate: new Date(testDateStr) },
];
const actual = sumObjects(values);
@@ -21,7 +21,7 @@ describe('sumObjects', () => {
three: 9,
four: 4,
extra: 0,
- startDate: +new Date(testDate),
+ startDate: +new Date(testDateStr),
};
expect(actual).toEqual(expected);
diff --git a/packages/utils/src/lib/date.test.ts b/packages/utils/src/lib/date.test.ts
index 51081a8..0ee0275 100644
--- a/packages/utils/src/lib/date.test.ts
+++ b/packages/utils/src/lib/date.test.ts
@@ -1,4 +1,4 @@
-import { describe, it, expect } from 'vitest';
+import { describe, it, expect, test } from 'vitest';
import {
formatDate,
getMonthDaysByWeek,
@@ -12,19 +12,41 @@ import {
hasDayOfWeek,
replaceDayOfWeek,
isStringDate,
+ timeInterval,
+ startOfInterval,
+ endOfInterval,
+ parseDate,
+ intervalOffset,
+ isSameInterval,
+ intervalDifference,
+ isLeapYear,
+ isDateWithin,
} from './date.js';
-import { formatWithLocale } from './format.js';
-import { createLocaleSettings, defaultLocale } from './locale.js';
+import { createLocaleSettings, defaultLocale, LocaleSettings } from './locale.js';
import {
PeriodType,
type FormatDateOptions,
DayOfWeek,
type CustomIntlDateTimeFormatOptions,
DateToken,
+ PeriodTypeCode,
+ TimeIntervalType,
} from './date_types.js';
import { getWeekStartsOnFromIntl } from './dateInternal.js';
+import {
+ timeDay,
+ timeHour,
+ timeMillisecond,
+ timeMinute,
+ timeMonth,
+ timeYear,
+ timeSecond,
+ timeWeek,
+} from 'd3-time';
+
+export const testDateStr = '2023-11-21'; // "good" default date as the day (21) is bigger than 12 (number of months). And november is a good month1 (because why not?)
+export const testDate = parseDate('2023-11-21'); // "good" default date as the day (21) is bigger than 12 (number of months). And november is a good month1 (because why not?)
-export const testDate = '2023-11-21'; // "good" default date as the day (21) is bigger than 12 (number of months). And november is a good month1 (because why not?)
const dt_2M_2d = new Date(2023, 10, 21);
const dt_2M_1d = new Date(2023, 10, 7);
const dt_1M_1d = new Date(2023, 2, 7);
@@ -57,249 +79,990 @@ describe('formatDate()', () => {
expect(formatDate('invalid date')).equal('');
});
- describe('should format date for PeriodType.Day', () => {
- const localDate = new Date(2023, 10, 21);
- const cases = [
- ['short', defaultLocale, '11/21'],
- ['short', fr, '21/11'],
- ['long', defaultLocale, 'Nov 21, 2023'],
- ['long', fr, '21 nov. 2023'],
- ] as const;
+ it('should allow formatting with PeriodType', () => {
+ expect(formatDate(testDate, PeriodType.Day)).equal('11/21/2023');
+ });
- for (const c of cases) {
- const [variant, locales, expected] = c;
- it(c.toString(), () => {
- expect(formatDateWithLocale(locales, localDate, PeriodType.Day, { variant })).equal(
- expected
- );
- });
- }
+ it('should allow formatting with PeriodTypeCode', () => {
+ expect(formatDate(testDate, 'day')).equal('11/21/2023');
});
- describe('should format date string for PeriodType.Day', () => {
- const cases = [
- ['short', defaultLocale, '11/21'],
- ['short', fr, '21/11'],
- ['long', defaultLocale, 'Nov 21, 2023'],
- ['long', fr, '21 nov. 2023'],
+ describe('strftime format', () => {
+ test.each([
+ [new Date('2023-03-07T04:00:00.000Z'), '%Y-%m-%d', '2023-03-07'],
+ // [new Date('2023-03-07T04:00:00.000Z'), '%m/%d/%Y', '3/7/2023'], // Not suported
+ [new Date('2023-03-07T04:00:00.000Z'), '%m/%d/%Y', '03/07/2023'],
+ [new Date('2023-03-07T04:00:00.000Z'), '%m/%d/%y', '03/07/23'],
+ [new Date('2023-03-07T04:00:00.000Z'), '%A, %B %d, %Y', 'Tuesday, March 07, 2023'],
+ [new Date('1900-01-01T15:25:59.000Z'), '%H:%M:%S', '11:25:59'],
+ [new Date('1900-01-01T18:30:00.000Z'), '%I:%M %p', '02:30 PM'],
+ [new Date('2023-03-07T18:30:45.000Z'), '%Y-%m-%d %H:%M:%S', '2023-03-07 14:30:45'],
+ [new Date('2023-03-07T21:30:45.000Z'), '%Y-%m-%d %H:%M:%S %Z', '2023-03-07 17:30:45 -0400'],
+ ])('formatDate(%s, %s) => %s', (date, format, expected) => {
+ expect(formatDate(date, format)).toEqual(expected);
+ });
+ });
+
+ describe('Unicode format', () => {
+ test.each([
+ [new Date('2023-03-07T04:00:00.000Z'), 'yyyy-MM-dd', '2023-03-07'],
+ // [new Date('2023-03-07T04:00:00.000Z'), 'M/d/yyyy', '3/7/2023'], // Not suported
+ [new Date('2023-03-07T04:00:00.000Z'), 'MM/dd/yyyy', '03/07/2023'],
+ [new Date('2023-03-07T04:00:00.000Z'), 'M/d/yy', '03/07/23'],
+ [new Date('2023-03-07T04:00:00.000Z'), 'EEEE, MMMM dd, yyyy', 'Tuesday, March 07, 2023'],
+ [new Date('1900-01-01T15:25:59.000Z'), 'HH:mm:ss', '11:25:59'],
+ [new Date('1900-01-01T18:30:00.000Z'), 'hh:mm a', '02:30 PM'],
+ [new Date('2023-03-07T18:30:45.000Z'), 'yyyy-MM-dd HH:mm:ss', '2023-03-07 14:30:45'],
+ [new Date('2023-03-07T21:30:45.000Z'), 'yyyy-MM-dd HH:mm:ss z', '2023-03-07 17:30:45 -0400'],
+ ])('formatDate(%s, %s) => %s', (date, format, expected) => {
+ expect(formatDate(date, format)).toEqual(expected);
+ });
+ });
+});
+
+describe('formatDateWithLocale()', () => {
+ describe('PeriodType', () => {
+ const cases: [PeriodType, FormatDateOptions, Date, [LocaleSettings, string][]][] = [
+ // PeriodType.Day
+ [
+ PeriodType.Day,
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '11/21'],
+ [fr, '21/11'],
+ ],
+ ],
+ [
+ PeriodType.Day,
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '11/21/2023'],
+ [fr, '21/11/2023'],
+ ],
+ ],
+ [
+ PeriodType.Day,
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, 'Nov 21, 2023'],
+ [fr, '21 nov. 2023'],
+ ],
+ ],
+
+ // PeriodType.DayTime
+ [
+ PeriodType.DayTime,
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '3/7/2023, 2:02 PM'],
+ [fr, '07/03/2023 14:02'],
+ ],
+ ],
+ [
+ PeriodType.DayTime,
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '3/7/2023, 02:02 PM'],
+ [fr, '07/03/2023 14:02'],
+ ],
+ ],
+ [
+ PeriodType.DayTime,
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '3/7/2023, 02:02:03 PM'],
+ [fr, '07/03/2023 14:02:03'],
+ ],
+ ],
+
+ // PeriodType.TimeOnly
+ [
+ PeriodType.TimeOnly,
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02 PM'],
+ [fr, '14:02'],
+ ],
+ ],
+ [
+ PeriodType.TimeOnly,
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02:02:03 PM'],
+ [fr, '14:02:03'],
+ ],
+ ],
+ [
+ PeriodType.TimeOnly,
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02:02:03.004 PM'],
+ [fr, '14:02:03,004'],
+ ],
+ ],
+
+ // PeriodType.Hour
+ [
+ PeriodType.Hour,
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2 PM'],
+ [fr, '14 h'],
+ ],
+ ],
+ [
+ PeriodType.Hour,
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2 PM'],
+ [fr, '14 h'],
+ ],
+ ],
+ [
+ PeriodType.Hour,
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02 PM'],
+ [fr, '14 h'],
+ ],
+ ],
+
+ // PeriodType.Minute
+ [
+ PeriodType.Minute,
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02 PM'],
+ [fr, '14:02'],
+ ],
+ ],
+ [
+ PeriodType.Minute,
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02 PM'],
+ [fr, '14:02'],
+ ],
+ ],
+ [
+ PeriodType.Minute,
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02:02 PM'],
+ [fr, '14:02'],
+ ],
+ ],
+
+ // PeriodType.Second
+ [
+ PeriodType.Second,
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02:03 PM'],
+ [fr, '14:02:03'],
+ ],
+ ],
+ [
+ PeriodType.Second,
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02:03 PM'],
+ [fr, '14:02:03'],
+ ],
+ ],
+ [
+ PeriodType.Second,
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02:02:03 PM'],
+ [fr, '14:02:03'],
+ ],
+ ],
+
+ // PeriodType.Millisecond
+ [
+ PeriodType.Millisecond,
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02:03.004 PM'],
+ [fr, '14:02:03,004'],
+ ],
+ ],
+ [
+ PeriodType.Millisecond,
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02:03.004 PM'],
+ [fr, '14:02:03,004'],
+ ],
+ ],
+ [
+ PeriodType.Millisecond,
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02:02:03.004 PM'],
+ [fr, '14:02:03,004'],
+ ],
+ ],
+
+ // PeriodType.WeekSun / Mon
+ [
+ PeriodType.WeekSun,
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '11/19 - 11/25'],
+ [fr, '19/11 - 25/11'],
+ ],
+ ],
+ [
+ PeriodType.WeekSun,
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '11/19/2023 - 11/25/2023'],
+ [fr, '19/11/2023 - 25/11/2023'],
+ ],
+ ],
+ [
+ PeriodType.WeekSun,
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '11/19/2023 - 11/25/2023'],
+ [fr, '19/11/2023 - 25/11/2023'],
+ ],
+ ],
+ [
+ PeriodType.WeekMon,
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '11/20/2023 - 11/26/2023'],
+ [fr, '20/11/2023 - 26/11/2023'],
+ ],
+ ],
+
+ // PeriodType.Week
+ [
+ PeriodType.Week,
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '11/19 - 11/25'],
+ [fr, '20/11 - 26/11'],
+ ],
+ ],
+ [
+ PeriodType.Week,
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '11/19/2023 - 11/25/2023'],
+ [fr, '20/11/2023 - 26/11/2023'],
+ ],
+ ],
+ [
+ PeriodType.Week,
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '11/19/2023 - 11/25/2023'],
+ [fr, '20/11/2023 - 26/11/2023'],
+ ],
+ ],
+
+ // PeriodType.Month
+ [
+ PeriodType.Month,
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, 'Nov'],
+ [fr, 'nov.'],
+ ],
+ ],
+ [
+ PeriodType.Month,
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, 'November'],
+ [fr, 'novembre'],
+ ],
+ ],
+ [
+ PeriodType.Month,
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, 'November 2023'],
+ [fr, 'novembre 2023'],
+ ],
+ ],
+
+ // PeriodType.MonthYear
+ [
+ PeriodType.MonthYear,
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, 'Nov 23'],
+ [fr, 'nov. 23'],
+ ],
+ ],
+ [
+ PeriodType.MonthYear,
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, 'November 2023'],
+ [fr, 'novembre 2023'],
+ ],
+ ],
+ [
+ PeriodType.MonthYear,
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, 'November 2023'],
+ [fr, 'novembre 2023'],
+ ],
+ ],
+
+ // PeriodType.Quarter
+ [
+ PeriodType.Quarter,
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, 'Oct - Dec 23'],
+ [fr, 'oct. - déc. 23'],
+ ],
+ ],
+ [
+ PeriodType.Quarter,
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, 'October - December 2023'],
+ [fr, 'octobre - décembre 2023'],
+ ],
+ ],
+ [
+ PeriodType.Quarter,
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, 'October 2023 - December 2023'],
+ [fr, 'octobre 2023 - décembre 2023'],
+ ],
+ ],
+
+ // PeriodType.CalendarYear
+ [
+ PeriodType.CalendarYear,
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '23'],
+ [fr, '23'],
+ ],
+ ],
+ [
+ PeriodType.CalendarYear,
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '2023'],
+ [fr, '2023'],
+ ],
+ ],
+ [
+ PeriodType.CalendarYear,
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '2023'],
+ [fr, '2023'],
+ ],
+ ],
+
+ // PeriodType.FiscalYearOctober
+ [
+ PeriodType.FiscalYearOctober,
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '24'],
+ [fr, '24'],
+ ],
+ ],
+ [
+ PeriodType.FiscalYearOctober,
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '2024'],
+ [fr, '2024'],
+ ],
+ ],
+ [
+ PeriodType.FiscalYearOctober,
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '2024'],
+ [fr, '2024'],
+ ],
+ ],
+
+ // PeriodType.BiWeek1Sun
+ [
+ PeriodType.BiWeek1Sun,
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '11/12 - 11/25'],
+ [fr, '12/11 - 25/11'],
+ ],
+ ],
+ [
+ PeriodType.BiWeek1Sun,
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '11/12/2023 - 11/25/2023'],
+ [fr, '12/11/2023 - 25/11/2023'],
+ ],
+ ],
+ [
+ PeriodType.BiWeek1Sun,
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '11/12/2023 - 11/25/2023'],
+ [fr, '12/11/2023 - 25/11/2023'],
+ ],
+ ],
] as const;
for (const c of cases) {
- const [variant, locales, expected] = c;
- it(c.toString(), () => {
- expect(formatDateWithLocale(locales, testDate, PeriodType.Day, { variant })).equal(
- expected
- );
+ const [periodType, options, date, locales] = c;
+ describe(PeriodType[periodType], () => {
+ describe(`options: ${JSON.stringify(options)}`, () => {
+ for (const [locale, expected] of locales) {
+ it(`locale: ${locale.locale}`, () => {
+ expect(formatDateWithLocale(locale, date, periodType, options)).equal(expected);
+ });
+ }
+ });
});
}
});
- describe('should format date string for DayTime, TimeOnly', () => {
- const cases: [Date, PeriodType, FormatDateOptions, string[]][] = [
+ describe('PeriodTypeCode string', () => {
+ const cases: [PeriodTypeCode, FormatDateOptions, Date, [LocaleSettings, string][]][] = [
+ // 'day'
+ [
+ 'day',
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '11/21'],
+ [fr, '21/11'],
+ ],
+ ],
+ [
+ 'day',
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '11/21/2023'],
+ [fr, '21/11/2023'],
+ ],
+ ],
+ [
+ 'day',
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, 'Nov 21, 2023'],
+ [fr, '21 nov. 2023'],
+ ],
+ ],
+
+ // 'daytime'
+ [
+ 'daytime',
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '3/7/2023, 2:02 PM'],
+ [fr, '07/03/2023 14:02'],
+ ],
+ ],
+ [
+ 'daytime',
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '3/7/2023, 02:02 PM'],
+ [fr, '07/03/2023 14:02'],
+ ],
+ ],
+ [
+ 'daytime',
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '3/7/2023, 02:02:03 PM'],
+ [fr, '07/03/2023 14:02:03'],
+ ],
+ ],
+
+ // 'time'
+ [
+ 'time',
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02 PM'],
+ [fr, '14:02'],
+ ],
+ ],
+ [
+ 'time',
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02:02:03 PM'],
+ [fr, '14:02:03'],
+ ],
+ ],
+ [
+ 'time',
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02:02:03.004 PM'],
+ [fr, '14:02:03,004'],
+ ],
+ ],
+
+ // hour
+ [
+ 'hour',
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2 PM'],
+ [fr, '14 h'],
+ ],
+ ],
+ [
+ 'hour',
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2 PM'],
+ [fr, '14 h'],
+ ],
+ ],
+ [
+ 'hour',
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02 PM'],
+ [fr, '14 h'],
+ ],
+ ],
+
+ // minute
+ [
+ 'minute',
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02 PM'],
+ [fr, '14:02'],
+ ],
+ ],
+ [
+ 'minute',
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02 PM'],
+ [fr, '14:02'],
+ ],
+ ],
+ [
+ 'minute',
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02:02 PM'],
+ [fr, '14:02'],
+ ],
+ ],
+
+ // second
+ [
+ 'second',
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02:03 PM'],
+ [fr, '14:02:03'],
+ ],
+ ],
+ [
+ 'second',
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02:03 PM'],
+ [fr, '14:02:03'],
+ ],
+ ],
+ [
+ 'second',
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02:02:03 PM'],
+ [fr, '14:02:03'],
+ ],
+ ],
+
+ // millisecond
+ [
+ 'millisecond',
+ { variant: 'short' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02:03.004 PM'],
+ [fr, '14:02:03,004'],
+ ],
+ ],
+ [
+ 'millisecond',
+ { variant: 'default' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '2:02:03.004 PM'],
+ [fr, '14:02:03,004'],
+ ],
+ ],
+ [
+ 'millisecond',
+ { variant: 'long' },
+ dt_1M_1d_time_pm,
+ [
+ [defaultLocale, '02:02:03.004 PM'],
+ [fr, '14:02:03,004'],
+ ],
+ ],
+
+ // 'week-sun'
+ [
+ 'week-sun',
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '11/19 - 11/25'],
+ [fr, '19/11 - 25/11'],
+ ],
+ ],
+ [
+ 'week-sun',
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '11/19/2023 - 11/25/2023'],
+ [fr, '19/11/2023 - 25/11/2023'],
+ ],
+ ],
+ [
+ 'week-sun',
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '11/19/2023 - 11/25/2023'],
+ [fr, '19/11/2023 - 25/11/2023'],
+ ],
+ ],
+
+ // 'week-mon'
[
- dt_1M_1d_time_pm,
- PeriodType.DayTime,
+ 'week-mon',
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '11/20/2023 - 11/26/2023'],
+ [fr, '20/11/2023 - 26/11/2023'],
+ ],
+ ],
+ // 'week'
+ [
+ 'week',
{ variant: 'short' },
- ['3/7/2023, 2:02 PM', '07/03/2023 14:02'],
+ testDate,
+ [
+ [defaultLocale, '11/19 - 11/25'],
+ [fr, '20/11 - 26/11'],
+ ],
],
[
- dt_1M_1d_time_pm,
- PeriodType.DayTime,
+ 'week',
{ variant: 'default' },
- ['3/7/2023, 02:02 PM', '07/03/2023 14:02'],
+ testDate,
+ [
+ [defaultLocale, '11/19/2023 - 11/25/2023'],
+ [fr, '20/11/2023 - 26/11/2023'],
+ ],
],
[
- dt_1M_1d_time_pm,
- PeriodType.DayTime,
+ 'week',
{ variant: 'long' },
- ['3/7/2023, 02:02:03 PM', '07/03/2023 14:02:03'],
+ testDate,
+ [
+ [defaultLocale, '11/19/2023 - 11/25/2023'],
+ [fr, '20/11/2023 - 26/11/2023'],
+ ],
],
- [dt_1M_1d_time_pm, PeriodType.TimeOnly, { variant: 'short' }, ['2:02 PM', '14:02']],
- [dt_1M_1d_time_pm, PeriodType.TimeOnly, { variant: 'default' }, ['02:02:03 PM', '14:02:03']],
+
+ // 'month'
[
- dt_1M_1d_time_pm,
- PeriodType.TimeOnly,
+ 'month',
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, 'Nov'],
+ [fr, 'nov.'],
+ ],
+ ],
+ [
+ 'month',
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, 'November'],
+ [fr, 'novembre'],
+ ],
+ ],
+ [
+ 'month',
{ variant: 'long' },
- ['02:02:03.004 PM', '14:02:03,004'],
+ testDate,
+ [
+ [defaultLocale, 'November 2023'],
+ [fr, 'novembre 2023'],
+ ],
],
- ];
-
- for (const c of cases) {
- const [date, periodType, options, [expected_default, expected_fr]] = c;
- it(c.toString(), () => {
- expect(formatWithLocale(defaultLocale, date, periodType, options)).equal(expected_default);
- });
-
- it(c.toString() + 'fr', () => {
- expect(formatWithLocale(fr, date, periodType, options)).equal(expected_fr);
- });
- }
- });
-
- describe('should format date for PeriodType.WeekSun / Mon no mather the locale', () => {
- const cases = [
- [PeriodType.WeekSun, 'short', defaultLocale, '11/19 - 11/25'],
- [PeriodType.WeekSun, 'short', fr, '19/11 - 25/11'],
- [PeriodType.WeekSun, 'long', defaultLocale, '11/19/2023 - 11/25/2023'],
- [PeriodType.WeekSun, 'long', fr, '19/11/2023 - 25/11/2023'],
- [PeriodType.WeekMon, 'long', defaultLocale, '11/20/2023 - 11/26/2023'],
- [PeriodType.WeekMon, 'long', fr, '20/11/2023 - 26/11/2023'],
- ] as const;
-
- for (const c of cases) {
- const [periodType, variant, locales, expected] = c;
- it(c.toString(), () => {
- expect(formatDateWithLocale(locales, testDate, periodType, { variant })).equal(expected);
- });
- }
- });
-
- describe('should format date for PeriodType.Week with the good weekstarton locale', () => {
- const cases = [
- [PeriodType.Week, 'short', defaultLocale, '11/19 - 11/25'],
- [PeriodType.Week, 'short', fr, '20/11 - 26/11'],
- [PeriodType.Week, 'long', defaultLocale, '11/19/2023 - 11/25/2023'],
- [PeriodType.Week, 'long', fr, '20/11/2023 - 26/11/2023'],
-
- [PeriodType.Week, 'short', defaultLocale, '11/19 - 11/25'],
- [PeriodType.Week, 'short', fr, '20/11 - 26/11'],
- [PeriodType.Week, 'long', defaultLocale, '11/19/2023 - 11/25/2023'],
- [PeriodType.Week, 'long', fr, '20/11/2023 - 26/11/2023'],
- ] as const;
-
- for (const c of cases) {
- const [periodType, variant, locales, expected] = c;
- it(c.toString(), () => {
- expect(formatDateWithLocale(locales, testDate, periodType, { variant })).equal(expected);
- });
- }
- });
-
- describe('should format date for PeriodType.Month', () => {
- const cases = [
- ['short', defaultLocale, 'Nov'],
- ['short', fr, 'nov.'],
- ['long', defaultLocale, 'November'],
- ['long', fr, 'novembre'],
- ] as const;
-
- for (const c of cases) {
- const [variant, locales, expected] = c;
- it(c.toString(), () => {
- expect(formatDateWithLocale(locales, testDate, PeriodType.Month, { variant })).equal(
- expected
- );
- });
- }
- });
-
- describe('should format date for PeriodType.MonthYear', () => {
- const cases = [
- ['short', defaultLocale, 'Nov 23'],
- ['short', fr, 'nov. 23'],
- ['long', defaultLocale, 'November 2023'],
- ['long', fr, 'novembre 2023'],
- ] as const;
-
- for (const c of cases) {
- const [variant, locales, expected] = c;
- it(c.toString(), () => {
- expect(formatDateWithLocale(locales, testDate, PeriodType.MonthYear, { variant })).equal(
- expected
- );
- });
- }
- });
- describe('should format date for PeriodType.Quarter', () => {
- const cases = [
- ['short', defaultLocale, 'Oct - Dec 23'],
- ['short', fr, 'oct. - déc. 23'],
- ['long', defaultLocale, 'October - December 2023'],
- ['long', fr, 'octobre - décembre 2023'],
- ] as const;
+ // 'month-year'
+ [
+ 'month-year',
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, 'Nov 23'],
+ [fr, 'nov. 23'],
+ ],
+ ],
+ [
+ 'month-year',
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, 'November 2023'],
+ [fr, 'novembre 2023'],
+ ],
+ ],
+ [
+ 'month-year',
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, 'November 2023'],
+ [fr, 'novembre 2023'],
+ ],
+ ],
- for (const c of cases) {
- const [variant, locales, expected] = c;
- it(c.toString(), () => {
- expect(formatDateWithLocale(locales, testDate, PeriodType.Quarter, { variant })).equal(
- expected
- );
- });
- }
- });
+ // 'quarter'
+ [
+ 'quarter',
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, 'Oct - Dec 23'],
+ [fr, 'oct. - déc. 23'],
+ ],
+ ],
+ [
+ 'quarter',
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, 'October - December 2023'],
+ [fr, 'octobre - décembre 2023'],
+ ],
+ ],
+ [
+ 'quarter',
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, 'October 2023 - December 2023'],
+ [fr, 'octobre 2023 - décembre 2023'],
+ ],
+ ],
- describe('should format date for PeriodType.CalendarYear', () => {
- const cases = [
- ['short', defaultLocale, '23'],
- ['short', fr, '23'],
- ['long', defaultLocale, '2023'],
- ['long', fr, '2023'],
- ] as const;
+ // 'year'
+ [
+ 'year',
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '23'],
+ [fr, '23'],
+ ],
+ ],
+ [
+ 'year',
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '2023'],
+ [fr, '2023'],
+ ],
+ ],
+ [
+ 'year',
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '2023'],
+ [fr, '2023'],
+ ],
+ ],
- for (const c of cases) {
- const [variant, locales, expected] = c;
- it(c.toString(), () => {
- expect(formatDateWithLocale(locales, testDate, PeriodType.CalendarYear, { variant })).equal(
- expected
- );
- });
- }
- });
+ // 'fiscal-year-october'
+ [
+ 'fiscal-year-october',
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '24'],
+ [fr, '24'],
+ ],
+ ],
+ [
+ 'fiscal-year-october',
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '2024'],
+ [fr, '2024'],
+ ],
+ ],
+ [
+ 'fiscal-year-october',
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '2024'],
+ [fr, '2024'],
+ ],
+ ],
- describe('should format date for PeriodType.FiscalYearOctober', () => {
- const cases = [
- ['short', defaultLocale, '24'],
- ['short', fr, '24'],
- ['long', defaultLocale, '2024'],
- ['long', fr, '2024'],
- ] as const;
+ // 'biweek1-sun'
+ [
+ 'biweek1-sun',
+ { variant: 'short' },
+ testDate,
+ [
+ [defaultLocale, '11/12 - 11/25'],
+ [fr, '12/11 - 25/11'],
+ ],
+ ],
+ [
+ 'biweek1-sun',
+ { variant: 'default' },
+ testDate,
+ [
+ [defaultLocale, '11/12/2023 - 11/25/2023'],
+ [fr, '12/11/2023 - 25/11/2023'],
+ ],
+ ],
+ [
+ 'biweek1-sun',
+ { variant: 'long' },
+ testDate,
+ [
+ [defaultLocale, '11/12/2023 - 11/25/2023'],
+ [fr, '12/11/2023 - 25/11/2023'],
+ ],
+ ],
+ ];
for (const c of cases) {
- const [variant, locales, expected] = c;
- it(c.toString(), () => {
- expect(
- formatDateWithLocale(locales, testDate, PeriodType.FiscalYearOctober, { variant })
- ).equal(expected);
+ const [periodTypeCode, options, date, locales] = c;
+ describe(periodTypeCode, () => {
+ describe(`options: ${JSON.stringify(options)}`, () => {
+ for (const [locale, expected] of locales) {
+ it(`locale: ${locale.locale}`, () => {
+ expect(formatDateWithLocale(locale, date, periodTypeCode, options)).equal(expected);
+ });
+ }
+ });
});
}
});
- describe('should format date for PeriodType.BiWeek1Sun', () => {
+ describe('should format date string for PeriodType.Day', () => {
const cases = [
- ['short', defaultLocale, '11/12 - 11/25'],
- ['short', fr, '12/11 - 25/11'],
- ['long', defaultLocale, '11/12/2023 - 11/25/2023'],
- ['long', fr, '12/11/2023 - 25/11/2023'],
+ ['short', defaultLocale, '11/21'],
+ ['short', fr, '21/11'],
+ ['default', defaultLocale, '11/21/2023'],
+ ['default', fr, '21/11/2023'],
+ ['long', defaultLocale, 'Nov 21, 2023'],
+ ['long', fr, '21 nov. 2023'],
] as const;
for (const c of cases) {
- const [variant, locales, expected] = c;
+ const [variant, locale, expected] = c;
it(c.toString(), () => {
- expect(formatDateWithLocale(locales, testDate, PeriodType.BiWeek1Sun, { variant })).equal(
+ expect(formatDateWithLocale(locale, testDateStr, PeriodType.Day, { variant })).equal(
expected
);
});
}
});
-
- describe('should format date for PeriodType.undefined', () => {
- const expected = '2023-11-21T00:00:00-04:00';
- const cases = [
- ['short', defaultLocale],
- ['short', fr],
- ['long', defaultLocale],
- ['long', fr],
- ] as const;
-
- for (const c of cases) {
- const [variant, locales] = c;
- it(c.toString(), () => {
- // @ts-expect-error
- expect(formatDateWithLocale(locales, testDate, undefined, { variant })).equal(expected);
- });
- }
- });
});
describe('formatIntl() tokens', () => {
@@ -406,7 +1169,7 @@ describe('localToUtcDate()', () => {
describe('getMonthDaysByWeek()', () => {
it('default starting Week: Sunday', () => {
- const dates = getMonthDaysByWeek(new Date(testDate));
+ const dates = getMonthDaysByWeek(testDate);
expect(dates).toMatchInlineSnapshot(`
[
[
@@ -459,7 +1222,7 @@ describe('getMonthDaysByWeek()', () => {
});
it('Starting Week: Monday', () => {
- const dates = getMonthDaysByWeek(new Date(testDate), 1);
+ const dates = getMonthDaysByWeek(testDate, 1);
expect(dates).toMatchInlineSnapshot(`
[
[
@@ -530,16 +1293,96 @@ describe('getWeekStartsOnFromIntl() tokens', () => {
});
describe('getPeriodTypeByCode()', () => {
- it('week', () => {
- const val = getPeriodTypeByCode('WEEK');
- expect(val).toBe(PeriodType.Week);
+ const data = [
+ ['custom', PeriodType.Custom],
+ ['day', PeriodType.Day],
+ ['daytime', PeriodType.DayTime],
+ ['time', PeriodType.TimeOnly],
+ ['hour', PeriodType.Hour],
+ ['minute', PeriodType.Minute],
+ ['second', PeriodType.Second],
+ ['millisecond', PeriodType.Millisecond],
+ ['week', PeriodType.Week],
+ ['week-sun', PeriodType.WeekSun],
+ ['week-mon', PeriodType.WeekMon],
+ ['week-tue', PeriodType.WeekTue],
+ ['week-wed', PeriodType.WeekWed],
+ ['week-thu', PeriodType.WeekThu],
+ ['week-fri', PeriodType.WeekFri],
+ ['week-sat', PeriodType.WeekSat],
+ ['month', PeriodType.Month],
+ ['month-year', PeriodType.MonthYear],
+ ['quarter', PeriodType.Quarter],
+ ['year', PeriodType.CalendarYear],
+ ['fiscal-year-october', PeriodType.FiscalYearOctober],
+ ['biweek1', PeriodType.BiWeek1],
+ ['biweek1-sun', PeriodType.BiWeek1Sun],
+ ['biweek1-mon', PeriodType.BiWeek1Mon],
+ ['biweek1-tue', PeriodType.BiWeek1Tue],
+ ['biweek1-wed', PeriodType.BiWeek1Wed],
+ ['biweek1-thu', PeriodType.BiWeek1Thu],
+ ['biweek1-fri', PeriodType.BiWeek1Fri],
+ ['biweek1-sat', PeriodType.BiWeek1Sat],
+ ['biweek2', PeriodType.BiWeek2],
+ ['biweek2-sun', PeriodType.BiWeek2Sun],
+ ['biweek2-mon', PeriodType.BiWeek2Mon],
+ ['biweek2-tue', PeriodType.BiWeek2Tue],
+ ['biweek2-wed', PeriodType.BiWeek2Wed],
+ ['biweek2-thu', PeriodType.BiWeek2Thu],
+ ['biweek2-fri', PeriodType.BiWeek2Fri],
+ ['biweek2-sat', PeriodType.BiWeek2Sat],
+ ] as const;
+
+ data.forEach(([code, periodType]) => {
+ it(code, () => {
+ const val = getPeriodTypeByCode(code);
+ expect(val).toBe(periodType);
+ });
});
});
describe('getPeriodTypeCode()', () => {
- it('BiWeek1Sat', () => {
- const val = getPeriodTypeCode(PeriodType.BiWeek1Sat);
- expect(val).toBe('BIWEEK1-SAT');
+ const data = [
+ ['custom', PeriodType.Custom],
+ ['day', PeriodType.Day],
+ ['daytime', PeriodType.DayTime],
+ ['time', PeriodType.TimeOnly],
+ ['week', PeriodType.Week],
+ ['week-sun', PeriodType.WeekSun],
+ ['week-mon', PeriodType.WeekMon],
+ ['week-tue', PeriodType.WeekTue],
+ ['week-wed', PeriodType.WeekWed],
+ ['week-thu', PeriodType.WeekThu],
+ ['week-fri', PeriodType.WeekFri],
+ ['week-sat', PeriodType.WeekSat],
+ ['month', PeriodType.Month],
+ ['month-year', PeriodType.MonthYear],
+ ['quarter', PeriodType.Quarter],
+ ['year', PeriodType.CalendarYear],
+ ['fiscal-year-october', PeriodType.FiscalYearOctober],
+ ['biweek1', PeriodType.BiWeek1],
+ ['biweek1-sun', PeriodType.BiWeek1Sun],
+ ['biweek1-mon', PeriodType.BiWeek1Mon],
+ ['biweek1-tue', PeriodType.BiWeek1Tue],
+ ['biweek1-wed', PeriodType.BiWeek1Wed],
+ ['biweek1-thu', PeriodType.BiWeek1Thu],
+ ['biweek1-fri', PeriodType.BiWeek1Fri],
+ ['biweek1-sat', PeriodType.BiWeek1Sat],
+ ['biweek2', PeriodType.BiWeek2],
+ ['biweek2-sun', PeriodType.BiWeek2Sun],
+ ['biweek2-mon', PeriodType.BiWeek2Mon],
+ ['biweek2-tue', PeriodType.BiWeek2Tue],
+ ['biweek2-wed', PeriodType.BiWeek2Wed],
+ ['biweek2-thu', PeriodType.BiWeek2Thu],
+ ['biweek2-fri', PeriodType.BiWeek2Fri],
+ ['biweek2-sat', PeriodType.BiWeek2Sat],
+ ] as const;
+
+ data.forEach(([code, periodType]) => {
+ it(code, () => {
+ const val = getPeriodTypeCode(periodType);
+ expect(val).toBe(code);
+ });
});
});
@@ -693,3 +1536,225 @@ describe('isStringDate()', () => {
expect(isStringDate('1982-03-30T11:25:59.1234567Z')).true;
});
});
+
+describe('parseDate()', () => {
+ it('date only as locale date', () => {
+ expect(parseDate('1982-03-30')).toEqual(new Date('1982-03-30T04:00:00.000Z'));
+ });
+
+ it('date and time only (hour/minute) as locale date', () => {
+ expect(parseDate('1982-03-30T04:00')).toEqual(new Date('1982-03-30T08:00:00.000Z'));
+ });
+
+ it('date and time only (hour/minute/second) as locale date', () => {
+ expect(parseDate('1982-03-30T04:00:00')).toEqual(new Date('1982-03-30T08:00:00.000Z'));
+ });
+
+ it('should not equal UTC date', () => {
+ // Just an extra check
+ expect(parseDate('1982-03-30')).not.toEqual(new Date('1982-03-30'));
+ });
+
+ it('date with timezome (UTC)', () => {
+ expect(parseDate('1982-03-30T11:25:59Z')).toEqual(new Date('1982-03-30T11:25:59Z'));
+ });
+
+ it('date with time (offset)', () => {
+ expect(parseDate('1982-03-30T00:00:00-01:00')).toEqual(new Date('1982-03-30T00:00:00-01:00'));
+ });
+
+ it('date with time and 3 digit milliseconds (UTC)', () => {
+ expect(parseDate('1982-03-30T11:25:59.123Z')).toEqual(new Date('1982-03-30T11:25:59.123Z'));
+ });
+
+ it('date with time with 7 digit milliseconds (UTC)', () => {
+ expect(parseDate('1982-03-30T11:25:59.1234567Z')).toEqual(
+ new Date('1982-03-30T11:25:59.1234567Z')
+ );
+ });
+
+ it('invalid date string', () => {
+ expect(parseDate('some_string')).toEqual(new Date('Invalid Date'));
+ });
+
+ describe('strftime format', () => {
+ test.each([
+ ['2023-03-07', '%Y-%m-%d', new Date('2023-03-07T04:00:00.000Z')],
+ ['3/7/2023', '%m/%d/%Y', new Date('2023-03-07T04:00:00.000Z')],
+ ['03/07/2023', '%m/%d/%Y', new Date('2023-03-07T04:00:00.000Z')],
+ ['03/07/23', '%m/%d/%y', new Date('2023-03-07T04:00:00.000Z')],
+ ['3/7/23', '%m/%d/%y', new Date('2023-03-07T04:00:00.000Z')],
+ ['Tuesday, March 7, 2023', '%A, %B %d, %Y', new Date('2023-03-07T04:00:00.000Z')],
+ ['11:25:59', '%H:%M:%S', new Date('1900-01-01T15:25:59.000Z')],
+ ['2:30 PM', '%I:%M %p', new Date('1900-01-01T18:30:00.000Z')],
+ ['2023-03-07 14:30:45', '%Y-%m-%d %H:%M:%S', new Date('2023-03-07T18:30:45.000Z')],
+ ['2023-03-07 14:30:45 -07:00', '%Y-%m-%d %H:%M:%S %Z', new Date('2023-03-07T21:30:45.000Z')],
+ ])('parseDate(%s, %s) => %s', (date, format, expected) => {
+ expect(parseDate(date, format)).toEqual(expected);
+ });
+ });
+
+ describe('Unicode format', () => {
+ test.each([
+ ['2023-03-07', 'yyyy-MM-dd', new Date('2023-03-07T04:00:00.000Z')],
+ ['3/7/2023', 'M/d/yyyy', new Date('2023-03-07T04:00:00.000Z')],
+ ['03/07/2023', 'MM/dd/yyyy', new Date('2023-03-07T04:00:00.000Z')],
+ ['3/7/23', 'M/d/yy', new Date('2023-03-07T04:00:00.000Z')],
+ ['Tuesday, December 25, 2023', 'EEEE, MMMM dd, yyyy', new Date('2023-12-25T04:00:00.000Z')],
+ ['11:25:59', 'HH:mm:ss', new Date('1900-01-01T15:25:59.000Z')],
+ ['2:30 PM', 'hh:mm a', new Date('1900-01-01T18:30:00.000Z')],
+ ['2023-03-07 14:30:45', 'yyyy-MM-dd HH:mm:ss', new Date('2023-03-07T18:30:45.000Z')],
+ ['2023-03-07 14:30:45 -07:00', 'yyyy-MM-dd HH:mm:ss z', new Date('2023-03-07T21:30:45.000Z')],
+ ])('parseDate(%s, %s) => %s', (date, format, expected) => {
+ expect(parseDate(date, format)).toEqual(expected);
+ });
+ });
+});
+
+describe('timeInterval()', () => {
+ test.each([
+ ['millisecond', timeMillisecond],
+ ['second', timeSecond],
+ ['minute', timeMinute],
+ ['hour', timeHour],
+ ['day', timeDay],
+ ['week', timeWeek],
+ ['month', timeMonth],
+ // ['quarter', timeMonth.every(3)], // TODO: how to verify this?
+ ['year', timeYear],
+ ])('timeInterval(%s) => %s', (interval, expected) => {
+ expect(timeInterval(interval as TimeIntervalType)).toEqual(expected);
+ });
+});
+
+describe('startOfInterval()', () => {
+ test.each([
+ ['millisecond', '2023-03-07T14:02:03.004'],
+ ['second', '2023-03-07T14:02:03'],
+ ['minute', '2023-03-07T14:02'],
+ ['hour', '2023-03-07T14:00:00.000'],
+ ['day', '2023-03-07'],
+ ['week', '2023-03-05'],
+ ['month', '2023-03-01'],
+ ['quarter', '2023-01-01'],
+ ['year', '2023-01-01'],
+ ])('startOfInterval(%s, %s) => %s', (interval, expected) => {
+ expect(startOfInterval(interval as TimeIntervalType, dt_1M_1d_time_pm)).toEqual(
+ parseDate(expected)
+ );
+ });
+});
+
+describe('endOfInterval()', () => {
+ test.each([
+ ['millisecond', '2023-03-07T14:02:03.004'],
+ ['second', '2023-03-07T14:02:03.999'],
+ ['minute', '2023-03-07T14:02:59.999'],
+ ['hour', '2023-03-07T14:59:59.999'],
+ ['day', '2023-03-07T23:59:59.999'],
+ ['week', '2023-03-11T23:59:59.999'],
+ ['month', '2023-03-31T23:59:59.999'],
+ ['quarter', '2023-03-31T23:59:59.999'],
+ ['year', '2023-12-31T23:59:59.999'],
+ ])('endOfInterval(%s, %s) => %s', (interval, expected) => {
+ expect(endOfInterval(interval as TimeIntervalType, dt_1M_1d_time_pm)).toEqual(
+ parseDate(expected)
+ );
+ });
+});
+
+describe('intervalOffset()', () => {
+ test.each([
+ ['millisecond', 1, '2023-11-21T04:00:00.001Z'],
+ ['millisecond', -1, '2023-11-21T03:59:59.999Z'],
+ ['second', 1, '2023-11-21T04:00:01Z'],
+ ['second', -1, '2023-11-21T03:59:59Z'],
+ ['minute', 1, '2023-11-21T04:01:00Z'],
+ ['minute', -1, '2023-11-21T03:59:00Z'],
+ ['hour', 1, '2023-11-21T05:00:00Z'],
+ ['hour', -1, '2023-11-21T03:00:00Z'],
+ ['day', 1, '2023-11-22'],
+ ['day', -1, '2023-11-20'],
+ ['week', 1, '2023-11-28'],
+ ['week', -1, '2023-11-14'],
+ ['month', 1, '2023-12-21'],
+ ['month', -1, '2023-10-21'],
+ ['quarter', 1, '2024-02-01'],
+ ['quarter', -1, '2023-08-01'],
+ ['year', 1, '2024-11-21'],
+ ['year', -1, '2022-11-21'],
+ ])('intervalOffset(%s, %s, %s) => %s', (interval, offset, expected) => {
+ expect(intervalOffset(interval as TimeIntervalType, testDate, offset)).toEqual(
+ parseDate(expected)
+ );
+ });
+});
+
+describe('isSameInterval()', () => {
+ test.each([
+ ['day', '2023-03-07T00:00', '2023-03-07T23:59', true],
+ ['day', '2023-03-07T11:00', '2023-03-08T12:00', false],
+ ['week', '2023-03-07', '2023-03-08', true],
+ ['week', '2023-03-07', '2023-03-14', false],
+ ['month', '2023-03-07', '2023-03-30', true],
+ ['month', '2023-03-07', '2023-04-07', false],
+ ['quarter', '2023-03-07', '2023-01-07', true],
+ ['quarter', '2023-03-07', '2023-04-07', false],
+ ['year', '2023-03-07', '2023-11-21', true],
+ ['year', '2023-03-07', '2024-03-07', false],
+ ])('isSameInterval(%s, %s, %s) => %s', (interval, date1, date2, expected) => {
+ expect(isSameInterval(interval as TimeIntervalType, parseDate(date1), parseDate(date2))).toBe(
+ expected
+ );
+ });
+});
+
+describe('intervalDifference()', () => {
+ test.each([
+ ['day', '2023-03-07T00:00', '2023-03-07T23:59', 0], // Same day
+ ['day', '2023-03-07', '2023-03-08', 1], // Next day
+ ['day', '2023-01-01', '2023-12-31', 364], // Full year
+ ['day', '2023-01-01', '2024-01-01', 365], // Next year
+ ['week', '2023-03-05', '2023-03-11', 0], // Same week
+ ['week', '2023-03-07', '2023-03-14', 1], // Next week
+ ['month', '2023-01-01', '2023-01-31', 0], // Same month
+ ['month', '2023-01-01', '2023-02-01', 1], // Next month
+ ['quarter', '2023-01-01', '2023-03-31', 0], // Same quarter
+ ['quarter', '2023-01-01', '2023-04-01', 1], // Next quarter
+ ['year', '2023-01-01', '2023-12-31', 0], // Same year
+ ['year', '2023-01-01', '2024-01-01', 1], // Next year
+ ])('intervalDifference(%s, %s, %s) => %s', (interval, date1, date2, expected) => {
+ expect(
+ intervalDifference(interval as TimeIntervalType, parseDate(date1), parseDate(date2))
+ ).toEqual(expected);
+ });
+});
+
+describe('isLeapYear()', () => {
+ test.each([
+ ['2020-01-01', true],
+ ['2021-01-01', false],
+ ['2022-01-01', false],
+ ['2023-01-01', false],
+ ['2024-01-01', true],
+ ])('isLeapYear(%s) => %s', (date, expected) => {
+ expect(isLeapYear(parseDate(date))).toBe(expected);
+ });
+});
+
+describe('isDateWithin()', () => {
+ test.each([
+ ['2023-03-07', '2023-03-06', '2023-03-08', true], // between
+ ['2023-03-07', '2023-03-07', '2023-03-08', true], // match start
+ ['2023-03-07', '2023-03-06', '2023-03-07', true], // match end
+ ['2023-03-07', '2023-03-08', '2023-03-09', false], // outside start
+ ['2023-03-07', '2023-03-05', '2023-03-06', false], // outside end
+ ])('isDateWithin(%s, %s) => %s', (date, start, end, expected) => {
+ expect(
+ isDateWithin(parseDate(date), {
+ start: parseDate(start),
+ end: parseDate(end),
+ })
+ ).toBe(expected);
+ });
+});
diff --git a/packages/utils/src/lib/date.ts b/packages/utils/src/lib/date.ts
index 139f443..6fda1d5 100644
--- a/packages/utils/src/lib/date.ts
+++ b/packages/utils/src/lib/date.ts
@@ -1,34 +1,24 @@
import {
- startOfDay,
- endOfDay,
- startOfWeek,
- endOfWeek,
- startOfMonth,
- endOfMonth,
- startOfQuarter,
- endOfQuarter,
- startOfYear,
- endOfYear,
- min,
- max,
- addMonths,
- addDays,
- differenceInDays,
- differenceInWeeks,
- differenceInMonths,
- differenceInQuarters,
- differenceInYears,
- addWeeks,
- addQuarters,
- addYears,
- isSameDay,
- isSameWeek,
- isSameMonth,
- isSameQuarter,
- isSameYear,
- parseISO,
- formatISO,
-} from 'date-fns';
+ CountableTimeInterval,
+ timeDay,
+ timeHour,
+ timeMillisecond,
+ timeMinute,
+ timeMonth,
+ timeSecond,
+ timeWeek,
+ timeYear,
+ timeInterval as d3TimeInterval,
+ type TimeInterval,
+ timeMonday,
+ timeTuesday,
+ timeWednesday,
+ timeThursday,
+ timeFriday,
+ timeSaturday,
+} from 'd3-time';
+import { timeFormat, timeParse } from 'd3-time-format';
+import { min, max } from 'd3-array';
import { hasKeyOf } from './typeGuards.js';
import { assertNever, entries } from './typeHelpers.js';
@@ -41,8 +31,12 @@ import {
type CustomIntlDateTimeFormatOptions,
type FormatDateOptions,
type DateFormatVariantPreset,
+ periodTypeMappings,
+ PeriodTypeCode,
+ type TimeIntervalType,
} from './date_types.js';
import { defaultLocale, type LocaleSettings } from './locale.js';
+import { convertUnicodeToStrftime } from './dateInternal.js';
export * from './date_types.js';
@@ -75,6 +69,15 @@ export function getPeriodTypeNameWithLocale(settings: LocaleSettings, periodType
case PeriodType.TimeOnly:
return dico.Time;
+ case PeriodType.Hour:
+ return dico.Hour;
+ case PeriodType.Minute:
+ return dico.Minute;
+ case PeriodType.Second:
+ return dico.Second;
+ case PeriodType.Millisecond:
+ return dico.Millisecond;
+
case PeriodType.WeekSun:
return `${dico.Week} (${getDayOfWeekName(DayOfWeek.Sunday, locale)})`;
case PeriodType.WeekMon:
@@ -142,54 +145,13 @@ export function getPeriodTypeNameWithLocale(settings: LocaleSettings, periodType
}
}
-const periodTypeMappings: Record = {
- [PeriodType.Custom]: 'CUSTOM',
-
- [PeriodType.Day]: 'DAY',
- [PeriodType.DayTime]: 'DAY-TIME',
- [PeriodType.TimeOnly]: 'TIME',
-
- [PeriodType.WeekSun]: 'WEEK-SUN',
- [PeriodType.WeekMon]: 'WEEK-MON',
- [PeriodType.WeekTue]: 'WEEK-TUE',
- [PeriodType.WeekWed]: 'WEEK-WED',
- [PeriodType.WeekThu]: 'WEEK-THU',
- [PeriodType.WeekFri]: 'WEEK-FRI',
- [PeriodType.WeekSat]: 'WEEK-SAT',
- [PeriodType.Week]: 'WEEK',
-
- [PeriodType.Month]: 'MTH',
- [PeriodType.MonthYear]: 'MTH-CY',
- [PeriodType.Quarter]: 'QTR',
- [PeriodType.CalendarYear]: 'CY',
- [PeriodType.FiscalYearOctober]: 'FY-OCT',
-
- [PeriodType.BiWeek1Sun]: 'BIWEEK1-SUN',
- [PeriodType.BiWeek1Mon]: 'BIWEEK1-MON',
- [PeriodType.BiWeek1Tue]: 'BIWEEK1-TUE',
- [PeriodType.BiWeek1Wed]: 'BIWEEK1-WED',
- [PeriodType.BiWeek1Thu]: 'BIWEEK1-THU',
- [PeriodType.BiWeek1Fri]: 'BIWEEK1-FRI',
- [PeriodType.BiWeek1Sat]: 'BIWEEK1-SAT',
- [PeriodType.BiWeek1]: 'BIWEEK1',
-
- [PeriodType.BiWeek2Sun]: 'BIWEEK2-SUN',
- [PeriodType.BiWeek2Mon]: 'BIWEEK2-MON',
- [PeriodType.BiWeek2Tue]: 'BIWEEK2-TUE',
- [PeriodType.BiWeek2Wed]: 'BIWEEK2-WED',
- [PeriodType.BiWeek2Thu]: 'BIWEEK2-THU',
- [PeriodType.BiWeek2Fri]: 'BIWEEK2-FRI',
- [PeriodType.BiWeek2Sat]: 'BIWEEK2-SAT',
- [PeriodType.BiWeek2]: 'BIWEEK2',
-};
-
-export function getPeriodTypeCode(periodType: PeriodType): string {
+export function getPeriodTypeCode(periodType: PeriodType): PeriodTypeCode {
return periodTypeMappings[periodType];
}
-export function getPeriodTypeByCode(code: string): PeriodType {
+export function getPeriodTypeByCode(code: PeriodTypeCode) {
const element = entries(periodTypeMappings).find((c) => c[1] === code);
- return parseInt(String(element?.[0] ?? '1'));
+ return parseInt(String(element?.[0] ?? '0'));
}
export function getDayOfWeek(periodType: PeriodType): DayOfWeek | null {
@@ -243,15 +205,15 @@ export function getMonthDaysByWeek(
dateInTheMonth: Date,
weekStartsOn: DayOfWeek = DayOfWeek.Sunday
): Date[][] {
- const startOfFirstWeek = startOfWeek(startOfMonth(dateInTheMonth), { weekStartsOn });
- const endOfLastWeek = endOfWeek(endOfMonth(dateInTheMonth), { weekStartsOn });
+ const startOfFirstWeek = startOfWeek(startOfInterval('month', dateInTheMonth), weekStartsOn);
+ const endOfLastWeek = endOfWeek(endOfInterval('month', dateInTheMonth), weekStartsOn);
const list = [];
let valueToAdd = startOfFirstWeek;
while (valueToAdd <= endOfLastWeek) {
list.push(valueToAdd);
- valueToAdd = addDays(valueToAdd, 1);
+ valueToAdd = intervalOffset('day', valueToAdd, 1);
}
return chunk(list, 7) as Date[][];
@@ -304,7 +266,7 @@ export function getFiscalYearRange(
const numberOfMonths = (options && options.numberOfMonths) || 12;
const startDate = new Date((fiscalYear || 0) - 1, startMonth - 1, 1);
- const endDate = endOfMonth(addMonths(startDate, numberOfMonths - 1));
+ const endDate = endOfInterval('month', intervalOffset('month', startDate, numberOfMonths - 1));
return { startDate, endDate };
}
@@ -329,13 +291,51 @@ const biweekBaseDates = [new Date('1799-12-22T00:00'), new Date('1799-12-15T00:0
export function startOfBiWeek(date: Date, week: number, startOfWeek: DayOfWeek) {
var weekBaseDate = biweekBaseDates[week - 1];
- var baseDate = addDays(weekBaseDate, startOfWeek);
- var periodsSince = Math.floor(differenceInDays(date, baseDate) / 14);
- return addDays(baseDate, periodsSince * 14);
+ var baseDate = intervalOffset('day', weekBaseDate, startOfWeek);
+ var periodsSince = Math.floor(intervalDifference('day', baseDate, date) / 14);
+ return intervalOffset('day', baseDate, periodsSince * 14);
}
export function endOfBiWeek(date: Date, week: number, startOfWeek: DayOfWeek) {
- return addDays(startOfBiWeek(date, week, startOfWeek), 13);
+ return intervalOffset('day', startOfBiWeek(date, week, startOfWeek), 13);
+}
+
+function startOfWeek(date: Date, weekStartsOn: DayOfWeek) {
+ switch (weekStartsOn) {
+ case DayOfWeek.Sunday:
+ return startOfInterval(timeWeek, date);
+ case DayOfWeek.Monday:
+ return startOfInterval(timeMonday, date);
+ case DayOfWeek.Tuesday:
+ return startOfInterval(timeTuesday, date);
+ case DayOfWeek.Wednesday:
+ return startOfInterval(timeWednesday, date);
+ case DayOfWeek.Thursday:
+ return startOfInterval(timeThursday, date);
+ case DayOfWeek.Friday:
+ return startOfInterval(timeFriday, date);
+ case DayOfWeek.Saturday:
+ return startOfInterval(timeSaturday, date);
+ }
+}
+
+function endOfWeek(date: Date, weekStartsOn: DayOfWeek) {
+ switch (weekStartsOn) {
+ case DayOfWeek.Sunday:
+ return endOfInterval(timeWeek, date);
+ case DayOfWeek.Monday:
+ return endOfInterval(timeMonday, date);
+ case DayOfWeek.Tuesday:
+ return endOfInterval(timeTuesday, date);
+ case DayOfWeek.Wednesday:
+ return endOfInterval(timeWednesday, date);
+ case DayOfWeek.Thursday:
+ return endOfInterval(timeThursday, date);
+ case DayOfWeek.Friday:
+ return endOfInterval(timeFriday, date);
+ case DayOfWeek.Saturday:
+ return endOfInterval(timeSaturday, date);
+ }
}
export function getDateFuncsByPeriodType(
@@ -349,107 +349,101 @@ export function getDateFuncsByPeriodType(
switch (periodType) {
case PeriodType.Day:
return {
- start: startOfDay,
- end: endOfDay,
- add: addDays,
- difference: differenceInDays,
- isSame: isSameDay,
+ start: startOfInterval('day'),
+ end: endOfInterval('day'),
+ add: (date: Date, amount: number) => intervalOffset('day', date, amount),
+ difference: intervalDifference('day'),
+ isSame: isSameInterval('day'),
};
case PeriodType.Week:
case PeriodType.WeekSun:
return {
- start: startOfWeek,
- end: endOfWeek,
- add: addWeeks,
- difference: differenceInWeeks,
- isSame: isSameWeek,
+ start: startOfInterval(timeWeek),
+ end: endOfInterval(timeWeek),
+ add: (date: Date, amount: number) => intervalOffset('week', date, amount),
+ difference: intervalDifference(timeWeek),
+ isSame: isSameInterval(timeWeek),
};
case PeriodType.WeekMon:
return {
- start: (date: Date) => startOfWeek(date, { weekStartsOn: 1 }),
- end: (date: Date) => endOfWeek(date, { weekStartsOn: 1 }),
- add: addWeeks,
- difference: differenceInWeeks,
- isSame: (dateLeft: Date, dateRight: Date) =>
- isSameWeek(dateLeft, dateRight, { weekStartsOn: 1 }),
+ start: startOfInterval(timeMonday),
+ end: endOfInterval(timeMonday),
+ add: (date: Date, amount: number) => intervalOffset('week', date, amount),
+ difference: intervalDifference(timeMonday),
+ isSame: isSameInterval(timeMonday),
};
case PeriodType.WeekTue:
return {
- start: (date: Date) => startOfWeek(date, { weekStartsOn: 2 }),
- end: (date: Date) => endOfWeek(date, { weekStartsOn: 2 }),
- add: addWeeks,
- difference: differenceInWeeks,
- isSame: (dateLeft: Date, dateRight: Date) =>
- isSameWeek(dateLeft, dateRight, { weekStartsOn: 2 }),
+ start: startOfInterval(timeTuesday),
+ end: endOfInterval(timeTuesday),
+ add: (date: Date, amount: number) => intervalOffset('week', date, amount),
+ difference: intervalDifference(timeTuesday),
+ isSame: isSameInterval(timeTuesday),
};
case PeriodType.WeekWed:
return {
- start: (date: Date) => startOfWeek(date, { weekStartsOn: 3 }),
- end: (date: Date) => endOfWeek(date, { weekStartsOn: 3 }),
- add: addWeeks,
- difference: differenceInWeeks,
- isSame: (dateLeft: Date, dateRight: Date) =>
- isSameWeek(dateLeft, dateRight, { weekStartsOn: 3 }),
+ start: startOfInterval(timeWednesday),
+ end: endOfInterval(timeWednesday),
+ add: (date: Date, amount: number) => intervalOffset('week', date, amount),
+ difference: intervalDifference(timeWednesday),
+ isSame: isSameInterval(timeWednesday),
};
case PeriodType.WeekThu:
return {
- start: (date: Date) => startOfWeek(date, { weekStartsOn: 4 }),
- end: (date: Date) => endOfWeek(date, { weekStartsOn: 4 }),
- add: addWeeks,
- difference: differenceInWeeks,
- isSame: (dateLeft: Date, dateRight: Date) =>
- isSameWeek(dateLeft, dateRight, { weekStartsOn: 4 }),
+ start: startOfInterval(timeThursday),
+ end: endOfInterval(timeThursday),
+ add: (date: Date, amount: number) => intervalOffset('week', date, amount),
+ difference: intervalDifference(timeThursday),
+ isSame: isSameInterval(timeThursday),
};
case PeriodType.WeekFri:
return {
- start: (date: Date) => startOfWeek(date, { weekStartsOn: 5 }),
- end: (date: Date) => endOfWeek(date, { weekStartsOn: 5 }),
- add: addWeeks,
- difference: differenceInWeeks,
- isSame: (dateLeft: Date, dateRight: Date) =>
- isSameWeek(dateLeft, dateRight, { weekStartsOn: 5 }),
+ start: startOfInterval(timeFriday),
+ end: endOfInterval(timeFriday),
+ add: (date: Date, amount: number) => intervalOffset('week', date, amount),
+ difference: intervalDifference(timeFriday),
+ isSame: isSameInterval(timeFriday),
};
case PeriodType.WeekSat:
return {
- start: (date: Date) => startOfWeek(date, { weekStartsOn: 6 }),
- end: (date: Date) => endOfWeek(date, { weekStartsOn: 6 }),
- add: addWeeks,
- difference: differenceInWeeks,
- isSame: (dateLeft: Date, dateRight: Date) =>
- isSameWeek(dateLeft, dateRight, { weekStartsOn: 6 }),
+ start: startOfInterval(timeSaturday),
+ end: endOfInterval(timeSaturday),
+ add: (date: Date, amount: number) => intervalOffset('week', date, amount),
+ difference: intervalDifference(timeSaturday),
+ isSame: isSameInterval(timeSaturday),
};
case PeriodType.Month:
return {
- start: startOfMonth,
- end: endOfMonth,
- add: addMonths,
- difference: differenceInMonths,
- isSame: isSameMonth,
+ start: startOfInterval('month'),
+ end: endOfInterval('month'),
+ add: (date: Date, amount: number) => intervalOffset('month', date, amount),
+ difference: intervalDifference('month'),
+ isSame: isSameInterval('month'),
};
case PeriodType.Quarter:
return {
- start: startOfQuarter,
- end: endOfQuarter,
- add: addQuarters,
- difference: differenceInQuarters,
- isSame: isSameQuarter,
+ start: startOfInterval('quarter'),
+ end: endOfInterval('quarter'),
+ add: (date: Date, amount: number) => intervalOffset('quarter', date, amount),
+ difference: intervalDifference('quarter'),
+ isSame: isSameInterval('quarter'),
};
case PeriodType.CalendarYear:
return {
- start: startOfYear,
- end: endOfYear,
- add: addYears,
- difference: differenceInYears,
- isSame: isSameYear,
+ start: startOfInterval('year'),
+ end: endOfInterval('year'),
+ add: (date: Date, amount: number) => intervalOffset('year', date, amount),
+ difference: intervalDifference('year'),
+ isSame: isSameInterval('year'),
};
case PeriodType.FiscalYearOctober:
return {
start: startOfFiscalYear,
end: endOfFiscalYear,
- add: addYears,
- difference: differenceInYears,
+ add: (date: Date, amount: number) => intervalOffset('year', date, amount),
+ difference: intervalDifference('year'),
isSame: isSameFiscalYear,
};
@@ -476,12 +470,14 @@ export function getDateFuncsByPeriodType(
return {
start: (date: Date) => startOfBiWeek(date, week, dayOfWeek),
end: (date: Date) => endOfBiWeek(date, week, dayOfWeek),
- add: (date: Date, amount: number) => addWeeks(date, amount * 2),
+ add: (date: Date, amount: number) => intervalOffset('week', date, amount * 2),
difference: (dateLeft: Date, dateRight: Date) => {
- return differenceInWeeks(dateLeft, dateRight) / 2;
+ // TODO: Use interval based on start of bi-week (sunday, monday, etc)
+ return intervalDifference('week', dateLeft, dateRight) / 2;
},
isSame: (dateLeft: Date, dateRight: Date) => {
- return isSameDay(
+ return isSameInterval(
+ 'day',
startOfBiWeek(dateLeft, week, dayOfWeek),
startOfBiWeek(dateRight, week, dayOfWeek)
);
@@ -493,17 +489,21 @@ export function getDateFuncsByPeriodType(
case PeriodType.Custom:
case PeriodType.DayTime:
case PeriodType.TimeOnly:
+ case PeriodType.Hour:
+ case PeriodType.Minute:
+ case PeriodType.Second:
+ case PeriodType.Millisecond:
case PeriodType.MonthYear:
case null:
case undefined:
// Default to end of day if periodType == null, etc
return {
- start: startOfDay,
- end: endOfDay,
- add: addDays,
- difference: differenceInDays,
- isSame: isSameDay,
+ start: startOfInterval('day'),
+ end: endOfInterval('day'),
+ add: (date: Date, amount: number) => intervalOffset('day', date, amount),
+ difference: intervalDifference('day'),
+ isSame: isSameInterval('day'),
};
default:
@@ -511,21 +511,6 @@ export function getDateFuncsByPeriodType(
}
}
-export function formatISODate(
- date: Date | string | null | undefined,
- representation: 'complete' | 'date' | 'time' = 'complete'
-) {
- if (date == null) {
- return '';
- }
-
- if (typeof date === 'string') {
- date = parseISO(date);
- }
-
- return formatISO(date, { representation });
-}
-
export function formatIntl(
settings: LocaleSettings,
dt: Date,
@@ -639,22 +624,43 @@ function range(
) {
const start =
biWeek === undefined
- ? startOfWeek(date, { weekStartsOn })
+ ? startOfWeek(date, weekStartsOn)
: startOfBiWeek(date, biWeek, weekStartsOn);
const end =
- biWeek === undefined
- ? endOfWeek(date, { weekStartsOn })
- : endOfBiWeek(date, biWeek, weekStartsOn);
+ biWeek === undefined ? endOfWeek(date, weekStartsOn) : endOfBiWeek(date, biWeek, weekStartsOn);
return formatIntl(settings, start, formatToUse) + ' - ' + formatIntl(settings, end, formatToUse);
}
export function formatDate(
date: Date | string | null | undefined,
- periodType: PeriodType,
+ periodOrFormat: PeriodType | PeriodTypeCode | string,
options: FormatDateOptions = {}
): string {
- return formatDateWithLocale(defaultLocale, date, periodType, options);
+ if (typeof periodOrFormat === 'string' && !getPeriodTypeByCode(periodOrFormat as any)) {
+ if (!date) {
+ return '';
+ } else if (typeof date === 'string') {
+ // If periodOrFormat is string, treat as unicode/strftime format
+ date = parseDate(date);
+ }
+
+ let strftimeFormat = periodOrFormat;
+ if (!periodOrFormat.includes('%')) {
+ // Unicode format, convert to strftime format
+ strftimeFormat = convertUnicodeToStrftime(periodOrFormat);
+ // console.log({ periodOrFormat, strftimeFormat });
+ }
+
+ return timeFormat(strftimeFormat)(date);
+ }
+
+ return formatDateWithLocale(
+ defaultLocale,
+ date,
+ periodOrFormat as PeriodType | PeriodTypeCode,
+ options
+ );
}
export function updatePeriodTypeWithWeekStartsOn(
@@ -699,11 +705,11 @@ export function updatePeriodTypeWithWeekStartsOn(
export function formatDateWithLocale(
settings: LocaleSettings,
date: Date | string | null | undefined,
- periodType: PeriodType,
+ periodType: PeriodType | PeriodTypeCode,
options: FormatDateOptions = {}
): string {
if (typeof date === 'string') {
- date = parseISO(date);
+ date = parseDate(date);
}
// Handle 'Invalid Date'
@@ -714,7 +720,24 @@ export function formatDateWithLocale(
const weekStartsOn = options.weekStartsOn ?? settings.formats.dates.weekStartsOn;
- const { day, dayTime, timeOnly, week, month, monthsYear, year } = settings.formats.dates.presets;
+ const {
+ day,
+ dayTime,
+ timeOnly,
+ hour,
+ minute,
+ second,
+ millisecond,
+ week,
+ month,
+ monthsYear,
+ year,
+ } = settings.formats.dates.presets;
+
+ periodType =
+ typeof periodType === 'string'
+ ? getPeriodTypeByCode(periodType)
+ : ((periodType ?? PeriodType.Day) as PeriodType);
periodType = updatePeriodTypeWithWeekStartsOn(weekStartsOn, periodType) ?? periodType;
@@ -742,6 +765,18 @@ export function formatDateWithLocale(
case PeriodType.TimeOnly:
return formatIntl(settings, date, rv(timeOnly!)!);
+ case PeriodType.Hour:
+ return formatIntl(settings, date, rv(hour!)!);
+
+ case PeriodType.Minute:
+ return formatIntl(settings, date, rv(minute!)!);
+
+ case PeriodType.Second:
+ return formatIntl(settings, date, rv(second!)!);
+
+ case PeriodType.Millisecond:
+ return formatIntl(settings, date, rv(millisecond!)!);
+
case PeriodType.Week: //Should never happen, but to make types happy
case PeriodType.WeekSun:
return range(settings, date, 0, rv(week!)!);
@@ -766,8 +801,8 @@ export function formatDateWithLocale(
case PeriodType.Quarter:
return [
- formatIntl(settings, startOfQuarter(date), rv(month!)!),
- formatIntl(settings, endOfQuarter(date), rv(monthsYear!)!),
+ formatIntl(settings, startOfInterval('quarter', date), rv(month!)!),
+ formatIntl(settings, endOfInterval('quarter', date), rv(monthsYear!)!),
].join(' - ');
case PeriodType.CalendarYear:
@@ -810,7 +845,7 @@ export function formatDateWithLocale(
return range(settings, date, 6, rv(week!)!, 2);
default:
- return formatISO(date);
+ return date.toISOString();
// default:
// assertNever(periodType); // This will now report unhandled cases
}
@@ -867,15 +902,240 @@ export function randomDate(from: Date, to: Date) {
}
// '1982-03-30'
+// '1982-03-30T04:00'
+// '1982-03-30T04:00:00'
// '1982-03-30T11:25:59Z'
// '1982-03-30T11:25:59-04:00'
// '1982-03-30T11:25:59.123Z'
// '1982-03-30T11:25:59.1234567Z'
-const DATE_FORMAT = /^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(.\d+|)(Z|(-|\+)\d{2}:\d{2}))?$/;
+const DATE_FORMAT = /^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}(:\d{2}(\.\d+|)?(Z|(-|\+)\d{2}:\d{2}?)?)?)?$/;
/**
- * Determine if string is UTC (yyyy-mm-ddThh:mm:ssZ) or Offset (yyyy-mm-ddThh:mm:ss-ZZ:ZZ) or Date-only (yyyy-mm-dd) date string
+ * Determine if string is valid date string
+ * - Date-only (yyyy-mm-dd)
+ * - Date with time (yyyy-mm-ddThh:mm:ss)
+ * - Date with time and timezone (yyyy-mm-ddThh:mm:ssZ)
+ * - Date with time and offset (yyyy-mm-ddThh:mm:ss-ZZ:ZZ)
+ * - Date with time and 3 digit milliseconds (yyyy-mm-ddThh:mm:ss.sss) with or without timezone / offset
+ * - Date with time and 7 digit milliseconds (yyyy-mm-ddThh:mm:ss.sssssss) with or without timezone / offset
*/
export function isStringDate(value: string) {
return DATE_FORMAT.test(value);
}
+
+/**
+ * Determine if string is a date string with time (yyyy-mm-ddThh:mm:ss)
+ */
+export function isStringDateWithTime(value: string) {
+ return isStringDate(value) && value.includes('T');
+}
+
+/**
+ * Determine if string is a date string with time and timezone (yyyy-mm-ddThh:mm:ssZ) or Offset (yyyy-mm-ddThh:mm:ss-ZZ:ZZ)
+ */
+export function isStringDateWithTimezone(value: string) {
+ return isStringDateWithTime(value) && /Z$|[+-]\d{2}:\d{2}$/.test(value);
+}
+
+/** Parse a date string as a local Date if no timezone is specified
+ * @param dateStr - The date string to parse
+ * @param format - The format of the date string. If not provided, expects ISO 8601 format.
+ * - If provided, will use the format to parse the date string.
+ * - Supports Unicode or strftime date format strings, but will be converted to applicable strftime format before parsing.
+ * @returns A Date object
+ */
+export function parseDate(dateStr: string, format?: string) {
+ // If format is provided, use it to parse the date string
+ if (format) {
+ let strftimeFormat = format;
+ if (!format.includes('%')) {
+ // Unicode format, convert to strftime format
+ strftimeFormat = convertUnicodeToStrftime(format);
+ // console.log({ format, strftimeFormat });
+ }
+
+ return timeParse(strftimeFormat)(dateStr) ?? new Date('Invalid Date');
+ }
+
+ if (!isStringDate(dateStr)) return new Date('Invalid Date');
+
+ if (isStringDateWithTime(dateStr)) {
+ // Respect timezone. Also parses unqualified strings like '1982-03-30T04:00' as local date
+ return new Date(dateStr);
+ }
+
+ const [date, time] = dateStr.split('T');
+ const [year, month, day] = date.split('-').map(Number);
+
+ if (time) {
+ const [hour, minute, second] = time.split(':').map(Number);
+ return new Date(year, month - 1, day, hour, minute, second);
+ } else {
+ return new Date(year, month - 1, day);
+ }
+}
+
+/** Custom time interval for quarters */
+export const timeQuarter = d3TimeInterval(
+ // floor
+ (date) => {
+ date.setMonth(date.getMonth() - (date.getMonth() % 3), 1);
+ date.setHours(0, 0, 0, 0);
+ },
+ // offset
+ (date, step) => date.setMonth(date.getMonth() + step * 3, 1),
+ // count
+ (start, end) => (end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24 * 30 * 3),
+ // field
+ (date) => date.getMonth() // TODO: what should this be?
+);
+
+/** Get a time interval function by name */
+export function timeInterval(name: TimeIntervalType) {
+ switch (name) {
+ case 'millisecond':
+ return timeMillisecond;
+ case 'second':
+ return timeSecond;
+ case 'minute':
+ return timeMinute;
+ case 'hour':
+ return timeHour;
+ case 'day':
+ return timeDay;
+ case 'week':
+ return timeWeek;
+ case 'month':
+ return timeMonth;
+ case 'quarter':
+ return timeQuarter;
+ case 'year':
+ return timeYear;
+ }
+}
+
+/**
+ * Get the date at the start of the interval
+ * @param interval The time interval to use
+ * @param date Optional date to get start of interval for. If not provided, returns a function that takes a date.
+ * @returns Either a Date or a function that takes a date and returns a Date
+ */
+export function startOfInterval(interval: TimeInterval | TimeIntervalType, date: Date): Date;
+export function startOfInterval(interval: TimeInterval | TimeIntervalType): (date: Date) => Date;
+export function startOfInterval(
+ interval: TimeInterval | TimeIntervalType,
+ date?: Date
+): Date | ((date: Date) => Date) {
+ interval = typeof interval === 'string' ? timeInterval(interval) : interval;
+
+ if (date === undefined) {
+ return (date: Date) => new Date(interval.floor(date));
+ }
+
+ return new Date(interval.floor(date));
+}
+
+/**
+ * Get the date at the end of the interval
+ * Similar to `interval.ceil(date)` except:
+ * - returns end of day instead of start of next day
+ * - properly handles start of day (i.e. not return same date)
+ * @param interval The time interval to use
+ * @param date Optional date to get end of interval for. If not provided, returns a function that takes a date.
+ * @returns Either a Date or a function that takes a date and returns a Date
+ */
+export function endOfInterval(interval: TimeInterval | TimeIntervalType, date: Date): Date;
+export function endOfInterval(interval: TimeInterval | TimeIntervalType): (date: Date) => Date;
+export function endOfInterval(
+ interval: TimeInterval | TimeIntervalType,
+ date?: Date
+): Date | ((date: Date) => Date) {
+ interval = typeof interval === 'string' ? timeInterval(interval) : interval;
+
+ if (date === undefined) {
+ return (date: Date) => new Date(interval.offset(interval.floor(date), 1).getTime() - 1);
+ }
+
+ // Can not use `new Date(+interval.ceil(date) - 1)`; as `.ceil()` will return same date when start of the day (matching `.floor()`)
+ return new Date(interval.offset(interval.floor(date), 1).getTime() - 1);
+}
+
+/** Add or subtract an interval from a date */
+export function intervalOffset(
+ interval: TimeInterval | TimeIntervalType,
+ date: Date,
+ offset: number
+) {
+ interval = typeof interval === 'string' ? timeInterval(interval) : interval;
+ return interval.offset(date, offset);
+}
+
+/** Check if two dates are in the same interval (such as same day or month) */
+export function isSameInterval(
+ interval: TimeInterval | TimeIntervalType,
+ date1: Date,
+ date2: Date
+): boolean;
+export function isSameInterval(
+ interval: TimeInterval | TimeIntervalType
+): (date1: Date, date2: Date) => boolean;
+export function isSameInterval(
+ interval: TimeInterval | TimeIntervalType,
+ date1?: Date,
+ date2?: Date
+) {
+ interval = typeof interval === 'string' ? timeInterval(interval) : interval;
+
+ if (date1 === undefined || date2 === undefined) {
+ return (date1: Date, date2: Date) =>
+ interval.floor(date1).getTime() === interval.floor(date2).getTime();
+ }
+
+ return interval.floor(date1).getTime() === interval.floor(date2).getTime();
+}
+
+/** Get the number of intervals between two dates (based on boundaries crossed) */
+export function intervalDifference(
+ interval: CountableTimeInterval | TimeIntervalType,
+ date1: Date,
+ date2: Date
+): number;
+export function intervalDifference(
+ interval: CountableTimeInterval | TimeIntervalType
+): (date1: Date, date2: Date) => number;
+export function intervalDifference(
+ interval: CountableTimeInterval | TimeIntervalType,
+ date1?: Date,
+ date2?: Date
+) {
+ interval = typeof interval === 'string' ? timeInterval(interval) : interval;
+
+ if (date1 === undefined || date2 === undefined) {
+ return (date1: Date, date2: Date) => interval.count(date1, date2);
+ }
+
+ return interval.count(date1, date2);
+}
+
+/** Check if date is a leap year */
+export function isLeapYear(date: Date) {
+ return (
+ date.getFullYear() % 400 === 0 ||
+ (date.getFullYear() % 4 === 0 && date.getFullYear() % 100 !== 0)
+ );
+}
+
+/** Check if first date is before second date */
+export function isDateBefore(date1: Date, date2: Date) {
+ return date1.getTime() < date2.getTime();
+}
+
+/** Check if first date is after second date */
+export function isDateAfter(date1: Date, date2: Date) {
+ return date1.getTime() > date2.getTime();
+}
+
+/** Check if date is within interval */
+export function isDateWithin(date: Date, range: { start: Date; end: Date }) {
+ return date.getTime() >= range.start.getTime() && date.getTime() <= range.end.getTime();
+}
diff --git a/packages/utils/src/lib/dateInternal.ts b/packages/utils/src/lib/dateInternal.ts
index cbeaead..ec66912 100644
--- a/packages/utils/src/lib/dateInternal.ts
+++ b/packages/utils/src/lib/dateInternal.ts
@@ -10,3 +10,178 @@ export function getWeekStartsOnFromIntl(locales?: string): DayOfWeek {
const weekInfo = locale.weekInfo ?? locale.getWeekInfo?.();
return (weekInfo?.firstDay ?? 0) % 7; // (in Intl, sunday is 7 not 0, so we need to mod 7)
}
+
+/**
+ * Unicode to strftime format mapping
+ * Based on Unicode TR35 Date Field Symbol Table and POSIX strftime
+ * @see https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
+ * @see https://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html
+ */
+const unicodeToStrftime = {
+ // ===== YEAR =====
+ y: '%y', // 2-digit year (00-99)
+ yy: '%y', // 2-digit year with leading zero
+ yyyy: '%Y', // 4-digit year
+ Y: '%Y', // 4-digit year (short form)
+
+ // ===== MONTH =====
+ M: '%m', // Month as number (1-12, but strftime uses 01-12)
+ MM: '%m', // Month as 2-digit number (01-12)
+ MMM: '%b', // Abbreviated month name (Jan, Feb, etc.)
+ MMMM: '%B', // Full month name (January, February, etc.)
+ L: '%m', // Standalone month number (same as M in most cases)
+ LL: '%m', // Standalone month number, 2-digit
+ LLL: '%b', // Standalone abbreviated month name
+ LLLL: '%B', // Standalone full month name
+
+ // ===== WEEK =====
+ w: null, // ❌ Week of year (1-53) - no direct strftime equivalent
+ ww: null, // ❌ Week of year, 2-digit - no direct strftime equivalent
+ W: '%W', // Week of year (Monday as first day) - close match
+
+ // ===== DAY =====
+ d: '%d', // Day of month (1-31, but strftime uses 01-31)
+ dd: '%d', // Day of month, 2-digit (01-31)
+ D: '%j', // Day of year (1-366, but strftime uses 001-366)
+ DD: '%j', // Day of year, 2-digit - strftime always uses 3 digits
+ DDD: '%j', // Day of year, 3-digit (001-366)
+
+ // ===== WEEKDAY =====
+ E: '%a', // Abbreviated weekday name (Mon, Tue, etc.)
+ EE: '%a', // Abbreviated weekday name
+ EEE: '%a', // Abbreviated weekday name
+ EEEE: '%A', // Full weekday name (Monday, Tuesday, etc.)
+ EEEEE: null, // ❌ Narrow weekday name (M, T, W) - no strftime equivalent
+ EEEEEE: null, // ❌ Short weekday name - no strftime equivalent
+ e: '%u', // Local weekday number (1-7, Monday=1) - close match
+ ee: '%u', // Local weekday number, 2-digit
+ eee: '%a', // Local abbreviated weekday name
+ eeee: '%A', // Local full weekday name
+ c: '%u', // Standalone weekday number
+ cc: '%u', // Standalone weekday number, 2-digit
+ ccc: '%a', // Standalone abbreviated weekday name
+ cccc: '%A', // Standalone full weekday name
+
+ // ===== PERIOD (AM/PM) =====
+ a: '%p', // AM/PM
+ aa: '%p', // AM/PM
+ aaa: '%p', // AM/PM
+ aaaa: '%p', // AM/PM (long form, but strftime only has short)
+ aaaaa: null, // ❌ Narrow AM/PM (A/P) - no strftime equivalent
+
+ // ===== HOUR =====
+ h: '%I', // Hour in 12-hour format (1-12)
+ hh: '%I', // Hour in 12-hour format, 2-digit (01-12)
+ H: '%H', // Hour in 24-hour format (0-23)
+ HH: '%H', // Hour in 24-hour format, 2-digit (00-23)
+ K: null, // ❌ Hour in 12-hour format (0-11) - no direct strftime equivalent
+ KK: null, // ❌ Hour in 12-hour format, 2-digit (00-11) - no strftime equivalent
+ k: null, // ❌ Hour in 24-hour format (1-24) - no direct strftime equivalent
+ kk: null, // ❌ Hour in 24-hour format, 2-digit (01-24) - no strftime equivalent
+
+ // ===== MINUTE =====
+ m: '%M', // Minutes (0-59)
+ mm: '%M', // Minutes, 2-digit (00-59)
+
+ // ===== SECOND =====
+ s: '%S', // Seconds (0-59)
+ ss: '%S', // Seconds, 2-digit (00-59)
+ S: null, // ❌ Fractional seconds (1 digit) - no direct strftime equivalent
+ SS: null, // ❌ Fractional seconds (2 digits) - no direct strftime equivalent
+ SSS: null, // ❌ Fractional seconds (3 digits) - no direct strftime equivalent
+ A: null, // ❌ Milliseconds in day - no strftime equivalent
+
+ // ===== TIMEZONE =====
+ z: '%Z', // Timezone name (EST, PST, etc.)
+ zz: '%Z', // Timezone name
+ zzz: '%Z', // Timezone name
+ zzzz: '%Z', // Full timezone name
+ Z: '%z', // Timezone offset (+0000, -0500, etc.)
+ ZZ: '%z', // Timezone offset
+ ZZZ: '%z', // Timezone offset
+ ZZZZ: null, // ❌ GMT-relative timezone - partial strftime support
+ ZZZZZ: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+ O: null, // ❌ Localized GMT offset - no strftime equivalent
+ OOOO: null, // ❌ Full localized GMT offset - no strftime equivalent
+ v: null, // ❌ Generic timezone - no strftime equivalent
+ vvvv: null, // ❌ Generic timezone full - no strftime equivalent
+ V: null, // ❌ Timezone ID - no strftime equivalent
+ VV: null, // ❌ Timezone ID - no strftime equivalent
+ VVV: null, // ❌ Timezone exemplar city - no strftime equivalent
+ VVVV: null, // ❌ Generic location format - no strftime equivalent
+ X: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+ XX: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+ XXX: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+ XXXX: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+ XXXXX: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+ x: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+ xx: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+ xxx: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+ xxxx: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+ xxxxx: null, // ❌ ISO 8601 timezone - no direct strftime equivalent
+
+ // ===== QUARTER =====
+ Q: null, // ❌ Quarter (1-4) - no strftime equivalent
+ QQ: null, // ❌ Quarter, 2-digit (01-04) - no strftime equivalent
+ QQQ: null, // ❌ Abbreviated quarter (Q1, Q2, etc.) - no strftime equivalent
+ QQQQ: null, // ❌ Full quarter (1st quarter, etc.) - no strftime equivalent
+ QQQQQ: null, // ❌ Narrow quarter - no strftime equivalent
+ q: null, // ❌ Standalone quarter - no strftime equivalent
+ qq: null, // ❌ Standalone quarter, 2-digit - no strftime equivalent
+ qqq: null, // ❌ Standalone abbreviated quarter - no strftime equivalent
+ qqqq: null, // ❌ Standalone full quarter - no strftime equivalent
+ qqqqq: null, // ❌ Standalone narrow quarter - no strftime equivalent
+
+ // ===== ERA =====
+ G: null, // ❌ Era designator (AD, BC) - no strftime equivalent
+ GG: null, // ❌ Era designator - no strftime equivalent
+ GGG: null, // ❌ Era designator - no strftime equivalent
+ GGGG: null, // ❌ Era designator full - no strftime equivalent
+ GGGGG: null, // ❌ Era designator narrow - no strftime equivalent
+};
+
+/**
+ * Convert a Unicode format string to strftime format
+ * @param unicodeFormat - The Unicode format string to convert
+ * @returns The strftime format string
+ */
+export function convertUnicodeToStrftime(unicodeFormat: string) {
+ let result = '';
+ let i = 0;
+ let unsupportedPatterns = [];
+
+ while (i < unicodeFormat.length) {
+ let matched = false;
+
+ // Try to match the longest possible pattern starting at current position
+ for (let len = Math.min(5, unicodeFormat.length - i); len >= 1; len--) {
+ const pattern = unicodeFormat.substring(i, i + len);
+ if (pattern in unicodeToStrftime) {
+ const strftimeEquivalent = unicodeToStrftime[pattern as keyof typeof unicodeToStrftime];
+
+ if (strftimeEquivalent === null) {
+ unsupportedPatterns.push(pattern);
+ result += pattern; // Keep original if unsupported
+ } else {
+ result += strftimeEquivalent;
+ }
+
+ i += len;
+ matched = true;
+ break;
+ }
+ }
+
+ // If no pattern matched, copy the character as-is
+ if (!matched) {
+ result += unicodeFormat[i];
+ i++;
+ }
+ }
+
+ if (unsupportedPatterns.length > 0) {
+ console.warn('Unsupported patterns:', [...new Set(unsupportedPatterns)]);
+ }
+
+ return result;
+}
diff --git a/packages/utils/src/lib/dateRange.ts b/packages/utils/src/lib/dateRange.ts
index 8ef3fb6..ba89262 100644
--- a/packages/utils/src/lib/dateRange.ts
+++ b/packages/utils/src/lib/dateRange.ts
@@ -1,6 +1,12 @@
-import { startOfDay, isLeapYear, isAfter, isBefore, subYears } from 'date-fns';
-
-import { getDateFuncsByPeriodType, updatePeriodTypeWithWeekStartsOn } from './date.js';
+import {
+ getDateFuncsByPeriodType,
+ intervalOffset,
+ isLeapYear,
+ isDateAfter,
+ isDateBefore,
+ startOfInterval,
+ updatePeriodTypeWithWeekStartsOn,
+} from './date.js';
import { PeriodType } from './date_types.js';
import type { LocaleSettings } from './locale.js';
@@ -34,7 +40,7 @@ export function getDateRangePresets(
periodType: PeriodType
): { label: string; value: DateRange }[] {
let now = new Date();
- const today = startOfDay(now);
+ const today = startOfInterval('day', now);
if (settings) {
periodType =
@@ -201,12 +207,12 @@ export function getPreviousYearPeriodOffset(
// if year before reference date is a leap year and is before 2/29
const adjustForLeapYear = options?.referenceDate
? (isLeapYear(options?.referenceDate) &&
- isAfter(
+ isDateAfter(
options?.referenceDate,
new Date(options?.referenceDate.getFullYear(), /*Feb*/ 1, 28)
)) ||
- (isLeapYear(subYears(options?.referenceDate, 1)) &&
- isBefore(
+ (isLeapYear(intervalOffset('year', options?.referenceDate, -1)) &&
+ isDateBefore(
options?.referenceDate,
new Date(options?.referenceDate.getFullYear(), /*Feb*/ 1, 29)
))
@@ -269,7 +275,8 @@ export function getPeriodComparisonOffset(
switch (view) {
case 'prevPeriod':
const dateFuncs = getDateFuncsByPeriodType(settings, period.periodType);
- return dateFuncs.difference(period.from, period.to) - 1; // Difference counts full days, need additoinal offset
+ // return dateFuncs.difference(period.from, period.to) - 1; // Difference counts full days, need additional offset
+ return dateFuncs.difference(period.to, period.from); // Difference counts full days, need additional offset
case 'prevYear':
return getPreviousYearPeriodOffset(period.periodType, {
diff --git a/packages/utils/src/lib/date_types.ts b/packages/utils/src/lib/date_types.ts
index f10cfce..3b2885e 100644
--- a/packages/utils/src/lib/date_types.ts
+++ b/packages/utils/src/lib/date_types.ts
@@ -1,4 +1,5 @@
import type { DateRange } from './dateRange.js';
+import { ValueOf } from './typeHelpers.js';
export type SelectedDate = Date | Date[] | DateRange | null | undefined;
@@ -16,6 +17,10 @@ export enum PeriodType {
Day = 10,
DayTime = 11,
TimeOnly = 15,
+ Hour = 16,
+ Minute = 17,
+ Second = 18,
+ Millisecond = 19,
Week = 20, // will be replaced by WeekSun, WeekMon, etc depending on locale `weekStartsOn`
WeekSun = 21,
@@ -51,6 +56,63 @@ export enum PeriodType {
BiWeek2Sat = 87,
}
+export const periodTypeMappings = {
+ [PeriodType.Custom]: 'custom',
+ [PeriodType.Day]: 'day',
+ [PeriodType.DayTime]: 'daytime',
+ [PeriodType.TimeOnly]: 'time',
+ [PeriodType.Hour]: 'hour',
+ [PeriodType.Minute]: 'minute',
+ [PeriodType.Second]: 'second',
+ [PeriodType.Millisecond]: 'millisecond',
+
+ [PeriodType.WeekSun]: 'week-sun',
+ [PeriodType.WeekMon]: 'week-mon',
+ [PeriodType.WeekTue]: 'week-tue',
+ [PeriodType.WeekWed]: 'week-wed',
+ [PeriodType.WeekThu]: 'week-thu',
+ [PeriodType.WeekFri]: 'week-fri',
+ [PeriodType.WeekSat]: 'week-sat',
+ [PeriodType.Week]: 'week',
+
+ [PeriodType.Month]: 'month',
+ [PeriodType.MonthYear]: 'month-year',
+ [PeriodType.Quarter]: 'quarter',
+ [PeriodType.CalendarYear]: 'year',
+ [PeriodType.FiscalYearOctober]: 'fiscal-year-october',
+
+ [PeriodType.BiWeek1Sun]: 'biweek1-sun',
+ [PeriodType.BiWeek1Mon]: 'biweek1-mon',
+ [PeriodType.BiWeek1Tue]: 'biweek1-tue',
+ [PeriodType.BiWeek1Wed]: 'biweek1-wed',
+ [PeriodType.BiWeek1Thu]: 'biweek1-thu',
+ [PeriodType.BiWeek1Fri]: 'biweek1-fri',
+ [PeriodType.BiWeek1Sat]: 'biweek1-sat',
+ [PeriodType.BiWeek1]: 'biweek1',
+
+ [PeriodType.BiWeek2Sun]: 'biweek2-sun',
+ [PeriodType.BiWeek2Mon]: 'biweek2-mon',
+ [PeriodType.BiWeek2Tue]: 'biweek2-tue',
+ [PeriodType.BiWeek2Wed]: 'biweek2-wed',
+ [PeriodType.BiWeek2Thu]: 'biweek2-thu',
+ [PeriodType.BiWeek2Fri]: 'biweek2-fri',
+ [PeriodType.BiWeek2Sat]: 'biweek2-sat',
+ [PeriodType.BiWeek2]: 'biweek2',
+} as const;
+
+export type PeriodTypeCode = ValueOf;
+
+export type TimeIntervalType =
+ | 'millisecond'
+ | 'second'
+ | 'minute'
+ | 'hour'
+ | 'day'
+ | 'week'
+ | 'month'
+ | 'quarter'
+ | 'year';
+
export enum DayOfWeek {
Sunday = 0,
Monday = 1,
@@ -145,6 +207,10 @@ export interface FormatDateLocaleOptions {
day?: DateFormatVariantPreset;
dayTime?: DateFormatVariantPreset;
timeOnly?: DateFormatVariantPreset;
+ hour?: DateFormatVariantPreset;
+ minute?: DateFormatVariantPreset;
+ second?: DateFormatVariantPreset;
+ millisecond?: DateFormatVariantPreset;
week?: DateFormatVariantPreset;
month?: DateFormatVariantPreset;
monthsYear?: DateFormatVariantPreset;
diff --git a/packages/utils/src/lib/dictionary.ts b/packages/utils/src/lib/dictionary.ts
index 614d024..a2a8821 100644
--- a/packages/utils/src/lib/dictionary.ts
+++ b/packages/utils/src/lib/dictionary.ts
@@ -10,6 +10,10 @@ export type DictionaryMessagesOptions = {
Day?: string;
DayTime?: string;
Time?: string;
+ Hour?: string;
+ Minute?: string;
+ Second?: string;
+ Millisecond?: string;
Week?: string;
BiWeek?: string;
Month?: string;
diff --git a/packages/utils/src/lib/duration.test.ts b/packages/utils/src/lib/duration.test.ts
new file mode 100644
index 0000000..87bca71
--- /dev/null
+++ b/packages/utils/src/lib/duration.test.ts
@@ -0,0 +1,293 @@
+import { describe, it, expect, test } from 'vitest';
+
+import { Duration, DurationOption, DurationUnits } from './duration.js';
+import { intervalOffset } from './date.js';
+
+describe('Duration', () => {
+ it('default', () => {
+ const actual = new Duration();
+ expect(actual.years).equal(0);
+ expect(actual.days).equal(0);
+ expect(actual.hours).equal(0);
+ expect(actual.minutes).equal(0);
+ expect(actual.seconds).equal(0);
+ expect(actual.milliseconds).equal(0);
+ });
+
+ it('start/end range with strings', () => {
+ const actual = new Duration({ start: '2025-05-19', end: '2025-05-20' });
+ expect(actual.years).equal(0);
+ expect(actual.days).equal(1);
+ expect(actual.hours).equal(0);
+ expect(actual.minutes).equal(0);
+ expect(actual.seconds).equal(0);
+ expect(actual.milliseconds).equal(0);
+ });
+
+ it('start/end range with Date objects', () => {
+ const actual = new Duration({ start: new Date('2025-05-19'), end: new Date('2025-05-20') });
+ expect(actual.years).equal(0);
+ expect(actual.days).equal(1);
+ expect(actual.hours).equal(0);
+ expect(actual.minutes).equal(0);
+ expect(actual.seconds).equal(0);
+ expect(actual.milliseconds).equal(0);
+ });
+
+ it('start-only should use `now` for end', () => {
+ const start = intervalOffset('day', new Date(), -10);
+ const actual = new Duration({ start });
+ expect(actual.years).equal(0);
+ expect(actual.days).equal(10);
+ expect(actual.hours).equal(0);
+ expect(actual.minutes).equal(0);
+ expect(actual.seconds).equal(0);
+ // expect(actual.milliseconds).equal(0); // Ignoring just in case test timing is off
+ });
+
+ it('duration option', () => {
+ const actual = new Duration({ duration: { seconds: 10 } });
+ expect(actual.years).equal(0);
+ expect(actual.days).equal(0);
+ expect(actual.hours).equal(0);
+ expect(actual.minutes).equal(0);
+ expect(actual.seconds).equal(10);
+ expect(actual.milliseconds).equal(0);
+ });
+
+ it('duration option with carryover seconds', () => {
+ const actual = new Duration({ duration: { seconds: 90 } });
+ expect(actual.years).equal(0);
+ expect(actual.days).equal(0);
+ expect(actual.hours).equal(0);
+ expect(actual.minutes).equal(1);
+ expect(actual.seconds).equal(30);
+ expect(actual.milliseconds).equal(0);
+ });
+
+ it('duration option with carryover minutes', () => {
+ const actual = new Duration({ duration: { minutes: 90 } });
+ expect(actual.years).equal(0);
+ expect(actual.days).equal(0);
+ expect(actual.hours).equal(1);
+ expect(actual.minutes).equal(30);
+ expect(actual.seconds).equal(0);
+ expect(actual.milliseconds).equal(0);
+ });
+
+ it('duration option with carryover hours', () => {
+ const actual = new Duration({ duration: { hours: 30 } });
+ expect(actual.years).equal(0);
+ expect(actual.days).equal(1);
+ expect(actual.hours).equal(6);
+ expect(actual.minutes).equal(0);
+ expect(actual.seconds).equal(0);
+ expect(actual.milliseconds).equal(0);
+ });
+
+ it('duration comparison with explicit duration', () => {
+ const duration1 = new Duration({ duration: { seconds: 10 } });
+ const duration2 = new Duration({ duration: { seconds: 11 } });
+
+ expect(duration1 < duration2).equal(true);
+ expect(duration2 > duration1).equal(true);
+ expect(duration1 != duration2).equal(true);
+ });
+
+ it('duration comparison with dates', () => {
+ const duration1 = new Duration({ start: '2025-05-19', end: '2025-05-20' });
+ const duration2 = new Duration({ start: '2025-05-19', end: '2025-05-21' });
+
+ expect(duration1 < duration2).equal(true);
+ expect(duration2 > duration1).equal(true);
+ });
+
+ it('duration comparison with dates and duration', () => {
+ const duration = new Duration({ start: '2025-05-19', end: '2025-05-20' });
+
+ const durationSame = new Duration({ duration: { days: 1 } });
+ // TODO: Why is `valueOf()` not called implicitly?
+ // expect(duration == durationSame).equal(true);
+ expect(duration.valueOf() == durationSame.valueOf()).equal(true);
+
+ const durationMore = new Duration({ duration: { days: 2 } });
+ expect(duration < durationMore).equal(true);
+
+ const durationLess = new Duration({ duration: { hours: 3 } });
+ expect(duration > durationLess).equal(true);
+ });
+
+ it('toJSON', () => {
+ const duration = new Duration({
+ duration: { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ });
+ const json = duration.toJSON();
+ expect(json).eql({
+ years: 0,
+ days: 1,
+ hours: 2,
+ minutes: 3,
+ seconds: 4,
+ milliseconds: 5,
+ });
+ });
+
+ it('toJSON', () => {
+ const duration = new Duration({
+ duration: { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ });
+ const string = JSON.stringify(duration);
+ expect(string).eql('{"years":0,"days":1,"hours":2,"minutes":3,"seconds":4,"milliseconds":5}');
+ });
+
+ it('reconstruct from JSON', () => {
+ const duration = new Duration({
+ duration: { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ });
+ const json = JSON.parse(JSON.stringify(duration));
+ const duration2 = new Duration({ duration: json });
+
+ expect(duration2.years).equal(0);
+ expect(duration2.days).equal(1);
+ expect(duration2.hours).equal(2);
+ expect(duration2.minutes).equal(3);
+ expect(duration2.seconds).equal(4);
+ expect(duration2.milliseconds).equal(5);
+ });
+
+ describe('format', () => {
+ it('default', () => {
+ const duration = new Duration({
+ duration: { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ });
+ const actual = duration.format();
+ expect(actual).equal('1d 2h 3m 4s 5ms');
+ });
+
+ it('long variant', () => {
+ const duration = new Duration({
+ duration: { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ });
+ const actual = duration.format({ variant: 'long' });
+ expect(actual).equal('1 day and 2 hours and 3 minutes and 4 seconds and 5 milliseconds');
+ });
+
+ describe('options', () => {
+ test.each([
+ // Hour (normal, minUnits, fractional)
+ [{ days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 }, {}, '1d 2h 3m 4s 5ms'],
+ [
+ { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ { minUnits: DurationUnits.Hour },
+ '1d 2h',
+ ],
+ [
+ { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ { minUnits: DurationUnits.Hour, fractional: true },
+ '1d 2.05h',
+ ],
+ // Second (normal, minUnits, fractional)
+ [{ seconds: 1, milliseconds: 500 }, {}, '1s 500ms'],
+ [{ seconds: 1, milliseconds: 500 }, { minUnits: DurationUnits.Second }, '1s'],
+ [
+ { seconds: 1, milliseconds: 500 },
+ { minUnits: DurationUnits.Second, fractional: true },
+ '1.5s',
+ ],
+ // Total units
+ [{ days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 }, { totalUnits: 1 }, '1d'],
+ [
+ { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ { totalUnits: 2 },
+ '1d 2h',
+ ],
+ [
+ { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ { totalUnits: 3 },
+ '1d 2h 3m',
+ ],
+ [
+ { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ { totalUnits: 4 },
+ '1d 2h 3m 4s',
+ ],
+ [
+ { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ { totalUnits: 5 },
+ '1d 2h 3m 4s 5ms',
+ ],
+ // Total units with minUnits
+ [
+ { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ { totalUnits: 4, minUnits: DurationUnits.Minute },
+ '1d 2h 3m',
+ ],
+ [
+ { days: 0, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ { totalUnits: 4, minUnits: DurationUnits.Minute },
+ '2h 3m',
+ ],
+ // Total units with fractional
+ [
+ { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ { totalUnits: 1, fractional: true },
+ '1.08d',
+ ],
+ [
+ { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ { totalUnits: 4, minUnits: DurationUnits.Minute, fractional: true },
+ '1d 2h 3.07m',
+ ],
+ ] satisfies Array<[DurationOption, Parameters[0], string]>)(
+ 'new Duration({ duration: %s }).format(%s) => %s',
+ (_duration, options, expected) => {
+ const duration = new Duration({ duration: _duration });
+ const actual = duration.format(options);
+ expect(actual).equal(expected);
+ }
+ );
+ });
+
+ it('totalUnits', () => {
+ const duration = new Duration({
+ duration: { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ });
+ const actual = duration.format({ totalUnits: 3 });
+ expect(actual).equal('1d 2h 3m');
+ });
+ });
+
+ it('toString', () => {
+ const duration = new Duration({
+ duration: { days: 1, hours: 2, minutes: 3, seconds: 4, milliseconds: 5 },
+ });
+ const actual = duration.toString();
+ expect(actual).equal('1d 2h 3m 4s 5ms');
+ });
+
+ describe('toISOString', () => {
+ it('basic', () => {
+ const duration = new Duration({
+ duration: { years: 1, days: 2, hours: 3, minutes: 4, seconds: 5, milliseconds: 6 },
+ });
+ const actual = duration.toISOString();
+ expect(actual).equal('P1Y2DT3H4M5.6S');
+ });
+
+ it('years only', () => {
+ const duration = new Duration({
+ duration: { years: 1 },
+ });
+ const actual = duration.toISOString();
+ expect(actual).equal('P1Y');
+ });
+
+ it('hour only', () => {
+ const duration = new Duration({
+ duration: { hours: 1 },
+ });
+ const actual = duration.toISOString();
+ expect(actual).equal('PT1H');
+ });
+ });
+});
diff --git a/packages/utils/src/lib/duration.ts b/packages/utils/src/lib/duration.ts
index cf06969..0af10c4 100644
--- a/packages/utils/src/lib/duration.ts
+++ b/packages/utils/src/lib/duration.ts
@@ -1,12 +1,15 @@
-import { parseISO } from 'date-fns';
-
-export type Duration = {
- milliseconds: number;
- seconds: number;
- minutes: number;
- hours: number;
- days: number;
- years: number;
+import { parseDate } from './date.js';
+import { round } from './number.js';
+
+// TODO: Support months or weeks?
+
+export type DurationOption = {
+ milliseconds?: number;
+ seconds?: number;
+ minutes?: number;
+ hours?: number;
+ days?: number;
+ years?: number;
};
export enum DurationUnits {
@@ -17,137 +20,225 @@ export enum DurationUnits {
Second,
Millisecond,
}
-// export enum DurationUnits {
-// Millisecond = 1,
-// Second = 1000 * Millisecond,
-// Minute = 60 * Second,
-// Hour = 60 * Minute,
-// Day = 24 * Hour,
-// Year = 365 * Day,
-// }
-
-export function getDuration(
- start?: Date | string,
- end?: Date | string | null,
- duration?: Partial
-): Duration | null {
- const startDate = typeof start === 'string' ? parseISO(start) : start;
- const endDate = typeof end === 'string' ? parseISO(end) : end;
-
- const differenceInMs = startDate
- ? Math.abs(Number(endDate || new Date()) - Number(startDate))
- : undefined;
-
- if (!Number.isFinite(differenceInMs) && duration == null) {
- return null;
+
+export class Duration {
+ #milliseconds = 0;
+ #seconds = 0;
+ #minutes = 0;
+ #hours = 0;
+ #days = 0;
+ #years = 0;
+
+ constructor(
+ options: {
+ start?: Date | string;
+ end?: Date | string | null;
+ duration?: DurationOption;
+ } = {}
+ ) {
+ const startDate = typeof options.start === 'string' ? parseDate(options.start) : options.start;
+ const endDate = typeof options.end === 'string' ? parseDate(options.end) : options.end;
+
+ const differenceInMs = startDate
+ ? Math.abs(Number(endDate || new Date()) - Number(startDate))
+ : undefined;
+
+ if (!Number.isFinite(differenceInMs) && options.duration == null) {
+ return;
+ }
+
+ this.#milliseconds = options.duration?.milliseconds ?? differenceInMs ?? 0;
+ this.#seconds = options.duration?.seconds ?? 0;
+ this.#minutes = options.duration?.minutes ?? 0;
+ this.#hours = options.duration?.hours ?? 0;
+ this.#days = options.duration?.days ?? 0;
+ this.#years = options.duration?.years ?? 0;
+
+ if (this.#milliseconds >= 1000) {
+ const carrySeconds = (this.#milliseconds - (this.#milliseconds % 1000)) / 1000;
+ this.#seconds += carrySeconds;
+ this.#milliseconds = this.#milliseconds - carrySeconds * 1000;
+ }
+
+ if (this.#seconds >= 60) {
+ const carryMinutes = (this.#seconds - (this.#seconds % 60)) / 60;
+ this.#minutes += carryMinutes;
+ this.#seconds = this.#seconds - carryMinutes * 60;
+ }
+
+ if (this.#minutes >= 60) {
+ const carryHours = (this.#minutes - (this.#minutes % 60)) / 60;
+ this.#hours += carryHours;
+ this.#minutes = this.#minutes - carryHours * 60;
+ }
+
+ if (this.#hours >= 24) {
+ const carryDays = (this.#hours - (this.#hours % 24)) / 24;
+ this.#days += carryDays;
+ this.#hours = this.#hours - carryDays * 24;
+ }
+
+ if (this.#days >= 365) {
+ const carryYears = (this.#days - (this.#days % 365)) / 365;
+ this.#years += carryYears;
+ this.#days = this.#days - carryYears * 365;
+ }
}
- var milliseconds = duration?.milliseconds ?? differenceInMs ?? 0;
- var seconds = duration?.seconds ?? 0;
- var minutes = duration?.minutes ?? 0;
- var hours = duration?.hours ?? 0;
- var days = duration?.days ?? 0;
- var years = duration?.years ?? 0;
-
- if (milliseconds >= 1000) {
- const carrySeconds = (milliseconds - (milliseconds % 1000)) / 1000;
- seconds += carrySeconds;
- milliseconds = milliseconds - carrySeconds * 1000;
+ get years() {
+ return this.#years;
}
- if (seconds >= 60) {
- const carryMinutes = (seconds - (seconds % 60)) / 60;
- minutes += carryMinutes;
- seconds = seconds - carryMinutes * 60;
+ get days() {
+ return this.#days;
}
- if (minutes >= 60) {
- const carryHours = (minutes - (minutes % 60)) / 60;
- hours += carryHours;
- minutes = minutes - carryHours * 60;
+ get hours() {
+ return this.#hours;
}
- if (hours >= 24) {
- const carryDays = (hours - (hours % 24)) / 24;
- days += carryDays;
- hours = hours - carryDays * 24;
+ get minutes() {
+ return this.#minutes;
}
- if (days >= 365) {
- const carryYears = (days - (days % 365)) / 365;
- years += carryYears;
- days = days - carryYears * 365;
+ get seconds() {
+ return this.#seconds;
}
- return {
- milliseconds,
- seconds,
- minutes,
- hours,
- days,
- years,
- };
-}
+ get milliseconds() {
+ return this.#milliseconds;
+ }
-// See also: https://stackoverflow.com/questions/19700283/how-to-convert-time-milliseconds-to-hours-min-sec-format-in-javascript/33909506
-export function humanizeDuration(config: {
- start?: Date | string;
- end?: Date | string | null;
- duration?: Partial;
- minUnits?: DurationUnits;
- totalUnits?: number;
- variant?: 'short' | 'long';
-}) {
- const { start, end, minUnits, totalUnits = 99, variant = 'short' } = config;
-
- const duration = getDuration(start, end, config.duration);
-
- if (duration === null) {
- return 'unknown';
+ valueOf() {
+ return (
+ this.#milliseconds +
+ this.#seconds * 1000 +
+ this.#minutes * 60 * 1000 +
+ this.#hours * 60 * 60 * 1000 +
+ this.#days * 24 * 60 * 60 * 1000 +
+ this.#years * 365 * 24 * 60 * 60 * 1000
+ );
}
- var sentenceArr = [];
- var unitNames =
- variant === 'short'
- ? ['y', 'd', 'h', 'm', 's', 'ms']
- : ['years', 'days', 'hours', 'minutes', 'seconds', 'milliseconds'];
-
- var unitNums = [
- duration.years,
- duration.days,
- duration.hours,
- duration.minutes,
- duration.seconds,
- duration.milliseconds,
- ].filter((x, i) => i <= (minUnits ?? 99));
-
- // Combine unit numbers and names
- for (var i in unitNums) {
- if (sentenceArr.length >= totalUnits) {
- break;
- }
+ toJSON() {
+ return {
+ years: this.#years,
+ days: this.#days,
+ hours: this.#hours,
+ minutes: this.#minutes,
+ seconds: this.#seconds,
+ milliseconds: this.#milliseconds,
+ };
+ }
+
+ format(
+ options: {
+ minUnits?: DurationUnits;
+ totalUnits?: number;
+ fractional?: boolean;
+ variant?: 'short' | 'long';
+ } = {}
+ ) {
+ const { minUnits = 99, totalUnits = 99, fractional = false, variant = 'short' } = options;
+
+ let sentenceArr = [];
+
+ const unitNames =
+ variant === 'short'
+ ? ['y', 'd', 'h', 'm', 's', 'ms']
+ : ['years', 'days', 'hours', 'minutes', 'seconds', 'milliseconds'];
+
+ const unitValues = [
+ this.years,
+ this.days,
+ this.hours,
+ this.minutes,
+ this.seconds,
+ this.milliseconds,
+ ];
+
+ const filteredUnitValues = unitValues.filter((x, i) => i <= minUnits);
+
+ // Combine unit numbers and names
+ for (let [i, unitValue] of filteredUnitValues.entries()) {
+ if (sentenceArr.length >= totalUnits) {
+ break;
+ }
+
+ let unitName = unitNames[i];
+ const isLastUnit =
+ i === filteredUnitValues.length - 1 ||
+ (unitValue !== 0 && sentenceArr.length + 1 >= totalUnits);
+
+ if (fractional && isLastUnit) {
+ // Last unit, add fractional part of next unit
+ let fraction = 0;
+ switch (i) {
+ case DurationUnits.Millisecond:
+ // No more units
+ break;
+ case DurationUnits.Second:
+ unitValue += round(this.milliseconds / 1000, 2);
+ break;
+ case DurationUnits.Minute:
+ unitValue += round(this.seconds / 60, 2);
+ break;
+ case DurationUnits.Hour:
+ unitValue += round(this.minutes / 60, 2);
+ break;
+ case DurationUnits.Day:
+ unitValue += round(this.hours / 24, 2);
+ break;
+ case DurationUnits.Year:
+ unitValue += round(this.days / 365, 2);
+ break;
+ }
+ }
- const unitNum = unitNums[i];
- let unitName = unitNames[i];
-
- // Hide `0` values unless last unit (and none shown before)
- if (unitNum !== 0 || (sentenceArr.length === 0 && Number(i) === unitNums.length - 1)) {
- switch (variant) {
- case 'short':
- sentenceArr.push(unitNum + unitName);
- break;
-
- case 'long':
- if (unitNum === 1) {
- // Trim off plural `s`
- unitName = unitName.slice(0, -1);
- }
- sentenceArr.push(unitNum + ' ' + unitName);
- break;
+ // Hide `0` values unless last unit (and none shown before)
+ if (unitValue !== 0 || (sentenceArr.length === 0 && isLastUnit)) {
+ switch (variant) {
+ case 'short':
+ sentenceArr.push(unitValue + unitName);
+ break;
+
+ case 'long':
+ if (unitValue === 1) {
+ // Trim off plural `s`
+ unitName = unitName.slice(0, -1);
+ }
+ sentenceArr.push(unitValue + ' ' + unitName);
+ break;
+ }
}
}
+
+ const sentence = sentenceArr.join(variant === 'long' ? ' and ' : ' ');
+ return sentence;
+ }
+
+ toString() {
+ return this.format();
}
- const sentence = sentenceArr.join(variant === 'long' ? ' and ' : ' ');
- return sentence;
+ /**
+ * Returns the ISO 8601 duration string representation of the duration.
+ * @returns ISO 8601 duration string (e.g. "P3Y6M4DT12H30M5S")
+ * @see https://en.wikipedia.org/wiki/ISO_8601#Durations
+ */
+ toISOString() {
+ let str = 'P';
+ if (this.#years) str += this.#years + 'Y';
+ if (this.#days) str += this.#days + 'D';
+ if (this.#hours || this.#minutes || this.#seconds || this.#milliseconds) str += 'T';
+ if (this.#hours) str += this.#hours + 'H';
+ if (this.#minutes) str += this.#minutes + 'M';
+ if (this.#seconds || this.#milliseconds) {
+ str += this.#seconds;
+ if (this.#milliseconds) str += '.' + this.#milliseconds;
+ str += 'S';
+ }
+ if (str === 'P') str = 'PT0S'; // zero duration
+ return str;
+ }
}
diff --git a/packages/utils/src/lib/env.ts b/packages/utils/src/lib/env.ts
index e28458f..4b11a6f 100644
--- a/packages/utils/src/lib/env.ts
+++ b/packages/utils/src/lib/env.ts
@@ -2,3 +2,48 @@
// See: https://kit.svelte.dev/docs/packaging
export const browser = typeof window !== 'undefined';
export const ssr = typeof window === 'undefined';
+
+/**
+ * Get the operating system of the browser
+ */
+export function getOS() {
+ const userAgent = navigator.userAgent;
+
+ if (userAgent.includes('Mac')) {
+ return 'macOS';
+ } else if (userAgent.includes('Windows')) {
+ return 'Windows';
+ } else if (userAgent.includes('Linux')) {
+ return 'Linux';
+ } else if (userAgent.includes('iPhone') || userAgent.includes('iPad')) {
+ return 'iOS';
+ } else if (userAgent.includes('Android')) {
+ return 'Android';
+ }
+
+ return 'Unknown';
+}
+
+export function isMac() {
+ return getOS() === 'macOS';
+}
+export function isWindows() {
+ return getOS() === 'Windows';
+}
+export function isLinux() {
+ return getOS() === 'Linux';
+}
+export function isIOS() {
+ return getOS() === 'iOS';
+}
+export function isAndroid() {
+ return getOS() === 'Android';
+}
+
+export function getModifierSymbol() {
+ return isMac() ? '⌘' : 'Ctrl';
+}
+
+export function getModifierKey() {
+ return isMac() ? 'metaKey' : 'ctrlKey';
+}
diff --git a/packages/utils/src/lib/format.test.ts b/packages/utils/src/lib/format.test.ts
index 7017ac2..939c4ac 100644
--- a/packages/utils/src/lib/format.test.ts
+++ b/packages/utils/src/lib/format.test.ts
@@ -1,9 +1,9 @@
import { describe, it, expect } from 'vitest';
import { format } from './format.js';
+import { parseDate } from './date.js';
import { PeriodType } from './date_types.js';
-import { testDate } from './date.test.js';
-import { parseISO } from 'date-fns';
+import { testDate, testDateStr } from './date.test.js';
describe('format()', () => {
it('returns empty string for null', () => {
@@ -16,47 +16,136 @@ describe('format()', () => {
expect(actual).equal('');
});
- it('returns value as string for style "none"', () => {
- const actual = format(1234.5678, 'none');
- expect(actual).equal('1234.5678');
+ describe('format based on value type', () => {
+ it('integer', () => {
+ const actual = format(1234);
+ expect(actual).equal('1,234');
+ });
+ it('decimal', () => {
+ const actual = format(1234.5678);
+ expect(actual).equal('1,234.57');
+ });
+ it('date string', () => {
+ const actual = format(testDateStr);
+ expect(actual).equal('11/21/2023');
+ });
+ it('date', () => {
+ const actual = format(parseDate(testDateStr));
+ expect(actual).equal('11/21/2023');
+ });
+ it('string', () => {
+ const actual = format('hello');
+ expect(actual).equal('hello');
+ });
});
- // See `number.test.ts` for more number tests
- it('formats number with number format (integer)', () => {
- const actual = format(1234.5678, 'integer');
- expect(actual).equal('1,235');
- });
+ describe('formats number', () => {
+ // See `number.test.ts` for more number tests
+ it('returns original value as string for style "none"', () => {
+ const actual = format(1234.5678, 'none');
+ expect(actual).equal('1234.5678');
+ });
- // See `date.test.ts` for more date tests
- it('formats date with PeriodType format (date)', () => {
- const actual = format(testDate, PeriodType.Day);
- expect(actual).equal('11/21/2023');
- });
+ it('formats with "integer" type', () => {
+ const actual = format(1234.5678, 'integer');
+ expect(actual).equal('1,235');
+ });
- it('formats number with custom function', () => {
- const actual = format(1234.5678, (value) => Math.round(value).toString());
- expect(actual).equal('1235');
- });
+ it('formats with "integer" config with default options', () => {
+ const actual = format(1234.5678, { type: 'integer' });
+ expect(actual).equal('1,235');
+ });
- // Default format based on value type
- it('format based on value type (integer)', () => {
- const actual = format(1234);
- expect(actual).equal('1,234');
- });
- it('format based on value type (decimal)', () => {
- const actual = format(1234.5678);
- expect(actual).equal('1,234.57');
- });
- it('format based on value type (date string)', () => {
- const actual = format(testDate);
- expect(actual).equal('11/21/2023');
- });
- it('format based on value type (date)', () => {
- const actual = format(parseISO(testDate));
- expect(actual).equal('11/21/2023');
+ it('formats with "integer" config with extra options', () => {
+ const actual = format(1234.5678, {
+ type: 'integer',
+ options: { maximumSignificantDigits: 2 },
+ });
+ expect(actual).equal('1,200');
+ });
+
+ it('formats with "decimal" config with default options', () => {
+ const actual = format(1234.5678, { type: 'decimal' });
+ expect(actual).equal('1,234.57');
+ });
+
+ it('formats with "decimal" config with locale (es)', () => {
+ const actual = format(1234.5678, { type: 'decimal', locale: 'es' });
+ expect(actual).equal('1234,57');
+ });
+
+ it('formats with "decimal" config with locale (de)', () => {
+ const actual = format(1234.5678, { type: 'decimal', locale: 'de' });
+ expect(actual).equal('1.234,57');
+ });
+
+ it('formats with "decimal" config with extra options', () => {
+ const actual = format(1234.5678, { type: 'decimal', options: { fractionDigits: 3 } });
+ expect(actual).equal('1,234.568');
+ });
+
+ it('formats with "currency" config with default options', () => {
+ const actual = format(1234.5678, { type: 'currency' });
+ expect(actual).equal('$1,234.57');
+ });
+
+ it('formats with "currency" config with extra options (currency)', () => {
+ const actual = format(1234.5678, { type: 'currency', options: { currency: 'EUR' } });
+ expect(actual).equal('€1,234.57');
+ });
+
+ it('formats with "currency" config with extra options (compact notation)', () => {
+ const actual = format(1234.5678, {
+ type: 'currency',
+ options: { notation: 'compact' },
+ });
+ expect(actual).equal('$1.23K');
+ });
+
+ it('formats with "currency" config with extra options (compact notation with short display)', () => {
+ const actual = format(1234.5678, {
+ type: 'currency',
+ options: { notation: 'compact', maximumSignificantDigits: 2 },
+ });
+ expect(actual).equal('$1.2K');
+ });
+
+ it('formats with custom function', () => {
+ const actual = format(1234.5678, (value) => Math.round(value).toString());
+ expect(actual).equal('1235');
+ });
});
- it('format based on value type (string)', () => {
- const actual = format('hello');
- expect(actual).equal('hello');
+
+ describe('formats date', () => {
+ // See `date.test.ts` for more date tests
+ it('formats date with PeriodType (date)', () => {
+ const actual = format(testDate, PeriodType.Day);
+ expect(actual).equal('11/21/2023');
+ });
+
+ it('formats date with period type code (date)', () => {
+ const actual = format(testDate, 'day');
+ expect(actual).equal('11/21/2023');
+ });
+
+ it('formats date with config with default options', () => {
+ const actual = format(testDate, { type: 'day' });
+ expect(actual).equal('11/21/2023');
+ });
+
+ it('formats date with config with locale', () => {
+ const actual = format(testDate, { type: 'day', locale: 'es' });
+ expect(actual).equal('21/11/2023');
+ });
+
+ it('formats date with config with locale', () => {
+ const actual = format(testDate, { type: 'day', locale: 'de' });
+ expect(actual).equal('21.11.2023');
+ });
+
+ it('formats date with config with extra options', () => {
+ const actual = format(testDate, { type: 'day', options: { variant: 'short' } });
+ expect(actual).equal('11/21');
+ });
});
});
diff --git a/packages/utils/src/lib/format.ts b/packages/utils/src/lib/format.ts
index e3869cd..b3a005c 100644
--- a/packages/utils/src/lib/format.ts
+++ b/packages/utils/src/lib/format.ts
@@ -3,60 +3,160 @@ import {
getPeriodTypeNameWithLocale,
getDayOfWeekName,
isStringDate,
+ periodTypeMappings,
} from './date.js';
import { formatNumberWithLocale } from './number.js';
import type { FormatNumberOptions, FormatNumberStyle } from './number.js';
-import { defaultLocale, type LocaleSettings } from './locale.js';
-import { PeriodType, type FormatDateOptions, DayOfWeek } from './date_types.js';
+import { createLocaleSettings, defaultLocale, type LocaleSettings } from './locale.js';
+import {
+ PeriodType,
+ type FormatDateOptions,
+ DayOfWeek,
+ type PeriodTypeCode,
+} from './date_types.js';
-export type FormatType = FormatNumberStyle | PeriodType | CustomFormatter;
export type CustomFormatter = (value: any) => string;
+export type FormatType = FormatNumberStyle | PeriodType | PeriodTypeCode | CustomFormatter;
+export type FormatConfig =
+ | { type: FormatNumberStyle; options?: FormatNumberOptions }
+ | { type: PeriodType | PeriodTypeCode; options?: FormatDateOptions };
+
// re-export for convenience
-export type { FormatNumberStyle, PeriodType };
+export type { FormatNumberStyle, PeriodType, PeriodTypeCode };
/**
* Generic format which can handle Dates, Numbers, or custom format function
*/
export function format(value: null | undefined, format?: FormatType): string;
+export function format(value: null | undefined, config: { type: FormatType }): string;
+
+// number
export function format(
value: number,
format?: FormatNumberStyle | CustomFormatter,
- options?: FormatNumberOptions
+ options?: FormatNumberOptions,
+ locale?: string
): string;
+export function format(
+ value: number,
+ config: {
+ type: FormatNumberStyle | CustomFormatter;
+ options?: FormatNumberOptions;
+ locale?: string;
+ }
+): string;
+
+// Date
export function format(
value: string | Date,
- format?: PeriodType | CustomFormatter,
- options?: FormatDateOptions
+ format?: PeriodType | PeriodTypeCode | CustomFormatter,
+ options?: FormatDateOptions,
+ locale?: string
): string;
+export function format(
+ value: string | Date,
+ config: {
+ type: PeriodType | PeriodTypeCode | CustomFormatter;
+ options?: FormatDateOptions;
+ locale?: string;
+ }
+): string;
+
export function format(
value: any,
- format?: FormatType,
+ formatOrConfig?:
+ | FormatType
+ | { type: FormatType; options?: FormatNumberOptions | FormatDateOptions; locale?: string },
options?: FormatNumberOptions | FormatDateOptions
): any {
- return formatWithLocale(defaultLocale, value, format, options);
+ if (typeof formatOrConfig === 'object') {
+ const locale = formatOrConfig.locale
+ ? createLocaleSettings({ locale: formatOrConfig.locale })
+ : defaultLocale;
+ return formatWithLocale(locale, value, formatOrConfig.type, formatOrConfig.options);
+ }
+ return formatWithLocale(defaultLocale, value, formatOrConfig as FormatType, options);
}
+// null | undefined
export function formatWithLocale(
settings: LocaleSettings,
- value: any,
+ value: null | undefined,
format?: FormatType,
options?: FormatNumberOptions | FormatDateOptions
+): string;
+export function formatWithLocale(
+ settings: LocaleSettings,
+ value: null | undefined,
+ config: FormatConfig
+): string;
+
+// number
+export function formatWithLocale(
+ settings: LocaleSettings,
+ value: number,
+ format?: FormatNumberStyle | CustomFormatter,
+ options?: FormatNumberOptions
+): string;
+export function formatWithLocale(
+ settings: LocaleSettings,
+ value: number,
+ config: FormatConfig
+): string;
+
+// Date
+export function formatWithLocale(
+ settings: LocaleSettings,
+ value: string | Date,
+ format?: PeriodType | PeriodTypeCode | CustomFormatter,
+ options?: FormatDateOptions
+): string;
+export function formatWithLocale(
+ settings: LocaleSettings,
+ value: string | Date,
+ config: FormatConfig
+): string;
+
+export function formatWithLocale(
+ settings: LocaleSettings,
+ value: any,
+ formatOrConfig?: FormatType | FormatConfig,
+ options?: FormatNumberOptions | FormatDateOptions
) {
+ const format =
+ formatOrConfig && typeof formatOrConfig === 'object' && 'type' in formatOrConfig
+ ? formatOrConfig.type
+ : (formatOrConfig as FormatType);
+
+ const formatOptions =
+ formatOrConfig &&
+ typeof formatOrConfig === 'object' &&
+ 'type' in formatOrConfig &&
+ 'options' in formatOrConfig
+ ? formatOrConfig.options
+ : options;
+
if (typeof format === 'function') {
return format(value);
- } else if (value instanceof Date || isStringDate(value) || (format && format in PeriodType)) {
+ } else if (
+ value instanceof Date ||
+ isStringDate(value) ||
+ (format &&
+ (format in PeriodType ||
+ Object.values(periodTypeMappings).includes(format as PeriodTypeCode)))
+ ) {
return formatDateWithLocale(
settings,
value,
- (format ?? PeriodType.Day) as PeriodType,
- options as FormatDateOptions
+ format as PeriodType | PeriodTypeCode,
+ formatOptions as FormatDateOptions
);
} else if (typeof value === 'number') {
return formatNumberWithLocale(
settings,
value,
format as FormatNumberStyle,
- options as FormatNumberOptions
+ formatOptions as FormatNumberOptions
);
} else if (typeof value === 'string') {
// Keep original value if already string
@@ -76,7 +176,7 @@ export type FormatFunction = ((
) => string) &
((
value: Date | string | null | undefined,
- period: PeriodType,
+ period: PeriodType | PeriodTypeCode,
options?: FormatDateOptions
) => string);
@@ -91,7 +191,7 @@ export type FormatFunctions = FormatFunction & FormatFunctionProperties;
export function buildFormatters(settings: LocaleSettings): FormatFunctions {
const mainFormat = (
value: any,
- style: FormatNumberStyle | PeriodType,
+ style: FormatNumberStyle | PeriodType | PeriodTypeCode,
options?: FormatNumberOptions | FormatDateOptions
) => formatWithLocale(settings, value, style, options);
diff --git a/packages/utils/src/lib/index.ts b/packages/utils/src/lib/index.ts
index a7912b2..31f6a15 100644
--- a/packages/utils/src/lib/index.ts
+++ b/packages/utils/src/lib/index.ts
@@ -1,15 +1,30 @@
// top-level exports
export { flatten, unique, greatestAbs } from './array.js';
-export { formatDate, getDateFuncsByPeriodType } from './date.js';
+export {
+ formatDate,
+ parseDate,
+ timeInterval,
+ startOfInterval,
+ endOfInterval,
+ intervalOffset,
+ isSameInterval,
+ intervalDifference,
+ isLeapYear,
+ isDateBefore,
+ isDateAfter,
+ isDateWithin,
+ getDateFuncsByPeriodType,
+} from './date.js';
export { PeriodType, DayOfWeek, DateToken } from './date_types.js';
export * from './date_types.js';
export * from './dom.js';
-export { getDuration, humanizeDuration, DurationUnits } from './duration.js';
+export { Duration, DurationUnits } from './duration.js';
export * from './file.js';
export {
format,
formatWithLocale,
type FormatType,
+ type FormatConfig,
type FormatFunction,
type FormatFunctionProperties,
type FormatFunctions,
diff --git a/packages/utils/src/lib/json.ts b/packages/utils/src/lib/json.ts
index e65abd1..56d446d 100644
--- a/packages/utils/src/lib/json.ts
+++ b/packages/utils/src/lib/json.ts
@@ -1,5 +1,4 @@
-import { parseISO } from 'date-fns';
-import { isStringDate } from './date.js';
+import { isStringDate, parseDate } from './date.js';
/**
* JSON.stringify() with custom handling for `Map` and `Set`. To be used with `parse()`
@@ -43,7 +42,7 @@ export function parse(value: string): T {
*/
export function reviver(key: string, value: any) {
if (typeof value === 'string' && isStringDate(value)) {
- return parseISO(value);
+ return parseDate(value);
} else if (typeof value === 'object' && value !== null) {
if (value._type === 'Map') {
return new Map(value.value);
diff --git a/packages/utils/src/lib/locale.ts b/packages/utils/src/lib/locale.ts
index bb31963..b50a0e7 100644
--- a/packages/utils/src/lib/locale.ts
+++ b/packages/utils/src/lib/locale.ts
@@ -92,6 +92,10 @@ const defaultLocaleSettings: LocaleSettings = {
Day: 'Day',
DayTime: 'Day Time',
Time: 'Time',
+ Hour: 'Hour',
+ Minute: 'Minute',
+ Second: 'Second',
+ Millisecond: 'Millisecond',
Week: 'Week',
BiWeek: 'Bi-Week',
Month: 'Month',
@@ -195,6 +199,41 @@ const defaultLocaleSettings: LocaleSettings = {
DateToken.MiliSecond_3,
],
},
+ hour: {
+ short: [DateToken.Hour_numeric],
+ default: [DateToken.Hour_numeric],
+ long: [DateToken.Hour_2Digit],
+ },
+ minute: {
+ short: [DateToken.Hour_numeric, DateToken.Minute_numeric],
+ default: [DateToken.Hour_numeric, DateToken.Minute_numeric],
+ long: [DateToken.Hour_2Digit, DateToken.Minute_2Digit],
+ },
+ second: {
+ short: [DateToken.Hour_numeric, DateToken.Minute_numeric, DateToken.Second_numeric],
+ default: [DateToken.Hour_numeric, DateToken.Minute_numeric, DateToken.Second_numeric],
+ long: [DateToken.Hour_2Digit, DateToken.Minute_2Digit, DateToken.Second_2Digit],
+ },
+ millisecond: {
+ short: [
+ DateToken.Hour_numeric,
+ DateToken.Minute_numeric,
+ DateToken.Second_numeric,
+ DateToken.MiliSecond_3,
+ ],
+ default: [
+ DateToken.Hour_numeric,
+ DateToken.Minute_numeric,
+ DateToken.Second_numeric,
+ DateToken.MiliSecond_3,
+ ],
+ long: [
+ DateToken.Hour_2Digit,
+ DateToken.Minute_2Digit,
+ DateToken.Second_2Digit,
+ DateToken.MiliSecond_3,
+ ],
+ },
week: {
short: [DateToken.DayOfMonth_numeric, DateToken.Month_numeric],
@@ -203,8 +242,8 @@ const defaultLocaleSettings: LocaleSettings = {
},
month: {
short: DateToken.Month_short,
- default: DateToken.Month_short,
- long: DateToken.Month_long,
+ default: DateToken.Month_long,
+ long: [DateToken.Month_long, DateToken.Year_numeric],
},
monthsYear: {
short: [DateToken.Month_short, DateToken.Year_2Digit],
diff --git a/packages/utils/src/lib/number.test.ts b/packages/utils/src/lib/number.test.ts
index 8349551..01f1b00 100644
--- a/packages/utils/src/lib/number.test.ts
+++ b/packages/utils/src/lib/number.test.ts
@@ -4,22 +4,44 @@ import { clamp, formatNumber, formatNumberWithLocale, round, step } from './numb
import { createLocaleSettings } from './locale.js';
describe('clamp()', () => {
- it('no change', () => {
- const original = 15;
- const actual = clamp(original, 10, 20);
- expect(actual).equal(15);
- });
+ describe('number', () => {
+ it('no change', () => {
+ const original = 15;
+ const actual = clamp(original, 10, 20);
+ expect(actual).equal(15);
+ });
- it('clamp min', () => {
- const original = 5;
- const actual = clamp(original, 10, 20);
- expect(actual).equal(10);
+ it('clamp min', () => {
+ const original = 5;
+ const actual = clamp(original, 10, 20);
+ expect(actual).equal(10);
+ });
+
+ it('clamp max', () => {
+ const original = 25;
+ const actual = clamp(original, 10, 20);
+ expect(actual).equal(20);
+ });
});
- it('clamp max', () => {
- const original = 25;
- const actual = clamp(original, 10, 20);
- expect(actual).equal(20);
+ describe('Date', () => {
+ it('no change', () => {
+ const original = new Date(2020, 0, 15);
+ const actual = clamp(original, new Date(2020, 0, 10), new Date(2020, 0, 20));
+ expect(actual).toEqual(original);
+ });
+
+ it('clamp min', () => {
+ const original = new Date(2020, 0, 5);
+ const actual = clamp(original, new Date(2020, 0, 10), new Date(2020, 0, 20));
+ expect(actual).toEqual(new Date(2020, 0, 10));
+ });
+
+ it('clamp max', () => {
+ const original = new Date(2020, 0, 25);
+ const actual = clamp(original, new Date(2020, 0, 10), new Date(2020, 0, 20));
+ expect(actual).toEqual(new Date(2020, 0, 20));
+ });
});
});
diff --git a/packages/utils/src/lib/number.ts b/packages/utils/src/lib/number.ts
index a1b34ed..6b28029 100644
--- a/packages/utils/src/lib/number.ts
+++ b/packages/utils/src/lib/number.ts
@@ -118,9 +118,9 @@ export function formatNumberWithLocale(
}
/**
- * Clamps value within min and max
+ * Clamps value within min and max. Supports number and Date
*/
-export function clamp(value: number, min: number, max: number) {
+export function clamp(value: T, min: T, max: T) {
return value < min ? min : value > max ? max : value;
}
diff --git a/packages/utils/src/lib/object.test.ts b/packages/utils/src/lib/object.test.ts
index c4e0ac7..e479640 100644
--- a/packages/utils/src/lib/object.test.ts
+++ b/packages/utils/src/lib/object.test.ts
@@ -1,12 +1,12 @@
import { describe, it, expect } from 'vitest';
-import { addHours, subHours } from 'date-fns';
+import { intervalOffset } from './date.js';
import { expireObject, omit, omitNil, pick } from './object.js';
describe('expireObject', () => {
it('simple value not expired', () => {
const original = 123;
- const expiry = addHours(new Date(), 1);
+ const expiry = intervalOffset('hour', new Date(), 1);
const actual = expireObject(original, expiry);
expect(actual).equal(original);
@@ -14,7 +14,7 @@ describe('expireObject', () => {
it('simple value expired', () => {
const original = 123;
- const expiry = subHours(new Date(), 1);
+ const expiry = intervalOffset('hour', new Date(), -1);
const actual = expireObject(original, expiry);
expect(actual).toBeNull();
@@ -22,7 +22,7 @@ describe('expireObject', () => {
it('Date not expired', () => {
const original = new Date();
- const expiry = addHours(new Date(), 1);
+ const expiry = intervalOffset('hour', new Date(), 1);
const actual = expireObject(original, expiry);
expect(actual).equal(original);
@@ -30,7 +30,7 @@ describe('expireObject', () => {
it('Date expired', () => {
const original = new Date();
- const expiry = subHours(new Date(), 1);
+ const expiry = intervalOffset('hour', new Date(), -1);
const actual = expireObject(original, expiry);
expect(actual).toBeNull();
@@ -42,7 +42,7 @@ describe('expireObject', () => {
two: 2,
three: 3,
};
- const expiry = addHours(new Date(), 1);
+ const expiry = intervalOffset('hour', new Date(), 1);
const actual = expireObject(original, expiry);
expect(actual).equal(original);
@@ -54,7 +54,7 @@ describe('expireObject', () => {
two: 2,
three: 3,
};
- const expiry = subHours(new Date(), 1);
+ const expiry = intervalOffset('hour', new Date(), -1);
const actual = expireObject(original, expiry);
expect(actual).toBeNull();
@@ -67,7 +67,7 @@ describe('expireObject', () => {
three: 3,
};
const expiry = {
- two: subHours(new Date(), 1),
+ two: intervalOffset('hour', new Date(), -1),
};
const actual = expireObject(original, expiry);
@@ -89,9 +89,9 @@ describe('expireObject', () => {
three: 3,
};
const expiry = {
- one: subHours(new Date(), 3),
- two: addHours(new Date(), 1),
- $default: subHours(new Date(), 1),
+ one: intervalOffset('hour', new Date(), -3),
+ two: intervalOffset('hour', new Date(), 1),
+ $default: intervalOffset('hour', new Date(), -1),
};
const actual = expireObject(original, expiry);
@@ -112,9 +112,9 @@ describe('expireObject', () => {
three: 3,
};
const expiry = {
- one: subHours(new Date(), 3),
- two: addHours(new Date(), 1),
- four: subHours(new Date(), 1),
+ one: intervalOffset('hour', new Date(), -3),
+ two: intervalOffset('hour', new Date(), 1),
+ four: intervalOffset('hour', new Date(), -1),
};
const actual = expireObject(original, expiry);
@@ -139,8 +139,8 @@ describe('expireObject', () => {
three: 3,
};
const expiry = {
- one: subHours(new Date(), 3),
- two: addHours(new Date(), 1),
+ one: intervalOffset('hour', new Date(), -3),
+ two: intervalOffset('hour', new Date(), 1),
};
const actual = expireObject(original, expiry);
@@ -166,9 +166,9 @@ describe('expireObject', () => {
};
const expiry = {
one: {
- foo: subHours(new Date(), 3),
+ foo: intervalOffset('hour', new Date(), -3),
},
- two: addHours(new Date(), 1),
+ two: intervalOffset('hour', new Date(), 1),
};
const actual = expireObject(original, expiry);
@@ -188,8 +188,8 @@ describe('expireObject', () => {
it('removes $default expiry if expired', () => {
const expiry = {
- one: addHours(new Date(), 1),
- $default: subHours(new Date(), 1),
+ one: intervalOffset('hour', new Date(), 1),
+ $default: intervalOffset('hour', new Date(), -1),
};
// Test cleaning up expiry
diff --git a/packages/utils/src/lib/object.ts b/packages/utils/src/lib/object.ts
index fc28caf..6df031f 100644
--- a/packages/utils/src/lib/object.ts
+++ b/packages/utils/src/lib/object.ts
@@ -1,5 +1,6 @@
-import { get, camelCase, mergeWith } from 'lodash-es';
+import { get, mergeWith } from 'lodash-es';
import { entries, fromEntries, keys } from './typeHelpers.js';
+import { toCamelCase } from './string.js';
export function isLiteralObject(obj: any): obj is object {
return obj && typeof obj === 'object' && obj.constructor === Object;
@@ -11,7 +12,7 @@ export function isEmptyObject(obj: any) {
export function camelCaseKeys(obj: any) {
return keys(obj).reduce(
- (acc, key) => ((acc[camelCase(key ? String(key) : undefined)] = obj[key]), acc),
+ (acc, key) => ((acc[toCamelCase(key ? String(key) : '')] = obj[key]), acc),
{} as any
);
}
@@ -187,3 +188,23 @@ export function pick(obj: T, keys: string[]): Partial
export function keysByValues(obj: T): Record {
return fromEntries(entries(obj).map(([key, value]) => [String(value), key]));
}
+
+/**
+ * Map keys of an object
+ */
+export function mapKeys(
+ obj: T,
+ fn: (key: keyof T) => string
+): Record {
+ return fromEntries(entries(obj).map(([key, value]) => [fn(key), value]));
+}
+
+/**
+ * Map values of an object
+ */
+export function mapValues(
+ obj: T,
+ fn: (value: T[keyof T]) => V
+): Record {
+ return fromEntries(entries(obj).map(([key, value]) => [key, fn(value)])) as Record;
+}
diff --git a/packages/utils/src/lib/rollup.ts b/packages/utils/src/lib/rollup.ts
index c27f275..b35eeeb 100644
--- a/packages/utils/src/lib/rollup.ts
+++ b/packages/utils/src/lib/rollup.ts
@@ -1,5 +1,5 @@
import { rollup } from 'd3-array';
-import { get, isFunction } from 'lodash-es';
+import { get } from 'lodash-es';
export default function (
data: T[],
@@ -13,7 +13,7 @@ export default function (
// }
const keyFuncs = keys.map((key) => {
- if (isFunction(key)) {
+ if (typeof key === 'function') {
return key;
} else if (typeof key === 'string') {
return (d: any) => get(d, key) || emptyKey;
diff --git a/packages/utils/src/lib/routing.test.ts b/packages/utils/src/lib/routing.test.ts
index 3eb15b9..4591d9c 100644
--- a/packages/utils/src/lib/routing.test.ts
+++ b/packages/utils/src/lib/routing.test.ts
@@ -26,4 +26,10 @@ describe('isActive()', () => {
const path = '/foo';
expect(isActive(currentUrl, path)).false;
});
+
+ it('path should not match if not at beginning', () => {
+ const currentUrl = new URL('http://localhost/foo/bar');
+ const path = '/bar';
+ expect(isActive(currentUrl, path)).false;
+ });
});
diff --git a/packages/utils/src/lib/routing.ts b/packages/utils/src/lib/routing.ts
index d4f2b24..5f3f063 100644
--- a/packages/utils/src/lib/routing.ts
+++ b/packages/utils/src/lib/routing.ts
@@ -35,7 +35,7 @@ export function isActive(currentUrl: URL, path: string) {
// home must be direct match (otherwise matches all)
return currentUrl.pathname === path;
} else {
- // Matches full path next character is `/`
- return currentUrl.pathname.match(path + '($|\\/)') != null;
+ // Matches path at start of pathname, followed by end or slash
+ return currentUrl.pathname.match('^' + path + '($|\\/)') != null;
}
}
diff --git a/packages/utils/src/lib/string.test.ts b/packages/utils/src/lib/string.test.ts
index 24f4267..31b5667 100644
--- a/packages/utils/src/lib/string.test.ts
+++ b/packages/utils/src/lib/string.test.ts
@@ -1,17 +1,149 @@
-import { describe, it, expect } from 'vitest';
+import { describe, test, expect } from 'vitest';
-import { toTitleCase } from './string.js';
+import {
+ isUpperCase,
+ romanize,
+ toCamelCase,
+ toKebabCase,
+ toPascalCase,
+ toSnakeCase,
+ toTitleCase,
+ truncate,
+} from './string.js';
+
+describe('isUpperCase()', () => {
+ test.each([
+ ['A', true],
+ ['a', false],
+ ['THE QUICK BROWN FOX', true],
+ ['the quick brown fox', false],
+ ['The Quick Brown Fox', false],
+ ['The quick brown fox', false],
+ ])('isUpperCase(%s) => %s', (original, expected) => {
+ expect(isUpperCase(original)).equal(expected);
+ });
+});
describe('toTitleCase()', () => {
- it('basic', () => {
- const original = 'this is a test';
- const expected = 'This is a Test';
+ test.each([
+ ['A long time ago', 'A Long Time Ago'], // sentence
+ ['the quick brown fox', 'The Quick Brown Fox'], // lower case
+ ['THE QUICK BROWN FOX', 'The Quick Brown Fox'], // upper case
+ ['the_quick_brown_fox', 'The Quick Brown Fox'], // snake case
+ ['the-quick-brown-fox', 'The Quick Brown Fox'], // kebab case
+ ['theQuickBrownFox', 'The Quick Brown Fox'], // pascal case
+ ['the - quick * brown# fox', 'The Quick Brown Fox'], // punctuation
+ ])('toTitleCase(%s) => %s', (original, expected) => {
expect(toTitleCase(original)).equal(expected);
});
+});
- it('basic', () => {
- const original = 'A long time ago';
- const expected = 'A Long Time Ago';
- expect(toTitleCase(original)).equal(expected);
+describe('toCamelCase()', () => {
+ test.each([
+ ['the quick brown fox', 'theQuickBrownFox'], // lower case
+ ['the_quick_brown_fox', 'theQuickBrownFox'], // snake case
+ ['the-quick-brown-fox', 'theQuickBrownFox'], // kebab case
+ ['THE-QUICK-BROWN-FOX', 'theQuickBrownFox'], // snake case (all caps)
+ ['theQuickBrownFox', 'theQuickBrownFox'], // pascal case
+ ['thequickbrownfox', 'thequickbrownfox'], // lowercase
+ ['the - quick * brown# fox', 'theQuickBrownFox'], // punctuation
+ ['behold theQuickBrownFox', 'beholdTheQuickBrownFox'],
+ ['Behold theQuickBrownFox', 'beholdTheQuickBrownFox'],
+ ['The quick brown FOX', 'theQuickBrownFox'], // all caps words are camel-cased
+ ['theQUickBrownFox', 'theQUickBrownFox'], // all caps substrings >= 4 chars are camel-cased
+ ['theQUIckBrownFox', 'theQUIckBrownFox'],
+ ])('toCamelCase(%s) => %s', (original, expected) => {
+ expect(toCamelCase(original)).equal(expected);
+ });
+});
+
+describe('toSnakeCase()', () => {
+ test.each([
+ ['the quick brown fox', 'the_quick_brown_fox'], // lower case
+ ['the-quick-brown-fox', 'the_quick_brown_fox'], // kebab case
+ ['the_quick_brown_fox', 'the_quick_brown_fox'], // snake case
+ ['theQuickBrownFox', 'the_quick_brown_fox'], // pascal case
+ ['theQuickBrown Fox', 'the_quick_brown_fox'], // space separated words
+ ['thequickbrownfox', 'thequickbrownfox'], // no spaces
+ ['the - quick * brown# fox', 'the_quick_brown_fox'], // punctuation
+ ['theQUICKBrownFox', 'the_q_u_i_c_k_brown_fox'], // all caps words are snake-cased
+ ])('toSnakeCase(%s) => %s', (original, expected) => {
+ expect(toSnakeCase(original)).equal(expected);
+ });
+});
+
+describe('toKebabCase()', () => {
+ test.each([
+ ['the quick brown fox', 'the-quick-brown-fox'], // lower case
+ ['the-quick-brown-fox', 'the-quick-brown-fox'], // kebab case
+ ['the_quick_brown_fox', 'the-quick-brown-fox'], // snake case
+ ['theQuickBrownFox', 'the-quick-brown-fox'], // pascal case
+ ['theQuickBrown Fox', 'the-quick-brown-fox'], // space separated words
+ ['thequickbrownfox', 'thequickbrownfox'], // no spaces
+ ['the - quick * brown# fox', 'the-quick-brown-fox'], // punctuation
+ ['theQUICKBrownFox', 'the-q-u-i-c-k-brown-fox'], // all caps words are snake-cased
+ ])('toKebabCase(%s) => %s', (original, expected) => {
+ expect(toKebabCase(original)).equal(expected);
+ });
+});
+
+describe('toPascalCase()', () => {
+ test.each([
+ ['the quick brown fox', 'TheQuickBrownFox'], // lower case
+ ['the_quick_brown_fox', 'TheQuickBrownFox'], // snake case
+ ['the-quick-brown-fox', 'TheQuickBrownFox'], // kebab case
+ ['theQuickBrownFox', 'TheQuickBrownFox'], // pascal case
+ ['thequickbrownfox', 'Thequickbrownfox'], // lowercase
+ ['the - quick * brown# fox', 'TheQuickBrownFox'], // punctuation
+ ['theQUICKBrownFox', 'TheQUICKBrownFox'], // all caps words are pascal-cased
+ ])('toPascalCase(%s) => %s', (original, expected) => {
+ expect(toPascalCase(original)).equal(expected);
+ });
+});
+
+describe('romanize()', () => {
+ test.each([
+ [1, 'I'],
+ [2, 'II'],
+ [3, 'III'],
+ [4, 'IV'],
+ [5, 'V'],
+ [6, 'VI'],
+ [7, 'VII'],
+ [8, 'VIII'],
+ [9, 'IX'],
+ [10, 'X'],
+ [11, 'XI'],
+ [12, 'XII'],
+ [13, 'XIII'],
+ [14, 'XIV'],
+ [15, 'XV'],
+ [16, 'XVI'],
+ [17, 'XVII'],
+ [18, 'XVIII'],
+ [19, 'XIX'],
+ [20, 'XX'],
+ [40, 'XL'],
+ [49, 'XLIX'],
+ [50, 'L'],
+ [90, 'XC'],
+ [100, 'C'],
+ [400, 'CD'],
+ [500, 'D'],
+ [900, 'CM'],
+ [1000, 'M'],
+ ])('romanize(%s) => %s', (original, expected) => {
+ expect(romanize(original)).equal(expected);
+ });
+});
+
+describe('truncate()', () => {
+ test.each([
+ ['the quick brown fox', 9, undefined, 'the quick…'],
+ ['the quick brown fox', 15, undefined, 'the quick brown…'],
+ ['the quick brown fox', 15, 3, 'the quick br…fox'],
+ ['the quick brown fox', 9, Infinity, '…brown fox'],
+ ])('truncate(%s, %s) => %s', (original, totalChars, endChars, expected) => {
+ expect(truncate(original, totalChars, endChars)).equal(expected);
});
});
diff --git a/packages/utils/src/lib/string.ts b/packages/utils/src/lib/string.ts
index 303e6f7..a44dabf 100644
--- a/packages/utils/src/lib/string.ts
+++ b/packages/utils/src/lib/string.ts
@@ -1,53 +1,80 @@
import { entries } from './typeHelpers.js';
+// any combination of spaces and punctuation characters - http://stackoverflow.com/a/25575009
+const wordSeparatorsRegEx = /[\s\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~]+/;
+
+const uppercaseChars = '[A-Z\u00C0-\u00DC\u00D9-\u00DD]'; // includes accented characters
+const capitalsRegEx = new RegExp(uppercaseChars, 'g');
+const allCapitalsRegEx = new RegExp(`^${uppercaseChars}+$`);
+
+const camelCaseRegEx = /^[a-z\u00E0-\u00FCA-Z\u00C0-\u00DC][\d|a-z\u00E0-\u00FCA-Z\u00C0-\u00DC]*$/;
+
/**
* Check if str only contians upper case letters
*/
export function isUpperCase(str: string) {
- return /^[A-Z]*$/.test(str);
+ return /^[A-Z ]*$/.test(str);
}
/**
* Returns string with the first letter of each word converted to uppercase (and remainder as lowercase)
*/
export function toTitleCase(str: string, ignore = ['a', 'an', 'is', 'the']) {
- return str
- .toLowerCase()
- .split(' ')
+ const withSpaces = isUpperCase(str) ? str : str.replace(/([A-Z])/g, ' $1').trim();
+ return withSpaces
+ .split(wordSeparatorsRegEx)
.map((word, index) => {
- if (index > 0 && ignore.includes(word)) {
+ if (index !== 0 && ignore.includes(word)) {
return word;
} else {
- return word.charAt(0).toUpperCase() + word.slice(1);
+ return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
}
})
.join(' ');
}
-/**
- * Generates a unique Id, with prefix if provided
- */
-const idMap = new Map();
-export function uniqueId(prefix = '') {
- let id = (idMap.get(prefix) ?? 0) + 1;
- idMap.set(prefix, id);
- return prefix + id;
+/** Convert string to camel case */
+export function toCamelCase(str: string) {
+ const words = str.split(wordSeparatorsRegEx);
+ return words
+ .map((word, i) => {
+ if (word === '') {
+ return '';
+ }
+ const isCamelCase = camelCaseRegEx.test(word) && !allCapitalsRegEx.test(word);
+ let firstLetter = word[0];
+ firstLetter = i > 0 ? firstLetter.toUpperCase() : firstLetter.toLowerCase();
+ return firstLetter + (!isCamelCase ? word.slice(1).toLowerCase() : word.slice(1));
+ })
+ .join('');
}
-/**
- * Truncate text with option to keep a number of characters on end. Inserts ellipsis between parts
- */
-export function truncate(text: string, totalChars: number, endChars: number = 0) {
- endChars = Math.min(endChars, totalChars);
+/** Convert string to snake case */
+export function toSnakeCase(str: string) {
+ // Replace capitals with space + lower case equivalent for later parsing
+ return str
+ .replace(capitalsRegEx, (match) => ' ' + (match.toLowerCase() || match))
+ .split(wordSeparatorsRegEx)
+ .join('_');
+}
- const start = text.slice(0, totalChars - endChars);
- const end = endChars > 0 ? text.slice(-endChars) : '';
+/** Convert string to kebab case */
+export function toKebabCase(str: string) {
+ return str
+ .replace(capitalsRegEx, (match) => '-' + (match.toLowerCase() || match))
+ .split(wordSeparatorsRegEx)
+ .join('-');
+}
- if (start.length + end.length < text.length) {
- return start + '…' + end;
- } else {
- return text;
- }
+/** Convert string to pascal case */
+export function toPascalCase(str: string) {
+ return (
+ str
+ .split(wordSeparatorsRegEx)
+ .map((word) => word[0].toUpperCase() + word.slice(1))
+ // .map((word) => toTitleCase(word, []))
+ .join('')
+ );
}
/** Get the roman numeral for the given value */
@@ -79,3 +106,29 @@ export function romanize(value: number) {
return result;
}
+
+/**
+ * Truncate text with option to keep a number of characters on end. Inserts ellipsis between parts
+ */
+export function truncate(text: string, totalChars: number, endChars: number = 0) {
+ endChars = Math.min(endChars, totalChars);
+
+ const start = text.slice(0, totalChars - endChars);
+ const end = endChars > 0 ? text.slice(-endChars) : '';
+
+ if (start.length + end.length < text.length) {
+ return start + '…' + end;
+ } else {
+ return text;
+ }
+}
+
+/**
+ * Generates a unique Id, with prefix if provided
+ */
+const idMap = new Map();
+export function uniqueId(prefix = '') {
+ let id = (idMap.get(prefix) ?? 0) + 1;
+ idMap.set(prefix, id);
+ return prefix + id;
+}
diff --git a/packages/utils/src/lib/styles.ts b/packages/utils/src/lib/styles.ts
index 205d289..ef2e4d4 100644
--- a/packages/utils/src/lib/styles.ts
+++ b/packages/utils/src/lib/styles.ts
@@ -1,4 +1,5 @@
import { entries } from './typeHelpers.js';
+import { toKebabCase } from './string.js';
/**
* Convert object to style string
@@ -8,7 +9,7 @@ export function objectToString(styleObj: { [key: string]: string }) {
.map(([key, value]) => {
if (value) {
// Convert camelCase into kaboob-case (ex. (transformOrigin => transform-origin))
- const propertyName = key.replace(/([A-Z])/g, '-$1').toLowerCase();
+ const propertyName = toKebabCase(key);
return `${propertyName}: ${value};`;
} else {
return null;
diff --git a/packages/utils/src/lib/typeHelpers.ts b/packages/utils/src/lib/typeHelpers.ts
index b0df3d7..ebdcc33 100644
--- a/packages/utils/src/lib/typeHelpers.ts
+++ b/packages/utils/src/lib/typeHelpers.ts
@@ -1,16 +1,5 @@
// https://basarat.gitbooks.io/typescript/docs/types/never.html#use-case-exhaustive-checks
-// import type { colors } from '../styles/theme.js';
-// import type { ComponentProps as SvelteComponentProps, SvelteComponent } from 'svelte';
-// import type { derived, Readable } from 'svelte/store';
-// import type {
-// FlyParams,
-// SlideParams,
-// BlurParams,
-// FadeParams,
-// ScaleParams,
-// } from 'svelte/transition';
-
// https://www.typescriptlang.org/docs/handbook/basic-types.html#never
export function fail(message: string): never {
throw new Error(message);
@@ -28,9 +17,16 @@ export type Omit = Pick>;
*/
export type Merge = Omit> & N;
-// Get values of object (similar to Object.values())
+/**
+ * Get values of object (similar to Object.values())
+ */
export type ValueOf = T[keyof T];
+/**
+ * Nested Record type
+ */
+export type NestedRecord = { [key: string]: T | NestedRecord };
+
// Get keys of object (strongly-typed)
// Reason Object.keys() isn't like this by default due to runtime properties: https://github.com/Microsoft/TypeScript/pull/12253#issuecomment-263132208
export function keys(o: T) {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0ca9105..ac46037 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -24,84 +24,106 @@ importers:
packages/svelte-actions:
dependencies:
'@floating-ui/dom':
- specifier: ^1.6.13
- version: 1.6.13
+ specifier: ^1.7.0
+ version: 1.7.0
'@layerstack/utils':
specifier: workspace:*
version: link:../utils
- d3-array:
- specifier: ^3.2.4
- version: 3.2.4
d3-scale:
specifier: ^4.0.2
version: 4.0.2
- date-fns:
- specifier: ^4.1.0
- version: 4.1.0
- lodash-es:
- specifier: ^4.17.21
- version: 4.17.21
devDependencies:
'@sveltejs/package':
specifier: ^2.3.11
- version: 2.3.11(svelte@5.20.4)(typescript@5.7.3)
+ version: 2.3.11(svelte@5.28.6)(typescript@5.8.3)
'@sveltejs/vite-plugin-svelte':
specifier: ^5.0.3
- version: 5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
- '@types/d3-array':
- specifier: ^3.2.1
- version: 3.2.1
+ version: 5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
'@types/d3-scale':
specifier: ^4.0.9
version: 4.0.9
- '@types/lodash-es':
- specifier: ^4.17.12
- version: 4.17.12
- '@vitest/coverage-v8':
- specifier: ^3.0.7
- version: 3.0.7(vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
prettier:
- specifier: ^3.5.2
- version: 3.5.2
+ specifier: ^3.5.3
+ version: 3.5.3
prettier-plugin-svelte:
specifier: ^3.3.3
- version: 3.3.3(prettier@3.5.2)(svelte@5.20.4)
+ version: 3.3.3(prettier@3.5.3)(svelte@5.28.6)
rimraf:
specifier: 6.0.1
version: 6.0.1
svelte:
- specifier: ^5.20.4
- version: 5.20.4
+ specifier: ^5.28.2
+ version: 5.28.6
svelte-check:
- specifier: ^4.1.4
- version: 4.1.4(picomatch@4.0.2)(svelte@5.20.4)(typescript@5.7.3)
+ specifier: ^4.1.6
+ version: 4.1.7(picomatch@4.0.2)(svelte@5.28.6)(typescript@5.8.3)
svelte2tsx:
- specifier: ^0.7.34
- version: 0.7.34(svelte@5.20.4)(typescript@5.7.3)
+ specifier: ^0.7.36
+ version: 0.7.37(svelte@5.28.6)(typescript@5.8.3)
tslib:
specifier: ^2.8.1
version: 2.8.1
typescript:
- specifier: ^5.7.3
- version: 5.7.3
+ specifier: ^5.8.3
+ version: 5.8.3
vite:
specifier: ^6.3.5
- version: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
vitest:
specifier: ^3.1.3
- version: 3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 3.1.3(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
+
+ packages/svelte-state:
+ dependencies:
+ '@layerstack/utils':
+ specifier: workspace:*
+ version: link:../utils
+ devDependencies:
+ '@sveltejs/kit':
+ specifier: ^2.20.8
+ version: 2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
+ '@sveltejs/package':
+ specifier: ^2.3.11
+ version: 2.3.11(svelte@5.28.6)(typescript@5.8.3)
+ '@sveltejs/vite-plugin-svelte':
+ specifier: ^5.0.3
+ version: 5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
+ prettier:
+ specifier: ^3.5.3
+ version: 3.5.3
+ prettier-plugin-svelte:
+ specifier: ^3.3.3
+ version: 3.3.3(prettier@3.5.3)(svelte@5.28.6)
+ rimraf:
+ specifier: 6.0.1
+ version: 6.0.1
+ svelte:
+ specifier: ^5.28.2
+ version: 5.28.6
+ svelte-check:
+ specifier: ^4.1.6
+ version: 4.1.7(picomatch@4.0.2)(svelte@5.28.6)(typescript@5.8.3)
+ svelte2tsx:
+ specifier: ^0.7.36
+ version: 0.7.37(svelte@5.28.6)(typescript@5.8.3)
+ tslib:
+ specifier: ^2.8.1
+ version: 2.8.1
+ typescript:
+ specifier: ^5.8.3
+ version: 5.8.3
+ vite:
+ specifier: ^6.3.4
+ version: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
+ vitest:
+ specifier: ^3.1.2
+ version: 3.1.3(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
packages/svelte-stores:
dependencies:
'@layerstack/utils':
specifier: workspace:*
version: link:../utils
- d3-array:
- specifier: ^3.2.4
- version: 3.2.4
- date-fns:
- specifier: ^4.1.0
- version: 4.1.0
immer:
specifier: ^10.1.1
version: 10.1.1
@@ -109,57 +131,51 @@ importers:
specifier: ^4.17.21
version: 4.17.21
zod:
- specifier: ^3.24.2
- version: 3.24.2
+ specifier: ^3.24.3
+ version: 3.24.4
devDependencies:
'@sveltejs/kit':
specifier: ^2.21.0
- version: 2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)))(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ version: 2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
'@sveltejs/package':
specifier: ^2.3.11
- version: 2.3.11(svelte@5.20.4)(typescript@5.7.3)
+ version: 2.3.11(svelte@5.28.6)(typescript@5.8.3)
'@sveltejs/vite-plugin-svelte':
specifier: ^5.0.3
- version: 5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
- '@types/d3-array':
- specifier: ^3.2.1
- version: 3.2.1
+ version: 5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
- '@vitest/coverage-v8':
- specifier: ^3.0.7
- version: 3.0.7(vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
prettier:
- specifier: ^3.5.2
- version: 3.5.2
+ specifier: ^3.5.3
+ version: 3.5.3
prettier-plugin-svelte:
specifier: ^3.3.3
- version: 3.3.3(prettier@3.5.2)(svelte@5.20.4)
+ version: 3.3.3(prettier@3.5.3)(svelte@5.28.6)
rimraf:
specifier: 6.0.1
version: 6.0.1
svelte:
- specifier: ^5.20.4
- version: 5.20.4
+ specifier: ^5.28.2
+ version: 5.28.6
svelte-check:
- specifier: ^4.1.4
- version: 4.1.4(picomatch@4.0.2)(svelte@5.20.4)(typescript@5.7.3)
+ specifier: ^4.1.6
+ version: 4.1.7(picomatch@4.0.2)(svelte@5.28.6)(typescript@5.8.3)
svelte2tsx:
- specifier: ^0.7.34
- version: 0.7.34(svelte@5.20.4)(typescript@5.7.3)
+ specifier: ^0.7.36
+ version: 0.7.37(svelte@5.28.6)(typescript@5.8.3)
tslib:
specifier: ^2.8.1
version: 2.8.1
typescript:
- specifier: ^5.7.3
- version: 5.7.3
+ specifier: ^5.8.3
+ version: 5.8.3
vite:
specifier: ^6.3.5
- version: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
vitest:
specifier: ^3.1.3
- version: 3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 3.1.3(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
packages/svelte-table:
dependencies:
@@ -172,58 +188,52 @@ importers:
d3-array:
specifier: ^3.2.4
version: 3.2.4
- date-fns:
- specifier: ^4.1.0
- version: 4.1.0
lodash-es:
specifier: ^4.17.21
version: 4.17.21
devDependencies:
'@sveltejs/package':
specifier: ^2.3.11
- version: 2.3.11(svelte@5.20.4)(typescript@5.7.3)
+ version: 2.3.11(svelte@5.28.6)(typescript@5.8.3)
'@sveltejs/vite-plugin-svelte':
specifier: ^5.0.3
- version: 5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ version: 5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
'@types/d3-array':
specifier: ^3.2.1
version: 3.2.1
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
- '@vitest/coverage-v8':
- specifier: ^3.0.7
- version: 3.0.7(vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
prettier:
- specifier: ^3.5.2
- version: 3.5.2
+ specifier: ^3.5.3
+ version: 3.5.3
prettier-plugin-svelte:
specifier: ^3.3.3
- version: 3.3.3(prettier@3.5.2)(svelte@5.20.4)
+ version: 3.3.3(prettier@3.5.3)(svelte@5.28.6)
rimraf:
specifier: 6.0.1
version: 6.0.1
svelte:
- specifier: ^5.20.4
- version: 5.20.4
+ specifier: ^5.28.2
+ version: 5.28.6
svelte-check:
- specifier: ^4.1.4
- version: 4.1.4(picomatch@4.0.2)(svelte@5.20.4)(typescript@5.7.3)
+ specifier: ^4.1.6
+ version: 4.1.7(picomatch@4.0.2)(svelte@5.28.6)(typescript@5.8.3)
svelte2tsx:
- specifier: ^0.7.34
- version: 0.7.34(svelte@5.20.4)(typescript@5.7.3)
+ specifier: ^0.7.36
+ version: 0.7.37(svelte@5.28.6)(typescript@5.8.3)
tslib:
specifier: ^2.8.1
version: 2.8.1
typescript:
- specifier: ^5.7.3
- version: 5.7.3
+ specifier: ^5.8.3
+ version: 5.8.3
vite:
specifier: ^6.3.5
- version: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
vitest:
specifier: ^3.1.3
- version: 3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 3.1.3(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
packages/tailwind:
dependencies:
@@ -233,31 +243,22 @@ importers:
clsx:
specifier: ^2.1.1
version: 2.1.1
- culori:
- specifier: ^4.0.1
- version: 4.0.1
d3-array:
specifier: ^3.2.4
version: 3.2.4
- date-fns:
- specifier: ^4.1.0
- version: 4.1.0
lodash-es:
specifier: ^4.17.21
version: 4.17.21
tailwind-merge:
- specifier: ^2.5.4
- version: 2.5.4
- tailwindcss:
- specifier: ^3.4.15
- version: 3.4.15
+ specifier: ^3.2.0
+ version: 3.3.0
devDependencies:
'@skeletonlabs/tw-plugin':
specifier: ^0.4.1
- version: 0.4.1(tailwindcss@3.4.15)
+ version: 0.4.1(tailwindcss@4.1.6)
'@sveltejs/package':
specifier: ^2.3.11
- version: 2.3.11(svelte@5.28.6)(typescript@5.7.3)
+ version: 2.3.11(svelte@5.28.6)(typescript@5.8.3)
'@types/culori':
specifier: ^2.1.1
version: 2.1.1
@@ -267,34 +268,49 @@ importers:
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
+ '@types/node':
+ specifier: ^24.0.1
+ version: 24.0.1
+ culori:
+ specifier: ^4.0.1
+ version: 4.0.1
daisyui:
specifier: ^4.12.24
- version: 4.12.24(postcss@8.4.49)
+ version: 4.12.24(postcss@8.5.3)
prettier:
- specifier: ^3.5.2
- version: 3.5.2
+ specifier: ^3.5.3
+ version: 3.5.3
rimraf:
specifier: 6.0.1
version: 6.0.1
+ tailwindcss:
+ specifier: ^4.1.5
+ version: 4.1.6
tslib:
specifier: ^2.8.1
version: 2.8.1
+ tsx:
+ specifier: ^4.19.4
+ version: 4.19.4
typescript:
- specifier: ^5.7.3
- version: 5.7.3
+ specifier: ^5.8.3
+ version: 5.8.3
vite:
specifier: ^6.3.5
- version: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
vitest:
specifier: ^3.1.3
- version: 3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 3.1.3(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
packages/utils:
dependencies:
d3-array:
specifier: ^3.2.4
version: 3.2.4
- date-fns:
+ d3-time:
+ specifier: ^3.1.0
+ version: 3.1.0
+ d3-time-format:
specifier: ^4.1.0
version: 4.1.0
lodash-es:
@@ -303,49 +319,49 @@ importers:
devDependencies:
'@sveltejs/package':
specifier: ^2.3.11
- version: 2.3.11(svelte@5.20.4)(typescript@5.7.3)
+ version: 2.3.11(svelte@5.28.6)(typescript@5.8.3)
'@sveltejs/vite-plugin-svelte':
specifier: ^5.0.3
- version: 5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ version: 5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
'@types/d3-array':
specifier: ^3.2.1
version: 3.2.1
+ '@types/d3-time':
+ specifier: ^3.0.4
+ version: 3.0.4
+ '@types/d3-time-format':
+ specifier: ^4.0.3
+ version: 4.0.3
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
- '@vitest/coverage-v8':
- specifier: ^3.0.7
- version: 3.0.7(vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
prettier:
- specifier: ^3.5.2
- version: 3.5.2
+ specifier: ^3.5.3
+ version: 3.5.3
prettier-plugin-svelte:
specifier: ^3.3.3
- version: 3.3.3(prettier@3.5.2)(svelte@5.20.4)
+ version: 3.3.3(prettier@3.5.3)(svelte@5.28.6)
rimraf:
specifier: 6.0.1
version: 6.0.1
svelte:
- specifier: ^5.20.4
- version: 5.20.4
- svelte-check:
- specifier: ^4.1.4
- version: 4.1.4(picomatch@4.0.2)(svelte@5.20.4)(typescript@5.7.3)
+ specifier: ^5.28.2
+ version: 5.28.6
svelte2tsx:
- specifier: ^0.7.34
- version: 0.7.34(svelte@5.20.4)(typescript@5.7.3)
+ specifier: ^0.7.36
+ version: 0.7.37(svelte@5.28.6)(typescript@5.8.3)
tslib:
specifier: ^2.8.1
version: 2.8.1
typescript:
- specifier: ^5.7.3
- version: 5.7.3
+ specifier: ^5.8.3
+ version: 5.8.3
vite:
specifier: ^6.3.5
- version: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
vitest:
specifier: ^3.1.3
- version: 3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 3.1.3(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
sites/docs:
dependencies:
@@ -355,6 +371,9 @@ importers:
'@layerstack/svelte-actions':
specifier: workspace:*
version: link:../../packages/svelte-actions
+ '@layerstack/svelte-state':
+ specifier: workspace:*
+ version: link:../../packages/svelte-state
'@layerstack/svelte-stores':
specifier: workspace:*
version: link:../../packages/svelte-stores
@@ -376,12 +395,6 @@ importers:
d3-array:
specifier: ^3.2.4
version: 3.2.4
- date-fns:
- specifier: ^4.1.0
- version: 4.1.0
- lodash-es:
- specifier: ^4.17.21
- version: 4.17.21
prism-svelte:
specifier: ^0.5.0
version: 0.5.0
@@ -389,14 +402,14 @@ importers:
specifier: ^1.9.0
version: 1.9.0
prismjs:
- specifier: ^1.29.0
- version: 1.29.0
+ specifier: ^1.30.0
+ version: 1.30.0
sveld:
specifier: ^0.22.1
- version: 0.22.1(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.7.1))(postcss@8.5.3)
+ version: 0.22.1(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1))(postcss@8.5.3)
tailwind-merge:
- specifier: ^2.5.4
- version: 2.5.4
+ specifier: ^3.2.0
+ version: 3.3.0
devDependencies:
'@changesets/cli':
specifier: ^2.29.4
@@ -404,114 +417,98 @@ importers:
'@fortawesome/free-solid-svg-icons':
specifier: ^6.7.2
version: 6.7.2
+ '@iconify-json/lucide':
+ specifier: ^1.2.53
+ version: 1.2.53
'@sveltejs/adapter-cloudflare':
specifier: ^7.0.3
- version: 7.0.3(@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)))(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)))(wrangler@4.14.4(@cloudflare/workers-types@4.20250514.0))
+ version: 7.0.3(@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(wrangler@4.14.4(@cloudflare/workers-types@4.20250514.0))
'@sveltejs/kit':
specifier: ^2.21.0
- version: 2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)))(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ version: 2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
'@sveltejs/package':
specifier: ^2.3.11
- version: 2.3.11(svelte@5.20.4)(typescript@5.7.3)
+ version: 2.3.11(svelte@5.28.6)(typescript@5.8.3)
'@sveltejs/vite-plugin-svelte':
specifier: ^5.0.3
- version: 5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ version: 5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
'@tailwindcss/typography':
specifier: ^0.5.16
- version: 0.5.16(tailwindcss@3.4.15)
+ version: 0.5.16(tailwindcss@4.1.6)
+ '@tailwindcss/vite':
+ specifier: ^4.1.5
+ version: 4.1.6(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
'@types/d3-array':
specifier: ^3.2.1
version: 3.2.1
- '@types/lodash-es':
- specifier: ^4.17.12
- version: 4.17.12
'@types/prismjs':
specifier: ^1.26.5
version: 1.26.5
- autoprefixer:
- specifier: ^10.4.19
- version: 10.4.20(postcss@8.5.3)
mdsvex:
- specifier: ^0.12.3
- version: 0.12.3(svelte@5.20.4)
+ specifier: ^0.12.5
+ version: 0.12.6(svelte@5.28.6)
posthog-js:
- specifier: ^1.223.5
- version: 1.223.5(@rrweb/types@2.0.0-alpha.18)
+ specifier: ^1.239.0
+ version: 1.242.1
prettier:
- specifier: ^3.5.2
- version: 3.5.2
+ specifier: ^3.5.3
+ version: 3.5.3
prettier-plugin-svelte:
specifier: ^3.3.3
- version: 3.3.3(prettier@3.5.2)(svelte@5.20.4)
+ version: 3.3.3(prettier@3.5.3)(svelte@5.28.6)
rehype-slug:
specifier: ^6.0.0
version: 6.0.0
svelte:
- specifier: ^5.20.4
- version: 5.20.4
+ specifier: ^5.28.2
+ version: 5.28.6
svelte-check:
- specifier: ^4.1.4
- version: 4.1.4(picomatch@4.0.2)(svelte@5.20.4)(typescript@5.7.3)
+ specifier: ^4.1.6
+ version: 4.1.7(picomatch@4.0.2)(svelte@5.28.6)(typescript@5.8.3)
svelte-json-tree:
specifier: ^2.2.0
- version: 2.2.0(svelte@5.20.4)
+ version: 2.2.0(svelte@5.28.6)
svelte-ux:
- specifier: ^1.0.0
- version: 1.0.0(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.7.1))(postcss@8.5.3)(svelte@5.20.4)
+ specifier: 2.0.0-next.13
+ version: 2.0.0-next.13(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1))(postcss@8.5.3)(svelte@5.28.6)
svelte2tsx:
- specifier: ^0.7.34
- version: 0.7.34(svelte@5.20.4)(typescript@5.7.3)
+ specifier: ^0.7.36
+ version: 0.7.37(svelte@5.28.6)(typescript@5.8.3)
tailwindcss:
- specifier: ^3.4.15
- version: 3.4.15
+ specifier: ^4.1.5
+ version: 4.1.6
tslib:
specifier: ^2.8.1
version: 2.8.1
typescript:
- specifier: ^5.7.3
- version: 5.7.3
+ specifier: ^5.8.3
+ version: 5.8.3
unist-util-visit:
specifier: ^5.0.0
version: 5.0.0
+ unplugin-icons:
+ specifier: ^22.1.0
+ version: 22.1.0(svelte@5.28.6)
vite:
specifier: ^6.3.5
- version: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ version: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
packages:
- '@alloc/quick-lru@5.2.0':
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
-
'@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
- '@babel/helper-string-parser@7.25.9':
- resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-identifier@7.25.9':
- resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
- engines: {node: '>=6.9.0'}
+ '@antfu/install-pkg@1.1.0':
+ resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
- '@babel/parser@7.26.9':
- resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==}
- engines: {node: '>=6.0.0'}
- hasBin: true
+ '@antfu/utils@8.1.1':
+ resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==}
'@babel/runtime@7.27.1':
resolution: {integrity: sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.26.9':
- resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
- engines: {node: '>=6.9.0'}
-
- '@bcoe/v8-coverage@1.0.2':
- resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==}
- engines: {node: '>=18'}
-
'@changesets/apply-release-plan@7.0.12':
resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==}
@@ -777,11 +774,20 @@ packages:
resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
engines: {node: '>=14'}
- '@floating-ui/core@1.6.9':
- resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==}
+ '@floating-ui/core@1.7.0':
+ resolution: {integrity: sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==}
+
+ '@floating-ui/core@1.7.2':
+ resolution: {integrity: sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw==}
- '@floating-ui/dom@1.6.13':
- resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==}
+ '@floating-ui/dom@1.7.0':
+ resolution: {integrity: sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==}
+
+ '@floating-ui/dom@1.7.2':
+ resolution: {integrity: sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA==}
+
+ '@floating-ui/utils@0.2.10':
+ resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
'@floating-ui/utils@0.2.9':
resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
@@ -794,6 +800,15 @@ packages:
resolution: {integrity: sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==}
engines: {node: '>=6'}
+ '@iconify-json/lucide@1.2.53':
+ resolution: {integrity: sha512-LAdOrHp70uYqf/Q9g13qPafF6qjg4XEez7C/0Np5oLSOzfEF49lpMk3xa6ysYTPoWdPYE0qSc/NP3ebJWg3aJg==}
+
+ '@iconify/types@2.0.0':
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+
+ '@iconify/utils@2.3.0':
+ resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==}
+
'@img/sharp-darwin-arm64@0.33.5':
resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
@@ -903,13 +918,9 @@ packages:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
- '@istanbuljs/schema@0.1.3':
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
- engines: {node: '>=8'}
-
- '@jridgewell/gen-mapping@0.3.5':
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
+ '@isaacs/fs-minipass@4.0.1':
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+ engines: {node: '>=18.0.0'}
'@jridgewell/gen-mapping@0.3.8':
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
@@ -932,20 +943,20 @@ packages:
'@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
- '@layerstack/svelte-actions@1.0.0':
- resolution: {integrity: sha512-cnVxMbcc+xYta9hwHnLja4a7bR7cfX/QW9jDY4ZCI8RIt+3lKNRE+u2XzWoGp4Qsx7A0/nGUIiLWpDBgO1ihsQ==}
+ '@layerstack/svelte-actions@1.0.1-next.12':
+ resolution: {integrity: sha512-dndWTlYu8b1u6vw2nrO7NssccoACArGG75WoNlyVC13KuENZlWdKE9Q79/wlnbq00NeQMNKMjJwRMsrKQj2ULA==}
- '@layerstack/svelte-stores@1.0.0':
- resolution: {integrity: sha512-SPH6mjEtHLRBMFYrGUNpGsNsCAGRClYZ9nGQHa1OZdLgziBys/5+7Z3tpJ0K6kODR1ZM1bv16P9n1IfRyEjzpg==}
+ '@layerstack/svelte-stores@1.0.2-next.12':
+ resolution: {integrity: sha512-XwKyGCXl3+NHQzB3LsPSo6Rb0TjoY3LZzb1Snw09VnOUxvA9skMmVnM8EO3eKFti/8tyOLReddEUA1ygUaT4Lg==}
- '@layerstack/svelte-table@1.0.0':
- resolution: {integrity: sha512-Q3nZYYpuGF45gmiGmBQ6NiIY5ip6nTJZR4Xx16A2I9Wkr9qEWMj4wC/HIRmNTMLOIc82EkDnDoJs2GQscKEh8Q==}
+ '@layerstack/svelte-table@1.0.1-next.12':
+ resolution: {integrity: sha512-u5zFdXQWlEJTGXNf52ku6hjyxmjp6ge6GwkW+oecqknY8v0b9d1MfrEw3dGJ4Ap88I0aBIdufmOkd0TTEwiCkQ==}
- '@layerstack/tailwind@1.0.0':
- resolution: {integrity: sha512-xV2M6KRNBmbhV9XAvTHiw/BJSTIh5eby+Hj1iXXkMr88fObZHn4s1G2BILEDbdwjZl6Ivu1Du0gO9Vz3lzflUA==}
+ '@layerstack/tailwind@2.0.0-next.15':
+ resolution: {integrity: sha512-7tqKE3OV7/ybeDOORX++USYYCBJa7IgTya2czFpzbgXGo7CQDVyuv+0J1DggjRcEqhhXQA4MUhgnhcRaZvHxWg==}
- '@layerstack/utils@1.0.0':
- resolution: {integrity: sha512-kIH8lo4MEzPGtdxQRacy8RsSVhMQwe62ckuev62xQDE5QcUJ4wB9EMaRWaQK8CfEOpUERGPgkMPMbMqPhdp0gw==}
+ '@layerstack/utils@2.0.0-next.12':
+ resolution: {integrity: sha512-fhGZUlSr3N+D44BYm37WKMGSEFyZBW+dwIqtGU8Cl54mR4TLQ/UwyGhdpgIHyH/x/8q1abE0fP0Dn6ZsrDE3BA==}
'@manypkg/find-root@1.1.0':
resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
@@ -1091,9 +1102,6 @@ packages:
cpu: [x64]
os: [win32]
- '@rrweb/types@2.0.0-alpha.18':
- resolution: {integrity: sha512-iMH3amHthJZ9x3gGmBPmdfim7wLGygC2GciIkw2A6SO8giSn8PHYtRT8OKNH4V+k3SZ6RSnYHcTQxBA7pSWZ3Q==}
-
'@skeletonlabs/tw-plugin@0.4.1':
resolution: {integrity: sha512-crrC8BGKis0GNTp7V2HF6mk1ECLUvAxgTTV26LMgt/rV3U6Xd7N7dL5qIL8fE4MTHvpKa1SBsdqsnMbEvATeEg==}
peerDependencies:
@@ -1145,11 +1153,101 @@ packages:
resolution: {integrity: sha512-08eKiDAjj4zLug1taXSIJ0kGL5cawjVCyJkBb6EWSg5fEPX6L+Wtr0CH2If4j5KYylz85iaZiFlUItvgJvll5g==}
engines: {node: ^14.13.1 || ^16.0.0 || >=18}
+ '@tailwindcss/node@4.1.6':
+ resolution: {integrity: sha512-ed6zQbgmKsjsVvodAS1q1Ld2BolEuxJOSyyNc+vhkjdmfNUDCmQnlXBfQkHrlzNmslxHsQU/bFmzcEbv4xXsLg==}
+
+ '@tailwindcss/oxide-android-arm64@4.1.6':
+ resolution: {integrity: sha512-VHwwPiwXtdIvOvqT/0/FLH/pizTVu78FOnI9jQo64kSAikFSZT7K4pjyzoDpSMaveJTGyAKvDjuhxJxKfmvjiQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
+
+ '@tailwindcss/oxide-darwin-arm64@4.1.6':
+ resolution: {integrity: sha512-weINOCcqv1HVBIGptNrk7c6lWgSFFiQMcCpKM4tnVi5x8OY2v1FrV76jwLukfT6pL1hyajc06tyVmZFYXoxvhQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-darwin-x64@4.1.6':
+ resolution: {integrity: sha512-3FzekhHG0ww1zQjQ1lPoq0wPrAIVXAbUkWdWM8u5BnYFZgb9ja5ejBqyTgjpo5mfy0hFOoMnMuVDI+7CXhXZaQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-freebsd-x64@4.1.6':
+ resolution: {integrity: sha512-4m5F5lpkBZhVQJq53oe5XgJ+aFYWdrgkMwViHjRsES3KEu2m1udR21B1I77RUqie0ZYNscFzY1v9aDssMBZ/1w==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.6':
+ resolution: {integrity: sha512-qU0rHnA9P/ZoaDKouU1oGPxPWzDKtIfX7eOGi5jOWJKdxieUJdVV+CxWZOpDWlYTd4N3sFQvcnVLJWJ1cLP5TA==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.6':
+ resolution: {integrity: sha512-jXy3TSTrbfgyd3UxPQeXC3wm8DAgmigzar99Km9Sf6L2OFfn/k+u3VqmpgHQw5QNfCpPe43em6Q7V76Wx7ogIQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.6':
+ resolution: {integrity: sha512-8kjivE5xW0qAQ9HX9reVFmZj3t+VmljDLVRJpVBEoTR+3bKMnvC7iLcoSGNIUJGOZy1mLVq7x/gerVg0T+IsYw==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.6':
+ resolution: {integrity: sha512-A4spQhwnWVpjWDLXnOW9PSinO2PTKJQNRmL/aIl2U/O+RARls8doDfs6R41+DAXK0ccacvRyDpR46aVQJJCoCg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-x64-musl@4.1.6':
+ resolution: {integrity: sha512-YRee+6ZqdzgiQAHVSLfl3RYmqeeaWVCk796MhXhLQu2kJu2COHBkqlqsqKYx3p8Hmk5pGCQd2jTAoMWWFeyG2A==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/oxide-wasm32-wasi@4.1.6':
+ resolution: {integrity: sha512-qAp4ooTYrBQ5pk5jgg54/U1rCJ/9FLYOkkQ/nTE+bVMseMfB6O7J8zb19YTpWuu4UdfRf5zzOrNKfl6T64MNrQ==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+ bundledDependencies:
+ - '@napi-rs/wasm-runtime'
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - '@tybys/wasm-util'
+ - '@emnapi/wasi-threads'
+ - tslib
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.6':
+ resolution: {integrity: sha512-nqpDWk0Xr8ELO/nfRUDjk1pc9wDJ3ObeDdNMHLaymc4PJBWj11gdPCWZFKSK2AVKjJQC7J2EfmSmf47GN7OuLg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.6':
+ resolution: {integrity: sha512-5k9xF33xkfKpo9wCvYcegQ21VwIBU1/qEbYlVukfEIyQbEA47uK8AAwS7NVjNE3vHzcmxMYwd0l6L4pPjjm1rQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@tailwindcss/oxide@4.1.6':
+ resolution: {integrity: sha512-0bpEBQiGx+227fW4G0fLQ8vuvyy5rsB1YIYNapTq3aRsJ9taF3f5cCaovDjN5pUGKKzcpMrZst/mhNaKAPOHOA==}
+ engines: {node: '>= 10'}
+
'@tailwindcss/typography@0.5.16':
resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==}
peerDependencies:
tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1'
+ '@tailwindcss/vite@4.1.6':
+ resolution: {integrity: sha512-zjtqjDeY1w3g2beYQtrMAf51n5G7o+UwmyOjtsDMP7t6XyoRMOidcoKP32ps7AkNOHIXEOK0bhIC05dj8oJp4w==}
+ peerDependencies:
+ vite: ^5.2.0 || ^6
+
'@types/cookie@0.6.0':
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
@@ -1162,6 +1260,9 @@ packages:
'@types/d3-scale@4.0.9':
resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==}
+ '@types/d3-time-format@4.0.3':
+ resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
+
'@types/d3-time@3.0.4':
resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
@@ -1183,15 +1284,18 @@ packages:
'@types/lodash@4.14.201':
resolution: {integrity: sha512-y9euML0cim1JrykNxADLfaG0FgD1g/yTHwUs/Jg9ZIU7WKj2/4IW9Lbb1WZbvck78W/lfGXFfe+u2EGfIJXdLQ==}
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+
'@types/node@12.20.55':
resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
- '@types/node@22.13.5':
- resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==}
-
'@types/node@22.15.18':
resolution: {integrity: sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==}
+ '@types/node@24.0.1':
+ resolution: {integrity: sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==}
+
'@types/prismjs@1.26.5':
resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
@@ -1204,15 +1308,6 @@ packages:
'@types/unist@3.0.2':
resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
- '@vitest/coverage-v8@3.0.7':
- resolution: {integrity: sha512-Av8WgBJLTrfLOer0uy3CxjlVuWK4CzcLBndW1Nm2vI+3hZ2ozHututkfc7Blu1u6waeQ7J8gzPK/AsBRnWA5mQ==}
- peerDependencies:
- '@vitest/browser': 3.0.7
- vitest: 3.0.7
- peerDependenciesMeta:
- '@vitest/browser':
- optional: true
-
'@vitest/expect@3.1.3':
resolution: {integrity: sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==}
@@ -1242,11 +1337,6 @@ packages:
'@vitest/utils@3.1.3':
resolution: {integrity: sha512-2Ltrpht4OmHO9+c/nmHtF09HWiyWdworqnHIwjfvDyWjuwKbdkcS9AnhsDn+8E2RM4x++foD1/tNuLPVvWG1Rg==}
- acorn-typescript@1.4.13:
- resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==}
- peerDependencies:
- acorn: '>=8.9.0'
-
acorn-walk@8.3.2:
resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
engines: {node: '>=0.4.0'}
@@ -1281,16 +1371,6 @@ packages:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'}
- any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
-
- anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
-
- arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
-
argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
@@ -1309,13 +1389,6 @@ packages:
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
engines: {node: '>=12'}
- autoprefixer@10.4.20:
- resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
-
axobject-query@4.1.0:
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
engines: {node: '>= 0.4'}
@@ -1327,10 +1400,6 @@ packages:
resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
engines: {node: '>=4'}
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
blake3-wasm@2.1.5:
resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==}
@@ -1341,11 +1410,6 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browserslist@4.23.3:
- resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
builtin-modules@3.3.0:
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
engines: {node: '>=6'}
@@ -1358,9 +1422,6 @@ packages:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
engines: {node: '>= 6'}
- caniuse-lite@1.0.30001649:
- resolution: {integrity: sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==}
-
chai@5.2.0:
resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==}
engines: {node: '>=12'}
@@ -1372,14 +1433,14 @@ packages:
resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
engines: {node: '>= 16'}
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
-
chokidar@4.0.3:
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
engines: {node: '>= 14.16.0'}
+ chownr@3.0.0:
+ resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
+ engines: {node: '>=18'}
+
ci-info@3.9.0:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
@@ -1405,14 +1466,16 @@ packages:
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
engines: {node: '>=12.5.0'}
- commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
-
comment-parser@1.4.1:
resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
engines: {node: '>= 12.0.0'}
+ confbox@0.1.8:
+ resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
+
+ confbox@0.2.2:
+ resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
+
cookie@0.6.0:
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
engines: {node: '>= 0.6'}
@@ -1424,10 +1487,6 @@ packages:
core-js@3.40.0:
resolution: {integrity: sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==}
- cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
-
cross-spawn@7.0.6:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
@@ -1490,9 +1549,6 @@ packages:
dataloader@1.4.0:
resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==}
- date-fns@4.1.0:
- resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
-
debug@4.4.0:
resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
engines: {node: '>=6.0'}
@@ -1536,16 +1592,10 @@ packages:
devalue@5.1.1:
resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
- didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
-
dir-glob@3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
- dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
-
dotenv@16.4.5:
resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
engines: {node: '>=12'}
@@ -1553,15 +1603,16 @@ packages:
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- electron-to-chromium@1.5.5:
- resolution: {integrity: sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==}
-
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ enhanced-resolve@5.18.1:
+ resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
+ engines: {node: '>=10.13.0'}
+
enquirer@2.4.1:
resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
engines: {node: '>=8.6'}
@@ -1574,10 +1625,6 @@ packages:
engines: {node: '>=18'}
hasBin: true
- escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
-
esm-env@1.2.2:
resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
@@ -1586,9 +1633,6 @@ packages:
engines: {node: '>=4'}
hasBin: true
- esrap@1.4.5:
- resolution: {integrity: sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==}
-
esrap@1.4.6:
resolution: {integrity: sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==}
@@ -1612,6 +1656,9 @@ packages:
exsolve@1.0.5:
resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==}
+ exsolve@1.0.7:
+ resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==}
+
extendable-error@0.1.7:
resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==}
@@ -1619,10 +1666,6 @@ packages:
resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
engines: {node: '>=4'}
- fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
-
fast-glob@3.3.3:
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
@@ -1633,14 +1676,6 @@ packages:
fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
- fdir@6.4.3:
- resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==}
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
-
fdir@6.4.4:
resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==}
peerDependencies:
@@ -1664,9 +1699,6 @@ packages:
resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
engines: {node: '>=14'}
- fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
-
fs-extra@7.0.1:
resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
engines: {node: '>=6 <7 || >=8'}
@@ -1686,6 +1718,9 @@ packages:
get-source@2.0.12:
resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==}
+ get-tsconfig@4.10.0:
+ resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==}
+
github-slugger@2.0.0:
resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
@@ -1693,22 +1728,18 @@ packages:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
- glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
-
glob-to-regexp@0.4.1:
resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
- glob@10.4.5:
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
- hasBin: true
-
glob@11.0.0:
resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==}
engines: {node: 20 || >=22}
hasBin: true
+ globals@15.15.0:
+ resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
+ engines: {node: '>=18'}
+
globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
@@ -1716,10 +1747,6 @@ packages:
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
- has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
-
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
@@ -1730,9 +1757,6 @@ packages:
hast-util-to-string@3.0.0:
resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==}
- html-escaper@2.0.2:
- resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
-
human-id@4.1.1:
resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==}
hasBin: true
@@ -1755,18 +1779,10 @@ packages:
is-arrayish@0.3.2:
resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
is-builtin-module@3.2.1:
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
engines: {node: '>=6'}
- is-core-module@2.15.1:
- resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
- engines: {node: '>= 0.4'}
-
is-core-module@2.16.1:
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
engines: {node: '>= 0.4'}
@@ -1804,33 +1820,10 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- istanbul-lib-coverage@3.2.2:
- resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
- engines: {node: '>=8'}
-
- istanbul-lib-report@3.0.1:
- resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
- engines: {node: '>=10'}
-
- istanbul-lib-source-maps@5.0.6:
- resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==}
- engines: {node: '>=10'}
-
- istanbul-reports@3.1.7:
- resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
- engines: {node: '>=8'}
-
- jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
-
jackspeak@4.0.1:
resolution: {integrity: sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==}
engines: {node: 20 || >=22}
- jiti@1.21.6:
- resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
- hasBin: true
-
jiti@2.4.2:
resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
hasBin: true
@@ -1846,20 +1839,80 @@ packages:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
engines: {node: '>=6'}
- lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
+ kolorist@1.8.0:
+ resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
- lilconfig@3.1.2:
- resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
- engines: {node: '>=14'}
+ lightningcss-darwin-arm64@1.29.2:
+ resolution: {integrity: sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.29.2:
+ resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.29.2:
+ resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.29.2:
+ resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.29.2:
+ resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-arm64-musl@1.29.2:
+ resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-x64-gnu@1.29.2:
+ resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-linux-x64-musl@1.29.2:
+ resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-win32-arm64-msvc@1.29.2:
+ resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.29.2:
+ resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.29.2:
+ resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==}
+ engines: {node: '>= 12.0.0'}
lilconfig@3.1.3:
resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
engines: {node: '>=14'}
- lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ local-pkg@1.1.1:
+ resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==}
+ engines: {node: '>=14'}
locate-character@3.0.0:
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
@@ -1889,9 +1942,6 @@ packages:
lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
- lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
-
lru-cache@11.0.0:
resolution: {integrity: sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==}
engines: {node: 20 || >=22}
@@ -1899,18 +1949,11 @@ packages:
magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
- magicast@0.3.5:
- resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
-
- make-dir@4.0.0:
- resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
- engines: {node: '>=10'}
-
mdn-data@2.0.30:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
- mdsvex@0.12.3:
- resolution: {integrity: sha512-C/uIJamjNo5PHHnR3JHqsBPoLcfUBpzRmAEB6FLMXI/s7XHOceswjDMKqSPEW2WHmYpKm0taZ3U20GSyhMridA==}
+ mdsvex@0.12.6:
+ resolution: {integrity: sha512-pupx2gzWh3hDtm/iDW4WuCpljmyHbHi34r7ktOqpPGvyiM4MyfNgdJ3qMizXdgCErmvYC9Nn/qyjePy+4ss9Wg==}
peerDependencies:
svelte: ^3.56.0 || ^4.0.0 || ^5.0.0-next.120
@@ -1936,14 +1979,22 @@ packages:
resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==}
engines: {node: 20 || >=22}
- minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
- engines: {node: '>=16 || 14 >=14.17'}
-
minipass@7.1.2:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ minizlib@3.0.2:
+ resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
+ engines: {node: '>= 18'}
+
+ mkdirp@3.0.1:
+ resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ mlly@1.7.4:
+ resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
+
mri@1.2.0:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
@@ -1959,19 +2010,11 @@ packages:
resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
hasBin: true
- mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
-
nanoid@3.3.11:
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
@@ -1984,25 +2027,6 @@ packages:
encoding:
optional: true
- node-releases@2.0.18:
- resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
-
- normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
-
- normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
-
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
-
- object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
-
ohash@2.0.11:
resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
@@ -2033,15 +2057,15 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
- package-json-from-dist@1.0.0:
- resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
-
package-json-from-dist@1.0.1:
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
package-manager-detector@0.2.11:
resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==}
+ package-manager-detector@1.3.0:
+ resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==}
+
pascal-case@3.1.2:
resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
@@ -2056,10 +2080,6 @@ packages:
path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
-
path-scurry@2.0.0:
resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
engines: {node: 20 || >=22}
@@ -2081,9 +2101,6 @@ packages:
periscopic@3.1.0:
resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
- picocolors@1.0.1:
- resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
-
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -2095,23 +2112,15 @@ packages:
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
engines: {node: '>=12'}
- pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
-
pify@4.0.1:
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
engines: {node: '>=6'}
- pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
- postcss-import@15.1.0:
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.0.0
+ pkg-types@2.1.1:
+ resolution: {integrity: sha512-eY0QFb6eSwc9+0d/5D2lFFUq+A3n3QNGSy/X2Nvp+6MfzGw2u6EbA7S80actgjY1lkvvI0pqB+a4hioMh443Ew==}
postcss-js@4.0.1:
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
@@ -2119,18 +2128,6 @@ packages:
peerDependencies:
postcss: ^8.4.21
- postcss-load-config@4.0.2:
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
-
postcss-load-config@6.0.1:
resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
engines: {node: '>= 18'}
@@ -2149,35 +2146,24 @@ packages:
yaml:
optional: true
- postcss-nested@6.2.0:
- resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
-
postcss-selector-parser@6.0.10:
resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
engines: {node: '>=4'}
- postcss-selector-parser@6.1.2:
- resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
- engines: {node: '>=4'}
-
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss@8.4.49:
- resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
- engines: {node: ^10 || ^12 || >=14}
-
postcss@8.5.3:
resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
engines: {node: ^10 || ^12 || >=14}
- posthog-js@1.223.5:
- resolution: {integrity: sha512-QCapVOZ0zusWR2BryAc3utuEwlsK4xhbpaHWi56cUJwdHOi3gThmXL/bpS5KZtYAJN3UUEwN5Ef3IcfDLp9fMQ==}
+ posthog-js@1.242.1:
+ resolution: {integrity: sha512-j2mzw0eukyuw/Qm3tNZ6pfaXmc7eglWj6ftmvR1Lz9GtMr85ndGNXJvIGO+6PBrQW2o0D1G0k/KV93ehta0hFA==}
peerDependencies:
'@rrweb/types': 2.0.0-alpha.17
+ rrweb-snapshot: 2.0.0-alpha.17
+ peerDependenciesMeta:
+ '@rrweb/types':
+ optional: true
+ rrweb-snapshot:
+ optional: true
preact@10.26.2:
resolution: {integrity: sha512-0gNmv4qpS9HaN3+40CLBAnKe0ZfyE4ZWo5xKlC1rVrr0ckkEvJvAQqKaHANdFKsGstoxrY4AItZ7kZSGVoVjgg==}
@@ -2193,8 +2179,8 @@ packages:
engines: {node: '>=10.13.0'}
hasBin: true
- prettier@3.5.2:
- resolution: {integrity: sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==}
+ prettier@3.5.3:
+ resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
engines: {node: '>=14'}
hasBin: true
@@ -2210,8 +2196,8 @@ packages:
prism-themes@1.9.0:
resolution: {integrity: sha512-tX2AYsehKDw1EORwBps+WhBFKc2kxfoFpQAjxBndbZKr4fRmMkv47XN0BghC/K1qwodB1otbe4oF23vUTFDokw==}
- prismjs@1.29.0:
- resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
+ prismjs@1.30.0:
+ resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
engines: {node: '>=6'}
quansync@0.2.10:
@@ -2220,17 +2206,10 @@ packages:
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
-
read-yaml-file@1.1.0:
resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
engines: {node: '>=6'}
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
-
readdirp@4.1.2:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
@@ -2246,6 +2225,9 @@ packages:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
engines: {node: '>=8'}
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
resolve.exports@2.0.3:
resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==}
engines: {node: '>=10'}
@@ -2255,10 +2237,6 @@ packages:
engines: {node: '>= 0.4'}
hasBin: true
- resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
-
reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
@@ -2295,11 +2273,6 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- semver@7.7.1:
- resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
- engines: {node: '>=10'}
- hasBin: true
-
semver@7.7.2:
resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
engines: {node: '>=10'}
@@ -2358,9 +2331,6 @@ packages:
stacktracey@2.1.8:
resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
- std-env@3.8.0:
- resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==}
-
std-env@3.9.0:
resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
@@ -2388,15 +2358,6 @@ packages:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
- sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
-
- supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
-
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
@@ -2405,8 +2366,8 @@ packages:
resolution: {integrity: sha512-81zODtru1jsOujk+RUgj4RT3fXaG2nFZIWkeVkm0ZyqsrHxTNUfGJEQgkj6jcvwiEEVbYLUHvehnkfCbKDnarQ==}
hasBin: true
- svelte-check@4.1.4:
- resolution: {integrity: sha512-v0j7yLbT29MezzaQJPEDwksybTE2Ups9rUxEXy92T06TiA0cbqcO8wAOwNUVkFW6B0hsYHA+oAX3BS8b/2oHtw==}
+ svelte-check@4.1.7:
+ resolution: {integrity: sha512-1jX4BzXrQJhC/Jt3SqYf6Ntu//vmfc6VWp07JkRfK2nn+22yIblspVUo96gzMkg0Zov8lQicxhxsMzOctwcMQQ==}
engines: {node: '>= 18.0.0'}
hasBin: true
peerDependencies:
@@ -2455,13 +2416,13 @@ packages:
typescript:
optional: true
- svelte-ux@1.0.0:
- resolution: {integrity: sha512-9ANwk4C3L1dTYT2bx2AkXlq7eXcclGp/Myvo4CkcZNrG1GOItIemkYU5MHkAg3BT+D4jSPsWBiup2j1Hq4FAfA==}
+ svelte-ux@2.0.0-next.13:
+ resolution: {integrity: sha512-PWugr8yFJDCrxCFOYcHQfySoi6UndguVIn5Xy7VuYtS75I+lW+wB4BRzMd+epOsMVib00yPOiH4XTblQaXIdDQ==}
peerDependencies:
svelte: ^3.56.0 || ^4.0.0 || ^5.0.0
- svelte2tsx@0.7.34:
- resolution: {integrity: sha512-WTMhpNhFf8/h3SMtR5dkdSy2qfveomkhYei/QW9gSPccb0/b82tjHvLop6vT303ZkGswU/da1s6XvrLgthQPCw==}
+ svelte2tsx@0.7.37:
+ resolution: {integrity: sha512-uQCWibXwUNPGQBGTZP1axIpFGFHTXXN30/ppodLVXCnX23U1nzEhqiVtFSEQjtUK3pFVxPhdnfyxD6ikxMCzPQ==}
peerDependencies:
svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0
typescript: ^4.9.4 || ^5.0.0
@@ -2470,36 +2431,27 @@ packages:
resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==}
engines: {node: '>=16'}
- svelte@5.20.4:
- resolution: {integrity: sha512-2Mo/AfObaw9zuD0u1JJ7sOVzRCGcpETEyDkLbtkcctWpCMCIyT0iz83xD8JT29SR7O4SgswuPRIDYReYF/607A==}
- engines: {node: '>=18'}
-
svelte@5.28.6:
resolution: {integrity: sha512-9qqr7mw8YR9PAnxGFfzCK6PUlNGtns7wVavrhnxyf3fpB1mP/Ol55Z2UnIapsSzNNl3k9qw7cZ22PdE8+xT/jQ==}
engines: {node: '>=18'}
- tailwind-merge@2.5.4:
- resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==}
+ tailwind-merge@3.3.0:
+ resolution: {integrity: sha512-fyW/pEfcQSiigd5SNn0nApUOxx0zB/dm6UDU/rEwc2c3sX2smWUNbapHv+QRqLGVp9GWX3THIa7MUGPo+YkDzQ==}
- tailwindcss@3.4.15:
- resolution: {integrity: sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==}
- engines: {node: '>=14.0.0'}
- hasBin: true
+ tailwindcss@4.1.6:
+ resolution: {integrity: sha512-j0cGLTreM6u4OWzBeLBpycK0WIh8w7kSwcUsQZoGLHZ7xDTdM69lN64AgoIEEwFi0tnhs4wSykUa5YWxAzgFYg==}
- term-size@2.2.1:
- resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
- engines: {node: '>=8'}
+ tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
- test-exclude@7.0.1:
- resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==}
+ tar@7.4.3:
+ resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
engines: {node: '>=18'}
- thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
-
- thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ term-size@2.2.1:
+ resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
+ engines: {node: '>=8'}
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
@@ -2507,6 +2459,9 @@ packages:
tinyexec@0.3.2:
resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
+ tinyexec@1.0.1:
+ resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
+
tinyglobby@0.2.12:
resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==}
engines: {node: '>=12.0.0'}
@@ -2542,26 +2497,28 @@ packages:
tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
- ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
-
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- typescript@5.7.3:
- resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
+ tsx@4.19.4:
+ resolution: {integrity: sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
+
+ typescript@5.8.3:
+ resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
engines: {node: '>=14.17'}
hasBin: true
ufo@1.6.1:
resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
- undici-types@6.20.0:
- resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
-
undici-types@6.21.0:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+ undici-types@7.8.0:
+ resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==}
+
undici@5.29.0:
resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==}
engines: {node: '>=14.0'}
@@ -2569,15 +2526,24 @@ packages:
unenv@2.0.0-rc.15:
resolution: {integrity: sha512-J/rEIZU8w6FOfLNz/hNKsnY+fFHWnu9MH4yRbSZF3xbbGHovcetXPs7sD+9p8L6CeNC//I9bhRYAOsBt2u7/OA==}
+ unist-util-is@4.1.0:
+ resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==}
+
unist-util-is@6.0.0:
resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
unist-util-stringify-position@2.0.3:
resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
+ unist-util-visit-parents@3.1.1:
+ resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==}
+
unist-util-visit-parents@6.0.1:
resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
+ unist-util-visit@2.0.3:
+ resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==}
+
unist-util-visit@5.0.0:
resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
@@ -2585,11 +2551,32 @@ packages:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
engines: {node: '>= 4.0.0'}
- update-browserslist-db@1.1.0:
- resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
- hasBin: true
+ unplugin-icons@22.1.0:
+ resolution: {integrity: sha512-ect2ZNtk1Zgwb0NVHd0C1IDW/MV+Jk/xaq4t8o6rYdVS3+L660ZdD5kTSQZvsgdwCvquRw+/wYn75hsweRjoIA==}
peerDependencies:
- browserslist: '>= 4.21.0'
+ '@svgr/core': '>=7.0.0'
+ '@svgx/core': ^1.0.1
+ '@vue/compiler-sfc': ^3.0.2 || ^2.7.0
+ svelte: ^3.0.0 || ^4.0.0 || ^5.0.0
+ vue-template-compiler: ^2.6.12
+ vue-template-es2015-compiler: ^1.9.0
+ peerDependenciesMeta:
+ '@svgr/core':
+ optional: true
+ '@svgx/core':
+ optional: true
+ '@vue/compiler-sfc':
+ optional: true
+ svelte:
+ optional: true
+ vue-template-compiler:
+ optional: true
+ vue-template-es2015-compiler:
+ optional: true
+
+ unplugin@2.3.5:
+ resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==}
+ engines: {node: '>=18.12.0'}
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -2684,6 +2671,9 @@ packages:
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+ webpack-virtual-modules@0.6.2:
+ resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
+
whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
@@ -2736,10 +2726,9 @@ packages:
utf-8-validate:
optional: true
- yaml@2.6.1:
- resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==}
- engines: {node: '>= 14'}
- hasBin: true
+ yallist@5.0.0:
+ resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
+ engines: {node: '>=18'}
yaml@2.7.1:
resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==}
@@ -2755,34 +2744,27 @@ packages:
zod@3.22.3:
resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==}
- zod@3.24.2:
- resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==}
+ zod@3.24.4:
+ resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==}
-snapshots:
+ zod@3.25.67:
+ resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==}
- '@alloc/quick-lru@5.2.0': {}
+snapshots:
'@ampproject/remapping@2.3.0':
dependencies:
'@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
- '@babel/helper-string-parser@7.25.9': {}
-
- '@babel/helper-validator-identifier@7.25.9': {}
-
- '@babel/parser@7.26.9':
+ '@antfu/install-pkg@1.1.0':
dependencies:
- '@babel/types': 7.26.9
+ package-manager-detector: 1.3.0
+ tinyexec: 1.0.1
- '@babel/runtime@7.27.1': {}
+ '@antfu/utils@8.1.1': {}
- '@babel/types@7.26.9':
- dependencies:
- '@babel/helper-string-parser': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
-
- '@bcoe/v8-coverage@1.0.2': {}
+ '@babel/runtime@7.27.1': {}
'@changesets/apply-release-plan@7.0.12':
dependencies:
@@ -3046,15 +3028,26 @@ snapshots:
'@fastify/busboy@2.1.1': {}
- '@floating-ui/core@1.6.9':
+ '@floating-ui/core@1.7.0':
dependencies:
'@floating-ui/utils': 0.2.9
- '@floating-ui/dom@1.6.13':
+ '@floating-ui/core@1.7.2':
+ dependencies:
+ '@floating-ui/utils': 0.2.10
+
+ '@floating-ui/dom@1.7.0':
dependencies:
- '@floating-ui/core': 1.6.9
+ '@floating-ui/core': 1.7.0
'@floating-ui/utils': 0.2.9
+ '@floating-ui/dom@1.7.2':
+ dependencies:
+ '@floating-ui/core': 1.7.2
+ '@floating-ui/utils': 0.2.10
+
+ '@floating-ui/utils@0.2.10': {}
+
'@floating-ui/utils@0.2.9': {}
'@fortawesome/fontawesome-common-types@6.7.2': {}
@@ -3063,6 +3056,25 @@ snapshots:
dependencies:
'@fortawesome/fontawesome-common-types': 6.7.2
+ '@iconify-json/lucide@1.2.53':
+ dependencies:
+ '@iconify/types': 2.0.0
+
+ '@iconify/types@2.0.0': {}
+
+ '@iconify/utils@2.3.0':
+ dependencies:
+ '@antfu/install-pkg': 1.1.0
+ '@antfu/utils': 8.1.1
+ '@iconify/types': 2.0.0
+ debug: 4.4.1
+ globals: 15.15.0
+ kolorist: 1.8.0
+ local-pkg: 1.1.1
+ mlly: 1.7.4
+ transitivePeerDependencies:
+ - supports-color
+
'@img/sharp-darwin-arm64@0.33.5':
optionalDependencies:
'@img/sharp-libvips-darwin-arm64': 1.0.4
@@ -3147,13 +3159,9 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
- '@istanbuljs/schema@0.1.3': {}
-
- '@jridgewell/gen-mapping@0.3.5':
+ '@isaacs/fs-minipass@4.0.1':
dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
+ minipass: 7.1.2
'@jridgewell/gen-mapping@0.3.8':
dependencies:
@@ -3177,49 +3185,39 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
- '@layerstack/svelte-actions@1.0.0':
+ '@layerstack/svelte-actions@1.0.1-next.12':
dependencies:
- '@floating-ui/dom': 1.6.13
- '@layerstack/utils': 1.0.0
- d3-array: 3.2.4
+ '@floating-ui/dom': 1.7.2
+ '@layerstack/utils': 2.0.0-next.12
d3-scale: 4.0.2
- date-fns: 4.1.0
- lodash-es: 4.17.21
- '@layerstack/svelte-stores@1.0.0':
+ '@layerstack/svelte-stores@1.0.2-next.12':
dependencies:
- '@layerstack/utils': 1.0.0
- d3-array: 3.2.4
- date-fns: 4.1.0
+ '@layerstack/utils': 2.0.0-next.12
immer: 10.1.1
lodash-es: 4.17.21
- zod: 3.24.2
+ zod: 3.25.67
- '@layerstack/svelte-table@1.0.0':
+ '@layerstack/svelte-table@1.0.1-next.12':
dependencies:
- '@layerstack/svelte-actions': 1.0.0
- '@layerstack/utils': 1.0.0
+ '@layerstack/svelte-actions': 1.0.1-next.12
+ '@layerstack/utils': 2.0.0-next.12
d3-array: 3.2.4
- date-fns: 4.1.0
lodash-es: 4.17.21
- '@layerstack/tailwind@1.0.0':
+ '@layerstack/tailwind@2.0.0-next.15':
dependencies:
- '@layerstack/utils': 1.0.0
+ '@layerstack/utils': 2.0.0-next.12
clsx: 2.1.1
- culori: 4.0.1
d3-array: 3.2.4
- date-fns: 4.1.0
lodash-es: 4.17.21
- tailwind-merge: 2.5.4
- tailwindcss: 3.4.15
- transitivePeerDependencies:
- - ts-node
+ tailwind-merge: 3.3.0
- '@layerstack/utils@1.0.0':
+ '@layerstack/utils@2.0.0-next.12':
dependencies:
d3-array: 3.2.4
- date-fns: 4.1.0
+ d3-time: 3.1.0
+ d3-time-format: 4.1.0
lodash-es: 4.17.21
'@manypkg/find-root@1.1.0':
@@ -3339,27 +3337,25 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.40.2':
optional: true
- '@rrweb/types@2.0.0-alpha.18': {}
-
- '@skeletonlabs/tw-plugin@0.4.1(tailwindcss@3.4.15)':
+ '@skeletonlabs/tw-plugin@0.4.1(tailwindcss@4.1.6)':
dependencies:
- tailwindcss: 3.4.15
+ tailwindcss: 4.1.6
'@sveltejs/acorn-typescript@1.0.5(acorn@8.14.1)':
dependencies:
acorn: 8.14.1
- '@sveltejs/adapter-cloudflare@7.0.3(@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)))(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)))(wrangler@4.14.4(@cloudflare/workers-types@4.20250514.0))':
+ '@sveltejs/adapter-cloudflare@7.0.3(@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(wrangler@4.14.4(@cloudflare/workers-types@4.20250514.0))':
dependencies:
'@cloudflare/workers-types': 4.20250514.0
- '@sveltejs/kit': 2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)))(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ '@sveltejs/kit': 2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
worktop: 0.8.0-next.18
wrangler: 4.14.4(@cloudflare/workers-types@4.20250514.0)
- '@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)))(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))':
+ '@sveltejs/kit@2.21.0(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))':
dependencies:
'@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1)
- '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
'@types/cookie': 0.6.0
acorn: 8.14.1
cookie: 0.6.0
@@ -3371,50 +3367,39 @@ snapshots:
sade: 1.8.1
set-cookie-parser: 2.7.1
sirv: 3.0.1
- svelte: 5.20.4
- vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
-
- '@sveltejs/package@2.3.11(svelte@5.20.4)(typescript@5.7.3)':
- dependencies:
- chokidar: 4.0.3
- kleur: 4.1.5
- sade: 1.8.1
- semver: 7.7.2
- svelte: 5.20.4
- svelte2tsx: 0.7.34(svelte@5.20.4)(typescript@5.7.3)
- transitivePeerDependencies:
- - typescript
+ svelte: 5.28.6
+ vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
- '@sveltejs/package@2.3.11(svelte@5.28.6)(typescript@5.7.3)':
+ '@sveltejs/package@2.3.11(svelte@5.28.6)(typescript@5.8.3)':
dependencies:
chokidar: 4.0.3
kleur: 4.1.5
sade: 1.8.1
semver: 7.7.2
svelte: 5.28.6
- svelte2tsx: 0.7.34(svelte@5.28.6)(typescript@5.7.3)
+ svelte2tsx: 0.7.37(svelte@5.28.6)(typescript@5.8.3)
transitivePeerDependencies:
- typescript
- '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)))(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))':
+ '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))':
dependencies:
- '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
debug: 4.4.0
- svelte: 5.20.4
- vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ svelte: 5.28.6
+ vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
transitivePeerDependencies:
- supports-color
- '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))':
+ '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))':
dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)))(svelte@5.20.4)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)))(svelte@5.28.6)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
debug: 4.4.0
deepmerge: 4.3.1
kleur: 4.1.5
magic-string: 0.30.17
- svelte: 5.20.4
- vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
- vitefu: 1.0.6(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ svelte: 5.28.6
+ vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
+ vitefu: 1.0.6(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
transitivePeerDependencies:
- supports-color
@@ -3425,13 +3410,84 @@ snapshots:
transitivePeerDependencies:
- encoding
- '@tailwindcss/typography@0.5.16(tailwindcss@3.4.15)':
+ '@tailwindcss/node@4.1.6':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ enhanced-resolve: 5.18.1
+ jiti: 2.4.2
+ lightningcss: 1.29.2
+ magic-string: 0.30.17
+ source-map-js: 1.2.1
+ tailwindcss: 4.1.6
+
+ '@tailwindcss/oxide-android-arm64@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-arm64@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-x64@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-freebsd-x64@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-musl@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-wasm32-wasi@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.6':
+ optional: true
+
+ '@tailwindcss/oxide@4.1.6':
+ dependencies:
+ detect-libc: 2.0.4
+ tar: 7.4.3
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.1.6
+ '@tailwindcss/oxide-darwin-arm64': 4.1.6
+ '@tailwindcss/oxide-darwin-x64': 4.1.6
+ '@tailwindcss/oxide-freebsd-x64': 4.1.6
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.6
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.1.6
+ '@tailwindcss/oxide-linux-arm64-musl': 4.1.6
+ '@tailwindcss/oxide-linux-x64-gnu': 4.1.6
+ '@tailwindcss/oxide-linux-x64-musl': 4.1.6
+ '@tailwindcss/oxide-wasm32-wasi': 4.1.6
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.1.6
+ '@tailwindcss/oxide-win32-x64-msvc': 4.1.6
+
+ '@tailwindcss/typography@0.5.16(tailwindcss@4.1.6)':
dependencies:
lodash.castarray: 4.4.0
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10
- tailwindcss: 3.4.15
+ tailwindcss: 4.1.6
+
+ '@tailwindcss/vite@4.1.6(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))':
+ dependencies:
+ '@tailwindcss/node': 4.1.6
+ '@tailwindcss/oxide': 4.1.6
+ tailwindcss: 4.1.6
+ vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
'@types/cookie@0.6.0': {}
@@ -3443,6 +3499,8 @@ snapshots:
dependencies:
'@types/d3-time': 3.0.4
+ '@types/d3-time-format@4.0.3': {}
+
'@types/d3-time@3.0.4': {}
'@types/estree@0.0.39': {}
@@ -3461,45 +3519,30 @@ snapshots:
'@types/lodash@4.14.201': {}
- '@types/node@12.20.55': {}
-
- '@types/node@22.13.5':
+ '@types/mdast@4.0.4':
dependencies:
- undici-types: 6.20.0
+ '@types/unist': 3.0.2
+
+ '@types/node@12.20.55': {}
'@types/node@22.15.18':
dependencies:
undici-types: 6.21.0
- optional: true
+
+ '@types/node@24.0.1':
+ dependencies:
+ undici-types: 7.8.0
'@types/prismjs@1.26.5': {}
'@types/resolve@1.17.1':
dependencies:
- '@types/node': 22.13.5
+ '@types/node': 22.15.18
'@types/unist@2.0.11': {}
'@types/unist@3.0.2': {}
- '@vitest/coverage-v8@3.0.7(vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@bcoe/v8-coverage': 1.0.2
- debug: 4.4.0
- istanbul-lib-coverage: 3.2.2
- istanbul-lib-report: 3.0.1
- istanbul-lib-source-maps: 5.0.6
- istanbul-reports: 3.1.7
- magic-string: 0.30.17
- magicast: 0.3.5
- std-env: 3.8.0
- test-exclude: 7.0.1
- tinyrainbow: 2.0.0
- vitest: 3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
- transitivePeerDependencies:
- - supports-color
-
'@vitest/expect@3.1.3':
dependencies:
'@vitest/spy': 3.1.3
@@ -3507,13 +3550,13 @@ snapshots:
chai: 5.2.0
tinyrainbow: 2.0.0
- '@vitest/mocker@3.1.3(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))':
+ '@vitest/mocker@3.1.3(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))':
dependencies:
'@vitest/spy': 3.1.3
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
- vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
'@vitest/pretty-format@3.1.3':
dependencies:
@@ -3540,10 +3583,6 @@ snapshots:
loupe: 3.1.3
tinyrainbow: 2.0.0
- acorn-typescript@1.4.13(acorn@8.14.0):
- dependencies:
- acorn: 8.14.0
-
acorn-walk@8.3.2: {}
acorn@8.14.0: {}
@@ -3562,15 +3601,6 @@ snapshots:
ansi-styles@6.2.1: {}
- any-promise@1.3.0: {}
-
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
- arg@5.0.2: {}
-
argparse@1.0.10:
dependencies:
sprintf-js: 1.0.3
@@ -3585,16 +3615,6 @@ snapshots:
assertion-error@2.0.1: {}
- autoprefixer@10.4.20(postcss@8.5.3):
- dependencies:
- browserslist: 4.23.3
- caniuse-lite: 1.0.30001649
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.0.1
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
axobject-query@4.1.0: {}
balanced-match@1.0.2: {}
@@ -3603,8 +3623,6 @@ snapshots:
dependencies:
is-windows: 1.0.2
- binary-extensions@2.3.0: {}
-
blake3-wasm@2.1.5: {}
brace-expansion@2.0.1:
@@ -3615,21 +3633,12 @@ snapshots:
dependencies:
fill-range: 7.1.1
- browserslist@4.23.3:
- dependencies:
- caniuse-lite: 1.0.30001649
- electron-to-chromium: 1.5.5
- node-releases: 2.0.18
- update-browserslist-db: 1.1.0(browserslist@4.23.3)
-
builtin-modules@3.3.0: {}
cac@6.7.14: {}
camelcase-css@2.0.1: {}
- caniuse-lite@1.0.30001649: {}
-
chai@5.2.0:
dependencies:
assertion-error: 2.0.1
@@ -3642,22 +3651,12 @@ snapshots:
check-error@2.1.1: {}
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
-
chokidar@4.0.3:
dependencies:
readdirp: 4.1.2
+ chownr@3.0.0: {}
+
ci-info@3.9.0: {}
clsx@2.1.1: {}
@@ -3665,8 +3664,8 @@ snapshots:
code-red@1.0.4:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
- '@types/estree': 1.0.6
- acorn: 8.14.0
+ '@types/estree': 1.0.7
+ acorn: 8.14.1
estree-walker: 3.0.3
periscopic: 3.1.0
@@ -3688,22 +3687,18 @@ snapshots:
color-string: 1.9.1
optional: true
- commander@4.1.1: {}
-
comment-parser@1.4.1: {}
+ confbox@0.1.8: {}
+
+ confbox@0.2.2: {}
+
cookie@0.6.0: {}
cookie@0.7.2: {}
core-js@3.40.0: {}
- cross-spawn@7.0.3:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
@@ -3754,12 +3749,12 @@ snapshots:
dependencies:
d3-array: 3.2.4
- daisyui@4.12.24(postcss@8.4.49):
+ daisyui@4.12.24(postcss@8.5.3):
dependencies:
css-selector-tokenizer: 0.8.0
culori: 3.3.0
picocolors: 1.1.1
- postcss-js: 4.0.1(postcss@8.4.49)
+ postcss-js: 4.0.1(postcss@8.5.3)
transitivePeerDependencies:
- postcss
@@ -3767,8 +3762,6 @@ snapshots:
dataloader@1.4.0: {}
- date-fns@4.1.0: {}
-
debug@4.4.0:
dependencies:
ms: 2.1.3
@@ -3787,29 +3780,27 @@ snapshots:
detect-indent@6.1.0: {}
- detect-libc@2.0.4:
- optional: true
+ detect-libc@2.0.4: {}
devalue@5.1.1: {}
- didyoumean@1.2.2: {}
-
dir-glob@3.0.1:
dependencies:
path-type: 4.0.0
- dlv@1.1.3: {}
-
dotenv@16.4.5: {}
eastasianwidth@0.2.0: {}
- electron-to-chromium@1.5.5: {}
-
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
+ enhanced-resolve@5.18.1:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+
enquirer@2.4.1:
dependencies:
ansi-colors: 4.1.3
@@ -3845,16 +3836,10 @@ snapshots:
'@esbuild/win32-ia32': 0.25.4
'@esbuild/win32-x64': 0.25.4
- escalade@3.1.2: {}
-
esm-env@1.2.2: {}
esprima@4.0.1: {}
- esrap@1.4.5:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
-
esrap@1.4.6:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
@@ -3873,6 +3858,8 @@ snapshots:
exsolve@1.0.5: {}
+ exsolve@1.0.7: {}
+
extendable-error@0.1.7: {}
external-editor@3.1.0:
@@ -3881,14 +3868,6 @@ snapshots:
iconv-lite: 0.4.24
tmp: 0.0.33
- fast-glob@3.3.2:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.8
-
fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -3903,10 +3882,6 @@ snapshots:
dependencies:
reusify: 1.0.4
- fdir@6.4.3(picomatch@4.0.2):
- optionalDependencies:
- picomatch: 4.0.2
-
fdir@6.4.4(picomatch@4.0.2):
optionalDependencies:
picomatch: 4.0.2
@@ -3924,11 +3899,9 @@ snapshots:
foreground-child@3.3.0:
dependencies:
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
signal-exit: 4.1.0
- fraction.js@4.3.7: {}
-
fs-extra@7.0.1:
dependencies:
graceful-fs: 4.2.11
@@ -3951,36 +3924,29 @@ snapshots:
data-uri-to-buffer: 2.0.2
source-map: 0.6.1
+ get-tsconfig@4.10.0:
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+
github-slugger@2.0.0: {}
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
- glob-parent@6.0.2:
- dependencies:
- is-glob: 4.0.3
-
glob-to-regexp@0.4.1: {}
- glob@10.4.5:
- dependencies:
- foreground-child: 3.3.0
- jackspeak: 3.4.3
- minimatch: 9.0.5
- minipass: 7.1.2
- package-json-from-dist: 1.0.1
- path-scurry: 1.11.1
-
glob@11.0.0:
dependencies:
foreground-child: 3.3.0
jackspeak: 4.0.1
minimatch: 10.0.1
minipass: 7.1.2
- package-json-from-dist: 1.0.0
+ package-json-from-dist: 1.0.1
path-scurry: 2.0.0
+ globals@15.15.0: {}
+
globby@11.1.0:
dependencies:
array-union: 2.1.0
@@ -3992,8 +3958,6 @@ snapshots:
graceful-fs@4.2.11: {}
- has-flag@4.0.0: {}
-
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
@@ -4006,8 +3970,6 @@ snapshots:
dependencies:
'@types/hast': 3.0.4
- html-escaper@2.0.2: {}
-
human-id@4.1.1: {}
iconv-lite@0.4.24:
@@ -4023,18 +3985,10 @@ snapshots:
is-arrayish@0.3.2:
optional: true
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
is-builtin-module@3.2.1:
dependencies:
builtin-modules: 3.3.0
- is-core-module@2.15.1:
- dependencies:
- hasown: 2.0.2
-
is-core-module@2.16.1:
dependencies:
hasown: 2.0.2
@@ -4053,7 +4007,7 @@ snapshots:
is-reference@3.0.3:
dependencies:
- '@types/estree': 1.0.6
+ '@types/estree': 1.0.7
is-subdir@1.2.0:
dependencies:
@@ -4063,43 +4017,13 @@ snapshots:
isexe@2.0.0: {}
- istanbul-lib-coverage@3.2.2: {}
-
- istanbul-lib-report@3.0.1:
- dependencies:
- istanbul-lib-coverage: 3.2.2
- make-dir: 4.0.0
- supports-color: 7.2.0
-
- istanbul-lib-source-maps@5.0.6:
- dependencies:
- '@jridgewell/trace-mapping': 0.3.25
- debug: 4.4.0
- istanbul-lib-coverage: 3.2.2
- transitivePeerDependencies:
- - supports-color
-
- istanbul-reports@3.1.7:
- dependencies:
- html-escaper: 2.0.2
- istanbul-lib-report: 3.0.1
-
- jackspeak@3.4.3:
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
-
jackspeak@4.0.1:
dependencies:
'@isaacs/cliui': 8.0.2
optionalDependencies:
'@pkgjs/parseargs': 0.11.0
- jiti@1.21.6: {}
-
- jiti@2.4.2:
- optional: true
+ jiti@2.4.2: {}
js-yaml@3.14.1:
dependencies:
@@ -4112,14 +4036,61 @@ snapshots:
kleur@4.1.5: {}
- lilconfig@2.1.0: {}
+ kolorist@1.8.0: {}
+
+ lightningcss-darwin-arm64@1.29.2:
+ optional: true
- lilconfig@3.1.2: {}
+ lightningcss-darwin-x64@1.29.2:
+ optional: true
+
+ lightningcss-freebsd-x64@1.29.2:
+ optional: true
+
+ lightningcss-linux-arm-gnueabihf@1.29.2:
+ optional: true
+
+ lightningcss-linux-arm64-gnu@1.29.2:
+ optional: true
+
+ lightningcss-linux-arm64-musl@1.29.2:
+ optional: true
+
+ lightningcss-linux-x64-gnu@1.29.2:
+ optional: true
+
+ lightningcss-linux-x64-musl@1.29.2:
+ optional: true
+
+ lightningcss-win32-arm64-msvc@1.29.2:
+ optional: true
+
+ lightningcss-win32-x64-msvc@1.29.2:
+ optional: true
+
+ lightningcss@1.29.2:
+ dependencies:
+ detect-libc: 2.0.4
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.29.2
+ lightningcss-darwin-x64: 1.29.2
+ lightningcss-freebsd-x64: 1.29.2
+ lightningcss-linux-arm-gnueabihf: 1.29.2
+ lightningcss-linux-arm64-gnu: 1.29.2
+ lightningcss-linux-arm64-musl: 1.29.2
+ lightningcss-linux-x64-gnu: 1.29.2
+ lightningcss-linux-x64-musl: 1.29.2
+ lightningcss-win32-arm64-msvc: 1.29.2
+ lightningcss-win32-x64-msvc: 1.29.2
lilconfig@3.1.3:
optional: true
- lines-and-columns@1.2.4: {}
+ local-pkg@1.1.1:
+ dependencies:
+ mlly: 1.7.4
+ pkg-types: 2.1.1
+ quansync: 0.2.10
locate-character@3.0.0: {}
@@ -4143,32 +4114,22 @@ snapshots:
dependencies:
tslib: 2.8.1
- lru-cache@10.4.3: {}
-
lru-cache@11.0.0: {}
magic-string@0.30.17:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
- magicast@0.3.5:
- dependencies:
- '@babel/parser': 7.26.9
- '@babel/types': 7.26.9
- source-map-js: 1.2.1
-
- make-dir@4.0.0:
- dependencies:
- semver: 7.7.1
-
mdn-data@2.0.30: {}
- mdsvex@0.12.3(svelte@5.20.4):
+ mdsvex@0.12.6(svelte@5.28.6):
dependencies:
+ '@types/mdast': 4.0.4
'@types/unist': 2.0.11
prism-svelte: 0.4.7
- prismjs: 1.29.0
- svelte: 5.20.4
+ prismjs: 1.30.0
+ svelte: 5.28.6
+ unist-util-visit: 2.0.3
vfile-message: 2.0.4
merge2@1.4.1: {}
@@ -4201,11 +4162,20 @@ snapshots:
dependencies:
brace-expansion: 2.0.1
- minimatch@9.0.5:
+ minipass@7.1.2: {}
+
+ minizlib@3.0.2:
dependencies:
- brace-expansion: 2.0.1
+ minipass: 7.1.2
- minipass@7.1.2: {}
+ mkdirp@3.0.1: {}
+
+ mlly@1.7.4:
+ dependencies:
+ acorn: 8.14.1
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.1
mri@1.2.0: {}
@@ -4215,16 +4185,8 @@ snapshots:
mustache@4.2.0: {}
- mz@2.7.0:
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
-
nanoid@3.3.11: {}
- nanoid@3.3.7: {}
-
no-case@3.0.4:
dependencies:
lower-case: 2.0.2
@@ -4234,16 +4196,6 @@ snapshots:
dependencies:
whatwg-url: 5.0.0
- node-releases@2.0.18: {}
-
- normalize-path@3.0.0: {}
-
- normalize-range@0.1.2: {}
-
- object-assign@4.1.1: {}
-
- object-hash@3.0.0: {}
-
ohash@2.0.11: {}
os-tmpdir@1.0.2: {}
@@ -4266,14 +4218,14 @@ snapshots:
p-try@2.2.0: {}
- package-json-from-dist@1.0.0: {}
-
package-json-from-dist@1.0.1: {}
package-manager-detector@0.2.11:
dependencies:
quansync: 0.2.10
+ package-manager-detector@1.3.0: {}
+
pascal-case@3.1.2:
dependencies:
no-case: 3.0.4
@@ -4285,11 +4237,6 @@ snapshots:
path-parse@1.0.7: {}
- path-scurry@1.11.1:
- dependencies:
- lru-cache: 10.4.3
- minipass: 7.1.2
-
path-scurry@2.0.0:
dependencies:
lru-cache: 11.0.0
@@ -4305,84 +4252,58 @@ snapshots:
periscopic@3.1.0:
dependencies:
- '@types/estree': 1.0.6
+ '@types/estree': 1.0.7
estree-walker: 3.0.3
is-reference: 3.0.3
- picocolors@1.0.1: {}
-
picocolors@1.1.1: {}
picomatch@2.3.1: {}
picomatch@4.0.2: {}
- pify@2.3.0: {}
-
pify@4.0.1: {}
- pirates@4.0.6: {}
-
- postcss-import@15.1.0(postcss@8.4.49):
+ pkg-types@1.3.1:
dependencies:
- postcss: 8.4.49
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.8
+ confbox: 0.1.8
+ mlly: 1.7.4
+ pathe: 2.0.3
- postcss-js@4.0.1(postcss@8.4.49):
+ pkg-types@2.1.1:
dependencies:
- camelcase-css: 2.0.1
- postcss: 8.4.49
+ confbox: 0.2.2
+ exsolve: 1.0.7
+ pathe: 2.0.3
- postcss-load-config@4.0.2(postcss@8.4.49):
+ postcss-js@4.0.1(postcss@8.5.3):
dependencies:
- lilconfig: 3.1.2
- yaml: 2.6.1
- optionalDependencies:
- postcss: 8.4.49
+ camelcase-css: 2.0.1
+ postcss: 8.5.3
- postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.7.1):
+ postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1):
dependencies:
lilconfig: 3.1.3
optionalDependencies:
jiti: 2.4.2
postcss: 8.5.3
+ tsx: 4.19.4
yaml: 2.7.1
optional: true
- postcss-nested@6.2.0(postcss@8.4.49):
- dependencies:
- postcss: 8.4.49
- postcss-selector-parser: 6.1.2
-
postcss-selector-parser@6.0.10:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-selector-parser@6.1.2:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss-value-parser@4.2.0: {}
-
- postcss@8.4.49:
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
postcss@8.5.3:
dependencies:
nanoid: 3.3.11
picocolors: 1.1.1
source-map-js: 1.2.1
- posthog-js@1.223.5(@rrweb/types@2.0.0-alpha.18):
+ posthog-js@1.242.1:
dependencies:
- '@rrweb/types': 2.0.0-alpha.18
core-js: 3.40.0
fflate: 0.4.8
preact: 10.26.2
@@ -4390,14 +4311,14 @@ snapshots:
preact@10.26.2: {}
- prettier-plugin-svelte@3.3.3(prettier@3.5.2)(svelte@5.20.4):
+ prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.28.6):
dependencies:
- prettier: 3.5.2
- svelte: 5.20.4
+ prettier: 3.5.3
+ svelte: 5.28.6
prettier@2.8.8: {}
- prettier@3.5.2: {}
+ prettier@3.5.3: {}
printable-characters@1.0.42: {}
@@ -4407,16 +4328,12 @@ snapshots:
prism-themes@1.9.0: {}
- prismjs@1.29.0: {}
+ prismjs@1.30.0: {}
quansync@0.2.10: {}
queue-microtask@1.2.3: {}
- read-cache@1.0.0:
- dependencies:
- pify: 2.3.0
-
read-yaml-file@1.1.0:
dependencies:
graceful-fs: 4.2.11
@@ -4424,10 +4341,6 @@ snapshots:
pify: 4.0.1
strip-bom: 3.0.0
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
-
readdirp@4.1.2: {}
regexparam@3.0.0: {}
@@ -4442,6 +4355,8 @@ snapshots:
resolve-from@5.0.0: {}
+ resolve-pkg-maps@1.0.0: {}
+
resolve.exports@2.0.3: {}
resolve@1.22.10:
@@ -4450,18 +4365,12 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- resolve@1.22.8:
- dependencies:
- is-core-module: 2.15.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
reusify@1.0.4: {}
rimraf@6.0.1:
dependencies:
glob: 11.0.0
- package-json-from-dist: 1.0.0
+ package-json-from-dist: 1.0.1
rollup-plugin-svelte@7.2.2(rollup@2.79.2)(svelte@4.2.19):
dependencies:
@@ -4510,8 +4419,6 @@ snapshots:
safer-buffer@2.1.2: {}
- semver@7.7.1: {}
-
semver@7.7.2: {}
set-cookie-parser@2.7.1: {}
@@ -4584,8 +4491,6 @@ snapshots:
as-table: 1.0.55
get-source: 2.0.12
- std-env@3.8.0: {}
-
std-env@3.9.0: {}
stoppable@1.1.0: {}
@@ -4612,34 +4517,20 @@ snapshots:
strip-bom@3.0.0: {}
- sucrase@3.35.0:
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- commander: 4.1.1
- glob: 10.4.5
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.6
- ts-interface-checker: 0.1.13
-
- supports-color@7.2.0:
- dependencies:
- has-flag: 4.0.0
-
supports-preserve-symlinks-flag@1.0.0: {}
- sveld@0.22.1(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.7.1))(postcss@8.5.3):
+ sveld@0.22.1(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1))(postcss@8.5.3):
dependencies:
'@rollup/plugin-node-resolve': 13.3.0(rollup@2.79.2)
acorn: 8.14.0
comment-parser: 1.4.1
- prettier: 3.5.2
+ prettier: 3.5.3
rollup: 2.79.2
rollup-plugin-svelte: 7.2.2(rollup@2.79.2)(svelte@4.2.19)
svelte: 4.2.19
- svelte-preprocess: 6.0.3(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.7.1))(postcss@8.5.3)(svelte@4.2.19)(typescript@5.7.3)
+ svelte-preprocess: 6.0.3(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1))(postcss@8.5.3)(svelte@4.2.19)(typescript@5.8.3)
tinyglobby: 0.2.12
- typescript: 5.7.3
+ typescript: 5.8.3
transitivePeerDependencies:
- '@babel/core'
- coffeescript
@@ -4651,53 +4542,50 @@ snapshots:
- stylus
- sugarss
- svelte-check@4.1.4(picomatch@4.0.2)(svelte@5.20.4)(typescript@5.7.3):
+ svelte-check@4.1.7(picomatch@4.0.2)(svelte@5.28.6)(typescript@5.8.3):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
chokidar: 4.0.3
- fdir: 6.4.3(picomatch@4.0.2)
+ fdir: 6.4.4(picomatch@4.0.2)
picocolors: 1.1.1
sade: 1.8.1
- svelte: 5.20.4
- typescript: 5.7.3
+ svelte: 5.28.6
+ typescript: 5.8.3
transitivePeerDependencies:
- picomatch
- svelte-json-tree@2.2.0(svelte@5.20.4):
+ svelte-json-tree@2.2.0(svelte@5.28.6):
dependencies:
- svelte: 5.20.4
+ svelte: 5.28.6
- svelte-preprocess@6.0.3(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.7.1))(postcss@8.5.3)(svelte@4.2.19)(typescript@5.7.3):
+ svelte-preprocess@6.0.3(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1))(postcss@8.5.3)(svelte@4.2.19)(typescript@5.8.3):
dependencies:
svelte: 4.2.19
optionalDependencies:
postcss: 8.5.3
- postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.7.1)
- typescript: 5.7.3
+ postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1)
+ typescript: 5.8.3
- svelte-ux@1.0.0(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.7.1))(postcss@8.5.3)(svelte@5.20.4):
+ svelte-ux@2.0.0-next.13(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1))(postcss@8.5.3)(svelte@5.28.6):
dependencies:
- '@floating-ui/dom': 1.6.13
- '@fortawesome/fontawesome-common-types': 6.7.2
- '@layerstack/svelte-actions': 1.0.0
- '@layerstack/svelte-stores': 1.0.0
- '@layerstack/svelte-table': 1.0.0
- '@layerstack/tailwind': 1.0.0
- '@layerstack/utils': 1.0.0
+ '@floating-ui/dom': 1.7.2
+ '@layerstack/svelte-actions': 1.0.1-next.12
+ '@layerstack/svelte-stores': 1.0.2-next.12
+ '@layerstack/svelte-table': 1.0.1-next.12
+ '@layerstack/tailwind': 2.0.0-next.15
+ '@layerstack/utils': 2.0.0-next.12
'@mdi/js': 7.4.47
- culori: 4.0.1
d3-array: 3.2.4
d3-scale: 4.0.2
- date-fns: 4.1.0
esm-env: 1.2.2
immer: 10.1.1
lodash-es: 4.17.21
prism-svelte: 0.5.0
prism-themes: 1.9.0
- prismjs: 1.29.0
- sveld: 0.22.1(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.7.1))(postcss@8.5.3)
- svelte: 5.20.4
- zod: 3.24.2
+ prismjs: 1.30.0
+ sveld: 0.22.1(postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1))(postcss@8.5.3)
+ svelte: 5.28.6
+ zod: 3.25.67
transitivePeerDependencies:
- '@babel/core'
- coffeescript
@@ -4708,29 +4596,21 @@ snapshots:
- sass
- stylus
- sugarss
- - ts-node
- svelte2tsx@0.7.34(svelte@5.20.4)(typescript@5.7.3):
- dependencies:
- dedent-js: 1.0.1
- pascal-case: 3.1.2
- svelte: 5.20.4
- typescript: 5.7.3
-
- svelte2tsx@0.7.34(svelte@5.28.6)(typescript@5.7.3):
+ svelte2tsx@0.7.37(svelte@5.28.6)(typescript@5.8.3):
dependencies:
dedent-js: 1.0.1
pascal-case: 3.1.2
svelte: 5.28.6
- typescript: 5.7.3
+ typescript: 5.8.3
svelte@4.2.19:
dependencies:
'@ampproject/remapping': 2.3.0
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
- '@types/estree': 1.0.6
- acorn: 8.14.0
+ '@types/estree': 1.0.7
+ acorn: 8.14.1
aria-query: 5.3.2
axobject-query: 4.1.0
code-red: 1.0.4
@@ -4741,23 +4621,6 @@ snapshots:
magic-string: 0.30.17
periscopic: 3.1.0
- svelte@5.20.4:
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@jridgewell/sourcemap-codec': 1.5.0
- '@types/estree': 1.0.6
- acorn: 8.14.0
- acorn-typescript: 1.4.13(acorn@8.14.0)
- aria-query: 5.3.2
- axobject-query: 4.1.0
- clsx: 2.1.1
- esm-env: 1.2.2
- esrap: 1.4.5
- is-reference: 3.0.3
- locate-character: 3.0.0
- magic-string: 0.30.17
- zimmerframe: 1.1.2
-
svelte@5.28.6:
dependencies:
'@ampproject/remapping': 2.3.0
@@ -4775,58 +4638,32 @@ snapshots:
magic-string: 0.30.17
zimmerframe: 1.1.2
- tailwind-merge@2.5.4: {}
-
- tailwindcss@3.4.15:
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.2
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.6
- lilconfig: 2.1.0
- micromatch: 4.0.8
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.1.1
- postcss: 8.4.49
- postcss-import: 15.1.0(postcss@8.4.49)
- postcss-js: 4.0.1(postcss@8.4.49)
- postcss-load-config: 4.0.2(postcss@8.4.49)
- postcss-nested: 6.2.0(postcss@8.4.49)
- postcss-selector-parser: 6.1.2
- resolve: 1.22.8
- sucrase: 3.35.0
- transitivePeerDependencies:
- - ts-node
+ tailwind-merge@3.3.0: {}
- term-size@2.2.1: {}
+ tailwindcss@4.1.6: {}
- test-exclude@7.0.1:
- dependencies:
- '@istanbuljs/schema': 0.1.3
- glob: 10.4.5
- minimatch: 9.0.5
+ tapable@2.2.1: {}
- thenify-all@1.6.0:
+ tar@7.4.3:
dependencies:
- thenify: 3.3.1
+ '@isaacs/fs-minipass': 4.0.1
+ chownr: 3.0.0
+ minipass: 7.1.2
+ minizlib: 3.0.2
+ mkdirp: 3.0.1
+ yallist: 5.0.0
- thenify@3.3.1:
- dependencies:
- any-promise: 1.3.0
+ term-size@2.2.1: {}
tinybench@2.9.0: {}
tinyexec@0.3.2: {}
+ tinyexec@1.0.1: {}
+
tinyglobby@0.2.12:
dependencies:
- fdir: 6.4.3(picomatch@4.0.2)
+ fdir: 6.4.4(picomatch@4.0.2)
picomatch: 4.0.2
tinyglobby@0.2.13:
@@ -4852,18 +4689,22 @@ snapshots:
tr46@0.0.3: {}
- ts-interface-checker@0.1.13: {}
-
tslib@2.8.1: {}
- typescript@5.7.3: {}
+ tsx@4.19.4:
+ dependencies:
+ esbuild: 0.25.4
+ get-tsconfig: 4.10.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ typescript@5.8.3: {}
ufo@1.6.1: {}
- undici-types@6.20.0: {}
+ undici-types@6.21.0: {}
- undici-types@6.21.0:
- optional: true
+ undici-types@7.8.0: {}
undici@5.29.0:
dependencies:
@@ -4877,6 +4718,8 @@ snapshots:
pathe: 2.0.3
ufo: 1.6.1
+ unist-util-is@4.1.0: {}
+
unist-util-is@6.0.0:
dependencies:
'@types/unist': 3.0.2
@@ -4885,11 +4728,22 @@ snapshots:
dependencies:
'@types/unist': 2.0.11
+ unist-util-visit-parents@3.1.1:
+ dependencies:
+ '@types/unist': 2.0.11
+ unist-util-is: 4.1.0
+
unist-util-visit-parents@6.0.1:
dependencies:
'@types/unist': 3.0.2
unist-util-is: 6.0.0
+ unist-util-visit@2.0.3:
+ dependencies:
+ '@types/unist': 2.0.11
+ unist-util-is: 4.1.0
+ unist-util-visit-parents: 3.1.1
+
unist-util-visit@5.0.0:
dependencies:
'@types/unist': 3.0.2
@@ -4898,11 +4752,23 @@ snapshots:
universalify@0.1.2: {}
- update-browserslist-db@1.1.0(browserslist@4.23.3):
+ unplugin-icons@22.1.0(svelte@5.28.6):
+ dependencies:
+ '@antfu/install-pkg': 1.1.0
+ '@iconify/utils': 2.3.0
+ debug: 4.4.1
+ local-pkg: 1.1.1
+ unplugin: 2.3.5
+ optionalDependencies:
+ svelte: 5.28.6
+ transitivePeerDependencies:
+ - supports-color
+
+ unplugin@2.3.5:
dependencies:
- browserslist: 4.23.3
- escalade: 3.1.2
- picocolors: 1.0.1
+ acorn: 8.14.1
+ picomatch: 4.0.2
+ webpack-virtual-modules: 0.6.2
util-deprecate@1.0.2: {}
@@ -4911,13 +4777,13 @@ snapshots:
'@types/unist': 2.0.11
unist-util-stringify-position: 2.0.3
- vite-node@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1):
+ vite-node@3.1.3(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1):
dependencies:
cac: 6.7.14
debug: 4.4.1
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -4932,7 +4798,7 @@ snapshots:
- tsx
- yaml
- vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1):
+ vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1):
dependencies:
esbuild: 0.25.4
fdir: 6.4.4(picomatch@4.0.2)
@@ -4941,19 +4807,21 @@ snapshots:
rollup: 4.40.2
tinyglobby: 0.2.13
optionalDependencies:
- '@types/node': 22.15.18
+ '@types/node': 24.0.1
fsevents: 2.3.3
jiti: 2.4.2
+ lightningcss: 1.29.2
+ tsx: 4.19.4
yaml: 2.7.1
- vitefu@1.0.6(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)):
+ vitefu@1.0.6(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)):
optionalDependencies:
- vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
- vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1):
+ vitest@3.1.3(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1):
dependencies:
'@vitest/expect': 3.1.3
- '@vitest/mocker': 3.1.3(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
+ '@vitest/mocker': 3.1.3(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1))
'@vitest/pretty-format': 3.1.3
'@vitest/runner': 3.1.3
'@vitest/snapshot': 3.1.3
@@ -4970,11 +4838,11 @@ snapshots:
tinyglobby: 0.2.13
tinypool: 1.0.2
tinyrainbow: 2.0.0
- vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
- vite-node: 3.1.3(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
+ vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
+ vite-node: 3.1.3(@types/node@24.0.1)(jiti@2.4.2)(lightningcss@1.29.2)(tsx@4.19.4)(yaml@2.7.1)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 22.15.18
+ '@types/node': 24.0.1
transitivePeerDependencies:
- jiti
- less
@@ -4993,6 +4861,8 @@ snapshots:
webidl-conversions@3.0.1: {}
+ webpack-virtual-modules@0.6.2: {}
+
whatwg-url@5.0.0:
dependencies:
tr46: 0.0.3
@@ -5052,7 +4922,7 @@ snapshots:
ws@8.18.0: {}
- yaml@2.6.1: {}
+ yallist@5.0.0: {}
yaml@2.7.1:
optional: true
@@ -5067,4 +4937,6 @@ snapshots:
zod@3.22.3: {}
- zod@3.24.2: {}
+ zod@3.24.4: {}
+
+ zod@3.25.67: {}
diff --git a/sites/docs/CHANGELOG.md b/sites/docs/CHANGELOG.md
index 4508763..01d1ffe 100644
--- a/sites/docs/CHANGELOG.md
+++ b/sites/docs/CHANGELOG.md
@@ -1,5 +1,27 @@
# @layerstack/docs
+## 1.1.0-next.1
+
+### Patch Changes
+
+- Updated dependencies [[`46c12ab`](https://github.com/techniq/layerstack/commit/46c12ab8d3848611d73d8fddb06e0039351f827c)]:
+ - @layerstack/tailwind@2.0.0-next.1
+
+## 1.1.0-next.0
+
+### Minor Changes
+
+- Tailwind 4 support ([#32](https://github.com/techniq/layerstack/pull/32))
+
+### Patch Changes
+
+- Updated dependencies [[`6cdcb26`](https://github.com/techniq/layerstack/commit/6cdcb26cabd0539cee2885efbaa39e7787a34114), [`c6bb443`](https://github.com/techniq/layerstack/commit/c6bb443d12ee12bd69417dcfa5880b6bf78c9f09), [`c13e65e`](https://github.com/techniq/layerstack/commit/c13e65e059d690cbc282635f6e48a27d715e5997)]:
+ - @layerstack/tailwind@2.0.0-next.0
+ - @layerstack/utils@1.1.0-next.0
+ - @layerstack/svelte-actions@1.0.1-next.0
+ - @layerstack/svelte-stores@1.0.2-next.0
+ - @layerstack/svelte-table@1.0.1-next.0
+
## 1.0.2
### Patch Changes
diff --git a/sites/docs/package.json b/sites/docs/package.json
index 5249e21..e2e4a1c 100644
--- a/sites/docs/package.json
+++ b/sites/docs/package.json
@@ -5,9 +5,9 @@
"license": "MIT",
"private": true,
"repository": "techniq/layerstack",
- "version": "1.0.2",
+ "version": "1.1.0-next.1",
"scripts": {
- "dev": "vite dev",
+ "dev": "vite dev --port 3004",
"build": "vite build",
"preview": "vite preview",
"package": "svelte-package",
@@ -21,35 +21,37 @@
"devDependencies": {
"@changesets/cli": "^2.29.4",
"@fortawesome/free-solid-svg-icons": "^6.7.2",
+ "@iconify-json/lucide": "^1.2.53",
"@sveltejs/adapter-cloudflare": "^7.0.3",
"@sveltejs/kit": "^2.21.0",
"@sveltejs/package": "^2.3.11",
"@sveltejs/vite-plugin-svelte": "^5.0.3",
"@tailwindcss/typography": "^0.5.16",
+ "@tailwindcss/vite": "^4.1.5",
"@types/d3-array": "^3.2.1",
- "@types/lodash-es": "^4.17.12",
"@types/prismjs": "^1.26.5",
- "autoprefixer": "^10.4.19",
- "mdsvex": "^0.12.3",
- "posthog-js": "^1.223.5",
- "prettier": "^3.5.2",
+ "mdsvex": "^0.12.5",
+ "posthog-js": "^1.239.0",
+ "prettier": "^3.5.3",
"prettier-plugin-svelte": "^3.3.3",
"rehype-slug": "^6.0.0",
- "svelte": "^5.20.4",
- "svelte-check": "^4.1.4",
+ "svelte": "^5.28.2",
+ "svelte-check": "^4.1.6",
"svelte-json-tree": "^2.2.0",
- "svelte-ux": "^1.0.0",
- "svelte2tsx": "^0.7.34",
- "tailwindcss": "^3.4.15",
+ "svelte-ux": "2.0.0-next.13",
+ "svelte2tsx": "^0.7.36",
+ "tailwindcss": "^4.1.5",
"tslib": "^2.8.1",
- "typescript": "^5.7.3",
+ "typescript": "^5.8.3",
"unist-util-visit": "^5.0.0",
+ "unplugin-icons": "^22.1.0",
"vite": "^6.3.5"
},
"type": "module",
"dependencies": {
"@fortawesome/fontawesome-common-types": "^6.7.2",
"@layerstack/svelte-actions": "workspace:*",
+ "@layerstack/svelte-state": "workspace:*",
"@layerstack/svelte-stores": "workspace:*",
"@layerstack/svelte-table": "workspace:*",
"@layerstack/tailwind": "workspace:*",
@@ -57,13 +59,11 @@
"@mdi/js": "^7.4.47",
"clsx": "^2.1.1",
"d3-array": "^3.2.4",
- "date-fns": "^4.1.0",
- "lodash-es": "^4.17.21",
"prism-svelte": "^0.5.0",
"prism-themes": "^1.9.0",
- "prismjs": "^1.29.0",
+ "prismjs": "^1.30.0",
"sveld": "^0.22.1",
- "tailwind-merge": "^2.5.4"
+ "tailwind-merge": "^3.2.0"
},
"peerDependencies": {
"svelte": "^3.56.0 || ^4.0.0 || ^5.0.0-next.120"
diff --git a/sites/docs/postcss.config.cjs b/sites/docs/postcss.config.cjs
deleted file mode 100644
index cdbe50f..0000000
--- a/sites/docs/postcss.config.cjs
+++ /dev/null
@@ -1,7 +0,0 @@
-module.exports = {
- plugins: {
- 'tailwindcss/nesting': {},
- tailwindcss: {},
- autoprefixer: {},
- },
-};
diff --git a/sites/docs/src/app.d.ts b/sites/docs/src/app.d.ts
index 9ddf6b0..23f62aa 100644
--- a/sites/docs/src/app.d.ts
+++ b/sites/docs/src/app.d.ts
@@ -1,4 +1,5 @@
///
+export * from 'unplugin-icons/types/svelte';
// See https://kit.svelte.dev/docs/types#app
// for information about these interfaces
diff --git a/sites/docs/src/docs/Blockquote.svelte b/sites/docs/src/docs/Blockquote.svelte
index adde748..3e16321 100644
--- a/sites/docs/src/docs/Blockquote.svelte
+++ b/sites/docs/src/docs/Blockquote.svelte
@@ -6,7 +6,7 @@
a]:font-medium [&>a]:underline [&>a]:decoration-dashed [&>a]:decoration-primary/50 [&>a]:underline-offset-2'
)}
>
diff --git a/sites/docs/src/docs/Code.svelte b/sites/docs/src/docs/Code.svelte
index c843968..5e01aa5 100644
--- a/sites/docs/src/docs/Code.svelte
+++ b/sites/docs/src/docs/Code.svelte
@@ -17,11 +17,11 @@
} = {};
-
+
{#if source}
{@html highlightedSource}
diff --git a/sites/docs/src/docs/Preview.svelte b/sites/docs/src/docs/Preview.svelte
index 01a52fb..ef6d69d 100644
--- a/sites/docs/src/docs/Preview.svelte
+++ b/sites/docs/src/docs/Preview.svelte
@@ -26,7 +26,7 @@
}
-
+
@@ -55,9 +55,9 @@