vanilla-jui 1.4.5 → 1.4.6

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.
Files changed (103) hide show
  1. package/README.md +6 -0
  2. package/dist/index.d.ts +1273 -1896
  3. package/dist/index.js +1 -1
  4. package/dist/index.umd.js +1 -1
  5. package/dist/style.css +1 -1
  6. package/package.json +21 -2
  7. package/src/components/accordion.ts +297 -216
  8. package/src/components/flow.ts +222 -258
  9. package/src/components/form.ts +44 -102
  10. package/src/components/menu.ts +268 -356
  11. package/src/components/modal.ts +181 -641
  12. package/src/components/offcanvas.ts +225 -106
  13. package/src/components/pagination.ts +296 -326
  14. package/src/components/sticky.ts +55 -54
  15. package/src/components/swiper.ts +237 -247
  16. package/src/components/tabs.ts +278 -271
  17. package/src/components/toc.ts +42 -46
  18. package/src/core/Component.ts +69 -47
  19. package/src/css/accordion.css +2 -2
  20. package/src/css/animation.css +1 -5
  21. package/src/css/avatar.css +1 -1
  22. package/src/css/badge.css +1 -1
  23. package/src/css/breadcrumb.css +9 -10
  24. package/src/css/button.css +1 -1
  25. package/src/css/card.css +2 -2
  26. package/src/css/color.css +974 -1002
  27. package/src/css/color_p3.css +974 -1004
  28. package/src/css/components.css +1 -1
  29. package/src/css/content.css +72 -63
  30. package/src/css/drop.css +1 -1
  31. package/src/css/editor.css +14 -14
  32. package/src/css/flow.css +4 -14
  33. package/src/css/font.css +5 -4
  34. package/src/css/form.css +76 -52
  35. package/src/css/gradient.css +299 -222
  36. package/src/css/icon.css +57 -57
  37. package/src/css/index.css +1 -1
  38. package/src/css/layout.css +13 -10
  39. package/src/css/loading.css +60 -12
  40. package/src/css/menu.css +262 -188
  41. package/src/css/modal.css +1 -1
  42. package/src/css/offcanvas.css +9 -13
  43. package/src/css/pagination.css +5 -1
  44. package/src/css/popup.css +1 -1
  45. package/src/css/skeleton.css +3 -2
  46. package/src/css/status.css +2 -3
  47. package/src/css/swiper.css +1 -1
  48. package/src/css/table.css +1 -1
  49. package/src/css/tabs.css +12 -11
  50. package/src/css/tag.css +1 -1
  51. package/src/css/theme-palette.css +19 -5
  52. package/src/css/themes/default/accordion.css +61 -61
  53. package/src/css/themes/default/avatar.css +54 -54
  54. package/src/css/themes/default/badge.css +62 -62
  55. package/src/css/themes/default/breadcrumb.css +23 -23
  56. package/src/css/themes/default/button.css +203 -203
  57. package/src/css/themes/default/content.css +53 -53
  58. package/src/css/themes/default/drop.css +10 -10
  59. package/src/css/themes/default/editor.css +9 -9
  60. package/src/css/themes/default/index.css +1 -1
  61. package/src/css/themes/default/loading.css +26 -20
  62. package/src/css/themes/default/menu.css +75 -11
  63. package/src/css/themes/default/modal.css +32 -36
  64. package/src/css/themes/default/pagination.css +7 -7
  65. package/src/css/themes/default/popup.css +6 -6
  66. package/src/css/themes/default/swiper.css +32 -32
  67. package/src/css/themes/default/table.css +16 -16
  68. package/src/css/themes/default/tabs.css +30 -30
  69. package/src/css/themes/default/tag.css +71 -71
  70. package/src/css/themes/default/theme-palette.css +11 -11
  71. package/src/css/themes/default/tip.css +42 -42
  72. package/src/css/themes/default/toast.css +60 -60
  73. package/src/css/themes/default/toolbar.css +23 -29
  74. package/src/css/themes/default/tooltip.css +43 -13
  75. package/src/css/themes/index.css +1 -1
  76. package/src/css/tip.css +2 -2
  77. package/src/css/toast.css +3 -3
  78. package/src/css/tokens.css +12 -17
  79. package/src/css/toolbar.css +9 -10
  80. package/src/css/tooltip.css +3 -2
  81. package/src/index.ts +22 -19
  82. package/src/{components → primitives}/drop.ts +58 -49
  83. package/src/{components → primitives}/icons.ts +1 -1
  84. package/src/primitives/loading.ts +23 -0
  85. package/src/primitives/parabola.ts +388 -0
  86. package/src/primitives/popup.ts +61 -0
  87. package/src/{components → primitives}/theme.ts +88 -57
  88. package/src/{components → primitives}/toast.ts +18 -25
  89. package/src/{components → primitives}/tooltip.ts +100 -25
  90. package/src/utilities/browser.ts +23 -49
  91. package/src/utilities/class-name.ts +5 -0
  92. package/src/utilities/dom.ts +14 -32
  93. package/src/utilities/function.ts +4 -0
  94. package/src/utilities/http.ts +7 -7
  95. package/src/utilities/id.ts +57 -0
  96. package/src/utilities/object.ts +5 -0
  97. package/src/utilities/timer.ts +38 -0
  98. package/src/utilities/types.ts +420 -0
  99. package/src/{components → validation}/validator.ts +64 -53
  100. package/src/components/parabola.ts +0 -335
  101. package/src/utilities/cache.ts +0 -57
  102. package/src/utilities/core.ts +0 -614
  103. package/src/utilities/storage.ts +0 -46
@@ -1,23 +1,29 @@
1
1
  @layer themes {
2
- .j-loader {
3
- --loader-position: absolute;
4
- --loader-size: var(--font-size-md);
5
- --loader-width: 1.5px;
6
- --loader-style: solid;
7
- --loader-fg: currentcolor;
8
- --loader-speed: var(--speed-xl);
9
- }
2
+ .j-loader {
3
+ --loader-position: absolute;
4
+ --loader-size: var(--font-size-md);
5
+ --loader-width: 1.5px;
6
+ --loader-style: solid;
7
+ --loader-fg: currentcolor;
8
+ --loader-speed: var(--speed-xl);
9
+ }
10
10
 
11
- .j-loader .tone-loader {
12
- --loader-width: 2px;
13
- --loader-fg: var(--tone-soft);
14
- --loader-top-fg: var(--tone-solid);
15
- }
11
+ .j-loader .tone-loader {
12
+ --loader-width: 2px;
13
+ --loader-fg: var(--tone-soft);
14
+ --loader-top-fg: var(--tone-solid);
15
+ }
16
16
 
17
- .j-loader .flow-loader {
18
- --loader-width: 2px;
19
- --loader-bg: radial-gradient(farthest-side, var(--tone-solid) 94%, #0000) top/var(--loader-width) var(--loader-width) no-repeat,
20
- conic-gradient(#0000 30%, var(--tone-solid));
21
- --loader-mask: radial-gradient(farthest-side, #0000 calc(100% - var(--loader-width)), #000 0);
22
- }
23
- }
17
+ .j-loader .flow-loader {
18
+ --loader-width: 2px;
19
+ --loader-bg:
20
+ radial-gradient(farthest-side, var(--tone-solid) 94%, #0000)
21
+ top/var(--loader-width) var(--loader-width) no-repeat,
22
+ conic-gradient(#0000 30%, var(--tone-solid));
23
+ --loader-mask: radial-gradient(
24
+ farthest-side,
25
+ #0000 calc(100% - var(--loader-width)),
26
+ #000 0
27
+ );
28
+ }
29
+ }
@@ -1,15 +1,79 @@
1
1
  @layer themes {
2
- .j-menu {
3
- --menu-font-size: var(--font-size-md);
4
- --menu-font-weight: var(--font-normal);
2
+ .j-menu {
3
+ --menu-font-size: var(--font-size-md);
4
+ --menu-font-weight: var(--font-normal);
5
+ --menu-item-icon-size: var(--font-size-lg);
5
6
 
6
- --menu-item-padding: 0.5rem 1rem;
7
- --menu-item-height: var(--el-height-md);
8
- --menu-item-line-height: var(--line-height);
7
+ --menu-item-padding: 0.5rem 1rem;
8
+ --menu-item-height: var(--el-height-md);
9
+ --menu-item-line-height: var(--line-height);
10
+ --menu-item-border-width: 1px;
11
+ --menu-item-border-style: solid;
12
+ --menu-item-border-color: transparent;
13
+ --menu-item-border-radius: var(--radius-md);
14
+ --menu-item-hover-bg: var(--tone-soft);
15
+ --menu-item-hover-fg: var(--tone-text);
16
+ --menu-item-error-bg: var(--state-danger-subtle);
17
+ --menu-item-error-tip-bg: var(--state-danger);
18
+ --menu-item-error-tip-fg: var(--state-danger-fg);
19
+ --menu-item-error-tip-font-size: var(--font-size-sm);
20
+ --menu-item-error-tip-padding: 0 var(--space);
9
21
 
10
- --menu-link-font-weight: var(--font-medium);
11
- --menu-link-gap: var(--space);
22
+ --menu-link-font-weight: var(--font-medium);
23
+ --menu-link-gap: var(--space);
24
+ --menu-link-current-fg: var(--tone-solid);
12
25
 
13
- --menu-item-icon-size: var(--font-size-lg);
14
- }
15
- }
26
+ --sub-menu-bg: var(--ui-surface-subtle);
27
+ --sub-menu-border-width: 1px;
28
+ --sub-menu-border-style: solid;
29
+ --sub-menu-border-color: var(--ui-border);
30
+ --sub-menu-border-radius: var(--radius-md);
31
+ --sub-menu-min-width: 120px;
32
+ --sub-menu-max-width: 240px;
33
+ --sub-menu-box-shadow: var(--shadow-sm);
34
+ --sub-menu-item-hover-bg: var(--tone-solid);
35
+ --sub-menu-item-hover-fg: var(--tone-fg);
36
+ --sub-menu-item-hover-outline-width: 1px;
37
+ --sub-menu-item-hover-outline-style: solid;
38
+ --sub-menu-item-hover-outline-color: var(--tone-solid);
39
+ }
40
+
41
+ .j-menu[data-menu-type='mobile'] {
42
+ --menu-font-weight: var(--font-medium);
43
+ --menu-item-line-height: var(--line-height-paragraph);
44
+ --menu-item-height: var(--el-height-xl);
45
+ --menu-item-border-radius: none;
46
+ --menu-item-hover-bg: inherit;
47
+ --menu-item-hover-fg: inherit;
48
+ --menu-item-active-bg: var(--ui-bg-subtle);
49
+ --sub-menu-border-width: 0;
50
+ --sub-menu-item-hover-outline-width: 0;
51
+ --menu-link-gap: var(--s2);
52
+ }
53
+
54
+ .j-menu[data-menu-type='bottom'] {
55
+ --menu-bg: linear-gradient(
56
+ to bottom,
57
+ var(--ui-bg-subtle) 20%,
58
+ var(--ui-border) 40%,
59
+ var(--ui-outline) 50%,
60
+ var(--ui-border) 60%,
61
+ var(--ui-bg-subtle) 80%
62
+ );
63
+ --menu-item-bg: var(--ui-bg-subtle);
64
+ --menu-item-height: var(--el-height-2xl);
65
+ --menu-item-border-radius: none;
66
+ --menu-item-hover-bg: inherit;
67
+ --menu-item-hover-fg: inherit;
68
+
69
+ --sub-menu-bg: linear-gradient(
70
+ to right,
71
+ var(--ui-surface-subtle) 20%,
72
+ var(--ui-border) 40%,
73
+ var(--ui-outline) 50%,
74
+ var(--ui-border) 60%,
75
+ var(--ui-surface-subtle) 80%
76
+ );
77
+ --sub-menu-border-radius: var(--radius-md);
78
+ }
79
+ }
@@ -1,40 +1,36 @@
1
1
  @layer themes {
2
- .j-modal {
3
- --modal-fg: var(--ui-fg);
4
- --modal-bg: var(--ui-bg);
5
- --modal-border-width: 1px;
6
- --modal-border-style: solid;
7
- --modal-border-color: var(--ui-border);
8
- --modal-border-radius: var(--radius-md);
9
- --modal-box-shadow: var(--shadow-md);
10
- --modal-min-width: 300px;
11
- --modal-max-width: 500px;
12
- --modal-max-height: 90vh;
13
- --modal-header-gap: var(--space);
14
- --modal-header-padding: var(--s4) var(--s4) 0;
15
- --modal-header-bottom-border: transparent;
16
- --modal-title-font-size: var(--font-size-md);
17
- --modal-title-font-weight: var(--font-medium);
18
- --modal-body-padding: var(--s4);
19
- --modal-body-line-height: var(--line-height-paragraph);
20
- --modal-footer-gap: var(--s2);
21
- --modal-footer-padding: 0 var(--s4) var(--s4);
22
- --modal-footer-top-border: 1px solid transparent;
23
- }
2
+ .j-modal {
3
+ --modal-fg: var(--ui-fg);
4
+ --modal-bg: var(--ui-bg);
5
+ --modal-border-width: 1px;
6
+ --modal-border-style: solid;
7
+ --modal-border-color: var(--ui-border);
8
+ --modal-border-radius: var(--radius-md);
9
+ --modal-box-shadow: var(--shadow-md);
10
+ --modal-min-width: 300px;
11
+ --modal-max-width: 500px;
12
+ --modal-max-height: 90vh;
13
+ --modal-header-gap: var(--space);
14
+ --modal-header-padding: var(--s3) var(--s4) 0;
15
+ --modal-header-bottom-border: transparent;
16
+ --modal-title-font-size: var(--font-size-md);
17
+ --modal-title-font-weight: var(--font-medium);
18
+ --modal-body-padding: var(--s4);
19
+ --modal-body-line-height: var(--line-height-paragraph);
20
+ --modal-footer-gap: var(--s2);
21
+ --modal-footer-padding: 0 var(--s4) var(--s4);
22
+ --modal-footer-top-border: 1px solid transparent;
23
+ }
24
24
 
25
- .j-modal:not(.is-fullscreen) .modal-header:has(.modal-close) {
26
- --modal-header-padding: var(--s3) var(--s4) 0;
27
- }
25
+ .j-modal.is-fullscreen .modal-header {
26
+ --modal-header-padding: var(--s4);
27
+ }
28
28
 
29
- .j-modal.is-fullscreen .modal-header {
30
- --modal-header-padding: var(--s4);
31
- }
29
+ .j-modal.is-fullscreen .modal-body {
30
+ --modal-body-padding: 0;
31
+ }
32
32
 
33
- .j-modal.is-fullscreen .modal-body {
34
- --modal-body-padding: 0;
35
- }
36
-
37
- .j-modal.is-fullscreen .modal-footer {
38
- --modal-footer-padding: var(--s4);
39
- }
40
- }
33
+ .j-modal.is-fullscreen .modal-footer {
34
+ --modal-footer-padding: var(--s4);
35
+ }
36
+ }
@@ -1,8 +1,8 @@
1
1
  @layer themes {
2
- .j-pagination {
3
- --pagination-font-size: var(--font-size-md);
4
- --pagination-link-fg: var(--ui-fg);
5
- --pagination-link-decoration: none;
6
- --pagination-gap: var(--space);
7
- }
8
- }
2
+ .j-pagination {
3
+ --pagination-font-size: var(--font-size-md);
4
+ --pagination-link-fg: var(--ui-fg);
5
+ --pagination-link-decoration: none;
6
+ --pagination-gap: var(--space);
7
+ }
8
+ }
@@ -1,7 +1,7 @@
1
1
  @layer themes {
2
- .j-popup-layout {
3
- --popup-layout-padding: var(--s4);
4
- --popup-bg: var(--ui-popup-bg);
5
- --popup-backdrop-filter: blur(4px);
6
- }
7
- }
2
+ .j-popup-layout {
3
+ --popup-layout-padding: var(--s4);
4
+ --popup-bg: var(--ui-popup-bg);
5
+ --popup-backdrop-filter: blur(4px);
6
+ }
7
+ }
@@ -1,35 +1,35 @@
1
1
  @layer themes {
2
- .j-swiper {
3
- --swiper-min-height: 180px;
4
- --swiper-title-inset: var(--s3);
5
- --swiper-title-padding: calc(var(--space) * 1.5) var(--s2);
6
- --swiper-title-color: #fff;
7
- --swiper-title-font-size: var(--font-size-lg);
8
- --swiper-title-font-weight: var(--font-bold);
9
- --swiper-title-bg: rgb(0 0 0 / 35%);
10
- --swiper-title-border-radius: var(--radius-sm);
11
- --swiper-title-line-height: var(--line-height-heading);
12
- --swiper-pagination-gap: 6px;
13
- --swiper-pagination-inline: var(--s3);
14
- --swiper-pagination-block: var(--s2);
15
- --swiper-indicator-size: 8px;
16
- --swiper-indicator-bg: rgb(255 255 255 / 62%);
17
- --swiper-indicator-hover-bg: rgb(255 255 255 / 86%);
18
- --swiper-indicator-active-width: 22px;
19
- --swiper-indicator-active-bg: #fff;
20
- --swiper-navigation-size: 36px;
21
- --swiper-navigation-fg: #fff;
22
- --swiper-navigation-bg: rgb(0 0 0 / 35%);
23
- --swiper-navigation-hover-bg: rgb(0 0 0 / 65%);
24
- --swiper-navigation-offset: var(--s2);
25
- --swiper-navigation-icon-size: 18px;
26
- }
2
+ .j-swiper {
3
+ --swiper-min-height: 180px;
4
+ --swiper-title-inset: var(--s3);
5
+ --swiper-title-padding: calc(var(--space) * 1.5) var(--s2);
6
+ --swiper-title-color: #fff;
7
+ --swiper-title-font-size: var(--font-size-lg);
8
+ --swiper-title-font-weight: var(--font-bold);
9
+ --swiper-title-bg: rgb(0 0 0 / 35%);
10
+ --swiper-title-border-radius: var(--radius-sm);
11
+ --swiper-title-line-height: var(--line-height-heading);
12
+ --swiper-pagination-gap: 6px;
13
+ --swiper-pagination-inline: var(--s3);
14
+ --swiper-pagination-block: var(--s2);
15
+ --swiper-indicator-size: 8px;
16
+ --swiper-indicator-bg: rgb(255 255 255 / 62%);
17
+ --swiper-indicator-hover-bg: rgb(255 255 255 / 86%);
18
+ --swiper-indicator-active-width: 22px;
19
+ --swiper-indicator-active-bg: #fff;
20
+ --swiper-navigation-size: 36px;
21
+ --swiper-navigation-fg: #fff;
22
+ --swiper-navigation-bg: rgb(0 0 0 / 35%);
23
+ --swiper-navigation-hover-bg: rgb(0 0 0 / 65%);
24
+ --swiper-navigation-offset: var(--s2);
25
+ --swiper-navigation-icon-size: 18px;
26
+ }
27
27
 
28
- @media (max-width: 640px) {
29
- .j-swiper {
30
- --swiper-title-font-size: var(--font-size-md);
31
- --swiper-title-inset: var(--s2);
32
- --swiper-navigation-size: 32px;
33
- }
28
+ @media (max-width: 640px) {
29
+ .j-swiper {
30
+ --swiper-title-font-size: var(--font-size-md);
31
+ --swiper-title-inset: var(--s2);
32
+ --swiper-navigation-size: 32px;
34
33
  }
35
- }
34
+ }
35
+ }
@@ -1,18 +1,18 @@
1
1
  @layer themes {
2
- .j-table-container {
3
- --table-container-max-width: 100%;
4
- }
2
+ .j-table-container {
3
+ --table-container-max-width: 100%;
4
+ }
5
5
 
6
- .j-table {
7
- --table-selected-bg: var(--tone-soft);
8
- --table-border-width: 0 0 1px;
9
- --table-border-style: solid;
10
- --table-border-color: var(--ui-border);
11
- --table-cell-padding: 0.5em 0.75em;
12
- --table-cell-text-align: left;
13
- --table-link-fg: var(--tone-solid);
14
- --table-striped-bg: var(--tone-soft);
15
- --table-hover-bg: var(--tone-soft);
16
- --table-bordered-width: 1px;
17
- }
18
- }
6
+ .j-table {
7
+ --table-selected-bg: var(--tone-soft);
8
+ --table-border-width: 0 0 1px;
9
+ --table-border-style: solid;
10
+ --table-border-color: var(--ui-border);
11
+ --table-cell-padding: 0.5em 0.75em;
12
+ --table-cell-text-align: left;
13
+ --table-link-fg: var(--tone-solid);
14
+ --table-striped-bg: var(--tone-soft);
15
+ --table-hover-bg: var(--tone-soft);
16
+ --table-bordered-width: 1px;
17
+ }
18
+ }
@@ -1,37 +1,37 @@
1
1
  @layer themes {
2
- .j-tabs {
3
- --tab-list-item-padding: var(--s2) var(--s3);
4
- --tab-list-item-margin: 0;
5
- --tab-wrap-border: 1px solid var(--ui-border-subtle);
6
- --tab-panel-padding: var(--s2) var(--s3);
7
- --tab-panel-margin: 0;
8
- --tab-panel-item-margin: 0;
9
- --tab-panel-item-min-height: 1.25em;
10
- --tab-panel-item-content-margin: 0;
11
- }
2
+ .j-tabs {
3
+ --tab-list-item-padding: var(--s2) var(--s3);
4
+ --tab-list-item-margin: 0;
5
+ --tab-list-font-weight: var(--font-medium);
6
+ --tab-wrap-border: 1px solid var(--ui-border-subtle);
7
+ --tab-panel-padding: var(--s2) var(--s3);
8
+ --tab-panel-margin: 0;
9
+ --tab-panel-item-margin: 0;
10
+ --tab-panel-item-min-height: 1.25em;
11
+ --tab-panel-item-content-margin: 0;
12
+ }
12
13
 
13
- .j-tabs.is-top .tab-wrap {
14
- border-bottom: var(--tab-wrap-border);
15
- }
14
+ .j-tabs[data-tabs-direction='top'] .tab-wrap {
15
+ border-bottom: var(--tab-wrap-border);
16
+ }
16
17
 
17
- .j-tabs.is-bottom .tab-wrap {
18
- border-top: var(--tab-wrap-border);
19
- }
18
+ .j-tabs[data-tabs-direction='bottom'] .tab-wrap {
19
+ border-top: var(--tab-wrap-border);
20
+ }
20
21
 
21
- .j-tabs.is-left .tab-wrap {
22
- border-right: var(--tab-wrap-border);
23
- }
22
+ .j-tabs[data-tabs-direction='left'] .tab-wrap {
23
+ border-right: var(--tab-wrap-border);
24
+ }
24
25
 
25
- .j-tabs.is-right .tab-wrap {
26
- border-left: var(--tab-wrap-border);
27
- }
26
+ .j-tabs[data-tabs-direction='right'] .tab-wrap {
27
+ border-left: var(--tab-wrap-border);
28
+ }
28
29
 
29
- .j-tabs .tab-list .tab-item[aria-selected="true"] {
30
- --tab-fg: var(--tone-solid);
31
- --tab-font-weight: var(--font-medium);
32
- }
30
+ .j-tabs .tab-list .tab-item[aria-selected='true'] {
31
+ --tab-fg: var(--tone-solid);
32
+ }
33
33
 
34
- .j-tabs .tab-list .tab-item[aria-disabled="true"] {
35
- --tab-fg: var(--ui-border-strong);
36
- }
37
- }
34
+ .j-tabs .tab-list .tab-item[aria-disabled='true'] {
35
+ --tab-fg: var(--ui-border-strong);
36
+ }
37
+ }
@@ -1,85 +1,85 @@
1
1
  @layer themes {
2
- .j-tag {
3
- --tag-gap: var(--space);
4
- --tag-fg: var(--ui-fg);
5
- --tag-bg: var(--ui-bg);
6
- --tag-font-size: var(--font-size-sm);
7
- --tag-font-weight: var(--font-normal);
8
- --tag-line-height: var(--line-height-self);
9
- --tag-height: var(--el-height-xs);
10
- --tag-padding: 0 calc(var(--space) * 1.5);
11
- --tag-border-width: 1px;
12
- --tag-border-style: solid;
13
- --tag-border-color: var(--ui-border);
14
- --tag-border-radius: var(--radius-md);
15
- --tag-box-shadow: var(--shadow-sm);
16
- }
2
+ .j-tag {
3
+ --tag-gap: var(--space);
4
+ --tag-fg: var(--ui-fg);
5
+ --tag-bg: var(--ui-bg);
6
+ --tag-font-size: var(--font-size-sm);
7
+ --tag-font-weight: var(--font-normal);
8
+ --tag-line-height: var(--line-height-self);
9
+ --tag-height: var(--el-height-xs);
10
+ --tag-padding: 0 calc(var(--space) * 1.5);
11
+ --tag-border-width: 1px;
12
+ --tag-border-style: solid;
13
+ --tag-border-color: var(--ui-border);
14
+ --tag-border-radius: var(--radius-md);
15
+ --tag-box-shadow: var(--shadow-sm);
16
+ }
17
17
 
18
- .j-font-md .j-tag {
19
- --tag-padding: 0 var(--s2);
20
- }
18
+ .j-font-md .j-tag {
19
+ --tag-padding: 0 var(--s2);
20
+ }
21
21
 
22
- .j-tag.is-contrast {
23
- --tag-fg: var(--ui-bg);
24
- --tag-bg: var(--ui-fg);
25
- }
22
+ .j-tag.is-contrast {
23
+ --tag-fg: var(--ui-bg);
24
+ --tag-bg: var(--ui-fg);
25
+ }
26
26
 
27
- .j-tag.is-primary {
28
- --tag-bg: var(--tone-solid);
29
- --tag-fg: var(--tone-fg);
30
- --tag-border-color: var(--tone-solid);
31
- }
27
+ .j-tag.is-primary {
28
+ --tag-bg: var(--tone-solid);
29
+ --tag-fg: var(--tone-fg);
30
+ --tag-border-color: var(--tone-solid);
31
+ }
32
32
 
33
- .j-tag.is-secondary {
34
- --tag-bg: var(--tone-soft);
35
- --tag-fg: var(--tone-text);
36
- --tag-border-color: transparent;
37
- }
33
+ .j-tag.is-secondary {
34
+ --tag-bg: var(--tone-soft);
35
+ --tag-fg: var(--tone-text);
36
+ --tag-border-color: transparent;
37
+ }
38
38
 
39
- .j-tag.is-outline {
40
- --tag-bg: transparent;
41
- --tag-fg: var(--tone-solid);
42
- --tag-border-color: var(--tone-solid);
43
- }
39
+ .j-tag.is-outline {
40
+ --tag-bg: transparent;
41
+ --tag-fg: var(--tone-solid);
42
+ --tag-border-color: var(--tone-solid);
43
+ }
44
44
 
45
- .j-tag.is-ghost {
46
- --tag-border-color: transparent;
47
- --tag-box-shadow: none;
48
- }
45
+ .j-tag.is-ghost {
46
+ --tag-border-color: transparent;
47
+ --tag-box-shadow: none;
48
+ }
49
49
 
50
- .j-tag img,
51
- .j-tag svg {
52
- --tag-icon-size: var(--font-size-sm);
53
- }
50
+ .j-tag img,
51
+ .j-tag svg {
52
+ --tag-icon-size: var(--font-size-sm);
53
+ }
54
54
 
55
- .j-tag.is-default:hover {
56
- background: var(--ui-surface-hover);
57
- }
55
+ .j-tag.is-default:hover {
56
+ background: var(--ui-surface-hover);
57
+ }
58
58
 
59
- .j-tag.is-outline:hover,
60
- .j-tag.is-ghost:hover {
61
- background: var(--tone-subtle);
62
- }
59
+ .j-tag.is-outline:hover,
60
+ .j-tag.is-ghost:hover {
61
+ background: var(--tone-subtle);
62
+ }
63
63
 
64
- .j-tag .el-icon[data-action='close']:hover {
65
- color: var(--tone-fg);
66
- background: var(--tone-solid);
67
- border-radius: 50%;
68
- }
64
+ .j-tag .el-icon[data-action='close']:hover {
65
+ color: var(--tone-fg);
66
+ background: var(--tone-solid);
67
+ border-radius: 50%;
68
+ }
69
69
 
70
- .j-tag.is-default .el-icon[data-action='close']:hover,
71
- .j-tag.is-ghost .el-icon[data-action='close']:hover {
72
- background: var(--ui-fg);
73
- color: var(--ui-bg-subtle);
74
- }
70
+ .j-tag.is-default .el-icon[data-action='close']:hover,
71
+ .j-tag.is-ghost .el-icon[data-action='close']:hover {
72
+ background: var(--ui-fg);
73
+ color: var(--ui-bg-subtle);
74
+ }
75
75
 
76
- .j-tag.is-contrast .el-icon[data-action='close']:hover {
77
- color: var(--ui-fg);
78
- background: var(--ui-bg);
79
- }
76
+ .j-tag.is-contrast .el-icon[data-action='close']:hover {
77
+ color: var(--ui-fg);
78
+ background: var(--ui-bg);
79
+ }
80
80
 
81
- .j-tag.is-primary .el-icon[data-action='close']:hover {
82
- color: var(--tone-solid);
83
- background: var(--tone-fg);
84
- }
85
- }
81
+ .j-tag.is-primary .el-icon[data-action='close']:hover {
82
+ color: var(--tone-solid);
83
+ background: var(--tone-fg);
84
+ }
85
+ }
@@ -1,12 +1,12 @@
1
1
  @layer themes {
2
- .j-theme-palette {
3
- --palette-padding: 1rem 1rem 2rem;
4
- --palette-container-gap: var(--s4);
5
- --palette-item-gap: var(--s2);
6
- --palette-item-title-font-size: var(--font-size-md);
7
- --palette-item-title-font-weight: var(--font-bold);
8
- --palette-items-columns: repeat(3, 1fr);
9
- --palette-items-gap: var(--space);
10
- --palette-items-icon-size: var(--font-size-sm);
11
- }
12
- }
2
+ .j-theme-palette {
3
+ --palette-padding: 1rem 1rem 2rem;
4
+ --palette-container-gap: var(--s4);
5
+ --palette-item-gap: var(--s2);
6
+ --palette-item-title-font-size: var(--font-size-md);
7
+ --palette-item-title-font-weight: var(--font-bold);
8
+ --palette-items-columns: repeat(3, 1fr);
9
+ --palette-items-gap: var(--space);
10
+ --palette-items-icon-size: var(--font-size-sm);
11
+ }
12
+ }