@plus-vben5/design 1.0.0-beta.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.
package/dist/bem.scss ADDED
@@ -0,0 +1,34 @@
1
+ @forward './constants';
2
+
3
+ @mixin b($block) {
4
+ $B: $namespace + '-' + $block !global;
5
+
6
+ .#{$B} {
7
+ @content;
8
+ }
9
+ }
10
+
11
+ @mixin e($name) {
12
+ @at-root {
13
+ &#{$element-separator}#{$name} {
14
+ @content;
15
+ }
16
+ }
17
+ }
18
+
19
+ @mixin m($name) {
20
+ @at-root {
21
+ &#{$modifier-separator}#{$name} {
22
+ @content;
23
+ }
24
+ }
25
+ }
26
+
27
+ // block__element.is-active {}
28
+ @mixin is($state, $prefix: $state-prefix) {
29
+ @at-root {
30
+ &.#{$prefix}-#{$state} {
31
+ @content;
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,5 @@
1
+ $namespace: 'vben' !default;
2
+ $common-separator: '-' !default;
3
+ $element-separator: '__' !default;
4
+ $modifier-separator: '--' !default;
5
+ $state-prefix: 'is' !default;
@@ -0,0 +1 @@
1
+ :root{--popup-z-index: 2000;--font-family: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--background: 0 0% 100%;--background-deep: 216 20.11% 95.47%;--foreground: 210 6% 21%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--primary: 212 100% 45%;--primary-foreground: 0 0% 98%;--destructive: 359.33 100% 65.1%;--destructive-foreground: 0 0% 98%;--info: 240, 5%, 96%;--info-foreground: 220, 4%, 58%;--success: 144 57% 58%;--success-foreground: 0 0% 98%;--warning: 42 84% 61%;--warning-foreground: 0 0% 98%;--secondary: 240 5% 96%;--secondary-foreground: 240 6% 10%;--accent: 240 5% 96%;--accent-dark: 216 14% 93%;--accent-darker: 216 11% 91%;--accent-lighter: 240 0% 98%;--accent-hover: 200deg 10% 90%;--accent-foreground: 240 6% 10%;--heavy: 192deg 9.43% 89.61%;--heavy-foreground: var(--accent-foreground);--border: 240 5.9% 90%;--input: 240deg 5.88% 90%;--input-placeholder: 217 10.6% 65%;--input-background: 0 0% 100%;--ring: 222.2 84% 4.9%;--radius: .5rem;--overlay: 0 0% 0% / 45%;--overlay-content: 0 0% 95% / 45%;--font-size-base: 16px;--menu-font-size: calc(var(--font-size-base) * .875);--sidebar: 0 0% 100%;--sidebar-deep: 0 0% 100%;--menu: var(--sidebar);--header: 0 0% 100%;accent-color:var(--primary);color-scheme:light}[data-theme=violet]{--foreground: 224 71.4% 4.1%;--card: 0 0% 100%;--card-foreground: 224 71.4% 4.1%;--popover: 0 0% 100%;--popover-foreground: 224 71.4% 4.1%;--primary-foreground: 210 20% 98%;--secondary: 220 14.3% 95.9%;--secondary-foreground: 220.9 39.3% 11%;--muted: 220 14.3% 95.9%;--muted-foreground: 220 8.9% 46.1%;--accent: 220 14.3% 95.9%;--accent-foreground: 220.9 39.3% 11%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 20% 98%;--border: 220 13% 91%;--input: 220 13% 91%;--ring: 262.1 83.3% 57.8%}[data-theme=pink],[data-theme=rose]{--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary-foreground: 355.7 100% 97.3%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--ring: 346.8 77.2% 49.8%}[data-theme=sky-blue],[data-theme=deep-blue]{--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 221.2 83.2% 53.3%}[data-theme=green],[data-theme=deep-green]{--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary-foreground: 355.7 100% 97.3%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--ring: 142.1 76.2% 36.3%}[data-theme=orange]{--foreground: 20 14.3% 4.1%;--card: 0 0% 100%;--card-foreground: 20 14.3% 4.1%;--popover: 0 0% 100%;--popover-foreground: 20 14.3% 4.1%;--primary-foreground: 60 9.1% 97.8%;--secondary: 60 4.8% 95.9%;--secondary-foreground: 24 9.8% 10%;--muted: 60 4.8% 95.9%;--muted-foreground: 25 5.3% 44.7%;--accent: 60 4.8% 95.9%;--accent-foreground: 24 9.8% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 60 9.1% 97.8%;--border: 20 5.9% 90%;--input: 20 5.9% 90%;--ring: 24.6 95% 53.1%}[data-theme=yellow]{--foreground: 20 14.3% 4.1%;--card: 0 0% 100%;--card-foreground: 20 14.3% 4.1%;--popover: 0 0% 100%;--popover-foreground: 20 14.3% 4.1%;--primary-foreground: 26 83.3% 14.1%;--secondary: 60 4.8% 95.9%;--secondary-foreground: 24 9.8% 10%;--muted: 60 4.8% 95.9%;--muted-foreground: 25 5.3% 44.7%;--accent: 60 4.8% 95.9%;--accent-foreground: 24 9.8% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 60 9.1% 97.8%;--border: 20 5.9% 90%;--input: 20 5.9% 90%;--ring: 20 14.3% 4.1%}[data-theme=zinc]{--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--ring: 240 5.9% 10%}[data-theme=neutral]{--foreground: 0 0% 3.9%;--card: 0 0% 100%;--card-foreground: 0 0% 3.9%;--popover: 0 0% 100%;--popover-foreground: 0 0% 3.9%;--primary-foreground: 0 0% 98%;--secondary: 0 0% 96.1%;--secondary-foreground: 0 0% 9%;--muted: 0 0% 96.1%;--muted-foreground: 0 0% 45.1%;--accent: 0 0% 96.1%;--accent-foreground: 0 0% 9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 0 0% 89.8%;--input: 0 0% 89.8%;--ring: 0 0% 3.9%}[data-theme=slate]{--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%}[data-theme=gray]{--foreground: 224 71.4% 4.1%;--card: 0 0% 100%;--card-foreground: 224 71.4% 4.1%;--popover: 0 0% 100%;--popover-foreground: 224 71.4% 4.1%;--primary-foreground: 210 20% 98%;--secondary: 220 14.3% 95.9%;--secondary-foreground: 220.9 39.3% 11%;--muted: 220 14.3% 95.9%;--muted-foreground: 220 8.9% 46.1%;--accent: 220 14.3% 95.9%;--accent-foreground: 220.9 39.3% 11%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 20% 98%;--border: 220 13% 91%;--input: 220 13% 91%;--ring: 224 71.4% 4.1%}.dark,.dark[data-theme=custom],.dark[data-theme=default]{--background: 222.34deg 10.43% 12.27%;--background-deep: 220deg 13.06% 9%;--foreground: 0 0% 95%;--card: 222.34deg 10.43% 12.27%;--card-foreground: 210 40% 98%;--popover: 0 0% 14.2%;--popover-foreground: 210 40% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--primary-foreground: 0 0% 98%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 0 0% 98%;--info: 180, 1.54%, 12.75%;--info-foreground: 220, 4%, 58%;--success: 144 57% 58%;--success-foreground: 0 0% 98%;--warning: 42 84% 61%;--warning-foreground: 0 0% 98%;--secondary: 240 5% 17%;--secondary-foreground: 0 0% 98%;--accent: 216 5% 19%;--accent-dark: 240 0% 22%;--accent-darker: 240 0% 26%;--accent-lighter: 216 5% 12%;--accent-hover: 216 5% 24%;--accent-foreground: 0 0% 98%;--heavy: 216 5% 24%;--heavy-foreground: var(--accent-foreground);--border: 240 3.7% 22%;--input: 0deg 0% 100% / 10%;--input-placeholder: 218deg 11% 65%;--input-background: 0deg 0% 100% / 5%;--ring: 222.2 84% 4.9%;--radius: .5rem;--overlay: 0deg 0% 0% / 40%;--overlay-content: 0deg 0% 0% / 40%;--font-size-base: 16px;--sidebar: 222.34deg 10.43% 12.27%;--sidebar-deep: 220deg 13.06% 9%;--menu: var(--sidebar);--header: 222.34deg 10.43% 12.27%;color-scheme:dark}.dark[data-theme=violet],[data-theme=violet] .dark{--background: 224 71.4% 4.1%;--background-deep: var(--background);--foreground: 210 20% 98%;--card: 224 71.4% 4.1%;--card-foreground: 210 20% 98%;--popover: 224 71.4% 4.1%;--popover-foreground: 210 20% 98%;--primary-foreground: 210 20% 98%;--secondary: 215 27.9% 16.9%;--secondary-foreground: 210 20% 98%;--muted: 215 27.9% 16.9%;--muted-foreground: 217.9 10.6% 64.9%;--accent: 215 27.9% 16.9%;--accent-foreground: 210 20% 98%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 210 20% 98%;--border: 215 27.9% 16.9%;--input: 215 27.9% 16.9%;--ring: 263.4 70% 50.4%;--sidebar: 224 71.4% 4.1%;--sidebar-deep: 224 71.4% 4.1%;--header: 224 71.4% 4.1%}.dark[data-theme=pink],[data-theme=pink] .dark{--background: 20 14.3% 4.1%;--background-deep: var(--background);--foreground: 0 0% 95%;--card: 0 0% 9%;--card-foreground: 0 0% 95%;--popover: 0 0% 9%;--popover-foreground: 0 0% 95%;--primary-foreground: 355.7 100% 97.3%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 0 0% 15%;--muted-foreground: 240 5% 64.9%;--accent: 12 6.5% 15.1%;--accent-foreground: 0 0% 98%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 0 85.7% 97.3%;--border: 240 3.7% 15.9%;--input: 240 3.7% 15.9%;--ring: 346.8 77.2% 49.8%;--sidebar: 20 14.3% 4.1%;--sidebar-deep: 20 14.3% 4.1%;--header: 20 14.3% 4.1%}.dark[data-theme=rose],[data-theme=rose] .dark{--background: 0 0% 3.9%;--background-deep: var(--background);--foreground: 0 0% 98%;--card: 0 0% 3.9%;--card-foreground: 0 0% 98%;--popover: 0 0% 3.9%;--popover-foreground: 0 0% 98%;--primary-foreground: 0 85.7% 97.3%;--secondary: 0 0% 14.9%;--secondary-foreground: 0 0% 98%;--muted: 0 0% 14.9%;--muted-foreground: 0 0% 63.9%;--accent: 0 0% 14.9%;--accent-foreground: 0 0% 98%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 0 0% 98%;--border: 0 0% 14.9%;--input: 0 0% 14.9%;--ring: 0 72.2% 50.6%;--sidebar: 0 0% 3.9%;--sidebar-deep: 0 0% 3.9%;--header: 0 0% 3.9%}.dark[data-theme=sky-blue],[data-theme=sky-blue] .dark,.dark[data-theme=deep-blue],[data-theme=deep-blue] .dark{--background: 222.2 84% 4.9%;--background-deep: var(--background);--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary-foreground: 210 20% 98%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 224.3 76.3% 48%;--sidebar: 222.2 84% 4.9%;--sidebar-deep: 222.2 84% 4.9%;--header: 222.2 84% 4.9%}.dark[data-theme=green],[data-theme=green] .dark,.dark[data-theme=deep-green],[data-theme=deep-green] .dark{--background: 20 14.3% 4.1%;--background-deep: var(--background);--foreground: 0 0% 95%;--card: 24 9.8% 6%;--card-foreground: 0 0% 95%;--popover: 0 0% 9%;--popover-foreground: 0 0% 95%;--primary-foreground: 210 20% 98%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 0 0% 15%;--muted-foreground: 240 5% 64.9%;--accent: 12 6.5% 15.1%;--accent-foreground: 0 0% 98%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 0 85.7% 97.3%;--border: 240 3.7% 15.9%;--input: 240 3.7% 15.9%;--ring: 142.4 71.8% 29.2%;--sidebar: 20 14.3% 4.1%;--sidebar-deep: 20 14.3% 4.1%;--header: 20 14.3% 4.1%}.dark[data-theme=orange],[data-theme=orange] .dark{--background: 20 14.3% 4.1%;--background-deep: var(--background);--foreground: 60 9.1% 97.8%;--card: 20 14.3% 4.1%;--card-foreground: 60 9.1% 97.8%;--popover: 20 14.3% 4.1%;--popover-foreground: 60 9.1% 97.8%;--primary-foreground: 60 9.1% 97.8%;--secondary: 12 6.5% 15.1%;--secondary-foreground: 60 9.1% 97.8%;--muted: 12 6.5% 15.1%;--muted-foreground: 24 5.4% 63.9%;--accent: 12 6.5% 15.1%;--accent-foreground: 60 9.1% 97.8%;--destructive: 0 72.2% 50.6%;--destructive-foreground: 60 9.1% 97.8%;--border: 12 6.5% 15.1%;--input: 12 6.5% 15.1%;--ring: 20.5 90.2% 48.2%;--sidebar: 20 14.3% 4.1%;--sidebar-deep: 20 14.3% 4.1%;--header: 20 14.3% 4.1%}.dark[data-theme=yellow],[data-theme=yellow] .dark{--background: 20 14.3% 4.1%;--background-deep: var(--background);--foreground: 60 9.1% 97.8%;--card: 20 14.3% 4.1%;--card-foreground: 60 9.1% 97.8%;--popover: 20 14.3% 4.1%;--popover-foreground: 60 9.1% 97.8%;--primary-foreground: 26 83.3% 14.1%;--secondary: 12 6.5% 15.1%;--secondary-foreground: 60 9.1% 97.8%;--muted: 12 6.5% 15.1%;--muted-foreground: 24 5.4% 63.9%;--accent: 12 6.5% 15.1%;--accent-foreground: 60 9.1% 97.8%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 60 9.1% 97.8%;--border: 12 6.5% 15.1%;--input: 12 6.5% 15.1%;--ring: 35.5 91.7% 32.9%;--sidebar: 20 14.3% 4.1%;--sidebar-deep: 20 14.3% 4.1%;--header: 20 14.3% 4.1%}.dark[data-theme=zinc],[data-theme=zinc] .dark{--background: 240 10% 3.9%;--background-deep: var(--background);--foreground: 0 0% 98%;--card: 240 10% 3.9%;--card-foreground: 0 0% 98%;--popover: 240 10% 3.9%;--popover-foreground: 0 0% 98%;--primary-foreground: 240 5.9% 10%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent: 240 3.7% 15.9%;--accent-foreground: 0 0% 98%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 0 0% 98%;--border: 240 3.7% 15.9%;--input: 240 3.7% 15.9%;--ring: 240 4.9% 83.9%;--sidebar: 240 10% 3.9%;--sidebar-deep: 240 10% 3.9%;--header: 240 10% 3.9%}.dark[data-theme=neutral],[data-theme=neutral] .dark{--background: 0 0% 3.9%;--background-deep: var(--background);--foreground: 0 0% 98%;--card: 0 0% 3.9%;--card-foreground: 0 0% 98%;--popover: 0 0% 3.9%;--popover-foreground: 0 0% 98%;--primary-foreground: 0 0% 9%;--secondary: 0 0% 14.9%;--secondary-foreground: 0 0% 98%;--muted: 0 0% 14.9%;--muted-foreground: 0 0% 63.9%;--accent: 0 0% 14.9%;--accent-foreground: 0 0% 98%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 0 0% 98%;--border: 0 0% 14.9%;--input: 0 0% 14.9%;--ring: 0 0% 83.1%;--sidebar: 0 0% 3.9%;--sidebar-deep: 0 0% 3.9%;--header: 0 0% 3.9%}.dark[data-theme=slate],[data-theme=slate] .dark{--background: 222.2 84% 4.9%;--background-deep: var(--background);--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9;--sidebar: 222.2 84% 4.9%;--sidebar-deep: 222.2 84% 4.9%;--header: 222.2 84% 4.9%}.dark[data-theme=gray],[data-theme=gray] .dark{--background: 224 71.4% 4.1%;--background-deep: var(--background);--foreground: 210 20% 98%;--card: 224 71.4% 4.1%;--card-foreground: 210 20% 98%;--popover: 224 71.4% 4.1%;--popover-foreground: 210 20% 98%;--primary-foreground: 220.9 39.3% 11%;--secondary: 215 27.9% 16.9%;--secondary-foreground: 210 20% 98%;--muted: 215 27.9% 16.9%;--muted-foreground: 217.9 10.6% 64.9%;--accent: 215 27.9% 16.9%;--accent-foreground: 210 20% 98%;--destructive: 359.21 68.47% 56.47%;--destructive-foreground: 210 20% 98%;--border: 215 27.9% 16.9%;--input: 215 27.9% 16.9%;--ring: 216 12.2% 83.9%;--sidebar: 224 71.4% 4.1%;--sidebar-deep: 224 71.4% 4.1%;--header: 224 71.4% 4.1%}@tailwind base;@tailwind components;@tailwind utilities;@layer base{*,:after,:before{@apply border-border;box-sizing:border-box;border-style:solid;border-width:0}html{@apply text-foreground bg-background font-sans;font-size:var(--font-size-base, 16px);font-variation-settings:normal;line-height:1.15;text-size-adjust:100%;font-synthesis-weight:none;scroll-behavior:smooth;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent}#app,body,html{@apply size-full;}body{min-height:100vh}a,a:active,a:hover,a:link,a:visited{@apply no-underline;}::view-transition-new(root),::view-transition-old(root){@apply animate-none mix-blend-normal;}::view-transition-old(root){@apply z-[1];}::view-transition-new(root){@apply z-[2147483646];}html.dark::view-transition-old(root){@apply z-[2147483646];}html.dark::view-transition-new(root){@apply z-[1];}input::placeholder,textarea::placeholder{@apply opacity-100;}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{@apply m-0 appearance-none;}html:not([data-platform=macOs]) ::-webkit-scrollbar{@apply h-[10px] w-[10px];}html:not([data-platform=macOs]) ::-webkit-scrollbar-thumb{@apply bg-border rounded-sm border-none;}html:not([data-platform=macOs]) ::-webkit-scrollbar-track{@apply rounded-sm border-none bg-transparent shadow-none;}html:not([data-platform=macOs]) ::-webkit-scrollbar-button{@apply hidden;}}@layer components{.flex-center{@apply flex items-center justify-center;}.flex-col-center{@apply flex flex-col items-center justify-center;}.outline-box{@apply outline-border relative cursor-pointer rounded-md p-1 outline outline-1;}.outline-box:after{@apply absolute left-1/2 top-1/2 z-20 h-0 w-[1px] rounded-sm opacity-0 outline outline-2 outline-transparent transition-all duration-300 content-[""];}.outline-box.outline-box-active{@apply outline-primary outline outline-2;}.outline-box.outline-box-active:after{display:none}.outline-box:not(.outline-box-active):hover:after{@apply outline-primary left-0 top-0 h-full w-full p-1 opacity-100;}.vben-link{@apply text-primary hover:text-primary-hover active:text-primary-active cursor-pointer;}.card-box{@apply bg-card text-card-foreground border-border rounded-xl border;}}html.invert-mode{@apply invert;}html.grayscale-mode{@apply grayscale;}.slide-up-enter-active,.slide-up-leave-active{transition:.25s cubic-bezier(.25,.8,.5,1)}.slide-up-move{transition:transform .3s}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(-15px)}.slide-down-enter-active,.slide-down-leave-active{transition:.25s cubic-bezier(.25,.8,.5,1)}.slide-down-move{transition:transform .3s}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translateY(15px)}.slide-left-enter-active,.slide-left-leave-active{transition:.25s cubic-bezier(.25,.8,.5,1)}.slide-left-move{transition:transform .3s}.slide-left-enter-from,.slide-left-leave-to{opacity:0;transform:translate(-15px)}.slide-right-enter-active,.slide-right-leave-active{transition:.25s cubic-bezier(.25,.8,.5,1)}.slide-right-move{transition:transform .3s}.slide-right-enter-from,.slide-right-leave-to{opacity:0;transform:translate(15px)}.fade-transition-enter-active,.fade-transition-leave-active{transition:opacity .2s ease-in-out}.fade-transition-enter-from,.fade-transition-leave-to{opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease-in-out}.fade-enter-from,.fade-leave-to{opacity:0}.fade-slide-leave-active,.fade-slide-enter-active{transition:all .3s}.fade-slide-enter-from{opacity:0;transform:translate(-30px)}.fade-slide-leave-to{opacity:0;transform:translate(30px)}.fade-down-enter-active,.fade-down-leave-active{transition:opacity .25s,transform .3s}.fade-down-enter-from{opacity:0;transform:translateY(-10%)}.fade-down-leave-to{opacity:0;transform:translateY(10%)}.fade-scale-leave-active,.fade-scale-enter-active{transition:all .28s}.fade-scale-enter-from{opacity:0;transform:scale(1.2)}.fade-scale-leave-to{opacity:0;transform:scale(.8)}.fade-up-enter-active,.fade-up-leave-active{transition:opacity .2s,transform .25s}.fade-up-enter-from{opacity:0;transform:translateY(10%)}.fade-up-leave-to{opacity:0;transform:translateY(-10%)}@keyframes fade-slide{0%{opacity:0;transform:translate(-30px)}50%{opacity:1}to{opacity:0;transform:translate(30px)}}@keyframes fade{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(10%)}50%{opacity:1}to{opacity:0;transform:translateY(-10%)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-10%)}50%{opacity:1}to{opacity:0;transform:translateY(10%)}}.fade-slow{animation:fade 3s infinite}.fade-slide-slow{animation:fade-slide 3s infinite}.fade-up-slow{animation:fade-up 3s infinite}.fade-down-slow{animation:fade-down 3s infinite}.collapse-transition{transition:.2s height ease-in-out,.2s padding-top ease-in-out,.2s padding-bottom ease-in-out}.collapse-transition-leave-active,.collapse-transition-enter-active{transition:.2s max-height ease-in-out,.2s padding-top ease-in-out,.2s margin-top ease-in-out}#nprogress{@apply pointer-events-none;}#nprogress .bar{@apply bg-primary fixed left-0 top-0 z-[1031] h-[2px] w-full;}#nprogress .peg{@apply absolute right-0 block h-full w-[100px];box-shadow:0 0 10px hsl(var(--primary)),0 0 5px hsl(var(--primary));opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{@apply fixed right-4 top-4 z-[1031] block;}#nprogress .spinner-icon{@apply border-t-primary border-l-primary size-4 rounded-full border-[2px] border-solid border-transparent;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{@apply relative overflow-hidden;}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{@apply absolute;}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.side-content{animation-duration:.3s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.side-content[data-side=top]{animation-name:slide-up}.side-content[data-side=bottom]{animation-name:slide-down}.side-content[data-side=left]{animation-name:slide-left}.side-content[data-side=right]{animation-name:slide-right}.breadcrumb-transition-enter-active{transition:transform .4s cubic-bezier(.76,0,.24,1),opacity .4s cubic-bezier(.76,0,.24,1)}.breadcrumb-transition-leave-active{display:none}.breadcrumb-transition-enter-from{opacity:0;transform:translate(30px) skew(-30deg)}@keyframes slide-down{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slide-right{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.z-popup{z-index:var(--popup-z-index)}@keyframes shrink{0%{transform:scale(1)}50%{transform:scale(.9)}to{transform:scale(1)}}
package/dist/index.mjs ADDED
@@ -0,0 +1 @@
1
+
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@plus-vben5/design",
3
+ "version": "1.0.0-beta.1",
4
+ "homepage": "https://github.com/vbenjs/vue-vben-admin",
5
+ "bugs": "https://github.com/vbenjs/vue-vben-admin/issues",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/vbenjs/vue-vben-admin.git",
9
+ "directory": "packages/@vben-core/base/design"
10
+ },
11
+ "license": "MIT",
12
+ "type": "module",
13
+ "scripts": {
14
+ "build": "pnpm vite build",
15
+ "prepublishOnly": "npm run build"
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "src"
20
+ ],
21
+ "main": "./dist/index.mjs",
22
+ "module": "./dist/index.mjs",
23
+ "exports": {
24
+ "./bem": {
25
+ "development": "./src/scss-bem/bem.scss",
26
+ "default": "./dist/bem.scss"
27
+ },
28
+ ".": {
29
+ "types": "./src/index.ts",
30
+ "development": "./src/index.ts",
31
+ "default": "./dist/design.css"
32
+ }
33
+ },
34
+ "publishConfig": {
35
+ "exports": {
36
+ ".": {
37
+ "default": "./dist/index.mjs"
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,161 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @layer base {
6
+ *,
7
+ ::after,
8
+ ::before {
9
+ @apply border-border;
10
+
11
+ box-sizing: border-box;
12
+ border-style: solid;
13
+ border-width: 0;
14
+ }
15
+
16
+ html {
17
+ @apply text-foreground bg-background font-sans;
18
+
19
+ font-size: var(--font-size-base, 16px);
20
+ font-variation-settings: normal;
21
+ line-height: 1.15;
22
+ text-size-adjust: 100%;
23
+ font-synthesis-weight: none;
24
+ scroll-behavior: smooth;
25
+ text-rendering: optimizelegibility;
26
+ -webkit-tap-highlight-color: transparent;
27
+
28
+ /* -webkit-font-smoothing: antialiased;
29
+ -moz-osx-font-smoothing: grayscale; */
30
+ }
31
+
32
+ #app,
33
+ body,
34
+ html {
35
+ @apply size-full;
36
+
37
+ /* scrollbar-gutter: stable; */
38
+ }
39
+
40
+ body {
41
+ min-height: 100vh;
42
+
43
+ /* pointer-events: auto !important; */
44
+
45
+ /* overflow: overlay; */
46
+
47
+ /* -webkit-font-smoothing: antialiased; */
48
+
49
+ /* -moz-osx-font-smoothing: grayscale; */
50
+ }
51
+
52
+ a,
53
+ a:active,
54
+ a:hover,
55
+ a:link,
56
+ a:visited {
57
+ @apply no-underline;
58
+ }
59
+
60
+ ::view-transition-new(root),
61
+ ::view-transition-old(root) {
62
+ @apply animate-none mix-blend-normal;
63
+ }
64
+
65
+ ::view-transition-old(root) {
66
+ @apply z-[1];
67
+ }
68
+
69
+ ::view-transition-new(root) {
70
+ @apply z-[2147483646];
71
+ }
72
+
73
+ html.dark::view-transition-old(root) {
74
+ @apply z-[2147483646];
75
+ }
76
+
77
+ html.dark::view-transition-new(root) {
78
+ @apply z-[1];
79
+ }
80
+
81
+ input::placeholder,
82
+ textarea::placeholder {
83
+ @apply opacity-100;
84
+ }
85
+
86
+ /* input:-webkit-autofill {
87
+ @apply border-none;
88
+
89
+ box-shadow: 0 0 0 1000px transparent inset;
90
+ } */
91
+
92
+ input[type='number']::-webkit-inner-spin-button,
93
+ input[type='number']::-webkit-outer-spin-button {
94
+ @apply m-0 appearance-none;
95
+ }
96
+
97
+ /* 只有非mac下才进行调整,mac下使用默认滚动条 */
98
+ html:not([data-platform='macOs']) {
99
+ ::-webkit-scrollbar {
100
+ @apply h-[10px] w-[10px];
101
+ }
102
+
103
+ ::-webkit-scrollbar-thumb {
104
+ @apply bg-border rounded-sm border-none;
105
+ }
106
+
107
+ ::-webkit-scrollbar-track {
108
+ @apply rounded-sm border-none bg-transparent shadow-none;
109
+ }
110
+
111
+ ::-webkit-scrollbar-button {
112
+ @apply hidden;
113
+ }
114
+ }
115
+ }
116
+
117
+ @layer components {
118
+ .flex-center {
119
+ @apply flex items-center justify-center;
120
+ }
121
+
122
+ .flex-col-center {
123
+ @apply flex flex-col items-center justify-center;
124
+ }
125
+
126
+ .outline-box {
127
+ @apply outline-border relative cursor-pointer rounded-md p-1 outline outline-1;
128
+ }
129
+
130
+ .outline-box::after {
131
+ @apply absolute left-1/2 top-1/2 z-20 h-0 w-[1px] rounded-sm opacity-0 outline outline-2 outline-transparent transition-all duration-300 content-[""];
132
+ }
133
+
134
+ .outline-box.outline-box-active {
135
+ @apply outline-primary outline outline-2;
136
+ }
137
+
138
+ .outline-box.outline-box-active::after {
139
+ display: none;
140
+ }
141
+
142
+ .outline-box:not(.outline-box-active):hover::after {
143
+ @apply outline-primary left-0 top-0 h-full w-full p-1 opacity-100;
144
+ }
145
+
146
+ .vben-link {
147
+ @apply text-primary hover:text-primary-hover active:text-primary-active cursor-pointer;
148
+ }
149
+
150
+ .card-box {
151
+ @apply bg-card text-card-foreground border-border rounded-xl border;
152
+ }
153
+ }
154
+
155
+ html.invert-mode {
156
+ @apply invert;
157
+ }
158
+
159
+ html.grayscale-mode {
160
+ @apply grayscale;
161
+ }
@@ -0,0 +1,59 @@
1
+ /* Make clicks pass-through */
2
+ #nprogress {
3
+ @apply pointer-events-none;
4
+ }
5
+
6
+ #nprogress .bar {
7
+ @apply bg-primary fixed left-0 top-0 z-[1031] h-[2px] w-full;
8
+ }
9
+
10
+ /* Fancy blur effect */
11
+ #nprogress .peg {
12
+ @apply absolute right-0 block h-full w-[100px];
13
+
14
+ box-shadow:
15
+ 0 0 10px hsl(var(--primary)),
16
+ 0 0 5px hsl(var(--primary));
17
+ opacity: 1;
18
+ transform: rotate(3deg) translate(0, -4px);
19
+ }
20
+
21
+ /* Remove these to get rid of the spinner */
22
+ #nprogress .spinner {
23
+ @apply fixed right-4 top-4 z-[1031] block;
24
+ }
25
+
26
+ #nprogress .spinner-icon {
27
+ @apply border-t-primary border-l-primary size-4 rounded-full border-[2px] border-solid border-transparent;
28
+
29
+ animation: nprogress-spinner 400ms linear infinite;
30
+ }
31
+
32
+ .nprogress-custom-parent {
33
+ @apply relative overflow-hidden;
34
+ }
35
+
36
+ .nprogress-custom-parent #nprogress .spinner,
37
+ .nprogress-custom-parent #nprogress .bar {
38
+ @apply absolute;
39
+ }
40
+
41
+ @keyframes nprogress-spinner {
42
+ 0% {
43
+ transform: rotate(0deg);
44
+ }
45
+
46
+ 100% {
47
+ transform: rotate(360deg);
48
+ }
49
+ }
50
+
51
+ @keyframes nprogress-spinner {
52
+ 0% {
53
+ transform: rotate(0deg);
54
+ }
55
+
56
+ 100% {
57
+ transform: rotate(360deg);
58
+ }
59
+ }
@@ -0,0 +1,236 @@
1
+ .slide-up-enter-active,
2
+ .slide-up-leave-active {
3
+ transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
4
+ }
5
+
6
+ .slide-up-move {
7
+ transition: transform 0.3s;
8
+ }
9
+
10
+ .slide-up-enter-from,
11
+ .slide-up-leave-to {
12
+ opacity: 0;
13
+ transform: translateY(-15px);
14
+ }
15
+
16
+ .slide-down-enter-active,
17
+ .slide-down-leave-active {
18
+ transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
19
+ }
20
+
21
+ .slide-down-move {
22
+ transition: transform 0.3s;
23
+ }
24
+
25
+ .slide-down-enter-from,
26
+ .slide-down-leave-to {
27
+ opacity: 0;
28
+ transform: translateY(15px);
29
+ }
30
+
31
+ .slide-left-enter-active,
32
+ .slide-left-leave-active {
33
+ transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
34
+ }
35
+
36
+ .slide-left-move {
37
+ transition: transform 0.3s;
38
+ }
39
+
40
+ .slide-left-enter-from,
41
+ .slide-left-leave-to {
42
+ opacity: 0;
43
+ transform: translate(-15px);
44
+ }
45
+
46
+ .slide-right-enter-active,
47
+ .slide-right-leave-active {
48
+ transition: 0.25s cubic-bezier(0.25, 0.8, 0.5, 1);
49
+ }
50
+
51
+ .slide-right-move {
52
+ transition: transform 0.3s;
53
+ }
54
+
55
+ .slide-right-enter-from,
56
+ .slide-right-leave-to {
57
+ opacity: 0;
58
+ transform: translate(15px);
59
+ }
60
+
61
+ .fade-transition-enter-active,
62
+ .fade-transition-leave-active {
63
+ transition: opacity 0.2s ease-in-out;
64
+ }
65
+
66
+ .fade-transition-enter-from,
67
+ .fade-transition-leave-to {
68
+ opacity: 0;
69
+ }
70
+
71
+ .fade-enter-active,
72
+ .fade-leave-active {
73
+ transition: opacity 0.2s ease-in-out;
74
+ }
75
+
76
+ .fade-enter-from,
77
+ .fade-leave-to {
78
+ opacity: 0;
79
+ }
80
+
81
+ .fade-slide-leave-active,
82
+ .fade-slide-enter-active {
83
+ transition: all 0.3s;
84
+ }
85
+
86
+ .fade-slide-enter-from {
87
+ opacity: 0;
88
+ transform: translate(-30px);
89
+ }
90
+
91
+ .fade-slide-leave-to {
92
+ opacity: 0;
93
+ transform: translate(30px);
94
+ }
95
+
96
+ .fade-down-enter-active,
97
+ .fade-down-leave-active {
98
+ transition:
99
+ opacity 0.25s,
100
+ transform 0.3s;
101
+ }
102
+
103
+ .fade-down-enter-from {
104
+ opacity: 0;
105
+ transform: translateY(-10%);
106
+ }
107
+
108
+ .fade-down-leave-to {
109
+ opacity: 0;
110
+ transform: translateY(10%);
111
+ }
112
+
113
+ .fade-scale-leave-active,
114
+ .fade-scale-enter-active {
115
+ transition: all 0.28s;
116
+ }
117
+
118
+ .fade-scale-enter-from {
119
+ opacity: 0;
120
+ transform: scale(1.2);
121
+ }
122
+
123
+ .fade-scale-leave-to {
124
+ opacity: 0;
125
+ transform: scale(0.8);
126
+ }
127
+
128
+ .fade-up-enter-active,
129
+ .fade-up-leave-active {
130
+ transition:
131
+ opacity 0.2s,
132
+ transform 0.25s;
133
+ }
134
+
135
+ .fade-up-enter-from {
136
+ opacity: 0;
137
+ transform: translateY(10%);
138
+ }
139
+
140
+ .fade-up-leave-to {
141
+ opacity: 0;
142
+ transform: translateY(-10%);
143
+ }
144
+
145
+ @keyframes fade-slide {
146
+ 0% {
147
+ opacity: 0;
148
+ transform: translate(-30px);
149
+ }
150
+
151
+ 50% {
152
+ opacity: 1;
153
+ }
154
+
155
+ 100% {
156
+ opacity: 0;
157
+ transform: translate(30px);
158
+ }
159
+ }
160
+
161
+ @keyframes fade {
162
+ 0% {
163
+ opacity: 0;
164
+ }
165
+
166
+ 50% {
167
+ opacity: 1;
168
+ }
169
+
170
+ 100% {
171
+ opacity: 0;
172
+ }
173
+ }
174
+
175
+ @keyframes fade-up {
176
+ 0% {
177
+ opacity: 0;
178
+ transform: translateY(10%);
179
+ }
180
+
181
+ 50% {
182
+ opacity: 1;
183
+ }
184
+
185
+ 100% {
186
+ opacity: 0;
187
+ transform: translateY(-10%);
188
+ }
189
+ }
190
+
191
+ @keyframes fade-down {
192
+ 0% {
193
+ opacity: 0;
194
+ transform: translateY(-10%);
195
+ }
196
+
197
+ 50% {
198
+ opacity: 1;
199
+ }
200
+
201
+ 100% {
202
+ opacity: 0;
203
+ transform: translateY(10%);
204
+ }
205
+ }
206
+
207
+ .fade-slow {
208
+ animation: fade 3s infinite;
209
+ }
210
+
211
+ .fade-slide-slow {
212
+ animation: fade-slide 3s infinite;
213
+ }
214
+
215
+ .fade-up-slow {
216
+ animation: fade-up 3s infinite;
217
+ }
218
+
219
+ .fade-down-slow {
220
+ animation: fade-down 3s infinite;
221
+ }
222
+
223
+ .collapse-transition {
224
+ transition:
225
+ 0.2s height ease-in-out,
226
+ 0.2s padding-top ease-in-out,
227
+ 0.2s padding-bottom ease-in-out;
228
+ }
229
+
230
+ .collapse-transition-leave-active,
231
+ .collapse-transition-enter-active {
232
+ transition:
233
+ 0.2s max-height ease-in-out,
234
+ 0.2s padding-top ease-in-out,
235
+ 0.2s margin-top ease-in-out;
236
+ }
package/src/css/ui.css ADDED
@@ -0,0 +1,101 @@
1
+ .side-content {
2
+ animation-duration: 0.3s;
3
+ animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
4
+ }
5
+
6
+ .side-content[data-side='top'] {
7
+ animation-name: slide-up;
8
+ }
9
+
10
+ .side-content[data-side='bottom'] {
11
+ animation-name: slide-down;
12
+ }
13
+
14
+ .side-content[data-side='left'] {
15
+ animation-name: slide-left;
16
+ }
17
+
18
+ .side-content[data-side='right'] {
19
+ animation-name: slide-right;
20
+ }
21
+
22
+ .breadcrumb-transition-enter-active {
23
+ transition:
24
+ transform 0.4s cubic-bezier(0.76, 0, 0.24, 1),
25
+ opacity 0.4s cubic-bezier(0.76, 0, 0.24, 1);
26
+ }
27
+
28
+ .breadcrumb-transition-leave-active {
29
+ display: none;
30
+ }
31
+
32
+ .breadcrumb-transition-enter-from {
33
+ opacity: 0;
34
+ transform: translateX(30px) skewX(-30deg);
35
+ }
36
+
37
+ @keyframes slide-down {
38
+ from {
39
+ opacity: 0;
40
+ transform: translateY(50px);
41
+ }
42
+
43
+ to {
44
+ opacity: 1;
45
+ transform: translateY(0);
46
+ }
47
+ }
48
+
49
+ @keyframes slide-left {
50
+ from {
51
+ opacity: 0;
52
+ transform: translateX(-50px);
53
+ }
54
+
55
+ to {
56
+ opacity: 1;
57
+ transform: translateX(0);
58
+ }
59
+ }
60
+
61
+ @keyframes slide-right {
62
+ from {
63
+ opacity: 0;
64
+ transform: translateX(50px);
65
+ }
66
+
67
+ to {
68
+ opacity: 1;
69
+ transform: translateX(0);
70
+ }
71
+ }
72
+
73
+ @keyframes slide-up {
74
+ from {
75
+ opacity: 0;
76
+ transform: translateY(-50px);
77
+ }
78
+
79
+ to {
80
+ opacity: 1;
81
+ transform: translateY(0);
82
+ }
83
+ }
84
+
85
+ .z-popup {
86
+ z-index: var(--popup-z-index);
87
+ }
88
+
89
+ @keyframes shrink {
90
+ 0% {
91
+ transform: scale(1);
92
+ }
93
+
94
+ 50% {
95
+ transform: scale(0.9);
96
+ }
97
+
98
+ 100% {
99
+ transform: scale(1);
100
+ }
101
+ }