@1337exp/taoui 1.11.0 → 1.11.2

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/package.json CHANGED
@@ -1,61 +1,61 @@
1
- {
2
- "name": "@1337exp/taoui",
3
- "version": "1.11.0",
4
- "description": "Modern UI component library for Nuxt/Vue",
5
- "homepage": "https://666.io",
6
- "type": "module",
7
- "main": "./dist/index.cjs",
8
- "module": "./dist/index.mjs",
9
- "types": "./dist/index.d.ts",
10
- "exports": {
11
- ".": {
12
- "types": "./dist/index.d.ts",
13
- "import": "./dist/index.mjs",
14
- "require": "./dist/index.cjs"
15
- },
16
- "./styles.css": "./dist/styles.css",
17
- "./styles/*": "./src/styles/*",
18
- "./package.json": "./package.json"
19
- },
20
- "files": [
21
- "dist",
22
- "src/styles"
23
- ],
24
- "scripts": {
25
- "build": "vite build",
26
- "dev": "vite build --watch",
27
- "type-check": "vue-tsc --noEmit",
28
- "prepublishOnly": "npm run type-check && npm run build"
29
- },
30
- "repository": {
31
- "type": "git",
32
- "url": "git://github.com/1337exp/taoui"
33
- },
34
- "keywords": [
35
- "vue",
36
- "nuxt",
37
- "ui",
38
- "components",
39
- "library",
40
- "design-tokens"
41
- ],
42
- "author": "",
43
- "license": "MIT",
44
- "peerDependencies": {
45
- "vue": "^3.4.0",
46
- "nuxt": "^3.0.0"
47
- },
48
- "peerDependenciesMeta": {
49
- "nuxt": {
50
- "optional": true
51
- }
52
- },
53
- "devDependencies": {
54
- "@vitejs/plugin-vue": "^5.0.0",
55
- "typescript": "^5.3.0",
56
- "vite": "^5.0.0",
57
- "vite-plugin-dts": "^3.7.0",
58
- "vue": "^3.4.0",
59
- "vue-tsc": "^2.0.0"
60
- }
61
- }
1
+ {
2
+ "name": "@1337exp/taoui",
3
+ "version": "1.11.2",
4
+ "description": "Modern UI component library for Nuxt/Vue",
5
+ "homepage": "https://666.io",
6
+ "type": "module",
7
+ "main": "./dist/index.cjs",
8
+ "module": "./dist/index.mjs",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.mjs",
14
+ "require": "./dist/index.cjs"
15
+ },
16
+ "./styles.css": "./dist/styles.css",
17
+ "./styles/*": "./src/styles/*",
18
+ "./package.json": "./package.json"
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "src/styles"
23
+ ],
24
+ "scripts": {
25
+ "build": "vite build",
26
+ "dev": "vite build --watch",
27
+ "type-check": "vue-tsc --noEmit",
28
+ "prepublishOnly": "npm run type-check && npm run build"
29
+ },
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "git://github.com/1337exp/taoui"
33
+ },
34
+ "keywords": [
35
+ "vue",
36
+ "nuxt",
37
+ "ui",
38
+ "components",
39
+ "library",
40
+ "design-tokens"
41
+ ],
42
+ "author": "",
43
+ "license": "MIT",
44
+ "peerDependencies": {
45
+ "vue": "^3.4.0",
46
+ "nuxt": "^3.0.0"
47
+ },
48
+ "peerDependenciesMeta": {
49
+ "nuxt": {
50
+ "optional": true
51
+ }
52
+ },
53
+ "devDependencies": {
54
+ "@vitejs/plugin-vue": "^5.0.0",
55
+ "typescript": "^5.3.0",
56
+ "vite": "^5.0.0",
57
+ "vite-plugin-dts": "^3.7.0",
58
+ "vue": "^3.4.0",
59
+ "vue-tsc": "^2.0.0"
60
+ }
61
+ }
@@ -1,81 +1,81 @@
1
- /**
2
- * Tao UI — Global base styles
3
- *
4
- * Минимальный reset + глобальные штрихи (скроллбар, ссылки, инпуты).
5
- * Не содержит хардкод-цветов — всё через семантические токены,
6
- * поэтому переключение темы работает и здесь.
7
- */
8
-
9
- *,
10
- *::before,
11
- *::after {
12
- box-sizing: border-box;
13
- }
14
-
15
- html,
16
- body {
17
- padding: 0;
18
- margin: 0;
19
- font-family: var(--tao-font-family);
20
- background: var(--tao-color-bg);
21
- color: var(--tao-color-text);
22
- }
23
-
24
- ::selection {
25
- color: var(--tao-color-selection-text);
26
- background-color: var(--tao-color-selection);
27
- }
28
-
29
- ::-moz-selection {
30
- color: var(--tao-color-selection-text);
31
- background-color: var(--tao-color-selection);
32
- }
33
-
34
- /* Scrollbar */
35
- ::-webkit-scrollbar {
36
- max-width: 5px;
37
- max-height: 5px;
38
- }
39
-
40
- ::-webkit-scrollbar-track {
41
- background: transparent;
42
- }
43
-
44
- ::-webkit-scrollbar-thumb {
45
- background: var(--tao-color-accent);
46
- border-radius: var(--tao-radius-full);
47
- }
48
-
49
- /* Links */
50
- a {
51
- color: var(--tao-color-link);
52
- text-decoration: none;
53
- transition: color var(--tao-duration-base) var(--tao-ease-base);
54
- }
55
-
56
- a:hover {
57
- color: var(--tao-color-link-hover);
58
- }
59
-
60
- /* Number input spinners */
61
- input[type="number"]::-webkit-outer-spin-button,
62
- input[type="number"]::-webkit-inner-spin-button {
63
- -webkit-appearance: none;
64
- margin: 0;
65
- }
66
-
67
- input[type="number"] {
68
- -moz-appearance: textfield !important;
69
- }
70
-
71
- .tao-sr-only {
72
- position: absolute;
73
- width: 1px;
74
- height: 1px;
75
- padding: 0;
76
- margin: -1px;
77
- overflow: hidden;
78
- clip: rect(0, 0, 0, 0);
79
- white-space: nowrap;
80
- border: 0;
81
- }
1
+ /**
2
+ * Tao UI — Global base styles
3
+ *
4
+ * Минимальный reset + глобальные штрихи (скроллбар, ссылки, инпуты).
5
+ * Не содержит хардкод-цветов — всё через семантические токены,
6
+ * поэтому переключение темы работает и здесь.
7
+ */
8
+
9
+ *,
10
+ *::before,
11
+ *::after {
12
+ box-sizing: border-box;
13
+ }
14
+
15
+ html,
16
+ body {
17
+ padding: 0;
18
+ margin: 0;
19
+ font-family: var(--tao-font-family);
20
+ background: var(--tao-color-bg);
21
+ color: var(--tao-color-text);
22
+ }
23
+
24
+ ::selection {
25
+ color: var(--tao-color-selection-text);
26
+ background-color: var(--tao-color-selection);
27
+ }
28
+
29
+ ::-moz-selection {
30
+ color: var(--tao-color-selection-text);
31
+ background-color: var(--tao-color-selection);
32
+ }
33
+
34
+ /* Scrollbar */
35
+ ::-webkit-scrollbar {
36
+ max-width: 5px;
37
+ max-height: 5px;
38
+ }
39
+
40
+ ::-webkit-scrollbar-track {
41
+ background: transparent;
42
+ }
43
+
44
+ ::-webkit-scrollbar-thumb {
45
+ background: var(--tao-color-accent);
46
+ border-radius: var(--tao-radius-full);
47
+ }
48
+
49
+ /* Links */
50
+ a {
51
+ color: var(--tao-color-link);
52
+ text-decoration: none;
53
+ transition: color var(--tao-duration-base) var(--tao-ease-base);
54
+ }
55
+
56
+ a:hover {
57
+ color: var(--tao-color-link-hover);
58
+ }
59
+
60
+ /* Number input spinners */
61
+ input[type="number"]::-webkit-outer-spin-button,
62
+ input[type="number"]::-webkit-inner-spin-button {
63
+ -webkit-appearance: none;
64
+ margin: 0;
65
+ }
66
+
67
+ input[type="number"] {
68
+ -moz-appearance: textfield !important;
69
+ }
70
+
71
+ .tao-sr-only {
72
+ position: absolute;
73
+ width: 1px;
74
+ height: 1px;
75
+ padding: 0;
76
+ margin: -1px;
77
+ overflow: hidden;
78
+ clip: rect(0, 0, 0, 0);
79
+ white-space: nowrap;
80
+ border: 0;
81
+ }
@@ -1,184 +1,184 @@
1
- .tao-date__panel {
2
- z-index: 1050;
3
- position: fixed;
4
- box-sizing: border-box;
5
- width: 280px;
6
- padding: var(--tao-space-3);
7
- background: var(--tao-color-surface-raised);
8
- color: var(--tao-color-text);
9
- border: 1px solid var(--tao-color-border);
10
- border-radius: var(--tao-radius-control);
11
- box-shadow: var(--tao-shadow-overlay);
12
- }
13
-
14
- .tao-date__header {
15
- display: flex;
16
- align-items: center;
17
- gap: var(--tao-space-2);
18
- margin-bottom: var(--tao-space-3);
19
- }
20
-
21
- .tao-date__month {
22
- flex: 1;
23
- margin: 0;
24
- font-size: var(--tao-font-size-md);
25
- font-weight: 600;
26
- text-align: center;
27
- color: var(--tao-color-text-strong);
28
- }
29
-
30
- .tao-date__nav {
31
- display: inline-flex;
32
- flex: 0 0 auto;
33
- align-items: center;
34
- justify-content: center;
35
- width: 28px;
36
- height: 28px;
37
- margin: 0;
38
- padding: 0;
39
- border: 1px solid var(--tao-color-border);
40
- border-radius: var(--tao-radius-full);
41
- background: var(--tao-color-surface-sunken);
42
- color: var(--tao-color-text);
43
- cursor: pointer;
44
- }
45
-
46
- .tao-date__nav svg {
47
- display: block;
48
- }
49
-
50
- .tao-date__nav span {
51
- display: inline-flex;
52
- align-items: center;
53
- justify-content: center;
54
- }
55
-
56
- .tao-date__nav:hover {
57
- background: var(--tao-color-surface-hover);
58
- }
59
-
60
- .tao-date__nav:focus-visible {
61
- outline: 2px solid var(--tao-color-accent);
62
- outline-offset: 2px;
63
- }
64
-
65
- .tao-date__weekdays,
66
- .tao-date__grid {
67
- display: grid;
68
- grid-template-columns: repeat(7, 1fr);
69
- gap: 2px;
70
- }
71
-
72
- .tao-date__weekdays {
73
- margin-bottom: var(--tao-space-1);
74
- }
75
-
76
- .tao-date__weekdays span {
77
- display: flex;
78
- align-items: center;
79
- justify-content: center;
80
- height: 24px;
81
- color: var(--tao-color-text-muted);
82
- font-size: var(--tao-font-size-xs);
83
- text-transform: lowercase;
84
- }
85
-
86
- .tao-date__day {
87
- display: flex;
88
- align-items: center;
89
- justify-content: center;
90
- width: 100%;
91
- aspect-ratio: 1;
92
- margin: 0;
93
- padding: 0;
94
- border: 1px solid transparent;
95
- border-radius: var(--tao-radius-sm);
96
- background: transparent;
97
- color: var(--tao-color-text);
98
- font: inherit;
99
- font-size: var(--tao-font-size-sm);
100
- cursor: pointer;
101
- }
102
-
103
- .tao-date__day--outside {
104
- color: var(--tao-color-text-muted);
105
- opacity: 0.55;
106
- }
107
-
108
- .tao-date__day--today {
109
- border-color: var(--tao-color-accent);
110
- }
111
-
112
- .tao-date__day--in-range {
113
- background: var(--tao-color-accent-subtle-hover);
114
- border-radius: 0;
115
- opacity: 1;
116
- }
117
-
118
- .tao-date__day--range-start {
119
- border-radius: var(--tao-radius-sm) 0 0 var(--tao-radius-sm);
120
- }
121
-
122
- .tao-date__day--range-end {
123
- border-radius: 0 var(--tao-radius-sm) var(--tao-radius-sm) 0;
124
- }
125
-
126
- .tao-date__day--range-start.tao-date__day--range-end {
127
- border-radius: var(--tao-radius-sm);
128
- }
129
-
130
- .tao-date__day--selected {
131
- background: var(--tao-color-accent);
132
- color: var(--tao-color-on-accent);
133
- opacity: 1;
134
- }
135
-
136
- .tao-date__day--cursor:not(.tao-date__day--selected):not(.tao-date__day--in-range) {
137
- background: var(--tao-color-surface-hover);
138
- }
139
-
140
- .tao-date__day:hover:not(:disabled):not(.tao-date__day--selected):not(.tao-date__day--in-range) {
141
- background: var(--tao-color-surface-hover);
142
- }
143
-
144
- .tao-date__day:disabled {
145
- opacity: 0.35;
146
- cursor: not-allowed;
147
- }
148
-
149
- .tao-date__day:focus-visible {
150
- outline: 2px solid var(--tao-color-accent);
151
- outline-offset: 1px;
152
- }
153
-
154
- .tao-date__footer {
155
- display: flex;
156
- justify-content: space-between;
157
- gap: var(--tao-space-2);
158
- margin-top: var(--tao-space-3);
159
- }
160
-
161
- .tao-date__link {
162
- margin: 0;
163
- padding: 0;
164
- border: 0;
165
- background: none;
166
- color: var(--tao-color-accent);
167
- font: inherit;
168
- font-size: var(--tao-font-size-sm);
169
- cursor: pointer;
170
- }
171
-
172
- .tao-date__link:hover:not(:disabled) {
173
- color: var(--tao-color-accent-hover);
174
- }
175
-
176
- .tao-date__link:disabled {
177
- color: var(--tao-color-text-muted);
178
- cursor: not-allowed;
179
- }
180
-
181
- .tao-date__link:focus-visible {
182
- outline: 2px solid var(--tao-color-accent);
183
- outline-offset: 2px;
184
- }
1
+ .tao-date__panel {
2
+ z-index: 1050;
3
+ position: fixed;
4
+ box-sizing: border-box;
5
+ width: 280px;
6
+ padding: var(--tao-space-3);
7
+ background: var(--tao-color-surface-raised);
8
+ color: var(--tao-color-text);
9
+ border: 1px solid var(--tao-color-border);
10
+ border-radius: var(--tao-radius-control);
11
+ box-shadow: var(--tao-shadow-overlay);
12
+ }
13
+
14
+ .tao-date__header {
15
+ display: flex;
16
+ align-items: center;
17
+ gap: var(--tao-space-2);
18
+ margin-bottom: var(--tao-space-3);
19
+ }
20
+
21
+ .tao-date__month {
22
+ flex: 1;
23
+ margin: 0;
24
+ font-size: var(--tao-font-size-md);
25
+ font-weight: 600;
26
+ text-align: center;
27
+ color: var(--tao-color-text-strong);
28
+ }
29
+
30
+ .tao-date__nav {
31
+ display: inline-flex;
32
+ flex: 0 0 auto;
33
+ align-items: center;
34
+ justify-content: center;
35
+ width: 28px;
36
+ height: 28px;
37
+ margin: 0;
38
+ padding: 0;
39
+ border: 1px solid var(--tao-color-border);
40
+ border-radius: var(--tao-radius-full);
41
+ background: var(--tao-color-surface-sunken);
42
+ color: var(--tao-color-text);
43
+ cursor: pointer;
44
+ }
45
+
46
+ .tao-date__nav svg {
47
+ display: block;
48
+ }
49
+
50
+ .tao-date__nav span {
51
+ display: inline-flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ }
55
+
56
+ .tao-date__nav:hover {
57
+ background: var(--tao-color-surface-hover);
58
+ }
59
+
60
+ .tao-date__nav:focus-visible {
61
+ outline: 2px solid var(--tao-color-accent);
62
+ outline-offset: 2px;
63
+ }
64
+
65
+ .tao-date__weekdays,
66
+ .tao-date__grid {
67
+ display: grid;
68
+ grid-template-columns: repeat(7, 1fr);
69
+ gap: 2px;
70
+ }
71
+
72
+ .tao-date__weekdays {
73
+ margin-bottom: var(--tao-space-1);
74
+ }
75
+
76
+ .tao-date__weekdays span {
77
+ display: flex;
78
+ align-items: center;
79
+ justify-content: center;
80
+ height: 24px;
81
+ color: var(--tao-color-text-muted);
82
+ font-size: var(--tao-font-size-xs);
83
+ text-transform: lowercase;
84
+ }
85
+
86
+ .tao-date__day {
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ width: 100%;
91
+ aspect-ratio: 1;
92
+ margin: 0;
93
+ padding: 0;
94
+ border: 1px solid transparent;
95
+ border-radius: var(--tao-radius-sm);
96
+ background: transparent;
97
+ color: var(--tao-color-text);
98
+ font: inherit;
99
+ font-size: var(--tao-font-size-sm);
100
+ cursor: pointer;
101
+ }
102
+
103
+ .tao-date__day--outside {
104
+ color: var(--tao-color-text-muted);
105
+ opacity: 0.55;
106
+ }
107
+
108
+ .tao-date__day--today {
109
+ border-color: var(--tao-color-accent);
110
+ }
111
+
112
+ .tao-date__day--in-range {
113
+ background: var(--tao-color-accent-subtle-hover);
114
+ border-radius: 0;
115
+ opacity: 1;
116
+ }
117
+
118
+ .tao-date__day--range-start {
119
+ border-radius: var(--tao-radius-sm) 0 0 var(--tao-radius-sm);
120
+ }
121
+
122
+ .tao-date__day--range-end {
123
+ border-radius: 0 var(--tao-radius-sm) var(--tao-radius-sm) 0;
124
+ }
125
+
126
+ .tao-date__day--range-start.tao-date__day--range-end {
127
+ border-radius: var(--tao-radius-sm);
128
+ }
129
+
130
+ .tao-date__day--selected {
131
+ background: var(--tao-color-accent);
132
+ color: var(--tao-color-on-accent);
133
+ opacity: 1;
134
+ }
135
+
136
+ .tao-date__day--cursor:not(.tao-date__day--selected):not(.tao-date__day--in-range) {
137
+ background: var(--tao-color-surface-hover);
138
+ }
139
+
140
+ .tao-date__day:hover:not(:disabled):not(.tao-date__day--selected):not(.tao-date__day--in-range) {
141
+ background: var(--tao-color-surface-hover);
142
+ }
143
+
144
+ .tao-date__day:disabled {
145
+ opacity: 0.35;
146
+ cursor: not-allowed;
147
+ }
148
+
149
+ .tao-date__day:focus-visible {
150
+ outline: 2px solid var(--tao-color-accent);
151
+ outline-offset: 1px;
152
+ }
153
+
154
+ .tao-date__footer {
155
+ display: flex;
156
+ justify-content: space-between;
157
+ gap: var(--tao-space-2);
158
+ margin-top: var(--tao-space-3);
159
+ }
160
+
161
+ .tao-date__link {
162
+ margin: 0;
163
+ padding: 0;
164
+ border: 0;
165
+ background: none;
166
+ color: var(--tao-color-accent);
167
+ font: inherit;
168
+ font-size: var(--tao-font-size-sm);
169
+ cursor: pointer;
170
+ }
171
+
172
+ .tao-date__link:hover:not(:disabled) {
173
+ color: var(--tao-color-accent-hover);
174
+ }
175
+
176
+ .tao-date__link:disabled {
177
+ color: var(--tao-color-text-muted);
178
+ cursor: not-allowed;
179
+ }
180
+
181
+ .tao-date__link:focus-visible {
182
+ outline: 2px solid var(--tao-color-accent);
183
+ outline-offset: 2px;
184
+ }
@@ -1,9 +1,9 @@
1
- /**
2
- * Tao UI — styles entry point
3
- *
4
- * Порядок важен: primitives -> semantic (default theme) -> optional themes -> base reset.
5
- */
6
- @import "./primitives.css";
7
- @import "./semantic.css";
8
- @import "./themes/light.css";
9
- @import "./base.css";
1
+ /**
2
+ * Tao UI — styles entry point
3
+ *
4
+ * Порядок важен: primitives -> semantic (default theme) -> optional themes -> base reset.
5
+ */
6
+ @import "./primitives.css";
7
+ @import "./semantic.css";
8
+ @import "./themes/light.css";
9
+ @import "./base.css";