sakana-element 2.3.0 → 2.4.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 +5 -5
- package/dist/es/{Alert-BwTsp4X3.js → Alert-DfLsJvQD.js} +2 -2
- package/dist/es/{Avatar-CJu6JYV3.js → Avatar-Ci4OKsv7.js} +1 -1
- package/dist/es/{Badge-BmxZXX8k.js → Badge-B4wEToK6.js} +2 -2
- package/dist/es/{Breadcrumb-BP8MSklj.js → Breadcrumb-BFzww8jd.js} +2 -2
- package/dist/es/{Button-BJHtN7gh.js → Button-DbFviVWb.js} +3 -3
- package/dist/es/{Card-DJHkCmsz.js → Card-ClRqKkc_.js} +1 -1
- package/dist/es/ChatBubble-DFEV_lVI.js +9 -0
- package/dist/es/{Checkbox-DX8L3fyp.js → Checkbox-l86YI3Fr.js} +3 -3
- package/dist/es/{Collapse-Ir3V9CuO.js → Collapse-B67v6RSE.js} +4 -4
- package/dist/es/{ConfigProvider-CsbSqwwi.js → ConfigProvider-BCoGbcS5.js} +2 -2
- package/dist/es/Diff-BLiniLom.js +64 -0
- package/dist/es/{Divider-C7PtODSK.js → Divider-DDSOHv8G.js} +1 -1
- package/dist/es/{Drawer-C2eVmvUp.js → Drawer-apeXw6EO.js} +2 -2
- package/dist/es/{Dropdown-CVg_c2fB.js → Dropdown-By9qIErf.js} +9 -9
- package/dist/es/{FileInput-BE26BmXm.js → FileInput-CZ5jTfB_.js} +3 -3
- package/dist/es/Filter-B_1zU4Dq.js +40 -0
- package/dist/es/{Form-7lZt5ehf.js → Form-B_XDnSjK.js} +62 -61
- package/dist/es/{Icon-BLDDdSU-.js → Icon-D6qRB3pq.js} +1 -1
- package/dist/es/{Indicator-B-en-MgG.js → Indicator-C6Ip4dpP.js} +1 -1
- package/dist/es/{Input-C5HuVehE.js → Input-bThwBbNZ.js} +5 -5
- package/dist/es/Kbd-DXNjs7at.js +13 -0
- package/dist/es/{Link-Av9RdcFv.js → Link-08Ee61Fv.js} +1 -1
- package/dist/es/{Loading-CBNDUWQd.js → Loading-ByI9mjss.js} +3 -3
- package/dist/es/{Message-DgnyyuXn.js → Message-CGG-lV5I.js} +14 -14
- package/dist/es/{Notification-LYRXnVAf.js → Notification-B4clKY5h.js} +13 -13
- package/dist/es/{Overlay-CpvMhnuU.js → Overlay-6iPenJB1.js} +1 -1
- package/dist/es/Pixelate-A8J7jxDW.js +39 -0
- package/dist/es/{Popconfirm-DvxFdLrw.js → Popconfirm-gcHGcOTz.js} +12 -12
- package/dist/es/{Progress-Bc5INMhJ.js → Progress-DFUBJQ4X.js} +1 -1
- package/dist/es/{Radio-263_rtRl.js → Radio-CLBa1XIM.js} +3 -3
- package/dist/es/Resizable-BWrFr2oj.js +151 -0
- package/dist/es/{Select-7ZxUCS8z.js → Select-BtLqds1d.js} +14 -14
- package/dist/es/Skeleton-CGUQv3nQ.js +15 -0
- package/dist/es/{Switch-DiCsMJT3.js → Switch-CZJ-S77_.js} +3 -3
- package/dist/es/{Table-BvA_xzDe.js → Table-lHbxiyGq.js} +1 -1
- package/dist/es/{Tooltip-J3ji6weH.js → Tooltip-CdPqNYdn.js} +3 -3
- package/dist/es/Validator-7ZT_nXDZ.js +40 -0
- package/dist/es/{hooks-BqobYUzS.js → hooks-pU4JmsO3.js} +1 -1
- package/dist/es/index.js +98 -81
- package/dist/es/utils-BXICIEsD.js +139 -0
- package/dist/es/{vendor-DXmGx29U.js → vendor-DrBJKLFW.js} +254 -210
- package/dist/index.css +1 -1
- package/dist/{es/theme → theme}/Badge.css +151 -151
- package/dist/{es/theme → theme}/Button.css +72 -8
- package/dist/theme/ChatBubble.css +218 -0
- package/dist/{es/theme → theme}/Checkbox.css +138 -18
- package/dist/{es/theme → theme}/Collapse.css +96 -96
- package/dist/theme/Diff.css +110 -0
- package/dist/{es/theme → theme}/Divider.css +42 -3
- package/dist/{es/theme → theme}/Dropdown.css +2 -2
- package/dist/{es/theme → theme}/FileInput.css +32 -0
- package/dist/theme/Filter.css +598 -0
- package/dist/{es/theme → theme}/Input.css +414 -407
- package/dist/theme/Kbd.css +104 -0
- package/dist/{es/theme → theme}/Message.css +1 -1
- package/dist/{es/theme → theme}/Notification.css +44 -44
- package/dist/{es/theme → theme}/Radio.css +114 -48
- package/dist/theme/Resizable.css +95 -0
- package/dist/{es/theme → theme}/Select.css +198 -88
- package/dist/theme/Skeleton.css +192 -0
- package/dist/{es/theme → theme}/Switch.css +22 -3
- package/dist/theme/Validator.css +25 -0
- package/dist/types/components/ChatBubble/constants.d.ts +2 -0
- package/dist/types/components/ChatBubble/index.d.ts +27 -0
- package/dist/types/components/ChatBubble/types.d.ts +10 -0
- package/dist/types/components/Diff/constants.d.ts +4 -0
- package/dist/types/components/Diff/index.d.ts +67 -0
- package/dist/types/components/Diff/types.d.ts +29 -0
- package/dist/types/components/Dropdown/index.d.ts +3 -3
- package/dist/types/components/Filter/constants.d.ts +5 -0
- package/dist/types/components/Filter/index.d.ts +59 -0
- package/dist/types/components/Filter/types.d.ts +38 -0
- package/dist/types/components/Kbd/constants.d.ts +3 -0
- package/dist/types/components/Kbd/index.d.ts +24 -0
- package/dist/types/components/Kbd/types.d.ts +10 -0
- package/dist/types/components/Pixelate/index.d.ts +3 -3
- package/dist/types/components/Popconfirm/index.d.ts +3 -3
- package/dist/types/components/Resizable/constants.d.ts +3 -0
- package/dist/types/components/Resizable/index.d.ts +135 -0
- package/dist/types/components/Resizable/types.d.ts +52 -0
- package/dist/types/components/Select/index.d.ts +3 -3
- package/dist/types/components/Skeleton/index.d.ts +36 -0
- package/dist/types/components/Skeleton/types.d.ts +12 -0
- package/dist/types/components/Tooltip/index.d.ts +3 -3
- package/dist/types/components/Validator/index.d.ts +52 -0
- package/dist/types/components/Validator/types.d.ts +13 -0
- package/dist/types/components/index.d.ts +8 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/pixelate.d.ts +10 -0
- package/dist/types/utils/style.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 +4 -4
- package/dist/es/Pixelate-BPypBgJU.js +0 -67
- package/dist/es/utils-BS5vsvlM.js +0 -101
- /package/dist/{es/theme → theme}/Alert.css +0 -0
- /package/dist/{es/theme → theme}/Avatar.css +0 -0
- /package/dist/{es/theme → theme}/Breadcrumb.css +0 -0
- /package/dist/{es/theme → theme}/Card.css +0 -0
- /package/dist/{es/theme → theme}/Drawer.css +0 -0
- /package/dist/{es/theme → theme}/Form.css +0 -0
- /package/dist/{es/theme → theme}/Icon.css +0 -0
- /package/dist/{es/theme → theme}/Indicator.css +0 -0
- /package/dist/{es/theme → theme}/Link.css +0 -0
- /package/dist/{es/theme → theme}/Loading.css +0 -0
- /package/dist/{es/theme → theme}/Overlay.css +0 -0
- /package/dist/{es/theme → theme}/Popconfirm.css +0 -0
- /package/dist/{es/theme → theme}/Progress.css +0 -0
- /package/dist/{es/theme → theme}/Table.css +0 -0
- /package/dist/{es/theme → theme}/Tooltip.css +0 -0
- /package/dist/{es/theme → theme}/fonts/zpix.woff2 +0 -0
- /package/dist/{es/theme → theme}/index.css +0 -0
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
--px-radio-border-color: var(--px-border-color);
|
|
7
7
|
--px-radio-bg-color: var(--px-fill-color-blank);
|
|
8
8
|
--px-radio-shadow-color: var(--px-shadow-color);
|
|
9
|
+
|
|
10
|
+
/* 3D bevel — sunken look (unchecked) */
|
|
11
|
+
--px-radio-inset-highlight: inset -2px -2px 0 0 rgba(255, 255, 255, 0.2);
|
|
12
|
+
--px-radio-inset-shadow: inset 2px 2px 0 0 rgba(0, 0, 0, 0.1);
|
|
9
13
|
}
|
|
10
14
|
/* Base Radio Styles */
|
|
11
15
|
.px-radio {
|
|
@@ -26,7 +30,11 @@
|
|
|
26
30
|
.px-radio.is-disabled .px-radio__inner {
|
|
27
31
|
cursor: not-allowed;
|
|
28
32
|
}
|
|
29
|
-
/* Checked state */
|
|
33
|
+
/* Checked state — raised bevel */
|
|
34
|
+
.px-radio.is-checked {
|
|
35
|
+
--px-radio-inset-highlight: inset 2px 2px 0 0 rgba(255, 255, 255, 0.2);
|
|
36
|
+
--px-radio-inset-shadow: inset -2px -2px 0 0 rgba(0, 0, 0, 0.1);
|
|
37
|
+
}
|
|
30
38
|
.px-radio.is-checked .px-radio__inner::before {
|
|
31
39
|
background: var(--px-radio-checked-border-color);
|
|
32
40
|
}
|
|
@@ -41,6 +49,15 @@
|
|
|
41
49
|
var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-radio-checked-border-color)
|
|
42
50
|
);
|
|
43
51
|
}
|
|
52
|
+
/* Hover feedback */
|
|
53
|
+
.px-radio:hover:not(.is-disabled) {
|
|
54
|
+
--px-radio-inset-highlight: inset 2px 2px 0 0 rgba(255, 255, 255, 0.35);
|
|
55
|
+
}
|
|
56
|
+
/* Active/pressed feedback */
|
|
57
|
+
.px-radio:active:not(.is-disabled) {
|
|
58
|
+
--px-radio-inset-highlight: inset -2px -2px 0 0 rgba(255, 255, 255, 0.2);
|
|
59
|
+
--px-radio-inset-shadow: inset 2px 2px 0 0 rgba(0, 0, 0, 0.15);
|
|
60
|
+
}
|
|
44
61
|
/* Size variants */
|
|
45
62
|
.px-radio--large {
|
|
46
63
|
--px-radio-size: 22px;
|
|
@@ -90,7 +107,7 @@
|
|
|
90
107
|
var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-radio-shadow-color)
|
|
91
108
|
);
|
|
92
109
|
}
|
|
93
|
-
/* The pixel-art radio
|
|
110
|
+
/* The pixel-art radio — diamond shape with 2px stepped edges */
|
|
94
111
|
.px-radio__inner {
|
|
95
112
|
position: relative;
|
|
96
113
|
display: inline-flex;
|
|
@@ -101,19 +118,31 @@
|
|
|
101
118
|
box-sizing: border-box;
|
|
102
119
|
background: transparent;
|
|
103
120
|
|
|
104
|
-
/* Pixel
|
|
121
|
+
/* Pixel diamond clip-path: 2px staircase steps */
|
|
105
122
|
--px-radio-pixel-shape: polygon(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
123
|
+
/* Top point */
|
|
124
|
+
calc(50% - 2px) 0,
|
|
125
|
+
calc(50% + 2px) 0,
|
|
126
|
+
/* Top-right stepped edge */
|
|
127
|
+
calc(100% - 4px) calc(50% - 4px),
|
|
128
|
+
calc(100% - 2px) calc(50% - 2px),
|
|
129
|
+
100% calc(50% - 2px),
|
|
130
|
+
100% calc(50% + 2px),
|
|
131
|
+
calc(100% - 2px) calc(50% + 2px),
|
|
132
|
+
calc(100% - 4px) calc(50% + 4px),
|
|
133
|
+
/* Bottom point */
|
|
134
|
+
calc(50% + 2px) 100%,
|
|
135
|
+
calc(50% - 2px) 100%,
|
|
136
|
+
/* Bottom-left stepped edge */
|
|
137
|
+
4px calc(50% + 4px),
|
|
138
|
+
2px calc(50% + 2px),
|
|
139
|
+
0 calc(50% + 2px),
|
|
140
|
+
0 calc(50% - 2px),
|
|
141
|
+
2px calc(50% - 2px),
|
|
142
|
+
4px calc(50% - 4px)
|
|
114
143
|
);
|
|
115
144
|
}
|
|
116
|
-
/* Border layer – pixel
|
|
145
|
+
/* Border layer – pixel diamond */
|
|
117
146
|
.px-radio__inner::before {
|
|
118
147
|
content: "";
|
|
119
148
|
position: absolute;
|
|
@@ -122,16 +151,19 @@
|
|
|
122
151
|
clip-path: var(--px-radio-pixel-shape);
|
|
123
152
|
z-index: 0;
|
|
124
153
|
}
|
|
125
|
-
/* Fill layer – pixel
|
|
154
|
+
/* Fill layer – pixel diamond with 3D bevel */
|
|
126
155
|
.px-radio__inner::after {
|
|
127
156
|
content: "";
|
|
128
157
|
position: absolute;
|
|
129
158
|
inset: 2px;
|
|
130
159
|
background: var(--px-radio-bg-color);
|
|
131
160
|
clip-path: var(--px-radio-pixel-shape);
|
|
161
|
+
box-shadow:
|
|
162
|
+
var(--px-radio-inset-highlight),
|
|
163
|
+
var(--px-radio-inset-shadow);
|
|
132
164
|
z-index: 0;
|
|
133
165
|
}
|
|
134
|
-
/* Pixel dot indicator */
|
|
166
|
+
/* Pixel dot indicator — small diamond */
|
|
135
167
|
.px-radio__dot {
|
|
136
168
|
position: relative;
|
|
137
169
|
z-index: 1;
|
|
@@ -139,16 +171,8 @@
|
|
|
139
171
|
height: 6px;
|
|
140
172
|
opacity: 0;
|
|
141
173
|
background: var(--px-fill-color-blank);
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
70% 0%,
|
|
145
|
-
100% 30%,
|
|
146
|
-
100% 70%,
|
|
147
|
-
70% 100%,
|
|
148
|
-
30% 100%,
|
|
149
|
-
0% 70%,
|
|
150
|
-
0% 30%
|
|
151
|
-
);
|
|
174
|
+
/* Simple 4-point diamond at small size */
|
|
175
|
+
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
|
|
152
176
|
}
|
|
153
177
|
/* Label */
|
|
154
178
|
.px-radio__label {
|
|
@@ -204,6 +228,15 @@
|
|
|
204
228
|
var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-danger-dark)
|
|
205
229
|
);
|
|
206
230
|
}
|
|
231
|
+
/* Dark mode bevel adjustment */
|
|
232
|
+
html.dark .px-radio {
|
|
233
|
+
--px-radio-inset-highlight: inset -2px -2px 0 0 rgba(255, 255, 255, 0.08);
|
|
234
|
+
--px-radio-inset-shadow: inset 2px 2px 0 0 rgba(0, 0, 0, 0.2);
|
|
235
|
+
}
|
|
236
|
+
html.dark .px-radio.is-checked {
|
|
237
|
+
--px-radio-inset-highlight: inset 2px 2px 0 0 rgba(255, 255, 255, 0.08);
|
|
238
|
+
--px-radio-inset-shadow: inset -2px -2px 0 0 rgba(0, 0, 0, 0.2);
|
|
239
|
+
}
|
|
207
240
|
/* Radio Group */
|
|
208
241
|
.px-radio-group {
|
|
209
242
|
display: inline-flex;
|
|
@@ -219,6 +252,10 @@
|
|
|
219
252
|
--px-radio-border-color: var(--px-border-color);
|
|
220
253
|
--px-radio-bg-color: var(--px-fill-color-blank);
|
|
221
254
|
--px-radio-shadow-color: var(--px-shadow-color);
|
|
255
|
+
|
|
256
|
+
/* 3D bevel — sunken look (unchecked) */
|
|
257
|
+
--px-radio-inset-highlight: inset -2px -2px 0 0 rgba(255, 255, 255, 0.2);
|
|
258
|
+
--px-radio-inset-shadow: inset 2px 2px 0 0 rgba(0, 0, 0, 0.1);
|
|
222
259
|
}
|
|
223
260
|
/* Base Radio Styles */
|
|
224
261
|
.px-radio {
|
|
@@ -239,7 +276,11 @@
|
|
|
239
276
|
.px-radio.is-disabled .px-radio__inner {
|
|
240
277
|
cursor: not-allowed;
|
|
241
278
|
}
|
|
242
|
-
/* Checked state */
|
|
279
|
+
/* Checked state — raised bevel */
|
|
280
|
+
.px-radio.is-checked {
|
|
281
|
+
--px-radio-inset-highlight: inset 2px 2px 0 0 rgba(255, 255, 255, 0.2);
|
|
282
|
+
--px-radio-inset-shadow: inset -2px -2px 0 0 rgba(0, 0, 0, 0.1);
|
|
283
|
+
}
|
|
243
284
|
.px-radio.is-checked .px-radio__inner::before {
|
|
244
285
|
background: var(--px-radio-checked-border-color);
|
|
245
286
|
}
|
|
@@ -254,6 +295,15 @@
|
|
|
254
295
|
var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-radio-checked-border-color)
|
|
255
296
|
);
|
|
256
297
|
}
|
|
298
|
+
/* Hover feedback */
|
|
299
|
+
.px-radio:hover:not(.is-disabled) {
|
|
300
|
+
--px-radio-inset-highlight: inset 2px 2px 0 0 rgba(255, 255, 255, 0.35);
|
|
301
|
+
}
|
|
302
|
+
/* Active/pressed feedback */
|
|
303
|
+
.px-radio:active:not(.is-disabled) {
|
|
304
|
+
--px-radio-inset-highlight: inset -2px -2px 0 0 rgba(255, 255, 255, 0.2);
|
|
305
|
+
--px-radio-inset-shadow: inset 2px 2px 0 0 rgba(0, 0, 0, 0.15);
|
|
306
|
+
}
|
|
257
307
|
/* Size variants */
|
|
258
308
|
.px-radio--large {
|
|
259
309
|
--px-radio-size: 22px;
|
|
@@ -303,7 +353,7 @@
|
|
|
303
353
|
var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-radio-shadow-color)
|
|
304
354
|
);
|
|
305
355
|
}
|
|
306
|
-
/* The pixel-art radio
|
|
356
|
+
/* The pixel-art radio — diamond shape with 2px stepped edges */
|
|
307
357
|
.px-radio__inner {
|
|
308
358
|
position: relative;
|
|
309
359
|
display: inline-flex;
|
|
@@ -314,19 +364,31 @@
|
|
|
314
364
|
box-sizing: border-box;
|
|
315
365
|
background: transparent;
|
|
316
366
|
|
|
317
|
-
/* Pixel
|
|
367
|
+
/* Pixel diamond clip-path: 2px staircase steps */
|
|
318
368
|
--px-radio-pixel-shape: polygon(
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
369
|
+
/* Top point */
|
|
370
|
+
calc(50% - 2px) 0,
|
|
371
|
+
calc(50% + 2px) 0,
|
|
372
|
+
/* Top-right stepped edge */
|
|
373
|
+
calc(100% - 4px) calc(50% - 4px),
|
|
374
|
+
calc(100% - 2px) calc(50% - 2px),
|
|
375
|
+
100% calc(50% - 2px),
|
|
376
|
+
100% calc(50% + 2px),
|
|
377
|
+
calc(100% - 2px) calc(50% + 2px),
|
|
378
|
+
calc(100% - 4px) calc(50% + 4px),
|
|
379
|
+
/* Bottom point */
|
|
380
|
+
calc(50% + 2px) 100%,
|
|
381
|
+
calc(50% - 2px) 100%,
|
|
382
|
+
/* Bottom-left stepped edge */
|
|
383
|
+
4px calc(50% + 4px),
|
|
384
|
+
2px calc(50% + 2px),
|
|
385
|
+
0 calc(50% + 2px),
|
|
386
|
+
0 calc(50% - 2px),
|
|
387
|
+
2px calc(50% - 2px),
|
|
388
|
+
4px calc(50% - 4px)
|
|
327
389
|
);
|
|
328
390
|
}
|
|
329
|
-
/* Border layer – pixel
|
|
391
|
+
/* Border layer – pixel diamond */
|
|
330
392
|
.px-radio__inner::before {
|
|
331
393
|
content: "";
|
|
332
394
|
position: absolute;
|
|
@@ -335,16 +397,19 @@
|
|
|
335
397
|
clip-path: var(--px-radio-pixel-shape);
|
|
336
398
|
z-index: 0;
|
|
337
399
|
}
|
|
338
|
-
/* Fill layer – pixel
|
|
400
|
+
/* Fill layer – pixel diamond with 3D bevel */
|
|
339
401
|
.px-radio__inner::after {
|
|
340
402
|
content: "";
|
|
341
403
|
position: absolute;
|
|
342
404
|
inset: 2px;
|
|
343
405
|
background: var(--px-radio-bg-color);
|
|
344
406
|
clip-path: var(--px-radio-pixel-shape);
|
|
407
|
+
box-shadow:
|
|
408
|
+
var(--px-radio-inset-highlight),
|
|
409
|
+
var(--px-radio-inset-shadow);
|
|
345
410
|
z-index: 0;
|
|
346
411
|
}
|
|
347
|
-
/* Pixel dot indicator */
|
|
412
|
+
/* Pixel dot indicator — small diamond */
|
|
348
413
|
.px-radio__dot {
|
|
349
414
|
position: relative;
|
|
350
415
|
z-index: 1;
|
|
@@ -352,16 +417,8 @@
|
|
|
352
417
|
height: 6px;
|
|
353
418
|
opacity: 0;
|
|
354
419
|
background: var(--px-fill-color-blank);
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
70% 0%,
|
|
358
|
-
100% 30%,
|
|
359
|
-
100% 70%,
|
|
360
|
-
70% 100%,
|
|
361
|
-
30% 100%,
|
|
362
|
-
0% 70%,
|
|
363
|
-
0% 30%
|
|
364
|
-
);
|
|
420
|
+
/* Simple 4-point diamond at small size */
|
|
421
|
+
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
|
|
365
422
|
}
|
|
366
423
|
/* Label */
|
|
367
424
|
.px-radio__label {
|
|
@@ -417,6 +474,15 @@
|
|
|
417
474
|
var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-danger-dark)
|
|
418
475
|
);
|
|
419
476
|
}
|
|
477
|
+
/* Dark mode bevel adjustment */
|
|
478
|
+
html.dark .px-radio {
|
|
479
|
+
--px-radio-inset-highlight: inset -2px -2px 0 0 rgba(255, 255, 255, 0.08);
|
|
480
|
+
--px-radio-inset-shadow: inset 2px 2px 0 0 rgba(0, 0, 0, 0.2);
|
|
481
|
+
}
|
|
482
|
+
html.dark .px-radio.is-checked {
|
|
483
|
+
--px-radio-inset-highlight: inset 2px 2px 0 0 rgba(255, 255, 255, 0.08);
|
|
484
|
+
--px-radio-inset-shadow: inset -2px -2px 0 0 rgba(0, 0, 0, 0.2);
|
|
485
|
+
}
|
|
420
486
|
/* Radio Group */
|
|
421
487
|
.px-radio-group {
|
|
422
488
|
display: inline-flex;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/* Resizable Group */
|
|
2
|
+
.px-resizable-group {
|
|
3
|
+
display: flex;
|
|
4
|
+
width: 100%;
|
|
5
|
+
height: 100%;
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
}
|
|
9
|
+
.px-resizable-group.is-horizontal {
|
|
10
|
+
flex-direction: row;
|
|
11
|
+
}
|
|
12
|
+
.px-resizable-group.is-vertical {
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
}
|
|
15
|
+
/* Resizable Panel */
|
|
16
|
+
.px-resizable-panel {
|
|
17
|
+
overflow: auto;
|
|
18
|
+
position: relative;
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
}
|
|
21
|
+
.px-resizable-panel.is-collapsed {
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
}
|
|
24
|
+
/* Resizable Handle */
|
|
25
|
+
.px-resizable-handle {
|
|
26
|
+
flex: 0 0 8px;
|
|
27
|
+
position: relative;
|
|
28
|
+
display: flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
justify-content: center;
|
|
31
|
+
user-select: none;
|
|
32
|
+
z-index: 1;
|
|
33
|
+
cursor: col-resize;
|
|
34
|
+
transition: none;
|
|
35
|
+
background: var(--px-border-color);
|
|
36
|
+
box-sizing: border-box;
|
|
37
|
+
|
|
38
|
+
/* Pixel border effect via clip-path */
|
|
39
|
+
clip-path: polygon(
|
|
40
|
+
0 2px,
|
|
41
|
+
2px 2px,
|
|
42
|
+
2px 0,
|
|
43
|
+
calc(100% - 2px) 0,
|
|
44
|
+
calc(100% - 2px) 2px,
|
|
45
|
+
100% 2px,
|
|
46
|
+
100% calc(100% - 2px),
|
|
47
|
+
calc(100% - 2px) calc(100% - 2px),
|
|
48
|
+
calc(100% - 2px) 100%,
|
|
49
|
+
2px 100%,
|
|
50
|
+
2px calc(100% - 2px),
|
|
51
|
+
0 calc(100% - 2px)
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
.px-resizable-handle:hover {
|
|
55
|
+
background: var(--px-hover-border-color);
|
|
56
|
+
}
|
|
57
|
+
.px-resizable-handle:focus-visible {
|
|
58
|
+
outline: 2px solid var(--px-color-primary);
|
|
59
|
+
outline-offset: -2px;
|
|
60
|
+
}
|
|
61
|
+
/* Expanded hit area via ::before pseudo-element (not clipped by clip-path) */
|
|
62
|
+
.px-resizable-handle.has-hit-area::before {
|
|
63
|
+
content: '';
|
|
64
|
+
position: absolute;
|
|
65
|
+
inset: calc(-1 * var(--px-handle-hit-area, 0px));
|
|
66
|
+
z-index: -1;
|
|
67
|
+
}
|
|
68
|
+
/* Vertical handle */
|
|
69
|
+
.px-resizable-handle.is-vertical {
|
|
70
|
+
flex: 0 0 8px;
|
|
71
|
+
cursor: row-resize;
|
|
72
|
+
clip-path: polygon(
|
|
73
|
+
2px 0,
|
|
74
|
+
calc(100% - 2px) 0,
|
|
75
|
+
calc(100% - 2px) 2px,
|
|
76
|
+
100% 2px,
|
|
77
|
+
100% calc(100% - 2px),
|
|
78
|
+
calc(100% - 2px) calc(100% - 2px),
|
|
79
|
+
calc(100% - 2px) 100%,
|
|
80
|
+
2px 100%,
|
|
81
|
+
2px calc(100% - 2px),
|
|
82
|
+
0 calc(100% - 2px),
|
|
83
|
+
0 2px,
|
|
84
|
+
2px 2px
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
/* Dragging state */
|
|
88
|
+
.px-resizable-handle.is-dragging {
|
|
89
|
+
background: var(--px-color-primary);
|
|
90
|
+
}
|
|
91
|
+
/* Disabled state */
|
|
92
|
+
.px-resizable-handle.is-disabled {
|
|
93
|
+
cursor: not-allowed;
|
|
94
|
+
opacity: 0.5;
|
|
95
|
+
}
|