@vicket/create-support 0.1.0
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 +53 -0
- package/bin/create-vicket-support.js +374 -0
- package/package.json +13 -0
- package/templates/next/src/app/support/page.tsx +398 -0
- package/templates/next/src/app/ticket/page.tsx +250 -0
- package/templates/next/src/app/vicket.css +273 -0
- package/templates/nuxt/assets/css/vicket.css +273 -0
- package/templates/nuxt/pages/support.vue +351 -0
- package/templates/nuxt/pages/ticket.vue +238 -0
- package/templates/react/src/vicket/SupportPage.tsx +399 -0
- package/templates/react/src/vicket/TicketPage.tsx +247 -0
- package/templates/react/src/vicket/vicket.css +273 -0
- package/templates/sveltekit/src/lib/vicket.css +273 -0
- package/templates/sveltekit/src/routes/support/+page.svelte +338 -0
- package/templates/sveltekit/src/routes/ticket/+page.svelte +242 -0
- package/templates/vue/src/vicket/SupportPage.vue +348 -0
- package/templates/vue/src/vicket/TicketPage.vue +235 -0
- package/templates/vue/src/vicket/vicket.css +273 -0
- package/templates-tailwind/next/src/app/vicket.css +162 -0
- package/templates-tailwind/nuxt/assets/css/vicket.css +162 -0
- package/templates-tailwind/react/src/vicket/vicket.css +162 -0
- package/templates-tailwind/sveltekit/src/lib/vicket.css +162 -0
- package/templates-tailwind/vue/src/vicket/vicket.css +162 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
@tailwind base;
|
|
2
|
+
@tailwind components;
|
|
3
|
+
@tailwind utilities;
|
|
4
|
+
|
|
5
|
+
@layer components {
|
|
6
|
+
.vk-shell {
|
|
7
|
+
@apply min-h-screen px-4 py-10 text-slate-900 font-sans;
|
|
8
|
+
background: radial-gradient(circle at top, #e7eefc 0, #f5f7fb 45%);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.vk-card {
|
|
12
|
+
@apply mx-auto w-full max-w-[920px] overflow-hidden rounded-2xl border border-slate-200 bg-white;
|
|
13
|
+
box-shadow: 0 14px 40px rgba(17, 30, 56, 0.08);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.vk-header {
|
|
17
|
+
@apply border-b border-slate-200 p-6;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.vk-title {
|
|
21
|
+
@apply m-0 text-[1.7rem] leading-tight;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.vk-subtitle {
|
|
25
|
+
@apply mt-2.5 text-[0.95rem] text-slate-500;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.vk-body {
|
|
29
|
+
@apply p-6;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.vk-stack {
|
|
33
|
+
@apply grid gap-3.5;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.vk-grid {
|
|
37
|
+
@apply grid gap-3;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.vk-grid.two {
|
|
41
|
+
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.vk-section-label {
|
|
45
|
+
@apply m-0 text-[0.8rem] font-bold uppercase tracking-[0.04em] text-slate-500;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.vk-template-button {
|
|
49
|
+
@apply w-full rounded-xl border border-slate-200 bg-slate-100 p-3 text-left text-slate-900 transition-transform;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.vk-template-button.active {
|
|
53
|
+
@apply border-blue-600 bg-blue-50;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.vk-template-button:hover {
|
|
57
|
+
@apply -translate-y-px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.vk-template-name {
|
|
61
|
+
@apply block text-[0.95rem] font-bold;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.vk-template-description {
|
|
65
|
+
@apply mt-1 block text-[0.82rem] text-slate-500;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.vk-field {
|
|
69
|
+
@apply grid gap-1.5;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.vk-label {
|
|
73
|
+
@apply text-[0.9rem] font-bold;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.vk-label.required::after {
|
|
77
|
+
content: " *";
|
|
78
|
+
@apply text-red-700;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.vk-input,
|
|
82
|
+
.vk-textarea,
|
|
83
|
+
.vk-select {
|
|
84
|
+
@apply w-full rounded-[10px] border border-slate-200 bg-white px-3 py-2.5 text-slate-900;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.vk-textarea {
|
|
88
|
+
@apply min-h-[120px] resize-y;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.vk-checkbox-list {
|
|
92
|
+
@apply grid gap-2;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.vk-checkbox-item {
|
|
96
|
+
@apply flex items-center gap-2 text-[0.92rem];
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.vk-actions {
|
|
100
|
+
@apply flex flex-wrap gap-2.5;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.vk-button {
|
|
104
|
+
@apply cursor-pointer rounded-[10px] border border-slate-200 bg-white px-3.5 py-2.5 font-bold text-slate-900;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.vk-button.primary {
|
|
108
|
+
@apply border-blue-600 bg-blue-600 text-white;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.vk-button:disabled {
|
|
112
|
+
@apply cursor-not-allowed opacity-70;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.vk-alert {
|
|
116
|
+
@apply rounded-[10px] border border-slate-200 bg-slate-50 p-3 text-[0.9rem] text-slate-500;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.vk-alert.error {
|
|
120
|
+
@apply border-red-200 bg-red-50 text-red-900;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.vk-alert.success {
|
|
124
|
+
@apply border-emerald-200 bg-emerald-50 text-emerald-900;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.vk-thread-header {
|
|
128
|
+
@apply flex flex-wrap items-center gap-2;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.vk-badge {
|
|
132
|
+
@apply rounded-full border border-slate-200 bg-slate-100 px-2.5 py-1 text-[0.75rem] font-bold text-slate-500;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.vk-message-list {
|
|
136
|
+
@apply grid gap-2.5;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.vk-message {
|
|
140
|
+
@apply rounded-xl border border-slate-200 bg-white p-3;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.vk-message-meta {
|
|
144
|
+
@apply mb-1.5 flex flex-wrap items-center gap-2 text-[0.8rem] text-slate-500;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.vk-message-body {
|
|
148
|
+
@apply whitespace-pre-wrap text-[0.92rem] leading-normal;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.vk-attachments {
|
|
152
|
+
@apply mt-2 flex flex-wrap gap-1.5;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.vk-attachment {
|
|
156
|
+
@apply rounded-full border border-slate-200 px-2 py-1 text-[0.76rem] text-slate-500 no-underline;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.vk-attachment:hover {
|
|
160
|
+
@apply text-slate-900;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
@tailwind base;
|
|
2
|
+
@tailwind components;
|
|
3
|
+
@tailwind utilities;
|
|
4
|
+
|
|
5
|
+
@layer components {
|
|
6
|
+
.vk-shell {
|
|
7
|
+
@apply min-h-screen px-4 py-10 text-slate-900 font-sans;
|
|
8
|
+
background: radial-gradient(circle at top, #e7eefc 0, #f5f7fb 45%);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.vk-card {
|
|
12
|
+
@apply mx-auto w-full max-w-[920px] overflow-hidden rounded-2xl border border-slate-200 bg-white;
|
|
13
|
+
box-shadow: 0 14px 40px rgba(17, 30, 56, 0.08);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.vk-header {
|
|
17
|
+
@apply border-b border-slate-200 p-6;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.vk-title {
|
|
21
|
+
@apply m-0 text-[1.7rem] leading-tight;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.vk-subtitle {
|
|
25
|
+
@apply mt-2.5 text-[0.95rem] text-slate-500;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.vk-body {
|
|
29
|
+
@apply p-6;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.vk-stack {
|
|
33
|
+
@apply grid gap-3.5;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.vk-grid {
|
|
37
|
+
@apply grid gap-3;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.vk-grid.two {
|
|
41
|
+
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.vk-section-label {
|
|
45
|
+
@apply m-0 text-[0.8rem] font-bold uppercase tracking-[0.04em] text-slate-500;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.vk-template-button {
|
|
49
|
+
@apply w-full rounded-xl border border-slate-200 bg-slate-100 p-3 text-left text-slate-900 transition-transform;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.vk-template-button.active {
|
|
53
|
+
@apply border-blue-600 bg-blue-50;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.vk-template-button:hover {
|
|
57
|
+
@apply -translate-y-px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.vk-template-name {
|
|
61
|
+
@apply block text-[0.95rem] font-bold;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.vk-template-description {
|
|
65
|
+
@apply mt-1 block text-[0.82rem] text-slate-500;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.vk-field {
|
|
69
|
+
@apply grid gap-1.5;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.vk-label {
|
|
73
|
+
@apply text-[0.9rem] font-bold;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.vk-label.required::after {
|
|
77
|
+
content: " *";
|
|
78
|
+
@apply text-red-700;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.vk-input,
|
|
82
|
+
.vk-textarea,
|
|
83
|
+
.vk-select {
|
|
84
|
+
@apply w-full rounded-[10px] border border-slate-200 bg-white px-3 py-2.5 text-slate-900;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.vk-textarea {
|
|
88
|
+
@apply min-h-[120px] resize-y;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.vk-checkbox-list {
|
|
92
|
+
@apply grid gap-2;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.vk-checkbox-item {
|
|
96
|
+
@apply flex items-center gap-2 text-[0.92rem];
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.vk-actions {
|
|
100
|
+
@apply flex flex-wrap gap-2.5;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.vk-button {
|
|
104
|
+
@apply cursor-pointer rounded-[10px] border border-slate-200 bg-white px-3.5 py-2.5 font-bold text-slate-900;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.vk-button.primary {
|
|
108
|
+
@apply border-blue-600 bg-blue-600 text-white;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.vk-button:disabled {
|
|
112
|
+
@apply cursor-not-allowed opacity-70;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.vk-alert {
|
|
116
|
+
@apply rounded-[10px] border border-slate-200 bg-slate-50 p-3 text-[0.9rem] text-slate-500;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.vk-alert.error {
|
|
120
|
+
@apply border-red-200 bg-red-50 text-red-900;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.vk-alert.success {
|
|
124
|
+
@apply border-emerald-200 bg-emerald-50 text-emerald-900;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.vk-thread-header {
|
|
128
|
+
@apply flex flex-wrap items-center gap-2;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.vk-badge {
|
|
132
|
+
@apply rounded-full border border-slate-200 bg-slate-100 px-2.5 py-1 text-[0.75rem] font-bold text-slate-500;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.vk-message-list {
|
|
136
|
+
@apply grid gap-2.5;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.vk-message {
|
|
140
|
+
@apply rounded-xl border border-slate-200 bg-white p-3;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.vk-message-meta {
|
|
144
|
+
@apply mb-1.5 flex flex-wrap items-center gap-2 text-[0.8rem] text-slate-500;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.vk-message-body {
|
|
148
|
+
@apply whitespace-pre-wrap text-[0.92rem] leading-normal;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.vk-attachments {
|
|
152
|
+
@apply mt-2 flex flex-wrap gap-1.5;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.vk-attachment {
|
|
156
|
+
@apply rounded-full border border-slate-200 px-2 py-1 text-[0.76rem] text-slate-500 no-underline;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.vk-attachment:hover {
|
|
160
|
+
@apply text-slate-900;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
@tailwind base;
|
|
2
|
+
@tailwind components;
|
|
3
|
+
@tailwind utilities;
|
|
4
|
+
|
|
5
|
+
@layer components {
|
|
6
|
+
.vk-shell {
|
|
7
|
+
@apply min-h-screen px-4 py-10 text-slate-900 font-sans;
|
|
8
|
+
background: radial-gradient(circle at top, #e7eefc 0, #f5f7fb 45%);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.vk-card {
|
|
12
|
+
@apply mx-auto w-full max-w-[920px] overflow-hidden rounded-2xl border border-slate-200 bg-white;
|
|
13
|
+
box-shadow: 0 14px 40px rgba(17, 30, 56, 0.08);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.vk-header {
|
|
17
|
+
@apply border-b border-slate-200 p-6;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.vk-title {
|
|
21
|
+
@apply m-0 text-[1.7rem] leading-tight;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.vk-subtitle {
|
|
25
|
+
@apply mt-2.5 text-[0.95rem] text-slate-500;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.vk-body {
|
|
29
|
+
@apply p-6;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.vk-stack {
|
|
33
|
+
@apply grid gap-3.5;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.vk-grid {
|
|
37
|
+
@apply grid gap-3;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.vk-grid.two {
|
|
41
|
+
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.vk-section-label {
|
|
45
|
+
@apply m-0 text-[0.8rem] font-bold uppercase tracking-[0.04em] text-slate-500;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.vk-template-button {
|
|
49
|
+
@apply w-full rounded-xl border border-slate-200 bg-slate-100 p-3 text-left text-slate-900 transition-transform;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.vk-template-button.active {
|
|
53
|
+
@apply border-blue-600 bg-blue-50;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.vk-template-button:hover {
|
|
57
|
+
@apply -translate-y-px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.vk-template-name {
|
|
61
|
+
@apply block text-[0.95rem] font-bold;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.vk-template-description {
|
|
65
|
+
@apply mt-1 block text-[0.82rem] text-slate-500;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.vk-field {
|
|
69
|
+
@apply grid gap-1.5;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.vk-label {
|
|
73
|
+
@apply text-[0.9rem] font-bold;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.vk-label.required::after {
|
|
77
|
+
content: " *";
|
|
78
|
+
@apply text-red-700;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.vk-input,
|
|
82
|
+
.vk-textarea,
|
|
83
|
+
.vk-select {
|
|
84
|
+
@apply w-full rounded-[10px] border border-slate-200 bg-white px-3 py-2.5 text-slate-900;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.vk-textarea {
|
|
88
|
+
@apply min-h-[120px] resize-y;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.vk-checkbox-list {
|
|
92
|
+
@apply grid gap-2;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.vk-checkbox-item {
|
|
96
|
+
@apply flex items-center gap-2 text-[0.92rem];
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.vk-actions {
|
|
100
|
+
@apply flex flex-wrap gap-2.5;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.vk-button {
|
|
104
|
+
@apply cursor-pointer rounded-[10px] border border-slate-200 bg-white px-3.5 py-2.5 font-bold text-slate-900;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.vk-button.primary {
|
|
108
|
+
@apply border-blue-600 bg-blue-600 text-white;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.vk-button:disabled {
|
|
112
|
+
@apply cursor-not-allowed opacity-70;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.vk-alert {
|
|
116
|
+
@apply rounded-[10px] border border-slate-200 bg-slate-50 p-3 text-[0.9rem] text-slate-500;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.vk-alert.error {
|
|
120
|
+
@apply border-red-200 bg-red-50 text-red-900;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.vk-alert.success {
|
|
124
|
+
@apply border-emerald-200 bg-emerald-50 text-emerald-900;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.vk-thread-header {
|
|
128
|
+
@apply flex flex-wrap items-center gap-2;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.vk-badge {
|
|
132
|
+
@apply rounded-full border border-slate-200 bg-slate-100 px-2.5 py-1 text-[0.75rem] font-bold text-slate-500;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.vk-message-list {
|
|
136
|
+
@apply grid gap-2.5;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.vk-message {
|
|
140
|
+
@apply rounded-xl border border-slate-200 bg-white p-3;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.vk-message-meta {
|
|
144
|
+
@apply mb-1.5 flex flex-wrap items-center gap-2 text-[0.8rem] text-slate-500;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.vk-message-body {
|
|
148
|
+
@apply whitespace-pre-wrap text-[0.92rem] leading-normal;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.vk-attachments {
|
|
152
|
+
@apply mt-2 flex flex-wrap gap-1.5;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.vk-attachment {
|
|
156
|
+
@apply rounded-full border border-slate-200 px-2 py-1 text-[0.76rem] text-slate-500 no-underline;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.vk-attachment:hover {
|
|
160
|
+
@apply text-slate-900;
|
|
161
|
+
}
|
|
162
|
+
}
|