@uzum-tech/ui 1.5.5 → 1.6.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/dist/index.js +72 -20
- package/dist/index.prod.js +2 -2
- package/es/_internal/radio/src/use-radio.d.ts +1 -0
- package/es/_internal/radio/src/use-radio.js +2 -1
- package/es/checkbox/src/styles/index.cssr.js +22 -0
- package/es/data-table/src/TableParts/Body.js +6 -3
- package/es/data-table/src/TableParts/BodyRadio.d.ts +6 -0
- package/es/data-table/src/TableParts/BodyRadio.js +4 -1
- package/es/list/src/List.d.ts +1 -1
- package/es/list/src/ListItem.js +9 -2
- package/es/pagination/src/Pagination.js +11 -5
- package/es/pagination/src/styles/index.cssr.js +10 -5
- package/es/pagination/styles/light.js +5 -5
- package/es/radio/src/Radio.d.ts +3 -0
- package/es/radio/src/Radio.js +1 -1
- package/es/radio/src/RadioButton.d.ts +3 -0
- package/es/version.d.ts +1 -1
- package/es/version.js +1 -1
- package/lib/_internal/radio/src/use-radio.d.ts +1 -0
- package/lib/_internal/radio/src/use-radio.js +2 -1
- package/lib/checkbox/src/styles/index.cssr.js +22 -0
- package/lib/data-table/src/TableParts/Body.js +6 -3
- package/lib/data-table/src/TableParts/BodyRadio.d.ts +6 -0
- package/lib/data-table/src/TableParts/BodyRadio.js +4 -1
- package/lib/list/src/List.d.ts +1 -1
- package/lib/list/src/ListItem.js +7 -0
- package/lib/pagination/src/Pagination.js +11 -5
- package/lib/pagination/src/styles/index.cssr.js +9 -4
- package/lib/pagination/styles/light.js +5 -5
- package/lib/radio/src/Radio.d.ts +3 -0
- package/lib/radio/src/Radio.js +1 -1
- package/lib/radio/src/RadioButton.d.ts +3 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/web-types.json +11 -3
|
@@ -25,6 +25,7 @@ export declare const radioBaseProps: {
|
|
|
25
25
|
readonly default: undefined;
|
|
26
26
|
};
|
|
27
27
|
readonly onChange: PropType<OnChangeImpl>;
|
|
28
|
+
readonly onClick: PropType<(event: MouseEvent) => void>;
|
|
28
29
|
};
|
|
29
30
|
export declare const radioGroupInjectionKey: import("vue").InjectionKey<RadioGroupInjection>;
|
|
30
31
|
export interface UseRadio {
|
|
@@ -26,7 +26,8 @@ export const radioBaseProps = {
|
|
|
26
26
|
type: Boolean,
|
|
27
27
|
default: undefined
|
|
28
28
|
},
|
|
29
|
-
onChange: [Function, Array]
|
|
29
|
+
onChange: [Function, Array],
|
|
30
|
+
onClick: [Function, Array]
|
|
30
31
|
};
|
|
31
32
|
export const radioGroupInjectionKey = createInjectionKey('u-radio-group');
|
|
32
33
|
function useRadio(props) {
|
|
@@ -107,6 +107,28 @@ cE('ripple', `
|
|
|
107
107
|
--u-merged-border: var(--u-border-disabled-checked);
|
|
108
108
|
--u-merged-shadow: transparent;
|
|
109
109
|
--u-merged-icon: var(--u-check-mark-color-disabled-checked);
|
|
110
|
+
`)]), cM('indeterminate', `
|
|
111
|
+
--u-merged-color: var(--u-color-checked);
|
|
112
|
+
--u-merged-border: var(--u-border-checked);
|
|
113
|
+
--u-merged-shadow: var(--u-box-shadow-hover-checked);
|
|
114
|
+
--u-merged-icon: var(--u-check-mark-color);
|
|
115
|
+
`, [c('&:hover', `
|
|
116
|
+
--u-merged-color: var(--u-color-hover-checked);
|
|
117
|
+
--u-merged-border: var(--u-border-hover-checked);
|
|
118
|
+
--u-merged-shadow: var(--u-box-shadow-hover-checked);
|
|
119
|
+
`), c('&:focus', `
|
|
120
|
+
--u-merged-color: var(--u-color-focus-checked);
|
|
121
|
+
--u-merged-border: var(--u-border-focus-checked);
|
|
122
|
+
--u-merged-shadow: var(--u-box-shadow-focus-checked);
|
|
123
|
+
`), c('&:active', `
|
|
124
|
+
--u-merged-color: var(--u-color-active-checked);
|
|
125
|
+
--u-merged-border: var(--u-border-active-checked);
|
|
126
|
+
--u-merged-shadow: var(--u-box-shadow-active-checked);
|
|
127
|
+
`), cM('disabled', `
|
|
128
|
+
--u-merged-color: var(--u-color-disabled-checked);
|
|
129
|
+
--u-merged-border: var(--u-border-disabled-checked);
|
|
130
|
+
--u-merged-shadow: transparent;
|
|
131
|
+
--u-merged-icon: var(--u-check-mark-color-disabled-checked);
|
|
110
132
|
`)])]), cB('checkbox-box', `
|
|
111
133
|
position: relative;
|
|
112
134
|
flex-shrink: 0;
|
|
@@ -574,10 +574,13 @@ export default defineComponent({
|
|
|
574
574
|
} }))
|
|
575
575
|
]
|
|
576
576
|
: null,
|
|
577
|
-
column.type === 'selection' ? (!isSummary ? (column.multiple === false ? (h(RenderSafeRadio, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled,
|
|
577
|
+
column.type === 'selection' ? (!isSummary ? (column.multiple === false ? (h(RenderSafeRadio, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onClick: (event) => {
|
|
578
|
+
event.stopPropagation();
|
|
579
|
+
}, onUpdateChecked: () => {
|
|
578
580
|
handleRadioUpdateChecked(rowInfo.tmNode);
|
|
579
|
-
} })) : (h(RenderSafeCheckbox, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onUpdateChecked: (checked,
|
|
580
|
-
|
|
581
|
+
} })) : (h(RenderSafeCheckbox, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onUpdateChecked: (checked, event) => {
|
|
582
|
+
event.stopPropagation();
|
|
583
|
+
handleCheckboxUpdateChecked(rowInfo.tmNode, checked, event.shiftKey);
|
|
581
584
|
} }))) : null) : column.type === 'expand' ? (!isSummary ? (!column.expandable ||
|
|
582
585
|
((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData)) ? (h(ExpandTrigger, { clsPrefix: mergedClsPrefix, expanded: expanded, renderExpandIcon: this.renderExpandIcon, onClick: () => {
|
|
583
586
|
handleUpdateExpanded(rowKey, null);
|
|
@@ -13,6 +13,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
13
13
|
type: PropType<(checked: boolean) => void>;
|
|
14
14
|
required: true;
|
|
15
15
|
};
|
|
16
|
+
onClick: {
|
|
17
|
+
type: PropType<(event: MouseEvent) => void>;
|
|
18
|
+
};
|
|
16
19
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
17
20
|
rowKey: {
|
|
18
21
|
type: PropType<RowKey>;
|
|
@@ -26,5 +29,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
26
29
|
type: PropType<(checked: boolean) => void>;
|
|
27
30
|
required: true;
|
|
28
31
|
};
|
|
32
|
+
onClick: {
|
|
33
|
+
type: PropType<(event: MouseEvent) => void>;
|
|
34
|
+
};
|
|
29
35
|
}>>, {}, {}>;
|
|
30
36
|
export default _default;
|
|
@@ -16,6 +16,9 @@ export default defineComponent({
|
|
|
16
16
|
onUpdateChecked: {
|
|
17
17
|
type: Function,
|
|
18
18
|
required: true
|
|
19
|
+
},
|
|
20
|
+
onClick: {
|
|
21
|
+
type: Function
|
|
19
22
|
}
|
|
20
23
|
},
|
|
21
24
|
setup(props) {
|
|
@@ -24,7 +27,7 @@ export default defineComponent({
|
|
|
24
27
|
} = inject(dataTableInjectionKey);
|
|
25
28
|
return () => {
|
|
26
29
|
const { rowKey } = props;
|
|
27
|
-
return (h(URadio, { name: componentId, disabled: props.disabled, checked: mergedCheckedRowKeySetRef.value.has(rowKey), onUpdateChecked: props.onUpdateChecked, size: sizeRef.value }));
|
|
30
|
+
return (h(URadio, { name: componentId, disabled: props.disabled, checked: mergedCheckedRowKeySetRef.value.has(rowKey), onUpdateChecked: props.onUpdateChecked, onClick: props.onClick, size: sizeRef.value }));
|
|
28
31
|
};
|
|
29
32
|
}
|
|
30
33
|
});
|
package/es/list/src/List.d.ts
CHANGED
|
@@ -306,8 +306,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
306
306
|
size: import("./interface").Size;
|
|
307
307
|
header: import("./interface").RenderableType;
|
|
308
308
|
loadingSkeleton: boolean;
|
|
309
|
-
rounded: boolean;
|
|
310
309
|
clickable: boolean;
|
|
310
|
+
rounded: boolean;
|
|
311
311
|
hoverable: boolean;
|
|
312
312
|
showDivider: boolean;
|
|
313
313
|
descriptionFirst: boolean;
|
package/es/list/src/ListItem.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h, defineComponent, inject, computed, ref } from 'vue';
|
|
2
|
-
import { call, createRefFromPropsAndInjection, throwError } from '../../_utils';
|
|
1
|
+
import { h, defineComponent, inject, computed, ref, watchEffect } from 'vue';
|
|
2
|
+
import { call, createRefFromPropsAndInjection, throwError, warnOnce } from '../../_utils';
|
|
3
3
|
import { listInjectionKey, listItemProps } from './props';
|
|
4
4
|
import { ChevronRightIcon } from '../../_internal/icons';
|
|
5
5
|
import { UBaseIcon, UBaseSkeleton, InternalUText } from '../../_internal';
|
|
@@ -10,6 +10,13 @@ export default defineComponent({
|
|
|
10
10
|
name: 'ListItem',
|
|
11
11
|
props: Object.assign({}, listItemProps),
|
|
12
12
|
setup(props, { slots }) {
|
|
13
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
14
|
+
watchEffect(() => {
|
|
15
|
+
if (slots.avatar !== undefined) {
|
|
16
|
+
warnOnce('list-item', '`avatar` is deprecated, please use `prefix` instead.');
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
13
20
|
const listInjection = inject(listInjectionKey, null);
|
|
14
21
|
if (!listInjection) {
|
|
15
22
|
throwError('list-item', '`u-list-item` must be placed in `u-list`.');
|
|
@@ -146,7 +146,13 @@ export default defineComponent({
|
|
|
146
146
|
});
|
|
147
147
|
const selectSizeRef = computed(() => {
|
|
148
148
|
var _a, _b;
|
|
149
|
-
|
|
149
|
+
const selectSizes = {
|
|
150
|
+
small: 'small',
|
|
151
|
+
medium: 'small',
|
|
152
|
+
large: 'medium'
|
|
153
|
+
};
|
|
154
|
+
return (((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.Pagination) === null || _b === void 0 ? void 0 : _b.selectSize) ||
|
|
155
|
+
selectSizes[props.size]);
|
|
150
156
|
});
|
|
151
157
|
const startIndexRef = computed(() => {
|
|
152
158
|
return (mergedPageRef.value - 1) * mergedPageSizeRef.value;
|
|
@@ -446,7 +452,7 @@ export default defineComponent({
|
|
|
446
452
|
// eslint-disable-next-line no-case-declarations
|
|
447
453
|
const fastForwardNode = this.fastForwardActive ? (h(UBaseIcon, { clsPrefix: mergedClsPrefix }, {
|
|
448
454
|
default: () => this.rtlEnabled ? (h(FastBackwardIcon, null)) : (h(FastForwardIcon, null))
|
|
449
|
-
})) : (h(UBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon,
|
|
455
|
+
})) : (h(UBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon, { class: "more-icon" }) }));
|
|
450
456
|
if (renderLabel) {
|
|
451
457
|
contentNode = renderLabel({
|
|
452
458
|
type: 'fast-forward',
|
|
@@ -465,7 +471,7 @@ export default defineComponent({
|
|
|
465
471
|
// eslint-disable-next-line no-case-declarations
|
|
466
472
|
const fastBackwardNode = this.fastBackwardActive ? (h(UBaseIcon, { clsPrefix: mergedClsPrefix }, {
|
|
467
473
|
default: () => this.rtlEnabled ? (h(FastForwardIcon, null)) : (h(FastBackwardIcon, null))
|
|
468
|
-
})) : (h(UBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon,
|
|
474
|
+
})) : (h(UBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon, { class: "more-icon" }) }));
|
|
469
475
|
if (renderLabel) {
|
|
470
476
|
contentNode = renderLabel({
|
|
471
477
|
type: 'fast-backward',
|
|
@@ -509,7 +515,7 @@ export default defineComponent({
|
|
|
509
515
|
? 'fast-backward'
|
|
510
516
|
: 'fast-forward'
|
|
511
517
|
: pageItem.type;
|
|
512
|
-
return (h(UPopselect, { to: this.to, key: key, disabled: disabled, trigger: "hover", virtualScroll: true, style: {
|
|
518
|
+
return (h(UPopselect, { to: this.to, key: key, disabled: disabled, trigger: "hover", virtualScroll: true, style: { minWidth: '70px', textAlign: 'center' }, theme: mergedTheme.peers.Popselect, themeOverrides: mergedTheme.peerOverrides.Popselect, builtinThemeOverrides: {
|
|
513
519
|
peers: {
|
|
514
520
|
InternalSelectMenu: {
|
|
515
521
|
height: 'calc(var(--u-option-height) * 4.6)'
|
|
@@ -563,7 +569,7 @@ export default defineComponent({
|
|
|
563
569
|
case 'size-picker': {
|
|
564
570
|
return !simple && showSizePicker ? (h("div", { class: `${mergedClsPrefix}-pagination-size-picker` },
|
|
565
571
|
h(USelect, Object.assign({ consistentMenuWidth: false, placeholder: "", showCheckmark: false, to: this.to }, this.selectProps, { size: selectSize, options: pageSizeOptions, value: mergedPageSize, disabled: disabled, theme: mergedTheme.peers.Select, themeOverrides: mergedTheme.peerOverrides.Select, onUpdateValue: handleSizePickerChange })),
|
|
566
|
-
h("span", { class: `${mergedClsPrefix}-label` },
|
|
572
|
+
h("span", { class: `${mergedClsPrefix}-label` }, sizePickerLabel || ''))) : null;
|
|
567
573
|
}
|
|
568
574
|
case 'quick-jumper':
|
|
569
575
|
return !simple && showQuickJumper ? (h("div", { class: `${mergedClsPrefix}-pagination-quick-jumper` },
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cB, c, cM, cNotM } from '../../../_utils/cssr';
|
|
1
|
+
import { cB, c, cM, cNotM, cE } from '../../../_utils/cssr';
|
|
2
2
|
const hoverStyleProps = `
|
|
3
3
|
background: var(--u-item-color-hover);
|
|
4
4
|
color: var(--u-item-text-color-hover);
|
|
@@ -87,9 +87,9 @@ export default cB('pagination', `
|
|
|
87
87
|
line-height: 20px;
|
|
88
88
|
`), cB('base-selection-label', `
|
|
89
89
|
background-color: var(--u-pagination-size-picker-background);
|
|
90
|
-
`), cB('base-
|
|
90
|
+
`), cB('base-selection', [cE('border', `
|
|
91
91
|
border-color: var(--u-pagination-size-picker-border);
|
|
92
|
-
`)]), cB('pagination-quick-jumper', `
|
|
92
|
+
`)])]), cB('pagination-quick-jumper', `
|
|
93
93
|
white-space: nowrap;
|
|
94
94
|
display: flex;
|
|
95
95
|
color: var(--u-jumper-text-color);
|
|
@@ -123,14 +123,19 @@ export default cB('pagination', `
|
|
|
123
123
|
border-color .3s var(--u-bezier),
|
|
124
124
|
background-color .3s var(--u-bezier),
|
|
125
125
|
fill .3s var(--u-bezier);
|
|
126
|
-
`, [
|
|
126
|
+
`, [c('&:has(.more-icon)', `
|
|
127
|
+
font-size: 24px;
|
|
128
|
+
`), cM('button', `
|
|
127
129
|
background: var(--u-button-color);
|
|
128
130
|
color: var(--u-button-icon-color);
|
|
129
131
|
border: var(--u-button-border);
|
|
130
132
|
padding: 0;
|
|
131
133
|
`, [cB('base-icon', `
|
|
132
134
|
font-size: var(--u-button-icon-size);
|
|
133
|
-
`)]), cNotM('disabled', [
|
|
135
|
+
`)]), cNotM('disabled', [cNotM('clickable', `
|
|
136
|
+
width: 45px;
|
|
137
|
+
padding: 0;
|
|
138
|
+
`), cM('hover', hoverStyleProps, hoverStyleChildren), c('&:hover', hoverStyleProps, hoverStyleChildren), c('&:active', `
|
|
134
139
|
font-weight: 700;
|
|
135
140
|
background: var(--u-item-color-pressed);
|
|
136
141
|
color: var(--u-item-text-color-pressed);
|
|
@@ -6,13 +6,13 @@ import { createTheme } from '../../_mixins';
|
|
|
6
6
|
export const self = (vars) => {
|
|
7
7
|
const { brandPrimary100, transparencySecondary, elementsPrimary, brandPrimary500, textSecondary, borderRadius, fontBodyMedium, fontBodyLarge, textPrimary, textTertiary, elementsTertiary, elementsQuaternary } = vars;
|
|
8
8
|
return {
|
|
9
|
-
itemPaddingSmall: '0
|
|
9
|
+
itemPaddingSmall: '0 10px',
|
|
10
10
|
itemMarginSmall: '0 0 0 2px',
|
|
11
11
|
itemMarginSmallRtl: '0 2px 0 0',
|
|
12
|
-
itemPaddingMedium: '0
|
|
12
|
+
itemPaddingMedium: '0 12px',
|
|
13
13
|
itemMarginMedium: '0 0 0 2px',
|
|
14
14
|
itemMarginMediumRtl: '0 2px 0 0',
|
|
15
|
-
itemPaddingLarge: '0
|
|
15
|
+
itemPaddingLarge: '0 14px',
|
|
16
16
|
itemMarginLarge: '0 0 0 2px',
|
|
17
17
|
itemMarginLargeRtl: '0 2px 0 0',
|
|
18
18
|
buttonIconSizeSmall: '14px',
|
|
@@ -65,8 +65,8 @@ export const self = (vars) => {
|
|
|
65
65
|
itemBorderActive: '0px',
|
|
66
66
|
itemBorderDisabled: '0px',
|
|
67
67
|
itemBorderRadius: borderRadius,
|
|
68
|
-
itemSizeSmall: '
|
|
69
|
-
itemSizeMedium: '
|
|
68
|
+
itemSizeSmall: '32px',
|
|
69
|
+
itemSizeMedium: '36px',
|
|
70
70
|
itemSizeLarge: '40px',
|
|
71
71
|
itemFontSizeSmall: fontBodyMedium,
|
|
72
72
|
itemFontSizeMedium: fontBodyMedium,
|
package/es/radio/src/Radio.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export declare const radioProps: {
|
|
|
29
29
|
readonly default: undefined;
|
|
30
30
|
};
|
|
31
31
|
readonly onChange: PropType<import("../../_internal/radio").OnChangeImpl>;
|
|
32
|
+
readonly onClick: PropType<(event: MouseEvent) => void>;
|
|
32
33
|
readonly theme: PropType<import("../../_mixins").Theme<"Radio", {
|
|
33
34
|
radioSizeSmall: string;
|
|
34
35
|
radioSizeMedium: string;
|
|
@@ -216,6 +217,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
216
217
|
readonly default: undefined;
|
|
217
218
|
};
|
|
218
219
|
readonly onChange: PropType<import("../../_internal/radio").OnChangeImpl>;
|
|
220
|
+
readonly onClick: PropType<(event: MouseEvent) => void>;
|
|
219
221
|
readonly theme: PropType<import("../../_mixins").Theme<"Radio", {
|
|
220
222
|
radioSizeSmall: string;
|
|
221
223
|
radioSizeMedium: string;
|
|
@@ -438,6 +440,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
438
440
|
readonly default: undefined;
|
|
439
441
|
};
|
|
440
442
|
readonly onChange: PropType<import("../../_internal/radio").OnChangeImpl>;
|
|
443
|
+
readonly onClick: PropType<(event: MouseEvent) => void>;
|
|
441
444
|
readonly theme: PropType<import("../../_mixins").Theme<"Radio", {
|
|
442
445
|
radioSizeSmall: string;
|
|
443
446
|
radioSizeMedium: string;
|
package/es/radio/src/Radio.js
CHANGED
|
@@ -85,7 +85,7 @@ export default defineComponent({
|
|
|
85
85
|
[`${mergedClsPrefix}-radio--focus`]: this.focus
|
|
86
86
|
}
|
|
87
87
|
], style: this.cssVars },
|
|
88
|
-
h("input", { ref: "inputRef", type: "radio", class: `${mergedClsPrefix}-radio-input`, value: this.value, name: this.mergedName, checked: this.renderSafeChecked, disabled: this.mergedDisabled, onChange: this.handleRadioInputChange, onFocus: this.handleRadioInputFocus, onBlur: this.handleRadioInputBlur }),
|
|
88
|
+
h("input", { ref: "inputRef", type: "radio", class: `${mergedClsPrefix}-radio-input`, value: this.value, name: this.mergedName, checked: this.renderSafeChecked, disabled: this.mergedDisabled, onChange: this.handleRadioInputChange, onFocus: this.handleRadioInputFocus, onBlur: this.handleRadioInputBlur, onClick: this.onClick }),
|
|
89
89
|
h("div", { class: `${mergedClsPrefix}-radio__dot-wrapper` },
|
|
90
90
|
"\u00A0",
|
|
91
91
|
h("div", { class: [
|
|
@@ -24,6 +24,7 @@ export declare const radioButtonProps: {
|
|
|
24
24
|
readonly default: undefined;
|
|
25
25
|
};
|
|
26
26
|
readonly onChange: import("vue").PropType<import("../../_internal/radio").OnChangeImpl>;
|
|
27
|
+
readonly onClick: import("vue").PropType<(event: MouseEvent) => void>;
|
|
27
28
|
};
|
|
28
29
|
export type RadioButtonProps = ExtractPublicPropTypes<typeof radioBaseProps>;
|
|
29
30
|
declare const _default: import("vue").DefineComponent<{
|
|
@@ -50,6 +51,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
50
51
|
readonly default: undefined;
|
|
51
52
|
};
|
|
52
53
|
readonly onChange: import("vue").PropType<import("../../_internal/radio").OnChangeImpl>;
|
|
54
|
+
readonly onClick: import("vue").PropType<(event: MouseEvent) => void>;
|
|
53
55
|
}, import("../../_internal").UseRadio, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
54
56
|
readonly name: StringConstructor;
|
|
55
57
|
readonly value: {
|
|
@@ -74,6 +76,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
74
76
|
readonly default: undefined;
|
|
75
77
|
};
|
|
76
78
|
readonly onChange: import("vue").PropType<import("../../_internal/radio").OnChangeImpl>;
|
|
79
|
+
readonly onClick: import("vue").PropType<(event: MouseEvent) => void>;
|
|
77
80
|
}>>, {
|
|
78
81
|
readonly value: string | number | boolean;
|
|
79
82
|
readonly disabled: boolean | undefined;
|
package/es/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "1.
|
|
1
|
+
declare const _default: "1.6.0";
|
|
2
2
|
export default _default;
|
package/es/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '1.
|
|
1
|
+
export default '1.6.0';
|
|
@@ -25,6 +25,7 @@ export declare const radioBaseProps: {
|
|
|
25
25
|
readonly default: undefined;
|
|
26
26
|
};
|
|
27
27
|
readonly onChange: PropType<OnChangeImpl>;
|
|
28
|
+
readonly onClick: PropType<(event: MouseEvent) => void>;
|
|
28
29
|
};
|
|
29
30
|
export declare const radioGroupInjectionKey: import("vue").InjectionKey<RadioGroupInjection>;
|
|
30
31
|
export interface UseRadio {
|
|
@@ -30,7 +30,8 @@ exports.radioBaseProps = {
|
|
|
30
30
|
type: Boolean,
|
|
31
31
|
default: undefined
|
|
32
32
|
},
|
|
33
|
-
onChange: [Function, Array]
|
|
33
|
+
onChange: [Function, Array],
|
|
34
|
+
onClick: [Function, Array]
|
|
34
35
|
};
|
|
35
36
|
exports.radioGroupInjectionKey = (0, _utils_1.createInjectionKey)('u-radio-group');
|
|
36
37
|
function useRadio(props) {
|
|
@@ -112,6 +112,28 @@ exports.default = (0, cssr_1.c)([(0, icon_switch_cssr_1.iconSwitchTransition)(),
|
|
|
112
112
|
--u-merged-border: var(--u-border-disabled-checked);
|
|
113
113
|
--u-merged-shadow: transparent;
|
|
114
114
|
--u-merged-icon: var(--u-check-mark-color-disabled-checked);
|
|
115
|
+
`)]), (0, cssr_1.cM)('indeterminate', `
|
|
116
|
+
--u-merged-color: var(--u-color-checked);
|
|
117
|
+
--u-merged-border: var(--u-border-checked);
|
|
118
|
+
--u-merged-shadow: var(--u-box-shadow-hover-checked);
|
|
119
|
+
--u-merged-icon: var(--u-check-mark-color);
|
|
120
|
+
`, [(0, cssr_1.c)('&:hover', `
|
|
121
|
+
--u-merged-color: var(--u-color-hover-checked);
|
|
122
|
+
--u-merged-border: var(--u-border-hover-checked);
|
|
123
|
+
--u-merged-shadow: var(--u-box-shadow-hover-checked);
|
|
124
|
+
`), (0, cssr_1.c)('&:focus', `
|
|
125
|
+
--u-merged-color: var(--u-color-focus-checked);
|
|
126
|
+
--u-merged-border: var(--u-border-focus-checked);
|
|
127
|
+
--u-merged-shadow: var(--u-box-shadow-focus-checked);
|
|
128
|
+
`), (0, cssr_1.c)('&:active', `
|
|
129
|
+
--u-merged-color: var(--u-color-active-checked);
|
|
130
|
+
--u-merged-border: var(--u-border-active-checked);
|
|
131
|
+
--u-merged-shadow: var(--u-box-shadow-active-checked);
|
|
132
|
+
`), (0, cssr_1.cM)('disabled', `
|
|
133
|
+
--u-merged-color: var(--u-color-disabled-checked);
|
|
134
|
+
--u-merged-border: var(--u-border-disabled-checked);
|
|
135
|
+
--u-merged-shadow: transparent;
|
|
136
|
+
--u-merged-icon: var(--u-check-mark-color-disabled-checked);
|
|
115
137
|
`)])]), (0, cssr_1.cB)('checkbox-box', `
|
|
116
138
|
position: relative;
|
|
117
139
|
flex-shrink: 0;
|
|
@@ -579,10 +579,13 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
579
579
|
} }))
|
|
580
580
|
]
|
|
581
581
|
: null,
|
|
582
|
-
column.type === 'selection' ? (!isSummary ? (column.multiple === false ? ((0, vue_1.h)(BodyRadio_1.default, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled,
|
|
582
|
+
column.type === 'selection' ? (!isSummary ? (column.multiple === false ? ((0, vue_1.h)(BodyRadio_1.default, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onClick: (event) => {
|
|
583
|
+
event.stopPropagation();
|
|
584
|
+
}, onUpdateChecked: () => {
|
|
583
585
|
handleRadioUpdateChecked(rowInfo.tmNode);
|
|
584
|
-
} })) : ((0, vue_1.h)(BodyCheckbox_1.default, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onUpdateChecked: (checked,
|
|
585
|
-
|
|
586
|
+
} })) : ((0, vue_1.h)(BodyCheckbox_1.default, { key: currentPage, rowKey: rowKey, disabled: rowInfo.tmNode.disabled, onUpdateChecked: (checked, event) => {
|
|
587
|
+
event.stopPropagation();
|
|
588
|
+
handleCheckboxUpdateChecked(rowInfo.tmNode, checked, event.shiftKey);
|
|
586
589
|
} }))) : null) : column.type === 'expand' ? (!isSummary ? (!column.expandable ||
|
|
587
590
|
((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData)) ? ((0, vue_1.h)(ExpandTrigger_1.default, { clsPrefix: mergedClsPrefix, expanded: expanded, renderExpandIcon: this.renderExpandIcon, onClick: () => {
|
|
588
591
|
handleUpdateExpanded(rowKey, null);
|
|
@@ -13,6 +13,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
13
13
|
type: PropType<(checked: boolean) => void>;
|
|
14
14
|
required: true;
|
|
15
15
|
};
|
|
16
|
+
onClick: {
|
|
17
|
+
type: PropType<(event: MouseEvent) => void>;
|
|
18
|
+
};
|
|
16
19
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
17
20
|
rowKey: {
|
|
18
21
|
type: PropType<RowKey>;
|
|
@@ -26,5 +29,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
26
29
|
type: PropType<(checked: boolean) => void>;
|
|
27
30
|
required: true;
|
|
28
31
|
};
|
|
32
|
+
onClick: {
|
|
33
|
+
type: PropType<(event: MouseEvent) => void>;
|
|
34
|
+
};
|
|
29
35
|
}>>, {}, {}>;
|
|
30
36
|
export default _default;
|
|
@@ -18,6 +18,9 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
18
18
|
onUpdateChecked: {
|
|
19
19
|
type: Function,
|
|
20
20
|
required: true
|
|
21
|
+
},
|
|
22
|
+
onClick: {
|
|
23
|
+
type: Function
|
|
21
24
|
}
|
|
22
25
|
},
|
|
23
26
|
setup(props) {
|
|
@@ -26,7 +29,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
26
29
|
} = (0, vue_1.inject)(interface_1.dataTableInjectionKey);
|
|
27
30
|
return () => {
|
|
28
31
|
const { rowKey } = props;
|
|
29
|
-
return ((0, vue_1.h)(radio_1.URadio, { name: componentId, disabled: props.disabled, checked: mergedCheckedRowKeySetRef.value.has(rowKey), onUpdateChecked: props.onUpdateChecked, size: sizeRef.value }));
|
|
32
|
+
return ((0, vue_1.h)(radio_1.URadio, { name: componentId, disabled: props.disabled, checked: mergedCheckedRowKeySetRef.value.has(rowKey), onUpdateChecked: props.onUpdateChecked, onClick: props.onClick, size: sizeRef.value }));
|
|
30
33
|
};
|
|
31
34
|
}
|
|
32
35
|
});
|
package/lib/list/src/List.d.ts
CHANGED
|
@@ -306,8 +306,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
306
306
|
size: import("./interface").Size;
|
|
307
307
|
header: import("./interface").RenderableType;
|
|
308
308
|
loadingSkeleton: boolean;
|
|
309
|
-
rounded: boolean;
|
|
310
309
|
clickable: boolean;
|
|
310
|
+
rounded: boolean;
|
|
311
311
|
hoverable: boolean;
|
|
312
312
|
showDivider: boolean;
|
|
313
313
|
descriptionFirst: boolean;
|
package/lib/list/src/ListItem.js
CHANGED
|
@@ -12,6 +12,13 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
12
12
|
name: 'ListItem',
|
|
13
13
|
props: Object.assign({}, props_1.listItemProps),
|
|
14
14
|
setup(props, { slots }) {
|
|
15
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
16
|
+
(0, vue_1.watchEffect)(() => {
|
|
17
|
+
if (slots.avatar !== undefined) {
|
|
18
|
+
(0, _utils_1.warnOnce)('list-item', '`avatar` is deprecated, please use `prefix` instead.');
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
15
22
|
const listInjection = (0, vue_1.inject)(props_1.listInjectionKey, null);
|
|
16
23
|
if (!listInjection) {
|
|
17
24
|
(0, _utils_1.throwError)('list-item', '`u-list-item` must be placed in `u-list`.');
|
|
@@ -152,7 +152,13 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
152
152
|
});
|
|
153
153
|
const selectSizeRef = (0, vue_1.computed)(() => {
|
|
154
154
|
var _a, _b;
|
|
155
|
-
|
|
155
|
+
const selectSizes = {
|
|
156
|
+
small: 'small',
|
|
157
|
+
medium: 'small',
|
|
158
|
+
large: 'medium'
|
|
159
|
+
};
|
|
160
|
+
return (((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.Pagination) === null || _b === void 0 ? void 0 : _b.selectSize) ||
|
|
161
|
+
selectSizes[props.size]);
|
|
156
162
|
});
|
|
157
163
|
const startIndexRef = (0, vue_1.computed)(() => {
|
|
158
164
|
return (mergedPageRef.value - 1) * mergedPageSizeRef.value;
|
|
@@ -452,7 +458,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
452
458
|
// eslint-disable-next-line no-case-declarations
|
|
453
459
|
const fastForwardNode = this.fastForwardActive ? ((0, vue_1.h)(_internal_1.UBaseIcon, { clsPrefix: mergedClsPrefix }, {
|
|
454
460
|
default: () => this.rtlEnabled ? ((0, vue_1.h)(icons_1.FastBackwardIcon, null)) : ((0, vue_1.h)(icons_1.FastForwardIcon, null))
|
|
455
|
-
})) : ((0, vue_1.h)(_internal_1.UBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.MoreIcon,
|
|
461
|
+
})) : ((0, vue_1.h)(_internal_1.UBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.MoreIcon, { class: "more-icon" }) }));
|
|
456
462
|
if (renderLabel) {
|
|
457
463
|
contentNode = renderLabel({
|
|
458
464
|
type: 'fast-forward',
|
|
@@ -471,7 +477,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
471
477
|
// eslint-disable-next-line no-case-declarations
|
|
472
478
|
const fastBackwardNode = this.fastBackwardActive ? ((0, vue_1.h)(_internal_1.UBaseIcon, { clsPrefix: mergedClsPrefix }, {
|
|
473
479
|
default: () => this.rtlEnabled ? ((0, vue_1.h)(icons_1.FastForwardIcon, null)) : ((0, vue_1.h)(icons_1.FastBackwardIcon, null))
|
|
474
|
-
})) : ((0, vue_1.h)(_internal_1.UBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.MoreIcon,
|
|
480
|
+
})) : ((0, vue_1.h)(_internal_1.UBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.MoreIcon, { class: "more-icon" }) }));
|
|
475
481
|
if (renderLabel) {
|
|
476
482
|
contentNode = renderLabel({
|
|
477
483
|
type: 'fast-backward',
|
|
@@ -515,7 +521,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
515
521
|
? 'fast-backward'
|
|
516
522
|
: 'fast-forward'
|
|
517
523
|
: pageItem.type;
|
|
518
|
-
return ((0, vue_1.h)(popselect_1.UPopselect, { to: this.to, key: key, disabled: disabled, trigger: "hover", virtualScroll: true, style: {
|
|
524
|
+
return ((0, vue_1.h)(popselect_1.UPopselect, { to: this.to, key: key, disabled: disabled, trigger: "hover", virtualScroll: true, style: { minWidth: '70px', textAlign: 'center' }, theme: mergedTheme.peers.Popselect, themeOverrides: mergedTheme.peerOverrides.Popselect, builtinThemeOverrides: {
|
|
519
525
|
peers: {
|
|
520
526
|
InternalSelectMenu: {
|
|
521
527
|
height: 'calc(var(--u-option-height) * 4.6)'
|
|
@@ -569,7 +575,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
569
575
|
case 'size-picker': {
|
|
570
576
|
return !simple && showSizePicker ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-pagination-size-picker` },
|
|
571
577
|
(0, vue_1.h)(select_1.USelect, Object.assign({ consistentMenuWidth: false, placeholder: "", showCheckmark: false, to: this.to }, this.selectProps, { size: selectSize, options: pageSizeOptions, value: mergedPageSize, disabled: disabled, theme: mergedTheme.peers.Select, themeOverrides: mergedTheme.peerOverrides.Select, onUpdateValue: handleSizePickerChange })),
|
|
572
|
-
(0, vue_1.h)("span", { class: `${mergedClsPrefix}-label` },
|
|
578
|
+
(0, vue_1.h)("span", { class: `${mergedClsPrefix}-label` }, sizePickerLabel || ''))) : null;
|
|
573
579
|
}
|
|
574
580
|
case 'quick-jumper':
|
|
575
581
|
return !simple && showQuickJumper ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-pagination-quick-jumper` },
|
|
@@ -92,9 +92,9 @@ exports.default = (0, cssr_1.cB)('pagination', `
|
|
|
92
92
|
line-height: 20px;
|
|
93
93
|
`), (0, cssr_1.cB)('base-selection-label', `
|
|
94
94
|
background-color: var(--u-pagination-size-picker-background);
|
|
95
|
-
`), (0, cssr_1.cB)('base-
|
|
95
|
+
`), (0, cssr_1.cB)('base-selection', [(0, cssr_1.cE)('border', `
|
|
96
96
|
border-color: var(--u-pagination-size-picker-border);
|
|
97
|
-
`)]), (0, cssr_1.cB)('pagination-quick-jumper', `
|
|
97
|
+
`)])]), (0, cssr_1.cB)('pagination-quick-jumper', `
|
|
98
98
|
white-space: nowrap;
|
|
99
99
|
display: flex;
|
|
100
100
|
color: var(--u-jumper-text-color);
|
|
@@ -128,14 +128,19 @@ exports.default = (0, cssr_1.cB)('pagination', `
|
|
|
128
128
|
border-color .3s var(--u-bezier),
|
|
129
129
|
background-color .3s var(--u-bezier),
|
|
130
130
|
fill .3s var(--u-bezier);
|
|
131
|
-
`, [(0, cssr_1.
|
|
131
|
+
`, [(0, cssr_1.c)('&:has(.more-icon)', `
|
|
132
|
+
font-size: 24px;
|
|
133
|
+
`), (0, cssr_1.cM)('button', `
|
|
132
134
|
background: var(--u-button-color);
|
|
133
135
|
color: var(--u-button-icon-color);
|
|
134
136
|
border: var(--u-button-border);
|
|
135
137
|
padding: 0;
|
|
136
138
|
`, [(0, cssr_1.cB)('base-icon', `
|
|
137
139
|
font-size: var(--u-button-icon-size);
|
|
138
|
-
`)]), (0, cssr_1.cNotM)('disabled', [(0, cssr_1.
|
|
140
|
+
`)]), (0, cssr_1.cNotM)('disabled', [(0, cssr_1.cNotM)('clickable', `
|
|
141
|
+
width: 45px;
|
|
142
|
+
padding: 0;
|
|
143
|
+
`), (0, cssr_1.cM)('hover', hoverStyleProps, hoverStyleChildren), (0, cssr_1.c)('&:hover', hoverStyleProps, hoverStyleChildren), (0, cssr_1.c)('&:active', `
|
|
139
144
|
font-weight: 700;
|
|
140
145
|
background: var(--u-item-color-pressed);
|
|
141
146
|
color: var(--u-item-text-color-pressed);
|
|
@@ -9,13 +9,13 @@ const _mixins_1 = require("../../_mixins");
|
|
|
9
9
|
const self = (vars) => {
|
|
10
10
|
const { brandPrimary100, transparencySecondary, elementsPrimary, brandPrimary500, textSecondary, borderRadius, fontBodyMedium, fontBodyLarge, textPrimary, textTertiary, elementsTertiary, elementsQuaternary } = vars;
|
|
11
11
|
return {
|
|
12
|
-
itemPaddingSmall: '0
|
|
12
|
+
itemPaddingSmall: '0 10px',
|
|
13
13
|
itemMarginSmall: '0 0 0 2px',
|
|
14
14
|
itemMarginSmallRtl: '0 2px 0 0',
|
|
15
|
-
itemPaddingMedium: '0
|
|
15
|
+
itemPaddingMedium: '0 12px',
|
|
16
16
|
itemMarginMedium: '0 0 0 2px',
|
|
17
17
|
itemMarginMediumRtl: '0 2px 0 0',
|
|
18
|
-
itemPaddingLarge: '0
|
|
18
|
+
itemPaddingLarge: '0 14px',
|
|
19
19
|
itemMarginLarge: '0 0 0 2px',
|
|
20
20
|
itemMarginLargeRtl: '0 2px 0 0',
|
|
21
21
|
buttonIconSizeSmall: '14px',
|
|
@@ -68,8 +68,8 @@ const self = (vars) => {
|
|
|
68
68
|
itemBorderActive: '0px',
|
|
69
69
|
itemBorderDisabled: '0px',
|
|
70
70
|
itemBorderRadius: borderRadius,
|
|
71
|
-
itemSizeSmall: '
|
|
72
|
-
itemSizeMedium: '
|
|
71
|
+
itemSizeSmall: '32px',
|
|
72
|
+
itemSizeMedium: '36px',
|
|
73
73
|
itemSizeLarge: '40px',
|
|
74
74
|
itemFontSizeSmall: fontBodyMedium,
|
|
75
75
|
itemFontSizeMedium: fontBodyMedium,
|
package/lib/radio/src/Radio.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export declare const radioProps: {
|
|
|
29
29
|
readonly default: undefined;
|
|
30
30
|
};
|
|
31
31
|
readonly onChange: PropType<import("../../_internal/radio").OnChangeImpl>;
|
|
32
|
+
readonly onClick: PropType<(event: MouseEvent) => void>;
|
|
32
33
|
readonly theme: PropType<import("../../_mixins").Theme<"Radio", {
|
|
33
34
|
radioSizeSmall: string;
|
|
34
35
|
radioSizeMedium: string;
|
|
@@ -216,6 +217,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
216
217
|
readonly default: undefined;
|
|
217
218
|
};
|
|
218
219
|
readonly onChange: PropType<import("../../_internal/radio").OnChangeImpl>;
|
|
220
|
+
readonly onClick: PropType<(event: MouseEvent) => void>;
|
|
219
221
|
readonly theme: PropType<import("../../_mixins").Theme<"Radio", {
|
|
220
222
|
radioSizeSmall: string;
|
|
221
223
|
radioSizeMedium: string;
|
|
@@ -438,6 +440,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
438
440
|
readonly default: undefined;
|
|
439
441
|
};
|
|
440
442
|
readonly onChange: PropType<import("../../_internal/radio").OnChangeImpl>;
|
|
443
|
+
readonly onClick: PropType<(event: MouseEvent) => void>;
|
|
441
444
|
readonly theme: PropType<import("../../_mixins").Theme<"Radio", {
|
|
442
445
|
radioSizeSmall: string;
|
|
443
446
|
radioSizeMedium: string;
|
package/lib/radio/src/Radio.js
CHANGED
|
@@ -91,7 +91,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
91
91
|
[`${mergedClsPrefix}-radio--focus`]: this.focus
|
|
92
92
|
}
|
|
93
93
|
], style: this.cssVars },
|
|
94
|
-
(0, vue_1.h)("input", { ref: "inputRef", type: "radio", class: `${mergedClsPrefix}-radio-input`, value: this.value, name: this.mergedName, checked: this.renderSafeChecked, disabled: this.mergedDisabled, onChange: this.handleRadioInputChange, onFocus: this.handleRadioInputFocus, onBlur: this.handleRadioInputBlur }),
|
|
94
|
+
(0, vue_1.h)("input", { ref: "inputRef", type: "radio", class: `${mergedClsPrefix}-radio-input`, value: this.value, name: this.mergedName, checked: this.renderSafeChecked, disabled: this.mergedDisabled, onChange: this.handleRadioInputChange, onFocus: this.handleRadioInputFocus, onBlur: this.handleRadioInputBlur, onClick: this.onClick }),
|
|
95
95
|
(0, vue_1.h)("div", { class: `${mergedClsPrefix}-radio__dot-wrapper` },
|
|
96
96
|
"\u00A0",
|
|
97
97
|
(0, vue_1.h)("div", { class: [
|