@sdata/web-vue 2.3.1 → 2.8.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.
Files changed (119) hide show
  1. package/README.md +1 -1
  2. package/dist/sd.css +133 -187
  3. package/dist/sd.min.css +1 -1
  4. package/es/_hooks/use-responsive.d.ts +2 -2
  5. package/es/_hooks/use-theme-mode.d.ts +3 -0
  6. package/es/{calendar/hooks/use-calendar-theme.js → _hooks/use-theme-mode.js} +14 -10
  7. package/es/_utils/responsive-observe.d.ts +5 -4
  8. package/es/_utils/responsive-observe.js +2 -1
  9. package/es/alert/index.d.ts +3 -3
  10. package/es/anchor/index.d.ts +3 -3
  11. package/es/avatar/index.d.ts +20 -20
  12. package/es/border-beam/border-beam.js +5 -0
  13. package/es/border-beam/border-beam.vue.d.ts +52 -0
  14. package/es/border-beam/border-beam.vue_vue_type_script_setup_true_lang.js +623 -0
  15. package/es/border-beam/index.d.ts +106 -0
  16. package/es/border-beam/index.js +10 -0
  17. package/es/border-beam/pulseDriver.d.ts +2 -0
  18. package/es/border-beam/pulseDriver.js +74 -0
  19. package/es/border-beam/style/css.js +2 -0
  20. package/es/border-beam/style/index.css +21 -0
  21. package/es/border-beam/style/index.d.ts +2 -0
  22. package/es/border-beam/style/index.js +2 -0
  23. package/es/border-beam/style/index.scss +12 -0
  24. package/es/border-beam/style/token.scss +12 -0
  25. package/es/border-beam/styles.d.ts +42 -0
  26. package/es/border-beam/styles.js +3545 -0
  27. package/es/border-beam/types.d.ts +27 -0
  28. package/es/button/index.d.ts +24 -24
  29. package/es/calendar/components/index.vue.d.ts +1 -1
  30. package/es/calendar/components/index.vue_vue_type_script_setup_true_lang.js +3 -2
  31. package/es/calendar/index.d.ts +5 -5
  32. package/es/carousel/index.d.ts +3 -3
  33. package/es/checkbox/checkbox.d.ts +3 -3
  34. package/es/collapse/collapse-item.d.ts +5 -5
  35. package/es/collapse/index.d.ts +3 -3
  36. package/es/components.d.ts +1 -0
  37. package/es/config-provider/index.d.ts +21 -21
  38. package/es/date-picker/index.d.ts +14 -14
  39. package/es/date-picker/picker.vue.d.ts +2 -2
  40. package/es/date-picker/range-picker.vue.d.ts +2 -2
  41. package/es/descriptions/index.d.ts +24 -24
  42. package/es/drawer/index.d.ts +16 -15
  43. package/es/dropdown/index.d.ts +15 -15
  44. package/es/form/form-item.vue_vue_type_script_setup_true_lang.js +3 -3
  45. package/es/form/index.d.ts +3 -3
  46. package/es/grid/grid-col.vue_vue_type_script_setup_true_lang.js +2 -2
  47. package/es/grid/grid.vue_vue_type_script_setup_true_lang.js +10 -10
  48. package/es/icon/icon-menu/icon-menu.js +5 -0
  49. package/es/icon/icon-menu/icon-menu.vue_vue_type_script_setup_true_lang.js +52 -0
  50. package/es/icon/icon-menu/index.js +9 -0
  51. package/es/index.css +133 -187
  52. package/es/index.d.ts +4 -2
  53. package/es/index.js +3 -2
  54. package/es/index.scss +1 -0
  55. package/es/input/index.d.ts +7 -7
  56. package/es/json-form/index.d.ts +9 -9
  57. package/es/json-form/json-form-item.vue_vue_type_script_setup_true_lang.js +1 -1
  58. package/es/json-form/json-form.vue.d.ts +3 -3
  59. package/es/layout/content.vue.d.ts +2 -2
  60. package/es/layout/content.vue_vue_type_script_setup_true_lang.js +8 -3
  61. package/es/layout/context.d.ts +12 -9
  62. package/es/layout/context.js +11 -3
  63. package/es/layout/footer.vue.d.ts +2 -2
  64. package/es/layout/footer.vue_vue_type_script_setup_true_lang.js +8 -3
  65. package/es/layout/header.vue.d.ts +3 -30
  66. package/es/layout/header.vue_vue_type_script_setup_true_lang.js +9 -339
  67. package/es/layout/hooks/use-has-sider.d.ts +2 -0
  68. package/es/layout/hooks/use-has-sider.js +38 -0
  69. package/es/layout/index.d.ts +120 -371
  70. package/es/layout/index.js +2 -2
  71. package/es/layout/interface.d.ts +16 -46
  72. package/es/layout/layout.vue.d.ts +4 -2
  73. package/es/layout/layout.vue_vue_type_script_setup_true_lang.js +38 -14
  74. package/es/layout/sider.vue.d.ts +68 -178
  75. package/es/layout/sider.vue_vue_type_script_setup_true_lang.js +243 -363
  76. package/es/layout/style/index.css +128 -186
  77. package/es/layout/style/index.scss +146 -234
  78. package/es/layout/style/token.scss +46 -26
  79. package/es/link/index.d.ts +6 -6
  80. package/es/list/index.d.ts +18 -18
  81. package/es/menu/base-menu.vue.d.ts +1 -1
  82. package/es/menu/base-menu.vue_vue_type_script_setup_true_lang.js +14 -14
  83. package/es/menu/item.d.ts +1 -1
  84. package/es/menu/menu.d.ts +12 -12
  85. package/es/menu/menu.js +3 -3
  86. package/es/modal/index.d.ts +15 -15
  87. package/es/popconfirm/index.d.ts +12 -12
  88. package/es/popover/index.d.ts +12 -12
  89. package/es/progress/index.d.ts +6 -6
  90. package/es/qr-code/index.d.ts +3 -3
  91. package/es/radio/radio.d.ts +3 -3
  92. package/es/resize-box/resize-box.vue_vue_type_script_setup_true_lang.js +7 -7
  93. package/es/result/index.d.ts +3 -3
  94. package/es/scrollbar/style/index.css +1 -1
  95. package/es/scrollbar/style/index.scss +4 -1
  96. package/es/sd-vue.js +3 -1
  97. package/es/select/select.d.ts +17 -17
  98. package/es/slider/index.d.ts +3 -3
  99. package/es/split/split.vue_vue_type_script_setup_true_lang.js +6 -6
  100. package/es/steps/index.d.ts +6 -6
  101. package/es/tabs/index.d.ts +6 -6
  102. package/es/tag/index.d.ts +6 -6
  103. package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +2 -2
  104. package/es/theme-provider/index.d.ts +9 -9
  105. package/es/time-picker/index.d.ts +6 -6
  106. package/es/timeline/index.d.ts +3 -3
  107. package/es/timeline/timeline.d.ts +1 -1
  108. package/es/tooltip/index.d.ts +3 -3
  109. package/es/tour/index.d.ts +3 -3
  110. package/es/tour/tour.vue_vue_type_script_setup_true_lang.js +6 -6
  111. package/es/tree/node-switcher.vue.d.ts +1 -1
  112. package/es/tree/tree.vue_vue_type_script_setup_true_lang.js +23 -23
  113. package/json/vetur-attributes.json +27 -153
  114. package/json/vetur-tags.json +13 -43
  115. package/json/web-types.json +43 -293
  116. package/package.json +10 -10
  117. package/es/calendar/hooks/use-calendar-theme.d.ts +0 -4
  118. package/es/layout/utils.d.ts +0 -1
  119. package/es/layout/utils.js +0 -11
@@ -1,3 +1,4 @@
1
+ @charset "UTF-8";
1
2
  /******** borderSize *******/
2
3
  /******** borderStyle *******/
3
4
  /******** radius *******/
@@ -15,229 +16,170 @@
15
16
  /******** link *******/
16
17
  /******** radius *******/
17
18
  /********* icon hover *********/
19
+ /*****************************************************
20
+ * Layout 整体背景(容器主体与页脚共用)
21
+ *****************************************************/
22
+ /*****************************************************
23
+ * Header
24
+ *****************************************************/
25
+ /*****************************************************
26
+ * Footer
27
+ *****************************************************/
28
+ /*****************************************************
29
+ * Sider
30
+ * 深色背景与 Menu 深色背景保持一致,避免内嵌菜单出现接缝
31
+ *****************************************************/
32
+ /*****************************************************
33
+ * Sider light 主题
34
+ *****************************************************/
35
+ /*****************************************************
36
+ * 公共
37
+ *****************************************************/
18
38
  .sd-layout {
19
39
  display: flex;
20
- flex: 1;
40
+ flex: auto;
21
41
  flex-direction: column;
22
- margin: 0;
23
- padding: 0;
24
- }
25
- .sd-layout-sider {
26
- position: relative;
27
- flex: none;
28
- width: auto;
29
- max-width: 100%;
30
- margin: 0;
31
- padding: 0;
32
- overflow: hidden;
33
- background: var(--sd-color-menu-dark-bg);
34
- transition: width 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), height 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), transform 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
42
+ /* fix firefox can't set height smaller than content on flex item */
43
+ min-height: 0;
44
+ background: var(--sd-color-fill-1);
35
45
  }
36
- .sd-layout-sider-image, .sd-layout-sider-prepend, .sd-layout-sider-append {
37
- flex: none;
38
- }
39
- .sd-layout-sider-children {
40
- flex: 1;
41
- height: 100%;
42
- overflow: auto;
43
- }
44
- .sd-layout-sider-mask {
45
- position: fixed;
46
- inset: 0;
47
- background: rgba(0, 0, 0, 0.45);
46
+ .sd-layout, .sd-layout * {
47
+ box-sizing: border-box;
48
48
  }
49
- .sd-layout-sider-collapsed .sd-layout-sider-children {
50
- /* width */
49
+ .sd-layout.sd-layout-has-sider {
50
+ flex-direction: row;
51
51
  }
52
- .sd-layout-sider-collapsed .sd-layout-sider-children::-webkit-scrollbar {
52
+ .sd-layout.sd-layout-has-sider > .sd-layout,
53
+ .sd-layout.sd-layout-has-sider > .sd-layout-content {
53
54
  width: 0;
54
55
  }
55
- .sd-layout-sider-has-trigger {
56
- display: flex;
57
- flex-direction: column;
58
- box-sizing: border-box;
59
- padding-bottom: 48px;
60
- }
61
- .sd-layout-sider-rail {
62
- width: 56px;
56
+ .sd-layout .sd-layout-header, .sd-layout.sd-layout-footer {
57
+ flex: 0 0 auto;
63
58
  }
64
- .sd-layout-sider-trigger {
65
- position: absolute;
66
- right: 0;
67
- bottom: 0;
68
- left: 0;
69
- z-index: 1;
70
- display: flex;
71
- align-items: center;
72
- justify-content: center;
73
- box-sizing: border-box;
74
- width: 100%;
75
- height: 48px;
76
- color: var(--sd-color-white);
77
- background: rgba(255, 255, 255, 0.2);
78
- cursor: pointer;
79
- transition: width 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
59
+ .sd-layout-rtl {
60
+ direction: rtl;
80
61
  }
81
- .sd-layout-sider-trigger-light {
62
+
63
+ .sd-layout-header {
64
+ height: 64px;
65
+ padding: 0 50px;
82
66
  color: var(--sd-color-text-1);
83
- background: var(--sd-color-menu-light-bg);
84
- border-top: 1px solid var(--sd-color-bg-5);
85
- }
86
- .sd-layout-sider-floating {
87
- box-shadow: none;
88
- }
89
- .sd-layout-sider-sticky {
90
- z-index: 1;
91
- }
92
- .sd-layout-sider-temporary {
93
- position: fixed;
94
- box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
95
- }
96
- .sd-layout-sider-temporary.sd-layout-sider-left {
97
- top: 0;
98
- bottom: 0;
99
- left: 0;
100
- transform: translateX(-100%);
101
- }
102
- .sd-layout-sider-temporary.sd-layout-sider-right {
103
- top: 0;
104
- right: 0;
105
- bottom: 0;
106
- transform: translateX(100%);
107
- }
108
- .sd-layout-sider-temporary.sd-layout-sider-top {
109
- top: 0;
110
- right: 0;
111
- left: 0;
112
- width: 100%;
113
- transform: translateY(-100%);
67
+ line-height: 64px;
68
+ background: #001529;
114
69
  }
115
- .sd-layout-sider-temporary.sd-layout-sider-bottom {
116
- right: 0;
117
- bottom: 0;
118
- left: 0;
119
- width: 100%;
120
- transform: translateY(100%);
121
- }
122
- .sd-layout-sider-temporary.sd-layout-sider-active {
123
- transform: translate(0, 0);
124
- }
125
- .sd-layout-sider-light {
126
- background: var(--sd-color-menu-light-bg);
127
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.08);
128
- }
129
- .sd-layout-header {
130
- position: relative;
131
- flex: 0 0 auto;
132
- box-sizing: border-box;
133
- margin: 0;
134
- overflow: hidden;
70
+
71
+ .sd-layout-footer {
72
+ padding: 24px 50px;
135
73
  color: var(--sd-color-text-1);
136
- background: var(--sd-color-bg-2);
137
- border-bottom: 1px solid var(--sd-color-border-2);
138
- transition: height 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), transform 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), box-shadow 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
74
+ font-size: 14px;
75
+ background: var(--sd-color-fill-1);
139
76
  }
140
- .sd-layout-header-wrapper {
141
- width: 100%;
77
+
78
+ .sd-layout-content {
79
+ flex: auto;
80
+ min-height: 0;
81
+ color: var(--sd-color-text-1);
142
82
  }
143
- .sd-layout-header-bar, .sd-layout-header-extension, .sd-layout-header-prepend, .sd-layout-header-append, .sd-layout-header-content {
83
+
84
+ .sd-layout-sider {
85
+ position: relative;
144
86
  display: flex;
145
- align-items: center;
87
+ flex-direction: column;
88
+ min-width: 0;
89
+ background: var(--sd-color-menu-dark-bg);
90
+ transition: all 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), background 0s;
146
91
  }
147
- .sd-layout-header-bar {
148
- position: relative;
149
- z-index: 1;
150
- gap: 16px;
151
- min-height: var(--sd-layout-header-content-height, 64px);
152
- padding: 0 20px;
92
+ .sd-layout-sider-has-trigger {
93
+ padding-bottom: 44px;
153
94
  }
154
- .sd-layout-header-prepend, .sd-layout-header-append {
155
- flex: none;
156
- gap: 8px;
95
+ .sd-layout-sider-right {
96
+ order: 1;
157
97
  }
158
- .sd-layout-header-title {
159
- position: relative;
160
- z-index: 1;
98
+ .sd-layout-sider-header {
161
99
  flex: none;
162
- max-width: min(40%, 480px);
163
- overflow: hidden;
164
- color: inherit;
165
- font-weight: 600;
166
- font-size: 18px;
167
- white-space: nowrap;
168
- text-overflow: ellipsis;
169
100
  }
170
- .sd-layout-header-content {
171
- position: relative;
172
- z-index: 1;
101
+ .sd-layout-sider-children {
173
102
  flex: 1;
174
- gap: 8px;
175
- min-width: 0;
103
+ min-height: 0;
176
104
  }
177
- .sd-layout-header-extension {
178
- position: relative;
105
+ .sd-layout-sider-children-scroll {
106
+ overflow: hidden auto;
107
+ }
108
+ .sd-layout-sider-zero-width .sd-layout-sider-children {
109
+ overflow: hidden;
110
+ }
111
+ .sd-layout-sider-trigger {
112
+ position: absolute;
113
+ bottom: 0;
179
114
  z-index: 1;
180
- gap: 8px;
181
- min-height: var(--sd-layout-header-extension-height, 48px);
182
- padding: 0 20px;
183
- border-top: 1px solid var(--sd-color-border-2);
115
+ height: 44px;
116
+ color: var(--sd-color-white);
117
+ line-height: 44px;
118
+ text-align: center;
119
+ cursor: pointer;
120
+ transition: all 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
184
121
  }
185
- .sd-layout-header-image {
122
+ .sd-layout-sider-zero-width-trigger {
186
123
  position: absolute;
187
- inset: 0;
188
- overflow: hidden;
124
+ top: 64px;
125
+ z-index: 1;
126
+ display: flex;
127
+ align-items: center;
128
+ justify-content: center;
129
+ width: 40px;
130
+ height: 40px;
131
+ color: var(--sd-color-white);
132
+ font-size: 18px;
133
+ background: var(--sd-color-menu-dark-bg);
134
+ border-radius: 0 8px 8px 0;
135
+ cursor: pointer;
136
+ transition: background-color 0.3s ease;
137
+ inset-inline-end: -40px;
189
138
  }
190
- .sd-layout-header-image::after {
139
+ .sd-layout-sider-zero-width-trigger::after {
191
140
  position: absolute;
192
141
  inset: 0;
193
- background: linear-gradient(180deg, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.36));
142
+ background: transparent;
143
+ transition: all 0.3s;
194
144
  content: "";
195
145
  }
196
- .sd-layout-header-image-inner, .sd-layout-header-image :is(img, picture, video) {
197
- width: 100%;
198
- height: 100%;
199
- object-fit: cover;
200
- opacity: var(--sd-layout-header-image-opacity, 1);
201
- transition: opacity 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
202
- }
203
- .sd-layout-header-flat {
204
- box-shadow: none;
205
- }
206
- .sd-layout-header:not(.sd-layout-header-flat) {
207
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
208
- }
209
- .sd-layout-header-floating {
210
- box-shadow: 0 16px 32px rgba(0, 0, 0, 0.14);
211
- }
212
- .sd-layout-header-hidden {
213
- pointer-events: none;
214
- }
215
- .sd-layout-header-collapsed .sd-layout-header-extension {
216
- display: none;
146
+ .sd-layout-sider-zero-width-trigger:hover::after {
147
+ background: rgba(255, 255, 255, 0.2);
217
148
  }
218
- .sd-layout-header-with-image {
219
- color: var(--sd-color-white);
220
- border-bottom-color: transparent;
149
+ .sd-layout-sider-zero-width-trigger-right {
150
+ inset-inline-start: -40px;
151
+ border-radius: 8px 0 0 8px;
221
152
  }
222
- .sd-layout-header-with-image .sd-layout-header-extension {
223
- border-top-color: rgba(255, 255, 255, 0.16);
153
+ .sd-layout-sider-light {
154
+ background: var(--sd-color-bg-1);
224
155
  }
225
- .sd-layout-header-bottom {
226
- border-top: 1px solid var(--sd-color-border-2);
227
- border-bottom: 0;
156
+ .sd-layout-sider-light .sd-layout-sider-trigger {
157
+ color: var(--sd-color-text-1);
158
+ background: var(--sd-color-bg-1);
228
159
  }
229
- .sd-layout-content {
230
- flex: 1;
160
+ .sd-layout-sider-light .sd-layout-sider-zero-width-trigger {
161
+ color: var(--sd-color-text-1);
162
+ background: var(--sd-color-bg-1);
163
+ border: 1px solid var(--sd-color-fill-1);
164
+ border-inline-start: 0;
231
165
  }
232
- .sd-layout-footer {
166
+ .sd-layout-sider-temporary {
233
167
  flex: 0 0 auto;
234
- margin: 0;
168
+ width: auto;
169
+ background: transparent;
235
170
  }
236
-
237
- .sd-layout-has-sider {
238
- flex-direction: row;
171
+ .sd-layout-sider-temporary-trigger {
172
+ display: inline-flex;
173
+ align-items: center;
174
+ justify-content: center;
175
+ width: 40px;
176
+ height: 40px;
177
+ color: var(--sd-color-text-1);
178
+ font-size: 18px;
179
+ border-radius: 8px;
180
+ cursor: pointer;
181
+ transition: background-color 0.2s ease;
239
182
  }
240
- .sd-layout-has-sider > .sd-layout,
241
- .sd-layout-has-sider > .sd-layout-content {
242
- overflow-x: hidden;
183
+ .sd-layout-sider-temporary-trigger:hover {
184
+ background: var(--sd-color-fill-2);
243
185
  }