@universal-tennis/ui-shared 0.1.28 → 0.1.30

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.
@@ -17,6 +17,7 @@ import MenuItem from '@mui/material/MenuItem';
17
17
  import { Divider, FormControl, InputLabel } from '@mui/material';
18
18
  import Button from '../../atoms/Button/Button';
19
19
  import Typography, { SECONDARY_SIZES_ENUM, CATEGORY_ENUM } from '../../atoms/Typography/Typography';
20
+ const BYE_ROUND = "Bye";
20
21
  const StyledCard = styled(Box)({
21
22
  display: 'flex',
22
23
  flexDirection: 'column',
@@ -55,14 +56,14 @@ export default function DrawCard(_a) {
55
56
  React.createElement(Select, { sx: { width: '100%' }, labelId: "draw-card-select-top", id: "draw-card-select-top", label: emptyLabel, value: optionOne, disabled: isDisabled, onChange: (e) => handleOnSelectionChange(e, positions.ONE) },
56
57
  React.createElement(MenuItem, { value: "" }, "None"),
57
58
  options.map((option) => React.createElement(MenuItem, { key: option.id, value: option.id }, option.label)),
58
- React.createElement(MenuItem, { sx: { borderTop: '1px solid var(--cool-grey-500)' }, value: "bye" }, "Set bye"))),
59
+ React.createElement(MenuItem, { sx: { borderTop: '1px solid var(--cool-grey-500)' }, value: BYE_ROUND }, "Set bye"))),
59
60
  React.createElement(Box, { pt: 2 }),
60
61
  React.createElement(FormControl, { style: { display: 'flex', flexDirection: 'row', alignItems: 'center' } },
61
62
  React.createElement(InputLabel, { id: "draw-card-select-bot" }, emptyLabel),
62
63
  React.createElement(Select, { sx: { width: '100%' }, labelId: "draw-card-select-bot", id: "draw-card-select-bot", label: emptyLabel, value: optionTwo, disabled: isDisabled, onChange: (e) => handleOnSelectionChange(e, positions.TWO) },
63
64
  React.createElement(MenuItem, { value: "" }, "None"),
64
65
  options.map((option) => React.createElement(MenuItem, { key: option.id, value: option.id }, option.label)),
65
- React.createElement(MenuItem, { sx: { borderTop: '1px solid var(--cool-grey-500)' }, value: "bye" }, "Set bye"))))) : (React.createElement(React.Fragment, null,
66
+ React.createElement(MenuItem, { sx: { borderTop: '1px solid var(--cool-grey-500)' }, value: BYE_ROUND }, "Set bye"))))) : (React.createElement(React.Fragment, null,
66
67
  React.createElement(Box, { display: "flex", justifyContent: "space-between" },
67
68
  React.createElement(Typography, { style: {
68
69
  overflow: 'hidden',
@@ -1 +1 @@
1
- {"version":3,"file":"DrawCard.js","sourceRoot":"","sources":["../../../../src/stories/molecules/Cards/DrawCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrawCard.js","sourceRoot":"","sources":["../../../../src/stories/molecules/Cards/DrawCard.tsx"],"names":[],"mappings":"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"}
@@ -13,7 +13,10 @@ import React from 'react';
13
13
  import Box from '@mui/material/Box';
14
14
  import { styled } from '@mui/material/styles';
15
15
  import Grid from '@mui/material/Grid';
16
+ import { useWindowSize } from 'stories/utlis/useScreenSize';
16
17
  import Typography from '../../atoms/Typography/Typography';
18
+ const MOBILE_SCREEN_SIZE = 768;
19
+ const MOBILE_TABLET_SCREEN_SIZE = 1200;
17
20
  const StyledHeader = styled(Grid)({
18
21
  alignItems: 'center',
19
22
  justifyContent: 'center',
@@ -24,19 +27,36 @@ const GridSections = styled(Box)({
24
27
  alignItems: 'center',
25
28
  padding: '8px'
26
29
  });
30
+ const TableMobileSection = styled(Grid) `
31
+ flex-direction: column;
32
+ `;
27
33
  export default function DrawCardTable(_a) {
28
34
  var { headerRows, tableRows } = _a, props = __rest(_a, ["headerRows", "tableRows"]);
35
+ const size = useWindowSize();
36
+ const isMobileAndTablet = (size === null || size === void 0 ? void 0 : size.width) && (size === null || size === void 0 ? void 0 : size.width) < MOBILE_TABLET_SCREEN_SIZE;
29
37
  const totalColumns = Math.floor(12 / headerRows.length);
30
38
  const formatTableRows = tableRows.map((row, index) => {
31
39
  if (index > 2)
32
40
  return; // Table can only support 3 columns
33
- const rowSectionsWidth = `${100 / tableRows[index].length}%`;
41
+ const rowSectionsHeight = `${100 / tableRows[index].length}%`;
34
42
  const sectionAmount = tableRows[index].length;
35
- return (React.createElement(Grid, { key: index, xs: totalColumns }, [...Array(sectionAmount)].map((section, idx) => (React.createElement(GridSections, { key: idx, sx: { height: rowSectionsWidth } }, row[idx])))));
43
+ return (React.createElement(Grid, { key: index, xs: totalColumns }, [...Array(sectionAmount)].map((section, idx) => (React.createElement(GridSections, { key: idx, sx: { height: rowSectionsHeight } }, row[idx])))));
36
44
  });
37
- return (React.createElement(Box, Object.assign({}, props, { sx: { flexGrow: 1 }, "aria-label": "draw table" }),
45
+ const formatMobileRows = tableRows.map((row, index) => {
46
+ if (index > 2)
47
+ return; // Table can only support 3 columns
48
+ const headerRow = headerRows[index];
49
+ const sectionAmount = tableRows[index].length;
50
+ return (React.createElement(React.Fragment, null,
51
+ React.createElement(Grid, { container: true, sx: { height: '60px' } },
52
+ React.createElement(StyledHeader, null,
53
+ React.createElement(Typography, { category: "secondary", size: "small-medium-cap" }, headerRow.name))),
54
+ React.createElement(TableMobileSection, { container: true }, [...Array(sectionAmount)].map((section, idx) => (React.createElement(GridSections, { key: idx }, row[idx]))))));
55
+ });
56
+ const formatDesktopRows = (React.createElement(React.Fragment, null,
38
57
  React.createElement(Grid, { container: true, sx: { height: '60px' } }, headerRows.map((row) => (React.createElement(StyledHeader, { key: row.name, xs: totalColumns },
39
58
  React.createElement(Typography, { category: "secondary", size: "small-medium-cap" }, row.name))))),
40
59
  React.createElement(Grid, { container: true }, formatTableRows)));
60
+ return (React.createElement(Box, Object.assign({}, props, { sx: { flexGrow: 1 }, "aria-label": "draw table" }), isMobileAndTablet ? formatMobileRows : formatDesktopRows));
41
61
  }
42
62
  //# sourceMappingURL=DrawCardTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawCardTable.js","sourceRoot":"","sources":["../../../../src/stories/organisms/Tables/DrawCardTable.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAG3D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,OAAO,EAAE,MAAM;CAChB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,KAAK;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAIjB;QAJiB,EACpC,UAAU,EACV,SAAS,OAEU,EADhB,KAAK,cAH4B,2BAIrC,CADS;IAER,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAExD,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACnD,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,CAAC,oCAAoC;QAC3D,MAAM,gBAAgB,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAC7D,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAE9C,OAAO,CACH,oBAAC,IAAI,IAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,IAC7B,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAC7C,oBAAC,YAAY,IAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,IACnD,GAAG,CAAC,GAAG,CAAC,CACE,CAClB,CAAC,CACC,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CACH,oBAAC,GAAG,oBAAK,KAAK,IAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,gBAAa,YAAY;QACxD,oBAAC,IAAI,IAAC,SAAS,QAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IACjC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACrB,oBAAC,YAAY,IAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY;YACzC,oBAAC,UAAU,IAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,EAAC,kBAAkB,IAAE,GAAG,CAAC,IAAI,CAAc,CACrE,CAClB,CAAC,CACC;QACP,oBAAC,IAAI,IAAC,SAAS,UACV,eAAe,CACb,CACL,CACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"DrawCardTable.js","sourceRoot":"","sources":["../../../../src/stories/organisms/Tables/DrawCardTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export function useWindowSize(): {
2
+ width: undefined;
3
+ height: undefined;
4
+ };
@@ -0,0 +1,28 @@
1
+ import { useState, useEffect } from "react";
2
+ // Hook
3
+ export function useWindowSize() {
4
+ // Initialize state with undefined width/height so server and client renders match
5
+ // Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/
6
+ const [windowSize, setWindowSize] = useState({
7
+ width: undefined,
8
+ height: undefined,
9
+ });
10
+ useEffect(() => {
11
+ // Handler to call on window resize
12
+ function handleResize() {
13
+ // Set window width/height to state
14
+ setWindowSize({
15
+ width: window.innerWidth,
16
+ height: window.innerHeight,
17
+ });
18
+ }
19
+ // Add event listener
20
+ window.addEventListener("resize", handleResize);
21
+ // Call handler right away so state gets updated with initial window size
22
+ handleResize();
23
+ // Remove event listener on cleanup
24
+ return () => window.removeEventListener("resize", handleResize);
25
+ }, []); // Empty array ensures that effect is only run on mount
26
+ return windowSize;
27
+ }
28
+ //# sourceMappingURL=useScreenSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScreenSize.js","sourceRoot":"","sources":["../../../src/stories/utlis/useScreenSize.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO;AACP,MAAM,UAAU,aAAa;IAC3B,kFAAkF;IAClF,4EAA4E;IAC5E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC;QAC3C,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,mCAAmC;QACnC,SAAS,YAAY;YACnB,mCAAmC;YACnC,aAAa,CAAC;gBACZ,KAAK,EAAE,MAAM,CAAC,UAAU;gBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,qBAAqB;QACrB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChD,yEAAyE;QACzE,YAAY,EAAE,CAAC;QACf,mCAAmC;QACnC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uDAAuD;IAC/D,OAAO,UAAU,CAAC;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@universal-tennis/ui-shared",
3
- "version": "0.1.28",
3
+ "version": "0.1.30",
4
4
  "main": "dist/items.js",
5
5
  "license": "MIT",
6
6
  "homepage": "https://universaltennis.com",
@@ -4,12 +4,12 @@ import { styled } from '@mui/material/styles';
4
4
  import Select, { SelectChangeEvent } from '@mui/material/Select';
5
5
  import MenuItem from '@mui/material/MenuItem';
6
6
  import { Divider, FormControl, InputLabel } from '@mui/material';
7
- import HighlightOffIcon from '@mui/icons-material/HighlightOff';
8
- import IconButton from '@mui/material/IconButton';
9
7
  import Button from '../../atoms/Button/Button';
10
8
  import Typography, { SECONDARY_SIZES_ENUM, CATEGORY_ENUM } from '../../atoms/Typography/Typography';
11
9
  import { DrawCardProps } from "./sharedTypes";
12
10
 
11
+ const BYE_ROUND = "Bye";
12
+
13
13
  const StyledCard = styled(Box)({
14
14
  display: 'flex',
15
15
  flexDirection: 'column',
@@ -68,7 +68,7 @@ export default function DrawCard({
68
68
  >
69
69
  <MenuItem value="">None</MenuItem>
70
70
  {options.map((option) => <MenuItem key={option.id} value={option.id}>{option.label}</MenuItem>)}
71
- <MenuItem sx={{ borderTop: '1px solid var(--cool-grey-500)' }} value="bye">Set bye</MenuItem>
71
+ <MenuItem sx={{ borderTop: '1px solid var(--cool-grey-500)' }} value={BYE_ROUND}>Set bye</MenuItem>
72
72
  </Select>
73
73
  {/*
74
74
  TODO: ADD WITH LATER TICKET
@@ -98,7 +98,7 @@ export default function DrawCard({
98
98
  <MenuItem value="">None</MenuItem>
99
99
 
100
100
  {options.map((option) => <MenuItem key={option.id} value={option.id}>{option.label}</MenuItem>)}
101
- <MenuItem sx={{ borderTop: '1px solid var(--cool-grey-500)' }} value="bye">Set bye</MenuItem>
101
+ <MenuItem sx={{ borderTop: '1px solid var(--cool-grey-500)' }} value={BYE_ROUND}>Set bye</MenuItem>
102
102
  </Select>
103
103
  {/*
104
104
  TODO: ADD WITH LATER TICKET
@@ -2,9 +2,13 @@ import React from 'react';
2
2
  import Box from '@mui/material/Box';
3
3
  import { styled } from '@mui/material/styles';
4
4
  import Grid from '@mui/material/Grid';
5
+ import { useWindowSize } from 'stories/utlis/useScreenSize';
5
6
  import Typography from '../../atoms/Typography/Typography';
6
7
  import { DrawCardTableProps } from './sharedTypes';
7
8
 
9
+ const MOBILE_SCREEN_SIZE = 768;
10
+ const MOBILE_TABLET_SCREEN_SIZE = 1200;
11
+
8
12
  const StyledHeader = styled(Grid)({
9
13
  alignItems: 'center',
10
14
  justifyContent: 'center',
@@ -17,22 +21,29 @@ const GridSections = styled(Box)({
17
21
  padding: '8px'
18
22
  });
19
23
 
24
+ const TableMobileSection = styled(Grid)`
25
+ flex-direction: column;
26
+ `;
27
+
20
28
  export default function DrawCardTable({
21
29
  headerRows,
22
30
  tableRows,
23
31
  ...props
24
32
  }: DrawCardTableProps) {
33
+ const size = useWindowSize();
34
+ const isMobileAndTablet = size?.width && size?.width < MOBILE_TABLET_SCREEN_SIZE;
35
+
25
36
  const totalColumns = Math.floor(12 / headerRows.length);
26
37
 
27
38
  const formatTableRows = tableRows.map((row, index) => {
28
39
  if (index > 2) return; // Table can only support 3 columns
29
- const rowSectionsWidth = `${100 / tableRows[index].length}%`;
40
+ const rowSectionsHeight = `${100 / tableRows[index].length}%`;
30
41
  const sectionAmount = tableRows[index].length;
31
42
 
32
43
  return (
33
44
  <Grid key={index} xs={totalColumns}>
34
45
  {[...Array(sectionAmount)].map((section, idx) => (
35
- <GridSections key={idx} sx={{ height: rowSectionsWidth }}>
46
+ <GridSections key={idx} sx={{ height: rowSectionsHeight }}>
36
47
  {row[idx]}
37
48
  </GridSections>
38
49
  ))}
@@ -40,8 +51,31 @@ export default function DrawCardTable({
40
51
  );
41
52
  });
42
53
 
43
- return (
44
- <Box {...props} sx={{ flexGrow: 1 }} aria-label="draw table">
54
+ const formatMobileRows = tableRows.map((row, index) => {
55
+ if (index > 2) return; // Table can only support 3 columns
56
+
57
+ const headerRow = headerRows[index];
58
+ const sectionAmount = tableRows[index].length;
59
+ return (
60
+ <>
61
+ <Grid container sx={{ height: '60px' }}>
62
+ <StyledHeader>
63
+ <Typography category="secondary" size="small-medium-cap">{headerRow.name}</Typography>
64
+ </StyledHeader>
65
+ </Grid>
66
+ <TableMobileSection container>
67
+ {[...Array(sectionAmount)].map((section, idx) => (
68
+ <GridSections key={idx}>
69
+ {row[idx]}
70
+ </GridSections>
71
+ ))}
72
+ </TableMobileSection>
73
+ </>
74
+ );
75
+ });
76
+
77
+ const formatDesktopRows = (
78
+ <>
45
79
  <Grid container sx={{ height: '60px' }}>
46
80
  {headerRows.map((row) => (
47
81
  <StyledHeader key={row.name} xs={totalColumns}>
@@ -52,6 +86,12 @@ export default function DrawCardTable({
52
86
  <Grid container>
53
87
  {formatTableRows}
54
88
  </Grid>
89
+ </>
90
+ );
91
+
92
+ return (
93
+ <Box {...props} sx={{ flexGrow: 1 }} aria-label="draw table">
94
+ {isMobileAndTablet ? formatMobileRows : formatDesktopRows}
55
95
  </Box>
56
96
  );
57
97
  }
@@ -0,0 +1,28 @@
1
+ import { useState, useEffect } from "react";
2
+
3
+ // Hook
4
+ export function useWindowSize() {
5
+ // Initialize state with undefined width/height so server and client renders match
6
+ // Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/
7
+ const [windowSize, setWindowSize] = useState({
8
+ width: undefined,
9
+ height: undefined,
10
+ });
11
+ useEffect(() => {
12
+ // Handler to call on window resize
13
+ function handleResize() {
14
+ // Set window width/height to state
15
+ setWindowSize({
16
+ width: window.innerWidth,
17
+ height: window.innerHeight,
18
+ });
19
+ }
20
+ // Add event listener
21
+ window.addEventListener("resize", handleResize);
22
+ // Call handler right away so state gets updated with initial window size
23
+ handleResize();
24
+ // Remove event listener on cleanup
25
+ return () => window.removeEventListener("resize", handleResize);
26
+ }, []); // Empty array ensures that effect is only run on mount
27
+ return windowSize;
28
+ }