@nutui/nutui-react-taro 1.4.7-beta.1 → 1.4.8-beta.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 (98) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/esm/Badge.js +2 -2
  3. package/dist/esm/Barrage.js +2 -2
  4. package/dist/esm/Calendar.js +3 -4
  5. package/dist/esm/CalendarItem.js +2 -3
  6. package/dist/esm/Cascader.js +4 -4
  7. package/dist/esm/Checkbox.js +2 -2
  8. package/dist/esm/CheckboxGroup.js +2 -2
  9. package/dist/esm/Col.js +3 -2
  10. package/dist/esm/Dialog.js +3 -2
  11. package/dist/esm/Ellipsis.js +2 -2
  12. package/dist/esm/InputNumber.js +2 -2
  13. package/dist/esm/Popover.js +2 -2
  14. package/dist/esm/Row.js +3 -2
  15. package/dist/esm/ShortPassword.js +2 -2
  16. package/dist/esm/Swipe.js +3 -2
  17. package/dist/esm/TabPane.js +2 -2
  18. package/dist/esm/Tabbar.js +2 -2
  19. package/dist/esm/Tabs.js +2 -2
  20. package/dist/esm/TextArea.js +2 -2
  21. package/dist/esm/Uploader.js +2 -2
  22. package/dist/esm/{badge.taro-11e2ec95.js → badge.taro-116b2521.js} +1 -0
  23. package/dist/esm/barrage.taro-5dbab093.js +94 -0
  24. package/dist/esm/calendar.taro-c95e6998.js +61 -0
  25. package/dist/esm/calendaritem.taro-86412398.js +761 -0
  26. package/dist/esm/{cascader.taro-e6610dd1.js → cascader.taro-e0fb7e63.js} +16 -22
  27. package/dist/esm/{checkbox.taro-04da7151.js → checkbox.taro-b76b1c82.js} +9 -6
  28. package/dist/esm/{col.taro-b61c7cba.js → col.taro-9e4c5cc0.js} +2 -1
  29. package/dist/esm/{dialog.taro-54df2e3f.js → dialog.taro-7608bd26.js} +7 -12
  30. package/dist/esm/{ellipsis.taro-aa39faf7.js → ellipsis.taro-5aa23940.js} +4 -3
  31. package/dist/esm/{inputnumber.taro-e909d932.js → inputnumber.taro-94c75663.js} +11 -21
  32. package/dist/esm/nutui-react.es.js +19 -19
  33. package/dist/esm/{popover.taro-fc7b9a73.js → popover.taro-f144cd02.js} +9 -7
  34. package/dist/esm/{row.taro-37a895de.js → row.taro-4e697aa2.js} +2 -1
  35. package/dist/esm/{shortpassword.taro-02ea4499.js → shortpassword.taro-53b7ee7b.js} +3 -2
  36. package/dist/esm/{swipe.taro-1eb95b21.js → swipe.taro-6532405d.js} +16 -24
  37. package/dist/esm/{tabbar.taro-08e48c43.js → tabbar.taro-17d898d9.js} +12 -7
  38. package/dist/esm/{tabpane.taro-91cd6cf4.js → tabpane.taro-9512e308.js} +3 -3
  39. package/dist/esm/{tabs.taro-5030ce68.js → tabs.taro-4629d66c.js} +5 -2
  40. package/dist/esm/{textarea.taro-42600f8c.js → textarea.taro-47addd05.js} +5 -1
  41. package/dist/esm/types/src/packages/calendar/calendar.taro.d.ts +22 -2
  42. package/dist/esm/types/src/packages/calendaritem/calendaritem.taro.d.ts +21 -3
  43. package/dist/esm/types/src/packages/cascader/cascader.d.ts +1 -0
  44. package/dist/esm/types/src/packages/cascader/cascader.taro.d.ts +1 -0
  45. package/dist/esm/types/src/packages/cascader/cascaderItem.d.ts +1 -0
  46. package/dist/esm/types/src/packages/cascader/cascaderItem.taro.d.ts +1 -0
  47. package/dist/esm/types/src/packages/checkbox/demo.d.ts +0 -1
  48. package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.d.ts +5 -0
  49. package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.taro.d.ts +5 -0
  50. package/dist/esm/types/src/packages/dialog/DialogWrap.d.ts +1 -1
  51. package/dist/esm/types/src/packages/dialog/DialogWrapper.taro.d.ts +11 -0
  52. package/dist/esm/types/src/packages/dialog/dialog.taro.d.ts +3 -2
  53. package/dist/esm/types/src/packages/dialog/index.taro.d.ts +2 -2
  54. package/dist/esm/types/src/packages/form/form.d.ts +3 -0
  55. package/dist/esm/types/src/packages/formitem/formitem.d.ts +2 -1
  56. package/dist/esm/types/src/packages/formitem/types.d.ts +1 -1
  57. package/dist/esm/types/src/packages/popover/popover.taro.d.ts +1 -1
  58. package/dist/esm/types/src/packages/shortpassword/shortpassword.d.ts +1 -0
  59. package/dist/esm/types/src/packages/shortpassword/shortpassword.taro.d.ts +1 -0
  60. package/dist/esm/types/src/packages/switch/switch.d.ts +2 -1
  61. package/dist/esm/types/src/packages/tabbar/tabbar.d.ts +1 -1
  62. package/dist/esm/types/src/packages/tabbar/tabbar.taro.d.ts +1 -1
  63. package/dist/esm/types/src/packages/tabbar/use-props-value.d.ts +7 -0
  64. package/dist/esm/types/src/packages/tabpane/tabpane.taro.d.ts +0 -1
  65. package/dist/esm/types/src/packages/tabs/tabs.d.ts +1 -0
  66. package/dist/esm/types/src/packages/tabs/tabs.taro.d.ts +1 -0
  67. package/dist/esm/types/src/packages/uploader/uploader.taro.d.ts +1 -0
  68. package/dist/esm/{uploader.taro-b7b770e6.js → uploader.taro-c830b573.js} +3 -2
  69. package/dist/locales/base.js +1 -1
  70. package/dist/locales/en-US.js +1 -1
  71. package/dist/locales/id-ID.js +1 -1
  72. package/dist/locales/zh-CN.js +1 -1
  73. package/dist/locales/zh-TW.js +1 -1
  74. package/dist/locales/zh-UG.js +1 -1
  75. package/dist/nutui.react.es.js +690 -412
  76. package/dist/nutui.react.umd.js +689 -411
  77. package/dist/packages/badge/badge.scss +11 -5
  78. package/dist/packages/barrage/barrage.scss +3 -3
  79. package/dist/packages/button/button.scss +1 -0
  80. package/dist/packages/cascader/cascader.scss +19 -5
  81. package/dist/packages/checkboxgroup/checkboxgroup.scss +33 -0
  82. package/dist/packages/collapseitem/collapseitem.scss +41 -17
  83. package/dist/packages/form/form.scss +3 -0
  84. package/dist/packages/inputnumber/inputnumber.scss +18 -1
  85. package/dist/packages/popover/popover.scss +71 -46
  86. package/dist/packages/radiogroup/radiogroup.scss +9 -8
  87. package/dist/packages/step/step.scss +135 -98
  88. package/dist/packages/switch/switch.scss +1 -1
  89. package/dist/packages/tabs/tabs.scss +24 -2
  90. package/dist/packages/textarea/textarea.scss +7 -1
  91. package/dist/style.css +1 -1
  92. package/dist/style.es.js +1 -1
  93. package/dist/styles/variables.scss +155 -33
  94. package/dist/types/index.d.ts +57 -33
  95. package/package.json +1 -1
  96. package/dist/esm/barrage.taro-e4fe81ae.js +0 -73
  97. package/dist/esm/calendar.taro-02479e8b.js +0 -38
  98. package/dist/esm/calendaritem.taro-3cfd4186.js +0 -571
package/CHANGELOG.md CHANGED
@@ -1,3 +1,47 @@
1
+ # v1.4.8
2
+ `2023-02-15`
3
+
4
+ * :sparkles: feat(configprovider): demo 增加国际化 (#706) @eiinu
5
+ * :sparkles: feat(rate): demo 增加国际化 (#704) @eiinu
6
+ * :sparkles: feat(shortpassword): demo 增加国际化 (#705) @eiinu
7
+ * :sparkles: feat(shortpassword): 支持自动聚焦 (#693) @Kason Yang
8
+ * :sparkles: feat(sidenavbar): demo 增加国际化 (#709) @eiinu
9
+ * :sparkles: feat(switch): demo 增加国际化 (#708) @eiinu
10
+ * :sparkles: feat(tag): demo 增加国际化 (#707) @eiinu
11
+ * :sparkles: feat: badge组件增加元素提取,增加徽章border设置,完善文档,补充多语言支持 (#697) @xiaoyatong
12
+ * :sparkles: feat: calendar 适配taro 功能增强 (#715) @xiaoyatong
13
+ * :sparkles: feat: cascader 增加checkedIcon属性,增加视觉元素提取,增加自定义样式demo (#719) @xiaoyatong
14
+ * :sparkles: feat: checkbox 增加group样式 (#721) @xiaoyatong
15
+ * :sparkles: feat: collapse 提取变量,增加多语言支持,补充demo (#691) @xiaoyatong
16
+ * :sparkles: feat: inputnumber 增加 buttons 的样式,提取元素变量,增加demo (#685) @xiaoyatong
17
+ * :sparkles: feat: popover 增加交互样式,提取元素变量 (#681) @xiaoyatong
18
+ * :sparkles: feat: steps组件调整样式布局,增加点状样式等,提取元素变量,增加demo (#712) @xiaoyatong
19
+ * :sparkles: feat: swipe 组件对外暴露 open 和 close 方法,优化 taro 版本下 width 的计算时机 (#714) @oasis-cloud
20
+ * :sparkles: feat: tabbar 组件增加受控的 activeVisible 属性 (#711) @oasis-cloud
21
+ * :sparkles: feat: tabs 组件增加 leftAlign 属性;提取视觉元素变量;修复disable 时有 active 状态的问题 (#674) @xiaoyatong
22
+ * :sparkles: feat: textarea 提取元素变量,增加demo演示 (#688) @xiaoyatong
23
+ * :sparkles: feat: 多个组件 demo 完善国际化 (#710) @eiinu
24
+ * :sparkles: feat: 新增form-item的validator校验和重置提示状态功能 (#689) @junjun666
25
+ * :sparkles: feat: 新增taro uploader的multiple属性 (#686) @junjun666
26
+ * :sparkles: feat: 新增表单组件Form.useForm()创建form控制实例的功能 (#679) @junjun666
27
+ * :bug: fix(layout): 修复布局组件 `Row` 和 `Col` 的 className 设置问题 (#683) @AnteeHub
28
+ * :bug: fix: badge初始化classname (#722) @xiaoyatong
29
+ * :bug: fix: button plain的样式 (#678) @xiaoyatong
30
+ * :bug: fix: cascader 没有传递 ref 参数 (#699) @oasis-cloud
31
+ * :bug: fix: checkboxgroup组件通过options渲染时组件选中值反填问题 (#680) @cuicuiworld
32
+ * :bug: fix: ellipsis 展开和关闭操作应该阻止事件冒泡 (#700) @oasis-cloud
33
+ * :bug: fix: radio 支持 换行 (#675) @xiaoyatong
34
+ * :bug: fix: switch 组件的元素变量修改 (#690) @xiaoyatong
35
+ * :bug: fix: textarea 禁用状态仍然可以输入 (#687) @oasis-cloud
36
+ * :bug: fix: 修复 taro 版本中 dialog 组件的 lockScroll 属性,重构 taro 版本的 dialog 类型,去掉函数调… (#702) @oasis-cloud
37
+ * :bug: fix: 修改taro的inputnumber输入框键盘输入异常问题 (#703) @junjun666
38
+ * :bug: fix: 类型错误,修复 @hanyuxinting
39
+ * 🔨 chore: button 组件增加 opentype 示例 @oasis-cloud
40
+ * 🔨 chore: 统一 classnames 导出名称 (#684) @eiinu
41
+ * 🔨 chore: 重构h5和taro环境下 barrage组件代码并修复loop循环的问题 (#717) @junjun666
42
+ * 📖 docs: dialog 组件的 taro 文档去掉函数调用方式 (#677) @oasis-cloud
43
+
44
+
1
45
  # v1.4.7
2
46
  `2023-02-15`
3
47
 
package/dist/esm/Badge.js CHANGED
@@ -1,5 +1,5 @@
1
- import { B as Badge } from './badge.taro-11e2ec95.js';
2
- export { B as default } from './badge.taro-11e2ec95.js';
1
+ import { B as Badge } from './badge.taro-116b2521.js';
2
+ export { B as default } from './badge.taro-116b2521.js';
3
3
  import 'react';
4
4
  import './icon.taro-c9254a81.js';
5
5
  import './bem-893ad28d.js';
@@ -1,5 +1,5 @@
1
- import { B as Barrage } from './barrage.taro-e4fe81ae.js';
2
- export { B as default } from './barrage.taro-e4fe81ae.js';
1
+ import { B as Barrage } from './barrage.taro-5dbab093.js';
2
+ export { B as default } from './barrage.taro-5dbab093.js';
3
3
  import 'react';
4
4
  import '@tarojs/taro';
5
5
  import 'classnames';
@@ -1,5 +1,5 @@
1
- import { C as Calendar } from './calendar.taro-02479e8b.js';
2
- export { C as default } from './calendar.taro-02479e8b.js';
1
+ import { C as Calendar } from './calendar.taro-c95e6998.js';
2
+ export { C as default } from './calendar.taro-c95e6998.js';
3
3
  import 'react';
4
4
  import './popup.taro-4c18f46c.js';
5
5
  import 'react-dom';
@@ -11,8 +11,7 @@ import '@bem-react/classname';
11
11
  import '@tarojs/components';
12
12
  import './icon.taro-c9254a81.js';
13
13
  import './typings-1c5f2628.js';
14
- import './calendaritem.taro-3cfd4186.js';
14
+ import './calendaritem.taro-86412398.js';
15
15
  import './configprovider.taro-26882dd2.js';
16
16
  import 'lodash.kebabcase';
17
17
  import './zh-CN-dfc384d0.js';
18
- import './useClientRect-4506e52f.js';
@@ -1,5 +1,5 @@
1
- import { C as CalendarItem } from './calendaritem.taro-3cfd4186.js';
2
- export { C as default } from './calendaritem.taro-3cfd4186.js';
1
+ import { C as CalendarItem } from './calendaritem.taro-86412398.js';
2
+ export { C as default } from './calendaritem.taro-86412398.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
5
  import './bem-893ad28d.js';
@@ -7,4 +7,3 @@ import '@bem-react/classname';
7
7
  import './configprovider.taro-26882dd2.js';
8
8
  import 'lodash.kebabcase';
9
9
  import './zh-CN-dfc384d0.js';
10
- import './useClientRect-4506e52f.js';
@@ -1,5 +1,5 @@
1
- import { C as Cascader } from './cascader.taro-e6610dd1.js';
2
- export { C as default } from './cascader.taro-e6610dd1.js';
1
+ import { C as Cascader } from './cascader.taro-e0fb7e63.js';
2
+ export { C as default } from './cascader.taro-e0fb7e63.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
5
  import './popup.taro-4c18f46c.js';
@@ -11,5 +11,5 @@ import '@bem-react/classname';
11
11
  import '@tarojs/components';
12
12
  import './icon.taro-c9254a81.js';
13
13
  import './typings-1c5f2628.js';
14
- import './tabs.taro-5030ce68.js';
15
- import './tabpane.taro-91cd6cf4.js';
14
+ import './tabs.taro-4629d66c.js';
15
+ import './tabpane.taro-9512e308.js';
@@ -1,5 +1,5 @@
1
- import { C as Checkbox } from './checkbox.taro-04da7151.js';
2
- export { C as default } from './checkbox.taro-04da7151.js';
1
+ import { C as Checkbox } from './checkbox.taro-b76b1c82.js';
2
+ export { C as default } from './checkbox.taro-b76b1c82.js';
3
3
  import 'react';
4
4
  import './icon.taro-c9254a81.js';
5
5
  import './bem-893ad28d.js';
@@ -1,5 +1,5 @@
1
- import { a as CheckboxGroup } from './checkbox.taro-04da7151.js';
2
- export { a as default } from './checkbox.taro-04da7151.js';
1
+ import { a as CheckboxGroup } from './checkbox.taro-b76b1c82.js';
2
+ export { a as default } from './checkbox.taro-b76b1c82.js';
3
3
  import 'react';
4
4
  import './icon.taro-c9254a81.js';
5
5
  import './bem-893ad28d.js';
package/dist/esm/Col.js CHANGED
@@ -1,4 +1,5 @@
1
- import { C as Col } from './col.taro-b61c7cba.js';
2
- export { C as default } from './col.taro-b61c7cba.js';
1
+ import { C as Col } from './col.taro-9e4c5cc0.js';
2
+ export { C as default } from './col.taro-9e4c5cc0.js';
3
3
  import 'react';
4
+ import 'classnames';
4
5
  import './UserContext-be8097d2.js';
@@ -1,5 +1,5 @@
1
- import { D as Dialog } from './dialog.taro-54df2e3f.js';
2
- export { D as default } from './dialog.taro-54df2e3f.js';
1
+ import { B as BaseDialog } from './dialog.taro-7608bd26.js';
2
+ export { B as default } from './dialog.taro-7608bd26.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
5
  import './button.taro-dc4795a3.js';
@@ -7,6 +7,7 @@ import './icon.taro-c9254a81.js';
7
7
  import './bem-893ad28d.js';
8
8
  import '@bem-react/classname';
9
9
  import './typings-1c5f2628.js';
10
+ import '@tarojs/components';
10
11
  import 'react-transition-group';
11
12
  import './configprovider.taro-26882dd2.js';
12
13
  import 'lodash.kebabcase';
@@ -1,5 +1,5 @@
1
- import { E as Ellipsis } from './ellipsis.taro-aa39faf7.js';
2
- export { E as default } from './ellipsis.taro-aa39faf7.js';
1
+ import { E as Ellipsis } from './ellipsis.taro-5aa23940.js';
2
+ export { E as default } from './ellipsis.taro-5aa23940.js';
3
3
  import 'react';
4
4
  import '@tarojs/taro';
5
5
  import './configprovider.taro-26882dd2.js';
@@ -1,5 +1,5 @@
1
- import { I as InputNumber } from './inputnumber.taro-e909d932.js';
2
- export { I as default } from './inputnumber.taro-e909d932.js';
1
+ import { I as InputNumber } from './inputnumber.taro-94c75663.js';
2
+ export { I as default } from './inputnumber.taro-94c75663.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
5
  import './icon.taro-c9254a81.js';
@@ -1,5 +1,5 @@
1
- import { P as Popover } from './popover.taro-fc7b9a73.js';
2
- export { P as default } from './popover.taro-fc7b9a73.js';
1
+ import { P as Popover } from './popover.taro-f144cd02.js';
2
+ export { P as default } from './popover.taro-f144cd02.js';
3
3
  import 'react';
4
4
  import './icon.taro-c9254a81.js';
5
5
  import './bem-893ad28d.js';
package/dist/esm/Row.js CHANGED
@@ -1,4 +1,5 @@
1
- import { R as Row } from './row.taro-37a895de.js';
2
- export { R as default } from './row.taro-37a895de.js';
1
+ import { R as Row } from './row.taro-4e697aa2.js';
2
+ export { R as default } from './row.taro-4e697aa2.js';
3
3
  import 'react';
4
+ import 'classnames';
4
5
  import './UserContext-be8097d2.js';
@@ -1,5 +1,5 @@
1
- import { S as ShortPassword } from './shortpassword.taro-02ea4499.js';
2
- export { S as default } from './shortpassword.taro-02ea4499.js';
1
+ import { S as ShortPassword } from './shortpassword.taro-53b7ee7b.js';
2
+ export { S as default } from './shortpassword.taro-53b7ee7b.js';
3
3
  import 'react';
4
4
  import './bem-893ad28d.js';
5
5
  import '@bem-react/classname';
package/dist/esm/Swipe.js CHANGED
@@ -1,6 +1,7 @@
1
- import { S as Swipe } from './swipe.taro-1eb95b21.js';
2
- export { S as default } from './swipe.taro-1eb95b21.js';
1
+ import { S as Swipe } from './swipe.taro-6532405d.js';
2
+ export { S as default } from './swipe.taro-6532405d.js';
3
3
  import 'react';
4
+ import '@tarojs/taro';
4
5
  import './bem-893ad28d.js';
5
6
  import '@bem-react/classname';
6
7
  import './useTouch-a2ea68c6.js';
@@ -1,5 +1,5 @@
1
- import { T as TabPane } from './tabpane.taro-91cd6cf4.js';
2
- export { T as default } from './tabpane.taro-91cd6cf4.js';
1
+ import { T as TabPane } from './tabpane.taro-9512e308.js';
2
+ export { T as default } from './tabpane.taro-9512e308.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
5
  import './bem-893ad28d.js';
@@ -1,5 +1,5 @@
1
- import { T as Tabbar } from './tabbar.taro-08e48c43.js';
2
- export { T as default } from './tabbar.taro-08e48c43.js';
1
+ import { T as Tabbar } from './tabbar.taro-17d898d9.js';
2
+ export { T as default } from './tabbar.taro-17d898d9.js';
3
3
  import 'react';
4
4
  import './bem-893ad28d.js';
5
5
  import '@bem-react/classname';
package/dist/esm/Tabs.js CHANGED
@@ -1,5 +1,5 @@
1
- import { T as Tabs } from './tabs.taro-5030ce68.js';
2
- export { T as default } from './tabs.taro-5030ce68.js';
1
+ import { T as Tabs } from './tabs.taro-4629d66c.js';
2
+ export { T as default } from './tabs.taro-4629d66c.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
5
  import './bem-893ad28d.js';
@@ -1,5 +1,5 @@
1
- import { T as TextArea } from './textarea.taro-42600f8c.js';
2
- export { T as default } from './textarea.taro-42600f8c.js';
1
+ import { T as TextArea } from './textarea.taro-47addd05.js';
2
+ export { T as default } from './textarea.taro-47addd05.js';
3
3
  import 'react';
4
4
  import './configprovider.taro-26882dd2.js';
5
5
  import 'lodash.kebabcase';
@@ -1,5 +1,5 @@
1
- import { U as Uploader } from './uploader.taro-b7b770e6.js';
2
- export { U as default } from './uploader.taro-b7b770e6.js';
1
+ import { U as Uploader } from './uploader.taro-c830b573.js';
2
+ export { U as default } from './uploader.taro-c830b573.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
5
  import '@tarojs/taro';
@@ -4,6 +4,7 @@ import { C as ComponentDefaults } from './typings-1c5f2628.js';
4
4
 
5
5
  const defaultProps = {
6
6
  ...ComponentDefaults,
7
+ className: '',
7
8
  value: '',
8
9
  dot: false,
9
10
  max: 10000,
@@ -0,0 +1,94 @@
1
+ import React__default, { useState, useRef, useImperativeHandle, useEffect } from 'react';
2
+ import { createSelectorQuery } from '@tarojs/taro';
3
+ import classNames from 'classnames';
4
+ import { c as cn } from './bem-893ad28d.js';
5
+
6
+ const defaultProps = {
7
+ barrageList: [],
8
+ frequency: 500,
9
+ loop: true,
10
+ speeds: 3000,
11
+ rows: 3,
12
+ top: 10,
13
+ };
14
+ const InternalBarrage = (props, ref) => {
15
+ const { className, frequency, loop, barrageList, speeds, rows, top, ...restProps } = {
16
+ ...defaultProps,
17
+ ...props,
18
+ };
19
+ const [styleList, setStyleList] = useState([]);
20
+ const [baItemList, setBaItemList] = useState(barrageList);
21
+ const barrageListSet = useRef(barrageList);
22
+ const barrageBody = useRef(null);
23
+ const barrageContainer = useRef(null);
24
+ const timeId = useRef(new Date().getTime());
25
+ const timer = useRef(0);
26
+ useRef(0);
27
+ const b = cn('barrage');
28
+ const classes = classNames(className, b(''), {
29
+ [`nut-barrage__body${timeId.current}`]: true,
30
+ });
31
+ useImperativeHandle(ref, () => ({
32
+ add: (word) => {
33
+ barrageListSet.current = [...barrageListSet.current, word];
34
+ run();
35
+ },
36
+ }));
37
+ useEffect(() => {
38
+ barrageListSet.current = [...barrageList];
39
+ run();
40
+ return () => {
41
+ clearInterval(timer.current);
42
+ };
43
+ }, [barrageList]);
44
+ const run = () => {
45
+ setBaItemList(barrageListSet.current);
46
+ barrageListSet.current.forEach((item, index) => {
47
+ getNode(index);
48
+ });
49
+ };
50
+ const getNode = (index) => {
51
+ const query = createSelectorQuery();
52
+ setTimeout(() => {
53
+ let width = 100;
54
+ query
55
+ .select('.nut-barrage__body' + timeId.current)
56
+ .boundingClientRect((rec) => {
57
+ width = rec.width || 300;
58
+ });
59
+ query
60
+ .select('.nut-barrage__item' + index)
61
+ .boundingClientRect((recs) => {
62
+ let height = recs.height;
63
+ let nodeTop = (index % rows) * (height + top) + 20 + 'px';
64
+ styleInfo(index, nodeTop, width);
65
+ })
66
+ .exec();
67
+ }, 500);
68
+ };
69
+ const styleInfo = (index, nodeTop, width) => {
70
+ let timeIndex = index - rows > 0 ? index - rows : 0;
71
+ let list = styleList;
72
+ let time = list[timeIndex] ? Number(list[timeIndex]['--time']) : 0;
73
+ // // distance.value = '-' + (speeds / 1000) * 200 + '%';
74
+ let obj = {
75
+ top: nodeTop,
76
+ '--time': `${frequency * index + time}`,
77
+ animationDuration: `${speeds}ms`,
78
+ animationIterationCount: `${loop ? 'infinite' : 1}`,
79
+ animationDelay: `${frequency * index + time}ms`,
80
+ '--move-distance': `-${width}px`,
81
+ };
82
+ list.push(obj);
83
+ setStyleList([...list]);
84
+ };
85
+ return (React__default.createElement("div", { className: classes, ref: barrageBody, ...restProps },
86
+ React__default.createElement("div", { ref: barrageContainer, className: "bContainer" }, baItemList.map((item, index) => {
87
+ return (React__default.createElement("div", { className: `barrage-item nut-barrage__item${index} move`, style: styleList[index] }, item.length > 8 ? item.substr(0, 8) + '...' : item));
88
+ }))));
89
+ };
90
+ const Barrage = React__default.forwardRef(InternalBarrage);
91
+ Barrage.defaultProps = defaultProps;
92
+ Barrage.displayName = 'NutBarrage';
93
+
94
+ export { Barrage as B };
@@ -0,0 +1,61 @@
1
+ import React__default, { useRef } from 'react';
2
+ import { P as Popup } from './popup.taro-4c18f46c.js';
3
+ import { U as Utils, C as CalendarItem } from './calendaritem.taro-86412398.js';
4
+ import { u as useConfig } from './configprovider.taro-26882dd2.js';
5
+
6
+ const defaultProps = {
7
+ type: 'one',
8
+ isAutoBackFill: false,
9
+ poppable: true,
10
+ visible: false,
11
+ title: '日历选择',
12
+ defaultValue: '',
13
+ startDate: Utils.getDay(0),
14
+ endDate: Utils.getDay(365),
15
+ showToday: true,
16
+ startText: '开始',
17
+ endText: '结束',
18
+ confirmText: '确认',
19
+ showTitle: true,
20
+ showSubTitle: true,
21
+ toDateAnimation: true,
22
+ onBtn: undefined,
23
+ onDay: undefined,
24
+ onTopInfo: undefined,
25
+ onBottomInfo: undefined,
26
+ onClose: () => { },
27
+ onChoose: (param) => { },
28
+ onSelected: (data) => { },
29
+ };
30
+ const Calendar = React__default.forwardRef((props, ref) => {
31
+ const { locale } = useConfig();
32
+ const { children, poppable, visible, type, isAutoBackFill, title, defaultValue, startDate, endDate, showToday, startText, endText, confirmText, showTitle, showSubTitle, toDateAnimation, onBtn, onDay, onTopInfo, onBottomInfo, onClose, onChoose, onSelected, } = { ...defaultProps, ...props };
33
+ const calendarRef = useRef(null);
34
+ const close = () => {
35
+ onClose && onClose();
36
+ };
37
+ const choose = (param) => {
38
+ close();
39
+ onChoose && onChoose(param);
40
+ };
41
+ const closePopup = () => {
42
+ close();
43
+ };
44
+ const select = (param) => {
45
+ onSelected && onSelected(param);
46
+ };
47
+ const scrollToDate = (date) => {
48
+ calendarRef.current?.scrollToDate(date);
49
+ };
50
+ React__default.useImperativeHandle(ref, () => ({
51
+ scrollToDate,
52
+ }));
53
+ const renderItem = () => {
54
+ return (React__default.createElement(CalendarItem, { ref: calendarRef, type: type, isAutoBackFill: isAutoBackFill, poppable: poppable, title: locale.calendaritem.title || title, defaultValue: defaultValue, startDate: startDate, endDate: endDate, showToday: showToday, startText: startText, endText: endText, confirmText: confirmText, showTitle: showTitle, showSubTitle: showSubTitle, toDateAnimation: toDateAnimation, onBtn: onBtn, onDay: onDay, onTopInfo: onTopInfo, onBottomInfo: onBottomInfo, onChoose: choose, onSelected: select }));
55
+ };
56
+ return (React__default.createElement(React__default.Fragment, null, poppable ? (React__default.createElement(Popup, { visible: visible, position: "bottom", round: true, duration: 0.5, closeable: true, destroyOnClose: true, onClickOverlay: closePopup, onClickCloseIcon: closePopup, style: { height: '85vh' } }, renderItem())) : (renderItem())));
57
+ });
58
+ Calendar.defaultProps = defaultProps;
59
+ Calendar.displayName = 'NutCalendar';
60
+
61
+ export { Calendar as C };