@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.
Files changed (36) hide show
  1. package/dist/index.js +72 -20
  2. package/dist/index.prod.js +2 -2
  3. package/es/_internal/radio/src/use-radio.d.ts +1 -0
  4. package/es/_internal/radio/src/use-radio.js +2 -1
  5. package/es/checkbox/src/styles/index.cssr.js +22 -0
  6. package/es/data-table/src/TableParts/Body.js +6 -3
  7. package/es/data-table/src/TableParts/BodyRadio.d.ts +6 -0
  8. package/es/data-table/src/TableParts/BodyRadio.js +4 -1
  9. package/es/list/src/List.d.ts +1 -1
  10. package/es/list/src/ListItem.js +9 -2
  11. package/es/pagination/src/Pagination.js +11 -5
  12. package/es/pagination/src/styles/index.cssr.js +10 -5
  13. package/es/pagination/styles/light.js +5 -5
  14. package/es/radio/src/Radio.d.ts +3 -0
  15. package/es/radio/src/Radio.js +1 -1
  16. package/es/radio/src/RadioButton.d.ts +3 -0
  17. package/es/version.d.ts +1 -1
  18. package/es/version.js +1 -1
  19. package/lib/_internal/radio/src/use-radio.d.ts +1 -0
  20. package/lib/_internal/radio/src/use-radio.js +2 -1
  21. package/lib/checkbox/src/styles/index.cssr.js +22 -0
  22. package/lib/data-table/src/TableParts/Body.js +6 -3
  23. package/lib/data-table/src/TableParts/BodyRadio.d.ts +6 -0
  24. package/lib/data-table/src/TableParts/BodyRadio.js +4 -1
  25. package/lib/list/src/List.d.ts +1 -1
  26. package/lib/list/src/ListItem.js +7 -0
  27. package/lib/pagination/src/Pagination.js +11 -5
  28. package/lib/pagination/src/styles/index.cssr.js +9 -4
  29. package/lib/pagination/styles/light.js +5 -5
  30. package/lib/radio/src/Radio.d.ts +3 -0
  31. package/lib/radio/src/Radio.js +1 -1
  32. package/lib/radio/src/RadioButton.d.ts +3 -0
  33. package/lib/version.d.ts +1 -1
  34. package/lib/version.js +1 -1
  35. package/package.json +1 -1
  36. 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, onUpdateChecked: () => {
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, e) => {
580
- handleCheckboxUpdateChecked(rowInfo.tmNode, checked, e.shiftKey);
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
  });
@@ -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;
@@ -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
- 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) || props.size);
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, null) }));
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, null) }));
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: { width: '60px' }, theme: mergedTheme.peers.Popselect, themeOverrides: mergedTheme.peerOverrides.Popselect, builtinThemeOverrides: {
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` }, `${sizePickerLabel || ''}`))) : null;
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-selection__border', `
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
- `, [cM('button', `
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', [cM('hover', hoverStyleProps, hoverStyleChildren), c('&:hover', hoverStyleProps, hoverStyleChildren), c('&:active', `
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 4px',
9
+ itemPaddingSmall: '0 10px',
10
10
  itemMarginSmall: '0 0 0 2px',
11
11
  itemMarginSmallRtl: '0 2px 0 0',
12
- itemPaddingMedium: '0 4px',
12
+ itemPaddingMedium: '0 12px',
13
13
  itemMarginMedium: '0 0 0 2px',
14
14
  itemMarginMediumRtl: '0 2px 0 0',
15
- itemPaddingLarge: '0 4px',
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: '24px',
69
- itemSizeMedium: '32px',
68
+ itemSizeSmall: '32px',
69
+ itemSizeMedium: '36px',
70
70
  itemSizeLarge: '40px',
71
71
  itemFontSizeSmall: fontBodyMedium,
72
72
  itemFontSizeMedium: fontBodyMedium,
@@ -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;
@@ -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.5.5";
1
+ declare const _default: "1.6.0";
2
2
  export default _default;
package/es/version.js CHANGED
@@ -1 +1 @@
1
- export default '1.5.5';
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, onUpdateChecked: () => {
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, e) => {
585
- handleCheckboxUpdateChecked(rowInfo.tmNode, checked, e.shiftKey);
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
  });
@@ -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;
@@ -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
- 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) || props.size);
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, null) }));
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, null) }));
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: { width: '60px' }, theme: mergedTheme.peers.Popselect, themeOverrides: mergedTheme.peerOverrides.Popselect, builtinThemeOverrides: {
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` }, `${sizePickerLabel || ''}`))) : null;
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-selection__border', `
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.cM)('button', `
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.cM)('hover', hoverStyleProps, hoverStyleChildren), (0, cssr_1.c)('&:hover', hoverStyleProps, hoverStyleChildren), (0, cssr_1.c)('&:active', `
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 4px',
12
+ itemPaddingSmall: '0 10px',
13
13
  itemMarginSmall: '0 0 0 2px',
14
14
  itemMarginSmallRtl: '0 2px 0 0',
15
- itemPaddingMedium: '0 4px',
15
+ itemPaddingMedium: '0 12px',
16
16
  itemMarginMedium: '0 0 0 2px',
17
17
  itemMarginMediumRtl: '0 2px 0 0',
18
- itemPaddingLarge: '0 4px',
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: '24px',
72
- itemSizeMedium: '32px',
71
+ itemSizeSmall: '32px',
72
+ itemSizeMedium: '36px',
73
73
  itemSizeLarge: '40px',
74
74
  itemFontSizeSmall: fontBodyMedium,
75
75
  itemFontSizeMedium: fontBodyMedium,
@@ -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;
@@ -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: [