@startlibs/form 1.0.12 → 1.1.0

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.
Files changed (92) hide show
  1. package/lib/AutoComplete.mjs +550 -0
  2. package/lib/AutoComplete.mjs.map +1 -0
  3. package/lib/Checkbox.mjs +76 -0
  4. package/lib/Checkbox.mjs.map +1 -0
  5. package/lib/Combobox.mjs +544 -0
  6. package/lib/Combobox.mjs.map +1 -0
  7. package/lib/ComboboxWithCustom.mjs +77 -0
  8. package/lib/ComboboxWithCustom.mjs.map +1 -0
  9. package/lib/DatePicker.mjs +625 -0
  10. package/lib/DatePicker.mjs.map +1 -0
  11. package/lib/EditableBox.mjs +496 -0
  12. package/lib/EditableBox.mjs.map +1 -0
  13. package/lib/Errors.mjs +176 -0
  14. package/lib/Errors.mjs.map +1 -0
  15. package/lib/ExpandableBox.mjs +209 -0
  16. package/lib/ExpandableBox.mjs.map +1 -0
  17. package/lib/Field.mjs +65 -0
  18. package/lib/Field.mjs.map +1 -0
  19. package/lib/FieldBox.mjs +80 -0
  20. package/lib/FieldBox.mjs.map +1 -0
  21. package/lib/Form.mjs +322 -0
  22. package/lib/Form.mjs.map +1 -0
  23. package/lib/FormValue.mjs +111 -0
  24. package/lib/FormValue.mjs.map +1 -0
  25. package/lib/InputboxGroup.mjs +104 -0
  26. package/lib/InputboxGroup.mjs.map +1 -0
  27. package/lib/Radiobox.mjs +67 -0
  28. package/lib/Radiobox.mjs.map +1 -0
  29. package/lib/RichText.mjs +634 -0
  30. package/lib/RichText.mjs.map +1 -0
  31. package/lib/TextInput.mjs +359 -0
  32. package/lib/TextInput.mjs.map +1 -0
  33. package/lib/alt/checkbox/SimpleCheckbox.mjs +82 -0
  34. package/lib/alt/checkbox/SimpleCheckbox.mjs.map +1 -0
  35. package/lib/alt/checkbox/ToggleCheckbox.mjs +68 -0
  36. package/lib/alt/checkbox/ToggleCheckbox.mjs.map +1 -0
  37. package/lib/alt/radiobox/CleanTabRadiobox.mjs +44 -0
  38. package/lib/alt/radiobox/CleanTabRadiobox.mjs.map +1 -0
  39. package/lib/alt/radiobox/IconRadioBox.mjs +52 -0
  40. package/lib/alt/radiobox/IconRadioBox.mjs.map +1 -0
  41. package/lib/alt/radiobox/SimpleRadiobox.mjs +61 -0
  42. package/lib/alt/radiobox/SimpleRadiobox.mjs.map +1 -0
  43. package/lib/alt/radiobox/TabRadiobox.mjs +54 -0
  44. package/lib/alt/radiobox/TabRadiobox.mjs.map +1 -0
  45. package/lib/enhanceInput.mjs +131 -0
  46. package/lib/enhanceInput.mjs.map +1 -0
  47. package/lib/index.cjs +5345 -0
  48. package/lib/index.cjs.map +1 -0
  49. package/lib/index.mjs +28 -0
  50. package/lib/index.mjs.map +1 -0
  51. package/lib/useConfirmDialog.mjs +117 -0
  52. package/lib/useConfirmDialog.mjs.map +1 -0
  53. package/lib/useDraftConfirmation.mjs +56 -0
  54. package/lib/useDraftConfirmation.mjs.map +1 -0
  55. package/lib/validation.mjs +91 -0
  56. package/lib/validation.mjs.map +1 -0
  57. package/lib/withFormImageInput.mjs +281 -0
  58. package/lib/withFormImageInput.mjs.map +1 -0
  59. package/package.json +44 -25
  60. package/src/AutoComplete.jsx +642 -0
  61. package/src/Checkbox.jsx +45 -0
  62. package/src/Combobox.jsx +606 -0
  63. package/src/ComboboxWithCustom.jsx +68 -0
  64. package/src/DatePicker.jsx +733 -0
  65. package/src/EditableBox.jsx +502 -0
  66. package/src/Errors.jsx +174 -0
  67. package/src/ExpandableBox.jsx +207 -0
  68. package/src/Field.jsx +76 -0
  69. package/src/FieldBox.jsx +136 -0
  70. package/src/Form.jsx +291 -0
  71. package/src/FormValue.jsx +67 -0
  72. package/src/IconRadioBoxOldHubt.jsx +93 -0
  73. package/src/InputboxGroup.jsx +121 -0
  74. package/src/Radiobox.jsx +33 -0
  75. package/src/RichText.jsx +812 -0
  76. package/src/TextInput.jsx +519 -0
  77. package/src/alt/checkbox/SimpleCheckbox.jsx +162 -0
  78. package/src/alt/checkbox/ToggleCheckbox.jsx +143 -0
  79. package/src/alt/radiobox/CleanTabRadiobox.jsx +46 -0
  80. package/src/alt/radiobox/IconRadioBox.jsx +93 -0
  81. package/src/alt/radiobox/SimpleRadiobox.jsx +153 -0
  82. package/src/alt/radiobox/TabRadiobox.jsx +73 -0
  83. package/src/enhanceInput.jsx +107 -0
  84. package/src/index.js +27 -0
  85. package/src/useConfirmDialog.jsx +105 -0
  86. package/src/useDraftConfirmation.jsx +60 -0
  87. package/src/validation.js +92 -0
  88. package/src/withFormImageInput.jsx +297 -0
  89. package/.babelrc +0 -28
  90. package/lib/index.js +0 -6258
  91. package/rollup.config.js +0 -43
  92. 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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"}