diff --git a/Makefile b/Makefile
index 674fe1f..a1a58d4 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@ web:
dev:
@go tool templ generate -watch -cmd "go run ./cmd/web"
tw:
- @npx --yes @tailwindcss/cli -i ./pkg/web/input.css -o ./pkg/web/assets/css/styles.css --watch
+ @npx --yes @tailwindcss/cli -i ./pkg/web/input.css -o ./pkg/web/assets/css/styles.css --watch --minify
completions:
diff --git a/pkg/web/assets/css/styles.css b/pkg/web/assets/css/styles.css
index ccc6fa8..9bafc42 100644
--- a/pkg/web/assets/css/styles.css
+++ b/pkg/web/assets/css/styles.css
@@ -1,3568 +1,2 @@
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
-@layer properties;
-@layer theme, base, components, utilities;
-@layer theme {
- :root, :host {
- --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
- "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
- --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
- "Courier New", monospace;
- --color-green-100: oklch(96.2% 0.044 156.743);
- --color-green-800: oklch(44.8% 0.119 151.328);
- --color-teal-700: oklch(51.1% 0.096 186.391);
- --color-gray-500: oklch(55.1% 0.027 264.364);
- --color-gray-600: oklch(44.6% 0.03 256.802);
- --color-gray-800: oklch(27.8% 0.033 256.848);
- --color-black: #000;
- --color-white: #fff;
- --spacing: 0.25rem;
- --container-xs: 20rem;
- --container-lg: 32rem;
- --text-xs: 0.75rem;
- --text-xs--line-height: calc(1 / 0.75);
- --text-sm: 0.875rem;
- --text-sm--line-height: calc(1.25 / 0.875);
- --text-lg: 1.125rem;
- --text-lg--line-height: calc(1.75 / 1.125);
- --text-xl: 1.25rem;
- --text-xl--line-height: calc(1.75 / 1.25);
- --text-2xl: 1.5rem;
- --text-2xl--line-height: calc(2 / 1.5);
- --text-3xl: 1.875rem;
- --text-3xl--line-height: calc(2.25 / 1.875);
- --font-weight-semibold: 600;
- --font-weight-bold: 700;
- --ease-out: cubic-bezier(0, 0, 0.2, 1);
- --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
- --default-transition-duration: 150ms;
- --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- --default-font-family: var(--font-sans);
- --default-mono-font-family: var(--font-mono);
- }
-}
-@layer base {
- *, ::after, ::before, ::backdrop, ::file-selector-button {
- box-sizing: border-box;
- margin: 0;
- padding: 0;
- border: 0 solid;
- }
- html, :host {
- line-height: 1.5;
- -webkit-text-size-adjust: 100%;
- tab-size: 4;
- font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
- font-feature-settings: var(--default-font-feature-settings, normal);
- font-variation-settings: var(--default-font-variation-settings, normal);
- -webkit-tap-highlight-color: transparent;
- }
- hr {
- height: 0;
- color: inherit;
- border-top-width: 1px;
- }
- abbr:where([title]) {
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
- }
- h1, h2, h3, h4, h5, h6 {
- font-size: inherit;
- font-weight: inherit;
- }
- a {
- color: inherit;
- -webkit-text-decoration: inherit;
- text-decoration: inherit;
- }
- b, strong {
- font-weight: bolder;
- }
- code, kbd, samp, pre {
- font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
- font-feature-settings: var(--default-mono-font-feature-settings, normal);
- font-variation-settings: var(--default-mono-font-variation-settings, normal);
- font-size: 1em;
- }
- small {
- font-size: 80%;
- }
- sub, sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
- }
- sub {
- bottom: -0.25em;
- }
- sup {
- top: -0.5em;
- }
- table {
- text-indent: 0;
- border-color: inherit;
- border-collapse: collapse;
- }
- :-moz-focusring {
- outline: auto;
- }
- progress {
- vertical-align: baseline;
- }
- summary {
- display: list-item;
- }
- ol, ul, menu {
- list-style: none;
- }
- img, svg, video, canvas, audio, iframe, embed, object {
- display: block;
- vertical-align: middle;
- }
- img, video {
- max-width: 100%;
- height: auto;
- }
- button, input, select, optgroup, textarea, ::file-selector-button {
- font: inherit;
- font-feature-settings: inherit;
- font-variation-settings: inherit;
- letter-spacing: inherit;
- color: inherit;
- border-radius: 0;
- background-color: transparent;
- opacity: 1;
- }
- :where(select:is([multiple], [size])) optgroup {
- font-weight: bolder;
- }
- :where(select:is([multiple], [size])) optgroup option {
- padding-inline-start: 20px;
- }
- ::file-selector-button {
- margin-inline-end: 4px;
- }
- ::placeholder {
- opacity: 1;
- }
- @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
- ::placeholder {
- color: currentcolor;
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, currentcolor 50%, transparent);
- }
- }
- }
- textarea {
- resize: vertical;
- }
- ::-webkit-search-decoration {
- -webkit-appearance: none;
- }
- ::-webkit-date-and-time-value {
- min-height: 1lh;
- text-align: inherit;
- }
- ::-webkit-datetime-edit {
- display: inline-flex;
- }
- ::-webkit-datetime-edit-fields-wrapper {
- padding: 0;
- }
- ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
- padding-block: 0;
- }
- ::-webkit-calendar-picker-indicator {
- line-height: 1;
- }
- :-moz-ui-invalid {
- box-shadow: none;
- }
- button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
- appearance: button;
- }
- ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
- height: auto;
- }
- [hidden]:where(:not([hidden="until-found"])) {
- display: none !important;
- }
-}
-@layer utilities {
- .diff {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- display: grid;
- width: 100%;
- overflow: hidden;
- webkit-user-select: none;
- user-select: none;
- grid-template-rows: 1fr 1.8rem 1fr;
- direction: ltr;
- container-type: inline-size;
- grid-template-columns: auto 1fr;
- &:focus-visible, &:has(.diff-item-1:focus-visible) {
- outline-style: var(--tw-outline-style);
- outline-width: 2px;
- outline-offset: 1px;
- outline-color: var(--color-base-content);
- }
- &:focus-visible {
- outline-style: var(--tw-outline-style);
- outline-width: 2px;
- outline-offset: 1px;
- outline-color: var(--color-base-content);
- .diff-resizer {
- min-width: 95cqi;
- max-width: 95cqi;
- }
- }
- &:has(.diff-item-1:focus-visible) {
- outline-style: var(--tw-outline-style);
- outline-width: 2px;
- outline-offset: 1px;
- .diff-resizer {
- min-width: 5cqi;
- max-width: 5cqi;
- }
- }
- @supports (-webkit-overflow-scrolling: touch) and (overflow: -webkit-paged-x) {
- &:focus {
- .diff-resizer {
- min-width: 5cqi;
- max-width: 5cqi;
- }
- }
- &:has(.diff-item-1:focus) {
- .diff-resizer {
- min-width: 95cqi;
- max-width: 95cqi;
- }
- }
- }
- }
- }
- .fab {
- @layer daisyui.l1.l2.l3 {
- pointer-events: none;
- position: fixed;
- inset-inline-end: calc(0.25rem * 4);
- bottom: calc(0.25rem * 4);
- z-index: 999;
- display: flex;
- flex-direction: column-reverse;
- align-items: flex-end;
- gap: calc(0.25rem * 2);
- font-size: var(--text-sm);
- line-height: var(--tw-leading, var(--text-sm--line-height));
- white-space: nowrap;
- > * {
- pointer-events: auto;
- display: flex;
- align-items: center;
- gap: calc(0.25rem * 2);
- &:hover, &:has(:focus-visible) {
- z-index: 1;
- }
- }
- > [tabindex] {
- &:first-child {
- position: relative;
- display: grid;
- transition-property: opacity, visibility, rotate;
- transition-duration: 0.2s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- }
- }
- .fab-close {
- position: absolute;
- inset-inline-end: calc(0.25rem * 0);
- bottom: calc(0.25rem * 0);
- }
- .fab-main-action {
- position: absolute;
- inset-inline-end: calc(0.25rem * 0);
- bottom: calc(0.25rem * 0);
- }
- &:focus-within {
- &:has(.fab-close), &:has(.fab-main-action) {
- > [tabindex] {
- rotate: 90deg;
- opacity: 0%;
- }
- }
- > [tabindex]:first-child {
- pointer-events: none;
- }
- > :nth-child(n + 2) {
- visibility: visible;
- --tw-scale-x: 100%;
- --tw-scale-y: 100%;
- --tw-scale-z: 100%;
- scale: var(--tw-scale-x) var(--tw-scale-y);
- opacity: 100%;
- }
- }
- > :nth-child(n + 2) {
- visibility: hidden;
- --tw-scale-x: 80%;
- --tw-scale-y: 80%;
- --tw-scale-z: 80%;
- scale: var(--tw-scale-x) var(--tw-scale-y);
- opacity: 0%;
- transition-property: opacity, scale, visibility;
- transition-duration: 0.2s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- &.fab-main-action, &.fab-close {
- --tw-scale-x: 100%;
- --tw-scale-y: 100%;
- --tw-scale-z: 100%;
- scale: var(--tw-scale-x) var(--tw-scale-y);
- }
- }
- > :nth-child(3) {
- transition-delay: 30ms;
- }
- > :nth-child(4) {
- transition-delay: 60ms;
- }
- > :nth-child(5) {
- transition-delay: 90ms;
- }
- > :nth-child(6) {
- transition-delay: 120ms;
- }
- }
- }
- .tooltip {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- display: inline-block;
- --tt-bg: var(--color-neutral);
- --tt-off: calc(100% + 0.5rem);
- --tt-tail: calc(100% + 1px + 0.25rem);
- & > .tooltip-content, &[data-tip]:before {
- position: absolute;
- max-width: 20rem;
- border-radius: var(--radius-field);
- padding-inline: calc(0.25rem * 2);
- padding-block: calc(0.25rem * 1);
- text-align: center;
- white-space: normal;
- color: var(--color-neutral-content);
- opacity: 0%;
- font-size: 0.875rem;
- line-height: 1.25;
- background-color: var(--tt-bg);
- width: max-content;
- pointer-events: none;
- z-index: 2;
- --tw-content: attr(data-tip);
- content: var(--tw-content);
- }
- &:after {
- opacity: 0%;
- background-color: var(--tt-bg);
- content: "";
- pointer-events: none;
- width: 0.625rem;
- height: 0.25rem;
- display: block;
- position: absolute;
- mask-repeat: no-repeat;
- mask-position: -1px 0;
- --mask-tooltip: url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");
- mask-image: var(--mask-tooltip);
- }
- @media (prefers-reduced-motion: no-preference) {
- & > .tooltip-content, &[data-tip]:before, &:after {
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;
- }
- }
- &:is([data-tip]:not([data-tip=""]), :has(.tooltip-content:not(:empty))) {
- &.tooltip-open, &:hover, &:has(:focus-visible) {
- & > .tooltip-content, &[data-tip]:before, &:after {
- opacity: 100%;
- --tt-pos: 0rem;
- @media (prefers-reduced-motion: no-preference) {
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0s, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0s;
- }
- }
- }
- }
- }
- @layer daisyui.l1.l2 {
- > .tooltip-content, &[data-tip]:before {
- transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
- inset: auto auto var(--tt-off) 50%;
- }
- &:after {
- transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
- inset: auto auto var(--tt-tail) 50%;
- }
- }
- }
- .tab {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- display: inline-flex;
- cursor: pointer;
- appearance: none;
- flex-wrap: wrap;
- align-items: center;
- justify-content: center;
- text-align: center;
- webkit-user-select: none;
- user-select: none;
- &:hover {
- @media (hover: hover) {
- color: var(--color-base-content);
- }
- }
- --tab-p: 0.75rem;
- --tab-bg: var(--color-base-100);
- --tab-border-color: var(--color-base-300);
- --tab-radius-ss: 0;
- --tab-radius-se: 0;
- --tab-radius-es: 0;
- --tab-radius-ee: 0;
- --tab-order: 0;
- --tab-radius-min: calc(0.75rem - var(--border));
- --tab-radius-limit: min(var(--radius-field), var(--tab-radius-min));
- --tab-radius-grad: #0000 calc(69% - var(--border)),
- var(--tab-border-color) calc(69% - var(--border) + 0.25px),
- var(--tab-border-color) 69%,
- var(--tab-bg) calc(69% + 0.25px);
- border-color: #0000;
- order: var(--tab-order);
- height: var(--tab-height);
- font-size: 0.875rem;
- padding-inline: var(--tab-p);
- &:is(input[type="radio"]) {
- min-width: fit-content;
- &:after {
- --tw-content: attr(aria-label);
- content: var(--tw-content);
- }
- }
- &:is(label) {
- position: relative;
- input {
- position: absolute;
- inset: calc(0.25rem * 0);
- cursor: pointer;
- appearance: none;
- opacity: 0%;
- }
- }
- &:checked, &:is(label:has(:checked)), &:is(.tab-active, [aria-selected="true"], [aria-current="true"], [aria-current="page"]) {
- & + .tab-content {
- display: block;
- }
- }
- &:not( :checked, label:has(:checked), :hover, .tab-active, [aria-selected="true"], [aria-current="true"], [aria-current="page"] ) {
- color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
- }
- }
- &:not(input):empty {
- flex-grow: 1;
- cursor: default;
- }
- &:focus {
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- }
- &:focus-visible, &:is(label:has(:checked:focus-visible)) {
- outline: 2px solid currentColor;
- outline-offset: -5px;
- }
- &[disabled] {
- pointer-events: none;
- opacity: 40%;
- }
- }
- }
- .menu {
- @layer daisyui.l1.l2.l3 {
- display: flex;
- width: fit-content;
- flex-direction: column;
- flex-wrap: wrap;
- padding: calc(0.25rem * 2);
- --menu-active-fg: var(--color-neutral-content);
- --menu-active-bg: var(--color-neutral);
- font-size: 0.875rem;
- :where(li ul) {
- position: relative;
- margin-inline-start: calc(0.25rem * 4);
- padding-inline-start: calc(0.25rem * 2);
- white-space: nowrap;
- &:before {
- position: absolute;
- inset-inline-start: calc(0.25rem * 0);
- top: calc(0.25rem * 3);
- bottom: calc(0.25rem * 3);
- background-color: var(--color-base-content);
- opacity: 10%;
- width: var(--border);
- content: "";
- }
- }
- :where(li > .menu-dropdown:not(.menu-dropdown-show)) {
- display: none;
- }
- :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
- display: grid;
- grid-auto-flow: column;
- align-content: flex-start;
- align-items: center;
- gap: calc(0.25rem * 2);
- border-radius: var(--radius-field);
- padding-inline: calc(0.25rem * 3);
- padding-block: calc(0.25rem * 1.5);
- text-align: start;
- transition-property: color, background-color, box-shadow;
- transition-duration: 0.2s;
- transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
- grid-auto-columns: minmax(auto, max-content) auto max-content;
- text-wrap: balance;
- user-select: none;
- }
- :where(li > details > summary) {
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- &::-webkit-details-marker {
- display: none;
- }
- }
- :where(li > details > summary), :where(li > .menu-dropdown-toggle) {
- &:after {
- justify-self: flex-end;
- display: block;
- height: 0.375rem;
- width: 0.375rem;
- rotate: -135deg;
- translate: 0 -1px;
- transition-property: rotate, translate;
- transition-duration: 0.2s;
- content: "";
- transform-origin: 50% 50%;
- box-shadow: 2px 2px inset;
- pointer-events: none;
- }
- }
- details {
- overflow: hidden;
- interpolate-size: allow-keywords;
- }
- details::details-content {
- block-size: 0;
- @media (prefers-reduced-motion: no-preference) {
- transition-behavior: allow-discrete;
- transition-property: block-size, content-visibility;
- transition-duration: 0.2s;
- transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
- }
- }
- details[open]::details-content {
- block-size: auto;
- }
- :where(li > details[open] > summary):after, :where(li > .menu-dropdown-toggle.menu-dropdown-show):after {
- rotate: 45deg;
- translate: 0 1px;
- }
- :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title) ):not(.menu-active, :active, .btn) {
- &.menu-focus, &:focus-visible {
- cursor: pointer;
- background-color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
- }
- color: var(--color-base-content);
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- }
- }
- :where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover ) {
- cursor: pointer;
- background-color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
- }
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset;
- }
- :where(li:empty) {
- background-color: var(--color-base-content);
- opacity: 10%;
- margin: 0.5rem 1rem;
- height: 1px;
- }
- :where(li) {
- position: relative;
- display: flex;
- flex-shrink: 0;
- flex-direction: column;
- flex-wrap: wrap;
- align-items: stretch;
- .badge {
- justify-self: flex-end;
- }
- & > *:not(ul, .menu-title, details, .btn):active, & > *:not(ul, .menu-title, details, .btn).menu-active, & > details > summary:active {
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- color: var(--menu-active-fg);
- background-color: var(--menu-active-bg);
- background-size: auto, calc(var(--noise) * 100%);
- background-image: none, var(--fx-noise);
- &:not(&:active) {
- box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg);
- }
- }
- &.menu-disabled {
- pointer-events: none;
- color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
- }
- }
- }
- .dropdown:focus-within {
- .menu-dropdown-toggle:after {
- rotate: 45deg;
- translate: 0 1px;
- }
- }
- .dropdown-content {
- margin-top: calc(0.25rem * 2);
- padding: calc(0.25rem * 2);
- &:before {
- display: none;
- }
- }
- }
- }
- .collapse-arrow {
- @layer daisyui.l1.l2 {
- > .collapse-title:after {
- position: absolute;
- display: block;
- height: 0.5rem;
- width: 0.5rem;
- transform: translateY(-100%) rotate(45deg);
- @media (prefers-reduced-motion: no-preference) {
- transition-property: all;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-duration: 0.2s;
- }
- top: 50%;
- inset-inline-end: 1.4rem;
- content: "";
- transform-origin: 75% 75%;
- box-shadow: 2px 2px;
- pointer-events: none;
- }
- }
- }
- .collapse-plus {
- @layer daisyui.l1.l2 {
- > .collapse-title:after {
- position: absolute;
- display: block;
- height: 0.5rem;
- width: 0.5rem;
- @media (prefers-reduced-motion: no-preference) {
- transition-property: all;
- transition-duration: 300ms;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- }
- top: 0.9rem;
- inset-inline-end: 1.4rem;
- --tw-content: "+";
- content: var(--tw-content);
- pointer-events: none;
- }
- }
- }
- .dropdown {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- display: inline-block;
- position-area: var(--anchor-v, bottom) var(--anchor-h, span-right);
- & > *:not(:has(~ [class*="dropdown-content"])):focus {
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- }
- .dropdown-content {
- position: absolute;
- }
- &.dropdown-close .dropdown-content, &:not(details, .dropdown-open, .dropdown-hover:hover, :focus-within) .dropdown-content, &.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible) ~ .dropdown-content {
- display: none;
- transform-origin: top;
- opacity: 0%;
- scale: 95%;
- }
- &[popover], .dropdown-content {
- z-index: 999;
- @media (prefers-reduced-motion: no-preference) {
- animation: dropdown 0.2s;
- transition-property: opacity, scale, display;
- transition-behavior: allow-discrete;
- transition-duration: 0.2s;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- }
- }
- @starting-style {
- &[popover], .dropdown-content {
- scale: 95%;
- opacity: 0;
- }
- }
- &:not(.dropdown-close) {
- &.dropdown-open, &:not(.dropdown-hover):focus, &:focus-within {
- > [tabindex]:first-child {
- pointer-events: none;
- }
- .dropdown-content {
- opacity: 100%;
- scale: 100%;
- }
- }
- &.dropdown-hover:hover {
- .dropdown-content {
- opacity: 100%;
- scale: 100%;
- }
- }
- }
- &:is(details) {
- summary {
- &::-webkit-details-marker {
- display: none;
- }
- }
- }
- &:where([popover]) {
- background: #0000;
- }
- &[popover] {
- position: fixed;
- color: inherit;
- @supports not (position-area: bottom) {
- margin: auto;
- &.dropdown-close, &.dropdown-open:not(:popover-open) {
- display: none;
- transform-origin: top;
- opacity: 0%;
- scale: 95%;
- }
- &::backdrop {
- background-color: color-mix(in oklab, #000 30%, #0000);
- }
- }
- &.dropdown-close, &:not(.dropdown-open, :popover-open) {
- display: none;
- transform-origin: top;
- opacity: 0%;
- scale: 95%;
- }
- }
- }
- }
- .btn {
- :where(&) {
- @layer daisyui.l1.l2.l3 {
- width: unset;
- }
- }
- @layer daisyui.l1.l2.l3 {
- display: inline-flex;
- flex-shrink: 0;
- cursor: pointer;
- flex-wrap: nowrap;
- align-items: center;
- justify-content: center;
- gap: calc(0.25rem * 1.5);
- text-align: center;
- vertical-align: middle;
- outline-offset: 2px;
- webkit-user-select: none;
- user-select: none;
- padding-inline: var(--btn-p);
- color: var(--btn-fg);
- --tw-prose-links: var(--btn-fg);
- height: var(--size);
- font-size: var(--fontsize, 0.875rem);
- font-weight: 600;
- outline-color: var(--btn-color, var(--color-base-content));
- transition-property: color, background-color, border-color, box-shadow;
- transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
- transition-duration: 0.2s;
- border-start-start-radius: var(--join-ss, var(--radius-field));
- border-start-end-radius: var(--join-se, var(--radius-field));
- border-end-start-radius: var(--join-es, var(--radius-field));
- border-end-end-radius: var(--join-ee, var(--radius-field));
- background-color: var(--btn-bg);
- background-size: auto, calc(var(--noise) * 100%);
- background-image: none, var(--btn-noise);
- border-width: var(--border);
- border-style: solid;
- border-color: var(--btn-border);
- text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15));
- touch-action: manipulation;
- box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);
- --size: calc(var(--size-field, 0.25rem) * 10);
- --btn-bg: var(--btn-color, var(--color-base-200));
- --btn-fg: var(--color-base-content);
- --btn-p: 1rem;
- --btn-border: var(--btn-bg);
- @supports (color: color-mix(in lab, red, red)) {
- --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
- }
- --btn-shadow: 0 3px 2px -2px var(--btn-bg),
- 0 4px 3px -2px var(--btn-bg);
- @supports (color: color-mix(in lab, red, red)) {
- --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000),
- 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
- }
- --btn-noise: var(--fx-noise);
- @media (hover: hover) {
- &:hover {
- --btn-bg: var(--btn-color, var(--color-base-200));
- @supports (color: color-mix(in lab, red, red)) {
- --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
- }
- }
- }
- &:focus-visible, &:has(:focus-visible) {
- outline-width: 2px;
- outline-style: solid;
- isolation: isolate;
- }
- &:active:not(.btn-active) {
- translate: 0 0.5px;
- --btn-bg: var(--btn-color, var(--color-base-200));
- @supports (color: color-mix(in lab, red, red)) {
- --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);
- }
- --btn-border: var(--btn-color, var(--color-base-200));
- @supports (color: color-mix(in lab, red, red)) {
- --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
- }
- --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
- }
- &:is(input[type="checkbox"], input[type="radio"]) {
- appearance: none;
- &[aria-label]::after {
- --tw-content: attr(aria-label);
- content: var(--tw-content);
- }
- }
- &:where(input:checked:not(.filter .btn)) {
- --btn-color: var(--color-primary);
- --btn-fg: var(--color-primary-content);
- isolation: isolate;
- }
- }
- &:disabled {
- @layer daisyui.l1.l2 {
- &:not(.btn-link, .btn-ghost) {
- background-color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
- }
- box-shadow: none;
- }
- pointer-events: none;
- --btn-border: #0000;
- --btn-noise: none;
- --btn-fg: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
- }
- }
- }
- &[disabled] {
- @layer daisyui.l1.l2 {
- &:not(.btn-link, .btn-ghost) {
- background-color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
- }
- box-shadow: none;
- }
- pointer-events: none;
- --btn-border: #0000;
- --btn-noise: none;
- --btn-fg: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
- }
- }
- }
- }
- .loading {
- @layer daisyui.l1.l2.l3 {
- pointer-events: none;
- display: inline-block;
- aspect-ratio: 1 / 1;
- background-color: currentcolor;
- vertical-align: middle;
- width: calc(var(--size-selector, 0.25rem) * 6);
- mask-size: 100%;
- mask-repeat: no-repeat;
- mask-position: center;
- mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
- }
- }
- .collapse {
- &:not(td, tr, colgroup) {
- visibility: revert-layer;
- }
- @layer daisyui.l1.l2.l3 {
- display: grid;
- position: relative;
- overflow: hidden;
- border-radius: var(--radius-box, 1rem);
- width: 100%;
- grid-template-rows: max-content 0fr;
- grid-template-columns: minmax(0, 1fr);
- isolation: isolate;
- @media (prefers-reduced-motion: no-preference) {
- transition: grid-template-rows 0.2s;
- }
- > input:is([type="checkbox"], [type="radio"]) {
- grid-column-start: 1;
- grid-row-start: 1;
- appearance: none;
- opacity: 0;
- z-index: 1;
- width: 100%;
- padding: 1rem;
- padding-inline-end: 3rem;
- min-height: 1lh;
- transition: background-color 0.2s ease-out;
- }
- &:is( [open], [tabindex]:focus:not(.collapse-close), [tabindex]:focus-within:not(.collapse-close) ), &:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked) {
- grid-template-rows: max-content 1fr;
- }
- &:is( [open], [tabindex]:focus:not(.collapse-close), [tabindex]:focus-within:not(.collapse-close) ) > .collapse-content, &:not(.collapse-close) > :where(input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-content) {
- content-visibility: visible;
- min-height: fit-content;
- @supports not (content-visibility: visible) {
- visibility: visible;
- }
- }
- &:focus-visible, &:has(> input:is([type="checkbox"], [type="radio"]):focus-visible), &:has(summary:focus-visible) {
- outline-color: var(--color-base-content);
- outline-style: solid;
- outline-width: 2px;
- outline-offset: 2px;
- }
- &:not(.collapse-close) {
- > input[type="checkbox"], > input[type="radio"]:not(:checked), > .collapse-title {
- cursor: pointer;
- }
- }
- &[tabindex]:focus:not(.collapse-close, .collapse[open]), &[tabindex]:focus-within:not(.collapse-close, .collapse[open]) {
- > .collapse-title {
- cursor: unset;
- }
- }
- &:is( [open], [tabindex]:focus:not(.collapse-close), [tabindex]:focus-within:not(.collapse-close) ) > :where(.collapse-content), &:not(.collapse-close) > :where(input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-content) {
- padding-bottom: 1rem;
- }
- }
- @layer daisyui.l1.l2 {
- &:is([open]) {
- &.collapse-arrow {
- > .collapse-title:after {
- @media (prefers-reduced-motion: no-preference) {
- transform: translateY(-50%) rotate(225deg);
- }
- }
- }
- }
- &.collapse-open {
- &.collapse-arrow {
- > .collapse-title:after {
- @media (prefers-reduced-motion: no-preference) {
- transform: translateY(-50%) rotate(225deg);
- }
- }
- }
- &.collapse-plus {
- > .collapse-title:after {
- --tw-content: "−";
- content: var(--tw-content);
- }
- }
- }
- &[tabindex].collapse-arrow:focus:not(.collapse-close), &.collapse-arrow[tabindex]:focus-within:not(.collapse-close) {
- > .collapse-title:after {
- transform: translateY(-50%) rotate(225deg);
- }
- }
- &.collapse-arrow:not(.collapse-close) {
- > input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-title:after {
- transform: translateY(-50%) rotate(225deg);
- }
- }
- &[open] {
- &.collapse-plus {
- > .collapse-title:after {
- --tw-content: "−";
- content: var(--tw-content);
- }
- }
- }
- &[tabindex].collapse-plus:focus:not(.collapse-close) {
- > .collapse-title:after {
- --tw-content: "−";
- content: var(--tw-content);
- }
- }
- &.collapse-plus:not(.collapse-close) {
- > input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-title:after {
- --tw-content: "−";
- content: var(--tw-content);
- }
- }
- }
- &:is(details) {
- @layer daisyui.l1.l2.l3 {
- width: 100%;
- @media (prefers-reduced-motion: no-preference) {
- &::details-content {
- transition: content-visibility 0.2s allow-discrete, visibility 0.2s allow-discrete, min-height 0.2s ease-out allow-discrete, padding 0.1s ease-out 20ms, background-color 0.2s ease-out, height 0.2s;
- height: 0;
- interpolate-size: allow-keywords;
- }
- &:where([open])::details-content {
- height: auto;
- }
- }
- & summary {
- position: relative;
- display: block;
- &::-webkit-details-marker {
- display: none;
- }
- }
- & > .collapse-content {
- content-visibility: visible;
- }
- }
- }
- &:is(details) summary {
- @layer daisyui.l1.l2.l3 {
- outline: none;
- }
- }
- }
- .collapse-content {
- @layer daisyui.l1.l2.l3 {
- grid-column-start: 1;
- grid-row-start: 1;
- }
- @layer daisyui.l1.l2.l3 {
- content-visibility: hidden;
- grid-column-start: 1;
- grid-row-start: 2;
- min-height: 0;
- padding-left: 1rem;
- padding-right: 1rem;
- cursor: unset;
- @supports not (content-visibility: hidden) {
- visibility: hidden;
- }
- @media (prefers-reduced-motion: no-preference) {
- transition: content-visibility 0.2s allow-discrete, visibility 0.2s allow-discrete, min-height 0.2s ease-out allow-discrete, padding 0.1s ease-out 20ms, background-color 0.2s ease-out;
- }
- }
- }
- .validator-hint {
- @layer daisyui.l1.l2.l3 {
- visibility: hidden;
- margin-top: calc(0.25rem * 2);
- font-size: 0.75rem;
- }
- }
- .validator {
- @layer daisyui.l1.l2.l3 {
- &:user-valid, &:has(:user-valid) {
- &, &:focus, &:checked, &[aria-checked="true"], &:focus-within {
- --input-color: var(--color-success);
- }
- }
- &:user-invalid, &:has(:user-invalid), &[aria-invalid]:not([aria-invalid="false"]), &:has([aria-invalid]:not([aria-invalid="false"])) {
- &, &:focus, &:checked, &[aria-checked="true"], &:focus-within {
- --input-color: var(--color-error);
- }
- & ~ .validator-hint {
- visibility: visible;
- color: var(--color-error);
- }
- }
- }
- &:user-invalid, &:has(:user-invalid), &[aria-invalid]:not([aria-invalid="false"]), &:has([aria-invalid]:not([aria-invalid="false"])) {
- & ~ .validator-hint {
- display: revert-layer;
- }
- }
- }
- .collapse-open {
- @layer daisyui.l1.l2 {
- grid-template-rows: max-content 1fr;
- > .collapse-content {
- content-visibility: visible;
- min-height: fit-content;
- padding-bottom: 1rem;
- @supports not (content-visibility: visible) {
- visibility: visible;
- }
- }
- }
- }
- .collapse {
- visibility: collapse;
- }
- .visible {
- visibility: visible;
- }
- .list {
- @layer daisyui.l1.l2.l3 {
- display: flex;
- flex-direction: column;
- font-size: 0.875rem;
- .list-row {
- --list-grid-cols: minmax(0, auto) 1fr;
- position: relative;
- display: grid;
- grid-auto-flow: column;
- gap: calc(0.25rem * 4);
- border-radius: var(--radius-box);
- padding: calc(0.25rem * 4);
- word-break: break-word;
- grid-template-columns: var(--list-grid-cols);
- }
- & > :not(:last-child) {
- &.list-row, .list-row {
- &:after {
- content: "";
- border-bottom: var(--border) solid;
- inset-inline: var(--radius-box);
- position: absolute;
- bottom: calc(0.25rem * 0);
- border-color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- border-color: color-mix(in oklab, var(--color-base-content) 5%, transparent);
- }
- }
- }
- }
- }
- @layer daisyui.l1.l2 {
- .list-row {
- &:has(.list-col-grow:nth-child(1)) {
- --list-grid-cols: 1fr;
- }
- &:has(.list-col-grow:nth-child(2)) {
- --list-grid-cols: minmax(0, auto) 1fr;
- }
- &:has(.list-col-grow:nth-child(3)) {
- --list-grid-cols: minmax(0, auto) minmax(0, auto) 1fr;
- }
- &:has(.list-col-grow:nth-child(4)) {
- --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
- }
- &:has(.list-col-grow:nth-child(5)) {
- --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
- }
- &:has(.list-col-grow:nth-child(6)) {
- --list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto)
- minmax(0, auto) 1fr;
- }
- > * {
- grid-row-start: 1;
- }
- }
- }
- }
- .toast {
- @layer daisyui.l1.l2.l3 {
- position: fixed;
- inset-inline-start: auto;
- inset-inline-end: calc(0.25rem * 4);
- top: auto;
- bottom: calc(0.25rem * 4);
- display: flex;
- flex-direction: column;
- gap: calc(0.25rem * 2);
- background-color: transparent;
- translate: var(--toast-x, 0) var(--toast-y, 0);
- width: max-content;
- max-width: calc(100vw - 2rem);
- & > * {
- @media (prefers-reduced-motion: no-preference) {
- animation: toast 0.25s ease-out;
- }
- }
- }
- }
- .input {
- @layer daisyui.l1.l2.l3 {
- cursor: text;
- border: var(--border) solid #0000;
- position: relative;
- display: inline-flex;
- flex-shrink: 1;
- appearance: none;
- align-items: center;
- gap: calc(0.25rem * 2);
- background-color: var(--color-base-100);
- padding-inline: calc(0.25rem * 3);
- vertical-align: middle;
- white-space: nowrap;
- width: clamp(3rem, 20rem, 100%);
- height: var(--size);
- font-size: max(var(--font-size, 0.875rem), 0.875rem);
- touch-action: manipulation;
- border-start-start-radius: var(--join-ss, var(--radius-field));
- border-start-end-radius: var(--join-se, var(--radius-field));
- border-end-start-radius: var(--join-es, var(--radius-field));
- border-end-end-radius: var(--join-ee, var(--radius-field));
- border-color: var(--input-color);
- box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
- @supports (color: color-mix(in lab, red, red)) {
- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
- }
- --size: calc(var(--size-field, 0.25rem) * 10);
- --input-color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
- }
- &:where(input) {
- display: inline-flex;
- }
- :where(input) {
- display: inline-flex;
- height: 100%;
- width: 100%;
- appearance: none;
- background-color: transparent;
- border: none;
- &:focus, &:focus-within {
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- }
- }
- :where(input[type="url"]), :where(input[type="email"]) {
- direction: ltr;
- }
- :where(input[type="date"]) {
- display: inline-flex;
- }
- &:focus, &:focus-within {
- --input-color: var(--color-base-content);
- box-shadow: 0 1px var(--input-color);
- @supports (color: color-mix(in lab, red, red)) {
- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
- }
- outline: 2px solid var(--input-color);
- outline-offset: 2px;
- isolation: isolate;
- }
- @media (pointer: coarse) {
- @supports (-webkit-touch-callout: none) {
- &:focus, &:focus-within {
- --font-size: 1rem;
- }
- }
- }
- &:has(> input[disabled]), &:is(:disabled, [disabled]), fieldset:disabled & {
- cursor: not-allowed;
- border-color: var(--color-base-200);
- background-color: var(--color-base-200);
- color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
- }
- &::placeholder {
- color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
- }
- }
- box-shadow: none;
- }
- &:has(> input[disabled]) > input[disabled] {
- cursor: not-allowed;
- }
- &::-webkit-date-and-time-value {
- text-align: inherit;
- }
- &[type="number"] {
- &::-webkit-inner-spin-button {
- margin-block: calc(0.25rem * -3);
- margin-inline-end: calc(0.25rem * -3);
- }
- }
- &::-webkit-calendar-picker-indicator {
- position: absolute;
- inset-inline-end: 0.75em;
- }
- &:has(> input[type="date"]) {
- :where(input[type="date"]) {
- display: inline-flex;
- webkit-appearance: none;
- appearance: none;
- }
- input[type="date"]::-webkit-calendar-picker-indicator {
- position: absolute;
- inset-inline-end: 0.75em;
- width: 1em;
- height: 1em;
- cursor: pointer;
- }
- }
- }
- }
- .indicator {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- display: inline-flex;
- width: max-content;
- :where(.indicator-item) {
- z-index: 1;
- position: absolute;
- white-space: nowrap;
- top: var(--indicator-t, 0);
- bottom: var(--indicator-b, auto);
- left: var(--indicator-s, auto);
- right: var(--indicator-e, 0);
- translate: var(--indicator-x, 50%) var(--indicator-y, -50%);
- }
- }
- }
- .table {
- @layer daisyui.l1.l2.l3 {
- font-size: 0.875rem;
- position: relative;
- width: 100%;
- border-collapse: separate;
- --tw-border-spacing-x: calc(0.25rem * 0);
- --tw-border-spacing-y: calc(0.25rem * 0);
- border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
- border-radius: var(--radius-box);
- text-align: left;
- &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
- text-align: right;
- }
- tr.row-hover {
- &, &:nth-child(even) {
- &:hover {
- @media (hover: hover) {
- background-color: var(--color-base-200);
- }
- }
- }
- }
- :where(th, td) {
- padding-inline: calc(0.25rem * 4);
- padding-block: calc(0.25rem * 3);
- vertical-align: middle;
- }
- :where(thead, tfoot) {
- white-space: nowrap;
- color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
- }
- font-size: 0.875rem;
- font-weight: 600;
- }
- :where(tfoot tr:first-child :is(td, th)) {
- border-top: var(--border) solid var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
- }
- }
- :where(.table-pin-rows thead tr) {
- position: sticky;
- top: calc(0.25rem * 0);
- z-index: 1;
- background-color: var(--color-base-100);
- }
- :where(.table-pin-rows tfoot tr) {
- position: sticky;
- bottom: calc(0.25rem * 0);
- z-index: 1;
- background-color: var(--color-base-100);
- }
- :where(.table-pin-cols tr th) {
- position: sticky;
- right: calc(0.25rem * 0);
- left: calc(0.25rem * 0);
- background-color: var(--color-base-100);
- }
- :where(thead tr :is(td, th), tbody tr:not(:last-child) :is(td, th)) {
- border-bottom: var(--border) solid var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
- }
- }
- }
- }
- .range {
- @layer daisyui.l1.l2.l3 {
- appearance: none;
- webkit-appearance: none;
- --range-thumb: var(--color-base-100);
- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
- --range-progress: currentColor;
- --range-fill: 1;
- --range-p: 0.25rem;
- --range-bg: currentColor;
- @supports (color: color-mix(in lab, red, red)) {
- --range-bg: color-mix(in oklab, currentColor 10%, #0000);
- }
- cursor: pointer;
- overflow: hidden;
- background-color: transparent;
- vertical-align: middle;
- width: clamp(3rem, 20rem, 100%);
- --radius-selector-max: calc(
- var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
- );
- border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
- border: none;
- height: var(--range-thumb-size);
- [dir="rtl"] & {
- --range-dir: -1;
- }
- &:focus {
- outline: none;
- }
- &:focus-visible {
- outline: 2px solid;
- outline-offset: 2px;
- }
- &::-webkit-slider-runnable-track {
- width: 100%;
- background-color: var(--range-bg);
- border-radius: var(--radius-selector);
- height: calc(var(--range-thumb-size) * 0.5);
- }
- @media (forced-colors: active) {
- &::-webkit-slider-runnable-track {
- border: 1px solid;
- }
- }
- @media (forced-colors: active) {
- &::-moz-range-track {
- border: 1px solid;
- }
- }
- &::-webkit-slider-thumb {
- position: relative;
- box-sizing: border-box;
- border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
- background-color: var(--range-thumb);
- height: var(--range-thumb-size);
- width: var(--range-thumb-size);
- border: var(--range-p) solid;
- appearance: none;
- webkit-appearance: none;
- top: 50%;
- color: var(--range-progress);
- transform: translateY(-50%);
- box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
- @supports (color: color-mix(in lab, red, red)) {
- box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
- }
- }
- &::-moz-range-track {
- width: 100%;
- background-color: var(--range-bg);
- border-radius: var(--radius-selector);
- height: calc(var(--range-thumb-size) * 0.5);
- }
- &::-moz-range-thumb {
- position: relative;
- box-sizing: border-box;
- border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
- background-color: currentColor;
- height: var(--range-thumb-size);
- width: var(--range-thumb-size);
- border: var(--range-p) solid;
- top: 50%;
- color: var(--range-progress);
- box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
- @supports (color: color-mix(in lab, red, red)) {
- box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100cqw) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));
- }
- }
- &:disabled {
- cursor: not-allowed;
- opacity: 30%;
- }
- }
- }
- .diff-resizer {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- isolation: isolate;
- z-index: 2;
- grid-column-start: 1;
- grid-row-start: 2;
- height: calc(0.25rem * 3);
- width: 50cqi;
- max-width: calc(100cqi - 1rem);
- min-width: 1rem;
- resize: horizontal;
- overflow: hidden;
- opacity: 0%;
- transform: scaleY(5) translate(0.32rem, 50%);
- cursor: ew-resize;
- transform-origin: 100% 100%;
- clip-path: inset(calc(100% - 0.75rem) 0 0 calc(100% - 0.75rem));
- transition: min-width 0.3s ease-out, max-width 0.3s ease-out;
- }
- }
- .select {
- @layer daisyui.l1.l2.l3 {
- border: var(--border) solid #0000;
- position: relative;
- display: inline-flex;
- flex-shrink: 1;
- appearance: none;
- align-items: center;
- gap: calc(0.25rem * 1.5);
- background-color: var(--color-base-100);
- padding-inline-start: calc(0.25rem * 3);
- padding-inline-end: calc(0.25rem * 7);
- vertical-align: middle;
- width: clamp(3rem, 20rem, 100%);
- height: var(--size);
- font-size: 0.875rem;
- touch-action: manipulation;
- border-start-start-radius: var(--join-ss, var(--radius-field));
- border-start-end-radius: var(--join-se, var(--radius-field));
- border-end-start-radius: var(--join-es, var(--radius-field));
- border-end-end-radius: var(--join-ee, var(--radius-field));
- background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%);
- background-position: calc(100% - 20px) calc(1px + 50%), calc(100% - 16.1px) calc(1px + 50%);
- background-size: 4px 4px, 4px 4px;
- background-repeat: no-repeat;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
- @supports (color: color-mix(in lab, red, red)) {
- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
- }
- border-color: var(--input-color);
- --input-color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
- }
- --size: calc(var(--size-field, 0.25rem) * 10);
- [dir="rtl"] & {
- background-position: calc(0% + 12px) calc(1px + 50%), calc(0% + 16px) calc(1px + 50%);
- &::picker(select), select::picker(select) {
- translate: 0.5rem 0;
- }
- }
- &[multiple] {
- height: auto;
- overflow: auto;
- padding-block: calc(0.25rem * 3);
- padding-inline-end: calc(0.25rem * 3);
- background-image: none;
- }
- select {
- margin-inline-start: calc(0.25rem * -3);
- margin-inline-end: calc(0.25rem * -7);
- width: calc(100% + 2.75rem);
- appearance: none;
- padding-inline-start: calc(0.25rem * 3);
- padding-inline-end: calc(0.25rem * 7);
- height: calc(100% - calc(var(--border) * 2));
- align-items: center;
- background: inherit;
- border-radius: inherit;
- border-style: none;
- &:focus, &:focus-within {
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- }
- &:not(:last-child) {
- margin-inline-end: calc(0.25rem * -5.5);
- background-image: none;
- }
- }
- &:focus, &:focus-within {
- --input-color: var(--color-base-content);
- box-shadow: 0 1px var(--input-color);
- @supports (color: color-mix(in lab, red, red)) {
- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
- }
- outline: 2px solid var(--input-color);
- outline-offset: 2px;
- isolation: isolate;
- }
- &:has(> select[disabled]), &:is(:disabled, [disabled]), fieldset:disabled & {
- cursor: not-allowed;
- border-color: var(--color-base-200);
- background-color: var(--color-base-200);
- color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
- }
- &::placeholder {
- color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
- }
- }
- }
- &:has(> select[disabled]) > select[disabled] {
- cursor: not-allowed;
- }
- &, & select {
- @supports (appearance: base-select) {
- appearance: base-select;
- }
- @supports (appearance: base-select) {
- &::picker(select) {
- appearance: base-select;
- }
- }
- &::picker(select) {
- color: inherit;
- max-height: min(24rem, 70dvh);
- margin-inline: 0.5rem;
- translate: -0.5rem 0;
- border: var(--border) solid var(--color-base-200);
- margin-block: calc(0.25rem * 2);
- border-radius: var(--radius-box);
- padding: calc(0.25rem * 2);
- background-color: inherit;
- box-shadow: 0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/0.2);
- box-shadow: 0 20px 25px -5px rgb(0 0 0 / calc(var(--depth) * 0.1)), 0 8px 10px -6px rgb(0 0 0 / calc(var(--depth) * 0.1));
- }
- &::picker-icon {
- display: none;
- }
- optgroup {
- padding-top: 0.5em;
- option {
- &:nth-child(1) {
- margin-top: 0.5em;
- }
- }
- }
- option {
- border-radius: var(--radius-field);
- padding-inline: calc(0.25rem * 3);
- padding-block: calc(0.25rem * 1.5);
- transition-property: color, background-color;
- transition-duration: 0.2s;
- transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
- white-space: normal;
- &:not(:disabled) {
- &:hover, &:focus-visible {
- cursor: pointer;
- background-color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
- }
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- }
- &:active {
- background-color: var(--color-neutral);
- color: var(--color-neutral-content);
- box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--color-neutral);
- }
- }
- }
- }
- }
- }
- .swap {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- display: inline-grid;
- cursor: pointer;
- place-content: center;
- vertical-align: middle;
- webkit-user-select: none;
- user-select: none;
- input {
- appearance: none;
- border: none;
- }
- > * {
- grid-column-start: 1;
- grid-row-start: 1;
- @media (prefers-reduced-motion: no-preference) {
- transition-property: transform, rotate, opacity;
- transition-duration: 0.2s;
- transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
- }
- }
- .swap-on, .swap-indeterminate, input:indeterminate ~ .swap-on {
- opacity: 0%;
- }
- input:is(:checked, :indeterminate) {
- & ~ .swap-off {
- opacity: 0%;
- }
- }
- input:checked ~ .swap-on, input:indeterminate ~ .swap-indeterminate {
- opacity: 100%;
- backface-visibility: visible;
- }
- }
- }
- .collapse-title {
- @layer daisyui.l1.l2.l3 {
- grid-column-start: 1;
- grid-row-start: 1;
- }
- @layer daisyui.l1.l2.l3 {
- position: relative;
- width: 100%;
- padding: 1rem;
- padding-inline-end: 3rem;
- min-height: 1lh;
- transition: background-color 0.2s ease-out;
- }
- }
- .checkbox {
- @layer daisyui.l1.l2.l3 {
- border: var(--border) solid var(--input-color, var(--color-base-content));
- @supports (color: color-mix(in lab, red, red)) {
- border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000));
- }
- position: relative;
- display: inline-block;
- flex-shrink: 0;
- cursor: pointer;
- appearance: none;
- border-radius: var(--radius-selector);
- padding: calc(0.25rem * 1);
- vertical-align: middle;
- color: var(--color-base-content);
- box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000;
- transition: background-color 0.2s, box-shadow 0.2s;
- --size: calc(var(--size-selector, 0.25rem) * 6);
- width: var(--size);
- height: var(--size);
- background-size: auto, calc(var(--noise) * 100%);
- background-image: none, var(--fx-noise);
- &:before {
- --tw-content: "";
- content: var(--tw-content);
- display: block;
- width: 100%;
- height: 100%;
- rotate: 45deg;
- background-color: currentcolor;
- opacity: 0%;
- transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s;
- transition-delay: 0.1s;
- clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);
- box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
- font-size: 1rem;
- line-height: 0.75;
- }
- &:focus-visible {
- outline: 2px solid var(--input-color, currentColor);
- outline-offset: 2px;
- }
- &:checked, &[aria-checked="true"] {
- background-color: var(--input-color, #0000);
- box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
- &:before {
- clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
- opacity: 100%;
- }
- @media (forced-colors: active) {
- &:before {
- rotate: 0deg;
- background-color: transparent;
- --tw-content: "✔︎";
- clip-path: none;
- }
- }
- @media print {
- &:before {
- rotate: 0deg;
- background-color: transparent;
- --tw-content: "✔︎";
- clip-path: none;
- }
- }
- }
- &:indeterminate {
- background-color: var( --input-color, var(--color-base-content) );
- @supports (color: color-mix(in lab, red, red)) {
- background-color: var( --input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000) );
- }
- &:before {
- rotate: 0deg;
- opacity: 100%;
- translate: 0 -35%;
- clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
- }
- }
- }
- &:disabled {
- @layer daisyui.l1.l2 {
- cursor: not-allowed;
- opacity: 20%;
- }
- }
- }
- .radio {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- display: inline-block;
- flex-shrink: 0;
- cursor: pointer;
- appearance: none;
- border-radius: calc(infinity * 1px);
- padding: calc(0.25rem * 1);
- vertical-align: middle;
- border: var(--border) solid var(--input-color, currentColor);
- @supports (color: color-mix(in lab, red, red)) {
- border: var(--border) solid var(--input-color, color-mix(in srgb, currentColor 20%, #0000));
- }
- box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset;
- --size: calc(var(--size-selector, 0.25rem) * 6);
- width: var(--size);
- height: var(--size);
- color: var(--input-color, currentColor);
- &:before {
- display: block;
- width: 100%;
- height: 100%;
- border-radius: calc(infinity * 1px);
- --tw-content: "";
- content: var(--tw-content);
- background-size: auto, calc(var(--noise) * 100%);
- background-image: none, var(--fx-noise);
- }
- &:focus-visible {
- outline: 2px solid currentColor;
- }
- &:checked, &[aria-checked="true"] {
- border-color: currentcolor;
- background-color: var(--color-base-100);
- @media (prefers-reduced-motion: no-preference) {
- animation: radio 0.2s ease-out;
- }
- &:before {
- background-color: currentcolor;
- box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
- }
- @media (forced-colors: active) {
- &:before {
- outline-style: var(--tw-outline-style);
- outline-width: 1px;
- outline-offset: calc(1px * -1);
- }
- }
- @media print {
- &:before {
- outline: 0.25rem solid;
- outline-offset: -1rem;
- }
- }
- }
- }
- &:disabled {
- @layer daisyui.l1.l2 {
- cursor: not-allowed;
- opacity: 20%;
- }
- }
- }
- .rating {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- display: inline-flex;
- vertical-align: middle;
- & input {
- border: none;
- appearance: none;
- }
- :where(*) {
- height: calc(0.25rem * 6);
- width: calc(0.25rem * 6);
- border-radius: 0;
- background-color: var(--color-base-content);
- opacity: 20%;
- @media (prefers-reduced-motion: no-preference) {
- animation: rating 0.25s ease-out;
- }
- &:is(input) {
- cursor: pointer;
- }
- }
- & .rating-hidden {
- width: calc(0.25rem * 2);
- background-color: transparent;
- }
- input[type="radio"]:checked {
- background-image: none;
- }
- * {
- &:checked, &[aria-checked="true"], &[aria-current="true"], &:has(~ *:checked, ~ *[aria-checked="true"], ~ *[aria-current="true"]) {
- opacity: 100%;
- }
- &:focus-visible {
- scale: 1.1;
- @media (prefers-reduced-motion: no-preference) {
- transition: scale 0.2s ease-out;
- }
- }
- }
- & *:active:focus {
- animation: none;
- scale: 1.1;
- }
- }
- @layer daisyui.l1.l2 {
- &.rating-xs :where(*:not(.rating-hidden)) {
- width: calc(0.25rem * 4);
- height: calc(0.25rem * 4);
- }
- &.rating-sm :where(*:not(.rating-hidden)) {
- width: calc(0.25rem * 5);
- height: calc(0.25rem * 5);
- }
- &.rating-md :where(*:not(.rating-hidden)) {
- width: calc(0.25rem * 6);
- height: calc(0.25rem * 6);
- }
- &.rating-lg :where(*:not(.rating-hidden)) {
- width: calc(0.25rem * 7);
- height: calc(0.25rem * 7);
- }
- &.rating-xl :where(*:not(.rating-hidden)) {
- width: calc(0.25rem * 8);
- height: calc(0.25rem * 8);
- }
- }
- }
- .stats {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- display: inline-grid;
- grid-auto-flow: column;
- overflow-x: auto;
- border-radius: var(--radius-box);
- }
- }
- .progress {
- @layer daisyui.l1.l2.l3 {
- position: relative;
- height: calc(0.25rem * 2);
- width: 100%;
- appearance: none;
- overflow: hidden;
- border-radius: var(--radius-box);
- background-color: currentcolor;
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, currentcolor 20%, transparent);
- }
- color: var(--color-base-content);
- &:indeterminate {
- background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
- background-size: 200%;
- background-position-x: 15%;
- @media (prefers-reduced-motion: no-preference) {
- animation: progress 5s ease-in-out infinite;
- }
- @supports (-moz-appearance: none) {
- &::-moz-progress-bar {
- background-color: transparent;
- @media (prefers-reduced-motion: no-preference) {
- animation: progress 5s ease-in-out infinite;
- background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
- background-size: 200%;
- background-position-x: 15%;
- }
- }
- }
- }
- @supports (-moz-appearance: none) {
- &::-moz-progress-bar {
- border-radius: var(--radius-box);
- background-color: currentcolor;
- }
- }
- @supports (-webkit-appearance: none) {
- &::-webkit-progress-bar {
- border-radius: var(--radius-box);
- background-color: transparent;
- }
- &::-webkit-progress-value {
- border-radius: var(--radius-box);
- background-color: currentColor;
- }
- }
- }
- }
- .absolute {
- position: absolute;
- }
- .relative {
- position: relative;
- }
- .static {
- position: static;
- }
- .tooltip-top {
- @layer daisyui.l1.l2 {
- > .tooltip-content, &[data-tip]:before {
- transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
- inset: auto auto var(--tt-off) 50%;
- }
- &:after {
- transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
- inset: auto auto var(--tt-tail) 50%;
- }
- }
- }
- .join {
- display: inline-flex;
- align-items: stretch;
- --join-ss: 0;
- --join-se: 0;
- --join-es: 0;
- --join-ee: 0;
- :where(.join-item) {
- border-start-start-radius: var(--join-ss, 0);
- border-start-end-radius: var(--join-se, 0);
- border-end-start-radius: var(--join-es, 0);
- border-end-end-radius: var(--join-ee, 0);
- * {
- --join-ss: var(--radius-field);
- --join-se: var(--radius-field);
- --join-es: var(--radius-field);
- --join-ee: var(--radius-field);
- }
- }
- > .join-item:where(:first-child) {
- --join-ss: var(--radius-field);
- --join-se: 0;
- --join-es: var(--radius-field);
- --join-ee: 0;
- }
- :first-child:not(:last-child) {
- :where(.join-item) {
- --join-ss: var(--radius-field);
- --join-se: 0;
- --join-es: var(--radius-field);
- --join-ee: 0;
- }
- }
- > .join-item:where(:last-child) {
- --join-ss: 0;
- --join-se: var(--radius-field);
- --join-es: 0;
- --join-ee: var(--radius-field);
- }
- :last-child:not(:first-child) {
- :where(.join-item) {
- --join-ss: 0;
- --join-se: var(--radius-field);
- --join-es: 0;
- --join-ee: var(--radius-field);
- }
- }
- > .join-item:where(:only-child) {
- --join-ss: var(--radius-field);
- --join-se: var(--radius-field);
- --join-es: var(--radius-field);
- --join-ee: var(--radius-field);
- }
- :only-child {
- :where(.join-item) {
- --join-ss: var(--radius-field);
- --join-se: var(--radius-field);
- --join-es: var(--radius-field);
- --join-ee: var(--radius-field);
- }
- }
- > :where(:focus, :has(:focus)) {
- z-index: 1;
- }
- @media (hover: hover) {
- > :where(.btn:hover, :has(.btn:hover)) {
- isolation: isolate;
- }
- }
- }
- .textarea {
- @layer daisyui.l1.l2.l3 {
- border: var(--border) solid #0000;
- min-height: calc(0.25rem * 20);
- flex-shrink: 1;
- appearance: none;
- border-radius: var(--radius-field);
- background-color: var(--color-base-100);
- padding-block: calc(0.25rem * 2);
- vertical-align: middle;
- width: clamp(3rem, 20rem, 100%);
- padding-inline-start: 0.75rem;
- padding-inline-end: 0.75rem;
- font-size: max(var(--font-size, 0.875rem), 0.875rem);
- touch-action: manipulation;
- border-color: var(--input-color);
- box-shadow: 0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
- @supports (color: color-mix(in lab, red, red)) {
- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
- }
- --input-color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
- }
- textarea {
- appearance: none;
- background-color: transparent;
- border: none;
- &:focus, &:focus-within {
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- }
- }
- &:focus, &:focus-within {
- --input-color: var(--color-base-content);
- box-shadow: 0 1px var(--input-color);
- @supports (color: color-mix(in lab, red, red)) {
- box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
- }
- outline: 2px solid var(--input-color);
- outline-offset: 2px;
- isolation: isolate;
- }
- @media (pointer: coarse) {
- @supports (-webkit-touch-callout: none) {
- &:focus, &:focus-within {
- --font-size: 1rem;
- }
- }
- }
- &:has(> textarea[disabled]), &:is(:disabled, [disabled]) {
- cursor: not-allowed;
- border-color: var(--color-base-200);
- background-color: var(--color-base-200);
- color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
- }
- &::placeholder {
- color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
- }
- }
- box-shadow: none;
- }
- &:has(> textarea[disabled]) > textarea[disabled] {
- cursor: not-allowed;
- }
- }
- }
- .stack {
- @layer daisyui.l1.l2.l3 {
- display: inline-grid;
- grid-template-columns: 3px 4px 1fr 4px 3px;
- grid-template-rows: 3px 4px 1fr 4px 3px;
- & > * {
- height: 100%;
- width: 100%;
- &:nth-child(n + 2) {
- width: 100%;
- opacity: 70%;
- }
- &:nth-child(2) {
- z-index: 2;
- opacity: 90%;
- }
- &:nth-child(1) {
- z-index: 3;
- width: 100%;
- }
- }
- }
- @layer daisyui.l1.l2 {
- &, &.stack-bottom {
- > * {
- grid-column: 3 / 4;
- grid-row: 3 / 6;
- &:nth-child(2) {
- grid-column: 2 / 5;
- grid-row: 2 / 5;
- }
- &:nth-child(1) {
- grid-column: 1 / 6;
- grid-row: 1 / 4;
- }
- }
- }
- &.stack-top {
- > * {
- grid-column: 3 / 4;
- grid-row: 1 / 4;
- &:nth-child(2) {
- grid-column: 2 / 5;
- grid-row: 2 / 5;
- }
- &:nth-child(1) {
- grid-column: 1 / 6;
- grid-row: 3 / 6;
- }
- }
- }
- &.stack-start {
- > * {
- grid-column: 1 / 4;
- grid-row: 3 / 4;
- &:nth-child(2) {
- grid-column: 2 / 5;
- grid-row: 2 / 5;
- }
- &:nth-child(1) {
- grid-column: 3 / 6;
- grid-row: 1 / 6;
- }
- }
- }
- &.stack-end {
- > * {
- grid-column: 3 / 6;
- grid-row: 3 / 4;
- &:nth-child(2) {
- grid-column: 2 / 5;
- grid-row: 2 / 5;
- }
- &:nth-child(1) {
- grid-column: 1 / 4;
- grid-row: 1 / 6;
- }
- }
- }
- }
- }
- .tab-content {
- @layer daisyui.l1.l2.l3 {
- order: var(--tabcontent-order);
- display: none;
- border-color: transparent;
- --tabcontent-radius-ss: var(--radius-box);
- --tabcontent-radius-se: var(--radius-box);
- --tabcontent-radius-es: var(--radius-box);
- --tabcontent-radius-ee: var(--radius-box);
- --tabcontent-order: 1;
- width: 100%;
- height: calc(100% - var(--tab-height) + var(--border));
- margin: var(--tabcontent-margin);
- border-width: var(--border);
- border-start-start-radius: var(--tabcontent-radius-ss);
- border-start-end-radius: var(--tabcontent-radius-se);
- border-end-start-radius: var(--tabcontent-radius-es);
- border-end-end-radius: var(--tabcontent-radius-ee);
- }
- }
- .m-5 {
- margin: calc(var(--spacing) * 5);
- }
- .filter {
- @layer daisyui.l1.l2.l3 {
- display: flex;
- flex-wrap: wrap;
- input[type="radio"] {
- width: auto;
- }
- input {
- overflow: hidden;
- opacity: 100%;
- scale: 1;
- transition: margin 0.1s, opacity 0.3s, padding 0.3s, border-width 0.1s;
- &:not(:last-child) {
- margin-inline-end: calc(0.25rem * 1);
- }
- &.filter-reset {
- aspect-ratio: 1 / 1;
- &::after {
- --tw-content: "×";
- content: var(--tw-content);
- }
- }
- }
- &:not(:has(input:checked:not(.filter-reset))) {
- .filter-reset, input[type="reset"] {
- scale: 0;
- border-width: 0;
- margin-inline: calc(0.25rem * 0);
- width: calc(0.25rem * 0);
- padding-inline: calc(0.25rem * 0);
- opacity: 0%;
- }
- }
- &:has(input:checked:not(.filter-reset)) {
- input:not(:checked, .filter-reset, input[type="reset"]) {
- scale: 0;
- border-width: 0;
- margin-inline: calc(0.25rem * 0);
- width: calc(0.25rem * 0);
- padding-inline: calc(0.25rem * 0);
- opacity: 0%;
- }
- }
- }
- }
- .mx-auto {
- margin-inline: auto;
- }
- .input-lg {
- @layer daisyui.l1.l2 {
- --size: calc(var(--size-field, 0.25rem) * 12);
- font-size: max(var(--font-size, 1.125rem), 1.125rem);
- &[type="number"] {
- &::-webkit-inner-spin-button {
- margin-block: calc(0.25rem * -3);
- margin-inline-end: calc(0.25rem * -3);
- }
- }
- }
- }
- .input-sm {
- @layer daisyui.l1.l2 {
- --size: calc(var(--size-field, 0.25rem) * 8);
- font-size: max(var(--font-size, 0.75rem), 0.75rem);
- &[type="number"] {
- &::-webkit-inner-spin-button {
- margin-block: calc(0.25rem * -2);
- margin-inline-end: calc(0.25rem * -3);
- }
- }
- }
- }
- .input-xl {
- @layer daisyui.l1.l2 {
- --size: calc(var(--size-field, 0.25rem) * 14);
- font-size: max(var(--font-size, 1.375rem), 1.375rem);
- &[type="number"] {
- &::-webkit-inner-spin-button {
- margin-block: calc(0.25rem * -4);
- margin-inline-end: calc(0.25rem * -3);
- }
- }
- }
- }
- .input-xs {
- @layer daisyui.l1.l2 {
- --size: calc(var(--size-field, 0.25rem) * 6);
- font-size: max(var(--font-size, 0.6875rem), 0.6875rem);
- &[type="number"] {
- &::-webkit-inner-spin-button {
- margin-block: calc(0.25rem * -1);
- margin-inline-end: calc(0.25rem * -3);
- }
- }
- }
- }
- .label {
- @layer daisyui.l1.l2.l3 {
- display: inline-flex;
- align-items: center;
- gap: calc(0.25rem * 1.5);
- white-space: nowrap;
- color: currentcolor;
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, currentcolor 60%, transparent);
- }
- &:has(input) {
- cursor: pointer;
- }
- &:is(.input > *, .select > *) {
- display: flex;
- height: calc(100% - 0.5rem);
- align-items: center;
- padding-inline: calc(0.25rem * 3);
- white-space: nowrap;
- font-size: inherit;
- &:first-child {
- margin-inline-start: calc(0.25rem * -3);
- margin-inline-end: calc(0.25rem * 3);
- border-inline-end: var(--border) solid currentColor;
- @supports (color: color-mix(in lab, red, red)) {
- border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
- }
- }
- &:last-child {
- margin-inline-start: calc(0.25rem * 3);
- margin-inline-end: calc(0.25rem * -3);
- border-inline-start: var(--border) solid currentColor;
- @supports (color: color-mix(in lab, red, red)) {
- border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
- }
- }
- }
- }
- }
- .mt-0 {
- margin-top: calc(var(--spacing) * 0);
- }
- .mt-0\! {
- margin-top: calc(var(--spacing) * 0) !important;
- }
- .mt-2 {
- margin-top: calc(var(--spacing) * 2);
- }
- .mt-4 {
- margin-top: calc(var(--spacing) * 4);
- }
- .fieldset-legend {
- @layer daisyui.l1.l2.l3 {
- margin-bottom: calc(0.25rem * -1);
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: calc(0.25rem * 2);
- padding-block: calc(0.25rem * 2);
- color: var(--color-base-content);
- font-weight: 600;
- }
- }
- .mb-4 {
- margin-bottom: calc(var(--spacing) * 4);
- }
- .mb-12 {
- margin-bottom: calc(var(--spacing) * 12);
- }
- .status {
- @layer daisyui.l1.l2.l3 {
- display: inline-block;
- aspect-ratio: 1 / 1;
- width: calc(0.25rem * 2);
- height: calc(0.25rem * 2);
- border-radius: var(--radius-selector);
- background-color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
- }
- background-position: center;
- background-repeat: no-repeat;
- vertical-align: middle;
- color: color-mix(in srgb, #000 30%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-black) 30%, transparent);
- }
- background-image: radial-gradient( circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000 );
- box-shadow: 0 2px 3px -1px currentColor;
- @supports (color: color-mix(in lab, red, red)) {
- box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000);
- }
- }
- }
- .badge {
- @layer daisyui.l1.l2.l3 {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- gap: calc(0.25rem * 2);
- border-radius: var(--radius-selector);
- vertical-align: middle;
- color: var(--badge-fg);
- border: var(--border) solid var(--badge-color, var(--color-base-200));
- font-size: 0.875rem;
- width: fit-content;
- background-size: auto, calc(var(--noise) * 100%);
- background-image: none, var(--fx-noise);
- background-color: var(--badge-bg);
- --badge-bg: var(--badge-color, var(--color-base-100));
- --badge-fg: var(--color-base-content);
- --size: calc(var(--size-selector, 0.25rem) * 6);
- height: var(--size);
- padding-inline: calc(var(--size) / 2 - var(--border));
- }
- }
- .kbd {
- box-shadow: none;
- @layer daisyui.l1.l2.l3 {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- border-radius: var(--radius-field);
- background-color: var(--color-base-200);
- vertical-align: middle;
- padding-inline: 0.5em;
- border: var(--border) solid var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- border: var(--border) solid color-mix(in srgb, var(--color-base-content) 20%, #0000);
- }
- border-bottom: calc(var(--border) + 1px) solid var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- border-bottom: calc(var(--border) + 1px) solid color-mix(in srgb, var(--color-base-content) 20%, #0000);
- }
- --size: calc(var(--size-selector, 0.25rem) * 6);
- font-size: 0.875rem;
- height: var(--size);
- min-width: var(--size);
- }
- }
- .stat {
- @layer daisyui.l1.l2.l3 {
- display: inline-grid;
- width: 100%;
- column-gap: calc(0.25rem * 4);
- padding-inline: calc(0.25rem * 6);
- padding-block: calc(0.25rem * 4);
- grid-template-columns: repeat(1, 1fr);
- &:not(:last-child) {
- border-inline-end: var(--border) dashed currentColor;
- @supports (color: color-mix(in lab, red, red)) {
- border-inline-end: var(--border) dashed color-mix(in oklab, currentColor 10%, #0000);
- }
- border-block-end: none;
- }
- }
- }
- .fieldset-label {
- @layer daisyui.l1.l2.l3 {
- display: flex;
- align-items: center;
- gap: calc(0.25rem * 1.5);
- color: var(--color-base-content);
- @supports (color: color-mix(in lab, red, red)) {
- color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
- }
- &:has(input) {
- cursor: pointer;
- }
- }
- }
- .alert {
- border-width: var(--border);
- border-color: var(--alert-border-color, var(--color-base-200));
- @layer daisyui.l1.l2.l3 {
- border-style: solid;
- --alert-border-color: var(--color-base-200);
- display: grid;
- align-items: center;
- gap: calc(0.25rem * 4);
- border-radius: var(--radius-box);
- padding-inline: calc(0.25rem * 4);
- padding-block: calc(0.25rem * 3);
- color: var(--color-base-content);
- background-color: var(--alert-color, var(--color-base-200));
- justify-content: start;
- justify-items: start;
- grid-auto-flow: column;
- grid-template-columns: auto;
- text-align: start;
- font-size: 0.875rem;
- line-height: 1.25rem;
- background-size: auto, calc(var(--noise) * 100%);
- background-image: none, var(--fx-noise);
- box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08));
- @supports (color: color-mix(in lab, red, red)) {
- box-shadow: 0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * 0.08)) inset, 0 1px color-mix( in oklab, color-mix(in oklab, #000 20%, var(--alert-color, var(--color-base-200))) calc(var(--depth) * 20%), #0000 ), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * 0.08));
- }
- &:has(:nth-child(2)) {
- grid-template-columns: auto minmax(auto, 1fr);
- }
- }
- }
- .fieldset {
- @layer daisyui.l1.l2.l3 {
- display: grid;
- gap: calc(0.25rem * 1.5);
- padding-block: calc(0.25rem * 1);
- font-size: 0.75rem;
- grid-template-columns: 1fr;
- grid-auto-rows: max-content;
- }
- }
- .mask {
- @layer daisyui.l1.l2.l3 {
- display: inline-block;
- vertical-align: middle;
- mask-size: contain;
- mask-repeat: no-repeat;
- mask-position: center;
- }
- }
- .block {
- display: block;
- }
- .flex {
- display: flex;
- }
- .hidden {
- display: none;
- }
- .inline {
- display: inline;
- }
- .table {
- display: table;
- }
- .h-6 {
- height: calc(var(--spacing) * 6);
- }
- .w-full {
- width: 100%;
- }
- .max-w-7 {
- max-width: calc(var(--spacing) * 7);
- }
- .max-w-lg {
- max-width: var(--container-lg);
- }
- .max-w-xs {
- max-width: var(--container-xs);
- }
- .flex-1 {
- flex: 1;
- }
- .flex-shrink {
- flex-shrink: 1;
- }
- .flex-grow {
- flex-grow: 1;
- }
- .grow {
- flex-grow: 1;
- }
- .border-collapse {
- border-collapse: collapse;
- }
- .transform {
- transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
- }
- .skeleton {
- @layer daisyui.l1.l2.l3 {
- border-radius: var(--radius-box);
- background-color: var(--color-base-300);
- @media (prefers-reduced-motion: reduce) {
- transition-duration: 15s;
- }
- will-change: background-position;
- background-image: linear-gradient( 105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100% );
- background-size: 200% auto;
- background-position-x: -50%;
- @media (prefers-reduced-motion: no-preference) {
- animation: skeleton 1.8s ease-in-out infinite;
- }
- }
- }
- .link {
- @layer daisyui.l1.l2.l3 {
- cursor: pointer;
- text-decoration-line: underline;
- &:focus {
- --tw-outline-style: none;
- outline-style: none;
- @media (forced-colors: active) {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- }
- &:focus-visible {
- outline: 2px solid currentColor;
- outline-offset: 2px;
- }
- }
- }
- .resize {
- resize: both;
- }
- .flex-col {
- flex-direction: column;
- }
- .flex-wrap {
- flex-wrap: wrap;
- }
- .items-center {
- align-items: center;
- }
- .items-start {
- align-items: flex-start;
- }
- .justify-between {
- justify-content: space-between;
- }
- .justify-center {
- justify-content: center;
- }
- .gap-2 {
- gap: calc(var(--spacing) * 2);
- }
- .gap-6 {
- gap: calc(var(--spacing) * 6);
- }
- .space-y-1 {
- :where(& > :not(:last-child)) {
- --tw-space-y-reverse: 0;
- margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
- margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
- }
- }
- .space-y-2 {
- :where(& > :not(:last-child)) {
- --tw-space-y-reverse: 0;
- margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
- margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
- }
- }
- .space-x-1 {
- :where(& > :not(:last-child)) {
- --tw-space-x-reverse: 0;
- margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
- margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
- }
- }
- .truncate {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .overflow-x-auto {
- overflow-x: auto;
- }
- .rounded {
- border-radius: 0.25rem;
- }
- .border {
- border-style: var(--tw-border-style);
- border-width: 1px;
- }
- .bg-green-100 {
- background-color: var(--color-green-100);
- }
- .bg-white {
- background-color: var(--color-white);
- }
- .mask-repeat {
- mask-repeat: repeat;
- }
- .p-0 {
- padding: calc(var(--spacing) * 0);
- }
- .p-0\! {
- padding: calc(var(--spacing) * 0) !important;
- }
- .p-4 {
- padding: calc(var(--spacing) * 4);
- }
- .select-lg {
- @layer daisyui.l1.l2 {
- --size: calc(var(--size-field, 0.25rem) * 12);
- font-size: 1.125rem;
- option {
- padding-inline: calc(0.25rem * 4);
- padding-block: calc(0.25rem * 1.5);
- }
- }
- }
- .select-sm {
- @layer daisyui.l1.l2 {
- --size: calc(var(--size-field, 0.25rem) * 8);
- font-size: 0.75rem;
- option {
- padding-inline: calc(0.25rem * 2.5);
- padding-block: calc(0.25rem * 1);
- }
- }
- }
- .select-xl {
- @layer daisyui.l1.l2 {
- --size: calc(var(--size-field, 0.25rem) * 14);
- font-size: 1.375rem;
- option {
- padding-inline: calc(0.25rem * 5);
- padding-block: calc(0.25rem * 1.5);
- }
- }
- }
- .select-xs {
- @layer daisyui.l1.l2 {
- --size: calc(var(--size-field, 0.25rem) * 6);
- font-size: 0.6875rem;
- option {
- padding-inline: calc(0.25rem * 2);
- padding-block: calc(0.25rem * 1);
- }
- }
- }
- .px-4 {
- padding-inline: calc(var(--spacing) * 4);
- }
- .py-1 {
- padding-block: calc(var(--spacing) * 1);
- }
- .py-2 {
- padding-block: calc(var(--spacing) * 2);
- }
- .text-2xl {
- font-size: var(--text-2xl);
- line-height: var(--tw-leading, var(--text-2xl--line-height));
- }
- .text-lg {
- font-size: var(--text-lg);
- line-height: var(--tw-leading, var(--text-lg--line-height));
- }
- .text-sm {
- font-size: var(--text-sm);
- line-height: var(--tw-leading, var(--text-sm--line-height));
- }
- .text-xl {
- font-size: var(--text-xl);
- line-height: var(--tw-leading, var(--text-xl--line-height));
- }
- .text-xs {
- font-size: var(--text-xs);
- line-height: var(--tw-leading, var(--text-xs--line-height));
- }
- .textarea-lg {
- @layer daisyui.l1.l2 {
- font-size: max(var(--font-size, 1.125rem), 1.125rem);
- }
- }
- .textarea-sm {
- @layer daisyui.l1.l2 {
- font-size: max(var(--font-size, 0.75rem), 0.75rem);
- }
- }
- .textarea-xl {
- @layer daisyui.l1.l2 {
- font-size: max(var(--font-size, 1.375rem), 1.375rem);
- }
- }
- .textarea-xs {
- @layer daisyui.l1.l2 {
- font-size: max(var(--font-size, 0.6875rem), 0.6875rem);
- }
- }
- .font-semibold {
- --tw-font-weight: var(--font-weight-semibold);
- font-weight: var(--font-weight-semibold);
- }
- .text-wrap {
- text-wrap: wrap;
- }
- .alert-error {
- @layer daisyui.l1.l2 {
- color: var(--color-error-content);
- --alert-border-color: var(--color-error);
- --alert-color: var(--color-error);
- }
- }
- .alert-success {
- @layer daisyui.l1.l2 {
- color: var(--color-success-content);
- --alert-border-color: var(--color-success);
- --alert-color: var(--color-success);
- }
- }
- .text-error {
- color: var(--color-error);
- }
- .text-gray-500 {
- color: var(--color-gray-500);
- }
- .text-gray-600 {
- color: var(--color-gray-600);
- }
- .text-gray-800 {
- color: var(--color-gray-800);
- }
- .text-green-800 {
- color: var(--color-green-800);
- }
- .text-primary {
- color: var(--color-primary);
- }
- .underline {
- text-decoration-line: underline;
- }
- .shadow {
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
- }
- .outline {
- outline-style: var(--tw-outline-style);
- outline-width: 1px;
- }
- .invert {
- --tw-invert: invert(100%);
- filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
- }
- .filter {
- filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
- }
- .transition {
- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
- transition-duration: var(--tw-duration, var(--default-transition-duration));
- }
- .ease-in-out {
- --tw-ease: var(--ease-in-out);
- transition-timing-function: var(--ease-in-out);
- }
- .ease-out {
- --tw-ease: var(--ease-out);
- transition-timing-function: var(--ease-out);
- }
- .btn-primary {
- @layer daisyui.l1.l2.l3 {
- --btn-color: var(--color-primary);
- --btn-fg: var(--color-primary-content);
- }
- }
- .range-lg {
- @layer daisyui.l1.l2 {
- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 7);
- }
- }
- .range-sm {
- @layer daisyui.l1.l2 {
- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 5);
- }
- }
- .range-xl {
- @layer daisyui.l1.l2 {
- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 8);
- }
- }
- .range-xs {
- @layer daisyui.l1.l2 {
- --range-thumb-size: calc(var(--size-selector, 0.25rem) * 4);
- }
- }
- .textarea-error {
- @layer daisyui.l1.l2 {
- &, &:focus, &:focus-within {
- --input-color: var(--color-error);
- }
- }
- }
- .hover\:shadow {
- &:hover {
- @media (hover: hover) {
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
- }
- }
- }
-}
-@layer base {
- :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
- color-scheme: light;
- --color-base-100: oklch(100% 0 0);
- --color-base-200: oklch(98% 0 0);
- --color-base-300: oklch(95% 0 0);
- --color-base-content: oklch(21% 0.006 285.885);
- --color-primary: oklch(45% 0.24 277.023);
- --color-primary-content: oklch(93% 0.034 272.788);
- --color-secondary: oklch(65% 0.241 354.308);
- --color-secondary-content: oklch(94% 0.028 342.258);
- --color-accent: oklch(77% 0.152 181.912);
- --color-accent-content: oklch(38% 0.063 188.416);
- --color-neutral: oklch(14% 0.005 285.823);
- --color-neutral-content: oklch(92% 0.004 286.32);
- --color-info: oklch(74% 0.16 232.661);
- --color-info-content: oklch(29% 0.066 243.157);
- --color-success: oklch(76% 0.177 163.223);
- --color-success-content: oklch(37% 0.077 168.94);
- --color-warning: oklch(82% 0.189 84.429);
- --color-warning-content: oklch(41% 0.112 45.904);
- --color-error: oklch(71% 0.194 13.428);
- --color-error-content: oklch(27% 0.105 12.094);
- --radius-selector: 0.5rem;
- --radius-field: 0.25rem;
- --radius-box: 0.5rem;
- --size-selector: 0.25rem;
- --size-field: 0.25rem;
- --border: 1px;
- --depth: 1;
- --noise: 0;
- }
-}
-@layer base {
- @media (prefers-color-scheme: dark) {
- :root:not([data-theme]) {
- color-scheme: dark;
- --color-base-100: oklch(25.33% 0.016 252.42);
- --color-base-200: oklch(23.26% 0.014 253.1);
- --color-base-300: oklch(21.15% 0.012 254.09);
- --color-base-content: oklch(97.807% 0.029 256.847);
- --color-primary: oklch(58% 0.233 277.117);
- --color-primary-content: oklch(96% 0.018 272.314);
- --color-secondary: oklch(65% 0.241 354.308);
- --color-secondary-content: oklch(94% 0.028 342.258);
- --color-accent: oklch(77% 0.152 181.912);
- --color-accent-content: oklch(38% 0.063 188.416);
- --color-neutral: oklch(14% 0.005 285.823);
- --color-neutral-content: oklch(92% 0.004 286.32);
- --color-info: oklch(74% 0.16 232.661);
- --color-info-content: oklch(29% 0.066 243.157);
- --color-success: oklch(76% 0.177 163.223);
- --color-success-content: oklch(37% 0.077 168.94);
- --color-warning: oklch(82% 0.189 84.429);
- --color-warning-content: oklch(41% 0.112 45.904);
- --color-error: oklch(71% 0.194 13.428);
- --color-error-content: oklch(27% 0.105 12.094);
- --radius-selector: 0.5rem;
- --radius-field: 0.25rem;
- --radius-box: 0.5rem;
- --size-selector: 0.25rem;
- --size-field: 0.25rem;
- --border: 1px;
- --depth: 1;
- --noise: 0;
- }
- }
-}
-@layer base {
- :root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
- color-scheme: light;
- --color-base-100: oklch(100% 0 0);
- --color-base-200: oklch(98% 0 0);
- --color-base-300: oklch(95% 0 0);
- --color-base-content: oklch(21% 0.006 285.885);
- --color-primary: oklch(45% 0.24 277.023);
- --color-primary-content: oklch(93% 0.034 272.788);
- --color-secondary: oklch(65% 0.241 354.308);
- --color-secondary-content: oklch(94% 0.028 342.258);
- --color-accent: oklch(77% 0.152 181.912);
- --color-accent-content: oklch(38% 0.063 188.416);
- --color-neutral: oklch(14% 0.005 285.823);
- --color-neutral-content: oklch(92% 0.004 286.32);
- --color-info: oklch(74% 0.16 232.661);
- --color-info-content: oklch(29% 0.066 243.157);
- --color-success: oklch(76% 0.177 163.223);
- --color-success-content: oklch(37% 0.077 168.94);
- --color-warning: oklch(82% 0.189 84.429);
- --color-warning-content: oklch(41% 0.112 45.904);
- --color-error: oklch(71% 0.194 13.428);
- --color-error-content: oklch(27% 0.105 12.094);
- --radius-selector: 0.5rem;
- --radius-field: 0.25rem;
- --radius-box: 0.5rem;
- --size-selector: 0.25rem;
- --size-field: 0.25rem;
- --border: 1px;
- --depth: 1;
- --noise: 0;
- }
-}
-@layer base {
- :root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
- color-scheme: dark;
- --color-base-100: oklch(25.33% 0.016 252.42);
- --color-base-200: oklch(23.26% 0.014 253.1);
- --color-base-300: oklch(21.15% 0.012 254.09);
- --color-base-content: oklch(97.807% 0.029 256.847);
- --color-primary: oklch(58% 0.233 277.117);
- --color-primary-content: oklch(96% 0.018 272.314);
- --color-secondary: oklch(65% 0.241 354.308);
- --color-secondary-content: oklch(94% 0.028 342.258);
- --color-accent: oklch(77% 0.152 181.912);
- --color-accent-content: oklch(38% 0.063 188.416);
- --color-neutral: oklch(14% 0.005 285.823);
- --color-neutral-content: oklch(92% 0.004 286.32);
- --color-info: oklch(74% 0.16 232.661);
- --color-info-content: oklch(29% 0.066 243.157);
- --color-success: oklch(76% 0.177 163.223);
- --color-success-content: oklch(37% 0.077 168.94);
- --color-warning: oklch(82% 0.189 84.429);
- --color-warning-content: oklch(41% 0.112 45.904);
- --color-error: oklch(71% 0.194 13.428);
- --color-error-content: oklch(27% 0.105 12.094);
- --radius-selector: 0.5rem;
- --radius-field: 0.25rem;
- --radius-box: 0.5rem;
- --size-selector: 0.25rem;
- --size-field: 0.25rem;
- --border: 1px;
- --depth: 1;
- --noise: 0;
- }
-}
-@layer base {
- :root {
- --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");
- }
-}
-@layer base {
- :root {
- scrollbar-color: currentColor #0000;
- @supports (color: color-mix(in lab, red, red)) {
- scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000;
- }
- }
-}
-@layer base {
- @property --radialprogress {
- syntax: " ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, " ")
+ if props.Error != "" {
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, " ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var15 string
- templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(props.ValidatorHint)
+ templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(props.Error)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/web/components/base/input.templ`, Line: 86, Col: 80}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/web/components/base/input.templ`, Line: 84, Col: 55}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var16 string + templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(props.ValidatorHint) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `pkg/web/components/base/input.templ`, Line: 87, Col: 80} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/pkg/web/components/base/range.templ b/pkg/web/components/base/range.templ index 7366e87..b22a39f 100644 --- a/pkg/web/components/base/range.templ +++ b/pkg/web/components/base/range.templ @@ -17,6 +17,7 @@ type RangeProps struct { templ Range(props RangeProps) {