pxd 0.0.2 → 0.0.3

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.
Files changed (50) hide show
  1. package/README.md +246 -1
  2. package/dist/components/accordion/index.d.ts +1 -0
  3. package/dist/components/accordion/index.js +1 -0
  4. package/dist/components/accordion/src/accordion.d.ts +39 -0
  5. package/dist/components/button/index.d.ts +1 -0
  6. package/dist/components/button/index.js +1 -1
  7. package/dist/components/button/src/button.d.ts +30 -0
  8. package/dist/components/checkbox/index.d.ts +1 -0
  9. package/dist/components/checkbox/index.js +1 -1
  10. package/dist/components/checkbox/src/checkbox.d.ts +13 -0
  11. package/dist/components/dialog/index.d.ts +1 -0
  12. package/dist/components/dialog/index.js +1 -1
  13. package/dist/components/dialog/src/dialog.d.ts +50 -0
  14. package/dist/components/input/index.d.ts +1 -0
  15. package/dist/components/input/index.js +1 -1
  16. package/dist/components/input/src/input.d.ts +2 -0
  17. package/dist/components/progress/index.d.ts +1 -0
  18. package/dist/components/progress/index.js +1 -1
  19. package/dist/components/progress/src/progress.d.ts +36 -0
  20. package/dist/components/radio/index.d.ts +1 -0
  21. package/dist/components/radio/index.js +1 -1
  22. package/dist/components/radio/src/radio.d.ts +65 -0
  23. package/dist/components/scrollbar/index.d.ts +1 -0
  24. package/dist/components/scrollbar/index.js +1 -1
  25. package/dist/components/scrollbar/src/scrollbar.d.ts +9 -0
  26. package/dist/components/select/index.d.ts +1 -0
  27. package/dist/components/select/index.js +1 -1
  28. package/dist/components/select/src/select.d.ts +25 -0
  29. package/dist/components/space/index.d.ts +1 -0
  30. package/dist/components/space/src/space.d.ts +32 -0
  31. package/dist/components/switch/index.d.ts +1 -0
  32. package/dist/components/switch/index.js +1 -1
  33. package/dist/components/switch/src/switch.d.ts +25 -0
  34. package/dist/components/tabs/index.d.ts +9 -0
  35. package/dist/components/tabs/index.js +1 -1
  36. package/dist/components/tabs/src/tabs.d.ts +34 -0
  37. package/dist/components/tabs-item/index.d.ts +1 -0
  38. package/dist/components/tabs-item/src/tabs-item.d.ts +27 -0
  39. package/dist/components/textarea/index.d.ts +1 -0
  40. package/dist/components/textarea/index.js +1 -1
  41. package/dist/components/textarea/src/textarea.d.ts +6 -0
  42. package/dist/plugins/resolver.d.ts +11 -0
  43. package/dist/plugins/resolver.js +1 -1
  44. package/dist/vars.css +1 -0
  45. package/package.json +51 -55
  46. package/dist/composables/use-sizes.js +0 -1
  47. package/dist/styles.css +0 -1
  48. package/dist/styles.js +0 -1
  49. package/public/preview.png +0 -0
  50. /package/{dist → res}/preview.png +0 -0
package/README.md CHANGED
@@ -1,7 +1,252 @@
1
1
  # PXD
2
2
  A library of Vue3 components based on radix-vue and unocss. Everything is just right.
3
3
 
4
- ![](./public/preview.png)
4
+ > [!IMPORTANT]
5
+ > The library is still under development and may undergo major changes at any time.
6
+
7
+ ![](./res/preview.png)
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ pnpm i pxd
13
+ pnpm i -D animated-unocss
14
+ ```
15
+
16
+ ## Usage
17
+
18
+ ### Styles
19
+
20
+ ### uno.config.ts
21
+ ```js
22
+ import transformerVariantGroup from '@unocss/transformer-variant-group'
23
+ import { animatedUno } from 'animated-unocss'
24
+ import { defineConfig, presetIcons, presetMini } from 'unocss'
25
+
26
+ export default defineConfig({
27
+ content: {
28
+ pipeline: {
29
+ include: ['./src/**/*.{vue,tsx,ts}'],
30
+ },
31
+ },
32
+
33
+ presets: [
34
+ animatedUno({
35
+ buildFullVersion: false,
36
+ }),
37
+ presetMini({
38
+ variablePrefix: '',
39
+ }),
40
+ presetIcons({
41
+ extraProperties: {
42
+ 'display': 'inline-block',
43
+ 'vertical-align': '-2px',
44
+ },
45
+ }),
46
+ ],
47
+
48
+ shortcuts: {
49
+ 'flex-center': 'flex justify-center items-center',
50
+ 'flex-col-center': 'flex flex-col justify-center items-center',
51
+ 'fixed-center': 'fixed left-50% top-50% translate-x--50% translate-y--50%',
52
+ 'absolute-center': 'absolute left-50% top-50% translate-x--50% translate-y--50%',
53
+ },
54
+
55
+ rules: [
56
+ // va--2px => vertical-align: -2px
57
+ [/^va-(.+)$/, ([, v]: string[]) => ({ 'vertical-align': v })],
58
+ [/^rotate-y-full$/, () => ({ transform: 'rotateY(180deg)' })],
59
+ [/^rotate-x-full$/, () => ({ transform: 'rotateX(180deg)' })],
60
+ [/^letter-spacing-(.+)$/, ([, d]: string[]) => ({ 'letter-spacing': d })],
61
+ ],
62
+
63
+ transformers: [
64
+ // hover:(bg-gray-400 font-medium) font-(light mono) ↓
65
+ // hover:bg-gray-400 hover:font-medium font-light font-mono
66
+ transformerVariantGroup(),
67
+ ],
68
+
69
+ theme: {
70
+ colors: {
71
+ border: 'hsl(var(--border))',
72
+ input: 'hsl(var(--input))',
73
+ ring: 'hsl(var(--ring))',
74
+ background: 'hsl(var(--background))',
75
+ foreground: 'hsl(var(--foreground))',
76
+ primary: {
77
+ DEFAULT: 'hsl(var(--primary))',
78
+ foreground: 'hsl(var(--primary-foreground))',
79
+ },
80
+ secondary: {
81
+ DEFAULT: 'hsl(var(--secondary))',
82
+ foreground: 'hsl(var(--secondary-foreground))',
83
+ },
84
+ danger: {
85
+ DEFAULT: 'hsl(var(--danger) / <alpha-value>)',
86
+ foreground: 'hsl(var(--danger-foreground) / <alpha-value>)',
87
+ },
88
+ muted: {
89
+ DEFAULT: 'hsl(var(--muted))',
90
+ foreground: 'hsl(var(--muted-foreground))',
91
+ },
92
+ accent: {
93
+ DEFAULT: 'hsl(var(--accent))',
94
+ foreground: 'hsl(var(--accent-foreground))',
95
+ },
96
+ popover: {
97
+ DEFAULT: 'hsl(var(--popover))',
98
+ foreground: 'hsl(var(--popover-foreground))',
99
+ },
100
+ card: {
101
+ DEFAULT: 'hsl(var(--card))',
102
+ foreground: 'hsl(var(--card-foreground))',
103
+ },
104
+ },
105
+ borderRadius: {
106
+ xl: `calc(var(--radius) + 4px)`,
107
+ lg: `var(--radius)`,
108
+ md: `calc(var(--radius) - 2px)`,
109
+ sm: 'calc(var(--radius) - 4px)',
110
+ },
111
+ },
112
+ })
113
+ ```
114
+
115
+ ### vars.css
116
+
117
+ This step can also be omitted if you have files with the following variable names.
118
+ ```css
119
+ @layer base {
120
+ :root {
121
+ --background: 0 0% 100%;
122
+ --foreground: 222.2 47.4% 11.2%;
123
+
124
+ --muted: 240 4.8% 95.9%;
125
+ --muted-foreground: 240 3.8% 46.1%;
126
+
127
+ --popover: 0 0% 100%;
128
+ --popover-foreground: 222.2 47.4% 11.2%;
129
+
130
+ --border: 240 5.9% 90%;
131
+ --input: 220 13% 92%;
132
+
133
+ --card: 0 0% 100%;
134
+ --card-foreground: 222.2 47.4% 11.2%;
135
+
136
+ --primary: 0 0% 9.02%;
137
+ --primary-foreground: 210 40% 98%;
138
+
139
+ --secondary: 220 13.04% 95.49%;
140
+ --secondary-foreground: 222.2 47.4% 11.2%;
141
+
142
+ --accent: 210 4.8% 95.9%;
143
+ --accent-foreground: 222.2 47.4% 11.2%;
144
+
145
+ --danger: 0 100% 57.45%;
146
+ --danger-foreground: 210 40% 98%;
147
+
148
+ --ring: 215 20.2% 65.1%;
149
+
150
+ --radius: 0.5rem;
151
+ }
152
+
153
+ .dark {
154
+ --background: 224 71% 4%;
155
+ --foreground: 213 31% 91%;
156
+
157
+ --muted: 240 3.7% 15.9%;
158
+ --muted-foreground: 240 5% 64.9%;
159
+
160
+ --accent: 216 34% 17%;
161
+ --accent-foreground: 210 40% 98%;
162
+
163
+ --popover: 224 71% 4%;
164
+ --popover-foreground: 215 20.2% 65.1%;
165
+
166
+ --border: 216 34% 17%;
167
+ --input: 240 3.7% 15.9%;
168
+
169
+ --card: 224 71% 4%;
170
+ --card-foreground: 213 31% 91%;
171
+
172
+ --primary: 210 40% 98%;
173
+ --primary-foreground: 222.2 47.4% 1.2%;
174
+
175
+ --secondary: 240 3.8% 15.49%;
176
+ --secondary-foreground: 210 40% 98%;
177
+
178
+ --danger: 0 73.62% 46.08%;
179
+ --danger-foreground: 210 40% 98%;
180
+
181
+ --ring: 216 34% 17%;
182
+
183
+ --radius: 0.5rem;
184
+ }
185
+ }
186
+ ```
187
+
188
+ ```js
189
+ import 'pxd/vars.css'
190
+ ```
191
+
192
+ ### Auto import
193
+
194
+ ```js
195
+ // vite.config.js
196
+ import { defineConfig } from 'vite'
197
+ import VueComponents from 'unplugin-vue-components/vite'
198
+ import PxResolver from 'pxd/resolver'
199
+
200
+ export default defineConfig({
201
+ plugins: [
202
+ VueComponents({
203
+ resolvers: [
204
+ PxResolver({ ...options })
205
+ ]
206
+ })
207
+ ]
208
+ })
209
+ ```
210
+
211
+ #### Resolver Options
212
+ ```ts
213
+ interface ResolverOptions {
214
+ namespace: string
215
+ }
216
+ ```
217
+ You can specify automatically imported component name prefixes by passing in the namespace parameter, such as:
218
+ ```js
219
+ // vite.config.ts
220
+ {
221
+ plugins: [
222
+ VueComponents({
223
+ resolvers: [
224
+ resolver({ namespace: 'v' })
225
+ ]
226
+ })
227
+ ]
228
+ }
229
+ ```
230
+
231
+ ```html
232
+ <!-- App.vue -->
233
+ <template>
234
+ <!-- `px-button` -> `v-button` -->
235
+ <v-button>Button</v-button>
236
+ </template>
237
+ ```
238
+
239
+ ### Global import
240
+ We strongly recommend using automatic import because it can significantly reduce the package size.
241
+
242
+ ## Import Directly
243
+
244
+ ```js
245
+ import Button from 'pxd/components/button/index.js'
246
+
247
+ // All components only need to import this style file.
248
+ import 'pxd/vars.css'
249
+ ```
5
250
 
6
251
  ## Acknowledgement
7
252
  rankings are in no particular order, they are all very important to this project.
@@ -0,0 +1 @@
1
+ export { default } from './src/accordion';
@@ -0,0 +1 @@
1
+ import{defineComponent as s,openBlock as r,createBlock as i,unref as e,withCtx as t,createElementBlock as d,Fragment as f,renderList as p,createVNode as o,createTextVNode as l,toDisplayString as c}from"vue";import{AccordionRoot as u,AccordionItem as m,AccordionHeader as b,AccordionTrigger as g,AccordionContent as _}from"radix-vue";const k=s({name:"PAccordion",__name:"accordion",props:{type:{default:"single"},options:{default:()=>[]}},setup(y){return(n,x)=>(r(),i(e(u),{type:n.type,collapsible:"",class:"bg-background","default-value":"item-1"},{default:t(()=>[(r(!0),d(f,null,p(n.options,a=>(r(),i(e(m),{key:a.value,value:a.value,class:"b-b-1 b-b-solid b-input"},{default:t(()=>[o(e(b),{class:"flex m-0 cursor-pointer text-4"},{default:t(()=>[o(e(g),{class:"relative w-full text-inherit font-size-inherit font-inherit pl-2 py-3 pr-6 text-left b-0 bg-transparent cursor-pointer after:content-empty after:absolute after:transition-transform after:transition-duration-300 after:text-sm after:right-1.5 after:top-50% after:translate-y--50% after:i-ic-round-arrow-back-ios after:rotate--90deg after:data-[state=open]:rotate-90deg"},{default:t(()=>[l(c(a.label),1)]),_:2},1024)]),_:2},1024),o(e(_),{class:"overflow-hidden px-4 pb-4 animated data-[state=open]:animated-fade-in"},{default:t(()=>[l(c(a.content),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["type"]))}});export{k as default};
@@ -0,0 +1,39 @@
1
+ interface OptionItem {
2
+ label: string;
3
+ value: string;
4
+ content: string;
5
+ }
6
+ declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
7
+ type?: "single" | undefined;
8
+ options: OptionItem[];
9
+ }>, {
10
+ type: string;
11
+ options: () => never[];
12
+ }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
13
+ type?: "single" | undefined;
14
+ options: OptionItem[];
15
+ }>, {
16
+ type: string;
17
+ options: () => never[];
18
+ }>>>, {
19
+ options: OptionItem[];
20
+ type: 'single';
21
+ }, {}>;
22
+ export default _default;
23
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
24
+ type __VLS_TypePropsToRuntimeProps<T> = {
25
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
26
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
27
+ } : {
28
+ type: import('vue').PropType<T[K]>;
29
+ required: true;
30
+ };
31
+ };
32
+ type __VLS_WithDefaults<P, D> = {
33
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
34
+ default: D[K];
35
+ }> : P[K];
36
+ };
37
+ type __VLS_Prettify<T> = {
38
+ [K in keyof T]: T[K];
39
+ } & {};
@@ -0,0 +1 @@
1
+ export { default } from './src/button';
@@ -1 +1 @@
1
- import{getSize as a}from"../../composables/use-sizes.js";import{defineComponent as o,openBlock as r,createElementBlock as i,normalizeClass as d,unref as s,renderSlot as b}from"vue";const l=["type"],c=o({name:"PxButton",install(e){e.component(this.name,this)},__name:"button",props:{type:{type:String,default:"button"},size:{type:String,default:"default"},variant:{type:String,default:"default"}},setup(e){const n={default:"shadow-sm bg-primary text-primary-foreground not-disabled:hover:bg-primary/75 not-disabled:active:bg-primary/90",secondary:"shadow-sm bg-secondary text-secondary-foreground not-disabled:hover:bg-input/75 not-disabled:active:bg-input",danger:"shadow-sm bg-danger text-danger-foreground not-disabled:hover:bg-danger/75 not-disabled:active:bg-danger/90",outline:"shadow-sm !b-input text-primary bg-background not-disabled:hover:bg-secondary not-disabled:active:bg-input",ghost:"bg-transparent text-primary not-disabled:hover:bg-secondary not-disabled:active:bg-input",link:"bg-transparent text-primary underline-offset-3 not-disabled:hover:underline not-disabled:hover:bg-secondary not-disabled:active:bg-input"};return(t,g)=>(r(),i("button",{type:e.type,class:d(["pxd-button inline-flex items-center font-inherit b-1 b-solid b-transparent justify-center outlines text-sm not-disabled:cursor-pointer disabled:pointer-events-none disabled:op-50",[n[e.variant],("getSize"in t?t.getSize:s(a))(e.size)]])},[b(t.$slots,"default")],10,l))}});export{c as default};
1
+ import{defineComponent as a,openBlock as o,createElementBlock as r,normalizeClass as d,renderSlot as i}from"vue";const s=["type"],p=a({name:"PButton",__name:"button",props:{type:{type:String,default:"button"},variant:{type:String,default:"default"}},setup(e){const t={default:"shadow-sm bg-primary text-primary-foreground not-disabled:hover:bg-primary/75 not-disabled:active:bg-primary/90",secondary:"shadow-sm bg-secondary text-secondary-foreground not-disabled:hover:bg-input/75 not-disabled:active:bg-input",danger:"shadow-sm bg-danger text-danger-foreground not-disabled:hover:bg-danger/75 not-disabled:active:bg-danger/90",outline:"shadow-sm !b-input text-primary bg-background not-disabled:hover:bg-secondary not-disabled:active:bg-input",ghost:"bg-transparent text-primary not-disabled:hover:bg-secondary not-disabled:active:bg-input",link:"bg-transparent text-primary underline-offset-3 not-disabled:hover:underline not-disabled:hover:bg-secondary not-disabled:active:bg-input"};return(n,b)=>(o(),r("button",{type:e.type,class:d(["pxd-button inline-flex items-center h-8 rounded px-3 py-2 font-inherit b-1 b-solid b-transparent justify-center outlines text-sm not-disabled:cursor-pointer disabled:pointer-events-none disabled:op-50",[t[e.variant]]])},[i(n.$slots,"default")],10,s))}});export{p as default};
@@ -0,0 +1,30 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
2
+ type: {
3
+ type: globalThis.PropType<"button" | "submit" | "reset">;
4
+ default: string;
5
+ };
6
+ variant: {
7
+ type: globalThis.PropType<"default" | "link" | "outline" | "secondary" | "danger" | "ghost">;
8
+ default: string;
9
+ };
10
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
11
+ type: {
12
+ type: globalThis.PropType<"button" | "submit" | "reset">;
13
+ default: string;
14
+ };
15
+ variant: {
16
+ type: globalThis.PropType<"default" | "link" | "outline" | "secondary" | "danger" | "ghost">;
17
+ default: string;
18
+ };
19
+ }>>, {
20
+ type: "button" | "submit" | "reset";
21
+ variant: "default" | "link" | "outline" | "secondary" | "danger" | "ghost";
22
+ }, {}>, {
23
+ default?(_: {}): any;
24
+ }>;
25
+ export default _default;
26
+ type __VLS_WithTemplateSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -0,0 +1 @@
1
+ export { default } from './src/checkbox';
@@ -1 +1 @@
1
- import{defineComponent as r,useModel as i,openBlock as u,createElementBlock as h,createVNode as c,unref as l,mergeProps as p,withCtx as s,createElementVNode as n,renderSlot as m}from"vue";import{CheckboxRoot as k,CheckboxIndicator as b}from"radix-vue";const f={class:"pxd-checkbox outline-none"},x=n("i",{class:"i-ic-check bg-background"},null,-1),_={class:"pl-1.5 active:select-none"},w=r({name:"PxCheckbox",install(e){e.component(this.name,this)},__name:"checkbox",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e){const t=i(e,"modelValue");return(o,a)=>(u(),h("label",f,[c(l(k),p({checked:t.value,"onUpdate:checked":a[0]||(a[0]=d=>t.value=d),class:"w-4 h-4 p-0 b-1 b-solid b-input shadow-sm rounded outlines bg-background overflow-hidden data-[state=unchecked]:va--1.4px data-[state=checked]:b-primary data-[state=checked]:va--1px"},o.$attrs),{default:s(()=>[c(l(b),{class:"block flex items-center justify-center h-full w-full bg-primary"},{default:s(()=>[x]),_:1})]),_:1},16,["checked"]),n("span",_,[m(o.$slots,"default")])]))}});export{w as default};
1
+ import{defineComponent as r,useModel as u,openBlock as i,createElementBlock as p,createVNode as a,unref as c,mergeProps as h,withCtx as l,createElementVNode as s,renderSlot as m}from"vue";import{CheckboxRoot as k,CheckboxIndicator as b}from"radix-vue";const f={class:"pxd-checkbox outline-none"},x=s("i",{class:"i-ic-check bg-background"},null,-1),_={class:"pl-1.5 active:select-none"},w=r({name:"PCheckbox",__name:"checkbox",props:{modelValue:{type:Boolean},modelModifiers:{}},emits:["update:modelValue"],setup(d){const e=u(d,"modelValue");return(t,o)=>(i(),p("label",f,[a(c(k),h({checked:e.value,"onUpdate:checked":o[0]||(o[0]=n=>e.value=n),class:"w-4 h-4 p-0 b-1 b-solid b-input shadow-sm rounded outlines bg-background overflow-hidden data-[state=unchecked]:va--1.4px data-[state=checked]:b-primary data-[state=checked]:va--1px"},t.$attrs),{default:l(()=>[a(c(b),{class:"block flex items-center justify-center h-full w-full bg-primary"},{default:l(()=>[x]),_:1})]),_:1},16,["checked"]),s("span",_,[m(t.$slots,"default")])]))}});export{w as default};
@@ -0,0 +1,13 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
2
+ modelValue: globalThis.PropType<boolean>;
3
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
4
+ modelValue: globalThis.PropType<boolean>;
5
+ }>>, {}, {}>, {
6
+ default?(_: {}): any;
7
+ }>;
8
+ export default _default;
9
+ type __VLS_WithTemplateSlots<T, S> = T & {
10
+ new (): {
11
+ $slots: S;
12
+ };
13
+ };
@@ -0,0 +1 @@
1
+ export { default } from './src/dialog';
@@ -1 +1 @@
1
- import{defineComponent as f,mergeModels as b,useModel as h,openBlock as l,createBlock as n,unref as e,withCtx as o,renderSlot as i,createCommentVNode as g,createVNode as d,resolveDynamicComponent as D,createElementVNode as c,createTextVNode as u,toDisplayString as m}from"vue";import{DialogRoot as x,DialogTrigger as y,DialogPortal as k,DialogOverlay as C,DialogContent as v,AlertDialogContent as V,DialogTitle as z,DialogDescription as S,DialogClose as $}from"radix-vue";const w={class:"pxd-dialog--header"},B=c("i",{class:"block pointer-events-none i-ic-close"},null,-1),O=f({name:"PxDialog",install(t){t.component(this.name,this)},__name:"dialog",props:b({title:{type:String,default:""},description:{type:String,default:""},closeOnClickModal:{type:Boolean,default:!1}},{modelValue:{type:Boolean}}),emits:["update:modelValue"],setup(t){const r=h(t,"modelValue");return(a,s)=>(l(),n(e(x),{open:r.value,"onUpdate:open":s[0]||(s[0]=p=>r.value=p)},{default:o(()=>[a.$slots.trigger?(l(),n(e(y),{key:0,"as-child":""},{default:o(()=>[i(a.$slots,"trigger")]),_:3})):g("",!0),d(e(k),{to:"body"},{default:o(()=>[d(e(C),{class:"fixed inset-0 z-10 bg-background/90 animated animated-duration-150 data-[state=open]:animated-fade-in data-[state=closed]:animated-fade-out"}),(l(),n(D(t.closeOnClickModal?e(v):e(V)),{class:"pxd-dialog fixed left-0 right-0 top-50% translate-y--50% mx-auto z-11 grid gap-4 w-full box-border max-w-lg bg-background rounded-lg p-8 shadow-lg b-1 b-solid b-border origin-center animated animated-duration-150 data-[state=open]:animated-zoom-in data-[state=closed]:animated-zoom-out"},{default:o(()=>[c("div",w,[d(e(z),{class:"text-lg font-500 tracking-tight m-0"},{default:o(()=>[i(a.$slots,"title",{},()=>[u(m(t.title),1)])]),_:3}),t.description?(l(),n(e(S),{key:0,class:"text-muted-foreground m-0 text-sm leading-normal"},{default:o(()=>[i(a.$slots,"description",{},()=>[u(m(t.description),1)])]),_:3})):g("",!0),d(e($),{class:"absolute right-4 top-4 z-11 b-0 outline-none p-1 rounded text-4 bg-transparent op-50 hover:bg-secondary hover:op-100 cursor-pointer text-inherit","aria-label":"Close"},{default:o(()=>[B]),_:1})]),i(a.$slots,"default")]),_:3}))]),_:3})]),_:3},8,["open"]))}});export{O as default};
1
+ import{defineComponent as f,mergeModels as b,useModel as D,openBlock as l,createBlock as i,unref as e,withCtx as t,renderSlot as n,createCommentVNode as g,createVNode as d,resolveDynamicComponent as h,createElementVNode as c,createTextVNode as u,toDisplayString as m}from"vue";import{DialogRoot as y,DialogTrigger as x,DialogPortal as k,DialogOverlay as C,DialogContent as v,AlertDialogContent as V,DialogTitle as z,DialogDescription as M,DialogClose as S}from"radix-vue";const $={class:"pxd-dialog--header"},w=c("i",{class:"block pointer-events-none i-ic-close"},null,-1),O=f({name:"PDialog",inheritAttrs:!1,__name:"dialog",props:b({title:{type:String,default:""},description:{type:String,default:""},closeOnClickModal:{type:Boolean,default:!1}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const r=D(o,"modelValue");return(a,s)=>(l(),i(e(y),{open:r.value,"onUpdate:open":s[0]||(s[0]=p=>r.value=p)},{default:t(()=>[a.$slots.trigger?(l(),i(e(x),{key:0,"as-child":""},{default:t(()=>[n(a.$slots,"trigger")]),_:3})):g("",!0),d(e(k),{to:"body"},{default:t(()=>[d(e(C),{class:"fixed inset-0 z-10 bg-background/90 animated animated-duration-150 data-[state=open]:animated-fade-in data-[state=closed]:animated-fade-out"}),(l(),i(h(o.closeOnClickModal?e(v):e(V)),{class:"pxd-dialog fixed left-0 right-0 top-50% translate-y--50% mx-auto z-11 grid gap-4 w-full box-border max-w-lg bg-background rounded-lg p-8 shadow-lg b-1 b-solid b-border origin-center animated animated-duration-150 data-[state=open]:animated-zoom-in data-[state=closed]:animated-zoom-out"},{default:t(()=>[c("div",$,[d(e(z),{class:"text-lg font-500 tracking-tight m-0"},{default:t(()=>[n(a.$slots,"title",{},()=>[u(m(o.title),1)])]),_:3}),o.description?(l(),i(e(M),{key:0,class:"text-muted-foreground m-0 text-sm leading-normal"},{default:t(()=>[n(a.$slots,"description",{},()=>[u(m(o.description),1)])]),_:3})):g("",!0),d(e(S),{class:"absolute right-4 top-4 z-11 b-0 outline-none p-1 rounded text-4 bg-transparent op-50 hover:bg-secondary hover:op-100 cursor-pointer text-inherit","aria-label":"Close"},{default:t(()=>[w]),_:1})]),n(a.$slots,"default")]),_:3}))]),_:3})]),_:3},8,["open"]))}});export{O as default};
@@ -0,0 +1,50 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
2
+ modelValue: globalThis.PropType<boolean>;
3
+ title: {
4
+ type: StringConstructor;
5
+ default: string;
6
+ };
7
+ description: {
8
+ type: StringConstructor;
9
+ default: string;
10
+ };
11
+ /**
12
+ * Click on the modal to close the dialog.
13
+ */
14
+ closeOnClickModal: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
19
+ modelValue: globalThis.PropType<boolean>;
20
+ title: {
21
+ type: StringConstructor;
22
+ default: string;
23
+ };
24
+ description: {
25
+ type: StringConstructor;
26
+ default: string;
27
+ };
28
+ /**
29
+ * Click on the modal to close the dialog.
30
+ */
31
+ closeOnClickModal: {
32
+ type: BooleanConstructor;
33
+ default: boolean;
34
+ };
35
+ }>>, {
36
+ title: string;
37
+ description: string;
38
+ closeOnClickModal: boolean;
39
+ }, {}>, {
40
+ trigger?(_: {}): any;
41
+ title?(_: {}): any;
42
+ description?(_: {}): any;
43
+ default?(_: {}): any;
44
+ }>;
45
+ export default _default;
46
+ type __VLS_WithTemplateSlots<T, S> = T & {
47
+ new (): {
48
+ $slots: S;
49
+ };
50
+ };
@@ -0,0 +1 @@
1
+ export { default } from './src/input';
@@ -1 +1 @@
1
- import{getSize as n}from"../../composables/use-sizes.js";import{defineComponent as i,openBlock as r,createElementBlock as o,normalizeClass as l,unref as a}from"vue";const u=i({name:"PxInput",install(e){e.component(this.name,this)},__name:"input",props:{size:{type:String,default:"default"}},setup(e){return(t,s)=>(r(),o("input",{class:l(["pxd-input shadow-sm w-full box-border b-1 b-solid b-input font-inherit bg-background text-sm outlines file:border-0 file:bg-transparent file:text-sm file:font-medium text-inherit placeholder:text-gray/500 disabled:cursor-not-allowed disabled:b-transparent disabled:bg-secondary",("getSize"in t?t.getSize:a(n))(e.size)])},null,2))}});export{u as default};
1
+ import{defineComponent as e,openBlock as t,createElementBlock as n}from"vue";const o={class:"pxd-input h-8 rounded px-3 py-2 shadow-sm w-full box-border b-1 b-solid b-input font-inherit bg-background text-sm outlines file:border-0 file:bg-transparent file:text-sm file:font-medium text-inherit placeholder:text-gray/500 disabled:cursor-not-allowed disabled:b-transparent disabled:bg-secondary"},d=e({name:"PInput",__name:"input",setup(r){return(i,s)=>(t(),n("input",o))}});export{d as default};
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
@@ -0,0 +1 @@
1
+ export { default } from './src/progress';
@@ -1 +1 @@
1
- import{defineComponent as i,mergeModels as n,useModel as u,openBlock as s,createBlock as d,unref as a,normalizeClass as m,withCtx as f,createVNode as c,normalizeStyle as h}from"vue";import{ProgressRoot as g,ProgressIndicator as p}from"radix-vue";const v=i({name:"PxProgress",install(e){e.component(this.name,this)},__name:"progress",props:n({size:{type:String,default:"default"},max:{type:Number,default:100},direction:{type:String,default:"horizontal"}},{modelValue:{default:0}}),emits:["update:modelValue"],setup(e){const l=u(e,"modelValue"),o={sm:{horizontal:"w-full h-1",vertical:"w-1 h-full rotate-x-full"},default:{horizontal:"w-full h-2",vertical:"w-2 h-300px rotate-x-full"},lg:{horizontal:"w-full h-3",vertical:"w-3 h-full rotate-x-full"}};return(x,t)=>(s(),d(a(g),{modelValue:l.value,"onUpdate:modelValue":t[0]||(t[0]=r=>l.value=r),class:m(["shadow-sm h-1 overflow-hidden rounded-full bg-input",o[e.size][e.direction]])},{default:f(()=>[c(a(p),{"data-direction":e.direction,class:"w-full h-full bg-primary data-[direction=horizontal]:translate-x-$tl data-[direction=vertical]:translate-y-$tl transition-transform",style:h(`--tl: -${e.max-l.value}%`)},null,8,["data-direction","style"])]),_:1},8,["modelValue","class"]))}});export{v as default};
1
+ import{defineComponent as i,mergeModels as n,useModel as d,openBlock as u,createBlock as s,unref as a,normalizeClass as f,withCtx as m,createVNode as c,normalizeStyle as h}from"vue";import{ProgressRoot as g,ProgressIndicator as p}from"radix-vue";const v=i({name:"PProgress",__name:"progress",props:n({size:{type:String,default:"default"},max:{type:Number,default:100},direction:{type:String,default:"horizontal"}},{modelValue:{default:0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const l=d(e,"modelValue"),o={sm:{horizontal:"w-full h-1",vertical:"w-1 h-full rotate-x-full"},default:{horizontal:"w-full h-2",vertical:"w-2 h-300px rotate-x-full"},lg:{horizontal:"w-full h-3",vertical:"w-3 h-full rotate-x-full"}};return(w,t)=>(u(),s(a(g),{modelValue:l.value,"onUpdate:modelValue":t[0]||(t[0]=r=>l.value=r),class:f(["shadow-sm h-1 overflow-hidden rounded-full bg-input",o[e.size][e.direction]])},{default:m(()=>[c(a(p),{"data-direction":e.direction,class:"w-full h-full bg-primary data-[direction=horizontal]:translate-x-$tl data-[direction=vertical]:translate-y-$tl transition-transform",style:h(`--tl: -${e.max-l.value}%`)},null,8,["data-direction","style"])]),_:1},8,["modelValue","class"]))}});export{v as default};
@@ -0,0 +1,36 @@
1
+ import { Size } from '../../../types';
2
+
3
+ declare const _default: import('vue').DefineComponent<{
4
+ modelValue: globalThis.PropType<number>;
5
+ size: {
6
+ type: globalThis.PropType<Size>;
7
+ default: string;
8
+ };
9
+ max: {
10
+ type: NumberConstructor;
11
+ default: number;
12
+ };
13
+ direction: {
14
+ type: globalThis.PropType<Direction>;
15
+ default: string;
16
+ };
17
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
18
+ modelValue: globalThis.PropType<number>;
19
+ size: {
20
+ type: globalThis.PropType<Size>;
21
+ default: string;
22
+ };
23
+ max: {
24
+ type: NumberConstructor;
25
+ default: number;
26
+ };
27
+ direction: {
28
+ type: globalThis.PropType<Direction>;
29
+ default: string;
30
+ };
31
+ }>>, {
32
+ size: Size;
33
+ max: number;
34
+ direction: Direction;
35
+ }, {}>;
36
+ export default _default;
@@ -0,0 +1 @@
1
+ export { default } from './src/radio';
@@ -1 +1 @@
1
- import{defineComponent as g,mergeModels as p,useModel as k,openBlock as t,createBlock as y,unref as o,withCtx as u,createElementBlock as d,Fragment as V,renderList as x,createVNode as S,normalizeClass as z,renderSlot as i,normalizeProps as s,mergeProps as R,createTextVNode as c,toDisplayString as f,createCommentVNode as m,guardReactiveProps as w}from"vue";import{RadioGroupRoot as B,RadioGroupItem as C}from"radix-vue";const N={key:0,class:"pl-1.5 active:select-none"},E=g({name:"PxRadio",install(e){e.component(this.name,this)},__name:"radio",props:p({variant:{type:String,default:"default"},size:{type:String,default:"default"},defaultValue:{type:String,default:""},vertical:{type:Boolean,default:!1},options:{type:Array,default:()=>[]}},{modelValue:{}}),emits:["update:modelValue"],setup(e){const b={sm:"h-5 px-2 rounded-md",default:"h-6.5 px-2.5",lg:"h-8 px-4 rounded-md"},r=k(e,"modelValue"),v={default:"w-4 h-4 rounded-full p-0 before:content-empty before:block before:w-full before:h-full before:rounded-full before:pointer-events-none before:bg-transparent data-[state=checked]:b-primary data-[state=checked]:p-.75 data-[state=checked]:before:bg-primary",button:"rounded data-[state=checked]:b-primary data-[state=checked]:bg-primary data-[state=checked]:text-background disabled:op-50 disabled:bg-secondary"};return(l,n)=>(t(),y(o(B),{modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=a=>r.value=a),"aria-label":l.$attrs.name,"default-value":e.defaultValue,orientation:e.vertical?"vertical":"horizontal",class:"flex gap-2 data-[orientation=vertical]:flex-col"},{default:u(()=>[(t(!0),d(V,null,x(e.options,(a,h)=>(t(),d("label",{key:a.value+h,class:"inline-flex items-center"},[S(o(C),{class:z(["b-1 b-solid b-input outlines shadow-sm text-inherit font-inherit cursor-default bg-background leading-none",[v[e.variant],e.variant==="button"&&b[e.size]]]),value:a.value,title:a.label,disabled:a.disabled},{default:u(()=>[e.variant==="button"?i(l.$slots,"default",s(R({key:0},a)),()=>[c(f(a.label),1)]):m("",!0)]),_:2},1032,["class","value","title","disabled"]),e.variant==="default"?(t(),d("span",N,[i(l.$slots,"default",s(w(a)),()=>[c(f(a.label),1)])])):m("",!0)]))),128))]),_:3},8,["modelValue","aria-label","default-value","orientation"]))}});export{E as default};
1
+ import{defineComponent as h,mergeModels as k,useModel as y,openBlock as t,createBlock as p,unref as n,withCtx as u,createElementBlock as r,Fragment as V,renderList as x,createVNode as S,normalizeClass as w,renderSlot as i,mergeProps as s,createTextVNode as f,toDisplayString as c,createCommentVNode as m}from"vue";import{RadioGroupRoot as z,RadioGroupItem as B}from"radix-vue";const C={key:0,class:"pl-1.5 active:select-none"},M=h({name:"PRadio",__name:"radio",props:k({variant:{type:String,default:"default"},size:{type:String,default:"default"},defaultValue:{type:String,default:""},vertical:{type:Boolean,default:!1},options:{type:Array,default:()=>[]}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const b={sm:"h-5 px-2 rounded-md",default:"h-6.5 px-2.5",lg:"h-8 px-4 rounded-md"},d=y(a,"modelValue"),v={default:"w-4 h-4 rounded-full p-0 before:content-empty before:block before:w-full before:h-full before:rounded-full before:pointer-events-none before:bg-transparent data-[state=checked]:b-primary data-[state=checked]:p-.75 data-[state=checked]:before:bg-primary",button:"rounded data-[state=checked]:b-primary data-[state=checked]:bg-primary data-[state=checked]:text-background disabled:op-50 disabled:bg-secondary"};return(l,o)=>(t(),p(n(z),{modelValue:d.value,"onUpdate:modelValue":o[0]||(o[0]=e=>d.value=e),"aria-label":l.$attrs.name,"default-value":a.defaultValue,orientation:a.vertical?"vertical":"horizontal",class:"flex gap-2 data-[orientation=vertical]:flex-col"},{default:u(()=>[(t(!0),r(V,null,x(a.options,(e,g)=>(t(),r("label",{key:e.value+g,class:"inline-flex items-center"},[S(n(B),{class:w(["b-1 b-solid b-input outlines shadow-sm text-inherit font-inherit cursor-default bg-background leading-none",[v[a.variant],a.variant==="button"&&b[a.size]]]),value:e.value,title:e.label,disabled:e.disabled},{default:u(()=>[a.variant==="button"?i(l.$slots,"default",s({key:0,ref_for:!0},e),()=>[f(c(e.label),1)]):m("",!0)]),_:2},1032,["class","value","title","disabled"]),a.variant==="default"?(t(),r("span",C,[i(l.$slots,"default",s({ref_for:!0},e),()=>[f(c(e.label),1)])])):m("",!0)]))),128))]),_:3},8,["modelValue","aria-label","default-value","orientation"]))}});export{M as default};
@@ -0,0 +1,65 @@
1
+ import { PropType } from 'vue';
2
+
3
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
4
+ modelValue: PropType<string>;
5
+ variant: {
6
+ type: PropType<"default" | "button">;
7
+ default: string;
8
+ };
9
+ size: {
10
+ type: PropType<"default" | "lg" | "sm">;
11
+ default: string;
12
+ };
13
+ defaultValue: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ vertical: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ options: {
22
+ type: PropType<OptionItem[]>;
23
+ default: () => never[];
24
+ };
25
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
26
+ modelValue: PropType<string>;
27
+ variant: {
28
+ type: PropType<"default" | "button">;
29
+ default: string;
30
+ };
31
+ size: {
32
+ type: PropType<"default" | "lg" | "sm">;
33
+ default: string;
34
+ };
35
+ defaultValue: {
36
+ type: StringConstructor;
37
+ default: string;
38
+ };
39
+ vertical: {
40
+ type: BooleanConstructor;
41
+ default: boolean;
42
+ };
43
+ options: {
44
+ type: PropType<OptionItem[]>;
45
+ default: () => never[];
46
+ };
47
+ }>>, {
48
+ options: OptionItem[];
49
+ size: "default" | "lg" | "sm";
50
+ vertical: boolean;
51
+ defaultValue: string;
52
+ variant: "default" | "button";
53
+ }, {}>, {
54
+ default?(_: {
55
+ label: string;
56
+ value: string;
57
+ disabled?: boolean | undefined;
58
+ }): any;
59
+ }>;
60
+ export default _default;
61
+ type __VLS_WithTemplateSlots<T, S> = T & {
62
+ new (): {
63
+ $slots: S;
64
+ };
65
+ };
@@ -0,0 +1 @@
1
+ export { default } from './src/scrollbar';
@@ -1 +1 @@
1
- import{defineComponent as f,openBlock as i,createBlock as s,unref as e,withCtx as o,createVNode as r,renderSlot as c}from"vue";import{ScrollAreaRoot as u,ScrollAreaViewport as b,ScrollAreaScrollbar as t,ScrollAreaThumb as a}from"radix-vue";const h=f({name:"PxScrollbar",install(l){l.component(this.name,this)},__name:"scrollbar",setup(l){return(n,d)=>(i(),s(e(u),{class:"overflow-hidden pr-3 pb-3"},{default:o(()=>[r(e(b),{class:"w-full h-full"},{default:o(()=>[c(n.$slots,"default")]),_:3}),r(e(t),{class:"h-3 w-full p-.5 box-border select-none touch-none animated data-[state=visible]:animated-fade-in",orientation:"horizontal"},{default:o(()=>[r(e(a),{class:"relative !h-full bg-primary/25 hover:bg-primary/50 rounded-3 cursor-default before:content-empty before:absolute before:bottom-0 before:left-0 before:w-full before:h-full"})]),_:1}),r(e(t),{class:"w-3 h-full p-.5 box-border select-none touch-none animated data-[state=visible]:animated-fade-in",orientation:"vertical"},{default:o(()=>[r(e(a),{class:"relative h-full bg-primary/25 hover:bg-primary/50 rounded-3 cursor-default before:content-empty before:absolute before:top-0 before:right-0 before:w-full before:h-full"})]),_:1})]),_:3}))}});export{h as default};
1
+ import{defineComponent as f,openBlock as n,createBlock as u,unref as e,withCtx as o,createVNode as r,renderSlot as b}from"vue";import{ScrollAreaRoot as c,ScrollAreaViewport as i,ScrollAreaScrollbar as l,ScrollAreaThumb as t}from"radix-vue";const h=f({name:"PScrollbar",__name:"scrollbar",setup(s){return(a,d)=>(n(),u(e(c),{class:"overflow-hidden pr-3 pb-3"},{default:o(()=>[r(e(i),{class:"w-full h-full"},{default:o(()=>[b(a.$slots,"default")]),_:3}),r(e(l),{class:"h-3 w-full p-.5 box-border select-none touch-none animated data-[state=visible]:animated-fade-in",orientation:"horizontal"},{default:o(()=>[r(e(t),{class:"relative !h-full bg-primary/25 hover:bg-primary/50 rounded-3 cursor-default before:content-empty before:absolute before:bottom-0 before:left-0 before:w-full before:h-full"})]),_:1}),r(e(l),{class:"w-3 h-full p-.5 box-border select-none touch-none animated data-[state=visible]:animated-fade-in",orientation:"vertical"},{default:o(()=>[r(e(t),{class:"relative h-full bg-primary/25 hover:bg-primary/50 rounded-3 cursor-default before:content-empty before:absolute before:top-0 before:right-0 before:w-full before:h-full"})]),_:1})]),_:3}))}});export{h as default};
@@ -0,0 +1,9 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{}>>, {}, {}>, {
2
+ default?(_: {}): any;
3
+ }>;
4
+ export default _default;
5
+ type __VLS_WithTemplateSlots<T, S> = T & {
6
+ new (): {
7
+ $slots: S;
8
+ };
9
+ };
@@ -0,0 +1 @@
1
+ export { default } from './src/select';
@@ -1 +1 @@
1
- import{getSize as f}from"../../composables/use-sizes.js";import{defineComponent as p,mergeModels as b,useModel as g,openBlock as s,createBlock as c,unref as e,withCtx as t,createVNode as l,normalizeClass as h,createElementBlock as u,Fragment as x,renderList as S,createTextVNode as y,toDisplayString as v,createElementVNode as d}from"vue";import{SelectRoot as w,SelectTrigger as z,SelectValue as k,SelectPortal as V,SelectContent as _,SelectScrollUpButton as B,SelectViewport as C,SelectItem as N,SelectItemIndicator as I,SelectScrollDownButton as D}from"radix-vue";const E=d("i",{class:"i-ic-round-arrow-back-ios rotate-90deg"},null,-1),M=d("i",{class:"i-ic-check absolute left-2"},null,-1),P={key:1,class:"text-center cursor-default pointer-events-none select-none py-1.5 px-2 truncate text-sm op-50"},T=d("i",{class:"i-ic-round-arrow-back-ios rotate--90deg"},null,-1),L=p({name:"PxSelect",install(a){a.component(this.name,this)},__name:"select",props:b({size:{type:String,default:"default"},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""}},{modelValue:{}}),emits:["update:modelValue"],setup(a){const n=g(a,"modelValue");return(r,i)=>(s(),c(e(w),{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=o=>n.value=o)},{default:t(()=>[l(e(z),{class:h(["pxd-select shadow-sm inline-flex w-full text-inherit font-inherit items-center b-1 b-solid b-input outlines bg-background text-sm data-[disabled]:cursor-not-allowed data-[disabled]:bg-secondary data-[disabled]:b-transparent",("getSize"in r?r.getSize:e(f))(a.size)]),"aria-label":"Customize options"},{default:t(()=>[l(e(k),{"data-tips":a.placeholder,class:"w-full text-left empty:before:content-[attr(data-tips)] empty:before:text-gray/500"},null,8,["data-tips"])]),_:1},8,["class"]),l(e(V),{to:"body"},{default:t(()=>[l(e(_),{class:"relative z-10 min-w-40 w-full overflow-hidden rounded-md b-1 b-solid b-input bg-popover text-popover-foreground shadow-md animated animated-duration-150 data-[state=open]:animated-zoom-in data-[side=bottom]:origin-top data-[side=left]:origin-left-center data-[side=right]:origin-right-center data-[side=top]:origin-bottom","side-offset":5,position:"popper"},{default:t(()=>[l(e(B),{class:"flex-center h-5 z-11 absolute top-0 cursor-n-resize w-full bg-background cursor-default hover:bg-secondary"},{default:t(()=>[E]),_:1}),l(e(C),{class:"py-1 max-h-50"},{default:t(()=>[a.options.length?(s(!0),u(x,{key:0},S(a.options,(o,m)=>(s(),c(e(N),{key:o.value+m,class:"relative flex items-center cursor-default select-none rounded-sm py-1.5 pl-7 pr-2 mx-1 truncate text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:op-50",disabled:o.disabled,title:o.label,value:o.value},{default:t(()=>[l(e(I),{"as-child":""},{default:t(()=>[M]),_:1}),y(" "+v(o.value),1)]),_:2},1032,["disabled","title","value"]))),128)):(s(),u("div",P,"Not has options"))]),_:1}),l(e(D),{class:"flex-center h-5 z-11 absolute bottom-0 cursor-s-resize w-full bg-background cursor-default hover:bg-secondary"},{default:t(()=>[T]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]))}});export{L as default};
1
+ import{defineComponent as f,mergeModels as p,useModel as m,openBlock as d,createBlock as i,unref as e,withCtx as t,createVNode as l,createElementBlock as c,Fragment as b,renderList as g,createTextVNode as h,toDisplayString as x,createElementVNode as r}from"vue";import{SelectRoot as y,SelectTrigger as v,SelectValue as S,SelectPortal as _,SelectContent as w,SelectScrollUpButton as k,SelectViewport as V,SelectItem as z,SelectItemIndicator as B,SelectItemText as C,SelectScrollDownButton as I}from"radix-vue";const N=r("i",{class:"i-ic-round-arrow-back-ios rotate-90deg"},null,-1),M=r("i",{class:"i-ic-check absolute left-2"},null,-1),T={key:1,class:"text-center cursor-default pointer-events-none select-none py-1.5 px-2 truncate text-sm op-50"},D=r("i",{class:"i-ic-round-arrow-back-ios rotate--90deg"},null,-1),A=f({name:"PSelect",__name:"select",props:p({options:{type:Array,default:()=>[]},placeholder:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const n=m(o,"modelValue");return(E,s)=>(d(),i(e(y),{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=a=>n.value=a)},{default:t(()=>[l(e(v),{class:"pxd-select shadow-sm h-8 rounded px-3 py-2 inline-flex w-full text-inherit font-inherit items-center b-1 b-solid b-input outlines bg-background text-sm data-[disabled]:cursor-not-allowed data-[disabled]:bg-secondary data-[disabled]:b-transparent","aria-label":"Customize options"},{default:t(()=>[l(e(S),{"data-tips":o.placeholder,class:"w-full text-left empty:before:content-[attr(data-tips)] empty:before:text-gray/500"},null,8,["data-tips"])]),_:1}),l(e(_),{to:"body"},{default:t(()=>[l(e(w),{class:"relative z-10 min-w-40 w-full overflow-hidden rounded-md b-1 b-solid b-input bg-popover text-popover-foreground shadow-md animated animated-duration-150 data-[state=open]:animated-zoom-in data-[side=bottom]:origin-top data-[side=left]:origin-left-center data-[side=right]:origin-right-center data-[side=top]:origin-bottom","side-offset":5,position:"popper"},{default:t(()=>[l(e(k),{class:"flex-center h-5 z-11 absolute top-0 cursor-n-resize w-full bg-background cursor-default hover:bg-secondary"},{default:t(()=>[N]),_:1}),l(e(V),{class:"py-1 max-h-50 p-1 bg-background"},{default:t(()=>[o.options.length?(d(!0),c(b,{key:0},g(o.options,(a,u)=>(d(),i(e(z),{key:a.value+u,class:"relative flex items-center cursor-default select-none rounded-sm py-1.5 pl-7 pr-2 truncate text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:op-50 data-[highlighted]:outline-none data-[highlighted]:bg-green9 data-[highlighted]:text-green1",disabled:a.disabled,title:a.label,value:a.value},{default:t(()=>[l(e(B),{"as-child":""},{default:t(()=>[M]),_:1}),l(e(C),null,{default:t(()=>[h(x(a.value),1)]),_:2},1024)]),_:2},1032,["disabled","title","value"]))),128)):(d(),c("div",T," Not has options "))]),_:1}),l(e(I),{class:"flex-center h-5 z-11 absolute bottom-0 cursor-s-resize w-full bg-background cursor-default hover:bg-secondary"},{default:t(()=>[D]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]))}});export{A as default};
@@ -0,0 +1,25 @@
1
+ declare const _default: import('vue').DefineComponent<{
2
+ modelValue: globalThis.PropType<string>;
3
+ options: {
4
+ type: globalThis.PropType<OptionItem[]>;
5
+ default: () => never[];
6
+ };
7
+ placeholder: {
8
+ type: StringConstructor;
9
+ default: string;
10
+ };
11
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
12
+ modelValue: globalThis.PropType<string>;
13
+ options: {
14
+ type: globalThis.PropType<OptionItem[]>;
15
+ default: () => never[];
16
+ };
17
+ placeholder: {
18
+ type: StringConstructor;
19
+ default: string;
20
+ };
21
+ }>>, {
22
+ options: OptionItem[];
23
+ placeholder: string;
24
+ }, {}>;
25
+ export default _default;
@@ -0,0 +1 @@
1
+ export { default } from './src/space';
@@ -0,0 +1,32 @@
1
+ import { Size } from '../../../types';
2
+
3
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
4
+ gap: {
5
+ type: globalThis.PropType<Size>;
6
+ default: string;
7
+ };
8
+ direction: {
9
+ type: globalThis.PropType<"vertical" | "horizontal">;
10
+ default: string;
11
+ };
12
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
13
+ gap: {
14
+ type: globalThis.PropType<Size>;
15
+ default: string;
16
+ };
17
+ direction: {
18
+ type: globalThis.PropType<"vertical" | "horizontal">;
19
+ default: string;
20
+ };
21
+ }>>, {
22
+ direction: "vertical" | "horizontal";
23
+ gap: Size;
24
+ }, {}>, {
25
+ default?(_: {}): any;
26
+ }>;
27
+ export default _default;
28
+ type __VLS_WithTemplateSlots<T, S> = T & {
29
+ new (): {
30
+ $slots: S;
31
+ };
32
+ };
@@ -0,0 +1 @@
1
+ export { default } from './src/switch';
@@ -1 +1 @@
1
- import{defineComponent as o,mergeModels as c,useModel as i,openBlock as r,createBlock as u,unref as s,normalizeClass as n,withCtx as h,createVNode as m}from"vue";import{SwitchRoot as p,SwitchThumb as f}from"radix-vue";const b=o({name:"PxSwitch",install(e){e.component(this.name,this)},__name:"switch",props:c({size:{type:String,default:"default"},disabled:{type:Boolean,default:!1}},{modelValue:{type:Boolean}}),emits:["update:modelValue"],setup(e){const t={sm:{track:"w-36px h-20px",inner:"w-4 h-4"},default:{track:"w-44px h-24px",inner:"w-5 h-5"},lg:{track:"w-52px h-28px",inner:"w-6 h-6"}},a=i(e,"modelValue");return(w,l)=>(r(),u(s(p),{checked:a.value,"onUpdate:checked":l[0]||(l[0]=d=>a.value=d),disabled:e.disabled,class:n(["pxd-switch shadow-sm b-0 p-2px rounded-full transition outlines bg-input cursor-default data-[state=checked]:bg-primary disabled:op-50 disabled:cursor-not-allowed",t[e.size].track])},{default:h(()=>[m(s(f),{class:n(["pxd-switch--inner block bg-background shadow-sm rounded-full transition-transform hover:will-change-transform data-[state=checked]:translate-x-full",t[e.size].inner])},null,8,["class"])]),_:1},8,["checked","disabled","class"]))}});export{b as default};
1
+ import{defineComponent as n,mergeModels as r,useModel as c,openBlock as i,createBlock as u,unref as d,normalizeClass as s,withCtx as h,createVNode as m}from"vue";import{SwitchRoot as p,SwitchThumb as f}from"radix-vue";const x=n({name:"PSwitch",__name:"switch",props:r({size:{type:String,default:"default"},disabled:{type:Boolean,default:!1}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t={sm:{track:"w-36px h-20px",inner:"w-4 h-4"},default:{track:"w-44px h-24px",inner:"w-5 h-5"},lg:{track:"w-52px h-28px",inner:"w-6 h-6"}},a=c(e,"modelValue");return(w,l)=>(i(),u(d(p),{checked:a.value,"onUpdate:checked":l[0]||(l[0]=o=>a.value=o),disabled:e.disabled,class:s(["pxd-switch shadow-sm b-0 p-2px rounded-full transition outlines bg-input cursor-default data-[state=checked]:bg-primary disabled:op-50 disabled:cursor-not-allowed",t[e.size].track])},{default:h(()=>[m(d(f),{class:s(["pxd-switch--inner block bg-background shadow-sm rounded-full transition-transform hover:will-change-transform data-[state=checked]:translate-x-full",t[e.size].inner])},null,8,["class"])]),_:1},8,["checked","disabled","class"]))}});export{x as default};
@@ -0,0 +1,25 @@
1
+ declare const _default: import('vue').DefineComponent<{
2
+ modelValue: globalThis.PropType<boolean>;
3
+ size: {
4
+ type: globalThis.PropType<"default" | "lg" | "sm">;
5
+ default: string;
6
+ };
7
+ disabled: {
8
+ type: BooleanConstructor;
9
+ default: boolean;
10
+ };
11
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
12
+ modelValue: globalThis.PropType<boolean>;
13
+ size: {
14
+ type: globalThis.PropType<"default" | "lg" | "sm">;
15
+ default: string;
16
+ };
17
+ disabled: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ }>>, {
22
+ size: "default" | "lg" | "sm";
23
+ disabled: boolean;
24
+ }, {}>;
25
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { InjectionKey, Ref } from 'vue';
2
+
3
+ export interface TriggerItem {
4
+ label: string;
5
+ value: string;
6
+ }
7
+ export type Triggers = Record<string, string>;
8
+ export declare const TriggerSymbol: InjectionKey<Ref<Triggers>>;
9
+ export { default } from './src/tabs';
@@ -1 +1 @@
1
- import{defineComponent as g,mergeModels as f,ref as b,useModel as p,provide as x,openBlock as a,createBlock as s,unref as r,withCtx as l,createVNode as y,normalizeClass as i,createElementBlock as k,Fragment as S,renderList as V,createTextVNode as v,toDisplayString as T,renderSlot as h}from"vue";import{TabsRoot as z,TabsList as w,TabsTrigger as B}from"radix-vue";const M=g({__name:"tabs",props:f({size:{type:String,default:"default"},label:{type:String,default:""}},{modelValue:{}}),emits:["update:modelValue"],setup(e){const o=b({}),n=p(e,"modelValue"),d={sm:{track:"p-1 rounded-md",inner:"px-2 py-1 rounded-sm"},default:{track:"p-1 rounded-md",inner:"px-4 py-1.5 rounded-sm text-sm"},lg:{track:"p-1.5 rounded-lg",inner:"px-5 py-2.5 rounded-md text-4"}};return x(C,o),(m,u)=>(a(),s(r(z),{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=t=>n.value=t),"activation-mode":"manual"},{default:l(()=>[y(r(w),{"aria-label":e.label,class:i(["box-border flex w-full group items-center justify-center bg-muted text-muted-foreground",d[e.size].track])},{default:l(()=>[(a(!0),k(S,null,V(r(o),(t,c)=>(a(),s(r(B),{key:t,value:t,class:i(["b-0 flex-1 py-0 box-border bg-transparent outlines h-full text-foreground font-inherit group-hover:transition-background-color data-[active=true]:bg-background data-[active=true]:shadow-sm",d[e.size].inner])},{default:l(()=>[v(T(c),1)]),_:2},1032,["value","class"]))),128))]),_:1},8,["aria-label","class"]),h(m.$slots,"default")]),_:3},8,["modelValue"]))}}),C=Symbol("TriggerSymbol");export{C as TriggerSymbol,M as default};
1
+ import{defineComponent as f,mergeModels as g,ref as b,useModel as p,provide as x,openBlock as a,createBlock as s,unref as r,withCtx as o,createVNode as y,normalizeClass as i,createElementBlock as k,Fragment as S,renderList as V,createTextVNode as v,toDisplayString as T,renderSlot as h}from"vue";import{TabsRoot as z,TabsList as w,TabsTrigger as B}from"radix-vue";const L=f({__name:"tabs",props:g({size:{type:String,default:"default"},label:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const l=b({}),d=p(e,"modelValue"),n={sm:{track:"p-1 rounded-md",inner:"px-2 py-1 rounded-sm"},default:{track:"p-1 rounded-md",inner:"px-4 py-1.5 rounded-sm text-sm"},lg:{track:"p-1.5 rounded-lg",inner:"px-5 py-2.5 rounded-md text-4"}};return x(C,l),(m,u)=>(a(),s(r(z),{modelValue:d.value,"onUpdate:modelValue":u[0]||(u[0]=t=>d.value=t),"activation-mode":"manual"},{default:o(()=>[y(r(w),{"aria-label":e.label,class:i(["box-border flex w-full group items-center justify-center bg-muted text-muted-foreground",n[e.size].track])},{default:o(()=>[(a(!0),k(S,null,V(r(l),(t,c)=>(a(),s(r(B),{key:t,value:t,class:i(["b-0 flex-1 py-0 box-border bg-transparent outlines h-full text-foreground font-inherit group-hover:transition-background-color data-[active=true]:bg-background data-[active=true]:shadow-sm",n[e.size].inner])},{default:o(()=>[v(T(c),1)]),_:2},1032,["value","class"]))),128))]),_:1},8,["aria-label","class"]),h(m.$slots,"default")]),_:3},8,["modelValue"]))}}),C=Symbol("TriggerSymbol");export{C as TriggerSymbol,L as default};
@@ -0,0 +1,34 @@
1
+ import { Size } from '../../../types';
2
+
3
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
4
+ modelValue: globalThis.PropType<string>;
5
+ size: {
6
+ type: globalThis.PropType<Size>;
7
+ default: string;
8
+ };
9
+ label: {
10
+ type: StringConstructor;
11
+ default: string;
12
+ };
13
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
14
+ modelValue: globalThis.PropType<string>;
15
+ size: {
16
+ type: globalThis.PropType<Size>;
17
+ default: string;
18
+ };
19
+ label: {
20
+ type: StringConstructor;
21
+ default: string;
22
+ };
23
+ }>>, {
24
+ label: string;
25
+ size: Size;
26
+ }, {}>, {
27
+ default?(_: {}): any;
28
+ }>;
29
+ export default _default;
30
+ type __VLS_WithTemplateSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1 @@
1
+ export { default } from './src/tabs-item';
@@ -0,0 +1,27 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
2
+ label: {
3
+ type: StringConstructor;
4
+ required: true;
5
+ };
6
+ value: {
7
+ type: StringConstructor;
8
+ required: true;
9
+ };
10
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
11
+ label: {
12
+ type: StringConstructor;
13
+ required: true;
14
+ };
15
+ value: {
16
+ type: StringConstructor;
17
+ required: true;
18
+ };
19
+ }>>, {}, {}>, {
20
+ default?(_: {}): any;
21
+ }>;
22
+ export default _default;
23
+ type __VLS_WithTemplateSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };
@@ -0,0 +1 @@
1
+ export { default } from './src/textarea';
@@ -1 +1 @@
1
- import{getSize as n}from"../../composables/use-sizes.js";import{defineComponent as i,mergeModels as r,useModel as d,withDirectives as s,openBlock as u,createElementBlock as m,normalizeClass as p,unref as b,vModelText as f}from"vue";const g=i({name:"PxTextarea",install(e){e.component(this.name,this)},__name:"textarea",props:r({size:{type:String,default:"default"}},{modelValue:{}}),emits:["update:modelValue"],setup(e){const t=d(e,"modelValue");return(l,a)=>s((u(),m("textarea",{"onUpdate:modelValue":a[0]||(a[0]=o=>t.value=o),class:p(["flex min-h-20 w-full shadow-sm box-border bg-background rounded-md b-1 b-solid b-input py-2 text-sm text-inherit font-inherit placeholder:text-gray/500 outlines disabled:cursor-not-allowed disabled:b-transparent disabled:bg-secondary",("getSize"in l?l.getSize:b(n))(e.size)])},null,2)),[[f,t.value]])}});export{g as default};
1
+ import{defineComponent as a,useModel as d,withDirectives as n,openBlock as r,createElementBlock as s,vModelText as i}from"vue";const p=a({name:"PTextarea",__name:"textarea",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(o){const e=d(o,"modelValue");return(u,t)=>n((r(),s("textarea",{"onUpdate:modelValue":t[0]||(t[0]=l=>e.value=l),class:"flex min-h-20 w-full h-8 rounded px-3 py-2 shadow-sm box-border bg-background rounded-md b-1 b-solid b-input py-2 text-sm text-inherit font-inherit placeholder:text-gray/500 outlines disabled:cursor-not-allowed disabled:b-transparent disabled:bg-secondary"},null,512)),[[i,e.value]])}});export{p as default};
@@ -0,0 +1,6 @@
1
+ declare const _default: import('vue').DefineComponent<{
2
+ modelValue: globalThis.PropType<string>;
3
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
4
+ modelValue: globalThis.PropType<string>;
5
+ }>>, {}, {}>;
6
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { ComponentResolver } from 'unplugin-vue-components';
2
+
3
+ interface ResolverOptions {
4
+ /**
5
+ * Replaces the component prefix used for automatic import.
6
+ * @default 'P'
7
+ */
8
+ namespace: string;
9
+ }
10
+ declare const _default: ({ namespace }?: ResolverOptions) => ComponentResolver;
11
+ export default _default;
@@ -1 +1 @@
1
- const t="pxd",o=()=>({type:"component",resolve:e=>{if(!e.match(/^Px[A-Z]/))return;const r=e.replace(/^Px/,"").replace(/([A-Z])/g,"-$1").toLowerCase().slice(1);return{importName:e,from:`${t}/${r}/index.js`,sideEffects:[]}}});export{o as default};
1
+ const o="pxd",n=o[0].toUpperCase(),p=o,c=({namespace:t=n}={})=>({type:"component",resolve:e=>{const r=new RegExp(`^${t}[A-Z]`);if(!e.match(r))return;const s=e.replace(new RegExp(t,"i"),"").replace(/([A-Z])/g,"-$1").toLowerCase().slice(1);return{importName:e,from:`${p}/components/${s}/index`,sideEffects:[]}}});export{c as default};
package/dist/vars.css ADDED
@@ -0,0 +1 @@
1
+ @layer base{:root{--background:0 0% 100%;--foreground:222.2 47.4% 11.2%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--popover:0 0% 100%;--popover-foreground:222.2 47.4% 11.2%;--border:240 5.9% 90%;--input:220 13% 92%;--card:0 0% 100%;--card-foreground:222.2 47.4% 11.2%;--primary:0 0% 9.02%;--primary-foreground:210 40% 98%;--secondary:220 13.04% 95.49%;--secondary-foreground:222.2 47.4% 11.2%;--accent:210 4.8% 95.9%;--accent-foreground:222.2 47.4% 11.2%;--danger:0 100% 57.45%;--danger-foreground:210 40% 98%;--ring:215 20.2% 65.1%;--radius:.5rem}.dark{--background:224 71% 4%;--foreground:213 31% 91%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:216 34% 17%;--accent-foreground:210 40% 98%;--popover:224 71% 4%;--popover-foreground:215 20.2% 65.1%;--border:216 34% 17%;--input:240 3.7% 15.9%;--card:224 71% 4%;--card-foreground:213 31% 91%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 1.2%;--secondary:240 3.8% 15.49%;--secondary-foreground:210 40% 98%;--danger:0 73.62% 46.08%;--danger-foreground:210 40% 98%;--ring:216 34% 17%;--radius:.5rem}.outlines:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;z-index:9}}
package/package.json CHANGED
@@ -1,22 +1,17 @@
1
1
  {
2
2
  "name": "pxd",
3
- "version": "0.0.2",
4
- "description": "A library of Vue3 components based on radix-vue and unocss.",
5
3
  "type": "module",
6
- "main": "./dist/index.js",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "style": "dist/styles.css",
10
- "sideEffects": false,
11
- "files": [
12
- "dist/*",
13
- "public/*"
14
- ],
15
- "exports": {
16
- ".": "./dist/index.js",
17
- "./styles.css": "./dist/styles.css",
18
- "./resolver": "./dist/plugins/resolver.js",
19
- "./*": "./dist/*"
4
+ "version": "0.0.3",
5
+ "description": "A library of Vue3 components based on radix-vue and unocss.",
6
+ "author": "libondev <bon.li@outlook.com>",
7
+ "license": "MIT",
8
+ "homepage": "https://github.com/libondev/pxd#readme",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/libondev/pxd.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/libondev/pxd/issues"
20
15
  },
21
16
  "keywords": [
22
17
  "ui",
@@ -25,55 +20,56 @@
25
20
  "ui framework",
26
21
  "component library"
27
22
  ],
23
+ "sideEffects": false,
24
+ "exports": {
25
+ ".": "./dist/index.js",
26
+ "./vars.css": "./dist/vars.css",
27
+ "./resolver": "./dist/plugins/resolver.js",
28
+ "./*": "./dist/*"
29
+ },
30
+ "main": "./dist/index.js",
31
+ "module": "./dist/index.js",
32
+ "types": "./dist/index.d.ts",
33
+ "style": "dist/vars.css",
34
+ "files": [
35
+ "dist/*",
36
+ "res/*"
37
+ ],
28
38
  "publishConfig": {
29
39
  "access": "public"
30
40
  },
31
- "license": "MIT",
32
- "author": "libondev <bon.li@outlook.com>",
33
- "homepage": "https://github.com/libondev/pxd#readme",
34
- "repository": {
35
- "type": "git",
36
- "url": "git+https://github.com/libondev/pxd.git"
37
- },
38
- "bugs": {
39
- "url": "https://github.com/libondev/pxd/issues"
40
- },
41
41
  "scripts": {
42
- "build": "npm run build:components",
43
- "cleanEmpty": "esno ./scripts/clean.ts",
44
- "dev": "vite",
45
- "build:components": "vite build",
46
- "type-check": "vue-tsc --noEmit --composite false",
47
- "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
42
+ "dev": "vite --config vite.config.dev.ts",
43
+ "build": "vite build",
44
+ "lint": "eslint .",
45
+ "lint:fix": "eslint . --fix",
46
+ "type-check": "vue-tsc --noEmit --composite false"
48
47
  },
49
48
  "peerDependencies": {
50
- "vue": "^3.2.0"
49
+ "vue": "^3.4.0"
51
50
  },
52
51
  "dependencies": {
53
- "radix-vue": "^0.1.30"
52
+ "radix-vue": "^1.8.0"
54
53
  },
55
54
  "devDependencies": {
56
- "@iconify-json/ic": "^1.1.14",
57
- "@types/node": "^18.17.12",
58
- "@unocss/transformer-directives": "^0.55.3",
59
- "@unocss/transformer-variant-group": "^0.55.3",
60
- "@vitejs/plugin-vue": "^4.3.4",
61
- "@vitejs/plugin-vue-jsx": "^3.0.2",
55
+ "@antfu/eslint-config": "^2.18.1",
56
+ "@iconify-json/ic": "^1.1.17",
57
+ "@types/node": "^20.12.12",
58
+ "@unocss/transformer-variant-group": "^0.60.3",
59
+ "@vitejs/plugin-vue": "^5.0.4",
60
+ "@vitejs/plugin-vue-jsx": "^3.1.0",
62
61
  "animated-unocss": "^0.0.6",
63
- "eslint": "^8.48.0",
64
- "eslint-plugin-simple-import-sort": "^10.0.0",
65
- "eslint-plugin-sort-destructure-keys": "^1.5.0",
66
- "esno": "^0.17.0",
67
- "fast-glob": "^3.3.1",
68
- "lightningcss": "^1.21.5",
69
- "npm-run-all": "^4.1.5",
70
- "radix-vue": "^0.1.29",
71
- "typescript": "~5.2.2",
72
- "unocss": "^0.55.3",
73
- "unplugin-auto-import": "^0.16.6",
74
- "unplugin-vue-components": "^0.25.2",
75
- "vite": "^4.4.9",
76
- "vue": "^3.3.4",
77
- "vue-tsc": "^1.8.8"
62
+ "eslint": "^9.3.0",
63
+ "fast-glob": "^3.3.2",
64
+ "lightningcss": "^1.25.0",
65
+ "radix-vue": "^1.8.0",
66
+ "typescript": "~5.4.5",
67
+ "unocss": "^0.60.3",
68
+ "unplugin-auto-import": "^0.17.6",
69
+ "unplugin-vue-components": "^0.27.0",
70
+ "vite": "^5.2.11",
71
+ "vite-plugin-dts": "^3.9.1",
72
+ "vue": "^3.4.27",
73
+ "vue-tsc": "^2.0.19"
78
74
  }
79
75
  }
@@ -1 +0,0 @@
1
- const d={sm:"h-7 rounded-md px-2",default:"h-8 rounded px-3 py-2",lg:"h-9 rounded-md px-4"},o=e=>d[e]||d.default;export{o as getSize};
package/dist/styles.css DELETED
@@ -1 +0,0 @@
1
- *,:before,:after{--rotate:0;--rotate-x:0;--rotate-y:0;--rotate-z:0;--scale-x:1;--scale-y:1;--scale-z:1;--skew-x:0;--skew-y:0;--translate-x:0;--translate-y:0;--translate-z:0;--ring-offset-shadow:0 0 #0000;--ring-shadow:0 0 #0000;--shadow-inset: ;--shadow:0 0 #0000;--ring-inset: ;--ring-offset-width:0px;--ring-offset-color:#fff;--ring-width:0px;--ring-color:#93c5fd80}::-webkit-backdrop{--rotate:0;--rotate-x:0;--rotate-y:0;--rotate-z:0;--scale-x:1;--scale-y:1;--scale-z:1;--skew-x:0;--skew-y:0;--translate-x:0;--translate-y:0;--translate-z:0;--ring-offset-shadow:0 0 #0000;--ring-shadow:0 0 #0000;--shadow-inset: ;--shadow:0 0 #0000;--ring-inset: ;--ring-offset-width:0px;--ring-offset-color:#fff;--ring-width:0px;--ring-color:#93c5fd80}::backdrop{--rotate:0;--rotate-x:0;--rotate-y:0;--rotate-z:0;--scale-x:1;--scale-y:1;--scale-z:1;--skew-x:0;--skew-y:0;--translate-x:0;--translate-y:0;--translate-z:0;--ring-offset-shadow:0 0 #0000;--ring-shadow:0 0 #0000;--shadow-inset: ;--shadow:0 0 #0000;--ring-inset: ;--ring-offset-width:0px;--ring-offset-color:#fff;--ring-width:0px;--ring-color:#93c5fd80}.i-ic-check{--icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='-2px' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9 16.17L4.83 12l-1.42 1.41L9 19L21 7l-1.41-1.41z'/%3E%3C/svg%3E");-webkit-mask:var(--icon)no-repeat;-webkit-mask:var(--icon)no-repeat;mask:var(--icon)no-repeat;color:inherit;vertical-align:-2px;background-color:currentColor;width:1em;height:1em;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ic-close{--icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='-2px' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z'/%3E%3C/svg%3E");-webkit-mask:var(--icon)no-repeat;-webkit-mask:var(--icon)no-repeat;mask:var(--icon)no-repeat;color:inherit;vertical-align:-2px;background-color:currentColor;width:1em;height:1em;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ic-round-arrow-back-ios{--icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='-2px' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16.62 2.99a1.25 1.25 0 0 0-1.77 0L6.54 11.3a.996.996 0 0 0 0 1.41l8.31 8.31c.49.49 1.28.49 1.77 0s.49-1.28 0-1.77L9.38 12l7.25-7.25c.48-.48.48-1.28-.01-1.76z'/%3E%3C/svg%3E");-webkit-mask:var(--icon)no-repeat;-webkit-mask:var(--icon)no-repeat;mask:var(--icon)no-repeat;color:inherit;vertical-align:-2px;background-color:currentColor;width:1em;height:1em;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%}.flex-center{justify-content:center;align-items:center;display:flex}.animated{--une-animated-duration:1s;animation-duration:var(--une-animated-duration);animation-fill-mode:both}@keyframes uneFadeIn{0%{opacity:0}to{opacity:1}}@keyframes uneFadeOut{0%{opacity:1}to{opacity:0}}@keyframes uneZoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes uneZoomOut{0%{opacity:1}50%{transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}.data-\[state\=closed\]\:animated-fade-out[data-state=closed]{animation-name:uneFadeOut}.data-\[state\=closed\]\:animated-zoom-out[data-state=closed]{animation-name:uneZoomOut}.data-\[state\=open\]\:animated-fade-in[data-state=open],.data-\[state\=visible\]\:animated-fade-in[data-state=visible]{animation-name:uneFadeIn}.data-\[state\=open\]\:animated-zoom-in[data-state=open]{animation-name:uneZoomIn}.animated-duration-150{animation-duration:.15s}.data-\[state\=checked\]\:p-\.75[data-state=checked]{padding:.1875rem}.p-\.5{padding:.125rem}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2px{padding:2px}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pl-1\.5{padding-left:.375rem}.pl-7{padding-left:1.75rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.m-0{margin:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-2{margin-top:.5rem}.block,.before\:block:before{display:block}.data-\[disabled\]\:op-50[data-disabled],.op-50{opacity:.5}.hover\:op-100:hover{opacity:1}.disabled\:op-50:disabled{opacity:.5}.bg-background,.data-\[active\=true\]\:bg-background[data-active=true]{--bg-opacity:1;background-color:hsla(var(--background),var(--bg-opacity))}.bg-background\/90{background-color:hsla(var(--background),.9)}.bg-danger{--bg-opacity:1;background-color:hsla(var(--danger),var(--bg-opacity))}.bg-input{--bg-opacity:1;background-color:hsla(var(--input),var(--bg-opacity))}.bg-muted{--bg-opacity:1;background-color:hsla(var(--muted),var(--bg-opacity))}.bg-popover{--bg-opacity:1;background-color:hsla(var(--popover),var(--bg-opacity))}.bg-primary,.data-\[state\=checked\]\:bg-primary[data-state=checked]{--bg-opacity:1;background-color:hsla(var(--primary),var(--bg-opacity))}.bg-primary\/25{background-color:hsla(var(--primary),.25)}.bg-secondary,.data-\[disabled\]\:bg-secondary[data-disabled]{--bg-opacity:1;background-color:hsla(var(--secondary),var(--bg-opacity))}.bg-transparent{background-color:#0000}.hover\:bg-primary\/50:hover{background-color:hsla(var(--primary),.5)}.hover\:bg-secondary:hover{--bg-opacity:1;background-color:hsla(var(--secondary),var(--bg-opacity))}.not-disabled\:hover\:bg-danger\/75:hover:not(:disabled){background-color:hsla(var(--danger),.75)}.not-disabled\:hover\:bg-input\/75:hover:not(:disabled){background-color:hsla(var(--input),.75)}.not-disabled\:hover\:bg-primary\/75:hover:not(:disabled){background-color:hsla(var(--primary),.75)}.not-disabled\:hover\:bg-secondary:hover:not(:disabled){--bg-opacity:1;background-color:hsla(var(--secondary),var(--bg-opacity))}.focus\:bg-accent:focus{--bg-opacity:1;background-color:hsla(var(--accent),var(--bg-opacity))}.not-disabled\:active\:bg-danger\/90:active:not(:disabled){background-color:hsla(var(--danger),.9)}.not-disabled\:active\:bg-input:active:not(:disabled){--bg-opacity:1;background-color:hsla(var(--input),var(--bg-opacity))}.not-disabled\:active\:bg-primary\/90:active:not(:disabled){background-color:hsla(var(--primary),.9)}.disabled\:bg-secondary:disabled{--bg-opacity:1;background-color:hsla(var(--secondary),var(--bg-opacity))}.before\:bg-transparent:before{background-color:#0000}.data-\[state\=checked\]\:before\:bg-primary[data-state=checked]:before{--bg-opacity:1;background-color:hsla(var(--primary),var(--bg-opacity))}.file\:bg-transparent::-webkit-file-upload-button{background-color:#0000}.file\:bg-transparent::file-selector-button{background-color:#0000}.b-0{border-width:0}.b-1{border-width:1px}.file\:border-0::-webkit-file-upload-button{border-width:0}.file\:border-0::file-selector-button{border-width:0}.\!b-input{--border-opacity:1!important;border-color:hsla(var(--input),var(--border-opacity))!important}.b-border{--border-opacity:1;border-color:hsla(var(--border),var(--border-opacity))}.b-input{--border-opacity:1;border-color:hsla(var(--input),var(--border-opacity))}.b-transparent,.data-\[disabled\]\:b-transparent[data-disabled]{border-color:#0000}.data-\[state\=checked\]\:b-primary[data-state=checked]{--border-opacity:1;border-color:hsla(var(--primary),var(--border-opacity))}.disabled\:b-transparent:disabled{border-color:#0000}.rounded{border-radius:.25rem}.rounded-3{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.before\:rounded-full:before{border-radius:9999px}.b-solid{border-style:solid}.empty\:before\:content-\[attr\(data-tips\)\]:empty:before{content:attr(data-tips)}.before\:content-empty:before{content:""}.text-4{font-size:1rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.file\:text-sm::-webkit-file-upload-button{font-size:.875rem;line-height:1.25rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.font-500{font-weight:500}.file\:font-medium::-webkit-file-upload-button{font-weight:500}.file\:font-medium::file-selector-button{font-weight:500}.leading-none{line-height:1}.leading-normal{line-height:1.5}.tracking-tight{letter-spacing:-.025em}.font-inherit{font-family:inherit}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.not-disabled\:hover\:underline:hover:not(:disabled){text-decoration-line:underline}.underline-offset-3{text-underline-offset:3px}.text-center{text-align:center}.text-left{text-align:left}.data-\[state\=checked\]\:text-background[data-state=checked]{--text-opacity:1;color:hsla(var(--background),var(--text-opacity))}.text-danger-foreground{--text-opacity:1;color:hsla(var(--danger-foreground),var(--text-opacity))}.text-foreground{--text-opacity:1;color:hsla(var(--foreground),var(--text-opacity))}.text-muted-foreground{--text-opacity:1;color:hsla(var(--muted-foreground),var(--text-opacity))}.text-popover-foreground{--text-opacity:1;color:hsla(var(--popover-foreground),var(--text-opacity))}.text-primary{--text-opacity:1;color:hsla(var(--primary),var(--text-opacity))}.text-primary-foreground{--text-opacity:1;color:hsla(var(--primary-foreground),var(--text-opacity))}.text-secondary-foreground{--text-opacity:1;color:hsla(var(--secondary-foreground),var(--text-opacity))}.empty\:before\:text-gray\/500:empty:before{color:#9ca3af}.focus\:text-accent-foreground:focus{--text-opacity:1;color:hsla(var(--accent-foreground),var(--text-opacity))}.placeholder\:text-gray\/500::placeholder{color:#9ca3af}.text-inherit{color:inherit}.data-\[active\=true\]\:shadow-sm[data-active=true],.shadow-sm{--shadow:var(--shadow-inset)0 1px 2px 0 var(--shadow-color,#0000000d);box-shadow:var(--ring-offset-shadow),var(--ring-shadow),var(--shadow)}.shadow-lg{--shadow:var(--shadow-inset)0 10px 15px -3px var(--shadow-color,#0000001a),var(--shadow-inset)0 4px 6px -4px var(--shadow-color,#0000001a);box-shadow:var(--ring-offset-shadow),var(--ring-shadow),var(--shadow)}.shadow-md{--shadow:var(--shadow-inset)0 4px 6px -1px var(--shadow-color,#0000001a),var(--shadow-inset)0 2px 4px -2px var(--shadow-color,#0000001a);box-shadow:var(--ring-offset-shadow),var(--ring-shadow),var(--shadow)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.grid{display:grid}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.before\:absolute:before{position:absolute}.\!h-full{height:100%!important}.h-1{height:.25rem}.h-2{height:.5rem}.h-20px{height:20px}.h-24px{height:24px}.h-28px{height:28px}.h-3{height:.75rem}.h-300px{height:300px}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-6\.5{height:1.625rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-50{max-height:12.5rem}.max-w-lg{max-width:32rem}.min-h-20{min-height:5rem}.min-w-40{min-width:10rem}.w-1{width:.25rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-36px{width:36px}.w-4{width:1rem}.w-44px{width:44px}.w-5{width:1.25rem}.w-52px{width:52px}.w-6{width:1.5rem}.w-full{width:100%}.before\:h-full:before{height:100%}.before\:w-full:before{width:100%}.cursor-default{cursor:default}.cursor-pointer,.not-disabled\:cursor-pointer:not(:disabled){cursor:pointer}.data-\[disabled\]\:cursor-not-allowed[data-disabled],.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.cursor-n-resize{cursor:n-resize}.cursor-s-resize{cursor:s-resize}.data-\[disabled\]\:pointer-events-none[data-disabled],.pointer-events-none,.disabled\:pointer-events-none:disabled,.before\:pointer-events-none:before{pointer-events:none}.select-none,.active\:select-none:active{-webkit-user-select:none;user-select:none}.overflow-hidden{overflow:hidden}.outline{outline-style:solid}.outline-none{outline-offset:2px;outline:2px solid #0000}.justify-center{justify-content:center}.items-center{align-items:center}.inset-0{top:0;bottom:0;left:0;right:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.top-50\%{top:50%}.before\:bottom-0:before{bottom:0}.before\:left-0:before{left:0}.before\:right-0:before{right:0}.before\:top-0:before{top:0}.z-10{z-index:10}.z-11{z-index:11}.box-border{box-sizing:border-box}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.group:hover .group-hover\:transition-background-color{transition-property:background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.data-\[side\=bottom\]\:origin-top[data-side=bottom]{transform-origin:top}.data-\[side\=left\]\:origin-left-center[data-side=left]{transform-origin:0}.data-\[side\=right\]\:origin-right-center[data-side=right]{transform-origin:100%}.data-\[side\=top\]\:origin-bottom[data-side=top]{transform-origin:bottom}.origin-center{transform-origin:50%}.data-\[direction\=horizontal\]\:translate-x-\$tl[data-direction=horizontal]{--translate-x:var(--tl);transform:translateX(var(--translate-x))translateY(var(--translate-y))translateZ(var(--translate-z))rotate(var(--rotate))rotateX(var(--rotate-x))rotateY(var(--rotate-y))rotateZ(var(--rotate-z))skewX(var(--skew-x))skewY(var(--skew-y))scaleX(var(--scale-x))scaleY(var(--scale-y))scaleZ(var(--scale-z))}.data-\[direction\=vertical\]\:translate-y-\$tl[data-direction=vertical]{--translate-y:var(--tl);transform:translateX(var(--translate-x))translateY(var(--translate-y))translateZ(var(--translate-z))rotate(var(--rotate))rotateX(var(--rotate-x))rotateY(var(--rotate-y))rotateZ(var(--rotate-z))skewX(var(--skew-x))skewY(var(--skew-y))scaleX(var(--scale-x))scaleY(var(--scale-y))scaleZ(var(--scale-z))}.data-\[state\=checked\]\:translate-x-full[data-state=checked]{--translate-x:100%;transform:translateX(var(--translate-x))translateY(var(--translate-y))translateZ(var(--translate-z))rotate(var(--rotate))rotateX(var(--rotate-x))rotateY(var(--rotate-y))rotateZ(var(--rotate-z))skewX(var(--skew-x))skewY(var(--skew-y))scaleX(var(--scale-x))scaleY(var(--scale-y))scaleZ(var(--scale-z))}.translate-y--50\%{--translate-y:-50%;transform:translateX(var(--translate-x))translateY(var(--translate-y))translateZ(var(--translate-z))rotate(var(--rotate))rotateX(var(--rotate-x))rotateY(var(--rotate-y))rotateZ(var(--rotate-z))skewX(var(--skew-x))skewY(var(--skew-y))scaleX(var(--scale-x))scaleY(var(--scale-y))scaleZ(var(--scale-z))}.rotate--90deg{--rotate-x:0;--rotate-y:0;--rotate-z:0;--rotate:-90deg;transform:translateX(var(--translate-x))translateY(var(--translate-y))translateZ(var(--translate-z))rotate(var(--rotate))rotateX(var(--rotate-x))rotateY(var(--rotate-y))rotateZ(var(--rotate-z))skewX(var(--skew-x))skewY(var(--skew-y))scaleX(var(--scale-x))scaleY(var(--scale-y))scaleZ(var(--scale-z))}.rotate-90deg{--rotate-x:0;--rotate-y:0;--rotate-z:0;--rotate:90deg;transform:translateX(var(--translate-x))translateY(var(--translate-y))translateZ(var(--translate-z))rotate(var(--rotate))rotateX(var(--rotate-x))rotateY(var(--rotate-y))rotateZ(var(--rotate-z))skewX(var(--skew-x))skewY(var(--skew-y))scaleX(var(--scale-x))scaleY(var(--scale-y))scaleZ(var(--scale-z))}.hover\:will-change-transform:hover{will-change:transform}.data-\[state\=checked\]\:va--1px[data-state=checked]{vertical-align:-1px}.data-\[state\=unchecked\]\:va--1\.4px[data-state=unchecked]{vertical-align:-1.4px}.rotate-x-full{transform:rotateX(180deg)}@layer base{:root{--background:0,0%,100%;--foreground:222.2,47.4%,11.2%;--muted:240,4.8%,95.9%;--muted-foreground:240,3.8%,46.1%;--popover:0,0%,100%;--popover-foreground:222.2,47.4%,11.2%;--border:240,5.9%,90%;--input:220,13%,92%;--card:0,0%,100%;--card-foreground:222.2,47.4%,11.2%;--primary:0,0%,9.02%;--primary-foreground:210,40%,98%;--secondary:220,13.04%,95.49%;--secondary-foreground:222.2,47.4%,11.2%;--accent:210,4.8%,95.9%;--accent-foreground:222.2,47.4%,11.2%;--danger:0,100%,57.45%;--danger-foreground:210,40%,98%;--ring:215,20.2%,65.1%;--radius:.5rem}.dark{--background:224,71%,4%;--foreground:213,31%,91%;--muted:240,3.7%,15.9%;--muted-foreground:240,5%,64.9%;--accent:216,34%,17%;--accent-foreground:210,40%,98%;--popover:224,71%,4%;--popover-foreground:215,20.2%,65.1%;--border:216,34%,17%;--input:240,3.7%,15.9%;--card:224,71%,4%;--card-foreground:213,31%,91%;--primary:210,40%,98%;--primary-foreground:222.2,47.4%,1.2%;--secondary:240,3.8%,15.49%;--secondary-foreground:210,40%,98%;--danger:0,73.62%,46.08%;--danger-foreground:210,40%,98%;--ring:216,34%,17%;--radius:.5rem}.outlines:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;z-index:9}}
package/dist/styles.js DELETED
@@ -1 +0,0 @@
1
-
Binary file
File without changes