@nutui/nutui-react 3.0.1 → 3.0.2

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 (72) hide show
  1. package/dist/cjs/hooks/use-client-rect.js +1 -0
  2. package/dist/cjs/packages/datepicker/style/style.css +70 -0
  3. package/dist/cjs/packages/datepickerview/style/index.js +1 -0
  4. package/dist/cjs/packages/datepickerview/style/style.css +70 -0
  5. package/dist/cjs/packages/fixednav/fixednav.js +20 -14
  6. package/dist/cjs/packages/fixednav/style/fixednav.scss +0 -15
  7. package/dist/cjs/packages/fixednav/style/style.css +0 -14
  8. package/dist/cjs/packages/form/__tests__/merge.spec.d.ts +1 -0
  9. package/dist/cjs/packages/form/__tests__/merge.spec.js +545 -0
  10. package/dist/cjs/packages/form/form.d.ts +2 -0
  11. package/dist/cjs/packages/form/form.js +9 -2
  12. package/dist/cjs/packages/form/index.d.ts +2 -1
  13. package/dist/cjs/packages/form/index.js +1 -0
  14. package/dist/cjs/packages/form/style/form.scss +0 -66
  15. package/dist/cjs/packages/form/style/style.css +31 -21
  16. package/dist/cjs/packages/form/types.d.ts +2 -1
  17. package/dist/cjs/packages/form/useform.d.ts +2 -1
  18. package/dist/cjs/packages/form/useform.js +342 -278
  19. package/dist/cjs/packages/formitem/formitem.d.ts +1 -0
  20. package/dist/cjs/packages/formitem/formitem.js +55 -44
  21. package/dist/cjs/packages/formitem/style/formitem.scss +101 -21
  22. package/dist/cjs/packages/formitem/style/style.css +89 -12
  23. package/dist/cjs/packages/picker/style/index.js +1 -0
  24. package/dist/cjs/packages/picker/style/style.css +70 -0
  25. package/dist/cjs/packages/swipe/style/style.css +3 -3
  26. package/dist/cjs/packages/swipe/style/swipe.scss +7 -3
  27. package/dist/cjs/utils/get-rect-by-taro.d.ts +1 -1
  28. package/dist/cjs/utils/get-rect-by-taro.js +4 -1
  29. package/dist/cjs/utils/get-system-info.js +4 -5
  30. package/dist/cjs/utils/merge.d.ts +14 -0
  31. package/dist/cjs/utils/merge.js +98 -0
  32. package/dist/cjs/utils/platform-taro.js +4 -5
  33. package/dist/cjs/utils/to-array.d.ts +1 -0
  34. package/dist/cjs/utils/to-array.js +18 -0
  35. package/dist/es/hooks/use-client-rect.js +1 -0
  36. package/dist/es/packages/datepicker/style/style.css +70 -0
  37. package/dist/es/packages/datepickerview/style/index.js +1 -0
  38. package/dist/es/packages/datepickerview/style/style.css +70 -0
  39. package/dist/es/packages/fixednav/fixednav.js +20 -14
  40. package/dist/es/packages/fixednav/style/fixednav.scss +0 -15
  41. package/dist/es/packages/fixednav/style/style.css +0 -14
  42. package/dist/es/packages/form/__tests__/merge.spec.d.ts +1 -0
  43. package/dist/es/packages/form/__tests__/merge.spec.js +541 -0
  44. package/dist/es/packages/form/form.d.ts +10 -0
  45. package/dist/es/packages/form/form.js +9 -2
  46. package/dist/es/packages/form/index.d.ts +2 -1
  47. package/dist/es/packages/form/index.js +2 -1
  48. package/dist/es/packages/form/style/form.scss +0 -66
  49. package/dist/es/packages/form/style/style.css +31 -21
  50. package/dist/es/packages/form/types.d.ts +2 -1
  51. package/dist/es/packages/form/useform.d.ts +2 -1
  52. package/dist/es/packages/form/useform.js +340 -279
  53. package/dist/es/packages/formitem/formitem.d.ts +1 -0
  54. package/dist/es/packages/formitem/formitem.js +55 -44
  55. package/dist/es/packages/formitem/style/formitem.scss +101 -21
  56. package/dist/es/packages/formitem/style/style.css +89 -12
  57. package/dist/es/packages/picker/style/index.js +1 -0
  58. package/dist/es/packages/picker/style/style.css +70 -0
  59. package/dist/es/packages/swipe/style/style.css +3 -3
  60. package/dist/es/packages/swipe/style/swipe.scss +7 -3
  61. package/dist/es/utils/get-rect-by-taro.d.ts +1 -1
  62. package/dist/es/utils/get-rect-by-taro.js +4 -1
  63. package/dist/es/utils/get-system-info.js +4 -4
  64. package/dist/es/utils/merge.d.ts +14 -0
  65. package/dist/es/utils/merge.js +68 -0
  66. package/dist/es/utils/platform-taro.js +4 -4
  67. package/dist/es/utils/to-array.d.ts +1 -0
  68. package/dist/es/utils/to-array.js +8 -0
  69. package/dist/nutui.react.umd.js +555 -422
  70. package/dist/style.css +1 -1
  71. package/dist/style.scss +41 -41
  72. package/package.json +1 -1
@@ -38,6 +38,7 @@ var getRect = function getRect(elementRef) {
38
38
  };
39
39
  }
40
40
  if (element && element.getBoundingClientRect) {
41
+ console.log(element, element.getBoundingClientRect());
41
42
  return element.getBoundingClientRect();
42
43
  }
43
44
  return {
@@ -383,6 +383,76 @@
383
383
  right: 0;
384
384
  }
385
385
 
386
+ .nut-pickerview {
387
+ --nutui-picker-item-height: 36px;
388
+ position: relative;
389
+ display: flex;
390
+ width: 100%;
391
+ height: calc(var(--nutui-picker-item-height, 36px) * 7);
392
+ overflow: hidden;
393
+ }
394
+ .nut-pickerview-mask, .nut-pickerview-indicator {
395
+ position: absolute;
396
+ left: 0;
397
+ right: 0;
398
+ z-index: 3;
399
+ pointer-events: none;
400
+ }
401
+ .nut-pickerview-mask {
402
+ top: 0;
403
+ bottom: 0;
404
+ background-image: var(--picker-mask-background, linear-gradient(180deg, var(--nutui-white-12), var(--nutui-white-7)), linear-gradient(0deg, var(--nutui-white-12), var(--nutui-white-7)));
405
+ background-position: top, bottom;
406
+ background-size: 100% calc((var(--nutui-picker-item-height, 36px) * 7 - var(--nutui-picker-item-height, 36px)) / 2);
407
+ background-repeat: no-repeat;
408
+ transform: translateZ(0);
409
+ }
410
+ .nut-pickerview-indicator {
411
+ top: calc((var(--nutui-picker-item-height, 36px) * 7 - var(--nutui-picker-item-height, 36px)) / 2);
412
+ height: var(--nutui-picker-item-height, 36px);
413
+ border: var(--nutui-picker-item-active-line-border, 1px solid var(--nutui-color-border, rgba(0, 0, 0, 0.06)));
414
+ border-left: 0;
415
+ border-right: 0;
416
+ box-sizing: border-box;
417
+ }
418
+ .nut-pickerview-list {
419
+ position: relative;
420
+ flex: 1;
421
+ height: calc(var(--nutui-picker-item-height, 36px) * 7);
422
+ overflow: hidden;
423
+ touch-action: none;
424
+ }
425
+ .nut-pickerview-roller {
426
+ position: absolute;
427
+ top: calc((var(--nutui-picker-item-height, 36px) * 7 - var(--nutui-picker-item-height, 36px)) / 2);
428
+ width: 100%;
429
+ height: var(--nutui-picker-item-height, 36px);
430
+ z-index: 1;
431
+ transform-style: preserve-3d;
432
+ }
433
+ .nut-pickerview-roller-item {
434
+ position: absolute;
435
+ top: 0;
436
+ backface-visibility: hidden;
437
+ -moz-backface-visibility: hidden;
438
+ -webkit-backface-visibility: hidden;
439
+ }
440
+ .nut-pickerview-roller-item-hidden {
441
+ visibility: hidden;
442
+ opacity: 0;
443
+ }
444
+ .nut-pickerview-roller-item, .nut-pickerview-roller-item-tiled {
445
+ width: 100%;
446
+ height: var(--nutui-picker-item-height, 36px);
447
+ line-height: var(--nutui-picker-item-height, 36px);
448
+ color: var(--nutui-picker-item-text-color, var(--nutui-color-title, #1a1a1a));
449
+ font-size: var(--nutui-picker-item-text-font-size, var(--nutui-font-size-base, 14px));
450
+ text-align: center;
451
+ overflow: hidden;
452
+ text-overflow: ellipsis;
453
+ white-space: nowrap;
454
+ }
455
+
386
456
  .nut-picker {
387
457
  background-color: var(--nutui-color-background-overlay, #ffffff);
388
458
  width: 100%;
@@ -1 +1,2 @@
1
+ import '../../pickerview/style';
1
2
  import './datepickerview.scss';
@@ -2,6 +2,76 @@
2
2
  /* #endif */
3
3
  /* #ifndef harmony */
4
4
  /* #endif */
5
+ .nut-pickerview {
6
+ --nutui-picker-item-height: 36px;
7
+ position: relative;
8
+ display: flex;
9
+ width: 100%;
10
+ height: calc(var(--nutui-picker-item-height, 36px) * 7);
11
+ overflow: hidden;
12
+ }
13
+ .nut-pickerview-mask, .nut-pickerview-indicator {
14
+ position: absolute;
15
+ left: 0;
16
+ right: 0;
17
+ z-index: 3;
18
+ pointer-events: none;
19
+ }
20
+ .nut-pickerview-mask {
21
+ top: 0;
22
+ bottom: 0;
23
+ background-image: var(--picker-mask-background, linear-gradient(180deg, var(--nutui-white-12), var(--nutui-white-7)), linear-gradient(0deg, var(--nutui-white-12), var(--nutui-white-7)));
24
+ background-position: top, bottom;
25
+ background-size: 100% calc((var(--nutui-picker-item-height, 36px) * 7 - var(--nutui-picker-item-height, 36px)) / 2);
26
+ background-repeat: no-repeat;
27
+ transform: translateZ(0);
28
+ }
29
+ .nut-pickerview-indicator {
30
+ top: calc((var(--nutui-picker-item-height, 36px) * 7 - var(--nutui-picker-item-height, 36px)) / 2);
31
+ height: var(--nutui-picker-item-height, 36px);
32
+ border: var(--nutui-picker-item-active-line-border, 1px solid var(--nutui-color-border, rgba(0, 0, 0, 0.06)));
33
+ border-left: 0;
34
+ border-right: 0;
35
+ box-sizing: border-box;
36
+ }
37
+ .nut-pickerview-list {
38
+ position: relative;
39
+ flex: 1;
40
+ height: calc(var(--nutui-picker-item-height, 36px) * 7);
41
+ overflow: hidden;
42
+ touch-action: none;
43
+ }
44
+ .nut-pickerview-roller {
45
+ position: absolute;
46
+ top: calc((var(--nutui-picker-item-height, 36px) * 7 - var(--nutui-picker-item-height, 36px)) / 2);
47
+ width: 100%;
48
+ height: var(--nutui-picker-item-height, 36px);
49
+ z-index: 1;
50
+ transform-style: preserve-3d;
51
+ }
52
+ .nut-pickerview-roller-item {
53
+ position: absolute;
54
+ top: 0;
55
+ backface-visibility: hidden;
56
+ -moz-backface-visibility: hidden;
57
+ -webkit-backface-visibility: hidden;
58
+ }
59
+ .nut-pickerview-roller-item-hidden {
60
+ visibility: hidden;
61
+ opacity: 0;
62
+ }
63
+ .nut-pickerview-roller-item, .nut-pickerview-roller-item-tiled {
64
+ width: 100%;
65
+ height: var(--nutui-picker-item-height, 36px);
66
+ line-height: var(--nutui-picker-item-height, 36px);
67
+ color: var(--nutui-picker-item-text-color, var(--nutui-color-title, #1a1a1a));
68
+ font-size: var(--nutui-picker-item-text-font-size, var(--nutui-font-size-base, 14px));
69
+ text-align: center;
70
+ overflow: hidden;
71
+ text-overflow: ellipsis;
72
+ white-space: nowrap;
73
+ }
74
+
5
75
  .nut-datepickerview {
6
76
  display: flex;
7
77
  width: 100%;
@@ -18,6 +18,7 @@ var _iconsreact = require("@nutui/icons-react");
18
18
  var _index = /*#__PURE__*/ _interop_require_default._(require("../overlay/index"));
19
19
  var _configprovider = require("../configprovider");
20
20
  var _overlay = require("../overlay/overlay");
21
+ var _index1 = /*#__PURE__*/ _interop_require_default._(require("../badge/index"));
21
22
  var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _overlay.defaultOverlayProps), {
22
23
  activeText: '',
23
24
  inactiveText: '',
@@ -54,6 +55,20 @@ var FixedNav = function FixedNav(props) {
54
55
  var classes = (0, _classnames.default)(classPrefix, {
55
56
  active: visible
56
57
  }, type, className);
58
+ var renderListItem = function renderListItem(item, index) {
59
+ return /*#__PURE__*/ _react.default.createElement("div", {
60
+ className: "".concat(classPrefix, "-list-item"),
61
+ onClick: function onClick(event) {
62
+ return onSelect(item, event);
63
+ },
64
+ key: item.id || index
65
+ }, /*#__PURE__*/ _react.default.isValidElement(item.icon) ? item.icon : /*#__PURE__*/ _react.default.createElement("img", {
66
+ src: item.icon,
67
+ alt: ""
68
+ }), /*#__PURE__*/ _react.default.createElement("div", {
69
+ className: "".concat(classPrefix, "-list-text")
70
+ }, item.text));
71
+ };
57
72
  return /*#__PURE__*/ _react.default.createElement("div", (0, _object_spread._)({
58
73
  className: classes,
59
74
  style: (0, _object_spread._)({}, position, style)
@@ -68,20 +83,11 @@ var FixedNav = function FixedNav(props) {
68
83
  }, children || /*#__PURE__*/ _react.default.createElement("div", {
69
84
  className: "".concat(classPrefix, "-list")
70
85
  }, list.map(function(item, index) {
71
- return /*#__PURE__*/ _react.default.createElement("div", {
72
- className: "".concat(classPrefix, "-list-item"),
73
- onClick: function onClick(event) {
74
- return onSelect(item, event);
75
- },
76
- key: item.id || index
77
- }, /*#__PURE__*/ _react.default.isValidElement(item.icon) ? item.icon : /*#__PURE__*/ _react.default.createElement("img", {
78
- src: item.icon,
79
- alt: ""
80
- }), /*#__PURE__*/ _react.default.createElement("div", {
81
- className: "".concat(classPrefix, "-list-text")
82
- }, item.text), item.num && /*#__PURE__*/ _react.default.createElement("div", {
83
- className: "b"
84
- }, item.num));
86
+ return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, item.num ? /*#__PURE__*/ _react.default.createElement(_index1.default, {
87
+ value: item.num,
88
+ top: 8,
89
+ right: 6
90
+ }, renderListItem(item, index)) : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, renderListItem(item, index)));
85
91
  }))), /*#__PURE__*/ _react.default.createElement("div", {
86
92
  className: "".concat(classPrefix, "-btn"),
87
93
  onClick: function onClick() {
@@ -95,21 +95,6 @@
95
95
  .nut-fixednav-list-text {
96
96
  font-size: 10px;
97
97
  }
98
-
99
- .b {
100
- position: absolute;
101
- right: 0;
102
- top: 1px;
103
- height: 14px;
104
- line-height: 14px;
105
- font-size: 10px;
106
- padding: 0 3px;
107
- color: white;
108
- background: $color-primary;
109
- border-radius: 7px;
110
- text-align: center;
111
- min-width: 12px;
112
- }
113
98
  }
114
99
  }
115
100
 
@@ -136,20 +136,6 @@
136
136
  .nut-fixednav-list-item .nut-fixednav-list-text {
137
137
  font-size: 10px;
138
138
  }
139
- .nut-fixednav-list-item .b {
140
- position: absolute;
141
- right: 0;
142
- top: 1px;
143
- height: 14px;
144
- line-height: 14px;
145
- font-size: 10px;
146
- padding: 0 3px;
147
- color: white;
148
- background: var(--nutui-color-primary, #ff0f23);
149
- border-radius: 7px;
150
- text-align: center;
151
- min-width: 12px;
152
- }
153
139
  .nut-fixednav.left {
154
140
  right: auto;
155
141
  left: 0;
@@ -0,0 +1 @@
1
+ export {};