@nutui/nutui-react-taro 2.0.2 → 2.0.3

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 (43) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/esm/Avatar.js +3 -3
  3. package/dist/esm/Calendar.js +2 -2
  4. package/dist/esm/CalendarItem.js +1 -1
  5. package/dist/esm/Image.js +3 -2
  6. package/dist/esm/InputNumber/style/style.css +1 -1
  7. package/dist/esm/Menu/style/style.css +1 -1
  8. package/dist/esm/Menu.js +3 -3
  9. package/dist/esm/MenuItem/style/style.css +1 -1
  10. package/dist/esm/MenuItem.js +2 -2
  11. package/dist/esm/Skeleton.js +4 -4
  12. package/dist/esm/{avatar.taro-31362306.js → avatar.taro-a45e2e71.js} +2 -2
  13. package/dist/esm/{calendar.taro-1fbc673a.js → calendar.taro-ac2a1c47.js} +1 -1
  14. package/dist/esm/{calendaritem.taro-39463c08.js → calendaritem.taro-1af09287.js} +2 -2
  15. package/dist/esm/image.taro-c4be8323.js +81 -0
  16. package/dist/esm/{menu.taro-6450a3ae.js → menu.taro-f412b55d.js} +14 -3
  17. package/dist/esm/{menuitem.taro-11bd648e.js → menuitem.taro-f145c755.js} +41 -27
  18. package/dist/esm/nutui-react.es.js +8 -8
  19. package/dist/esm/{skeleton.taro-49046def.js → skeleton.taro-9ac4b4b8.js} +1 -1
  20. package/dist/esm/types/src/packages/configprovider/types.d.ts +1 -1
  21. package/dist/esm/types/src/packages/image/image.taro.d.ts +9 -21
  22. package/dist/esm/types/src/packages/menu/menu.d.ts +2 -0
  23. package/dist/esm/types/src/packages/menu/menu.taro.d.ts +2 -0
  24. package/dist/locales/base.js +1 -1
  25. package/dist/locales/en-US.js +1 -1
  26. package/dist/locales/id-ID.js +1 -1
  27. package/dist/locales/tr-TR.js +1 -1
  28. package/dist/locales/zh-CN.js +1 -1
  29. package/dist/locales/zh-TW.js +1 -1
  30. package/dist/locales/zh-UG.js +1 -1
  31. package/dist/nutui.react.es.js +162 -156
  32. package/dist/nutui.react.umd.js +161 -155
  33. package/dist/packages/menuitem/menuitem.scss +2 -2
  34. package/dist/style.css +1 -1
  35. package/dist/style.mjs +1 -1
  36. package/dist/styles/variables-jmapp.scss +1 -0
  37. package/dist/styles/variables.scss +2 -1
  38. package/dist/types/index.d.ts +92 -0
  39. package/dist/types/packages/configprovider/types.d.ts +1 -1
  40. package/dist/types/packages/image/image.taro.d.ts +30 -22
  41. package/dist/types/packages/menu/menu.taro.d.ts +2 -0
  42. package/package.json +1 -1
  43. package/dist/esm/image.taro-567edf0f.js +0 -65
package/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ # v2.0.3
2
+ `2023-07-12`
3
+
4
+ * :sparkles: feat: image 支持 taro (#1190) @oasis-cloud
5
+ * :sparkles: feat: menu 增加打开和关闭的回调方法 (#1206) @oasis-cloud
6
+ * :sparkles: feat: 类型文件中导出组件的 props, 简化组件 props 引入方式 (#1205) @oasis-cloud
7
+ * :bug: fix: infiniteloading taro doc (#1207) @junjun666
8
+ * :bug: fix: 组件2.0走查问题修复 (#1172) @junjun666
9
+ * 🔨 chore: pnpm workspace (#1199) @junjun666
10
+ * 🔨 chore: 兼容ssr之修复引入组件库启动报错 (#1212) @junjun666
11
+ * 📖 docs(form): nativeType 改为 formType (#1209) @oasis-cloud
12
+
13
+
1
14
  # v2.0.2
2
15
  `2023-07-07`
3
16
 
@@ -1,9 +1,9 @@
1
- import { A as Avatar } from "./avatar.taro-31362306.js";
1
+ import { A as Avatar } from "./avatar.taro-a45e2e71.js";
2
2
  import "react";
3
3
  import "classnames";
4
4
  import "@nutui/icons-react-taro";
5
- import "./image.taro-567edf0f.js";
6
- import "./configprovider.taro-a7f3bcfd.js";
5
+ import "./image.taro-c4be8323.js";
6
+ import "@tarojs/components";
7
7
  import "./avatargroup.taro-0672aa1e.js";
8
8
  import "./typings-11d83a22.js";
9
9
  export {
@@ -1,4 +1,4 @@
1
- import { C as Calendar } from "./calendar.taro-1fbc673a.js";
1
+ import { C as Calendar } from "./calendar.taro-ac2a1c47.js";
2
2
  import "react";
3
3
  import "./popup.taro-938ee260.js";
4
4
  import "react-dom";
@@ -8,7 +8,7 @@ import "@nutui/icons-react-taro";
8
8
  import "@tarojs/components";
9
9
  import "./overlay.taro-08f8efbc.js";
10
10
  import "./typings-11d83a22.js";
11
- import "./calendaritem.taro-39463c08.js";
11
+ import "./calendaritem.taro-1af09287.js";
12
12
  import "@tarojs/taro";
13
13
  import "./configprovider.taro-a7f3bcfd.js";
14
14
  import "./use-props-value-1f54346f.js";
@@ -1,4 +1,4 @@
1
- import { C as CalendarItem } from "./calendaritem.taro-39463c08.js";
1
+ import { C as CalendarItem } from "./calendaritem.taro-1af09287.js";
2
2
  import "react";
3
3
  import "classnames";
4
4
  import "@tarojs/components";
package/dist/esm/Image.js CHANGED
@@ -1,7 +1,8 @@
1
- import { I as Image } from "./image.taro-567edf0f.js";
1
+ import { I as Image } from "./image.taro-c4be8323.js";
2
2
  import "react";
3
+ import "@tarojs/components";
3
4
  import "@nutui/icons-react-taro";
4
- import "./configprovider.taro-a7f3bcfd.js";
5
+ import "classnames";
5
6
  export {
6
7
  Image as default
7
8
  };
@@ -1 +1 @@
1
- .nut-inputnumber{display:var(--nutui-inputnumber-display, flex);align-items:center}.nut-inputnumber .nut-input-minus,.nut-inputnumber .nut-input-add{display:flex;justify-content:center;align-items:center;width:var(--nutui-inputnumber-button-width, 20px);height:var(--nutui-inputnumber-button-height, 20px);background-color:var(--nutui-inputnumber-button-background-color, var(--nutui-gray-6, #ffffff));border-radius:var(--nutui-inputnumber-button-border-radius, 30px)}.nut-inputnumber--disabled input{color:var(--nutui-inputnumber-icon-void-color, var(--nutui-gray-3, #bfbfbf))!important}.nut-inputnumber__icon{color:var(--nutui-inputnumber-icon-color, var(--nutui-gray-1, #1a1a1a));font-size:var(--nutui-inputnumber-icon-size, 20px);cursor:pointer}.nut-inputnumber__icon--disabled{color:var(--nutui-inputnumber-icon-disabled-color, #cccccc);cursor:not-allowed}.nut-inputnumber input,.nut-inputnumber .nut-number-input,.nut-inputnumber__text--readonly{width:var(--nutui-inputnumber-input-width, 40px);height:var(--nutui-inputnumber-input-height, 24px);text-align:center;outline:none;border:var(--nutui-inputnumber-input-border, 0);margin:var(--nutui-inputnumber-input-margin, 0 6px);color:var(--nutui-inputnumber-input-font-color, var(--nutui-gray-1, #1a1a1a));background-color:var(--nutui-inputnumber-input-background-color, var(--nutui-gray-4, #f4f4f4));border-radius:var(--nutui-inputnumber-input-border-radius, 4px)}.nut-inputnumber input::-webkit-outer-spin-button,.nut-inputnumber input::-webkit-inner-spin-button,.nut-inputnumber .nut-number-input::-webkit-outer-spin-button,.nut-inputnumber .nut-number-input::-webkit-inner-spin-button{appearance:none}.nut-icon-Minus,.nut-icon-minus,.nut-icon-Plus,.nut-icon-plus{--nut-icon-width: 20px;--nut-icon-height: 20px}
1
+ .nut-inputnumber{display:var(--nutui-inputnumber-display, flex);align-items:center}.nut-inputnumber .nut-input-minus,.nut-inputnumber .nut-input-add{display:flex;justify-content:center;align-items:center;width:var(--nutui-inputnumber-button-width, 20px);height:var(--nutui-inputnumber-button-height, 20px);background-color:var(--nutui-inputnumber-button-background-color, var(--nutui-gray-6, #ffffff));border-radius:var(--nutui-inputnumber-button-border-radius, 30px)}.nut-inputnumber--disabled input{color:var(--nutui-inputnumber-icon-void-color, var(--nutui-gray-3, #bfbfbf))!important}.nut-inputnumber__icon{color:var(--nutui-inputnumber-icon-color, var(--nutui-gray-1, #1a1a1a));font-size:var(--nutui-inputnumber-icon-size, 20px);cursor:pointer}.nut-inputnumber__icon--disabled{color:var(--nutui-inputnumber-icon-disabled-color, var(--nutui-gray-3, #cccccc));cursor:not-allowed}.nut-inputnumber input,.nut-inputnumber .nut-number-input,.nut-inputnumber__text--readonly{width:var(--nutui-inputnumber-input-width, 40px);height:var(--nutui-inputnumber-input-height, 24px);text-align:center;outline:none;border:var(--nutui-inputnumber-input-border, 0);margin:var(--nutui-inputnumber-input-margin, 0 6px);color:var(--nutui-inputnumber-input-font-color, var(--nutui-gray-1, #1a1a1a));background-color:var(--nutui-inputnumber-input-background-color, var(--nutui-gray-4, #f4f4f4));border-radius:var(--nutui-inputnumber-input-border-radius, 4px)}.nut-inputnumber input::-webkit-outer-spin-button,.nut-inputnumber input::-webkit-inner-spin-button,.nut-inputnumber .nut-number-input::-webkit-outer-spin-button,.nut-inputnumber .nut-number-input::-webkit-inner-spin-button{appearance:none}.nut-icon-Minus,.nut-icon-minus,.nut-icon-Plus,.nut-icon-plus{--nut-icon-width: 20px;--nut-icon-height: 20px}
@@ -1 +1 @@
1
- .nut-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--nutui-overlay-bg-color, var(--nutui-gray-7, rgba(0, 0, 0, .7)))}.nut-overlay .wrapper .content{background-color:var(--nutui-overlay-content-bg-color, var(--nutui-gray-6, #ffffff));color:var(--nutui-overlay-content-color, var(--nutui-gray-1, #1a1a1a))}.nut-overflow-hidden{overflow:hidden!important}@keyframes nut-fade-in{0%{opacity:0}1%{opacity:0}to{opacity:1}}@keyframes nut-fade-out{0%{opacity:1}1%{opacity:1}to{opacity:0}}.nut-overlay-slide-enter-active,.nut-overlay-slide-appear-active{animation-fill-mode:both;animation-name:nut-fade-in;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-overlay-slide-exit-active{animation-fill-mode:both;animation-name:nut-fade-out;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-menu-item__content{padding:var(--nutui-menu-item-content-padding, 12px 24px);max-height:var(--nutui-menu-item-content-max-height, 214px);overflow-y:auto;display:flex;flex-wrap:wrap;background:var(--nutui-menu-item-content-bg-color, var(--nutui-gray-6, #ffffff))}.nut-menu-item__content_fixed{width:100%;opacity:0;position:fixed}.nut-menu-item__option{color:var(--nutui-gray-1, #1a1a1a);font-size:var(--nutui-font-size-2, 14px);padding-top:var(--nutui-menu-item-option-padding-top, 12px);padding-bottom:var(--nutui-menu-item-option-padding-bottom, 12px);display:flex;align-items:center}.nut-menu-item__option.active{font-weight:500;color:var(--nutui-menu-item-active-text-color, var(--nutui-brand-color, #fa2c19))}.nut-menu-item__option i{margin-right:var(--nutui-menu-item-option-i-margin-right, 6px);display:inline-flex;align-items:center}.nut-menu-item__wrap,.nut-menu-item__wrap-up{position:absolute;width:100%;z-index:2052;overflow:hidden}.nut-menu-item__wrap-up{bottom:var(--nutui-menu-bar-line-height, 48px)}.overlay-fade-enter-active.nut-menu__overlay{top:auto;z-index:2052}.nut-menu__pop.nut-popup{transition:all 0s ease 0s;transform:none}.placeholder-element{position:absolute;top:-var(--nutui-menu-bar-line-height,48px);left:0;right:0;z-index:var(--nutui-menu-bar-opened-z-index, 2001);background-color:transparent}.placeholder-element.up{bottom:-var(--nutui-menu-bar-line-height,48px)}.menu-item-enter{opacity:0;transform:translateY(-30px)}.menu-item-enter-done{opacity:1;transform:translate(0);transition:all .1s}.menu-item-exit{opacity:1;transition:all .1s}.menu-item-exit-done{opacity:0;transition:all .1s}.menu-item-up-enter{opacity:0;transform:translateY(30px)}.menu-item-up-enter-done{opacity:1;transform:translate(0);transition:all .1s}.menu-item-up-exit{opacity:1;transition:all .1s}.menu-item-up-exit-done{opacity:0;transition:all .1s}.nut-menu.scroll-fixed{position:fixed;top:var(--nutui-menu-scroll-fixed-top, 0);z-index:var(--nutui-menu-scroll-fixed-z-index, 1000);width:100%}.nut-menu-relative{position:relative}.nut-menu__bar{position:relative;display:flex;line-height:var(--nutui-menu-bar-line-height, 48px);background-color:var(--nutui-gray-6, #ffffff);box-shadow:var(--nutui-menu-bar-box-shadow, 0 2px 12px rgba(89, 89, 89, .12))}.nut-menu__bar.opened{z-index:var(--nutui-menu-bar-opened-z-index, 2001)}.nut-menu__item{flex:1;text-align:center;font-size:var(--nutui-menu-item-font-size, var(--nutui-font-size-2, 14px));color:var(--nutui-menu-item-text-color, var(--nutui-gray-1, #1a1a1a));min-width:0}.nut-menu__item.active{color:var(--nutui-menu-item-active-text-color, var(--nutui-brand-color, #fa2c19))}.nut-menu__item.disabled{color:var(--nutui-menu-item-disabled-color, #969799)}.nut-menu__title-icon{transition:all .2s linear}.nut-menu__title{display:flex;align-items:center;justify-content:center;max-width:100%}.nut-menu__title.active .nut-menu__title-icon{transform:rotate(180deg)}.nut-menu__title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-left:var(--nutui-menu-title-text-padding-left, 8px);padding-right:var(--nutui-menu-title-text-padding-right, 8px)}
1
+ .nut-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--nutui-overlay-bg-color, var(--nutui-gray-7, rgba(0, 0, 0, .7)))}.nut-overlay .wrapper .content{background-color:var(--nutui-overlay-content-bg-color, var(--nutui-gray-6, #ffffff));color:var(--nutui-overlay-content-color, var(--nutui-gray-1, #1a1a1a))}.nut-overflow-hidden{overflow:hidden!important}@keyframes nut-fade-in{0%{opacity:0}1%{opacity:0}to{opacity:1}}@keyframes nut-fade-out{0%{opacity:1}1%{opacity:1}to{opacity:0}}.nut-overlay-slide-enter-active,.nut-overlay-slide-appear-active{animation-fill-mode:both;animation-name:nut-fade-in;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-overlay-slide-exit-active{animation-fill-mode:both;animation-name:nut-fade-out;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-menu-item__content{padding:var(--nutui-menu-item-content-padding, 12px 24px);max-height:var(--nutui-menu-item-content-max-height, 214px);overflow-y:auto;display:flex;flex-wrap:wrap;background:var(--nutui-menu-item-content-bg-color, var(--nutui-gray-6, #ffffff))}.nut-menu-item__content_fixed{width:100%;opacity:0;position:fixed}.nut-menu-item__option{color:var(--nutui-gray-1, #1a1a1a);font-size:var(--nutui-font-size-2, 14px);padding-top:var(--nutui-menu-item-option-padding-top, 12px);padding-bottom:var(--nutui-menu-item-option-padding-bottom, 12px);display:flex;align-items:center}.nut-menu-item__option.active{font-weight:500;color:var(--nutui-menu-item-active-text-color, var(--nutui-brand-color, #fa2c19))}.nut-menu-item__option i{margin-right:var(--nutui-menu-item-option-i-margin-right, 6px);display:inline-flex;align-items:center}.nut-menu-item__wrap,.nut-menu-item__wrap-up{position:absolute;width:100%;z-index:2052;overflow:hidden}.nut-menu-item__wrap-up{bottom:var(--nutui-menu-bar-line-height, 48px)}.overlay-fade-enter-active.nut-menu__overlay{top:auto;z-index:2052}.nut-menu__pop.nut-popup{transition:all 0s ease 0s;transform:none}.placeholder-element{position:fixed;top:var(--nutui-menu-placeholder-top, -48px);left:0;right:0;z-index:var(--nutui-menu-bar-opened-z-index, 2001);background-color:transparent}.placeholder-element.up{bottom:-var(--nutui-menu-bar-line-height,48px)}.menu-item-enter{opacity:0;transform:translateY(-30px)}.menu-item-enter-done{opacity:1;transform:translate(0);transition:all .1s}.menu-item-exit{opacity:1;transition:all .1s}.menu-item-exit-done{opacity:0;transition:all .1s}.menu-item-up-enter{opacity:0;transform:translateY(30px)}.menu-item-up-enter-done{opacity:1;transform:translate(0);transition:all .1s}.menu-item-up-exit{opacity:1;transition:all .1s}.menu-item-up-exit-done{opacity:0;transition:all .1s}.nut-menu.scroll-fixed{position:fixed;top:var(--nutui-menu-scroll-fixed-top, 0);z-index:var(--nutui-menu-scroll-fixed-z-index, 1000);width:100%}.nut-menu-relative{position:relative}.nut-menu__bar{position:relative;display:flex;line-height:var(--nutui-menu-bar-line-height, 48px);background-color:var(--nutui-gray-6, #ffffff);box-shadow:var(--nutui-menu-bar-box-shadow, 0 2px 12px rgba(89, 89, 89, .12))}.nut-menu__bar.opened{z-index:var(--nutui-menu-bar-opened-z-index, 2001)}.nut-menu__item{flex:1;text-align:center;font-size:var(--nutui-menu-item-font-size, var(--nutui-font-size-2, 14px));color:var(--nutui-menu-item-text-color, var(--nutui-gray-1, #1a1a1a));min-width:0}.nut-menu__item.active{color:var(--nutui-menu-item-active-text-color, var(--nutui-brand-color, #fa2c19))}.nut-menu__item.disabled{color:var(--nutui-menu-item-disabled-color, #969799)}.nut-menu__title-icon{transition:all .2s linear}.nut-menu__title{display:flex;align-items:center;justify-content:center;max-width:100%}.nut-menu__title.active .nut-menu__title-icon{transform:rotate(180deg)}.nut-menu__title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;padding-left:var(--nutui-menu-title-text-padding-left, 8px);padding-right:var(--nutui-menu-title-text-padding-right, 8px)}
package/dist/esm/Menu.js CHANGED
@@ -1,12 +1,12 @@
1
- import { M as Menu } from "./menu.taro-6450a3ae.js";
1
+ import { M as Menu } from "./menu.taro-f412b55d.js";
2
2
  import "react";
3
3
  import "classnames";
4
4
  import "@nutui/icons-react-taro";
5
- import "./menuitem.taro-11bd648e.js";
5
+ import "./menuitem.taro-f145c755.js";
6
6
  import "@tarojs/taro";
7
+ import "@tarojs/components";
7
8
  import "react-transition-group";
8
9
  import "./overlay.taro-08f8efbc.js";
9
- import "@tarojs/components";
10
10
  import "./typings-11d83a22.js";
11
11
  import "./use-client-rect-2bb6c562.js";
12
12
  export {
@@ -1 +1 @@
1
- .nut-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--nutui-overlay-bg-color, var(--nutui-gray-7, rgba(0, 0, 0, .7)))}.nut-overlay .wrapper .content{background-color:var(--nutui-overlay-content-bg-color, var(--nutui-gray-6, #ffffff));color:var(--nutui-overlay-content-color, var(--nutui-gray-1, #1a1a1a))}.nut-overflow-hidden{overflow:hidden!important}@keyframes nut-fade-in{0%{opacity:0}1%{opacity:0}to{opacity:1}}@keyframes nut-fade-out{0%{opacity:1}1%{opacity:1}to{opacity:0}}.nut-overlay-slide-enter-active,.nut-overlay-slide-appear-active{animation-fill-mode:both;animation-name:nut-fade-in;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-overlay-slide-exit-active{animation-fill-mode:both;animation-name:nut-fade-out;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-menu-item__content{padding:var(--nutui-menu-item-content-padding, 12px 24px);max-height:var(--nutui-menu-item-content-max-height, 214px);overflow-y:auto;display:flex;flex-wrap:wrap;background:var(--nutui-menu-item-content-bg-color, var(--nutui-gray-6, #ffffff))}.nut-menu-item__content_fixed{width:100%;opacity:0;position:fixed}.nut-menu-item__option{color:var(--nutui-gray-1, #1a1a1a);font-size:var(--nutui-font-size-2, 14px);padding-top:var(--nutui-menu-item-option-padding-top, 12px);padding-bottom:var(--nutui-menu-item-option-padding-bottom, 12px);display:flex;align-items:center}.nut-menu-item__option.active{font-weight:500;color:var(--nutui-menu-item-active-text-color, var(--nutui-brand-color, #fa2c19))}.nut-menu-item__option i{margin-right:var(--nutui-menu-item-option-i-margin-right, 6px);display:inline-flex;align-items:center}.nut-menu-item__wrap,.nut-menu-item__wrap-up{position:absolute;width:100%;z-index:2052;overflow:hidden}.nut-menu-item__wrap-up{bottom:var(--nutui-menu-bar-line-height, 48px)}.overlay-fade-enter-active.nut-menu__overlay{top:auto;z-index:2052}.nut-menu__pop.nut-popup{transition:all 0s ease 0s;transform:none}.placeholder-element{position:absolute;top:-var(--nutui-menu-bar-line-height,48px);left:0;right:0;z-index:var(--nutui-menu-bar-opened-z-index, 2001);background-color:transparent}.placeholder-element.up{bottom:-var(--nutui-menu-bar-line-height,48px)}.menu-item-enter{opacity:0;transform:translateY(-30px)}.menu-item-enter-done{opacity:1;transform:translate(0);transition:all .1s}.menu-item-exit{opacity:1;transition:all .1s}.menu-item-exit-done{opacity:0;transition:all .1s}.menu-item-up-enter{opacity:0;transform:translateY(30px)}.menu-item-up-enter-done{opacity:1;transform:translate(0);transition:all .1s}.menu-item-up-exit{opacity:1;transition:all .1s}.menu-item-up-exit-done{opacity:0;transition:all .1s}
1
+ .nut-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--nutui-overlay-bg-color, var(--nutui-gray-7, rgba(0, 0, 0, .7)))}.nut-overlay .wrapper .content{background-color:var(--nutui-overlay-content-bg-color, var(--nutui-gray-6, #ffffff));color:var(--nutui-overlay-content-color, var(--nutui-gray-1, #1a1a1a))}.nut-overflow-hidden{overflow:hidden!important}@keyframes nut-fade-in{0%{opacity:0}1%{opacity:0}to{opacity:1}}@keyframes nut-fade-out{0%{opacity:1}1%{opacity:1}to{opacity:0}}.nut-overlay-slide-enter-active,.nut-overlay-slide-appear-active{animation-fill-mode:both;animation-name:nut-fade-in;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-overlay-slide-exit-active{animation-fill-mode:both;animation-name:nut-fade-out;animation-duration:var(--nutui-overlay-animation-duration, .3s)}.nut-menu-item__content{padding:var(--nutui-menu-item-content-padding, 12px 24px);max-height:var(--nutui-menu-item-content-max-height, 214px);overflow-y:auto;display:flex;flex-wrap:wrap;background:var(--nutui-menu-item-content-bg-color, var(--nutui-gray-6, #ffffff))}.nut-menu-item__content_fixed{width:100%;opacity:0;position:fixed}.nut-menu-item__option{color:var(--nutui-gray-1, #1a1a1a);font-size:var(--nutui-font-size-2, 14px);padding-top:var(--nutui-menu-item-option-padding-top, 12px);padding-bottom:var(--nutui-menu-item-option-padding-bottom, 12px);display:flex;align-items:center}.nut-menu-item__option.active{font-weight:500;color:var(--nutui-menu-item-active-text-color, var(--nutui-brand-color, #fa2c19))}.nut-menu-item__option i{margin-right:var(--nutui-menu-item-option-i-margin-right, 6px);display:inline-flex;align-items:center}.nut-menu-item__wrap,.nut-menu-item__wrap-up{position:absolute;width:100%;z-index:2052;overflow:hidden}.nut-menu-item__wrap-up{bottom:var(--nutui-menu-bar-line-height, 48px)}.overlay-fade-enter-active.nut-menu__overlay{top:auto;z-index:2052}.nut-menu__pop.nut-popup{transition:all 0s ease 0s;transform:none}.placeholder-element{position:fixed;top:var(--nutui-menu-placeholder-top, -48px);left:0;right:0;z-index:var(--nutui-menu-bar-opened-z-index, 2001);background-color:transparent}.placeholder-element.up{bottom:-var(--nutui-menu-bar-line-height,48px)}.menu-item-enter{opacity:0;transform:translateY(-30px)}.menu-item-enter-done{opacity:1;transform:translate(0);transition:all .1s}.menu-item-exit{opacity:1;transition:all .1s}.menu-item-exit-done{opacity:0;transition:all .1s}.menu-item-up-enter{opacity:0;transform:translateY(30px)}.menu-item-up-enter-done{opacity:1;transform:translate(0);transition:all .1s}.menu-item-up-exit{opacity:1;transition:all .1s}.menu-item-up-exit-done{opacity:0;transition:all .1s}
@@ -1,11 +1,11 @@
1
- import { M as MenuItem } from "./menuitem.taro-11bd648e.js";
1
+ import { M as MenuItem } from "./menuitem.taro-f145c755.js";
2
2
  import "react";
3
3
  import "classnames";
4
4
  import "@tarojs/taro";
5
+ import "@tarojs/components";
5
6
  import "react-transition-group";
6
7
  import "@nutui/icons-react-taro";
7
8
  import "./overlay.taro-08f8efbc.js";
8
- import "@tarojs/components";
9
9
  import "./typings-11d83a22.js";
10
10
  import "./use-client-rect-2bb6c562.js";
11
11
  export {
@@ -1,10 +1,10 @@
1
- import { S as Skeleton } from "./skeleton.taro-49046def.js";
1
+ import { S as Skeleton } from "./skeleton.taro-9ac4b4b8.js";
2
2
  import "react";
3
3
  import "classnames";
4
- import "./avatar.taro-31362306.js";
4
+ import "./avatar.taro-a45e2e71.js";
5
5
  import "@nutui/icons-react-taro";
6
- import "./image.taro-567edf0f.js";
7
- import "./configprovider.taro-a7f3bcfd.js";
6
+ import "./image.taro-c4be8323.js";
7
+ import "@tarojs/components";
8
8
  import "./avatargroup.taro-0672aa1e.js";
9
9
  import "./typings-11d83a22.js";
10
10
  export {
@@ -1,7 +1,7 @@
1
1
  import React, { useState, useRef, useContext, useEffect } from "react";
2
2
  import classNames from "classnames";
3
3
  import { My } from "@nutui/icons-react-taro";
4
- import { I as Image } from "./image.taro-567edf0f.js";
4
+ import { I as Image } from "./image.taro-c4be8323.js";
5
5
  import { a as AvatarContext, A as AvatarGroup } from "./avatargroup.taro-0672aa1e.js";
6
6
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
7
7
  const defaultProps = {
@@ -82,7 +82,7 @@ const Avatar = (props) => {
82
82
  (!((_j = parent == null ? void 0 : parent.propAvatarGroup) == null ? void 0 : _j.max) || avatarIndex <= ((_k = parent == null ? void 0 : parent.propAvatarGroup) == null ? void 0 : _k.max)) && React.createElement(
83
83
  React.Fragment,
84
84
  null,
85
- src && React.createElement(Image, { className: "avatar-img", src, style: { objectFit: fit }, alt, onError: errorEvent }),
85
+ src && React.createElement(Image, { className: "avatar-img", src, style: { objectFit: fit }, onError: errorEvent }),
86
86
  React.isValidElement(icon) ? React.cloneElement(icon, {
87
87
  ...icon.props,
88
88
  className: `${icon.props.className || ""} icon`
@@ -1,6 +1,6 @@
1
1
  import React, { useRef } from "react";
2
2
  import { P as Popup } from "./popup.taro-938ee260.js";
3
- import { U as Utils, C as CalendarItem } from "./calendaritem.taro-39463c08.js";
3
+ import { U as Utils, C as CalendarItem } from "./calendaritem.taro-1af09287.js";
4
4
  import { u as useConfig } from "./configprovider.taro-a7f3bcfd.js";
5
5
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
6
6
  const defaultProps = {
@@ -221,9 +221,9 @@ const getPreMonthDates = (type, year, month, firstDayOfWeek) => {
221
221
  });
222
222
  return months.slice(preDates - days);
223
223
  };
224
- const _window = window;
225
224
  function requestAniFrame() {
226
- if (typeof _window !== "undefined") {
225
+ if (typeof window !== "undefined") {
226
+ const _window = window;
227
227
  return _window.requestAnimationFrame || _window.webkitRequestAnimationFrame || function(callback) {
228
228
  _window.setTimeout(callback, 1e3 / 60);
229
229
  };
@@ -0,0 +1,81 @@
1
+ import React, { useState, useCallback } from "react";
2
+ import { Image as Image$2 } from "@tarojs/components";
3
+ import { ImageError, Image as Image$1 } from "@nutui/icons-react-taro";
4
+ import classNames from "classnames";
5
+ const defaultProps = {
6
+ src: "",
7
+ error: true,
8
+ loading: true
9
+ };
10
+ const Image = (props) => {
11
+ const classPrefix = "nut-image";
12
+ const { className, style, src, width, height, radius, error, loading, onLoad, onError, ...rest } = { ...defaultProps, ...props };
13
+ const [innerLoading, setInnerLoading] = useState(true);
14
+ const [isError, setIsError] = useState(false);
15
+ const handleLoad = (e) => {
16
+ setIsError(false);
17
+ setInnerLoading(false);
18
+ onLoad && onLoad(e);
19
+ };
20
+ const handleError = (e) => {
21
+ if (src) {
22
+ setIsError(true);
23
+ setInnerLoading(false);
24
+ onError && onError(e);
25
+ }
26
+ };
27
+ const pxCheck = (value) => {
28
+ return Number.isNaN(Number(value)) ? String(value) : `${value}px`;
29
+ };
30
+ const containerStyle = {
31
+ height: height ? pxCheck(height) : "",
32
+ width: width ? pxCheck(width) : "",
33
+ overflow: radius !== void 0 && radius !== null ? "hidden" : "",
34
+ borderRadius: radius !== void 0 && radius !== null ? pxCheck(radius) : ""
35
+ };
36
+ const imgStyle = {
37
+ ...style
38
+ };
39
+ const renderErrorImg = useCallback(() => {
40
+ if (!isError)
41
+ return null;
42
+ if (typeof error === "boolean" && error === true && !innerLoading) {
43
+ return React.createElement(
44
+ "div",
45
+ { className: "nut-img-error" },
46
+ React.createElement(ImageError, null)
47
+ );
48
+ }
49
+ if (React.isValidElement(error) && !innerLoading) {
50
+ return React.createElement("div", { className: "nut-img-error" }, error);
51
+ }
52
+ return null;
53
+ }, [error, isError]);
54
+ const renderLoading = useCallback(() => {
55
+ if (!loading)
56
+ return null;
57
+ if (typeof loading === "boolean" && loading === true && innerLoading) {
58
+ return React.createElement(
59
+ "div",
60
+ { className: "nut-img-loading" },
61
+ React.createElement(Image$1, null)
62
+ );
63
+ }
64
+ if (React.isValidElement(loading) && innerLoading) {
65
+ return React.createElement("div", { className: "nut-img-loading" }, loading);
66
+ }
67
+ return null;
68
+ }, [loading, innerLoading]);
69
+ return React.createElement(
70
+ "div",
71
+ { className: classNames(classPrefix, className), style: containerStyle },
72
+ React.createElement(Image$2, { ...rest, className: "nut-img", style: imgStyle, src, onLoad: (e) => handleLoad(e), onError: (e) => handleError(e) }),
73
+ renderLoading(),
74
+ renderErrorImg()
75
+ );
76
+ };
77
+ Image.defaultProps = defaultProps;
78
+ Image.displayName = "NutImage";
79
+ export {
80
+ Image as I
81
+ };
@@ -1,7 +1,7 @@
1
1
  import React, { useRef, useState, useEffect } from "react";
2
2
  import classNames from "classnames";
3
3
  import { ArrowUp2, ArrowDown2 } from "@nutui/icons-react-taro";
4
- import { M as MenuItem } from "./menuitem.taro-11bd648e.js";
4
+ import { M as MenuItem } from "./menuitem.taro-f145c755.js";
5
5
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
6
6
  const defaultProps = {
7
7
  ...ComponentDefaults,
@@ -9,10 +9,14 @@ const defaultProps = {
9
9
  closeOnOverlayClick: true,
10
10
  scrollFixed: false,
11
11
  lockScroll: true,
12
- icon: null
12
+ icon: null,
13
+ onOpen: () => {
14
+ },
15
+ onClose: () => {
16
+ }
13
17
  };
14
18
  const Menu = (props) => {
15
- const { className, icon, scrollFixed, lockScroll, closeOnOverlayClick, children, activeColor, ...rest } = {
19
+ const { className, icon, scrollFixed, lockScroll, closeOnOverlayClick, children, activeColor, onClose, onOpen, ...rest } = {
16
20
  ...defaultProps,
17
21
  ...props
18
22
  };
@@ -37,12 +41,18 @@ const Menu = (props) => {
37
41
  const [menuItemTitle, setMenuItemTitle] = useState([]);
38
42
  const toggleMenuItem = (index) => {
39
43
  showMenuItem[index] = !showMenuItem[index];
44
+ if (showMenuItem[index]) {
45
+ onOpen && onOpen();
46
+ } else {
47
+ onClose && onClose();
48
+ }
40
49
  const temp = showMenuItem.map((i, idx) => idx === index ? i : false);
41
50
  setShowMenuItem([...temp]);
42
51
  };
43
52
  const hideMenuItem = (index) => {
44
53
  showMenuItem[index] = false;
45
54
  setShowMenuItem([...showMenuItem]);
55
+ onClose && onClose();
46
56
  };
47
57
  const updateTitle = (text, index) => {
48
58
  menuItemTitle[index] = text;
@@ -51,6 +61,7 @@ const Menu = (props) => {
51
61
  const cloneChildren = () => {
52
62
  return React.Children.map(children, (child, index) => {
53
63
  return React.cloneElement(child, {
64
+ ...child.props,
54
65
  show: showMenuItem[index],
55
66
  index,
56
67
  activeColor,
@@ -1,6 +1,7 @@
1
- import React, { forwardRef, useState, useEffect, useImperativeHandle } from "react";
1
+ import React, { forwardRef, useState, useEffect, useMemo, useCallback, useImperativeHandle } from "react";
2
2
  import classNames from "classnames";
3
- import { getSystemInfoSync } from "@tarojs/taro";
3
+ import { getSystemInfoSync, usePageScroll } from "@tarojs/taro";
4
+ import { View } from "@tarojs/components";
4
5
  import { CSSTransition } from "react-transition-group";
5
6
  import { Check } from "@nutui/icons-react-taro";
6
7
  import { O as Overlay } from "./overlay.taro-08f8efbc.js";
@@ -21,14 +22,27 @@ const MenuItem = forwardRef((props, ref) => {
21
22
  ...defaultProps,
22
23
  ...props
23
24
  };
24
- const [_showPopup, setShowPopup] = useState(show);
25
- const [_value, setValue] = useState(value);
25
+ const [showPopup, setShowPopup] = useState(show);
26
+ const [innerValue, setValue] = useState(value);
26
27
  useEffect(() => {
27
28
  setShowPopup(show);
28
29
  }, [show]);
29
30
  useEffect(() => {
30
31
  getParentOffset();
31
- }, [_showPopup]);
32
+ }, [showPopup]);
33
+ const windowHeight = useMemo(() => getSystemInfoSync().windowHeight, []);
34
+ const updateItemOffset = useCallback(() => {
35
+ const p = parent.menuRef.current;
36
+ p.getBoundingClientRect().then((rect) => {
37
+ if (rect) {
38
+ setPosition({
39
+ height: rect.height,
40
+ top: rect.top
41
+ });
42
+ }
43
+ });
44
+ }, [direction, windowHeight]);
45
+ usePageScroll(updateItemOffset);
32
46
  useImperativeHandle(ref, () => ({
33
47
  toggle: parent.toggleMenuItem
34
48
  }));
@@ -64,45 +78,45 @@ const MenuItem = forwardRef((props, ref) => {
64
78
  }, 100);
65
79
  };
66
80
  const isShow = () => {
67
- if (_showPopup)
81
+ if (showPopup)
68
82
  return {};
69
83
  return { display: "none" };
70
84
  };
71
85
  const getPosition = () => {
72
- return direction === "down" ? { position: "absolute", height: `${window.innerHeight}px` } : {
73
- position: "absolute",
74
- bottom: "100%",
75
- top: "auto",
76
- height: `${window.innerHeight}px`
86
+ return direction === "down" ? {
87
+ top: `${position.top + position.height}px`,
88
+ bottom: "0",
89
+ height: "initial"
90
+ } : {
91
+ bottom: `${getSystemInfoSync().windowHeight - position.top}px`,
92
+ top: "0",
93
+ height: "initial"
77
94
  };
78
95
  };
79
96
  const placeholderStyle = () => {
80
97
  if (direction === "down") {
81
98
  return {
82
99
  height: `${position.top + position.height}px`,
83
- top: "auto",
84
- bottom: "-100%",
85
100
  ...isShow()
86
101
  };
87
102
  }
88
103
  return {
89
104
  height: `${getSystemInfoSync().windowHeight - position.top}px`,
90
- bottom: `auto`,
91
- top: "0",
105
+ top: "auto",
92
106
  ...isShow()
93
107
  };
94
108
  };
95
109
  return React.createElement(
96
- "div",
97
- { className: "nut-menu-item-container", style: { position: "absolute", left: 0, right: 0 } },
98
- closeOnClickAway ? React.createElement("div", { className: `placeholder-element ${classNames({
110
+ View,
111
+ { className: "nut-menu-item-container" },
112
+ closeOnClickAway ? React.createElement(View, { className: `placeholder-element ${classNames({
99
113
  up: direction === "up"
100
114
  })}`, style: placeholderStyle(), onClick: () => parent.toggleMenuItem(index) }) : null,
101
- React.createElement(Overlay, { className: "nut-menu__overlay", style: getPosition(), lockScroll: parent.lockScroll, visible: _showPopup, closeOnOverlayClick: parent.closeOnOverlayClick, onClick: () => {
115
+ React.createElement(Overlay, { className: "nut-menu__overlay", style: getPosition(), lockScroll: parent.lockScroll, visible: showPopup, closeOnOverlayClick: parent.closeOnOverlayClick, onClick: () => {
102
116
  parent.closeOnOverlayClick && parent.toggleMenuItem(index);
103
117
  } }),
104
118
  React.createElement(
105
- "div",
119
+ View,
106
120
  { className: classNames(className, {
107
121
  "nut-menu-item__wrap": direction === "down",
108
122
  "nut-menu-item__wrap-up": direction !== "down"
@@ -112,23 +126,23 @@ const MenuItem = forwardRef((props, ref) => {
112
126
  } },
113
127
  React.createElement(
114
128
  CSSTransition,
115
- { in: _showPopup, timeout: 100, classNames: direction === "down" ? "menu-item" : "menu-item-up" },
129
+ { in: showPopup, timeout: 100, classNames: direction === "down" ? "menu-item" : "menu-item-up" },
116
130
  React.createElement(
117
- "div",
131
+ View,
118
132
  { className: "nut-menu-item__content" },
119
133
  options == null ? void 0 : options.map((item, index2) => {
120
134
  return React.createElement(
121
- "div",
135
+ View,
122
136
  { className: `nut-menu-item__option ${classNames({
123
- active: item.value === _value
137
+ active: item.value === innerValue
124
138
  })}`, key: item.text, style: {
125
139
  flexBasis: `${100 / columns}%`
126
140
  }, onClick: () => {
127
141
  handleClick(item);
128
142
  } },
129
- item.value === _value ? React.createElement(React.Fragment, null, icon || React.createElement(Check, { color: activeColor, size: 10, className: getIconCName(item.value, value) })) : null,
130
- React.createElement("div", { className: getIconCName(item.value, value), style: {
131
- color: `${item.value === _value ? activeColor : ""}`
143
+ item.value === innerValue ? React.createElement(React.Fragment, null, icon || React.createElement(Check, { color: activeColor, size: 10, className: getIconCName(item.value, value) })) : null,
144
+ React.createElement(View, { className: getIconCName(item.value, value), style: {
145
+ color: `${item.value === innerValue ? activeColor : ""}`
132
146
  } }, item.text)
133
147
  );
134
148
  }),
@@ -2,7 +2,7 @@ import { B } from "./button.taro-60dfd83e.js";
2
2
  import { C } from "./cell.taro-f200bd2b.js";
3
3
  import { C as C2 } from "./cellgroup.taro-a790d91b.js";
4
4
  import { C as C3 } from "./configprovider.taro-a7f3bcfd.js";
5
- import { I } from "./image.taro-567edf0f.js";
5
+ import { I } from "./image.taro-c4be8323.js";
6
6
  import { O } from "./overlay.taro-08f8efbc.js";
7
7
  import { C as C4 } from "./col.taro-d6a46a7d.js";
8
8
  import { D } from "./divider.taro-0cb5f894.js";
@@ -23,8 +23,8 @@ import { T as T2 } from "./tabbaritem.taro-16a380db.js";
23
23
  import { T as T3 } from "./tabpane.taro-f8d92ece.js";
24
24
  import { T as T4 } from "./tabs.taro-67bdf3bb.js";
25
25
  import { A } from "./address.taro-8fa9f15c.js";
26
- import { C as C5 } from "./calendar.taro-1fbc673a.js";
27
- import { C as C6 } from "./calendaritem.taro-39463c08.js";
26
+ import { C as C5 } from "./calendar.taro-ac2a1c47.js";
27
+ import { C as C6 } from "./calendaritem.taro-1af09287.js";
28
28
  import { C as C7 } from "./cascader.taro-840fdc66.js";
29
29
  import { C as C8, a } from "./checkbox.taro-ab8ef36e.js";
30
30
  import { D as D2 } from "./datepicker.taro-afea03e5.js";
@@ -32,8 +32,8 @@ import { F as F2 } from "./form.taro-1a66c97a.js";
32
32
  import { F as F3 } from "./formitem.taro-8828760a.js";
33
33
  import { I as I2 } from "./input.taro-c611c122.js";
34
34
  import { I as I3 } from "./inputnumber.taro-96165704.js";
35
- import { M } from "./menu.taro-6450a3ae.js";
36
- import { M as M2 } from "./menuitem.taro-11bd648e.js";
35
+ import { M } from "./menu.taro-f412b55d.js";
36
+ import { M as M2 } from "./menuitem.taro-f145c755.js";
37
37
  import { N as N2 } from "./numberkeyboard.taro-f89f210b.js";
38
38
  import { P } from "./picker.taro-9f2024c6.js";
39
39
  import { R as R2, a as a2 } from "./radio.taro-410f7b07.js";
@@ -56,13 +56,13 @@ import { N as N4 } from "./notify.taro-5768403d.js";
56
56
  import { P as P2 } from "./popover.taro-c8cac618.js";
57
57
  import { P as P3 } from "./popup.taro-938ee260.js";
58
58
  import { P as P4 } from "./pulltorefresh.taro-71ad5d15.js";
59
- import { S as S9 } from "./skeleton.taro-49046def.js";
59
+ import { S as S9 } from "./skeleton.taro-9ac4b4b8.js";
60
60
  import { S as S10 } from "./swipe.taro-4eb0cc9a.js";
61
61
  import { T as T6 } from "./toast.taro-56e9d2a1.js";
62
62
  import { A as A3 } from "./animate.taro-c8b29242.js";
63
63
  import { default as default2 } from "./AnimatingNumbers.js";
64
64
  import { A as A4 } from "./audio.taro-38889f9d.js";
65
- import { A as A5 } from "./avatar.taro-31362306.js";
65
+ import { A as A5 } from "./avatar.taro-a45e2e71.js";
66
66
  import { A as A6 } from "./avatargroup.taro-0672aa1e.js";
67
67
  import { C as C9 } from "./circleprogress.taro-fd2326fc.js";
68
68
  import { C as C10 } from "./collapse.taro-5aa2b225.js";
@@ -93,8 +93,8 @@ import "classnames";
93
93
  import "@nutui/icons-react-taro";
94
94
  import "@tarojs/taro";
95
95
  import "./typings-11d83a22.js";
96
- import "react-transition-group";
97
96
  import "@tarojs/components";
97
+ import "react-transition-group";
98
98
  import "./UserContext-ab42ba7f.js";
99
99
  import "./use-client-rect-2bb6c562.js";
100
100
  import "./can-use-dom-0e539bd3.js";
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import classNames from "classnames";
3
- import { A as Avatar } from "./avatar.taro-31362306.js";
3
+ import { A as Avatar } from "./avatar.taro-a45e2e71.js";
4
4
  import { C as ComponentDefaults } from "./typings-11d83a22.js";
5
5
  const defaultProps = {
6
6
  ...ComponentDefaults,