pcm-shared-components 0.0.107 → 0.0.108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Buttons/CustomFab/index.js +66 -4
- package/dist/components/Buttons/DropdownButton/index.js +79 -0
- package/dist/components/Buttons/HelpButton/index.js +1 -1
- package/dist/components/Buttons/TillButton/index.js +82 -0
- package/dist/components/Menus/ReusablePopupMenu/components/ReusableMenu.js +1 -1
- package/dist/components/TextBoxes/SearchBar/index.js +140 -0
- package/dist/index.js +4 -1
- package/dist/styles/tailwind.css +1 -1
- package/package.json +2 -2
|
@@ -7,9 +7,68 @@ import clsx from 'clsx';
|
|
|
7
7
|
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
|
8
8
|
import { ThemeProvider } from '@mui/system';
|
|
9
9
|
import { createTheme, useTheme } from '@mui/material/styles';
|
|
10
|
+
|
|
11
|
+
const getSize = size => {
|
|
12
|
+
switch (size) {
|
|
13
|
+
case 'x-small':
|
|
14
|
+
return 28;
|
|
15
|
+
|
|
16
|
+
case 'small':
|
|
17
|
+
return 40;
|
|
18
|
+
|
|
19
|
+
case 'medium':
|
|
20
|
+
return 48;
|
|
21
|
+
|
|
22
|
+
case 'large':
|
|
23
|
+
return 56;
|
|
24
|
+
|
|
25
|
+
default:
|
|
26
|
+
return 56;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const getPadding = size => {
|
|
31
|
+
switch (size) {
|
|
32
|
+
case 'x-small':
|
|
33
|
+
return '0px 8px 0px 8px';
|
|
34
|
+
|
|
35
|
+
case 'small':
|
|
36
|
+
return '0px 16px 0px 16px';
|
|
37
|
+
|
|
38
|
+
case 'medium':
|
|
39
|
+
return '0px 16px 0px 16px';
|
|
40
|
+
|
|
41
|
+
case 'large':
|
|
42
|
+
return '0px 16px 0px 16px';
|
|
43
|
+
|
|
44
|
+
default:
|
|
45
|
+
return '0px 16px 0px 16px';
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
10
49
|
const useStyles = makeStyles(() => ({
|
|
11
50
|
rootFabElement: {
|
|
12
51
|
margin: 2,
|
|
52
|
+
borderRadius: ({
|
|
53
|
+
borderRadius
|
|
54
|
+
}) => borderRadius,
|
|
55
|
+
height: ({
|
|
56
|
+
size
|
|
57
|
+
}) => getSize(size),
|
|
58
|
+
minHeight: ({
|
|
59
|
+
size
|
|
60
|
+
}) => getSize(size),
|
|
61
|
+
width: ({
|
|
62
|
+
size,
|
|
63
|
+
buttonText
|
|
64
|
+
}) => buttonText.length === 0 ? getSize(size) : 'auto',
|
|
65
|
+
minWidth: ({
|
|
66
|
+
size,
|
|
67
|
+
buttonText
|
|
68
|
+
}) => buttonText.length === 0 ? getSize(size) : 'auto',
|
|
69
|
+
padding: ({
|
|
70
|
+
size
|
|
71
|
+
}) => getPadding(size),
|
|
13
72
|
backgroundColor: ({
|
|
14
73
|
backgroundColor
|
|
15
74
|
}) => backgroundColor,
|
|
@@ -46,8 +105,7 @@ const useStyles = makeStyles(() => ({
|
|
|
46
105
|
}) => buttonFontSize
|
|
47
106
|
}
|
|
48
107
|
}));
|
|
49
|
-
|
|
50
|
-
const CustomFab = props => {
|
|
108
|
+
export const CustomFab = props => {
|
|
51
109
|
const {
|
|
52
110
|
onClick,
|
|
53
111
|
variant,
|
|
@@ -59,6 +117,7 @@ const CustomFab = props => {
|
|
|
59
117
|
Icon,
|
|
60
118
|
buttonText,
|
|
61
119
|
boxShadow,
|
|
120
|
+
borderRadius,
|
|
62
121
|
iconLocation,
|
|
63
122
|
theme
|
|
64
123
|
} = props;
|
|
@@ -90,12 +149,12 @@ const CustomFab = props => {
|
|
|
90
149
|
className: clsx('mx-6 my-auto', classes.buttonText)
|
|
91
150
|
}, " ", buttonText)))));
|
|
92
151
|
};
|
|
93
|
-
|
|
94
152
|
export default /*#__PURE__*/memo(CustomFab);
|
|
95
153
|
CustomFab.defaultProps = {
|
|
96
154
|
onClick: () => {},
|
|
97
155
|
Icon: MoreVertIcon,
|
|
98
156
|
iconSize: 24,
|
|
157
|
+
borderRadius: 50,
|
|
99
158
|
iconLocation: 'left',
|
|
100
159
|
buttonText: '',
|
|
101
160
|
buttonFontSize: 14,
|
|
@@ -121,6 +180,9 @@ CustomFab.propTypes = {
|
|
|
121
180
|
/** Controls the size of the icon in pixels */
|
|
122
181
|
iconSize: PropTypes.number,
|
|
123
182
|
|
|
183
|
+
/** Controls the border radius of the button's rounded ends */
|
|
184
|
+
borderRadius: PropTypes.number,
|
|
185
|
+
|
|
124
186
|
/** Text inside of the button */
|
|
125
187
|
buttonText: PropTypes.string,
|
|
126
188
|
//** Font size of the button text */
|
|
@@ -151,7 +213,7 @@ CustomFab.propTypes = {
|
|
|
151
213
|
hoverTextColor: PropTypes.string,
|
|
152
214
|
|
|
153
215
|
/** Size of the FAB icon ['small','medium','large'] */
|
|
154
|
-
size: PropTypes.oneOf(['small', 'medium', 'large']),
|
|
216
|
+
size: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),
|
|
155
217
|
|
|
156
218
|
/** Classes to override */
|
|
157
219
|
className: PropTypes.string,
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import React, { memo } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
|
|
4
|
+
import { ThemeProvider } from '@mui/system';
|
|
5
|
+
import { createTheme, useTheme } from '@mui/material/styles';
|
|
6
|
+
import { CustomFab } from '../CustomFab';
|
|
7
|
+
import { ReusablePopupMenu } from '../../Menus/ReusablePopupMenu';
|
|
8
|
+
/**
|
|
9
|
+
* Creates a generic button with a drop down.
|
|
10
|
+
* Uses:
|
|
11
|
+
* - ReusablePopupMenu
|
|
12
|
+
* - CustomFab
|
|
13
|
+
*
|
|
14
|
+
* ## Importing the component in your project
|
|
15
|
+
*
|
|
16
|
+
```js
|
|
17
|
+
|
|
18
|
+
import {DropdownButton} from 'pcm-shared-components';
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
export const DropdownButton = props => {
|
|
25
|
+
const {
|
|
26
|
+
name,
|
|
27
|
+
defaultText,
|
|
28
|
+
color,
|
|
29
|
+
menuData,
|
|
30
|
+
size,
|
|
31
|
+
borderRadius,
|
|
32
|
+
theme
|
|
33
|
+
} = props;
|
|
34
|
+
const compTheme = theme ? theme : useTheme();
|
|
35
|
+
const defaultTheme = createTheme(compTheme);
|
|
36
|
+
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
37
|
+
theme: defaultTheme
|
|
38
|
+
}, /*#__PURE__*/React.createElement(ReusablePopupMenu, menuData, /*#__PURE__*/React.createElement(CustomFab, {
|
|
39
|
+
Icon: KeyboardArrowDownIcon,
|
|
40
|
+
color: color,
|
|
41
|
+
size: size,
|
|
42
|
+
boxShadow: false,
|
|
43
|
+
buttonText: `${defaultText} ${name ? ':' : ''} ${name}`,
|
|
44
|
+
iconLocation: 'right',
|
|
45
|
+
borderRadius: borderRadius
|
|
46
|
+
})));
|
|
47
|
+
};
|
|
48
|
+
export default /*#__PURE__*/memo(DropdownButton);
|
|
49
|
+
DropdownButton.defaultProps = {
|
|
50
|
+
name: '',
|
|
51
|
+
defaultText: 'Any Text',
|
|
52
|
+
menuData: [],
|
|
53
|
+
size: 'x-small',
|
|
54
|
+
color: 'primary',
|
|
55
|
+
borderRadius: 8,
|
|
56
|
+
theme: {}
|
|
57
|
+
};
|
|
58
|
+
DropdownButton.propTypes = {
|
|
59
|
+
/** Name of the till being used. Note: if till name exist then inUse is true */
|
|
60
|
+
name: PropTypes.string,
|
|
61
|
+
|
|
62
|
+
/** Color of the button*/
|
|
63
|
+
color: PropTypes.oneOf(['primary', 'secondary']),
|
|
64
|
+
|
|
65
|
+
/** Text used to identify the string in front of the till name. example: Till : Some name */
|
|
66
|
+
defaultText: PropTypes.string,
|
|
67
|
+
|
|
68
|
+
/** Menu items for the dropdown, see the ReusablePopupMenu component for a better understanding of the props parameters */
|
|
69
|
+
menuData: PropTypes.array,
|
|
70
|
+
|
|
71
|
+
/** Controls the border radius of the button's rounded ends */
|
|
72
|
+
borderRadius: PropTypes.number,
|
|
73
|
+
|
|
74
|
+
/** Supported size of the button ['x-small', 'small','medium'] */
|
|
75
|
+
size: PropTypes.oneOf(['x-small', 'small', 'medium']),
|
|
76
|
+
|
|
77
|
+
/** Theme object to use on this component, if none provided then the MUI5 theme provider theme is used*/
|
|
78
|
+
theme: PropTypes.object
|
|
79
|
+
};
|
|
@@ -59,7 +59,7 @@ HelpButton.propTypes = {
|
|
|
59
59
|
iconSize: PropTypes.number,
|
|
60
60
|
|
|
61
61
|
/** The size of the button ['small','medium','large'] */
|
|
62
|
-
size: PropTypes.oneOf(['small', 'medium', 'large']),
|
|
62
|
+
size: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),
|
|
63
63
|
|
|
64
64
|
/** Theme object to use on this component, if none provided then the MUI5 theme provider theme is used*/
|
|
65
65
|
theme: PropTypes.object
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import React, { memo } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
|
|
4
|
+
import { ThemeProvider } from '@mui/system';
|
|
5
|
+
import { createTheme, useTheme } from '@mui/material/styles';
|
|
6
|
+
import { CustomFab } from '../CustomFab';
|
|
7
|
+
import { ReusablePopupMenu } from '../../Menus/ReusablePopupMenu';
|
|
8
|
+
/**
|
|
9
|
+
* Creates a till button from other PCM components to simplify the component.
|
|
10
|
+
* Uses:
|
|
11
|
+
* - ReusablePopupMenu
|
|
12
|
+
* - CustomFab
|
|
13
|
+
* This is the default till button used to control if the till is being used or not.
|
|
14
|
+
* The dropdown menu is provided as a prop by the consuming component see: ReusablePopupMenu
|
|
15
|
+
*
|
|
16
|
+
* ## Importing the component in your project
|
|
17
|
+
*
|
|
18
|
+
```js
|
|
19
|
+
|
|
20
|
+
import {TillButton} from 'pcm-shared-components';
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
export const TillButton = props => {
|
|
27
|
+
const {
|
|
28
|
+
inUse,
|
|
29
|
+
name,
|
|
30
|
+
defaultText,
|
|
31
|
+
menuData,
|
|
32
|
+
size,
|
|
33
|
+
borderRadius,
|
|
34
|
+
theme
|
|
35
|
+
} = props;
|
|
36
|
+
const compTheme = theme ? theme : useTheme();
|
|
37
|
+
const defaultTheme = createTheme(compTheme);
|
|
38
|
+
const isTillInuse = name ? true : inUse ? true : false;
|
|
39
|
+
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
40
|
+
theme: defaultTheme
|
|
41
|
+
}, /*#__PURE__*/React.createElement(ReusablePopupMenu, menuData, /*#__PURE__*/React.createElement(CustomFab, {
|
|
42
|
+
Icon: KeyboardArrowDownIcon,
|
|
43
|
+
color: isTillInuse ? 'primary' : 'secondary',
|
|
44
|
+
size: size,
|
|
45
|
+
boxShadow: false,
|
|
46
|
+
buttonText: `${defaultText} ${name ? ':' : ''} ${name}`,
|
|
47
|
+
iconLocation: 'right',
|
|
48
|
+
borderRadius: borderRadius
|
|
49
|
+
})));
|
|
50
|
+
};
|
|
51
|
+
export default /*#__PURE__*/memo(TillButton);
|
|
52
|
+
TillButton.defaultProps = {
|
|
53
|
+
inUse: false,
|
|
54
|
+
name: '',
|
|
55
|
+
defaultText: 'Till',
|
|
56
|
+
menuData: [],
|
|
57
|
+
size: 'x-small',
|
|
58
|
+
borderRadius: 8,
|
|
59
|
+
theme: {}
|
|
60
|
+
};
|
|
61
|
+
TillButton.propTypes = {
|
|
62
|
+
/** Determines if a till is currently being used */
|
|
63
|
+
inUse: PropTypes.bool,
|
|
64
|
+
|
|
65
|
+
/** Name of the till being used. Note: if till name exist then inUse is true */
|
|
66
|
+
name: PropTypes.string,
|
|
67
|
+
|
|
68
|
+
/** Text used to identify the string in front of the till name. example: Till : Some name */
|
|
69
|
+
defaultText: PropTypes.string,
|
|
70
|
+
|
|
71
|
+
/** Menu items for the dropdown, see the ReusablePopupMenu component for a better understanding of the props parameters */
|
|
72
|
+
menuData: PropTypes.array,
|
|
73
|
+
|
|
74
|
+
/** Controls the border radius of the button's rounded ends */
|
|
75
|
+
borderRadius: PropTypes.number,
|
|
76
|
+
|
|
77
|
+
/** Supported size of the button ['x-small', 'small','medium'] */
|
|
78
|
+
size: PropTypes.oneOf(['x-small', 'small', 'medium']),
|
|
79
|
+
|
|
80
|
+
/** Theme object to use on this component, if none provided then the MUI5 theme provider theme is used*/
|
|
81
|
+
theme: PropTypes.object
|
|
82
|
+
};
|
|
@@ -63,7 +63,7 @@ const ReusableMenu = props => {
|
|
|
63
63
|
})) : /*#__PURE__*/React.createElement(StyledMenuItem, {
|
|
64
64
|
onClick: menu.onClick,
|
|
65
65
|
key: `reusable_menu_item_${idx}`
|
|
66
|
-
}, /*#__PURE__*/React.createElement(ListItemIcon, null, menu.icon), /*#__PURE__*/React.createElement(ListItemText, {
|
|
66
|
+
}, menu.icon && /*#__PURE__*/React.createElement(ListItemIcon, null, menu.icon), /*#__PURE__*/React.createElement(ListItemText, {
|
|
67
67
|
primary: menu.name
|
|
68
68
|
}), typeof menu.isChecked === "boolean" && /*#__PURE__*/React.createElement(Switch, {
|
|
69
69
|
checked: menu.isChecked
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { useState, useEffect } from "react";
|
|
2
|
+
import { createTheme, ThemeProvider, useTheme } from "@mui/material/styles";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import Paper from "@mui/material/Paper";
|
|
5
|
+
import InputBase from "@mui/material/InputBase";
|
|
6
|
+
import IconButton from "@mui/material/IconButton";
|
|
7
|
+
import SearchIcon from "@mui/icons-material/Search";
|
|
8
|
+
import CloseIcon from "@mui/icons-material/Close";
|
|
9
|
+
import clsx from "clsx";
|
|
10
|
+
let searchDebounce;
|
|
11
|
+
/**
|
|
12
|
+
* This will allow to add a quick search tool bar to filter out any ui object.
|
|
13
|
+
*
|
|
14
|
+
* ## Importing the component in your project
|
|
15
|
+
*
|
|
16
|
+
```js
|
|
17
|
+
|
|
18
|
+
import {SearchBar} from 'pcm-shared-components';
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
export const SearchBar = props => {
|
|
25
|
+
// Extract the passed down props
|
|
26
|
+
const {
|
|
27
|
+
onCancelSearch,
|
|
28
|
+
onChange,
|
|
29
|
+
onChangeDebounce,
|
|
30
|
+
placeholder,
|
|
31
|
+
value,
|
|
32
|
+
disabled,
|
|
33
|
+
showDropdown,
|
|
34
|
+
className,
|
|
35
|
+
theme
|
|
36
|
+
} = props; //Hooks
|
|
37
|
+
|
|
38
|
+
const [localValue, setLocalValue] = useState(value); // Use the user specified theme passed via the props
|
|
39
|
+
// OR use the HOC theme passed downed by the parent component if the theme is undefined
|
|
40
|
+
|
|
41
|
+
const componentTheme = createTheme(theme ? theme : useTheme());
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (value !== localValue) {
|
|
44
|
+
setLocalValue(value);
|
|
45
|
+
}
|
|
46
|
+
}, [value]);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
clearTimeout(searchDebounce);
|
|
49
|
+
searchDebounce = setTimeout(() => {
|
|
50
|
+
onChangeDebounce(localValue);
|
|
51
|
+
}, 700);
|
|
52
|
+
}, [localValue]);
|
|
53
|
+
return (
|
|
54
|
+
/*#__PURE__*/
|
|
55
|
+
// Wrap the component with the ThemeProvider so the specified theme is used
|
|
56
|
+
React.createElement(ThemeProvider, {
|
|
57
|
+
theme: componentTheme
|
|
58
|
+
}, /*#__PURE__*/React.createElement(Paper, {
|
|
59
|
+
elevation: showDropdown ? 1 : 0,
|
|
60
|
+
className: clsx(`${disabled ? "cursor-not-allowed" : "cursor-default"}`, "flex flex-row justify-between", className)
|
|
61
|
+
}, /*#__PURE__*/React.createElement(InputBase, {
|
|
62
|
+
sx: {
|
|
63
|
+
ml: 1,
|
|
64
|
+
flex: 1
|
|
65
|
+
},
|
|
66
|
+
placeholder: placeholder,
|
|
67
|
+
inputProps: {
|
|
68
|
+
"aria-label": "search google maps"
|
|
69
|
+
},
|
|
70
|
+
disabled: disabled,
|
|
71
|
+
value: localValue,
|
|
72
|
+
onChange: event => {
|
|
73
|
+
setLocalValue(event.target.value);
|
|
74
|
+
onChange(event.target.value);
|
|
75
|
+
},
|
|
76
|
+
onKeyDown: event => {
|
|
77
|
+
//Needed when used in a menu to prevent the menu items from being filtered by the key down strokes or else we loose focus when use in this type of component
|
|
78
|
+
event.stopPropagation();
|
|
79
|
+
}
|
|
80
|
+
}), localValue.length === 0 ? /*#__PURE__*/React.createElement(IconButton, {
|
|
81
|
+
sx: {
|
|
82
|
+
p: "10px"
|
|
83
|
+
},
|
|
84
|
+
"aria-label": "search",
|
|
85
|
+
disabled: disabled
|
|
86
|
+
}, /*#__PURE__*/React.createElement(SearchIcon, null)) : /*#__PURE__*/React.createElement(IconButton, {
|
|
87
|
+
sx: {
|
|
88
|
+
p: "10px"
|
|
89
|
+
},
|
|
90
|
+
"aria-label": "search",
|
|
91
|
+
disabled: disabled,
|
|
92
|
+
onClick: () => {
|
|
93
|
+
setLocalValue("");
|
|
94
|
+
onCancelSearch();
|
|
95
|
+
}
|
|
96
|
+
}, /*#__PURE__*/React.createElement(CloseIcon, null))))
|
|
97
|
+
);
|
|
98
|
+
};
|
|
99
|
+
export default SearchBar; // Specifies the default values for the props:
|
|
100
|
+
|
|
101
|
+
SearchBar.defaultProps = {
|
|
102
|
+
onCancelSearch: () => {},
|
|
103
|
+
onChange: () => {},
|
|
104
|
+
onChangeDebounce: () => {},
|
|
105
|
+
placeholder: "Enter your search string",
|
|
106
|
+
value: "",
|
|
107
|
+
disabled: false,
|
|
108
|
+
showDropdown: true,
|
|
109
|
+
className: "",
|
|
110
|
+
theme: undefined
|
|
111
|
+
}; // Specifies the types to use for each props:
|
|
112
|
+
|
|
113
|
+
SearchBar.propTypes = {
|
|
114
|
+
/** Fired when the search is cancelled. */
|
|
115
|
+
onCancelSearch: PropTypes.object,
|
|
116
|
+
|
|
117
|
+
/** Fired when the text value changes. Returns the new value */
|
|
118
|
+
onChange: PropTypes.object,
|
|
119
|
+
|
|
120
|
+
/** Same as onChange except only fires 700ms after the users has completed typing to prevent performance issues. Returns the new value */
|
|
121
|
+
onChangeDebounce: PropTypes.object,
|
|
122
|
+
|
|
123
|
+
/** Sets placeholder text for the embedded text field. */
|
|
124
|
+
placeholder: PropTypes.string,
|
|
125
|
+
|
|
126
|
+
/** The value of the text field. */
|
|
127
|
+
value: PropTypes.string,
|
|
128
|
+
|
|
129
|
+
/** Disables text field. */
|
|
130
|
+
disabled: PropTypes.bool,
|
|
131
|
+
|
|
132
|
+
/** Show the dropdown around the text field component */
|
|
133
|
+
showDropdown: PropTypes.bool,
|
|
134
|
+
|
|
135
|
+
/** Override or extend the styles applied to the component. */
|
|
136
|
+
className: PropTypes.string,
|
|
137
|
+
|
|
138
|
+
/** The manual theme to apply to the component */
|
|
139
|
+
theme: PropTypes.object
|
|
140
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -12,4 +12,7 @@ import SimpleTab from './components/Layout/SimpleTab';
|
|
|
12
12
|
import HrefLink from './components/Links/HrefLink';
|
|
13
13
|
import GenericAppBar from './components/Dialogs/GenericAppBar';
|
|
14
14
|
import ReusablePopupMenu from './components/Menus/ReusablePopupMenu';
|
|
15
|
-
|
|
15
|
+
import SearchBar from './components/TextBoxes/SearchBar';
|
|
16
|
+
import TillButton from './components/Buttons/TillButton';
|
|
17
|
+
import DropdownButton from './components/Buttons/DropdownButton';
|
|
18
|
+
export { TestButton, CodeHighlight, CustomFab, HelpButton, GenericDialogWindow, PcSharedComponentThemeInheritor, ImageCanvasDraw, PCMScrollbar, TwoColumnDisplay, SimpleTab, HrefLink, GenericAppBar, ReusablePopupMenu, SearchBar, TillButton, DropdownButton };
|
package/dist/styles/tailwind.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2196f380;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.static{position:static}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.m-auto{margin:auto}.m-12{margin:1.2rem}.mx-6{margin-left:.6rem;margin-right:.6rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-2{margin-left:.2rem;margin-right:.2rem}.my-12{margin-top:1.2rem;margin-bottom:1.2rem}.my-6{margin-top:.6rem;margin-bottom:.6rem}.mx-8{margin-left:.8rem;margin-right:.8rem}.mt-6{margin-top:.6rem}.mb-2{margin-bottom:.2rem}.mt-12{margin-top:1.2rem}.mr-12{margin-right:1.2rem}.ml-6{margin-left:.6rem}.mb-6{margin-bottom:.6rem}.ml-12{margin-left:1.2rem}.mb-24{margin-bottom:2.4rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.contents{display:contents}.hidden{display:none}.h-full{height:100%}.h-screen{height:100vh}.w-full{width:100%}.w-auto{width:auto}.w-1\/2{width:50%}.grow{flex-grow:1}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overscroll-none{-ms-scroll-chaining:none;overscroll-behavior:none}.rounded-md{border-radius:.6rem}.border{border-width:1px}.border-2{border-width:2px}.border-transparent{border-color:#0000}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(67 160 71/var(--tw-bg-opacity))}.p-6{padding:.6rem}.px-4{padding-left:.4rem;padding-right:.4rem}.py-2{padding-top:.2rem;padding-bottom:.2rem}.px-2{padding-left:.2rem;padding-right:.2rem}.pt-4{padding-top:.4rem}.pl-0{padding-left:0}.pr-0{padding-right:0}.pl-16{padding-left:1.6rem}.text-sm{font-size:1.4rem;line-height:2rem}.text-xl{font-size:2rem;line-height:2.8rem}.text-2xl{line-height:3.2rem}.text-24,.text-2xl{font-size:2.4rem}.font-medium{font-weight:500}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(158 158 158/var(--tw-text-opacity))}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px 0 var(--tw-shadow-color)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.drop-shadow-none,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(56 142 60/var(--tw-bg-opacity))}.hover\:bg-gray-100\/75:hover{background-color:#f5f5f5bf}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(97 97 97/var(--tw-text-opacity))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(76 175 80/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}
|
|
1
|
+
*,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2196f380;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.static{position:static}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.m-auto{margin:auto}.m-12{margin:1.2rem}.mx-6{margin-left:.6rem;margin-right:.6rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-2{margin-left:.2rem;margin-right:.2rem}.my-12{margin-top:1.2rem;margin-bottom:1.2rem}.my-6{margin-top:.6rem;margin-bottom:.6rem}.mx-8{margin-left:.8rem;margin-right:.8rem}.mt-6{margin-top:.6rem}.mb-2{margin-bottom:.2rem}.mt-12{margin-top:1.2rem}.mr-12{margin-right:1.2rem}.ml-6{margin-left:.6rem}.mb-6{margin-bottom:.6rem}.ml-12{margin-left:1.2rem}.mb-24{margin-bottom:2.4rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.contents{display:contents}.hidden{display:none}.h-full{height:100%}.h-screen{height:100vh}.w-full{width:100%}.w-auto{width:auto}.w-1\/2{width:50%}.w-2\/5{width:40%}.grow{flex-grow:1}.cursor-not-allowed{cursor:not-allowed}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overscroll-none{-ms-scroll-chaining:none;overscroll-behavior:none}.rounded{border-radius:.4rem}.rounded-md{border-radius:.6rem}.border{border-width:1px}.border-2{border-width:2px}.border-transparent{border-color:#0000}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(67 160 71/var(--tw-bg-opacity))}.p-6{padding:.6rem}.px-4{padding-left:.4rem;padding-right:.4rem}.py-2{padding-top:.2rem;padding-bottom:.2rem}.px-2{padding-left:.2rem;padding-right:.2rem}.pt-4{padding-top:.4rem}.pl-0{padding-left:0}.pr-0{padding-right:0}.pl-16{padding-left:1.6rem}.text-sm{font-size:1.4rem;line-height:2rem}.text-xl{font-size:2rem;line-height:2.8rem}.text-2xl{line-height:3.2rem}.text-24,.text-2xl{font-size:2.4rem}.font-medium{font-weight:500}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(158 158 158/var(--tw-text-opacity))}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px 0 var(--tw-shadow-color)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.drop-shadow-none,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(56 142 60/var(--tw-bg-opacity))}.hover\:bg-gray-100\/75:hover{background-color:#f5f5f5bf}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(97 97 97/var(--tw-text-opacity))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(76 175 80/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pcm-shared-components",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.108",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"babel": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
],
|
|
14
14
|
"scripts": {
|
|
15
15
|
"publishme": "npm publish",
|
|
16
|
-
"
|
|
16
|
+
"start": "start-storybook -p 6006",
|
|
17
17
|
"build-storybook": "build-storybook",
|
|
18
18
|
"clean": "rm -rf dist",
|
|
19
19
|
"clean-storybook": "rm -rf dist/**/**/*/storybook",
|