@pareto-engineering/design-system 4.0.0-alpha.61 → 4.0.0-alpha.63
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/cjs/a/TextSteps/TextSteps.js +4 -4
- package/dist/cjs/a/TextSteps/styles.scss +1 -1
- package/dist/cjs/f/FormInput/FormInput.js +43 -13
- package/dist/cjs/f/common/V2/Description/Description.js +76 -0
- package/dist/cjs/f/common/V2/Description/index.js +13 -0
- package/dist/cjs/f/common/V2/Description/styles.scss +10 -0
- package/dist/cjs/f/common/V2/Label/Label.js +84 -0
- package/dist/cjs/f/common/V2/Label/index.js +13 -0
- package/dist/cjs/f/common/V2/Label/styles.scss +9 -0
- package/dist/cjs/f/common/V2/index.js +19 -0
- package/dist/cjs/f/common/index.js +12 -0
- package/dist/cjs/f/fields/V2/Checkbox/Checkbox.js +122 -0
- package/dist/cjs/f/fields/V2/Checkbox/index.js +13 -0
- package/dist/cjs/f/fields/V2/Checkbox/styles.scss +16 -0
- package/dist/cjs/f/fields/V2/ChoicesInput/ChoicesInput.js +154 -0
- package/dist/cjs/f/fields/V2/ChoicesInput/common/Choice/Choice.js +104 -0
- package/dist/cjs/f/fields/V2/ChoicesInput/common/Choice/index.js +13 -0
- package/dist/cjs/f/fields/V2/ChoicesInput/common/index.js +12 -0
- package/dist/cjs/f/fields/V2/ChoicesInput/index.js +13 -0
- package/dist/cjs/f/fields/V2/ChoicesInput/styles.scss +79 -0
- package/dist/cjs/f/fields/V2/EditorInput/EditorInput.js +197 -0
- package/dist/cjs/f/fields/V2/EditorInput/common/Toolbar.js +257 -0
- package/dist/cjs/f/fields/V2/EditorInput/common/TreeViewPlugin.js +18 -0
- package/dist/cjs/f/fields/V2/EditorInput/common/index.js +20 -0
- package/dist/cjs/f/fields/V2/EditorInput/index.js +13 -0
- package/dist/cjs/f/fields/V2/EditorInput/styles.scss +149 -0
- package/dist/cjs/f/fields/V2/LinkInput/LinkInput.js +156 -0
- package/dist/cjs/f/fields/V2/LinkInput/index.js +13 -0
- package/dist/cjs/f/fields/V2/LinkInput/styles.scss +90 -0
- package/dist/cjs/f/fields/V2/QueryChoices/QueryChoices.js +137 -0
- package/dist/cjs/f/fields/V2/QueryChoices/index.js +13 -0
- package/dist/cjs/f/fields/V2/QueryCombobox/QueryCombobox.js +229 -0
- package/dist/cjs/f/fields/V2/QueryCombobox/common/Combobox/Combobox.js +236 -0
- package/dist/cjs/f/fields/V2/QueryCombobox/common/Combobox/index.js +13 -0
- package/dist/cjs/f/fields/V2/QueryCombobox/common/Menu/Menu.js +83 -0
- package/dist/cjs/f/fields/V2/QueryCombobox/common/Menu/index.js +13 -0
- package/dist/cjs/f/fields/V2/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +300 -0
- package/dist/cjs/f/fields/V2/QueryCombobox/common/MultipleCombobox/index.js +13 -0
- package/dist/cjs/f/fields/V2/QueryCombobox/common/index.js +26 -0
- package/dist/cjs/f/fields/V2/QueryCombobox/index.js +13 -0
- package/dist/cjs/f/fields/V2/QueryCombobox/styles.scss +127 -0
- package/dist/cjs/f/fields/V2/QuerySelect/QuerySelect.js +198 -0
- package/dist/cjs/f/fields/V2/QuerySelect/index.js +13 -0
- package/dist/cjs/f/fields/V2/RatingsInput/RatingsInput.js +130 -0
- package/dist/cjs/f/fields/V2/RatingsInput/common/Rating/Rating.js +117 -0
- package/dist/cjs/f/fields/V2/RatingsInput/common/Rating/index.js +13 -0
- package/dist/cjs/f/fields/V2/RatingsInput/common/index.js +12 -0
- package/dist/cjs/f/fields/V2/RatingsInput/index.js +13 -0
- package/dist/cjs/f/fields/V2/RatingsInput/styles.scss +48 -0
- package/dist/cjs/f/fields/V2/SelectInput/SelectInput.js +154 -0
- package/dist/cjs/f/fields/V2/SelectInput/index.js +13 -0
- package/dist/cjs/f/fields/V2/SelectInput/styles.scss +87 -0
- package/dist/cjs/f/fields/V2/TextInput/TextInput.js +155 -0
- package/dist/cjs/f/fields/V2/TextInput/index.js +13 -0
- package/dist/cjs/f/fields/V2/TextInput/styles.scss +78 -0
- package/dist/cjs/f/fields/V2/TextareaInput/TextareaInput.js +152 -0
- package/dist/cjs/f/fields/V2/TextareaInput/index.js +13 -0
- package/dist/cjs/f/fields/V2/TextareaInput/styles.scss +53 -0
- package/dist/cjs/f/fields/V2/index.js +82 -0
- package/dist/cjs/f/fields/index.js +26 -1
- package/dist/es/a/TextSteps/TextSteps.js +4 -4
- package/dist/es/a/TextSteps/styles.scss +1 -1
- package/dist/es/f/FormInput/FormInput.js +33 -3
- package/dist/es/f/common/V2/Description/Description.js +68 -0
- package/dist/es/f/common/V2/Description/index.js +2 -0
- package/dist/es/f/common/V2/Description/styles.scss +10 -0
- package/dist/es/f/common/V2/Label/Label.js +76 -0
- package/dist/es/f/common/V2/Label/index.js +2 -0
- package/dist/es/f/common/V2/Label/styles.scss +9 -0
- package/dist/es/f/common/V2/index.js +2 -0
- package/dist/es/f/common/index.js +2 -1
- package/dist/es/f/fields/V2/Checkbox/Checkbox.js +114 -0
- package/dist/es/f/fields/V2/Checkbox/index.js +2 -0
- package/dist/es/f/fields/V2/Checkbox/styles.scss +16 -0
- package/dist/es/f/fields/V2/ChoicesInput/ChoicesInput.js +148 -0
- package/dist/es/f/fields/V2/ChoicesInput/common/Choice/Choice.js +97 -0
- package/dist/es/f/fields/V2/ChoicesInput/common/Choice/index.js +2 -0
- package/dist/es/f/fields/V2/ChoicesInput/common/index.js +1 -0
- package/dist/es/f/fields/V2/ChoicesInput/index.js +2 -0
- package/dist/es/f/fields/V2/ChoicesInput/styles.scss +79 -0
- package/dist/es/f/fields/V2/EditorInput/EditorInput.js +192 -0
- package/dist/es/f/fields/V2/EditorInput/common/Toolbar.js +246 -0
- package/dist/es/f/fields/V2/EditorInput/common/TreeViewPlugin.js +11 -0
- package/dist/es/f/fields/V2/EditorInput/common/index.js +2 -0
- package/dist/es/f/fields/V2/EditorInput/index.js +2 -0
- package/dist/es/f/fields/V2/EditorInput/styles.scss +149 -0
- package/dist/es/f/fields/V2/LinkInput/LinkInput.js +148 -0
- package/dist/es/f/fields/V2/LinkInput/index.js +2 -0
- package/dist/es/f/fields/V2/LinkInput/styles.scss +90 -0
- package/dist/es/f/fields/V2/QueryChoices/QueryChoices.js +126 -0
- package/dist/es/f/fields/V2/QueryChoices/index.js +2 -0
- package/dist/es/f/fields/V2/QueryCombobox/QueryCombobox.js +221 -0
- package/dist/es/f/fields/V2/QueryCombobox/common/Combobox/Combobox.js +229 -0
- package/dist/es/f/fields/V2/QueryCombobox/common/Combobox/index.js +2 -0
- package/dist/es/f/fields/V2/QueryCombobox/common/Menu/Menu.js +73 -0
- package/dist/es/f/fields/V2/QueryCombobox/common/Menu/index.js +2 -0
- package/dist/es/f/fields/V2/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +293 -0
- package/dist/es/f/fields/V2/QueryCombobox/common/MultipleCombobox/index.js +2 -0
- package/dist/es/f/fields/V2/QueryCombobox/common/index.js +3 -0
- package/dist/es/f/fields/V2/QueryCombobox/index.js +2 -0
- package/dist/es/f/fields/V2/QueryCombobox/styles.scss +127 -0
- package/dist/es/f/fields/V2/QuerySelect/QuerySelect.js +186 -0
- package/dist/es/f/fields/V2/QuerySelect/index.js +2 -0
- package/dist/es/f/fields/V2/RatingsInput/RatingsInput.js +124 -0
- package/dist/es/f/fields/V2/RatingsInput/common/Rating/Rating.js +109 -0
- package/dist/es/f/fields/V2/RatingsInput/common/Rating/index.js +2 -0
- package/dist/es/f/fields/V2/RatingsInput/common/index.js +1 -0
- package/dist/es/f/fields/V2/RatingsInput/index.js +2 -0
- package/dist/es/f/fields/V2/RatingsInput/styles.scss +48 -0
- package/dist/es/f/fields/V2/SelectInput/SelectInput.js +146 -0
- package/dist/es/f/fields/V2/SelectInput/index.js +2 -0
- package/dist/es/f/fields/V2/SelectInput/styles.scss +87 -0
- package/dist/es/f/fields/V2/TextInput/TextInput.js +147 -0
- package/dist/es/f/fields/V2/TextInput/index.js +2 -0
- package/dist/es/f/fields/V2/TextInput/styles.scss +78 -0
- package/dist/es/f/fields/V2/TextareaInput/TextareaInput.js +146 -0
- package/dist/es/f/fields/V2/TextareaInput/index.js +2 -0
- package/dist/es/f/fields/V2/TextareaInput/styles.scss +53 -0
- package/dist/es/f/fields/V2/index.js +11 -0
- package/dist/es/f/fields/index.js +2 -1
- package/package.json +3 -3
- package/src/stories/f/v2/Checkbox.stories.jsx +102 -0
- package/src/stories/f/v2/ChoicesInput.stories.jsx +139 -0
- package/src/stories/f/v2/EditorInput.stories.jsx +81 -0
- package/src/stories/f/v2/LinkInput.stories.jsx +93 -0
- package/src/stories/f/v2/QueryChoices.stories.jsx +144 -0
- package/src/stories/f/v2/QueryCombobox.stories.jsx +301 -0
- package/src/stories/f/v2/QuerySelect.stories.jsx +150 -0
- package/src/stories/f/v2/RatingsInput.stories.jsx +77 -0
- package/src/stories/f/v2/SelectInput.stories.jsx +95 -0
- package/src/stories/f/v2/TextInput.stories.jsx +120 -0
- package/src/stories/f/v2/TextareaInput.stories.jsx +107 -0
- package/src/stories/f/v2/__generated__/FormInputAllTaskStatusesQuery.graphql.js +122 -0
- package/src/stories/f/v2/__generated__/FormInputAllTeamsQuery.graphql.js +139 -0
- package/src/stories/f/v2/__generated__/QueryChoicesAllTaskStatusesQuery.graphql.js +122 -0
- package/src/stories/f/v2/__generated__/QueryComboboxAllTeamsQuery.graphql.js +139 -0
- package/src/stories/f/v2/__generated__/QuerySelectAllTaskStatusesQuery.graphql.js +122 -0
- package/src/ui/a/TextSteps/TextSteps.jsx +4 -4
- package/src/ui/a/TextSteps/styles.scss +1 -1
- package/src/ui/f/FormInput/FormInput.jsx +57 -12
- package/src/ui/f/common/V2/Description/Description.jsx +94 -0
- package/src/ui/f/common/V2/Description/index.js +2 -0
- package/src/ui/f/common/V2/Description/styles.scss +10 -0
- package/src/ui/f/common/V2/Label/Label.jsx +102 -0
- package/src/ui/f/common/V2/Label/index.js +2 -0
- package/src/ui/f/common/V2/Label/styles.scss +9 -0
- package/src/ui/f/common/V2/index.js +2 -0
- package/src/ui/f/common/index.js +1 -0
- package/src/ui/f/fields/V2/Checkbox/Checkbox.jsx +146 -0
- package/src/ui/f/fields/V2/Checkbox/index.js +2 -0
- package/src/ui/f/fields/V2/Checkbox/styles.scss +16 -0
- package/src/ui/f/fields/V2/ChoicesInput/ChoicesInput.jsx +183 -0
- package/src/ui/f/fields/V2/ChoicesInput/common/Choice/Choice.jsx +125 -0
- package/src/ui/f/fields/V2/ChoicesInput/common/Choice/index.js +2 -0
- package/src/ui/f/fields/V2/ChoicesInput/common/index.js +1 -0
- package/src/ui/f/fields/V2/ChoicesInput/index.js +2 -0
- package/src/ui/f/fields/V2/ChoicesInput/styles.scss +79 -0
- package/src/ui/f/fields/V2/EditorInput/EditorInput.jsx +244 -0
- package/src/ui/f/fields/V2/EditorInput/common/Toolbar.jsx +356 -0
- package/src/ui/f/fields/V2/EditorInput/common/TreeViewPlugin.jsx +16 -0
- package/src/ui/f/fields/V2/EditorInput/common/index.jsx +2 -0
- package/src/ui/f/fields/V2/EditorInput/index.js +2 -0
- package/src/ui/f/fields/V2/EditorInput/styles.scss +149 -0
- package/src/ui/f/fields/V2/LinkInput/LinkInput.jsx +187 -0
- package/src/ui/f/fields/V2/LinkInput/index.js +2 -0
- package/src/ui/f/fields/V2/LinkInput/styles.scss +90 -0
- package/src/ui/f/fields/V2/QueryChoices/QueryChoices.jsx +153 -0
- package/src/ui/f/fields/V2/QueryChoices/index.js +2 -0
- package/src/ui/f/fields/V2/QueryCombobox/QueryCombobox.jsx +254 -0
- package/src/ui/f/fields/V2/QueryCombobox/common/Combobox/Combobox.jsx +276 -0
- package/src/ui/f/fields/V2/QueryCombobox/common/Combobox/index.js +2 -0
- package/src/ui/f/fields/V2/QueryCombobox/common/Menu/Menu.jsx +103 -0
- package/src/ui/f/fields/V2/QueryCombobox/common/Menu/index.js +2 -0
- package/src/ui/f/fields/V2/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +362 -0
- package/src/ui/f/fields/V2/QueryCombobox/common/MultipleCombobox/index.js +2 -0
- package/src/ui/f/fields/V2/QueryCombobox/common/index.js +3 -0
- package/src/ui/f/fields/V2/QueryCombobox/index.js +2 -0
- package/src/ui/f/fields/V2/QueryCombobox/styles.scss +127 -0
- package/src/ui/f/fields/V2/QuerySelect/QuerySelect.jsx +220 -0
- package/src/ui/f/fields/V2/QuerySelect/index.js +2 -0
- package/src/ui/f/fields/V2/RatingsInput/RatingsInput.jsx +152 -0
- package/src/ui/f/fields/V2/RatingsInput/common/Rating/Rating.jsx +142 -0
- package/src/ui/f/fields/V2/RatingsInput/common/Rating/index.js +2 -0
- package/src/ui/f/fields/V2/RatingsInput/common/index.js +1 -0
- package/src/ui/f/fields/V2/RatingsInput/index.js +2 -0
- package/src/ui/f/fields/V2/RatingsInput/styles.scss +48 -0
- package/src/ui/f/fields/V2/SelectInput/SelectInput.jsx +187 -0
- package/src/ui/f/fields/V2/SelectInput/index.js +2 -0
- package/src/ui/f/fields/V2/SelectInput/styles.scss +87 -0
- package/src/ui/f/fields/V2/TextInput/TextInput.jsx +192 -0
- package/src/ui/f/fields/V2/TextInput/index.js +2 -0
- package/src/ui/f/fields/V2/TextInput/styles.scss +78 -0
- package/src/ui/f/fields/V2/TextareaInput/TextareaInput.jsx +180 -0
- package/src/ui/f/fields/V2/TextareaInput/index.js +2 -0
- package/src/ui/f/fields/V2/TextareaInput/styles.scss +53 -0
- package/src/ui/f/fields/V2/index.js +11 -0
- package/src/ui/f/fields/index.js +1 -0
- package/tests/__snapshots__/Storyshots.test.js.snap +5910 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/* @pareto-engineering/generator-front 1.0.12 */
|
|
2
|
+
|
|
3
|
+
@use "@pareto-engineering/bem";
|
|
4
|
+
@use "@pareto-engineering/styles/src/mixins";
|
|
5
|
+
@use "@pareto-engineering/styles/src/globals" as *;
|
|
6
|
+
|
|
7
|
+
$default-padding: .55em .75em;
|
|
8
|
+
$default-symbol-left: 1em;
|
|
9
|
+
$default-padding-with-symbol:
|
|
10
|
+
.55em
|
|
11
|
+
calc($default-symbol-left - 1em)
|
|
12
|
+
.55em
|
|
13
|
+
calc($default-symbol-left + 1em);
|
|
14
|
+
$default-input-border-radius: var(--theme-default-input-border-radius);
|
|
15
|
+
$default-border: var(--theme-default-input-border);
|
|
16
|
+
$hover-border: var(--theme-hover-input-border);
|
|
17
|
+
$focus-border: var(--theme-focus-input-border);
|
|
18
|
+
$default-background: var(--background-inputs);
|
|
19
|
+
$disabled-background: var(--background-inputs-30);
|
|
20
|
+
|
|
21
|
+
.#{bem.$base}.link-input {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
position: relative;
|
|
25
|
+
|
|
26
|
+
> .#{bem.$base}.form-label {
|
|
27
|
+
margin-bottom: var(--gap);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&.has-symbol {
|
|
31
|
+
&::before {
|
|
32
|
+
color: var(--y);
|
|
33
|
+
content: var(--symbol);
|
|
34
|
+
left: $default-symbol-left;
|
|
35
|
+
position: absolute;
|
|
36
|
+
top: 50%;
|
|
37
|
+
transform: translate(-50%, -50%);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
input {
|
|
41
|
+
padding: $default-padding-with-symbol;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
> .input-link-wrapper {
|
|
46
|
+
display: flex;
|
|
47
|
+
gap: calc(var(--gap) / 2);
|
|
48
|
+
|
|
49
|
+
> a {
|
|
50
|
+
align-self: center;
|
|
51
|
+
border: 1px solid var(--interactive);
|
|
52
|
+
border-radius: var(--theme-default-input-border-radius);
|
|
53
|
+
padding: .5em;
|
|
54
|
+
|
|
55
|
+
&:hover {
|
|
56
|
+
background-color: var(--interactive);
|
|
57
|
+
color: var(--on-interactive);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
> input {
|
|
62
|
+
background-color: $default-background;
|
|
63
|
+
border: $default-border;
|
|
64
|
+
border-radius: $default-input-border-radius;
|
|
65
|
+
color: var(--y);
|
|
66
|
+
outline: none;
|
|
67
|
+
padding: $default-padding;
|
|
68
|
+
width: 100%;
|
|
69
|
+
|
|
70
|
+
&::placeholder {
|
|
71
|
+
color: var(--metadata);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&:disabled {
|
|
75
|
+
background-color: $disabled-background;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&:not(:disabled) {
|
|
79
|
+
&:hover,
|
|
80
|
+
&:active {
|
|
81
|
+
border: $hover-border;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&:focus {
|
|
85
|
+
border: $focus-border;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var React = _react;
|
|
9
|
+
var _reactRelay = require("react-relay");
|
|
10
|
+
var _formik = require("formik");
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _ChoicesInput = require("../ChoicesInput");
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); } /* @pareto-engineering/generator-front 1.0.12 */
|
|
17
|
+
/**
|
|
18
|
+
* This is the component description.
|
|
19
|
+
*/
|
|
20
|
+
const QueryChoices = _ref => {
|
|
21
|
+
let {
|
|
22
|
+
name,
|
|
23
|
+
optionsKeyMap,
|
|
24
|
+
query,
|
|
25
|
+
variables,
|
|
26
|
+
validate,
|
|
27
|
+
loadingOption,
|
|
28
|
+
extraVariables,
|
|
29
|
+
...otherProps
|
|
30
|
+
} = _ref;
|
|
31
|
+
const [,, helpers] = (0, _formik.useField)({
|
|
32
|
+
name,
|
|
33
|
+
validate
|
|
34
|
+
});
|
|
35
|
+
const {
|
|
36
|
+
setError
|
|
37
|
+
} = helpers;
|
|
38
|
+
const environment = (0, _reactRelay.useRelayEnvironment)();
|
|
39
|
+
const [isFetching, setIsFetching] = (0, _react.useState)(false);
|
|
40
|
+
const [options, setOptions] = (0, _react.useState)([loadingOption]);
|
|
41
|
+
const {
|
|
42
|
+
graphql,
|
|
43
|
+
accessor
|
|
44
|
+
} = query;
|
|
45
|
+
const getOptions = () => {
|
|
46
|
+
if (isFetching) return;
|
|
47
|
+
let searchVariables = variables;
|
|
48
|
+
if (extraVariables) {
|
|
49
|
+
searchVariables = {
|
|
50
|
+
...variables,
|
|
51
|
+
...extraVariables
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
(0, _reactRelay.fetchQuery)(environment, graphql, searchVariables).subscribe({
|
|
55
|
+
start: () => {
|
|
56
|
+
setIsFetching(true);
|
|
57
|
+
},
|
|
58
|
+
complete: () => {
|
|
59
|
+
setIsFetching(false);
|
|
60
|
+
},
|
|
61
|
+
error: fetchError => {
|
|
62
|
+
setIsFetching(false);
|
|
63
|
+
if (setError) setError(fetchError.message);
|
|
64
|
+
},
|
|
65
|
+
next: data => {
|
|
66
|
+
setOptions([...data[accessor].edges.map(_ref2 => {
|
|
67
|
+
let {
|
|
68
|
+
node
|
|
69
|
+
} = _ref2;
|
|
70
|
+
return {
|
|
71
|
+
value: node[optionsKeyMap.value],
|
|
72
|
+
label: optionsKeyMap.getLabel(node)
|
|
73
|
+
};
|
|
74
|
+
})]);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
(0, _react.useEffect)(() => {
|
|
79
|
+
getOptions();
|
|
80
|
+
}, [variables]);
|
|
81
|
+
return /*#__PURE__*/React.createElement(_ChoicesInput.ChoicesInput, _extends({
|
|
82
|
+
name: name,
|
|
83
|
+
validate: validate,
|
|
84
|
+
options: options
|
|
85
|
+
}, otherProps));
|
|
86
|
+
};
|
|
87
|
+
QueryChoices.propTypes = {
|
|
88
|
+
/**
|
|
89
|
+
* The choices name
|
|
90
|
+
*/
|
|
91
|
+
name: _propTypes.default.string.isRequired,
|
|
92
|
+
/**
|
|
93
|
+
* The select option keys to be used to map the data to the select options.
|
|
94
|
+
* i.e `{ value: 'id', label: 'name' }`
|
|
95
|
+
*/
|
|
96
|
+
optionsKeyMap: _propTypes.default.shape({
|
|
97
|
+
value: _propTypes.default.string.isRequired,
|
|
98
|
+
getLabel: _propTypes.default.func.isRequired
|
|
99
|
+
}).isRequired,
|
|
100
|
+
/**
|
|
101
|
+
* The graphql query to fetch the options and the accessor to destructure the results from
|
|
102
|
+
*/
|
|
103
|
+
query: _propTypes.default.shape({
|
|
104
|
+
accessor: _propTypes.default.string,
|
|
105
|
+
graphql: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]).isRequired
|
|
106
|
+
}),
|
|
107
|
+
/**
|
|
108
|
+
* The variables that might be required to be used in the query to fetch
|
|
109
|
+
* select options.
|
|
110
|
+
*/
|
|
111
|
+
variables: _propTypes.default.objectOf(_propTypes.default.string),
|
|
112
|
+
/**
|
|
113
|
+
* The option to displayed when the select options are being fetched
|
|
114
|
+
*/
|
|
115
|
+
loadingOption: _propTypes.default.shape({
|
|
116
|
+
value: _propTypes.default.string.isRequired,
|
|
117
|
+
label: _propTypes.default.string.isRequired,
|
|
118
|
+
disabled: _propTypes.default.bool.isRequired
|
|
119
|
+
}),
|
|
120
|
+
/**
|
|
121
|
+
* The input field validator function
|
|
122
|
+
*/
|
|
123
|
+
validate: _propTypes.default.string,
|
|
124
|
+
/**
|
|
125
|
+
* The extra variables that might be required to be used in the query to fetch
|
|
126
|
+
* select options.
|
|
127
|
+
*/
|
|
128
|
+
extraVariables: _propTypes.default.objectOf(_propTypes.default.string)
|
|
129
|
+
};
|
|
130
|
+
QueryChoices.defaultProps = {
|
|
131
|
+
loadingOption: {
|
|
132
|
+
value: '',
|
|
133
|
+
label: 'Fetching Options',
|
|
134
|
+
disabled: true
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
var _default = exports.default = QueryChoices;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "QueryChoices", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _QueryChoices.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _QueryChoices = _interopRequireDefault(require("./QueryChoices"));
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var React = _react;
|
|
9
|
+
var _formik = require("formik");
|
|
10
|
+
var _reactRelay = require("react-relay");
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _common = require("./common");
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /* @pareto-engineering/generator-front 1.0.12 */ // Local Definitions
|
|
16
|
+
/**
|
|
17
|
+
* This is the component description.
|
|
18
|
+
*/
|
|
19
|
+
const QueryCombobox = _ref => {
|
|
20
|
+
let {
|
|
21
|
+
id,
|
|
22
|
+
style,
|
|
23
|
+
className,
|
|
24
|
+
query,
|
|
25
|
+
multiple,
|
|
26
|
+
name,
|
|
27
|
+
label,
|
|
28
|
+
labelColor,
|
|
29
|
+
color,
|
|
30
|
+
optional,
|
|
31
|
+
description,
|
|
32
|
+
disabled,
|
|
33
|
+
debounceMs,
|
|
34
|
+
searchVariable,
|
|
35
|
+
extraVariables,
|
|
36
|
+
optionsKeyMap,
|
|
37
|
+
minLength,
|
|
38
|
+
transformSearch,
|
|
39
|
+
validate,
|
|
40
|
+
placeholder,
|
|
41
|
+
promptCreateNewOption
|
|
42
|
+
// ...otherProps
|
|
43
|
+
} = _ref;
|
|
44
|
+
(0, _react.useInsertionEffect)(() => {
|
|
45
|
+
Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
|
|
46
|
+
}, []);
|
|
47
|
+
const [, meta, helpers] = (0, _formik.useField)({
|
|
48
|
+
name,
|
|
49
|
+
validate
|
|
50
|
+
});
|
|
51
|
+
const {
|
|
52
|
+
setValue,
|
|
53
|
+
setError
|
|
54
|
+
} = helpers;
|
|
55
|
+
const {
|
|
56
|
+
value
|
|
57
|
+
} = meta;
|
|
58
|
+
const environment = (0, _reactRelay.useRelayEnvironment)();
|
|
59
|
+
const [isFetching, setIsFetching] = (0, _react.useState)(false);
|
|
60
|
+
const [options, setOptions] = (0, _react.useState)([]);
|
|
61
|
+
const {
|
|
62
|
+
graphql,
|
|
63
|
+
accessor
|
|
64
|
+
} = query;
|
|
65
|
+
const getOptions = inputValue => {
|
|
66
|
+
if (isFetching) return;
|
|
67
|
+
let variables = {
|
|
68
|
+
[searchVariable]: inputValue
|
|
69
|
+
};
|
|
70
|
+
if (extraVariables) {
|
|
71
|
+
variables = {
|
|
72
|
+
...variables,
|
|
73
|
+
...extraVariables
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
(0, _reactRelay.fetchQuery)(environment, graphql, variables).subscribe({
|
|
77
|
+
start: () => {
|
|
78
|
+
setIsFetching(true);
|
|
79
|
+
},
|
|
80
|
+
complete: () => {
|
|
81
|
+
setIsFetching(false);
|
|
82
|
+
},
|
|
83
|
+
error: fetchError => {
|
|
84
|
+
setIsFetching(false);
|
|
85
|
+
if (setError) setError(fetchError.message);
|
|
86
|
+
},
|
|
87
|
+
next: data => {
|
|
88
|
+
setOptions(data[accessor].edges.map(_ref2 => {
|
|
89
|
+
let {
|
|
90
|
+
node
|
|
91
|
+
} = _ref2;
|
|
92
|
+
return {
|
|
93
|
+
value: node[optionsKeyMap.value],
|
|
94
|
+
label: optionsKeyMap.getLabel(node)
|
|
95
|
+
};
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
const comboboxProps = {
|
|
101
|
+
id,
|
|
102
|
+
style,
|
|
103
|
+
options,
|
|
104
|
+
getOptions,
|
|
105
|
+
setOptions,
|
|
106
|
+
debounceMs,
|
|
107
|
+
disabled,
|
|
108
|
+
name,
|
|
109
|
+
label,
|
|
110
|
+
labelColor,
|
|
111
|
+
optional,
|
|
112
|
+
description,
|
|
113
|
+
setValue,
|
|
114
|
+
value,
|
|
115
|
+
color,
|
|
116
|
+
isFetching,
|
|
117
|
+
className,
|
|
118
|
+
minLength,
|
|
119
|
+
transformSearch,
|
|
120
|
+
placeholder,
|
|
121
|
+
promptCreateNewOption
|
|
122
|
+
};
|
|
123
|
+
const Input = multiple ? _common.MultipleCombobox : _common.Combobox;
|
|
124
|
+
return /*#__PURE__*/React.createElement(Input, comboboxProps);
|
|
125
|
+
};
|
|
126
|
+
QueryCombobox.propTypes = {
|
|
127
|
+
/**
|
|
128
|
+
* The HTML id for this element
|
|
129
|
+
*/
|
|
130
|
+
id: _propTypes.default.string,
|
|
131
|
+
/**
|
|
132
|
+
* The HTML class names for this element
|
|
133
|
+
*/
|
|
134
|
+
className: _propTypes.default.string,
|
|
135
|
+
/**
|
|
136
|
+
* The React-written, css properties for this element.
|
|
137
|
+
*/
|
|
138
|
+
style: _propTypes.default.objectOf(_propTypes.default.string),
|
|
139
|
+
/**
|
|
140
|
+
* The name of the custom select input
|
|
141
|
+
*/
|
|
142
|
+
name: _propTypes.default.string,
|
|
143
|
+
/**
|
|
144
|
+
* The label of the custom select input
|
|
145
|
+
*/
|
|
146
|
+
label: _propTypes.default.string,
|
|
147
|
+
/**
|
|
148
|
+
* The label color of the custom select input
|
|
149
|
+
*/
|
|
150
|
+
labelColor: _propTypes.default.string,
|
|
151
|
+
/**
|
|
152
|
+
* The custom select input description
|
|
153
|
+
*/
|
|
154
|
+
description: _propTypes.default.string,
|
|
155
|
+
/**
|
|
156
|
+
* Whether the input should be disabled
|
|
157
|
+
*/
|
|
158
|
+
disabled: _propTypes.default.bool,
|
|
159
|
+
/**
|
|
160
|
+
* The base color of the tiles
|
|
161
|
+
*/
|
|
162
|
+
color: _propTypes.default.string,
|
|
163
|
+
/**
|
|
164
|
+
* The debounce time in milliseconds
|
|
165
|
+
*/
|
|
166
|
+
debounceMs: _propTypes.default.number,
|
|
167
|
+
/**
|
|
168
|
+
* The graphql query to fetch the options and the accessor to destructure the results from
|
|
169
|
+
*/
|
|
170
|
+
query: _propTypes.default.shape({
|
|
171
|
+
accessor: _propTypes.default.string,
|
|
172
|
+
graphql: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]).isRequired
|
|
173
|
+
}),
|
|
174
|
+
/**
|
|
175
|
+
* The extra variables required to be used in the query.
|
|
176
|
+
*/
|
|
177
|
+
extraVariables: _propTypes.default.objectOf(_propTypes.default.string),
|
|
178
|
+
/**
|
|
179
|
+
* The select option keys to be used to map the data to the select options.
|
|
180
|
+
* i.e `{ value: 'id', label: 'name' }`
|
|
181
|
+
*/
|
|
182
|
+
optionsKeyMap: _propTypes.default.shape({
|
|
183
|
+
value: _propTypes.default.string.isRequired,
|
|
184
|
+
getLabel: _propTypes.default.func.isRequired
|
|
185
|
+
}),
|
|
186
|
+
/**
|
|
187
|
+
* Whether to allow multiple items selection
|
|
188
|
+
*/
|
|
189
|
+
multiple: _propTypes.default.bool,
|
|
190
|
+
/**
|
|
191
|
+
* The variable to be used to search the data
|
|
192
|
+
*/
|
|
193
|
+
searchVariable: _propTypes.default.string,
|
|
194
|
+
/**
|
|
195
|
+
* The minimum length of the search input to start fetching the options
|
|
196
|
+
*/
|
|
197
|
+
minLength: _propTypes.default.number,
|
|
198
|
+
/**
|
|
199
|
+
* The function to transform the search input
|
|
200
|
+
*/
|
|
201
|
+
transformSearch: _propTypes.default.func,
|
|
202
|
+
/**
|
|
203
|
+
* The query combobox field validator function
|
|
204
|
+
*/
|
|
205
|
+
validate: _propTypes.default.func,
|
|
206
|
+
/*
|
|
207
|
+
* Whether the input is optional or not
|
|
208
|
+
*/
|
|
209
|
+
optional: _propTypes.default.bool,
|
|
210
|
+
/**
|
|
211
|
+
* Whether to prompt the user to create a new option if the search input
|
|
212
|
+
* does not match any of the options
|
|
213
|
+
*/
|
|
214
|
+
promptCreateNewOption: _propTypes.default.bool
|
|
215
|
+
};
|
|
216
|
+
QueryCombobox.defaultProps = {
|
|
217
|
+
optionsKeyMap: {
|
|
218
|
+
value: 'id',
|
|
219
|
+
getLabel: node => node.name
|
|
220
|
+
},
|
|
221
|
+
multiple: false,
|
|
222
|
+
color: 'interactive',
|
|
223
|
+
searchVariable: 'search',
|
|
224
|
+
transformSearch: search => search,
|
|
225
|
+
minLength: 2,
|
|
226
|
+
disabled: false,
|
|
227
|
+
promptCreateNewOption: false
|
|
228
|
+
};
|
|
229
|
+
var _default = exports.default = QueryCombobox;
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var React = _react;
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _downshift = require("downshift");
|
|
11
|
+
var _exports = _interopRequireDefault(require("@pareto-engineering/bem/exports"));
|
|
12
|
+
var _ = require("../../../../..");
|
|
13
|
+
var _a = require("../../../../../../a");
|
|
14
|
+
var _b = require("../../../../../../b");
|
|
15
|
+
var _common = require("../../../../../common");
|
|
16
|
+
var _Menu = require("../Menu");
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); } /* @pareto-engineering/generator-front 1.0.12 */ // Local Definitions
|
|
21
|
+
const baseClassName = _exports.default.base;
|
|
22
|
+
const componentClassName = 'combobox';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* This is the component description.
|
|
26
|
+
*/
|
|
27
|
+
const Combobox = _ref => {
|
|
28
|
+
let {
|
|
29
|
+
id,
|
|
30
|
+
className: userClassName,
|
|
31
|
+
style,
|
|
32
|
+
label,
|
|
33
|
+
labelColor,
|
|
34
|
+
name,
|
|
35
|
+
options: items,
|
|
36
|
+
getOptions,
|
|
37
|
+
setOptions,
|
|
38
|
+
setValue,
|
|
39
|
+
description,
|
|
40
|
+
value,
|
|
41
|
+
color,
|
|
42
|
+
minLength,
|
|
43
|
+
isFetching,
|
|
44
|
+
transformSearch,
|
|
45
|
+
disabled,
|
|
46
|
+
optional,
|
|
47
|
+
placeholder,
|
|
48
|
+
promptCreateNewOption
|
|
49
|
+
// ...otherProps
|
|
50
|
+
} = _ref;
|
|
51
|
+
const {
|
|
52
|
+
isOpen,
|
|
53
|
+
selectItem,
|
|
54
|
+
selectedItem,
|
|
55
|
+
inputValue,
|
|
56
|
+
setInputValue,
|
|
57
|
+
getLabelProps,
|
|
58
|
+
getMenuProps,
|
|
59
|
+
getInputProps,
|
|
60
|
+
highlightedIndex,
|
|
61
|
+
getComboboxProps,
|
|
62
|
+
getItemProps
|
|
63
|
+
} = (0, _downshift.useCombobox)({
|
|
64
|
+
items,
|
|
65
|
+
initialSelectedItem: value,
|
|
66
|
+
itemToString: item => item ? item.label : '',
|
|
67
|
+
onInputValueChange: _ref2 => {
|
|
68
|
+
let {
|
|
69
|
+
inputValue: searchInputValue
|
|
70
|
+
} = _ref2;
|
|
71
|
+
const transformedInput = transformSearch(searchInputValue);
|
|
72
|
+
if (transformedInput.length > minLength) {
|
|
73
|
+
getOptions(transformedInput);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
(0, _react.useEffect)(() => {
|
|
78
|
+
if (promptCreateNewOption) {
|
|
79
|
+
(0, _common.lookUpInputValueFromFetchedOptions)({
|
|
80
|
+
items,
|
|
81
|
+
inputValue,
|
|
82
|
+
setOptions,
|
|
83
|
+
minLength
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}, [inputValue, items, promptCreateNewOption]);
|
|
87
|
+
|
|
88
|
+
// If the user has selected an item, we'll set the value of the field
|
|
89
|
+
// or if the combobox state has a selected item, we'll set the value to the formik state
|
|
90
|
+
(0, _react.useEffect)(() => {
|
|
91
|
+
if (selectedItem) {
|
|
92
|
+
setValue(selectedItem);
|
|
93
|
+
}
|
|
94
|
+
}, [selectedItem]);
|
|
95
|
+
|
|
96
|
+
// If the formik state has a value, we'll set the selected item to the combobox state
|
|
97
|
+
(0, _react.useEffect)(() => {
|
|
98
|
+
if (value?.value !== selectedItem?.value) {
|
|
99
|
+
selectItem(value);
|
|
100
|
+
}
|
|
101
|
+
}, [value]);
|
|
102
|
+
const parentRef = (0, _react.useRef)(null);
|
|
103
|
+
const resetInputValue = () => setInputValue('');
|
|
104
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
105
|
+
id: id,
|
|
106
|
+
className: [baseClassName, componentClassName, userClassName, `y-${color}`].filter(e => e).join(' '),
|
|
107
|
+
style: style,
|
|
108
|
+
ref: parentRef
|
|
109
|
+
}, getComboboxProps()), /*#__PURE__*/React.createElement(_.FormLabelV2, _extends({}, getLabelProps(), {
|
|
110
|
+
name: name,
|
|
111
|
+
optional: optional,
|
|
112
|
+
color: labelColor
|
|
113
|
+
}), label), /*#__PURE__*/React.createElement("input", _extends({}, getInputProps(), {
|
|
114
|
+
className: "input",
|
|
115
|
+
disabled: disabled,
|
|
116
|
+
placeholder: placeholder
|
|
117
|
+
})), isFetching && /*#__PURE__*/React.createElement(_a.LoadingCircle, {
|
|
118
|
+
className: "x-main"
|
|
119
|
+
}), inputValue.length > minLength && !isFetching && /*#__PURE__*/React.createElement(_b.Button, {
|
|
120
|
+
isSimple: true,
|
|
121
|
+
isCompact: true,
|
|
122
|
+
color: "heading",
|
|
123
|
+
onClick: resetInputValue
|
|
124
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
125
|
+
className: "icon"
|
|
126
|
+
}, "Y")), /*#__PURE__*/React.createElement(_.FormDescriptionV2, {
|
|
127
|
+
className: "s-1",
|
|
128
|
+
description: description,
|
|
129
|
+
name: name
|
|
130
|
+
}), /*#__PURE__*/React.createElement(_a.Popover, {
|
|
131
|
+
isOpen: isOpen,
|
|
132
|
+
parentRef: parentRef
|
|
133
|
+
}, /*#__PURE__*/React.createElement(_Menu.Menu, _extends({
|
|
134
|
+
className: `y-${color}`,
|
|
135
|
+
isOpen: isOpen,
|
|
136
|
+
getItemProps: getItemProps,
|
|
137
|
+
highlightedIndex: highlightedIndex,
|
|
138
|
+
items: items
|
|
139
|
+
}, getMenuProps()))));
|
|
140
|
+
};
|
|
141
|
+
Combobox.propTypes = {
|
|
142
|
+
/**
|
|
143
|
+
* The HTML id for this element
|
|
144
|
+
*/
|
|
145
|
+
id: _propTypes.default.string,
|
|
146
|
+
/**
|
|
147
|
+
* The HTML class names for this element
|
|
148
|
+
*/
|
|
149
|
+
className: _propTypes.default.string,
|
|
150
|
+
/**
|
|
151
|
+
* The React-written, css properties for this element.
|
|
152
|
+
*/
|
|
153
|
+
style: _propTypes.default.objectOf(_propTypes.default.string),
|
|
154
|
+
/**
|
|
155
|
+
* The label of the custom select input
|
|
156
|
+
*/
|
|
157
|
+
label: _propTypes.default.string,
|
|
158
|
+
/**
|
|
159
|
+
* The custom select input options from the backend
|
|
160
|
+
*/
|
|
161
|
+
options: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
162
|
+
value: _propTypes.default.string,
|
|
163
|
+
label: _propTypes.default.string
|
|
164
|
+
})),
|
|
165
|
+
/**
|
|
166
|
+
* The name of the custom select input
|
|
167
|
+
*/
|
|
168
|
+
name: _propTypes.default.string,
|
|
169
|
+
/**
|
|
170
|
+
* The function to fetch the options from the backend
|
|
171
|
+
*/
|
|
172
|
+
getOptions: _propTypes.default.func,
|
|
173
|
+
/**
|
|
174
|
+
* The function to set the value of the custom select input
|
|
175
|
+
*/
|
|
176
|
+
setValue: _propTypes.default.func.isRequired,
|
|
177
|
+
/**
|
|
178
|
+
* The custom select input description
|
|
179
|
+
*/
|
|
180
|
+
description: _propTypes.default.string,
|
|
181
|
+
/**
|
|
182
|
+
* The value of the custom select input
|
|
183
|
+
*/
|
|
184
|
+
value: _propTypes.default.shape({
|
|
185
|
+
value: _propTypes.default.string,
|
|
186
|
+
label: _propTypes.default.string
|
|
187
|
+
}),
|
|
188
|
+
/**
|
|
189
|
+
* The base color of the combobox custom select input
|
|
190
|
+
*/
|
|
191
|
+
color: _propTypes.default.string,
|
|
192
|
+
/**
|
|
193
|
+
* Whether the query getting the combobox options is inFlight
|
|
194
|
+
*/
|
|
195
|
+
isFetching: _propTypes.default.bool.isRequired,
|
|
196
|
+
/**
|
|
197
|
+
* The minimum length of the search input to start fetching the options
|
|
198
|
+
*/
|
|
199
|
+
minLength: _propTypes.default.number,
|
|
200
|
+
/**
|
|
201
|
+
* The function to transform the search input
|
|
202
|
+
*/
|
|
203
|
+
transformSearch: _propTypes.default.func,
|
|
204
|
+
/**
|
|
205
|
+
* Whether the input filed shpuld be disabled
|
|
206
|
+
*/
|
|
207
|
+
disabled: _propTypes.default.bool,
|
|
208
|
+
/**
|
|
209
|
+
* The number of columns the label should span
|
|
210
|
+
*/
|
|
211
|
+
labelSpan: _propTypes.default.number,
|
|
212
|
+
/**
|
|
213
|
+
* The number of columns the input should span
|
|
214
|
+
*/
|
|
215
|
+
inputSpan: _propTypes.default.number,
|
|
216
|
+
/**
|
|
217
|
+
* The number of columns the label should span on desktop
|
|
218
|
+
*/
|
|
219
|
+
desktopLabelSpan: _propTypes.default.number,
|
|
220
|
+
/**
|
|
221
|
+
* The number of columns the input should span on desktop
|
|
222
|
+
*/
|
|
223
|
+
desktopInputSpan: _propTypes.default.number,
|
|
224
|
+
/**
|
|
225
|
+
* Whether the input is optional or not
|
|
226
|
+
*/
|
|
227
|
+
optional: _propTypes.default.bool,
|
|
228
|
+
/**
|
|
229
|
+
* The placeholder text for the input
|
|
230
|
+
*/
|
|
231
|
+
placeholder: _propTypes.default.string
|
|
232
|
+
};
|
|
233
|
+
Combobox.defaultProps = {
|
|
234
|
+
// someProp: false
|
|
235
|
+
};
|
|
236
|
+
var _default = exports.default = Combobox;
|