vanilla-jui 1.3.11 → 1.4.1

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 (106) hide show
  1. package/dist/index.d.ts +2921 -0
  2. package/dist/index.js +1 -1
  3. package/dist/index.umd.js +1 -1
  4. package/dist/style.css +1 -1
  5. package/package.json +4 -3
  6. package/src/components/accordion.ts +522 -0
  7. package/src/components/drop.ts +497 -0
  8. package/src/components/flow.ts +1579 -0
  9. package/src/components/form.ts +953 -0
  10. package/src/components/{icons.js → icons.ts} +24 -11
  11. package/src/components/menu.ts +615 -0
  12. package/src/components/{modal.js → modal.ts} +560 -237
  13. package/src/components/offcanvas.ts +457 -0
  14. package/src/components/{pagination.js → pagination.ts} +251 -76
  15. package/src/components/parabola.ts +335 -0
  16. package/src/components/{sticky.js → sticky.ts} +123 -98
  17. package/src/components/{swiper.js → swiper.ts} +510 -232
  18. package/src/components/tabs.ts +984 -0
  19. package/src/components/theme.ts +437 -0
  20. package/src/components/toast.ts +371 -0
  21. package/src/components/toc.ts +385 -0
  22. package/src/components/tooltip.ts +179 -0
  23. package/src/components/validator.ts +596 -0
  24. package/src/core/{Component.js → Component.ts} +134 -27
  25. package/src/css/accordion.css +0 -45
  26. package/src/css/animation.css +31 -1
  27. package/src/css/avatar.css +7 -33
  28. package/src/css/badge.css +11 -59
  29. package/src/css/breadcrumb.css +9 -32
  30. package/src/css/button.css +23 -224
  31. package/src/css/card.css +1 -1
  32. package/src/css/color.css +863 -1013
  33. package/src/css/color_p3.css +822 -975
  34. package/src/css/components.css +1 -0
  35. package/src/css/drop.css +7 -7
  36. package/src/css/flow.css +1 -1
  37. package/src/css/form.css +1 -1
  38. package/src/css/icon.css +7 -12
  39. package/src/css/index.css +5 -2
  40. package/src/css/loading.css +36 -20
  41. package/src/css/menu.css +1 -1
  42. package/src/css/modal.css +15 -44
  43. package/src/css/offcanvas.css +14 -40
  44. package/src/css/popup.css +4 -4
  45. package/src/css/status.css +0 -2
  46. package/src/css/swiper.css +35 -50
  47. package/src/css/tabs.css +9 -31
  48. package/src/css/tag.css +16 -77
  49. package/src/css/themes/default/accordion.css +62 -0
  50. package/src/css/themes/default/avatar.css +39 -0
  51. package/src/css/themes/default/badge.css +63 -0
  52. package/src/css/themes/default/breadcrumb.css +28 -0
  53. package/src/css/themes/default/button.css +204 -0
  54. package/src/css/themes/default/drop.css +11 -0
  55. package/src/css/themes/default/index.css +16 -0
  56. package/src/css/themes/default/loading.css +23 -0
  57. package/src/css/themes/default/modal.css +40 -0
  58. package/src/css/themes/default/offcanvas.css +13 -0
  59. package/src/css/themes/default/popup.css +7 -0
  60. package/src/css/themes/default/swiper.css +35 -0
  61. package/src/css/themes/default/tabs.css +37 -0
  62. package/src/css/themes/default/tag.css +85 -0
  63. package/src/css/themes/default/tip.css +49 -0
  64. package/src/css/themes/default/toast.css +70 -0
  65. package/src/css/themes/default/tooltip.css +14 -0
  66. package/src/css/themes/index.css +1 -0
  67. package/src/css/tip.css +20 -39
  68. package/src/css/toast.css +18 -80
  69. package/src/css/tokens.css +8 -3
  70. package/src/css/tooltip.css +10 -10
  71. package/src/index.ts +37 -0
  72. package/src/locales/{index.js → index.ts} +1 -2
  73. package/src/types.d.ts +1 -0
  74. package/src/utilities/browser.ts +131 -0
  75. package/src/utilities/cache.ts +57 -0
  76. package/src/utilities/core.ts +614 -0
  77. package/src/utilities/dom.ts +468 -0
  78. package/src/utilities/events.ts +106 -0
  79. package/src/utilities/http.ts +35 -0
  80. package/src/utilities/storage.ts +46 -0
  81. package/src/components/accordion.js +0 -373
  82. package/src/components/components.js +0 -0
  83. package/src/components/drop.js +0 -437
  84. package/src/components/flow.js +0 -1133
  85. package/src/components/form.js +0 -585
  86. package/src/components/menu.js +0 -422
  87. package/src/components/offcanvas.js +0 -332
  88. package/src/components/parabola.js +0 -295
  89. package/src/components/tabs.js +0 -746
  90. package/src/components/theme.js +0 -353
  91. package/src/components/toast.js +0 -329
  92. package/src/components/toc.js +0 -226
  93. package/src/components/tooltip.js +0 -86
  94. package/src/components/validator.js +0 -586
  95. package/src/index.js +0 -45
  96. package/src/locales/index.min.js +0 -1
  97. package/src/utilities/browser.js +0 -111
  98. package/src/utilities/cache.js +0 -159
  99. package/src/utilities/core.js +0 -502
  100. package/src/utilities/debug.js +0 -103
  101. package/src/utilities/dom.js +0 -313
  102. package/src/utilities/events.js +0 -69
  103. package/src/utilities/http.js +0 -30
  104. package/src/utilities/legacy-dom.js +0 -179
  105. package/src/utilities/storage.js +0 -46
  106. /package/src/icons/{index.js → index.ts} +0 -0
@@ -0,0 +1,85 @@
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
+ }
17
+
18
+ .j-font-md .j-tag {
19
+ --tag-padding: 0 var(--s2);
20
+ }
21
+
22
+ .j-tag.is-contrast {
23
+ --tag-fg: var(--ui-bg);
24
+ --tag-bg: var(--ui-fg);
25
+ }
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
+ }
32
+
33
+ .j-tag.is-secondary {
34
+ --tag-bg: var(--tone-soft);
35
+ --tag-fg: var(--tone-text);
36
+ --tag-border-color: transparent;
37
+ }
38
+
39
+ .j-tag.is-outline {
40
+ --tag-bg: transparent;
41
+ --tag-fg: var(--tone-solid);
42
+ --tag-border-color: var(--tone-solid);
43
+ }
44
+
45
+ .j-tag.is-ghost {
46
+ --tag-border-color: transparent;
47
+ --tag-box-shadow: none;
48
+ }
49
+
50
+ .j-tag img,
51
+ .j-tag svg {
52
+ --tag-icon-size: var(--font-size-sm);
53
+ }
54
+
55
+ .j-tag.is-default:hover {
56
+ background: var(--ui-surface-hover);
57
+ }
58
+
59
+ .j-tag.is-outline:hover,
60
+ .j-tag.is-ghost:hover {
61
+ background: var(--tone-subtle);
62
+ }
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
+ }
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
+ }
75
+
76
+ .j-tag.is-contrast .el-icon[data-action='close']:hover {
77
+ color: var(--ui-fg);
78
+ background: var(--ui-bg);
79
+ }
80
+
81
+ .j-tag.is-primary .el-icon[data-action='close']:hover {
82
+ color: var(--tone-solid);
83
+ background: var(--tone-fg);
84
+ }
85
+ }
@@ -0,0 +1,49 @@
1
+ @layer themes {
2
+ .j-tip {
3
+ --tip-gap: var(--s2);
4
+ --tip-width: 100%;
5
+ --tip-padding: var(--s3) var(--s4);
6
+ --tip-border-width: 1px;
7
+ --tip-border-style: solid;
8
+ --tip-border-color: var(--ui-border);
9
+ --tip-border-radius: var(--radius-md);
10
+ --tip-font-size: var(--font-size-md);
11
+ --tip-fg: var(--ui-fg);
12
+ --tip-bg: var(--ui-bg);
13
+ --tip-box-shadow: var(--shadow-sm);
14
+ --tip-icon-fg: var(--tip-fg);
15
+ }
16
+
17
+ .j-tip .tip-icon,
18
+ .j-tip .tip-icon svg {
19
+ --tip-icon-size: var(--font-size-xl);
20
+ }
21
+
22
+ .j-tip .tip-title {
23
+ --tip-title-line-height: var(--line-height-paragraph);
24
+ --tip-title-font-weight: var(--font-medium);
25
+ }
26
+
27
+ .j-tip .tip-content {
28
+ --tip-content-gap: var(--s2);
29
+ --tip-content-line-height: var(--line-height-paragraph);
30
+ }
31
+
32
+ .j-tip.is-success {
33
+ --tip-border-color: var(--state-success);
34
+ --tip-bg: var(--state-success-muted);
35
+ --tip-icon-fg: var(--state-success);
36
+ }
37
+
38
+ .j-tip.is-warning {
39
+ --tip-border-color: var(--state-warning);
40
+ --tip-bg: var(--state-warning-muted);
41
+ --tip-icon-fg: var(--state-warning);
42
+ }
43
+
44
+ .j-tip.is-danger {
45
+ --tip-border-color: var(--state-danger);
46
+ --tip-bg: var(--state-danger-muted);
47
+ --tip-icon-fg: var(--state-danger);
48
+ }
49
+ }
@@ -0,0 +1,70 @@
1
+ @layer themes {
2
+ .j-toast-container {
3
+ --toast-container-offset: var(--s2);
4
+ --toast-container-gap: var(--s2);
5
+ }
6
+
7
+ .j-toast {
8
+ --toast-padding: var(--s3) var(--s4);
9
+ --toast-font-size: var(--font-size-md);
10
+ --toast-font-weight: var(--font-medium);
11
+ --toast-min-width: 200px;
12
+ --toast-max-width: 310px;
13
+ --toast-box-shadow: var(--shadow-md);
14
+ --toast-border-width: 1px;
15
+ --toast-border-style: solid;
16
+ --toast-border-color: var(--ui-border);
17
+ --toast-border-radius: var(--radius-md);
18
+ --toast-fg: var(--ui-fg);
19
+ --toast-bg: var(--ui-bg);
20
+ }
21
+
22
+ .j-toast .toast-icon {
23
+ --toast-icon-size: var(--font-size-lg);
24
+ }
25
+
26
+ .j-toast.is-success {
27
+ --toast-fg: var(--state-success);
28
+ --toast-bg: var(--state-success-weak);
29
+ --toast-border-color: var(--state-success-border);
30
+ }
31
+
32
+ .j-toast.is-error {
33
+ --toast-fg: var(--state-danger);
34
+ --toast-bg: var(--state-danger-weak);
35
+ --toast-border-color: var(--state-danger-border);
36
+ }
37
+
38
+ .j-toast.is-warning {
39
+ --toast-fg: var(--state-warning);
40
+ --toast-bg: var(--state-warning-weak);
41
+ --toast-border-color: var(--state-warning-border);
42
+ }
43
+
44
+ .j-toast.is-primary {
45
+ --toast-fg: var(--tone-solid);
46
+ --toast-bg: var(--tone-weak);
47
+ --toast-border-color: var(--tone-border);
48
+ }
49
+
50
+ .j-toast.is-action {
51
+ --toast-gap: calc(var(--space)*4);
52
+ --toast-min-width: 280px;
53
+ }
54
+
55
+ .j-toast.is-action .toast-actions {
56
+ width: 100%;
57
+ display: flex;
58
+ justify-content: flex-end;
59
+ gap: var(--space);
60
+ }
61
+
62
+ .j-toast-lite {
63
+ font-size: var(--font-size-md);
64
+ color: var(--ui-bg);
65
+ background: var(--ui-fg);
66
+ border-radius: var(--radius-md);
67
+ padding: var(--s2) var(--s3);
68
+ max-width: calc(var(--screen-sm) / 2);
69
+ }
70
+ }
@@ -0,0 +1,14 @@
1
+ @layer themes {
2
+ .j-tooltip {
3
+ --tooltip-fg: var(--ui-bg);
4
+ --tooltip-bg: var(--ui-fg);
5
+ --tooltip-border-width: 1px;
6
+ --tooltip-border-style: solid;
7
+ --tooltip-border-color: var(--ui-border-strong);
8
+ --tooltip-border-radius: var(--radius-md);
9
+ --tooltip-max-width: 260px;
10
+ --tooltip-padding: calc(var(--space) * 1.5) var(--s2);
11
+ --tooltip-font-size: var(--font-size-md);
12
+ --tooltip-line-height: var(--line-height);
13
+ }
14
+ }
@@ -0,0 +1 @@
1
+ @import url('./default/index.css');
package/src/css/tip.css CHANGED
@@ -2,39 +2,38 @@
2
2
  .j-tip {
3
3
  position: relative;
4
4
  display: grid;
5
- width: var(--tip-width, 100%);
6
5
  grid-template-columns: 0 1fr;
7
6
  align-items: flex-start;
8
- row-gap: var(--tip-gap, calc(var(--space, 0.25rem) * 2));
9
- border-radius: var(--tip-border-radius, var(--radius-md));
10
- border-style: var(--tip-border-style, solid);
11
- border-width: var(--tip-border-width, 1px);
12
- border-color: var(--tip-border-color, var(--ui-border));
13
- padding-inline: calc(var(--space, 0.25rem) * 4);
14
- padding-block: calc(var(--space, 0.25rem) * 3);
15
- font-size: var(--tip-font-size, var(--font-size-md));
16
- color: var(--tip-color, var(--ui-fg));
17
- background-color: var(--tip-background, var(--ui-bg));
18
- box-shadow: var(--tip-box-shadow, var(--shadow-sm));
7
+ row-gap: var(--tip-gap);
8
+ width: var(--tip-width);
9
+ border-width: var(--tip-border-width);
10
+ border-style: var(--tip-border-style);
11
+ border-color: var(--tip-border-color);
12
+ border-radius: var(--tip-border-radius);
13
+ padding: var(--tip-padding);
14
+ font-size: var(--tip-font-size);
15
+ color: var(--tip-fg);
16
+ background: var(--tip-bg);
17
+ box-shadow: var(--tip-box-shadow);
19
18
  }
20
19
 
21
20
  .j-tip:has(.tip-icon) {
22
- column-gap: calc(var(--space, 0.25rem) * 3);
21
+ column-gap: var(--s3);
23
22
  grid-template-columns: var(--s4) 1fr;
24
23
  }
25
24
 
26
25
  .j-font-md .j-tip:has(.tip-icon) {
27
- column-gap: calc(var(--space, 0.25rem) * 5);
26
+ column-gap: var(--s5);
28
27
  }
29
28
 
30
29
  .j-tip .tip-icon,
31
30
  .j-tip .tip-icon svg {
32
- width: var(--tip-icon-size, var(--font-size-xl));
33
- height: var(--tip-icon-size, var(--font-size-xl));
31
+ width: var(--tip-icon-size);
32
+ height: var(--tip-icon-size);
34
33
  }
35
34
 
36
35
  .j-tip .tip-icon {
37
- color: var(--tip-icon-color, var(--tip-color));
36
+ color: var(--tip-icon-fg);
38
37
  transform: translateY(calc(var(--space, 0.25rem) * 0.5));
39
38
  margin: 0;
40
39
  }
@@ -46,8 +45,8 @@
46
45
  -webkit-box-orient: vertical;
47
46
  -webkit-line-clamp: 1;
48
47
  line-clamp: 1;
49
- line-height: var(--tip-title-line-height, var(--line-height-paragraph));
50
- font-weight: var(--font-medium, 500);
48
+ line-height: var(--tip-title-line-height);
49
+ font-weight: var(--tip-title-font-weight);
51
50
  margin: 0;
52
51
  }
53
52
 
@@ -55,30 +54,12 @@
55
54
  grid-column-start: 2;
56
55
  display: grid;
57
56
  justify-items: start;
58
- gap: calc(var(--space, 0.25rem) * 2);
59
- line-height: var(--line-height-paragraph);
57
+ gap: var(--tip-content-gap);
58
+ line-height: var(--tip-content-line-height);
60
59
  margin: 0;
61
60
  }
62
61
 
63
62
  .j-tip .tip-content>* {
64
63
  margin: 0;
65
64
  }
66
-
67
- .j-tip.is-success {
68
- --tip-border-color: var(--state-success);
69
- --tip-icon-color: var(--state-success);
70
- --tip-background: var(--state-success-muted);
71
- }
72
-
73
- .j-tip.is-warning {
74
- --tip-border-color: var(--state-warning);
75
- --tip-icon-color: var(--state-warning);
76
- --tip-background: var(--state-warning-muted);
77
- }
78
-
79
- .j-tip.is-danger {
80
- --tip-border-color: var(--state-danger);
81
- --tip-icon-color: var(--state-danger);
82
- --tip-background: var(--state-danger-muted);
83
- }
84
65
  }
package/src/css/toast.css CHANGED
@@ -1,12 +1,12 @@
1
1
  @layer components {
2
2
  .j-toast-container {
3
3
  position: fixed;
4
- top: var(--toast-container-offset, var(--s2));
5
- right: var(--toast-container-offset, var(--s2));
4
+ top: var(--toast-container-offset);
5
+ right: var(--toast-container-offset);
6
6
  z-index: var(--z-toast);
7
7
  display: flex;
8
8
  flex-direction: column;
9
- gap: var(--toast-container-gap, var(--s2));
9
+ gap: var(--toast-container-gap);
10
10
  align-items: center;
11
11
  left: 50%;
12
12
  transform: translateX(-50%);
@@ -16,19 +16,25 @@
16
16
  .j-toast {
17
17
  display: flex;
18
18
  align-items: center;
19
- padding: var(--toast-padding, var(--s3) var(--s4));
20
- border-radius: var(--toast-border-radius, var(--radius-md));
21
- box-shadow: var(--toast-box-shadow, var(--shadow-md));
22
- font-size: var(--toast-font-size, var(--font-size-md));
23
- font-weight: var(--toast-font-weight, var(--font-medium));
19
+ gap: var(--toast-gap);
20
+ padding: var(--toast-padding);
21
+ box-shadow: var(--toast-box-shadow);
22
+ font-size: var(--toast-font-size);
23
+ font-weight: var(--toast-font-weight);
24
24
  opacity: 0;
25
+ color: var(--toast-fg);
26
+ background: var(--toast-bg);
27
+ border-width: var(--toast-border-width);
28
+ border-style: var(--toast-border-style);
29
+ border-color: var(--toast-border-color);
30
+ border-radius: var(--toast-border-radius);
25
31
 
26
32
  transform: translateY(-100%);
27
33
 
28
34
  transition: all 0.3s ease-in-out;
29
35
  cursor: pointer;
30
- min-width: var(--toast-min-width, 200px);
31
- max-width: var(--toast-max-width, 310px);
36
+ min-width: var(--toast-min-width);
37
+ max-width: var(--toast-max-width);
32
38
  word-break: break-all;
33
39
 
34
40
  pointer-events: auto;
@@ -46,7 +52,8 @@
46
52
 
47
53
  .j-toast .toast-icon {
48
54
  margin-right: var(--s2);
49
- width: var(--toast-icon-size, var(--font-size-lg));
55
+ width: var(--toast-icon-size);
56
+ color: inherit;
50
57
  }
51
58
 
52
59
  .j-toast .toast-message {
@@ -54,57 +61,6 @@
54
61
  word-break: normal;
55
62
  }
56
63
 
57
- .j-toast.is-success {
58
- color: var(--toast-success-color, var(--state-success));
59
- background-color: var(--toast-success-background, var(--state-success-weak));
60
- border: 1px solid var(--toast-success-border-color, var(--state-success-border));
61
- }
62
-
63
- .j-toast.is-success .toast-icon {
64
- color: var(--toast-success-icon-color, var(--state-success));
65
- }
66
-
67
- .j-toast.is-error {
68
- color: var(--toast-error-color, var(--state-danger));
69
- background-color: var(--toast-error-background, var(--state-danger-weak));
70
- border: 1px solid var(--toast-error-border-color, var(--state-danger-border));
71
- }
72
-
73
- .j-toast.is-error .toast-icon {
74
- color: var(--toast-error-icon-color, var(--state-danger));
75
- }
76
-
77
- .j-toast.is-warning {
78
- color: var(--toast-warning-color, var(--state-warning));
79
- background-color: var(--toast-warning-background, var(--state-warning-weak));
80
- border: 1px solid var(--toast-warning-border-color, var(--state-warning-border));
81
- }
82
-
83
- .j-toast.is-warning .toast-icon {
84
- color: var(--toast-warning-icon-color, var(--state-warning));
85
- }
86
-
87
- .j-toast.is-info {
88
- color: var(--toast-info-color, var(--ui-fg));
89
- background-color: var(--toast-info-background, var(--ui-bg));
90
- border: 1px solid var(--toast-info-border-color, var(--ui-border));
91
- }
92
-
93
- .j-toast.is-info .toast-icon {
94
- color: var(--toast-info-icon-color, var(--ui-fg));
95
- }
96
-
97
- .j-toast.is-primary {
98
- color: var(--toast-info-color, var(--tone-solid));
99
- /* background-color: var(--toast-info-background, var(--tone-muted)); */
100
- background-color: var(--toast-info-background, var(--tone-weak));
101
- border: 1px solid var(--toast-info-border-color, var(--tone-border));
102
- }
103
-
104
- .j-toast.is-primary .toast-icon {
105
- color: var(--toast-info-icon-color, var(--tone-solid));
106
- }
107
-
108
64
  .j-toast-lite {
109
65
  position: fixed;
110
66
  top: 45%;
@@ -113,13 +69,7 @@
113
69
  transition: opacity var(--speed-sm) ease-in-out;
114
70
  opacity: 0;
115
71
  z-index: var(--z-toast);
116
- font-size: var(--toast-lite-font-size, var(--font-size-md));
117
72
  text-align: center;
118
- color: var(--toast-lite-color, var(--ui-bg));
119
- background: var(--toast-lite-background, var(--ui-fg));
120
- border-radius: var(--toast-lite-border-radius, var(--radius-md));
121
- padding: var(--toast-lite-padding, var(--s2) var(--s3));
122
- max-width: var(--toast-lite-max-width, calc(var(--screen-sm) / 2));
123
73
  user-select: none;
124
74
  pointer-events: none;
125
75
  }
@@ -137,18 +87,6 @@
137
87
  .j-toast.is-action {
138
88
  flex-direction: column;
139
89
  align-items: flex-start;
140
- gap: calc(var(--space)*4);
141
- color: var(--toast-info-color, var(--ui-fg));
142
- background-color: var(--toast-info-background, var(--ui-bg));
143
- border: 1px solid var(--toast-info-border-color, var(--ui-border));
144
- min-width: 280px;
145
90
  cursor: default;
146
91
  }
147
-
148
- .j-toast.is-action .toast-actions {
149
- width: 100%;
150
- display: flex;
151
- justify-content: flex-end;
152
- gap: var(--space);
153
- }
154
92
  }
@@ -78,7 +78,7 @@
78
78
  --columns-5xs: 12rem;
79
79
  --columns-4xs: 14rem;
80
80
  --columns-3xs: 16rem;
81
- --columns-2xs: 18px;
81
+ --columns-2xs: 18rem;
82
82
  --columns-xs: 20rem;
83
83
  --columns-sm: 24rem;
84
84
  --columns-md: 28rem;
@@ -92,6 +92,11 @@
92
92
 
93
93
  /* --- Border Radius --- */
94
94
  --radius-full: 9999px;
95
+
96
+ /* --- Opacity --- */
97
+ --opacity-hover: 0.8;
98
+ --opacity-active: 0.95;
99
+ --opacity-disabled: 0.5;
95
100
  }
96
101
 
97
102
 
@@ -126,7 +131,7 @@
126
131
  --ui-disabled-fg: #9ca3af;
127
132
  --ui-overlay: rgba(0, 0, 0, 0.5);
128
133
  --ui-overlay-muted: rgba(0, 0, 0, 0.25);
129
- --ui-popup-background: rgba(0, 0, 0, 0.0625);
134
+ --ui-popup-bg: rgba(0, 0, 0, 0.0625);
130
135
  --ui-input-color: #111827;
131
136
  --ui-input-border: rgba(0, 0, 0, 0.15);
132
137
  --ui-input-focus-border: #3b82f6;
@@ -317,7 +322,7 @@
317
322
  --ui-disabled-fg: #64748b;
318
323
  --ui-overlay: rgba(2, 6, 23, 0.7);
319
324
  --ui-overlay-muted: rgba(2, 6, 23, 0.45);
320
- --ui-popup-background: rgba(17, 24, 39, 0.82);
325
+ --ui-popup-bg: rgba(17, 24, 39, 0.82);
321
326
  --ui-input-color: #f9fafb;
322
327
  --ui-input-border: rgba(148, 163, 184, 0.2);
323
328
  --ui-input-focus-border: #a78bfa;
@@ -1,19 +1,19 @@
1
1
  @layer comopnents {
2
2
  .j-tooltip {
3
3
  position: relative;
4
- background: var(--tooltip-background, #000);
5
- color: var(--tooltip-foreground, #fff);
6
- border-width: var(--tooltip-border-width, 1px);
7
- border-style: var(--tooltip-border-style, solid);
8
- border-color: var(--tooltip-border-color, #111);
9
- border-radius: var(--tooltip-radius, var(--radius-md));
10
- max-width: var(--tooltip-max-width, 260px);
4
+ background: var(--tooltip-bg);
5
+ color: var(--tooltip-fg);
6
+ border-width: var(--tooltip-border-width);
7
+ border-style: var(--tooltip-border-style);
8
+ border-color: var(--tooltip-border-color);
9
+ border-radius: var(--tooltip-border-radius);
10
+ max-width: var(--tooltip-max-width);
11
11
  }
12
12
 
13
13
  .j-tooltip .tooltip-message {
14
14
  word-wrap: break-word;
15
- padding: var(--tooltip-padding, calc(var(--space) * 1.5) var(--s2));
16
- font-size: var(--tooltip-font-size, var(--font-size-md));
17
- line-height: var(--tooltip-line-height, var(--line-height));
15
+ padding: var(--tooltip-padding);
16
+ font-size: var(--tooltip-font-size);
17
+ line-height: var(--tooltip-line-height);
18
18
  }
19
19
  }
package/src/index.ts ADDED
@@ -0,0 +1,37 @@
1
+ // CSS
2
+ import './css/index.css';
3
+
4
+ // Utilities
5
+ export * from './utilities/browser.ts';
6
+ export * from './utilities/cache.ts';
7
+ export * from './utilities/core.ts';
8
+ export * from './utilities/dom.ts';
9
+ export * from './utilities/events.ts';
10
+ export * from './utilities/http.ts';
11
+ export * from './utilities/storage.ts';
12
+
13
+ // Core
14
+ export { default as Component } from './core/Component.ts';
15
+
16
+ // Common Components
17
+ export * from './components/icons.ts';
18
+ export * from './components/theme.ts';
19
+ export * from './components/toast.ts';
20
+
21
+ // Components extending Component
22
+ // components with factory functions
23
+ export * from './components/form.ts';
24
+ export * from './components/validator.ts';
25
+ export * from './components/toc.ts';
26
+ export * from './components/sticky.ts';
27
+ export * from './components/flow.ts';
28
+ export * from './components/parabola.ts';
29
+ export * from './components/tabs.ts';
30
+ export * from './components/accordion.ts';
31
+ export * from './components/drop.ts';
32
+ export * from './components/tooltip.ts';
33
+ export * from './components/offcanvas.ts';
34
+ export * from './components/modal.ts';
35
+ export * from './components/pagination.ts';
36
+ export * from './components/swiper.ts';
37
+ export * from './components/menu.ts';
@@ -3,7 +3,6 @@ export default {
3
3
  b: 'Back',
4
4
  t: 'Customize',
5
5
  d: 'Customize your UI experience.',
6
- n: 'None',
7
6
  sm: 'Small',
8
7
  md: 'Medium',
9
8
  lg: 'Large',
@@ -32,7 +31,7 @@ export default {
32
31
  Yellow: '黄色',
33
32
  Orange: '橙色',
34
33
  Gold: '金色',
35
- n: '无',
34
+ None: '无',
36
35
  sm: '小',
37
36
  md: '中',
38
37
  lg: '大',
package/src/types.d.ts ADDED
@@ -0,0 +1 @@
1
+ declare module '*.css';