@startlibs/form 1.0.11 → 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.
- 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 +44 -25
- 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 -6255
- package/rollup.config.js +0 -43
- package/yarn-error.log +0 -1607
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import _union from 'lodash/fp/union';
|
|
4
|
+
import _unionBy from 'lodash/fp/unionBy';
|
|
5
|
+
import _uniq from 'lodash/fp/uniq';
|
|
6
|
+
import _uniqBy from 'lodash/fp/uniqBy';
|
|
7
|
+
import _difference from 'lodash/fp/difference';
|
|
8
|
+
import _differenceBy from 'lodash/fp/differenceBy';
|
|
9
|
+
import _intersection from 'lodash/fp/intersection';
|
|
10
|
+
import _intersectionBy from 'lodash/fp/intersectionBy';
|
|
11
|
+
import _isFunction from 'lodash/fp/isFunction';
|
|
12
|
+
import _isArray from 'lodash/fp/isArray';
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import { callIfFunction } from '@startlibs/utils';
|
|
15
|
+
import styled, { css } from 'styled-components';
|
|
16
|
+
import { Field } from './Field.mjs';
|
|
17
|
+
import { SimpleCheckbox } from './alt/checkbox/SimpleCheckbox.mjs';
|
|
18
|
+
import { SimpleRadiobox } from './alt/radiobox/SimpleRadiobox.mjs';
|
|
19
|
+
import { SplitColumnsContainer } from '@startlibs/components';
|
|
20
|
+
|
|
21
|
+
const _excluded = ["path", "className", "column", "as", "children", "label", "descText", "helpText", "mandatory", "margin"];
|
|
22
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
+
const InputboxGroup = /*#__PURE__*/styled(_ref => {
|
|
25
|
+
let {
|
|
26
|
+
path,
|
|
27
|
+
className,
|
|
28
|
+
column,
|
|
29
|
+
as = column ? SplitColumnsContainer : 'div',
|
|
30
|
+
children,
|
|
31
|
+
label,
|
|
32
|
+
descText,
|
|
33
|
+
helpText,
|
|
34
|
+
mandatory,
|
|
35
|
+
margin
|
|
36
|
+
} = _ref,
|
|
37
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
38
|
+
React.Children.count(children);
|
|
39
|
+
const Wrapper = as;
|
|
40
|
+
const boxes = /*#__PURE__*/React.createElement(Wrapper, {
|
|
41
|
+
className: className
|
|
42
|
+
}, React.Children.toArray(children).filter(child => child.props).map((child, i, arr) => /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({
|
|
43
|
+
isFirst: i === 0,
|
|
44
|
+
isLast: i === arr.length - 1,
|
|
45
|
+
index: i,
|
|
46
|
+
path
|
|
47
|
+
}, rest), child.props))));
|
|
48
|
+
return label ? /*#__PURE__*/React.createElement(Field, {
|
|
49
|
+
label: label,
|
|
50
|
+
mandatory: mandatory,
|
|
51
|
+
descText: descText,
|
|
52
|
+
helpText: helpText,
|
|
53
|
+
margin: margin
|
|
54
|
+
}, boxes) : boxes;
|
|
55
|
+
}).withConfig({
|
|
56
|
+
displayName: "InputboxGroup",
|
|
57
|
+
componentId: "sc-q49nwm-0"
|
|
58
|
+
})(["", " ", " ", " ", ""], props => props.wide && "\n width: 100%;\n display: flex;\n label {\n flex-grow: 1;\n flex-basis: 0;\n }\n ", props => props.unevenlyWide && "\n width: 100%;\n display: flex;\n label {\n flex-grow: 1;\n }\n ", props => props.horizontal ? "\n @supports (flex-wrap: wrap) {\n display: flex;\n flex-wrap: wrap;\n }\n min-height: 3rem;\n ".concat(SimpleRadiobox, ", ").concat(SimpleCheckbox, " {\n margin-right: 1.5rem;\n margin-bottom: 0.5rem;\n }\n ") : "\n ".concat(SimpleRadiobox, ", ").concat(SimpleCheckbox, " {\n margin-bottom: 0.5rem;\n :last-child {\n margin-bottom: 1.5rem;\n }\n }\n "), props => props.framedBoxes && css(["", ""], props => props.horizontal && "\n margin: -4px;\n width: calc(100% + 8px);\n ".concat(SimpleRadiobox, ", ").concat(SimpleCheckbox, " {\n margin: 4px;\n }\n ")));
|
|
59
|
+
const RadioboxGroup = InputboxGroup;
|
|
60
|
+
const CheckboxGroup = InputboxGroup;
|
|
61
|
+
CheckboxGroup.createCheckManager = function () {
|
|
62
|
+
let path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
63
|
+
let lastSelected = null;
|
|
64
|
+
const select = (itemOrItems, toggleValue) => {
|
|
65
|
+
lastSelected = _isArray(itemOrItems) || _isFunction(itemOrItems) ? lastSelected : itemOrItems;
|
|
66
|
+
const items = _isArray(itemOrItems) ? itemOrItems : [itemOrItems];
|
|
67
|
+
const intersects = list => path.length ? _intersectionBy(path, list, items).length === items.length : _intersection(list, items).length === items.length;
|
|
68
|
+
return function () {
|
|
69
|
+
let currentlySelected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
70
|
+
return _isFunction(itemOrItems) ? itemOrItems(currentlySelected) : toggleValue === false || toggleValue !== true && intersects(currentlySelected) ? path.length ? _differenceBy(path, currentlySelected, items) : _difference(currentlySelected, items) : path.length ? _uniqBy(path, currentlySelected.concat(items)) : _uniq(currentlySelected.concat(items));
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
const getIndex = (item, list) => {
|
|
74
|
+
const element = path.length ? _intersectionBy(path, list, [item])[0] : item;
|
|
75
|
+
return list.indexOf(element);
|
|
76
|
+
};
|
|
77
|
+
const shiftSelect = (availableItems, item) => {
|
|
78
|
+
const lastSelectedIndex = getIndex(lastSelected, callIfFunction(availableItems));
|
|
79
|
+
lastSelected = item;
|
|
80
|
+
return function () {
|
|
81
|
+
let currentlySelected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
82
|
+
if (lastSelectedIndex < 0) {
|
|
83
|
+
return select(item)(currentlySelected);
|
|
84
|
+
} else {
|
|
85
|
+
const removing = path.length ? _intersectionBy(path, [item], currentlySelected).length : (currentlySelected === null || currentlySelected === void 0 ? void 0 : currentlySelected.indexOf(item)) >= 0;
|
|
86
|
+
const currentIndex = getIndex(item, callIfFunction(availableItems));
|
|
87
|
+
const firstIndex = currentIndex > lastSelectedIndex ? lastSelectedIndex : currentIndex;
|
|
88
|
+
const lastIndex = currentIndex > lastSelectedIndex ? currentIndex + 1 : lastSelectedIndex + 1;
|
|
89
|
+
if (removing) {
|
|
90
|
+
return path.length ? _differenceBy(path, currentlySelected, availableItems.slice(firstIndex, lastIndex)) : _difference(currentlySelected, availableItems.slice(firstIndex, lastIndex));
|
|
91
|
+
} else {
|
|
92
|
+
return path.length ? _unionBy(path, currentlySelected, availableItems.slice(firstIndex, lastIndex)) : _union(currentlySelected, availableItems.slice(firstIndex, lastIndex));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
return {
|
|
98
|
+
select,
|
|
99
|
+
shiftSelect
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export { CheckboxGroup, InputboxGroup, RadioboxGroup };
|
|
104
|
+
//# sourceMappingURL=InputboxGroup.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputboxGroup.mjs","sources":["../src/InputboxGroup.jsx"],"sourcesContent":["import React from 'react'\n\nimport {callIfFunction} from '@startlibs/utils'\nimport styled, {css} from 'styled-components'\n\nimport {Field} from './Field'\nimport {SimpleCheckbox} from './alt/checkbox/SimpleCheckbox'\nimport {SimpleRadiobox} from './alt/radiobox/SimpleRadiobox'\nimport {SplitColumnsContainer} from '@startlibs/components'\nimport _ from \"lodash/fp\";\n\nexport const InputboxGroup = styled(({path, className, column, as = column ? SplitColumnsContainer : 'div', children, label, descText,helpText,mandatory,margin, ...rest}) => {\n const size = React.Children.count(children)\n const Wrapper = as\n const boxes = <Wrapper className={className}>{\n React.Children.toArray(children).filter(child => child.props).map((child, i,arr) => React.cloneElement(child, {\n isFirst: i === 0,\n isLast: i === arr.length - 1,\n index: i,\n path,\n ...rest,\n ...child.props,\n }))\n }</Wrapper>\n \n return label \n ? <Field label={label} mandatory={mandatory} descText={descText} helpText={helpText} margin={margin}>{boxes}</Field> \n : boxes\n})`\n ${props => props.wide && `\n width: 100%;\n display: flex;\n label {\n flex-grow: 1;\n flex-basis: 0;\n }\n `}\n ${props => props.unevenlyWide && `\n width: 100%;\n display: flex;\n label {\n flex-grow: 1;\n }\n `}\n ${props => props.horizontal ? `\n @supports (flex-wrap: wrap) {\n display: flex;\n flex-wrap: wrap;\n }\n min-height: 3rem;\n ${SimpleRadiobox}, ${SimpleCheckbox} {\n margin-right: 1.5rem;\n margin-bottom: 0.5rem;\n }\n ` : `\n ${SimpleRadiobox}, ${SimpleCheckbox} {\n margin-bottom: 0.5rem;\n :last-child {\n margin-bottom: 1.5rem;\n }\n }\n `}\n ${props => props.framedBoxes && css`\n ${props => props.horizontal && `\n margin: -4px;\n width: calc(100% + 8px);\n ${SimpleRadiobox}, ${SimpleCheckbox} {\n margin: 4px;\n }\n `}\n `}\n`\n\nexport const RadioboxGroup = InputboxGroup\nexport const CheckboxGroup = InputboxGroup\n\nCheckboxGroup.createCheckManager = (path = []) => {\n let lastSelected = null\n const select = (itemOrItems,toggleValue) => {\n lastSelected = _.isArray(itemOrItems) || _.isFunction(itemOrItems) ? lastSelected : itemOrItems\n const items = _.isArray(itemOrItems) ? itemOrItems : [itemOrItems]\n const intersects = (list) => path.length\n ? _.intersectionBy(path,list,items).length === items.length\n : _.intersection(list,items).length === items.length\n return (currentlySelected = []) =>\n _.isFunction(itemOrItems)\n ? itemOrItems(currentlySelected)\n : (toggleValue===false || (toggleValue !== true && intersects(currentlySelected)))\n ? (path.length ? _.differenceBy(path, currentlySelected, items) : _.difference(currentlySelected, items))\n : (path.length ? _.uniqBy(path,currentlySelected.concat(items)) : _.uniq(currentlySelected.concat(items)))\n }\n\n const getIndex = (item,list) => {\n const element = path.length ? _.intersectionBy(path, list, [item])[0] : item\n return list.indexOf(element)\n }\n const shiftSelect = (availableItems,item) => {\n const lastSelectedIndex = getIndex(lastSelected,callIfFunction(availableItems))\n lastSelected = item\n return (currentlySelected=[]) => {\n if (lastSelectedIndex < 0) {\n return select(item)(currentlySelected)\n } else {\n const removing = path.length ? _.intersectionBy(path, [item], currentlySelected).length : (currentlySelected?.indexOf(item)>=0)\n const currentIndex = getIndex(item,callIfFunction(availableItems))\n const firstIndex = currentIndex > lastSelectedIndex ? lastSelectedIndex : currentIndex\n const lastIndex = currentIndex > lastSelectedIndex ? (currentIndex + 1) : (lastSelectedIndex + 1)\n if (removing) {\n return path.length\n ? _.differenceBy(path,currentlySelected,availableItems.slice(firstIndex,lastIndex))\n : _.difference(currentlySelected,availableItems.slice(firstIndex,lastIndex))\n } else {\n return path.length\n ? _.unionBy(path,currentlySelected,availableItems.slice(firstIndex,lastIndex))\n : _.union(currentlySelected,availableItems.slice(firstIndex,lastIndex))\n }\n }\n }\n }\n return {select, shiftSelect}\n}"],"names":["InputboxGroup","styled","_ref","path","className","column","as","SplitColumnsContainer","children","label","descText","helpText","mandatory","margin","rest","_objectWithoutProperties","_excluded","React","Children","count","Wrapper","boxes","createElement","toArray","filter","child","props","map","i","arr","cloneElement","_objectSpread","isFirst","isLast","length","index","Field","withConfig","displayName","componentId","wide","unevenlyWide","horizontal","concat","SimpleRadiobox","SimpleCheckbox","framedBoxes","css","RadioboxGroup","CheckboxGroup","createCheckManager","arguments","undefined","lastSelected","select","itemOrItems","toggleValue","_isArray","_isFunction","items","intersects","list","_intersectionBy","_intersection","currentlySelected","_differenceBy","_difference","_uniqBy","_uniq","getIndex","item","element","indexOf","shiftSelect","availableItems","lastSelectedIndex","callIfFunction","removing","currentIndex","firstIndex","lastIndex","slice","_unionBy","_union"],"mappings":"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"}
|
package/lib/Radiobox.mjs
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import styled from 'styled-components';
|
|
5
|
+
import { useInput } from './enhanceInput.mjs';
|
|
6
|
+
import { useToggle } from '@startlibs/core';
|
|
7
|
+
import { isTouchDevice } from '@startlibs/utils';
|
|
8
|
+
|
|
9
|
+
const _excluded = ["className", "children", "disabled", "isChecked", "fieldValue", "path", "tabIndex", "raw"];
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
const HiddenInput = /*#__PURE__*/styled.input.withConfig({
|
|
13
|
+
displayName: "Radiobox__HiddenInput",
|
|
14
|
+
componentId: "sc-pelyer-0"
|
|
15
|
+
})(["opacity:0 !important;position:absolute;pointer-events:none;"]);
|
|
16
|
+
const Radiobox = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
className,
|
|
19
|
+
children,
|
|
20
|
+
disabled,
|
|
21
|
+
isChecked,
|
|
22
|
+
fieldValue,
|
|
23
|
+
path,
|
|
24
|
+
tabIndex = 1,
|
|
25
|
+
raw
|
|
26
|
+
} = _ref,
|
|
27
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
28
|
+
const focused = useToggle();
|
|
29
|
+
const [value,, {
|
|
30
|
+
setFromField,
|
|
31
|
+
name,
|
|
32
|
+
hasErrors
|
|
33
|
+
}] = useInput(_objectSpread({
|
|
34
|
+
fieldValue,
|
|
35
|
+
path,
|
|
36
|
+
isChecked
|
|
37
|
+
}, rest), raw);
|
|
38
|
+
const checked = isChecked ? isChecked(value) : value === fieldValue;
|
|
39
|
+
return /*#__PURE__*/React.createElement("label", {
|
|
40
|
+
"data-drag": "false",
|
|
41
|
+
onClick: e => {
|
|
42
|
+
e.preventDefault();
|
|
43
|
+
if (!disabled) {
|
|
44
|
+
setFromField();
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
className: className
|
|
48
|
+
}, !isTouchDevice() && /*#__PURE__*/React.createElement(HiddenInput, {
|
|
49
|
+
onFocus: focused.open,
|
|
50
|
+
onBlur: focused.close,
|
|
51
|
+
disabled: disabled,
|
|
52
|
+
type: "radio",
|
|
53
|
+
checked: checked,
|
|
54
|
+
value: fieldValue,
|
|
55
|
+
readOnly: true,
|
|
56
|
+
name: name,
|
|
57
|
+
tabIndex: tabIndex
|
|
58
|
+
}), children && children({
|
|
59
|
+
disabled,
|
|
60
|
+
checked,
|
|
61
|
+
hasErrors,
|
|
62
|
+
focused: focused.isOpen
|
|
63
|
+
}));
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export { Radiobox };
|
|
67
|
+
//# sourceMappingURL=Radiobox.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Radiobox.mjs","sources":["../src/Radiobox.jsx"],"sourcesContent":["import React from 'react'\nimport styled from 'styled-components'\nimport {useInput} from './enhanceInput'\nimport {useToggle} from '@startlibs/core'\nimport {isTouchDevice} from '@startlibs/utils'\n\nconst HiddenInput = styled.input`\n opacity: 0 !important;\n position: absolute;\n pointer-events: none;\n`\n\nexport const Radiobox = ({className, children, disabled, isChecked, fieldValue, path, tabIndex = 1, raw, ...rest}) => {\n const focused = useToggle()\n const [value, , {setFromField, name, hasErrors}] = useInput({fieldValue, path, isChecked, ...rest}, raw)\n const checked = isChecked ? isChecked(value) : value === fieldValue\n return <label data-drag=\"false\" onClick={(e) => {e.preventDefault();if (!disabled){setFromField()}}} className={className}>\n {\n !isTouchDevice() && <HiddenInput\n onFocus={focused.open}\n onBlur={focused.close}\n disabled={disabled}\n type=\"radio\"\n checked={checked}\n value={fieldValue}\n readOnly\n name={name}\n tabIndex={tabIndex}\n />\n }\n {children && children({disabled, checked, hasErrors, focused: focused.isOpen})}\n </label>\n}\n"],"names":["HiddenInput","styled","input","withConfig","displayName","componentId","Radiobox","_ref","className","children","disabled","isChecked","fieldValue","path","tabIndex","raw","rest","_objectWithoutProperties","_excluded","focused","useToggle","value","setFromField","name","hasErrors","useInput","_objectSpread","checked","React","createElement","onClick","e","preventDefault","isTouchDevice","onFocus","open","onBlur","close","type","readOnly","isOpen"],"mappings":";;;;;;;;;;;AAMA,MAAMA,WAAW,gBAAGC,MAAM,CAACC,KAAK,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,uBAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAI/B,CAAA,CAAA,CAAA,6DAAA,CAAA,CAAA,CAAA;AAEYC,MAAAA,QAAQ,GAAGC,IAAA,IAA8F;EAAA,IAA7F;MAACC,SAAS;MAAEC,QAAQ;MAAEC,QAAQ;MAAEC,SAAS;MAAEC,UAAU;MAAEC,IAAI;AAAEC,MAAAA,QAAQ,GAAG,CAAC;AAAEC,MAAAA,GAAAA;AAAY,KAAC,GAAAR,IAAA;AAALS,IAAAA,IAAI,GAAAC,wBAAA,CAAAV,IAAA,EAAAW,SAAA,CAAA,CAAA;AAC9G,EAAA,MAAMC,OAAO,GAAGC,SAAS,EAAE,CAAA;EAC3B,MAAM,CAACC,KAAK,GAAI;IAACC,YAAY;IAAEC,IAAI;AAAEC,IAAAA,SAAAA;AAAS,GAAC,CAAC,GAAGC,QAAQ,CAAAC,aAAA,CAAA;IAAEd,UAAU;IAAEC,IAAI;AAAEF,IAAAA,SAAAA;GAAcK,EAAAA,IAAI,CAAGD,EAAAA,GAAG,CAAC,CAAA;EACxG,MAAMY,OAAO,GAAGhB,SAAS,GAAGA,SAAS,CAACU,KAAK,CAAC,GAAGA,KAAK,KAAKT,UAAU,CAAA;EACnE,oBAAOgB,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAO,IAAA,WAAA,EAAU,OAAO;IAACC,OAAO,EAAGC,CAAC,IAAK;MAACA,CAAC,CAACC,cAAc,EAAE,CAAA;MAAC,IAAI,CAACtB,QAAQ,EAAC;AAACY,QAAAA,YAAY,EAAE,CAAA;AAAA,OAAA;KAAG;AAACd,IAAAA,SAAS,EAAEA,SAAAA;GAE5G,EAAA,CAACyB,aAAa,EAAE,iBAAIL,KAAA,CAAAC,aAAA,CAAC7B,WAAW,EAAA;IAC9BkC,OAAO,EAAEf,OAAO,CAACgB,IAAK;IACtBC,MAAM,EAAEjB,OAAO,CAACkB,KAAM;AACtB3B,IAAAA,QAAQ,EAAEA,QAAS;AACnB4B,IAAAA,IAAI,EAAC,OAAO;AACZX,IAAAA,OAAO,EAAEA,OAAQ;AACjBN,IAAAA,KAAK,EAAET,UAAW;IAClB2B,QAAQ,EAAA,IAAA;AACRhB,IAAAA,IAAI,EAAEA,IAAK;AACXT,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GACpB,CAAC,EAEHL,QAAQ,IAAIA,QAAQ,CAAC;IAACC,QAAQ;IAAEiB,OAAO;IAAEH,SAAS;IAAEL,OAAO,EAAEA,OAAO,CAACqB,MAAAA;AAAM,GAAC,CACxE,CAAC,CAAA;AACV;;;;"}
|