pcm-shared-components 0.0.171 → 0.0.174

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.
@@ -27,7 +27,7 @@ export const GenericDialogWindow = props => {
27
27
  //---------------------------------------------------
28
28
 
29
29
  const [can_save, setCanSave] = useState(false);
30
- const [is_loading, setIsLoading] = useState(false);
30
+ const [isLoading, setIsLoading] = useState(false);
31
31
  const [managedAppBarMenu, setManagedAppBarMenu] = useState(undefined);
32
32
  const [save_button_label, setSaveButtonLabel] = useState(undefined);
33
33
  const [onClickOverride, setOnClickOverride] = useState([]);
@@ -171,6 +171,7 @@ export const GenericDialogWindow = props => {
171
171
  }, component ? /*#__PURE__*/React.cloneElement(component, {
172
172
  parentProps: {
173
173
  setCanSave,
174
+ isLoading,
174
175
  setIsLoading,
175
176
  setSaveButtonLabel,
176
177
  closeDialog,
@@ -189,7 +190,7 @@ export const GenericDialogWindow = props => {
189
190
  onClick: onSave,
190
191
  disabled: !can_save
191
192
  }, save_button_label ? save_button_label : getSaveButtonLabel()))), /*#__PURE__*/React.createElement(LoadingBackdrop, {
192
- isLoading: is_loading
193
+ isLoading: isLoading
193
194
  })));
194
195
  };
195
196
  export default GenericDialogWindow;
@@ -38,7 +38,7 @@
38
38
 
39
39
  #fuse-splash-screen .logo {
40
40
  width: 128px;
41
- margin: 0 auto;
41
+ margin: auto;
42
42
  }
43
43
 
44
44
  #fuse-splash-screen .logo img {
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
- import "./styles.css";
2
+ import "./css/style.css";
3
3
  import PropTypes from 'prop-types';
4
+ import WaitingGalaxy from '../../Loaders/WaitingGalaxy';
4
5
  /**
5
6
  * A backdrop loading panel that covers the entire screen and displays a loading spinner with the logo of your choice
6
7
  * ## Importing the component
@@ -11,7 +12,8 @@ import {LoadingBackdrop} from 'pcm-shared-components';
11
12
  */
12
13
 
13
14
  export const LoadingBackdrop = ({
14
- isLoading = false
15
+ isLoading = false,
16
+ useGalaxySpinner
15
17
  }) => {
16
18
  return /*#__PURE__*/React.createElement("div", {
17
19
  style: {
@@ -26,10 +28,13 @@ export const LoadingBackdrop = ({
26
28
  }, /*#__PURE__*/React.createElement("div", {
27
29
  className: "logo"
28
30
  }, /*#__PURE__*/React.createElement("img", {
31
+ className: "ml-4",
29
32
  width: "120",
30
33
  src: '/assets/images/logos/logo2.svg',
31
34
  alt: "logo"
32
- })), /*#__PURE__*/React.createElement("div", {
35
+ })), useGalaxySpinner ? /*#__PURE__*/React.createElement(WaitingGalaxy, {
36
+ className: "mt-12"
37
+ }) : /*#__PURE__*/React.createElement("div", {
33
38
  className: "spinner-wrapper"
34
39
  }, /*#__PURE__*/React.createElement("div", {
35
40
  className: "spinner"
@@ -50,10 +55,14 @@ export const LoadingBackdrop = ({
50
55
  export default LoadingBackdrop; // Specifies the default values for the props:
51
56
 
52
57
  LoadingBackdrop.defaultProps = {
53
- isLoading: false
58
+ isLoading: false,
59
+ useGalaxySpinner: false
54
60
  }; // Type of
55
61
 
56
62
  LoadingBackdrop.propTypes = {
63
+ /** Displays the galaxy spinner instead of the circular spinner */
64
+ useGalaxySpinner: PropTypes.bool,
65
+
57
66
  /** Controls if the backdrop is to be displayed */
58
67
  isLoading: PropTypes.bool
59
68
  };
@@ -0,0 +1,65 @@
1
+ .galaxy_loader {
2
+ /* position: absolute; */
3
+ top: calc(50% - 34px);
4
+ left: calc(50% - 34px);
5
+ width: 64px;
6
+ height: 64px;
7
+ border-radius: 50%;
8
+ perspective: 800px;
9
+ }
10
+
11
+ .inner_galaxy_line {
12
+ position: absolute;
13
+ box-sizing: border-box;
14
+ width: 100%;
15
+ height: 100%;
16
+ border-radius: 50%;
17
+ }
18
+
19
+ .inner_galaxy_line.galaxy_line_one {
20
+ left: 0%;
21
+ top: 0%;
22
+ animation: rotate-galaxy_line_one 1s linear infinite;
23
+ border-bottom: 3px solid rgb(92, 132, 48);
24
+ }
25
+
26
+ .inner_galaxy_line.galaxy_line_two {
27
+ right: 0%;
28
+ top: 0%;
29
+ animation: rotate-galaxy_line_two 1s linear infinite;
30
+ border-right: 3px solid #726646;
31
+ }
32
+
33
+ .inner_galaxy_line.galaxy_line_three {
34
+ right: 0%;
35
+ bottom: 0%;
36
+ animation: rotate-galaxy_line_three 1s linear infinite;
37
+ border-top: 3px solid rgb(241, 100, 47);
38
+ }
39
+
40
+ @keyframes rotate-galaxy_line_one {
41
+ 0% {
42
+ transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
43
+ }
44
+ 100% {
45
+ transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
46
+ }
47
+ }
48
+
49
+ @keyframes rotate-galaxy_line_two {
50
+ 0% {
51
+ transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
52
+ }
53
+ 100% {
54
+ transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
55
+ }
56
+ }
57
+
58
+ @keyframes rotate-galaxy_line_three {
59
+ 0% {
60
+ transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
61
+ }
62
+ 100% {
63
+ transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
64
+ }
65
+ }
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { ThemeProvider } from '@mui/system';
4
+ import { createTheme, useTheme } from '@mui/material/styles';
5
+ import './css/style.css';
6
+ /**
7
+ * ## Importing the component in your project
8
+ *
9
+ ```js
10
+
11
+ import {WaitingGalaxy} from 'pcm-shared-components';
12
+
13
+ ```
14
+ *
15
+ */
16
+
17
+ export const WaitingGalaxy = props => {
18
+ const {
19
+ className,
20
+ theme
21
+ } = props;
22
+ const compTheme = theme ? theme : useTheme();
23
+ const defaultTheme = createTheme(compTheme);
24
+ return /*#__PURE__*/React.createElement(ThemeProvider, {
25
+ theme: defaultTheme
26
+ }, /*#__PURE__*/React.createElement("div", {
27
+ className: ` galaxy_loader m-auto ${className}`
28
+ }, /*#__PURE__*/React.createElement("div", {
29
+ className: "inner_galaxy_line galaxy_line_one"
30
+ }), /*#__PURE__*/React.createElement("div", {
31
+ className: "inner_galaxy_line galaxy_line_two"
32
+ }), /*#__PURE__*/React.createElement("div", {
33
+ className: "inner_galaxy_line galaxy_line_three"
34
+ })));
35
+ };
36
+ export default WaitingGalaxy;
37
+ WaitingGalaxy.defaultProps = {
38
+ className: '',
39
+ theme: undefined
40
+ };
41
+ WaitingGalaxy.propTypes = {
42
+ /** Classes applied to the body of the component*/
43
+ className: PropTypes.string,
44
+
45
+ /** Theme object to use on this component, if none provided then the MUI5 theme provider theme is used*/
46
+ theme: PropTypes.object
47
+ };
@@ -0,0 +1,256 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { ThemeProvider } from '@mui/system';
4
+ import { createTheme, useTheme } from '@mui/material/styles';
5
+ import FormControl from '@mui/material/FormControl';
6
+ import InputLabel from '@mui/material/InputLabel';
7
+ import Input from '@mui/material/Input';
8
+ import { InputAdornment } from '@mui/material';
9
+ import TextField from '@mui/material/TextField';
10
+ let debounce;
11
+ /**
12
+ * ## Importing the component in your project
13
+ *
14
+ ```js
15
+
16
+ import {CurrencyTextInput} from 'pcm-shared-components';
17
+
18
+ ```
19
+ *
20
+ */
21
+
22
+ export const CurrencyTextInput = props => {
23
+ const {
24
+ value,
25
+ label,
26
+ variant,
27
+ fullWidth,
28
+ onChange,
29
+ onChangeDebounce,
30
+ currencySymbol,
31
+ className,
32
+ decimalPlaces,
33
+ maximumValue,
34
+ minimumValue,
35
+ textAlign,
36
+ useThousandSeparator,
37
+ fontSize,
38
+ textPadding,
39
+ theme
40
+ } = props;
41
+ const compTheme = theme ? theme : useTheme();
42
+ const defaultTheme = createTheme(compTheme); //Hooks
43
+
44
+ const [localValue, setLocalValue] = useState(value);
45
+ useEffect(() => {
46
+ clearTimeout(debounce);
47
+ debounce = setTimeout(() => {
48
+ onChangeDebounce(localValue);
49
+ }, 700);
50
+ }, [localValue]); //---------------------------------------------------
51
+ // Functions used to sanitize the number
52
+ //---------------------------------------------------
53
+
54
+ const sanitizeDecimalDots = value => {
55
+ //Ensures we only have one decimal dot in our number
56
+ try {
57
+ return String(value).replace(/[.](?=.*[.])/g, "");
58
+ } catch (error) {
59
+ console.error(error);
60
+ }
61
+
62
+ return value;
63
+ };
64
+
65
+ const sanitizeDigits = value => {
66
+ //Ensures we only have digits in our number
67
+ try {
68
+ //Allow normal numbers, negative number and dots
69
+ const isNegativeNumber = value[0] === '-';
70
+ let returnVal = String(value).replace(/[^\d.]/gi, '');
71
+ return `${isNegativeNumber ? '-' : ''}${returnVal}`; //Only allow numbers and dots
72
+ // return String(value).replace(/[^\d.]/gi, '');
73
+ } catch (error) {
74
+ console.error(error);
75
+ }
76
+
77
+ return value;
78
+ };
79
+
80
+ const sanitizeDecimalPlaces = value => {
81
+ try {
82
+ // Only apply this rule if we have a decimal place with something in it or else skip because it's causing inconsistent number formatting when entering the digits
83
+ const decimalCheck = String(value).split('.');
84
+
85
+ if (decimalCheck.length === 2 && decimalCheck[1].length > 0) {
86
+ return Number(value).toLocaleString(undefined, {
87
+ minimumFractionDigits: 1,
88
+ maximumFractionDigits: decimalPlaces,
89
+ useGrouping: false
90
+ });
91
+ }
92
+ } catch (error) {
93
+ console.error(error);
94
+ }
95
+
96
+ return value;
97
+ };
98
+
99
+ const sanitizeMinMaxValues = value => {
100
+ try {
101
+ if (!isNaN(value)) {
102
+ if (Number(value) > maximumValue) {
103
+ return maximumValue;
104
+ }
105
+
106
+ if (Number(value) < minimumValue) {
107
+ return minimumValue;
108
+ }
109
+ }
110
+ } catch (error) {
111
+ console.error(error);
112
+ }
113
+
114
+ return value;
115
+ };
116
+
117
+ const sanitizeThousandPlaces = value => {
118
+ try {
119
+ // Only apply the thousand grouping on the numbers before the decimal
120
+ if (useThousandSeparator && !isNaN(value)) {
121
+ const digits = String(value).split('.');
122
+
123
+ if (digits[0].length > 0) {
124
+ const thousandFormatted = Number(digits[0]).toLocaleString(undefined, {
125
+ useGrouping: true
126
+ });
127
+
128
+ if (digits.length === 2) {
129
+ //Let's keep any additional DOT and decimal places even if they are empty
130
+ return `${thousandFormatted}.${digits[1]}`;
131
+ } else {
132
+ return thousandFormatted;
133
+ }
134
+ }
135
+ }
136
+ } catch (error) {
137
+ console.error(error);
138
+ }
139
+
140
+ return value;
141
+ };
142
+
143
+ const handleCurrencyFormatting = value => {
144
+ let returnVal = value;
145
+
146
+ try {
147
+ returnVal = sanitizeMinMaxValues(returnVal);
148
+ returnVal = sanitizeDecimalDots(returnVal);
149
+ returnVal = sanitizeDigits(returnVal);
150
+ returnVal = sanitizeDecimalPlaces(returnVal);
151
+ returnVal = sanitizeThousandPlaces(returnVal);
152
+ } catch (error) {
153
+ console.error(error);
154
+ }
155
+
156
+ return returnVal;
157
+ };
158
+
159
+ const handleOnChange = event => {
160
+ setLocalValue(event.target.value);
161
+ onChange(event.target.value);
162
+ };
163
+
164
+ return /*#__PURE__*/React.createElement(ThemeProvider, {
165
+ theme: defaultTheme
166
+ }, /*#__PURE__*/React.createElement(TextField, {
167
+ id: "input-with-icon-textfield",
168
+ className: ` ${className}`,
169
+ fullWidth: fullWidth,
170
+ label: label,
171
+ value: handleCurrencyFormatting(value),
172
+ onChange: handleOnChange,
173
+ inputProps: {
174
+ autoComplete: "new-password",
175
+ style: {
176
+ textAlign: textAlign,
177
+ fontSize: fontSize,
178
+ padding: textPadding
179
+ }
180
+ },
181
+ InputProps: {
182
+ startAdornment: /*#__PURE__*/React.createElement(InputAdornment, {
183
+ position: "start"
184
+ }, currencySymbol)
185
+ },
186
+ variant: variant
187
+ }));
188
+ };
189
+ export default CurrencyTextInput;
190
+ CurrencyTextInput.defaultProps = {
191
+ value: 0,
192
+ label: 'Some Label',
193
+ variant: 'outlined',
194
+ fullWidth: true,
195
+ onChange: () => {},
196
+ onChangeDebounce: () => {},
197
+ currencySymbol: '$',
198
+ useThousandSeparator: true,
199
+ className: '',
200
+ decimalPlaces: 2,
201
+ maximumValue: 10000000000000,
202
+ minimumValue: -10000000000000,
203
+ textAlign: 'right',
204
+ fontSize: 16,
205
+ textPadding: 4,
206
+ theme: undefined
207
+ };
208
+ CurrencyTextInput.propTypes = {
209
+ /** Value to be enter and display in input */
210
+ value: PropTypes.string,
211
+
212
+ /** The label content*/
213
+ label: PropTypes.string,
214
+
215
+ /** Controls the look of the text field*/
216
+ variant: PropTypes.oneOf(['filled', 'outlined', 'standard']),
217
+
218
+ /** Determines if the text field will be full width or fit content*/
219
+ fullWidth: PropTypes.bool,
220
+
221
+ /** Determines if the final number grouping will contain the thousand separator */
222
+ useThousandSeparator: PropTypes.bool,
223
+
224
+ /** Callback fired when the value is changed*/
225
+ onChange: PropTypes.func,
226
+
227
+ /** Same as onChange except only fires 700ms after the users has completed typing to prevent performance issues. Returns the new value */
228
+ onChangeDebounce: PropTypes.func,
229
+
230
+ /** Defines the currency symbol string.*/
231
+ currencySymbol: PropTypes.string,
232
+
233
+ /** Classes to add to the wrapper control*/
234
+ className: PropTypes.string,
235
+
236
+ /** Controls the font size in in pt example: 14*/
237
+ fontSize: PropTypes.number,
238
+
239
+ /** Controls the padding around the font */
240
+ textPadding: PropTypes.number,
241
+
242
+ /** Defines the default number of decimal places to show on the formatted value.*/
243
+ decimalPlaces: PropTypes.number,
244
+
245
+ /** Maximum value that can be enter*/
246
+ maximumValue: PropTypes.number,
247
+
248
+ /** Minimum value that can be entered*/
249
+ minimumValue: PropTypes.number,
250
+
251
+ /** Align the numbers in the textField.*/
252
+ textAlign: PropTypes.oneOf(['left', 'right']),
253
+
254
+ /** Theme object to use on this component, if none provided then the MUI5 theme provider theme is used*/
255
+ theme: PropTypes.object
256
+ };
package/dist/index.js CHANGED
@@ -20,4 +20,5 @@ import coreLocals from './locals/coreLocals';
20
20
  import currencySymbol from './locals/currencySymbol';
21
21
  import DateRangeCalendar from './components/Date/DateRangeCalendar';
22
22
  import SimpleLabel from './components/Labels/SimpleLabel';
23
- export { TestButton, CodeHighlight, CustomFab, HelpButton, GenericDialogWindow, PcSharedComponentThemeInheritor, ImageCanvasDraw, PCMScrollbar, TwoColumnDisplay, SimpleTab, HrefLink, GenericAppBar, ReusablePopupMenu, SearchBar, TillButton, DropdownButton, translationResources, coreLocals, currencySymbol, DateRangeCalendar, SimpleLabel };
23
+ import CurrencyTextInput from './components/TextBoxes/CurrencyTextInput';
24
+ export { TestButton, CodeHighlight, CustomFab, HelpButton, GenericDialogWindow, PcSharedComponentThemeInheritor, ImageCanvasDraw, PCMScrollbar, TwoColumnDisplay, SimpleTab, HrefLink, GenericAppBar, ReusablePopupMenu, SearchBar, TillButton, DropdownButton, translationResources, coreLocals, currencySymbol, DateRangeCalendar, SimpleLabel, CurrencyTextInput };
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--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: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--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: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--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}.my-4{margin-top:.4rem;margin-bottom:.4rem}.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}.ml-0{margin-left:0}.mr-0{margin-right:0}.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-start{justify-content:flex-start}.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{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))}.bg-yellow-100\/50{background-color:#fff9c480}.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-12{padding-top:1.2rem}.pt-4{padding-top:.4rem}.pl-0{padding-left:0}.pr-0{padding-right:0}.pb-4{padding-bottom:.4rem}.text-center{text-align:center}.font-sans{font-family:Muli,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.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-600{--tw-text-opacity:1;color:rgb(117 117 117/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}@media (min-width:960px){.md\:pt-0{padding-top:0}}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--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: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--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: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--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}.my-4{margin-top:.4rem;margin-bottom:.4rem}.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}.ml-0{margin-left:0}.mr-0{margin-right:0}.ml-4{margin-left:.4rem}.mt-12{margin-top:1.2rem}.mt-6{margin-top:.6rem}.mb-2{margin-bottom:.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-start{justify-content:flex-start}.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{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))}.bg-yellow-100\/50{background-color:#fff9c480}.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-12{padding-top:1.2rem}.pt-4{padding-top:.4rem}.pl-0{padding-left:0}.pr-0{padding-right:0}.pb-4{padding-bottom:.4rem}.text-center{text-align:center}.font-sans{font-family:Muli,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.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-600{--tw-text-opacity:1;color:rgb(117 117 117/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}@media (min-width:960px){.md\:pt-0{padding-top:0}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pcm-shared-components",
3
- "version": "0.0.171",
3
+ "version": "0.0.174",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "babel": {