@majoo-ui/react 1.45.0 → 1.45.1

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/index.esm.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { useState, useEffect, createContext, useContext, useRef, cloneElement, useCallback, useReducer, createElement as createElement$2 } from 'react';
3
- import PropTypes, { string, bool, func } from 'prop-types';
3
+ import PropTypes, { string, func } from 'prop-types';
4
4
  import { createStitches, styled as styled$1 } from '@stitches/react';
5
5
  import { foundations } from '@majoo-ui/core';
6
- import { CloseOutline, UserFilled, CircleQuestionOutline, SearchOutline, CircleInfoOutline, CaretDownOutline, CirclePlusOutline, ChevronDownOutline, ChevronLeftOutline, ChevronRightOutline, ChevronUpOutline, TimeOutline, CalendarOutline, ArrowLeftOutline, ArrowRightOutline, EllipsisHorizontalOutline, CloseFilled, EyeOutline, CheckFilled, UploadOutline, ImageOutline, ChevronLgLeftOutline, ChevronUpDownOutline, RemoveOutline } from '@majoo-ui/icons';
6
+ import { CloseOutline, UserFilled, CircleQuestionOutline, SearchOutline, CloseFilled, CircleInfoOutline, CaretDownOutline, CirclePlusOutline, ChevronDownOutline, ChevronLeftOutline, ChevronRightOutline, ChevronUpOutline, TimeOutline, CalendarOutline, ArrowLeftOutline, ArrowRightOutline, EllipsisHorizontalOutline, EyeOutline, CheckFilled, UploadOutline, ImageOutline, ChevronLgLeftOutline, ChevronUpDownOutline, RemoveOutline } from '@majoo-ui/icons';
7
7
  import { Transition } from 'react-transition-group';
8
- import { Portal } from '@majoo-ui/helpers';
9
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
+ import { Portal } from '@majoo-ui/helpers';
10
10
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
11
11
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
12
12
  import * as ProgressPrimitive from '@radix-ui/react-progress';
@@ -39,7 +39,7 @@ import ScrollSpy from 'react-ui-scrollspy';
39
39
  import ReactCrop, { centerCrop, makeAspectCrop } from 'react-image-crop';
40
40
  import { useSticky } from 'react-table-sticky';
41
41
 
42
- var _jsxFileName$14 = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\majoo-provider\\ThemeProvider.js";
42
+ var _jsxFileName$12 = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\majoo-provider\\ThemeProvider.js";
43
43
 
44
44
  function ThemeProvider({
45
45
  theme,
@@ -49,7 +49,7 @@ function ThemeProvider({
49
49
  className: theme,
50
50
  __self: this,
51
51
  __source: {
52
- fileName: _jsxFileName$14,
52
+ fileName: _jsxFileName$12,
53
53
  lineNumber: 5,
54
54
  columnNumber: 10
55
55
  }
@@ -2230,9 +2230,9 @@ Flex$1.defaultProps = {
2230
2230
  };
2231
2231
  Flex$1.displayName = 'Flex';
2232
2232
 
2233
- const _excluded$z = ["children"],
2233
+ const _excluded$y = ["children"],
2234
2234
  _excluded2$2 = ["children"];
2235
- var _jsxFileName$13 = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\layout\\grid\\Grid.js";
2235
+ var _jsxFileName$11 = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\layout\\grid\\Grid.js";
2236
2236
  const GridComponent = styled('div', {
2237
2237
  display: 'grid',
2238
2238
  variants: {
@@ -2406,7 +2406,7 @@ const Grid = _ref => {
2406
2406
  let {
2407
2407
  children
2408
2408
  } = _ref,
2409
- props = _objectWithoutPropertiesLoose(_ref, _excluded$z);
2409
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$y);
2410
2410
 
2411
2411
  return /*#__PURE__*/React__default.createElement(GridComponent, _extends({}, props, {
2412
2412
  css: Object.assign({}, props.css, {
@@ -2417,7 +2417,7 @@ const Grid = _ref => {
2417
2417
  }),
2418
2418
  __self: undefined,
2419
2419
  __source: {
2420
- fileName: _jsxFileName$13,
2420
+ fileName: _jsxFileName$11,
2421
2421
  lineNumber: 178,
2422
2422
  columnNumber: 5
2423
2423
  }
@@ -2473,7 +2473,7 @@ const GridItem = _ref2 => {
2473
2473
  }),
2474
2474
  __self: undefined,
2475
2475
  __source: {
2476
- fileName: _jsxFileName$13,
2476
+ fileName: _jsxFileName$11,
2477
2477
  lineNumber: 230,
2478
2478
  columnNumber: 5
2479
2479
  }
@@ -2490,8 +2490,8 @@ GridItem.propTypes = {
2490
2490
  };
2491
2491
  GridItem.displayName = 'Grid Item';
2492
2492
 
2493
- const _excluded$y = ["children", "isCollapse", "css", "contentHeader"];
2494
- var _jsxFileName$12 = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\layout\\pageContainer\\PageContainer.js";
2493
+ const _excluded$x = ["children", "isCollapse", "css", "contentHeader"];
2494
+ var _jsxFileName$10 = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\layout\\pageContainer\\PageContainer.js";
2495
2495
  const StyledDiv$3 = styled(Flex$1, {
2496
2496
  justifyContent: 'center',
2497
2497
  marginLeft: 'auto',
@@ -2520,7 +2520,7 @@ const PageContainer = _ref => {
2520
2520
  css,
2521
2521
  contentHeader
2522
2522
  } = _ref,
2523
- props = _objectWithoutPropertiesLoose(_ref, _excluded$y);
2523
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$x);
2524
2524
 
2525
2525
  return /*#__PURE__*/React__default.createElement(StyledDiv$3, _extends({
2526
2526
  id: "retina-container",
@@ -2530,7 +2530,7 @@ const PageContainer = _ref => {
2530
2530
  }, props, {
2531
2531
  __self: undefined,
2532
2532
  __source: {
2533
- fileName: _jsxFileName$12,
2533
+ fileName: _jsxFileName$10,
2534
2534
  lineNumber: 28,
2535
2535
  columnNumber: 5
2536
2536
  }
@@ -2760,410 +2760,153 @@ Paragraph.defaultProps = {
2760
2760
 
2761
2761
  Paragraph.displayName = 'Paragraph';
2762
2762
 
2763
- const _excluded$x = ["className", "children", "type", "buttonType", "size", "disabled", "onClick", "block", "width", "leftIcon", "rightIcon", "icon"];
2764
- var _jsxFileName$11 = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\components\\button\\Button.js";
2765
- const ButtonPrimary = {
2766
- backgroundColor: '$btnPrimary',
2767
- color: '$textWhite',
2768
- border: 'none',
2769
- '&:hover': {
2770
- backgroundColor: '$primary600'
2771
- },
2772
- '&:active': {
2773
- backgroundColor: '$primary700'
2774
- }
2775
- };
2776
- const PrimarySecondary = {
2777
- backgroundColor: '$btnSecondary',
2778
- border: '1px solid $btnPrimary',
2779
- color: '$textGreen',
2780
- '&:hover': {
2781
- backgroundColor: '$primary50',
2782
- border: '1px solid $btnPrimary',
2783
- color: '$textGreen'
2784
- },
2785
- '&:active': {
2786
- backgroundColor: '$primary100',
2787
- border: '1px solid $btnPrimary'
2788
- }
2789
- };
2790
- const GhostButton = {
2791
- backgroundColor: '$btnSecondary',
2792
- color: '$textGreen',
2793
- border: 'none',
2794
- '&:hover': {
2795
- backgroundColor: '$primary50',
2796
- outline: '1px solid $primary50',
2797
- color: '$textGreen'
2798
- },
2799
- '&:active': {
2800
- backgroundColor: '$primary100',
2801
- outline: '1px solid $btnPrimary'
2802
- }
2803
- };
2804
- const ButtonNegative = {
2805
- backgroundColor: '$btnNegative',
2806
- color: '$textWhite',
2807
- border: 'none',
2808
- '&:hover': {
2809
- backgroundColor: '$red600'
2763
+ /******************************************************************************
2764
+ Copyright (c) Microsoft Corporation.
2765
+
2766
+ Permission to use, copy, modify, and/or distribute this software for any
2767
+ purpose with or without fee is hereby granted.
2768
+
2769
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
2770
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2771
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
2772
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2773
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
2774
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2775
+ PERFORMANCE OF THIS SOFTWARE.
2776
+ ***************************************************************************** */
2777
+
2778
+ function __rest(s, e) {
2779
+ var t = {};
2780
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2781
+ t[p] = s[p];
2782
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
2783
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
2784
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
2785
+ t[p[i]] = s[p[i]];
2786
+ }
2787
+ return t;
2788
+ }
2789
+
2790
+ function __awaiter(thisArg, _arguments, P, generator) {
2791
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2792
+ return new (P || (P = Promise))(function (resolve, reject) {
2793
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2794
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2795
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2796
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
2797
+ });
2798
+ }
2799
+
2800
+ const StyledLink = styled('a', {
2801
+ fontSize: '$short-content-regular',
2802
+ textDecoration: 'underline',
2803
+ variants: {
2804
+ /**
2805
+ * Specify the link color
2806
+ */
2807
+ color: {
2808
+ success: {
2809
+ color: '$hlSuccess'
2810
+ },
2811
+ info: {
2812
+ color: '$hlNews'
2813
+ },
2814
+ warning: {
2815
+ color: '$hlProcess'
2816
+ },
2817
+ failed: {
2818
+ color: '$hlFailed'
2819
+ }
2820
+ }
2810
2821
  },
2811
- '&:active': {
2812
- backgroundColor: '$red700'
2822
+ defaultVariants: {
2823
+ color: 'success'
2813
2824
  }
2814
- };
2815
- const ButtonNegativeSecondary = {
2816
- backgroundColor: '$bgWhite',
2817
- border: '1px solid $btnNegative',
2818
- color: '$textRed',
2819
- '&:hover': {
2820
- backgroundColor: '$red50',
2821
- border: '1px solid $textRed'
2825
+ });
2826
+ const Link = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
2827
+ var {
2828
+ children = 'Learn more',
2829
+ color = 'success',
2830
+ isExternal = false,
2831
+ href = '#',
2832
+ target,
2833
+ rel
2834
+ } = _a,
2835
+ props = __rest(_a, ["children", "color", "isExternal", "href", "target", "rel"]);
2836
+
2837
+ return jsx(StyledLink, Object.assign({
2838
+ target: isExternal ? '_blank' : target,
2839
+ rel: isExternal ? 'noopener noreferrer' : rel,
2840
+ href: href,
2841
+ color: color,
2842
+ ref: forwardedRef
2843
+ }, props, {
2844
+ children: children
2845
+ }), void 0);
2846
+ });
2847
+
2848
+ const _excluded$w = ["id", "title", "description", "position", "dismissAfter", "variant", "onClick", "onRemove", "isExternalOfAction", "onClickOfAction", "captionOfAction", "hrefOfAction"];
2849
+ var _jsxFileName$$ = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\components\\toast\\Toast.js";
2850
+ const TOAST_WIDTH = 576;
2851
+ const ANIMATION_DURATION = 400;
2852
+ const TOP_RIGHT_POSITION = 'top-right';
2853
+ const TOP_LEFT_POSITION = 'top-left';
2854
+ const BOTTOM_RIGHT_POSITION = 'bottom-right';
2855
+ const BOTTOM_LEFT_POSITION = 'bottom_left';
2856
+ const positions = [TOP_RIGHT_POSITION, TOP_LEFT_POSITION, BOTTOM_RIGHT_POSITION, BOTTOM_LEFT_POSITION];
2857
+
2858
+ const toastEnter = position => keyframes({
2859
+ '0%': {
2860
+ left: position === 'left' ? `-${TOAST_WIDTH}px` : 'unset',
2861
+ right: position === 'right' ? `-${TOAST_WIDTH}px` : 'unset',
2862
+ opacity: '0'
2822
2863
  },
2823
- '&:active': {
2824
- backgroundColor: '$red100',
2825
- border: '1px solid $textRed'
2864
+ '100%': {
2865
+ left: position === 'left' ? '0' : 'unset',
2866
+ right: position === 'right' ? '0' : 'unset',
2867
+ opacity: '1'
2826
2868
  }
2827
- };
2828
- const ButtonHeaderMenu = {
2829
- backgroundColor: '$bgWhite',
2830
- border: '1px solid $bgBorder',
2831
- color: '$textPrimary',
2832
- '&:hover': {
2833
- backgroundColor: '$gray50',
2834
- border: '1px solid $bgBorder',
2835
- color: '$textPrimary'
2869
+ });
2870
+
2871
+ const toastExit = position => keyframes({
2872
+ '0%': {
2873
+ transform: 'translateX(0%)',
2874
+ opacity: '1'
2836
2875
  },
2837
- '&:active': {
2838
- backgroundColor: '$gray50'
2876
+ '100%': {
2877
+ transform: `translateX(${position === 'right' ? '100%' : '-100%'})`,
2878
+ opacity: '0'
2839
2879
  }
2840
- };
2841
- const ButtonTableMenu = {
2842
- backgroundColor: '$bgWhite',
2843
- color: '$textPrimary',
2844
- padding: '$spacing-04 $spacing-05',
2845
- width: '180px',
2846
- textAlign: 'left',
2847
- border: 'none',
2848
- borderRadius: 0,
2849
- '&:focus': {
2850
- outline: 'none'
2880
+ });
2881
+
2882
+ const toastAnimationStyle = position => ({
2883
+ '&[state="entering"], &[state="entered"]': {
2884
+ animationFillMode: 'forwards',
2885
+ animationName: toastEnter(position),
2886
+ animationDuration: `${ANIMATION_DURATION}ms`
2851
2887
  },
2852
- '&:hover': {
2853
- backgroundColor: '$gray50'
2888
+ '&[state="exiting"]': {
2889
+ animationFillMode: 'forwards',
2890
+ animationName: toastExit(position),
2891
+ animationDuration: `${ANIMATION_DURATION * 2}ms`
2854
2892
  },
2855
- '&:active': {
2856
- backgroundColor: '$gray100'
2893
+ '&[state="entered"]': {
2894
+ right: 0,
2895
+ opacity: '1'
2857
2896
  }
2858
- };
2859
- const StyledIcon$2 = styled('div', {
2860
- verticalAlign: 'middle'
2861
2897
  });
2862
- const StyledIconLeft$3 = styled('div', {
2863
- marginRight: '5px',
2864
- display: 'inline-block',
2865
- verticalAlign: 'middle'
2866
- });
2867
- const StyledIconRight$2 = styled('div', {
2868
- marginLeft: '5px',
2869
- display: 'inline-block',
2870
- verticalAlign: 'middle'
2871
- });
2872
- const ButtonComponent = styled('button', {
2873
- margin: 0,
2874
- display: 'flex',
2875
- alignItems: 'center',
2876
- justifyContent: 'center',
2877
- fontWeight: 400,
2878
- width: 'auto',
2879
- height: '40px',
2880
- userSelect: 'none',
2881
- borderRadius: '$md',
2882
- cursor: 'pointer',
2883
- fontSize: '14px',
2884
- textAlign: 'center',
2885
- lineHeight: '20px',
2898
+
2899
+ const Root = styled('div', {
2900
+ display: 'block',
2901
+ maxWidth: `${TOAST_WIDTH}px`,
2902
+ // width: `${TOAST_WIDTH}px`,
2903
+ height: '100%',
2886
2904
  position: 'relative',
2887
- verticalAlign: 'middle',
2888
- whiteSpace: 'nowrap',
2889
- '&:focus': {
2890
- outline: '2px solid #82C4E0'
2891
- },
2892
- '&:disabled': {
2893
- border: '1px solid $btnDisable',
2894
- backgroundColor: '$btnDisable',
2895
- color: '$textDisable',
2896
- cursor: 'not-allowed',
2897
- '&:hover': {
2898
- backgroundColor: '$btnDisable',
2899
- border: '1px solid $btnDisable',
2900
- color: '$textDisable'
2901
- },
2902
- '&:active': {
2903
- backgroundColor: '$btnDisable',
2904
- border: '1px solid $btnDisable'
2905
- }
2906
- },
2907
- variants: {
2908
- buttonType: {
2909
- primary: Object.assign({}, ButtonPrimary),
2910
- secondary: Object.assign({}, PrimarySecondary),
2911
- ghost: Object.assign({}, GhostButton),
2912
- negative: Object.assign({}, ButtonNegative),
2913
- 'negative-secondary': Object.assign({}, ButtonNegativeSecondary),
2914
- headerMenu: Object.assign({}, ButtonHeaderMenu),
2915
- tableMenu: Object.assign({}, ButtonTableMenu)
2916
- },
2917
- size: {
2918
- xs: {
2919
- minWidth: '70px',
2920
- height: '28px',
2921
- padding: '1px 12px' // padding: '4px 12px',
2922
-
2923
- },
2924
- sm: {
2925
- minWidth: '70px',
2926
- height: '32px',
2927
- padding: '3px 12px' // padding: '6px 12px',
2928
-
2929
- },
2930
- md: {
2931
- minWidth: '70px',
2932
- height: '40px',
2933
- padding: '7px 12px' // padding: '10px 12px',
2934
-
2935
- },
2936
- lg: {
2937
- minWidth: '84px',
2938
- height: '48px',
2939
- padding: '11px 16px' // padding: '14px 16px',
2940
-
2941
- }
2942
- },
2943
- iconSize: {
2944
- xs: {
2945
- minWidth: '28px',
2946
- height: '28px',
2947
- padding: '3px',
2948
- borderRadius: '$md'
2949
- },
2950
- sm: {
2951
- minWidth: '32px',
2952
- height: '32px',
2953
- padding: '5px',
2954
- borderRadius: '$md'
2955
- },
2956
- md: {
2957
- minWidth: '40px',
2958
- height: '40px',
2959
- padding: '7px',
2960
- borderRadius: '$md'
2961
- },
2962
- lg: {
2963
- minWidth: '48px',
2964
- height: '48px',
2965
- padding: '11px',
2966
- borderRadius: '$md'
2967
- }
2968
- }
2969
- }
2970
- });
2971
- const ButtonPrimitive = ButtonComponent;
2972
- const Button$2 = /*#__PURE__*/React__default.forwardRef((_ref, ref) => {
2973
- let {
2974
- className,
2975
- children,
2976
- type,
2977
- buttonType,
2978
- size,
2979
- disabled,
2980
- onClick,
2981
- block,
2982
- width,
2983
- leftIcon,
2984
- rightIcon,
2985
- icon
2986
- } = _ref,
2987
- props = _objectWithoutPropertiesLoose(_ref, _excluded$x);
2988
-
2989
- return /*#__PURE__*/React__default.createElement(ButtonComponent, _extends({
2990
- className: className,
2991
- type: type,
2992
- buttonType: buttonType,
2993
- size: size,
2994
- iconSize: icon ? size : null,
2995
- onClick: onClick,
2996
- disabled: disabled,
2997
- css: Object.assign({}, props.css, {
2998
- display: block ? 'block' : 'inline-block',
2999
- width: block ? '100%' : width
3000
- }),
3001
- ref: ref
3002
- }, props, {
3003
- __self: undefined,
3004
- __source: {
3005
- fileName: _jsxFileName$11,
3006
- lineNumber: 241,
3007
- columnNumber: 3
3008
- }
3009
- }), leftIcon !== undefined ? /*#__PURE__*/React__default.createElement(StyledIconLeft$3, {
3010
- __self: undefined,
3011
- __source: {
3012
- fileName: _jsxFileName$11,
3013
- lineNumber: 253,
3014
- columnNumber: 31
3015
- }
3016
- }, leftIcon) : null, icon ? /*#__PURE__*/React__default.createElement(StyledIcon$2, {
3017
- __self: undefined,
3018
- __source: {
3019
- fileName: _jsxFileName$11,
3020
- lineNumber: 254,
3021
- columnNumber: 13
3022
- }
3023
- }, children) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children), rightIcon !== undefined ? /*#__PURE__*/React__default.createElement(StyledIconRight$2, {
3024
- __self: undefined,
3025
- __source: {
3026
- fileName: _jsxFileName$11,
3027
- lineNumber: 255,
3028
- columnNumber: 32
3029
- }
3030
- }, rightIcon) : null);
3031
- });
3032
- Button$2.propTypes = {
3033
- className: PropTypes.string,
3034
- buttonType: PropTypes.string,
3035
- size: PropTypes.string,
3036
- disabled: PropTypes.bool,
3037
- onClick: PropTypes.func,
3038
- block: PropTypes.bool,
3039
- width: PropTypes.string,
3040
- leftIcon: PropTypes.element,
3041
- rightIcon: PropTypes.element,
3042
- icon: PropTypes.bool
3043
- };
3044
- Button$2.defaultProps = {
3045
- buttonType: 'primary',
3046
- size: 'md',
3047
- disabled: false,
3048
- block: false,
3049
- icon: false
3050
- };
3051
-
3052
- var _jsxFileName$10 = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\components\\button\\ButtonLink.js";
3053
- const StyledLink = styled('a', {
3054
- fontSize: '$short-content-regular',
3055
- textDecoration: 'underline',
3056
- variants: {
3057
- color: {
3058
- success: {
3059
- color: '$hlSuccess'
3060
- },
3061
- info: {
3062
- color: '$hlNews'
3063
- },
3064
- warning: {
3065
- color: '$hlProcess'
3066
- },
3067
- failed: {
3068
- color: '$hlFailed'
3069
- }
3070
- }
3071
- },
3072
- defaultVariants: {
3073
- color: 'success'
3074
- }
3075
- });
3076
- const Link = props => {
3077
- return /*#__PURE__*/React__default.createElement(StyledLink, _extends({}, props, {
3078
- target: props.isExternal && '_blank',
3079
- rel: props.isExternal && 'noopener noreferrer',
3080
- href: props.href,
3081
- css: props.css,
3082
- __self: undefined,
3083
- __source: {
3084
- fileName: _jsxFileName$10,
3085
- lineNumber: 31,
3086
- columnNumber: 5
3087
- }
3088
- }), props.caption);
3089
- };
3090
- Link.propTypes = {
3091
- caption: string,
3092
- href: string,
3093
- color: string,
3094
- isExternal: bool,
3095
- onClick: func
3096
- };
3097
- Link.defaultProps = {
3098
- caption: 'Learn more',
3099
- href: '#',
3100
- color: 'success',
3101
- isExternal: false,
3102
- onClick: () => {}
3103
- };
3104
-
3105
- const _excluded$w = ["id", "title", "description", "position", "dismissAfter", "variant", "onClick", "onRemove", "isExternalOfAction", "onClickOfAction", "captionOfAction", "hrefOfAction"];
3106
- var _jsxFileName$$ = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\components\\toast\\Toast.js";
3107
- const TOAST_WIDTH = 576;
3108
- const ANIMATION_DURATION = 400;
3109
- const TOP_RIGHT_POSITION = 'top-right';
3110
- const TOP_LEFT_POSITION = 'top-left';
3111
- const BOTTOM_RIGHT_POSITION = 'bottom-right';
3112
- const BOTTOM_LEFT_POSITION = 'bottom_left';
3113
- const positions = [TOP_RIGHT_POSITION, TOP_LEFT_POSITION, BOTTOM_RIGHT_POSITION, BOTTOM_LEFT_POSITION];
3114
-
3115
- const toastEnter = position => keyframes({
3116
- '0%': {
3117
- left: position === 'left' ? `-${TOAST_WIDTH}px` : 'unset',
3118
- right: position === 'right' ? `-${TOAST_WIDTH}px` : 'unset',
3119
- opacity: '0'
3120
- },
3121
- '100%': {
3122
- left: position === 'left' ? '0' : 'unset',
3123
- right: position === 'right' ? '0' : 'unset',
3124
- opacity: '1'
3125
- }
3126
- });
3127
-
3128
- const toastExit = position => keyframes({
3129
- '0%': {
3130
- transform: 'translateX(0%)',
3131
- opacity: '1'
3132
- },
3133
- '100%': {
3134
- transform: `translateX(${position === 'right' ? '100%' : '-100%'})`,
3135
- opacity: '0'
3136
- }
3137
- });
3138
-
3139
- const toastAnimationStyle = position => ({
3140
- '&[state="entering"], &[state="entered"]': {
3141
- animationFillMode: 'forwards',
3142
- animationName: toastEnter(position),
3143
- animationDuration: `${ANIMATION_DURATION}ms`
3144
- },
3145
- '&[state="exiting"]': {
3146
- animationFillMode: 'forwards',
3147
- animationName: toastExit(position),
3148
- animationDuration: `${ANIMATION_DURATION * 2}ms`
3149
- },
3150
- '&[state="entered"]': {
3151
- right: 0,
3152
- opacity: '1'
3153
- }
3154
- });
3155
-
3156
- const Root = styled('div', {
3157
- display: 'block',
3158
- maxWidth: `${TOAST_WIDTH}px`,
3159
- // width: `${TOAST_WIDTH}px`,
3160
- height: '100%',
3161
- position: 'relative',
3162
- opacity: 0,
3163
- variants: {
3164
- hPosition: {
3165
- right: toastAnimationStyle('right'),
3166
- left: toastAnimationStyle('left')
2905
+ opacity: 0,
2906
+ variants: {
2907
+ hPosition: {
2908
+ right: toastAnimationStyle('right'),
2909
+ left: toastAnimationStyle('left')
3167
2910
  },
3168
2911
  vPosition: {
3169
2912
  top: {
@@ -3418,7 +3161,6 @@ const Toast = _ref => {
3418
3161
  href: hrefOfAction,
3419
3162
  isExternal: isExternalOfAction,
3420
3163
  onClick: onClickOfAction,
3421
- caption: captionOfAction,
3422
3164
  color: variant,
3423
3165
  css: {
3424
3166
  alignSelf: 'self-end',
@@ -3430,7 +3172,7 @@ const Toast = _ref => {
3430
3172
  lineNumber: 267,
3431
3173
  columnNumber: 17
3432
3174
  }
3433
- })))));
3175
+ }, captionOfAction)))));
3434
3176
  };
3435
3177
 
3436
3178
  Toast.displayName = 'Toast';
@@ -3456,23 +3198,23 @@ const ToastBox = styled(Flex$1, {
3456
3198
  variants: {
3457
3199
  position: {
3458
3200
  [TOP_RIGHT_POSITION]: {
3459
- top: 48,
3460
- right: 40,
3201
+ top: '8%',
3202
+ right: '4%',
3461
3203
  flexDirection: 'column-reverse'
3462
3204
  },
3463
3205
  [TOP_LEFT_POSITION]: {
3464
- top: 48,
3465
- left: 40,
3206
+ top: '8%',
3207
+ left: '4%',
3466
3208
  flexDirection: 'column-reverse'
3467
3209
  },
3468
3210
  [BOTTOM_RIGHT_POSITION]: {
3469
- bottom: 48,
3470
- right: 40,
3211
+ bottom: '8%',
3212
+ right: '4%',
3471
3213
  flexDirection: 'column'
3472
3214
  },
3473
3215
  [BOTTOM_LEFT_POSITION]: {
3474
- bottom: 48,
3475
- left: 40,
3216
+ bottom: '8%',
3217
+ left: '4%',
3476
3218
  flexDirection: 'column'
3477
3219
  }
3478
3220
  }
@@ -3751,7 +3493,6 @@ const BannerLink = ({
3751
3493
  }
3752
3494
  }, value => /*#__PURE__*/React.createElement(Link, {
3753
3495
  href: link,
3754
- caption: children ? children : 'Learn more',
3755
3496
  color: variant ? variant : value.variant,
3756
3497
  css: {
3757
3498
  marginInlineEnd: 12
@@ -3762,12 +3503,12 @@ const BannerLink = ({
3762
3503
  lineNumber: 105,
3763
3504
  columnNumber: 7
3764
3505
  }
3765
- }));
3506
+ }, children ? children : 'Learn more'));
3766
3507
  const BannerClose = () => /*#__PURE__*/React.createElement(Context$2.Consumer, {
3767
3508
  __self: undefined,
3768
3509
  __source: {
3769
3510
  fileName: _jsxFileName$X,
3770
- lineNumber: 116,
3511
+ lineNumber: 117,
3771
3512
  columnNumber: 3
3772
3513
  }
3773
3514
  }, value => /*#__PURE__*/React.createElement(CloseButton$1, {
@@ -3779,7 +3520,7 @@ const BannerClose = () => /*#__PURE__*/React.createElement(Context$2.Consumer, {
3779
3520
  __self: undefined,
3780
3521
  __source: {
3781
3522
  fileName: _jsxFileName$X,
3782
- lineNumber: 118,
3523
+ lineNumber: 119,
3783
3524
  columnNumber: 7
3784
3525
  }
3785
3526
  }, /*#__PURE__*/React.createElement(CloseOutline, {
@@ -3788,7 +3529,7 @@ const BannerClose = () => /*#__PURE__*/React.createElement(Context$2.Consumer, {
3788
3529
  __self: undefined,
3789
3530
  __source: {
3790
3531
  fileName: _jsxFileName$X,
3791
- lineNumber: 125,
3532
+ lineNumber: 126,
3792
3533
  columnNumber: 9
3793
3534
  }
3794
3535
  })));
@@ -3798,7 +3539,7 @@ const SingleTagBanner = props => {
3798
3539
  __self: undefined,
3799
3540
  __source: {
3800
3541
  fileName: _jsxFileName$X,
3801
- lineNumber: 133,
3542
+ lineNumber: 134,
3802
3543
  columnNumber: 5
3803
3544
  }
3804
3545
  }, /*#__PURE__*/React.createElement(Flex$1, {
@@ -3808,7 +3549,7 @@ const SingleTagBanner = props => {
3808
3549
  __self: undefined,
3809
3550
  __source: {
3810
3551
  fileName: _jsxFileName$X,
3811
- lineNumber: 134,
3552
+ lineNumber: 135,
3812
3553
  columnNumber: 7
3813
3554
  }
3814
3555
  }, /*#__PURE__*/React.createElement(Flex$1, {
@@ -3821,21 +3562,21 @@ const SingleTagBanner = props => {
3821
3562
  __self: undefined,
3822
3563
  __source: {
3823
3564
  fileName: _jsxFileName$X,
3824
- lineNumber: 135,
3565
+ lineNumber: 136,
3825
3566
  columnNumber: 9
3826
3567
  }
3827
3568
  }, props.title && /*#__PURE__*/React.createElement(BannerTitle, {
3828
3569
  __self: undefined,
3829
3570
  __source: {
3830
3571
  fileName: _jsxFileName$X,
3831
- lineNumber: 143,
3572
+ lineNumber: 144,
3832
3573
  columnNumber: 27
3833
3574
  }
3834
3575
  }, props.title), props.description && /*#__PURE__*/React.createElement(BannerDescription, {
3835
3576
  __self: undefined,
3836
3577
  __source: {
3837
3578
  fileName: _jsxFileName$X,
3838
- lineNumber: 144,
3579
+ lineNumber: 145,
3839
3580
  columnNumber: 33
3840
3581
  }
3841
3582
  }, props.description)), props.link && /*#__PURE__*/React.createElement(BannerLink, {
@@ -3844,7 +3585,7 @@ const SingleTagBanner = props => {
3844
3585
  __self: undefined,
3845
3586
  __source: {
3846
3587
  fileName: _jsxFileName$X,
3847
- lineNumber: 147,
3588
+ lineNumber: 148,
3848
3589
  columnNumber: 11
3849
3590
  }
3850
3591
  }, props.linkText)), /*#__PURE__*/React.createElement(CloseButton$1, {
@@ -3857,7 +3598,7 @@ const SingleTagBanner = props => {
3857
3598
  __self: undefined,
3858
3599
  __source: {
3859
3600
  fileName: _jsxFileName$X,
3860
- lineNumber: 152,
3601
+ lineNumber: 153,
3861
3602
  columnNumber: 7
3862
3603
  }
3863
3604
  }, /*#__PURE__*/React.createElement(CloseOutline, {
@@ -3866,7 +3607,7 @@ const SingleTagBanner = props => {
3866
3607
  __self: undefined,
3867
3608
  __source: {
3868
3609
  fileName: _jsxFileName$X,
3869
- lineNumber: 160,
3610
+ lineNumber: 161,
3870
3611
  columnNumber: 9
3871
3612
  }
3872
3613
  })));
@@ -3895,7 +3636,7 @@ const Banner = _ref => {
3895
3636
  __self: undefined,
3896
3637
  __source: {
3897
3638
  fileName: _jsxFileName$X,
3898
- lineNumber: 168,
3639
+ lineNumber: 169,
3899
3640
  columnNumber: 5
3900
3641
  }
3901
3642
  }), children ? /*#__PURE__*/React.createElement(Flex$1, {
@@ -3912,7 +3653,7 @@ const Banner = _ref => {
3912
3653
  __self: undefined,
3913
3654
  __source: {
3914
3655
  fileName: _jsxFileName$X,
3915
- lineNumber: 170,
3656
+ lineNumber: 171,
3916
3657
  columnNumber: 9
3917
3658
  }
3918
3659
  }, /*#__PURE__*/React.createElement(Context$2.Provider, {
@@ -3923,7 +3664,7 @@ const Banner = _ref => {
3923
3664
  __self: undefined,
3924
3665
  __source: {
3925
3666
  fileName: _jsxFileName$X,
3926
- lineNumber: 177,
3667
+ lineNumber: 178,
3927
3668
  columnNumber: 11
3928
3669
  }
3929
3670
  }, children)) : /*#__PURE__*/React.createElement(SingleTagBanner, {
@@ -3937,7 +3678,7 @@ const Banner = _ref => {
3937
3678
  __self: undefined,
3938
3679
  __source: {
3939
3680
  fileName: _jsxFileName$X,
3940
- lineNumber: 180,
3681
+ lineNumber: 181,
3941
3682
  columnNumber: 9
3942
3683
  }
3943
3684
  }));
@@ -3960,6 +3701,261 @@ Banner.defaultProps = {
3960
3701
  variant: 'info'
3961
3702
  };
3962
3703
 
3704
+ const ButtonPrimary = {
3705
+ backgroundColor: '$btnPrimary',
3706
+ color: '$textWhite',
3707
+ border: 'none',
3708
+ '&:hover': {
3709
+ backgroundColor: '$primary600'
3710
+ },
3711
+ '&:active': {
3712
+ backgroundColor: '$primary700'
3713
+ }
3714
+ };
3715
+ const PrimarySecondary = {
3716
+ backgroundColor: '$btnSecondary',
3717
+ border: '1px solid $btnPrimary',
3718
+ color: '$textGreen',
3719
+ '&:hover': {
3720
+ backgroundColor: '$primary50',
3721
+ border: '1px solid $btnPrimary',
3722
+ color: '$textGreen'
3723
+ },
3724
+ '&:active': {
3725
+ backgroundColor: '$primary100',
3726
+ border: '1px solid $btnPrimary'
3727
+ }
3728
+ };
3729
+ const GhostButton = {
3730
+ backgroundColor: '$btnSecondary',
3731
+ color: '$textGreen',
3732
+ border: 'none',
3733
+ '&:hover': {
3734
+ backgroundColor: '$primary50',
3735
+ outline: '1px solid $primary50',
3736
+ color: '$textGreen'
3737
+ },
3738
+ '&:active': {
3739
+ backgroundColor: '$primary100',
3740
+ outline: '1px solid $btnPrimary'
3741
+ }
3742
+ };
3743
+ const ButtonNegative = {
3744
+ backgroundColor: '$btnNegative',
3745
+ color: '$textWhite',
3746
+ border: 'none',
3747
+ '&:hover': {
3748
+ backgroundColor: '$red600'
3749
+ },
3750
+ '&:active': {
3751
+ backgroundColor: '$red700'
3752
+ }
3753
+ };
3754
+ const ButtonNegativeSecondary = {
3755
+ backgroundColor: '$bgWhite',
3756
+ border: '1px solid $btnNegative',
3757
+ color: '$textRed',
3758
+ '&:hover': {
3759
+ backgroundColor: '$red50',
3760
+ border: '1px solid $textRed'
3761
+ },
3762
+ '&:active': {
3763
+ backgroundColor: '$red100',
3764
+ border: '1px solid $textRed'
3765
+ }
3766
+ };
3767
+ const ButtonHeaderMenu = {
3768
+ backgroundColor: '$bgWhite',
3769
+ border: '1px solid $bgBorder',
3770
+ color: '$textPrimary',
3771
+ '&:hover': {
3772
+ backgroundColor: '$gray50',
3773
+ border: '1px solid $bgBorder',
3774
+ color: '$textPrimary'
3775
+ },
3776
+ '&:active': {
3777
+ backgroundColor: '$gray50'
3778
+ }
3779
+ };
3780
+ const ButtonTableMenu = {
3781
+ backgroundColor: '$bgWhite',
3782
+ color: '$textPrimary',
3783
+ padding: '$spacing-04 $spacing-05',
3784
+ width: '180px',
3785
+ textAlign: 'left',
3786
+ border: 'none',
3787
+ borderRadius: 0,
3788
+ '&:focus': {
3789
+ outline: 'none'
3790
+ },
3791
+ '&:hover': {
3792
+ backgroundColor: '$gray50'
3793
+ },
3794
+ '&:active': {
3795
+ backgroundColor: '$gray100'
3796
+ }
3797
+ };
3798
+ const StyledIcon$2 = styled('div', {
3799
+ verticalAlign: 'middle'
3800
+ });
3801
+ const StyledIconLeft$3 = styled('div', {
3802
+ marginRight: '5px',
3803
+ display: 'inline-block',
3804
+ verticalAlign: 'middle'
3805
+ });
3806
+ const StyledIconRight$2 = styled('div', {
3807
+ marginLeft: '5px',
3808
+ display: 'inline-block',
3809
+ verticalAlign: 'middle'
3810
+ });
3811
+ const ButtonPrimitive = styled('button', {
3812
+ margin: 0,
3813
+ display: 'flex',
3814
+ alignItems: 'center',
3815
+ justifyContent: 'center',
3816
+ fontWeight: 600,
3817
+ width: 'auto',
3818
+ height: '40px',
3819
+ userSelect: 'none',
3820
+ borderRadius: '$md',
3821
+ cursor: 'pointer',
3822
+ fontSize: '14px',
3823
+ textAlign: 'center',
3824
+ lineHeight: '20px',
3825
+ position: 'relative',
3826
+ verticalAlign: 'middle',
3827
+ whiteSpace: 'nowrap',
3828
+ '&:focus': {
3829
+ outline: '2px solid #82C4E0'
3830
+ },
3831
+ '&:disabled': {
3832
+ border: '1px solid $btnDisable',
3833
+ backgroundColor: '$btnDisable',
3834
+ color: '$textDisable',
3835
+ cursor: 'not-allowed',
3836
+ '&:hover': {
3837
+ backgroundColor: '$btnDisable',
3838
+ border: '1px solid $btnDisable',
3839
+ color: '$textDisable'
3840
+ },
3841
+ '&:active': {
3842
+ backgroundColor: '$btnDisable',
3843
+ border: '1px solid $btnDisable'
3844
+ }
3845
+ },
3846
+ variants: {
3847
+ /**
3848
+ * Specify the button type
3849
+ */
3850
+ buttonType: {
3851
+ primary: Object.assign({}, ButtonPrimary),
3852
+ secondary: Object.assign({}, PrimarySecondary),
3853
+ ghost: Object.assign({}, GhostButton),
3854
+ negative: Object.assign({}, ButtonNegative),
3855
+ 'negative-secondary': Object.assign({}, ButtonNegativeSecondary),
3856
+ headerMenu: Object.assign({}, ButtonHeaderMenu),
3857
+ tableMenu: Object.assign({}, ButtonTableMenu)
3858
+ },
3859
+
3860
+ /**
3861
+ * Specify the button size
3862
+ */
3863
+ size: {
3864
+ xs: {
3865
+ minWidth: '70px',
3866
+ height: '28px',
3867
+ padding: '1px 12px' // padding: '4px 12px',
3868
+
3869
+ },
3870
+ sm: {
3871
+ minWidth: '70px',
3872
+ height: '32px',
3873
+ padding: '3px 12px' // padding: '6px 12px',
3874
+
3875
+ },
3876
+ md: {
3877
+ minWidth: '70px',
3878
+ height: '40px',
3879
+ padding: '7px 12px' // padding: '10px 12px',
3880
+
3881
+ },
3882
+ lg: {
3883
+ minWidth: '84px',
3884
+ height: '48px',
3885
+ padding: '11px 16px' // padding: '14px 16px',
3886
+
3887
+ }
3888
+ },
3889
+
3890
+ /**
3891
+ * Specify the button icon size
3892
+ */
3893
+ iconSize: {
3894
+ xs: {
3895
+ minWidth: '28px',
3896
+ height: '28px',
3897
+ padding: '3px',
3898
+ borderRadius: '$md'
3899
+ },
3900
+ sm: {
3901
+ minWidth: '32px',
3902
+ height: '32px',
3903
+ padding: '5px',
3904
+ borderRadius: '$md'
3905
+ },
3906
+ md: {
3907
+ minWidth: '40px',
3908
+ height: '40px',
3909
+ padding: '7px',
3910
+ borderRadius: '$md'
3911
+ },
3912
+ lg: {
3913
+ minWidth: '48px',
3914
+ height: '48px',
3915
+ padding: '11px',
3916
+ borderRadius: '$md'
3917
+ }
3918
+ }
3919
+ }
3920
+ });
3921
+ const Button$2 = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
3922
+ var {
3923
+ children,
3924
+ type,
3925
+ buttonType = 'primary',
3926
+ size = 'md',
3927
+ disabled = false,
3928
+ block = false,
3929
+ width,
3930
+ leftIcon,
3931
+ rightIcon,
3932
+ icon = false,
3933
+ iconSize
3934
+ } = _a,
3935
+ props = __rest(_a, ["children", "type", "buttonType", "size", "disabled", "block", "width", "leftIcon", "rightIcon", "icon", "iconSize"]);
3936
+
3937
+ return jsxs(ButtonPrimitive, Object.assign({
3938
+ type: type,
3939
+ buttonType: buttonType,
3940
+ size: size,
3941
+ iconSize: icon ? size : undefined,
3942
+ disabled: disabled,
3943
+ css: Object.assign(Object.assign({}, props.css), {
3944
+ display: block ? 'block' : 'inline-block',
3945
+ width: block ? '100%' : width
3946
+ }),
3947
+ ref: forwardedRef
3948
+ }, props, {
3949
+ children: [leftIcon && jsx(StyledIconLeft$3, {
3950
+ children: leftIcon
3951
+ }, void 0), icon ? jsx(StyledIcon$2, {
3952
+ children: children
3953
+ }, void 0) : children, rightIcon && jsx(StyledIconRight$2, {
3954
+ children: rightIcon
3955
+ }, void 0)]
3956
+ }), void 0);
3957
+ });
3958
+
3963
3959
  const _excluded$t = ["className", "children", "color", "shadow", "radius", "padding", "title", "width", "textColor", "icon"];
3964
3960
  var _jsxFileName$W = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\components\\card\\Card.js";
3965
3961
  const CardComponent = styled('div', {
@@ -4168,43 +4164,6 @@ Card.defaultProps = {
4168
4164
  title: ''
4169
4165
  };
4170
4166
 
4171
- /******************************************************************************
4172
- Copyright (c) Microsoft Corporation.
4173
-
4174
- Permission to use, copy, modify, and/or distribute this software for any
4175
- purpose with or without fee is hereby granted.
4176
-
4177
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
4178
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
4179
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
4180
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
4181
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
4182
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
4183
- PERFORMANCE OF THIS SOFTWARE.
4184
- ***************************************************************************** */
4185
-
4186
- function __rest(s, e) {
4187
- var t = {};
4188
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4189
- t[p] = s[p];
4190
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
4191
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
4192
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
4193
- t[p[i]] = s[p[i]];
4194
- }
4195
- return t;
4196
- }
4197
-
4198
- function __awaiter(thisArg, _arguments, P, generator) {
4199
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4200
- return new (P || (P = Promise))(function (resolve, reject) {
4201
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
4202
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
4203
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
4204
- step((generator = generator.apply(thisArg, _arguments || [])).next());
4205
- });
4206
- }
4207
-
4208
4167
  const _excluded$s = ["children"];
4209
4168
  var _jsxFileName$V = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\components\\breadcrumb\\Breadcrumb.js";
4210
4169
  const BreadcrumbStyle = styled('nav', {
@@ -5560,16 +5519,19 @@ const InputGroupStyle = styled('div', {
5560
5519
  true: {
5561
5520
  '& > input:last-child': {
5562
5521
  paddingLeft: 0,
5563
- border: 'none'
5522
+ border: 'none',
5523
+ backgroundColor: 'transparent'
5564
5524
  },
5565
5525
  '& > input:first-child': {
5566
5526
  paddingRight: 0,
5567
- border: 'none'
5527
+ border: 'none',
5528
+ backgroundColor: 'transparent'
5568
5529
  },
5569
5530
  '& > input:not(:first-child):not(:last-child)': {
5570
5531
  paddingLeft: 0,
5571
5532
  paddingRight: 0,
5572
- border: 'none'
5533
+ border: 'none',
5534
+ backgroundColor: 'transparent'
5573
5535
  }
5574
5536
  }
5575
5537
  },
@@ -5635,7 +5597,7 @@ const InputGroup = _ref => {
5635
5597
  __self: undefined,
5636
5598
  __source: {
5637
5599
  fileName: _jsxFileName$J,
5638
- lineNumber: 143,
5600
+ lineNumber: 146,
5639
5601
  columnNumber: 10
5640
5602
  }
5641
5603
  }));
@@ -7372,14 +7334,15 @@ SvgSearchOutline.defaultProps = {
7372
7334
  size: 24
7373
7335
  };
7374
7336
 
7375
- const _excluded$e = ["size", "onChange", "css"];
7337
+ const _excluded$e = ["size", "onChange", "css", "disabled"];
7376
7338
  var _jsxFileName$C = "C:\\Users\\Lenovo\\Documents\\code\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputSearchbox\\InputSearchbox.js";
7377
7339
 
7378
7340
  const InputSearchbox = _ref => {
7379
7341
  let {
7380
7342
  size,
7381
7343
  onChange,
7382
- css
7344
+ css,
7345
+ disabled
7383
7346
  } = _ref,
7384
7347
  props = _objectWithoutPropertiesLoose(_ref, _excluded$e);
7385
7348
 
@@ -7394,18 +7357,21 @@ const InputSearchbox = _ref => {
7394
7357
 
7395
7358
  const handleClearButtonClick = e => {
7396
7359
  e.preventDefault();
7397
- setValue('');
7398
- if (onChange) onChange('');
7360
+
7361
+ if (!disabled) {
7362
+ setValue('');
7363
+ if (onChange) onChange('');
7364
+ }
7399
7365
  };
7400
7366
 
7401
7367
  return /*#__PURE__*/React__default.createElement(InputGroup, {
7402
7368
  size: size,
7403
7369
  css: css,
7404
- disabled: props.disabled,
7370
+ disabled: disabled,
7405
7371
  __self: undefined,
7406
7372
  __source: {
7407
7373
  fileName: _jsxFileName$C,
7408
- lineNumber: 28,
7374
+ lineNumber: 30,
7409
7375
  columnNumber: 5
7410
7376
  }
7411
7377
  }, /*#__PURE__*/React__default.createElement(InputLeftElement, {
@@ -7413,24 +7379,28 @@ const InputSearchbox = _ref => {
7413
7379
  __self: undefined,
7414
7380
  __source: {
7415
7381
  fileName: _jsxFileName$C,
7416
- lineNumber: 29,
7382
+ lineNumber: 31,
7417
7383
  columnNumber: 35
7418
7384
  }
7419
7385
  }),
7420
7386
  __self: undefined,
7421
7387
  __source: {
7422
7388
  fileName: _jsxFileName$C,
7423
- lineNumber: 29,
7389
+ lineNumber: 31,
7424
7390
  columnNumber: 7
7425
7391
  }
7426
7392
  }), /*#__PURE__*/React__default.createElement(InputText, _extends({
7427
7393
  onChange: handleChange,
7428
- value: value
7394
+ value: value,
7395
+ disabled: disabled,
7396
+ css: {
7397
+ height: 'fit-content'
7398
+ }
7429
7399
  }, props, {
7430
7400
  __self: undefined,
7431
7401
  __source: {
7432
7402
  fileName: _jsxFileName$C,
7433
- lineNumber: 30,
7403
+ lineNumber: 32,
7434
7404
  columnNumber: 7
7435
7405
  }
7436
7406
  })), /*#__PURE__*/React__default.createElement(InputRightElement, {
@@ -7438,14 +7408,14 @@ const InputSearchbox = _ref => {
7438
7408
  __self: undefined,
7439
7409
  __source: {
7440
7410
  fileName: _jsxFileName$C,
7441
- lineNumber: 31,
7411
+ lineNumber: 41,
7442
7412
  columnNumber: 55
7443
7413
  }
7444
7414
  }) : /*#__PURE__*/React__default.createElement("div", {
7445
7415
  __self: undefined,
7446
7416
  __source: {
7447
7417
  fileName: _jsxFileName$C,
7448
- lineNumber: 31,
7418
+ lineNumber: 41,
7449
7419
  columnNumber: 73
7450
7420
  }
7451
7421
  }),
@@ -7453,7 +7423,7 @@ const InputSearchbox = _ref => {
7453
7423
  __self: undefined,
7454
7424
  __source: {
7455
7425
  fileName: _jsxFileName$C,
7456
- lineNumber: 31,
7426
+ lineNumber: 41,
7457
7427
  columnNumber: 7
7458
7428
  }
7459
7429
  }));
@@ -7858,6 +7828,7 @@ function Select$1(_ref) {
7858
7828
  const [options, setOptions] = React.useState(option || []);
7859
7829
  const [item, setItem] = React.useState(option || []);
7860
7830
  const [selectedValue, setSelectedValue] = React.useState(value);
7831
+ const inputRef = React.useRef(null);
7861
7832
 
7862
7833
  const handleInputValue = (value, isReset) => {
7863
7834
  if (onSearch && !isReset) onSearch(value);
@@ -7865,7 +7836,6 @@ function Select$1(_ref) {
7865
7836
  if (value === '') {
7866
7837
  return setItem(options);
7867
7838
  } else {
7868
- // let filterItems = option.filter(item => item.name.toLowerCase().startsWith(value.toLocaleLowerCase()));
7869
7839
  let filterItems = options.filter(item => item.name.toLowerCase().includes(value.toLocaleLowerCase()));
7870
7840
  setItem(filterItems);
7871
7841
  }
@@ -7910,7 +7880,7 @@ function Select$1(_ref) {
7910
7880
  __self: this,
7911
7881
  __source: {
7912
7882
  fileName: _jsxFileName$B,
7913
- lineNumber: 288,
7883
+ lineNumber: 290,
7914
7884
  columnNumber: 5
7915
7885
  }
7916
7886
  }), ({
@@ -7942,7 +7912,7 @@ function Select$1(_ref) {
7942
7912
  __self: this,
7943
7913
  __source: {
7944
7914
  fileName: _jsxFileName$B,
7945
- lineNumber: 317,
7915
+ lineNumber: 319,
7946
7916
  columnNumber: 13
7947
7917
  }
7948
7918
  }), /*#__PURE__*/React.createElement(CaretDownOutline, {
@@ -7950,7 +7920,7 @@ function Select$1(_ref) {
7950
7920
  __self: this,
7951
7921
  __source: {
7952
7922
  fileName: _jsxFileName$B,
7953
- lineNumber: 322,
7923
+ lineNumber: 324,
7954
7924
  columnNumber: 15
7955
7925
  }
7956
7926
  }));
@@ -7967,17 +7937,17 @@ function Select$1(_ref) {
7967
7937
  __self: this,
7968
7938
  __source: {
7969
7939
  fileName: _jsxFileName$B,
7970
- lineNumber: 331,
7940
+ lineNumber: 333,
7971
7941
  columnNumber: 13
7972
7942
  }
7973
7943
  }, /*#__PURE__*/React.createElement(InputSearchbox, {
7974
- size: "lg",
7944
+ size: size,
7975
7945
  onChange: handleInputValue,
7976
7946
  placeholder: searchPlaceholder,
7977
7947
  __self: this,
7978
7948
  __source: {
7979
7949
  fileName: _jsxFileName$B,
7980
- lineNumber: 340,
7950
+ lineNumber: 342,
7981
7951
  columnNumber: 15
7982
7952
  }
7983
7953
  }));
@@ -7987,7 +7957,7 @@ function Select$1(_ref) {
7987
7957
  __self: this,
7988
7958
  __source: {
7989
7959
  fileName: _jsxFileName$B,
7990
- lineNumber: 345,
7960
+ lineNumber: 347,
7991
7961
  columnNumber: 11
7992
7962
  }
7993
7963
  }, /*#__PURE__*/React.createElement(BoxSelect, _extends({}, getRootProps({}, {
@@ -8000,28 +7970,32 @@ function Select$1(_ref) {
8000
7970
  __self: this,
8001
7971
  __source: {
8002
7972
  fileName: _jsxFileName$B,
8003
- lineNumber: 346,
7973
+ lineNumber: 348,
8004
7974
  columnNumber: 13
8005
7975
  }
8006
- }), search ? /*#__PURE__*/React.createElement("div", {
7976
+ }), search ? /*#__PURE__*/React.createElement(Box$1, {
8007
7977
  style: {
8008
7978
  width: '100%'
8009
7979
  },
8010
7980
  __self: this,
8011
7981
  __source: {
8012
7982
  fileName: _jsxFileName$B,
8013
- lineNumber: 354,
7983
+ lineNumber: 356,
8014
7984
  columnNumber: 17
8015
7985
  }
8016
- }, icon ? /*#__PURE__*/React.createElement("div", {
8017
- style: {
8018
- display: 'flex',
8019
- height: '100%'
7986
+ }, icon ? /*#__PURE__*/React.createElement(InputGroup, {
7987
+ css: {
7988
+ height: '100%',
7989
+ border: 'none',
7990
+ '&:hover': {
7991
+ border: 'none'
7992
+ }
8020
7993
  },
7994
+ disabled: disabled,
8021
7995
  __self: this,
8022
7996
  __source: {
8023
7997
  fileName: _jsxFileName$B,
8024
- lineNumber: 356,
7998
+ lineNumber: 358,
8025
7999
  columnNumber: 21
8026
8000
  }
8027
8001
  }, /*#__PURE__*/React.createElement(InputLeftElement, {
@@ -8029,31 +8003,68 @@ function Select$1(_ref) {
8029
8003
  __self: this,
8030
8004
  __source: {
8031
8005
  fileName: _jsxFileName$B,
8032
- lineNumber: 357,
8006
+ lineNumber: 368,
8033
8007
  columnNumber: 51
8034
8008
  }
8035
8009
  }),
8036
8010
  __self: this,
8037
8011
  __source: {
8038
8012
  fileName: _jsxFileName$B,
8039
- lineNumber: 357,
8013
+ lineNumber: 368,
8040
8014
  columnNumber: 23
8041
8015
  }
8042
8016
  }), /*#__PURE__*/React.createElement(Input$5, _extends({
8043
8017
  placeholder: placeholder,
8044
- disabled: disabled,
8045
8018
  readOnly: readOnly
8046
8019
  }, getInputProps({
8047
8020
  onChange: event => handleInputValue(event.target.value),
8048
8021
  disabled
8049
8022
  }), {
8023
+ ref: inputRef,
8024
+ css: {
8025
+ marginLeft: 0,
8026
+ height: 'fit-content'
8027
+ },
8050
8028
  __self: this,
8051
8029
  __source: {
8052
8030
  fileName: _jsxFileName$B,
8053
- lineNumber: 358,
8031
+ lineNumber: 369,
8032
+ columnNumber: 23
8033
+ }
8034
+ })), /*#__PURE__*/React.createElement(InputRightElement, {
8035
+ children: getInputProps().value.length > 0 ? /*#__PURE__*/React.createElement(CloseFilled, {
8036
+ __self: this,
8037
+ __source: {
8038
+ fileName: _jsxFileName$B,
8039
+ lineNumber: 380,
8040
+ columnNumber: 70
8041
+ }
8042
+ }) : /*#__PURE__*/React.createElement("div", {
8043
+ __self: this,
8044
+ __source: {
8045
+ fileName: _jsxFileName$B,
8046
+ lineNumber: 380,
8047
+ columnNumber: 88
8048
+ }
8049
+ }),
8050
+ onClick: e => {
8051
+ if (!disabled) {
8052
+ getInputProps().onChange(Object.assign({}, e, {
8053
+ target: Object.assign({}, e.target, {
8054
+ value: ''
8055
+ })
8056
+ }));
8057
+ handleInputValue('');
8058
+ if (inputRef.current) inputRef.current.focus();
8059
+ }
8060
+ },
8061
+ __self: this,
8062
+ __source: {
8063
+ fileName: _jsxFileName$B,
8064
+ lineNumber: 379,
8054
8065
  columnNumber: 23
8055
8066
  }
8056
- }))) : /*#__PURE__*/React.createElement(Input$5, _extends({
8067
+ })) : /*#__PURE__*/React.createElement(Input$5, _extends({
8057
8068
  placeholder: placeholder,
8058
8069
  disabled: disabled,
8059
8070
  readOnly: readOnly
@@ -8064,7 +8075,7 @@ function Select$1(_ref) {
8064
8075
  __self: this,
8065
8076
  __source: {
8066
8077
  fileName: _jsxFileName$B,
8067
- lineNumber: 366,
8078
+ lineNumber: 397,
8068
8079
  columnNumber: 21
8069
8080
  }
8070
8081
  }))) : /*#__PURE__*/React.createElement(Button$1, _extends({}, getToggleButtonProps({
@@ -8076,7 +8087,7 @@ function Select$1(_ref) {
8076
8087
  __self: this,
8077
8088
  __source: {
8078
8089
  fileName: _jsxFileName$B,
8079
- lineNumber: 375,
8090
+ lineNumber: 406,
8080
8091
  columnNumber: 17
8081
8092
  }
8082
8093
  }), selectedItem ? /*#__PURE__*/React.createElement(Text$1, {
@@ -8085,7 +8096,7 @@ function Select$1(_ref) {
8085
8096
  __self: this,
8086
8097
  __source: {
8087
8098
  fileName: _jsxFileName$B,
8088
- lineNumber: 382,
8099
+ lineNumber: 413,
8089
8100
  columnNumber: 21
8090
8101
  }
8091
8102
  }, selectedItem.render ? selectedItem.render() : selectedItem.name) : /*#__PURE__*/React.createElement(Text$1, {
@@ -8094,7 +8105,7 @@ function Select$1(_ref) {
8094
8105
  __self: this,
8095
8106
  __source: {
8096
8107
  fileName: _jsxFileName$B,
8097
- lineNumber: 386,
8108
+ lineNumber: 417,
8098
8109
  columnNumber: 21
8099
8110
  }
8100
8111
  }, placeholder)), handleDownOption()), /*#__PURE__*/React.createElement(OptionWrapper$2, _extends({}, getMenuProps(), {
@@ -8105,14 +8116,14 @@ function Select$1(_ref) {
8105
8116
  __self: this,
8106
8117
  __source: {
8107
8118
  fileName: _jsxFileName$B,
8108
- lineNumber: 394,
8119
+ lineNumber: 425,
8109
8120
  columnNumber: 13
8110
8121
  }
8111
8122
  }), renderInputSearchBox(), item.length !== 0 ? /*#__PURE__*/React.createElement(SelectOption, {
8112
8123
  __self: this,
8113
8124
  __source: {
8114
8125
  fileName: _jsxFileName$B,
8115
- lineNumber: 397,
8126
+ lineNumber: 428,
8116
8127
  columnNumber: 17
8117
8128
  }
8118
8129
  }, item.map((item, index) => {
@@ -8135,7 +8146,7 @@ function Select$1(_ref) {
8135
8146
  __self: this,
8136
8147
  __source: {
8137
8148
  fileName: _jsxFileName$B,
8138
- lineNumber: 399,
8149
+ lineNumber: 430,
8139
8150
  columnNumber: 21
8140
8151
  }
8141
8152
  }), item.render ? item.render() : item.name);
@@ -8143,14 +8154,14 @@ function Select$1(_ref) {
8143
8154
  __self: this,
8144
8155
  __source: {
8145
8156
  fileName: _jsxFileName$B,
8146
- lineNumber: 421,
8157
+ lineNumber: 452,
8147
8158
  columnNumber: 17
8148
8159
  }
8149
8160
  }, /*#__PURE__*/React.createElement(StyledDiv$2, {
8150
8161
  __self: this,
8151
8162
  __source: {
8152
8163
  fileName: _jsxFileName$B,
8153
- lineNumber: 422,
8164
+ lineNumber: 453,
8154
8165
  columnNumber: 19
8155
8166
  }
8156
8167
  }, /*#__PURE__*/React.createElement("div", {
@@ -8160,7 +8171,7 @@ function Select$1(_ref) {
8160
8171
  __self: this,
8161
8172
  __source: {
8162
8173
  fileName: _jsxFileName$B,
8163
- lineNumber: 423,
8174
+ lineNumber: 454,
8164
8175
  columnNumber: 21
8165
8176
  }
8166
8177
  }, /*#__PURE__*/React.createElement(CircleInfoOutline, {
@@ -8172,7 +8183,7 @@ function Select$1(_ref) {
8172
8183
  __self: this,
8173
8184
  __source: {
8174
8185
  fileName: _jsxFileName$B,
8175
- lineNumber: 424,
8186
+ lineNumber: 455,
8176
8187
  columnNumber: 23
8177
8188
  }
8178
8189
  })), "Item tidak ditemukan"))));
@@ -12264,7 +12275,6 @@ const ModalDialog = props => {
12264
12275
  }, {
12265
12276
  children: jsx(Box$1, Object.assign({
12266
12277
  css: {
12267
- size: 22,
12268
12278
  display: 'flex',
12269
12279
  justifyContent: 'center',
12270
12280
  alignItems: 'center',
@@ -17207,7 +17217,7 @@ const rowExpanderColumn = {
17207
17217
  justify: "center"
17208
17218
  }, row.getToggleRowExpandedProps(), {
17209
17219
  onClick: () => {
17210
- if (!Object.keys(state.expanded).includes(row.id)) {
17220
+ if (!Object.keys(state.expanded).includes(String(row.id))) {
17211
17221
  toggleAllRowsExpanded(false);
17212
17222
  }
17213
17223
 
@@ -17823,6 +17833,9 @@ function Content$1(_ref) {
17823
17833
  columnNumber: 5
17824
17834
  }
17825
17835
  }, /*#__PURE__*/React__default.createElement(StyledOverlay, {
17836
+ css: {
17837
+ zIndex: '$toast'
17838
+ },
17826
17839
  __self: this,
17827
17840
  __source: {
17828
17841
  fileName: _jsxFileName$b,
@@ -17903,7 +17916,7 @@ const TemplateAlertFunction = props => {
17903
17916
  }
17904
17917
  }), /*#__PURE__*/React__default.createElement(Content$1, _extends({}, props, {
17905
17918
  css: Object.assign({
17906
- zIndex: '$modal',
17919
+ zIndex: '$tooltip',
17907
17920
  minHeight: 230
17908
17921
  }, isMobileCss, props.css),
17909
17922
  __self: undefined,
@@ -18098,7 +18111,7 @@ function AlertDialog(props) {
18098
18111
  }
18099
18112
  }, /*#__PURE__*/React__default.createElement(Content$1, _extends({}, props, {
18100
18113
  css: Object.assign({
18101
- zIndex: '$modal',
18114
+ zIndex: '$tooltip',
18102
18115
  minHeight: 230
18103
18116
  }, isMobileCss, props.css),
18104
18117
  __self: this,
@@ -18274,6 +18287,18 @@ function AlertDialog(props) {
18274
18287
  }
18275
18288
  }, props.labelConfirm ? props.labelConfirm : 'Confirm')))))));
18276
18289
  }
18290
+ TemplateAlertFunction.propTypes = {
18291
+ title: string.isRequired,
18292
+ description: string.isRequired,
18293
+ dialogType: string,
18294
+ onCancel: func,
18295
+ onConfirm: func
18296
+ };
18297
+ TemplateAlertFunction.defaultProps = {
18298
+ dialogType: 'primary',
18299
+ onCancel: () => {},
18300
+ onConfirm: () => {}
18301
+ };
18277
18302
  AlertDialog.propTypes = {
18278
18303
  title: string.isRequired,
18279
18304
  description: string.isRequired,
@@ -20357,12 +20382,18 @@ const Children = styled('div', {
20357
20382
  flexDirection: 'column'
20358
20383
  });
20359
20384
  const Text = styled('p', {
20360
- margin: '32px 32px 0 32px',
20361
20385
  color: '$textDisable',
20362
20386
  fontSize: 12,
20363
20387
  fontWeight: 400,
20364
20388
  fontStyle: 'normal',
20365
- textAlign: 'center'
20389
+ textAlign: 'center',
20390
+ variants: {
20391
+ hidden: {
20392
+ true: {
20393
+ display: 'none'
20394
+ }
20395
+ }
20396
+ }
20366
20397
  });
20367
20398
  const ErrorMessage = styled('p', {
20368
20399
  color: '$red400',
@@ -20371,10 +20402,10 @@ const ErrorMessage = styled('p', {
20371
20402
  fontStyle: 'normal',
20372
20403
  textAlign: 'center',
20373
20404
  width: 190,
20374
- marginTop: 4
20405
+ marginTop: '$spacing-02'
20375
20406
  });
20376
20407
  const IconCard = styled('div', {
20377
- padding: '7px 8px 7px 8px',
20408
+ padding: '7px $spacing-03 7px $spacing-03',
20378
20409
  borderRadius: 50,
20379
20410
  background: '$bgWhite',
20380
20411
  textAlign: 'center',
@@ -20389,7 +20420,7 @@ const ButtonText = styled('button', {
20389
20420
  fontSize: 14,
20390
20421
  color: '$primary500',
20391
20422
  cursor: 'pointer',
20392
- padding: '4px 10px 4px 10px',
20423
+ padding: '$spacing-02 $spacing-04 $spacing-02 $spacing-04',
20393
20424
  borderRadius: 4,
20394
20425
  '&:hover': {
20395
20426
  background: '$bgSuccess'
@@ -20407,14 +20438,14 @@ const EyeIcon = styled(EyeOutline, {
20407
20438
  borderRadius: 50,
20408
20439
  width: 40,
20409
20440
  height: 40,
20410
- padding: 6
20441
+ padding: '$spacing-03'
20411
20442
  });
20412
20443
  const CheckIcon = styled(CheckFilled, {
20413
20444
  background: '$white',
20414
20445
  borderRadius: 50,
20415
20446
  width: 40,
20416
20447
  height: 40,
20417
- padding: 6
20448
+ padding: '$spacing-03'
20418
20449
  });
20419
20450
 
20420
20451
  const IconStateFull = props => {
@@ -20431,7 +20462,7 @@ const IconStateFull = props => {
20431
20462
  __self: undefined,
20432
20463
  __source: {
20433
20464
  fileName: _jsxFileName$9,
20434
- lineNumber: 104,
20465
+ lineNumber: 111,
20435
20466
  columnNumber: 5
20436
20467
  }
20437
20468
  })) : /*#__PURE__*/React__default.createElement(EyeIcon, _extends({}, props, {
@@ -20441,7 +20472,7 @@ const IconStateFull = props => {
20441
20472
  __self: undefined,
20442
20473
  __source: {
20443
20474
  fileName: _jsxFileName$9,
20444
- lineNumber: 111,
20475
+ lineNumber: 118,
20445
20476
  columnNumber: 5
20446
20477
  }
20447
20478
  }));
@@ -20461,7 +20492,10 @@ const Upload = ({
20461
20492
  height,
20462
20493
  css,
20463
20494
  cropperTitle,
20464
- showCropper
20495
+ showCropper,
20496
+ accept,
20497
+ progress,
20498
+ loading
20465
20499
  }) => {
20466
20500
  const isFile = listType === 'file';
20467
20501
  const imgRef = useRef(null);
@@ -20475,6 +20509,16 @@ const Upload = ({
20475
20509
  const [crop, setCrop] = useState(null);
20476
20510
  const [completedCrop, setCompletedCrop] = useState(null);
20477
20511
  const [aspect, setAspect] = useState(16 / 9);
20512
+ const [isLoading, setIsLoading] = useState(false);
20513
+ useEffect(() => {
20514
+ if (loading) {
20515
+ setIsLoading(true);
20516
+ }
20517
+
20518
+ if (progress && progress < 1 && progress > 100) {
20519
+ setIsLoading(false);
20520
+ }
20521
+ }, [loading, progress]);
20478
20522
  const ContainerUpload = styled('div', {
20479
20523
  border: '2px dashed $gray300',
20480
20524
  borderRadius: 8,
@@ -20520,7 +20564,7 @@ const Upload = ({
20520
20564
  focus: {
20521
20565
  true: {
20522
20566
  border: '2px solid $borderFocus',
20523
- padding: 8,
20567
+ padding: '$spacing-03',
20524
20568
  borderRadius: 8
20525
20569
  }
20526
20570
  }
@@ -20702,21 +20746,22 @@ const Upload = ({
20702
20746
  justify: "center",
20703
20747
  align: "center",
20704
20748
  css: {
20705
- marginTop: 6
20749
+ marginTop: '$spacing-03'
20706
20750
  },
20707
20751
  __self: this,
20708
20752
  __source: {
20709
20753
  fileName: _jsxFileName$9,
20710
- lineNumber: 362,
20754
+ lineNumber: 382,
20711
20755
  columnNumber: 7
20712
20756
  }
20713
20757
  }, /*#__PURE__*/React__default.createElement(ButtonText, {
20758
+ type: "button",
20714
20759
  onClick: () => handleReplace(index),
20715
20760
  buttonType: "ghost",
20716
20761
  __self: this,
20717
20762
  __source: {
20718
20763
  fileName: _jsxFileName$9,
20719
- lineNumber: 363,
20764
+ lineNumber: 383,
20720
20765
  columnNumber: 9
20721
20766
  }
20722
20767
  }, replaceLabel && replaceLabel.length > 0 ? replaceLabel : `Ubah ${isFile ? 'Berkas' : 'Gambar'}`));
@@ -20724,12 +20769,26 @@ const Upload = ({
20724
20769
 
20725
20770
  const renderPicture = () => {
20726
20771
  return fileList == null ? void 0 : fileList.map((item, index) => {
20772
+ if ((item == null ? void 0 : item.status) === 'uploading') {
20773
+ return /*#__PURE__*/React__default.createElement(UploadProgress, {
20774
+ key: index,
20775
+ progress: item == null ? void 0 : item.percent,
20776
+ loading: item == null ? void 0 : item.loading,
20777
+ __self: undefined,
20778
+ __source: {
20779
+ fileName: _jsxFileName$9,
20780
+ lineNumber: 393,
20781
+ columnNumber: 16
20782
+ }
20783
+ });
20784
+ }
20785
+
20727
20786
  return /*#__PURE__*/React__default.createElement(Container, {
20728
20787
  key: index,
20729
20788
  __self: undefined,
20730
20789
  __source: {
20731
20790
  fileName: _jsxFileName$9,
20732
- lineNumber: 373,
20791
+ lineNumber: 396,
20733
20792
  columnNumber: 9
20734
20793
  }
20735
20794
  }, /*#__PURE__*/React__default.createElement(Box$1, {
@@ -20739,7 +20798,7 @@ const Upload = ({
20739
20798
  __self: undefined,
20740
20799
  __source: {
20741
20800
  fileName: _jsxFileName$9,
20742
- lineNumber: 374,
20801
+ lineNumber: 397,
20743
20802
  columnNumber: 11
20744
20803
  }
20745
20804
  }, /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -20748,7 +20807,7 @@ const Upload = ({
20748
20807
  __self: undefined,
20749
20808
  __source: {
20750
20809
  fileName: _jsxFileName$9,
20751
- lineNumber: 375,
20810
+ lineNumber: 398,
20752
20811
  columnNumber: 13
20753
20812
  }
20754
20813
  }), /*#__PURE__*/React__default.createElement(Box$1, {
@@ -20761,7 +20820,7 @@ const Upload = ({
20761
20820
  __self: undefined,
20762
20821
  __source: {
20763
20822
  fileName: _jsxFileName$9,
20764
- lineNumber: 376,
20823
+ lineNumber: 399,
20765
20824
  columnNumber: 13
20766
20825
  }
20767
20826
  }, /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -20770,7 +20829,7 @@ const Upload = ({
20770
20829
  __self: undefined,
20771
20830
  __source: {
20772
20831
  fileName: _jsxFileName$9,
20773
- lineNumber: 384,
20832
+ lineNumber: 407,
20774
20833
  columnNumber: 15
20775
20834
  }
20776
20835
  })), /*#__PURE__*/React__default.createElement(Image, {
@@ -20778,7 +20837,7 @@ const Upload = ({
20778
20837
  __self: undefined,
20779
20838
  __source: {
20780
20839
  fileName: _jsxFileName$9,
20781
- lineNumber: 386,
20840
+ lineNumber: 409,
20782
20841
  columnNumber: 13
20783
20842
  }
20784
20843
  })), renderButtonReplace(index));
@@ -20787,12 +20846,26 @@ const Upload = ({
20787
20846
 
20788
20847
  const renderFile = () => {
20789
20848
  return fileList == null ? void 0 : fileList.map((item, index) => {
20849
+ if ((item == null ? void 0 : item.status) === 'uploading') {
20850
+ return /*#__PURE__*/React__default.createElement(UploadProgress, {
20851
+ key: index,
20852
+ progress: item == null ? void 0 : item.percent,
20853
+ loading: item == null ? void 0 : item.loading,
20854
+ __self: undefined,
20855
+ __source: {
20856
+ fileName: _jsxFileName$9,
20857
+ lineNumber: 420,
20858
+ columnNumber: 16
20859
+ }
20860
+ });
20861
+ }
20862
+
20790
20863
  return /*#__PURE__*/React__default.createElement(Container, {
20791
20864
  key: index,
20792
20865
  __self: undefined,
20793
20866
  __source: {
20794
20867
  fileName: _jsxFileName$9,
20795
- lineNumber: 397,
20868
+ lineNumber: 423,
20796
20869
  columnNumber: 9
20797
20870
  }
20798
20871
  }, /*#__PURE__*/React__default.createElement(Box$1, {
@@ -20802,7 +20875,7 @@ const Upload = ({
20802
20875
  __self: undefined,
20803
20876
  __source: {
20804
20877
  fileName: _jsxFileName$9,
20805
- lineNumber: 398,
20878
+ lineNumber: 424,
20806
20879
  columnNumber: 11
20807
20880
  }
20808
20881
  }, /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -20811,7 +20884,7 @@ const Upload = ({
20811
20884
  __self: undefined,
20812
20885
  __source: {
20813
20886
  fileName: _jsxFileName$9,
20814
- lineNumber: 399,
20887
+ lineNumber: 425,
20815
20888
  columnNumber: 13
20816
20889
  }
20817
20890
  }), /*#__PURE__*/React__default.createElement(Box$1, {
@@ -20824,7 +20897,7 @@ const Upload = ({
20824
20897
  __self: undefined,
20825
20898
  __source: {
20826
20899
  fileName: _jsxFileName$9,
20827
- lineNumber: 400,
20900
+ lineNumber: 426,
20828
20901
  columnNumber: 13
20829
20902
  }
20830
20903
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -20834,7 +20907,7 @@ const Upload = ({
20834
20907
  __self: undefined,
20835
20908
  __source: {
20836
20909
  fileName: _jsxFileName$9,
20837
- lineNumber: 408,
20910
+ lineNumber: 434,
20838
20911
  columnNumber: 15
20839
20912
  }
20840
20913
  }, /*#__PURE__*/React__default.createElement(CheckIcon, {
@@ -20842,7 +20915,7 @@ const Upload = ({
20842
20915
  __self: undefined,
20843
20916
  __source: {
20844
20917
  fileName: _jsxFileName$9,
20845
- lineNumber: 409,
20918
+ lineNumber: 435,
20846
20919
  columnNumber: 17
20847
20920
  }
20848
20921
  }), /*#__PURE__*/React__default.createElement(Text, {
@@ -20851,25 +20924,96 @@ const Upload = ({
20851
20924
  textOverflow: 'ellipsis',
20852
20925
  overflow: 'hidden',
20853
20926
  width: 180,
20854
- whiteSpace: 'nowrap'
20927
+ whiteSpace: 'nowrap',
20928
+ margin: '$spacing-07 $spacing-07 0 $spacing-07'
20855
20929
  },
20856
20930
  __self: undefined,
20857
20931
  __source: {
20858
20932
  fileName: _jsxFileName$9,
20859
- lineNumber: 410,
20933
+ lineNumber: 436,
20860
20934
  columnNumber: 17
20861
20935
  }
20862
20936
  }, item.name))), /*#__PURE__*/React__default.createElement(Blank, {
20863
20937
  __self: undefined,
20864
20938
  __source: {
20865
20939
  fileName: _jsxFileName$9,
20866
- lineNumber: 423,
20940
+ lineNumber: 450,
20867
20941
  columnNumber: 13
20868
20942
  }
20869
20943
  })), renderButtonReplace(index));
20870
20944
  });
20871
20945
  };
20872
20946
 
20947
+ function UploadProgress(props) {
20948
+ const {
20949
+ progress,
20950
+ loading
20951
+ } = props;
20952
+ return /*#__PURE__*/React__default.createElement(ContainerUpload, {
20953
+ __self: this,
20954
+ __source: {
20955
+ fileName: _jsxFileName$9,
20956
+ lineNumber: 461,
20957
+ columnNumber: 7
20958
+ }
20959
+ }, /*#__PURE__*/React__default.createElement(Flex$1, {
20960
+ css: {
20961
+ flex: 1,
20962
+ padding: '$spacing-05',
20963
+ marginTop: '$spacing-05'
20964
+ },
20965
+ gap: 2,
20966
+ direction: "column",
20967
+ __self: this,
20968
+ __source: {
20969
+ fileName: _jsxFileName$9,
20970
+ lineNumber: 462,
20971
+ columnNumber: 9
20972
+ }
20973
+ }, /*#__PURE__*/React__default.createElement(LoadingBar, {
20974
+ css: {
20975
+ '& > div': {
20976
+ backgroundColor: '$chartLightYellow !important'
20977
+ },
20978
+ '& > div > div': {
20979
+ background: '$chartYellow !important'
20980
+ },
20981
+ '& > p': {
20982
+ color: '$textDisable',
20983
+ fontSize: 12,
20984
+ fontWeight: 400
20985
+ }
20986
+ },
20987
+ description: "",
20988
+ showProgressOnly: progress,
20989
+ progress: progress,
20990
+ isAuto: !progress,
20991
+ show: loading,
20992
+ onCompleted: () => setTimeout(() => setIsLoading(false), 1000),
20993
+ __self: this,
20994
+ __source: {
20995
+ fileName: _jsxFileName$9,
20996
+ lineNumber: 463,
20997
+ columnNumber: 11
20998
+ }
20999
+ }), /*#__PURE__*/React__default.createElement(Text, {
21000
+ hidden: !progress,
21001
+ __self: this,
21002
+ __source: {
21003
+ fileName: _jsxFileName$9,
21004
+ lineNumber: 476,
21005
+ columnNumber: 11
21006
+ }
21007
+ }, `${progress <= 100 ? progress : 100}%`), /*#__PURE__*/React__default.createElement(Text, {
21008
+ __self: this,
21009
+ __source: {
21010
+ fileName: _jsxFileName$9,
21011
+ lineNumber: 477,
21012
+ columnNumber: 11
21013
+ }
21014
+ }, `${isFile ? 'Berkas' : 'Gambar'} sedang diunggah`)));
21015
+ }
21016
+
20873
21017
  function renderUpload() {
20874
21018
  return /*#__PURE__*/React__default.createElement(FocusArea, {
20875
21019
  focus: dragActive,
@@ -20877,7 +21021,7 @@ const Upload = ({
20877
21021
  __self: this,
20878
21022
  __source: {
20879
21023
  fileName: _jsxFileName$9,
20880
- lineNumber: 433,
21024
+ lineNumber: 485,
20881
21025
  columnNumber: 7
20882
21026
  }
20883
21027
  }, /*#__PURE__*/React__default.createElement(ContainerUpload, {
@@ -20892,60 +21036,64 @@ const Upload = ({
20892
21036
  __self: this,
20893
21037
  __source: {
20894
21038
  fileName: _jsxFileName$9,
20895
- lineNumber: 434,
21039
+ lineNumber: 486,
20896
21040
  columnNumber: 9
20897
21041
  }
20898
21042
  }, /*#__PURE__*/React__default.createElement(Input$1, {
20899
21043
  type: "file",
21044
+ accept: accept,
20900
21045
  ref: hiddenFileInput,
20901
21046
  onChange: handleChange,
20902
21047
  multiple: multiple,
20903
21048
  __self: this,
20904
21049
  __source: {
20905
21050
  fileName: _jsxFileName$9,
20906
- lineNumber: 444,
21051
+ lineNumber: 496,
20907
21052
  columnNumber: 11
20908
21053
  }
20909
21054
  }), /*#__PURE__*/React__default.createElement(Children, {
20910
21055
  __self: this,
20911
21056
  __source: {
20912
21057
  fileName: _jsxFileName$9,
20913
- lineNumber: 445,
21058
+ lineNumber: 497,
20914
21059
  columnNumber: 11
20915
21060
  }
20916
21061
  }, children != null ? children : /*#__PURE__*/React__default.createElement(React__default.Fragment, {
20917
21062
  __self: this,
20918
21063
  __source: {
20919
21064
  fileName: _jsxFileName$9,
20920
- lineNumber: 447,
21065
+ lineNumber: 499,
20921
21066
  columnNumber: 15
20922
21067
  }
20923
21068
  }, /*#__PURE__*/React__default.createElement(IconCard, {
20924
21069
  __self: this,
20925
21070
  __source: {
20926
21071
  fileName: _jsxFileName$9,
20927
- lineNumber: 448,
21072
+ lineNumber: 500,
20928
21073
  columnNumber: 17
20929
21074
  }
20930
21075
  }, /*#__PURE__*/React__default.createElement(UploadOutline, {
20931
21076
  __self: this,
20932
21077
  __source: {
20933
21078
  fileName: _jsxFileName$9,
20934
- lineNumber: 449,
21079
+ lineNumber: 501,
20935
21080
  columnNumber: 19
20936
21081
  }
20937
21082
  })), /*#__PURE__*/React__default.createElement(Text, {
21083
+ css: {
21084
+ margin: '$spacing-07 $spacing-07 0 $spacing-07'
21085
+ },
20938
21086
  __self: this,
20939
21087
  __source: {
20940
21088
  fileName: _jsxFileName$9,
20941
- lineNumber: 451,
21089
+ lineNumber: 503,
20942
21090
  columnNumber: 17
20943
21091
  }
20944
21092
  }, `Pilih atau letakkan ${isFile ? 'berkas' : 'gambar'} anda disini`)))), errorMessage && /*#__PURE__*/React__default.createElement(ErrorMessage, {
20945
21093
  __self: this,
20946
21094
  __source: {
20947
21095
  fileName: _jsxFileName$9,
20948
- lineNumber: 456,
21096
+ lineNumber: 510,
20949
21097
  columnNumber: 26
20950
21098
  }
20951
21099
  }, errorMessage));
@@ -20956,7 +21104,7 @@ const Upload = ({
20956
21104
  __self: this,
20957
21105
  __source: {
20958
21106
  fileName: _jsxFileName$9,
20959
- lineNumber: 463,
21107
+ lineNumber: 517,
20960
21108
  columnNumber: 7
20961
21109
  }
20962
21110
  }, /*#__PURE__*/React__default.createElement(ModalDialogTrigger, {
@@ -20964,7 +21112,7 @@ const Upload = ({
20964
21112
  __self: this,
20965
21113
  __source: {
20966
21114
  fileName: _jsxFileName$9,
20967
- lineNumber: 464,
21115
+ lineNumber: 518,
20968
21116
  columnNumber: 9
20969
21117
  }
20970
21118
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -20972,7 +21120,7 @@ const Upload = ({
20972
21120
  __self: this,
20973
21121
  __source: {
20974
21122
  fileName: _jsxFileName$9,
20975
- lineNumber: 465,
21123
+ lineNumber: 519,
20976
21124
  columnNumber: 11
20977
21125
  }
20978
21126
  })), /*#__PURE__*/React__default.createElement(ModalDialogTitle, {
@@ -20985,18 +21133,18 @@ const Upload = ({
20985
21133
  __self: this,
20986
21134
  __source: {
20987
21135
  fileName: _jsxFileName$9,
20988
- lineNumber: 467,
21136
+ lineNumber: 521,
20989
21137
  columnNumber: 9
20990
21138
  }
20991
21139
  }, cropperTitle), /*#__PURE__*/React__default.createElement(ModalDialogContent, {
20992
21140
  css: {
20993
- padding: 8,
21141
+ padding: '$spacing-03',
20994
21142
  overflowY: 'auto'
20995
21143
  },
20996
21144
  __self: this,
20997
21145
  __source: {
20998
21146
  fileName: _jsxFileName$9,
20999
- lineNumber: 470,
21147
+ lineNumber: 524,
21000
21148
  columnNumber: 9
21001
21149
  }
21002
21150
  }, /*#__PURE__*/React__default.createElement(ReactCrop, {
@@ -21007,7 +21155,7 @@ const Upload = ({
21007
21155
  __self: this,
21008
21156
  __source: {
21009
21157
  fileName: _jsxFileName$9,
21010
- lineNumber: 471,
21158
+ lineNumber: 525,
21011
21159
  columnNumber: 11
21012
21160
  }
21013
21161
  }, /*#__PURE__*/React__default.createElement(Image, {
@@ -21020,14 +21168,14 @@ const Upload = ({
21020
21168
  __self: this,
21021
21169
  __source: {
21022
21170
  fileName: _jsxFileName$9,
21023
- lineNumber: 472,
21171
+ lineNumber: 526,
21024
21172
  columnNumber: 13
21025
21173
  }
21026
21174
  }))), /*#__PURE__*/React__default.createElement(ModalDialogFooter, {
21027
21175
  __self: this,
21028
21176
  __source: {
21029
21177
  fileName: _jsxFileName$9,
21030
- lineNumber: 475,
21178
+ lineNumber: 529,
21031
21179
  columnNumber: 9
21032
21180
  }
21033
21181
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -21039,7 +21187,7 @@ const Upload = ({
21039
21187
  __self: this,
21040
21188
  __source: {
21041
21189
  fileName: _jsxFileName$9,
21042
- lineNumber: 476,
21190
+ lineNumber: 530,
21043
21191
  columnNumber: 11
21044
21192
  }
21045
21193
  }, /*#__PURE__*/React__default.createElement(Tooltip, {
@@ -21047,7 +21195,7 @@ const Upload = ({
21047
21195
  __self: this,
21048
21196
  __source: {
21049
21197
  fileName: _jsxFileName$9,
21050
- lineNumber: 477,
21198
+ lineNumber: 531,
21051
21199
  columnNumber: 13
21052
21200
  }
21053
21201
  }, /*#__PURE__*/React__default.createElement(ImageOutline, {
@@ -21059,7 +21207,7 @@ const Upload = ({
21059
21207
  __self: this,
21060
21208
  __source: {
21061
21209
  fileName: _jsxFileName$9,
21062
- lineNumber: 478,
21210
+ lineNumber: 532,
21063
21211
  columnNumber: 15
21064
21212
  }
21065
21213
  })), /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -21067,7 +21215,7 @@ const Upload = ({
21067
21215
  __self: this,
21068
21216
  __source: {
21069
21217
  fileName: _jsxFileName$9,
21070
- lineNumber: 484,
21218
+ lineNumber: 538,
21071
21219
  columnNumber: 13
21072
21220
  }
21073
21221
  }, /*#__PURE__*/React__default.createElement(Button$2, {
@@ -21076,7 +21224,7 @@ const Upload = ({
21076
21224
  __self: this,
21077
21225
  __source: {
21078
21226
  fileName: _jsxFileName$9,
21079
- lineNumber: 485,
21227
+ lineNumber: 539,
21080
21228
  columnNumber: 15
21081
21229
  }
21082
21230
  }, "Batal"), /*#__PURE__*/React__default.createElement(Button$2, {
@@ -21084,7 +21232,7 @@ const Upload = ({
21084
21232
  __self: this,
21085
21233
  __source: {
21086
21234
  fileName: _jsxFileName$9,
21087
- lineNumber: 488,
21235
+ lineNumber: 542,
21088
21236
  columnNumber: 15
21089
21237
  }
21090
21238
  }, `${completedCrop != null && completedCrop.width && completedCrop != null && completedCrop.height ? 'Potong & Simpan' : 'Simpan'}`)))));
@@ -21100,10 +21248,19 @@ const Upload = ({
21100
21248
  __self: undefined,
21101
21249
  __source: {
21102
21250
  fileName: _jsxFileName$9,
21103
- lineNumber: 499,
21251
+ lineNumber: 553,
21104
21252
  columnNumber: 5
21105
21253
  }
21106
- }, !isFile && renderPicture(), isFile && renderFile(), renderUpload(), showCropper && renderCropper());
21254
+ }, !isFile && renderPicture(), isFile && renderFile(), progress || isLoading ? /*#__PURE__*/React__default.createElement(UploadProgress, {
21255
+ progress: progress,
21256
+ loading: loading,
21257
+ __self: undefined,
21258
+ __source: {
21259
+ fileName: _jsxFileName$9,
21260
+ lineNumber: 556,
21261
+ columnNumber: 32
21262
+ }
21263
+ }) : renderUpload(), showCropper && renderCropper());
21107
21264
  };
21108
21265
 
21109
21266
  Upload.defaultProps = {
@@ -21115,6 +21272,16 @@ Upload.defaultProps = {
21115
21272
  showCropper: true
21116
21273
  };
21117
21274
  Upload.propTypes = {
21275
+ /**
21276
+ Progress of upload process
21277
+ */
21278
+ progress: PropTypes.number,
21279
+
21280
+ /**
21281
+ Auto increment progress of upload process
21282
+ */
21283
+ loading: PropTypes.bool,
21284
+
21118
21285
  /**
21119
21286
  Built-in stylesheets, support for two types.
21120
21287
  */
@@ -21155,6 +21322,11 @@ Upload.propTypes = {
21155
21322
  */
21156
21323
  max: PropTypes.number,
21157
21324
 
21325
+ /**
21326
+ Limit file type of upload.
21327
+ */
21328
+ accept: PropTypes.string,
21329
+
21158
21330
  /**
21159
21331
  Custom label for replace button.
21160
21332
  */
@@ -25724,7 +25896,8 @@ let interval;
25724
25896
  function LoadingBar(props) {
25725
25897
  const {
25726
25898
  show,
25727
- isAuto
25899
+ isAuto,
25900
+ onCompleted
25728
25901
  } = props;
25729
25902
  const [progress, setProgress] = useState(0);
25730
25903
  useEffect(() => {
@@ -25735,8 +25908,9 @@ function LoadingBar(props) {
25735
25908
  } else {
25736
25909
  setProgress(100);
25737
25910
  clearInterval(interval);
25911
+ onCompleted && onCompleted();
25738
25912
  }
25739
- }, [show]);
25913
+ }, [show, onCompleted]);
25740
25914
  useEffect(() => {
25741
25915
  if (progress === 100) {
25742
25916
  clearInterval(interval);