etendo-ui-library 1.2.41 → 1.2.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-native/components/tab/Tab.d.ts +1 -1
- package/dist-native/components/tab/Tab.js +1 -1
- package/dist-native/components/tab/Tab.styles.d.ts +4 -17
- package/dist-native/components/tab/Tab.styles.js +1 -1
- package/dist-native/components/tab/Tab.types.d.ts +10 -0
- package/dist-native/styles/colors.d.ts +3 -1
- package/dist-native/styles/colors.js +1 -1
- package/dist-web/components/tab/Tab.d.ts +1 -1
- package/dist-web/components/tab/Tab.js +110 -18
- package/dist-web/components/tab/Tab.styles.d.ts +4 -17
- package/dist-web/components/tab/Tab.styles.js +84 -17
- package/dist-web/components/tab/Tab.types.d.ts +10 -0
- package/dist-web/styles/colors.d.ts +3 -1
- package/dist-web/styles/colors.js +3 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { TabProps } from './Tab.types';
|
|
3
|
-
declare const Tab: ({ data, currentIndex, onPressTab }: TabProps) => React.JSX.Element;
|
|
3
|
+
declare const Tab: ({ data, currentIndex, onPressTab, typeStyle }: TabProps) => React.JSX.Element;
|
|
4
4
|
export default Tab;
|
|
@@ -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 _colors=require("../../styles/colors");var _Tab=require("./Tab.styles");var _this=this,_jsxFileName="/home/jenkins/workspace/etendo_ui_library_develop/src/components/tab/Tab.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 Tab=function Tab(_ref){var data=_ref.data,currentIndex=_ref.currentIndex,onPressTab=_ref.onPressTab;var _useState=(0,_react.useState)(
|
|
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 _colors=require("../../styles/colors");var _Tab=require("./Tab.styles");var _this=this,_jsxFileName="/home/jenkins/workspace/etendo_ui_library_develop/src/components/tab/Tab.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 Tab=function Tab(_ref){var data=_ref.data,currentIndex=_ref.currentIndex,onPressTab=_ref.onPressTab,typeStyle=_ref.typeStyle;var _useState=(0,_react.useState)(),_useState2=(0,_slicedToArray2.default)(_useState,2),hoveredTab=_useState2[0],setHoveredTab=_useState2[1];var _useState3=(0,_react.useState)(0),_useState4=(0,_slicedToArray2.default)(_useState3,2),currentIndexSelected=_useState4[0],setCurrentIndexSelected=_useState4[1];(0,_react.useEffect)(function(){setCurrentIndexSelected(currentIndex);},[currentIndex]);var handleHoverIn=function handleHoverIn(index){setHoveredTab(index);};var handleHoverOut=function handleHoverOut(){setHoveredTab(null);};var handleOnPress=function handleOnPress(item,index){if(onPressTab){onPressTab(item.route,index);}setCurrentIndexSelected(index);};var hoveredStyle=function hoveredStyle(index){var HoveredColor;if(index===hoveredTab){HoveredColor=_colors.TERTIARY_80;return HoveredColor;}else{HoveredColor=_colors.TERTIARY_50;return HoveredColor;}};var getPrimaryBorderColor=function getPrimaryBorderColor(index){if(index===currentIndexSelected){return _colors.PRIMARY_100;}else if(index===hoveredTab){return _colors.NEUTRAL_700;}else{return _colors.NEUTRAL_500;}};var getSecondaryBackgroundColor=function getSecondaryBackgroundColor(index){if(index===currentIndexSelected){return _colors.SECONDARY_100;}else if(index===hoveredTab){return _colors.TERTIARY_50;}else{return _colors.NEUTRAL_200;}};var getTabTextStyle=function getTabTextStyle(index){if(index===currentIndexSelected){return _Tab.TabStyleVariants[typeStyle].text;}else if(index===hoveredTab){return _Tab.TabStyleVariants[typeStyle].hoveredColor;}else{return _Tab.TabStyleVariants[typeStyle].textDisabled;}};var getTabStyle=function getTabStyle(index){switch(typeStyle){case'primary':return{borderBottomColor:getPrimaryBorderColor(index),borderBottomWidth:index===currentIndexSelected?2:1};case'secondary':return{backgroundColor:getSecondaryBackgroundColor(index)};case'terciary':return{backgroundColor:index===currentIndexSelected?_colors.PRIMARY_100:hoveredStyle(index),borderTopColor:index===currentIndexSelected?_colors.SECONDARY_100:'transparent'};}};var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),hasScroll=_useState6[0],setHasScroll=_useState6[1];var _useState7=(0,_react.useState)(0),_useState8=(0,_slicedToArray2.default)(_useState7,2),containerWidth=_useState8[0],setContainerWidth=_useState8[1];var _useState9=(0,_react.useState)(0),_useState10=(0,_slicedToArray2.default)(_useState9,2),mapContainer=_useState10[0],setMapContainer=_useState10[1];var handleContainerLayout=function handleContainerLayout(event){var width=event.nativeEvent.layout.width;setContainerWidth(width);};var handleMapContainerLayout=function handleMapContainerLayout(event){var width=event.nativeEvent.layout.width;setMapContainer(width);};(0,_react.useEffect)(function(){if(mapContainer>containerWidth){setHasScroll(true);}else{setHasScroll(false);}},[containerWidth]);return _react.default.createElement(_reactNative.ScrollView,{onLayout:handleContainerLayout,horizontal:true,contentContainerStyle:[_Tab.TabStyleVariants[typeStyle].container,!hasScroll&&{flex:1}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:124,columnNumber:5}},_react.default.createElement(_reactNative.View,{onLayout:handleMapContainerLayout,style:Object.assign({},_Tab.mapContainerViewStyle),__self:_this,__source:{fileName:_jsxFileName,lineNumber:131,columnNumber:7}},data==null?void 0:data.map(function(item,index){return _react.default.createElement(_reactNative.Pressable,{key:item.route,style:function style(_ref2){var pressed=_ref2.pressed;return[_Tab.TabStyleVariants[typeStyle].tab,getTabStyle(index)];},onPress:function onPress(){return handleOnPress(item,index);},onHoverIn:function onHoverIn(){return handleHoverIn(index);},onHoverOut:handleHoverOut,__self:_this,__source:{fileName:_jsxFileName,lineNumber:135,columnNumber:11}},_react.default.createElement(_reactNative.Text,{style:getTabTextStyle(index),__self:_this,__source:{fileName:_jsxFileName,lineNumber:144,columnNumber:13}},item.name));})));};var _default=exports.default=Tab;
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
height: number;
|
|
6
|
-
};
|
|
7
|
-
tab: {
|
|
8
|
-
justifyContent: "center";
|
|
9
|
-
alignItems: "center";
|
|
10
|
-
borderBottomWidth: number;
|
|
11
|
-
borderBottomColor: string;
|
|
12
|
-
borderTopWidth: number;
|
|
13
|
-
flex: number;
|
|
14
|
-
height: number;
|
|
15
|
-
paddingHorizontal: number;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
1
|
+
import { tabStyleVariant } from './Tab.types';
|
|
2
|
+
import { ViewStyle } from 'react-native';
|
|
3
|
+
export declare const mapContainerViewStyle: ViewStyle;
|
|
4
|
+
export declare const TabStyleVariants: tabStyleVariant;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:true});exports.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:true});exports.mapContainerViewStyle=exports.TabStyleVariants=void 0;var _colors=require("../../styles/colors");var commonTabStyles={alignItems:'center',justifyContent:'center'};var mapContainerViewStyle=exports.mapContainerViewStyle={display:'flex',flexDirection:'row',justifyContent:'center'};var TabStyleVariants=exports.TabStyleVariants={primary:{container:Object.assign({},commonTabStyles),tab:{justifyContent:'center',alignItems:'center',borderBottomWidth:3,height:40,paddingHorizontal:8},text:{color:_colors.PRIMARY_100,fontWeight:'600'},textDisabled:{color:_colors.NEUTRAL_500,fontWeight:'bold'},hoveredColor:{color:_colors.NEUTRAL_700,fontWeight:'bold'}},secondary:{container:Object.assign({},commonTabStyles,{backgroundColor:_colors.NEUTRAL_50,paddingHorizontal:16,paddingVertical:12}),tab:{justifyContent:'center',alignItems:'center',height:40,borderRadius:6,marginHorizontal:8,paddingHorizontal:8},text:{color:_colors.PRIMARY_100,fontWeight:'600'},textDisabled:{color:_colors.NEUTRAL_600,fontWeight:'bold'},hoveredColor:{color:_colors.PRIMARY_100,fontWeight:'bold'}},terciary:{container:Object.assign({},commonTabStyles),tab:{justifyContent:'center',alignItems:'center',borderBottomWidth:3,borderBottomColor:_colors.PRIMARY_100,borderTopWidth:4,height:40,paddingHorizontal:10},text:{color:_colors.NEUTRAL_0},textDisabled:{color:_colors.PRIMARY_100},hoveredColor:{}}};
|
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
import { StyleProp, TextStyle, ViewStyle } from 'react-native';
|
|
1
2
|
export type TabItemType = {
|
|
2
3
|
name: string;
|
|
3
4
|
route: string;
|
|
4
5
|
};
|
|
6
|
+
export type TabStyleType = 'primary' | 'secondary' | 'terciary';
|
|
7
|
+
export type tabStyleVariant = Record<TabStyleType, {
|
|
8
|
+
container: ViewStyle;
|
|
9
|
+
tab: ViewStyle;
|
|
10
|
+
text: StyleProp<TextStyle>;
|
|
11
|
+
textDisabled: TextStyle;
|
|
12
|
+
hoveredColor: StyleProp<TextStyle>;
|
|
13
|
+
}>;
|
|
5
14
|
export interface TabProps {
|
|
6
15
|
data?: TabItemType[];
|
|
7
16
|
currentIndex: number;
|
|
8
17
|
onPressTab?: (route: string, index: number) => void;
|
|
18
|
+
typeStyle: TabStyleType;
|
|
9
19
|
}
|
|
@@ -14,6 +14,7 @@ export declare const SECONDARY_300 = "#FDEC71";
|
|
|
14
14
|
export declare const TERTIARY_10 = "#F2F5F9";
|
|
15
15
|
export declare const TERTIARY_30 = "#EFF1F7";
|
|
16
16
|
export declare const TERTIARY_50 = "#EDF1FF";
|
|
17
|
+
export declare const TERTIARY_80 = "#E0E7FF";
|
|
17
18
|
export declare const TERTIARY_100 = "#808695";
|
|
18
19
|
export declare const TERTIARY_800 = "#151C7A";
|
|
19
20
|
export declare const QUATERNARY_10 = "#F5F5FC";
|
|
@@ -29,8 +30,9 @@ export declare const NEUTRAL_100 = "#000000";
|
|
|
29
30
|
export declare const NEUTRAL_200 = "#EEEEEE";
|
|
30
31
|
export declare const NEUTRAL_300 = "#E0E0E0";
|
|
31
32
|
export declare const NEUTRAL_400 = "#BDBDBD";
|
|
32
|
-
export declare const NEUTRAL_500 = "#
|
|
33
|
+
export declare const NEUTRAL_500 = "#9E9E9E";
|
|
33
34
|
export declare const NEUTRAL_600 = "#757575";
|
|
35
|
+
export declare const NEUTRAL_700 = "#616161";
|
|
34
36
|
export declare const INITIAL_10 = "#ECF5FF";
|
|
35
37
|
export declare const INITIAL_100 = "#3E97FF";
|
|
36
38
|
export declare const PROCESS_10 = "#FFF6EC";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:true});exports.TERTIARY_800=exports.TERTIARY_50=exports.TERTIARY_30=exports.TERTIARY_100=exports.TERTIARY_10=exports.SUCCESS_100=exports.SUCCESS_10=exports.SECONDARY_50=exports.SECONDARY_300=exports.SECONDARY_30=exports.SECONDARY_100=exports.QUATERNARY_50=exports.QUATERNARY_100=exports.QUATERNARY_10=exports.PROCESS_100=exports.PROCESS_10=exports.PRIMARY_800=exports.PRIMARY_80=exports.PRIMARY_700=exports.PRIMARY_60=exports.PRIMARY_50=exports.PRIMARY_400=exports.PRIMARY_40=exports.PRIMARY_30=exports.PRIMARY_100=exports.OVERLAY=exports.NEUTRAL_600=exports.NEUTRAL_60=exports.NEUTRAL_500=exports.NEUTRAL_50=exports.NEUTRAL_5=exports.NEUTRAL_400=exports.NEUTRAL_40=exports.NEUTRAL_300=exports.NEUTRAL_200=exports.NEUTRAL_100=exports.NEUTRAL_10=exports.NEUTRAL_0=exports.INITIAL_100=exports.INITIAL_10=exports.DESTRUCTIVE_100=exports.DESTRUCTIVE_10=exports.DEFAULT_COLOR_THEME=void 0;var PRIMARY_30=exports.PRIMARY_30='#8689AA';var PRIMARY_40=exports.PRIMARY_40='#606380';var PRIMARY_50=exports.PRIMARY_50='#575A72';var PRIMARY_60=exports.PRIMARY_60='#4B539D';var PRIMARY_80=exports.PRIMARY_80='#303775';var PRIMARY_100=exports.PRIMARY_100='#202452';var PRIMARY_400=exports.PRIMARY_400='#525897';var PRIMARY_700=exports.PRIMARY_700='#10123B';var PRIMARY_800=exports.PRIMARY_800='#242D93';var SECONDARY_30=exports.SECONDARY_30='#FEF7D0';var SECONDARY_50=exports.SECONDARY_50='#FFEB7A';var SECONDARY_100=exports.SECONDARY_100='#FAD614';var SECONDARY_300=exports.SECONDARY_300='#FDEC71';var TERTIARY_10=exports.TERTIARY_10='#F2F5F9';var TERTIARY_30=exports.TERTIARY_30='#EFF1F7';var TERTIARY_50=exports.TERTIARY_50='#EDF1FF';var TERTIARY_100=exports.TERTIARY_100='#808695';var TERTIARY_800=exports.TERTIARY_800='#151C7A';var QUATERNARY_10=exports.QUATERNARY_10='#F5F5FC';var QUATERNARY_50=exports.QUATERNARY_50='#DDDFF6';var QUATERNARY_100=exports.QUATERNARY_100='#7182FF';var NEUTRAL_0=exports.NEUTRAL_0='#FFFFFF';var NEUTRAL_5=exports.NEUTRAL_5='#F2F2F2';var NEUTRAL_10=exports.NEUTRAL_10='#E5E5E5';var NEUTRAL_40=exports.NEUTRAL_40='#999999';var NEUTRAL_50=exports.NEUTRAL_50='#FAFAFA';var NEUTRAL_60=exports.NEUTRAL_60='#808080';var NEUTRAL_100=exports.NEUTRAL_100='#000000';var NEUTRAL_200=exports.NEUTRAL_200='#EEEEEE';var NEUTRAL_300=exports.NEUTRAL_300='#E0E0E0';var NEUTRAL_400=exports.NEUTRAL_400='#BDBDBD';var NEUTRAL_500=exports.NEUTRAL_500='#
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:true});exports.TERTIARY_800=exports.TERTIARY_80=exports.TERTIARY_50=exports.TERTIARY_30=exports.TERTIARY_100=exports.TERTIARY_10=exports.SUCCESS_100=exports.SUCCESS_10=exports.SECONDARY_50=exports.SECONDARY_300=exports.SECONDARY_30=exports.SECONDARY_100=exports.QUATERNARY_50=exports.QUATERNARY_100=exports.QUATERNARY_10=exports.PROCESS_100=exports.PROCESS_10=exports.PRIMARY_800=exports.PRIMARY_80=exports.PRIMARY_700=exports.PRIMARY_60=exports.PRIMARY_50=exports.PRIMARY_400=exports.PRIMARY_40=exports.PRIMARY_30=exports.PRIMARY_100=exports.OVERLAY=exports.NEUTRAL_700=exports.NEUTRAL_600=exports.NEUTRAL_60=exports.NEUTRAL_500=exports.NEUTRAL_50=exports.NEUTRAL_5=exports.NEUTRAL_400=exports.NEUTRAL_40=exports.NEUTRAL_300=exports.NEUTRAL_200=exports.NEUTRAL_100=exports.NEUTRAL_10=exports.NEUTRAL_0=exports.INITIAL_100=exports.INITIAL_10=exports.DESTRUCTIVE_100=exports.DESTRUCTIVE_10=exports.DEFAULT_COLOR_THEME=void 0;var PRIMARY_30=exports.PRIMARY_30='#8689AA';var PRIMARY_40=exports.PRIMARY_40='#606380';var PRIMARY_50=exports.PRIMARY_50='#575A72';var PRIMARY_60=exports.PRIMARY_60='#4B539D';var PRIMARY_80=exports.PRIMARY_80='#303775';var PRIMARY_100=exports.PRIMARY_100='#202452';var PRIMARY_400=exports.PRIMARY_400='#525897';var PRIMARY_700=exports.PRIMARY_700='#10123B';var PRIMARY_800=exports.PRIMARY_800='#242D93';var SECONDARY_30=exports.SECONDARY_30='#FEF7D0';var SECONDARY_50=exports.SECONDARY_50='#FFEB7A';var SECONDARY_100=exports.SECONDARY_100='#FAD614';var SECONDARY_300=exports.SECONDARY_300='#FDEC71';var TERTIARY_10=exports.TERTIARY_10='#F2F5F9';var TERTIARY_30=exports.TERTIARY_30='#EFF1F7';var TERTIARY_50=exports.TERTIARY_50='#EDF1FF';var TERTIARY_80=exports.TERTIARY_80='#E0E7FF';var TERTIARY_100=exports.TERTIARY_100='#808695';var TERTIARY_800=exports.TERTIARY_800='#151C7A';var QUATERNARY_10=exports.QUATERNARY_10='#F5F5FC';var QUATERNARY_50=exports.QUATERNARY_50='#DDDFF6';var QUATERNARY_100=exports.QUATERNARY_100='#7182FF';var NEUTRAL_0=exports.NEUTRAL_0='#FFFFFF';var NEUTRAL_5=exports.NEUTRAL_5='#F2F2F2';var NEUTRAL_10=exports.NEUTRAL_10='#E5E5E5';var NEUTRAL_40=exports.NEUTRAL_40='#999999';var NEUTRAL_50=exports.NEUTRAL_50='#FAFAFA';var NEUTRAL_60=exports.NEUTRAL_60='#808080';var NEUTRAL_100=exports.NEUTRAL_100='#000000';var NEUTRAL_200=exports.NEUTRAL_200='#EEEEEE';var NEUTRAL_300=exports.NEUTRAL_300='#E0E0E0';var NEUTRAL_400=exports.NEUTRAL_400='#BDBDBD';var NEUTRAL_500=exports.NEUTRAL_500='#9E9E9E';var NEUTRAL_600=exports.NEUTRAL_600='#757575';var NEUTRAL_700=exports.NEUTRAL_700='#616161';var INITIAL_10=exports.INITIAL_10='#ECF5FF';var INITIAL_100=exports.INITIAL_100='#3E97FF';var PROCESS_10=exports.PROCESS_10='#FFF6EC';var PROCESS_100=exports.PROCESS_100='#FBA643';var SUCCESS_10=exports.SUCCESS_10='#E5F7ED';var SUCCESS_100=exports.SUCCESS_100='#00B34C';var DESTRUCTIVE_10=exports.DESTRUCTIVE_10='#FEF0EF';var DESTRUCTIVE_100=exports.DESTRUCTIVE_100='#F36A62';var OVERLAY=exports.OVERLAY='rgba(0,0,0,0.25)';var DEFAULT_COLOR_THEME=exports.DEFAULT_COLOR_THEME=PRIMARY_100;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { TabProps } from './Tab.types';
|
|
3
|
-
declare const Tab: ({ data, currentIndex, onPressTab }: TabProps) => React.JSX.Element;
|
|
3
|
+
declare const Tab: ({ data, currentIndex, onPressTab, typeStyle }: TabProps) => React.JSX.Element;
|
|
4
4
|
export default Tab;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
1
7
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
8
|
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
9
|
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); }
|
|
@@ -6,14 +12,15 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
6
12
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
13
|
// Imports
|
|
8
14
|
import React, { useEffect, useState } from 'react';
|
|
9
|
-
import { View, Text, Pressable } from "react-native-web";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
15
|
+
import { View, Text, Pressable, ScrollView } from "react-native-web";
|
|
16
|
+
import { NEUTRAL_200, NEUTRAL_500, NEUTRAL_700, PRIMARY_100, SECONDARY_100, TERTIARY_50, TERTIARY_80 } from "../../styles/colors";
|
|
17
|
+
import { TabStyleVariants, mapContainerViewStyle } from "./Tab.styles";
|
|
12
18
|
var Tab = function Tab(_ref) {
|
|
13
19
|
var data = _ref.data,
|
|
14
20
|
currentIndex = _ref.currentIndex,
|
|
15
|
-
onPressTab = _ref.onPressTab
|
|
16
|
-
|
|
21
|
+
onPressTab = _ref.onPressTab,
|
|
22
|
+
typeStyle = _ref.typeStyle;
|
|
23
|
+
var _useState = useState(),
|
|
17
24
|
_useState2 = _slicedToArray(_useState, 2),
|
|
18
25
|
hoveredTab = _useState2[0],
|
|
19
26
|
setHoveredTab = _useState2[1];
|
|
@@ -36,15 +43,104 @@ var Tab = function Tab(_ref) {
|
|
|
36
43
|
}
|
|
37
44
|
setCurrentIndexSelected(index);
|
|
38
45
|
};
|
|
39
|
-
|
|
40
|
-
|
|
46
|
+
var hoveredStyle = function hoveredStyle(index) {
|
|
47
|
+
var HoveredColor;
|
|
48
|
+
if (index === hoveredTab) {
|
|
49
|
+
HoveredColor = TERTIARY_80;
|
|
50
|
+
return HoveredColor;
|
|
51
|
+
} else {
|
|
52
|
+
HoveredColor = TERTIARY_50;
|
|
53
|
+
return HoveredColor;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
var getPrimaryBorderColor = function getPrimaryBorderColor(index) {
|
|
57
|
+
if (index === currentIndexSelected) {
|
|
58
|
+
return PRIMARY_100;
|
|
59
|
+
} else if (index === hoveredTab) {
|
|
60
|
+
return NEUTRAL_700;
|
|
61
|
+
} else {
|
|
62
|
+
return NEUTRAL_500;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
var getSecondaryBackgroundColor = function getSecondaryBackgroundColor(index) {
|
|
66
|
+
if (index === currentIndexSelected) {
|
|
67
|
+
return SECONDARY_100;
|
|
68
|
+
} else if (index === hoveredTab) {
|
|
69
|
+
return TERTIARY_50;
|
|
70
|
+
} else {
|
|
71
|
+
return NEUTRAL_200;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
var getTabTextStyle = function getTabTextStyle(index) {
|
|
75
|
+
if (index === currentIndexSelected) {
|
|
76
|
+
return TabStyleVariants[typeStyle].text;
|
|
77
|
+
} else if (index === hoveredTab) {
|
|
78
|
+
return TabStyleVariants[typeStyle].hoveredColor;
|
|
79
|
+
} else {
|
|
80
|
+
return TabStyleVariants[typeStyle].textDisabled;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
var getTabStyle = function getTabStyle(index) {
|
|
84
|
+
switch (typeStyle) {
|
|
85
|
+
case 'primary':
|
|
86
|
+
return {
|
|
87
|
+
borderBottomColor: getPrimaryBorderColor(index),
|
|
88
|
+
borderBottomWidth: index === currentIndexSelected ? 2 : 1
|
|
89
|
+
};
|
|
90
|
+
case 'secondary':
|
|
91
|
+
return {
|
|
92
|
+
backgroundColor: getSecondaryBackgroundColor(index)
|
|
93
|
+
};
|
|
94
|
+
case 'terciary':
|
|
95
|
+
return {
|
|
96
|
+
backgroundColor: index === currentIndexSelected ? PRIMARY_100 : hoveredStyle(index),
|
|
97
|
+
borderTopColor: index === currentIndexSelected ? SECONDARY_100 : 'transparent'
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
var _useState5 = useState(false),
|
|
102
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
103
|
+
hasScroll = _useState6[0],
|
|
104
|
+
setHasScroll = _useState6[1];
|
|
105
|
+
var _useState7 = useState(0),
|
|
106
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
107
|
+
containerWidth = _useState8[0],
|
|
108
|
+
setContainerWidth = _useState8[1];
|
|
109
|
+
var _useState9 = useState(0),
|
|
110
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
111
|
+
mapContainer = _useState10[0],
|
|
112
|
+
setMapContainer = _useState10[1];
|
|
113
|
+
var handleContainerLayout = function handleContainerLayout(event) {
|
|
114
|
+
var width = event.nativeEvent.layout.width;
|
|
115
|
+
setContainerWidth(width);
|
|
116
|
+
};
|
|
117
|
+
var handleMapContainerLayout = function handleMapContainerLayout(event) {
|
|
118
|
+
var width = event.nativeEvent.layout.width;
|
|
119
|
+
setMapContainer(width);
|
|
120
|
+
};
|
|
121
|
+
useEffect(function () {
|
|
122
|
+
if (mapContainer > containerWidth) {
|
|
123
|
+
setHasScroll(true);
|
|
124
|
+
} else {
|
|
125
|
+
setHasScroll(false);
|
|
126
|
+
}
|
|
127
|
+
}, [containerWidth]);
|
|
128
|
+
return /*#__PURE__*/React.createElement(ScrollView, {
|
|
129
|
+
onLayout: handleContainerLayout,
|
|
130
|
+
horizontal: true,
|
|
131
|
+
contentContainerStyle: [TabStyleVariants[typeStyle].container, !hasScroll && {
|
|
132
|
+
flex: 1
|
|
133
|
+
}]
|
|
134
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
135
|
+
onLayout: handleMapContainerLayout,
|
|
136
|
+
style: _objectSpread({}, mapContainerViewStyle)
|
|
41
137
|
}, data === null || data === void 0 ? void 0 : data.map(function (item, index) {
|
|
42
138
|
return /*#__PURE__*/React.createElement(Pressable, {
|
|
43
|
-
key:
|
|
44
|
-
style:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
139
|
+
key: item.route,
|
|
140
|
+
style: function style(_ref2) {
|
|
141
|
+
var pressed = _ref2.pressed;
|
|
142
|
+
return [TabStyleVariants[typeStyle].tab, getTabStyle(index)];
|
|
143
|
+
},
|
|
48
144
|
onPress: function onPress() {
|
|
49
145
|
return handleOnPress(item, index);
|
|
50
146
|
},
|
|
@@ -53,12 +149,8 @@ var Tab = function Tab(_ref) {
|
|
|
53
149
|
},
|
|
54
150
|
onHoverOut: handleHoverOut
|
|
55
151
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
56
|
-
|
|
57
|
-
numberOfLines: 1,
|
|
58
|
-
style: {
|
|
59
|
-
color: index === currentIndexSelected ? NEUTRAL_0 : PRIMARY_100
|
|
60
|
-
}
|
|
152
|
+
style: getTabTextStyle(index)
|
|
61
153
|
}, item.name));
|
|
62
|
-
}));
|
|
154
|
+
})));
|
|
63
155
|
};
|
|
64
156
|
export default Tab;
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
height: number;
|
|
6
|
-
};
|
|
7
|
-
tab: {
|
|
8
|
-
justifyContent: "center";
|
|
9
|
-
alignItems: "center";
|
|
10
|
-
borderBottomWidth: number;
|
|
11
|
-
borderBottomColor: string;
|
|
12
|
-
borderTopWidth: number;
|
|
13
|
-
flex: number;
|
|
14
|
-
height: number;
|
|
15
|
-
paddingHorizontal: number;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
1
|
+
import { tabStyleVariant } from './Tab.types';
|
|
2
|
+
import { ViewStyle } from 'react-native';
|
|
3
|
+
export declare const mapContainerViewStyle: ViewStyle;
|
|
4
|
+
export declare const TabStyleVariants: tabStyleVariant;
|
|
@@ -1,19 +1,86 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
import { NEUTRAL_0, NEUTRAL_50, NEUTRAL_500, NEUTRAL_600, NEUTRAL_700, PRIMARY_100 } from "../../styles/colors";
|
|
8
|
+
var commonTabStyles = {
|
|
9
|
+
alignItems: 'center',
|
|
10
|
+
justifyContent: 'center'
|
|
11
|
+
};
|
|
12
|
+
export var mapContainerViewStyle = {
|
|
13
|
+
display: 'flex',
|
|
14
|
+
flexDirection: 'row',
|
|
15
|
+
justifyContent: 'center'
|
|
16
|
+
};
|
|
17
|
+
export var TabStyleVariants = {
|
|
18
|
+
primary: {
|
|
19
|
+
container: _objectSpread({}, commonTabStyles),
|
|
20
|
+
tab: {
|
|
21
|
+
justifyContent: 'center',
|
|
22
|
+
alignItems: 'center',
|
|
23
|
+
borderBottomWidth: 3,
|
|
24
|
+
height: 40,
|
|
25
|
+
paddingHorizontal: 8
|
|
26
|
+
},
|
|
27
|
+
text: {
|
|
28
|
+
color: PRIMARY_100,
|
|
29
|
+
fontWeight: '600'
|
|
30
|
+
},
|
|
31
|
+
textDisabled: {
|
|
32
|
+
color: NEUTRAL_500,
|
|
33
|
+
fontWeight: 'bold'
|
|
34
|
+
},
|
|
35
|
+
hoveredColor: {
|
|
36
|
+
color: NEUTRAL_700,
|
|
37
|
+
fontWeight: 'bold'
|
|
38
|
+
}
|
|
8
39
|
},
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
40
|
+
secondary: {
|
|
41
|
+
container: _objectSpread(_objectSpread({}, commonTabStyles), {}, {
|
|
42
|
+
backgroundColor: NEUTRAL_50,
|
|
43
|
+
paddingHorizontal: 16,
|
|
44
|
+
paddingVertical: 12
|
|
45
|
+
}),
|
|
46
|
+
tab: {
|
|
47
|
+
justifyContent: 'center',
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
height: 40,
|
|
50
|
+
borderRadius: 6,
|
|
51
|
+
marginHorizontal: 8,
|
|
52
|
+
paddingHorizontal: 8
|
|
53
|
+
},
|
|
54
|
+
text: {
|
|
55
|
+
color: PRIMARY_100,
|
|
56
|
+
fontWeight: '600'
|
|
57
|
+
},
|
|
58
|
+
textDisabled: {
|
|
59
|
+
color: NEUTRAL_600,
|
|
60
|
+
fontWeight: 'bold'
|
|
61
|
+
},
|
|
62
|
+
hoveredColor: {
|
|
63
|
+
color: PRIMARY_100,
|
|
64
|
+
fontWeight: 'bold'
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
terciary: {
|
|
68
|
+
container: _objectSpread({}, commonTabStyles),
|
|
69
|
+
tab: {
|
|
70
|
+
justifyContent: 'center',
|
|
71
|
+
alignItems: 'center',
|
|
72
|
+
borderBottomWidth: 3,
|
|
73
|
+
borderBottomColor: PRIMARY_100,
|
|
74
|
+
borderTopWidth: 4,
|
|
75
|
+
height: 40,
|
|
76
|
+
paddingHorizontal: 10
|
|
77
|
+
},
|
|
78
|
+
text: {
|
|
79
|
+
color: NEUTRAL_0
|
|
80
|
+
},
|
|
81
|
+
textDisabled: {
|
|
82
|
+
color: PRIMARY_100
|
|
83
|
+
},
|
|
84
|
+
hoveredColor: {}
|
|
18
85
|
}
|
|
19
|
-
}
|
|
86
|
+
};
|
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
import { StyleProp, TextStyle, ViewStyle } from 'react-native';
|
|
1
2
|
export type TabItemType = {
|
|
2
3
|
name: string;
|
|
3
4
|
route: string;
|
|
4
5
|
};
|
|
6
|
+
export type TabStyleType = 'primary' | 'secondary' | 'terciary';
|
|
7
|
+
export type tabStyleVariant = Record<TabStyleType, {
|
|
8
|
+
container: ViewStyle;
|
|
9
|
+
tab: ViewStyle;
|
|
10
|
+
text: StyleProp<TextStyle>;
|
|
11
|
+
textDisabled: TextStyle;
|
|
12
|
+
hoveredColor: StyleProp<TextStyle>;
|
|
13
|
+
}>;
|
|
5
14
|
export interface TabProps {
|
|
6
15
|
data?: TabItemType[];
|
|
7
16
|
currentIndex: number;
|
|
8
17
|
onPressTab?: (route: string, index: number) => void;
|
|
18
|
+
typeStyle: TabStyleType;
|
|
9
19
|
}
|
|
@@ -14,6 +14,7 @@ export declare const SECONDARY_300 = "#FDEC71";
|
|
|
14
14
|
export declare const TERTIARY_10 = "#F2F5F9";
|
|
15
15
|
export declare const TERTIARY_30 = "#EFF1F7";
|
|
16
16
|
export declare const TERTIARY_50 = "#EDF1FF";
|
|
17
|
+
export declare const TERTIARY_80 = "#E0E7FF";
|
|
17
18
|
export declare const TERTIARY_100 = "#808695";
|
|
18
19
|
export declare const TERTIARY_800 = "#151C7A";
|
|
19
20
|
export declare const QUATERNARY_10 = "#F5F5FC";
|
|
@@ -29,8 +30,9 @@ export declare const NEUTRAL_100 = "#000000";
|
|
|
29
30
|
export declare const NEUTRAL_200 = "#EEEEEE";
|
|
30
31
|
export declare const NEUTRAL_300 = "#E0E0E0";
|
|
31
32
|
export declare const NEUTRAL_400 = "#BDBDBD";
|
|
32
|
-
export declare const NEUTRAL_500 = "#
|
|
33
|
+
export declare const NEUTRAL_500 = "#9E9E9E";
|
|
33
34
|
export declare const NEUTRAL_600 = "#757575";
|
|
35
|
+
export declare const NEUTRAL_700 = "#616161";
|
|
34
36
|
export declare const INITIAL_10 = "#ECF5FF";
|
|
35
37
|
export declare const INITIAL_100 = "#3E97FF";
|
|
36
38
|
export declare const PROCESS_10 = "#FFF6EC";
|
|
@@ -14,6 +14,7 @@ export var SECONDARY_300 = '#FDEC71';
|
|
|
14
14
|
export var TERTIARY_10 = '#F2F5F9';
|
|
15
15
|
export var TERTIARY_30 = '#EFF1F7';
|
|
16
16
|
export var TERTIARY_50 = '#EDF1FF';
|
|
17
|
+
export var TERTIARY_80 = '#E0E7FF';
|
|
17
18
|
export var TERTIARY_100 = '#808695';
|
|
18
19
|
export var TERTIARY_800 = '#151C7A';
|
|
19
20
|
export var QUATERNARY_10 = '#F5F5FC';
|
|
@@ -29,8 +30,9 @@ export var NEUTRAL_100 = '#000000';
|
|
|
29
30
|
export var NEUTRAL_200 = '#EEEEEE';
|
|
30
31
|
export var NEUTRAL_300 = '#E0E0E0';
|
|
31
32
|
export var NEUTRAL_400 = '#BDBDBD';
|
|
32
|
-
export var NEUTRAL_500 = '#
|
|
33
|
+
export var NEUTRAL_500 = '#9E9E9E';
|
|
33
34
|
export var NEUTRAL_600 = '#757575';
|
|
35
|
+
export var NEUTRAL_700 = '#616161';
|
|
34
36
|
export var INITIAL_10 = '#ECF5FF';
|
|
35
37
|
export var INITIAL_100 = '#3E97FF';
|
|
36
38
|
export var PROCESS_10 = '#FFF6EC';
|