@aortl/admin-css 0.12.1 → 0.13.1

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.
@@ -704,6 +704,9 @@
704
704
  :scope._ao-accordion-summary::-webkit-details-marker, :scope ._ao-accordion-summary::-webkit-details-marker {
705
705
  display: none;
706
706
  }
707
+ :scope._ao-accordion-summary > :is(i, svg), :scope ._ao-accordion-summary > :is(i, svg) {
708
+ flex-shrink: 0;
709
+ }
707
710
  :scope._ao-accordion-summary::after, :scope ._ao-accordion-summary::after {
708
711
  content: "";
709
712
  width: 0.5rem;
@@ -896,6 +899,9 @@
896
899
  white-space: nowrap;
897
900
  color: var(--color-text);
898
901
  }
902
+ :scope._ao-badge > :is(i, svg), :scope ._ao-badge > :is(i, svg) {
903
+ flex-shrink: 0;
904
+ }
899
905
  :scope._ao-badge-info, :scope ._ao-badge-info {
900
906
  border-color: var(--color-info-muted);
901
907
  background-color: var(--color-info-muted);
@@ -1235,6 +1241,9 @@
1235
1241
  width: 0.875rem;
1236
1242
  height: 0.875rem;
1237
1243
  }
1244
+ :scope._ao-breadcrumb-item > :is(i, svg), :scope ._ao-breadcrumb-item > :is(i, svg), :scope._ao-breadcrumb-separator > :is(i, svg), :scope ._ao-breadcrumb-separator > :is(i, svg) {
1245
+ flex-shrink: 0;
1246
+ }
1238
1247
  :scope._ao-pagination > ol, :scope ._ao-pagination > ol, :scope._ao-pagination > ul, :scope ._ao-pagination > ul {
1239
1248
  margin: calc(var(--spacing) * 0);
1240
1249
  display: inline-flex;
@@ -1473,6 +1482,9 @@
1473
1482
  opacity: 50%;
1474
1483
  }
1475
1484
  }
1485
+ :scope._ao-btn > :is(i, svg), :scope ._ao-btn > :is(i, svg) {
1486
+ flex-shrink: 0;
1487
+ }
1476
1488
  :scope._ao-btn-primary, :scope ._ao-btn-primary {
1477
1489
  border-color: transparent;
1478
1490
  background-color: var(--color-primary);
@@ -1493,6 +1505,14 @@
1493
1505
  }
1494
1506
  }
1495
1507
  }
1508
+ :scope._ao-btn-muted, :scope ._ao-btn-muted {
1509
+ background-color: var(--color-surface);
1510
+ &:hover {
1511
+ @media (hover: hover) {
1512
+ background-color: var(--color-surface-muted);
1513
+ }
1514
+ }
1515
+ }
1496
1516
  :scope._ao-btn-danger, :scope ._ao-btn-danger {
1497
1517
  border-color: transparent;
1498
1518
  background-color: var(--color-danger);
@@ -1617,6 +1637,60 @@
1617
1637
  border-top-color: color-mix(in srgb, currentColor 25%, transparent);
1618
1638
  }
1619
1639
  }
1640
+ :scope._ao-btn-group-full-width:not(._ao-btn-group-vertical), :scope ._ao-btn-group-full-width:not(._ao-btn-group-vertical) {
1641
+ display: flex;
1642
+ width: 100%;
1643
+ }
1644
+ :scope._ao-btn-group-full-width:not(._ao-btn-group-vertical) > ._ao-btn, :scope ._ao-btn-group-full-width:not(._ao-btn-group-vertical) > ._ao-btn, :scope._ao-btn-group-full-width:not(._ao-btn-group-vertical) > ._ao-menu, :scope ._ao-btn-group-full-width:not(._ao-btn-group-vertical) > ._ao-menu {
1645
+ flex: 1;
1646
+ }
1647
+ :scope._ao-btn-group-full-width._ao-btn-group-vertical, :scope ._ao-btn-group-full-width._ao-btn-group-vertical {
1648
+ width: 100%;
1649
+ }
1650
+ :scope._ao-link, :scope ._ao-link {
1651
+ display: inline-flex;
1652
+ align-items: center;
1653
+ gap: calc(var(--spacing) * 1);
1654
+ border-radius: var(--radius-sm);
1655
+ color: var(--color-primary);
1656
+ text-decoration-line: underline;
1657
+ text-underline-offset: 2px;
1658
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
1659
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1660
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1661
+ --tw-duration: 150ms;
1662
+ transition-duration: 150ms;
1663
+ &:hover {
1664
+ @media (hover: hover) {
1665
+ color: var(--color-primary-hover);
1666
+ }
1667
+ }
1668
+ &:focus-visible {
1669
+ outline-style: var(--tw-outline-style);
1670
+ outline-width: 2px;
1671
+ }
1672
+ &:focus-visible {
1673
+ outline-offset: 2px;
1674
+ }
1675
+ &:focus-visible {
1676
+ outline-color: var(--color-primary);
1677
+ }
1678
+ }
1679
+ :scope._ao-link > :is(i, svg), :scope ._ao-link > :is(i, svg) {
1680
+ flex-shrink: 0;
1681
+ }
1682
+ :scope._ao-link-external, :scope ._ao-link-external {
1683
+ --link-external-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 7 7 17'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E");
1684
+ }
1685
+ :scope._ao-link-external::after, :scope ._ao-link-external::after {
1686
+ content: "";
1687
+ flex: none;
1688
+ width: 0.85em;
1689
+ height: 0.85em;
1690
+ background-color: currentColor;
1691
+ -webkit-mask: var(--link-external-arrow) center / contain no-repeat;
1692
+ mask: var(--link-external-arrow) center / contain no-repeat;
1693
+ }
1620
1694
  :scope._ao-input, :scope ._ao-input {
1621
1695
  display: inline-flex;
1622
1696
  width: 100%;
@@ -1688,6 +1762,39 @@
1688
1762
  outline-color: var(--color-danger);
1689
1763
  }
1690
1764
  }
1765
+ :scope._ao-input-info, :scope ._ao-input-info {
1766
+ border-color: var(--color-info);
1767
+ &:hover {
1768
+ @media (hover: hover) {
1769
+ border-color: var(--color-info);
1770
+ }
1771
+ }
1772
+ &:focus-visible {
1773
+ outline-color: var(--color-info);
1774
+ }
1775
+ }
1776
+ :scope._ao-input-success, :scope ._ao-input-success {
1777
+ border-color: var(--color-success);
1778
+ &:hover {
1779
+ @media (hover: hover) {
1780
+ border-color: var(--color-success);
1781
+ }
1782
+ }
1783
+ &:focus-visible {
1784
+ outline-color: var(--color-success);
1785
+ }
1786
+ }
1787
+ :scope._ao-input-warning, :scope ._ao-input-warning {
1788
+ border-color: var(--color-warning);
1789
+ &:hover {
1790
+ @media (hover: hover) {
1791
+ border-color: var(--color-warning);
1792
+ }
1793
+ }
1794
+ &:focus-visible {
1795
+ outline-color: var(--color-warning);
1796
+ }
1797
+ }
1691
1798
  :scope._ao-input-sm, :scope ._ao-input-sm {
1692
1799
  padding-inline: calc(var(--spacing) * 2.5);
1693
1800
  padding-block: calc(var(--spacing) * 1.5);
@@ -1816,6 +1923,43 @@
1816
1923
  outline-color: var(--color-danger);
1817
1924
  }
1818
1925
  }
1926
+ :scope._ao-textarea-info, :scope ._ao-textarea-info {
1927
+ border-color: var(--color-info);
1928
+ &:hover {
1929
+ @media (hover: hover) {
1930
+ border-color: var(--color-info);
1931
+ }
1932
+ }
1933
+ &:focus-visible {
1934
+ outline-color: var(--color-info);
1935
+ }
1936
+ }
1937
+ :scope._ao-textarea-success, :scope ._ao-textarea-success {
1938
+ border-color: var(--color-success);
1939
+ &:hover {
1940
+ @media (hover: hover) {
1941
+ border-color: var(--color-success);
1942
+ }
1943
+ }
1944
+ &:focus-visible {
1945
+ outline-color: var(--color-success);
1946
+ }
1947
+ }
1948
+ :scope._ao-textarea-warning, :scope ._ao-textarea-warning {
1949
+ border-color: var(--color-warning);
1950
+ &:hover {
1951
+ @media (hover: hover) {
1952
+ border-color: var(--color-warning);
1953
+ }
1954
+ }
1955
+ &:focus-visible {
1956
+ outline-color: var(--color-warning);
1957
+ }
1958
+ }
1959
+ :scope._ao-textarea-autosize, :scope ._ao-textarea-autosize {
1960
+ field-sizing: content;
1961
+ resize: none;
1962
+ }
1819
1963
  :scope._ao-textarea-sm, :scope ._ao-textarea-sm {
1820
1964
  min-height: calc(var(--spacing) * 16);
1821
1965
  padding-inline: calc(var(--spacing) * 2.5);
@@ -2396,6 +2540,9 @@
2396
2540
  font-weight: var(--font-weight-medium);
2397
2541
  color: var(--color-text-muted);
2398
2542
  }
2543
+ :scope._ao-stat-card-label > :is(i, svg), :scope ._ao-stat-card-label > :is(i, svg) {
2544
+ flex-shrink: 0;
2545
+ }
2399
2546
  :scope._ao-stat-card-value, :scope ._ao-stat-card-value {
2400
2547
  font-size: var(--text-2xl);
2401
2548
  line-height: var(--tw-leading, var(--text-2xl--line-height));
@@ -2954,6 +3101,9 @@
2954
3101
  cursor: not-allowed;
2955
3102
  opacity: 50%;
2956
3103
  }
3104
+ :scope._ao-menu-trigger > :is(i, svg), :scope ._ao-menu-trigger > :is(i, svg), :scope._ao-menu-item > :is(i, svg), :scope ._ao-menu-item > :is(i, svg) {
3105
+ flex-shrink: 0;
3106
+ }
2957
3107
  :scope._ao-menu-separator, :scope ._ao-menu-separator {
2958
3108
  margin-block: calc(var(--spacing) * 1);
2959
3109
  height: 1px;
@@ -3045,6 +3195,9 @@
3045
3195
  background-color: var(--color-primary-muted);
3046
3196
  color: var(--color-primary);
3047
3197
  }
3198
+ :scope._ao-navbar-brand > :is(i, svg), :scope ._ao-navbar-brand > :is(i, svg), :scope._ao-navbar-item > :is(i, svg), :scope ._ao-navbar-item > :is(i, svg) {
3199
+ flex-shrink: 0;
3200
+ }
3048
3201
  :scope._ao-navbar-actions, :scope ._ao-navbar-actions {
3049
3202
  margin-left: auto;
3050
3203
  display: flex;
@@ -3527,6 +3680,9 @@
3527
3680
  :scope._ao-tabs ._ao-tab[data-selected], :scope ._ao-tabs ._ao-tab[data-selected], :scope._ao-tabs ._ao-tab[aria-selected="true"], :scope ._ao-tabs ._ao-tab[aria-selected="true"] {
3528
3681
  color: var(--color-text);
3529
3682
  }
3683
+ :scope._ao-tabs ._ao-tab > :is(i, svg), :scope ._ao-tabs ._ao-tab > :is(i, svg) {
3684
+ flex-shrink: 0;
3685
+ }
3530
3686
  :scope._ao-tabs ._ao-tab-input, :scope ._ao-tabs ._ao-tab-input {
3531
3687
  position: absolute;
3532
3688
  width: 1px;
@@ -89,8 +89,8 @@
89
89
  :scope img, :scope video{max-width:100%;height:auto}
90
90
  :scope button, :scope input, :scope select, :scope optgroup, :scope textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
91
91
  :scope::file-selector-button, :scope ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
92
- :scope:where(select:is([multiple], [size])) optgroup, :scope :where(select:is([multiple], [size])) optgroup{font-weight:bolder}
93
- :scope:where(select:is([multiple], [size])) optgroup option, :scope :where(select:is([multiple], [size])) optgroup option{padding-inline-start:20px}
92
+ :scope:where(select:is([multiple],[size])) optgroup, :scope :where(select:is([multiple],[size])) optgroup{font-weight:bolder}
93
+ :scope:where(select:is([multiple],[size])) optgroup option, :scope :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
94
94
  :scope::file-selector-button, :scope ::file-selector-button{margin-inline-end:4px}
95
95
  :scope::placeholder, :scope ::placeholder{opacity:1}
96
96
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){:scope::placeholder, :scope ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){:scope::placeholder, :scope ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}
@@ -110,7 +110,7 @@
110
110
  :scope::-webkit-datetime-edit-meridiem-field, :scope ::-webkit-datetime-edit-meridiem-field{padding-block:0}
111
111
  :scope::-webkit-calendar-picker-indicator, :scope ::-webkit-calendar-picker-indicator{line-height:1}
112
112
  :scope:-moz-ui-invalid, :scope :-moz-ui-invalid{box-shadow:none}
113
- :scope button, :scope input:where([type=button], [type=reset], [type=submit]){appearance:button}
113
+ :scope button, :scope input:where([type=button],[type=reset],[type=submit]){appearance:button}
114
114
  :scope::file-selector-button, :scope ::file-selector-button{appearance:button}
115
115
  :scope::-webkit-inner-spin-button, :scope ::-webkit-inner-spin-button{height:auto}
116
116
  :scope::-webkit-outer-spin-button, :scope ::-webkit-outer-spin-button{height:auto}
@@ -130,26 +130,27 @@
130
130
  :scope._ao-accordion-summary:focus-visible, :scope ._ao-accordion-summary:focus-visible{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--color-primary)}
131
131
  :scope._ao-accordion-summary, :scope ._ao-accordion-summary{list-style:none}
132
132
  :scope._ao-accordion-summary::-webkit-details-marker, :scope ._ao-accordion-summary::-webkit-details-marker{display:none}
133
+ :scope._ao-accordion-summary>:is(i,svg), :scope ._ao-accordion-summary>:is(i,svg){flex-shrink:0}
133
134
  :scope._ao-accordion-summary:after, :scope ._ao-accordion-summary:after{content:"";border-bottom:2px solid;border-right:2px solid;flex-shrink:0;width:.5rem;height:.5rem;margin-left:auto;transition:transform .15s;transform:rotate(45deg)}
134
135
  :scope._ao-accordion-item[open]>._ao-accordion-summary:after, :scope ._ao-accordion-item[open]>._ao-accordion-summary:after{transform:rotate(-135deg)}
135
136
  :scope._ao-accordion-content, :scope ._ao-accordion-content{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text)}
136
137
  :scope._ao-accordion-item::details-content, :scope ._ao-accordion-item::details-content{opacity:0;content-visibility:visible;height:0;transition:opacity .2s,height .2s;overflow:clip}
137
138
  :scope._ao-accordion-item[open]::details-content, :scope ._ao-accordion-item[open]::details-content{opacity:1;height:auto}
138
139
  :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);border-width:1px;flex-direction:column;display:flex}
139
- :scope._ao-alert:has(>:is(i, svg):first-child), :scope ._ao-alert:has(>:is(i, svg):first-child){grid-template-columns:auto 1fr;align-items:center;gap:.25rem .5rem;display:grid}
140
- :scope._ao-alert>:is(i, svg):first-child, :scope ._ao-alert>:is(i, svg):first-child{font-size:1rem;line-height:1.25}
141
- :scope._ao-alert:has(>:is(i, svg):first-child):has(>._ao-alert-title), :scope ._ao-alert:has(>:is(i, svg):first-child):has(>._ao-alert-title){grid-template-rows:auto auto;align-items:start}
142
- :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}
143
- :scope._ao-alert>:is(._ao-alert-title, ._ao-alert-description), :scope ._ao-alert>:is(._ao-alert-title, ._ao-alert-description){grid-column:2}
140
+ :scope._ao-alert:has(>:is(i,svg):first-child), :scope ._ao-alert:has(>:is(i,svg):first-child){grid-template-columns:auto 1fr;align-items:center;gap:.25rem .5rem;display:grid}
141
+ :scope._ao-alert>:is(i,svg):first-child, :scope ._ao-alert>:is(i,svg):first-child{font-size:1rem;line-height:1.25}
142
+ :scope._ao-alert:has(>:is(i,svg):first-child):has(>._ao-alert-title), :scope ._ao-alert:has(>:is(i,svg):first-child):has(>._ao-alert-title){grid-template-rows:auto auto;align-items:start}
143
+ :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}
144
+ :scope._ao-alert>:is(._ao-alert-title,._ao-alert-description), :scope ._ao-alert>:is(._ao-alert-title,._ao-alert-description){grid-column:2}
144
145
  :scope._ao-alert-info, :scope ._ao-alert-info{border-color:var(--color-info-muted);background-color:var(--color-info-muted)}
145
146
  :scope._ao-alert-success, :scope ._ao-alert-success{border-color:var(--color-success-muted);background-color:var(--color-success-muted)}
146
147
  :scope._ao-alert-warning, :scope ._ao-alert-warning{border-color:var(--color-warning-muted);background-color:var(--color-warning-muted)}
147
148
  :scope._ao-alert-danger, :scope ._ao-alert-danger{border-color:var(--color-danger-muted);background-color:var(--color-danger-muted)}
148
149
  :scope._ao-alert-title, :scope ._ao-alert-title{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}
149
- :scope._ao-alert-info ._ao-alert-title, :scope ._ao-alert-info ._ao-alert-title, :scope._ao-alert-info>:is(i, svg):first-child, :scope ._ao-alert-info>:is(i, svg):first-child{color:var(--color-info)}
150
- :scope._ao-alert-success ._ao-alert-title, :scope ._ao-alert-success ._ao-alert-title, :scope._ao-alert-success>:is(i, svg):first-child, :scope ._ao-alert-success>:is(i, svg):first-child{color:var(--color-success)}
151
- :scope._ao-alert-warning ._ao-alert-title, :scope ._ao-alert-warning ._ao-alert-title, :scope._ao-alert-warning>:is(i, svg):first-child, :scope ._ao-alert-warning>:is(i, svg):first-child{color:var(--color-text)}
152
- :scope._ao-alert-danger ._ao-alert-title, :scope ._ao-alert-danger ._ao-alert-title, :scope._ao-alert-danger>:is(i, svg):first-child, :scope ._ao-alert-danger>:is(i, svg):first-child{color:var(--color-danger)}
150
+ :scope._ao-alert-info ._ao-alert-title, :scope ._ao-alert-info ._ao-alert-title, :scope._ao-alert-info>:is(i,svg):first-child, :scope ._ao-alert-info>:is(i,svg):first-child{color:var(--color-info)}
151
+ :scope._ao-alert-success ._ao-alert-title, :scope ._ao-alert-success ._ao-alert-title, :scope._ao-alert-success>:is(i,svg):first-child, :scope ._ao-alert-success>:is(i,svg):first-child{color:var(--color-success)}
152
+ :scope._ao-alert-warning ._ao-alert-title, :scope ._ao-alert-warning ._ao-alert-title, :scope._ao-alert-warning>:is(i,svg):first-child, :scope ._ao-alert-warning>:is(i,svg):first-child{color:var(--color-text)}
153
+ :scope._ao-alert-danger ._ao-alert-title, :scope ._ao-alert-danger ._ao-alert-title, :scope._ao-alert-danger>:is(i,svg):first-child, :scope ._ao-alert-danger>:is(i,svg):first-child{color:var(--color-danger)}
153
154
  :scope._ao-alert-description, :scope ._ao-alert-description{color:var(--color-text-muted)}
154
155
  :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}
155
156
  :scope._ao-app-shell>._ao-navbar, :scope ._ao-app-shell>._ao-navbar{grid-area:header}
@@ -165,6 +166,7 @@
165
166
  :scope._ao-container-compact, :scope ._ao-container-compact{gap:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 4)}
166
167
  @media (max-width:48rem){:scope._ao-container, :scope ._ao-container{padding-inline:calc(var(--spacing) * 4)}}
167
168
  :scope._ao-badge, :scope ._ao-badge{height:calc(var(--spacing) * 5);justify-content:center;align-items:center;gap:calc(var(--spacing) * 1);border-style:var(--tw-border-style);background-color:var(--color-surface-strong);padding-inline:calc(var(--spacing) * 2);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);white-space:nowrap;color:var(--color-text);border-width:1px;border-color:#0000;border-radius:3.40282e38px;display:inline-flex}
169
+ :scope._ao-badge>:is(i,svg), :scope ._ao-badge>:is(i,svg){flex-shrink:0}
168
170
  :scope._ao-badge-info, :scope ._ao-badge-info{border-color:var(--color-info-muted);background-color:var(--color-info-muted);color:var(--color-info)}
169
171
  :scope._ao-badge-success, :scope ._ao-badge-success{border-color:var(--color-success-muted);background-color:var(--color-success-muted);color:var(--color-success)}
170
172
  :scope._ao-badge-warning, :scope ._ao-badge-warning{border-color:var(--color-warning-muted);background-color:var(--color-warning-muted);color:var(--color-text)}
@@ -229,7 +231,8 @@
229
231
  @supports (color:color-mix(in lab, red, red)){:scope._ao-breadcrumb-separator, :scope ._ao-breadcrumb-separator{color:color-mix(in oklab, var(--color-text-muted) 60%, transparent)}}
230
232
  :scope._ao-breadcrumb-separator, :scope ._ao-breadcrumb-separator{-webkit-user-select:none;user-select:none}
231
233
  :scope._ao-breadcrumb-separator:empty:before, :scope ._ao-breadcrumb-separator:empty:before{content:"/"}
232
- :scope._ao-breadcrumb-separator>:is(i, svg), :scope ._ao-breadcrumb-separator>:is(i, svg){width:.875rem;height:.875rem}
234
+ :scope._ao-breadcrumb-separator>:is(i,svg), :scope ._ao-breadcrumb-separator>:is(i,svg){width:.875rem;height:.875rem}
235
+ :scope._ao-breadcrumb-item>:is(i,svg), :scope ._ao-breadcrumb-item>:is(i,svg), :scope._ao-breadcrumb-separator>:is(i,svg), :scope ._ao-breadcrumb-separator>:is(i,svg){flex-shrink:0}
233
236
  :scope._ao-pagination>ol, :scope ._ao-pagination>ol, :scope._ao-pagination>ul, :scope ._ao-pagination>ul{margin:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 1);padding:calc(var(--spacing) * 0);list-style-type:none;display:inline-flex}
234
237
  :scope._ao-page-item, :scope ._ao-page-item{display:inline-flex}
235
238
  :scope._ao-page-link, :scope ._ao-page-link{height:calc(var(--spacing) * 8);min-width:calc(var(--spacing) * 8);cursor:pointer;border-radius:var(--radius-md);border-style:var(--tw-border-style);padding-inline: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;background-color:#0000;border-width:1px;border-color:#0000;justify-content:center;align-items:center;text-decoration-line:none;transition-duration:.15s;display:inline-flex}
@@ -262,10 +265,13 @@
262
265
  @media (hover:hover){:scope._ao-btn:hover, :scope ._ao-btn:hover{background-color:var(--color-surface-strong)}}
263
266
  :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-primary)}
264
267
  :scope._ao-btn:disabled, :scope ._ao-btn:disabled{pointer-events:none;cursor:not-allowed;opacity:.5}
268
+ :scope._ao-btn>:is(i,svg), :scope ._ao-btn>:is(i,svg){flex-shrink:0}
265
269
  :scope._ao-btn-primary, :scope ._ao-btn-primary{background-color:var(--color-primary);color:var(--color-primary-content);border-color:#0000}
266
270
  @media (hover:hover){:scope._ao-btn-primary:hover, :scope ._ao-btn-primary:hover{background-color:var(--color-primary-hover)}}
267
271
  :scope._ao-btn-ghost, :scope ._ao-btn-ghost{color:var(--color-text);background-color:#0000;border-color:#0000}
268
272
  @media (hover:hover){:scope._ao-btn-ghost:hover, :scope ._ao-btn-ghost:hover{background-color:var(--color-surface-muted)}}
273
+ :scope._ao-btn-muted, :scope ._ao-btn-muted{background-color:var(--color-surface)}
274
+ @media (hover:hover){:scope._ao-btn-muted:hover, :scope ._ao-btn-muted:hover{background-color:var(--color-surface-muted)}}
269
275
  :scope._ao-btn-danger, :scope ._ao-btn-danger{background-color:var(--color-danger);color:var(--color-danger-content);border-color:#0000}
270
276
  @media (hover:hover){:scope._ao-btn-danger:hover, :scope ._ao-btn-danger:hover{opacity:.9}}
271
277
  :scope._ao-btn-sm, :scope ._ao-btn-sm{gap:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}
@@ -278,7 +284,7 @@
278
284
  :scope._ao-btn-loading:before, :scope ._ao-btn-loading:before{content:"";border:.125em solid;border-radius:9999px;flex-shrink:0;width:1em;height:1em;display:inline-block}
279
285
  @supports (color:color-mix(in lab, red, red)){:scope._ao-btn-loading:before, :scope ._ao-btn-loading:before{border:.125em solid color-mix(in oklab, currentColor 25%, transparent)}}
280
286
  :scope._ao-btn-loading:before, :scope ._ao-btn-loading:before{border-top-color:currentColor;animation:.6s linear infinite spinner-spin}
281
- :scope._ao-btn-loading>:is(i, svg):first-child, :scope ._ao-btn-loading>:is(i, svg):first-child{display:none}
287
+ :scope._ao-btn-loading>:is(i,svg):first-child, :scope ._ao-btn-loading>:is(i,svg):first-child{display:none}
282
288
  @media (prefers-reduced-motion:reduce){:scope._ao-btn-loading:before, :scope ._ao-btn-loading:before{animation-duration:2s}}
283
289
  :scope._ao-btn-group, :scope ._ao-btn-group{display:inline-flex}
284
290
  :scope._ao-btn-group>._ao-btn, :scope ._ao-btn-group>._ao-btn{border-radius:0;position:relative}
@@ -299,6 +305,15 @@
299
305
  :scope._ao-btn-group-vertical>._ao-btn:last-child, :scope ._ao-btn-group-vertical>._ao-btn:last-child, :scope._ao-btn-group-vertical>._ao-menu:last-child>._ao-menu-trigger, :scope ._ao-btn-group-vertical>._ao-menu:last-child>._ao-menu-trigger{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}
300
306
  :scope._ao-btn-group-vertical>._ao-btn:not(:first-child), :scope ._ao-btn-group-vertical>._ao-btn:not(:first-child), :scope._ao-btn-group-vertical>._ao-menu:not(:first-child)>._ao-menu-trigger, :scope ._ao-btn-group-vertical>._ao-menu:not(:first-child)>._ao-menu-trigger{border-top-color:currentColor}
301
307
  @supports (color:color-mix(in lab, red, red)){:scope._ao-btn-group-vertical>._ao-btn:not(:first-child), :scope ._ao-btn-group-vertical>._ao-btn:not(:first-child), :scope._ao-btn-group-vertical>._ao-menu:not(:first-child)>._ao-menu-trigger, :scope ._ao-btn-group-vertical>._ao-menu:not(:first-child)>._ao-menu-trigger{border-top-color:color-mix(in srgb, currentColor 25%, transparent)}}
308
+ :scope._ao-btn-group-full-width:not(._ao-btn-group-vertical), :scope ._ao-btn-group-full-width:not(._ao-btn-group-vertical){width:100%;display:flex}
309
+ :scope._ao-btn-group-full-width:not(._ao-btn-group-vertical)>._ao-btn, :scope ._ao-btn-group-full-width:not(._ao-btn-group-vertical)>._ao-btn, :scope._ao-btn-group-full-width:not(._ao-btn-group-vertical)>._ao-menu, :scope ._ao-btn-group-full-width:not(._ao-btn-group-vertical)>._ao-menu{flex:1}
310
+ :scope._ao-btn-group-full-width._ao-btn-group-vertical, :scope ._ao-btn-group-full-width._ao-btn-group-vertical{width:100%}
311
+ :scope._ao-link, :scope ._ao-link{align-items:center;gap:calc(var(--spacing) * 1);border-radius:var(--radius-sm);color:var(--color-primary);text-underline-offset:2px;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;text-decoration-line:underline;transition-duration:.15s;display:inline-flex}
312
+ @media (hover:hover){:scope._ao-link:hover, :scope ._ao-link:hover{color:var(--color-primary-hover)}}
313
+ :scope._ao-link:focus-visible, :scope ._ao-link:focus-visible{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--color-primary)}
314
+ :scope._ao-link>:is(i,svg), :scope ._ao-link>:is(i,svg){flex-shrink:0}
315
+ :scope._ao-link-external, :scope ._ao-link-external{--link-external-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 7 7 17'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E")}
316
+ :scope._ao-link-external:after, :scope ._ao-link-external:after{content:"";width:.85em;height:.85em;-webkit-mask:var(--link-external-arrow) center / contain no-repeat;-webkit-mask:var(--link-external-arrow) center / contain no-repeat;-webkit-mask:var(--link-external-arrow) center / contain no-repeat;mask:var(--link-external-arrow) center / contain no-repeat;background-color:currentColor;flex:none}
302
317
  :scope._ao-input, :scope ._ao-input{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));--tw-leading:1;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;align-items:center;line-height:1;transition-duration:.15s;display:inline-flex}
303
318
  :scope._ao-input::placeholder, :scope ._ao-input::placeholder{color:var(--color-text-muted)}
304
319
  @media (hover:hover){:scope._ao-input:hover, :scope ._ao-input:hover{border-color:var(--color-border-strong)}}
@@ -309,6 +324,15 @@
309
324
  :scope._ao-input-danger, :scope ._ao-input-danger{border-color:var(--color-danger)}
310
325
  @media (hover:hover){:scope._ao-input-danger:hover, :scope ._ao-input-danger:hover{border-color:var(--color-danger)}}
311
326
  :scope._ao-input-danger:focus-visible, :scope ._ao-input-danger:focus-visible{outline-color:var(--color-danger)}
327
+ :scope._ao-input-info, :scope ._ao-input-info{border-color:var(--color-info)}
328
+ @media (hover:hover){:scope._ao-input-info:hover, :scope ._ao-input-info:hover{border-color:var(--color-info)}}
329
+ :scope._ao-input-info:focus-visible, :scope ._ao-input-info:focus-visible{outline-color:var(--color-info)}
330
+ :scope._ao-input-success, :scope ._ao-input-success{border-color:var(--color-success)}
331
+ @media (hover:hover){:scope._ao-input-success:hover, :scope ._ao-input-success:hover{border-color:var(--color-success)}}
332
+ :scope._ao-input-success:focus-visible, :scope ._ao-input-success:focus-visible{outline-color:var(--color-success)}
333
+ :scope._ao-input-warning, :scope ._ao-input-warning{border-color:var(--color-warning)}
334
+ @media (hover:hover){:scope._ao-input-warning:hover, :scope ._ao-input-warning:hover{border-color:var(--color-warning)}}
335
+ :scope._ao-input-warning:focus-visible, :scope ._ao-input-warning:focus-visible{outline-color:var(--color-warning)}
312
336
  :scope._ao-input-sm, :scope ._ao-input-sm{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}
313
337
  :scope._ao-input-lg, :scope ._ao-input-lg{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2.5);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}
314
338
  :scope._ao-input::-webkit-calendar-picker-indicator, :scope ._ao-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}
@@ -330,6 +354,16 @@
330
354
  :scope._ao-textarea-danger, :scope ._ao-textarea-danger{border-color:var(--color-danger)}
331
355
  @media (hover:hover){:scope._ao-textarea-danger:hover, :scope ._ao-textarea-danger:hover{border-color:var(--color-danger)}}
332
356
  :scope._ao-textarea-danger:focus-visible, :scope ._ao-textarea-danger:focus-visible{outline-color:var(--color-danger)}
357
+ :scope._ao-textarea-info, :scope ._ao-textarea-info{border-color:var(--color-info)}
358
+ @media (hover:hover){:scope._ao-textarea-info:hover, :scope ._ao-textarea-info:hover{border-color:var(--color-info)}}
359
+ :scope._ao-textarea-info:focus-visible, :scope ._ao-textarea-info:focus-visible{outline-color:var(--color-info)}
360
+ :scope._ao-textarea-success, :scope ._ao-textarea-success{border-color:var(--color-success)}
361
+ @media (hover:hover){:scope._ao-textarea-success:hover, :scope ._ao-textarea-success:hover{border-color:var(--color-success)}}
362
+ :scope._ao-textarea-success:focus-visible, :scope ._ao-textarea-success:focus-visible{outline-color:var(--color-success)}
363
+ :scope._ao-textarea-warning, :scope ._ao-textarea-warning{border-color:var(--color-warning)}
364
+ @media (hover:hover){:scope._ao-textarea-warning:hover, :scope ._ao-textarea-warning:hover{border-color:var(--color-warning)}}
365
+ :scope._ao-textarea-warning:focus-visible, :scope ._ao-textarea-warning:focus-visible{outline-color:var(--color-warning)}
366
+ :scope._ao-textarea-autosize, :scope ._ao-textarea-autosize{field-sizing:content;resize:none}
333
367
  :scope._ao-textarea-sm, :scope ._ao-textarea-sm{min-height:calc(var(--spacing) * 16);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}
334
368
  :scope._ao-textarea-lg, :scope ._ao-textarea-lg{min-height:calc(var(--spacing) * 24);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2.5);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}
335
369
  :scope._ao-checkbox, :scope ._ao-checkbox{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);cursor:pointer;border-radius:var(--radius-sm);border-style:var(--tw-border-style);background-color:var(--color-surface);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-width:1px;flex-shrink:0;justify-content:center;align-items:center;transition-duration:.15s;display:inline-flex}
@@ -338,7 +372,7 @@
338
372
  :scope._ao-checkbox[data-unchecked], :scope ._ao-checkbox[data-unchecked]{border-color:var(--color-border-strong)}
339
373
  @media (hover:hover){:scope._ao-checkbox[data-unchecked]:hover, :scope ._ao-checkbox[data-unchecked]:hover{border-color:var(--color-text-muted)}}
340
374
  :scope._ao-checkbox[data-checked], :scope ._ao-checkbox[data-checked], :scope._ao-checkbox[data-indeterminate], :scope ._ao-checkbox[data-indeterminate]{border-color:var(--color-primary);background-color:var(--color-primary)}
341
- @media (hover:hover){:scope:is(._ao-checkbox[data-checked], ._ao-checkbox[data-indeterminate]):hover, :scope :is(._ao-checkbox[data-checked], ._ao-checkbox[data-indeterminate]):hover{background-color:var(--color-primary-hover)}}
375
+ @media (hover:hover){:scope:is(._ao-checkbox[data-checked],._ao-checkbox[data-indeterminate]):hover, :scope :is(._ao-checkbox[data-checked],._ao-checkbox[data-indeterminate]):hover{background-color:var(--color-primary-hover)}}
342
376
  :scope._ao-checkbox[data-disabled], :scope ._ao-checkbox[data-disabled]{cursor:not-allowed;opacity:.5}
343
377
  :scope._ao-checkbox-indicator, :scope ._ao-checkbox-indicator{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3);color:var(--color-primary-content);justify-content:center;align-items:center;display:inline-flex}
344
378
  :scope label:has(>._ao-checkbox){cursor:pointer;align-items:center;gap:calc(var(--spacing) * 2);display:inline-flex}
@@ -418,6 +452,7 @@
418
452
  :scope._ao-card-danger ._ao-card-title, :scope ._ao-card-danger ._ao-card-title{color:var(--color-danger)}
419
453
  :scope._ao-stat-card, :scope ._ao-stat-card{gap:calc(var(--spacing) * 1);padding:calc(var(--spacing) * 4)}
420
454
  :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}
455
+ :scope._ao-stat-card-label>:is(i,svg), :scope ._ao-stat-card-label>:is(i,svg){flex-shrink:0}
421
456
  :scope._ao-stat-card-value, :scope ._ao-stat-card-value{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--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,)}
422
457
  :scope._ao-stat-card-detail, :scope ._ao-stat-card-detail{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}
423
458
  :scope._ao-card-compact._ao-stat-card, :scope ._ao-card-compact._ao-stat-card{gap:calc(var(--spacing) * .5);padding:calc(var(--spacing) * 3)}
@@ -502,6 +537,7 @@
502
537
  @media (hover:hover){:scope._ao-menu-item:hover, :scope ._ao-menu-item:hover{background-color:var(--color-surface-muted)}}
503
538
  :scope._ao-menu-item:focus-visible, :scope ._ao-menu-item:focus-visible{background-color:var(--color-surface-muted);--tw-outline-style:none;outline-style:none}
504
539
  :scope._ao-menu-item:disabled, :scope ._ao-menu-item:disabled, :scope._ao-menu-item[aria-disabled=true], :scope ._ao-menu-item[aria-disabled=true]{cursor:not-allowed;opacity:.5}
540
+ :scope._ao-menu-trigger>:is(i,svg), :scope ._ao-menu-trigger>:is(i,svg), :scope._ao-menu-item>:is(i,svg), :scope ._ao-menu-item>:is(i,svg){flex-shrink:0}
505
541
  :scope._ao-menu-separator, :scope ._ao-menu-separator{margin-block:calc(var(--spacing) * 1);border-style:var(--tw-border-style);background-color:var(--color-border);border-width:0;height:1px}
506
542
  :scope._ao-menu-group, :scope ._ao-menu-group{flex-direction:column;display:flex}
507
543
  :scope._ao-menu-group-label, :scope ._ao-menu-group-label{padding-inline:calc(var(--spacing) * 3);padding-top:calc(var(--spacing) * 2);padding-bottom:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);text-transform:uppercase}
@@ -512,6 +548,7 @@
512
548
  @media (hover:hover){:scope._ao-navbar-item:hover, :scope ._ao-navbar-item:hover{background-color:var(--color-surface-strong)}}
513
549
  :scope._ao-navbar-item:focus-visible, :scope ._ao-navbar-item:focus-visible{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--color-primary)}
514
550
  :scope._ao-navbar-item[aria-current=page], :scope ._ao-navbar-item[aria-current=page], :scope._ao-navbar-item[data-active], :scope ._ao-navbar-item[data-active]{background-color:var(--color-primary-muted);color:var(--color-primary)}
551
+ :scope._ao-navbar-brand>:is(i,svg), :scope ._ao-navbar-brand>:is(i,svg), :scope._ao-navbar-item>:is(i,svg), :scope ._ao-navbar-item>:is(i,svg){flex-shrink:0}
515
552
  :scope._ao-navbar-actions, :scope ._ao-navbar-actions{align-items:center;gap:calc(var(--spacing) * 2);margin-left:auto;display:flex}
516
553
  :scope._ao-navbar-mobile-toggle, :scope ._ao-navbar-mobile-toggle{margin-left:calc(var(--spacing) * -2);width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);cursor:pointer;border-radius:var(--radius-md);color:var(--color-text);background-color:#0000;justify-content:center;align-items:center;display:inline-flex}
517
554
  @media (hover:hover){:scope._ao-navbar-mobile-toggle:hover, :scope ._ao-navbar-mobile-toggle:hover{background-color:var(--color-surface-strong)}}
@@ -570,6 +607,7 @@
570
607
  :scope._ao-tabs ._ao-tab:focus-visible, :scope ._ao-tabs ._ao-tab:focus-visible{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--color-primary)}
571
608
  :scope._ao-tabs ._ao-tab:disabled, :scope ._ao-tabs ._ao-tab:disabled{cursor:not-allowed;opacity:.5}
572
609
  :scope._ao-tabs ._ao-tab[data-selected], :scope ._ao-tabs ._ao-tab[data-selected], :scope._ao-tabs ._ao-tab[aria-selected=true], :scope ._ao-tabs ._ao-tab[aria-selected=true]{color:var(--color-text)}
610
+ :scope._ao-tabs ._ao-tab>:is(i,svg), :scope ._ao-tabs ._ao-tab>:is(i,svg){flex-shrink:0}
573
611
  :scope._ao-tabs ._ao-tab-input, :scope ._ao-tabs ._ao-tab-input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute}
574
612
  :scope._ao-tabs ._ao-tab-input:checked+._ao-tab, :scope ._ao-tabs ._ao-tab-input:checked+._ao-tab{color:var(--color-text)}
575
613
  :scope._ao-tabs ._ao-tab-input:focus-visible+._ao-tab, :scope ._ao-tabs ._ao-tab-input:focus-visible+._ao-tab{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--color-primary)}
@@ -591,17 +629,17 @@
591
629
  :scope._ao-tabs[data-orientation=vertical]:not(._ao-tabs-boxed) ._ao-tab:after, :scope ._ao-tabs[data-orientation=vertical]:not(._ao-tabs-boxed) ._ao-tab:after{block-size:auto;inline-size:2px;inset-block:0;inset-inline:auto -1px;transform:scaleY(0)}
592
630
  :scope._ao-tabs[data-orientation=vertical]:not(._ao-tabs-boxed) ._ao-tab[data-selected]:after, :scope ._ao-tabs[data-orientation=vertical]:not(._ao-tabs-boxed) ._ao-tab[data-selected]:after, :scope._ao-tabs[data-orientation=vertical]:not(._ao-tabs-boxed) ._ao-tab[aria-selected=true]:after, :scope ._ao-tabs[data-orientation=vertical]:not(._ao-tabs-boxed) ._ao-tab[aria-selected=true]:after{transform:scaleY(1)}
593
631
  :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)}
594
- :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}
632
+ :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}
595
633
  :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)}
596
634
  :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}
597
- :scope._ao-table :where(th, td)[data-align=right], :scope ._ao-table :where(th, td)[data-align=right]{text-align:right}
598
- :scope._ao-table :where(th, td)[data-align=center], :scope ._ao-table :where(th, td)[data-align=center]{text-align:center}
635
+ :scope._ao-table :where(th,td)[data-align=right], :scope ._ao-table :where(th,td)[data-align=right]{text-align:right}
636
+ :scope._ao-table :where(th,td)[data-align=center], :scope ._ao-table :where(th,td)[data-align=center]{text-align:center}
599
637
  :scope._ao-table-cell-numeric, :scope ._ao-table-cell-numeric{text-align:right;--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,)}
600
638
  :scope._ao-table-cell-gutter, :scope ._ao-table-cell-gutter{width:calc(var(--spacing) * 6);padding-inline:calc(var(--spacing) * 0);text-align:center;color:var(--color-text-muted)}
601
- :scope._ao-table-cell-gutter>:is(i, svg), :scope ._ao-table-cell-gutter>:is(i, svg){vertical-align:middle;font-size:1rem;line-height:1}
639
+ :scope._ao-table-cell-gutter>:is(i,svg), :scope ._ao-table-cell-gutter>:is(i,svg){vertical-align:middle;font-size:1rem;line-height:1}
602
640
  :scope._ao-table-striped tbody tr:nth-child(2n) :where(td), :scope ._ao-table-striped tbody tr:nth-child(2n) :where(td){background-color:var(--color-surface-muted)}
603
- :scope._ao-table-bordered, :scope ._ao-table-bordered, :scope._ao-table-bordered :where(th, td), :scope ._ao-table-bordered :where(th, td){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border)}
604
- :scope._ao-table-relaxed :where(th, td), :scope ._ao-table-relaxed :where(th, td){padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3)}
641
+ :scope._ao-table-bordered, :scope ._ao-table-bordered, :scope._ao-table-bordered :where(th,td), :scope ._ao-table-bordered :where(th,td){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border)}
642
+ :scope._ao-table-relaxed :where(th,td), :scope ._ao-table-relaxed :where(th,td){padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3)}
605
643
  :scope._ao-table-sticky thead :where(th), :scope ._ao-table-sticky thead :where(th){top:calc(var(--spacing) * 0);z-index:10;background-color:var(--color-surface-muted);position:sticky}
606
644
  :scope._ao-table tbody tr, :scope ._ao-table tbody tr{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:75ms;transition-duration:75ms}
607
645
  :scope._ao-table tbody tr:hover :where(td), :scope ._ao-table tbody tr:hover :where(td){background-color:var(--color-surface-muted)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aortl/admin-css",
3
- "version": "0.12.1",
3
+ "version": "0.13.1",
4
4
  "description": "Pre-built CSS design system. Drop in via <link> and use semantic class names.",
5
5
  "keywords": [
6
6
  "components",
@@ -54,7 +54,9 @@
54
54
  "build:utilities": "tailwindcss -i ./src/utilities.css -o ./dist/admin.utilities.css",
55
55
  "build:utilities:min": "tailwindcss -i ./src/utilities.css -o ./dist/admin.utilities.min.css --minify",
56
56
  "build:scoped": "node ./scripts/wrap-scoped.mjs",
57
- "dev": "tailwindcss -i ./src/admin.css -o ./dist/admin.css --watch",
57
+ "dev": "pnpm run \"/^dev:/\"",
58
+ "dev:css": "tailwindcss -i ./src/admin.css -o ./dist/admin.css --watch",
59
+ "dev:scoped": "node --watch-path=./dist/admin.css ./scripts/wrap-scoped.mjs",
58
60
  "test": "vitest run",
59
61
  "test:watch": "vitest"
60
62
  }
@@ -34,6 +34,12 @@
34
34
  display: none;
35
35
  }
36
36
 
37
+ /* Keep a leading icon at its intrinsic size; the chevron is the `::after`
38
+ below, which is already `flex-shrink: 0`. */
39
+ .accordion-summary > :is(i, svg) {
40
+ flex-shrink: 0;
41
+ }
42
+
37
43
  /* Chevron — pushed to the end with margin-left: auto so any number of
38
44
  leading items (label, optional icon) sit together on the start side. */
39
45
  .accordion-summary::after {
@@ -7,6 +7,11 @@
7
7
  bg-surface-strong text-text;
8
8
  }
9
9
 
10
+ /* Keep a status dot or leading glyph round when the label is long. */
11
+ .badge > :is(i, svg) {
12
+ flex-shrink: 0;
13
+ }
14
+
10
15
  /* Variants — match the alert palette so danger/success/etc. stay coherent
11
16
  across status indicators and chips in tables. The bare `.badge` (no
12
17
  modifier) renders the neutral look, now folded into the base. */
@@ -35,4 +35,12 @@
35
35
  width: 0.875rem;
36
36
  height: 0.875rem;
37
37
  }
38
+
39
+ /* Setting a width on a flex item doesn't stop it from shrinking, so pin the
40
+ shrink factor too — keeps crumb and separator icons from squishing when a
41
+ long label tightens the row. */
42
+ .breadcrumb-item > :is(i, svg),
43
+ .breadcrumb-separator > :is(i, svg) {
44
+ flex-shrink: 0;
45
+ }
38
46
  }
@@ -77,4 +77,22 @@
77
77
  .btn-group-vertical > .menu:not(:first-child) > .menu-trigger {
78
78
  border-top-color: color-mix(in srgb, currentColor 25%, transparent);
79
79
  }
80
+
81
+ /* Full width — the group stretches across its container instead of
82
+ shrinking to its content. Horizontal groups split the row evenly so
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. */
86
+ .btn-group-full-width:not(.btn-group-vertical) {
87
+ @apply flex w-full;
88
+ }
89
+
90
+ .btn-group-full-width:not(.btn-group-vertical) > .btn,
91
+ .btn-group-full-width:not(.btn-group-vertical) > .menu {
92
+ @apply flex-1;
93
+ }
94
+
95
+ .btn-group-full-width.btn-group-vertical {
96
+ @apply w-full;
97
+ }
80
98
  }
@@ -10,6 +10,13 @@
10
10
  disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none;
11
11
  }
12
12
 
13
+ /* Keep leading/trailing icons at their intrinsic size — a flex item defaults
14
+ to `flex-shrink: 1`, so a narrow flex container would otherwise squish the
15
+ glyph horizontally before wrapping or truncating the label. */
16
+ .btn > :is(i, svg) {
17
+ flex-shrink: 0;
18
+ }
19
+
13
20
  /* Variants — the bare `.btn` (no modifier) is the low-emphasis default, so
14
21
  most admin buttons need no variant class. The colored variants reset the
15
22
  border to transparent since the base now carries a visible one. */
@@ -21,6 +28,15 @@
21
28
  @apply bg-transparent text-text border-transparent hover:bg-surface-muted;
22
29
  }
23
30
 
31
+ /* Muted — fills with the page background (`surface`) so it sits flush
32
+ instead of reading as a raised control, mirroring `card-muted`. The
33
+ default `.btn` is one step up (`surface-muted`); hover lifts the muted
34
+ button to that resting fill. For de-emphasised actions that should
35
+ recede into the page. */
36
+ .btn-muted {
37
+ @apply bg-surface hover:bg-surface-muted;
38
+ }
39
+
24
40
  .btn-danger {
25
41
  @apply bg-danger text-danger-content border-transparent hover:opacity-90;
26
42
  }
@@ -13,6 +13,7 @@
13
13
  @import "./property-list.css";
14
14
  @import "./button.css";
15
15
  @import "./button-group.css";
16
+ @import "./link.css";
16
17
  @import "./input.css";
17
18
  @import "./input-group.css";
18
19
  @import "./textarea.css";
@@ -18,6 +18,20 @@
18
18
  @apply border-danger hover:border-danger focus-visible:outline-danger;
19
19
  }
20
20
 
21
+ /* Status variants — border + focus outline only; text stays `text-text`, so
22
+ warning's yellow accent (which fails AA as text) is fine here. */
23
+ .input-info {
24
+ @apply border-info hover:border-info focus-visible:outline-info;
25
+ }
26
+
27
+ .input-success {
28
+ @apply border-success hover:border-success focus-visible:outline-success;
29
+ }
30
+
31
+ .input-warning {
32
+ @apply border-warning hover:border-warning focus-visible:outline-warning;
33
+ }
34
+
21
35
  /* Sizes */
22
36
  .input-sm {
23
37
  @apply text-xs px-2.5 py-1.5;