vanilla-jui 1.7.10 → 1.7.11
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/dist/index.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/accordion.ts +1 -1
- package/src/components/flow.ts +1 -1
- package/src/components/form.ts +1 -1
- package/src/components/modal.ts +1 -1
- package/src/css/index.css +1 -2
- package/src/css/layout.css +156 -63
- package/src/css/status.css +0 -1
- package/src/css/themes/default/accordion.css +37 -1
- package/src/css/themes/default/avatar.css +23 -1
- package/src/css/themes/default/badge.css +20 -3
- package/src/css/themes/default/breadcrumb.css +65 -1
- package/src/css/themes/default/button.css +64 -11
- package/src/css/themes/default/drop.css +19 -1
- package/src/css/themes/default/editor.css +781 -7
- package/src/css/themes/default/form.css +650 -2
- package/src/css/themes/default/index.css +17 -14
- package/src/css/themes/default/loading.css +144 -2
- package/src/css/themes/default/menu.css +113 -125
- package/src/css/themes/default/modal.css +26 -4
- package/src/css/themes/default/offcanvas.css +19 -1
- package/src/css/themes/default/pagination.css +13 -1
- package/src/css/themes/default/swiper.css +99 -1
- package/src/css/themes/default/tabs.css +50 -1
- package/src/css/themes/default/theme-palette.css +24 -1
- package/src/css/themes/default/tip.css +36 -1
- package/src/css/themes/default/toast.css +42 -1
- package/src/css/themes/default/toolbar.css +29 -1
- package/src/css/themes/default/tooltip.css +8 -2
- package/src/css/themes/default/tree.css +40 -3
- package/src/css/accordion.css +0 -47
- package/src/css/avatar.css +0 -27
- package/src/css/badge.css +0 -8
- package/src/css/breadcrumb.css +0 -71
- package/src/css/button.css +0 -32
- package/src/css/components.css +0 -28
- package/src/css/divider.css +0 -9
- package/src/css/drop.css +0 -21
- package/src/css/editor.css +0 -794
- package/src/css/form.css +0 -657
- package/src/css/loading.css +0 -150
- package/src/css/menu.css +0 -74
- package/src/css/modal.css +0 -33
- package/src/css/offcanvas.css +0 -23
- package/src/css/pagination.css +0 -15
- package/src/css/popup.css +0 -66
- package/src/css/skeleton.css +0 -72
- package/src/css/swiper.css +0 -107
- package/src/css/tabs.css +0 -58
- package/src/css/tag.css +0 -36
- package/src/css/theme-palette.css +0 -28
- package/src/css/themes/default/popup.css +0 -7
- package/src/css/themes/default/tag.css +0 -85
- package/src/css/tip.css +0 -40
- package/src/css/toast.css +0 -54
- package/src/css/toolbar.css +0 -34
- package/src/css/tooltip.css +0 -12
- package/src/css/tree.css +0 -51
- /package/src/css/{flow.css → themes/default/flow.css} +0 -0
package/package.json
CHANGED
|
@@ -124,7 +124,7 @@ const DEFAULT_CLASS_NAMES: AccordionClassNames = {
|
|
|
124
124
|
root: 'j-accordion',
|
|
125
125
|
header: 'accordion-header',
|
|
126
126
|
title: 'header-title',
|
|
127
|
-
arrow: 'header-arrow j-button is-
|
|
127
|
+
arrow: 'header-arrow j-button is-ghost is-sm is-icon',
|
|
128
128
|
panel: 'accordion-panel',
|
|
129
129
|
content: 'panel-content',
|
|
130
130
|
};
|
package/src/components/flow.ts
CHANGED
package/src/components/form.ts
CHANGED
|
@@ -199,7 +199,7 @@ const DEFAULT_CLASS_NAMES: FormClassNames = {
|
|
|
199
199
|
helpInvalid: 'is-invalid',
|
|
200
200
|
buttons: 'form-buttons',
|
|
201
201
|
button: 'j-button',
|
|
202
|
-
submitBtn: 'is-
|
|
202
|
+
submitBtn: 'is-solid',
|
|
203
203
|
resetBtn: 'is-ghost',
|
|
204
204
|
input: 'j-input',
|
|
205
205
|
textarea: 'j-textarea',
|
package/src/components/modal.ts
CHANGED
|
@@ -139,7 +139,7 @@ const DEFAULT_CLASS_NAMES: ModalClassNames = {
|
|
|
139
139
|
button: 'j-button',
|
|
140
140
|
closeBtn: 'is-icon is-sm is-ghost',
|
|
141
141
|
cancelBtn: 'is-ghost',
|
|
142
|
-
confirmBtn: 'is-
|
|
142
|
+
confirmBtn: 'is-solid',
|
|
143
143
|
};
|
|
144
144
|
|
|
145
145
|
function createDefaultText(): ModalText {
|
package/src/css/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@layer tokens,
|
|
1
|
+
@layer tokens, layout, animation, gradient, icon, font, components, status;
|
|
2
2
|
|
|
3
3
|
@import url('./tokens.css');
|
|
4
4
|
@import url('./layout.css');
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
@import url('./icon.css');
|
|
8
8
|
@import url('./font.css');
|
|
9
9
|
|
|
10
|
-
@import url('./components.css');
|
|
11
10
|
@import url('./themes/index.css');
|
|
12
11
|
|
|
13
12
|
@import url('./status.css');
|
package/src/css/layout.css
CHANGED
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
color-scheme: dark;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
html,
|
|
23
|
+
body {
|
|
24
|
+
height: 100%;
|
|
25
|
+
}
|
|
26
|
+
|
|
22
27
|
body {
|
|
23
28
|
tab-size: 4;
|
|
24
29
|
scroll-behavior: smooth;
|
|
@@ -27,7 +32,7 @@
|
|
|
27
32
|
Arial, sans-serif;
|
|
28
33
|
color: var(--ui-fg);
|
|
29
34
|
background-color: var(--ui-bg);
|
|
30
|
-
min-width:
|
|
35
|
+
min-width: 320px;
|
|
31
36
|
font-size: var(--font-size-md);
|
|
32
37
|
margin: 0;
|
|
33
38
|
}
|
|
@@ -142,10 +147,10 @@
|
|
|
142
147
|
}
|
|
143
148
|
|
|
144
149
|
/* ==============================
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
150
|
+
* 响应式 Flex 布局系统
|
|
151
|
+
* 列类名 flex-col-* 避免与 Tailwind 冲突
|
|
152
|
+
* 建议:Flex 更适合一维排列(如导航、表单)
|
|
153
|
+
* ============================ */
|
|
149
154
|
|
|
150
155
|
/* 容器:居中 + 最大宽度 */
|
|
151
156
|
.container {
|
|
@@ -272,8 +277,8 @@
|
|
|
272
277
|
}
|
|
273
278
|
|
|
274
279
|
/* ============================================
|
|
275
|
-
|
|
276
|
-
|
|
280
|
+
小屏幕 sm (≥576px)
|
|
281
|
+
============================================ */
|
|
277
282
|
@media (min-width: 576px) {
|
|
278
283
|
.flex-col-sm-1 {
|
|
279
284
|
--span: 1;
|
|
@@ -325,8 +330,8 @@
|
|
|
325
330
|
}
|
|
326
331
|
|
|
327
332
|
/* ============================================
|
|
328
|
-
|
|
329
|
-
|
|
333
|
+
中屏幕 md (≥768px)
|
|
334
|
+
============================================ */
|
|
330
335
|
@media (min-width: 768px) {
|
|
331
336
|
.flex-col-md-1 {
|
|
332
337
|
--span: 1;
|
|
@@ -378,8 +383,8 @@
|
|
|
378
383
|
}
|
|
379
384
|
|
|
380
385
|
/* ============================================
|
|
381
|
-
|
|
382
|
-
|
|
386
|
+
大屏幕 lg (≥992px)
|
|
387
|
+
============================================ */
|
|
383
388
|
@media (min-width: 992px) {
|
|
384
389
|
.flex-col-lg-1 {
|
|
385
390
|
--span: 1;
|
|
@@ -431,8 +436,8 @@
|
|
|
431
436
|
}
|
|
432
437
|
|
|
433
438
|
/* ============================================
|
|
434
|
-
|
|
435
|
-
|
|
439
|
+
超大屏幕 xl (≥1200px)
|
|
440
|
+
============================================ */
|
|
436
441
|
@media (min-width: 1200px) {
|
|
437
442
|
.flex-col-xl-1 {
|
|
438
443
|
--span: 1;
|
|
@@ -484,8 +489,8 @@
|
|
|
484
489
|
}
|
|
485
490
|
|
|
486
491
|
/* ============================================
|
|
487
|
-
|
|
488
|
-
|
|
492
|
+
超大屏幕 xxl (≥1400px) - 可选
|
|
493
|
+
============================================ */
|
|
489
494
|
@media (min-width: 1400px) {
|
|
490
495
|
.flex-col-xxl-1 {
|
|
491
496
|
--span: 1;
|
|
@@ -537,10 +542,10 @@
|
|
|
537
542
|
}
|
|
538
543
|
|
|
539
544
|
/* ==============================
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
545
|
+
* 响应式 Grid 布局系统
|
|
546
|
+
* 类名前缀 grid- 避免命名冲突
|
|
547
|
+
* 建议:Grid 更适合二维布局(如卡片网格、仪表盘)
|
|
548
|
+
* ============================== */
|
|
544
549
|
|
|
545
550
|
/* Grid 容器:自动 gap + 响应式列 */
|
|
546
551
|
.grid-container {
|
|
@@ -601,9 +606,9 @@
|
|
|
601
606
|
}
|
|
602
607
|
|
|
603
608
|
/*
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
609
|
+
* 自动填充:最小宽度 + 自适应列数
|
|
610
|
+
* 建议:grid-cols-auto-* 用于自适应卡片布局(如商品列表),非常实用。
|
|
611
|
+
*/
|
|
607
612
|
.grid-col-auto-150 {
|
|
608
613
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
609
614
|
}
|
|
@@ -793,84 +798,172 @@
|
|
|
793
798
|
aspect-ratio: auto;
|
|
794
799
|
}
|
|
795
800
|
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
columns: auto;
|
|
801
|
+
.w-full {
|
|
802
|
+
width: 100%;
|
|
799
803
|
}
|
|
800
804
|
|
|
801
|
-
.
|
|
802
|
-
|
|
805
|
+
.w-half {
|
|
806
|
+
width: 50%;
|
|
803
807
|
}
|
|
804
808
|
|
|
805
|
-
.
|
|
806
|
-
|
|
809
|
+
.w-screen {
|
|
810
|
+
width: 100vw;
|
|
807
811
|
}
|
|
808
812
|
|
|
809
|
-
|
|
810
|
-
|
|
813
|
+
/* ============================================
|
|
814
|
+
Divider
|
|
815
|
+
============================================ */
|
|
816
|
+
.divider {
|
|
817
|
+
align-self: stretch;
|
|
818
|
+
border-color: currentColor;
|
|
819
|
+
border-left-width: 1px;
|
|
820
|
+
border-top-width: 1px;
|
|
821
|
+
opacity: 0.1;
|
|
811
822
|
}
|
|
812
823
|
|
|
813
|
-
|
|
814
|
-
|
|
824
|
+
/* ============================================
|
|
825
|
+
Skeleton
|
|
826
|
+
============================================ */
|
|
827
|
+
.j-skeleton {
|
|
828
|
+
display: block;
|
|
829
|
+
width: 100%;
|
|
830
|
+
min-height: var(--el-height-2xs);
|
|
831
|
+
border-radius: var(--radius-sm);
|
|
832
|
+
background: var(--ui-surface-muted);
|
|
833
|
+
color: transparent;
|
|
834
|
+
pointer-events: none;
|
|
835
|
+
user-select: none;
|
|
836
|
+
animation: animate-pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
815
837
|
}
|
|
816
838
|
|
|
817
|
-
.
|
|
818
|
-
|
|
839
|
+
.j-skeleton::selection {
|
|
840
|
+
color: transparent;
|
|
841
|
+
background: transparent;
|
|
819
842
|
}
|
|
820
843
|
|
|
821
|
-
.
|
|
822
|
-
|
|
844
|
+
.j-skeleton.skeleton-inline {
|
|
845
|
+
display: inline-block;
|
|
846
|
+
width: 8rem;
|
|
847
|
+
vertical-align: middle;
|
|
823
848
|
}
|
|
824
849
|
|
|
825
|
-
.
|
|
826
|
-
|
|
850
|
+
.j-skeleton.skeleton-text {
|
|
851
|
+
height: var(--el-height-sm);
|
|
852
|
+
min-height: var(--el-height-sm);
|
|
827
853
|
}
|
|
828
854
|
|
|
829
|
-
.
|
|
830
|
-
|
|
855
|
+
.j-skeleton.skeleton-title {
|
|
856
|
+
width: 60%;
|
|
857
|
+
height: var(--el-height-md);
|
|
858
|
+
min-height: var(--el-height-md);
|
|
831
859
|
}
|
|
832
860
|
|
|
833
|
-
.
|
|
834
|
-
|
|
861
|
+
.j-skeleton.skeleton-block {
|
|
862
|
+
height: calc(var(--el-height-md) * 4);
|
|
863
|
+
min-height: calc(var(--el-height-md) * 4);
|
|
835
864
|
}
|
|
836
865
|
|
|
837
|
-
.
|
|
838
|
-
|
|
866
|
+
.j-skeleton.skeleton-avatar,
|
|
867
|
+
.j-skeleton.skeleton-circle {
|
|
868
|
+
aspect-ratio: 1;
|
|
869
|
+
border-radius: 999px;
|
|
839
870
|
}
|
|
840
871
|
|
|
841
|
-
.
|
|
842
|
-
|
|
872
|
+
.j-skeleton.skeleton-avatar {
|
|
873
|
+
width: var(--el-height-md);
|
|
874
|
+
min-height: var(--el-height-md);
|
|
843
875
|
}
|
|
844
876
|
|
|
845
|
-
.
|
|
846
|
-
|
|
877
|
+
.j-skeleton.skeleton-button {
|
|
878
|
+
width: 5rem;
|
|
879
|
+
min-height: var(--el-height-md);
|
|
847
880
|
}
|
|
848
881
|
|
|
849
|
-
.
|
|
850
|
-
|
|
882
|
+
.j-skeleton.skeleton-image {
|
|
883
|
+
aspect-ratio: 16 / 9;
|
|
884
|
+
min-height: 0;
|
|
851
885
|
}
|
|
852
886
|
|
|
853
|
-
.
|
|
854
|
-
|
|
887
|
+
.j-skeleton.skeleton-static,
|
|
888
|
+
.j-skeleton[aria-busy='false'] {
|
|
889
|
+
animation: none;
|
|
855
890
|
}
|
|
856
891
|
|
|
857
|
-
|
|
858
|
-
|
|
892
|
+
@media (prefers-reduced-motion: reduce) {
|
|
893
|
+
.j-skeleton {
|
|
894
|
+
animation: none;
|
|
895
|
+
}
|
|
859
896
|
}
|
|
860
897
|
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
898
|
+
/* ============================================
|
|
899
|
+
Popup
|
|
900
|
+
============================================ */
|
|
901
|
+
.j-popup-layout {
|
|
902
|
+
background: var(--ui-popup-bg);
|
|
903
|
+
backdrop-filter: blur(4px);
|
|
904
|
+
padding: var(--s4);
|
|
864
905
|
|
|
865
|
-
|
|
906
|
+
display: flex;
|
|
907
|
+
position: fixed;
|
|
908
|
+
top: 0;
|
|
909
|
+
left: 0;
|
|
866
910
|
width: 100%;
|
|
911
|
+
height: 100%;
|
|
912
|
+
z-index: var(--z-popup);
|
|
867
913
|
}
|
|
868
914
|
|
|
869
|
-
.
|
|
870
|
-
|
|
915
|
+
.j-popup-layout,
|
|
916
|
+
.j-popup-layout.is-center,
|
|
917
|
+
.j-popup-layout.is-center-center {
|
|
918
|
+
justify-content: center;
|
|
919
|
+
align-items: center;
|
|
871
920
|
}
|
|
872
921
|
|
|
873
|
-
.
|
|
874
|
-
|
|
922
|
+
.j-popup-layout.is-top,
|
|
923
|
+
.j-popup-layout.is-top-center {
|
|
924
|
+
justify-content: center;
|
|
925
|
+
align-items: flex-start;
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
.j-popup-layout.is-bottom,
|
|
929
|
+
.j-popup-layout.is-bottom-center {
|
|
930
|
+
justify-content: center;
|
|
931
|
+
align-items: flex-end;
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
.j-popup-layout.is-left,
|
|
935
|
+
.j-popup-layout.is-left-center {
|
|
936
|
+
justify-content: flex-start;
|
|
937
|
+
align-items: center;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
.j-popup-layout.is-right,
|
|
941
|
+
.j-popup-layout.is-right-center {
|
|
942
|
+
justify-content: flex-end;
|
|
943
|
+
align-items: center;
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
.j-popup-layout.is-top-left,
|
|
947
|
+
.j-popup-layout.is-left-top {
|
|
948
|
+
justify-content: flex-start;
|
|
949
|
+
align-items: flex-start;
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
.j-popup-layout.is-top-right,
|
|
953
|
+
.j-popup-layout.is-right-top {
|
|
954
|
+
justify-content: flex-end;
|
|
955
|
+
align-items: flex-start;
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
.j-popup-layout.is-bottom-left,
|
|
959
|
+
.j-popup-layout.is-left-bottom {
|
|
960
|
+
justify-content: flex-start;
|
|
961
|
+
align-items: flex-end;
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
.j-popup-layout.is-bottom-right,
|
|
965
|
+
.j-popup-layout.is-right-bottom {
|
|
966
|
+
justify-content: flex-end;
|
|
967
|
+
align-items: flex-end;
|
|
875
968
|
}
|
|
876
969
|
}
|
package/src/css/status.css
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
@layer
|
|
1
|
+
@layer components {
|
|
2
2
|
.j-accordion {
|
|
3
3
|
--accordion-border: 1px solid var(--ui-border-subtle);
|
|
4
4
|
--accordion-icon-transform: rotate(0deg);
|
|
5
|
+
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.j-accordion[data-direction='horizontal'] {
|
|
11
|
+
flex-direction: row;
|
|
5
12
|
}
|
|
6
13
|
|
|
7
14
|
.j-accordion .accordion-header {
|
|
@@ -10,6 +17,11 @@
|
|
|
10
17
|
font-weight: var(--font-medium);
|
|
11
18
|
font-size: var(--font-size-md);
|
|
12
19
|
border-bottom: var(--accordion-border);
|
|
20
|
+
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
user-select: none;
|
|
13
25
|
}
|
|
14
26
|
|
|
15
27
|
.j-accordion[data-direction='horizontal'] .accordion-header {
|
|
@@ -32,8 +44,18 @@
|
|
|
32
44
|
border-right: 0;
|
|
33
45
|
}
|
|
34
46
|
|
|
47
|
+
.j-accordion .accordion-header .header-title {
|
|
48
|
+
flex: 1;
|
|
49
|
+
text-align: left;
|
|
50
|
+
}
|
|
51
|
+
|
|
35
52
|
.j-accordion .accordion-header .header-arrow {
|
|
36
53
|
transform: var(--accordion-icon-transform);
|
|
54
|
+
|
|
55
|
+
display: flex;
|
|
56
|
+
justify-content: center;
|
|
57
|
+
align-items: center;
|
|
58
|
+
transition: transform 0.3s ease-out;
|
|
37
59
|
}
|
|
38
60
|
|
|
39
61
|
.j-accordion .accordion-header .header-arrow svg {
|
|
@@ -58,6 +80,8 @@
|
|
|
58
80
|
margin: 0;
|
|
59
81
|
font-size: var(--font-size-md);
|
|
60
82
|
border-bottom: var(--accordion-border);
|
|
83
|
+
|
|
84
|
+
position: relative;
|
|
61
85
|
}
|
|
62
86
|
|
|
63
87
|
.j-accordion .accordion-panel[aria-hidden='false'] {
|
|
@@ -85,5 +109,17 @@
|
|
|
85
109
|
.j-accordion .accordion-panel .panel-content {
|
|
86
110
|
margin: 0;
|
|
87
111
|
padding: 0 var(--s3) var(--s2);
|
|
112
|
+
|
|
113
|
+
position: relative;
|
|
114
|
+
min-height: inherit;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.j-accordion[data-direction='horizontal']
|
|
118
|
+
.accordion-panel[aria-hidden='false']
|
|
119
|
+
.panel-content {
|
|
120
|
+
display: flex;
|
|
121
|
+
flex-direction: column;
|
|
122
|
+
justify-content: center;
|
|
123
|
+
height: 100%;
|
|
88
124
|
}
|
|
89
125
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@layer
|
|
1
|
+
@layer components {
|
|
2
2
|
.j-avatar {
|
|
3
3
|
--avatar-size: var(--el-height-md);
|
|
4
4
|
--avatar-border-radius: var(--radius-sm);
|
|
@@ -13,12 +13,23 @@
|
|
|
13
13
|
color: var(--avatar-fg);
|
|
14
14
|
font-size: var(--avatar-font-size);
|
|
15
15
|
font-weight: var(--avatar-font-weight);
|
|
16
|
+
|
|
17
|
+
display: inline-block;
|
|
18
|
+
vertical-align: middle;
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
user-select: none;
|
|
21
|
+
object-fit: cover;
|
|
16
22
|
}
|
|
17
23
|
|
|
18
24
|
.j-avatar img {
|
|
19
25
|
border-radius: var(--avatar-border-radius);
|
|
20
26
|
}
|
|
21
27
|
|
|
28
|
+
.j-avatar img,
|
|
29
|
+
.j-avatar svg {
|
|
30
|
+
margin: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
22
33
|
.j-avatar.is-2xs {
|
|
23
34
|
--avatar-size: var(--el-height-2xs);
|
|
24
35
|
}
|
|
@@ -51,6 +62,17 @@
|
|
|
51
62
|
--avatar-bg: var(--tone-subtle);
|
|
52
63
|
--avatar-fg: var(--tone-solid);
|
|
53
64
|
--avatar-font-weight: var(--font-medium);
|
|
65
|
+
|
|
66
|
+
display: flex;
|
|
67
|
+
justify-content: center;
|
|
68
|
+
align-items: center;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.j-avatar-group {
|
|
72
|
+
display: flex;
|
|
73
|
+
justify-content: center;
|
|
74
|
+
align-items: center;
|
|
75
|
+
flex-wrap: nowrap;
|
|
54
76
|
}
|
|
55
77
|
|
|
56
78
|
.j-avatar-group .j-avatar {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@layer
|
|
1
|
+
@layer components {
|
|
2
2
|
.j-badge {
|
|
3
3
|
--badge-padding: 0 calc(var(--space) * 1.5);
|
|
4
4
|
--badge-min-width: 1.25rem;
|
|
@@ -23,6 +23,11 @@
|
|
|
23
23
|
color: var(--badge-fg);
|
|
24
24
|
background-color: var(--badge-bg);
|
|
25
25
|
box-shadow: var(--badge-box-shadow);
|
|
26
|
+
|
|
27
|
+
display: inline-flex;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
align-items: center;
|
|
30
|
+
user-select: none;
|
|
26
31
|
}
|
|
27
32
|
|
|
28
33
|
.j-badge svg {
|
|
@@ -46,18 +51,30 @@
|
|
|
46
51
|
--badge-fg: var(--ui-bg);
|
|
47
52
|
}
|
|
48
53
|
|
|
49
|
-
.j-badge.is-
|
|
54
|
+
.j-badge.is-solid {
|
|
50
55
|
--badge-bg: var(--tone-solid);
|
|
51
56
|
--badge-fg: var(--tone-fg);
|
|
52
57
|
--badge-border-color: var(--tone-solid);
|
|
53
58
|
}
|
|
54
59
|
|
|
55
|
-
.j-badge.is-
|
|
60
|
+
.j-badge.is-soft {
|
|
56
61
|
--badge-bg: var(--tone-soft);
|
|
57
62
|
--badge-fg: var(--tone-text);
|
|
58
63
|
--badge-border-color: var(--tone-soft);
|
|
59
64
|
}
|
|
60
65
|
|
|
66
|
+
.j-badge.is-wash {
|
|
67
|
+
--badge-bg: var(--tone-wash);
|
|
68
|
+
--badge-fg: var(--tone-text);
|
|
69
|
+
--badge-border-color: var(--tone-wash);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.j-badge.is-primary {
|
|
73
|
+
--badge-bg: var(--state-info);
|
|
74
|
+
--badge-fg: var(--state-info-fg);
|
|
75
|
+
--badge-border-color: var(--state-info);
|
|
76
|
+
}
|
|
77
|
+
|
|
61
78
|
.j-badge.is-success {
|
|
62
79
|
--badge-bg: var(--state-success);
|
|
63
80
|
--badge-fg: var(--state-success-fg);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@layer
|
|
1
|
+
@layer components {
|
|
2
2
|
.j-breadcrumb {
|
|
3
3
|
--breadcrumb-font-size: var(--font-size-md);
|
|
4
4
|
--breadcrumb-fg: var(--ui-fg-muted);
|
|
@@ -9,6 +9,42 @@
|
|
|
9
9
|
|
|
10
10
|
font-size: var(--breadcrumb-font-size);
|
|
11
11
|
color: var(--breadcrumb-fg);
|
|
12
|
+
|
|
13
|
+
white-space: nowrap;
|
|
14
|
+
user-select: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.j-breadcrumb > ol,
|
|
18
|
+
.j-breadcrumb > ul {
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-wrap: wrap;
|
|
21
|
+
justify-content: flex-start;
|
|
22
|
+
align-items: flex-start;
|
|
23
|
+
margin: 0;
|
|
24
|
+
padding: 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.j-breadcrumb > ol li,
|
|
28
|
+
.j-breadcrumb > ul li {
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
justify-content: center;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.j-breadcrumb li + li::before {
|
|
35
|
+
content: '/';
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.j-breadcrumb.is-dot li + li::before {
|
|
39
|
+
content: '•';
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.j-breadcrumb.is-arrow li + li::before {
|
|
43
|
+
content: '>';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.j-breadcrumb.is-dash li + li::before {
|
|
47
|
+
content: '–';
|
|
12
48
|
}
|
|
13
49
|
|
|
14
50
|
.j-breadcrumb svg {
|
|
@@ -30,17 +66,45 @@
|
|
|
30
66
|
gap: var(--space);
|
|
31
67
|
color: var(--breadcrumb-link-fg);
|
|
32
68
|
padding: var(--breadcrumb-item-padding);
|
|
69
|
+
|
|
70
|
+
display: flex;
|
|
71
|
+
align-items: center;
|
|
72
|
+
justify-content: center;
|
|
73
|
+
text-decoration: none;
|
|
33
74
|
}
|
|
34
75
|
|
|
35
76
|
.j-breadcrumb a:hover {
|
|
36
77
|
--breadcrumb-link-fg: var(--tone-solid);
|
|
37
78
|
}
|
|
38
79
|
|
|
80
|
+
.j-breadcrumb a span {
|
|
81
|
+
display: flex;
|
|
82
|
+
align-items: center;
|
|
83
|
+
justify-content: center;
|
|
84
|
+
}
|
|
85
|
+
|
|
39
86
|
.j-breadcrumb li + li::before {
|
|
40
87
|
color: var(--breadcrumb-divider-fg);
|
|
41
88
|
}
|
|
42
89
|
|
|
43
90
|
.j-breadcrumb li.is-active a {
|
|
44
91
|
--breadcrumb-link-fg: var(--ui-fg-muted);
|
|
92
|
+
|
|
93
|
+
cursor: default;
|
|
94
|
+
pointer-events: none;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.j-breadcrumb li:first-child a {
|
|
98
|
+
padding-inline-start: 0;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.j-breadcrumb.is-center ul,
|
|
102
|
+
.j-breadcrumb.is-center ol {
|
|
103
|
+
justify-content: center;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.j-breadcrumb.is-right ul,
|
|
107
|
+
.j-breadcrumb.is-right ol {
|
|
108
|
+
justify-content: flex-end;
|
|
45
109
|
}
|
|
46
110
|
}
|