rox-react-components 0.0.32 → 0.0.34

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 +1 @@
1
- import{__assign as t}from"tslib";import{css as r}from"aphrodite/no-important";import e,{useRef as o,useEffect as n}from"react";import{createPortal as i}from"react-dom";import m from"./styles.js";var a={visible:!1,position:"bottom",duration:300,bg:"rgba(0,0,0,.3)",maskClosable:!0,popupType:"slide"};function c(t){var o=t.bg;return e.createElement("div",{style:{"--bg":o},className:r(m.container)})}function u(r){var m=t(t({},a),r),u=o(document.createElement("div"));return n((function(){var t=u.current;return document.body.appendChild(t),function(){document.body.removeChild(t)}}),[]),u.current?i(e.createElement(c,t({},m)),u.current):null}export{u as default};
1
+ import{__assign as r}from"tslib";import{css as t}from"aphrodite/no-important";import e,{useRef as o,useEffect as n,useState as i}from"react";import{createPortal as a}from"react-dom";import m from"./styles.js";var u={visible:!1,position:"bottom",duration:300,bg:"rgba(0,0,0,.3)",maskClosable:!0,popupType:"slide"};function c(r){var o=r.bg;r.visible,r.duration;var n=i(!1);return n[0],n[1],e.createElement("div",{style:{"--bg":o},className:t(m.container)})}function l(t){var i=r(r({},u),t),m=o(document.createElement("div"));return n((function(){var r=m.current;return document.body.appendChild(r),function(){document.body.removeChild(r)}}),[]),m.current?a(e.createElement(c,r({},i)),m.current):null}export{l as default};
@@ -1,4 +1,5 @@
1
1
  import React, { CSSProperties, PropsWithChildren } from 'react';
2
+ import { ExposedScrollViewMethods } from './type';
2
3
  interface OnScrollParameters {
3
4
  x?: number;
4
5
  y?: number;
@@ -14,5 +15,5 @@ interface ScrollViewProps extends PropsWithChildren {
14
15
  onReachLeft?: (done: Function) => void;
15
16
  onReachRight?: (done: Function) => void;
16
17
  }
17
- declare function ScrollView(props?: ScrollViewProps): React.JSX.Element;
18
- export default ScrollView;
18
+ declare const _default: (props: ScrollViewProps & React.RefAttributes<ExposedScrollViewMethods>) => React.ReactNode;
19
+ export default _default;
@@ -1 +1 @@
1
- import{__assign as r}from"tslib";import{css as t}from"aphrodite/no-important";import e,{useRef as n,useMemo as o,useCallback as c}from"react";import l from"../utils.js";import u from"./styles.js";var i={style:{width:"100%",height:"100%"},horizontal:!1,vertical:!0,onScroll:function(){return null},threshold:50,onReachTop:function(r){return r()},onReachBottom:function(r){return r()},onReachLeft:function(r){return r()},onReachRight:function(r){return r()}};function f(f){void 0===f&&(f=i);var a=r(r({},i),f),h=a.style,s=a.children,d=a.horizontal,m=a.vertical,p=a.onScroll,v=a.threshold,R=a.onReachTop,b=a.onReachBottom,_=a.onReachLeft,g=a.onReachRight,y=n(0),T=n(0),w=n(!1),x=n(!1),L=n(!1),S=n(!1),E=o((function(){return r(r({},i.style),h)}),[h]),N=o((function(){return{overflowX:d?"scroll":"hidden",overflowY:m?"scroll":"hidden",scrollbarWidth:"none",msOverflowStyle:"none"}}),[d,m]),W=c((function(r){var t=r.currentTarget,e=t.scrollTop,n=t.scrollHeight,o=t.clientHeight;e>y.current?e+o>=n-v&&!x.current&&(x.current=!0,b((function(){return l.sleep(60).then((function(){return x.current=!1}))}))):e<y.current&&e<=0&&!w.current&&(w.current=!0,R((function(){return l.sleep(60).then((function(){return w.current=!1}))}))),y.current=e}),[v,b,R]),j=c((function(r){var t=r.currentTarget,e=t.scrollLeft,n=t.scrollWidth,o=t.clientWidth;e>T.current?e+o>=n-v&&!S.current&&(S.current=!0,g((function(){return l.sleep(60).then((function(){return S.current=!1}))}))):e<T.current&&e<=0&&!L.current&&(L.current=!0,_((function(){return l.sleep(60).then((function(){return L.current=!1}))}))),T.current=e}),[v,_,g]),z=c((function(r){j(r),W(r)}),[j,W]),B=c((function(r){var t=r.currentTarget,e=t.scrollTop,n=t.scrollLeft;p({x:n,y:e}),d&&m?z(r):d?j(r):m&&W(r)}),[d,m,p,j,W,z]);return e.createElement("div",{style:E,className:t(u.border_box)},e.createElement("div",{className:t(u.w_full,u.h_full,u.border_box)},e.createElement("div",{onScroll:B,style:N,className:t(u.border_box,u.w_full,u.h_full,u.scroll_bar_hide)},s)))}export{f as default};
1
+ import{__assign as r}from"tslib";import{css as t}from"aphrodite/no-important";import n,{forwardRef as e,useRef as o,useMemo as c,useCallback as l,useImperativeHandle as u}from"react";import i from"../utils.js";import a from"./styles.js";var f={style:{width:"100%",height:"100%"},horizontal:!1,vertical:!0,onScroll:function(){return null},threshold:50,onReachTop:function(r){return r()},onReachBottom:function(r){return r()},onReachLeft:function(r){return r()},onReachRight:function(r){return r()}},h={x:0,y:0,animation:!1};var s=e((function(e,s){void 0===e&&(e=f);var m=r(r({},f),e),d=m.style,v=m.children,p=m.horizontal,b=m.vertical,y=m.onScroll,R=m.threshold,_=m.onReachTop,g=m.onReachBottom,T=m.onReachLeft,x=m.onReachRight,w=o(null),L=o(0),S=o(0),E=o(!1),N=o(!1),W=o(!1),j=o(!1),z=c((function(){return r(r({},f.style),d)}),[d]),B=c((function(){return{overflowX:p?"scroll":"hidden",overflowY:b?"scroll":"hidden",scrollbarWidth:"none",msOverflowStyle:"none"}}),[p,b]),H=l((function(r){var t=r.currentTarget,n=t.scrollTop,e=t.scrollHeight,o=t.clientHeight;n>L.current?n+o>=e-R&&!N.current&&(N.current=!0,g((function(){return i.sleep(60).then((function(){return N.current=!1}))}))):n<L.current&&n<=0&&!E.current&&(E.current=!0,_((function(){return i.sleep(60).then((function(){return E.current=!1}))}))),L.current=n}),[R,g,_]),O=l((function(r){var t=r.currentTarget,n=t.scrollLeft,e=t.scrollWidth,o=t.clientWidth;n>S.current?n+o>=e-R&&!j.current&&(j.current=!0,x((function(){return i.sleep(60).then((function(){return j.current=!1}))}))):n<S.current&&n<=0&&!W.current&&(W.current=!0,T((function(){return i.sleep(60).then((function(){return W.current=!1}))}))),S.current=n}),[R,T,x]),X=l((function(r){O(r),H(r)}),[O,H]),Y=l((function(r){var t=r.currentTarget,n=t.scrollTop,e=t.scrollLeft;y({x:e,y:n}),p&&b?X(r):p?O(r):b&&H(r)}),[p,b,y,O,H,X]);return u(s,(function(){return{to:function(t){if(void 0===t&&(t=h),w.current){var n=r(r({},h),t),e=n.x,o=n.y,c=n.animation;w.current.scrollTo({left:e,top:o,behavior:c?"smooth":"auto"})}}}}),[]),n.createElement("div",{style:z,className:t(a.border_box)},n.createElement("div",{className:t(a.w_full,a.h_full,a.border_box)},n.createElement("div",{ref:w,onScroll:Y,style:B,className:t(a.border_box,a.w_full,a.h_full,a.scroll_bar_hide)},v)))}));export{s as default};
@@ -0,0 +1,8 @@
1
+ export interface ToParams {
2
+ x?: number;
3
+ y?: number;
4
+ animation?: boolean;
5
+ }
6
+ export interface ExposedScrollViewMethods {
7
+ to: (data?: ToParams) => void;
8
+ }
@@ -3,7 +3,6 @@ export { default as utils } from './utils';
3
3
  export { default as Card } from './Card';
4
4
  export { default as Container } from './Container';
5
5
  export { default as Loading } from './Loading';
6
- export { default as Menu } from './Menu';
7
6
  export { default as Popup } from './Popup';
8
7
  export { default as ScrollView } from './ScrollView';
9
8
  export { default as Swiper } from './Swiper';
package/dist/es/index.js CHANGED
@@ -1 +1 @@
1
- export{default as utils}from"./utils.js";export{default as Card}from"./Card/Card.js";export{default as Container}from"./Container/Container.js";export{default as Loading}from"./Loading/Loading.js";export{default as Menu}from"./Menu/Menu.js";export{default as Popup}from"./Popup/Popup.js";export{default as ScrollView}from"./ScrollView/ScrollView.js";export{default as Swiper}from"./Swiper/Swiper.js";
1
+ export{default as utils}from"./utils.js";export{default as Card}from"./Card/Card.js";export{default as Container}from"./Container/Container.js";export{default as Loading}from"./Loading/Loading.js";export{default as Popup}from"./Popup/Popup.js";export{default as ScrollView}from"./ScrollView/ScrollView.js";export{default as Swiper}from"./Swiper/Swiper.js";
package/dist/index.d.ts CHANGED
@@ -26,7 +26,7 @@ interface SwiperExposeMethods {
26
26
  declare function sleep(timestamp?: number, result?: boolean): Promise<boolean>;
27
27
  type parseUrlResponse = Record<string, string | (string | boolean)[] | boolean> | string | boolean | (string | boolean)[] | undefined;
28
28
  declare function parseUrl(key?: string): parseUrlResponse;
29
- declare const _default$1: {
29
+ declare const _default$2: {
30
30
  sleep: typeof sleep;
31
31
  parseUrl: typeof parseUrl;
32
32
  };
@@ -69,39 +69,6 @@ declare class Loading extends Component<LoadingProps, LoadingState> {
69
69
  componentWillUnmount(): void;
70
70
  }
71
71
 
72
- declare module 'react' {
73
- interface CSSProperties {
74
- '--size'?: string;
75
- '--strokeWidth'?: string;
76
- '--color'?: string;
77
- }
78
- }
79
- interface IconProps {
80
- iconSize?: string;
81
- iconStrokeWidth?: string;
82
- iconColor?: string;
83
- }
84
- interface ExposeDataType<T> {
85
- item: (T & {
86
- __index__: string;
87
- }) | null;
88
- active: string;
89
- }
90
- interface MenuProps<T> extends IconProps {
91
- data: T[];
92
- renderItem: (item: T, index: string) => ReactNode;
93
- onChange?: (data: ExposeDataType<T>['item']) => void;
94
- active?: string;
95
- childrenField?: string;
96
- icon?: ReactNode;
97
- activeIcon?: ReactNode;
98
- itemClassName?: string;
99
- itemLabelClassName?: string;
100
- activeItemClassName?: string;
101
- activeItemLabelClassName?: string;
102
- }
103
- declare function Menu<T extends unknown>(_props: MenuProps<T>): React.JSX.Element;
104
-
105
72
  declare module 'react' {
106
73
  interface CSSProperties {
107
74
  '--bg'?: string;
@@ -117,6 +84,15 @@ interface PopupProps extends PropsWithChildren {
117
84
  }
118
85
  declare function PopupContainer(_props: PopupProps): React.ReactPortal | null;
119
86
 
87
+ interface ToParams {
88
+ x?: number;
89
+ y?: number;
90
+ animation?: boolean;
91
+ }
92
+ interface ExposedScrollViewMethods {
93
+ to: (data?: ToParams) => void;
94
+ }
95
+
120
96
  interface OnScrollParameters {
121
97
  x?: number;
122
98
  y?: number;
@@ -132,11 +108,11 @@ interface ScrollViewProps extends PropsWithChildren {
132
108
  onReachLeft?: (done: Function) => void;
133
109
  onReachRight?: (done: Function) => void;
134
110
  }
135
- declare function ScrollView(props?: ScrollViewProps): React.JSX.Element;
111
+ declare const _default$1: (props: ScrollViewProps & React.RefAttributes<ExposedScrollViewMethods>) => React.ReactNode;
136
112
 
137
113
  declare module 'react' {
138
114
  function forwardRef<T, P = {}>(render: (props: P, ref: React.Ref<T>) => React.ReactNode | null): (props: P & React.RefAttributes<T>) => React.ReactNode | null;
139
115
  }
140
116
  declare const _default: <T extends unknown>(props: SwiperProps<T> & React.RefAttributes<SwiperExposeMethods>) => React.ReactNode;
141
117
 
142
- export { Card, Container, Loading, Menu, PopupContainer as Popup, type PopupPosition, type PopupType, ScrollView, _default as Swiper, type SwiperExposeMethods, type SwiperProps, _default$1 as utils };
118
+ export { Card, Container, Loading, PopupContainer as Popup, type PopupPosition, type PopupType, _default$1 as ScrollView, _default as Swiper, type SwiperExposeMethods, type SwiperProps, _default$2 as utils };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("aphrodite/no-important"),t=require("react"),n=require("react-dom"),i=require("./styles.js"),u={visible:!1,position:"bottom",duration:300,bg:"rgba(0,0,0,.3)",maskClosable:!0,popupType:"slide"};function a(e){var n=e.bg;return t.createElement("div",{style:{"--bg":n},className:r.css(i.default.container)})}exports.default=function(r){var i=e.__assign(e.__assign({},u),r),o=t.useRef(document.createElement("div"));return t.useEffect((function(){var e=o.current;return document.body.appendChild(e),function(){document.body.removeChild(e)}}),[]),o.current?n.createPortal(t.createElement(a,e.__assign({},i)),o.current):null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("aphrodite/no-important"),t=require("react"),n=require("react-dom"),i=require("./styles.js"),a={visible:!1,position:"bottom",duration:300,bg:"rgba(0,0,0,.3)",maskClosable:!0,popupType:"slide"};function u(e){var n=e.bg;e.visible,e.duration;var a=t.useState(!1);return a[0],a[1],t.createElement("div",{style:{"--bg":n},className:r.css(i.default.container)})}exports.default=function(r){var i=e.__assign(e.__assign({},a),r),s=t.useRef(document.createElement("div"));return t.useEffect((function(){var e=s.current;return document.body.appendChild(e),function(){document.body.removeChild(e)}}),[]),s.current?n.createPortal(t.createElement(u,e.__assign({},i)),s.current):null};
@@ -1,4 +1,5 @@
1
1
  import React, { CSSProperties, PropsWithChildren } from 'react';
2
+ import { ExposedScrollViewMethods } from './type';
2
3
  interface OnScrollParameters {
3
4
  x?: number;
4
5
  y?: number;
@@ -14,5 +15,5 @@ interface ScrollViewProps extends PropsWithChildren {
14
15
  onReachLeft?: (done: Function) => void;
15
16
  onReachRight?: (done: Function) => void;
16
17
  }
17
- declare function ScrollView(props?: ScrollViewProps): React.JSX.Element;
18
- export default ScrollView;
18
+ declare const _default: (props: ScrollViewProps & React.RefAttributes<ExposedScrollViewMethods>) => React.ReactNode;
19
+ export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("aphrodite/no-important"),t=require("react"),n=require("../utils.js"),u=require("./styles.js"),l={style:{width:"100%",height:"100%"},horizontal:!1,vertical:!0,onScroll:function(){return null},threshold:50,onReachTop:function(e){return e()},onReachBottom:function(e){return e()},onReachLeft:function(e){return e()},onReachRight:function(e){return e()}};exports.default=function(c){void 0===c&&(c=l);var o=e.__assign(e.__assign({},l),c),s=o.style,a=o.children,i=o.horizontal,f=o.vertical,d=o.onScroll,h=o.threshold,_=o.onReachTop,R=o.onReachBottom,v=o.onReachLeft,b=o.onReachRight,p=t.useRef(0),g=t.useRef(0),m=t.useRef(!1),y=t.useRef(!1),T=t.useRef(!1),w=t.useRef(!1),x=t.useMemo((function(){return e.__assign(e.__assign({},l.style),s)}),[s]),q=t.useMemo((function(){return{overflowX:i?"scroll":"hidden",overflowY:f?"scroll":"hidden",scrollbarWidth:"none",msOverflowStyle:"none"}}),[i,f]),k=t.useCallback((function(e){var r=e.currentTarget,t=r.scrollTop,u=r.scrollHeight,l=r.clientHeight;t>p.current?t+l>=u-h&&!y.current&&(y.current=!0,R((function(){return n.default.sleep(60).then((function(){return y.current=!1}))}))):t<p.current&&t<=0&&!m.current&&(m.current=!0,_((function(){return n.default.sleep(60).then((function(){return m.current=!1}))}))),p.current=t}),[h,R,_]),C=t.useCallback((function(e){var r=e.currentTarget,t=r.scrollLeft,u=r.scrollWidth,l=r.clientWidth;t>g.current?t+l>=u-h&&!w.current&&(w.current=!0,b((function(){return n.default.sleep(60).then((function(){return w.current=!1}))}))):t<g.current&&t<=0&&!T.current&&(T.current=!0,v((function(){return n.default.sleep(60).then((function(){return T.current=!1}))}))),g.current=t}),[h,v,b]),L=t.useCallback((function(e){C(e),k(e)}),[C,k]),S=t.useCallback((function(e){var r=e.currentTarget,t=r.scrollTop,n=r.scrollLeft;d({x:n,y:t}),i&&f?L(e):i?C(e):f&&k(e)}),[i,f,d,C,k,L]);return t.createElement("div",{style:x,className:r.css(u.default.border_box)},t.createElement("div",{className:r.css(u.default.w_full,u.default.h_full,u.default.border_box)},t.createElement("div",{onScroll:S,style:q,className:r.css(u.default.border_box,u.default.w_full,u.default.h_full,u.default.scroll_bar_hide)},a)))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("aphrodite/no-important"),t=require("react"),n=require("../utils.js"),u=require("./styles.js"),l={style:{width:"100%",height:"100%"},horizontal:!1,vertical:!0,onScroll:function(){return null},threshold:50,onReachTop:function(e){return e()},onReachBottom:function(e){return e()},onReachLeft:function(e){return e()},onReachRight:function(e){return e()}},o={x:0,y:0,animation:!1};var c=t.forwardRef((function(c,a){void 0===c&&(c=l);var s=e.__assign(e.__assign({},l),c),i=s.style,f=s.children,d=s.horizontal,h=s.vertical,_=s.onScroll,v=s.threshold,R=s.onReachTop,m=s.onReachBottom,b=s.onReachLeft,p=s.onReachRight,g=t.useRef(null),y=t.useRef(0),x=t.useRef(0),T=t.useRef(!1),w=t.useRef(!1),q=t.useRef(!1),k=t.useRef(!1),C=t.useMemo((function(){return e.__assign(e.__assign({},l.style),i)}),[i]),L=t.useMemo((function(){return{overflowX:d?"scroll":"hidden",overflowY:h?"scroll":"hidden",scrollbarWidth:"none",msOverflowStyle:"none"}}),[d,h]),S=t.useCallback((function(e){var r=e.currentTarget,t=r.scrollTop,u=r.scrollHeight,l=r.clientHeight;t>y.current?t+l>=u-v&&!w.current&&(w.current=!0,m((function(){return n.default.sleep(60).then((function(){return w.current=!1}))}))):t<y.current&&t<=0&&!T.current&&(T.current=!0,R((function(){return n.default.sleep(60).then((function(){return T.current=!1}))}))),y.current=t}),[v,m,R]),j=t.useCallback((function(e){var r=e.currentTarget,t=r.scrollLeft,u=r.scrollWidth,l=r.clientWidth;t>x.current?t+l>=u-v&&!k.current&&(k.current=!0,p((function(){return n.default.sleep(60).then((function(){return k.current=!1}))}))):t<x.current&&t<=0&&!q.current&&(q.current=!0,b((function(){return n.default.sleep(60).then((function(){return q.current=!1}))}))),x.current=t}),[v,b,p]),E=t.useCallback((function(e){j(e),S(e)}),[j,S]),H=t.useCallback((function(e){var r=e.currentTarget,t=r.scrollTop,n=r.scrollLeft;_({x:n,y:t}),d&&h?E(e):d?j(e):h&&S(e)}),[d,h,_,j,S,E]);return t.useImperativeHandle(a,(function(){return{to:function(r){if(void 0===r&&(r=o),g.current){var t=e.__assign(e.__assign({},o),r),n=t.x,u=t.y,l=t.animation;g.current.scrollTo({left:n,top:u,behavior:l?"smooth":"auto"})}}}}),[]),t.createElement("div",{style:C,className:r.css(u.default.border_box)},t.createElement("div",{className:r.css(u.default.w_full,u.default.h_full,u.default.border_box)},t.createElement("div",{ref:g,onScroll:H,style:L,className:r.css(u.default.border_box,u.default.w_full,u.default.h_full,u.default.scroll_bar_hide)},f)))}));exports.default=c;
@@ -0,0 +1,8 @@
1
+ export interface ToParams {
2
+ x?: number;
3
+ y?: number;
4
+ animation?: boolean;
5
+ }
6
+ export interface ExposedScrollViewMethods {
7
+ to: (data?: ToParams) => void;
8
+ }
@@ -3,7 +3,6 @@ export { default as utils } from './utils';
3
3
  export { default as Card } from './Card';
4
4
  export { default as Container } from './Container';
5
5
  export { default as Loading } from './Loading';
6
- export { default as Menu } from './Menu';
7
6
  export { default as Popup } from './Popup';
8
7
  export { default as ScrollView } from './ScrollView';
9
8
  export { default as Swiper } from './Swiper';
package/dist/lib/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("./utils.js"),r=require("./Card/Card.js"),u=require("./Container/Container.js"),i=require("./Loading/Loading.js"),t=require("./Menu/Menu.js"),o=require("./Popup/Popup.js"),s=require("./ScrollView/ScrollView.js"),a=require("./Swiper/Swiper.js");exports.utils=e.default,exports.Card=r.default,exports.Container=u.default,exports.Loading=i.default,exports.Menu=t.default,exports.Popup=o.default,exports.ScrollView=s.default,exports.Swiper=a.default;
1
+ "use strict";var e=require("./utils.js"),r=require("./Card/Card.js"),i=require("./Container/Container.js"),t=require("./Loading/Loading.js"),u=require("./Popup/Popup.js"),o=require("./ScrollView/ScrollView.js"),s=require("./Swiper/Swiper.js");exports.utils=e.default,exports.Card=r.default,exports.Container=i.default,exports.Loading=t.default,exports.Popup=u.default,exports.ScrollView=o.default,exports.Swiper=s.default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rox-react-components",
3
- "version": "0.0.32",
3
+ "version": "0.0.34",
4
4
  "main": "dist/lib/index.js",
5
5
  "module": "dist/es/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,7 +15,6 @@
15
15
  "carousel",
16
16
  "mobile carousel",
17
17
  "ps carousel",
18
- "menu",
19
18
  "loading",
20
19
  "container with ratio",
21
20
  "react swiper carousel pc mobile touch mouse",
@@ -1,34 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
- declare module 'react' {
3
- interface CSSProperties {
4
- '--size'?: string;
5
- '--strokeWidth'?: string;
6
- '--color'?: string;
7
- }
8
- }
9
- interface IconProps {
10
- iconSize?: string;
11
- iconStrokeWidth?: string;
12
- iconColor?: string;
13
- }
14
- interface ExposeDataType<T> {
15
- item: (T & {
16
- __index__: string;
17
- }) | null;
18
- active: string;
19
- }
20
- interface MenuProps<T> extends IconProps {
21
- data: T[];
22
- renderItem: (item: T, index: string) => ReactNode;
23
- onChange?: (data: ExposeDataType<T>['item']) => void;
24
- active?: string;
25
- childrenField?: string;
26
- icon?: ReactNode;
27
- activeIcon?: ReactNode;
28
- itemClassName?: string;
29
- itemLabelClassName?: string;
30
- activeItemClassName?: string;
31
- activeItemLabelClassName?: string;
32
- }
33
- declare function Menu<T extends unknown>(_props: MenuProps<T>): React.JSX.Element;
34
- export default Menu;
@@ -1 +0,0 @@
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 o,useContext as l}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",itemClassName:"",itemLabelClassName:"",activeItemClassName:"",activeItemLabelClassName:""},s=a({active:"",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],_=d[1],p=a.item,C=a.index,x=a.childrenField,E=a.renderItem,N=a.activeIcon,g=a.icon,b=a.itemClassName,w=a.itemLabelClassName,I=a.activeItemClassName,k=a.activeItemLabelClassName,y=a.active,F=l(s),S=F.changeData;F.active;var L=C.split("-").length,z=Array.isArray(p[x])&&p[x].length?p[x]:null,D=i((function(){return p&&!z&&y===p.__index__}),[p,y,z]),W=c((function(e){e.stopPropagation(),z||S({item:p}),_((function(e){return!e}))}),[z,S,p]);return o((function(){D&&S({item:p})}),[D,p]),o((function(){(null==y?void 0:y.includes(C))&&_(!0)}),[y,C]),n.createElement("div",{className:t(u.w_full,u.border_box),onClick:W},n.createElement("div",{className:"".concat(t(u.item)," item-").concat(L," ").concat(b," ").concat(D?I:"")},n.createElement("div",{className:"".concat(t(u.flex_1)," ").concat(w," ").concat(D?k:"")},E(p,C)),n.createElement(n.Fragment,null,z?h?N||n.createElement(f,e({},a,{down:!0})):g||n.createElement(f,e({},a)):null)),z?z.map((function(i,r){return n.createElement("div",{key:r,className:"".concat(t(u.w_full,u.border_box)," sub-item-").concat(L)},n.createElement(m,{expand:h},n.createElement(v,e({},a,{index:C+"-"+r,item:i}))))})):null)}function h(t){var a=i((function(){return function e(n,a){n.forEach((function(n,i){n.__index__=void 0!==a?a+"-"+i:i.toString(),n[t.childrenField]&&e(n[t.childrenField],n.__index__)}))}(t.data),t.data}),[t.data,t.childrenField]),l=i((function(){return e(e(e({},d),t),{data:a})}),[t,a]),m=r({active:"",item:null}),u=m[0],f=m[1],h=c((function(t){return f((function(n){return e(e({},n),t)}))}),[]);return o((function(){var e;u.item&&(null===(e=l.onChange)||void 0===e||e.call(l,u.item))}),[u.active]),n.createElement(s.Provider,{value:{active:u.active,changeData:h}},l.data.map((function(t,a){return n.createElement(v,e({key:a},l,{index:a.toString(),item:t}))})))}export{h as default};
@@ -1,2 +0,0 @@
1
- import RoxMenu from './Menu';
2
- export default RoxMenu;
@@ -1 +0,0 @@
1
- import e from"./Menu.js";export{e as default};
@@ -1,9 +0,0 @@
1
- declare const styles: {
2
- w_full: object;
3
- border_box: object;
4
- item: object;
5
- flex_1: object;
6
- arrow_right: object;
7
- arrow_down: object;
8
- };
9
- export default styles;
@@ -1 +0,0 @@
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};
@@ -1,34 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
- declare module 'react' {
3
- interface CSSProperties {
4
- '--size'?: string;
5
- '--strokeWidth'?: string;
6
- '--color'?: string;
7
- }
8
- }
9
- interface IconProps {
10
- iconSize?: string;
11
- iconStrokeWidth?: string;
12
- iconColor?: string;
13
- }
14
- interface ExposeDataType<T> {
15
- item: (T & {
16
- __index__: string;
17
- }) | null;
18
- active: string;
19
- }
20
- interface MenuProps<T> extends IconProps {
21
- data: T[];
22
- renderItem: (item: T, index: string) => ReactNode;
23
- onChange?: (data: ExposeDataType<T>['item']) => void;
24
- active?: string;
25
- childrenField?: string;
26
- icon?: ReactNode;
27
- activeIcon?: ReactNode;
28
- itemClassName?: string;
29
- itemLabelClassName?: string;
30
- activeItemClassName?: string;
31
- activeItemLabelClassName?: string;
32
- }
33
- declare function Menu<T extends unknown>(_props: MenuProps<T>): React.JSX.Element;
34
- export default Menu;
@@ -1 +0,0 @@
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:"",childrenField:"children",iconSize:"10px",iconColor:"#333",iconStrokeWidth:"2px",itemClassName:"",itemLabelClassName:"",activeItemClassName:"",activeItemLabelClassName:""},r=n.createContext({active:"",changeData:function(){return null}});function l(e){var a=e.iconSize,c=e.iconStrokeWidth,r=e.iconColor,l=e.down;return n.createElement("div",{style:{"--size":a,"--strokeWidth":c,"--color":r},className:"".concat(t.css(i.default.arrow_right)," ").concat(l?t.css(i.default.arrow_down):"")})}function s(c){var o=n.useState(!1),u=o[0],d=o[1],m=c.item,f=c.index,_=c.childrenField,v=c.renderItem,g=c.activeIcon,h=c.icon,C=c.itemClassName,x=c.itemLabelClassName,E=c.activeItemClassName,b=c.activeItemLabelClassName,p=c.active,N=n.useContext(r),k=N.changeData;N.active;var S=f.split("-").length,w=Array.isArray(m[_])&&m[_].length?m[_]:null,y=n.useMemo((function(){return m&&!w&&p===m.__index__}),[m,p,w]),I=n.useCallback((function(e){e.stopPropagation(),w||k({item:m}),d((function(e){return!e}))}),[w,k,m]);return n.useEffect((function(){y&&k({item:m})}),[y,m]),n.useEffect((function(){(null==p?void 0:p.includes(f))&&d(!0)}),[p,f]),n.createElement("div",{className:t.css(i.default.w_full,i.default.border_box),onClick:I},n.createElement("div",{className:"".concat(t.css(i.default.item)," item-").concat(S," ").concat(C," ").concat(y?E:"")},n.createElement("div",{className:"".concat(t.css(i.default.flex_1)," ").concat(x," ").concat(y?b:"")},v(m,f)),n.createElement(n.Fragment,null,w?u?g||n.createElement(l,e.__assign({},c,{down:!0})):h||n.createElement(l,e.__assign({},c)):null)),w?w.map((function(r,l){return n.createElement("div",{key:l,className:"".concat(t.css(i.default.w_full,i.default.border_box)," sub-item-").concat(S)},n.createElement(a.default,{expand:u},n.createElement(s,e.__assign({},c,{index:f+"-"+l,item:r}))))})):null)}exports.default=function(t){var a=n.useMemo((function(){return function e(n,a){n.forEach((function(n,i){n.__index__=void 0!==a?a+"-"+i:i.toString(),n[t.childrenField]&&e(n[t.childrenField],n.__index__)}))}(t.data),t.data}),[t.data,t.childrenField]),i=n.useMemo((function(){return e.__assign(e.__assign(e.__assign({},c),t),{data:a})}),[t,a]),l=n.useState({active:"",item:null}),o=l[0],u=l[1],d=n.useCallback((function(t){return u((function(n){return e.__assign(e.__assign({},n),t)}))}),[]);return n.useEffect((function(){var e;o.item&&(null===(e=i.onChange)||void 0===e||e.call(i,o.item))}),[o.active]),n.createElement(r.Provider,{value:{active:o.active,changeData:d}},i.data.map((function(t,a){return n.createElement(s,e.__assign({key:a},i,{index:a.toString(),item:t}))})))};
@@ -1,2 +0,0 @@
1
- import RoxMenu from './Menu';
2
- export default RoxMenu;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Menu.js");exports.default=e.default;
@@ -1,9 +0,0 @@
1
- declare const styles: {
2
- w_full: object;
3
- border_box: object;
4
- item: object;
5
- flex_1: object;
6
- arrow_right: object;
7
- arrow_down: object;
8
- };
9
- export default styles;
@@ -1 +0,0 @@
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;