rox-react-components 0.0.28 → 0.0.29

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.
@@ -1,4 +1,4 @@
1
- import React, { CSSProperties, ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  declare module 'react' {
3
3
  interface CSSProperties {
4
4
  '--size'?: string;
@@ -15,20 +15,17 @@ interface MenuProps<T> extends IconProps {
15
15
  data: T[];
16
16
  renderItem: (item: T, index: string) => ReactNode;
17
17
  onChange?: (data: {
18
- active: string;
19
18
  item: T | null;
20
19
  }) => void;
21
20
  active?: string;
21
+ activeField?: string;
22
22
  childrenField?: string;
23
23
  icon?: ReactNode;
24
24
  activeIcon?: ReactNode;
25
- subStyle?: CSSProperties;
26
- subStyleWithNoChildren?: CSSProperties;
27
- itemStyle?: CSSProperties;
28
- activeItemStyle?: CSSProperties;
29
25
  itemClassName?: string;
26
+ itemLabelClassName?: string;
30
27
  activeItemClassName?: string;
31
- itemClassNameWithNoChildren?: string;
28
+ activeItemLabelClassName?: string;
32
29
  }
33
30
  declare function Menu<T extends unknown>(_props: MenuProps<T>): React.JSX.Element;
34
31
  export default Menu;
@@ -1 +1 @@
1
- import{__assign as e}from"tslib";import{css as t}from"aphrodite/no-important";import n,{createContext as i,useMemo as a,useState as r,useCallback as l,useEffect as c,useContext as o}from"react";import m from"../Card/Card.js";import d from"./styles.js";var u={data:[],renderItem:function(){return null},onChange:function(){return null},active:"",childrenField:"children",iconSize:"10px",iconColor:"#333",iconStrokeWidth:"2px",subStyle:{paddingLeft:"25px"},subStyleWithNoChildren:{paddingLeft:"0"},itemStyle:{},activeItemStyle:{},itemClassName:"",activeItemClassName:"",itemClassNameWithNoChildren:""},s=i({active:"",item:null,childrenField:"",changeData:function(){return null}});function h(e){var i=e.iconSize,a=e.iconStrokeWidth,r=e.iconColor,l=e.down;return n.createElement("div",{style:{"--size":i,"--strokeWidth":a,"--color":r},className:"".concat(t(d.arrow_right)," ").concat(l?t(d.arrow_down):"")})}function v(i){var u=r(!1),f=u[0],p=u[1],g=i.item,y=i.index,C=i.renderItem,N=i.activeIcon,S=i.icon,E=i.subStyle,b=i.subStyleWithNoChildren,x=i.itemStyle,F=i.activeItemStyle,W=i.itemClassName,w=i.activeItemClassName,I=i.itemClassNameWithNoChildren,_=o(s),k=_.active,A=_.childrenField,z=_.changeData,D=y.split("-").length,j=Array.isArray(g[A])&&g[A].length?g[A]:null,L=a((function(){return j?x:k===y?e(e({},x),F):e({},x)}),[x,F,j,k,y]),P=a((function(){return j?W:k===y?W+" "+I+" "+w:W+" "+I}),[W,w,j,k,y,I]),q=l((function(e){e.stopPropagation(),j||z({active:y,item:g}),p((function(e){return!e}))}),[j,z,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(d.w_full,d.border_box),onClick:q},n.createElement("div",{className:"".concat(t(d.item)," item-label-").concat(D),style:L},n.createElement("div",{className:"".concat(t(d.flex_1)," ").concat(P)},C(g,y)),n.createElement(n.Fragment,null,j?f?N||n.createElement(h,e({},i,{down:!0})):S||n.createElement(h,e({},i)):null)),j?j.map((function(a,r){var l=Array.isArray(a[A])&&a[A].length;return n.createElement("div",{key:r,className:"".concat(t(d.w_full,d.border_box)," item-sub-").concat(D),style:e(e({},E),l?{}:b)},n.createElement(m,{expand:f},n.createElement(v,e({},i,{index:y+"-"+r,item:a}))))})):null)}function f(t){var i=a((function(){return e(e({},u),t)}),[t]),o=r({active:i.active,item:null}),m=o[0],d=o[1],h=l((function(t){return d((function(n){return e(e({},n),t)}))}),[]);return c((function(){if(i.active&&i.data&&i.data.length&&i.childrenField){var e=function e(t,n,a){if(void 0===a&&(a=null),!t.length)return a;var r=n[+t.shift()];return e(t,r[i.childrenField],r)}(i.active.split("-"),i.data);h({active:i.active,item:e})}}),[i.active,i.data,i.childrenField]),c((function(){var e;null===(e=i.onChange)||void 0===e||e.call(i,m)}),[m.active]),n.createElement(s.Provider,{value:{active:m.active,item:m.item,childrenField:i.childrenField,changeData:h}},i.data.map((function(t,a){return n.createElement(v,e({key:a},i,{index:a.toString(),item:t}))})))}export{f as default};
1
+ import{__assign as e}from"tslib";import{css as t}from"aphrodite/no-important";import n,{createContext as a,useMemo as i,useState as r,useCallback as c,useEffect as l,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:"",activeField:"",childrenField:"children",iconSize:"10px",iconColor:"#333",iconStrokeWidth:"2px",itemClassName:"",itemLabelClassName:"",activeItemClassName:"",activeItemLabelClassName:""},s=a({item:null,childrenField:"",changeData:function(){return null}});function f(e){var a=e.iconSize,i=e.iconStrokeWidth,r=e.iconColor,c=e.down;return n.createElement("div",{style:{"--size":a,"--strokeWidth":i,"--color":r},className:"".concat(t(u.arrow_right)," ").concat(c?t(u.arrow_down):"")})}function v(a){var d=r(!1),h=d[0],p=d[1],C=a.item,N=a.index,E=a.renderItem,b=a.activeIcon,g=a.icon,x=a.itemClassName,F=a.itemLabelClassName,w=a.activeItemClassName,I=a.activeItemLabelClassName,_=a.activeField,k=a.active,y=o(s),S=y.childrenField,L=y.changeData,z=N.split("-").length,D=Array.isArray(C[S])&&C[S].length?C[S]:null,W=i((function(){return C&&C[_]===k}),[C,_,k]),j=c((function(e){e.stopPropagation(),D||L({item:C}),p((function(e){return!e}))}),[D,L,C]);return l((function(){!D&&C&&k===C[_]&&L({item:C})}),[k,D,C,_]),l((function(){(W||k.includes(C[_]))&&p(!0)}),[W,k,C,_]),n.createElement("div",{className:t(u.w_full,u.border_box),onClick:j},n.createElement("div",{className:"".concat(t(u.item)," item-label-").concat(z," ").concat(x," ").concat(W?w:"")},n.createElement("div",{className:"".concat(t(u.flex_1)," ").concat(F," ").concat(W?I:"")},E(C,N)),n.createElement(n.Fragment,null,D?h?b||n.createElement(f,e({},a,{down:!0})):g||n.createElement(f,e({},a)):null)),D?D.map((function(i,r){return n.createElement("div",{key:r,className:"".concat(t(u.w_full,u.border_box)," item-sub-").concat(z)},n.createElement(m,{expand:h},n.createElement(v,e({},a,{index:N+"-"+r,item:i}))))})):null)}function h(t){var a=i((function(){return e(e({},d),t)}),[t]),o=r({item:null}),m=o[0],u=o[1],f=c((function(t){return u((function(n){return e(e({},n),t)}))}),[]);return l((function(){var e;null===(e=a.onChange)||void 0===e||e.call(a,m)}),[m.item]),n.createElement(s.Provider,{value:{item:m.item,childrenField:a.childrenField,changeData:f}},a.data.map((function(t,i){return n.createElement(v,e({key:i},a,{index:i.toString(),item:t}))})))}export{h as default};
package/dist/index.d.ts CHANGED
@@ -85,20 +85,17 @@ interface MenuProps<T> extends IconProps {
85
85
  data: T[];
86
86
  renderItem: (item: T, index: string) => ReactNode;
87
87
  onChange?: (data: {
88
- active: string;
89
88
  item: T | null;
90
89
  }) => void;
91
90
  active?: string;
91
+ activeField?: string;
92
92
  childrenField?: string;
93
93
  icon?: ReactNode;
94
94
  activeIcon?: ReactNode;
95
- subStyle?: CSSProperties;
96
- subStyleWithNoChildren?: CSSProperties;
97
- itemStyle?: CSSProperties;
98
- activeItemStyle?: CSSProperties;
99
95
  itemClassName?: string;
96
+ itemLabelClassName?: string;
100
97
  activeItemClassName?: string;
101
- itemClassNameWithNoChildren?: string;
98
+ activeItemLabelClassName?: string;
102
99
  }
103
100
  declare function Menu<T extends unknown>(_props: MenuProps<T>): React.JSX.Element;
104
101
 
@@ -1,4 +1,4 @@
1
- import React, { CSSProperties, ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  declare module 'react' {
3
3
  interface CSSProperties {
4
4
  '--size'?: string;
@@ -15,20 +15,17 @@ interface MenuProps<T> extends IconProps {
15
15
  data: T[];
16
16
  renderItem: (item: T, index: string) => ReactNode;
17
17
  onChange?: (data: {
18
- active: string;
19
18
  item: T | null;
20
19
  }) => void;
21
20
  active?: string;
21
+ activeField?: string;
22
22
  childrenField?: string;
23
23
  icon?: ReactNode;
24
24
  activeIcon?: ReactNode;
25
- subStyle?: CSSProperties;
26
- subStyleWithNoChildren?: CSSProperties;
27
- itemStyle?: CSSProperties;
28
- activeItemStyle?: CSSProperties;
29
25
  itemClassName?: string;
26
+ itemLabelClassName?: string;
30
27
  activeItemClassName?: string;
31
- itemClassNameWithNoChildren?: string;
28
+ activeItemLabelClassName?: string;
32
29
  }
33
30
  declare function Menu<T extends unknown>(_props: MenuProps<T>): React.JSX.Element;
34
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"),i=require("./styles.js"),l={data:[],renderItem:function(){return null},onChange:function(){return null},active:"",childrenField:"children",iconSize:"10px",iconColor:"#333",iconStrokeWidth:"2px",subStyle:{paddingLeft:"25px"},subStyleWithNoChildren:{paddingLeft:"0"},itemStyle:{},activeItemStyle:{},itemClassName:"",activeItemClassName:"",itemClassNameWithNoChildren:""},r=n.createContext({active:"",item:null,childrenField:"",changeData:function(){return null}});function c(e){var a=e.iconSize,l=e.iconStrokeWidth,r=e.iconColor,c=e.down;return n.createElement("div",{style:{"--size":a,"--strokeWidth":l,"--color":r},className:"".concat(t.css(i.default.arrow_right)," ").concat(c?t.css(i.default.arrow_down):"")})}function s(l){var u=n.useState(!1),o=u[0],d=u[1],m=l.item,f=l.index,v=l.renderItem,h=l.activeIcon,_=l.icon,g=l.subStyle,C=l.subStyleWithNoChildren,p=l.itemStyle,y=l.activeItemStyle,E=l.itemClassName,N=l.activeItemClassName,S=l.itemClassNameWithNoChildren,b=n.useContext(r),x=b.active,F=b.childrenField,k=b.changeData,W=f.split("-").length,w=Array.isArray(m[F])&&m[F].length?m[F]:null,I=n.useMemo((function(){return w?p:x===f?e.__assign(e.__assign({},p),y):e.__assign({},p)}),[p,y,w,x,f]),q=n.useMemo((function(){return w?E:x===f?E+" "+S+" "+N:E+" "+S}),[E,N,w,x,f,S]),A=n.useCallback((function(e){e.stopPropagation(),w||k({active:f,item:m}),d((function(e){return!e}))}),[w,k,m,f]);return n.useEffect((function(){if(void 0!==x){var e=x.split("-"),t=f.split("-");x.startsWith(f)&&e.length>t.length&&f.length<x.length&&d(!0)}}),[x,f]),n.createElement("div",{className:t.css(i.default.w_full,i.default.border_box),onClick:A},n.createElement("div",{className:"".concat(t.css(i.default.item)," item-label-").concat(W),style:I},n.createElement("div",{className:"".concat(t.css(i.default.flex_1)," ").concat(q)},v(m,f)),n.createElement(n.Fragment,null,w?o?h||n.createElement(c,e.__assign({},l,{down:!0})):_||n.createElement(c,e.__assign({},l)):null)),w?w.map((function(r,c){var u=Array.isArray(r[F])&&r[F].length;return n.createElement("div",{key:c,className:"".concat(t.css(i.default.w_full,i.default.border_box)," item-sub-").concat(W),style:e.__assign(e.__assign({},g),u?{}:C)},n.createElement(a.default,{expand:o},n.createElement(s,e.__assign({},l,{index:f+"-"+c,item:r}))))})):null)}exports.default=function(t){var a=n.useMemo((function(){return e.__assign(e.__assign({},l),t)}),[t]),i=n.useState({active:a.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(){if(a.active&&a.data&&a.data.length&&a.childrenField){var e=function e(t,n,i){if(void 0===i&&(i=null),!t.length)return i;var l=n[+t.shift()];return e(t,l[a.childrenField],l)}(a.active.split("-"),a.data);o({active:a.active,item:e})}}),[a.active,a.data,a.childrenField]),n.useEffect((function(){var e;null===(e=a.onChange)||void 0===e||e.call(a,c)}),[c.active]),n.createElement(r.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
+ "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"),c={data:[],renderItem:function(){return null},onChange:function(){return null},active:"",activeField:"",childrenField:"children",iconSize:"10px",iconColor:"#333",iconStrokeWidth:"2px",itemClassName:"",itemLabelClassName:"",activeItemClassName:"",activeItemLabelClassName:""},l=n.createContext({item:null,childrenField:"",changeData:function(){return null}});function r(e){var a=e.iconSize,c=e.iconStrokeWidth,l=e.iconColor,r=e.down;return n.createElement("div",{style:{"--size":a,"--strokeWidth":c,"--color":l},className:"".concat(t.css(i.default.arrow_right)," ").concat(r?t.css(i.default.arrow_down):"")})}function s(c){var o=n.useState(!1),u=o[0],m=o[1],d=c.item,f=c.index,_=c.renderItem,v=c.activeIcon,g=c.icon,C=c.itemClassName,h=c.itemLabelClassName,E=c.activeItemClassName,b=c.activeItemLabelClassName,p=c.activeField,x=c.active,N=n.useContext(l),k=N.childrenField,F=N.changeData,w=f.split("-").length,y=Array.isArray(d[k])&&d[k].length?d[k]:null,I=n.useMemo((function(){return d&&d[p]===x}),[d,p,x]),S=n.useCallback((function(e){e.stopPropagation(),y||F({item:d}),m((function(e){return!e}))}),[y,F,d]);return n.useEffect((function(){!y&&d&&x===d[p]&&F({item:d})}),[x,y,d,p]),n.useEffect((function(){(I||x.includes(d[p]))&&m(!0)}),[I,x,d,p]),n.createElement("div",{className:t.css(i.default.w_full,i.default.border_box),onClick:S},n.createElement("div",{className:"".concat(t.css(i.default.item)," item-label-").concat(w," ").concat(C," ").concat(I?E:"")},n.createElement("div",{className:"".concat(t.css(i.default.flex_1)," ").concat(h," ").concat(I?b:"")},_(d,f)),n.createElement(n.Fragment,null,y?u?v||n.createElement(r,e.__assign({},c,{down:!0})):g||n.createElement(r,e.__assign({},c)):null)),y?y.map((function(l,r){return n.createElement("div",{key:r,className:"".concat(t.css(i.default.w_full,i.default.border_box)," item-sub-").concat(w)},n.createElement(a.default,{expand:u},n.createElement(s,e.__assign({},c,{index:f+"-"+r,item:l}))))})):null)}exports.default=function(t){var a=n.useMemo((function(){return e.__assign(e.__assign({},c),t)}),[t]),i=n.useState({item:null}),r=i[0],o=i[1],u=n.useCallback((function(t){return o((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,r)}),[r.item]),n.createElement(l.Provider,{value:{item:r.item,childrenField:a.childrenField,changeData:u}},a.data.map((function(t,i){return n.createElement(s,e.__assign({key:i},a,{index:i.toString(),item:t}))})))};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rox-react-components",
3
- "version": "0.0.28",
3
+ "version": "0.0.29",
4
4
  "main": "dist/lib/index.js",
5
5
  "module": "dist/es/index.js",
6
6
  "types": "dist/index.d.ts",