@startlibs/form 1.0.12 → 1.1.1
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/lib/AutoComplete.mjs +550 -0
- package/lib/AutoComplete.mjs.map +1 -0
- package/lib/Checkbox.mjs +76 -0
- package/lib/Checkbox.mjs.map +1 -0
- package/lib/Combobox.mjs +544 -0
- package/lib/Combobox.mjs.map +1 -0
- package/lib/ComboboxWithCustom.mjs +77 -0
- package/lib/ComboboxWithCustom.mjs.map +1 -0
- package/lib/DatePicker.mjs +625 -0
- package/lib/DatePicker.mjs.map +1 -0
- package/lib/EditableBox.mjs +496 -0
- package/lib/EditableBox.mjs.map +1 -0
- package/lib/Errors.mjs +176 -0
- package/lib/Errors.mjs.map +1 -0
- package/lib/ExpandableBox.mjs +209 -0
- package/lib/ExpandableBox.mjs.map +1 -0
- package/lib/Field.mjs +65 -0
- package/lib/Field.mjs.map +1 -0
- package/lib/FieldBox.mjs +80 -0
- package/lib/FieldBox.mjs.map +1 -0
- package/lib/Form.mjs +322 -0
- package/lib/Form.mjs.map +1 -0
- package/lib/FormValue.mjs +111 -0
- package/lib/FormValue.mjs.map +1 -0
- package/lib/InputboxGroup.mjs +104 -0
- package/lib/InputboxGroup.mjs.map +1 -0
- package/lib/Radiobox.mjs +67 -0
- package/lib/Radiobox.mjs.map +1 -0
- package/lib/RichText.mjs +634 -0
- package/lib/RichText.mjs.map +1 -0
- package/lib/TextInput.mjs +359 -0
- package/lib/TextInput.mjs.map +1 -0
- package/lib/alt/checkbox/SimpleCheckbox.mjs +82 -0
- package/lib/alt/checkbox/SimpleCheckbox.mjs.map +1 -0
- package/lib/alt/checkbox/ToggleCheckbox.mjs +68 -0
- package/lib/alt/checkbox/ToggleCheckbox.mjs.map +1 -0
- package/lib/alt/radiobox/CleanTabRadiobox.mjs +44 -0
- package/lib/alt/radiobox/CleanTabRadiobox.mjs.map +1 -0
- package/lib/alt/radiobox/IconRadioBox.mjs +52 -0
- package/lib/alt/radiobox/IconRadioBox.mjs.map +1 -0
- package/lib/alt/radiobox/SimpleRadiobox.mjs +61 -0
- package/lib/alt/radiobox/SimpleRadiobox.mjs.map +1 -0
- package/lib/alt/radiobox/TabRadiobox.mjs +54 -0
- package/lib/alt/radiobox/TabRadiobox.mjs.map +1 -0
- package/lib/enhanceInput.mjs +131 -0
- package/lib/enhanceInput.mjs.map +1 -0
- package/lib/index.cjs +5345 -0
- package/lib/index.cjs.map +1 -0
- package/lib/index.mjs +28 -0
- package/lib/index.mjs.map +1 -0
- package/lib/useConfirmDialog.mjs +117 -0
- package/lib/useConfirmDialog.mjs.map +1 -0
- package/lib/useDraftConfirmation.mjs +56 -0
- package/lib/useDraftConfirmation.mjs.map +1 -0
- package/lib/validation.mjs +91 -0
- package/lib/validation.mjs.map +1 -0
- package/lib/withFormImageInput.mjs +281 -0
- package/lib/withFormImageInput.mjs.map +1 -0
- package/package.json +46 -26
- package/src/AutoComplete.jsx +642 -0
- package/src/Checkbox.jsx +45 -0
- package/src/Combobox.jsx +606 -0
- package/src/ComboboxWithCustom.jsx +68 -0
- package/src/DatePicker.jsx +733 -0
- package/src/EditableBox.jsx +502 -0
- package/src/Errors.jsx +174 -0
- package/src/ExpandableBox.jsx +207 -0
- package/src/Field.jsx +76 -0
- package/src/FieldBox.jsx +136 -0
- package/src/Form.jsx +291 -0
- package/src/FormValue.jsx +67 -0
- package/src/IconRadioBoxOldHubt.jsx +93 -0
- package/src/InputboxGroup.jsx +121 -0
- package/src/Radiobox.jsx +33 -0
- package/src/RichText.jsx +812 -0
- package/src/TextInput.jsx +519 -0
- package/src/alt/checkbox/SimpleCheckbox.jsx +162 -0
- package/src/alt/checkbox/ToggleCheckbox.jsx +143 -0
- package/src/alt/radiobox/CleanTabRadiobox.jsx +46 -0
- package/src/alt/radiobox/IconRadioBox.jsx +93 -0
- package/src/alt/radiobox/SimpleRadiobox.jsx +153 -0
- package/src/alt/radiobox/TabRadiobox.jsx +73 -0
- package/src/enhanceInput.jsx +107 -0
- package/src/index.js +27 -0
- package/src/useConfirmDialog.jsx +105 -0
- package/src/useDraftConfirmation.jsx +60 -0
- package/src/validation.js +92 -0
- package/src/withFormImageInput.jsx +297 -0
- package/.babelrc +0 -28
- package/lib/index.js +0 -6258
- package/rollup.config.js +0 -43
- package/yarn-error.log +0 -1607
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/extends';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import _toPath from 'lodash/fp/toPath';
|
|
4
|
+
import _identity from 'lodash/fp/identity';
|
|
5
|
+
import React, { useLayoutEffect } from 'react';
|
|
6
|
+
import { useToggle, usePrevious } from '@startlibs/core';
|
|
7
|
+
import { callIfFunction } from '@startlibs/utils';
|
|
8
|
+
import { Combobox } from './Combobox.mjs';
|
|
9
|
+
import { useFormValue, useFormMeta } from './Form.mjs';
|
|
10
|
+
import { TextInput } from './TextInput.mjs';
|
|
11
|
+
|
|
12
|
+
const _excluded = ["options", "label", "constraint", "path", "getLabel", "getBoxLabelAs", "valueOnCustom", "customIndex", "tabIndex"];
|
|
13
|
+
//shouldRecenter?
|
|
14
|
+
const ComboboxWithCustom = _ref => {
|
|
15
|
+
let {
|
|
16
|
+
options,
|
|
17
|
+
label,
|
|
18
|
+
constraint,
|
|
19
|
+
path,
|
|
20
|
+
getLabel = _identity,
|
|
21
|
+
getBoxLabelAs = getLabel,
|
|
22
|
+
valueOnCustom = _identity,
|
|
23
|
+
customIndex = options.length - 1,
|
|
24
|
+
tabIndex = 1
|
|
25
|
+
} = _ref,
|
|
26
|
+
extra = _objectWithoutProperties(_ref, _excluded);
|
|
27
|
+
const customValue = useToggle();
|
|
28
|
+
const [value, setValue] = useFormValue(path);
|
|
29
|
+
const [meta, setMeta] = useFormMeta(["onCustom"].concat(_toPath(path)));
|
|
30
|
+
const prevTitle = usePrevious(value);
|
|
31
|
+
useLayoutEffect(() => {
|
|
32
|
+
if (value === options[customIndex]) {
|
|
33
|
+
setMeta(true);
|
|
34
|
+
customValue.openWith('');
|
|
35
|
+
setValue(callIfFunction(valueOnCustom, prevTitle));
|
|
36
|
+
}
|
|
37
|
+
}, [value]);
|
|
38
|
+
const updateCustomValue = e => {
|
|
39
|
+
if (e.type === 'keydown' && e.keyCode === 27) {
|
|
40
|
+
e.stopPropagation();
|
|
41
|
+
setMeta(false);
|
|
42
|
+
customValue.close();
|
|
43
|
+
} else if (e.type === 'keydown' && e.keyCode === 13 || e.type === 'blur') {
|
|
44
|
+
e.stopPropagation();
|
|
45
|
+
if (customValue.isOpen) {
|
|
46
|
+
setValue(customValue.isOpen);
|
|
47
|
+
}
|
|
48
|
+
setMeta(false);
|
|
49
|
+
customValue.close();
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const titleOptions = !value || options.indexOf(value) >= 0 ? options : [value].concat(options);
|
|
53
|
+
return customValue.isOpen !== false ? /*#__PURE__*/React.createElement(TextInput, _extends({
|
|
54
|
+
label: label,
|
|
55
|
+
tabIndex: tabIndex,
|
|
56
|
+
autoFocus: true,
|
|
57
|
+
value: customValue.isOpen,
|
|
58
|
+
setValue: customValue.openWith,
|
|
59
|
+
maxLength: 70,
|
|
60
|
+
onBlur: updateCustomValue,
|
|
61
|
+
onKeyPress: updateCustomValue,
|
|
62
|
+
onKeyDown: updateCustomValue,
|
|
63
|
+
constraint: constraint,
|
|
64
|
+
raw: true
|
|
65
|
+
}, extra)) : /*#__PURE__*/React.createElement(Combobox, _extends({
|
|
66
|
+
getBoxLabelAs: v => v === options[customIndex] ? '' : getBoxLabelAs(v),
|
|
67
|
+
label: label,
|
|
68
|
+
path: path,
|
|
69
|
+
onChange: setValue,
|
|
70
|
+
options: titleOptions,
|
|
71
|
+
tabIndex: tabIndex,
|
|
72
|
+
getLabel: getLabel
|
|
73
|
+
}, extra));
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export { ComboboxWithCustom };
|
|
77
|
+
//# sourceMappingURL=ComboboxWithCustom.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComboboxWithCustom.mjs","sources":["../src/ComboboxWithCustom.jsx"],"sourcesContent":["import React, {useLayoutEffect} from 'react'\nimport {usePrevious, useToggle} from '@startlibs/core'\nimport {callIfFunction} from '@startlibs/utils'\nimport {Combobox} from './Combobox'\nimport {useFormMeta, useFormValue} from './Form'\nimport {TextInput} from './TextInput'\nimport _ from \"lodash/fp\";\n\n//shouldRecenter?\nexport const ComboboxWithCustom = ({options,label,constraint, path, getLabel = _.identity, getBoxLabelAs = getLabel, valueOnCustom = _.identity,customIndex = options.length - 1, tabIndex = 1, ...extra}) => {\n const customValue = useToggle()\n const [value,setValue] = useFormValue(path)\n const [meta,setMeta] = useFormMeta([\"onCustom\"].concat(_.toPath(path)))\n const prevTitle = usePrevious(value)\n\n useLayoutEffect(() => {\n if (value === options[customIndex]) {\n setMeta(true)\n customValue.openWith('')\n setValue(callIfFunction(valueOnCustom,prevTitle))\n }\n }, [value])\n\n const updateCustomValue = e => {\n if (e.type === 'keydown' && e.keyCode === 27) {\n e.stopPropagation()\n setMeta(false)\n customValue.close()\n } else if (\n (e.type === 'keydown' && e.keyCode === 13) ||\n e.type === 'blur'\n ) {\n e.stopPropagation()\n if (customValue.isOpen) {\n setValue(customValue.isOpen)\n }\n setMeta(false)\n customValue.close()\n }\n }\n\n const titleOptions = (!value || options.indexOf(value) >= 0) ? options : [value].concat(options)\n return customValue.isOpen !== false ?\n <TextInput\n label={label}\n tabIndex={tabIndex}\n autoFocus\n value={customValue.isOpen}\n setValue={customValue.openWith}\n maxLength={70}\n onBlur={updateCustomValue}\n onKeyPress={updateCustomValue}\n onKeyDown={updateCustomValue}\n constraint={constraint}\n raw\n {...extra}\n /> :\n <Combobox\n getBoxLabelAs={v => v === options[customIndex] ? '' : getBoxLabelAs(v)}\n label={label}\n path={path}\n onChange={setValue}\n options={titleOptions}\n tabIndex={tabIndex}\n getLabel={getLabel}\n {...extra}\n />\n}"],"names":["ComboboxWithCustom","_ref","options","label","constraint","path","getLabel","_identity","getBoxLabelAs","valueOnCustom","customIndex","length","tabIndex","extra","_objectWithoutProperties","_excluded","customValue","useToggle","value","setValue","useFormValue","meta","setMeta","useFormMeta","concat","_toPath","prevTitle","usePrevious","useLayoutEffect","openWith","callIfFunction","updateCustomValue","e","type","keyCode","stopPropagation","close","isOpen","titleOptions","indexOf","React","createElement","TextInput","_extends","autoFocus","maxLength","onBlur","onKeyPress","onKeyDown","raw","Combobox","v","onChange"],"mappings":"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"}
|