@fastkit/vui 0.6.18 → 0.6.30

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/dist/vui.css CHANGED
@@ -347,6 +347,15 @@ template {
347
347
  :root {
348
348
  --root-em: 16px;
349
349
  --root-spacing: 4px;
350
+ --transition-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1);
351
+ --transition-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1);
352
+ --transition-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1);
353
+ --transition-ease-in-out: cubic-bezier(0.4, 0, 0.6, 1);
354
+ --transition-fast-in-fast-out: cubic-bezier(0.25, 0.8, 0.25, 1);
355
+ --transition-swing: cubic-bezier(0.25, 0.8, 0.5, 1);
356
+ --transition-primary: var(--transition-swing);
357
+ --transition-tab: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1);
358
+ --transition-fade: 0.2s;
350
359
  --typo-fallback-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
351
360
  "Helvetica Neue", Arial, sans-serif;
352
361
  --type-emoji-font: "Apple Color Emoji", "Segoe UI Emoji";
@@ -512,6 +521,28 @@ template {
512
521
  --toolbar-dense-height: calc(var(--toolbar-height) * 0.8);
513
522
  --card-content-padding: 1rem;
514
523
  --card-actions-padding: 0.5rem;
524
+ --pagination-item-radius: 2px;
525
+ --pagination-item-font-size: var(--root-em);
526
+ --pagination-item-size: calc(var(--root-em) * 2);
527
+ --pagination-item-margin: calc(var(--root-em) * 0.5);
528
+ --pagination-item-font-size-dense: calc(
529
+ var(--pagination-item-font-size) * 0.625
530
+ );
531
+ --pagination-item-size-dense: calc(var(--pagination-item-size) * 0.8125);
532
+ --pagination-item-margin-dense: calc(var(--pagination-item-margin) * 0.75);
533
+ --table-vertical-margin: calc(var(--root-em) * 1.25);
534
+ --table-font-size: calc(var(--root-em) * 0.75);
535
+ --table-caption-font-size: calc(var(--root-em) * 1);
536
+ --table-caption-font-weight: regular;
537
+ --table-caption-vertical-margin: calc(var(--root-em) * 0.625);
538
+ --table-cell-height: calc(var(--root-em) * 3.125);
539
+ --table-cell-vertial-padding: calc(var(--root-em) * 0.3125);
540
+ --table-cell-horizontal-padding: calc(var(--root-em) * 1);
541
+ --table-header-color: var(--palette-primary);
542
+ --table-header-font-weight: 500;
543
+ --tabs-height: calc(var(--root-em) * 3);
544
+ --tabs-bar-height: calc(var(--root-em) * 0.375);
545
+ --tabs-font-size: calc(var(--root-em) * 0.875);
515
546
  }
516
547
 
517
548
  :root,
@@ -712,6 +743,61 @@ h6,
712
743
  box-shadow: var(--shadow-key-umbra-0), var(--shadow-key-penumbra-0), var(--shadow-key-ambient-0) !important;
713
744
  }
714
745
 
746
+ code,
747
+ kbd,
748
+ pre,
749
+ samp {
750
+ font-family: monospace;
751
+ }
752
+
753
+ code {
754
+ padding: 0.2em 0.4em;
755
+ font-size: 85%;
756
+ font-weight: 400;
757
+ color: rgba(0, 0, 0, 0.87);
758
+ background-color: rgba(0, 0, 0, 0.05);
759
+ border-radius: 3px;
760
+ }
761
+
762
+ table {
763
+ display: table;
764
+ max-width: 100%;
765
+ margin: var(--table-vertical-margin) 0;
766
+ font-size: var(--table-font-size);
767
+ border-collapse: collapse;
768
+ border: 0;
769
+ border-radius: 0;
770
+ }
771
+
772
+ caption {
773
+ display: table-caption;
774
+ width: 100%;
775
+ padding: 0;
776
+ margin: 0 0 var(--table-caption-vertical-margin);
777
+ font-size: var(--table-caption-font-size);
778
+ font-weight: var(--table-caption-font-weight);
779
+ text-align: center;
780
+ }
781
+
782
+ th,
783
+ td {
784
+ height: var(--table-cell-height);
785
+ padding: var(--table-cell-vertial-padding) var(--table-cell-horizontal-padding);
786
+ text-align: left;
787
+ vertical-align: middle;
788
+ border: 0;
789
+ }
790
+
791
+ th {
792
+ font-weight: var(--table-header-font-weight);
793
+ color: var(--table-header-color);
794
+ white-space: nowrap;
795
+ }
796
+
797
+ thead th {
798
+ text-align: center;
799
+ }
800
+
715
801
  .v-control--sm {
716
802
  --control-field-rem: var(--control-field-rem-sm);
717
803
  font-size: var(--control-field-rem);
@@ -922,6 +1008,108 @@ h6,
922
1008
  z-index: 1;
923
1009
  transform: translate(-50%, -50%);
924
1010
  }
1011
+ .v-pagination {
1012
+ --pagination-size: var(--pagination-item-size);
1013
+ --pagination-margin: var(--pagination-item-margin);
1014
+ --pagination-font-size: var(--pagination-item-font-size);
1015
+ --pagination-radius: var(--pagination-item-radius);
1016
+ display: flex;
1017
+ align-items: center;
1018
+ overflow: hidden;
1019
+ font-weight: bold;
1020
+ line-height: 1;
1021
+ }
1022
+ .v-pagination::before {
1023
+ width: var(--pagination-size);
1024
+ margin: var(--pagination-margin);
1025
+ content: none;
1026
+ }
1027
+ .v-pagination--left {
1028
+ justify-content: flex-start;
1029
+ }
1030
+ .v-pagination--center {
1031
+ justify-content: center;
1032
+ }
1033
+ .v-pagination--right {
1034
+ justify-content: flex-end;
1035
+ }
1036
+ .v-pagination__item,
1037
+ .v-pagination a.v-pagination__item {
1038
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
1039
+ padding: 0;
1040
+ touch-action: manipulation;
1041
+ cursor: pointer;
1042
+ user-select: none;
1043
+ background-color: transparent;
1044
+ border: 0;
1045
+ outline: 0;
1046
+ appearance: none;
1047
+ display: flex;
1048
+ align-items: center;
1049
+ justify-content: center;
1050
+ min-width: var(--pagination-size);
1051
+ height: var(--pagination-size);
1052
+ margin: calc(var(--pagination-margin) * 0.5);
1053
+ font-size: var(--pagination-font-size);
1054
+ color: inherit;
1055
+ border-radius: var(--pagination-radius);
1056
+ transition: 0.1s;
1057
+ }
1058
+ .v-pagination__item::-moz-focus-inner,
1059
+ .v-pagination a.v-pagination__item::-moz-focus-inner {
1060
+ border: 0;
1061
+ }
1062
+ .v-pagination__item, .v-pagination__item:hover, .v-pagination__item:focus,
1063
+ .v-pagination a.v-pagination__item,
1064
+ .v-pagination a.v-pagination__item:hover,
1065
+ .v-pagination a.v-pagination__item:focus {
1066
+ text-decoration: none;
1067
+ }
1068
+ .v-pagination__item:hover, .v-pagination__item:focus,
1069
+ .v-pagination a.v-pagination__item:hover,
1070
+ .v-pagination a.v-pagination__item:focus {
1071
+ background: rgba(0, 0, 0, 0.1);
1072
+ }
1073
+ .v-pagination__item--active, .v-pagination__item--active:hover, .v-pagination__item--active:focus, .v-pagination__item--active:active,
1074
+ .v-pagination a.v-pagination__item--active,
1075
+ .v-pagination a.v-pagination__item--active:hover,
1076
+ .v-pagination a.v-pagination__item--active:focus,
1077
+ .v-pagination a.v-pagination__item--active:active {
1078
+ color: var(--text-color);
1079
+ pointer-events: none;
1080
+ background-color: var(--main-color);
1081
+ }
1082
+ .v-pagination__item--disabled,
1083
+ .v-pagination a.v-pagination__item--disabled {
1084
+ color: var(--palette-muted) !important;
1085
+ pointer-events: none !important;
1086
+ background: transparent !important;
1087
+ }
1088
+ .v-pagination__item--truncate,
1089
+ .v-pagination a.v-pagination__item--truncate {
1090
+ color: var(--palette-muted) !important;
1091
+ pointer-events: none !important;
1092
+ background: transparent !important;
1093
+ }
1094
+ .v-pagination__item .v-icon,
1095
+ .v-pagination a.v-pagination__item .v-icon {
1096
+ font-size: 125%;
1097
+ }
1098
+ .v-pagination--dense .v-pagination__item {
1099
+ --pagination-size: var(--pagination-item-size-dense);
1100
+ --pagination-margin: var(--pagination-item-margin-dense);
1101
+ --pagination-font-size: var(--pagination-item-font-size-dense);
1102
+ }
1103
+ .v-pagination--disabled .v-pagination__item {
1104
+ color: var(--palette-muted);
1105
+ pointer-events: none;
1106
+ }
1107
+ .v-pagination--disabled .v-pagination__item:hover, .v-pagination--disabled .v-pagination__item:focus {
1108
+ background: transparent;
1109
+ }
1110
+ .v-pagination--disabled .v-pagination__item--active {
1111
+ background: var(--palette-muted);
1112
+ }
925
1113
  .v-list-tile {
926
1114
  --tile-background: var(--main-color, transparent);
927
1115
  --tile-active-background: var(--deep-color, transparent);
@@ -994,8 +1182,24 @@ h6,
994
1182
  flex: 0 0 auto;
995
1183
  margin-top: auto;
996
1184
  }
1185
+ .v-hero {
1186
+ --hero-background-color: var(--main-color);
1187
+ --hero-text-color: var(--text-color);
1188
+ padding: 20px 30px;
1189
+ margin: 0;
1190
+ color: var(--hero-text-color);
1191
+ background-color: var(--hero-background-color);
1192
+ }
1193
+ .v-hero__title {
1194
+ margin: 0;
1195
+ font-size: 1.75rem;
1196
+ font-weight: 300;
1197
+ line-height: 1;
1198
+ color: inherit;
1199
+ }
997
1200
  .v-navigation-item--opened {
998
1201
  --tile-background: var(--tile-active-background);
1202
+ --tile-text-color: var(--tile-text-active-color);
999
1203
  }
1000
1204
  .v-navigation-item__expand {
1001
1205
  transition: height 0.2s;
@@ -1502,6 +1706,303 @@ h6,
1502
1706
  font-style: italic;
1503
1707
  color: var(--control-disabled-color);
1504
1708
  }
1709
+ .v-tabs {
1710
+ position: relative;
1711
+ width: 100%;
1712
+ height: var(--tabs-height);
1713
+ overflow: hidden;
1714
+ }
1715
+ .v-tabs::before {
1716
+ position: absolute;
1717
+ right: 0;
1718
+ bottom: 0;
1719
+ left: 0;
1720
+ display: block;
1721
+ height: 2px;
1722
+ content: "";
1723
+ background: currentColor;
1724
+ opacity: 0.25;
1725
+ }
1726
+ .v-tabs__scroller {
1727
+ width: 100%;
1728
+ height: calc(var(--tabs-height) + 30px);
1729
+ }
1730
+ .v-tabs__scroller__container {
1731
+ padding-bottom: 30px;
1732
+ }
1733
+ .v-tabs__content {
1734
+ position: relative;
1735
+ display: inline-flex;
1736
+ align-items: stretch;
1737
+ min-width: 100%;
1738
+ vertical-align: bottom;
1739
+ }
1740
+ .v-tab {
1741
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
1742
+ padding: 0;
1743
+ touch-action: manipulation;
1744
+ cursor: pointer;
1745
+ user-select: none;
1746
+ background-color: transparent;
1747
+ border: 0;
1748
+ outline: 0;
1749
+ appearance: none;
1750
+ --tab-content-color: var(--palette-caption);
1751
+ --tab-content-focus-color: var(--main-color);
1752
+ --tab-content-opacity: 0.7;
1753
+ position: relative;
1754
+ z-index: 3;
1755
+ display: flex;
1756
+ align-items: center;
1757
+ justify-content: center;
1758
+ height: var(--tabs-height);
1759
+ padding: 0 1.25em;
1760
+ font: inherit;
1761
+ font-size: var(--tabs-font-size);
1762
+ white-space: nowrap;
1763
+ user-select: none;
1764
+ transition: color 0.6s;
1765
+ }
1766
+ .v-tab::-moz-focus-inner {
1767
+ border: 0;
1768
+ }
1769
+ .v-tab, .v-tab:hover, .v-tab:focus {
1770
+ text-decoration: none;
1771
+ }
1772
+ .v-tab::before {
1773
+ position: absolute;
1774
+ right: 0;
1775
+ bottom: 0;
1776
+ left: 0;
1777
+ z-index: 1;
1778
+ height: 2px;
1779
+ content: "";
1780
+ background-color: var(--tab-content-focus-color);
1781
+ border-radius: inherit;
1782
+ transition: all 0.25s;
1783
+ transform: scaleX(0);
1784
+ }
1785
+ .v-tab__content {
1786
+ position: relative;
1787
+ z-index: 2;
1788
+ display: flex;
1789
+ align-items: center;
1790
+ line-height: 1.2;
1791
+ color: var(--tab-content-color);
1792
+ text-align: center;
1793
+ opacity: var(--tab-content-opacity);
1794
+ transition: all 0.25s ease;
1795
+ }
1796
+ .v-tab__icon {
1797
+ margin-right: 8px;
1798
+ font-size: 120%;
1799
+ }
1800
+ .v-tab:hover {
1801
+ --tab-content-color: var(--tab-content-focus-color);
1802
+ }
1803
+ .v-tab--active {
1804
+ --tab-content-color: rgba(0, 0, 0, 0.87);
1805
+ pointer-events: none;
1806
+ background: var(--tabs-color);
1807
+ --tab-content-opacity: 1;
1808
+ }
1809
+ .v-tab--active::before {
1810
+ transform: scaleX(1);
1811
+ }
1812
+ .v-content-switcher {
1813
+ position: relative;
1814
+ display: block;
1815
+ width: 100%;
1816
+ overflow: hidden;
1817
+ transition: var(--transition-tab);
1818
+ }
1819
+ .v-content-switcher__content {
1820
+ width: 100%;
1821
+ }
1822
+ .v-content-switcher-prev-enter-active, .v-content-switcher-prev-leave-active {
1823
+ transition: var(--transition-tab);
1824
+ }
1825
+ .v-content-switcher-prev-enter-from {
1826
+ transform: translateX(-100%);
1827
+ }
1828
+ .v-content-switcher-prev-enter-to {
1829
+ transform: translateX(0%);
1830
+ }
1831
+ .v-content-switcher-prev-leave {
1832
+ transform: translateX(0%);
1833
+ }
1834
+ .v-content-switcher-prev-leave-active {
1835
+ position: absolute;
1836
+ top: 0;
1837
+ left: 0;
1838
+ }
1839
+ .v-content-switcher-prev-leave-to {
1840
+ transform: translateX(100%);
1841
+ }
1842
+ .v-content-switcher-next-enter-active, .v-content-switcher-next-leave-active {
1843
+ transition: var(--transition-tab);
1844
+ }
1845
+ .v-content-switcher-next-enter-from {
1846
+ transform: translateX(100%);
1847
+ }
1848
+ .v-content-switcher-next-enter-to {
1849
+ transform: translateX(0%);
1850
+ }
1851
+ .v-content-switcher-next-leave {
1852
+ transform: translateX(0%);
1853
+ }
1854
+ .v-content-switcher-next-leave-active {
1855
+ position: absolute;
1856
+ top: 0;
1857
+ left: 0;
1858
+ }
1859
+ .v-content-switcher-next-leave-to {
1860
+ transform: translateX(-100%);
1861
+ }
1862
+ .v-data-table {
1863
+ --controls-vertial-margin: 0.625em;
1864
+ }
1865
+ .v-card-content .v-data-table {
1866
+ margin-right: calc(var(--card-content-padding) * -1);
1867
+ margin-left: calc(var(--card-content-padding) * -1);
1868
+ }
1869
+ .v-data-table__controls {
1870
+ display: flex;
1871
+ flex-wrap: wrap;
1872
+ align-items: center;
1873
+ justify-content: flex-end;
1874
+ }
1875
+ .v-data-table__controls__info {
1876
+ display: flex;
1877
+ align-items: center;
1878
+ }
1879
+ .v-data-table__controls__info__length {
1880
+ margin-right: 20px;
1881
+ }
1882
+ .v-data-table__controls__select-limit {
1883
+ display: flex;
1884
+ align-items: center;
1885
+ }
1886
+ .v-data-table__controls__select-limit__prefix {
1887
+ margin-right: 0.5em;
1888
+ font-size: 0.75em;
1889
+ color: var(--palette-muted);
1890
+ white-space: nowrap;
1891
+ }
1892
+ .v-data-table__controls__select-limit .v-select {
1893
+ width: 5em;
1894
+ margin-left: 0.5em;
1895
+ }
1896
+ .v-data-table__controls__pagination {
1897
+ flex: 1 1 100%;
1898
+ margin-left: auto;
1899
+ }
1900
+ @media screen and (min-width: 320px) {
1901
+ .v-data-table__controls__pagination {
1902
+ flex: 0 0 50%;
1903
+ width: 50%;
1904
+ }
1905
+ }
1906
+ .v-data-table__header {
1907
+ margin-bottom: var(--controls-vertial-margin);
1908
+ }
1909
+ .v-data-table__footer {
1910
+ margin-top: var(--controls-vertial-margin);
1911
+ }
1912
+ .v-data-table__body {
1913
+ position: relative;
1914
+ }
1915
+ .v-data-table__body__inner {
1916
+ overflow-x: auto;
1917
+ }
1918
+ .v-data-table__table-wrapper {
1919
+ display: flex;
1920
+ }
1921
+ .v-data-table__table-wrapper::before, .v-data-table__table-wrapper::after {
1922
+ display: block;
1923
+ height: 1px;
1924
+ content: "";
1925
+ }
1926
+ .v-data-table__loading {
1927
+ position: absolute;
1928
+ top: 0;
1929
+ right: 0;
1930
+ bottom: 0;
1931
+ left: 0;
1932
+ z-index: 1;
1933
+ display: flex;
1934
+ align-items: center;
1935
+ justify-content: center;
1936
+ background: var(--palette-background);
1937
+ opacity: 0.5;
1938
+ }
1939
+ .v-data-table__table {
1940
+ width: 100%;
1941
+ margin: 0;
1942
+ background: var(--palette-background);
1943
+ border-radius: var(--control-field-radius);
1944
+ }
1945
+ .v-data-table__table__cell {
1946
+ position: relative;
1947
+ text-align: left;
1948
+ white-space: nowrap;
1949
+ vertical-align: middle;
1950
+ border-bottom: thin solid rgba(0, 0, 0, 0.12);
1951
+ transition: background 0.2s;
1952
+ }
1953
+ .v-data-table__table__cell:first-child {
1954
+ padding-left: calc(var(--table-cell-horizontal-padding) * 2);
1955
+ }
1956
+ .v-data-table__table__cell:last-child {
1957
+ padding-right: calc(var(--table-cell-horizontal-padding) * 2);
1958
+ }
1959
+ .v-data-table__table__cell--left {
1960
+ text-align: left;
1961
+ }
1962
+ .v-data-table__table__cell--center {
1963
+ text-align: center;
1964
+ }
1965
+ .v-data-table__table__cell--center .v-data-table__table__sort-icon--empty {
1966
+ display: flex;
1967
+ }
1968
+ .v-data-table__table__cell--right {
1969
+ text-align: right;
1970
+ }
1971
+ .v-data-table__table__cell[tabindex="0"] {
1972
+ cursor: pointer;
1973
+ }
1974
+ .v-data-table__table__cell__tile {
1975
+ display: flex;
1976
+ align-items: center;
1977
+ }
1978
+ .v-data-table__table__sort-icon {
1979
+ width: 25px;
1980
+ font-size: 1.25em;
1981
+ opacity: 0;
1982
+ transition: transform 0.2s, opacity 0.2s;
1983
+ }
1984
+ .v-data-table__table__sort-icon--empty {
1985
+ display: none;
1986
+ }
1987
+ .v-data-table__table__header .v-data-table__table__cell {
1988
+ user-select: none;
1989
+ background: rgba(255, 255, 255, 0.85);
1990
+ backdrop-filter: blur(3px);
1991
+ }
1992
+ .v-data-table__table__header .v-data-table__table__cell--active .v-data-table__table__sort-icon {
1993
+ opacity: 1;
1994
+ }
1995
+ .v-data-table__table__cell[tabindex="0"]:hover .v-data-table__table__sort-icon, .v-data-table__table__cell[tabindex="0"]:focus .v-data-table__table__sort-icon {
1996
+ opacity: 1;
1997
+ }
1998
+ .v-data-table__table__body tr:last-child .v-data-table__table__cell {
1999
+ border-bottom: none;
2000
+ }
2001
+ .v-data-table--fixed-header .v-data-table__table__header .v-data-table__table__cell {
2002
+ position: sticky;
2003
+ top: 0;
2004
+ z-index: 1;
2005
+ }
1505
2006
  .v-toolbar {
1506
2007
  --height: var(--toolbar-height);
1507
2008
  display: flex;
@@ -1522,20 +2023,27 @@ h6,
1522
2023
  --height: var(--toolbar-dense-height);
1523
2024
  }
1524
2025
  .v-toolbar-menu {
2026
+ height: 100%;
2027
+ margin: 0;
2028
+ box-shadow: none;
2029
+ }
2030
+ .v-toolbar-edge {
1525
2031
  display: flex;
2032
+ flex: 0 0;
1526
2033
  align-items: center;
1527
2034
  align-self: stretch;
1528
2035
  }
1529
- .v-toolbar-menu:empty, .v-toolbar-menu--empty {
2036
+ .v-toolbar-edge:empty, .v-toolbar-edge--empty {
1530
2037
  display: none;
1531
2038
  }
1532
- .v-toolbar-menu--start {
2039
+ .v-toolbar-edge--start {
1533
2040
  margin-right: calc(var(--root-em) * 0.75);
1534
2041
  margin-left: calc(-1 * var(--root-em) * 0.75);
1535
2042
  }
1536
- .v-toolbar-menu--end {
2043
+ .v-toolbar-edge--end {
2044
+ padding-left: calc(var(--root-em) * 0.75);
1537
2045
  margin-right: calc(-1 * var(--root-em) * 0.75);
1538
- margin-left: calc(var(--root-em) * 0.75);
2046
+ margin-left: auto;
1539
2047
  }
1540
2048
  .v-toolbar-title {
1541
2049
  display: flex;