@aortl/admin-css 0.16.1 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -0
- package/dist/admin.css +351 -11
- package/dist/admin.min.css +1 -1
- package/dist/admin.scoped.css +345 -11
- package/dist/admin.scoped.min.css +67 -6
- package/package.json +3 -2
- package/src/components/accordion.css +4 -13
- package/src/components/alert.css +38 -23
- package/src/components/app-shell.css +2 -4
- package/src/components/avatar.css +36 -0
- package/src/components/badge.css +37 -5
- package/src/components/brand-tile.css +36 -0
- package/src/components/breadcrumbs.css +2 -11
- package/src/components/button-group.css +7 -19
- package/src/components/button.css +7 -23
- package/src/components/card.css +48 -26
- package/src/components/chart.css +26 -83
- package/src/components/checkbox.css +3 -9
- package/src/components/code-block.css +2 -4
- package/src/components/container.css +3 -7
- package/src/components/dialog.css +11 -18
- package/src/components/field.css +3 -7
- package/src/components/footer.css +2 -3
- package/src/components/index.css +3 -0
- package/src/components/indicator.css +21 -28
- package/src/components/input-group.css +3 -6
- package/src/components/input-icon.css +46 -0
- package/src/components/input.css +2 -5
- package/src/components/kbd.css +7 -13
- package/src/components/link.css +2 -8
- package/src/components/menu.css +9 -24
- package/src/components/navbar.css +3 -7
- package/src/components/pagination.css +1 -4
- package/src/components/progress.css +3 -7
- package/src/components/property-list.css +5 -14
- package/src/components/prose.css +6 -24
- package/src/components/radio.css +3 -7
- package/src/components/select.css +4 -11
- package/src/components/separator.css +13 -0
- package/src/components/sidebar.css +2 -7
- package/src/components/spinner.css +1 -4
- package/src/components/stat-card.css +5 -16
- package/src/components/switch.css +3 -5
- package/src/components/table.css +25 -34
- package/src/components/tabs.css +14 -32
- package/src/components/textarea.css +3 -7
- package/src/components/tooltip.css +6 -16
- package/src/fonts.css +8 -28
- package/src/theme.css +32 -100
- package/src/utilities.css +11 -37
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
|
|
38
38
|
@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
|
|
39
39
|
@property --tw-duration{syntax:"*";inherits:false}
|
|
40
|
+
@property --tw-tracking{syntax:"*";inherits:false}
|
|
40
41
|
@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}
|
|
41
42
|
@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}
|
|
42
43
|
@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
|
|
43
|
-
@property --tw-tracking{syntax:"*";inherits:false}
|
|
44
44
|
@scope (._ao-admin-root) {
|
|
45
45
|
:scope :where(
|
|
46
46
|
h1, h2, h3, h4, h5, h6,
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
:scope{color-scheme:light dark}
|
|
64
64
|
:scope[data-theme=dark], :scope [data-theme=dark]{color-scheme:dark}
|
|
65
65
|
:scope[data-theme=light], :scope [data-theme=light]{color-scheme:light}
|
|
66
|
-
@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:scope, :scope *, :scope:before, :scope :before, :scope:after, :scope :after, :scope::backdrop, :scope ::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-leading:initial;--tw-font-weight:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0
|
|
67
|
-
:scope, :scope:host, :scope :host{--font-sans:"IBM Plex Sans", "IBM Plex Sans Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--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);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:#fff;--color-black:#0f0f0f;--color-base-50:#fafafa;--color-base-100:#f4f4f4;--color-base-150:#e7e7e7;--color-base-200:#d4d4d4;--color-base-300:#b3b3b3;--color-base-400:#9b9b9b;--color-base-500:#848484;--color-base-600:#6c6c6c;--color-base-700:#555;--color-base-800:#3e3e3e;--color-base-850:#333;--color-base-900:#272727;--color-base-950:#1b1b1b;--color-red-50:#ffe1d5;--color-red-100:#ffcabb;--color-red-150:#fdb2a2;--color-red-200:#f89a8a;--color-red-300:#e8705f;--color-red-400:#d14d41;--color-red-500:#c03e35;--color-red-600:#af3029;--color-red-700:#942822;--color-red-800:#6c201c;--color-red-850:#551b18;--color-red-900:#3e1715;--color-red-950:#261312;--color-orange-50:#ffe7ce;--color-orange-100:#fed3af;--color-orange-150:#fcc192;--color-orange-200:#f9ae77;--color-orange-300:#ec8b49;--color-orange-400:#da702c;--color-orange-500:#cb6120;--color-orange-600:#bc5215;--color-orange-700:#9d4310;--color-orange-800:#71320d;--color-orange-850:#59290d;--color-orange-900:#40200d;--color-orange-950:#27180e;--color-yellow-50:#faeec6;--color-yellow-100:#f6e2a0;--color-yellow-150:#f1d67e;--color-yellow-200:#eccb60;--color-yellow-300:#dfb431;--color-yellow-400:#d0a215;--color-yellow-500:#be9207;--color-yellow-600:#ad8301;--color-yellow-700:#8e6b01;--color-yellow-800:#664d01;--color-yellow-850:#503d02;--color-yellow-900:#3a2d04;--color-yellow-950:#241e08;--color-green-50:#edeecf;--color-green-100:#dde2b2;--color-green-150:#cdd597;--color-green-200:#bec97e;--color-green-300:#a0af54;--color-green-400:#879a39;--color-green-500:#768d21;--color-green-600:#66800b;--color-green-700:#536907;--color-green-800:#3d4c07;--color-green-850:#313d07;--color-green-900:#252d09;--color-green-950:#1a1e0c;--color-cyan-50:#ddf1e4;--color-cyan-100:#bfe8d9;--color-cyan-150:#a2dece;--color-cyan-200:#87d3c3;--color-cyan-300:#5abdac;--color-cyan-400:#3aa99f;--color-cyan-500:#2f968d;--color-cyan-600:#24837b;--color-cyan-700:#1c6c66;--color-cyan-800:#164f4a;--color-cyan-850:#143f3c;--color-cyan-900:#122f2c;--color-cyan-950:#101f1d;--color-blue-50:#e1eceb;--color-blue-100:#c6dde8;--color-blue-150:#abcfe2;--color-blue-200:#92bfdb;--color-blue-300:#66a0c8;--color-blue-400:#4385be;--color-blue-500:#3171b2;--color-blue-600:#205ea6;--color-blue-700:#1a4f8c;--color-blue-800:#163b66;--color-blue-850:#133051;--color-blue-900:#12253b;--color-blue-950:#101a24;--color-purple-50:#f0eaec;--color-purple-100:#e2d9e9;--color-purple-150:#d3cae6;--color-purple-200:#c4b9e0;--color-purple-300:#a699d0;--color-purple-400:#8b7ec8;--color-purple-500:#735eb5;--color-purple-600:#5e409d;--color-purple-700:#4f3685;--color-purple-800:#3c2a62;--color-purple-850:#31234e;--color-purple-900:#261c39;--color-purple-950:#1a1623;--color-magenta-50:#fee4e5;--color-magenta-100:#fccfda;--color-magenta-150:#f9b9cf;--color-magenta-200:#f4a4c2;--color-magenta-300:#e47da8;--color-magenta-400:#ce5d97;--color-magenta-500:#b74583;--color-magenta-600:#a02f6f;--color-magenta-700:#87285e;--color-magenta-800:#641f46;--color-magenta-850:#4f1b39;--color-magenta-900:#39172b;--color-magenta-950:#24131d;--color-surface:light-dark(var(--color-paper),var(--color-black));--color-surface-muted:light-dark(var(--color-base-50),var(--color-base-950));--color-surface-strong:light-dark(var(--color-base-100),var(--color-base-900));--color-text:light-dark(var(--color-black),var(--color-base-200));--color-text-muted:light-dark(var(--color-base-600),var(--color-base-500));--color-border:light-dark(var(--color-base-150),var(--color-base-850));--color-border-strong:light-dark(var(--color-base-300),var(--color-base-700));--color-code-surface:light-dark(var(--color-base-150),var(--color-base-950));--color-code-text:light-dark(var(--color-base-800),var(--color-base-200));--color-scrim:#0f0f0f66}
|
|
66
|
+
@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:scope, :scope *, :scope:before, :scope :before, :scope:after, :scope :after, :scope::backdrop, :scope ::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-leading:initial;--tw-font-weight:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-duration:initial;--tw-tracking:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}
|
|
67
|
+
:scope, :scope:host, :scope :host{--font-sans:"IBM Plex Sans", "IBM Plex Sans Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--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);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:#fff;--color-black:#0f0f0f;--color-base-50:#fafafa;--color-base-100:#f4f4f4;--color-base-150:#e7e7e7;--color-base-200:#d4d4d4;--color-base-300:#b3b3b3;--color-base-400:#9b9b9b;--color-base-500:#848484;--color-base-600:#6c6c6c;--color-base-700:#555;--color-base-800:#3e3e3e;--color-base-850:#333;--color-base-900:#272727;--color-base-950:#1b1b1b;--color-red-50:#ffe1d5;--color-red-100:#ffcabb;--color-red-150:#fdb2a2;--color-red-200:#f89a8a;--color-red-300:#e8705f;--color-red-400:#d14d41;--color-red-500:#c03e35;--color-red-600:#af3029;--color-red-700:#942822;--color-red-800:#6c201c;--color-red-850:#551b18;--color-red-900:#3e1715;--color-red-950:#261312;--color-orange-50:#ffe7ce;--color-orange-100:#fed3af;--color-orange-150:#fcc192;--color-orange-200:#f9ae77;--color-orange-300:#ec8b49;--color-orange-400:#da702c;--color-orange-500:#cb6120;--color-orange-600:#bc5215;--color-orange-700:#9d4310;--color-orange-800:#71320d;--color-orange-850:#59290d;--color-orange-900:#40200d;--color-orange-950:#27180e;--color-yellow-50:#faeec6;--color-yellow-100:#f6e2a0;--color-yellow-150:#f1d67e;--color-yellow-200:#eccb60;--color-yellow-300:#dfb431;--color-yellow-400:#d0a215;--color-yellow-500:#be9207;--color-yellow-600:#ad8301;--color-yellow-700:#8e6b01;--color-yellow-800:#664d01;--color-yellow-850:#503d02;--color-yellow-900:#3a2d04;--color-yellow-950:#241e08;--color-green-50:#edeecf;--color-green-100:#dde2b2;--color-green-150:#cdd597;--color-green-200:#bec97e;--color-green-300:#a0af54;--color-green-400:#879a39;--color-green-500:#768d21;--color-green-600:#66800b;--color-green-700:#536907;--color-green-800:#3d4c07;--color-green-850:#313d07;--color-green-900:#252d09;--color-green-950:#1a1e0c;--color-cyan-50:#ddf1e4;--color-cyan-100:#bfe8d9;--color-cyan-150:#a2dece;--color-cyan-200:#87d3c3;--color-cyan-300:#5abdac;--color-cyan-400:#3aa99f;--color-cyan-500:#2f968d;--color-cyan-600:#24837b;--color-cyan-700:#1c6c66;--color-cyan-800:#164f4a;--color-cyan-850:#143f3c;--color-cyan-900:#122f2c;--color-cyan-950:#101f1d;--color-blue-50:#e1eceb;--color-blue-100:#c6dde8;--color-blue-150:#abcfe2;--color-blue-200:#92bfdb;--color-blue-300:#66a0c8;--color-blue-400:#4385be;--color-blue-500:#3171b2;--color-blue-600:#205ea6;--color-blue-700:#1a4f8c;--color-blue-800:#163b66;--color-blue-850:#133051;--color-blue-900:#12253b;--color-blue-950:#101a24;--color-purple-50:#f0eaec;--color-purple-100:#e2d9e9;--color-purple-150:#d3cae6;--color-purple-200:#c4b9e0;--color-purple-300:#a699d0;--color-purple-400:#8b7ec8;--color-purple-500:#735eb5;--color-purple-600:#5e409d;--color-purple-700:#4f3685;--color-purple-800:#3c2a62;--color-purple-850:#31234e;--color-purple-900:#261c39;--color-purple-950:#1a1623;--color-magenta-50:#fee4e5;--color-magenta-100:#fccfda;--color-magenta-150:#f9b9cf;--color-magenta-200:#f4a4c2;--color-magenta-300:#e47da8;--color-magenta-400:#ce5d97;--color-magenta-500:#b74583;--color-magenta-600:#a02f6f;--color-magenta-700:#87285e;--color-magenta-800:#641f46;--color-magenta-850:#4f1b39;--color-magenta-900:#39172b;--color-magenta-950:#24131d;--color-surface:light-dark(var(--color-paper),var(--color-black));--color-surface-muted:light-dark(var(--color-base-50),var(--color-base-950));--color-surface-strong:light-dark(var(--color-base-100),var(--color-base-900));--color-text:light-dark(var(--color-black),var(--color-base-200));--color-text-muted:light-dark(var(--color-base-600),var(--color-base-500));--color-border:light-dark(var(--color-base-150),var(--color-base-850));--color-border-strong:light-dark(var(--color-base-300),var(--color-base-700));--color-code-surface:light-dark(var(--color-base-150),var(--color-base-950));--color-code-text:light-dark(var(--color-base-800),var(--color-base-200));--color-scrim:#0f0f0f66}
|
|
68
68
|
@supports (color:color-mix(in lab, red, red)){:scope, :scope:host, :scope :host{--color-scrim:color-mix(in oklab, var(--color-black) 40%, transparent)}}
|
|
69
69
|
:scope, :scope:host, :scope :host{--color-primary:light-dark(var(--color-black),var(--color-paper));--color-primary-hover:light-dark(var(--color-base-800),var(--color-base-200));--color-primary-muted:light-dark(var(--color-base-150),var(--color-base-800));--color-primary-content:light-dark(var(--color-paper),var(--color-black));--color-link:light-dark(var(--color-blue-600),var(--color-blue-400));--color-link-hover:light-dark(var(--color-blue-700),var(--color-blue-300));--color-focus:light-dark(var(--color-blue-600),var(--color-blue-400));--color-system-accent:light-dark(var(--color-base-600),var(--color-base-400));--color-system-accent-hover:color-mix(in oklch, light-dark(var(--color-base-600),var(--color-base-400)), light-dark(var(--color-black),var(--color-base-200)) 12%)}
|
|
70
70
|
@supports (color:color-mix(in lab, red, red)){:scope, :scope:host, :scope :host{--color-system-accent-hover:color-mix(in oklch, var(--color-system-accent), var(--color-text) 12%)}}
|
|
@@ -142,16 +142,23 @@
|
|
|
142
142
|
:scope._ao-accordion-item[open]::details-content, :scope ._ao-accordion-item[open]::details-content{opacity:1;height:auto}
|
|
143
143
|
:scope._ao-alert, :scope ._ao-alert{gap:calc(var(--spacing) * 1);border-radius:var(--radius-md);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);overflow-wrap:break-word;border-width:1px;flex-direction:column;display:flex}
|
|
144
144
|
:scope._ao-alert:has(>:is(i,svg):first-child), :scope ._ao-alert:has(>:is(i,svg):first-child){grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem .5rem;display:grid}
|
|
145
|
+
:scope._ao-alert:has(>._ao-alert-action), :scope ._ao-alert:has(>._ao-alert-action){grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem .5rem;display:grid}
|
|
146
|
+
:scope._ao-alert:has(>:is(i,svg):first-child):has(>._ao-alert-action), :scope ._ao-alert:has(>:is(i,svg):first-child):has(>._ao-alert-action){grid-template-columns:auto minmax(0,1fr) auto}
|
|
145
147
|
:scope._ao-alert>:is(i,svg):first-child, :scope ._ao-alert>:is(i,svg):first-child{font-size:1rem;line-height:1.25}
|
|
146
|
-
:scope._ao-alert:has(>:is(i,svg):first-child)
|
|
148
|
+
:scope._ao-alert:has(>._ao-alert-title):is(:has(>:is(i,svg):first-child),:has(>._ao-alert-action)), :scope ._ao-alert:has(>._ao-alert-title):is(:has(>:is(i,svg):first-child),:has(>._ao-alert-action)){grid-template-rows:auto auto;align-items:start}
|
|
147
149
|
:scope._ao-alert:has(>._ao-alert-title)>:is(i,svg):first-child, :scope ._ao-alert:has(>._ao-alert-title)>:is(i,svg):first-child{grid-row:1/-1}
|
|
148
|
-
:scope._ao-alert>:is(._ao-alert-title,._ao-alert-description), :scope ._ao-alert>:is(._ao-alert-title,._ao-alert-description){
|
|
150
|
+
:scope._ao-alert>:is(._ao-alert-title,._ao-alert-description), :scope ._ao-alert>:is(._ao-alert-title,._ao-alert-description){min-width:0}
|
|
151
|
+
:scope._ao-alert:has(>:is(i,svg):first-child)>:is(._ao-alert-title,._ao-alert-description), :scope ._ao-alert:has(>:is(i,svg):first-child)>:is(._ao-alert-title,._ao-alert-description){grid-column:2}
|
|
152
|
+
:scope._ao-alert>._ao-alert-action, :scope ._ao-alert>._ao-alert-action{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;grid-area:1/-2/-1;place-self:center end}
|
|
149
153
|
:scope._ao-alert-info, :scope ._ao-alert-info{border-color:var(--color-info);background-color:var(--color-info);color:var(--color-info-content)}
|
|
150
154
|
:scope._ao-alert-success, :scope ._ao-alert-success{border-color:var(--color-success);background-color:var(--color-success);color:var(--color-success-content)}
|
|
151
155
|
:scope._ao-alert-warning, :scope ._ao-alert-warning{border-color:var(--color-warning);background-color:var(--color-warning);color:var(--color-warning-content)}
|
|
152
156
|
:scope._ao-alert-danger, :scope ._ao-alert-danger{border-color:var(--color-danger);background-color:var(--color-danger);color:var(--color-danger-content)}
|
|
153
157
|
:scope._ao-alert-title, :scope ._ao-alert-title{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}
|
|
154
158
|
:scope._ao-alert-description, :scope ._ao-alert-description{opacity:.85}
|
|
159
|
+
:scope._ao-alert ._ao-link, :scope ._ao-alert ._ao-link{color:currentColor}
|
|
160
|
+
@media (hover:hover){:scope._ao-alert ._ao-link:hover, :scope ._ao-alert ._ao-link:hover{color:currentColor;opacity:.85}}
|
|
161
|
+
:scope._ao-alert ._ao-link:focus-visible, :scope ._ao-alert ._ao-link:focus-visible{outline-color:currentColor}
|
|
155
162
|
:scope._ao-app-shell, :scope ._ao-app-shell{--app-shell-sidebar-w:240px;--app-shell-sidebar-w-collapsed:56px;background-color:var(--color-surface);width:100%;min-height:100vh;color:var(--color-text);grid-template:"header""main"1fr"footer"/1fr;display:grid}
|
|
156
163
|
:scope._ao-app-shell>._ao-navbar, :scope ._ao-app-shell>._ao-navbar{grid-area:header}
|
|
157
164
|
:scope._ao-app-shell>main, :scope ._ao-app-shell>main, :scope._ao-app-shell-main, :scope ._ao-app-shell-main{grid-area:main;min-width:0}
|
|
@@ -172,9 +179,37 @@
|
|
|
172
179
|
:scope._ao-badge-warning, :scope ._ao-badge-warning{border-color:var(--color-warning);background-color:var(--color-warning);color:var(--color-warning-content)}
|
|
173
180
|
:scope._ao-badge-danger, :scope ._ao-badge-danger{border-color:var(--color-danger);background-color:var(--color-danger);color:var(--color-danger-content)}
|
|
174
181
|
:scope._ao-badge-primary, :scope ._ao-badge-primary{background-color:var(--color-primary);color:var(--color-primary-content)}
|
|
182
|
+
:scope._ao-badge-soft._ao-badge-info, :scope ._ao-badge-soft._ao-badge-info{border-color:var(--color-info-muted);background-color:var(--color-info-muted);color:var(--color-info)}
|
|
183
|
+
:scope._ao-badge-soft._ao-badge-success, :scope ._ao-badge-soft._ao-badge-success{border-color:var(--color-success-muted);background-color:var(--color-success-muted);color:var(--color-success)}
|
|
184
|
+
:scope._ao-badge-soft._ao-badge-warning, :scope ._ao-badge-soft._ao-badge-warning{border-color:var(--color-warning-muted);background-color:var(--color-warning-muted);color:var(--color-text)}
|
|
185
|
+
:scope._ao-badge-soft._ao-badge-danger, :scope ._ao-badge-soft._ao-badge-danger{border-color:var(--color-danger-muted);background-color:var(--color-danger-muted);color:var(--color-danger)}
|
|
186
|
+
:scope._ao-badge-soft._ao-badge-primary, :scope ._ao-badge-soft._ao-badge-primary{border-color:var(--color-primary-muted);background-color:var(--color-primary-muted);color:var(--color-text)}
|
|
187
|
+
:scope._ao-badge-remove, :scope ._ao-badge-remove{margin-right:calc(var(--spacing) * -1);width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5);cursor:pointer;color:inherit;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;transition-duration:.15s;display:inline-flex}
|
|
188
|
+
:scope._ao-badge-remove:focus-visible, :scope ._ao-badge-remove:focus-visible{outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--color-focus)}
|
|
189
|
+
:scope._ao-badge-remove:hover, :scope ._ao-badge-remove:hover{background-color:currentColor}
|
|
190
|
+
@supports (color:color-mix(in lab, red, red)){:scope._ao-badge-remove:hover, :scope ._ao-badge-remove:hover{background-color:color-mix(in oklab, currentColor 15%, transparent)}}
|
|
191
|
+
:scope._ao-badge-sm ._ao-badge-remove, :scope ._ao-badge-sm ._ao-badge-remove{margin-right:calc(var(--spacing) * -.5);width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}
|
|
192
|
+
:scope._ao-badge-lg ._ao-badge-remove, :scope ._ao-badge-lg ._ao-badge-remove{margin-right:calc(var(--spacing) * -1.5);width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}
|
|
175
193
|
:scope._ao-badge-sm, :scope ._ao-badge-sm{height:calc(var(--spacing) * 4);gap:calc(var(--spacing) * .5);padding-inline:calc(var(--spacing) * 1.5);font-size:.625rem}
|
|
176
194
|
:scope._ao-badge-lg, :scope ._ao-badge-lg{height:calc(var(--spacing) * 6);gap:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}
|
|
177
195
|
:scope._ao-brand-tile, :scope ._ao-brand-tile{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);background-color:var(--color-system-accent);--tw-leading:1;--tw-font-weight:var(--font-weight-semibold);font-size:11px;line-height:1;font-weight:var(--font-weight-semibold);color:var(--color-system-accent-content);-webkit-user-select:none;user-select:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}
|
|
196
|
+
:scope._ao-brand-tile>:is(i,svg), :scope ._ao-brand-tile>:is(i,svg){font-size:14px}
|
|
197
|
+
:scope._ao-brand-tile-lg, :scope ._ao-brand-tile-lg{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}
|
|
198
|
+
:scope._ao-brand-tile-lg>:is(i,svg), :scope ._ao-brand-tile-lg>:is(i,svg){font-size:20px}
|
|
199
|
+
:scope._ao-brand-tile-soft, :scope ._ao-brand-tile-soft{background-color:var(--color-system-accent-muted);color:var(--color-system-accent)}
|
|
200
|
+
:scope._ao-brand-tile-info, :scope ._ao-brand-tile-info{background-color:var(--color-info-muted);color:var(--color-info)}
|
|
201
|
+
:scope._ao-brand-tile-success, :scope ._ao-brand-tile-success{background-color:var(--color-success-muted);color:var(--color-success)}
|
|
202
|
+
:scope._ao-brand-tile-danger, :scope ._ao-brand-tile-danger{background-color:var(--color-danger-muted);color:var(--color-danger)}
|
|
203
|
+
:scope._ao-brand-tile:has(>img), :scope ._ao-brand-tile:has(>img){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);padding:calc(var(--spacing) * .5)}
|
|
204
|
+
:scope._ao-brand-tile>img, :scope ._ao-brand-tile>img{border-radius:inherit;object-fit:contain;width:100%;height:100%}
|
|
205
|
+
:scope._ao-avatar, :scope ._ao-avatar{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);background-color:var(--color-surface-strong);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:1;--tw-font-weight:var(--font-weight-medium);line-height:1;font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-muted);-webkit-user-select:none;user-select:none;border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}
|
|
206
|
+
:scope._ao-avatar>img, :scope ._ao-avatar>img{inset:calc(var(--spacing) * 0);object-fit:cover;width:100%;height:100%;position:absolute}
|
|
207
|
+
:scope._ao-avatar-square, :scope ._ao-avatar-square{border-radius:var(--radius-md)}
|
|
208
|
+
:scope._ao-avatar-sm, :scope ._ao-avatar-sm{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);font-size:.625rem}
|
|
209
|
+
:scope._ao-avatar-lg, :scope ._ao-avatar-lg{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}
|
|
210
|
+
:scope._ao-avatar-group, :scope ._ao-avatar-group{align-items:center;display:inline-flex}
|
|
211
|
+
:scope._ao-avatar-group>._ao-avatar, :scope ._ao-avatar-group>._ao-avatar{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--color-surface)}
|
|
212
|
+
:scope._ao-avatar-group>._ao-avatar+._ao-avatar, :scope ._ao-avatar-group>._ao-avatar+._ao-avatar{margin-inline-start:calc(var(--spacing) * -2)}
|
|
178
213
|
:scope._ao-kbd, :scope ._ao-kbd{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface-strong);vertical-align:middle;min-width:1.25em;height:1.4em;font-family:var(--font-mono);--tw-leading:1;white-space:nowrap;color:var(--color-text-muted);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);border-radius:.25rem;justify-content:center;align-items:center;padding-inline:.35em;font-size:.75em;line-height:1;display:inline-flex}
|
|
179
214
|
:scope._ao-kbd-group, :scope ._ao-kbd-group{align-items:center;gap:calc(var(--spacing) * 1);vertical-align:middle;display:inline-flex}
|
|
180
215
|
:scope._ao-btn ._ao-kbd, :scope ._ao-btn ._ao-kbd, :scope._ao-menu-item ._ao-kbd, :scope ._ao-menu-item ._ao-kbd{color:currentColor;background-color:currentColor}
|
|
@@ -186,6 +221,10 @@
|
|
|
186
221
|
:scope._ao-indicator, :scope ._ao-indicator{width:max-content;display:inline-flex;position:relative}
|
|
187
222
|
:scope._ao-indicator:has(>._ao-btn), :scope ._ao-indicator:has(>._ao-btn), :scope._ao-indicator:has(>._ao-input), :scope ._ao-indicator:has(>._ao-input){--indicator-offset:2px}
|
|
188
223
|
:scope._ao-indicator:has(>._ao-card), :scope ._ao-indicator:has(>._ao-card){--indicator-offset:6px}
|
|
224
|
+
:scope._ao-indicator:has(>._ao-avatar), :scope ._ao-indicator:has(>._ao-avatar){--indicator-offset:5px}
|
|
225
|
+
:scope._ao-indicator:has(>._ao-avatar-sm), :scope ._ao-indicator:has(>._ao-avatar-sm){--indicator-offset:3px}
|
|
226
|
+
:scope._ao-indicator:has(>._ao-avatar-lg), :scope ._ao-indicator:has(>._ao-avatar-lg){--indicator-offset:6px}
|
|
227
|
+
:scope._ao-indicator:has(>._ao-avatar-square), :scope ._ao-indicator:has(>._ao-avatar-square){--indicator-offset:2px}
|
|
189
228
|
:scope._ao-indicator-item, :scope ._ao-indicator-item{z-index:1;white-space:nowrap;top:var(--indicator-top,0);bottom:var(--indicator-bottom,auto);transform:translate(var(--indicator-tx,50%), var(--indicator-ty,-50%)) translate(var(--indicator-offset-x,calc(-1 * var(--indicator-offset,0px))), var(--indicator-offset-y,var(--indicator-offset,0px)));position:absolute;inset-inline-start:var(--indicator-start,auto);inset-inline-end:var(--indicator-end,0)}
|
|
190
229
|
:scope._ao-indicator-start, :scope ._ao-indicator-start{--indicator-start:0;--indicator-end:auto;--indicator-tx:-50%;--indicator-offset-x:var(--indicator-offset,0px)}
|
|
191
230
|
:scope._ao-indicator-center, :scope ._ao-indicator-center{--indicator-start:50%;--indicator-end:auto;--indicator-tx:-50%;--indicator-offset-x:0px}
|
|
@@ -262,6 +301,8 @@
|
|
|
262
301
|
:scope._ao-property-list-copy ._ao-property-list-copy-icon-copied, :scope ._ao-property-list-copy ._ao-property-list-copy-icon-copied, :scope._ao-property-list-copy[data-copied] ._ao-property-list-copy-icon, :scope ._ao-property-list-copy[data-copied] ._ao-property-list-copy-icon{display:none}
|
|
263
302
|
:scope._ao-property-list-copy[data-copied] ._ao-property-list-copy-icon-copied, :scope ._ao-property-list-copy[data-copied] ._ao-property-list-copy-icon-copied{display:inline-flex}
|
|
264
303
|
:scope._ao-property-list-copy[data-copied], :scope ._ao-property-list-copy[data-copied]{color:var(--color-success)}
|
|
304
|
+
:scope._ao-separator, :scope ._ao-separator{margin:calc(var(--spacing) * 0);border-style:var(--tw-border-style);background-color:var(--color-border);border-width:0;flex-shrink:0;width:100%;height:1px;display:block}
|
|
305
|
+
:scope._ao-separator-vertical, :scope ._ao-separator-vertical{align-self:stretch;width:1px;height:auto;min-height:1lh}
|
|
265
306
|
:scope._ao-btn, :scope ._ao-btn{cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface-muted);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1;--tw-font-weight:var(--font-weight-medium);line-height:1;font-weight:var(--font-weight-medium);color:var(--color-text);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;-webkit-user-select:none;user-select:none;transition-duration:.15s;display:inline-flex}
|
|
266
307
|
@media (hover:hover){:scope._ao-btn:hover, :scope ._ao-btn:hover{background-color:var(--color-surface-strong)}}
|
|
267
308
|
:scope._ao-btn:focus-visible, :scope ._ao-btn:focus-visible{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--color-focus)}
|
|
@@ -346,6 +387,15 @@
|
|
|
346
387
|
:scope._ao-input-group>:not(:first-child), :scope ._ao-input-group>:not(:first-child){margin-left:-1px}
|
|
347
388
|
:scope._ao-input-group>:focus, :scope ._ao-input-group>:focus, :scope._ao-input-group>:focus-within, :scope ._ao-input-group>:focus-within{z-index:10;position:relative}
|
|
348
389
|
:scope._ao-input-group-addon, :scope ._ao-input-group-addon{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface-muted);padding-inline:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1;white-space:nowrap;color:var(--color-text-muted);align-items:center;line-height:1;display:inline-flex}
|
|
390
|
+
:scope._ao-input-icon, :scope ._ao-input-icon{width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted);--input-icon-inset:calc(var(--spacing) * 3);--input-icon-pad:calc(var(--spacing) * 9);align-items:center;display:inline-flex;position:relative}
|
|
391
|
+
:scope._ao-input-icon:has(>._ao-input-sm), :scope ._ao-input-icon:has(>._ao-input-sm){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--input-icon-inset:calc(var(--spacing) * 2.5);--input-icon-pad:calc(var(--spacing) * 8)}
|
|
392
|
+
:scope._ao-input-icon:has(>._ao-input-lg), :scope ._ao-input-icon:has(>._ao-input-lg){font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--input-icon-inset:calc(var(--spacing) * 4);--input-icon-pad:calc(var(--spacing) * 10)}
|
|
393
|
+
:scope._ao-input-icon>:where(i,svg), :scope ._ao-input-icon>:where(i,svg){pointer-events:none;--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);position:absolute;top:50%}
|
|
394
|
+
:scope._ao-input-icon>:where(i,svg):first-child, :scope ._ao-input-icon>:where(i,svg):first-child{left:var(--input-icon-inset)}
|
|
395
|
+
:scope._ao-input-icon>._ao-input~:where(i,svg), :scope ._ao-input-icon>._ao-input~:where(i,svg){right:var(--input-icon-inset)}
|
|
396
|
+
:scope._ao-input-icon:has(>:where(i,svg):first-child)>._ao-input, :scope ._ao-input-icon:has(>:where(i,svg):first-child)>._ao-input{padding-left:var(--input-icon-pad)}
|
|
397
|
+
:scope._ao-input-icon:has(>._ao-input~:where(i,svg))>._ao-input, :scope ._ao-input-icon:has(>._ao-input~:where(i,svg))>._ao-input{padding-right:var(--input-icon-pad)}
|
|
398
|
+
:scope._ao-input-icon:has(>._ao-input:disabled)>:where(i,svg), :scope ._ao-input-icon:has(>._ao-input:disabled)>:where(i,svg){opacity:.5}
|
|
349
399
|
:scope._ao-textarea, :scope ._ao-textarea{min-height:calc(var(--spacing) * 20);resize:vertical;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;transition-duration:.15s;display:block}
|
|
350
400
|
:scope._ao-textarea::placeholder, :scope ._ao-textarea::placeholder{color:var(--color-text-muted)}
|
|
351
401
|
@media (hover:hover){:scope._ao-textarea:hover, :scope ._ao-textarea:hover{border-color:var(--color-border-strong)}}
|
|
@@ -464,6 +514,15 @@
|
|
|
464
514
|
:scope._ao-card-info ._ao-card-title, :scope ._ao-card-info ._ao-card-title{color:var(--color-info)}
|
|
465
515
|
:scope._ao-card-success ._ao-card-title, :scope ._ao-card-success ._ao-card-title{color:var(--color-success)}
|
|
466
516
|
:scope._ao-card-danger ._ao-card-title, :scope ._ao-card-danger ._ao-card-title{color:var(--color-danger)}
|
|
517
|
+
:scope._ao-card-media, :scope ._ao-card-media{flex-shrink:0;width:100%;display:block;overflow:hidden}
|
|
518
|
+
:scope._ao-card-media:first-child, :scope ._ao-card-media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}
|
|
519
|
+
:scope._ao-card-media:last-child, :scope ._ao-card-media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}
|
|
520
|
+
:scope._ao-card-media>:is(img,video), :scope ._ao-card-media>:is(img,video){object-fit:cover;width:100%;height:100%;display:block}
|
|
521
|
+
:scope._ao-card-scroll>._ao-card-header, :scope ._ao-card-scroll>._ao-card-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 3);flex-shrink:0}
|
|
522
|
+
:scope._ao-card-scroll>._ao-card-body, :scope ._ao-card-scroll>._ao-card-body{min-height:calc(var(--spacing) * 0);flex:1;overflow-y:auto}
|
|
523
|
+
:scope._ao-card-scroll>._ao-card-body:last-child, :scope ._ao-card-scroll>._ao-card-body:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}
|
|
524
|
+
:scope._ao-card-scroll>._ao-card-actions, :scope ._ao-card-scroll>._ao-card-actions{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 3);flex-shrink:0}
|
|
525
|
+
:scope._ao-card-compact._ao-card-scroll>:is(._ao-card-header,._ao-card-actions), :scope ._ao-card-compact._ao-card-scroll>:is(._ao-card-header,._ao-card-actions){padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2)}
|
|
467
526
|
:scope._ao-stat-card, :scope ._ao-stat-card{gap:calc(var(--spacing) * 1);padding:calc(var(--spacing) * 4)}
|
|
468
527
|
:scope._ao-stat-card-label, :scope ._ao-stat-card-label{align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-text-muted);display:flex}
|
|
469
528
|
:scope._ao-stat-card-label>:is(i,svg), :scope ._ao-stat-card-label>:is(i,svg){flex-shrink:0}
|
|
@@ -648,6 +707,8 @@
|
|
|
648
707
|
:scope._ao-table, :scope ._ao-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text)}
|
|
649
708
|
:scope._ao-table :where(th,td), :scope ._ao-table :where(th,td), :scope._ao-table-cell, :scope ._ao-table-cell, :scope._ao-table-header-cell, :scope ._ao-table-header-cell{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);text-align:left;vertical-align:middle}
|
|
650
709
|
:scope._ao-table :where(thead th), :scope ._ao-table :where(thead th), :scope._ao-table-header-cell, :scope ._ao-table-header-cell{border-bottom-color:var(--color-border-strong);background-color:var(--color-surface-muted);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-text-muted)}
|
|
710
|
+
:scope._ao-table :where(tfoot :is(td,th)), :scope ._ao-table :where(tfoot :is(td,th)){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}
|
|
711
|
+
:scope._ao-table :where(tfoot tr:first-child :is(td,th)), :scope ._ao-table :where(tfoot tr:first-child :is(td,th)){border-top-style:var(--tw-border-style);border-top-width:2px;border-top-color:var(--color-border-strong)}
|
|
651
712
|
:scope._ao-table :where(td), :scope ._ao-table :where(td), :scope._ao-table-cell, :scope ._ao-table-cell{overflow-wrap:break-word}
|
|
652
713
|
:scope._ao-table>:last-child>tr:last-child :where(td), :scope ._ao-table>:last-child>tr:last-child :where(td), :scope._ao-table>:last-child>tr:last-child ._ao-table-cell, :scope ._ao-table>:last-child>tr:last-child ._ao-table-cell{border-bottom-style:var(--tw-border-style);border-bottom-width:0}
|
|
653
714
|
:scope._ao-table :where(th,td)[data-align=right], :scope ._ao-table :where(th,td)[data-align=right]{text-align:right}
|
|
@@ -753,6 +814,7 @@
|
|
|
753
814
|
@media (min-width:64rem){:scope._ao-container, :scope ._ao-container{max-width:64rem}}
|
|
754
815
|
@media (min-width:80rem){:scope._ao-container, :scope ._ao-container{max-width:80rem}}
|
|
755
816
|
@media (min-width:96rem){:scope._ao-container, :scope ._ao-container{max-width:96rem}}
|
|
817
|
+
:scope._ao-my-4, :scope ._ao-my-4{margin-block:calc(var(--spacing) * 4)}
|
|
756
818
|
:scope._ao-block, :scope ._ao-block{display:block}
|
|
757
819
|
:scope._ao-flex, :scope ._ao-flex{display:flex}
|
|
758
820
|
:scope._ao-grid, :scope ._ao-grid{display:grid}
|
|
@@ -768,5 +830,4 @@
|
|
|
768
830
|
:scope._ao-text-right, :scope ._ao-text-right{text-align:right}
|
|
769
831
|
:scope._ao-tabular-nums, :scope ._ao-tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}
|
|
770
832
|
:scope._ao-ring, :scope ._ao-ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}
|
|
771
|
-
:scope._ao-select-all, :scope ._ao-select-all{-webkit-user-select:all;user-select:all}
|
|
772
833
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aortl/admin-css",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Pre-built CSS design system. Drop in via <link> and use semantic class names.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"components",
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"files": [
|
|
20
20
|
"dist",
|
|
21
21
|
"src",
|
|
22
|
-
"README.md"
|
|
22
|
+
"README.md",
|
|
23
|
+
"CHANGELOG.md"
|
|
23
24
|
],
|
|
24
25
|
"type": "module",
|
|
25
26
|
"sideEffects": [
|
|
@@ -28,8 +28,7 @@
|
|
|
28
28
|
hover:bg-surface-muted
|
|
29
29
|
focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus;
|
|
30
30
|
list-style: none;
|
|
31
|
-
/* Let a long label break and shrink
|
|
32
|
-
the item (the chevron sits at `margin-left: auto`). */
|
|
31
|
+
/* Let a long label break and shrink instead of widening the row. */
|
|
33
32
|
overflow-wrap: break-word;
|
|
34
33
|
min-width: 0;
|
|
35
34
|
}
|
|
@@ -38,14 +37,11 @@
|
|
|
38
37
|
display: none;
|
|
39
38
|
}
|
|
40
39
|
|
|
41
|
-
/* Keep a leading icon at its intrinsic size; the chevron is the `::after`
|
|
42
|
-
below, which is already `flex-shrink: 0`. */
|
|
43
40
|
.accordion-summary > :is(i, svg) {
|
|
44
41
|
flex-shrink: 0;
|
|
45
42
|
}
|
|
46
43
|
|
|
47
|
-
/* Chevron
|
|
48
|
-
leading items (label, optional icon) sit together on the start side. */
|
|
44
|
+
/* Chevron */
|
|
49
45
|
.accordion-summary::after {
|
|
50
46
|
content: "";
|
|
51
47
|
width: 0.5rem;
|
|
@@ -64,16 +60,11 @@
|
|
|
64
60
|
|
|
65
61
|
.accordion-content {
|
|
66
62
|
@apply px-4 py-3 text-sm text-text border-t border-border;
|
|
67
|
-
/* Arbitrary body text — break long tokens instead of overflowing. */
|
|
68
63
|
overflow-wrap: break-word;
|
|
69
64
|
}
|
|
70
65
|
|
|
71
|
-
/*
|
|
72
|
-
|
|
73
|
-
snapping. content-visibility is pinned to visible so the closed content
|
|
74
|
-
still contributes to intrinsic width — without this, a shrink-to-fit
|
|
75
|
-
parent reflows narrower on close. Browsers without ::details-content
|
|
76
|
-
degrade to the native instant toggle. */
|
|
66
|
+
/* content-visibility stays visible so the closed content still contributes
|
|
67
|
+
intrinsic width — without it a shrink-to-fit parent reflows narrower on close. */
|
|
77
68
|
.accordion-item::details-content {
|
|
78
69
|
opacity: 0;
|
|
79
70
|
height: 0;
|
package/src/components/alert.css
CHANGED
|
@@ -1,35 +1,38 @@
|
|
|
1
1
|
@layer components {
|
|
2
2
|
.alert {
|
|
3
3
|
@apply flex flex-col gap-1 w-full px-3 py-2 rounded-md border text-sm text-text;
|
|
4
|
-
/* Inherited by the title, description, and any bare-text body so long
|
|
5
|
-
words/URLs break instead of overflowing the (often grid-tracked) body. */
|
|
6
4
|
overflow-wrap: break-word;
|
|
7
5
|
}
|
|
8
6
|
|
|
9
|
-
/*
|
|
10
|
-
icon spans all rows on the left, title/description stack on the right.
|
|
11
|
-
No wrapper needed — works with `<i class="ti …">`, `@tabler/icons-react`,
|
|
12
|
-
or any other inline SVG. */
|
|
7
|
+
/* A leading icon switches the layout to a two-column grid: icon left, text right. */
|
|
13
8
|
.alert:has(> :is(i, svg):first-child) {
|
|
14
9
|
display: grid;
|
|
15
|
-
/* `minmax(0, 1fr)`
|
|
16
|
-
column shrink below its longest word so the body wraps. */
|
|
10
|
+
/* `minmax(0, 1fr)` lets the text column shrink below its longest word. */
|
|
17
11
|
grid-template-columns: auto minmax(0, 1fr);
|
|
18
12
|
column-gap: 0.5rem;
|
|
19
13
|
row-gap: 0.25rem;
|
|
20
14
|
align-items: center;
|
|
21
15
|
}
|
|
22
16
|
|
|
17
|
+
/* A trailing action switches to grid even without an icon. */
|
|
18
|
+
.alert:has(> .alert-action) {
|
|
19
|
+
display: grid;
|
|
20
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
21
|
+
column-gap: 0.5rem;
|
|
22
|
+
row-gap: 0.25rem;
|
|
23
|
+
align-items: center;
|
|
24
|
+
}
|
|
25
|
+
.alert:has(> :is(i, svg):first-child):has(> .alert-action) {
|
|
26
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
27
|
+
}
|
|
28
|
+
|
|
23
29
|
.alert > :is(i, svg):first-child {
|
|
24
30
|
font-size: 1rem;
|
|
25
31
|
line-height: 1.25;
|
|
26
32
|
}
|
|
27
33
|
|
|
28
|
-
/*
|
|
29
|
-
|
|
30
|
-
and force the text parts into column 2 so the description doesn't wrap
|
|
31
|
-
under the icon. */
|
|
32
|
-
.alert:has(> :is(i, svg):first-child):has(> .alert-title) {
|
|
34
|
+
/* Replaces the icon-gated explicit-rows rule — rows whenever anything spans them. */
|
|
35
|
+
.alert:has(> .alert-title):is(:has(> :is(i, svg):first-child), :has(> .alert-action)) {
|
|
33
36
|
grid-template-rows: auto auto;
|
|
34
37
|
align-items: start;
|
|
35
38
|
}
|
|
@@ -38,20 +41,26 @@
|
|
|
38
41
|
grid-row: 1 / -1;
|
|
39
42
|
}
|
|
40
43
|
|
|
41
|
-
/*
|
|
42
|
-
|
|
43
|
-
text column. */
|
|
44
|
+
/* The column-2 pin becomes icon-gated so title/description auto-place into
|
|
45
|
+
column 1 in an action-only grid. min-width stays unconditional. */
|
|
44
46
|
.alert > :is(.alert-title, .alert-description) {
|
|
45
|
-
grid-column: 2;
|
|
46
47
|
min-width: 0;
|
|
47
48
|
}
|
|
49
|
+
.alert:has(> :is(i, svg):first-child) > :is(.alert-title, .alert-description) {
|
|
50
|
+
grid-column: 2;
|
|
51
|
+
}
|
|
48
52
|
|
|
49
|
-
/*
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
/* `-2` is the last explicit column in both grids; spans both rows, centered. */
|
|
54
|
+
.alert > .alert-action {
|
|
55
|
+
@apply font-medium whitespace-nowrap;
|
|
56
|
+
grid-column: -2;
|
|
57
|
+
grid-row: 1 / -1;
|
|
58
|
+
justify-self: end;
|
|
59
|
+
align-self: center;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/* Solid status fills. Title and icon inherit the `-content` color from the
|
|
63
|
+
root, so no per-variant text rule is needed. */
|
|
55
64
|
.alert-info {
|
|
56
65
|
@apply bg-info border-info text-info-content;
|
|
57
66
|
}
|
|
@@ -75,4 +84,10 @@
|
|
|
75
84
|
.alert-description {
|
|
76
85
|
opacity: 0.85;
|
|
77
86
|
}
|
|
87
|
+
|
|
88
|
+
/* `.link`'s blue is illegible on the solid fills; inherit the variant's content
|
|
89
|
+
color. Underline + weight carry the affordance. */
|
|
90
|
+
.alert .link {
|
|
91
|
+
@apply text-current hover:text-current hover:opacity-85 focus-visible:outline-current;
|
|
92
|
+
}
|
|
78
93
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
@layer components {
|
|
2
|
-
/*
|
|
3
|
-
|
|
4
|
-
`auto` so the .sidebar's own width drives it — collapse/peek modes change
|
|
5
|
-
the sidebar's intrinsic width instead of recomputing the grid here. */
|
|
2
|
+
/* The sidebar column is `auto` so the .sidebar's own width drives it —
|
|
3
|
+
collapse/peek modes change the sidebar's intrinsic width, not this grid. */
|
|
6
4
|
.app-shell {
|
|
7
5
|
--app-shell-sidebar-w: 240px;
|
|
8
6
|
--app-shell-sidebar-w-collapsed: 56px;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.avatar {
|
|
3
|
+
@apply relative inline-flex items-center justify-center
|
|
4
|
+
size-8 rounded-full overflow-hidden
|
|
5
|
+
bg-surface-strong text-text-muted
|
|
6
|
+
text-xs font-medium leading-none tracking-tight
|
|
7
|
+
select-none shrink-0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/* Layered over the initials so they show until the image loads (no JS). */
|
|
11
|
+
.avatar > img {
|
|
12
|
+
@apply absolute inset-0 size-full object-cover;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.avatar-square {
|
|
16
|
+
@apply rounded-md;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.avatar-sm {
|
|
20
|
+
@apply size-6 text-[0.625rem];
|
|
21
|
+
}
|
|
22
|
+
.avatar-lg {
|
|
23
|
+
@apply size-10 text-sm;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Overlapping stack — later siblings paint on top. */
|
|
27
|
+
.avatar-group {
|
|
28
|
+
@apply inline-flex items-center;
|
|
29
|
+
}
|
|
30
|
+
.avatar-group > .avatar {
|
|
31
|
+
@apply ring-2 ring-surface;
|
|
32
|
+
}
|
|
33
|
+
.avatar-group > .avatar + .avatar {
|
|
34
|
+
@apply -ms-2;
|
|
35
|
+
}
|
|
36
|
+
}
|
package/src/components/badge.css
CHANGED
|
@@ -12,11 +12,7 @@
|
|
|
12
12
|
flex-shrink: 0;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
/* Variants — solid status fills
|
|
16
|
-
success/etc. stay coherent across status indicators and chips in tables.
|
|
17
|
-
Each sits on the full-strength status color with the matching `-content`
|
|
18
|
-
text (white on the colored accents, black on bright yellow). The bare
|
|
19
|
-
`.badge` (no modifier) renders the neutral look, folded into the base. */
|
|
15
|
+
/* Variants — solid status fills matching the alert palette; bare `.badge` is the neutral look. */
|
|
20
16
|
.badge-info {
|
|
21
17
|
@apply bg-info text-info-content border-info;
|
|
22
18
|
}
|
|
@@ -38,6 +34,42 @@
|
|
|
38
34
|
@apply bg-primary text-primary-content;
|
|
39
35
|
}
|
|
40
36
|
|
|
37
|
+
/* Soft — composable modifier, pairs with a variant class; bare `.badge` is already the soft neutral. */
|
|
38
|
+
.badge-soft.badge-info {
|
|
39
|
+
@apply bg-info-muted text-info border-info-muted;
|
|
40
|
+
}
|
|
41
|
+
.badge-soft.badge-success {
|
|
42
|
+
@apply bg-success-muted text-success border-success-muted;
|
|
43
|
+
}
|
|
44
|
+
/* Yellow accent text fails contrast on the tinted surface — same constraint as stat-card. */
|
|
45
|
+
.badge-soft.badge-warning {
|
|
46
|
+
@apply bg-warning-muted text-text border-warning-muted;
|
|
47
|
+
}
|
|
48
|
+
.badge-soft.badge-danger {
|
|
49
|
+
@apply bg-danger-muted text-danger border-danger-muted;
|
|
50
|
+
}
|
|
51
|
+
.badge-soft.badge-primary {
|
|
52
|
+
@apply bg-primary-muted text-text border-primary-muted;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/* Remove button — sized to the chip; hover wash from `currentColor` works on solid, soft, and neutral fills. */
|
|
56
|
+
.badge-remove {
|
|
57
|
+
@apply inline-flex items-center justify-center shrink-0
|
|
58
|
+
size-3.5 -mr-1 rounded-full
|
|
59
|
+
text-inherit cursor-pointer
|
|
60
|
+
transition-colors duration-150
|
|
61
|
+
focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus;
|
|
62
|
+
}
|
|
63
|
+
.badge-remove:hover {
|
|
64
|
+
background-color: color-mix(in oklab, currentColor 15%, transparent);
|
|
65
|
+
}
|
|
66
|
+
.badge-sm .badge-remove {
|
|
67
|
+
@apply size-3 -mr-0.5;
|
|
68
|
+
}
|
|
69
|
+
.badge-lg .badge-remove {
|
|
70
|
+
@apply size-4.5 -mr-1.5;
|
|
71
|
+
}
|
|
72
|
+
|
|
41
73
|
/* Sizes (md is the default; modifiers override) */
|
|
42
74
|
.badge-sm {
|
|
43
75
|
@apply h-4 px-1.5 text-[0.625rem] gap-0.5;
|
|
@@ -6,4 +6,40 @@
|
|
|
6
6
|
bg-system-accent text-system-accent-content
|
|
7
7
|
shrink-0 select-none;
|
|
8
8
|
}
|
|
9
|
+
|
|
10
|
+
/* Glyph sizing moves into CSS so vanilla drops the inline font-size
|
|
11
|
+
and React renders icons at 1em. */
|
|
12
|
+
.brand-tile > :is(i, svg) {
|
|
13
|
+
font-size: 14px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.brand-tile-lg {
|
|
17
|
+
@apply size-10 rounded-md text-sm;
|
|
18
|
+
}
|
|
19
|
+
.brand-tile-lg > :is(i, svg) {
|
|
20
|
+
font-size: 20px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Soft tints — *-muted fill, colored glyph. */
|
|
24
|
+
.brand-tile-soft {
|
|
25
|
+
@apply bg-system-accent-muted text-system-accent;
|
|
26
|
+
}
|
|
27
|
+
.brand-tile-info {
|
|
28
|
+
@apply bg-info-muted text-info;
|
|
29
|
+
}
|
|
30
|
+
.brand-tile-success {
|
|
31
|
+
@apply bg-success-muted text-success;
|
|
32
|
+
}
|
|
33
|
+
.brand-tile-danger {
|
|
34
|
+
@apply bg-danger-muted text-danger;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Image tile (shop logo) — :has() flips the accent fill to a bordered
|
|
38
|
+
surface; object-contain keeps arbitrary-ratio logos uncropped. */
|
|
39
|
+
.brand-tile:has(> img) {
|
|
40
|
+
@apply bg-surface border border-border p-0.5;
|
|
41
|
+
}
|
|
42
|
+
.brand-tile > img {
|
|
43
|
+
@apply size-full object-contain rounded-[inherit];
|
|
44
|
+
}
|
|
9
45
|
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
@layer components {
|
|
2
2
|
.breadcrumbs {
|
|
3
3
|
@apply text-sm text-text-muted;
|
|
4
|
-
/* Crumb labels are often free-form entity names/slugs — let a long one
|
|
5
|
-
break rather than overflow the (flex-wrap) row. Inherited by every item;
|
|
6
|
-
crumb/separator icons stay `flex-shrink: 0` below. */
|
|
7
4
|
overflow-wrap: break-word;
|
|
8
5
|
}
|
|
9
6
|
|
|
@@ -18,15 +15,11 @@
|
|
|
18
15
|
focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus;
|
|
19
16
|
}
|
|
20
17
|
|
|
21
|
-
/* `aria-current` on the last item promotes it to body text weight. Non-links
|
|
22
|
-
stay non-interactive — same selector matches both <a aria-current> and
|
|
23
|
-
<span aria-current>. */
|
|
24
18
|
.breadcrumb-item[aria-current="page"] {
|
|
25
19
|
@apply text-text font-medium pointer-events-none;
|
|
26
20
|
}
|
|
27
21
|
|
|
28
|
-
/*
|
|
29
|
-
swap content via a child icon when you want a chevron instead. */
|
|
22
|
+
/* An empty separator renders a slash; a child icon replaces it. */
|
|
30
23
|
.breadcrumb-separator {
|
|
31
24
|
@apply inline-flex items-center text-text-muted/60 select-none;
|
|
32
25
|
}
|
|
@@ -40,9 +33,7 @@
|
|
|
40
33
|
height: 0.875rem;
|
|
41
34
|
}
|
|
42
35
|
|
|
43
|
-
/*
|
|
44
|
-
shrink factor too — keeps crumb and separator icons from squishing when a
|
|
45
|
-
long label tightens the row. */
|
|
36
|
+
/* A width alone doesn't stop a flex item from shrinking. */
|
|
46
37
|
.breadcrumb-item > :is(i, svg),
|
|
47
38
|
.breadcrumb-separator > :is(i, svg) {
|
|
48
39
|
flex-shrink: 0;
|
|
@@ -7,11 +7,8 @@
|
|
|
7
7
|
@apply rounded-none relative focus-visible:z-10;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
/* Split
|
|
11
|
-
|
|
12
|
-
treatment as the buttons around it. inline-flex on the details makes
|
|
13
|
-
the <summary> stretch vertically to match sibling .btn heights, so an
|
|
14
|
-
icon-only trigger doesn't end up shorter than its neighbours. */
|
|
10
|
+
/* Split buttons: a <details class="menu"> sits in the strip; inline-flex
|
|
11
|
+
stretches its <summary> to match sibling .btn heights. */
|
|
15
12
|
.btn-group > .menu {
|
|
16
13
|
@apply relative focus-visible:z-10;
|
|
17
14
|
display: inline-flex;
|
|
@@ -21,10 +18,7 @@
|
|
|
21
18
|
@apply rounded-none;
|
|
22
19
|
}
|
|
23
20
|
|
|
24
|
-
/* Horizontal-only
|
|
25
|
-
and paint the seam between adjacent items as a left-side divider.
|
|
26
|
-
Scoped with :not(.btn-group-vertical) so vertical groups (which share
|
|
27
|
-
the .btn-group class) don't inherit horizontal edge treatment. */
|
|
21
|
+
/* Horizontal-only — vertical groups also carry .btn-group, hence the :not() scope. */
|
|
28
22
|
.btn-group:not(.btn-group-vertical) > .btn:not(:first-child),
|
|
29
23
|
.btn-group:not(.btn-group-vertical) > .menu:not(:first-child) {
|
|
30
24
|
@apply -ml-px;
|
|
@@ -40,11 +34,8 @@
|
|
|
40
34
|
@apply rounded-r-lg;
|
|
41
35
|
}
|
|
42
36
|
|
|
43
|
-
/*
|
|
44
|
-
|
|
45
|
-
means the divider works across every .btn variant — light on
|
|
46
|
-
coloured buttons, dark on ghost/secondary — without per-variant
|
|
47
|
-
rules. */
|
|
37
|
+
/* Seam divider — color-mix on currentColor adapts to every .btn variant
|
|
38
|
+
without per-variant rules. */
|
|
48
39
|
.btn-group:not(.btn-group-vertical) > .btn:not(:first-child),
|
|
49
40
|
.btn-group:not(.btn-group-vertical) > .menu:not(:first-child) > .menu-trigger {
|
|
50
41
|
border-left-color: color-mix(in oklab, currentColor 25%, transparent);
|
|
@@ -78,11 +69,8 @@
|
|
|
78
69
|
border-top-color: color-mix(in oklab, currentColor 25%, transparent);
|
|
79
70
|
}
|
|
80
71
|
|
|
81
|
-
/* Full width —
|
|
82
|
-
|
|
83
|
-
every item is the same width regardless of label length; vertical
|
|
84
|
-
groups already stretch their items to the group's width, so widening
|
|
85
|
-
the group is enough. Mirrors the `fullWidth` treatment on tabs. */
|
|
72
|
+
/* Full width — horizontal items split the row evenly; vertical items
|
|
73
|
+
already stretch, so widening the group is enough. */
|
|
86
74
|
.btn-group-full-width:not(.btn-group-vertical) {
|
|
87
75
|
@apply flex w-full;
|
|
88
76
|
}
|