@pareto-engineering/design-system 0.0.1-alpha.67 → 0.0.1-alpha.70
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/config/global-setup.js +3 -0
- package/dist/cjs/a/Timestamp/Timestamp.js +139 -0
- package/dist/cjs/a/{RatingsInput/common/Rating → Timestamp}/index.js +3 -3
- package/dist/cjs/a/Timestamp/styles.scss +7 -0
- package/dist/cjs/a/index.js +9 -1
- package/dist/cjs/f/FormInput/FormInput.js +109 -0
- package/dist/cjs/{a/RatingsInput → f/FormInput}/index.js +3 -3
- package/dist/cjs/f/common/Label/Label.js +10 -3
- package/dist/cjs/f/common/Label/styles.scss +3 -3
- package/dist/cjs/f/fields/CheckboxInput/CheckboxInput.js +3 -1
- package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +32 -11
- package/dist/cjs/f/fields/ChoicesInput/common/Choice/Choice.js +10 -3
- package/dist/cjs/f/fields/ChoicesInput/styles.scss +32 -29
- package/dist/cjs/f/fields/RadioInput/RadioInput.js +3 -1
- package/dist/cjs/f/fields/RatingsInput/RatingsInput.js +3 -1
- package/dist/cjs/f/fields/SelectInput/SelectInput.js +15 -5
- package/dist/cjs/{a/RatingsInput/common/Rating/Rating.js → f/fields/TaskRecommendationInput/TaskRecommendationInput.js} +57 -46
- package/dist/cjs/f/fields/TaskRecommendationInput/index.js +15 -0
- package/{src/ui/f/fields/TaskRecommendation → dist/cjs/f/fields/TaskRecommendationInput}/styles.scss +1 -1
- package/dist/cjs/f/fields/TextInput/TextInput.js +15 -5
- package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +151 -0
- package/dist/cjs/f/fields/TextareaInput/index.js +15 -0
- package/{src/ui/f/fields/TextArea → dist/cjs/f/fields/TextareaInput}/styles.scss +1 -1
- package/dist/cjs/f/fields/index.js +6 -6
- package/dist/cjs/f/index.js +14 -1
- package/dist/es/a/Timestamp/Timestamp.js +122 -0
- package/dist/es/a/Timestamp/index.js +2 -0
- package/dist/es/a/Timestamp/styles.scss +7 -0
- package/dist/es/a/index.js +2 -1
- package/dist/es/f/FormInput/FormInput.js +84 -0
- package/dist/es/f/FormInput/index.js +2 -0
- package/dist/es/f/common/Label/Label.js +10 -3
- package/dist/es/f/common/Label/styles.scss +3 -3
- package/dist/es/f/fields/CheckboxInput/CheckboxInput.js +2 -2
- package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +32 -13
- package/dist/es/f/fields/ChoicesInput/common/Choice/Choice.js +10 -3
- package/dist/es/f/fields/ChoicesInput/styles.scss +32 -29
- package/dist/es/f/fields/RadioInput/RadioInput.js +2 -2
- package/dist/es/f/fields/RatingsInput/RatingsInput.js +2 -2
- package/dist/es/f/fields/SelectInput/SelectInput.js +14 -6
- package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +111 -0
- package/dist/es/f/fields/TaskRecommendationInput/index.js +2 -0
- package/dist/es/f/fields/TaskRecommendationInput/styles.scss +37 -0
- package/dist/es/f/fields/TextInput/TextInput.js +14 -6
- package/dist/es/f/fields/TextareaInput/TextareaInput.js +132 -0
- package/dist/es/f/fields/TextareaInput/index.js +2 -0
- package/dist/es/f/fields/TextareaInput/styles.scss +19 -0
- package/dist/es/f/fields/index.js +2 -2
- package/dist/es/f/index.js +2 -1
- package/jest.config.js +2 -1
- package/package.json +1 -1
- package/src/__snapshots__/Storyshots.test.js.snap +1204 -383
- package/src/stories/a/Timestamp.stories.jsx +102 -0
- package/src/stories/f/ChoicesInput.stories.jsx +54 -6
- package/src/stories/f/FormInput.stories.jsx +187 -0
- package/src/stories/f/SelectInput.stories.jsx +14 -0
- package/src/stories/f/{TaskRecommendation.stories.jsx → TaskRecommendationInput.stories.jsx} +4 -4
- package/src/stories/f/TextInput.stories.jsx +10 -0
- package/src/stories/f/{TextArea.stories.jsx → TextareaInput.stories.jsx} +15 -5
- package/src/ui/a/Timestamp/Timestamp.jsx +168 -0
- package/src/ui/a/Timestamp/index.js +2 -0
- package/src/ui/a/Timestamp/styles.scss +7 -0
- package/src/ui/a/index.js +1 -0
- package/src/ui/f/FormInput/FormInput.jsx +121 -0
- package/src/ui/f/FormInput/index.js +2 -0
- package/src/ui/f/common/Label/Label.jsx +10 -2
- package/src/ui/f/common/Label/styles.scss +3 -3
- package/src/ui/f/fields/CheckboxInput/CheckboxInput.jsx +2 -2
- package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +37 -17
- package/src/ui/f/fields/ChoicesInput/common/Choice/Choice.jsx +6 -0
- package/src/ui/f/fields/ChoicesInput/styles.scss +32 -29
- package/src/ui/f/fields/RadioInput/RadioInput.jsx +2 -2
- package/src/ui/f/fields/RatingsInput/RatingsInput.jsx +2 -2
- package/src/ui/f/fields/SelectInput/SelectInput.jsx +9 -4
- package/src/ui/f/fields/{TaskRecommendation/TaskRecommendation.jsx → TaskRecommendationInput/TaskRecommendationInput.jsx} +6 -6
- package/src/ui/f/fields/TaskRecommendationInput/index.js +2 -0
- package/src/ui/f/fields/TaskRecommendationInput/styles.scss +37 -0
- package/src/ui/f/fields/TextInput/TextInput.jsx +10 -3
- package/src/ui/f/fields/{TextArea/TextArea.jsx → TextareaInput/TextareaInput.jsx} +13 -6
- package/src/ui/f/fields/TextareaInput/index.js +2 -0
- package/src/ui/f/fields/TextareaInput/styles.scss +19 -0
- package/src/ui/f/fields/index.js +2 -2
- package/src/ui/f/index.js +1 -0
- package/dist/cjs/a/RatingsInput/RatingsInput.js +0 -88
- package/dist/cjs/a/RatingsInput/common/index.js +0 -13
- package/dist/cjs/a/RatingsInput/styles.scss +0 -35
- package/dist/es/a/RatingsInput/RatingsInput.js +0 -72
- package/dist/es/a/RatingsInput/common/Rating/Rating.js +0 -102
- package/dist/es/a/RatingsInput/common/Rating/index.js +0 -2
- package/dist/es/a/RatingsInput/common/index.js +0 -1
- package/dist/es/a/RatingsInput/index.js +0 -2
- package/dist/es/a/RatingsInput/styles.scss +0 -35
- package/src/ui/f/fields/TaskRecommendation/index.js +0 -2
- package/src/ui/f/fields/TextArea/index.js +0 -2
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
|
|
13
|
+
|
|
14
|
+
var _dateFns = require("date-fns");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
|
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
|
|
22
|
+
// Local Definitions
|
|
23
|
+
var baseClassName = _bem.default.base;
|
|
24
|
+
var componentClassName = 'timestamp';
|
|
25
|
+
/**
|
|
26
|
+
* This is the component description.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
var Timestamp = _ref => {
|
|
30
|
+
var {
|
|
31
|
+
id,
|
|
32
|
+
className: userClassName,
|
|
33
|
+
style,
|
|
34
|
+
time,
|
|
35
|
+
prefix,
|
|
36
|
+
enabledFormats,
|
|
37
|
+
distanceMaxDays,
|
|
38
|
+
relativeMaxDays,
|
|
39
|
+
dateFormat,
|
|
40
|
+
locale,
|
|
41
|
+
// ...otherProps
|
|
42
|
+
as: Element
|
|
43
|
+
} = _ref;
|
|
44
|
+
(0, React.useLayoutEffect)(() => {
|
|
45
|
+
Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
|
|
46
|
+
}, []);
|
|
47
|
+
var [currentDisplay, setCurrentDisplay] = (0, React.useState)(enabledFormats[0]);
|
|
48
|
+
var formatMap = (0, React.useMemo)(() => ({
|
|
49
|
+
unix: _unix => Number(_unix),
|
|
50
|
+
date: unix => (0, _dateFns.format)(new Date(unix), dateFormat),
|
|
51
|
+
distance: unix => !distanceMaxDays || (0, _dateFns.differenceInDays)(Date.now(), new Date(unix)) < distanceMaxDays ? (0, _dateFns.formatDistance)(new Date(unix), new Date(), {
|
|
52
|
+
addSuffix: true,
|
|
53
|
+
locale
|
|
54
|
+
}) : (0, _dateFns.format)(new Date(unix), dateFormat),
|
|
55
|
+
relative: unix => !relativeMaxDays || (0, _dateFns.differenceInDays)(Date.now(), new Date(unix)) < relativeMaxDays ? (0, _dateFns.formatRelative)(new Date(unix), new Date(), {
|
|
56
|
+
locale
|
|
57
|
+
}) : (0, _dateFns.format)(new Date(unix), dateFormat)
|
|
58
|
+
}), []);
|
|
59
|
+
var onClick = (0, React.useCallback)(e => {
|
|
60
|
+
e.persist(); // eslint-disable-next-line no-shadow
|
|
61
|
+
|
|
62
|
+
var currentIndex = enabledFormats.findIndex(e => e === currentDisplay);
|
|
63
|
+
var nextIndex = (currentIndex + 1) % enabledFormats.length;
|
|
64
|
+
setCurrentDisplay(enabledFormats[nextIndex]);
|
|
65
|
+
}, [currentDisplay]);
|
|
66
|
+
if (!Number(time)) return null;
|
|
67
|
+
return /*#__PURE__*/React.createElement(Element, {
|
|
68
|
+
id: id,
|
|
69
|
+
className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
|
|
70
|
+
style: style // {...otherProps}
|
|
71
|
+
,
|
|
72
|
+
onClick: enabledFormats.length > 1 ? onClick : undefined
|
|
73
|
+
}, prefix && prefix, prefix && ' ', formatMap[currentDisplay](Number(time)));
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
Timestamp.propTypes = {
|
|
77
|
+
/**
|
|
78
|
+
* The HTML id for this element
|
|
79
|
+
*/
|
|
80
|
+
id: _propTypes.default.string,
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* The HTML class names for this element
|
|
84
|
+
*/
|
|
85
|
+
className: _propTypes.default.string,
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* The React-written, css properties for this element.
|
|
89
|
+
*/
|
|
90
|
+
style: _propTypes.default.objectOf(_propTypes.default.string),
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* The children JSX
|
|
94
|
+
*/
|
|
95
|
+
prefix: _propTypes.default.node,
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Which html tag to use
|
|
99
|
+
*/
|
|
100
|
+
as: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Formats
|
|
104
|
+
*/
|
|
105
|
+
enabledFormats: _propTypes.default.arrayOf(_propTypes.default.oneOf(['unix', 'date', 'distance', 'relative'])),
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* How many days to display distance before reverting to unix display
|
|
109
|
+
*/
|
|
110
|
+
distanceMaxDays: _propTypes.default.number,
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* How many days to display distance before reverting to unix display
|
|
114
|
+
*/
|
|
115
|
+
relativeMaxDays: _propTypes.default.number,
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Unix Format Read https://date-fns.org/v2.16.1/docs/format for options
|
|
119
|
+
*/
|
|
120
|
+
dateFormat: _propTypes.default.string,
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* The time to display
|
|
124
|
+
*/
|
|
125
|
+
time: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number]).isRequired,
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* A Date-DNS locale object. Will default to english.
|
|
129
|
+
*/
|
|
130
|
+
locale: _propTypes.default.instanceOf(Object)
|
|
131
|
+
};
|
|
132
|
+
Timestamp.defaultProps = {
|
|
133
|
+
// someProp:false
|
|
134
|
+
as: 'p',
|
|
135
|
+
dateFormat: 'yyyy-MM-dd\'T\'HH:mm:ss.SSSxxx',
|
|
136
|
+
enabledFormats: ['unix', 'date']
|
|
137
|
+
};
|
|
138
|
+
var _default = Timestamp;
|
|
139
|
+
exports.default = _default;
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
Object.defineProperty(exports, "
|
|
6
|
+
Object.defineProperty(exports, "Timestamp", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function get() {
|
|
9
|
-
return
|
|
9
|
+
return _Timestamp.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _Timestamp = _interopRequireDefault(require("./Timestamp"));
|
|
14
14
|
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/dist/cjs/a/index.js
CHANGED
|
@@ -135,6 +135,12 @@ Object.defineProperty(exports, "DotInfo", {
|
|
|
135
135
|
return _DotInfo.DotInfo;
|
|
136
136
|
}
|
|
137
137
|
});
|
|
138
|
+
Object.defineProperty(exports, "Timestamp", {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function get() {
|
|
141
|
+
return _Timestamp.Timestamp;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
138
144
|
|
|
139
145
|
var _SVG = require("./SVG");
|
|
140
146
|
|
|
@@ -172,4 +178,6 @@ var _Quote = require("./Quote");
|
|
|
172
178
|
|
|
173
179
|
var _ContentCard = require("./ContentCard");
|
|
174
180
|
|
|
175
|
-
var _DotInfo = require("./DotInfo");
|
|
181
|
+
var _DotInfo = require("./DotInfo");
|
|
182
|
+
|
|
183
|
+
var _Timestamp = require("./Timestamp");
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _fields = require("../fields");
|
|
13
|
+
|
|
14
|
+
var _excluded = ["className", "type", "extraTypes", "disabled"];
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
|
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
|
|
22
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
|
+
|
|
24
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
25
|
+
|
|
26
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
27
|
+
|
|
28
|
+
// Local Definitions
|
|
29
|
+
// const baseClassName = styleNames.base
|
|
30
|
+
var componentClassName = 'form-input';
|
|
31
|
+
/**
|
|
32
|
+
* This is the component description.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
var FormInput = _ref => {
|
|
36
|
+
var {
|
|
37
|
+
className,
|
|
38
|
+
type,
|
|
39
|
+
extraTypes,
|
|
40
|
+
disabled
|
|
41
|
+
} = _ref,
|
|
42
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
43
|
+
|
|
44
|
+
var newClassName = [className, componentClassName].filter(Boolean).join(' ');
|
|
45
|
+
|
|
46
|
+
if (type === 'textarea') {
|
|
47
|
+
return /*#__PURE__*/React.createElement(_fields.TextareaInput, _extends({
|
|
48
|
+
className: newClassName,
|
|
49
|
+
disabled: disabled
|
|
50
|
+
}, otherProps));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (type === 'choices') {
|
|
54
|
+
return /*#__PURE__*/React.createElement(_fields.ChoicesInput, _extends({
|
|
55
|
+
className: newClassName,
|
|
56
|
+
disabled: disabled
|
|
57
|
+
}, otherProps));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (type === 'select') {
|
|
61
|
+
return /*#__PURE__*/React.createElement(_fields.SelectInput, _extends({
|
|
62
|
+
className: newClassName,
|
|
63
|
+
disabled: disabled
|
|
64
|
+
}, otherProps));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (extraTypes !== null && extraTypes !== void 0 && extraTypes[type]) {
|
|
68
|
+
var Component = extraTypes[type];
|
|
69
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
70
|
+
className: newClassName,
|
|
71
|
+
disabled: disabled
|
|
72
|
+
}, otherProps));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return /*#__PURE__*/React.createElement(_fields.TextInput, _extends({
|
|
76
|
+
className: newClassName,
|
|
77
|
+
disabled: disabled
|
|
78
|
+
}, otherProps));
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
FormInput.propTypes = {
|
|
82
|
+
/**
|
|
83
|
+
* The HTML class names for this element
|
|
84
|
+
*/
|
|
85
|
+
className: _propTypes.default.string,
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* The HTML class names for this element
|
|
89
|
+
*/
|
|
90
|
+
type: _propTypes.default.oneOf(['text', 'email', 'password', 'number', 'date', 'datetime', 'month', 'tel', 'hidden', 'select', 'choices', 'textarea', // to be removed
|
|
91
|
+
'extendedTypeInput']),
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* The object with external Input types that would make the form input extensible
|
|
95
|
+
*/
|
|
96
|
+
extraTypes: _propTypes.default.objectOf(_propTypes.default.func),
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Whether the Form input input should be disabled
|
|
100
|
+
*/
|
|
101
|
+
disabled: _propTypes.default.bool
|
|
102
|
+
};
|
|
103
|
+
FormInput.defaultProps = {
|
|
104
|
+
disabled: false
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
var _default = /*#__PURE__*/(0, React.memo)(FormInput);
|
|
108
|
+
|
|
109
|
+
exports.default = _default;
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
Object.defineProperty(exports, "
|
|
6
|
+
Object.defineProperty(exports, "FormInput", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function get() {
|
|
9
|
-
return
|
|
9
|
+
return _FormInput.default;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _FormInput = _interopRequireDefault(require("./FormInput"));
|
|
14
14
|
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -31,6 +31,7 @@ var Label = _ref => {
|
|
|
31
31
|
style,
|
|
32
32
|
children,
|
|
33
33
|
name,
|
|
34
|
+
color,
|
|
34
35
|
as: Wrapper // ...otherProps
|
|
35
36
|
|
|
36
37
|
} = _ref;
|
|
@@ -40,7 +41,7 @@ var Label = _ref => {
|
|
|
40
41
|
return /*#__PURE__*/React.createElement(Wrapper, {
|
|
41
42
|
htmlFor: Wrapper === 'label' ? name : undefined,
|
|
42
43
|
id: id,
|
|
43
|
-
className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
|
|
44
|
+
className: [baseClassName, componentClassName, userClassName, "x-".concat(color)].filter(e => e).join(' '),
|
|
44
45
|
style: style // {...otherProps}
|
|
45
46
|
|
|
46
47
|
}, children);
|
|
@@ -75,11 +76,17 @@ Label.propTypes = {
|
|
|
75
76
|
/**
|
|
76
77
|
* The html tag that acts as an input label
|
|
77
78
|
*/
|
|
78
|
-
as: _propTypes.default.node
|
|
79
|
+
as: _propTypes.default.node,
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* The default color of the label
|
|
83
|
+
*/
|
|
84
|
+
color: _propTypes.default.string
|
|
79
85
|
};
|
|
80
86
|
Label.defaultProps = {
|
|
81
87
|
// someProp:false
|
|
82
|
-
as: 'label'
|
|
88
|
+
as: 'label',
|
|
89
|
+
color: 'main1'
|
|
83
90
|
};
|
|
84
91
|
var _default = Label;
|
|
85
92
|
exports.default = _default;
|
|
@@ -13,6 +13,8 @@ var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
|
|
|
13
13
|
|
|
14
14
|
var _common = require("./common");
|
|
15
15
|
|
|
16
|
+
var _common2 = require("../../common");
|
|
17
|
+
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
19
|
|
|
18
20
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -27,7 +29,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
27
29
|
|
|
28
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
31
|
|
|
30
|
-
// Local Definitions
|
|
31
32
|
var baseClassName = _bem.default.base;
|
|
32
33
|
var componentClassName = 'choices-input';
|
|
33
34
|
/**
|
|
@@ -41,12 +42,14 @@ var ChoicesInput = _ref => {
|
|
|
41
42
|
style,
|
|
42
43
|
name,
|
|
43
44
|
validate,
|
|
44
|
-
|
|
45
|
+
options,
|
|
45
46
|
multiple,
|
|
46
47
|
gridColumnsMobile,
|
|
47
48
|
gridColumnsDesktop,
|
|
48
49
|
color,
|
|
49
|
-
colorChecked
|
|
50
|
+
colorChecked,
|
|
51
|
+
label,
|
|
52
|
+
disabled // ...otherProps
|
|
50
53
|
|
|
51
54
|
} = _ref;
|
|
52
55
|
(0, React.useLayoutEffect)(() => {
|
|
@@ -60,13 +63,18 @@ var ChoicesInput = _ref => {
|
|
|
60
63
|
'--grid-columns-mobile': gridColumnsMobile
|
|
61
64
|
}, style) // {...otherProps}
|
|
62
65
|
|
|
63
|
-
},
|
|
66
|
+
}, label && /*#__PURE__*/React.createElement(_common2.FormLabel, {
|
|
67
|
+
as: "p"
|
|
68
|
+
}, label), /*#__PURE__*/React.createElement("div", {
|
|
69
|
+
className: "choices"
|
|
70
|
+
}, options.map(choice => /*#__PURE__*/React.createElement(_common.Choice, _extends({
|
|
64
71
|
key: choice.value,
|
|
65
72
|
name: name,
|
|
66
73
|
id: "".concat(id, "-").concat(choice.value),
|
|
67
74
|
multiple: multiple,
|
|
68
|
-
validate: validate
|
|
69
|
-
|
|
75
|
+
validate: validate,
|
|
76
|
+
disabled: disabled
|
|
77
|
+
}, choice)))));
|
|
70
78
|
};
|
|
71
79
|
|
|
72
80
|
ChoicesInput.propTypes = {
|
|
@@ -96,9 +104,9 @@ ChoicesInput.propTypes = {
|
|
|
96
104
|
validate: _propTypes.default.string,
|
|
97
105
|
|
|
98
106
|
/**
|
|
99
|
-
* The choices
|
|
107
|
+
* The choices input options
|
|
100
108
|
*/
|
|
101
|
-
|
|
109
|
+
options: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
102
110
|
value: _propTypes.default.string,
|
|
103
111
|
label: _propTypes.default.string
|
|
104
112
|
})),
|
|
@@ -126,13 +134,26 @@ ChoicesInput.propTypes = {
|
|
|
126
134
|
/**
|
|
127
135
|
* The selected choice color
|
|
128
136
|
*/
|
|
129
|
-
colorChecked: _propTypes.default.string
|
|
137
|
+
colorChecked: _propTypes.default.string,
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* The label of the choices input
|
|
141
|
+
*/
|
|
142
|
+
label: _propTypes.default.string,
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Whether all the Choices inputs should be disabled
|
|
146
|
+
*/
|
|
147
|
+
disabled: _propTypes.default.bool
|
|
130
148
|
};
|
|
131
149
|
ChoicesInput.defaultProps = {
|
|
132
150
|
gridColumnsMobile: 2,
|
|
133
151
|
gridColumnsDesktop: 3,
|
|
134
152
|
color: 'background',
|
|
135
|
-
colorChecked: 'main1'
|
|
153
|
+
colorChecked: 'main1',
|
|
154
|
+
disabled: false
|
|
136
155
|
};
|
|
137
|
-
|
|
156
|
+
|
|
157
|
+
var _default = /*#__PURE__*/(0, React.memo)(ChoicesInput);
|
|
158
|
+
|
|
138
159
|
exports.default = _default;
|
|
@@ -38,7 +38,8 @@ var Choice = _ref => {
|
|
|
38
38
|
labelStyle,
|
|
39
39
|
value,
|
|
40
40
|
multiple,
|
|
41
|
-
validate
|
|
41
|
+
validate,
|
|
42
|
+
disabled
|
|
42
43
|
} = _ref;
|
|
43
44
|
var [field] = (0, _formik.useField)({
|
|
44
45
|
name,
|
|
@@ -52,7 +53,8 @@ var Choice = _ref => {
|
|
|
52
53
|
id: id,
|
|
53
54
|
name: name
|
|
54
55
|
}, field, {
|
|
55
|
-
value: value
|
|
56
|
+
value: value,
|
|
57
|
+
disabled: disabled
|
|
56
58
|
})), /*#__PURE__*/React.createElement("label", {
|
|
57
59
|
htmlFor: id,
|
|
58
60
|
className: labelClassName,
|
|
@@ -109,7 +111,12 @@ Choice.propTypes = {
|
|
|
109
111
|
/**
|
|
110
112
|
* The input field validator function
|
|
111
113
|
*/
|
|
112
|
-
validate: _propTypes.default.func
|
|
114
|
+
validate: _propTypes.default.func,
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Whether the radio or checkbox choice should be disabled
|
|
118
|
+
*/
|
|
119
|
+
disabled: _propTypes.default.bool
|
|
113
120
|
};
|
|
114
121
|
var _default = Choice;
|
|
115
122
|
exports.default = _default;
|
|
@@ -9,39 +9,42 @@ $default-padding:var(--u, 1em);
|
|
|
9
9
|
$default-transition:all .3s;
|
|
10
10
|
|
|
11
11
|
.#{bem.$base}.choices-input {
|
|
12
|
-
display: grid;
|
|
13
|
-
gap: $default-grid-gap;
|
|
14
|
-
grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
.choice {
|
|
21
|
-
display: flex;
|
|
22
|
-
|
|
23
|
-
input {
|
|
24
|
-
opacity: 0;
|
|
25
|
-
position: absolute;
|
|
26
|
-
visibility: none;
|
|
27
|
-
z-index: -1;
|
|
28
|
-
}
|
|
13
|
+
.choices {
|
|
14
|
+
display: grid;
|
|
15
|
+
gap: $default-grid-gap;
|
|
16
|
+
grid-template-columns: repeat(var(--grid-columns-mobile), 1fr);
|
|
29
17
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
border-radius: var(--theme-border-radius);
|
|
33
|
-
color: var(--on-x);
|
|
34
|
-
display: block;
|
|
35
|
-
height: 100%;
|
|
36
|
-
padding: $default-padding;
|
|
37
|
-
transition: $default-transition;
|
|
38
|
-
width: 100%;
|
|
39
|
-
cursor: pointer;
|
|
18
|
+
@include mixins.media($from:$sm-md) {
|
|
19
|
+
grid-template-columns: repeat(var(--grid-columns-desktop), 1fr);
|
|
40
20
|
}
|
|
41
21
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
22
|
+
.choice {
|
|
23
|
+
display: flex;
|
|
24
|
+
|
|
25
|
+
input {
|
|
26
|
+
opacity: 0;
|
|
27
|
+
position: absolute;
|
|
28
|
+
visibility: none;
|
|
29
|
+
z-index: -1;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
label {
|
|
33
|
+
background: var(--x);
|
|
34
|
+
border-radius: var(--theme-border-radius);
|
|
35
|
+
color: var(--on-x);
|
|
36
|
+
display: block;
|
|
37
|
+
height: 100%;
|
|
38
|
+
padding: $default-padding;
|
|
39
|
+
transition: $default-transition;
|
|
40
|
+
width: 100%;
|
|
41
|
+
cursor: pointer;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
input:checked + label {
|
|
45
|
+
background: var(--y);
|
|
46
|
+
color: var(--on-y);
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
50
|
}
|
|
@@ -37,7 +37,8 @@ var SelectInput = _ref => {
|
|
|
37
37
|
style,
|
|
38
38
|
name,
|
|
39
39
|
label,
|
|
40
|
-
options
|
|
40
|
+
options,
|
|
41
|
+
disabled // ...otherProps
|
|
41
42
|
|
|
42
43
|
} = _ref;
|
|
43
44
|
(0, React.useLayoutEffect)(() => {
|
|
@@ -55,7 +56,8 @@ var SelectInput = _ref => {
|
|
|
55
56
|
}, label), /*#__PURE__*/React.createElement("select", _extends({
|
|
56
57
|
className: "input v25 pv-v"
|
|
57
58
|
}, field, {
|
|
58
|
-
id: name
|
|
59
|
+
id: name,
|
|
60
|
+
disabled: disabled
|
|
59
61
|
}), options.map(option => {
|
|
60
62
|
// i.e if option is a string like "blah", return { value: "blah", label: "blah" }
|
|
61
63
|
var newOption = typeof option === 'string' ? {
|
|
@@ -103,9 +105,17 @@ SelectInput.propTypes = {
|
|
|
103
105
|
options: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({
|
|
104
106
|
value: _propTypes.default.string,
|
|
105
107
|
label: _propTypes.default.string
|
|
106
|
-
})]))
|
|
108
|
+
})])),
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Whether the select input should be disabled
|
|
112
|
+
*/
|
|
113
|
+
disabled: _propTypes.default.bool
|
|
107
114
|
};
|
|
108
|
-
SelectInput.defaultProps = {
|
|
115
|
+
SelectInput.defaultProps = {
|
|
116
|
+
disabled: false
|
|
109
117
|
};
|
|
110
|
-
|
|
118
|
+
|
|
119
|
+
var _default = /*#__PURE__*/(0, React.memo)(SelectInput);
|
|
120
|
+
|
|
111
121
|
exports.default = _default;
|