rox-react-components 0.0.15 → 0.0.17

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.
@@ -15,14 +15,17 @@ interface MenuProps<T> extends IconProps {
15
15
  data: T[];
16
16
  renderItem: (item: T) => ReactNode;
17
17
  onChange?: (item: T, index: string) => void;
18
- subItemStyle?: CSSProperties;
18
+ labelStyle?: CSSProperties;
19
+ labelClassName?: string;
20
+ subBoxStyle?: CSSProperties;
21
+ subBoxClassName?: string;
19
22
  activeStyle?: CSSProperties;
23
+ activeClassName?: string;
20
24
  active?: string;
21
25
  isMultipleExpand?: boolean;
22
26
  icon?: ReactNode;
23
27
  activeIcon?: ReactNode;
28
+ childrenField?: string;
24
29
  }
25
- declare const Menu: <T extends {
26
- children?: unknown[] | undefined;
27
- }>(_props: MenuProps<T>) => React.JSX.Element;
30
+ declare const Menu: <T extends unknown>(_props: MenuProps<T>) => React.JSX.Element;
28
31
  export default Menu;
@@ -1 +1 @@
1
- import{__assign as e}from"tslib";import{css as t}from"aphrodite/no-important";import r,{createContext as n,useState as i,useEffect as a,useContext as c,useCallback as o}from"react";import l from"../Card/Card.js";import d from"./styles.js";var u={data:[],renderItem:function(){return null},onChange:function(){return null},subItemStyle:{paddingLeft:"25px"},activeStyle:{color:"skyblue"},active:"",isMultipleExpand:!1,iconSize:"10px",iconStrokeWidth:"2px",iconColor:"#333"};function s(n){var i=e(e({},u),n),a=i.iconSize,c=i.iconStrokeWidth,o=i.iconColor,l=i.down;return r.createElement("div",{style:{"--size":a,"--strokeWidth":c,"--color":o},className:"".concat(t(d.arrow_right)," ").concat(l?t(d.arrow_down):"")})}var m=n({active:"0",changeActive:function(){return null}}),v=function(n){var h=e(e({},u),n),f=h.renderItem,p=h.item,y=h.subItemStyle,g=h.activeStyle,E=h.index,x=h.isMultipleExpand,A=h.icon,b=h.activeIcon,S=i(!1),C=S[0],k=S[1],w=c(m),I=w.active,W=w.changeActive,_=o((function(e){e.stopPropagation(),W(E),h.onChange(p,E),p.children&&Array.isArray(p.children)&&k((function(e){return!e}))}),[W,E,p]);return a((function(){if(void 0!==I){var e=I.split("-"),t=E.split("-");I.startsWith(E)&&e.length>t.length&&E.length<I.length?k(!0):I.startsWith(E)&&E.startsWith(I)||x||k(!1)}}),[I,E]),r.createElement("div",{className:t(d.w_full,d.border_box),onClick:_},r.createElement("div",{className:t(d.item),style:I===E?g:{}},f(p)," ",Array.isArray(p.children)&&p.children.length?C?b||r.createElement(s,e({},h,{down:!0})):A||r.createElement(s,e({},h)):null),Array.isArray(p.children)?p.children.map((function(n,i){return r.createElement("div",{key:i,className:t(d.w_full,d.border_box),style:e(e({},u.subItemStyle),y)},r.createElement(l,{expand:C},r.createElement(v,e({},h,{index:E+"-"+i,item:n}))))})):null)},h=function(t){var n=e(e({},u),t),c=i(n.active),o=c[0],l=c[1];return a((function(){if(n.data.length&&void 0!==n.active){var e=n.active.split("-").map((function(e){return Number(e)})),t=n.data,r={};e.forEach((function(e){Array.isArray(t)&&(r=t[e]||{},t=r.children)})),n.onChange(r,n.active)}l(n.active)}),[n.active,n.data]),r.createElement(m.Provider,{value:{active:o,changeActive:l}},n.data.map((function(t,i){return r.createElement(v,e({key:i,index:i.toString()},n,{item:t}))})))};export{h as default};
1
+ import{__assign as e}from"tslib";import{css as t}from"aphrodite/no-important";import a,{createContext as n,useState as r,useEffect as i,useContext as l,useCallback as c}from"react";import o from"../Card/Card.js";import s from"./styles.js";var d={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"};function m(n){var r=e(e({},d),n),i=r.iconSize,l=r.iconStrokeWidth,c=r.iconColor,o=r.down;return a.createElement("div",{style:{"--size":i,"--strokeWidth":l,"--color":c},className:"".concat(t(s.arrow_right)," ").concat(o?t(s.arrow_down):"")})}var u=n({active:"0",changeActive:function(){return null}}),v=function(n){var f=e(e({},d),n),h=f.renderItem,p=f.item,y=f.subBoxStyle,b=f.activeStyle,x=f.index,g=f.isMultipleExpand,C=f.icon,E=f.activeIcon,S=f.labelStyle,N=f.childrenField,A=f.labelClassName,w=f.subBoxClassName,k=f.activeClassName,_=r(!1),W=_[0],B=_[1],F=l(u),z=F.active,I=F.changeActive,j=c((function(e){e.stopPropagation(),I(x),f.onChange(p,x),p[N]&&Array.isArray(p[N])&&B((function(e){return!e}))}),[I,x,p,N]);return i((function(){if(void 0!==z){var e=z.split("-"),t=x.split("-");z.startsWith(x)&&e.length>t.length&&x.length<z.length?B(!0):z.startsWith(x)&&x.startsWith(z)||g||B(!1)}}),[z,x]),a.createElement("div",{className:t(s.w_full,s.border_box),onClick:j},a.createElement("div",{className:"".concat(t(s.item)," ").concat(A," ").concat(z===x?k:""),style:z===x?e(e(e({},d.labelStyle),S),b):e(e({},d.labelStyle),S)},a.createElement("div",{className:t(s.flex_1)},h(p))," ",Array.isArray(p[N])&&p[N].length?W?E||a.createElement(m,e({},f,{down:!0})):C||a.createElement(m,e({},f)):null),Array.isArray(p[N])?p[N].map((function(n,r){return a.createElement("div",{key:r,className:"".concat(t(s.w_full,s.border_box)," ").concat(w),style:e(e({},d.subBoxStyle),y)},a.createElement(o,{expand:W},a.createElement(v,e({},f,{index:x+"-"+r,item:n}))))})):null)},f=function(t){var n=e(e({},d),t),l=r(n.active),c=l[0],o=l[1];return i((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 r=n.childrenField;t=a[r]}})),n.onChange(a,n.active)}o(n.active)}),[n.active,n.data,n.childrenField]),a.createElement(u.Provider,{value:{active:c,changeActive:o}},n.data.map((function(t,r){return a.createElement(v,e({key:r,index:r.toString()},n,{item:t}))})))};export{f as default};
@@ -2,6 +2,7 @@ declare const styles: {
2
2
  w_full: object;
3
3
  item: object;
4
4
  border_box: object;
5
+ flex_1: object;
5
6
  arrow_right: object;
6
7
  arrow_down: object;
7
8
  };
@@ -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"},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%"},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};
package/dist/index.d.ts CHANGED
@@ -82,16 +82,19 @@ interface MenuProps<T> extends IconProps {
82
82
  data: T[];
83
83
  renderItem: (item: T) => ReactNode;
84
84
  onChange?: (item: T, index: string) => void;
85
- subItemStyle?: CSSProperties;
85
+ labelStyle?: CSSProperties;
86
+ labelClassName?: string;
87
+ subBoxStyle?: CSSProperties;
88
+ subBoxClassName?: string;
86
89
  activeStyle?: CSSProperties;
90
+ activeClassName?: string;
87
91
  active?: string;
88
92
  isMultipleExpand?: boolean;
89
93
  icon?: ReactNode;
90
94
  activeIcon?: ReactNode;
95
+ childrenField?: string;
91
96
  }
92
- declare const Menu: <T extends {
93
- children?: unknown[] | undefined;
94
- }>(_props: MenuProps<T>) => React.JSX.Element;
97
+ declare const Menu: <T extends unknown>(_props: MenuProps<T>) => React.JSX.Element;
95
98
 
96
99
  interface OnScrollParameters {
97
100
  x?: number;
@@ -15,14 +15,17 @@ interface MenuProps<T> extends IconProps {
15
15
  data: T[];
16
16
  renderItem: (item: T) => ReactNode;
17
17
  onChange?: (item: T, index: string) => void;
18
- subItemStyle?: CSSProperties;
18
+ labelStyle?: CSSProperties;
19
+ labelClassName?: string;
20
+ subBoxStyle?: CSSProperties;
21
+ subBoxClassName?: string;
19
22
  activeStyle?: CSSProperties;
23
+ activeClassName?: string;
20
24
  active?: string;
21
25
  isMultipleExpand?: boolean;
22
26
  icon?: ReactNode;
23
27
  activeIcon?: ReactNode;
28
+ childrenField?: string;
24
29
  }
25
- declare const Menu: <T extends {
26
- children?: unknown[] | undefined;
27
- }>(_props: MenuProps<T>) => React.JSX.Element;
30
+ declare const Menu: <T extends unknown>(_props: MenuProps<T>) => React.JSX.Element;
28
31
  export default Menu;
@@ -1 +1 @@
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"),r=require("./styles.js"),i={data:[],renderItem:function(){return null},onChange:function(){return null},subItemStyle:{paddingLeft:"25px"},activeStyle:{color:"skyblue"},active:"",isMultipleExpand:!1,iconSize:"10px",iconStrokeWidth:"2px",iconColor:"#333"};function s(a){var s=e.__assign(e.__assign({},i),a),c=s.iconSize,l=s.iconStrokeWidth,o=s.iconColor,u=s.down;return n.createElement("div",{style:{"--size":c,"--strokeWidth":l,"--color":o},className:"".concat(t.css(r.default.arrow_right)," ").concat(u?t.css(r.default.arrow_down):"")})}var c=n.createContext({active:"0",changeActive:function(){return null}}),l=function(o){var u=e.__assign(e.__assign({},i),o),d=u.renderItem,f=u.item,v=u.subItemStyle,_=u.activeStyle,g=u.index,h=u.isMultipleExpand,m=u.icon,p=u.activeIcon,y=n.useState(!1),x=y[0],E=y[1],b=n.useContext(c),S=b.active,A=b.changeActive,C=n.useCallback((function(e){e.stopPropagation(),A(g),u.onChange(f,g),f.children&&Array.isArray(f.children)&&E((function(e){return!e}))}),[A,g,f]);return n.useEffect((function(){if(void 0!==S){var e=S.split("-"),t=g.split("-");S.startsWith(g)&&e.length>t.length&&g.length<S.length?E(!0):S.startsWith(g)&&g.startsWith(S)||h||E(!1)}}),[S,g]),n.createElement("div",{className:t.css(r.default.w_full,r.default.border_box),onClick:C},n.createElement("div",{className:t.css(r.default.item),style:S===g?_:{}},d(f)," ",Array.isArray(f.children)&&f.children.length?x?p||n.createElement(s,e.__assign({},u,{down:!0})):m||n.createElement(s,e.__assign({},u)):null),Array.isArray(f.children)?f.children.map((function(s,c){return n.createElement("div",{key:c,className:t.css(r.default.w_full,r.default.border_box),style:e.__assign(e.__assign({},i.subItemStyle),v)},n.createElement(a.default,{expand:x},n.createElement(l,e.__assign({},u,{index:g+"-"+c,item:s}))))})):null)};exports.default=function(t){var a=e.__assign(e.__assign({},i),t),r=n.useState(a.active),s=r[0],o=r[1];return n.useEffect((function(){if(a.data.length&&void 0!==a.active){var e=a.active.split("-").map((function(e){return Number(e)})),t=a.data,n={};e.forEach((function(e){Array.isArray(t)&&(n=t[e]||{},t=n.children)})),a.onChange(n,a.active)}o(a.active)}),[a.active,a.data]),n.createElement(c.Provider,{value:{active:s,changeActive:o}},a.data.map((function(t,r){return n.createElement(l,e.__assign({key:r,index:r.toString()},a,{item:t}))})))};
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"),i=require("./styles.js"),s={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"};function r(n){var r=e.__assign(e.__assign({},s),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(i.default.arrow_right)," ").concat(u?t.css(i.default.arrow_down):"")})}var l=a.createContext({active:"0",changeActive:function(){return null}}),c=function(o){var u=e.__assign(e.__assign({},s),o),d=u.renderItem,_=u.item,f=u.subBoxStyle,v=u.activeStyle,g=u.index,m=u.isMultipleExpand,h=u.icon,y=u.activeIcon,p=u.labelStyle,x=u.childrenField,b=u.labelClassName,C=u.subBoxClassName,E=u.activeClassName,S=a.useState(!1),N=S[0],A=S[1],k=a.useContext(l),w=k.active,W=k.changeActive,q=a.useCallback((function(e){e.stopPropagation(),W(g),u.onChange(_,g),_[x]&&Array.isArray(_[x])&&A((function(e){return!e}))}),[W,g,_,x]);return a.useEffect((function(){if(void 0!==w){var e=w.split("-"),t=g.split("-");w.startsWith(g)&&e.length>t.length&&g.length<w.length?A(!0):w.startsWith(g)&&g.startsWith(w)||m||A(!1)}}),[w,g]),a.createElement("div",{className:t.css(i.default.w_full,i.default.border_box),onClick:q},a.createElement("div",{className:"".concat(t.css(i.default.item)," ").concat(b," ").concat(w===g?E:""),style:w===g?e.__assign(e.__assign(e.__assign({},s.labelStyle),p),v):e.__assign(e.__assign({},s.labelStyle),p)},a.createElement("div",{className:t.css(i.default.flex_1)},d(_))," ",Array.isArray(_[x])&&_[x].length?N?y||a.createElement(r,e.__assign({},u,{down:!0})):h||a.createElement(r,e.__assign({},u)):null),Array.isArray(_[x])?_[x].map((function(r,l){return a.createElement("div",{key:l,className:"".concat(t.css(i.default.w_full,i.default.border_box)," ").concat(C),style:e.__assign(e.__assign({},s.subBoxStyle),f)},a.createElement(n.default,{expand:N},a.createElement(c,e.__assign({},u,{index:g+"-"+l,item:r}))))})):null)};exports.default=function(t){var n=e.__assign(e.__assign({},s),t),i=a.useState(n.active),r=i[0],o=i[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 i=n.childrenField;t=a[i]}})),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,i){return a.createElement(c,e.__assign({key:i,index:i.toString()},n,{item:t}))})))};
@@ -2,6 +2,7 @@ declare const styles: {
2
2
  w_full: object;
3
3
  item: object;
4
4
  border_box: object;
5
+ flex_1: object;
5
6
  arrow_right: object;
6
7
  arrow_down: object;
7
8
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=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"},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=r;
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rox-react-components",
3
- "version": "0.0.15",
3
+ "version": "0.0.17",
4
4
  "main": "dist/lib/index.js",
5
5
  "module": "dist/es/index.js",
6
6
  "types": "dist/index.d.ts",