@xqmsg/ui-core 0.15.2 → 0.15.4

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,5 +1,5 @@
1
1
  import React__default, { useMemo, useCallback, useRef, useEffect, useState, memo, forwardRef, createElement } from 'react';
2
- import { Button as Button$2, Image, Alert as Alert$1, AlertDescription, Box, Flex, Text as Text$2, Icon as Icon$1, Spinner, Checkbox, Input as Input$2, InputGroup, RadioGroup, Radio, useOutsideClick, InputRightElement, Textarea as Textarea$1, Switch as Switch$1, FormLabel as FormLabel$1, FormControl, FormErrorMessage, FormHelperText, SimpleGrid, useMediaQuery, Grid, GridItem, IconButton, Collapse, TableContainer, Table as Table$2, Thead, Tr, Th, Tbody, Td, TableCaption, Tabs as Tabs$1, TabList, Tab, extendTheme } from '@chakra-ui/react';
2
+ import { Button as Button$2, Image, Alert as Alert$1, AlertDescription, Box, Flex, Text as Text$2, Icon as Icon$1, Spinner, Checkbox, Input as Input$2, InputGroup, RadioGroup, Radio, InputRightElement, Textarea as Textarea$1, useOutsideClick, Switch as Switch$1, FormLabel as FormLabel$1, FormControl, FormErrorMessage, FormHelperText, SimpleGrid, useMediaQuery, Grid, GridItem, IconButton, Collapse, Table as Table$2, Tbody, Tr, Td, TableContainer, Thead, Th, Tabs as Tabs$1, TabList, Tab, extendTheme } from '@chakra-ui/react';
3
3
  import { FormProvider, useWatch, Controller } from 'react-hook-form';
4
4
  import { truncate } from 'lodash-es';
5
5
  import { CloseIcon, HamburgerIcon } from '@chakra-ui/icons';
@@ -524,7 +524,7 @@ var Dropdown = function Dropdown(_ref) {
524
524
  fontSize: "13px",
525
525
  px: "8px",
526
526
  py: "4px",
527
- width: "fit-content",
527
+ width: "100%",
528
528
  color: colors.label.primary.light,
529
529
  _hover: {
530
530
  color: colors.label.primary.dark,
@@ -569,6 +569,32 @@ var useDidMountEffect = function useDidMountEffect(func, deps) {
569
569
  }, deps);
570
570
  };
571
571
 
572
+ function useOnClickOutside(ref, handler) {
573
+ useEffect(function () {
574
+ var listener = function listener(event) {
575
+ // Do nothing if clicking ref's element or descendent elements
576
+ if (!ref.current || ref.current.contains(event.target)) {
577
+ return;
578
+ }
579
+
580
+ handler();
581
+ };
582
+
583
+ document.addEventListener('mousedown', listener);
584
+ document.addEventListener('touchstart', listener);
585
+ return function () {
586
+ document.removeEventListener('mousedown', listener);
587
+ document.removeEventListener('touchstart', listener);
588
+ };
589
+ }, // Add ref and handler to effect dependencies
590
+ // It's worth noting that because passed in handler is a new ...
591
+ // ... function on every render that will cause this effect ...
592
+ // ... callback/cleanup to run every render. It's not a big deal ...
593
+ // ... but to optimize you can wrap handler in useCallback before ...
594
+ // ... passing it into this hook.
595
+ [ref, handler]);
596
+ }
597
+
572
598
  var _excluded$1 = ["isRequired", "options", "name", "setValue", "handleOnChange", "value"];
573
599
  /**
574
600
  * A functional React component utilized to render the `StackedSelect` component.
@@ -621,11 +647,8 @@ var StackedSelect = /*#__PURE__*/React__default.forwardRef(function (_ref2, _ref
621
647
  return option.value === value;
622
648
  })) == null ? void 0 : _options$find2.label) != null ? _options$find$label2 : '');
623
649
  }, [value]);
624
- useOutsideClick({
625
- ref: dropdownRef,
626
- handler: function handler() {
627
- return setIsFocussed(false);
628
- }
650
+ useOnClickOutside(dropdownRef, function () {
651
+ return setIsFocussed(false);
629
652
  });
630
653
 
631
654
  var handleOnSelectItem = function handleOnSelectItem(option) {
@@ -805,11 +828,8 @@ var StackedMultiSelect = /*#__PURE__*/React__default.forwardRef(function (_ref2,
805
828
  setPosition('bottom');
806
829
  }
807
830
  }, [boundingClientRect]);
808
- useOutsideClick({
809
- ref: dropdownRef,
810
- handler: function handler() {
811
- return setIsFocussed(false);
812
- }
831
+ useOnClickOutside(dropdownRef, function () {
832
+ return setIsFocussed(false);
813
833
  }); // gets latest watched form value (common delimited) from RHF state and creates a list
814
834
 
815
835
  useEffect(function () {
@@ -1739,6 +1759,58 @@ var TableLoadingRows = function TableLoadingRows(_ref) {
1739
1759
  }));
1740
1760
  };
1741
1761
 
1762
+ /**
1763
+ * A React component utilized to render the `EmptyTable` component
1764
+ */
1765
+
1766
+ var EmptyTable = function EmptyTable() {
1767
+ var getOpacity = function getOpacity(index) {
1768
+ switch (index) {
1769
+ case 1:
1770
+ return 0.7;
1771
+
1772
+ case 3:
1773
+ return 0.6;
1774
+
1775
+ case 5:
1776
+ return 0.5;
1777
+
1778
+ case 7:
1779
+ return 0.4;
1780
+
1781
+ case 9:
1782
+ return 0.3;
1783
+
1784
+ case 11:
1785
+ return 0.2;
1786
+
1787
+ case 13:
1788
+ return 0.1;
1789
+
1790
+ default:
1791
+ return 1;
1792
+ }
1793
+ };
1794
+
1795
+ return /*#__PURE__*/React__default.createElement(Table$2, {
1796
+ variant: "unstyled",
1797
+ width: "100%",
1798
+ style: {
1799
+ borderCollapse: 'separate',
1800
+ borderSpacing: '0px'
1801
+ }
1802
+ }, /*#__PURE__*/React__default.createElement(Tbody, null, Array.from({
1803
+ length: 14
1804
+ }, function (_, i) {
1805
+ return i + 1;
1806
+ }).map(function (i) {
1807
+ return /*#__PURE__*/React__default.createElement(Tr, null, /*#__PURE__*/React__default.createElement(Td, {
1808
+ height: "23px",
1809
+ opacity: getOpacity(i)
1810
+ }));
1811
+ })));
1812
+ };
1813
+
1742
1814
  /**
1743
1815
  * A React component utilized to render the `Table` component
1744
1816
  */
@@ -1747,8 +1819,6 @@ function Table(_ref) {
1747
1819
  var columns = _ref.columns,
1748
1820
  headers = _ref.headers,
1749
1821
  body = _ref.body,
1750
- _ref$placeholder = _ref.placeholder,
1751
- placeholder = _ref$placeholder === void 0 ? 'There is currently no available data' : _ref$placeholder,
1752
1822
  loading = _ref.loading,
1753
1823
  loadMore = _ref.loadMore;
1754
1824
  var columnsAsConst = generateTableColumnsAsConst(columns);
@@ -1757,7 +1827,7 @@ function Table(_ref) {
1757
1827
  overflowX: "auto",
1758
1828
  bg: "white",
1759
1829
  width: "100%"
1760
- }, /*#__PURE__*/React__default.createElement(Table$2, {
1830
+ }, body.length ? /*#__PURE__*/React__default.createElement(Table$2, {
1761
1831
  variant: "unstyled",
1762
1832
  width: "100%",
1763
1833
  style: {
@@ -1782,12 +1852,10 @@ function Table(_ref) {
1782
1852
  React__default.createElement(Td, null, row[column])
1783
1853
  );
1784
1854
  }));
1785
- })), !body.length && /*#__PURE__*/React__default.createElement(TableCaption, {
1786
- py: 10
1787
- }, placeholder), ' '), loadMore && loading !== undefined && /*#__PURE__*/React__default.createElement(TableLoadingRows, {
1855
+ }))) : /*#__PURE__*/React__default.createElement(EmptyTable, null), loadMore && loading !== undefined && body.length ? /*#__PURE__*/React__default.createElement(TableLoadingRows, {
1788
1856
  isLoading: loading,
1789
1857
  onLoadMore: loadMore
1790
- }));
1858
+ }) : null);
1791
1859
  }
1792
1860
 
1793
1861
  /**