@xihan-ui/styles 4.0.0 → 4.1.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/CHANGELOG.md +18 -0
- package/components.tokens.json +2 -1
- package/css/cascader.css +6 -0
- package/css/clipboard.css +6 -0
- package/css/color-field.css +6 -0
- package/css/color-picker.css +6 -0
- package/css/combobox.css +6 -0
- package/css/date-field.css +6 -0
- package/css/date-picker.css +6 -0
- package/css/date-range-picker.css +6 -0
- package/css/editable.css +6 -0
- package/css/form.css +6 -1
- package/css/image-viewer.css +15 -3
- package/css/input-group.css +6 -0
- package/css/mention.css +6 -0
- package/css/notification.css +3 -0
- package/css/number-field.css +6 -0
- package/css/password-input.css +6 -0
- package/css/select.css +6 -0
- package/css/tags-input.css +6 -0
- package/css/text-field.css +6 -0
- package/css/time-field.css +6 -0
- package/css/time-picker.css +6 -0
- package/css/time-range-picker.css +6 -0
- package/css/tree-select.css +6 -0
- package/dist/css/cascader.css +6 -0
- package/dist/css/clipboard.css +6 -0
- package/dist/css/color-field.css +6 -0
- package/dist/css/color-picker.css +6 -0
- package/dist/css/combobox.css +6 -0
- package/dist/css/date-field.css +6 -0
- package/dist/css/date-picker.css +6 -0
- package/dist/css/date-range-picker.css +6 -0
- package/dist/css/editable.css +6 -0
- package/dist/css/form.css +6 -1
- package/dist/css/image-viewer.css +15 -3
- package/dist/css/input-group.css +6 -0
- package/dist/css/mention.css +6 -0
- package/dist/css/notification.css +3 -0
- package/dist/css/number-field.css +6 -0
- package/dist/css/password-input.css +6 -0
- package/dist/css/select.css +6 -0
- package/dist/css/tags-input.css +6 -0
- package/dist/css/text-field.css +6 -0
- package/dist/css/time-field.css +6 -0
- package/dist/css/time-picker.css +6 -0
- package/dist/css/time-range-picker.css +6 -0
- package/dist/css/tree-select.css +6 -0
- package/index.css +144 -4
- package/index.unlayered.css +144 -4
- package/package.json +2 -2
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
--xh-number-field-skin: 1;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
17
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
18
|
+
:where(xh-number-field:not([hidden])) {
|
|
19
|
+
display: contents;
|
|
20
|
+
}
|
|
21
|
+
|
|
16
22
|
/* 与文本框同一套堆叠:标签一行、输入行一行。
|
|
17
23
|
control 是必需的唯一视觉盒,输入框、加减钮与前后缀都放在里面;
|
|
18
24
|
输入与前后缀在左,减、加两颗动作依次收在逻辑末端。
|
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
--xh-password-input-skin: 1;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
17
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
18
|
+
:where(xh-password-input:not([hidden])) {
|
|
19
|
+
display: contents;
|
|
20
|
+
}
|
|
21
|
+
|
|
16
22
|
/* root 只负责纵向堆叠:标签一行、输入行一行。
|
|
17
23
|
输入框、切换钮与大写锁定提示收进 control 部件即得一体式:视觉盒由 Field Chrome 家族画在 control 上,
|
|
18
24
|
框内三件都退成透明分段,整枚控件从头到尾只有一道描边。
|
package/dist/css/select.css
CHANGED
|
@@ -18,6 +18,12 @@
|
|
|
18
18
|
--xh-select-skin: 1;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
22
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
23
|
+
:where(xh-select:not([hidden])) {
|
|
24
|
+
display: contents;
|
|
25
|
+
}
|
|
26
|
+
|
|
21
27
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
22
28
|
.xh-scope-select[data-part='positioner'] {
|
|
23
29
|
/* 落定那一侧的可用高度,由定位引擎经内联自定义属性写进来,内容层继承它限高;
|
package/dist/css/tags-input.css
CHANGED
|
@@ -15,6 +15,12 @@
|
|
|
15
15
|
--xh-tags-input-skin: 1;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
19
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
20
|
+
:where(xh-tags-input:not([hidden])) {
|
|
21
|
+
display: contents;
|
|
22
|
+
}
|
|
23
|
+
|
|
18
24
|
/* root 只负责纵向堆叠:标题一行、控件一行。可见的那个"框"长在 control 上,
|
|
19
25
|
因为标签、输入框、清空按钮都在它里面,边框必须把三者一起圈住。
|
|
20
26
|
组件层只把既有公开槽映射到家族合同;形态三档由家族按 control 上的 data-variant 生成,皮肤不再声明 */
|
package/dist/css/text-field.css
CHANGED
|
@@ -12,6 +12,12 @@
|
|
|
12
12
|
--xh-text-field-skin: 1;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
16
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
17
|
+
:where(xh-text-field:not([hidden])) {
|
|
18
|
+
display: contents;
|
|
19
|
+
}
|
|
20
|
+
|
|
15
21
|
/* 组件层只把既有公开槽映射到家族合同,并保留 label/count 等 TextField 专属结构;
|
|
16
22
|
形态三档由家族按 control 上的 data-variant 生成,皮肤不再声明。 */
|
|
17
23
|
.xh-scope-text-field[data-part='root'] {
|
package/dist/css/time-field.css
CHANGED
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
--xh-time-field-skin: 1;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
17
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
18
|
+
:where(xh-time-field:not([hidden])) {
|
|
19
|
+
display: contents;
|
|
20
|
+
}
|
|
21
|
+
|
|
16
22
|
/* 与文本框、数字框同一套堆叠:标签一行、控件一行。
|
|
17
23
|
组件层只把既有公开槽映射到家族合同;形态三档由家族按 control 上的 data-variant 生成,皮肤不再声明。 */
|
|
18
24
|
.xh-scope-time-field[data-part='root'] {
|
package/dist/css/time-picker.css
CHANGED
|
@@ -20,6 +20,12 @@
|
|
|
20
20
|
--xh-time-picker-skin: 1;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
24
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
25
|
+
:where(xh-time-picker:not([hidden])) {
|
|
26
|
+
display: contents;
|
|
27
|
+
}
|
|
28
|
+
|
|
23
29
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
24
30
|
.xh-scope-time-picker[data-part='positioner'] {
|
|
25
31
|
/* 每个浮层独立声明方向,避免嵌套浮层继承祖先的进场位移。 */
|
|
@@ -19,6 +19,12 @@
|
|
|
19
19
|
--xh-time-range-picker-skin: 1;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
23
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
24
|
+
:where(xh-time-range-picker:not([hidden])) {
|
|
25
|
+
display: contents;
|
|
26
|
+
}
|
|
27
|
+
|
|
22
28
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
23
29
|
.xh-scope-time-range-picker[data-part='positioner'] {
|
|
24
30
|
/* 落定那一侧的可用宽度,由定位引擎经内联自定义属性写进来,内容层据此夹住行内轴;
|
package/dist/css/tree-select.css
CHANGED
|
@@ -20,6 +20,12 @@
|
|
|
20
20
|
--xh-tree-select-skin: 1;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
24
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
25
|
+
:where(xh-tree-select:not([hidden])) {
|
|
26
|
+
display: contents;
|
|
27
|
+
}
|
|
28
|
+
|
|
23
29
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
24
30
|
.xh-scope-tree-select[data-part='positioner'] {
|
|
25
31
|
/* 落定那一侧的可用高度,由定位引擎经内联自定义属性写进来,内容层继承它限高;
|
package/index.css
CHANGED
|
@@ -8866,6 +8866,12 @@
|
|
|
8866
8866
|
--xh-input-group-skin: 1;
|
|
8867
8867
|
}
|
|
8868
8868
|
|
|
8869
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
8870
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
8871
|
+
:where(xh-input-group:not([hidden])) {
|
|
8872
|
+
display: contents;
|
|
8873
|
+
}
|
|
8874
|
+
|
|
8869
8875
|
/* 输入框、前后缀和动作共用一个输入表面。组只统一材质与外轮廓,语义仍归各子控件。 */
|
|
8870
8876
|
.xh-scope-input-group[data-part='root'] {
|
|
8871
8877
|
/* 段之间那几档层号只在自己人之间排序:建一个层叠上下文把它们关起来,
|
|
@@ -11043,6 +11049,12 @@
|
|
|
11043
11049
|
--xh-mention-skin: 1;
|
|
11044
11050
|
}
|
|
11045
11051
|
|
|
11052
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
11053
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
11054
|
+
:where(xh-mention:not([hidden])) {
|
|
11055
|
+
display: contents;
|
|
11056
|
+
}
|
|
11057
|
+
|
|
11046
11058
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
11047
11059
|
.xh-scope-mention[data-part='positioner'] {
|
|
11048
11060
|
/* 落定那一侧的可用高度,由定位引擎经内联自定义属性写进来,内容层继承它限高;
|
|
@@ -11684,6 +11696,12 @@
|
|
|
11684
11696
|
--xh-password-input-skin: 1;
|
|
11685
11697
|
}
|
|
11686
11698
|
|
|
11699
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
11700
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
11701
|
+
:where(xh-password-input:not([hidden])) {
|
|
11702
|
+
display: contents;
|
|
11703
|
+
}
|
|
11704
|
+
|
|
11687
11705
|
/* root 只负责纵向堆叠:标签一行、输入行一行。
|
|
11688
11706
|
输入框、切换钮与大写锁定提示收进 control 部件即得一体式:视觉盒由 Field Chrome 家族画在 control 上,
|
|
11689
11707
|
框内三件都退成透明分段,整枚控件从头到尾只有一道描边。
|
|
@@ -21305,6 +21323,12 @@
|
|
|
21305
21323
|
--xh-cascader-skin: 1;
|
|
21306
21324
|
}
|
|
21307
21325
|
|
|
21326
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
21327
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
21328
|
+
:where(xh-cascader:not([hidden])) {
|
|
21329
|
+
display: contents;
|
|
21330
|
+
}
|
|
21331
|
+
|
|
21308
21332
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
21309
21333
|
.xh-scope-cascader[data-part='positioner'] {
|
|
21310
21334
|
/* 落定那一侧的可用宽度,由定位引擎经内联自定义属性写进来,列区据此夹住行内轴;
|
|
@@ -23343,6 +23367,12 @@
|
|
|
23343
23367
|
--xh-clipboard-skin: 1;
|
|
23344
23368
|
}
|
|
23345
23369
|
|
|
23370
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
23371
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
23372
|
+
:where(xh-clipboard:not([hidden])) {
|
|
23373
|
+
display: contents;
|
|
23374
|
+
}
|
|
23375
|
+
|
|
23346
23376
|
/* 与文本框同一套堆叠:标签一行、输入行一行 */
|
|
23347
23377
|
.xh-scope-clipboard[data-part='root'] {
|
|
23348
23378
|
/* 输入框与按钮同取一档高度,换尺寸只改这一个私有槽 */
|
|
@@ -24230,6 +24260,12 @@
|
|
|
24230
24260
|
--xh-color-field-skin: 1;
|
|
24231
24261
|
}
|
|
24232
24262
|
|
|
24263
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
24264
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
24265
|
+
:where(xh-color-field:not([hidden])) {
|
|
24266
|
+
display: contents;
|
|
24267
|
+
}
|
|
24268
|
+
|
|
24233
24269
|
/* 组件层只把既有公开槽映射到家族合同;形态三档由家族按 control 上的 data-variant 生成,皮肤不再声明;
|
|
24234
24270
|
色块吃 Swatch 家族,只在这里补一条与输入框的间距。 */
|
|
24235
24271
|
.xh-scope-color-field[data-part='root'] {
|
|
@@ -24401,6 +24437,12 @@
|
|
|
24401
24437
|
--xh-color-picker-skin: 1;
|
|
24402
24438
|
}
|
|
24403
24439
|
|
|
24440
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
24441
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
24442
|
+
:where(xh-color-picker:not([hidden])) {
|
|
24443
|
+
display: contents;
|
|
24444
|
+
}
|
|
24445
|
+
|
|
24404
24446
|
/* 定位分工:取色区拇指的两条轴(inset-inline-start / inset-block-start)、浮层坐标、取色区底色,
|
|
24405
24447
|
全都由连接层每帧写进内联样式。这份皮肤一个都不碰:内联优先级高于样式表,
|
|
24406
24448
|
写了不但是死声明,还会跟连接层抢位置。皮肤只管尺寸、颜色、圆角与状态表现。
|
|
@@ -25597,6 +25639,12 @@
|
|
|
25597
25639
|
--xh-combobox-skin: 1;
|
|
25598
25640
|
}
|
|
25599
25641
|
|
|
25642
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
25643
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
25644
|
+
:where(xh-combobox:not([hidden])) {
|
|
25645
|
+
display: contents;
|
|
25646
|
+
}
|
|
25647
|
+
|
|
25600
25648
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
25601
25649
|
.xh-scope-combobox[data-part='positioner'] {
|
|
25602
25650
|
/* 落定那一侧的可用高度,由定位引擎经内联自定义属性写进来,内容层继承它限高;
|
|
@@ -26978,6 +27026,12 @@
|
|
|
26978
27026
|
--xh-date-field-skin: 1;
|
|
26979
27027
|
}
|
|
26980
27028
|
|
|
27029
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
27030
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
27031
|
+
:where(xh-date-field:not([hidden])) {
|
|
27032
|
+
display: contents;
|
|
27033
|
+
}
|
|
27034
|
+
|
|
26981
27035
|
/* 与文本框、数字框同一套堆叠:标签一行、分段框一行。
|
|
26982
27036
|
组件层只把既有公开槽映射到家族合同;形态三档由家族按 control 上的 data-variant 生成,皮肤不再声明。 */
|
|
26983
27037
|
.xh-scope-date-field[data-part='root'] {
|
|
@@ -27292,6 +27346,12 @@
|
|
|
27292
27346
|
--xh-date-picker-skin: 1;
|
|
27293
27347
|
}
|
|
27294
27348
|
|
|
27349
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
27350
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
27351
|
+
:where(xh-date-picker:not([hidden])) {
|
|
27352
|
+
display: contents;
|
|
27353
|
+
}
|
|
27354
|
+
|
|
27295
27355
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
27296
27356
|
.xh-scope-date-picker[data-part='positioner'] {
|
|
27297
27357
|
/* 落定那一侧的可用高度,由定位引擎经内联自定义属性写进来,内容层继承它限高;
|
|
@@ -28213,6 +28273,12 @@
|
|
|
28213
28273
|
--xh-date-range-picker-skin: 1;
|
|
28214
28274
|
}
|
|
28215
28275
|
|
|
28276
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
28277
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
28278
|
+
:where(xh-date-range-picker:not([hidden])) {
|
|
28279
|
+
display: contents;
|
|
28280
|
+
}
|
|
28281
|
+
|
|
28216
28282
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
28217
28283
|
.xh-scope-date-range-picker[data-part='positioner'] {
|
|
28218
28284
|
/* 落定那一侧的可用高度,由定位引擎经内联自定义属性写进来,内容层继承它限高;
|
|
@@ -30217,6 +30283,12 @@
|
|
|
30217
30283
|
--xh-editable-skin: 1;
|
|
30218
30284
|
}
|
|
30219
30285
|
|
|
30286
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
30287
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
30288
|
+
:where(xh-editable:not([hidden])) {
|
|
30289
|
+
display: contents;
|
|
30290
|
+
}
|
|
30291
|
+
|
|
30220
30292
|
/* 与 NumberField 同构:标题独占一行,control 是下面唯一的视觉盒;
|
|
30221
30293
|
预览/输入占据盒内左侧,编辑或确认/取消动作收在同一盒的逻辑末端。
|
|
30222
30294
|
组件层只把既有公开槽映射到家族合同;形态三档由家族按 control 上的 data-variant 生成,皮肤不再声明。 */
|
|
@@ -31120,10 +31192,15 @@
|
|
|
31120
31192
|
|
|
31121
31193
|
/* 字段带辅助行:辅助行(最小高 --xh-space-5)紧贴控件、自己就是项距,这一项不再另留;
|
|
31122
31194
|
说明收起、只留错误文案占位的那一行同样算。字段无效时它的直接子说明被收起(见 description.css),
|
|
31123
|
-
|
|
31195
|
+
不占那一行,不算辅助行:没渲染错误文案的无效字段照常留项距。
|
|
31196
|
+
字段不包 field-group、直接放进表单时同一条(与字段集的组内项距一致) */
|
|
31124
31197
|
.xh-scope-form[data-part='field-group']:has(
|
|
31125
31198
|
.xh-scope-field[data-part='error-text'],
|
|
31126
31199
|
.xh-scope-field[data-part='description']:not([hidden], .xh-scope-field[data-part='root'][data-invalid] > *)
|
|
31200
|
+
),
|
|
31201
|
+
.xh-scope-form[data-part='root'] > .xh-scope-field[data-part='root']:has(
|
|
31202
|
+
.xh-scope-field[data-part='error-text'],
|
|
31203
|
+
.xh-scope-field[data-part='description']:not([hidden], .xh-scope-field[data-part='root'][data-invalid] > *)
|
|
31127
31204
|
) {
|
|
31128
31205
|
margin-block-end: 0;
|
|
31129
31206
|
}
|
|
@@ -33363,6 +33440,18 @@
|
|
|
33363
33440
|
mask: var(--xh-glyph-mark-flip-vertical) center / contain no-repeat;
|
|
33364
33441
|
}
|
|
33365
33442
|
|
|
33443
|
+
/* 复原:回转箭头,与旋转的整圈箭头区分开;与其余工具钮一样不写内容时由皮肤画 */
|
|
33444
|
+
.xh-scope-image-viewer[data-part='reset-trigger']:empty::before {
|
|
33445
|
+
content: '';
|
|
33446
|
+
display: inline-block;
|
|
33447
|
+
inline-size: var(--xh-icon-size, var(--xh-glyph-size-text));
|
|
33448
|
+
block-size: var(--xh-icon-size, var(--xh-glyph-size-text));
|
|
33449
|
+
vertical-align: var(--xh-glyph-baseline-shift);
|
|
33450
|
+
background-color: currentColor;
|
|
33451
|
+
-webkit-mask: var(--xh-glyph-mark-undo) center / contain no-repeat;
|
|
33452
|
+
mask: var(--xh-glyph-mark-undo) center / contain no-repeat;
|
|
33453
|
+
}
|
|
33454
|
+
|
|
33366
33455
|
.xh-scope-image-viewer[data-part='prev-trigger']:empty::before {
|
|
33367
33456
|
content: '';
|
|
33368
33457
|
display: inline-block;
|
|
@@ -33426,16 +33515,16 @@
|
|
|
33426
33515
|
background-color: CanvasText;
|
|
33427
33516
|
}
|
|
33428
33517
|
|
|
33429
|
-
.xh-scope-image-viewer:is([data-part='zoom-in-trigger'], [data-part='zoom-out-trigger'], [data-part='rotate-left-trigger'], [data-part='rotate-right-trigger'], [data-part='flip-horizontal-trigger'], [data-part='flip-vertical-trigger'], [data-part='prev-trigger'], [data-part='next-trigger'], [data-part='close-trigger']):empty::before {
|
|
33518
|
+
.xh-scope-image-viewer:is([data-part='zoom-in-trigger'], [data-part='zoom-out-trigger'], [data-part='rotate-left-trigger'], [data-part='rotate-right-trigger'], [data-part='flip-horizontal-trigger'], [data-part='flip-vertical-trigger'], [data-part='reset-trigger'], [data-part='prev-trigger'], [data-part='next-trigger'], [data-part='close-trigger']):empty::before {
|
|
33430
33519
|
forced-color-adjust: none;
|
|
33431
33520
|
background-color: ButtonText;
|
|
33432
33521
|
}
|
|
33433
33522
|
|
|
33434
|
-
.xh-scope-image-viewer:is([data-part='zoom-in-trigger'], [data-part='zoom-out-trigger'], [data-part='rotate-left-trigger'], [data-part='rotate-right-trigger'], [data-part='flip-horizontal-trigger'], [data-part='flip-vertical-trigger'], [data-part='prev-trigger'], [data-part='next-trigger'], [data-part='close-trigger']):not([data-disabled]):not([data-loading]):is(:hover, :active, [data-pressed]):empty::before {
|
|
33523
|
+
.xh-scope-image-viewer:is([data-part='zoom-in-trigger'], [data-part='zoom-out-trigger'], [data-part='rotate-left-trigger'], [data-part='rotate-right-trigger'], [data-part='flip-horizontal-trigger'], [data-part='flip-vertical-trigger'], [data-part='reset-trigger'], [data-part='prev-trigger'], [data-part='next-trigger'], [data-part='close-trigger']):not([data-disabled]):not([data-loading]):is(:hover, :active, [data-pressed]):empty::before {
|
|
33435
33524
|
background-color: HighlightText;
|
|
33436
33525
|
}
|
|
33437
33526
|
|
|
33438
|
-
.xh-scope-image-viewer:is([data-part='zoom-in-trigger'], [data-part='zoom-out-trigger'], [data-part='rotate-left-trigger'], [data-part='rotate-right-trigger'], [data-part='flip-horizontal-trigger'], [data-part='flip-vertical-trigger'], [data-part='prev-trigger'], [data-part='next-trigger'], [data-part='close-trigger'])[data-disabled]:empty::before {
|
|
33527
|
+
.xh-scope-image-viewer:is([data-part='zoom-in-trigger'], [data-part='zoom-out-trigger'], [data-part='rotate-left-trigger'], [data-part='rotate-right-trigger'], [data-part='flip-horizontal-trigger'], [data-part='flip-vertical-trigger'], [data-part='reset-trigger'], [data-part='prev-trigger'], [data-part='next-trigger'], [data-part='close-trigger'])[data-disabled]:empty::before {
|
|
33439
33528
|
background-color: GrayText;
|
|
33440
33529
|
}
|
|
33441
33530
|
}
|
|
@@ -36173,6 +36262,9 @@
|
|
|
36173
36262
|
flex-direction: column;
|
|
36174
36263
|
row-gap: var(--xh-notification-item-row-gap, var(--xh-space-2));
|
|
36175
36264
|
min-inline-size: 0;
|
|
36265
|
+
/* 凭证号、令牌、文件路径这类没有断点的长串就地折行,标题与说明一并继承:不折行时标题顶出卡片,
|
|
36266
|
+
说明因限高带着 overflow-y: auto、另一轴随之成 auto,撑出一条横向滚动条 */
|
|
36267
|
+
overflow-wrap: anywhere;
|
|
36176
36268
|
}
|
|
36177
36269
|
|
|
36178
36270
|
.xh-scope-notification[data-part='item'][data-preset='toast'] [data-part='item-content']:where(.xh-scope-notification) {
|
|
@@ -36473,6 +36565,12 @@
|
|
|
36473
36565
|
--xh-number-field-skin: 1;
|
|
36474
36566
|
}
|
|
36475
36567
|
|
|
36568
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
36569
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
36570
|
+
:where(xh-number-field:not([hidden])) {
|
|
36571
|
+
display: contents;
|
|
36572
|
+
}
|
|
36573
|
+
|
|
36476
36574
|
/* 与文本框同一套堆叠:标签一行、输入行一行。
|
|
36477
36575
|
control 是必需的唯一视觉盒,输入框、加减钮与前后缀都放在里面;
|
|
36478
36576
|
输入与前后缀在左,减、加两颗动作依次收在逻辑末端。
|
|
@@ -40559,6 +40657,12 @@
|
|
|
40559
40657
|
--xh-select-skin: 1;
|
|
40560
40658
|
}
|
|
40561
40659
|
|
|
40660
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
40661
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
40662
|
+
:where(xh-select:not([hidden])) {
|
|
40663
|
+
display: contents;
|
|
40664
|
+
}
|
|
40665
|
+
|
|
40562
40666
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
40563
40667
|
.xh-scope-select[data-part='positioner'] {
|
|
40564
40668
|
/* 落定那一侧的可用高度,由定位引擎经内联自定义属性写进来,内容层继承它限高;
|
|
@@ -46304,6 +46408,12 @@
|
|
|
46304
46408
|
--xh-tags-input-skin: 1;
|
|
46305
46409
|
}
|
|
46306
46410
|
|
|
46411
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
46412
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
46413
|
+
:where(xh-tags-input:not([hidden])) {
|
|
46414
|
+
display: contents;
|
|
46415
|
+
}
|
|
46416
|
+
|
|
46307
46417
|
/* root 只负责纵向堆叠:标题一行、控件一行。可见的那个"框"长在 control 上,
|
|
46308
46418
|
因为标签、输入框、清空按钮都在它里面,边框必须把三者一起圈住。
|
|
46309
46419
|
组件层只把既有公开槽映射到家族合同;形态三档由家族按 control 上的 data-variant 生成,皮肤不再声明 */
|
|
@@ -46637,6 +46747,12 @@
|
|
|
46637
46747
|
--xh-text-field-skin: 1;
|
|
46638
46748
|
}
|
|
46639
46749
|
|
|
46750
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
46751
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
46752
|
+
:where(xh-text-field:not([hidden])) {
|
|
46753
|
+
display: contents;
|
|
46754
|
+
}
|
|
46755
|
+
|
|
46640
46756
|
/* 组件层只把既有公开槽映射到家族合同,并保留 label/count 等 TextField 专属结构;
|
|
46641
46757
|
形态三档由家族按 control 上的 data-variant 生成,皮肤不再声明。 */
|
|
46642
46758
|
.xh-scope-text-field[data-part='root'] {
|
|
@@ -46830,6 +46946,12 @@
|
|
|
46830
46946
|
--xh-time-field-skin: 1;
|
|
46831
46947
|
}
|
|
46832
46948
|
|
|
46949
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
46950
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
46951
|
+
:where(xh-time-field:not([hidden])) {
|
|
46952
|
+
display: contents;
|
|
46953
|
+
}
|
|
46954
|
+
|
|
46833
46955
|
/* 与文本框、数字框同一套堆叠:标签一行、控件一行。
|
|
46834
46956
|
组件层只把既有公开槽映射到家族合同;形态三档由家族按 control 上的 data-variant 生成,皮肤不再声明。 */
|
|
46835
46957
|
.xh-scope-time-field[data-part='root'] {
|
|
@@ -47104,6 +47226,12 @@
|
|
|
47104
47226
|
--xh-time-picker-skin: 1;
|
|
47105
47227
|
}
|
|
47106
47228
|
|
|
47229
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
47230
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
47231
|
+
:where(xh-time-picker:not([hidden])) {
|
|
47232
|
+
display: contents;
|
|
47233
|
+
}
|
|
47234
|
+
|
|
47107
47235
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
47108
47236
|
.xh-scope-time-picker[data-part='positioner'] {
|
|
47109
47237
|
/* 每个浮层独立声明方向,避免嵌套浮层继承祖先的进场位移。 */
|
|
@@ -47887,6 +48015,12 @@
|
|
|
47887
48015
|
--xh-time-range-picker-skin: 1;
|
|
47888
48016
|
}
|
|
47889
48017
|
|
|
48018
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
48019
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
48020
|
+
:where(xh-time-range-picker:not([hidden])) {
|
|
48021
|
+
display: contents;
|
|
48022
|
+
}
|
|
48023
|
+
|
|
47890
48024
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
47891
48025
|
.xh-scope-time-range-picker[data-part='positioner'] {
|
|
47892
48026
|
/* 落定那一侧的可用宽度,由定位引擎经内联自定义属性写进来,内容层据此夹住行内轴;
|
|
@@ -51860,6 +51994,12 @@
|
|
|
51860
51994
|
--xh-tree-select-skin: 1;
|
|
51861
51995
|
}
|
|
51862
51996
|
|
|
51997
|
+
/* Web Components 的宿主不占一层盒子:作者写的 root 直接参与外层排布、按控件宽铺满,与 Vue / React
|
|
51998
|
+
直接渲染 root 一致。零特指度,作者给宿主写的 display 照层叠胜出;带 hidden 的宿主不掀开 */
|
|
51999
|
+
:where(xh-tree-select:not([hidden])) {
|
|
52000
|
+
display: contents;
|
|
52001
|
+
}
|
|
52002
|
+
|
|
51863
52003
|
/* 坐标由定位引擎写进 style(inset-inline-start / inset-block-start),这里只定位模式与层级 */
|
|
51864
52004
|
.xh-scope-tree-select[data-part='positioner'] {
|
|
51865
52005
|
/* 落定那一侧的可用高度,由定位引擎经内联自定义属性写进来,内容层继承它限高;
|