@paygreen/pgui 2.14.7 → 2.14.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,10 @@
1
1
  import React from 'react';
2
2
  import { ButtonProps, DrawerContentProps, FlexProps, StackProps, TextProps } from '@chakra-ui/react';
3
3
  export type SideNavProps = {
4
- isMobileMenuOpen: boolean;
5
- onMobileMenuClose: () => void;
4
+ isOpen: boolean;
5
+ onClose: () => void;
6
+ onToggle?: () => void;
7
+ breakpoint?: any[] | Partial<Record<string, any>>;
6
8
  } & FlexProps & DrawerContentProps;
7
9
  export type SideNavMenuItemProps = {
8
10
  isActive?: boolean;
@@ -10,7 +12,7 @@ export type SideNavMenuItemProps = {
10
12
  export type SideNavMenuProps = {
11
13
  textProps?: TextProps;
12
14
  } & StackProps;
13
- export declare const SideNav: ({ isMobileMenuOpen, onMobileMenuClose, children, ...props }: SideNavProps) => React.JSX.Element;
15
+ export declare const SideNav: ({ isOpen, onClose, onToggle, breakpoint, children, ...props }: SideNavProps) => React.JSX.Element;
14
16
  export declare const SideNavContainer: (props: StackProps) => React.JSX.Element;
15
17
  export declare const SideNavHeader: ({ children, ...rest }: FlexProps) => React.JSX.Element;
16
18
  export declare const SideNavBody: ({ children, ...rest }: StackProps) => React.JSX.Element;
@@ -1,2 +1,3 @@
1
1
  export { chakraStyle } from './chakraStyle';
2
2
  export { reactDayPicker } from './reactDayPicker';
3
+ export { scrollbarStyles } from './scrollbarStyles';
@@ -1,10 +1,4 @@
1
- export declare const useCustomScrollbar: (options: {
2
- trackColorLight: string;
3
- trackColorDark: string;
4
- thumbColorLight: string;
5
- thumbColorDark: string;
6
- width?: string;
7
- }) => {
1
+ export declare const scrollbarStyles: () => {
8
2
  '&::-webkit-scrollbar': {
9
3
  width: string;
10
4
  borderRadius: string;
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { useState, useRef, useEffect, useContext, createContext, forwardRef as forwardRef$1, useLayoutEffect, useCallback, useMemo, Fragment, Component } from 'react';
3
- import { forwardRef, IconButton, useColorModeValue, Card as Card$1, createStylesContext, chakra, useMultiStyleConfig, useMenuItem, MenuIcon, MenuCommand, useMenuState, Flex, Icon, Text, useBreakpointValue, AccordionItem, AccordionButton, AccordionIcon, AccordionPanel, Box, Accordion, FormControl, FormLabel, FormHelperText, FormErrorMessage, SlideFade, useDisclosure, InputGroup, InputLeftElement, Input as Input$4, InputRightElement, VStack, Divider, HStack, Select as Select$2, useOutsideClick, List, ListItem, useTheme, Drawer, DrawerOverlay, DrawerContent, DrawerCloseButton, Modal, ModalOverlay, ModalContent, ModalCloseButton, NumberInput, NumberInputField, NumberInputStepper, NumberIncrementStepper, NumberDecrementStepper, useControllableState, useMergeRefs, useStyleConfig, useToken, useColorMode, useBreakpoint, Button as Button$1, Stack, extendTheme } from '@chakra-ui/react';
3
+ import { forwardRef, IconButton, useColorModeValue, Card as Card$1, createStylesContext, chakra, useMultiStyleConfig, useMenuItem, MenuIcon, MenuCommand, useMenuState, Flex, Icon, Text, useBreakpointValue, AccordionItem, AccordionButton, AccordionIcon, AccordionPanel, Box, Accordion, FormControl, FormLabel, FormHelperText, FormErrorMessage, SlideFade, useDisclosure, InputGroup, InputLeftElement, Input as Input$4, InputRightElement, VStack, Divider, HStack, Select as Select$2, useOutsideClick, List, ListItem, useTheme, Drawer, DrawerOverlay, DrawerContent, DrawerCloseButton, Modal, ModalOverlay, ModalContent, ModalCloseButton, NumberInput, NumberInputField, NumberInputStepper, NumberIncrementStepper, NumberDecrementStepper, useControllableState, useMergeRefs, useStyleConfig, useToken, useColorMode, Button as Button$1, Stack, extendTheme } from '@chakra-ui/react';
4
4
 
5
5
  /******************************************************************************
6
6
  Copyright (c) Microsoft Corporation.
@@ -180,7 +180,7 @@ var ActionsButton = forwardRef(function (_a, ref) {
180
180
  ActionsButton.displayName = 'ActionsButton';
181
181
 
182
182
  var Card = function (props) {
183
- var bgColor = useColorModeValue('white', 'gray.900');
183
+ var bgColor = useColorModeValue('white', 'whiteAlpha.50');
184
184
  var borderColor = useColorModeValue('gray.100', 'gray.700');
185
185
  return (React__default.createElement(Card$1, __assign$2({ p: 6, backgroundColor: bgColor, borderWidth: "1px", borderStyle: "solid", borderColor: borderColor, h: "fit-content", w: "full" }, props)));
186
186
  };
@@ -355,7 +355,7 @@ var DataListFooter = function (_a) {
355
355
  var rest = __rest$2(_a, []);
356
356
  return (React__default.createElement(Box, { mt: "auto" },
357
357
  React__default.createElement(Flex, __assign$2({ fontSize: "sm", mt: "-1px", borderTop: "1px solid", p: "2", align: "center", bg: "white", borderTopColor: "gray.100", color: "gray.600", _dark: {
358
- bg: 'blackAlpha.50',
358
+ bg: 'whiteAlpha.50',
359
359
  color: 'gray.300',
360
360
  borderTopColor: 'gray.900'
361
361
  } }, rest))));
@@ -368,7 +368,7 @@ var DataList = function (_a) {
368
368
  columns: columns,
369
369
  isHover: isHover
370
370
  } },
371
- React__default.createElement(Accordion, __assign$2({ border: "2px solid", borderBottom: "none", borderColor: useColorModeValue('gray.100', 'gray.700'), borderRadius: "md", display: "flex", flexDirection: "column", position: "relative", boxShadow: "md", overflow: "hidden", allowMultiple: !allowToggle ? allowMultiple : false, allowToggle: allowToggle, bg: useColorModeValue('white', 'gray.900') }, rest))));
371
+ React__default.createElement(Accordion, __assign$2({ border: "2px solid", borderBottom: "none", borderColor: useColorModeValue('gray.100', 'gray.700'), borderRadius: "md", display: "flex", flexDirection: "column", position: "relative", boxShadow: "md", overflow: "hidden", allowMultiple: !allowToggle ? allowMultiple : false, allowToggle: allowToggle, bg: useColorModeValue('white', 'whiteAlpha.50') }, rest))));
372
372
  };
373
373
 
374
374
  var FormGroup = function (_a) {
@@ -59930,61 +59930,82 @@ var BottomBar = function (props) {
59930
59930
  return (React__default.createElement(LayoutContainer, __assign$2({ minH: "4.125rem", bg: bg, boxShadow: "layout", justifyContent: "space-between", alignItems: "center" }, props)));
59931
59931
  };
59932
59932
 
59933
- var useCustomScrollbar = function (options) {
59933
+ var chakraStyle = function () { return ({
59934
+ 'div[data-popper-placement]': {
59935
+ minWidth: 'auto !important'
59936
+ }
59937
+ }); };
59938
+
59939
+ var reactDayPicker = {
59940
+ '.rdp': {
59941
+ '--rdp-cell-size': '30px',
59942
+ '--rdp-caption-font-size': 'var(--chakra-sizes-3-5)',
59943
+ '--rdp-accent-color': 'var(--chakra-colors-blue-100)',
59944
+ '--rdp-background-color': 'var(--chakra-colors-gray-200)',
59945
+ '--rdp-outline': '0px',
59946
+ '--rdp-outline-selected': '0px',
59947
+ '--rdp-selected-color': 'var(--chakra-colors-gray-800)',
59948
+ '[data-theme="dark"] &': {
59949
+ '--rdp-accent-color': 'var(--chakra-colors-blue-800)',
59950
+ '--rdp-background-color': 'var(--chakra-colors-gray-600)',
59951
+ '--rdp-selected-color': 'var(--chakra-colors-gray-50)'
59952
+ }
59953
+ },
59954
+ '.rdp-dropdown': {
59955
+ appearance: 'none',
59956
+ backgroundColor: 'var(--chakra-colors-gray-50)',
59957
+ '[data-theme="dark"] &': {
59958
+ backgroundColor: 'var(--chakra-colors-gray-800)'
59959
+ }
59960
+ }
59961
+ };
59962
+
59963
+ var scrollbarStyles = function () {
59934
59964
  var colorMode = useColorMode().colorMode;
59935
- var scrollbarStyles = {
59965
+ var trackColor = colorMode === 'light' ? 'rgba(0, 0, 0, 0.10)' : 'rgba(255, 255, 255, 0.10)';
59966
+ var thumbColor = colorMode === 'light' ? 'rgba(0, 0, 0, 0.25)' : 'rgba(255, 255, 255, 0.25)';
59967
+ return {
59968
+ // WebKit browsers
59936
59969
  '&::-webkit-scrollbar': {
59937
- width: options.width || '0.7rem',
59970
+ width: '0.4rem',
59938
59971
  borderRadius: '9999px',
59939
- backgroundColor: colorMode === 'light'
59940
- ? options.trackColorLight
59941
- : options.trackColorDark
59972
+ backgroundColor: trackColor
59942
59973
  },
59943
59974
  '&::-webkit-scrollbar-thumb': {
59944
- backgroundColor: colorMode === 'light'
59945
- ? options.thumbColorLight
59946
- : options.thumbColorDark,
59975
+ backgroundColor: thumbColor,
59947
59976
  borderRadius: '9999px'
59948
59977
  }
59949
59978
  };
59950
- return scrollbarStyles;
59951
59979
  };
59952
59980
 
59953
- var dateFormat = 'dd/MM/yyyy';
59954
-
59955
- var useIsMobile = function (currentBreakpoint) {
59956
- return (currentBreakpoint === 'base' ||
59957
- currentBreakpoint === 'sm' ||
59958
- currentBreakpoint === 'md' ||
59959
- currentBreakpoint === 'lg');
59960
- };
59981
+ var rawStyle = /*#__PURE__*/Object.freeze({
59982
+ __proto__: null,
59983
+ chakraStyle: chakraStyle,
59984
+ reactDayPicker: reactDayPicker,
59985
+ scrollbarStyles: scrollbarStyles
59986
+ });
59961
59987
 
59962
59988
  var SideNav = function (_a) {
59963
- var isMobileMenuOpen = _a.isMobileMenuOpen, onMobileMenuClose = _a.onMobileMenuClose, children = _a.children, props = __rest$2(_a, ["isMobileMenuOpen", "onMobileMenuClose", "children"]);
59989
+ var isOpen = _a.isOpen, onClose = _a.onClose; _a.onToggle; var breakpoint = _a.breakpoint, children = _a.children, props = __rest$2(_a, ["isOpen", "onClose", "onToggle", "breakpoint", "children"]);
59964
59990
  var theme = useTheme();
59965
- var currentBreakpoint = useBreakpoint();
59966
- var isMobile = useIsMobile(currentBreakpoint);
59967
59991
  var colorMode = useColorMode().colorMode;
59968
59992
  var useColorModeValue = function (light, dark) {
59969
59993
  return colorMode === 'light' ? light : dark;
59970
59994
  };
59971
- var customScrollBar = useCustomScrollbar({
59972
- trackColorLight: 'rgba(0, 0, 0, 0.05)',
59973
- trackColorDark: 'rgba(255, 255, 255, 0.05)',
59974
- thumbColorLight: 'rgba(0, 0, 0, 0.10)',
59975
- thumbColorDark: 'rgba(255, 255, 255, 0.10)'
59976
- });
59977
59995
  var bgGradient = useColorModeValue(theme.colors.gradients.primary, 'linear(to-l, gray.900, gray.900)');
59996
+ var isMobile = useBreakpointValue(breakpoint || {
59997
+ base: true,
59998
+ md: false
59999
+ });
59978
60000
  if (isMobile) {
59979
- return (React__default.createElement(Drawer, { isOpen: isMobileMenuOpen, placement: "left", onClose: onMobileMenuClose, size: "nav" },
60001
+ return (React__default.createElement(Drawer, { isOpen: isOpen, placement: "left", onClose: onClose, size: "nav" },
59980
60002
  React__default.createElement(DrawerOverlay, null),
59981
- React__default.createElement(DrawerContent, __assign$2({ bgGradient: bgGradient, color: "white", pt: 6, px: 6, overflow: "auto", sx: customScrollBar }, props),
60003
+ React__default.createElement(DrawerContent, __assign$2({ bgGradient: bgGradient, color: "white", pt: 6, px: 6, overflow: "auto", sx: scrollbarStyles() }, props),
59982
60004
  React__default.createElement(DrawerCloseButton, null),
59983
60005
  children)));
59984
60006
  }
59985
60007
  var flexBgGradient = useColorModeValue(theme.colors.gradients.primary, 'linear(to-l, gray.900, gray.900)');
59986
- var color = useColorModeValue('white', 'gray.50');
59987
- return (React__default.createElement(Flex, __assign$2({ w: "18rem", h: "100vh", flexDir: "column", bgGradient: flexBgGradient, color: color, pt: 6, px: 6, position: "fixed", top: "0", left: "0", sx: customScrollBar }, props), children));
60008
+ return (React__default.createElement(Flex, __assign$2({ w: "18rem", h: "100vh", flexDir: "column", bgGradient: flexBgGradient, color: useColorModeValue('white', 'gray.50'), pt: 6, px: 6, position: "fixed", top: "0", left: "0", sx: scrollbarStyles(), transform: !isOpen ? 'translateX(-18rem)' : 'none', transition: '0.4s ease-in-out' }, props), children));
59988
60009
  };
59989
60010
  var SideNavContainer = function (props) { return (React__default.createElement(VStack, __assign$2({ spacing: 6, alignItems: "inherit", minH: "100%" }, props))); };
59990
60011
  var SideNavHeader = function (_a) {
@@ -59993,13 +60014,7 @@ var SideNavHeader = function (_a) {
59993
60014
  };
59994
60015
  var SideNavBody = function (_a) {
59995
60016
  var children = _a.children, rest = __rest$2(_a, ["children"]);
59996
- var customScrollBar = useCustomScrollbar({
59997
- trackColorLight: 'rgba(0, 0, 0, 0.10)',
59998
- trackColorDark: 'rgba(255, 255, 255, 0.10)',
59999
- thumbColorLight: 'rgba(0, 0, 0, 0.15)',
60000
- thumbColorDark: 'rgba(255, 255, 255, 0.15)'
60001
- });
60002
- return (React__default.createElement(VStack, __assign$2({ pt: 4, spacing: 5, pr: 1, alignItems: "inherit", overflowY: "auto", sx: customScrollBar }, rest), children));
60017
+ return (React__default.createElement(VStack, __assign$2({ pt: 4, spacing: 5, pr: 2, alignItems: "inherit", overflowY: "auto", sx: scrollbarStyles() }, rest), children));
60003
60018
  };
60004
60019
  var SideNavFooter = function (_a) {
60005
60020
  var children = _a.children, rest = __rest$2(_a, ["children"]);
@@ -60765,42 +60780,6 @@ var typography = {
60765
60780
 
60766
60781
  var foundations = __assign$2(__assign$2({ colors: colors }, typography), { sizes: sizes, shadows: shadows, radii: radii });
60767
60782
 
60768
- var chakraStyle = function () { return ({
60769
- 'div[data-popper-placement]': {
60770
- minWidth: 'auto !important'
60771
- }
60772
- }); };
60773
-
60774
- var reactDayPicker = {
60775
- '.rdp': {
60776
- '--rdp-cell-size': '30px',
60777
- '--rdp-caption-font-size': 'var(--chakra-sizes-3-5)',
60778
- '--rdp-accent-color': 'var(--chakra-colors-blue-100)',
60779
- '--rdp-background-color': 'var(--chakra-colors-gray-200)',
60780
- '--rdp-outline': '0px',
60781
- '--rdp-outline-selected': '0px',
60782
- '--rdp-selected-color': 'var(--chakra-colors-gray-800)',
60783
- '[data-theme="dark"] &': {
60784
- '--rdp-accent-color': 'var(--chakra-colors-blue-800)',
60785
- '--rdp-background-color': 'var(--chakra-colors-gray-600)',
60786
- '--rdp-selected-color': 'var(--chakra-colors-gray-50)'
60787
- }
60788
- },
60789
- '.rdp-dropdown': {
60790
- appearance: 'none',
60791
- backgroundColor: 'var(--chakra-colors-gray-50)',
60792
- '[data-theme="dark"] &': {
60793
- backgroundColor: 'var(--chakra-colors-gray-800)'
60794
- }
60795
- }
60796
- };
60797
-
60798
- var rawStyle = /*#__PURE__*/Object.freeze({
60799
- __proto__: null,
60800
- chakraStyle: chakraStyle,
60801
- reactDayPicker: reactDayPicker
60802
- });
60803
-
60804
60783
  var externalsStyles = function (props) {
60805
60784
  return Object.values(rawStyle).reduce(function (acc, cur) { return (__assign$2(__assign$2({}, acc), (typeof cur === 'function' ? cur(props) : cur))); }, {});
60806
60785
  };
@@ -60822,5 +60801,14 @@ var config = {
60822
60801
  };
60823
60802
  var theme = extendTheme(__assign$2(__assign$2({ styles: styles }, foundations), { components: __assign$2({}, components), config: config }));
60824
60803
 
60804
+ var dateFormat = 'dd/MM/yyyy';
60805
+
60806
+ var useIsMobile = function (currentBreakpoint) {
60807
+ return (currentBreakpoint === 'base' ||
60808
+ currentBreakpoint === 'sm' ||
60809
+ currentBreakpoint === 'md' ||
60810
+ currentBreakpoint === 'lg');
60811
+ };
60812
+
60825
60813
  export { ActionsButton, BottomBar, Card, ConfirmMenuItem, DataList, DataListAccordion, DataListAccordionButton, DataListAccordionIcon, DataListAccordionPanel, DataListCell, DataListContext, DataListFooter, DataListHeader, DataListHeaderContext, DataListRow, FormGroup, InputDayPicker, InputPhone, InputRangePicker, LayoutContainer, MenuItem, ModalResponsive, Pagination, PaginationButtonFirstPage, PaginationButtonLastPage, PaginationButtonNextPage, PaginationButtonPrevPage, PaginationContext, PaginationInfo, SearchInput, Select, SideNav, SideNavBody, SideNavContainer, SideNavFooter, SideNavHeader, SideNavMenu, SideNavMenuItem, TopBar, TopBarBackAction, TopBarFirstElement, TopBarLastElement, dateFormat, formatPhoneIntl, getPaginationInfo, isValidPhone, theme, useIsMobile };
60826
60814
  //# sourceMappingURL=index.js.map