@douyinfe/semi-ui 2.36.0 → 2.37.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 (175) hide show
  1. package/dist/css/semi.css +39 -1
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +850 -503
  4. package/dist/umd/semi-ui.js.map +1 -1
  5. package/dist/umd/semi-ui.min.js +1 -1
  6. package/dist/umd/semi-ui.min.js.map +1 -1
  7. package/lib/cjs/_base/baseComponent.d.ts +1 -0
  8. package/lib/cjs/_base/baseComponent.js +4 -0
  9. package/lib/cjs/anchor/index.js +2 -2
  10. package/lib/cjs/autoComplete/index.js +2 -2
  11. package/lib/cjs/banner/index.js +2 -2
  12. package/lib/cjs/breadcrumb/index.js +2 -2
  13. package/lib/cjs/breadcrumb/item.js +1 -1
  14. package/lib/cjs/calendar/dayCalendar.js +2 -2
  15. package/lib/cjs/calendar/monthCalendar.js +2 -2
  16. package/lib/cjs/calendar/rangeCalendar.js +2 -2
  17. package/lib/cjs/calendar/weekCalendar.d.ts +1 -1
  18. package/lib/cjs/calendar/weekCalendar.js +2 -2
  19. package/lib/cjs/carousel/index.js +2 -2
  20. package/lib/cjs/cascader/index.js +1 -1
  21. package/lib/cjs/checkbox/checkbox.js +2 -2
  22. package/lib/cjs/checkbox/checkboxGroup.js +2 -2
  23. package/lib/cjs/collapse/index.js +2 -2
  24. package/lib/cjs/collapsible/index.js +2 -2
  25. package/lib/cjs/datePicker/dateInput.d.ts +1 -0
  26. package/lib/cjs/datePicker/dateInput.js +10 -6
  27. package/lib/cjs/datePicker/datePicker.js +23 -11
  28. package/lib/cjs/datePicker/quickControl.d.ts +2 -0
  29. package/lib/cjs/datePicker/quickControl.js +5 -3
  30. package/lib/cjs/descriptions/index.js +22 -11
  31. package/lib/cjs/descriptions/item.js +22 -11
  32. package/lib/cjs/empty/index.js +23 -13
  33. package/lib/cjs/input/index.d.ts +3 -1
  34. package/lib/cjs/input/index.js +19 -16
  35. package/lib/cjs/list/index.js +30 -20
  36. package/lib/cjs/list/item.js +18 -15
  37. package/lib/cjs/locale/interface.d.ts +1 -0
  38. package/lib/cjs/locale/source/ar.js +1 -0
  39. package/lib/cjs/locale/source/de.js +1 -0
  40. package/lib/cjs/locale/source/en_GB.js +1 -0
  41. package/lib/cjs/locale/source/en_US.js +1 -0
  42. package/lib/cjs/locale/source/es.js +1 -0
  43. package/lib/cjs/locale/source/fr.js +1 -0
  44. package/lib/cjs/locale/source/id_ID.js +1 -0
  45. package/lib/cjs/locale/source/it.js +1 -0
  46. package/lib/cjs/locale/source/ja_JP.js +1 -0
  47. package/lib/cjs/locale/source/ko_KR.js +1 -0
  48. package/lib/cjs/locale/source/ms_MY.js +1 -0
  49. package/lib/cjs/locale/source/nl_NL.js +1 -0
  50. package/lib/cjs/locale/source/pl_PL.js +1 -0
  51. package/lib/cjs/locale/source/pt_BR.js +1 -0
  52. package/lib/cjs/locale/source/ro.d.ts +1 -0
  53. package/lib/cjs/locale/source/ro.js +1 -0
  54. package/lib/cjs/locale/source/ru_RU.js +1 -0
  55. package/lib/cjs/locale/source/sv_SE.js +1 -0
  56. package/lib/cjs/locale/source/th_TH.js +1 -0
  57. package/lib/cjs/locale/source/tr_TR.js +1 -0
  58. package/lib/cjs/locale/source/vi_VN.js +1 -0
  59. package/lib/cjs/locale/source/zh_CN.js +1 -0
  60. package/lib/cjs/locale/source/zh_TW.js +1 -0
  61. package/lib/cjs/modal/ModalContent.js +12 -9
  62. package/lib/cjs/navigation/index.js +34 -24
  63. package/lib/cjs/pagination/index.d.ts +3 -0
  64. package/lib/cjs/pagination/index.js +73 -39
  65. package/lib/cjs/progress/index.js +44 -31
  66. package/lib/cjs/radio/radio.js +27 -17
  67. package/lib/cjs/radio/radioGroup.js +24 -14
  68. package/lib/cjs/rating/index.js +21 -11
  69. package/lib/cjs/scrollList/index.js +21 -11
  70. package/lib/cjs/select/index.js +30 -21
  71. package/lib/cjs/sideSheet/SideSheetContent.js +27 -7
  72. package/lib/cjs/slider/index.js +20 -11
  73. package/lib/cjs/spin/index.js +19 -9
  74. package/lib/cjs/steps/basicSteps.js +24 -14
  75. package/lib/cjs/steps/fillSteps.js +22 -12
  76. package/lib/cjs/steps/navSteps.js +21 -11
  77. package/lib/cjs/switch/index.js +23 -13
  78. package/lib/cjs/table/Table.d.ts +1 -0
  79. package/lib/cjs/table/Table.js +3 -2
  80. package/lib/cjs/tabs/index.js +1 -2
  81. package/lib/cjs/tagInput/index.js +20 -10
  82. package/lib/cjs/timeline/index.js +20 -9
  83. package/lib/cjs/timeline/item.js +24 -13
  84. package/lib/cjs/toast/index.d.ts +4 -0
  85. package/lib/cjs/tooltip/index.js +3 -1
  86. package/lib/cjs/transfer/index.js +19 -9
  87. package/lib/cjs/tree/index.js +32 -22
  88. package/lib/cjs/treeSelect/index.js +32 -20
  89. package/lib/cjs/typography/title.d.ts +1 -1
  90. package/lib/cjs/upload/index.js +28 -18
  91. package/lib/es/_base/baseComponent.d.ts +1 -0
  92. package/lib/es/_base/baseComponent.js +4 -0
  93. package/lib/es/anchor/index.js +2 -2
  94. package/lib/es/autoComplete/index.js +2 -2
  95. package/lib/es/banner/index.js +2 -2
  96. package/lib/es/breadcrumb/index.js +2 -2
  97. package/lib/es/breadcrumb/item.js +1 -1
  98. package/lib/es/calendar/dayCalendar.js +2 -2
  99. package/lib/es/calendar/monthCalendar.js +2 -2
  100. package/lib/es/calendar/rangeCalendar.js +2 -2
  101. package/lib/es/calendar/weekCalendar.d.ts +1 -1
  102. package/lib/es/calendar/weekCalendar.js +2 -2
  103. package/lib/es/carousel/index.js +2 -2
  104. package/lib/es/cascader/index.js +1 -1
  105. package/lib/es/checkbox/checkbox.js +2 -2
  106. package/lib/es/checkbox/checkboxGroup.js +2 -2
  107. package/lib/es/collapse/index.js +2 -2
  108. package/lib/es/collapsible/index.js +2 -2
  109. package/lib/es/datePicker/dateInput.d.ts +1 -0
  110. package/lib/es/datePicker/dateInput.js +10 -6
  111. package/lib/es/datePicker/datePicker.js +23 -10
  112. package/lib/es/datePicker/quickControl.d.ts +2 -0
  113. package/lib/es/datePicker/quickControl.js +5 -3
  114. package/lib/es/descriptions/index.js +22 -11
  115. package/lib/es/descriptions/item.js +22 -11
  116. package/lib/es/empty/index.js +23 -13
  117. package/lib/es/input/index.d.ts +3 -1
  118. package/lib/es/input/index.js +19 -16
  119. package/lib/es/list/index.js +30 -20
  120. package/lib/es/list/item.js +18 -15
  121. package/lib/es/locale/interface.d.ts +1 -0
  122. package/lib/es/locale/source/ar.js +1 -0
  123. package/lib/es/locale/source/de.js +1 -0
  124. package/lib/es/locale/source/en_GB.js +1 -0
  125. package/lib/es/locale/source/en_US.js +1 -0
  126. package/lib/es/locale/source/es.js +1 -0
  127. package/lib/es/locale/source/fr.js +1 -0
  128. package/lib/es/locale/source/id_ID.js +1 -0
  129. package/lib/es/locale/source/it.js +1 -0
  130. package/lib/es/locale/source/ja_JP.js +1 -0
  131. package/lib/es/locale/source/ko_KR.js +1 -0
  132. package/lib/es/locale/source/ms_MY.js +1 -0
  133. package/lib/es/locale/source/nl_NL.js +1 -0
  134. package/lib/es/locale/source/pl_PL.js +1 -0
  135. package/lib/es/locale/source/pt_BR.js +1 -0
  136. package/lib/es/locale/source/ro.d.ts +1 -0
  137. package/lib/es/locale/source/ro.js +1 -0
  138. package/lib/es/locale/source/ru_RU.js +1 -0
  139. package/lib/es/locale/source/sv_SE.js +1 -0
  140. package/lib/es/locale/source/th_TH.js +1 -0
  141. package/lib/es/locale/source/tr_TR.js +1 -0
  142. package/lib/es/locale/source/vi_VN.js +1 -0
  143. package/lib/es/locale/source/zh_CN.js +1 -0
  144. package/lib/es/locale/source/zh_TW.js +1 -0
  145. package/lib/es/modal/ModalContent.js +12 -9
  146. package/lib/es/navigation/index.js +34 -24
  147. package/lib/es/pagination/index.d.ts +3 -0
  148. package/lib/es/pagination/index.js +73 -38
  149. package/lib/es/progress/index.js +44 -31
  150. package/lib/es/radio/radio.js +27 -17
  151. package/lib/es/radio/radioGroup.js +24 -14
  152. package/lib/es/rating/index.js +21 -11
  153. package/lib/es/scrollList/index.js +21 -11
  154. package/lib/es/select/index.js +30 -20
  155. package/lib/es/sideSheet/SideSheetContent.js +27 -7
  156. package/lib/es/slider/index.js +20 -10
  157. package/lib/es/spin/index.js +19 -9
  158. package/lib/es/steps/basicSteps.js +24 -14
  159. package/lib/es/steps/fillSteps.js +22 -12
  160. package/lib/es/steps/navSteps.js +21 -11
  161. package/lib/es/switch/index.js +23 -13
  162. package/lib/es/table/Table.d.ts +1 -0
  163. package/lib/es/table/Table.js +3 -2
  164. package/lib/es/tabs/index.js +1 -2
  165. package/lib/es/tagInput/index.js +20 -10
  166. package/lib/es/timeline/index.js +20 -9
  167. package/lib/es/timeline/item.js +24 -13
  168. package/lib/es/toast/index.d.ts +4 -0
  169. package/lib/es/tooltip/index.js +3 -1
  170. package/lib/es/transfer/index.js +19 -9
  171. package/lib/es/tree/index.js +32 -22
  172. package/lib/es/treeSelect/index.js +32 -20
  173. package/lib/es/typography/title.d.ts +1 -1
  174. package/lib/es/upload/index.js +28 -18
  175. package/package.json +8 -8
@@ -37,6 +37,7 @@ const locale = {
37
37
  dateTimeRange: ['Fecha inicial', 'Fecha final'],
38
38
  monthRange: ['Mes inicial', 'Mes final']
39
39
  },
40
+ presets: 'Seleccionar rango',
40
41
  footer: {
41
42
  confirm: 'Aceptar',
42
43
  cancel: 'Cancelar'
@@ -33,6 +33,7 @@ const local = {
33
33
  dateTimeRange: ['Date de début', 'Date de fin'],
34
34
  monthRange: ['Mois de début', 'Mois de fin']
35
35
  },
36
+ presets: 'Préréglages',
36
37
  footer: {
37
38
  confirm: 'Confirmer',
38
39
  cancel: 'Annuler'
@@ -33,6 +33,7 @@ const local = {
33
33
  dateTimeRange: ['Tanggal mulai', 'Tanggal akhir'],
34
34
  monthRange: ['Bulan pertama', 'Bulan terakhir']
35
35
  },
36
+ presets: 'Pilihan cepat',
36
37
  footer: {
37
38
  confirm: 'Konfirmasi',
38
39
  cancel: 'Batalkan'
@@ -33,6 +33,7 @@ const local = {
33
33
  dateTimeRange: ['Data inizio', 'Data fine'],
34
34
  monthRange: ['Mese inizio', 'Mese fine']
35
35
  },
36
+ presets: 'Preimpostazioni rapide',
36
37
  footer: {
37
38
  confirm: 'Conferma',
38
39
  cancel: 'Cancella'
@@ -33,6 +33,7 @@ const local = {
33
33
  dateTimeRange: ['開始日', '終了日'],
34
34
  monthRange: ['開始月', '終了月']
35
35
  },
36
+ presets: 'クイック選択',
36
37
  footer: {
37
38
  confirm: '確認する',
38
39
  cancel: 'キャンセル'
@@ -34,6 +34,7 @@ const local = {
34
34
  dateTimeRange: ['시작 날짜', '종료일'],
35
35
  monthRange: ['시작 월', '종료 월']
36
36
  },
37
+ presets: '빠른 선택',
37
38
  footer: {
38
39
  confirm: '확인',
39
40
  cancel: '취소'
@@ -33,6 +33,7 @@ const local = {
33
33
  dateTimeRange: ['Tarikh mula', 'Tarikh akhir'],
34
34
  monthRange: ['Bulan mula', 'Bulan akhir']
35
35
  },
36
+ presets: 'Pilihan Pantas',
36
37
  footer: {
37
38
  confirm: 'Sahkan',
38
39
  cancel: 'Batal'
@@ -38,6 +38,7 @@ const local = {
38
38
  dateTimeRange: ['Begindatum', 'Einddatum'],
39
39
  monthRange: ['Begindatum', 'Einddatum']
40
40
  },
41
+ presets: 'Snelle selectie',
41
42
  footer: {
42
43
  confirm: 'Bevestigen',
43
44
  cancel: 'Annuleren'
@@ -38,6 +38,7 @@ const local = {
38
38
  dateTimeRange: ['Data rozpoczęcia', 'Data zakończenia'],
39
39
  monthRange: ['Miesiąc rozpoczęcia', 'Miesiąc zakończenia']
40
40
  },
41
+ presets: 'Szybki wybór',
41
42
  footer: {
42
43
  confirm: 'Potwierdź',
43
44
  cancel: 'Anuluj'
@@ -33,6 +33,7 @@ const local = {
33
33
  dateTimeRange: ['Data de início', 'Data de fim'],
34
34
  monthRange: ['Mês de início', 'Mês de fim']
35
35
  },
36
+ presets: 'Seleção rápida',
36
37
  footer: {
37
38
  confirm: 'OK',
38
39
  cancel: 'Cancelar'
@@ -35,6 +35,7 @@ declare const _default: {
35
35
  dateTimeRange: string[];
36
36
  monthRange: string[];
37
37
  };
38
+ presets: string;
38
39
  footer: {
39
40
  confirm: string;
40
41
  cancel: string;
@@ -36,6 +36,7 @@ export default {
36
36
  dateTimeRange: ['Data de început', 'Data de sfârșit'],
37
37
  monthRange: ['Luna de început', 'Luna de sfârșit']
38
38
  },
39
+ presets: 'Selecții rapide',
39
40
  footer: {
40
41
  confirm: 'Confirmă',
41
42
  cancel: 'Anulează'
@@ -36,6 +36,7 @@ const local = {
36
36
  dateTimeRange: ['Дата начала', 'Дата окончания'],
37
37
  monthRange: ['Начальный месяц', 'Конечный месяц']
38
38
  },
39
+ presets: 'Быстрый выбор',
39
40
  footer: {
40
41
  confirm: 'подтвердить',
41
42
  cancel: 'отмена'
@@ -37,6 +37,7 @@ const local = {
37
37
  dateTimeRange: ['Startdatum', 'Slutdatum'],
38
38
  monthRange: ['Startmånad', 'Slutmånad']
39
39
  },
40
+ presets: 'Snabbval',
40
41
  footer: {
41
42
  confirm: 'Bekräfta',
42
43
  cancel: 'Avbryt'
@@ -36,6 +36,7 @@ const local = {
36
36
  dateTimeRange: ['วันที่เริ่มต้น', 'วันที่สิ้นสุด'],
37
37
  monthRange: ['เดือนเริ่มต้น', 'เดือนสิ้นสุด']
38
38
  },
39
+ presets: 'การเลือกด่วน',
39
40
  footer: {
40
41
  confirm: 'ตกลง',
41
42
  cancel: 'ยกเลิก'
@@ -36,6 +36,7 @@ const local = {
36
36
  dateTimeRange: ['Başlangıç tarihi', 'Bitiş tarihi'],
37
37
  monthRange: ['Başlangıç ​​ayı', 'Bitiş ayı']
38
38
  },
39
+ presets: 'Hızlı seçim',
39
40
  footer: {
40
41
  confirm: 'Tamam',
41
42
  cancel: 'İptal'
@@ -36,6 +36,7 @@ const local = {
36
36
  dateTimeRange: ['Ngày bắt đầu', 'Ngày kết thúc'],
37
37
  monthRange: ['Tháng bắt đầu', 'Tháng kết thúc']
38
38
  },
39
+ presets: 'Lựa chọn nhanh',
39
40
  footer: {
40
41
  confirm: 'Xác nhận',
41
42
  cancel: 'Huỷ bỏ'
@@ -33,6 +33,7 @@ const local = {
33
33
  dateTimeRange: ['开始日期', '结束日期'],
34
34
  monthRange: ['开始月份', '结束月份']
35
35
  },
36
+ presets: '快捷选择',
36
37
  footer: {
37
38
  confirm: '确定',
38
39
  cancel: '取消'
@@ -33,6 +33,7 @@ const local = {
33
33
  dateTimeRange: ['開始日期', '結束日期'],
34
34
  monthRange: ['開始月份', '結束月份']
35
35
  },
36
+ presets: '快捷選擇',
36
37
  footer: {
37
38
  confirm: '確定',
38
39
  cancel: '取消'
@@ -278,13 +278,15 @@ export default class ModalContent extends BaseComponent {
278
278
  this.foundation.destroy();
279
279
  }
280
280
  render() {
281
- const {
282
- maskClosable,
283
- className,
284
- getPopupContainer,
285
- maskFixed,
286
- getContainerContext
287
- } = this.props;
281
+ const _a = this.props,
282
+ {
283
+ maskClosable,
284
+ className,
285
+ getPopupContainer,
286
+ maskFixed,
287
+ getContainerContext
288
+ } = _a,
289
+ rest = __rest(_a, ["maskClosable", "className", "getPopupContainer", "maskFixed", "getContainerContext"]);
288
290
  const {
289
291
  direction
290
292
  } = this.context;
@@ -294,9 +296,10 @@ export default class ModalContent extends BaseComponent {
294
296
  [`${cssClasses.DIALOG}-rtl`]: direction === 'rtl'
295
297
  });
296
298
  const containerContext = getContainerContext();
297
- const elem = /*#__PURE__*/React.createElement("div", {
299
+ const dataAttr = this.getDataAttr(rest);
300
+ const elem = /*#__PURE__*/React.createElement("div", Object.assign({
298
301
  className: classList
299
- }, this.getMaskElement(), /*#__PURE__*/React.createElement("div", Object.assign({
302
+ }, dataAttr), this.getMaskElement(), /*#__PURE__*/React.createElement("div", Object.assign({
300
303
  role: "none",
301
304
  className: cls({
302
305
  [`${cssClasses.DIALOG}-wrap`]: true,
@@ -1,6 +1,14 @@
1
1
  import _isEqual from "lodash/isEqual";
2
2
  import _get from "lodash/get";
3
3
  import _noop from "lodash/noop";
4
+ var __rest = this && this.__rest || function (s, e) {
5
+ var t = {};
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
7
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
4
12
  /* eslint-disable max-lines-per-function */
5
13
  import BaseComponent from '../_base/baseComponent';
6
14
  import React, { Children } from 'react';
@@ -167,28 +175,30 @@ class Nav extends BaseComponent {
167
175
  return finalDom;
168
176
  }
169
177
  render() {
170
- const {
171
- children: originChildren,
172
- mode,
173
- onOpenChange,
174
- onSelect,
175
- onClick,
176
- style,
177
- className,
178
- subNavCloseDelay,
179
- subNavOpenDelay,
180
- subNavMotion,
181
- tooltipShowDelay,
182
- tooltipHideDelay,
183
- prefixCls,
184
- bodyStyle,
185
- footer,
186
- header,
187
- toggleIconPosition,
188
- limitIndent,
189
- renderWrapper,
190
- getPopupContainer
191
- } = this.props;
178
+ const _a = this.props,
179
+ {
180
+ children: originChildren,
181
+ mode,
182
+ onOpenChange,
183
+ onSelect,
184
+ onClick,
185
+ style,
186
+ className,
187
+ subNavCloseDelay,
188
+ subNavOpenDelay,
189
+ subNavMotion,
190
+ tooltipShowDelay,
191
+ tooltipHideDelay,
192
+ prefixCls,
193
+ bodyStyle,
194
+ footer,
195
+ header,
196
+ toggleIconPosition,
197
+ limitIndent,
198
+ renderWrapper,
199
+ getPopupContainer
200
+ } = _a,
201
+ rest = __rest(_a, ["children", "mode", "onOpenChange", "onSelect", "onClick", "style", "className", "subNavCloseDelay", "subNavOpenDelay", "subNavMotion", "tooltipShowDelay", "tooltipHideDelay", "prefixCls", "bodyStyle", "footer", "header", "toggleIconPosition", "limitIndent", "renderWrapper", "getPopupContainer"]);
192
202
  const {
193
203
  selectedKeys,
194
204
  openKeys,
@@ -288,10 +298,10 @@ class Nav extends BaseComponent {
288
298
  renderWrapper,
289
299
  getPopupContainer
290
300
  }
291
- }, /*#__PURE__*/React.createElement("div", {
301
+ }, /*#__PURE__*/React.createElement("div", Object.assign({
292
302
  className: finalCls,
293
303
  style: finalStyle
294
- }, /*#__PURE__*/React.createElement("div", {
304
+ }, this.getDataAttr(rest)), /*#__PURE__*/React.createElement("div", {
295
305
  className: `${prefixCls}-inner`
296
306
  }, /*#__PURE__*/React.createElement("div", {
297
307
  className: headerListOuterCls
@@ -27,6 +27,7 @@ export interface PaginationProps {
27
27
  className?: string;
28
28
  hideOnSinglePage?: boolean;
29
29
  hoverShowPageSelect?: boolean;
30
+ disabled?: boolean;
30
31
  }
31
32
  export interface PaginationState {
32
33
  total: number;
@@ -66,6 +67,7 @@ export default class Pagination extends BaseComponent<PaginationProps, Paginatio
66
67
  hideOnSinglePage: PropTypes.Requireable<boolean>;
67
68
  hoverShowPageSelect: PropTypes.Requireable<boolean>;
68
69
  showQuickJumper: PropTypes.Requireable<boolean>;
70
+ disabled: PropTypes.Requireable<boolean>;
69
71
  };
70
72
  static defaultProps: {
71
73
  total: number;
@@ -82,6 +84,7 @@ export default class Pagination extends BaseComponent<PaginationProps, Paginatio
82
84
  className: string;
83
85
  hideOnSinglePage: boolean;
84
86
  showQuickJumper: boolean;
87
+ disabled: boolean;
85
88
  };
86
89
  constructor(props: PaginationProps);
87
90
  context: ContextValue;
@@ -1,4 +1,12 @@
1
1
  import _noop from "lodash/noop";
2
+ var __rest = this && this.__rest || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
6
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
7
+ }
8
+ return t;
9
+ };
2
10
  /* eslint-disable max-len */
3
11
  /* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */
4
12
  import React from 'react';
@@ -123,21 +131,23 @@ export default class Pagination extends BaseComponent {
123
131
  }
124
132
  renderPrevBtn() {
125
133
  const {
126
- prevText
134
+ prevText,
135
+ disabled
127
136
  } = this.props;
128
137
  const {
129
138
  prevDisabled
130
139
  } = this.state;
140
+ const isDisabled = prevDisabled || disabled;
131
141
  const preClassName = classNames({
132
142
  [`${prefixCls}-item`]: true,
133
143
  [`${prefixCls}-prev`]: true,
134
- [`${prefixCls}-item-disabled`]: prevDisabled
144
+ [`${prefixCls}-item-disabled`]: isDisabled
135
145
  });
136
146
  return /*#__PURE__*/React.createElement("li", {
137
147
  role: "button",
138
- "aria-disabled": prevDisabled ? true : false,
148
+ "aria-disabled": isDisabled ? true : false,
139
149
  "aria-label": "Previous",
140
- onClick: e => !prevDisabled && this.foundation.goPrev(e),
150
+ onClick: e => !isDisabled && this.foundation.goPrev(e),
141
151
  className: preClassName,
142
152
  "x-semi-prop": "prevText"
143
153
  }, prevText || /*#__PURE__*/React.createElement(IconChevronLeft, {
@@ -146,21 +156,23 @@ export default class Pagination extends BaseComponent {
146
156
  }
147
157
  renderNextBtn() {
148
158
  const {
149
- nextText
159
+ nextText,
160
+ disabled
150
161
  } = this.props;
151
162
  const {
152
163
  nextDisabled
153
164
  } = this.state;
165
+ const isDisabled = nextDisabled || disabled;
154
166
  const nextClassName = classNames({
155
167
  [`${prefixCls}-item`]: true,
156
- [`${prefixCls}-item-disabled`]: nextDisabled,
168
+ [`${prefixCls}-item-disabled`]: isDisabled,
157
169
  [`${prefixCls}-next`]: true
158
170
  });
159
171
  return /*#__PURE__*/React.createElement("li", {
160
172
  role: "button",
161
- "aria-disabled": nextDisabled ? true : false,
173
+ "aria-disabled": isDisabled ? true : false,
162
174
  "aria-label": "Next",
163
- onClick: e => !nextDisabled && this.foundation.goNext(e),
175
+ onClick: e => !isDisabled && this.foundation.goNext(e),
164
176
  className: nextClassName,
165
177
  "x-semi-prop": "prevText"
166
178
  }, nextText || /*#__PURE__*/React.createElement(IconChevronRight, {
@@ -175,7 +187,8 @@ export default class Pagination extends BaseComponent {
175
187
  const defaultPopoverPosition = direction === 'rtl' ? 'bottomRight' : 'bottomLeft';
176
188
  const {
177
189
  showSizeChanger,
178
- popoverPosition = defaultPopoverPosition
190
+ popoverPosition = defaultPopoverPosition,
191
+ disabled
179
192
  } = this.props;
180
193
  const {
181
194
  pageSize
@@ -195,6 +208,7 @@ export default class Pagination extends BaseComponent {
195
208
  className: switchCls
196
209
  }, /*#__PURE__*/React.createElement(Select, {
197
210
  "aria-label": "Page size selector",
211
+ disabled: disabled,
198
212
  onChange: newPageSize => this.foundation.changePageSize(newPageSize),
199
213
  value: pageSize,
200
214
  key: pageSize,
@@ -205,7 +219,8 @@ export default class Pagination extends BaseComponent {
205
219
  }
206
220
  renderQuickJump(locale) {
207
221
  const {
208
- showQuickJumper
222
+ showQuickJumper,
223
+ disabled
209
224
  } = this.props;
210
225
  const {
211
226
  quickJumpPage,
@@ -216,7 +231,7 @@ export default class Pagination extends BaseComponent {
216
231
  return null;
217
232
  }
218
233
  const totalPageNum = this.foundation._getTotalPageNumber(total, pageSize);
219
- const isDisabled = totalPageNum === 1;
234
+ const isDisabled = totalPageNum === 1 || disabled;
220
235
  const quickJumpCls = classNames({
221
236
  [`${prefixCls}-quickjump`]: true,
222
237
  [`${prefixCls}-quickjump-disabled`]: isDisabled
@@ -242,22 +257,25 @@ export default class Pagination extends BaseComponent {
242
257
  } = this.state;
243
258
  const {
244
259
  popoverPosition,
245
- popoverZIndex
260
+ popoverZIndex,
261
+ disabled
246
262
  } = this.props;
247
263
  return pageList.map((page, i) => {
248
264
  const pageListClassName = classNames(`${prefixCls}-item`, {
249
- [`${prefixCls}-item-active`]: currentPage === page
265
+ [`${prefixCls}-item-active`]: currentPage === page,
266
+ [`${prefixCls}-item-all-disabled`]: disabled,
267
+ [`${prefixCls}-item-all-disabled-active`]: currentPage === page && disabled
250
268
  // [`${prefixCls}-item-rest-opening`]: (i < 3 && isLeftRestHover && page ==='...') || (i > 3 && isRightRestHover && page === '...')
251
269
  });
252
270
 
253
271
  const pageEl = /*#__PURE__*/React.createElement("li", {
254
272
  key: `${page}${i}`,
255
- onClick: () => this.foundation.goPage(page, i),
273
+ onClick: () => !disabled && this.foundation.goPage(page, i),
256
274
  className: pageListClassName,
257
275
  "aria-label": page === '...' ? 'More' : `Page ${page}`,
258
276
  "aria-current": currentPage === page ? "page" : false
259
277
  }, page);
260
- if (page === '...') {
278
+ if (page === '...' && !disabled) {
261
279
  let content;
262
280
  i < 3 ? content = restLeftPageList : content = restRightPageList;
263
281
  return /*#__PURE__*/React.createElement(Popover, {
@@ -313,14 +331,19 @@ export default class Pagination extends BaseComponent {
313
331
  );
314
332
  }
315
333
  renderSmallPage(locale) {
316
- const {
317
- className,
318
- style,
319
- hideOnSinglePage,
320
- hoverShowPageSelect,
321
- showSizeChanger
322
- } = this.props;
323
- const paginationCls = classNames(`${prefixCls}-small`, prefixCls, className);
334
+ const _a = this.props,
335
+ {
336
+ className,
337
+ style,
338
+ hideOnSinglePage,
339
+ hoverShowPageSelect,
340
+ showSizeChanger,
341
+ disabled
342
+ } = _a,
343
+ rest = __rest(_a, ["className", "style", "hideOnSinglePage", "hoverShowPageSelect", "showSizeChanger", "disabled"]);
344
+ const paginationCls = classNames(`${prefixCls}-small`, prefixCls, className, {
345
+ [`${prefixCls}-disabled`]: disabled
346
+ });
324
347
  const {
325
348
  currentPage,
326
349
  total,
@@ -334,13 +357,18 @@ export default class Pagination extends BaseComponent {
334
357
  length: Math.ceil(total / pageSize)
335
358
  }, (v, i) => i + 1);
336
359
  const pageList = this.renderRestPageList(pageNumbers);
360
+ const pageCls = classNames({
361
+ [`${prefixCls}-item`]: true,
362
+ [`${prefixCls}-item-small`]: true,
363
+ [`${prefixCls}-item-all-disabled`]: disabled
364
+ });
337
365
  const page = /*#__PURE__*/React.createElement("div", {
338
- className: `${prefixCls}-item ${prefixCls}-item-small`
366
+ className: pageCls
339
367
  }, currentPage, "/", totalPageNum, " ");
340
- return /*#__PURE__*/React.createElement("div", {
368
+ return /*#__PURE__*/React.createElement("div", Object.assign({
341
369
  className: paginationCls,
342
370
  style: style
343
- }, this.renderPrevBtn(), hoverShowPageSelect ? /*#__PURE__*/React.createElement(Popover, {
371
+ }, this.getDataAttr(rest)), this.renderPrevBtn(), hoverShowPageSelect && !disabled ? /*#__PURE__*/React.createElement(Popover, {
344
372
  content: pageList
345
373
  }, page) : page, this.renderNextBtn(), this.renderQuickJump(locale));
346
374
  }
@@ -349,14 +377,19 @@ export default class Pagination extends BaseComponent {
349
377
  total,
350
378
  pageSize
351
379
  } = this.state;
352
- const {
353
- showTotal,
354
- className,
355
- style,
356
- hideOnSinglePage,
357
- showSizeChanger
358
- } = this.props;
359
- const paginationCls = classNames(className, `${prefixCls}`);
380
+ const _a = this.props,
381
+ {
382
+ showTotal,
383
+ className,
384
+ style,
385
+ hideOnSinglePage,
386
+ showSizeChanger,
387
+ disabled
388
+ } = _a,
389
+ rest = __rest(_a, ["showTotal", "className", "style", "hideOnSinglePage", "showSizeChanger", "disabled"]);
390
+ const paginationCls = classNames(className, `${prefixCls}`, {
391
+ [`${prefixCls}-disabled`]: disabled
392
+ });
360
393
  const showTotalCls = `${prefixCls}-total`;
361
394
  const totalPageNum = Math.ceil(total / pageSize);
362
395
  if (totalPageNum < 2 && hideOnSinglePage && !showSizeChanger) {
@@ -364,10 +397,10 @@ export default class Pagination extends BaseComponent {
364
397
  }
365
398
  const totalNum = Math.ceil(total / pageSize);
366
399
  const totalToken = locale.total.replace('${total}', totalNum.toString());
367
- return /*#__PURE__*/React.createElement("ul", {
400
+ return /*#__PURE__*/React.createElement("ul", Object.assign({
368
401
  className: paginationCls,
369
402
  style: style
370
- }, showTotal ? /*#__PURE__*/React.createElement("span", {
403
+ }, this.getDataAttr(rest)), showTotal ? /*#__PURE__*/React.createElement("span", {
371
404
  className: showTotalCls
372
405
  }, totalToken) : null, this.renderPrevBtn(), this.renderPageList(), this.renderNextBtn(), this.renderPageSizeSwitch(locale), this.renderQuickJump(locale));
373
406
  }
@@ -401,7 +434,8 @@ Pagination.propTypes = {
401
434
  className: PropTypes.string,
402
435
  hideOnSinglePage: PropTypes.bool,
403
436
  hoverShowPageSelect: PropTypes.bool,
404
- showQuickJumper: PropTypes.bool
437
+ showQuickJumper: PropTypes.bool,
438
+ disabled: PropTypes.bool
405
439
  };
406
440
  Pagination.defaultProps = {
407
441
  total: 1,
@@ -417,5 +451,6 @@ Pagination.defaultProps = {
417
451
  showSizeChanger: false,
418
452
  className: '',
419
453
  hideOnSinglePage: false,
420
- showQuickJumper: false
454
+ showQuickJumper: false,
455
+ disabled: false
421
456
  };