etendo-ui-library 1.3.57 → 1.3.59

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 (39) hide show
  1. package/dist-native/components/cards/Cards.js +1 -1
  2. package/dist-native/components/cards/Cards.types.d.ts +8 -13
  3. package/dist-native/components/cards/components/card/Card.js +1 -1
  4. package/dist-native/components/cards/components/card/Card.types.d.ts +2 -2
  5. package/dist-native/components/cards/components/card/components/switchRowCard/SwitchRowCard.type.d.ts +2 -2
  6. package/dist-native/components/cards/components/card/components/switchStateCards/SwitchStateCards.types.d.ts +2 -2
  7. package/dist-native/components/cards/components/card/components/switchTitleCard/SwitchTitleCard.type.d.ts +2 -2
  8. package/dist-native/components/containers/titleContainer/TitleContainer.default.d.ts +4 -1
  9. package/dist-native/components/containers/titleContainer/TitleContainer.default.js +1 -1
  10. package/dist-native/components/containers/titleContainer/TitleContainer.js +1 -1
  11. package/dist-native/components/containers/titleContainer/TitleContainer.types.d.ts +1 -0
  12. package/dist-native/components/table/Table.types.d.ts +12 -18
  13. package/dist-native/helpers/cards_utils.d.ts +2 -2
  14. package/dist-native/helpers/cards_utils.js +1 -1
  15. package/dist-native/helpers/table_utils.d.ts +2 -2
  16. package/dist-native/helpers/table_utils.js +1 -1
  17. package/dist-native/interfaces/table.interface.d.ts +18 -0
  18. package/dist-native/interfaces/table.interface.js +1 -0
  19. package/dist-native/types/table.types.d.ts +1 -8
  20. package/dist-web/components/cards/Cards.js +4 -3
  21. package/dist-web/components/cards/Cards.types.d.ts +8 -13
  22. package/dist-web/components/cards/components/card/Card.js +1 -1
  23. package/dist-web/components/cards/components/card/Card.types.d.ts +2 -2
  24. package/dist-web/components/cards/components/card/components/switchRowCard/SwitchRowCard.type.d.ts +2 -2
  25. package/dist-web/components/cards/components/card/components/switchStateCards/SwitchStateCards.types.d.ts +2 -2
  26. package/dist-web/components/cards/components/card/components/switchTitleCard/SwitchTitleCard.type.d.ts +2 -2
  27. package/dist-web/components/containers/titleContainer/TitleContainer.default.d.ts +4 -1
  28. package/dist-web/components/containers/titleContainer/TitleContainer.default.js +4 -1
  29. package/dist-web/components/containers/titleContainer/TitleContainer.js +41 -6
  30. package/dist-web/components/containers/titleContainer/TitleContainer.types.d.ts +1 -0
  31. package/dist-web/components/table/Table.types.d.ts +12 -18
  32. package/dist-web/helpers/cards_utils.d.ts +2 -2
  33. package/dist-web/helpers/cards_utils.js +2 -2
  34. package/dist-web/helpers/table_utils.d.ts +2 -2
  35. package/dist-web/helpers/table_utils.js +3 -1
  36. package/dist-web/interfaces/table.interface.d.ts +18 -0
  37. package/dist-web/interfaces/table.interface.js +1 -0
  38. package/dist-web/types/table.types.d.ts +1 -8
  39. package/package.json +1 -1
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _Cards=require("./Cards.style");var _SkeletonCard=_interopRequireDefault(require("./components/card/components/skeletonCard/SkeletonCard"));var _SwitchStateCards=_interopRequireDefault(require("./components/card/components/switchStateCards/SwitchStateCards"));var _button=require("../button");var _icons=require("../../assets/images/icons");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/cards/Cards.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var SCROLL_EVENT_THROTTLE=16;var BUFFER=50;var Cards=function Cards(_ref){var data=_ref.data,metadata=_ref.metadata,title=_ref.title,onPressCard=_ref.onPressCard,cardsHeight=_ref.cardsHeight,textEmptyCards=_ref.textEmptyCards,commentEmptyCards=_ref.commentEmptyCards,onLoadMoreData=_ref.onLoadMoreData,onAddNewData=_ref.onAddNewData,backgroundColor=_ref.backgroundColor,currentPage=_ref.currentPage,pageSize=_ref.pageSize,isLoading=_ref.isLoading,isLoadingMoreData=_ref.isLoadingMoreData;var _useState=(0,_react.useState)(0),_useState2=(0,_slicedToArray2.default)(_useState,2),containerHeight=_useState2[0],setContainerHeight=_useState2[1];var _useState3=(0,_react.useState)(0),_useState4=(0,_slicedToArray2.default)(_useState3,2),contentHeight=_useState4[0],setContentHeight=_useState4[1];var scrollViewRef=(0,_react.useRef)(null);(0,_react.useEffect)(function(){if(isLoading&&data.length){var _scrollViewRef$curren;(_scrollViewRef$curren=scrollViewRef.current)==null?void 0:_scrollViewRef$curren.scrollToEnd({animated:true});}},[isLoading]);(0,_react.useEffect)(function(){if(containerHeight>contentHeight&&data.length){handleLoadMore();}},[containerHeight,contentHeight,data]);var handleLoadMore=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(){if(!isLoading&&onLoadMoreData&&isLoadingMoreData){onLoadMoreData(currentPage,pageSize);}});return function handleLoadMore(){return _ref2.apply(this,arguments);};}();var isAtEndOfScroll=function isAtEndOfScroll(_ref3){var layoutMeasurement=_ref3.layoutMeasurement,contentOffset=_ref3.contentOffset,contentSize=_ref3.contentSize;return layoutMeasurement.height+contentOffset.y>=contentSize.height-BUFFER;};var onScroll=function onScroll(event){if(isAtEndOfScroll(event.nativeEvent)){handleLoadMore();}};var onLayout=function onLayout(event){var height=event.nativeEvent.layout.height;setContainerHeight(height);};return _react.default.createElement(_reactNative.View,{onLayout:onLayout,style:[{maxHeight:cardsHeight},_Cards.styles.container,{backgroundColor:backgroundColor}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:81,columnNumber:5}},(title||onAddNewData)&&_react.default.createElement(_reactNative.View,{style:_Cards.styles.titleContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:89,columnNumber:9}},title&&_react.default.createElement(_reactNative.View,{style:_Cards.styles.titleTextContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:91,columnNumber:13}},_react.default.createElement(_reactNative.Text,{style:_Cards.styles.title,__self:_this,__source:{fileName:_jsxFileName,lineNumber:92,columnNumber:15}},title),_react.default.createElement(_reactNative.Text,{style:_Cards.styles.title,__self:_this,__source:{fileName:_jsxFileName,lineNumber:93,columnNumber:15}}," (",data.length,")")),_react.default.createElement(_reactNative.View,{style:_Cards.styles.buttonContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:96,columnNumber:11}},onAddNewData&&_react.default.createElement(_button.Button,{onPress:onAddNewData,typeStyle:'primary',height:40,width:40,iconLeft:_react.default.createElement(_icons.MoreIcon,{style:_Cards.styles.plus,__self:_this,__source:{fileName:_jsxFileName,lineNumber:103,columnNumber:27}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:98,columnNumber:15}}))),_react.default.createElement(_reactNative.ScrollView,{ref:scrollViewRef,style:_Cards.styles.containerFlex,onScroll:onScroll,scrollEventThrottle:SCROLL_EVENT_THROTTLE,onContentSizeChange:function onContentSizeChange(contentWidth,contentHeight){return setContentHeight(contentHeight);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:109,columnNumber:7}},_react.default.createElement(_SwitchStateCards.default,{data:data,isLoading:isLoading,metadata:metadata,onPressCard:onPressCard,commentEmptyCards:commentEmptyCards,textEmptyCards:textEmptyCards,tableHeight:containerHeight,isTitle:!!title&&!!onAddNewData,__self:_this,__source:{fileName:_jsxFileName,lineNumber:117,columnNumber:9}}),!!data.length&&isLoading&&isLoadingMoreData&&_react.default.createElement(_SkeletonCard.default,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:127,columnNumber:61}})));};var _default=exports.default=Cards;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _Cards=require("./Cards.style");var _SkeletonCard=_interopRequireDefault(require("./components/card/components/skeletonCard/SkeletonCard"));var _SwitchStateCards=_interopRequireDefault(require("./components/card/components/switchStateCards/SwitchStateCards"));var _button=require("../button");var _icons=require("../../assets/images/icons");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/cards/Cards.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var SCROLL_EVENT_THROTTLE=16;var BUFFER=50;var Cards=function Cards(_ref){var data=_ref.data,metadata=_ref.metadata,title=_ref.title,onPressCard=_ref.onPressCard,cardsHeight=_ref.cardsHeight,textEmptyCards=_ref.textEmptyCards,commentEmptyCards=_ref.commentEmptyCards,onLoadMoreData=_ref.onLoadMoreData,onAddNewData=_ref.onAddNewData,backgroundColor=_ref.backgroundColor,currentPage=_ref.currentPage,pageSize=_ref.pageSize,isLoading=_ref.isLoading,isLoadingMoreData=_ref.isLoadingMoreData;var _useState=(0,_react.useState)(0),_useState2=(0,_slicedToArray2.default)(_useState,2),containerHeight=_useState2[0],setContainerHeight=_useState2[1];var _useState3=(0,_react.useState)(0),_useState4=(0,_slicedToArray2.default)(_useState3,2),contentHeight=_useState4[0],setContentHeight=_useState4[1];var scrollViewRef=(0,_react.useRef)(null);(0,_react.useEffect)(function(){if(isLoading&&data.length){var _scrollViewRef$curren;(_scrollViewRef$curren=scrollViewRef.current)==null?void 0:_scrollViewRef$curren.scrollToEnd({animated:true});}},[isLoading,data]);(0,_react.useEffect)(function(){if(containerHeight>contentHeight&&data.length){handleLoadMore();}},[containerHeight,contentHeight,data]);var handleLoadMore=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(){if(!isLoading&&onLoadMoreData&&isLoadingMoreData){onLoadMoreData(currentPage,pageSize);}});return function handleLoadMore(){return _ref2.apply(this,arguments);};}();var isAtEndOfScroll=function isAtEndOfScroll(_ref3){var layoutMeasurement=_ref3.layoutMeasurement,contentOffset=_ref3.contentOffset,contentSize=_ref3.contentSize;return layoutMeasurement.height+contentOffset.y>=contentSize.height-BUFFER;};var onScroll=function onScroll(event){if(isAtEndOfScroll(event.nativeEvent)){handleLoadMore();}};var onLayout=function onLayout(event){var height=event.nativeEvent.layout.height;setContainerHeight(height);};return _react.default.createElement(_reactNative.View,{onLayout:onLayout,style:[{maxHeight:cardsHeight},_Cards.styles.container,{backgroundColor:backgroundColor}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:82,columnNumber:5}},(title||onAddNewData)&&_react.default.createElement(_reactNative.View,{style:_Cards.styles.titleContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:90,columnNumber:9}},title&&_react.default.createElement(_reactNative.View,{style:_Cards.styles.titleTextContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:92,columnNumber:13}},_react.default.createElement(_reactNative.Text,{style:_Cards.styles.title,__self:_this,__source:{fileName:_jsxFileName,lineNumber:93,columnNumber:15}},title),_react.default.createElement(_reactNative.Text,{style:_Cards.styles.title,__self:_this,__source:{fileName:_jsxFileName,lineNumber:94,columnNumber:15}}," (",data.length,")")),_react.default.createElement(_reactNative.View,{style:_Cards.styles.buttonContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:97,columnNumber:11}},onAddNewData&&_react.default.createElement(_button.Button,{onPress:onAddNewData,typeStyle:'primary',height:40,width:40,iconLeft:_react.default.createElement(_icons.MoreIcon,{style:_Cards.styles.plus,__self:_this,__source:{fileName:_jsxFileName,lineNumber:104,columnNumber:27}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:99,columnNumber:15}}))),_react.default.createElement(_reactNative.ScrollView,{ref:scrollViewRef,style:_Cards.styles.containerFlex,onScroll:onScroll,scrollEventThrottle:SCROLL_EVENT_THROTTLE,onContentSizeChange:function onContentSizeChange(_contentWidth,contentHeightChange){return setContentHeight(contentHeightChange);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:110,columnNumber:7}},_react.default.createElement(_SwitchStateCards.default,{data:data,isLoading:isLoading,metadata:metadata,onPressCard:onPressCard,commentEmptyCards:commentEmptyCards,textEmptyCards:textEmptyCards,tableHeight:containerHeight,isTitle:!!title&&!!onAddNewData,__self:_this,__source:{fileName:_jsxFileName,lineNumber:118,columnNumber:9}}),!!data.length&&isLoading&&isLoadingMoreData&&_react.default.createElement(_SkeletonCard.default,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:128,columnNumber:61}})));};var _default=exports.default=Cards;
@@ -1,18 +1,13 @@
1
1
  import { ColorValue, DimensionValue } from 'react-native';
2
- import { Metadata } from '../../types/table.types';
3
- export interface CardsProps {
4
- data: any[];
5
- metadata: Metadata[];
6
- title?: string;
2
+ import { CommonTableProps, Metadata } from '../../interfaces/table.interface';
3
+ export interface CardsMetadata extends Metadata {
4
+ }
5
+ export interface CardsProps extends CommonTableProps {
6
+ backgroundColor?: ColorValue;
7
7
  cardsHeight?: DimensionValue;
8
- onPressCard?: (primary: string) => void;
9
- isLoading?: boolean;
10
- textEmptyCards?: string;
11
8
  commentEmptyCards?: string;
12
- onLoadMoreData?: (currentPage?: number, pageSize?: number) => void;
13
- currentPage?: number;
14
- isLoadingMoreData?: boolean;
9
+ metadata: CardsMetadata[];
15
10
  onAddNewData?: () => void;
16
- backgroundColor?: ColorValue;
17
- pageSize?: number;
11
+ onPressCard?: (primary: string) => void;
12
+ textEmptyCards?: string;
18
13
  }
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _table_utils=require("../../../../helpers/table_utils");var _Card=require("./Card.style");var _colors=require("../../../../styles/colors");var _SwitchRowCard=_interopRequireDefault(require("./components/switchRowCard/SwitchRowCard"));var _SwitchTitleCard=_interopRequireDefault(require("./components/switchTitleCard/SwitchTitleCard"));var _cards_utils=require("../../../../helpers/cards_utils");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/cards/components/card/Card.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var MAX_ROWS=4;var Card=function Card(_ref){var item=_ref.item,index=_ref.index,metadata=_ref.metadata,_onPress=_ref.onPress;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isPressable=_useState2[0],setIsPressable=_useState2[1];var _useState3=(0,_react.useState)({shadowOpacity:0.1}),_useState4=(0,_slicedToArray2.default)(_useState3,2),shadowOpacity=_useState4[0],setShadowOpacity=_useState4[1];var onHoverIn=function onHoverIn(){setShadowOpacity({shadowOpacity:0.2});};var onHoverOut=function onHoverOut(){setShadowOpacity({shadowOpacity:0.1});};var onPressIn=function onPressIn(){setIsPressable(true);};var onPressOut=function onPressOut(){setIsPressable(false);};var isDisabled=function isDisabled(){return item.isActive===false;};var changeBackground=function changeBackground(){if(isDisabled()||isPressable){return{backgroundColor:_colors.NEUTRAL_200};}return{backgroundColor:_Card.styles.container.backgroundColor};};var changeStatusBackground=function changeStatusBackground(){if(isDisabled()){return{backgroundColor:_colors.NEUTRAL_400};}if(item.color){return{backgroundColor:item.color};}return{backgroundColor:_colors.TERTIARY_800};};var changeTextColor=function changeTextColor(){if(isDisabled()){return{color:_colors.NEUTRAL_500};}return{};};var getColumnTitle=(0,_react.useMemo)(function(){return(0,_cards_utils.findRowTitle)(metadata);},[metadata,item]);return _react.default.createElement(_reactNative.Pressable,{disabled:isDisabled(),onHoverIn:onHoverIn,onHoverOut:onHoverOut,onPressIn:onPressIn,onPressOut:onPressOut,onPress:function onPress(){if(_onPress){_onPress((0,_table_utils.findPrimaryId)(metadata,item));}},__self:_this,__source:{fileName:_jsxFileName,lineNumber:72,columnNumber:5}},_react.default.createElement(_reactNative.Animated.View,{style:[_Card.styles.container,changeBackground(),shadowOpacity],__self:_this,__source:{fileName:_jsxFileName,lineNumber:83,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:[_Card.styles.status,changeStatusBackground()],__self:_this,__source:{fileName:_jsxFileName,lineNumber:85,columnNumber:9}}),_react.default.createElement(_SwitchTitleCard.default,{row:getColumnTitle,item:item,color:changeTextColor(),__self:_this,__source:{fileName:_jsxFileName,lineNumber:86,columnNumber:9}}),metadata.filter(function(row){return row.visible;}).slice(0,MAX_ROWS).map(function(row,rowIndex){return row.visible&&!row.title&&_react.default.createElement(_SwitchRowCard.default,{key:'rowCard'+index+rowIndex,row:row,item:item,color:changeTextColor(),backgroundColor:changeBackground(),__self:_this,__source:{fileName:_jsxFileName,lineNumber:98,columnNumber:17}});})));};var _default=exports.default=Card;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _table_utils=require("../../../../helpers/table_utils");var _Card=require("./Card.style");var _colors=require("../../../../styles/colors");var _SwitchRowCard=_interopRequireDefault(require("./components/switchRowCard/SwitchRowCard"));var _SwitchTitleCard=_interopRequireDefault(require("./components/switchTitleCard/SwitchTitleCard"));var _cards_utils=require("../../../../helpers/cards_utils");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/cards/components/card/Card.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var MAX_ROWS=4;var Card=function Card(_ref){var item=_ref.item,index=_ref.index,metadata=_ref.metadata,_onPress=_ref.onPress;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isPressable=_useState2[0],setIsPressable=_useState2[1];var _useState3=(0,_react.useState)({shadowOpacity:0.1}),_useState4=(0,_slicedToArray2.default)(_useState3,2),shadowOpacity=_useState4[0],setShadowOpacity=_useState4[1];var onHoverIn=function onHoverIn(){setShadowOpacity({shadowOpacity:0.2});};var onHoverOut=function onHoverOut(){setShadowOpacity({shadowOpacity:0.1});};var onPressIn=function onPressIn(){setIsPressable(true);};var onPressOut=function onPressOut(){setIsPressable(false);};var isDisabled=function isDisabled(){return item.isActive===false;};var changeBackground=function changeBackground(){if(isDisabled()||isPressable){return{backgroundColor:_colors.NEUTRAL_200};}return{backgroundColor:_Card.styles.container.backgroundColor};};var changeStatusBackground=function changeStatusBackground(){if(isDisabled()){return{backgroundColor:_colors.NEUTRAL_400};}if(item.color){return{backgroundColor:item.color};}return{backgroundColor:_colors.TERTIARY_800};};var changeTextColor=function changeTextColor(){if(isDisabled()){return{color:_colors.NEUTRAL_500};}return{};};var getColumnTitle=(0,_react.useMemo)(function(){return(0,_cards_utils.findRowTitle)(metadata);},[metadata]);return _react.default.createElement(_reactNative.Pressable,{disabled:isDisabled(),onHoverIn:onHoverIn,onHoverOut:onHoverOut,onPressIn:onPressIn,onPressOut:onPressOut,onPress:function onPress(){if(_onPress){_onPress((0,_table_utils.findPrimaryId)(metadata,item));}},__self:_this,__source:{fileName:_jsxFileName,lineNumber:72,columnNumber:5}},_react.default.createElement(_reactNative.Animated.View,{style:[_Card.styles.container,changeBackground(),shadowOpacity],__self:_this,__source:{fileName:_jsxFileName,lineNumber:83,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:[_Card.styles.status,changeStatusBackground()],__self:_this,__source:{fileName:_jsxFileName,lineNumber:85,columnNumber:9}}),_react.default.createElement(_SwitchTitleCard.default,{row:getColumnTitle,item:item,color:changeTextColor(),__self:_this,__source:{fileName:_jsxFileName,lineNumber:86,columnNumber:9}}),metadata.filter(function(row){return row.visible;}).slice(0,MAX_ROWS).map(function(row,rowIndex){return row.visible&&!row.title&&_react.default.createElement(_SwitchRowCard.default,{key:'rowCard'+index+rowIndex,row:row,item:item,color:changeTextColor(),backgroundColor:changeBackground(),__self:_this,__source:{fileName:_jsxFileName,lineNumber:98,columnNumber:17}});})));};var _default=exports.default=Card;
@@ -1,7 +1,7 @@
1
- import { Metadata } from '../../../../types/table.types';
1
+ import { CardsMetadata } from '../../Cards.types';
2
2
  export interface CardProps {
3
3
  item: any;
4
4
  index: number;
5
- metadata: Metadata[];
5
+ metadata: CardsMetadata[];
6
6
  onPress?: (primary: string) => void;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { ViewStyle, TextStyle } from 'react-native';
2
- import { Metadata } from '../../../../../../types/table.types';
2
+ import { CardsMetadata } from '../../../../Cards.types';
3
3
  export interface SwitchRowCardProps {
4
- row?: Metadata;
4
+ row?: CardsMetadata;
5
5
  item: any;
6
6
  color: TextStyle | undefined;
7
7
  margin?: boolean;
@@ -1,8 +1,8 @@
1
1
  import { DimensionValue } from 'react-native';
2
- import { Metadata } from '../../../../../../types/table.types';
2
+ import { CardsMetadata } from '../../../../Cards.types';
3
3
  export interface SwitchStateCardsProps {
4
4
  data: Array<any>;
5
- metadata: Metadata[];
5
+ metadata: CardsMetadata[];
6
6
  isLoading?: boolean;
7
7
  onPressCard?: (primary: string) => void;
8
8
  textEmptyCards?: string;
@@ -1,7 +1,7 @@
1
1
  import { TextStyle } from 'react-native';
2
- import { Metadata } from '../../../../../../types/table.types';
2
+ import { CardsMetadata } from '../../../../Cards.types';
3
3
  export interface SwitchTitleCardProps {
4
- row?: Metadata;
4
+ row?: CardsMetadata;
5
5
  item: any;
6
6
  color?: TextStyle;
7
7
  }
@@ -11,6 +11,9 @@ export declare const DEFAULT: {
11
11
  flexDirection: "row" | "column";
12
12
  justifyContent: "flex-start" | "space-between";
13
13
  alignItems: "flex-start";
14
- gap: number;
14
+ flexWrap: "wrap";
15
+ };
16
+ BUTTON_CONTAINER: {
17
+ width: number;
15
18
  };
16
19
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.DEFAULT=void 0;var _reactNative=require("react-native");var _table_utils=require("../../../helpers/table_utils");var _colors=require("../../../styles/colors");var DEFAULT=exports.DEFAULT=_reactNative.StyleSheet.create({TITLE_STYLE:{fontSize:29,fontWeight:'600',textAlign:'left',marginBottom:6,color:_colors.PRIMARY_100},TITLE_CONTAINER:{display:'flex',flexDirection:_table_utils.isDeviceTablet?'row':'column',justifyContent:_table_utils.isDeviceTablet?'space-between':'flex-start',alignItems:'flex-start',gap:12}});
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.DEFAULT=void 0;var _reactNative=require("react-native");var _table_utils=require("../../../helpers/table_utils");var _colors=require("../../../styles/colors");var DEFAULT=exports.DEFAULT=_reactNative.StyleSheet.create({TITLE_STYLE:{fontSize:29,fontWeight:'600',textAlign:'left',marginBottom:6,color:_colors.PRIMARY_100},TITLE_CONTAINER:{display:'flex',flexDirection:_table_utils.isDeviceTablet?'row':'column',justifyContent:_table_utils.isDeviceTablet?'space-between':'flex-start',alignItems:'flex-start',flexWrap:'wrap'},BUTTON_CONTAINER:{width:24}});
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _TitleContainer=require("./TitleContainer.default");var _buttonContainer=require("../buttonContainer");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/containers/titleContainer/TitleContainer.tsx";var TitleContainer=function TitleContainer(_ref){var buttons=_ref.buttons,style=_ref.style,title=_ref.title,textStyle=_ref.textStyle;return _react.default.createElement(_reactNative.View,{style:[_TitleContainer.DEFAULT.TITLE_CONTAINER,style],__self:_this,__source:{fileName:_jsxFileName,lineNumber:14,columnNumber:5}},_react.default.createElement(_reactNative.Text,{style:[_TitleContainer.DEFAULT.TITLE_STYLE,textStyle],__self:_this,__source:{fileName:_jsxFileName,lineNumber:15,columnNumber:7}},title),buttons&&_react.default.createElement(_buttonContainer.ButtonContainer,{buttons:buttons,style:{paddingVertical:0},__self:_this,__source:{fileName:_jsxFileName,lineNumber:17,columnNumber:9}}));};var _default=exports.default=TitleContainer;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _TitleContainer=require("./TitleContainer.default");var _buttonContainer=require("../buttonContainer");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/containers/titleContainer/TitleContainer.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var TitleContainer=function TitleContainer(_ref){var buttons=_ref.buttons,style=_ref.style,title=_ref.title,textStyle=_ref.textStyle,buttonsGap=_ref.buttonsGap;var _useState=(0,_react.useState)([]),_useState2=(0,_slicedToArray2.default)(_useState,2),arrayOfButtons=_useState2[0],setArrayOfButtons=_useState2[1];(0,_react.useEffect)(function(){var renderButtonsWithGaps=function renderButtonsWithGaps(buttonsList){var result=[];for(var i=0;i<buttonsList.length;i++){result.push(buttonsList[i]);if(i<buttonsList.length-1){result.push(_react.default.createElement(_reactNative.View,{style:[_TitleContainer.DEFAULT.BUTTON_CONTAINER,buttonsGap?{width:buttonsGap}:null],key:"view-"+i,__self:_this,__source:{fileName:_jsxFileName,lineNumber:24,columnNumber:13}}));}}return result;};if(buttons){setArrayOfButtons(renderButtonsWithGaps(buttons));}},[buttons,buttonsGap]);return _react.default.createElement(_reactNative.View,{style:[_TitleContainer.DEFAULT.TITLE_CONTAINER,style],__self:_this,__source:{fileName:_jsxFileName,lineNumber:43,columnNumber:5}},_react.default.createElement(_reactNative.Text,{style:[_TitleContainer.DEFAULT.TITLE_STYLE,textStyle],numberOfLines:1,ellipsizeMode:"tail",__self:_this,__source:{fileName:_jsxFileName,lineNumber:44,columnNumber:7}},title),arrayOfButtons&&_react.default.createElement(_buttonContainer.ButtonContainer,{buttons:arrayOfButtons,style:{paddingVertical:0,gap:0},__self:_this,__source:{fileName:_jsxFileName,lineNumber:51,columnNumber:9}}));};var _default=exports.default=TitleContainer;
@@ -4,5 +4,6 @@ export interface ITitleContainer {
4
4
  buttons?: ReactNode[];
5
5
  style?: StyleProp<ViewStyle>;
6
6
  textStyle?: StyleProp<ViewStyle>;
7
+ buttonsGap?: number;
7
8
  title: string;
8
9
  }
@@ -1,33 +1,27 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { DimensionValue, ViewStyle } from 'react-native';
3
- export interface TableProps {
4
- data: Array<any>;
5
- columns: Columns[];
6
- title?: string;
7
- tableHeight?: DimensionValue;
3
+ import { CommonTableProps, Metadata } from '../../interfaces/table.interface';
4
+ export interface TableProps extends CommonTableProps {
5
+ columns: ColumnsMetadata[];
6
+ commentEmptyTable?: string;
8
7
  onRowPress?: (primary: string) => void;
9
- isLoading?: boolean;
8
+ tableHeight?: DimensionValue;
10
9
  textEmptyTable?: string;
11
- commentEmptyTable?: string;
12
- onLoadMoreData?: (currentPage: number, pageSize: number) => void;
13
- pageSize?: number;
14
- currentPage?: number;
15
- isLoadingMoreData?: boolean;
16
10
  }
17
11
  export interface TableCellProps {
18
12
  label?: string;
19
13
  }
20
14
  export interface TableHeaderProps {
21
15
  title?: string;
22
- columns: Columns[];
16
+ columns: ColumnsMetadata[];
23
17
  isLoading?: boolean;
24
18
  }
25
- export type Columns = {
19
+ export interface ColumnsMetadata extends Metadata {
20
+ cellStyle?: ViewStyle;
21
+ components?: ReactNode[];
22
+ key?: string;
23
+ label?: string;
26
24
  primary?: boolean;
27
25
  visible?: boolean;
28
- label?: string;
29
- key?: string;
30
26
  width?: DimensionValue;
31
- components?: ReactNode[];
32
- cellStyle?: ViewStyle;
33
- };
27
+ }
@@ -1,2 +1,2 @@
1
- import { Metadata } from '../types/table.types';
2
- export declare const findRowTitle: (columns: Metadata[]) => Metadata | undefined;
1
+ import { CardsMetadata } from '../components/cards/Cards.types';
2
+ export declare const findRowTitle: (columns: CardsMetadata[]) => CardsMetadata | undefined;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.findRowTitle=void 0;var findRowTitle=exports.findRowTitle=function findRowTitle(columns){var column=columns.find(function(column){return column.title&&column.key;});return column!=null?column:undefined;};
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.findRowTitle=void 0;var findRowTitle=exports.findRowTitle=function findRowTitle(columns){var column=columns.find(function(columnItem){return columnItem.title&&columnItem.key;});return column!=null?column:undefined;};
@@ -1,4 +1,4 @@
1
- import { Columns } from '../components/table/Table.types';
1
+ import { ColumnsMetadata } from '../components/table/Table.types';
2
2
  import { ViewStyle } from 'react-native';
3
3
  export declare const removeHeaderBorder: (header?: string) => false | {
4
4
  borderTopWidth: number;
@@ -12,4 +12,4 @@ export declare const paintOddRows: (index: number) => {
12
12
  export declare const isTablet: () => boolean;
13
13
  export declare const isDeviceTablet: boolean;
14
14
  export declare const disableOutline: () => ViewStyle | undefined;
15
- export declare const findPrimaryId: (col: Columns[], data: any) => string;
15
+ export declare const findPrimaryId: (col: ColumnsMetadata[], data: any) => string;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.removeHeaderBorder=exports.paintOddRows=exports.isTablet=exports.isOdd=exports.isDeviceTablet=exports.findPrimaryId=exports.disableOutline=void 0;var _colors=require("../styles/colors");var _reactNative=require("react-native");var width=_reactNative.Dimensions.get('screen').width;var height=_reactNative.Dimensions.get('screen').height;var isWeb=_reactNative.Platform.OS==='web';var removeHeaderBorder=exports.removeHeaderBorder=function removeHeaderBorder(header){return!header&&{borderTopWidth:0,borderTopLeftRadius:0,borderTopRightRadius:0};};var isOdd=exports.isOdd=function isOdd(index){return index%2!==0;};var paintOddRows=exports.paintOddRows=function paintOddRows(index){return isOdd(index)?{backgroundColor:_colors.QUATERNARY_10}:{backgroundColor:_colors.NEUTRAL_0};};var isTablet=exports.isTablet=function isTablet(){var pixelDensity=_reactNative.PixelRatio.get();var adjustedWidth=width*pixelDensity;var adjustedHeight=height*pixelDensity;if(pixelDensity<1.75&&(adjustedWidth>=1000||adjustedHeight>=1000)){return true;}else return pixelDensity===2&&(adjustedWidth>=1920||adjustedHeight>=1920);};var isDeviceTablet=exports.isDeviceTablet=isTablet();var disableOutline=exports.disableOutline=function disableOutline(){if(isWeb){return{outline:'none'};}};var findPrimaryId=exports.findPrimaryId=function findPrimaryId(col,data){var primary='';for(var element of col){if(element.primary===true){if(element.key){primary=data[element.key];break;}}}return primary;};
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.removeHeaderBorder=exports.paintOddRows=exports.isTablet=exports.isOdd=exports.isDeviceTablet=exports.findPrimaryId=exports.disableOutline=void 0;var _colors=require("../styles/colors");var _reactNative=require("react-native");var width=_reactNative.Dimensions.get('screen').width;var height=_reactNative.Dimensions.get('screen').height;var isWeb=_reactNative.Platform.OS==='web';var removeHeaderBorder=exports.removeHeaderBorder=function removeHeaderBorder(header){return!header&&{borderTopWidth:0,borderTopLeftRadius:0,borderTopRightRadius:0};};var isOdd=exports.isOdd=function isOdd(index){return index%2!==0;};var paintOddRows=exports.paintOddRows=function paintOddRows(index){return isOdd(index)?{backgroundColor:_colors.QUATERNARY_10}:{backgroundColor:_colors.NEUTRAL_0};};var isTablet=exports.isTablet=function isTablet(){var pixelDensity=_reactNative.PixelRatio.get();var adjustedWidth=width*pixelDensity;var adjustedHeight=height*pixelDensity;if(pixelDensity<1.75&&(adjustedWidth>=1000||adjustedHeight>=1000)){return true;}else{return pixelDensity===2&&(adjustedWidth>=1920||adjustedHeight>=1920);}};var isDeviceTablet=exports.isDeviceTablet=isTablet();var disableOutline=exports.disableOutline=function disableOutline(){if(isWeb){return{outline:'none'};}};var findPrimaryId=exports.findPrimaryId=function findPrimaryId(col,data){var primary='';for(var element of col){if(element.primary===true){if(element.key){primary=data[element.key];break;}}}return primary;};
@@ -0,0 +1,18 @@
1
+ import { MetadataType } from '../types/table.types';
2
+ export interface Metadata {
3
+ key?: string;
4
+ label?: string;
5
+ primary?: boolean;
6
+ title?: boolean;
7
+ type?: MetadataType;
8
+ visible?: boolean;
9
+ }
10
+ export interface CommonTableProps {
11
+ currentPage?: number;
12
+ data: any[];
13
+ isLoading?: boolean;
14
+ isLoadingMoreData?: boolean;
15
+ onLoadMoreData?: (currentPage: number, pageSize: number) => void;
16
+ pageSize?: number;
17
+ title?: string;
18
+ }
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:true});
@@ -1,8 +1 @@
1
- export type Metadata = {
2
- primary?: boolean;
3
- visible?: boolean;
4
- label?: string;
5
- key?: string;
6
- type?: 'number' | 'string' | 'boolean' | 'date' | 'time';
7
- title?: boolean;
8
- };
1
+ export type MetadataType = 'number' | 'string' | 'boolean' | 'date' | 'time';
@@ -8,6 +8,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
8
8
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
9
9
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
10
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
+ /* eslint-disable react-hooks/exhaustive-deps */
11
12
  import React, { useEffect, useRef, useState } from 'react';
12
13
  import { View, Text, ScrollView } from "react-native-web";
13
14
  import { styles } from "./Cards.style";
@@ -48,7 +49,7 @@ var Cards = function Cards(_ref) {
48
49
  animated: true
49
50
  });
50
51
  }
51
- }, [isLoading]);
52
+ }, [isLoading, data]);
52
53
  useEffect(function () {
53
54
  if (containerHeight > contentHeight && data.length) {
54
55
  handleLoadMore();
@@ -117,8 +118,8 @@ var Cards = function Cards(_ref) {
117
118
  style: styles.containerFlex,
118
119
  onScroll: onScroll,
119
120
  scrollEventThrottle: SCROLL_EVENT_THROTTLE,
120
- onContentSizeChange: function onContentSizeChange(contentWidth, contentHeight) {
121
- return setContentHeight(contentHeight);
121
+ onContentSizeChange: function onContentSizeChange(_contentWidth, contentHeightChange) {
122
+ return setContentHeight(contentHeightChange);
122
123
  }
123
124
  }, /*#__PURE__*/React.createElement(SwitchStateCards, {
124
125
  data: data,
@@ -1,18 +1,13 @@
1
1
  import { ColorValue, DimensionValue } from 'react-native';
2
- import { Metadata } from '../../types/table.types';
3
- export interface CardsProps {
4
- data: any[];
5
- metadata: Metadata[];
6
- title?: string;
2
+ import { CommonTableProps, Metadata } from '../../interfaces/table.interface';
3
+ export interface CardsMetadata extends Metadata {
4
+ }
5
+ export interface CardsProps extends CommonTableProps {
6
+ backgroundColor?: ColorValue;
7
7
  cardsHeight?: DimensionValue;
8
- onPressCard?: (primary: string) => void;
9
- isLoading?: boolean;
10
- textEmptyCards?: string;
11
8
  commentEmptyCards?: string;
12
- onLoadMoreData?: (currentPage?: number, pageSize?: number) => void;
13
- currentPage?: number;
14
- isLoadingMoreData?: boolean;
9
+ metadata: CardsMetadata[];
15
10
  onAddNewData?: () => void;
16
- backgroundColor?: ColorValue;
17
- pageSize?: number;
11
+ onPressCard?: (primary: string) => void;
12
+ textEmptyCards?: string;
18
13
  }
@@ -82,7 +82,7 @@ var Card = function Card(_ref) {
82
82
  };
83
83
  var getColumnTitle = useMemo(function () {
84
84
  return findRowTitle(metadata);
85
- }, [metadata, item]);
85
+ }, [metadata]);
86
86
  return /*#__PURE__*/React.createElement(Pressable, {
87
87
  disabled: isDisabled(),
88
88
  onHoverIn: onHoverIn,
@@ -1,7 +1,7 @@
1
- import { Metadata } from '../../../../types/table.types';
1
+ import { CardsMetadata } from '../../Cards.types';
2
2
  export interface CardProps {
3
3
  item: any;
4
4
  index: number;
5
- metadata: Metadata[];
5
+ metadata: CardsMetadata[];
6
6
  onPress?: (primary: string) => void;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { ViewStyle, TextStyle } from 'react-native';
2
- import { Metadata } from '../../../../../../types/table.types';
2
+ import { CardsMetadata } from '../../../../Cards.types';
3
3
  export interface SwitchRowCardProps {
4
- row?: Metadata;
4
+ row?: CardsMetadata;
5
5
  item: any;
6
6
  color: TextStyle | undefined;
7
7
  margin?: boolean;
@@ -1,8 +1,8 @@
1
1
  import { DimensionValue } from 'react-native';
2
- import { Metadata } from '../../../../../../types/table.types';
2
+ import { CardsMetadata } from '../../../../Cards.types';
3
3
  export interface SwitchStateCardsProps {
4
4
  data: Array<any>;
5
- metadata: Metadata[];
5
+ metadata: CardsMetadata[];
6
6
  isLoading?: boolean;
7
7
  onPressCard?: (primary: string) => void;
8
8
  textEmptyCards?: string;
@@ -1,7 +1,7 @@
1
1
  import { TextStyle } from 'react-native';
2
- import { Metadata } from '../../../../../../types/table.types';
2
+ import { CardsMetadata } from '../../../../Cards.types';
3
3
  export interface SwitchTitleCardProps {
4
- row?: Metadata;
4
+ row?: CardsMetadata;
5
5
  item: any;
6
6
  color?: TextStyle;
7
7
  }
@@ -11,6 +11,9 @@ export declare const DEFAULT: {
11
11
  flexDirection: "row" | "column";
12
12
  justifyContent: "flex-start" | "space-between";
13
13
  alignItems: "flex-start";
14
- gap: number;
14
+ flexWrap: "wrap";
15
+ };
16
+ BUTTON_CONTAINER: {
17
+ width: number;
15
18
  };
16
19
  };
@@ -14,6 +14,9 @@ export var DEFAULT = StyleSheet.create({
14
14
  flexDirection: isDeviceTablet ? 'row' : 'column',
15
15
  justifyContent: isDeviceTablet ? 'space-between' : 'flex-start',
16
16
  alignItems: 'flex-start',
17
- gap: 12
17
+ flexWrap: 'wrap'
18
+ },
19
+ BUTTON_CONTAINER: {
20
+ width: 24
18
21
  }
19
22
  });
@@ -1,4 +1,10 @@
1
- import React from 'react';
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import React, { useEffect, useState } from 'react';
2
8
  import { Text, View } from "react-native-web";
3
9
  import { DEFAULT } from "./TitleContainer.default";
4
10
  import { ButtonContainer } from "../buttonContainer";
@@ -6,15 +12,44 @@ var TitleContainer = function TitleContainer(_ref) {
6
12
  var buttons = _ref.buttons,
7
13
  style = _ref.style,
8
14
  title = _ref.title,
9
- textStyle = _ref.textStyle;
15
+ textStyle = _ref.textStyle,
16
+ buttonsGap = _ref.buttonsGap;
17
+ var _useState = useState([]),
18
+ _useState2 = _slicedToArray(_useState, 2),
19
+ arrayOfButtons = _useState2[0],
20
+ setArrayOfButtons = _useState2[1];
21
+ useEffect(function () {
22
+ // This adds a gap between buttons if it's possible using a dummy View
23
+ var renderButtonsWithGaps = function renderButtonsWithGaps(buttonsList) {
24
+ var result = [];
25
+ for (var i = 0; i < buttonsList.length; i++) {
26
+ result.push(buttonsList[i]);
27
+ if (i < buttonsList.length - 1) {
28
+ result.push( /*#__PURE__*/React.createElement(View, {
29
+ style: [DEFAULT.BUTTON_CONTAINER, buttonsGap ? {
30
+ width: buttonsGap
31
+ } : null],
32
+ key: "view-".concat(i)
33
+ }));
34
+ }
35
+ }
36
+ return result;
37
+ };
38
+ if (buttons) {
39
+ setArrayOfButtons(renderButtonsWithGaps(buttons));
40
+ }
41
+ }, [buttons, buttonsGap]);
10
42
  return /*#__PURE__*/React.createElement(View, {
11
43
  style: [DEFAULT.TITLE_CONTAINER, style]
12
44
  }, /*#__PURE__*/React.createElement(Text, {
13
- style: [DEFAULT.TITLE_STYLE, textStyle]
14
- }, title), buttons && /*#__PURE__*/React.createElement(ButtonContainer, {
15
- buttons: buttons,
45
+ style: [DEFAULT.TITLE_STYLE, textStyle],
46
+ numberOfLines: 1,
47
+ ellipsizeMode: "tail"
48
+ }, title), arrayOfButtons && /*#__PURE__*/React.createElement(ButtonContainer, {
49
+ buttons: arrayOfButtons,
16
50
  style: {
17
- paddingVertical: 0
51
+ paddingVertical: 0,
52
+ gap: 0
18
53
  }
19
54
  }));
20
55
  };
@@ -4,5 +4,6 @@ export interface ITitleContainer {
4
4
  buttons?: ReactNode[];
5
5
  style?: StyleProp<ViewStyle>;
6
6
  textStyle?: StyleProp<ViewStyle>;
7
+ buttonsGap?: number;
7
8
  title: string;
8
9
  }
@@ -1,33 +1,27 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { DimensionValue, ViewStyle } from 'react-native';
3
- export interface TableProps {
4
- data: Array<any>;
5
- columns: Columns[];
6
- title?: string;
7
- tableHeight?: DimensionValue;
3
+ import { CommonTableProps, Metadata } from '../../interfaces/table.interface';
4
+ export interface TableProps extends CommonTableProps {
5
+ columns: ColumnsMetadata[];
6
+ commentEmptyTable?: string;
8
7
  onRowPress?: (primary: string) => void;
9
- isLoading?: boolean;
8
+ tableHeight?: DimensionValue;
10
9
  textEmptyTable?: string;
11
- commentEmptyTable?: string;
12
- onLoadMoreData?: (currentPage: number, pageSize: number) => void;
13
- pageSize?: number;
14
- currentPage?: number;
15
- isLoadingMoreData?: boolean;
16
10
  }
17
11
  export interface TableCellProps {
18
12
  label?: string;
19
13
  }
20
14
  export interface TableHeaderProps {
21
15
  title?: string;
22
- columns: Columns[];
16
+ columns: ColumnsMetadata[];
23
17
  isLoading?: boolean;
24
18
  }
25
- export type Columns = {
19
+ export interface ColumnsMetadata extends Metadata {
20
+ cellStyle?: ViewStyle;
21
+ components?: ReactNode[];
22
+ key?: string;
23
+ label?: string;
26
24
  primary?: boolean;
27
25
  visible?: boolean;
28
- label?: string;
29
- key?: string;
30
26
  width?: DimensionValue;
31
- components?: ReactNode[];
32
- cellStyle?: ViewStyle;
33
- };
27
+ }
@@ -1,2 +1,2 @@
1
- import { Metadata } from '../types/table.types';
2
- export declare const findRowTitle: (columns: Metadata[]) => Metadata | undefined;
1
+ import { CardsMetadata } from '../components/cards/Cards.types';
2
+ export declare const findRowTitle: (columns: CardsMetadata[]) => CardsMetadata | undefined;
@@ -1,6 +1,6 @@
1
1
  export var findRowTitle = function findRowTitle(columns) {
2
- var column = columns.find(function (column) {
3
- return column.title && column.key;
2
+ var column = columns.find(function (columnItem) {
3
+ return columnItem.title && columnItem.key;
4
4
  });
5
5
  return column !== null && column !== void 0 ? column : undefined;
6
6
  };
@@ -1,4 +1,4 @@
1
- import { Columns } from '../components/table/Table.types';
1
+ import { ColumnsMetadata } from '../components/table/Table.types';
2
2
  import { ViewStyle } from 'react-native';
3
3
  export declare const removeHeaderBorder: (header?: string) => false | {
4
4
  borderTopWidth: number;
@@ -12,4 +12,4 @@ export declare const paintOddRows: (index: number) => {
12
12
  export declare const isTablet: () => boolean;
13
13
  export declare const isDeviceTablet: boolean;
14
14
  export declare const disableOutline: () => ViewStyle | undefined;
15
- export declare const findPrimaryId: (col: Columns[], data: any) => string;
15
+ export declare const findPrimaryId: (col: ColumnsMetadata[], data: any) => string;
@@ -32,7 +32,9 @@ export var isTablet = function isTablet() {
32
32
  var adjustedHeight = height * pixelDensity;
33
33
  if (pixelDensity < 1.75 && (adjustedWidth >= 1000 || adjustedHeight >= 1000)) {
34
34
  return true;
35
- } else return pixelDensity === 2 && (adjustedWidth >= 1920 || adjustedHeight >= 1920);
35
+ } else {
36
+ return pixelDensity === 2 && (adjustedWidth >= 1920 || adjustedHeight >= 1920);
37
+ }
36
38
  };
37
39
  export var isDeviceTablet = isTablet();
38
40
  export var disableOutline = function disableOutline() {
@@ -0,0 +1,18 @@
1
+ import { MetadataType } from '../types/table.types';
2
+ export interface Metadata {
3
+ key?: string;
4
+ label?: string;
5
+ primary?: boolean;
6
+ title?: boolean;
7
+ type?: MetadataType;
8
+ visible?: boolean;
9
+ }
10
+ export interface CommonTableProps {
11
+ currentPage?: number;
12
+ data: any[];
13
+ isLoading?: boolean;
14
+ isLoadingMoreData?: boolean;
15
+ onLoadMoreData?: (currentPage: number, pageSize: number) => void;
16
+ pageSize?: number;
17
+ title?: string;
18
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1 @@
1
- export type Metadata = {
2
- primary?: boolean;
3
- visible?: boolean;
4
- label?: string;
5
- key?: string;
6
- type?: 'number' | 'string' | 'boolean' | 'date' | 'time';
7
- title?: boolean;
8
- };
1
+ export type MetadataType = 'number' | 'string' | 'boolean' | 'date' | 'time';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "etendo-ui-library",
3
- "version": "1.3.57",
3
+ "version": "1.3.59",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "android": "react-native run-android",