sakana-element 2.1.2 → 2.1.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.
- package/README.md +1 -0
- package/dist/es/Alert-A4stKumX.js +19 -0
- package/dist/es/Badge-BG-vYP8Y.js +13 -0
- package/dist/es/Button-CFGE4_Ng.js +22 -0
- package/dist/es/{Collapse-l_8qKOBG.js → Collapse-B08VhCVq.js} +2 -2
- package/dist/es/{ConfigProvider-BPm3h9RG.js → ConfigProvider-DZO1d5Eq.js} +1 -1
- package/dist/es/{Dropdown-ZjZ0qSn2.js → Dropdown-CA-nv-2j.js} +3 -3
- package/dist/es/{Form-pxRZxseS.js → Form-VB1SL_iW.js} +1 -1
- package/dist/es/{Icon-UBaqO2nY.js → Icon-DpJyuj7c.js} +1 -1
- package/dist/es/{Input-BJoBaFXa.js → Input-C-bIqqo_.js} +3 -3
- package/dist/es/{Loading-BJJBJhg3.js → Loading-4MsOvzx9.js} +3 -3
- package/dist/es/{Message-CqBKW0c8.js → Message-CxT9rRUp.js} +5 -5
- package/dist/es/{Notification-CVACM2cj.js → Notification-D6em5HmO.js} +7 -7
- package/dist/es/{Overlay-C1k4Jcl7.js → Overlay-BRDSWspM.js} +1 -1
- package/dist/es/{Popconfirm-CW8oRycq.js → Popconfirm-D0ABSr-F.js} +4 -4
- package/dist/es/{Select-C7mwByXa.js → Select-BKYDP224.js} +4 -4
- package/dist/es/{Switch-CgFPFC3j.js → Switch-C1IdbnUa.js} +1 -1
- package/dist/es/{Tooltip-D9rQ4LEg.js → Tooltip-KpwbZdMX.js} +16 -16
- package/dist/es/index.js +54 -52
- package/dist/es/utils-bsCscZfS.js +84 -0
- package/dist/index.css +1 -1
- package/dist/theme/Alert.css +114 -38
- package/dist/theme/Badge.css +208 -0
- package/dist/theme/Button.css +83 -83
- package/dist/types/components/Alert/types.d.ts +3 -0
- package/dist/types/components/Badge/index.d.ts +27 -0
- package/dist/types/components/Badge/types.d.ts +10 -0
- package/dist/types/components/Button/constants.d.ts +2 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/hooks/useSystemTheme.d.ts +1 -1
- package/dist/types/utils/color.d.ts +33 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/umd/index.css +1 -1
- package/dist/umd/index.css.gz +0 -0
- package/dist/umd/index.umd.cjs +3 -3
- package/dist/umd/index.umd.cjs.gz +0 -0
- package/package.json +1 -1
- package/dist/es/Alert-C5X-XFGJ.js +0 -15
- package/dist/es/Button-DTik2ZP6.js +0 -33
- package/dist/es/utils-340oIQ8K.js +0 -59
package/dist/theme/Button.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* Button Group Variables */
|
|
2
|
-
.px-button-group[data-v-
|
|
2
|
+
.px-button-group[data-v-6be339e2] {
|
|
3
3
|
--px-button-group-border-color: var(--px-border-color-lighter);
|
|
4
4
|
}
|
|
5
5
|
/* Button Base Variables */
|
|
6
|
-
.px-button[data-v-
|
|
6
|
+
.px-button[data-v-6be339e2] {
|
|
7
7
|
--px-button-font-weight: var(--px-font-weight-primary);
|
|
8
8
|
--px-button-border-color: var(--px-border-color);
|
|
9
9
|
--px-button-bg-color: var(--px-fill-color-blank);
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
--px-button-shadow-color: var(--px-shadow-color);
|
|
22
22
|
}
|
|
23
23
|
/* Base Button Styles - Pixel Game Aesthetic */
|
|
24
|
-
.px-button[data-v-
|
|
24
|
+
.px-button[data-v-6be339e2] {
|
|
25
25
|
display: inline-flex;
|
|
26
26
|
justify-content: center;
|
|
27
27
|
align-items: center;
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
transition: none;
|
|
54
54
|
}
|
|
55
55
|
/* Border layer — filled with border color, clipped to pixel shape */
|
|
56
|
-
.px-button[data-v-
|
|
56
|
+
.px-button[data-v-6be339e2]::before {
|
|
57
57
|
content: '';
|
|
58
58
|
position: absolute;
|
|
59
59
|
inset: 0;
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
z-index: -1;
|
|
68
68
|
}
|
|
69
69
|
/* Fill layer — inset by border width, filled with bg color */
|
|
70
|
-
.px-button[data-v-
|
|
70
|
+
.px-button[data-v-6be339e2]::after {
|
|
71
71
|
content: '';
|
|
72
72
|
position: absolute;
|
|
73
73
|
inset: 2px;
|
|
@@ -80,110 +80,110 @@
|
|
|
80
80
|
);
|
|
81
81
|
z-index: -1;
|
|
82
82
|
}
|
|
83
|
-
.px-button + .px-button[data-v-
|
|
83
|
+
.px-button + .px-button[data-v-6be339e2] {
|
|
84
84
|
margin-left: 12px;
|
|
85
85
|
}
|
|
86
86
|
/* Hover - Lift effect */
|
|
87
|
-
.px-button[data-v-
|
|
87
|
+
.px-button[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading) {
|
|
88
88
|
color: var(--px-button-hover-text-color);
|
|
89
89
|
transform: translate(-1px, -1px);
|
|
90
90
|
filter: drop-shadow(4px 4px 0px var(--px-button-shadow-color));
|
|
91
91
|
}
|
|
92
|
-
.px-button[data-v-
|
|
92
|
+
.px-button[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading)::before {
|
|
93
93
|
background: var(--px-button-hover-border-color);
|
|
94
94
|
}
|
|
95
|
-
.px-button[data-v-
|
|
95
|
+
.px-button[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading)::after {
|
|
96
96
|
background: var(--px-button-hover-bg-color);
|
|
97
97
|
}
|
|
98
98
|
/* Active - Press down effect */
|
|
99
|
-
.px-button[data-v-
|
|
99
|
+
.px-button[data-v-6be339e2]:active:not(.is-disabled):not(.is-loading) {
|
|
100
100
|
color: var(--px-button-active-text-color);
|
|
101
101
|
transform: translate(1px, 1px);
|
|
102
102
|
filter: drop-shadow(1px 1px 0px var(--px-button-shadow-color));
|
|
103
103
|
}
|
|
104
|
-
.px-button[data-v-
|
|
104
|
+
.px-button[data-v-6be339e2]:active:not(.is-disabled):not(.is-loading)::before {
|
|
105
105
|
background: var(--px-button-active-border-color);
|
|
106
106
|
}
|
|
107
|
-
.px-button[data-v-
|
|
107
|
+
.px-button[data-v-6be339e2]:active:not(.is-disabled):not(.is-loading)::after {
|
|
108
108
|
background: var(--px-button-active-bg-color);
|
|
109
109
|
}
|
|
110
110
|
/* Focus outline */
|
|
111
|
-
.px-button[data-v-
|
|
111
|
+
.px-button[data-v-6be339e2]:focus-visible {
|
|
112
112
|
outline: 2px dashed var(--px-color-primary);
|
|
113
113
|
outline-offset: 2px;
|
|
114
114
|
}
|
|
115
115
|
/* Plain variant */
|
|
116
|
-
.px-button.is-plain[data-v-
|
|
116
|
+
.px-button.is-plain[data-v-6be339e2] {
|
|
117
117
|
--px-button-bg-color: var(--px-fill-color-blank);
|
|
118
118
|
--px-button-hover-bg-color: var(--px-fill-color-light);
|
|
119
119
|
--px-button-hover-border-color: var(--px-color-primary);
|
|
120
120
|
}
|
|
121
121
|
/* Dash variant - Dashed border on the button itself, no pixel shadow */
|
|
122
|
-
.px-button.is-dash[data-v-
|
|
122
|
+
.px-button.is-dash[data-v-6be339e2] {
|
|
123
123
|
border: 2px dashed var(--px-button-border-color);
|
|
124
124
|
filter: none;
|
|
125
125
|
}
|
|
126
|
-
.px-button.is-dash[data-v-
|
|
126
|
+
.px-button.is-dash[data-v-6be339e2]::before {
|
|
127
127
|
display: none;
|
|
128
128
|
}
|
|
129
|
-
.px-button.is-dash[data-v-
|
|
129
|
+
.px-button.is-dash[data-v-6be339e2]::after {
|
|
130
130
|
clip-path: none;
|
|
131
131
|
inset: 0;
|
|
132
132
|
background: var(--px-button-bg-color);
|
|
133
133
|
}
|
|
134
|
-
.px-button.is-dash[data-v-
|
|
134
|
+
.px-button.is-dash[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading) {
|
|
135
135
|
transform: none;
|
|
136
136
|
filter: none;
|
|
137
137
|
border-color: var(--px-button-hover-border-color);
|
|
138
138
|
}
|
|
139
|
-
.px-button.is-dash[data-v-
|
|
139
|
+
.px-button.is-dash[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading)::after {
|
|
140
140
|
background: var(--px-button-hover-bg-color);
|
|
141
141
|
}
|
|
142
|
-
.px-button.is-dash[data-v-
|
|
142
|
+
.px-button.is-dash[data-v-6be339e2]:active:not(.is-disabled):not(.is-loading) {
|
|
143
143
|
transform: none;
|
|
144
144
|
filter: none;
|
|
145
145
|
border-color: var(--px-button-active-border-color);
|
|
146
146
|
}
|
|
147
|
-
.px-button.is-dash[data-v-
|
|
147
|
+
.px-button.is-dash[data-v-6be339e2]:active:not(.is-disabled):not(.is-loading)::after {
|
|
148
148
|
background: var(--px-button-active-bg-color);
|
|
149
149
|
}
|
|
150
150
|
/* Ghost variant - No border/background, subtle hover fill */
|
|
151
|
-
.px-button.is-ghost[data-v-
|
|
151
|
+
.px-button.is-ghost[data-v-6be339e2] {
|
|
152
152
|
filter: none;
|
|
153
153
|
--px-button-shadow-color: transparent;
|
|
154
154
|
}
|
|
155
|
-
.px-button.is-ghost[data-v-
|
|
155
|
+
.px-button.is-ghost[data-v-6be339e2]::before {
|
|
156
156
|
display: none;
|
|
157
157
|
}
|
|
158
|
-
.px-button.is-ghost[data-v-
|
|
158
|
+
.px-button.is-ghost[data-v-6be339e2]::after {
|
|
159
159
|
clip-path: none;
|
|
160
160
|
inset: 0;
|
|
161
161
|
background: transparent;
|
|
162
162
|
}
|
|
163
|
-
.px-button.is-ghost[data-v-
|
|
163
|
+
.px-button.is-ghost[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading) {
|
|
164
164
|
transform: none;
|
|
165
165
|
filter: none;
|
|
166
166
|
color: var(--px-button-hover-text-color);
|
|
167
167
|
}
|
|
168
|
-
.px-button.is-ghost[data-v-
|
|
168
|
+
.px-button.is-ghost[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading)::after {
|
|
169
169
|
background: var(--px-button-hover-bg-color, var(--px-fill-color-light));
|
|
170
170
|
}
|
|
171
|
-
.px-button.is-ghost[data-v-
|
|
171
|
+
.px-button.is-ghost[data-v-6be339e2]:active:not(.is-disabled):not(.is-loading) {
|
|
172
172
|
transform: none;
|
|
173
173
|
filter: none;
|
|
174
174
|
color: var(--px-button-active-text-color);
|
|
175
175
|
}
|
|
176
|
-
.px-button.is-ghost[data-v-
|
|
176
|
+
.px-button.is-ghost[data-v-6be339e2]:active:not(.is-disabled):not(.is-loading)::after {
|
|
177
177
|
background: var(--px-button-active-bg-color, var(--px-fill-color));
|
|
178
178
|
}
|
|
179
|
-
.px-button.is-ghost.is-loading[data-v-
|
|
179
|
+
.px-button.is-ghost.is-loading[data-v-6be339e2]::after, .px-button.is-ghost.is-disabled[data-v-6be339e2]::after, .px-button.is-ghost.is-disabled[data-v-6be339e2]:hover::after, .px-button.is-ghost.is-disabled[data-v-6be339e2]:focus::after, .px-button.is-ghost[disabled][data-v-6be339e2]::after, .px-button.is-ghost[disabled][data-v-6be339e2]:hover::after, .px-button.is-ghost[disabled][data-v-6be339e2]:focus::after {
|
|
180
180
|
background: transparent;
|
|
181
181
|
}
|
|
182
182
|
/* Round - Pixel-style rounded with 3-step staircase corners */
|
|
183
|
-
.px-button.is-round[data-v-
|
|
183
|
+
.px-button.is-round[data-v-6be339e2] {
|
|
184
184
|
padding: 8px 20px;
|
|
185
185
|
}
|
|
186
|
-
.px-button.is-round[data-v-
|
|
186
|
+
.px-button.is-round[data-v-6be339e2]::before, .px-button.is-round[data-v-6be339e2]::after {
|
|
187
187
|
clip-path: polygon(
|
|
188
188
|
0 8px, 2px 8px, 2px 4px, 4px 4px, 4px 2px, 8px 2px, 8px 0,
|
|
189
189
|
calc(100% - 8px) 0, calc(100% - 8px) 2px, calc(100% - 4px) 2px, calc(100% - 4px) 4px, calc(100% - 2px) 4px, calc(100% - 2px) 8px, 100% 8px,
|
|
@@ -192,12 +192,12 @@
|
|
|
192
192
|
);
|
|
193
193
|
}
|
|
194
194
|
/* Circle - Pixel circle approximation with 4-step staircase */
|
|
195
|
-
.px-button.is-circle[data-v-
|
|
195
|
+
.px-button.is-circle[data-v-6be339e2] {
|
|
196
196
|
padding: 8px;
|
|
197
197
|
width: 36px;
|
|
198
198
|
height: 36px;
|
|
199
199
|
}
|
|
200
|
-
.px-button.is-circle[data-v-
|
|
200
|
+
.px-button.is-circle[data-v-6be339e2]::before, .px-button.is-circle[data-v-6be339e2]::after {
|
|
201
201
|
clip-path: polygon(
|
|
202
202
|
0 10px, 2px 10px, 2px 6px, 4px 6px, 4px 4px, 6px 4px, 6px 2px, 10px 2px, 10px 0,
|
|
203
203
|
calc(100% - 10px) 0, calc(100% - 10px) 2px, calc(100% - 6px) 2px, calc(100% - 6px) 4px, calc(100% - 4px) 4px, calc(100% - 4px) 6px, calc(100% - 2px) 6px, calc(100% - 2px) 10px, 100% 10px,
|
|
@@ -206,32 +206,32 @@
|
|
|
206
206
|
);
|
|
207
207
|
}
|
|
208
208
|
/* Disabled state */
|
|
209
|
-
.px-button.is-loading[data-v-
|
|
210
|
-
.px-button.is-disabled[data-v-
|
|
211
|
-
.px-button.is-disabled[data-v-
|
|
212
|
-
.px-button.is-disabled[data-v-
|
|
213
|
-
.px-button[disabled][data-v-
|
|
214
|
-
.px-button[disabled][data-v-
|
|
215
|
-
.px-button[disabled][data-v-
|
|
209
|
+
.px-button.is-loading[data-v-6be339e2],
|
|
210
|
+
.px-button.is-disabled[data-v-6be339e2],
|
|
211
|
+
.px-button.is-disabled[data-v-6be339e2]:hover,
|
|
212
|
+
.px-button.is-disabled[data-v-6be339e2]:focus,
|
|
213
|
+
.px-button[disabled][data-v-6be339e2],
|
|
214
|
+
.px-button[disabled][data-v-6be339e2]:hover,
|
|
215
|
+
.px-button[disabled][data-v-6be339e2]:focus {
|
|
216
216
|
color: var(--px-button-disabled-text-color);
|
|
217
217
|
cursor: not-allowed;
|
|
218
218
|
filter: drop-shadow(1px 1px 0px rgba(0, 0, 0, 0.1));
|
|
219
219
|
transform: none;
|
|
220
220
|
opacity: 0.6;
|
|
221
221
|
}
|
|
222
|
-
.px-button.is-loading[data-v-
|
|
222
|
+
.px-button.is-loading[data-v-6be339e2]::before, .px-button.is-disabled[data-v-6be339e2]::before, .px-button.is-disabled[data-v-6be339e2]:hover::before, .px-button.is-disabled[data-v-6be339e2]:focus::before, .px-button[disabled][data-v-6be339e2]::before, .px-button[disabled][data-v-6be339e2]:hover::before, .px-button[disabled][data-v-6be339e2]:focus::before {
|
|
223
223
|
background: var(--px-button-disabled-border-color);
|
|
224
224
|
}
|
|
225
|
-
.px-button.is-loading[data-v-
|
|
225
|
+
.px-button.is-loading[data-v-6be339e2]::after, .px-button.is-disabled[data-v-6be339e2]::after, .px-button.is-disabled[data-v-6be339e2]:hover::after, .px-button.is-disabled[data-v-6be339e2]:focus::after, .px-button[disabled][data-v-6be339e2]::after, .px-button[disabled][data-v-6be339e2]:hover::after, .px-button[disabled][data-v-6be339e2]:focus::after {
|
|
226
226
|
background: var(--px-button-disabled-bg-color);
|
|
227
227
|
}
|
|
228
228
|
/* Icon sizing */
|
|
229
|
-
.px-button [class*='px-icon'][data-v-
|
|
229
|
+
.px-button [class*='px-icon'][data-v-6be339e2] {
|
|
230
230
|
width: 1em;
|
|
231
231
|
height: 1em;
|
|
232
232
|
}
|
|
233
233
|
/* Type variants - Colored buttons */
|
|
234
|
-
.px-button--primary[data-v-
|
|
234
|
+
.px-button--primary[data-v-6be339e2] {
|
|
235
235
|
--px-button-text-color: var(--px-color-white);
|
|
236
236
|
--px-button-bg-color: var(--px-color-primary);
|
|
237
237
|
--px-button-border-color: var(--px-color-primary-dark);
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
--px-button-disabled-border-color: var(--px-color-primary-light-5);
|
|
248
248
|
}
|
|
249
249
|
/* Dash variant for type buttons */
|
|
250
|
-
.px-button--primary.is-dash[data-v-
|
|
250
|
+
.px-button--primary.is-dash[data-v-6be339e2] {
|
|
251
251
|
--px-button-text-color: var(--px-color-primary);
|
|
252
252
|
--px-button-bg-color: var(--px-color-primary-light-9);
|
|
253
253
|
--px-button-border-color: var(--px-color-primary);
|
|
@@ -263,7 +263,7 @@
|
|
|
263
263
|
--px-button-disabled-border-color: var(--px-color-primary-light-5);
|
|
264
264
|
}
|
|
265
265
|
/* Ghost variant for type buttons */
|
|
266
|
-
.px-button--primary.is-ghost[data-v-
|
|
266
|
+
.px-button--primary.is-ghost[data-v-6be339e2] {
|
|
267
267
|
--px-button-text-color: var(--px-color-primary);
|
|
268
268
|
--px-button-shadow-color: transparent;
|
|
269
269
|
--px-button-hover-text-color: var(--px-color-primary-dark);
|
|
@@ -274,7 +274,7 @@
|
|
|
274
274
|
--px-button-disabled-bg-color: transparent;
|
|
275
275
|
}
|
|
276
276
|
/* Plain variant for type buttons */
|
|
277
|
-
.px-button--primary.is-plain[data-v-
|
|
277
|
+
.px-button--primary.is-plain[data-v-6be339e2] {
|
|
278
278
|
--px-button-text-color: var(--px-color-primary);
|
|
279
279
|
--px-button-bg-color: var(--px-color-primary-light-9);
|
|
280
280
|
--px-button-border-color: var(--px-color-primary);
|
|
@@ -288,10 +288,10 @@
|
|
|
288
288
|
--px-button-disabled-bg-color: var(--px-color-primary-light-9);
|
|
289
289
|
--px-button-disabled-border-color: var(--px-color-primary-light-7);
|
|
290
290
|
}
|
|
291
|
-
.px-button--primary.is-plain[data-v-
|
|
291
|
+
.px-button--primary.is-plain[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading) {
|
|
292
292
|
--px-button-shadow-color: var(--px-color-primary-dark);
|
|
293
293
|
}
|
|
294
|
-
.px-button--success[data-v-
|
|
294
|
+
.px-button--success[data-v-6be339e2] {
|
|
295
295
|
--px-button-text-color: var(--px-color-white);
|
|
296
296
|
--px-button-bg-color: var(--px-color-success);
|
|
297
297
|
--px-button-border-color: var(--px-color-success-dark);
|
|
@@ -307,7 +307,7 @@
|
|
|
307
307
|
--px-button-disabled-border-color: var(--px-color-success-light-5);
|
|
308
308
|
}
|
|
309
309
|
/* Dash variant for type buttons */
|
|
310
|
-
.px-button--success.is-dash[data-v-
|
|
310
|
+
.px-button--success.is-dash[data-v-6be339e2] {
|
|
311
311
|
--px-button-text-color: var(--px-color-success);
|
|
312
312
|
--px-button-bg-color: var(--px-color-success-light-9);
|
|
313
313
|
--px-button-border-color: var(--px-color-success);
|
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
--px-button-disabled-border-color: var(--px-color-success-light-5);
|
|
324
324
|
}
|
|
325
325
|
/* Ghost variant for type buttons */
|
|
326
|
-
.px-button--success.is-ghost[data-v-
|
|
326
|
+
.px-button--success.is-ghost[data-v-6be339e2] {
|
|
327
327
|
--px-button-text-color: var(--px-color-success);
|
|
328
328
|
--px-button-shadow-color: transparent;
|
|
329
329
|
--px-button-hover-text-color: var(--px-color-success-dark);
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
--px-button-disabled-bg-color: transparent;
|
|
335
335
|
}
|
|
336
336
|
/* Plain variant for type buttons */
|
|
337
|
-
.px-button--success.is-plain[data-v-
|
|
337
|
+
.px-button--success.is-plain[data-v-6be339e2] {
|
|
338
338
|
--px-button-text-color: var(--px-color-success);
|
|
339
339
|
--px-button-bg-color: var(--px-color-success-light-9);
|
|
340
340
|
--px-button-border-color: var(--px-color-success);
|
|
@@ -348,10 +348,10 @@
|
|
|
348
348
|
--px-button-disabled-bg-color: var(--px-color-success-light-9);
|
|
349
349
|
--px-button-disabled-border-color: var(--px-color-success-light-7);
|
|
350
350
|
}
|
|
351
|
-
.px-button--success.is-plain[data-v-
|
|
351
|
+
.px-button--success.is-plain[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading) {
|
|
352
352
|
--px-button-shadow-color: var(--px-color-success-dark);
|
|
353
353
|
}
|
|
354
|
-
.px-button--warning[data-v-
|
|
354
|
+
.px-button--warning[data-v-6be339e2] {
|
|
355
355
|
--px-button-text-color: var(--px-color-white);
|
|
356
356
|
--px-button-bg-color: var(--px-color-warning);
|
|
357
357
|
--px-button-border-color: var(--px-color-warning-dark);
|
|
@@ -367,7 +367,7 @@
|
|
|
367
367
|
--px-button-disabled-border-color: var(--px-color-warning-light-5);
|
|
368
368
|
}
|
|
369
369
|
/* Dash variant for type buttons */
|
|
370
|
-
.px-button--warning.is-dash[data-v-
|
|
370
|
+
.px-button--warning.is-dash[data-v-6be339e2] {
|
|
371
371
|
--px-button-text-color: var(--px-color-warning);
|
|
372
372
|
--px-button-bg-color: var(--px-color-warning-light-9);
|
|
373
373
|
--px-button-border-color: var(--px-color-warning);
|
|
@@ -383,7 +383,7 @@
|
|
|
383
383
|
--px-button-disabled-border-color: var(--px-color-warning-light-5);
|
|
384
384
|
}
|
|
385
385
|
/* Ghost variant for type buttons */
|
|
386
|
-
.px-button--warning.is-ghost[data-v-
|
|
386
|
+
.px-button--warning.is-ghost[data-v-6be339e2] {
|
|
387
387
|
--px-button-text-color: var(--px-color-warning);
|
|
388
388
|
--px-button-shadow-color: transparent;
|
|
389
389
|
--px-button-hover-text-color: var(--px-color-warning-dark);
|
|
@@ -394,7 +394,7 @@
|
|
|
394
394
|
--px-button-disabled-bg-color: transparent;
|
|
395
395
|
}
|
|
396
396
|
/* Plain variant for type buttons */
|
|
397
|
-
.px-button--warning.is-plain[data-v-
|
|
397
|
+
.px-button--warning.is-plain[data-v-6be339e2] {
|
|
398
398
|
--px-button-text-color: var(--px-color-warning);
|
|
399
399
|
--px-button-bg-color: var(--px-color-warning-light-9);
|
|
400
400
|
--px-button-border-color: var(--px-color-warning);
|
|
@@ -408,10 +408,10 @@
|
|
|
408
408
|
--px-button-disabled-bg-color: var(--px-color-warning-light-9);
|
|
409
409
|
--px-button-disabled-border-color: var(--px-color-warning-light-7);
|
|
410
410
|
}
|
|
411
|
-
.px-button--warning.is-plain[data-v-
|
|
411
|
+
.px-button--warning.is-plain[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading) {
|
|
412
412
|
--px-button-shadow-color: var(--px-color-warning-dark);
|
|
413
413
|
}
|
|
414
|
-
.px-button--info[data-v-
|
|
414
|
+
.px-button--info[data-v-6be339e2] {
|
|
415
415
|
--px-button-text-color: var(--px-color-white);
|
|
416
416
|
--px-button-bg-color: var(--px-color-info);
|
|
417
417
|
--px-button-border-color: var(--px-color-info-dark);
|
|
@@ -427,7 +427,7 @@
|
|
|
427
427
|
--px-button-disabled-border-color: var(--px-color-info-light-5);
|
|
428
428
|
}
|
|
429
429
|
/* Dash variant for type buttons */
|
|
430
|
-
.px-button--info.is-dash[data-v-
|
|
430
|
+
.px-button--info.is-dash[data-v-6be339e2] {
|
|
431
431
|
--px-button-text-color: var(--px-color-info);
|
|
432
432
|
--px-button-bg-color: var(--px-color-info-light-9);
|
|
433
433
|
--px-button-border-color: var(--px-color-info);
|
|
@@ -443,7 +443,7 @@
|
|
|
443
443
|
--px-button-disabled-border-color: var(--px-color-info-light-5);
|
|
444
444
|
}
|
|
445
445
|
/* Ghost variant for type buttons */
|
|
446
|
-
.px-button--info.is-ghost[data-v-
|
|
446
|
+
.px-button--info.is-ghost[data-v-6be339e2] {
|
|
447
447
|
--px-button-text-color: var(--px-color-info);
|
|
448
448
|
--px-button-shadow-color: transparent;
|
|
449
449
|
--px-button-hover-text-color: var(--px-color-info-dark);
|
|
@@ -454,7 +454,7 @@
|
|
|
454
454
|
--px-button-disabled-bg-color: transparent;
|
|
455
455
|
}
|
|
456
456
|
/* Plain variant for type buttons */
|
|
457
|
-
.px-button--info.is-plain[data-v-
|
|
457
|
+
.px-button--info.is-plain[data-v-6be339e2] {
|
|
458
458
|
--px-button-text-color: var(--px-color-info);
|
|
459
459
|
--px-button-bg-color: var(--px-color-info-light-9);
|
|
460
460
|
--px-button-border-color: var(--px-color-info);
|
|
@@ -468,10 +468,10 @@
|
|
|
468
468
|
--px-button-disabled-bg-color: var(--px-color-info-light-9);
|
|
469
469
|
--px-button-disabled-border-color: var(--px-color-info-light-7);
|
|
470
470
|
}
|
|
471
|
-
.px-button--info.is-plain[data-v-
|
|
471
|
+
.px-button--info.is-plain[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading) {
|
|
472
472
|
--px-button-shadow-color: var(--px-color-info-dark);
|
|
473
473
|
}
|
|
474
|
-
.px-button--danger[data-v-
|
|
474
|
+
.px-button--danger[data-v-6be339e2] {
|
|
475
475
|
--px-button-text-color: var(--px-color-white);
|
|
476
476
|
--px-button-bg-color: var(--px-color-danger);
|
|
477
477
|
--px-button-border-color: var(--px-color-danger-dark);
|
|
@@ -487,7 +487,7 @@
|
|
|
487
487
|
--px-button-disabled-border-color: var(--px-color-danger-light-5);
|
|
488
488
|
}
|
|
489
489
|
/* Dash variant for type buttons */
|
|
490
|
-
.px-button--danger.is-dash[data-v-
|
|
490
|
+
.px-button--danger.is-dash[data-v-6be339e2] {
|
|
491
491
|
--px-button-text-color: var(--px-color-danger);
|
|
492
492
|
--px-button-bg-color: var(--px-color-danger-light-9);
|
|
493
493
|
--px-button-border-color: var(--px-color-danger);
|
|
@@ -503,7 +503,7 @@
|
|
|
503
503
|
--px-button-disabled-border-color: var(--px-color-danger-light-5);
|
|
504
504
|
}
|
|
505
505
|
/* Ghost variant for type buttons */
|
|
506
|
-
.px-button--danger.is-ghost[data-v-
|
|
506
|
+
.px-button--danger.is-ghost[data-v-6be339e2] {
|
|
507
507
|
--px-button-text-color: var(--px-color-danger);
|
|
508
508
|
--px-button-shadow-color: transparent;
|
|
509
509
|
--px-button-hover-text-color: var(--px-color-danger-dark);
|
|
@@ -514,7 +514,7 @@
|
|
|
514
514
|
--px-button-disabled-bg-color: transparent;
|
|
515
515
|
}
|
|
516
516
|
/* Plain variant for type buttons */
|
|
517
|
-
.px-button--danger.is-plain[data-v-
|
|
517
|
+
.px-button--danger.is-plain[data-v-6be339e2] {
|
|
518
518
|
--px-button-text-color: var(--px-color-danger);
|
|
519
519
|
--px-button-bg-color: var(--px-color-danger-light-9);
|
|
520
520
|
--px-button-border-color: var(--px-color-danger);
|
|
@@ -528,69 +528,69 @@
|
|
|
528
528
|
--px-button-disabled-bg-color: var(--px-color-danger-light-9);
|
|
529
529
|
--px-button-disabled-border-color: var(--px-color-danger-light-7);
|
|
530
530
|
}
|
|
531
|
-
.px-button--danger.is-plain[data-v-
|
|
531
|
+
.px-button--danger.is-plain[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading) {
|
|
532
532
|
--px-button-shadow-color: var(--px-color-danger-dark);
|
|
533
533
|
}
|
|
534
534
|
/* Size variants */
|
|
535
|
-
.px-button--large[data-v-
|
|
535
|
+
.px-button--large[data-v-6be339e2] {
|
|
536
536
|
--px-button-size: 44px;
|
|
537
537
|
height: var(--px-button-size);
|
|
538
538
|
padding: 12px 24px;
|
|
539
539
|
font-size: var(--px-font-size-large);
|
|
540
540
|
}
|
|
541
|
-
.px-button--large.is-circle[data-v-
|
|
541
|
+
.px-button--large.is-circle[data-v-6be339e2] {
|
|
542
542
|
padding: 12px;
|
|
543
543
|
width: 44px;
|
|
544
544
|
}
|
|
545
|
-
.px-button--small[data-v-
|
|
545
|
+
.px-button--small[data-v-6be339e2] {
|
|
546
546
|
--px-button-size: 28px;
|
|
547
547
|
height: var(--px-button-size);
|
|
548
548
|
padding: 4px 12px;
|
|
549
549
|
font-size: var(--px-font-size-small);
|
|
550
550
|
filter: drop-shadow(2px 2px 0px var(--px-button-shadow-color));
|
|
551
551
|
}
|
|
552
|
-
.px-button--small[data-v-
|
|
552
|
+
.px-button--small[data-v-6be339e2]:hover:not(.is-disabled):not(.is-loading) {
|
|
553
553
|
transform: translate(-1px, -1px);
|
|
554
554
|
filter: drop-shadow(3px 3px 0px var(--px-button-shadow-color));
|
|
555
555
|
}
|
|
556
|
-
.px-button--small[data-v-
|
|
556
|
+
.px-button--small[data-v-6be339e2]:active:not(.is-disabled):not(.is-loading) {
|
|
557
557
|
transform: translate(1px, 1px);
|
|
558
558
|
filter: drop-shadow(1px 1px 0px var(--px-button-shadow-color));
|
|
559
559
|
}
|
|
560
|
-
.px-button--small.is-circle[data-v-
|
|
560
|
+
.px-button--small.is-circle[data-v-6be339e2] {
|
|
561
561
|
padding: 4px;
|
|
562
562
|
width: 28px;
|
|
563
563
|
}
|
|
564
|
-
.px-button--small [class*='px-icon'][data-v-
|
|
564
|
+
.px-button--small [class*='px-icon'][data-v-6be339e2] {
|
|
565
565
|
width: 12px;
|
|
566
566
|
height: 12px;
|
|
567
567
|
}
|
|
568
568
|
/* Button Group */
|
|
569
|
-
.px-button-group[data-v-
|
|
569
|
+
.px-button-group[data-v-6be339e2] {
|
|
570
570
|
display: inline-flex;
|
|
571
571
|
vertical-align: middle;
|
|
572
572
|
/* Unified shadow for the whole group — traces all buttons' pixel shapes */
|
|
573
573
|
filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-shadow-color));
|
|
574
574
|
}
|
|
575
575
|
/* Buttons keep their pseudo-element borders, group provides unified shadow */
|
|
576
|
-
.px-button-group[data-v-
|
|
576
|
+
.px-button-group[data-v-6be339e2] > .px-button {
|
|
577
577
|
filter: none;
|
|
578
578
|
margin-left: 0;
|
|
579
579
|
}
|
|
580
|
-
.px-button-group[data-v-
|
|
580
|
+
.px-button-group[data-v-6be339e2] > .px-button:not(:first-child) {
|
|
581
581
|
margin-left: -2px;
|
|
582
582
|
}
|
|
583
|
-
.px-button-group[data-v-
|
|
583
|
+
.px-button-group[data-v-6be339e2] > .px-button:hover:not(.is-disabled):not(.is-loading) {
|
|
584
584
|
transform: none;
|
|
585
585
|
filter: none;
|
|
586
586
|
z-index: 1;
|
|
587
587
|
}
|
|
588
|
-
.px-button-group[data-v-
|
|
588
|
+
.px-button-group[data-v-6be339e2] > .px-button:active:not(.is-disabled):not(.is-loading) {
|
|
589
589
|
transform: none;
|
|
590
590
|
filter: none;
|
|
591
591
|
}
|
|
592
592
|
/* First button (multi): notched left, straight right */
|
|
593
|
-
.px-button-group[data-v-
|
|
593
|
+
.px-button-group[data-v-6be339e2] > .px-button:first-child:not(:last-child)::before, .px-button-group[data-v-6be339e2] > .px-button:first-child:not(:last-child)::after {
|
|
594
594
|
clip-path: polygon(
|
|
595
595
|
0 4px, 2px 4px, 2px 2px, 4px 2px, 4px 0,
|
|
596
596
|
100% 0,
|
|
@@ -599,7 +599,7 @@
|
|
|
599
599
|
);
|
|
600
600
|
}
|
|
601
601
|
/* Last button (multi): straight left, notched right */
|
|
602
|
-
.px-button-group[data-v-
|
|
602
|
+
.px-button-group[data-v-6be339e2] > .px-button:last-child:not(:first-child)::before, .px-button-group[data-v-6be339e2] > .px-button:last-child:not(:first-child)::after {
|
|
603
603
|
clip-path: polygon(
|
|
604
604
|
0 0,
|
|
605
605
|
calc(100% - 4px) 0, calc(100% - 4px) 2px, calc(100% - 2px) 2px, calc(100% - 2px) 4px, 100% 4px,
|
|
@@ -608,7 +608,7 @@
|
|
|
608
608
|
);
|
|
609
609
|
}
|
|
610
610
|
/* Middle buttons: straight rectangle, no notches */
|
|
611
|
-
.px-button-group[data-v-
|
|
611
|
+
.px-button-group[data-v-6be339e2] > .px-button:not(:first-child):not(:last-child)::before, .px-button-group[data-v-6be339e2] > .px-button:not(:first-child):not(:last-child)::after {
|
|
612
612
|
clip-path: none;
|
|
613
613
|
}
|
|
614
614
|
/* Button Group Variables */
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const PxBadge: {
|
|
2
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('packages/core').BadgeProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
|
|
3
|
+
size: import('packages/core').BadgeSize;
|
|
4
|
+
type: import('packages/core').BadgeType;
|
|
5
|
+
}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLSpanElement, import('vue').ComponentProvideOptions, {
|
|
6
|
+
P: {};
|
|
7
|
+
B: {};
|
|
8
|
+
D: {};
|
|
9
|
+
C: {};
|
|
10
|
+
M: {};
|
|
11
|
+
Defaults: {};
|
|
12
|
+
}, Readonly<import('packages/core').BadgeProps> & Readonly<{}>, {}, {}, {}, {}, {
|
|
13
|
+
size: import('packages/core').BadgeSize;
|
|
14
|
+
type: import('packages/core').BadgeType;
|
|
15
|
+
}>;
|
|
16
|
+
__isFragment?: never;
|
|
17
|
+
__isTeleport?: never;
|
|
18
|
+
__isSuspense?: never;
|
|
19
|
+
} & import('vue').ComponentOptionsBase<Readonly<import('packages/core').BadgeProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
20
|
+
size: import('packages/core').BadgeSize;
|
|
21
|
+
type: import('packages/core').BadgeType;
|
|
22
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
|
|
23
|
+
$slots: {
|
|
24
|
+
default?(_: {}): any;
|
|
25
|
+
};
|
|
26
|
+
}) & import('vue').Plugin;
|
|
27
|
+
export * from './types';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type BadgeType = 'primary' | 'success' | 'info' | 'warning' | 'danger';
|
|
2
|
+
export type BadgeSize = 'large' | 'default' | 'small';
|
|
3
|
+
export interface BadgeProps {
|
|
4
|
+
type?: BadgeType;
|
|
5
|
+
size?: BadgeSize;
|
|
6
|
+
outline?: boolean;
|
|
7
|
+
dash?: boolean;
|
|
8
|
+
color?: string;
|
|
9
|
+
round?: boolean;
|
|
10
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ColorTemplate } from '@sakana-element/utils';
|
|
1
2
|
import { InjectionKey } from 'vue';
|
|
2
3
|
import { ButtonGroupContext } from './types';
|
|
3
4
|
export declare const BUTTON_GROUP_CTX_KEY: InjectionKey<ButtonGroupContext>;
|
|
5
|
+
export declare const BUTTON_COLOR_TEMPLATES: Record<string, ColorTemplate>;
|
|
@@ -21,5 +21,5 @@ export declare function useSystemTheme(): {
|
|
|
21
21
|
/** Whether system prefers dark mode */
|
|
22
22
|
prefersDark: Ref<boolean, boolean>;
|
|
23
23
|
/** System color scheme preference */
|
|
24
|
-
prefers: Ref<"
|
|
24
|
+
prefers: Ref<"dark" | "light", "dark" | "light">;
|
|
25
25
|
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Darken a hex color by a percentage (0-100)
|
|
3
|
+
*/
|
|
4
|
+
export declare function darken(hex: string, amount: number): string;
|
|
5
|
+
/**
|
|
6
|
+
* Lighten a hex color by a percentage (0-100)
|
|
7
|
+
*/
|
|
8
|
+
export declare function lighten(hex: string, amount: number): string;
|
|
9
|
+
/**
|
|
10
|
+
* Determine if text should be white or dark based on background luminance
|
|
11
|
+
*/
|
|
12
|
+
export declare function getTextColor(hex: string): string;
|
|
13
|
+
/** Mapping from CSS variable suffix → palette key */
|
|
14
|
+
export type ColorTemplate = Record<string, string>;
|
|
15
|
+
/**
|
|
16
|
+
* Build a standard color palette from a hex color.
|
|
17
|
+
* Components can extend this with additional derived colors.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createColorPalette(hex: string): Record<string, string>;
|
|
20
|
+
/**
|
|
21
|
+
* Resolve a color template into CSS custom properties.
|
|
22
|
+
*
|
|
23
|
+
* @param palette - Pre-computed color values (e.g. from createColorPalette)
|
|
24
|
+
* @param prefix - CSS variable prefix (e.g. 'px-alert', 'px-badge')
|
|
25
|
+
* @param template - Maps CSS variable suffix → palette key
|
|
26
|
+
* @returns Record to bind via :style
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveColorVars(palette: Record<string, string>, prefix: string, template: ColorTemplate): Record<string, string>;
|
|
29
|
+
/**
|
|
30
|
+
* Shared variant templates for simple components (Alert, Badge).
|
|
31
|
+
* Each key maps a CSS variable suffix to a palette color key.
|
|
32
|
+
*/
|
|
33
|
+
export declare const SIMPLE_COLOR_TEMPLATES: Record<string, ColorTemplate>;
|
|
@@ -10,6 +10,7 @@ export declare const RenderVnode: import('vue').DefineComponent<import('vue').Ex
|
|
|
10
10
|
required: true;
|
|
11
11
|
};
|
|
12
12
|
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
13
|
+
export * from './color';
|
|
13
14
|
export * from './error';
|
|
14
15
|
export * from './icon-map';
|
|
15
16
|
export * from './icon-registry';
|