@douyinfe/semi-ui 2.14.0 → 2.15.1

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 (182) hide show
  1. package/autoComplete/index.tsx +0 -1
  2. package/cascader/__test__/cascader.test.js +13 -10
  3. package/cascader/_story/cascader.stories.js +22 -0
  4. package/cascader/index.tsx +53 -35
  5. package/checkbox/checkbox.tsx +1 -0
  6. package/checkbox/checkboxInner.tsx +4 -1
  7. package/datePicker/__test__/datePicker.test.js +1 -0
  8. package/datePicker/_story/v2/FixTriggerRender.tsx +36 -0
  9. package/datePicker/_story/v2/index.js +1 -0
  10. package/datePicker/datePicker.tsx +7 -5
  11. package/dist/css/semi.css +39 -11
  12. package/dist/css/semi.min.css +1 -1
  13. package/dist/umd/semi-ui.js +1150 -346
  14. package/dist/umd/semi-ui.js.map +1 -1
  15. package/dist/umd/semi-ui.min.js +1 -1
  16. package/dist/umd/semi-ui.min.js.map +1 -1
  17. package/dropdown/context.ts +2 -0
  18. package/dropdown/dropdownItem.tsx +2 -1
  19. package/dropdown/dropdownMenu.tsx +24 -1
  20. package/dropdown/index.tsx +10 -2
  21. package/form/_story/form.stories.tsx +23 -15
  22. package/form/hoc/withField.tsx +1 -1
  23. package/form/interface.ts +1 -1
  24. package/input/__test__/input.test.js +31 -0
  25. package/input/_story/input.stories.js +24 -1
  26. package/input/index.tsx +5 -2
  27. package/input/inputGroup.tsx +7 -6
  28. package/inputNumber/index.tsx +5 -3
  29. package/lib/cjs/autoComplete/index.d.ts +0 -1
  30. package/lib/cjs/autoComplete/index.js +0 -1
  31. package/lib/cjs/cascader/index.d.ts +1 -1
  32. package/lib/cjs/cascader/index.js +36 -9
  33. package/lib/cjs/checkbox/checkbox.d.ts +1 -0
  34. package/lib/cjs/checkbox/checkbox.js +2 -1
  35. package/lib/cjs/checkbox/checkboxInner.d.ts +2 -0
  36. package/lib/cjs/checkbox/checkboxInner.js +8 -2
  37. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  38. package/lib/cjs/datePicker/datePicker.js +21 -6
  39. package/lib/cjs/dropdown/context.d.ts +2 -0
  40. package/lib/cjs/dropdown/dropdownItem.js +3 -1
  41. package/lib/cjs/dropdown/dropdownMenu.d.ts +18 -1
  42. package/lib/cjs/dropdown/dropdownMenu.js +23 -2
  43. package/lib/cjs/dropdown/index.d.ts +4 -0
  44. package/lib/cjs/dropdown/index.js +13 -5
  45. package/lib/cjs/form/baseForm.d.ts +16 -15
  46. package/lib/cjs/form/field.d.ts +16 -15
  47. package/lib/cjs/form/hoc/withField.d.ts +1 -1
  48. package/lib/cjs/form/interface.d.ts +1 -1
  49. package/lib/cjs/input/index.d.ts +2 -1
  50. package/lib/cjs/input/index.js +11 -5
  51. package/lib/cjs/input/inputGroup.js +16 -9
  52. package/lib/cjs/inputNumber/index.d.ts +1 -0
  53. package/lib/cjs/inputNumber/index.js +8 -3
  54. package/lib/cjs/locale/source/de.d.ts +3 -0
  55. package/lib/cjs/locale/source/de.js +165 -0
  56. package/lib/cjs/locale/source/fr.d.ts +3 -0
  57. package/lib/cjs/locale/source/fr.js +165 -0
  58. package/lib/cjs/locale/source/it.d.ts +3 -0
  59. package/lib/cjs/locale/source/it.js +165 -0
  60. package/lib/cjs/modal/ModalContent.d.ts +1 -0
  61. package/lib/cjs/modal/ModalContent.js +17 -4
  62. package/lib/cjs/modal/confirm.d.ts +5 -0
  63. package/lib/cjs/radio/radio.d.ts +2 -0
  64. package/lib/cjs/radio/radio.js +2 -1
  65. package/lib/cjs/radio/radioInner.d.ts +2 -0
  66. package/lib/cjs/radio/radioInner.js +8 -2
  67. package/lib/cjs/rating/index.d.ts +7 -0
  68. package/lib/cjs/rating/index.js +135 -68
  69. package/lib/cjs/rating/item.d.ts +27 -3
  70. package/lib/cjs/rating/item.js +145 -38
  71. package/lib/cjs/select/index.d.ts +2 -0
  72. package/lib/cjs/select/index.js +15 -3
  73. package/lib/cjs/table/Body/index.js +1 -1
  74. package/lib/cjs/tabs/index.d.ts +1 -0
  75. package/lib/cjs/tabs/index.js +2 -1
  76. package/lib/cjs/tabs/interface.d.ts +1 -0
  77. package/lib/cjs/tag/index.js +4 -5
  78. package/lib/cjs/tag/interface.d.ts +1 -0
  79. package/lib/cjs/tagInput/index.d.ts +2 -0
  80. package/lib/cjs/tagInput/index.js +19 -5
  81. package/lib/cjs/timePicker/TimeInput.d.ts +2 -1
  82. package/lib/cjs/timePicker/TimeInput.js +7 -3
  83. package/lib/cjs/timePicker/TimePicker.d.ts +2 -0
  84. package/lib/cjs/timePicker/TimePicker.js +2 -1
  85. package/lib/cjs/timePicker/index.d.ts +1 -0
  86. package/lib/cjs/tooltip/index.d.ts +2 -0
  87. package/lib/cjs/tooltip/index.js +12 -4
  88. package/lib/cjs/tree/index.d.ts +1 -0
  89. package/lib/cjs/tree/index.js +21 -5
  90. package/lib/cjs/tree/treeNode.js +15 -19
  91. package/lib/cjs/treeSelect/index.js +20 -4
  92. package/lib/es/autoComplete/index.d.ts +0 -1
  93. package/lib/es/autoComplete/index.js +0 -1
  94. package/lib/es/cascader/index.d.ts +1 -1
  95. package/lib/es/cascader/index.js +36 -9
  96. package/lib/es/checkbox/checkbox.d.ts +1 -0
  97. package/lib/es/checkbox/checkbox.js +2 -1
  98. package/lib/es/checkbox/checkboxInner.d.ts +2 -0
  99. package/lib/es/checkbox/checkboxInner.js +8 -2
  100. package/lib/es/datePicker/datePicker.d.ts +1 -1
  101. package/lib/es/datePicker/datePicker.js +21 -6
  102. package/lib/es/dropdown/context.d.ts +2 -0
  103. package/lib/es/dropdown/dropdownItem.js +3 -1
  104. package/lib/es/dropdown/dropdownMenu.d.ts +18 -1
  105. package/lib/es/dropdown/dropdownMenu.js +21 -2
  106. package/lib/es/dropdown/index.d.ts +4 -0
  107. package/lib/es/dropdown/index.js +13 -5
  108. package/lib/es/form/baseForm.d.ts +16 -15
  109. package/lib/es/form/field.d.ts +16 -15
  110. package/lib/es/form/hoc/withField.d.ts +1 -1
  111. package/lib/es/form/interface.d.ts +1 -1
  112. package/lib/es/input/index.d.ts +2 -1
  113. package/lib/es/input/index.js +11 -5
  114. package/lib/es/input/inputGroup.js +15 -9
  115. package/lib/es/inputNumber/index.d.ts +1 -0
  116. package/lib/es/inputNumber/index.js +8 -3
  117. package/lib/es/locale/source/de.d.ts +3 -0
  118. package/lib/es/locale/source/de.js +153 -0
  119. package/lib/es/locale/source/fr.d.ts +3 -0
  120. package/lib/es/locale/source/fr.js +153 -0
  121. package/lib/es/locale/source/it.d.ts +3 -0
  122. package/lib/es/locale/source/it.js +153 -0
  123. package/lib/es/modal/ModalContent.d.ts +1 -0
  124. package/lib/es/modal/ModalContent.js +17 -4
  125. package/lib/es/modal/confirm.d.ts +5 -0
  126. package/lib/es/radio/radio.d.ts +2 -0
  127. package/lib/es/radio/radio.js +2 -1
  128. package/lib/es/radio/radioInner.d.ts +2 -0
  129. package/lib/es/radio/radioInner.js +8 -2
  130. package/lib/es/rating/index.d.ts +7 -0
  131. package/lib/es/rating/index.js +133 -65
  132. package/lib/es/rating/item.d.ts +27 -3
  133. package/lib/es/rating/item.js +145 -32
  134. package/lib/es/select/index.d.ts +2 -0
  135. package/lib/es/select/index.js +15 -3
  136. package/lib/es/table/Body/index.js +1 -1
  137. package/lib/es/tabs/index.d.ts +1 -0
  138. package/lib/es/tabs/index.js +2 -1
  139. package/lib/es/tabs/interface.d.ts +1 -0
  140. package/lib/es/tag/index.js +4 -5
  141. package/lib/es/tag/interface.d.ts +1 -0
  142. package/lib/es/tagInput/index.d.ts +2 -0
  143. package/lib/es/tagInput/index.js +19 -5
  144. package/lib/es/timePicker/TimeInput.d.ts +2 -1
  145. package/lib/es/timePicker/TimeInput.js +7 -3
  146. package/lib/es/timePicker/TimePicker.d.ts +2 -0
  147. package/lib/es/timePicker/TimePicker.js +2 -1
  148. package/lib/es/timePicker/index.d.ts +1 -0
  149. package/lib/es/tooltip/index.d.ts +2 -0
  150. package/lib/es/tooltip/index.js +13 -4
  151. package/lib/es/tree/index.d.ts +1 -0
  152. package/lib/es/tree/index.js +19 -5
  153. package/lib/es/tree/treeNode.js +14 -20
  154. package/lib/es/treeSelect/index.js +18 -4
  155. package/locale/source/de.ts +156 -0
  156. package/locale/source/fr.ts +156 -0
  157. package/locale/source/it.ts +156 -0
  158. package/modal/ModalContent.tsx +7 -4
  159. package/package.json +8 -8
  160. package/radio/radio.tsx +2 -0
  161. package/radio/radioInner.tsx +4 -1
  162. package/rating/__test__/rating.test.js +13 -31
  163. package/rating/_story/rating.stories.js +13 -2
  164. package/rating/index.tsx +63 -18
  165. package/rating/item.tsx +141 -26
  166. package/select/index.tsx +6 -2
  167. package/table/Body/index.tsx +1 -1
  168. package/table/_story/v2/FixedVirtualizedEmpty.tsx +76 -0
  169. package/table/_story/v2/index.js +2 -1
  170. package/tabs/index.tsx +1 -0
  171. package/tabs/interface.ts +1 -0
  172. package/tag/index.tsx +2 -3
  173. package/tag/interface.ts +1 -0
  174. package/tagInput/index.tsx +8 -4
  175. package/timePicker/TimeInput.tsx +5 -3
  176. package/timePicker/TimePicker.tsx +2 -0
  177. package/tooltip/index.tsx +7 -2
  178. package/tree/index.tsx +13 -2
  179. package/tree/treeNode.tsx +11 -13
  180. package/treeSelect/_story/treeSelect.stories.js +38 -1
  181. package/treeSelect/index.tsx +13 -3
  182. package/upload/_story/upload.stories.tsx +9 -6
@@ -0,0 +1,156 @@
1
+ import { de } from 'date-fns/locale';
2
+ import { Locale } from '../interface';
3
+
4
+ const local: Locale = {
5
+ code: 'de',
6
+ dateFnsLocale: de,
7
+ Pagination: {
8
+ item: 'Artikel',
9
+ pageSize: ' Artikel / Seite',
10
+ page: ' Seiten',
11
+ total: '',
12
+ jumpTo: 'Springen zu'
13
+ },
14
+ Modal: {
15
+ confirm: 'Bestätigen',
16
+ cancel: 'Abbrechen',
17
+ },
18
+ TimePicker: {
19
+ placeholder: {
20
+ time: 'Zeit auswählen',
21
+ timeRange: 'Einen Zeitintervall auswählen',
22
+ },
23
+ begin: 'Startzeit',
24
+ end: 'Endzeit',
25
+ hour: '',
26
+ minute: '',
27
+ second: '',
28
+ AM: 'AM',
29
+ PM: 'PM',
30
+ },
31
+ DatePicker: {
32
+ placeholder: {
33
+ date: 'Datum auswählen',
34
+ dateTime: 'Datum und Uhrzeit auswählen',
35
+ dateRange: ['Startdatum', 'Enddatum'],
36
+ dateTimeRange: ['Startdatum', 'Enddatum'],
37
+ },
38
+ footer: {
39
+ confirm: 'Bestätigen',
40
+ cancel: 'Abbrechen',
41
+ },
42
+ selectDate: 'Datum auswählen',
43
+ selectTime: 'Uhrzeit auswählen',
44
+ year: 'Jahr',
45
+ month: 'Monat',
46
+ day: 'Tag',
47
+ monthText: '${month} ${year}',
48
+ months: {
49
+ 1: 'Jan',
50
+ 2: 'Feb',
51
+ 3: 'Mär',
52
+ 4: 'Apr',
53
+ 5: 'Mai',
54
+ 6: 'Jun',
55
+ 7: 'Jul',
56
+ 8: 'Aug',
57
+ 9: 'Sep',
58
+ 10: 'Okt',
59
+ 11: 'Nov',
60
+ 12: 'Dez',
61
+ },
62
+ fullMonths: {
63
+ 1: 'Januar',
64
+ 2: 'Februar',
65
+ 3: 'März',
66
+ 4: 'April',
67
+ 5: 'Mai',
68
+ 6: 'Juni',
69
+ 7: 'Juli',
70
+ 8: 'August',
71
+ 9: 'September',
72
+ 10: 'Oktober',
73
+ 11: 'November',
74
+ 12: 'Dezember',
75
+ },
76
+ weeks: {
77
+ Mon: 'Mo.',
78
+ Tue: 'Di.',
79
+ Wed: 'Mi.',
80
+ Thu: 'Do.',
81
+ Fri: 'Fr.',
82
+ Sat: 'Sa.',
83
+ Sun: 'So.',
84
+ },
85
+ localeFormatToken: {
86
+ FORMAT_SWITCH_DATE: 'yyyy-MM-dd',
87
+ },
88
+ },
89
+ Popconfirm: {
90
+ confirm: 'Bestätigen',
91
+ cancel: 'Abbrechen',
92
+ },
93
+ Navigation: {
94
+ collapseText: 'Seitenleiste verstecken',
95
+ expandText: 'Seitenleiste anzeigen',
96
+ },
97
+ Table: {
98
+ emptyText: 'Kein Ergebnis',
99
+ pageText: 'Anzeigen ${currentStart} bis ${currentEnd} von ${total}',
100
+ },
101
+ Select: {
102
+ emptyText: 'Kein Ergebnis',
103
+ createText: 'Kreieren',
104
+ },
105
+ Tree: {
106
+ emptyText: 'Kein Ergebnis',
107
+ searchPlaceholder: 'Suchen',
108
+ },
109
+ Cascader: {
110
+ emptyText: 'Kein Ergebnis',
111
+ },
112
+ List: {
113
+ emptyText: 'Kein Ergebnis',
114
+ },
115
+ Calendar: {
116
+ allDay: 'Den ganzen Tag',
117
+ AM: '${time} AM',
118
+ PM: '${time} PM',
119
+ datestring: '',
120
+ remaining: '${remained} mehr',
121
+ },
122
+ Upload: {
123
+ mainText: 'Klicken Sie auf Datei hochladen oder ziehen Sie die Datei hierher',
124
+ illegalTips: 'Dieser Dateityp wird nicht unterstützt',
125
+ legalTips: 'Freigeben und Hochladen starten',
126
+ retry: 'Wiederholen',
127
+ replace: 'Datei ersetzen',
128
+ clear: 'Löschen',
129
+ selectedFiles: 'Ausgewählte Dateien',
130
+ illegalSize: 'Illegale Dateigröße',
131
+ fail: 'Hochladen fehlgeschlagen',
132
+ },
133
+ TreeSelect: {
134
+ searchPlaceholder: 'Suchen',
135
+ },
136
+ Typography: {
137
+ copy: 'Kopieren',
138
+ copied: 'Kopiert',
139
+ expand: 'Erweitern',
140
+ collapse: 'Verstecken',
141
+ },
142
+ Transfer: {
143
+ emptyLeft: 'Keine Daten',
144
+ emptySearch: 'Keine Suchergebnisse',
145
+ emptyRight: 'Keine Inhalte, links kontrollieren',
146
+ placeholder: 'Suchen',
147
+ clear: 'Löschen',
148
+ selectAll: 'Alles auswählen',
149
+ clearSelectAll: 'Alles abwählen',
150
+ total: 'Gesamt ${total} Artikel',
151
+ selected: '${total} ausgewählte Artikel',
152
+ },
153
+ };
154
+
155
+ // [i18n-German]
156
+ export default local;
@@ -0,0 +1,156 @@
1
+ import { fr } from 'date-fns/locale';
2
+ import { Locale } from '../interface';
3
+
4
+ const local: Locale = {
5
+ code: 'fr',
6
+ dateFnsLocale: fr,
7
+ Pagination: {
8
+ item: 'article',
9
+ pageSize: ' articles/page',
10
+ page: ' pages',
11
+ total: '',
12
+ jumpTo: 'Sauter à'
13
+ },
14
+ Modal: {
15
+ confirm: 'Confirmer',
16
+ cancel: 'Annuler',
17
+ },
18
+ TimePicker: {
19
+ placeholder: {
20
+ time: 'Sélectionner temps',
21
+ timeRange: 'Sélectionner une période de temps',
22
+ },
23
+ begin: 'Heure de début',
24
+ end: 'Heure de fin',
25
+ hour: '',
26
+ minute: '',
27
+ second: '',
28
+ AM: 'AM',
29
+ PM: 'PM',
30
+ },
31
+ DatePicker: {
32
+ placeholder: {
33
+ date: 'Sélectionner date',
34
+ dateTime: 'Sélectionner date et temps',
35
+ dateRange: ['Date de début', 'Date de fin'],
36
+ dateTimeRange: ['Date de début', 'Date de fin'],
37
+ },
38
+ footer: {
39
+ confirm: 'Confirmer',
40
+ cancel: 'Annuler',
41
+ },
42
+ selectDate: 'Sélectionner date',
43
+ selectTime: 'Sélectionner temps',
44
+ year: 'année',
45
+ month: 'mois',
46
+ day: 'jour',
47
+ monthText: '${month} ${year}',
48
+ months: {
49
+ 1: 'janv.',
50
+ 2: 'févr.',
51
+ 3: 'mars',
52
+ 4: 'avr.',
53
+ 5: 'mai',
54
+ 6: 'juin',
55
+ 7: 'juill.',
56
+ 8: 'août',
57
+ 9: 'sept.',
58
+ 10: 'oct.',
59
+ 11: 'nov.',
60
+ 12: 'déc.',
61
+ },
62
+ fullMonths: {
63
+ 1: 'janvier',
64
+ 2: 'février',
65
+ 3: 'mars',
66
+ 4: 'avril',
67
+ 5: 'mai',
68
+ 6: 'juin',
69
+ 7: 'juillet',
70
+ 8: 'août',
71
+ 9: 'septembre',
72
+ 10: 'octobre',
73
+ 11: 'novembre',
74
+ 12: 'décembre',
75
+ },
76
+ weeks: {
77
+ Mon: 'lun.',
78
+ Tue: 'mar.',
79
+ Wed: 'mer.',
80
+ Thu: 'jeu.',
81
+ Fri: 'ven.',
82
+ Sat: 'sam.',
83
+ Sun: 'dim.',
84
+ },
85
+ localeFormatToken: {
86
+ FORMAT_SWITCH_DATE: 'yyyy-MM-dd',
87
+ },
88
+ },
89
+ Popconfirm: {
90
+ confirm: 'Confirmer',
91
+ cancel: 'Annuler',
92
+ },
93
+ Navigation: {
94
+ collapseText: 'Comprimer la barre latérale',
95
+ expandText: 'Étendre la barre latérale',
96
+ },
97
+ Table: {
98
+ emptyText: 'Aucun Résultat',
99
+ pageText: 'Montrant ${currentStart} to ${currentEnd} of ${total}',
100
+ },
101
+ Select: {
102
+ emptyText: 'Aucun Résultat',
103
+ createText: 'Créer',
104
+ },
105
+ Tree: {
106
+ emptyText: 'Aucun Résultat',
107
+ searchPlaceholder: 'Recherche',
108
+ },
109
+ Cascader: {
110
+ emptyText: 'Aucun Résultat',
111
+ },
112
+ List: {
113
+ emptyText: 'Aucun Résultat',
114
+ },
115
+ Calendar: {
116
+ allDay: ' Toute la journée',
117
+ AM: '${time} AM',
118
+ PM: '${time} PM',
119
+ datestring: '',
120
+ remaining: '${remained} plus',
121
+ },
122
+ Upload: {
123
+ mainText: 'Cliquez pour télécharger le fichier ou faites glisser le fichier vers ici',
124
+ illegalTips: 'Ce type de fichier n\'est pas pris en charge',
125
+ legalTips: 'Libérer et commencer le téléchargement',
126
+ retry: 'Réessayer',
127
+ replace: 'Remplacer le fichier',
128
+ clear: 'Supprimer',
129
+ selectedFiles: 'Fichiers sélectionnés',
130
+ illegalSize: 'Taille de fichier erronée',
131
+ fail: 'Échec du chargement',
132
+ },
133
+ TreeSelect: {
134
+ searchPlaceholder: 'Recherche',
135
+ },
136
+ Typography: {
137
+ copy: 'Copier',
138
+ copied: 'Copié',
139
+ expand: 'Étendre',
140
+ collapse: 'Comprimer',
141
+ },
142
+ Transfer: {
143
+ emptyLeft: 'Aucune Donnée',
144
+ emptySearch: 'Aucun résultat n\'a été trouvé',
145
+ emptyRight: 'Pas de contenu, vérification à gauche',
146
+ placeholder: 'Recherche',
147
+ clear: 'Supprimer',
148
+ selectAll: 'Sélectionner tout',
149
+ clearSelectAll: 'Désélectionner tout',
150
+ total: 'Totale ${total} articles',
151
+ selected: '${total} articles sélectionnés',
152
+ },
153
+ };
154
+
155
+ // [i18n-French]
156
+ export default local;
@@ -0,0 +1,156 @@
1
+ import { it } from 'date-fns/locale';
2
+ import { Locale } from '../interface';
3
+
4
+ const local: Locale = {
5
+ code: 'it',
6
+ dateFnsLocale: it,
7
+ Pagination: {
8
+ item: 'elemento',
9
+ pageSize: ' elementi / pagine',
10
+ page: ' pagine',
11
+ total: '',
12
+ jumpTo: 'Vai a'
13
+ },
14
+ Modal: {
15
+ confirm: 'Conferma',
16
+ cancel: 'Cancella',
17
+ },
18
+ TimePicker: {
19
+ placeholder: {
20
+ time: 'Seleziona ora',
21
+ timeRange: 'Seleziona un intervallo di tempo',
22
+ },
23
+ begin: 'Ora inizio',
24
+ end: 'Ora fine',
25
+ hour: '',
26
+ minute: '',
27
+ second: '',
28
+ AM: 'AM',
29
+ PM: 'PM',
30
+ },
31
+ DatePicker: {
32
+ placeholder: {
33
+ date: 'Seleziona data',
34
+ dateTime: 'Seleziona data e ora',
35
+ dateRange: ['Data inizio', 'Data fine'],
36
+ dateTimeRange: ['Data inizio', 'Data fine'],
37
+ },
38
+ footer: {
39
+ confirm: 'Conferma',
40
+ cancel: 'Cancella',
41
+ },
42
+ selectDate: 'Seleziona data',
43
+ selectTime: 'Seleziona ora',
44
+ year: 'anno',
45
+ month: 'mese',
46
+ day: 'giorno',
47
+ monthText: '${month} ${year}',
48
+ months: {
49
+ 1: 'Gen',
50
+ 2: 'Feb',
51
+ 3: 'Mar',
52
+ 4: 'Apr',
53
+ 5: 'Mag',
54
+ 6: 'Giu',
55
+ 7: 'Lug',
56
+ 8: 'Ago',
57
+ 9: 'Set',
58
+ 10: 'Ott',
59
+ 11: 'Nov',
60
+ 12: 'Dic',
61
+ },
62
+ fullMonths: {
63
+ 1: 'Gennaio',
64
+ 2: 'Febbraio',
65
+ 3: 'Marzo',
66
+ 4: 'Aprile',
67
+ 5: 'Maggio',
68
+ 6: 'Giugno',
69
+ 7: 'Luglio',
70
+ 8: 'Agosto',
71
+ 9: 'Settembre',
72
+ 10: 'Ottobre',
73
+ 11: 'Novembre',
74
+ 12: 'Dicembre',
75
+ },
76
+ weeks: {
77
+ Mon: 'Lun',
78
+ Tue: 'Mar',
79
+ Wed: 'Mer',
80
+ Thu: 'Gio',
81
+ Fri: 'Ven',
82
+ Sat: 'Sab',
83
+ Sun: 'Dom',
84
+ },
85
+ localeFormatToken: {
86
+ FORMAT_SWITCH_DATE: 'yyyy-MM-dd',
87
+ },
88
+ },
89
+ Popconfirm: {
90
+ confirm: 'Conferma',
91
+ cancel: 'Cancella',
92
+ },
93
+ Navigation: {
94
+ collapseText: 'Comprimi la barra laterale',
95
+ expandText: 'Espandi la barra laterale',
96
+ },
97
+ Table: {
98
+ emptyText: 'Nessun risultato',
99
+ pageText: 'Mostra ${currentStart} a ${currentEnd} di ${total}',
100
+ },
101
+ Select: {
102
+ emptyText: 'Nessun risultato',
103
+ createText: 'Crea',
104
+ },
105
+ Tree: {
106
+ emptyText: 'Nessun risultato',
107
+ searchPlaceholder: 'Cerca',
108
+ },
109
+ Cascader: {
110
+ emptyText: 'Nessun risultato',
111
+ },
112
+ List: {
113
+ emptyText: 'Nessun risultato',
114
+ },
115
+ Calendar: {
116
+ allDay: 'Tutto il giorno',
117
+ AM: '${time} AM',
118
+ PM: '${time} PM',
119
+ datestring: '',
120
+ remaining: '${remained} più',
121
+ },
122
+ Upload: {
123
+ mainText: 'Clicca per caricare il file o trascina il file qui',
124
+ illegalTips: 'Questo tipo di file non è supportato',
125
+ legalTips: 'Rilascia e inizia a caricare',
126
+ retry: 'Riprova',
127
+ replace: 'Sostituisci file',
128
+ clear: 'Cancella',
129
+ selectedFiles: 'File selezionati',
130
+ illegalSize: 'Dimensione file errata',
131
+ fail: 'Caricamento fallito',
132
+ },
133
+ TreeSelect: {
134
+ searchPlaceholder: 'Cerca',
135
+ },
136
+ Typography: {
137
+ copy: 'Copia',
138
+ copied: 'Copiato',
139
+ expand: 'Espandi',
140
+ collapse: 'Comprimi',
141
+ },
142
+ Transfer: {
143
+ emptyLeft: 'Nessun dato',
144
+ emptySearch: 'Nessun risultato trovato',
145
+ emptyRight: 'Nessun contenuto, controlla da sinistra',
146
+ placeholder: 'Cerca',
147
+ clear: 'Cancella',
148
+ selectAll: 'Seleziona tutto',
149
+ clearSelectAll: 'Deseleziona tutto',
150
+ total: 'Totale ${total} elementi',
151
+ selected: '${total} elementi selezionati',
152
+ },
153
+ };
154
+
155
+ // [i18n-Italian]
156
+ export default local;
@@ -31,7 +31,8 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
31
31
  getContainerContext: PropTypes.func,
32
32
  contentClassName: PropTypes.string,
33
33
  maskClassName: PropTypes.string,
34
- onAnimationEnd: PropTypes.func
34
+ onAnimationEnd: PropTypes.func,
35
+ preventScroll: PropTypes.bool,
35
36
  };
36
37
 
37
38
  static defaultProps = {
@@ -88,15 +89,16 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
88
89
  },
89
90
  getMouseState: () => this.state.dialogMouseDown,
90
91
  modalDialogFocus: () => {
92
+ const { preventScroll } = this.props;
91
93
  let activeElementInDialog;
92
94
  if (this.modalDialogRef) {
93
95
  const activeElement = FocusTrapHandle.getActiveElement();
94
96
  activeElementInDialog = this.modalDialogRef.current.contains(activeElement);
95
97
  this.focusTrapHandle?.destroy();
96
- this.focusTrapHandle = new FocusTrapHandle(this.modalDialogRef.current);
98
+ this.focusTrapHandle = new FocusTrapHandle(this.modalDialogRef.current, { preventScroll });
97
99
  }
98
100
  if (!activeElementInDialog) {
99
- this.modalDialogRef?.current?.focus();
101
+ this.modalDialogRef?.current?.focus({ preventScroll });
100
102
  }
101
103
  },
102
104
  modalDialogBlur: () => {
@@ -105,8 +107,9 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
105
107
  },
106
108
  prevFocusElementReFocus: () => {
107
109
  const { prevFocusElement } = this.state;
110
+ const { preventScroll } = this.props;
108
111
  const focus = get(prevFocusElement, 'focus');
109
- isFunction(focus) && prevFocusElement.focus();
112
+ isFunction(focus) && prevFocusElement.focus({ preventScroll });
110
113
  }
111
114
  };
112
115
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@douyinfe/semi-ui",
3
- "version": "2.14.0",
3
+ "version": "2.15.1",
4
4
  "description": "",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es/index.js",
@@ -15,11 +15,11 @@
15
15
  "dependencies": {
16
16
  "@babel/runtime-corejs3": "^7.15.4",
17
17
  "@douyinfe/semi-animation": "2.12.0",
18
- "@douyinfe/semi-animation-react": "2.14.0",
19
- "@douyinfe/semi-foundation": "2.14.0",
20
- "@douyinfe/semi-icons": "2.14.0",
21
- "@douyinfe/semi-illustrations": "2.14.0",
22
- "@douyinfe/semi-theme-default": "2.14.0",
18
+ "@douyinfe/semi-animation-react": "2.15.1",
19
+ "@douyinfe/semi-foundation": "2.15.1",
20
+ "@douyinfe/semi-icons": "2.15.1",
21
+ "@douyinfe/semi-illustrations": "2.15.0",
22
+ "@douyinfe/semi-theme-default": "2.15.1",
23
23
  "@types/react-window": "^1.8.2",
24
24
  "async-validator": "^3.5.0",
25
25
  "classnames": "^2.2.6",
@@ -69,13 +69,13 @@
69
69
  ],
70
70
  "author": "",
71
71
  "license": "MIT",
72
- "gitHead": "d55010c5e2747bf74efdb061700d3aea9335ba25",
72
+ "gitHead": "c17dbc08573d010f8ecfe60834412acd9e7ca154",
73
73
  "devDependencies": {
74
74
  "@babel/plugin-proposal-decorators": "^7.15.8",
75
75
  "@babel/plugin-transform-runtime": "^7.15.8",
76
76
  "@babel/preset-env": "^7.15.8",
77
77
  "@babel/preset-react": "^7.14.5",
78
- "@douyinfe/semi-scss-compile": "2.14.0",
78
+ "@douyinfe/semi-scss-compile": "2.15.1",
79
79
  "@storybook/addon-knobs": "^6.3.1",
80
80
  "@types/lodash": "^4.14.176",
81
81
  "babel-loader": "^8.2.2",
package/radio/radio.tsx CHANGED
@@ -44,6 +44,7 @@ export type RadioProps = {
44
44
  addonId?: string;
45
45
  extraId?: string;
46
46
  name?: string;
47
+ preventScroll?: boolean;
47
48
  };
48
49
 
49
50
  export interface RadioState {
@@ -77,6 +78,7 @@ class Radio extends BaseComponent<RadioProps, RadioState> {
77
78
  addonClassName: PropTypes.string,
78
79
  type: PropTypes.oneOf([strings.TYPE_DEFAULT, strings.TYPE_BUTTON, strings.TYPE_CARD, strings.TYPE_PURECARD]), // Button style type
79
80
  'aria-label': PropTypes.string,
81
+ preventScroll: PropTypes.bool,
80
82
  };
81
83
 
82
84
  static defaultProps: Partial<RadioProps> = {
@@ -26,6 +26,7 @@ export interface RadioInnerProps extends BaseProps {
26
26
  focusInner?: boolean;
27
27
  onInputFocus?: (e: any) => void;
28
28
  onInputBlur?: (e: any) => void;
29
+ preventScroll?: boolean;
29
30
  }
30
31
 
31
32
  interface RadioInnerState {
@@ -45,6 +46,7 @@ class RadioInner extends BaseComponent<RadioInnerProps, RadioInnerState> {
45
46
  focusInner: PropTypes.bool,
46
47
  onInputFocus: PropTypes.func,
47
48
  onInputBlur: PropTypes.func,
49
+ preventScroll: PropTypes.bool,
48
50
  };
49
51
 
50
52
  static defaultProps = {
@@ -95,7 +97,8 @@ class RadioInner extends BaseComponent<RadioInnerProps, RadioInnerState> {
95
97
  }
96
98
 
97
99
  focus() {
98
- this.inputEntity.focus();
100
+ const { preventScroll } = this.props;
101
+ this.inputEntity.focus({ preventScroll });
99
102
  }
100
103
 
101
104
  onChange(e: React.ChangeEvent<HTMLInputElement>) {
@@ -23,7 +23,7 @@ describe('Rating', () => {
23
23
 
24
24
  it('custom count', () => {
25
25
  const R1 = mount(<Rating count={10} />);
26
- expect(R1.find(`.${BASE_CLASS_PREFIX}-rating`).children().length).toEqual(10);
26
+ expect(R1.find(`.${BASE_CLASS_PREFIX}-rating`).children().length).toEqual(11);
27
27
  });
28
28
 
29
29
  it('different sizes', () => {
@@ -61,7 +61,7 @@ describe('Rating', () => {
61
61
  };
62
62
  const R = getRating(props);
63
63
  expect(
64
- R.find(`.${BASE_CLASS_PREFIX}-rating-star-first`)
64
+ R.find(`.${BASE_CLASS_PREFIX}-rating-star-second`)
65
65
  .at(0)
66
66
  .getDOMNode().textContent
67
67
  ).toEqual('赞');
@@ -119,7 +119,7 @@ describe('Rating', () => {
119
119
  allowHalf: true
120
120
  };
121
121
  const R = getRating(props);
122
- let stars = R.find('div[role="radio"]');
122
+ let stars = R.find(`.${BASE_CLASS_PREFIX}-rating-star-wrapper`);
123
123
  const event = {};
124
124
  stars.at(1).simulate('mouseMove', event);
125
125
  expect(spyHoverChange.calledWithMatch(2)).toBe(true);
@@ -173,20 +173,6 @@ describe('Rating', () => {
173
173
  expect(spyOnBlur.calledOnce).toBe(true);
174
174
  });
175
175
 
176
- it('autoFocus & ref.focus() & ref.blur()', () => {
177
- let onFocus = () => {};
178
- let spyOnFocus = sinon.spy(onFocus);
179
- let props = {
180
- autoFocus: true,
181
- };
182
- const R = getRating(props);
183
- expect(document.activeElement.tagName).toEqual('UL');
184
- R.instance().blur();
185
- expect(document.activeElement.tagName).toEqual('BODY');
186
- R.instance().focus();
187
- expect(document.activeElement.tagName).toEqual('UL');
188
- });
189
-
190
176
  it('onKeyDown', () => {
191
177
  let onKeyDown = () => {};
192
178
  let spyOnKeydown = sinon.spy(onKeyDown);
@@ -196,11 +182,9 @@ describe('Rating', () => {
196
182
  };
197
183
  const R = getRating(props);
198
184
  let ul = R.find('ul');
199
- let keyCodeLeft = 37;
200
- let keyCodeRight = 39;
201
- ul.simulate('keyDown', { keyCode: keyCodeLeft });
185
+ ul.simulate('keyDown', { key: 'ArrowLeft' });
202
186
  expect(R.state().value).toEqual(1);
203
- ul.simulate('keyDown', { keyCode: keyCodeRight });
187
+ ul.simulate('keyDown', { key: 'ArrowRight' });
204
188
  expect(R.state().value).toEqual(2);
205
189
  expect(spyOnKeydown.callCount).toEqual(2);
206
190
  let allowHalfProps = {
@@ -209,10 +193,10 @@ describe('Rating', () => {
209
193
  };
210
194
  const HalfR = getRating(allowHalfProps);
211
195
  let halfUl = HalfR.find('ul');
212
- halfUl.simulate('keyDown', { keyCode: keyCodeLeft });
196
+ halfUl.simulate('keyDown', { key: 'ArrowLeft' });
213
197
  expect(HalfR.state().value).toEqual(2);
214
- halfUl.simulate('keyDown', { keyCode: keyCodeRight });
215
- halfUl.simulate('keyDown', { keyCode: keyCodeRight });
198
+ halfUl.simulate('keyDown', { key: 'ArrowRight' });
199
+ halfUl.simulate('keyDown', { key: 'ArrowRight' });
216
200
  expect(HalfR.state().value).toEqual(3);
217
201
  });
218
202
 
@@ -227,12 +211,10 @@ describe('Rating', () => {
227
211
  };
228
212
  const RWithWrapper = mount(<ConfigProvider direction='rtl'><Rating {...props}/></ConfigProvider>);
229
213
  let ul = RWithWrapper.find('ul');
230
- let keyCodeLeft = 37;
231
- let keyCodeRight = 39;
232
- ul.simulate('keyDown', { keyCode: keyCodeLeft });
214
+ ul.simulate('keyDown', { key: 'ArrowLeft' });
233
215
  let R = RWithWrapper.find(Rating);
234
216
  expect(R.state().value).toEqual(3);
235
- ul.simulate('keyDown', { keyCode: keyCodeRight });
217
+ ul.simulate('keyDown', { key: 'ArrowRight' });
236
218
  expect(R.state().value).toEqual(2);
237
219
  // allowHalf
238
220
  let allowHalfProps = {
@@ -244,10 +226,10 @@ describe('Rating', () => {
244
226
  let HalfR = HalfRWithWrapper.find(Rating);
245
227
  let stars = HalfR.find('div[role="radio"]');
246
228
 
247
- halfUl.simulate('keyDown', { keyCode: keyCodeLeft });
229
+ halfUl.simulate('keyDown', { key: 'ArrowLeft' });
248
230
  expect(HalfR.state().value).toEqual(3);
249
- halfUl.simulate('keyDown', { keyCode: keyCodeRight });
250
- halfUl.simulate('keyDown', { keyCode: keyCodeRight });
231
+ halfUl.simulate('keyDown', { key: 'ArrowRight' });
232
+ halfUl.simulate('keyDown', { key: 'ArrowRight' });
251
233
  expect(HalfR.state().value).toEqual(2);
252
234
  })
253
235