@fastkit/vui 0.6.19 → 0.6.31

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