rox-react-components 0.0.18 → 0.0.19

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.
package/README.md CHANGED
@@ -6,6 +6,12 @@
6
6
 
7
7
  # Components
8
8
 
9
- ## Swiper、Loading、 Card、Container、Menu、ScrollView
9
+ # Swiper [Demo](https://stackblitz.com/edit/stackblitz-starters-fkphwj?file=src%2FApp.tsx)
10
+
11
+ # Loading & Container [Loading & Container](https://stackblitz.com/edit/stackblitz-starters-qs4mnf?file=src%2FApp.tsx)
12
+
13
+ # ScrollView [ScrollView](https://stackblitz.com/edit/stackblitz-starters-rtdcia?file=src%2FApp.tsx)
14
+
15
+ # Card [Card](https://stackblitz.com/edit/stackblitz-starters-hjyeni?file=src%2FApp.tsx)
10
16
 
11
17
  ## Swiper (suppoert <strong>PC</strong> & <strong>Mobile</strong> Platform)
@@ -14,20 +14,17 @@ interface IconProps {
14
14
  interface MenuProps<T> extends IconProps {
15
15
  data: T[];
16
16
  renderItem: (item: T) => ReactNode;
17
- onChange?: (item: T, index: string) => void;
18
- labelStyle?: CSSProperties;
19
- labelClassName?: string;
20
- subBoxStyle?: CSSProperties;
21
- subBoxClassName?: string;
22
- activeStyle?: CSSProperties;
23
- activeClassName?: string;
17
+ onChange?: (data: {
18
+ active: string;
19
+ item: T | null;
20
+ }) => void;
24
21
  active?: string;
25
- isMultipleExpand?: boolean;
22
+ childrenField?: string;
26
23
  icon?: ReactNode;
27
24
  activeIcon?: ReactNode;
28
- childrenField?: string;
29
- lastLabelItemStyle?: CSSProperties;
30
- lastLabelItemClassName?: string;
25
+ subStyle?: CSSProperties;
26
+ itemStyle?: CSSProperties;
27
+ activeItemStyle?: CSSProperties;
31
28
  }
32
- declare const Menu: <T extends unknown>(_props: MenuProps<T>) => React.JSX.Element;
29
+ declare function Menu<T extends unknown>(_props: MenuProps<T>): React.JSX.Element;
33
30
  export default Menu;
@@ -1 +1 @@
1
- import{__assign as e}from"tslib";import{css as t}from"aphrodite/no-important";import a,{createContext as r,useState as n,useEffect as l,useContext as i,useCallback as c}from"react";import o from"../Card/Card.js";import s from"./styles.js";var m={data:[],renderItem:function(){return null},onChange:function(){return null},labelStyle:{width:"100%"},labelClassName:"",subBoxStyle:{paddingLeft:"25px"},subBoxClassName:"",activeStyle:{color:"skyblue"},activeClassName:"",active:"",isMultipleExpand:!1,iconSize:"10px",iconStrokeWidth:"2px",iconColor:"#333",childrenField:"children",lastLabelItemStyle:{},lastLabelItemClassName:""};function d(r){var n=e(e({},m),r),l=n.iconSize,i=n.iconStrokeWidth,c=n.iconColor,o=n.down;return a.createElement("div",{style:{"--size":l,"--strokeWidth":i,"--color":c},className:"".concat(t(s.arrow_right)," ").concat(o?t(s.arrow_down):"")})}var u=r({active:"0",changeActive:function(){return null}}),v=function(r){var y=e(e({},m),r),f=y.renderItem,h=y.item,p=y.subBoxStyle,b=y.activeStyle,x=y.index,g=y.isMultipleExpand,C=y.icon,S=y.activeIcon,A=y.labelStyle,E=y.childrenField,N=y.labelClassName,w=y.subBoxClassName,k=y.activeClassName,I=y.lastLabelItemClassName,_=y.lastLabelItemStyle,W=n(!1),B=W[0],L=W[1],F=i(u),z=F.active,j=F.changeActive,M=c((function(e){e.stopPropagation(),j(x),y.onChange(h,x),h[E]&&Array.isArray(h[E])&&L((function(e){return!e}))}),[j,x,h,E]);return l((function(){if(void 0!==z){var e=z.split("-"),t=x.split("-");z.startsWith(x)&&e.length>t.length&&x.length<z.length?L(!0):z.startsWith(x)&&x.startsWith(z)||g||L(!1)}}),[z,x]),a.createElement("div",{className:t(s.w_full,s.border_box),onClick:M},a.createElement("div",{className:"".concat(t(s.item)," ").concat(Array.isArray(h[E])?"":I," ").concat(N," ").concat(z===x?k:""),style:e(z===x?e(e(e({},m.labelStyle),A),b):e(e({},m.labelStyle),A),Array.isArray(h[E])?{}:_)},a.createElement("div",{className:t(s.flex_1)},f(h))," ",Array.isArray(h[E])&&h[E].length?B?S||a.createElement(d,e({},y,{down:!0})):C||a.createElement(d,e({},y)):null),Array.isArray(h[E])?h[E].map((function(r,n){return a.createElement("div",{key:n,className:"".concat(t(s.w_full,s.border_box)," ").concat(w),style:e(e({},m.subBoxStyle),p)},a.createElement(o,{expand:B},a.createElement(v,e({},y,{index:x+"-"+n,item:r}))))})):null)},y=function(t){var r=e(e({},m),t),i=n(r.active),c=i[0],o=i[1];return l((function(){if(r.data.length&&void 0!==r.active){var e=r.active.split("-").map((function(e){return Number(e)})),t=r.data,a={};e.forEach((function(e){if(Array.isArray(t)){a=t[e]||{};var n=r.childrenField;t=a[n]}})),r.onChange(a,r.active)}o(r.active)}),[r.active,r.data,r.childrenField]),a.createElement(u.Provider,{value:{active:c,changeActive:o}},r.data.map((function(t,n){return a.createElement(v,e({key:n,index:n.toString()},r,{item:t}))})))};export{y as default};
1
+ import{__assign as e}from"tslib";import{css as t}from"aphrodite/no-important";import n,{createContext as r,useMemo as i,useState as l,useCallback as a,useEffect as c,useContext as o}from"react";import m from"../Card/Card.js";import u from"./styles.js";var d={data:[],renderItem:function(){return null},onChange:function(){return null},active:"",childrenField:"children",iconSize:"10px",iconColor:"#333",iconStrokeWidth:"2px",subStyle:{paddingLeft:"25px"},itemStyle:{},activeItemStyle:{}},s=r({active:"",item:null,childrenField:"",changeData:function(){return null}});function f(e){var r=e.iconSize,i=e.iconStrokeWidth,l=e.iconColor,a=e.down;return n.createElement("div",{style:{"--size":r,"--strokeWidth":i,"--color":l},className:"".concat(t(u.arrow_right)," ").concat(a?t(u.arrow_down):"")})}function v(r){var d=l(!1),h=d[0],p=d[1],g=r.item,y=r.index,E=r.renderItem,x=r.activeIcon,S=r.icon,b=r.subStyle,w=r.itemStyle,C=r.activeItemStyle,_=o(s),k=_.active,F=_.childrenField,I=_.changeData,N=Array.isArray(g[F])&&g[F].length?g[F]:null,W=i((function(){return N?w:k===y?e(e({},w),C):w}),[w,C,N,k,y]),z=a((function(e){e.stopPropagation(),N||k===y||I({active:y,item:g}),p((function(e){return!e}))}),[N,I,g,y]);return c((function(){if(void 0!==k){var e=k.split("-"),t=y.split("-");k.startsWith(y)&&e.length>t.length&&y.length<k.length&&p(!0)}}),[k,y]),n.createElement("div",{className:t(u.w_full,u.border_box),onClick:z},n.createElement("div",{className:t(u.item),style:W},n.createElement("div",{className:t(u.flex_1)},E(g)),n.createElement(n.Fragment,null,N?h?x||n.createElement(f,e({},r,{down:!0})):S||n.createElement(f,e({},r)):null)),N?N.map((function(i,l){return n.createElement("div",{key:l,className:t(u.w_full,u.border_box),style:b},n.createElement(m,{expand:h},n.createElement(v,e({},r,{index:y+"-"+l,item:i}))))})):null)}function h(t){var r=i((function(){return e(e({},d),t)}),[t]),o=l({active:"",item:null}),m=o[0],u=o[1],f=a((function(t){return u((function(n){return e(e({},n),t)}))}),[]);return c((function(){var e;null===(e=r.onChange)||void 0===e||e.call(r,m)}),[m.active]),n.createElement(s.Provider,{value:{active:m.active,item:m.item,childrenField:r.childrenField,changeData:f}},r.data.map((function(t,i){return n.createElement(v,e({key:i},r,{index:i.toString(),item:t}))})))}export{h as default};
@@ -1,2 +1,2 @@
1
- import Menu from './Menu';
2
- export default Menu;
1
+ import RoxMenu from './Menu';
2
+ export default RoxMenu;
@@ -1,7 +1,7 @@
1
1
  declare const styles: {
2
2
  w_full: object;
3
- item: object;
4
3
  border_box: object;
4
+ item: object;
5
5
  flex_1: object;
6
6
  arrow_right: object;
7
7
  arrow_down: object;
@@ -1 +1 @@
1
- import{StyleSheet as r}from"aphrodite/no-important";var o=r.create({w_full:{width:"100%"},item:{display:"flex",width:"100%",paddingRight:"10px",alignItems:"center",justifyContent:"space-between",boxSizing:"border-box"},border_box:{boxSizing:"border-box"},flex_1:{flex:1},arrow_right:{position:"relative",width:"var(--size)",height:"var(--size)",borderTop:"var(--strokeWidth) solid var(--color)",borderRight:"var(--strokeWidth) solid var(--color)",transform:"rotate(45deg)",transformOrigin:"center",transition:"all 100ms linear"},arrow_down:{transform:"rotate(135deg)"}});export{o as default};
1
+ import{StyleSheet as r}from"aphrodite/no-important";var o=r.create({w_full:{width:"100%"},border_box:{boxSizing:"border-box"},item:{display:"flex",width:"100%",paddingRight:"10px",alignItems:"center",justifyContent:"space-between",boxSizing:"border-box"},flex_1:{flex:1},arrow_right:{position:"relative",width:"var(--size)",height:"var(--size)",borderTop:"var(--strokeWidth) solid var(--color)",borderRight:"var(--strokeWidth) solid var(--color)",transform:"rotate(45deg)",transformOrigin:"center",transition:"all 100ms linear"},arrow_down:{transform:"rotate(135deg)"}});export{o as default};
package/dist/index.d.ts CHANGED
@@ -81,22 +81,19 @@ interface IconProps {
81
81
  interface MenuProps<T> extends IconProps {
82
82
  data: T[];
83
83
  renderItem: (item: T) => ReactNode;
84
- onChange?: (item: T, index: string) => void;
85
- labelStyle?: CSSProperties;
86
- labelClassName?: string;
87
- subBoxStyle?: CSSProperties;
88
- subBoxClassName?: string;
89
- activeStyle?: CSSProperties;
90
- activeClassName?: string;
84
+ onChange?: (data: {
85
+ active: string;
86
+ item: T | null;
87
+ }) => void;
91
88
  active?: string;
92
- isMultipleExpand?: boolean;
89
+ childrenField?: string;
93
90
  icon?: ReactNode;
94
91
  activeIcon?: ReactNode;
95
- childrenField?: string;
96
- lastLabelItemStyle?: CSSProperties;
97
- lastLabelItemClassName?: string;
92
+ subStyle?: CSSProperties;
93
+ itemStyle?: CSSProperties;
94
+ activeItemStyle?: CSSProperties;
98
95
  }
99
- declare const Menu: <T extends unknown>(_props: MenuProps<T>) => React.JSX.Element;
96
+ declare function Menu<T extends unknown>(_props: MenuProps<T>): React.JSX.Element;
100
97
 
101
98
  interface OnScrollParameters {
102
99
  x?: number;
@@ -14,20 +14,17 @@ interface IconProps {
14
14
  interface MenuProps<T> extends IconProps {
15
15
  data: T[];
16
16
  renderItem: (item: T) => ReactNode;
17
- onChange?: (item: T, index: string) => void;
18
- labelStyle?: CSSProperties;
19
- labelClassName?: string;
20
- subBoxStyle?: CSSProperties;
21
- subBoxClassName?: string;
22
- activeStyle?: CSSProperties;
23
- activeClassName?: string;
17
+ onChange?: (data: {
18
+ active: string;
19
+ item: T | null;
20
+ }) => void;
24
21
  active?: string;
25
- isMultipleExpand?: boolean;
22
+ childrenField?: string;
26
23
  icon?: ReactNode;
27
24
  activeIcon?: ReactNode;
28
- childrenField?: string;
29
- lastLabelItemStyle?: CSSProperties;
30
- lastLabelItemClassName?: string;
25
+ subStyle?: CSSProperties;
26
+ itemStyle?: CSSProperties;
27
+ activeItemStyle?: CSSProperties;
31
28
  }
32
- declare const Menu: <T extends unknown>(_props: MenuProps<T>) => React.JSX.Element;
29
+ declare function Menu<T extends unknown>(_props: MenuProps<T>): React.JSX.Element;
33
30
  export default Menu;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("aphrodite/no-important"),a=require("react"),n=require("../Card/Card.js"),s=require("./styles.js"),i={data:[],renderItem:function(){return null},onChange:function(){return null},labelStyle:{width:"100%"},labelClassName:"",subBoxStyle:{paddingLeft:"25px"},subBoxClassName:"",activeStyle:{color:"skyblue"},activeClassName:"",active:"",isMultipleExpand:!1,iconSize:"10px",iconStrokeWidth:"2px",iconColor:"#333",childrenField:"children",lastLabelItemStyle:{},lastLabelItemClassName:""};function r(n){var r=e.__assign(e.__assign({},i),n),l=r.iconSize,c=r.iconStrokeWidth,o=r.iconColor,u=r.down;return a.createElement("div",{style:{"--size":l,"--strokeWidth":c,"--color":o},className:"".concat(t.css(s.default.arrow_right)," ").concat(u?t.css(s.default.arrow_down):"")})}var l=a.createContext({active:"0",changeActive:function(){return null}}),c=function(o){var u=e.__assign(e.__assign({},i),o),d=u.renderItem,_=u.item,m=u.subBoxStyle,f=u.activeStyle,v=u.index,g=u.isMultipleExpand,y=u.icon,h=u.activeIcon,b=u.labelStyle,p=u.childrenField,x=u.labelClassName,C=u.subBoxClassName,S=u.activeClassName,A=u.lastLabelItemClassName,E=u.lastLabelItemStyle,N=a.useState(!1),k=N[0],w=N[1],I=a.useContext(l),W=I.active,q=I.changeActive,B=a.useCallback((function(e){e.stopPropagation(),q(v),u.onChange(_,v),_[p]&&Array.isArray(_[p])&&w((function(e){return!e}))}),[q,v,_,p]);return a.useEffect((function(){if(void 0!==W){var e=W.split("-"),t=v.split("-");W.startsWith(v)&&e.length>t.length&&v.length<W.length?w(!0):W.startsWith(v)&&v.startsWith(W)||g||w(!1)}}),[W,v]),a.createElement("div",{className:t.css(s.default.w_full,s.default.border_box),onClick:B},a.createElement("div",{className:"".concat(t.css(s.default.item)," ").concat(Array.isArray(_[p])?"":A," ").concat(x," ").concat(W===v?S:""),style:W===v?e.__assign(e.__assign(e.__assign(e.__assign({},i.labelStyle),b),f),Array.isArray(_[p])?{}:E):e.__assign(e.__assign(e.__assign({},i.labelStyle),b),Array.isArray(_[p])?{}:E)},a.createElement("div",{className:t.css(s.default.flex_1)},d(_))," ",Array.isArray(_[p])&&_[p].length?k?h||a.createElement(r,e.__assign({},u,{down:!0})):y||a.createElement(r,e.__assign({},u)):null),Array.isArray(_[p])?_[p].map((function(r,l){return a.createElement("div",{key:l,className:"".concat(t.css(s.default.w_full,s.default.border_box)," ").concat(C),style:e.__assign(e.__assign({},i.subBoxStyle),m)},a.createElement(n.default,{expand:k},a.createElement(c,e.__assign({},u,{index:v+"-"+l,item:r}))))})):null)};exports.default=function(t){var n=e.__assign(e.__assign({},i),t),s=a.useState(n.active),r=s[0],o=s[1];return a.useEffect((function(){if(n.data.length&&void 0!==n.active){var e=n.active.split("-").map((function(e){return Number(e)})),t=n.data,a={};e.forEach((function(e){if(Array.isArray(t)){a=t[e]||{};var s=n.childrenField;t=a[s]}})),n.onChange(a,n.active)}o(n.active)}),[n.active,n.data,n.childrenField]),a.createElement(l.Provider,{value:{active:r,changeActive:o}},n.data.map((function(t,s){return a.createElement(c,e.__assign({key:s,index:s.toString()},n,{item:t}))})))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("aphrodite/no-important"),n=require("react"),a=require("../Card/Card.js"),i=require("./styles.js"),r={data:[],renderItem:function(){return null},onChange:function(){return null},active:"",childrenField:"children",iconSize:"10px",iconColor:"#333",iconStrokeWidth:"2px",subStyle:{paddingLeft:"25px"},itemStyle:{},activeItemStyle:{}},l=n.createContext({active:"",item:null,childrenField:"",changeData:function(){return null}});function c(e){var a=e.iconSize,r=e.iconStrokeWidth,l=e.iconColor,c=e.down;return n.createElement("div",{style:{"--size":a,"--strokeWidth":r,"--color":l},className:"".concat(t.css(i.default.arrow_right)," ").concat(c?t.css(i.default.arrow_down):"")})}function s(r){var u=n.useState(!1),o=u[0],d=u[1],m=r.item,f=r.index,_=r.renderItem,v=r.activeIcon,g=r.icon,h=r.subStyle,p=r.itemStyle,y=r.activeItemStyle,x=n.useContext(l),E=x.active,S=x.childrenField,C=x.changeData,b=Array.isArray(m[S])&&m[S].length?m[S]:null,k=n.useMemo((function(){return b?p:E===f?e.__assign(e.__assign({},p),y):p}),[p,y,b,E,f]),w=n.useCallback((function(e){e.stopPropagation(),b||E===f||C({active:f,item:m}),d((function(e){return!e}))}),[b,C,m,f]);return n.useEffect((function(){if(void 0!==E){var e=E.split("-"),t=f.split("-");E.startsWith(f)&&e.length>t.length&&f.length<E.length&&d(!0)}}),[E,f]),n.createElement("div",{className:t.css(i.default.w_full,i.default.border_box),onClick:w},n.createElement("div",{className:t.css(i.default.item),style:k},n.createElement("div",{className:t.css(i.default.flex_1)},_(m)),n.createElement(n.Fragment,null,b?o?v||n.createElement(c,e.__assign({},r,{down:!0})):g||n.createElement(c,e.__assign({},r)):null)),b?b.map((function(l,c){return n.createElement("div",{key:c,className:t.css(i.default.w_full,i.default.border_box),style:h},n.createElement(a.default,{expand:o},n.createElement(s,e.__assign({},r,{index:f+"-"+c,item:l}))))})):null)}exports.default=function(t){var a=n.useMemo((function(){return e.__assign(e.__assign({},r),t)}),[t]),i=n.useState({active:"",item:null}),c=i[0],u=i[1],o=n.useCallback((function(t){return u((function(n){return e.__assign(e.__assign({},n),t)}))}),[]);return n.useEffect((function(){var e;null===(e=a.onChange)||void 0===e||e.call(a,c)}),[c.active]),n.createElement(l.Provider,{value:{active:c.active,item:c.item,childrenField:a.childrenField,changeData:o}},a.data.map((function(t,i){return n.createElement(s,e.__assign({key:i},a,{index:i.toString(),item:t}))})))};
@@ -1,2 +1,2 @@
1
- import Menu from './Menu';
2
- export default Menu;
1
+ import RoxMenu from './Menu';
2
+ export default RoxMenu;
@@ -1,7 +1,7 @@
1
1
  declare const styles: {
2
2
  w_full: object;
3
- item: object;
4
3
  border_box: object;
4
+ item: object;
5
5
  flex_1: object;
6
6
  arrow_right: object;
7
7
  arrow_down: object;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("aphrodite/no-important").StyleSheet.create({w_full:{width:"100%"},item:{display:"flex",width:"100%",paddingRight:"10px",alignItems:"center",justifyContent:"space-between",boxSizing:"border-box"},border_box:{boxSizing:"border-box"},flex_1:{flex:1},arrow_right:{position:"relative",width:"var(--size)",height:"var(--size)",borderTop:"var(--strokeWidth) solid var(--color)",borderRight:"var(--strokeWidth) solid var(--color)",transform:"rotate(45deg)",transformOrigin:"center",transition:"all 100ms linear"},arrow_down:{transform:"rotate(135deg)"}});exports.default=e;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("aphrodite/no-important").StyleSheet.create({w_full:{width:"100%"},border_box:{boxSizing:"border-box"},item:{display:"flex",width:"100%",paddingRight:"10px",alignItems:"center",justifyContent:"space-between",boxSizing:"border-box"},flex_1:{flex:1},arrow_right:{position:"relative",width:"var(--size)",height:"var(--size)",borderTop:"var(--strokeWidth) solid var(--color)",borderRight:"var(--strokeWidth) solid var(--color)",transform:"rotate(45deg)",transformOrigin:"center",transition:"all 100ms linear"},arrow_down:{transform:"rotate(135deg)"}});exports.default=e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rox-react-components",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "main": "dist/lib/index.js",
5
5
  "module": "dist/es/index.js",
6
6
  "types": "dist/index.d.ts",