pxd 0.0.4 → 0.0.6
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/README.md +10 -76
- package/dist/components/button/index.vue +84 -0
- package/dist/components/config-provider/index.vue +26 -0
- package/dist/composables/useConfigProvider.d.ts +8 -0
- package/dist/composables/useConfigProvider.js +11 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +12 -0
- package/dist/plugins/nuxt.d.ts +5 -0
- package/dist/plugins/nuxt.js +24 -0
- package/dist/plugins/resolver.d.ts +3 -3
- package/dist/plugins/resolver.js +19 -1
- package/dist/tokens.css +378 -0
- package/package.json +55 -37
- package/dist/components/_icons/CheckIcon.js +0 -1
- package/dist/components/_icons/ChevronDownIcon.js +0 -1
- package/dist/components/_icons/ExclamationTriangleIcon.js +0 -1
- package/dist/components/_icons/ExternalLinkIcon.js +0 -1
- package/dist/components/_utils/css.d.ts +0 -9
- package/dist/components/_utils/css.js +0 -1
- package/dist/components/avatar/_.js +0 -1
- package/dist/components/avatar/index.d.ts +0 -6
- package/dist/components/avatar/index.js +0 -1
- package/dist/components/avatar/src/avatar.d.ts +0 -22
- package/dist/components/avatar-group/index.d.ts +0 -7
- package/dist/components/avatar-group/index.js +0 -1
- package/dist/components/avatar-group/src/avatar-group.d.ts +0 -3
- package/dist/components/badge/index.d.ts +0 -1
- package/dist/components/badge/index.js +0 -1
- package/dist/components/badge/src/badge.d.ts +0 -42
- package/dist/components/book/index.d.ts +0 -1
- package/dist/components/book/index.js +0 -1
- package/dist/components/book/src/book.d.ts +0 -8
- package/dist/components/button/index.d.ts +0 -23
- package/dist/components/button/index.js +0 -1
- package/dist/components/button/src/button.d.ts +0 -29
- package/dist/components/checkbox/index.d.ts +0 -1
- package/dist/components/checkbox/index.js +0 -1
- package/dist/components/checkbox/src/checkbox.d.ts +0 -27
- package/dist/components/checkbox-group/index.d.ts +0 -4
- package/dist/components/checkbox-group/index.js +0 -1
- package/dist/components/checkbox-group/src/checkbox-group.d.ts +0 -17
- package/dist/components/choicebox/index.d.ts +0 -1
- package/dist/components/choicebox/index.js +0 -1
- package/dist/components/choicebox/src/choicebox.d.ts +0 -21
- package/dist/components/choicebox-group/index.d.ts +0 -13
- package/dist/components/choicebox-group/index.js +0 -1
- package/dist/components/choicebox-group/src/choicebox-group.d.ts +0 -25
- package/dist/components/collapse/index.d.ts +0 -1
- package/dist/components/collapse/index.js +0 -1
- package/dist/components/collapse/src/collapse.d.ts +0 -9
- package/dist/components/combobox/index.d.ts +0 -1
- package/dist/components/combobox/index.js +0 -1
- package/dist/components/combobox/src/combobox.d.ts +0 -19
- package/dist/components/dialog/index.d.ts +0 -1
- package/dist/components/dialog/index.js +0 -1
- package/dist/components/dialog/src/dialog.d.ts +0 -32
- package/dist/components/error/index.d.ts +0 -1
- package/dist/components/error/index.js +0 -1
- package/dist/components/error/src/error.d.ts +0 -22
- package/dist/components/input/index.d.ts +0 -4
- package/dist/components/input/index.js +0 -1
- package/dist/components/input/src/input.d.ts +0 -25
- package/dist/components/keyboard-input/index.d.ts +0 -1
- package/dist/components/keyboard-input/index.js +0 -1
- package/dist/components/keyboard-input/src/keyboard-input.d.ts +0 -24
- package/dist/components/link/index.d.ts +0 -1
- package/dist/components/link/index.js +0 -1
- package/dist/components/link/src/link.d.ts +0 -22
- package/dist/components/loading-dots/index.d.ts +0 -1
- package/dist/components/loading-dots/index.js +0 -1
- package/dist/components/loading-dots/src/loading-dots.d.ts +0 -19
- package/dist/components/overlay/index.d.ts +0 -1
- package/dist/components/overlay/index.js +0 -1
- package/dist/components/overlay/src/overlay.d.ts +0 -5
- package/dist/components/progress/index.d.ts +0 -1
- package/dist/components/progress/index.js +0 -1
- package/dist/components/progress/src/progress.d.ts +0 -15
- package/dist/components/radio/index.d.ts +0 -6
- package/dist/components/radio/index.js +0 -1
- package/dist/components/radio/src/radio.d.ts +0 -17
- package/dist/components/scrollbar/index.d.ts +0 -1
- package/dist/components/scrollbar/index.js +0 -1
- package/dist/components/scrollbar/src/scrollbar.d.ts +0 -16
- package/dist/components/select/index.d.ts +0 -1
- package/dist/components/select/index.js +0 -1
- package/dist/components/select/src/select.d.ts +0 -15
- package/dist/components/show-more/index.d.ts +0 -1
- package/dist/components/show-more/index.js +0 -1
- package/dist/components/show-more/src/show-more.d.ts +0 -16
- package/dist/components/spinner/_.js +0 -1
- package/dist/components/spinner/index.d.ts +0 -1
- package/dist/components/spinner/index.js +0 -1
- package/dist/components/spinner/src/spinner.d.ts +0 -5
- package/dist/components/status-dot/index.d.ts +0 -1
- package/dist/components/status-dot/index.js +0 -1
- package/dist/components/status-dot/src/status-dot.d.ts +0 -6
- package/dist/components/switch/index.d.ts +0 -1
- package/dist/components/switch/index.js +0 -1
- package/dist/components/switch/src/switch.d.ts +0 -38
- package/dist/components/tabs/index.d.ts +0 -8
- package/dist/components/tabs/index.js +0 -1
- package/dist/components/tabs/src/tabs.d.ts +0 -48
- package/dist/components/tabs-item/index.d.ts +0 -1
- package/dist/components/tabs-item/index.js +0 -1
- package/dist/components/tabs-item/src/tabs-item.d.ts +0 -34
- package/dist/components/textarea/index.d.ts +0 -1
- package/dist/components/textarea/index.js +0 -1
- package/dist/components/textarea/src/textarea.d.ts +0 -16
- package/dist/components/toggle/index.d.ts +0 -1
- package/dist/components/toggle/index.js +0 -1
- package/dist/components/toggle/src/toggle.d.ts +0 -35
- package/dist/plugins/tailwind-preset.d.ts +0 -193
- package/dist/plugins/tailwind-preset.js +0 -1
- package/dist/vars.css +0 -1
package/README.md
CHANGED
|
@@ -1,84 +1,18 @@
|
|
|
1
1
|
# PXD
|
|
2
|
-
|
|
2
|
+
A universal UI component library for Vue2&3
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
> The library is still under development and may undergo major changes at any time.
|
|
4
|
+
## Contribution
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
### Dev
|
|
7
|
+
```shell
|
|
8
|
+
pnpm install
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
pnpm dev:lib
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
pnpm i pxd
|
|
12
|
+
pnpm dev
|
|
14
13
|
```
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
```js
|
|
20
|
-
// tailwind.config.js
|
|
21
|
-
|
|
22
|
-
export default {
|
|
23
|
-
content: [
|
|
24
|
-
'./src/**/*.{ts,tsx,vue}',
|
|
25
|
-
'./node_modules/pxd/dist/components/**/*.js',
|
|
26
|
-
]
|
|
27
|
-
}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### vars.css
|
|
31
|
-
|
|
32
|
-
```js
|
|
33
|
-
// main.ts
|
|
34
|
-
import 'pxd/vars.css'
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### Auto import
|
|
38
|
-
|
|
39
|
-
```js
|
|
40
|
-
// vite.config.js
|
|
41
|
-
import PxResolver from 'pxd/resolver'
|
|
42
|
-
import VueComponents from 'unplugin-vue-components/vite'
|
|
43
|
-
import { defineConfig } from 'vite'
|
|
44
|
-
|
|
45
|
-
export default defineConfig({
|
|
46
|
-
plugins: [
|
|
47
|
-
VueComponents({
|
|
48
|
-
resolvers: [
|
|
49
|
-
PxResolver()
|
|
50
|
-
]
|
|
51
|
-
})
|
|
52
|
-
]
|
|
53
|
-
})
|
|
15
|
+
### Build
|
|
16
|
+
```shell
|
|
17
|
+
pnpm build
|
|
54
18
|
```
|
|
55
|
-
|
|
56
|
-
### Global import
|
|
57
|
-
We strongly recommend using automatic import because it can significantly reduce the package size.
|
|
58
|
-
|
|
59
|
-
## Manual Import
|
|
60
|
-
```js
|
|
61
|
-
// main.ts
|
|
62
|
-
|
|
63
|
-
// All components only need to import this style file.
|
|
64
|
-
import 'pxd/vars.css'
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
```vue
|
|
68
|
-
<script setup>
|
|
69
|
-
import Button from 'pxd/components/button/index.js'
|
|
70
|
-
</script>
|
|
71
|
-
|
|
72
|
-
<template>
|
|
73
|
-
<Button>
|
|
74
|
-
Button
|
|
75
|
-
</Button>
|
|
76
|
-
</template>
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Acknowledgement
|
|
80
|
-
rankings are in no particular order, they are all very important to this project.
|
|
81
|
-
|
|
82
|
-
- Vite: https://vitejs.dev/
|
|
83
|
-
- Iconify: https://iconify.design/
|
|
84
|
-
- Geist Design System: https://vercel.com/geist/introduction
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import { useConfigProvider } from '../../composables/useConfigProvider'
|
|
3
|
+
import { computed } from 'vue'
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
variant?: keyof typeof VARIANTS
|
|
7
|
+
size?: keyof typeof SIZES
|
|
8
|
+
disabled?: boolean
|
|
9
|
+
block?: boolean
|
|
10
|
+
href?: string
|
|
11
|
+
shape?: 'square' | 'rounded'
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
defineOptions({
|
|
15
|
+
name: 'PButton',
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
const props = withDefaults(
|
|
19
|
+
defineProps<Props>(),
|
|
20
|
+
{
|
|
21
|
+
variant: 'outline',
|
|
22
|
+
},
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
const config = useConfigProvider()
|
|
26
|
+
|
|
27
|
+
const SIZES = {
|
|
28
|
+
xs: 'px-1 rounded-md h-6 text-sm ',
|
|
29
|
+
sm: 'px-1.5 rounded-md h-7 text-sm ',
|
|
30
|
+
md: 'px-2.5 rounded-md h-8 text-sm ',
|
|
31
|
+
lg: 'px-3.5 rounded-lg h-9 text-base ',
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const VARIANTS = {
|
|
35
|
+
outline: 'bg-background text-foreground hover:bg-background-hover active:bg-background-active border border-input ',
|
|
36
|
+
ghost: 'bg-transparent text-foreground hover:bg-gray-alpha-200 active:bg-gray-alpha-300 ',
|
|
37
|
+
primary: 'bg-foreground text-background hover:bg-foreground/80 active:bg-foreground ',
|
|
38
|
+
error: 'bg-red-800 text-white hover:bg-red-700 active:bg-red-800 ',
|
|
39
|
+
warning: 'bg-amber-800 text-black hover:bg-amber-700 active:bg-amber-800 ',
|
|
40
|
+
success: 'bg-green-800 text-white hover:bg-green-700 active:bg-green-800 ',
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const DISABLED_CLASS_NAMES = 'disabled:bg-gray-100 !text-gray-700 border-none shadow-[0_0_0_1px_hsl(var(--gray-200-value))] !cursor-not-allowed '
|
|
44
|
+
|
|
45
|
+
const computedClassNames = computed(() => {
|
|
46
|
+
let classNames = 'cursor-pointer transition-colors items-center justify-center '
|
|
47
|
+
|
|
48
|
+
classNames += VARIANTS[props.variant]
|
|
49
|
+
|
|
50
|
+
classNames += SIZES[props.size || config.size]
|
|
51
|
+
|
|
52
|
+
classNames += props.block ? 'flex ' : 'inline-flex '
|
|
53
|
+
|
|
54
|
+
if (props.disabled) {
|
|
55
|
+
classNames += DISABLED_CLASS_NAMES
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (props.shape === 'square') {
|
|
59
|
+
classNames += '!rounded-none '
|
|
60
|
+
}
|
|
61
|
+
else if (props.shape === 'rounded') {
|
|
62
|
+
classNames += '!rounded-full '
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return classNames
|
|
66
|
+
})
|
|
67
|
+
</script>
|
|
68
|
+
|
|
69
|
+
<template>
|
|
70
|
+
<Component
|
|
71
|
+
:is="props.href ? 'router-link' : 'button'"
|
|
72
|
+
class="pxd-button" :class="computedClassNames"
|
|
73
|
+
:disabled="disabled"
|
|
74
|
+
:to="href"
|
|
75
|
+
>
|
|
76
|
+
<slot name="prefix" />
|
|
77
|
+
|
|
78
|
+
<span class="px-1 inline-flex truncate">
|
|
79
|
+
<slot />
|
|
80
|
+
</span>
|
|
81
|
+
|
|
82
|
+
<slot name="suffix" />
|
|
83
|
+
</Component>
|
|
84
|
+
</template>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import type { VNode } from 'vue'
|
|
3
|
+
import { provideConfigProvider, type ComponentSize } from '../../composables/useConfigProvider'
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
as?: keyof HTMLElementTagNameMap | VNode
|
|
7
|
+
size?: ComponentSize
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const props = withDefaults(
|
|
11
|
+
defineProps<Props>(),
|
|
12
|
+
{ as: 'div', size: 'md' },
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
defineOptions({
|
|
16
|
+
name: 'PConfigProvider',
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
provideConfigProvider(props)
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<template>
|
|
23
|
+
<component :is="as">
|
|
24
|
+
<slot />
|
|
25
|
+
</component>
|
|
26
|
+
</template>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const injectionKey = "configProvider";
|
|
2
|
+
export type ComponentSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
3
|
+
export interface ConfigProviderProps {
|
|
4
|
+
size?: ComponentSize;
|
|
5
|
+
}
|
|
6
|
+
export declare const defaultConfig: Required<ConfigProviderProps>;
|
|
7
|
+
export declare function provideConfigProvider(configProvider: ConfigProviderProps): void;
|
|
8
|
+
export declare function useConfigProvider(): Required<ConfigProviderProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { inject, provide } from "vue";
|
|
2
|
+
export const injectionKey = "configProvider";
|
|
3
|
+
export const defaultConfig = {
|
|
4
|
+
size: "md"
|
|
5
|
+
};
|
|
6
|
+
export function provideConfigProvider(configProvider) {
|
|
7
|
+
provide(injectionKey, configProvider);
|
|
8
|
+
}
|
|
9
|
+
export function useConfigProvider() {
|
|
10
|
+
return inject(injectionKey, defaultConfig);
|
|
11
|
+
}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Button from "./components/button/index.vue";
|
|
2
|
+
import ConfigProvider from "./components/config-provider/index.vue";
|
|
3
|
+
const components = [Button, ConfigProvider];
|
|
4
|
+
export default function install(app) {
|
|
5
|
+
components.forEach((component) => {
|
|
6
|
+
app.component(component.name, component);
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
Button,
|
|
11
|
+
ConfigProvider
|
|
12
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { addComponent, defineNuxtModule } from "@nuxt/kit";
|
|
2
|
+
import * as components from "../index.js";
|
|
3
|
+
import { name } from "../../package.json";
|
|
4
|
+
export default defineNuxtModule({
|
|
5
|
+
meta: {
|
|
6
|
+
name: "pxd",
|
|
7
|
+
configKey: "pxd",
|
|
8
|
+
compatibility: {
|
|
9
|
+
nuxt: ">=3.0.0"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
defaults: {
|
|
13
|
+
prefix: ""
|
|
14
|
+
},
|
|
15
|
+
async setup(options) {
|
|
16
|
+
for (const component in components) {
|
|
17
|
+
addComponent({
|
|
18
|
+
name: `${options.prefix}${component}`,
|
|
19
|
+
export: component,
|
|
20
|
+
filePath: name
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ComponentResolver } from 'unplugin-vue-components';
|
|
2
|
-
declare function
|
|
3
|
-
export default
|
|
1
|
+
import type { ComponentResolver } from 'unplugin-vue-components';
|
|
2
|
+
declare function resolver(): ComponentResolver;
|
|
3
|
+
export default resolver;
|
package/dist/plugins/resolver.js
CHANGED
|
@@ -1 +1,19 @@
|
|
|
1
|
-
const
|
|
1
|
+
const LIBRARY_NAME = "pxd";
|
|
2
|
+
const NAMESPACE = LIBRARY_NAME[0].toUpperCase();
|
|
3
|
+
function resolver() {
|
|
4
|
+
const prefixRegex = /^P[A-Z]/;
|
|
5
|
+
return {
|
|
6
|
+
type: "component",
|
|
7
|
+
resolve(name) {
|
|
8
|
+
if (!prefixRegex.test(name)) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const partialName = name.replace(new RegExp(NAMESPACE, "i"), "").replace(/([A-Z])/g, "-$1").toLowerCase().slice(1);
|
|
12
|
+
return {
|
|
13
|
+
importName: name,
|
|
14
|
+
from: `pxd/components/${partialName}`
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export default resolver;
|
package/dist/tokens.css
ADDED
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
@custom-variant dark (&:is(.dark *));
|
|
2
|
+
|
|
3
|
+
@utility scrollbar-hidden {
|
|
4
|
+
&::-webkit-scrollbar {
|
|
5
|
+
display: none;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
:root {
|
|
10
|
+
--radius: 0.5rem;
|
|
11
|
+
|
|
12
|
+
--background-100: #fff;
|
|
13
|
+
--background-200: #fafafa;
|
|
14
|
+
|
|
15
|
+
--accents-1: #fafafa;
|
|
16
|
+
--accents-2: #eaeaea;
|
|
17
|
+
--accents-3: #999;
|
|
18
|
+
--accents-4: #888;
|
|
19
|
+
--accents-5: #666;
|
|
20
|
+
--accents-6: #444;
|
|
21
|
+
--accents-7: #333;
|
|
22
|
+
--accents-8: #111;
|
|
23
|
+
|
|
24
|
+
--gray-alpha-100: hsla(0, 0%, 0%, 0.05);
|
|
25
|
+
--gray-alpha-200: hsla(0, 0%, 0%, 0.08);
|
|
26
|
+
--gray-alpha-300: hsla(0, 0%, 0%, 0.12);
|
|
27
|
+
--gray-alpha-400: hsla(0, 0%, 0%, 0.17);
|
|
28
|
+
--gray-alpha-500: hsla(0, 0%, 0%, 0.21);
|
|
29
|
+
--gray-alpha-600: hsla(0, 0%, 0%, 0.34);
|
|
30
|
+
--gray-alpha-700: hsla(0, 0%, 0%, 0.44);
|
|
31
|
+
--gray-alpha-800: hsla(0, 0%, 0%, 0.51);
|
|
32
|
+
--gray-alpha-900: hsla(0, 0%, 0%, 0.61);
|
|
33
|
+
--gray-alpha-1000: hsla(0, 0%, 0%, 0.91);
|
|
34
|
+
|
|
35
|
+
--gray-100-value: 0, 0%, 95%;
|
|
36
|
+
--gray-200-value: 0, 0%, 93%;
|
|
37
|
+
--gray-300-value: 0, 0%, 90%;
|
|
38
|
+
--gray-400-value: 0, 0%, 85%;
|
|
39
|
+
--gray-500-value: 0, 0%, 79%;
|
|
40
|
+
--gray-600-value: 0, 0%, 66%;
|
|
41
|
+
--gray-700-value: 0, 0%, 56%;
|
|
42
|
+
--gray-800-value: 0, 0%, 49%;
|
|
43
|
+
--gray-900-value: 0, 0%, 40%;
|
|
44
|
+
--gray-1000-value: 0, 0%, 9%;
|
|
45
|
+
|
|
46
|
+
--blue-100-value: 212, 100%, 97%;
|
|
47
|
+
--blue-200-value: 210, 100%, 96%;
|
|
48
|
+
--blue-300-value: 210, 100%, 94%;
|
|
49
|
+
--blue-400-value: 209, 100%, 90%;
|
|
50
|
+
--blue-500-value: 209, 100%, 80%;
|
|
51
|
+
--blue-600-value: 208, 100%, 66%;
|
|
52
|
+
--blue-700-value: 212, 100%, 48%;
|
|
53
|
+
--blue-800-value: 212, 100%, 41%;
|
|
54
|
+
--blue-900-value: 211, 100%, 42%;
|
|
55
|
+
--blue-1000-value: 211, 100%, 15%;
|
|
56
|
+
|
|
57
|
+
--red-100-value: 0, 100%, 97%;
|
|
58
|
+
--red-200-value: 0, 100%, 96%;
|
|
59
|
+
--red-300-value: 0, 100%, 95%;
|
|
60
|
+
--red-400-value: 0, 90%, 92%;
|
|
61
|
+
--red-500-value: 0, 82%, 85%;
|
|
62
|
+
--red-600-value: 359, 90%, 71%;
|
|
63
|
+
--red-700-value: 358, 75%, 59%;
|
|
64
|
+
--red-800-value: 358, 70%, 52%;
|
|
65
|
+
--red-900-value: 358, 66%, 48%;
|
|
66
|
+
--red-1000-value: 355, 49%, 15%;
|
|
67
|
+
|
|
68
|
+
--amber-100-value: 39, 100%, 95%;
|
|
69
|
+
--amber-200-value: 44, 100%, 92%;
|
|
70
|
+
--amber-300-value: 43, 96%, 90%;
|
|
71
|
+
--amber-400-value: 42, 100%, 78%;
|
|
72
|
+
--amber-500-value: 38, 100%, 71%;
|
|
73
|
+
--amber-600-value: 36, 90%, 62%;
|
|
74
|
+
--amber-700-value: 39, 100%, 57%;
|
|
75
|
+
--amber-800-value: 35, 100%, 52%;
|
|
76
|
+
--amber-900-value: 30, 100%, 32%;
|
|
77
|
+
--amber-1000-value: 20, 79%, 17%;
|
|
78
|
+
|
|
79
|
+
--green-100-value: 120, 60%, 96%;
|
|
80
|
+
--green-200-value: 120, 60%, 95%;
|
|
81
|
+
--green-300-value: 120, 60%, 91%;
|
|
82
|
+
--green-400-value: 122, 60%, 86%;
|
|
83
|
+
--green-500-value: 124, 60%, 75%;
|
|
84
|
+
--green-600-value: 125, 60%, 64%;
|
|
85
|
+
--green-700-value: 131, 41%, 46%;
|
|
86
|
+
--green-800-value: 132, 43%, 39%;
|
|
87
|
+
--green-900-value: 133, 50%, 32%;
|
|
88
|
+
--green-1000-value: 128, 29%, 15%;
|
|
89
|
+
|
|
90
|
+
--teal-100-value: 169, 70%, 96%;
|
|
91
|
+
--teal-200-value: 167, 70%, 94%;
|
|
92
|
+
--teal-300-value: 168, 70%, 90%;
|
|
93
|
+
--teal-400-value: 170, 70%, 85%;
|
|
94
|
+
--teal-500-value: 170, 70%, 72%;
|
|
95
|
+
--teal-600-value: 170, 70%, 57%;
|
|
96
|
+
--teal-700-value: 173, 80%, 36%;
|
|
97
|
+
--teal-800-value: 173, 83%, 30%;
|
|
98
|
+
--teal-900-value: 174, 91%, 25%;
|
|
99
|
+
--teal-1000-value: 171, 80%, 13%;
|
|
100
|
+
|
|
101
|
+
--purple-100-value: 276, 100%, 97%;
|
|
102
|
+
--purple-200-value: 277, 87%, 97%;
|
|
103
|
+
--purple-300-value: 274, 78%, 95%;
|
|
104
|
+
--purple-400-value: 276, 71%, 92%;
|
|
105
|
+
--purple-500-value: 274, 70%, 82%;
|
|
106
|
+
--purple-600-value: 273, 72%, 73%;
|
|
107
|
+
--purple-700-value: 272, 51%, 54%;
|
|
108
|
+
--purple-800-value: 272, 47%, 45%;
|
|
109
|
+
--purple-900-value: 274, 71%, 43%;
|
|
110
|
+
--purple-1000-value: 276, 100%, 15%;
|
|
111
|
+
|
|
112
|
+
--pink-100-value: 330, 100%, 96%;
|
|
113
|
+
--pink-200-value: 340, 90%, 96%;
|
|
114
|
+
--pink-300-value: 340, 82%, 94%;
|
|
115
|
+
--pink-400-value: 341, 76%, 91%;
|
|
116
|
+
--pink-500-value: 340, 75%, 84%;
|
|
117
|
+
--pink-600-value: 341, 75%, 73%;
|
|
118
|
+
--pink-700-value: 336, 80%, 58%;
|
|
119
|
+
--pink-800-value: 336, 74%, 51%;
|
|
120
|
+
--pink-900-value: 336, 65%, 45%;
|
|
121
|
+
--pink-1000-value: 333, 74%, 15%;
|
|
122
|
+
|
|
123
|
+
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
|
|
124
|
+
line-height: 1.5;
|
|
125
|
+
font-weight: 400;
|
|
126
|
+
color-scheme: light dark;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.dark {
|
|
130
|
+
--background-100: #0a0a0a;
|
|
131
|
+
--background-200: #000;
|
|
132
|
+
|
|
133
|
+
--accents-1: #111;
|
|
134
|
+
--accents-2: #333;
|
|
135
|
+
--accents-3: #444;
|
|
136
|
+
--accents-4: #666;
|
|
137
|
+
--accents-5: #888;
|
|
138
|
+
--accents-6: #999;
|
|
139
|
+
--accents-7: #eaeaea;
|
|
140
|
+
--accents-8: #fafafa;
|
|
141
|
+
|
|
142
|
+
--gray-100-value: 0, 0%, 10%;
|
|
143
|
+
--gray-200-value: 0, 0%, 12%;
|
|
144
|
+
--gray-300-value: 0, 0%, 16%;
|
|
145
|
+
--gray-400-value: 0, 0%, 18%;
|
|
146
|
+
--gray-500-value: 0, 0%, 27%;
|
|
147
|
+
--gray-600-value: 0, 0%, 53%;
|
|
148
|
+
--gray-700-value: 0, 0%, 56%;
|
|
149
|
+
--gray-800-value: 0, 0%, 49%;
|
|
150
|
+
--gray-900-value: 0, 0%, 63%;
|
|
151
|
+
--gray-1000-value: 0, 0%, 93%;
|
|
152
|
+
|
|
153
|
+
--blue-100-value: 216, 50%, 12%;
|
|
154
|
+
--blue-200-value: 214, 59%, 15%;
|
|
155
|
+
--blue-300-value: 213, 71%, 20%;
|
|
156
|
+
--blue-400-value: 212, 78%, 23%;
|
|
157
|
+
--blue-500-value: 211, 86%, 27%;
|
|
158
|
+
--blue-600-value: 206, 100%, 50%;
|
|
159
|
+
--blue-700-value: 212, 100%, 48%;
|
|
160
|
+
--blue-800-value: 212, 100%, 41%;
|
|
161
|
+
--blue-900-value: 210, 100%, 66%;
|
|
162
|
+
--blue-1000-value: 206, 100%, 96%;
|
|
163
|
+
|
|
164
|
+
--red-100-value: 357, 37%, 12%;
|
|
165
|
+
--red-200-value: 357, 46%, 16%;
|
|
166
|
+
--red-300-value: 356, 54%, 22%;
|
|
167
|
+
--red-400-value: 357, 55%, 26%;
|
|
168
|
+
--red-500-value: 357, 60%, 32%;
|
|
169
|
+
--red-600-value: 358, 75%, 59%;
|
|
170
|
+
--red-700-value: 358, 75%, 59%;
|
|
171
|
+
--red-800-value: 358, 69%, 52%;
|
|
172
|
+
--red-900-value: 358, 100%, 69%;
|
|
173
|
+
--red-1000-value: 353, 90%, 96%;
|
|
174
|
+
|
|
175
|
+
--amber-100-value: 35, 100%, 8%;
|
|
176
|
+
--amber-200-value: 32, 100%, 10%;
|
|
177
|
+
--amber-300-value: 33, 100%, 15%;
|
|
178
|
+
--amber-400-value: 35, 100%, 17%;
|
|
179
|
+
--amber-500-value: 35, 91%, 22%;
|
|
180
|
+
--amber-600-value: 39, 85%, 49%;
|
|
181
|
+
--amber-700-value: 39, 100%, 57%;
|
|
182
|
+
--amber-800-value: 35, 100%, 52%;
|
|
183
|
+
--amber-900-value: 39, 90%, 50%;
|
|
184
|
+
--amber-1000-value: 40, 94%, 93%;
|
|
185
|
+
|
|
186
|
+
--green-100-value: 136, 50%, 9%;
|
|
187
|
+
--green-200-value: 137, 50%, 12%;
|
|
188
|
+
--green-300-value: 136, 50%, 14%;
|
|
189
|
+
--green-400-value: 135, 70%, 16%;
|
|
190
|
+
--green-500-value: 135, 70%, 23%;
|
|
191
|
+
--green-600-value: 135, 70%, 34%;
|
|
192
|
+
--green-700-value: 131, 41%, 46%;
|
|
193
|
+
--green-800-value: 132, 43%, 39%;
|
|
194
|
+
--green-900-value: 131, 43%, 57%;
|
|
195
|
+
--green-1000-value: 136, 73%, 94%;
|
|
196
|
+
|
|
197
|
+
--teal-100-value: 169, 78%, 7%;
|
|
198
|
+
--teal-200-value: 170, 74%, 9%;
|
|
199
|
+
--teal-300-value: 171, 75%, 13%;
|
|
200
|
+
--teal-400-value: 171, 85%, 13%;
|
|
201
|
+
--teal-500-value: 172, 85%, 20%;
|
|
202
|
+
--teal-600-value: 172, 85%, 32%;
|
|
203
|
+
--teal-700-value: 173, 80%, 36%;
|
|
204
|
+
--teal-800-value: 173, 83%, 30%;
|
|
205
|
+
--teal-900-value: 174, 90%, 41%;
|
|
206
|
+
--teal-1000-value: 166, 71%, 93%;
|
|
207
|
+
|
|
208
|
+
--purple-100-value: 283, 30%, 12%;
|
|
209
|
+
--purple-200-value: 281, 38%, 16%;
|
|
210
|
+
--purple-300-value: 279, 44%, 23%;
|
|
211
|
+
--purple-400-value: 277, 46%, 28%;
|
|
212
|
+
--purple-500-value: 274, 49%, 35%;
|
|
213
|
+
--purple-600-value: 272, 51%, 54%;
|
|
214
|
+
--purple-700-value: 272, 51%, 54%;
|
|
215
|
+
--purple-800-value: 272, 47%, 45%;
|
|
216
|
+
--purple-900-value: 275, 80%, 71%;
|
|
217
|
+
--purple-1000-value: 281, 73%, 96%;
|
|
218
|
+
|
|
219
|
+
--pink-100-value: 335, 32%, 12%;
|
|
220
|
+
--pink-200-value: 335, 43%, 16%;
|
|
221
|
+
--pink-300-value: 335, 47%, 21%;
|
|
222
|
+
--pink-400-value: 335, 51%, 22%;
|
|
223
|
+
--pink-500-value: 335, 57%, 27%;
|
|
224
|
+
--pink-600-value: 336, 75%, 40%;
|
|
225
|
+
--pink-700-value: 336, 80%, 58%;
|
|
226
|
+
--pink-800-value: 336, 74%, 51%;
|
|
227
|
+
--pink-900-value: 341, 90%, 67%;
|
|
228
|
+
--pink-1000-value: 333, 90%, 96%;
|
|
229
|
+
|
|
230
|
+
--gray-alpha-100: hsla(0, 0%, 100%, .06);
|
|
231
|
+
--gray-alpha-200: hsla(0, 0%, 100%, .09);
|
|
232
|
+
--gray-alpha-300: hsla(0, 0%, 100%, .13);
|
|
233
|
+
--gray-alpha-400: hsla(0, 0%, 100%, .14);
|
|
234
|
+
--gray-alpha-500: hsla(0, 0%, 100%, .24);
|
|
235
|
+
--gray-alpha-600: hsla(0, 0%, 100%, .51);
|
|
236
|
+
--gray-alpha-700: hsla(0, 0%, 100%, .54);
|
|
237
|
+
--gray-alpha-800: hsla(0, 0%, 100%, .47);
|
|
238
|
+
--gray-alpha-900: hsla(0, 0%, 100%, .61);
|
|
239
|
+
--gray-alpha-1000: hsla(0, 0%, 100%, .92);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
@theme inline {
|
|
243
|
+
--color-foreground: hsl(var(--gray-1000-value));
|
|
244
|
+
--color-background: var(--background-100);
|
|
245
|
+
--color-background-secondary: var(--background-200);
|
|
246
|
+
--color-background-muted: hsl(var(--gray-100-value));
|
|
247
|
+
--color-background-hover: hsl(var(--gray-200-value));
|
|
248
|
+
--color-background-active: hsl(var(--gray-300-value));
|
|
249
|
+
|
|
250
|
+
--color-primary: hsl(var(--blue-700-value));
|
|
251
|
+
--color-secondary: hsl(var(--gray-700-value));
|
|
252
|
+
--color-muted: var(--gray-alpha-800);
|
|
253
|
+
--color-accent: hsl(var(--green-700-value));
|
|
254
|
+
--color-destructive: hsl(var(--red-700-value));
|
|
255
|
+
|
|
256
|
+
--color-border: hsl(var(--gray-300-value));
|
|
257
|
+
--color-border-hover: hsl(var(--gray-500-value));
|
|
258
|
+
--color-border-active: hsl(var(--gray-600-value));
|
|
259
|
+
|
|
260
|
+
--color-input: var(--gray-alpha-400);
|
|
261
|
+
--color-ring: hsl(var(--blue-900-value));
|
|
262
|
+
|
|
263
|
+
--color-gray-100: hsl(var(--gray-100-value));
|
|
264
|
+
--color-gray-200: hsl(var(--gray-200-value));
|
|
265
|
+
--color-gray-300: hsl(var(--gray-300-value));
|
|
266
|
+
--color-gray-400: hsl(var(--gray-400-value));
|
|
267
|
+
--color-gray-500: hsl(var(--gray-500-value));
|
|
268
|
+
--color-gray-600: hsl(var(--gray-600-value));
|
|
269
|
+
--color-gray-700: hsl(var(--gray-700-value));
|
|
270
|
+
--color-gray-800: hsl(var(--gray-800-value));
|
|
271
|
+
--color-gray-900: hsl(var(--gray-900-value));
|
|
272
|
+
--color-gray-1000: hsl(var(--gray-1000-value));
|
|
273
|
+
|
|
274
|
+
--color-gray-alpha-100: var(--gray-alpha-100);
|
|
275
|
+
--color-gray-alpha-200: var(--gray-alpha-200);
|
|
276
|
+
--color-gray-alpha-300: var(--gray-alpha-300);
|
|
277
|
+
--color-gray-alpha-400: var(--gray-alpha-400);
|
|
278
|
+
--color-gray-alpha-500: var(--gray-alpha-500);
|
|
279
|
+
--color-gray-alpha-600: var(--gray-alpha-600);
|
|
280
|
+
--color-gray-alpha-700: var(--gray-alpha-700);
|
|
281
|
+
--color-gray-alpha-800: var(--gray-alpha-800);
|
|
282
|
+
--color-gray-alpha-900: var(--gray-alpha-900);
|
|
283
|
+
--color-gray-alpha-1000: var(--gray-alpha-1000);
|
|
284
|
+
|
|
285
|
+
--color-red-100: hsl(var(--red-100-value));
|
|
286
|
+
--color-red-200: hsl(var(--red-200-value));
|
|
287
|
+
--color-red-300: hsl(var(--red-300-value));
|
|
288
|
+
--color-red-400: hsl(var(--red-400-value));
|
|
289
|
+
--color-red-500: hsl(var(--red-500-value));
|
|
290
|
+
--color-red-600: hsl(var(--red-600-value));
|
|
291
|
+
--color-red-700: hsl(var(--red-700-value));
|
|
292
|
+
--color-red-800: hsl(var(--red-800-value));
|
|
293
|
+
--color-red-900: hsl(var(--red-900-value));
|
|
294
|
+
--color-red-1000: hsl(var(--red-1000-value));
|
|
295
|
+
|
|
296
|
+
--color-blue-100: hsl(var(--blue-100-value));
|
|
297
|
+
--color-blue-200: hsl(var(--blue-200-value));
|
|
298
|
+
--color-blue-300: hsl(var(--blue-300-value));
|
|
299
|
+
--color-blue-400: hsl(var(--blue-400-value));
|
|
300
|
+
--color-blue-500: hsl(var(--blue-500-value));
|
|
301
|
+
--color-blue-600: hsl(var(--blue-600-value));
|
|
302
|
+
--color-blue-700: hsl(var(--blue-700-value));
|
|
303
|
+
--color-blue-800: hsl(var(--blue-800-value));
|
|
304
|
+
--color-blue-900: hsl(var(--blue-900-value));
|
|
305
|
+
--color-blue-1000: hsl(var(--blue-1000-value));
|
|
306
|
+
|
|
307
|
+
--color-amber-100: hsl(var(--amber-100-value));
|
|
308
|
+
--color-amber-200: hsl(var(--amber-200-value));
|
|
309
|
+
--color-amber-300: hsl(var(--amber-300-value));
|
|
310
|
+
--color-amber-400: hsl(var(--amber-400-value));
|
|
311
|
+
--color-amber-500: hsl(var(--amber-500-value));
|
|
312
|
+
--color-amber-600: hsl(var(--amber-600-value));
|
|
313
|
+
--color-amber-700: hsl(var(--amber-700-value));
|
|
314
|
+
--color-amber-800: hsl(var(--amber-800-value));
|
|
315
|
+
--color-amber-900: hsl(var(--amber-900-value));
|
|
316
|
+
--color-amber-1000: hsl(var(--amber-1000-value));
|
|
317
|
+
|
|
318
|
+
--color-green-100: hsl(var(--green-100-value));
|
|
319
|
+
--color-green-200: hsl(var(--green-200-value));
|
|
320
|
+
--color-green-300: hsl(var(--green-300-value));
|
|
321
|
+
--color-green-400: hsl(var(--green-400-value));
|
|
322
|
+
--color-green-500: hsl(var(--green-500-value));
|
|
323
|
+
--color-green-600: hsl(var(--green-600-value));
|
|
324
|
+
--color-green-700: hsl(var(--green-700-value));
|
|
325
|
+
--color-green-800: hsl(var(--green-800-value));
|
|
326
|
+
--color-green-900: hsl(var(--green-900-value));
|
|
327
|
+
--color-green-1000: hsl(var(--green-1000-value));
|
|
328
|
+
|
|
329
|
+
--color-teal-100: hsl(var(--teal-100-value));
|
|
330
|
+
--color-teal-200: hsl(var(--teal-200-value));
|
|
331
|
+
--color-teal-300: hsl(var(--teal-300-value));
|
|
332
|
+
--color-teal-400: hsl(var(--teal-400-value));
|
|
333
|
+
--color-teal-500: hsl(var(--teal-500-value));
|
|
334
|
+
--color-teal-600: hsl(var(--teal-600-value));
|
|
335
|
+
--color-teal-700: hsl(var(--teal-700-value));
|
|
336
|
+
--color-teal-800: hsl(var(--teal-800-value));
|
|
337
|
+
--color-teal-900: hsl(var(--teal-900-value));
|
|
338
|
+
--color-teal-1000: hsl(var(--teal-1000-value));
|
|
339
|
+
|
|
340
|
+
--color-purple-100: hsl(var(--purple-100-value));
|
|
341
|
+
--color-purple-200: hsl(var(--purple-200-value));
|
|
342
|
+
--color-purple-300: hsl(var(--purple-300-value));
|
|
343
|
+
--color-purple-400: hsl(var(--purple-400-value));
|
|
344
|
+
--color-purple-500: hsl(var(--purple-500-value));
|
|
345
|
+
--color-purple-600: hsl(var(--purple-600-value));
|
|
346
|
+
--color-purple-700: hsl(var(--purple-700-value));
|
|
347
|
+
--color-purple-800: hsl(var(--purple-800-value));
|
|
348
|
+
--color-purple-900: hsl(var(--purple-900-value));
|
|
349
|
+
--color-purple-1000: hsl(var(--purple-1000-value));
|
|
350
|
+
|
|
351
|
+
--color-pink-100: hsl(var(--pink-100-value));
|
|
352
|
+
--color-pink-200: hsl(var(--pink-200-value));
|
|
353
|
+
--color-pink-300: hsl(var(--pink-300-value));
|
|
354
|
+
--color-pink-400: hsl(var(--pink-400-value));
|
|
355
|
+
--color-pink-500: hsl(var(--pink-500-value));
|
|
356
|
+
--color-pink-600: hsl(var(--pink-600-value));
|
|
357
|
+
--color-pink-700: hsl(var(--pink-700-value));
|
|
358
|
+
--color-pink-800: hsl(var(--pink-800-value));
|
|
359
|
+
--color-pink-900: hsl(var(--pink-900-value));
|
|
360
|
+
--color-pink-1000: hsl(var(--pink-1000-value));
|
|
361
|
+
|
|
362
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
363
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
364
|
+
--radius-lg: var(--radius);
|
|
365
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
@layer base {
|
|
370
|
+
* {
|
|
371
|
+
@apply border-border outline-ring/50;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
body {
|
|
375
|
+
background-color: var(--color-background);
|
|
376
|
+
color: var(--color-foreground);
|
|
377
|
+
}
|
|
378
|
+
}
|