@nutui/nutui-react 3.0.0-beta.5 → 3.0.0-beta.6

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 (295) hide show
  1. package/dist/cjs/packages/actionsheet/actionsheet.js +6 -3
  2. package/dist/cjs/packages/actionsheet/style/actionsheet.scss +10 -4
  3. package/dist/cjs/packages/actionsheet/style/style.css +14 -6
  4. package/dist/cjs/packages/address/style/style.css +4 -3
  5. package/dist/cjs/packages/animate/style/style.css +4 -0
  6. package/dist/cjs/packages/animatingnumbers/style/style.css +4 -0
  7. package/dist/cjs/packages/audio/style/style.css +4 -0
  8. package/dist/cjs/packages/avatar/style/style.css +4 -0
  9. package/dist/cjs/packages/avatarcropper/style/style.css +4 -0
  10. package/dist/cjs/packages/avatargroup/style/style.css +4 -0
  11. package/dist/cjs/packages/backtop/style/style.css +4 -0
  12. package/dist/cjs/packages/badge/style/style.css +4 -0
  13. package/dist/cjs/packages/barrage/style/style.css +4 -0
  14. package/dist/cjs/packages/button/style/style.css +4 -0
  15. package/dist/cjs/packages/calendar/style/style.css +4 -3
  16. package/dist/cjs/packages/calendarcard/style/calendarcard.scss +1 -1
  17. package/dist/cjs/packages/calendarcard/style/style.css +4 -0
  18. package/dist/cjs/packages/calendaritem/style/style.css +4 -0
  19. package/dist/cjs/packages/card/style/style.css +4 -0
  20. package/dist/cjs/packages/cascader/style/style.css +4 -3
  21. package/dist/cjs/packages/cell/style/style.css +4 -0
  22. package/dist/cjs/packages/cellgroup/style/style.css +4 -0
  23. package/dist/cjs/packages/checkbox/style/style.css +4 -0
  24. package/dist/cjs/packages/checkboxgroup/style/style.css +4 -0
  25. package/dist/cjs/packages/circleprogress/style/style.css +4 -0
  26. package/dist/cjs/packages/col/style/style.css +4 -0
  27. package/dist/cjs/packages/collapse/style/style.css +4 -0
  28. package/dist/cjs/packages/collapseitem/style/style.css +4 -0
  29. package/dist/cjs/packages/configprovider/style/style.css +4 -0
  30. package/dist/cjs/packages/configprovider/types.d.ts +1 -1
  31. package/dist/cjs/packages/countdown/style/style.css +4 -0
  32. package/dist/cjs/packages/countup/style/style.css +4 -0
  33. package/dist/cjs/packages/datepicker/style/style.css +4 -3
  34. package/dist/cjs/packages/dialog/style/style.css +4 -0
  35. package/dist/cjs/packages/divider/style/style.css +4 -0
  36. package/dist/cjs/packages/drag/style/style.css +4 -0
  37. package/dist/cjs/packages/elevator/style/style.css +4 -0
  38. package/dist/cjs/packages/ellipsis/style/style.css +4 -0
  39. package/dist/cjs/packages/empty/empty.js +1 -1
  40. package/dist/cjs/packages/empty/style/empty.scss +9 -5
  41. package/dist/cjs/packages/empty/style/style.css +16 -7
  42. package/dist/cjs/packages/fixednav/style/style.css +4 -0
  43. package/dist/cjs/packages/form/style/style.css +4 -0
  44. package/dist/cjs/packages/formitem/style/style.css +4 -0
  45. package/dist/cjs/packages/grid/style/style.css +4 -0
  46. package/dist/cjs/packages/griditem/style/style.css +4 -0
  47. package/dist/cjs/packages/hoverbutton/hoverbutton.js +2 -1
  48. package/dist/cjs/packages/hoverbutton/style/style.css +37 -12
  49. package/dist/cjs/packages/hoverbutton/utils.d.ts +1 -0
  50. package/dist/cjs/packages/hoverbutton/utils.js +11 -0
  51. package/dist/cjs/packages/hoverbuttonitem/hoverbuttonitem.js +17 -8
  52. package/dist/cjs/packages/hoverbuttonitem/style/hoverbuttonitem.scss +25 -0
  53. package/dist/cjs/packages/hoverbuttonitem/style/style.css +33 -8
  54. package/dist/cjs/packages/hoverbuttonitem/utils.d.ts +2 -0
  55. package/dist/cjs/packages/hoverbuttonitem/utils.js +18 -0
  56. package/dist/cjs/packages/image/style/style.css +4 -0
  57. package/dist/cjs/packages/imagepreview/style/imagepreview.scss +7 -0
  58. package/dist/cjs/packages/imagepreview/style/style.css +12 -3
  59. package/dist/cjs/packages/indicator/style/style.css +4 -0
  60. package/dist/cjs/packages/infiniteloading/style/style.css +4 -0
  61. package/dist/cjs/packages/input/style/style.css +4 -0
  62. package/dist/cjs/packages/inputnumber/style/style.css +4 -0
  63. package/dist/cjs/packages/layout/style/style.css +4 -0
  64. package/dist/cjs/packages/loading/style/style.css +4 -0
  65. package/dist/cjs/packages/menu/style/style.css +4 -0
  66. package/dist/cjs/packages/menuitem/style/style.css +4 -0
  67. package/dist/cjs/packages/navbar/style/style.css +4 -0
  68. package/dist/cjs/packages/noticebar/style/style.css +4 -0
  69. package/dist/cjs/packages/notify/style/style.css +4 -0
  70. package/dist/cjs/packages/numberkeyboard/style/style.css +4 -3
  71. package/dist/cjs/packages/nutui.react.build.d.ts +3 -1
  72. package/dist/cjs/packages/nutui.react.build.js +4 -0
  73. package/dist/cjs/packages/nutui.react.d.ts +4 -1
  74. package/dist/cjs/packages/nutui.react.js +5 -0
  75. package/dist/cjs/packages/nutui.react.scss.d.ts +1 -0
  76. package/dist/cjs/packages/nutui.react.scss.js +1 -0
  77. package/dist/cjs/packages/overlay/style/style.css +4 -0
  78. package/dist/cjs/packages/pagination/style/style.css +4 -0
  79. package/dist/cjs/packages/picker/style/style.css +4 -3
  80. package/dist/cjs/packages/popover/style/style.css +4 -3
  81. package/dist/cjs/packages/popup/style/popup.scss +0 -3
  82. package/dist/cjs/packages/popup/style/style.css +4 -3
  83. package/dist/cjs/packages/price/style/style.css +4 -0
  84. package/dist/cjs/packages/progress/style/style.css +4 -0
  85. package/dist/cjs/packages/pulltorefresh/style/style.css +4 -0
  86. package/dist/cjs/packages/radio/style/style.css +4 -0
  87. package/dist/cjs/packages/radiogroup/style/style.css +4 -0
  88. package/dist/cjs/packages/range/style/style.css +4 -0
  89. package/dist/cjs/packages/rate/index.d.ts +1 -1
  90. package/dist/cjs/packages/rate/rate.d.ts +2 -16
  91. package/dist/cjs/packages/rate/rate.js +7 -3
  92. package/dist/cjs/packages/rate/style/rate.scss +94 -8
  93. package/dist/cjs/packages/rate/style/style.css +86 -8
  94. package/dist/cjs/packages/rate/types.d.ts +18 -0
  95. package/dist/cjs/packages/rate/types.js +4 -0
  96. package/dist/cjs/packages/resultpage/style/style.css +4 -0
  97. package/dist/cjs/packages/row/style/style.css +4 -0
  98. package/dist/cjs/packages/safearea/style/style.css +4 -0
  99. package/dist/cjs/packages/searchbar/style/style.css +4 -0
  100. package/dist/cjs/packages/segmented/index.d.ts +3 -0
  101. package/dist/cjs/packages/segmented/index.js +12 -0
  102. package/dist/cjs/packages/segmented/segmented.d.ts +3 -0
  103. package/dist/cjs/packages/segmented/segmented.js +75 -0
  104. package/dist/cjs/packages/segmented/style/css.js +1 -0
  105. package/dist/cjs/packages/segmented/style/index.js +1 -0
  106. package/dist/cjs/packages/segmented/style/segmented.scss +38 -0
  107. package/dist/cjs/packages/segmented/style/style.css +42 -0
  108. package/dist/cjs/packages/segmented/types.d.ts +15 -0
  109. package/dist/cjs/packages/segmented/types.js +4 -0
  110. package/dist/cjs/packages/shortpassword/style/style.css +4 -3
  111. package/dist/cjs/packages/sidenavbar/style/style.css +4 -3
  112. package/dist/cjs/packages/sidenavbaritem/style/style.css +4 -0
  113. package/dist/cjs/packages/signature/style/style.css +4 -0
  114. package/dist/cjs/packages/skeleton/style/style.css +4 -0
  115. package/dist/cjs/packages/space/style/style.css +4 -0
  116. package/dist/cjs/packages/step/style/style.css +4 -0
  117. package/dist/cjs/packages/steps/style/style.css +4 -0
  118. package/dist/cjs/packages/sticky/style/style.css +4 -0
  119. package/dist/cjs/packages/subsidenavbar/style/style.css +4 -0
  120. package/dist/cjs/packages/swipe/style/style.css +4 -0
  121. package/dist/cjs/packages/swiper/style/style.css +4 -0
  122. package/dist/cjs/packages/swiperitem/style/style.css +4 -0
  123. package/dist/cjs/packages/switch/style/style.css +50 -30
  124. package/dist/cjs/packages/switch/style/switch.scss +44 -28
  125. package/dist/cjs/packages/switch/switch.d.ts +2 -2
  126. package/dist/cjs/packages/switch/switch.js +3 -11
  127. package/dist/cjs/packages/tabbar/style/style.css +4 -0
  128. package/dist/cjs/packages/tabbaritem/style/style.css +4 -0
  129. package/dist/cjs/packages/table/style/style.css +4 -0
  130. package/dist/cjs/packages/tabpane/style/style.css +4 -0
  131. package/dist/cjs/packages/tabs/style/style.css +4 -0
  132. package/dist/cjs/packages/tag/style/style.css +4 -0
  133. package/dist/cjs/packages/textarea/style/style.css +4 -0
  134. package/dist/cjs/packages/timedetail/style/style.css +6 -0
  135. package/dist/cjs/packages/timedetail/style/timedetail.scss +2 -0
  136. package/dist/cjs/packages/timeselect/style/style.css +6 -3
  137. package/dist/cjs/packages/toast/Notification.js +4 -4
  138. package/dist/cjs/packages/toast/style/style.css +17 -10
  139. package/dist/cjs/packages/toast/style/toast.scss +14 -8
  140. package/dist/cjs/packages/tour/style/style.css +4 -3
  141. package/dist/cjs/packages/trendarrow/style/style.css +4 -0
  142. package/dist/cjs/packages/uploader/style/style.css +4 -0
  143. package/dist/cjs/packages/video/style/style.css +4 -0
  144. package/dist/cjs/packages/virtuallist/style/style.css +4 -0
  145. package/dist/cjs/packages/watermark/style/style.css +4 -0
  146. package/dist/es/packages/actionsheet/actionsheet.d.ts +7 -35
  147. package/dist/es/packages/actionsheet/actionsheet.js +6 -3
  148. package/dist/es/packages/actionsheet/style/actionsheet.scss +10 -4
  149. package/dist/es/packages/actionsheet/style/style.css +14 -6
  150. package/dist/es/packages/address/style/style.css +4 -3
  151. package/dist/es/packages/animate/style/style.css +4 -0
  152. package/dist/es/packages/animatingnumbers/style/style.css +4 -0
  153. package/dist/es/packages/audio/style/style.css +4 -0
  154. package/dist/es/packages/avatar/style/style.css +4 -0
  155. package/dist/es/packages/avatarcropper/style/style.css +4 -0
  156. package/dist/es/packages/avatargroup/style/style.css +4 -0
  157. package/dist/es/packages/backtop/style/style.css +4 -0
  158. package/dist/es/packages/badge/style/style.css +4 -0
  159. package/dist/es/packages/barrage/style/style.css +4 -0
  160. package/dist/es/packages/button/style/style.css +4 -0
  161. package/dist/es/packages/calendar/style/style.css +4 -3
  162. package/dist/es/packages/calendarcard/style/calendarcard.scss +1 -1
  163. package/dist/es/packages/calendarcard/style/style.css +4 -0
  164. package/dist/es/packages/calendaritem/style/style.css +4 -0
  165. package/dist/es/packages/card/style/style.css +4 -0
  166. package/dist/es/packages/cascader/style/style.css +4 -3
  167. package/dist/es/packages/cell/style/style.css +4 -0
  168. package/dist/es/packages/cellgroup/style/style.css +4 -0
  169. package/dist/es/packages/checkbox/style/style.css +4 -0
  170. package/dist/es/packages/checkboxgroup/style/style.css +4 -0
  171. package/dist/es/packages/circleprogress/style/style.css +4 -0
  172. package/dist/es/packages/col/style/style.css +4 -0
  173. package/dist/es/packages/collapse/style/style.css +4 -0
  174. package/dist/es/packages/collapseitem/style/style.css +4 -0
  175. package/dist/es/packages/configprovider/style/style.css +4 -0
  176. package/dist/es/packages/configprovider/types.d.ts +1 -1
  177. package/dist/es/packages/countdown/style/style.css +4 -0
  178. package/dist/es/packages/countup/style/style.css +4 -0
  179. package/dist/es/packages/datepicker/style/style.css +4 -3
  180. package/dist/es/packages/dialog/style/style.css +4 -0
  181. package/dist/es/packages/divider/style/style.css +4 -0
  182. package/dist/es/packages/drag/style/style.css +4 -0
  183. package/dist/es/packages/elevator/elevator.d.ts +9 -45
  184. package/dist/es/packages/elevator/style/style.css +4 -0
  185. package/dist/es/packages/ellipsis/style/style.css +4 -0
  186. package/dist/es/packages/empty/empty.js +1 -1
  187. package/dist/es/packages/empty/style/empty.scss +9 -5
  188. package/dist/es/packages/empty/style/style.css +16 -7
  189. package/dist/es/packages/fixednav/style/style.css +4 -0
  190. package/dist/es/packages/form/style/style.css +4 -0
  191. package/dist/es/packages/formitem/style/style.css +4 -0
  192. package/dist/es/packages/grid/style/style.css +4 -0
  193. package/dist/es/packages/griditem/style/style.css +4 -0
  194. package/dist/es/packages/hoverbutton/hoverbutton.js +2 -1
  195. package/dist/es/packages/hoverbutton/style/style.css +37 -12
  196. package/dist/es/packages/hoverbutton/utils.d.ts +1 -0
  197. package/dist/es/packages/hoverbutton/utils.js +1 -0
  198. package/dist/es/packages/hoverbuttonitem/hoverbuttonitem.js +17 -8
  199. package/dist/es/packages/hoverbuttonitem/style/hoverbuttonitem.scss +25 -0
  200. package/dist/es/packages/hoverbuttonitem/style/style.css +33 -8
  201. package/dist/es/packages/hoverbuttonitem/utils.d.ts +2 -0
  202. package/dist/es/packages/hoverbuttonitem/utils.js +7 -0
  203. package/dist/es/packages/image/style/style.css +4 -0
  204. package/dist/es/packages/imagepreview/style/imagepreview.scss +7 -0
  205. package/dist/es/packages/imagepreview/style/style.css +12 -3
  206. package/dist/es/packages/indicator/style/style.css +4 -0
  207. package/dist/es/packages/infiniteloading/style/style.css +4 -0
  208. package/dist/es/packages/input/style/style.css +4 -0
  209. package/dist/es/packages/inputnumber/style/style.css +4 -0
  210. package/dist/es/packages/layout/style/style.css +4 -0
  211. package/dist/es/packages/loading/style/style.css +4 -0
  212. package/dist/es/packages/menu/style/style.css +4 -0
  213. package/dist/es/packages/menuitem/style/style.css +4 -0
  214. package/dist/es/packages/navbar/style/style.css +4 -0
  215. package/dist/es/packages/noticebar/style/style.css +4 -0
  216. package/dist/es/packages/notify/style/style.css +4 -0
  217. package/dist/es/packages/numberkeyboard/style/style.css +4 -3
  218. package/dist/es/packages/nutui.react.build.d.ts +3 -1
  219. package/dist/es/packages/nutui.react.build.js +3 -1
  220. package/dist/es/packages/overlay/style/style.css +4 -0
  221. package/dist/es/packages/pagination/style/style.css +4 -0
  222. package/dist/es/packages/picker/style/style.css +4 -3
  223. package/dist/es/packages/popover/style/style.css +4 -3
  224. package/dist/es/packages/popup/style/popup.scss +0 -3
  225. package/dist/es/packages/popup/style/style.css +4 -3
  226. package/dist/es/packages/price/style/style.css +4 -0
  227. package/dist/es/packages/progress/style/style.css +4 -0
  228. package/dist/es/packages/pulltorefresh/style/style.css +4 -0
  229. package/dist/es/packages/radio/style/style.css +4 -0
  230. package/dist/es/packages/radiogroup/style/style.css +4 -0
  231. package/dist/es/packages/range/style/style.css +4 -0
  232. package/dist/es/packages/rate/index.d.ts +1 -1
  233. package/dist/es/packages/rate/rate.d.ts +2 -16
  234. package/dist/es/packages/rate/rate.js +7 -3
  235. package/dist/es/packages/rate/style/rate.scss +94 -8
  236. package/dist/es/packages/rate/style/style.css +86 -8
  237. package/dist/es/packages/rate/types.d.ts +18 -0
  238. package/dist/es/packages/rate/types.js +1 -0
  239. package/dist/es/packages/resultpage/style/style.css +4 -0
  240. package/dist/es/packages/row/style/style.css +4 -0
  241. package/dist/es/packages/safearea/style/style.css +4 -0
  242. package/dist/es/packages/searchbar/style/style.css +4 -0
  243. package/dist/es/packages/segmented/index.d.ts +3 -0
  244. package/dist/es/packages/segmented/index.js +2 -0
  245. package/dist/es/packages/segmented/segmented.d.ts +3 -0
  246. package/dist/es/packages/segmented/segmented.js +63 -0
  247. package/dist/es/packages/segmented/style/css.js +1 -0
  248. package/dist/es/packages/segmented/style/index.js +1 -0
  249. package/dist/es/packages/segmented/style/segmented.scss +38 -0
  250. package/dist/es/packages/segmented/style/style.css +42 -0
  251. package/dist/es/packages/segmented/types.d.ts +15 -0
  252. package/dist/es/packages/segmented/types.js +1 -0
  253. package/dist/es/packages/shortpassword/style/style.css +4 -3
  254. package/dist/es/packages/sidenavbar/style/style.css +4 -3
  255. package/dist/es/packages/sidenavbaritem/style/style.css +4 -0
  256. package/dist/es/packages/signature/style/style.css +4 -0
  257. package/dist/es/packages/skeleton/style/style.css +4 -0
  258. package/dist/es/packages/space/style/style.css +4 -0
  259. package/dist/es/packages/step/style/style.css +4 -0
  260. package/dist/es/packages/steps/style/style.css +4 -0
  261. package/dist/es/packages/sticky/style/style.css +4 -0
  262. package/dist/es/packages/subsidenavbar/style/style.css +4 -0
  263. package/dist/es/packages/swipe/style/style.css +4 -0
  264. package/dist/es/packages/swiper/style/style.css +4 -0
  265. package/dist/es/packages/swiperitem/style/style.css +4 -0
  266. package/dist/es/packages/switch/style/style.css +50 -30
  267. package/dist/es/packages/switch/style/switch.scss +44 -28
  268. package/dist/es/packages/switch/switch.d.ts +2 -2
  269. package/dist/es/packages/switch/switch.js +3 -11
  270. package/dist/es/packages/tabbar/style/style.css +4 -0
  271. package/dist/es/packages/tabbaritem/style/style.css +4 -0
  272. package/dist/es/packages/table/style/style.css +4 -0
  273. package/dist/es/packages/tabpane/style/style.css +4 -0
  274. package/dist/es/packages/tabs/style/style.css +4 -0
  275. package/dist/es/packages/tag/style/style.css +4 -0
  276. package/dist/es/packages/textarea/style/style.css +4 -0
  277. package/dist/es/packages/timedetail/style/style.css +6 -0
  278. package/dist/es/packages/timedetail/style/timedetail.scss +2 -0
  279. package/dist/es/packages/timeselect/style/style.css +6 -3
  280. package/dist/es/packages/timeselect/timeselect.d.ts +9 -45
  281. package/dist/es/packages/toast/Notification.js +4 -4
  282. package/dist/es/packages/toast/style/style.css +17 -10
  283. package/dist/es/packages/toast/style/toast.scss +14 -8
  284. package/dist/es/packages/tour/style/style.css +4 -3
  285. package/dist/es/packages/trendarrow/style/style.css +4 -0
  286. package/dist/es/packages/uploader/style/style.css +4 -0
  287. package/dist/es/packages/video/style/style.css +4 -0
  288. package/dist/es/packages/virtuallist/style/style.css +4 -0
  289. package/dist/es/packages/watermark/style/style.css +4 -0
  290. package/dist/nutui.react.umd.js +266 -196
  291. package/dist/style.css +1 -1
  292. package/dist/styles/theme-dark.scss +103 -94
  293. package/dist/styles/theme-default.scss +95 -90
  294. package/dist/styles/variables.scss +98 -53
  295. package/package.json +1 -1
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Segmented", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Segmented;
9
+ }
10
+ });
11
+ var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
+ var _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
+ var _define_property = require("@swc/helpers/_/_define_property");
14
+ var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
15
+ var _type_of = require("@swc/helpers/_/_type_of");
16
+ var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
17
+ var _classnames = /*#__PURE__*/ _interop_require_default._(require("classnames"));
18
+ var _usepropsvalue = require("../../utils/use-props-value");
19
+ var _mergeprops = require("../../utils/merge-props");
20
+ var defaultProps = {
21
+ options: [],
22
+ onChange: function onChange(value) {}
23
+ };
24
+ var Segmented = function Segmented(props) {
25
+ var classPrefix = 'nut-segmented';
26
+ var itemClassPrefix = 'nut-segmented-item';
27
+ var mergedProps = (0, _mergeprops.mergeProps)(defaultProps, props);
28
+ var options = mergedProps.options, onChange = mergedProps.onChange;
29
+ var _usePropsValue = (0, _sliced_to_array._)((0, _usepropsvalue.usePropsValue)({
30
+ value: mergedProps.value,
31
+ defaultValue: mergedProps.defaultValue,
32
+ finalValue: 0,
33
+ onChange: mergedProps.onChange
34
+ }), 2), value = _usePropsValue[0], setValue = _usePropsValue[1];
35
+ var renderItems = (0, _react.useCallback)(function(options, value) {
36
+ return options.map(function(option, index) {
37
+ var optionType = typeof option === "undefined" ? "undefined" : (0, _type_of._)(option);
38
+ switch(optionType){
39
+ case 'object':
40
+ // eslint-disable-next-line no-case-declarations
41
+ var opt = option;
42
+ var _obj;
43
+ return /*#__PURE__*/ _react.default.createElement("div", {
44
+ className: (0, _classnames.default)(itemClassPrefix, (_obj = {}, (0, _define_property._)(_obj, "".concat(itemClassPrefix, "-active"), opt.value === value), (0, _define_property._)(_obj, "".concat(opt.className), !!opt.className), _obj)),
45
+ key: opt.value,
46
+ onClick: function onClick() {
47
+ if (opt.disabled) return;
48
+ setValue(opt.value);
49
+ }
50
+ }, opt.icon ? /*#__PURE__*/ _react.default.createElement("span", {
51
+ className: "nut-segmented-icon"
52
+ }, opt.icon) : null, opt.label);
53
+ default:
54
+ {
55
+ if (typeof option !== 'string' && typeof option !== 'number') {
56
+ console.warn('Unsupported option type:', optionType);
57
+ }
58
+ return /*#__PURE__*/ _react.default.createElement("div", {
59
+ className: (0, _classnames.default)(itemClassPrefix, (0, _define_property._)({}, "".concat(itemClassPrefix, "-active"), index === value)),
60
+ key: option.toString(),
61
+ onClick: function onClick() {
62
+ setValue(index);
63
+ }
64
+ }, option);
65
+ }
66
+ }
67
+ });
68
+ }, [
69
+ value
70
+ ]);
71
+ return /*#__PURE__*/ _react.default.createElement("div", {
72
+ className: (0, _classnames.default)(classPrefix),
73
+ style: mergedProps.style
74
+ }, renderItems(options, value));
75
+ };
@@ -0,0 +1 @@
1
+ import './style.css'
@@ -0,0 +1 @@
1
+ import './segmented.scss';
@@ -0,0 +1,38 @@
1
+ .nut-segmented {
2
+ display: inline-flex;
3
+ height: $segmented-height;
4
+ min-width: 24px;
5
+ padding: $segmented-padding;
6
+ align-items: center;
7
+ border-radius: $segmented-border-radius;
8
+ background: $color-mask-part;
9
+ box-sizing: border-box;
10
+ }
11
+
12
+ .nut-segmented-item {
13
+ display: flex;
14
+ height: $segmented-item-height;
15
+ align-items: center;
16
+ justify-content: center;
17
+ padding: $segmented-item-padding;
18
+ border-radius: $segmented-item-radius;
19
+ color: $segmented-item-color;
20
+ font-size: $segmented-item-fontsize;
21
+ line-height: 1;
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ .nut-segmented-item-active {
26
+ background: $segmented-active-background;
27
+ }
28
+
29
+ .nut-segmented-icon {
30
+ height: 10px;
31
+ width: 10px;
32
+ margin-right: $segmented-icon-margin-right;
33
+ .nut-icon {
34
+ height: 10px;
35
+ width: 10px;
36
+ font-size: 10px;
37
+ }
38
+ }
@@ -0,0 +1,42 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
5
+ .nut-segmented {
6
+ display: inline-flex;
7
+ height: var(--nutui-segmented-height, 24px);
8
+ min-width: 24px;
9
+ padding: var(--nutui-segmented-padding, var(--nutui-spacing-xxxs, 2px));
10
+ align-items: center;
11
+ border-radius: var(--nutui-segmented-radius, var(--nutui-radius-xs, 4px));
12
+ background: var(--nutui-color-mask-part, rgba(0, 0, 0, 0.4));
13
+ box-sizing: border-box;
14
+ }
15
+
16
+ .nut-segmented-item {
17
+ display: flex;
18
+ height: var(--nutui-segmented-height, 20px);
19
+ align-items: center;
20
+ justify-content: center;
21
+ padding: var(--nutui-segmented-item-padding, 0 var(--nutui-spacing-xs, 6px));
22
+ border-radius: var(--nutui-segmented-item-radius, var(--nutui-radius-xs, 4px));
23
+ color: var(--nutui-segmented-item-color, var(--nutui-color-primary-text, #ffffff));
24
+ font-size: var(--nutui-segmented-item-fontsize, var(--nutui-font-size-s, 12px));
25
+ line-height: 1;
26
+ box-sizing: border-box;
27
+ }
28
+
29
+ .nut-segmented-item-active {
30
+ background: var(--nutui-segmented-active-background, var(--nutui-color-mask-part, rgba(0, 0, 0, 0.4)));
31
+ }
32
+
33
+ .nut-segmented-icon {
34
+ height: 10px;
35
+ width: 10px;
36
+ margin-right: var(--nutui-segmented-icon-margin-right, var(--nutui-spacing-xxxs, 2px));
37
+ }
38
+ .nut-segmented-icon .nut-icon {
39
+ height: 10px;
40
+ width: 10px;
41
+ font-size: 10px;
42
+ }
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ import { BasicComponent } from "../../utils/typings";
3
+ export interface SegmentedItem {
4
+ label: ReactNode;
5
+ value: string | number;
6
+ icon?: ReactNode;
7
+ disabled?: boolean;
8
+ className?: string;
9
+ }
10
+ export interface SegmentedProps extends BasicComponent {
11
+ options: string[] | number[] | SegmentedItem[];
12
+ value: string | number;
13
+ defaultValue: string | number;
14
+ onChange: (value: string | number) => void;
15
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
@@ -1,4 +1,8 @@
1
1
  @charset "UTF-8";
2
+ /* #ifdef harmony */
3
+ /* #endif */
4
+ /* #ifndef harmony */
5
+ /* #endif */
2
6
  .nut-overlay {
3
7
  /* #ifdef rn */
4
8
  position: absolute;
@@ -146,9 +150,6 @@
146
150
  bottom: 0;
147
151
  left: 0;
148
152
  width: 100%;
149
- /* #ifdef rn */
150
- height: 300px;
151
- /* #endif */
152
153
  }
153
154
  .nut-popup-bottom.nut-popup-round {
154
155
  border-radius: var(--nutui-popup-border-radius, 24px) var(--nutui-popup-border-radius, 24px) 0 0;
@@ -1,4 +1,8 @@
1
1
  @charset "UTF-8";
2
+ /* #ifdef harmony */
3
+ /* #endif */
4
+ /* #ifndef harmony */
5
+ /* #endif */
2
6
  .nut-overlay {
3
7
  /* #ifdef rn */
4
8
  position: absolute;
@@ -146,9 +150,6 @@
146
150
  bottom: 0;
147
151
  left: 0;
148
152
  width: 100%;
149
- /* #ifdef rn */
150
- height: 300px;
151
- /* #endif */
152
153
  }
153
154
  .nut-popup-bottom.nut-popup-round {
154
155
  border-radius: var(--nutui-popup-border-radius, 24px) var(--nutui-popup-border-radius, 24px) 0 0;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-subsidenavbar-item {
2
6
  height: var(--nutui-sidenavbar-item-height, 40px);
3
7
  color: var(--nutui-sidenavbar-sub-item-color, var(--nutui-color-text, #505259));
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-signature .spcanvas_WEAPP {
2
6
  width: 100%;
3
7
  height: 100%;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-image {
2
6
  display: block;
3
7
  position: relative;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-space {
2
6
  display: flex;
3
7
  }
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-step {
2
6
  flex-grow: 0;
3
7
  flex-shrink: 0;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-step {
2
6
  flex-grow: 0;
3
7
  flex-shrink: 0;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-sticky-fixed {
2
6
  position: fixed;
3
7
  }
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-subsidenavbar-title {
2
6
  height: var(--nutui-sidenavbar-item-height, 40px);
3
7
  padding: var(--nutui-sidenavbar-sub-title-padding, 10px 8px 10px 35px);
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-swipe {
2
6
  display: flex;
3
7
  flex-direction: row;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-indicator {
2
6
  display: flex;
3
7
  flex-direction: row;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-swiper-item {
2
6
  height: 100%;
3
7
  }
@@ -1,71 +1,91 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-switch {
2
6
  cursor: pointer;
7
+ position: relative;
3
8
  display: flex;
4
9
  flex-direction: row;
5
10
  align-items: center;
6
- width: var(--nutui-switch-width, 40px);
7
- height: var(--nutui-switch-height, 24px);
8
- line-height: var(--nutui-switch-line-height, 24px);
9
- background-color: var(--nutui-switch-open-background-color, var(--nutui-color-primary, #ff0f23));
10
- border-radius: var(--nutui-switch-border-radius, 8px);
11
+ min-width: var(--nutui-switch-width, 46px);
12
+ height: var(--nutui-switch-height, 28px);
13
+ line-height: var(--nutui-switch-line-height, 28px);
14
+ background-color: var(--nutui-switch-active-background-color, var(--nutui-color-primary, #ff0f23));
15
+ border-radius: var(--nutui-switch-border-radius, 50px);
11
16
  background-size: 100% 100%;
12
17
  background-repeat: no-repeat;
13
18
  background-position: center center;
14
19
  flex: 0 0 auto;
15
20
  }
16
21
  .nut-switch-button {
22
+ position: absolute;
23
+ top: 50%;
24
+ transform: translateY(-50%);
17
25
  display: flex;
18
26
  flex-direction: row;
19
27
  align-items: center;
20
28
  justify-content: center;
21
- height: var(--nutui-switch-inside-height, 20px);
22
- width: var(--nutui-switch-inside-width, 20px);
23
- transform: var(--nutui-switch-inside-close-transform, translateX(2px));
24
- border-radius: var(--nutui-switch-inside-border-radius, var(--nutui-radius-s, 6px));
29
+ height: calc(var(--nutui-switch-height, 28px) - var(--nutui-switch-border-width, 2px) * 2);
30
+ width: calc(var(--nutui-switch-height, 28px) - var(--nutui-switch-border-width, 2px) * 2);
31
+ border-radius: var(--nutui-switch-inside-border-radius, 50%);
25
32
  background: var(--nutui-color-primary-text, #ffffff);
26
- transition: transform 0.3s;
27
- box-shadow: var(--nutui-switch-box-shadow, 0 0 transparent);
33
+ transition: left 0.3s linear;
34
+ box-shadow: var(--nutui-switch-inside-box-shadow, 0px 2px 6px 0px rgba(0, 0, 0, 0.1));
28
35
  }
29
36
  .nut-switch-button-open {
30
- transform: var(--nutui-switch-inside-open-transform, translateX(18px));
37
+ left: calc(100% - var(--nutui-switch-height, 28px) + var(--nutui-switch-border-width, 2px));
31
38
  }
32
39
  .nut-switch-button-open-rtl {
33
- transform: var(--nutui-switch-inside-open-transform, translateX(-18px));
40
+ left: var(--nutui-switch-border-width, 2px);
34
41
  }
35
42
  .nut-switch-button-close {
36
- transform: var(--nutui-switch-inside-close-transform, translateX(2px));
43
+ left: var(--nutui-switch-border-width, 2px);
37
44
  }
38
45
  .nut-switch-button-close-rtl {
39
- transform: var(--nutui-switch-inside-close-transform, translateX(-2px));
46
+ left: calc(100% - var(--nutui-switch-height, 28px) + var(--nutui-switch-border-width, 2px));
40
47
  }
41
48
  .nut-switch-close {
42
- background-color: var(--nutui-switch-close-background-color, var(--nutui-color-text-disabled, #c2c4cc));
49
+ background-color: var(--nutui-switch-inactive-background-color, var(--nutui-color-text-disabled, #c2c4cc));
43
50
  }
44
51
  .nut-switch-close-line {
45
- width: 12px;
52
+ width: calc((var(--nutui-switch-height, 28px) - var(--nutui-switch-border-width, 2px) * 2) / 2);
46
53
  height: 2px;
47
- background: var(--nutui-switch-close-line-background-color, #fff);
54
+ background: var(--nutui-switch-inactive-line-background-color, #ffffff);
48
55
  border-radius: 2px;
49
56
  }
50
- .nut-switch-disabled {
51
- background-color: var(--nutui-switch-open-disabled-background-color, var(--nutui-color-primary-disabled-special, #ffadbe));
52
- }
53
- .nut-switch-disabled-close {
54
- background-color: var(--nutui-switch-close-disabled-background-color, var(--nutui-color-background, #f5f6fa));
55
- }
56
57
  .nut-switch-label {
57
- color: var(--nutui-color-primary-text, #ffffff);
58
- font-size: var(--nutui-font-size-s, 12px);
58
+ display: inline-flex;
59
+ align-items: center;
60
+ height: 100%;
61
+ white-space: nowrap;
62
+ color: var(--nutui-switch-label-text-color, var(--nutui-color-primary-text, #ffffff));
63
+ font-size: var(--nutui-switch-label-font-size, var(--nutui-font-size-s, 12px));
64
+ }
65
+ .nut-switch-label .nut-icon {
66
+ color: var(--nutui-switch-label-text-color, var(--nutui-color-primary-text, #ffffff));
59
67
  }
60
68
  .nut-switch-label-open {
61
- transform: translateX(-18px);
69
+ margin: 0 calc(var(--nutui-switch-height, 28px) - var(--nutui-switch-border-width, 2px) + 3px) 0 7px;
62
70
  }
63
71
  .nut-switch-label-open-rtl {
64
- transform: translateX(18px);
72
+ margin: 0 7px 0 calc(var(--nutui-switch-height, 28px) - var(--nutui-switch-border-width, 2px) + 3px);
65
73
  }
66
74
  .nut-switch-label-close {
67
- transform: translateX(18px);
75
+ margin: 0 7px 0 calc(var(--nutui-switch-height, 28px) - var(--nutui-switch-border-width, 2px) + 3px);
68
76
  }
69
77
  .nut-switch-label-close-rtl {
70
- transform: translateX(-18px);
78
+ margin: 0 calc(var(--nutui-switch-height, 28px) - var(--nutui-switch-border-width, 2px) + 3px) 0 7px;
79
+ }
80
+ .nut-switch-label-close-disabled {
81
+ color: var(--nutui-switch-inactive-disabled-label-text-color, var(--nutui-color-text-disabled, #c2c4cc));
82
+ }
83
+ .nut-switch-label-close-disabled .nut-icon {
84
+ color: var(--nutui-switch-inactive-disabled-label-text-color, var(--nutui-color-text-disabled, #c2c4cc));
85
+ }
86
+ .nut-switch-disabled {
87
+ background-color: var(--nutui-switch-active-disabled-background-color, var(--nutui-color-primary-disabled-special, #ffadbe));
88
+ }
89
+ .nut-switch-disabled-close {
90
+ background-color: var(--nutui-switch-inactive-disabled-background-color, var(--nutui-color-background, #f5f6fa));
71
91
  }
@@ -1,12 +1,13 @@
1
1
  .nut-switch {
2
2
  cursor: pointer;
3
+ position: relative;
3
4
  display: flex;
4
5
  flex-direction: row;
5
6
  align-items: center;
6
- width: $switch-width;
7
+ min-width: $switch-width;
7
8
  height: $switch-height;
8
9
  line-height: $switch-line-height;
9
- background-color: $switch-open-background-color;
10
+ background-color: $switch-active-background-color;
10
11
  border-radius: $switch-border-radius;
11
12
  background-size: 100% 100%;
12
13
  background-repeat: no-repeat;
@@ -14,64 +15,79 @@
14
15
  flex: 0 0 auto; // 防止被压缩
15
16
 
16
17
  &-button {
18
+ position: absolute;
19
+ top: 50%;
20
+ transform: translateY(-50%);
17
21
  display: flex;
18
22
  flex-direction: row;
19
23
  align-items: center;
20
24
  justify-content: center;
21
- height: $switch-inside-height;
22
- width: $switch-inside-width;
23
- transform: $switch-inside-close-transform;
25
+ height: calc($switch-height - $switch-border-width * 2);
26
+ width: calc($switch-height - $switch-border-width * 2);
24
27
  border-radius: $switch-inside-border-radius;
25
28
  background: $color-primary-text;
26
- transition: transform 0.3s;
27
- box-shadow: $switch-button-box-shadow;
29
+ transition: left 0.3s linear;
30
+ box-shadow: $switch-inside-box-shadow;
28
31
  &-open {
29
- transform: $switch-inside-open-transform;
32
+ left: calc(100% - $switch-height + $switch-border-width);
30
33
  &-rtl {
31
- transform: var(--nutui-switch-inside-open-transform, translateX(-18px));
34
+ left: $switch-border-width;
32
35
  }
33
36
  }
34
37
  &-close {
35
- transform: $switch-inside-close-transform;
38
+ left: $switch-border-width;
36
39
  &-rtl {
37
- transform: var(--nutui-switch-inside-close-transform, translateX(-2px));
40
+ left: calc(100% - $switch-height + $switch-border-width);
38
41
  }
39
42
  }
40
43
  }
41
44
 
42
45
  &-close {
43
- background-color: $switch-close-background-color;
46
+ background-color: $switch-inactive-background-color;
44
47
  &-line {
45
- width: 12px;
48
+ width: calc(($switch-height - $switch-border-width * 2) / 2);
46
49
  height: 2px;
47
- background: $switch-close-line-background-color;
50
+ background: $switch-inactive-line-background-color;
48
51
  border-radius: 2px;
49
52
  }
50
53
  }
51
54
 
52
- &-disabled {
53
- background-color: $switch-open-disabled-background-color;
54
- &-close {
55
- background-color: $switch-close-disabled-background-color;
56
- }
57
- }
58
-
59
55
  &-label {
60
- color: $color-primary-text;
61
- font-size: $font-size-s;
62
-
56
+ display: inline-flex;
57
+ align-items: center;
58
+ height: 100%;
59
+ white-space: nowrap;
60
+ color: $switch-label-text-color;
61
+ font-size: $switch-label-font-size;
62
+ .nut-icon {
63
+ color: $switch-label-text-color;
64
+ }
63
65
  &-open {
64
- transform: translateX(-18px);
66
+ margin: 0 calc($switch-height - $switch-border-width + 3px) 0 7px;
65
67
  &-rtl {
66
- transform: translateX(18px);
68
+ margin: 0 7px 0 calc($switch-height - $switch-border-width + 3px);
67
69
  }
68
70
  }
69
71
 
70
72
  &-close {
71
- transform: translateX(18px);
73
+ margin: 0 7px 0 calc($switch-height - $switch-border-width + 3px);
72
74
  &-rtl {
73
- transform: translateX(-18px);
75
+ margin: 0 calc($switch-height - $switch-border-width + 3px) 0 7px;
74
76
  }
75
77
  }
78
+
79
+ &-close-disabled {
80
+ color: $switch-inactive-disabled-label-text-color;
81
+ .nut-icon {
82
+ color: $switch-inactive-disabled-label-text-color;
83
+ }
84
+ }
85
+ }
86
+
87
+ &-disabled {
88
+ background-color: $switch-active-disabled-background-color;
89
+ &-close {
90
+ background-color: $switch-inactive-disabled-background-color;
91
+ }
76
92
  }
77
93
  }
@@ -4,8 +4,8 @@ export interface SwitchProps extends BasicComponent {
4
4
  checked: boolean;
5
5
  defaultChecked: boolean;
6
6
  disabled: boolean;
7
- activeText: string;
8
- inactiveText: string;
7
+ activeText: React.ReactNode;
8
+ inactiveText: React.ReactNode;
9
9
  onChange: (val: boolean, event: React.MouseEvent) => void;
10
10
  }
11
11
  export declare const Switch: FunctionComponent<Partial<SwitchProps>>;
@@ -73,16 +73,8 @@ var Switch = function Switch(props) {
73
73
  ])
74
74
  }, !value && !activeText && /*#__PURE__*/ _react.default.createElement("div", {
75
75
  className: "".concat(classPrefix, "-close-line")
76
- }), activeText && /*#__PURE__*/ _react.default.createElement("div", {
77
- className: (0, _classnames.default)([
78
- [
79
- "".concat(classPrefix, "-label")
80
- ],
81
- [
82
- value ? "".concat(classPrefix, "-label-open") : "".concat(classPrefix, "-label-close")
83
- ],
84
- (_obj1 = {}, (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-open-rtl"), rtl && value), (0, _define_property._)(_obj1, "".concat(classPrefix, "-button-close-rtl"), rtl && !value), _obj1)
85
- ])
86
- }, value ? activeText : inactiveText)));
76
+ })), activeText && /*#__PURE__*/ _react.default.createElement("div", {
77
+ className: (0, _classnames.default)("".concat(classPrefix, "-label"), (_obj1 = {}, (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-open"), value), (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-close"), !value), (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-open-rtl"), rtl && value), (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-close-rtl"), rtl && !value), (0, _define_property._)(_obj1, "".concat(classPrefix, "-label-close-disabled"), disabled && !value), _obj1))
78
+ }, value ? activeText : inactiveText));
87
79
  };
88
80
  Switch.displayName = 'NutSwitch';
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-badge {
2
6
  position: relative;
3
7
  display: inline-flex;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-badge {
2
6
  position: relative;
3
7
  display: inline-flex;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-table {
2
6
  overflow: hidden;
3
7
  position: relative;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-tabpane {
2
6
  width: 100%;
3
7
  flex-shrink: 0;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-tabpane {
2
6
  width: 100%;
3
7
  flex-shrink: 0;
@@ -1,3 +1,7 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
1
5
  .nut-tag {
2
6
  padding: var(--nutui-tag-padding, 0px 2px);
3
7
  display: flex;