pcm-shared-components 0.0.106 → 0.0.110

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.
@@ -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
+ };
@@ -3,7 +3,11 @@ import "./styles.css";
3
3
  import PropTypes from 'prop-types';
4
4
  /**
5
5
  * A backdrop loading panel that covers the entire screen and displays a loading spinner with the logo of your choice
6
- *
6
+ * ## Importing the component
7
+
8
+ ```//PitchCamp shared component
9
+ import {LoadingBackdrop} from 'pcm-shared-components';
10
+ ```
7
11
  */
8
12
 
9
13
  export const LoadingBackdrop = ({
@@ -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
- export { TestButton, CodeHighlight, CustomFab, HelpButton, GenericDialogWindow, PcSharedComponentThemeInheritor, ImageCanvasDraw, PCMScrollbar, TwoColumnDisplay, SimpleTab, HrefLink, GenericAppBar, ReusablePopupMenu };
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 };
@@ -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.106",
3
+ "version": "0.0.110",
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
- "storybook": "start-storybook -p 6006",
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",