@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 @@
|
|
|
1
|
+
{"version":3,"file":"AutoComplete.mjs","sources":["../src/AutoComplete.jsx"],"sourcesContent":["import React, {useEffect, useRef, useState} from 'react'\nimport ContentEditable from 'react-contenteditable'\nimport {useRefState, useToggle, useEnsureRef} from '@startlibs/core'\nimport {ContextMenu, Li, Loading, Icon} from '@startlibs/components'\nimport {Errors, useProvideErrors} from './Errors'\nimport {Field} from './Field'\nimport {useInput} from './enhanceInput'\nimport _ from 'lodash/fp'\nimport {callIfFunction, stopPropagation, constrainEvent, getColor, media, customTheme, _s} from '@startlibs/utils'\nimport styled, {css} from 'styled-components'\nimport {darken} from 'polished'\n\nconst ua = navigator.userAgent.toLowerCase();\nconst isSafari = ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0\n\nconst InputLoading = styled(Loading)`\n bottom: 8px;\n right: 0.6rem;\n left: auto;\n top: 50%;\n transform: translate(-50%);\n`\nconst AutoCompleteInput = styled.div`\n width: 100%;\n font-size: 14px;\n border: 1px solid ${getColor('gray210')};\n border-radius: 8px;\n color: ${getColor('gray60')};\n cursor: text;\n background: white;\n position: relative;\n outline: 0;\n outline: none;\n min-height: 3rem;\n line-height: 28px;\n padding: 0.25rem 0.7rem;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n ${props => props.focused && `\n border-color: ${getColor('gray180')};\n box-shadow: 0px 0px 0px 2px rgba(0,0,0,0.075);\n `}\n ${props => props.hasErrors && css`\n border-color: ${getColor('alert')} !important;\n `}\n ${media.mobile`\n padding: 0.25rem 1rem;\n min-height: 42px;\n `}\n ${props => props.withDropdown && css`\n padding-right: 3rem;\n ${media.mobile`\n padding-right: 4rem;\n `}\n `}\n ${customTheme('TextInput')}\n`\n\nconst AutoCompletePlaceholder = styled.span`\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n color: rgba(0,0,0,0.3);\n left: 0.7rem;\n right: 0.7rem;\n ${media.mobile`\n left: 1rem;\n right: 1rem;\n `}\n`\n\nconst AutoCompleteTextboxDiv = styled(ContentEditable)`\n display: inline-block;\n outline: 0;\n outline: none;\n padding: 0 1px;\n line-height: 130%;\n`\nconst AddedBox = styled.span`\n background-color: rgb(230,230,230);\n padding: 5px 2rem 5px 0.75rem;\n border-radius: 12px;\n font-size: 13px;\n position: relative;\n margin-left: -3px;\n margin-right: 9px;\n white-space: nowrap;\n cursor: default;\n line-height: normal;\n max-width: 90%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n ${isSafari ? `\n vertical-align: 2px;\n `:`\n vertical-align: -7px;\n `}\n`\nconst RemoveIcon = styled(Icon)`\n width: 20px;\n height: 20px;\n border-radius: 50%;\n display: inline-block;\n position: absolute;\n top: 50%;\n line-height: 20px;\n transform: translateY(-50%);\n right: 2px;\n font-size: 14px;\n text-align: center;\n cursor: pointer;\n color: ${getColor('gray120')};\n :hover {\n background-color: ${getColor('gray210')};\n color: ${props => darken(0.05, getColor('alert')(props))};\n }\n`\n\nconst AutoCompleteMenu = styled(ContextMenu)`\n box-shadow: 0 2px 3px 1px rgba(0,0,0,0.2),0 0px 0px 1px rgba(0,0,0,0.05);\n max-height: 22rem;\n overflow: auto;\n ${ContextMenu.ListItem} {\n > * {\n padding: 11px;\n }\n }\n`\n\nconst AutoCompleteError = styled(Errors)`\n ${Errors.Item} {\n background: transparent;\n border: none;\n color: ${getColor('alert')};\n padding: 0;\n margin-top: 0.5rem;\n font-weight: 600;\n ${Errors.CloseIcon} {\n display: none;\n }\n }\n`\n\nconst DropdownIconContainer = styled(Icon)`\n position: absolute;\n right: 0;\n bottom: 0;\n width: 3rem;\n height: 3rem;\n bottom: -1px;\n ${media.mobile`\n height: 42px;\n `}\n ${Icon} {\n position: absolute;\n width: 2rem;\n height: 2rem;\n line-height: 2rem;\n top: 50%;\n left: 50%;\n transform: translate(-50%,-50%);\n background: rgba(0,0,0,0.1);\n border-radius: 50%;\n text-align: center;\n cursor: pointer;\n color: ${getColor('gray90')};\n :hover, :active {\n background: rgba(0,0,0,0.15);\n }\n }\n`\n\nconst focusBeforeLast = (e) => {\n if (e.target && e.target !== e.currentTarget) return\n const el = [].slice.call(e.currentTarget.querySelectorAll('div[contenteditable]')).slice(-1)[0]\n if (!el) return\n el.focus()\n if (!el.firstChild) {\n const node = document.createTextNode('')\n el.appendChild(node)\n }\n setSelectionRange(el.firstChild, el.textContent.length + 1)\n}\n\nconst setSelectionRange = (input, selectionStart, selectionEnd = 0) => {\n let range = document.createRange()\n let sel = window.getSelection()\n range.setStart(input, Math.max(selectionStart - 1, 0))\n sel.removeAllRanges()\n sel.addRange(range)\n}\n\nexport const AutoComplete =\n React.forwardRef(({\n path,\n AutoCompleteLi = Li,\n CompletedBox = ({label, remove, value}) => <AddedBox title={label}>\n {label}\n <RemoveIcon icon=\"x\" onMouseUp={constrainEvent(remove)}/>\n </AddedBox>,\n EditableInput = (props) => <AutoCompleteTextboxDiv {...props} />,\n getLabel = (v) => v,\n minQueryLength = 3,\n ignoreCase = true,\n autoSelect,\n autoSelectEquals,\n fetchLimit = 6,\n deleteOnBackspace = true,\n fetchSuggestions: rawFetchSuggestions,\n validation = (value) => ({success: value.trim()}),\n transform,\n withDropdown,\n autoFocus,\n clickOpensWhenEmpty,\n tabIndex=1,\n confirmIfNewKeys = [],\n confirmKeys = ['Enter', ','],\n confirmIfValueKeys = ['Tab'],\n placeholder,\n className,\n getListItem = getLabel,\n onAddValue,\n getUniqueKey,\n translatable = true,\n withoutField, fieldClassName, bellowDescText, mandatory, descText, helpText, label,\n value,setValue,raw\n },outerRef) => {\n const autoCompleteBox = useToggle()\n const hoverIndex = useToggle()\n const isLoading = useToggle()\n const cancelEditable = useRef()\n\n const [formValue, _setFormValue,{hasErrors}] = useInput({path,transform, value, setValue}, raw)\n const formValueRef = useRef(formValue)\n formValueRef.current = formValue\n const [localFormValue,setLocalFormValue] = useState(_.last(formValue) === \"\" ? formValue : formValue.concat(\"\"))\n const setFormValue = (updater) => {\n _setFormValue(updater)\n setLocalFormValue(updater)\n formValueRef.current = typeof updater === 'function' ? updater(formValueRef.current) : updater\n }\n const lastIsEditable = _.isEqual(localFormValue,formValue)\n\n const [ErrorProvider, errorUtils] = useProvideErrors()\n const hooksRef = useEnsureRef(outerRef)\n const ref = useRef()\n const queries = useRefState([])\n\n const suggestionsFetchCache = useRefState({})\n const suggestionsLabelMapCache = useRefState({})\n const lastSuggestionQuery = useRefState('')\n\n const [autoCompleteList, setAutoCompleteList] = useState([])\n\n const getValue = () => formValueRef.current || []\n\n const shouldFocusInput = useToggle()\n const recentlyAdded = useRefState(false)\n\n useEffect(() => {\n if (autoFocus) {\n focusInput()\n }\n },[])\n\n const focusInput = () => shouldFocusInput.openWith(i => i+1)\n useEffect(() => {\n if (shouldFocusInput.isOpen)\n focusBeforeLast({currentTarget: ref.current,target:ref.current})\n },[shouldFocusInput.isOpen])\n\n const editableIsEmpty = () => !lastIsEditable || (lastIsEditable && !formValue[formValue.length - 1])\n\n const ignoreCaseIfNeeded = (s) => ignoreCase ? (s || '').toLowerCase() : s\n\n const refreshSuggestions = (value = '', justFetch, dropdownFetch) => {\n if ((value.length >= minQueryLength || dropdownFetch) && rawFetchSuggestions) {\n queries.set([value])\n const removeEditable = (list) => lastIsEditable ? list.slice(0, -1) : list\n return isLoading.wait(Promise.resolve(fetchSuggestions(ignoreCaseIfNeeded(value))).then(list => {\n const noRepeatedList = list.filter(v => !removeEditable(getValue()).find(_ => getLabel(v) === getLabel(_)))\n if (justFetch) {\n return noRepeatedList\n }\n const index = queries.get().indexOf(value)\n if (index >= 0) {\n queries.set(q => q.slice(index + 1))\n if (!autoSelect && !(autoSelectEquals && noRepeatedList.slice(0,1).find(v => ignoreCaseIfNeeded(getLabel(v)) === ignoreCaseIfNeeded(value)))) {\n hoverIndex.openWith(-1)\n } else {\n hoverIndex.openWith(0)\n }\n autoCompleteBox.open()\n setAutoCompleteList(noRepeatedList)\n }\n }))\n } else {\n hoverIndex.openWith(-1)\n setAutoCompleteList([])\n return Promise.resolve([])\n }\n }\n\n const fetchSuggestions = (s) => {\n const prevQuery = lastSuggestionQuery.get()\n lastSuggestionQuery.set(s)\n if (suggestionsFetchCache.get()[s]) {\n return suggestionsFetchCache.get()[s]\n } else {\n const lastFetch = suggestionsFetchCache.get()[ignoreCaseIfNeeded(prevQuery)]\n if (s.indexOf(ignoreCaseIfNeeded(prevQuery)) >= 0 && lastFetch && lastFetch.length < fetchLimit) {\n return suggestionsFetchCache.get()[s] = lastFetch.map(getLabel).filter(_ => ignoreCaseIfNeeded(_).indexOf(ignoreCaseIfNeeded(s)) >= 0).map(_ => suggestionsLabelMapCache.get()()[ignoreCaseIfNeeded(_)])\n } else {\n const fetch = Promise.resolve(rawFetchSuggestions(s))\n fetch.then(list => {\n suggestionsFetchCache[ignoreCaseIfNeeded(s)] = list\n list.forEach(suggestion =>\n suggestionsLabelMapCache.get()[ignoreCaseIfNeeded(getLabel(suggestion))] = suggestionsLabelMapCache.get()[ignoreCaseIfNeeded(getLabel(suggestion))] || suggestion\n )\n })\n return fetch\n }\n }\n }\n useEffect(() => {\n if (!lastIsEditable) {\n if (recentlyAdded.get() !== cancelEditable.current) {\n setFormValue(_.without([cancelEditable.current], formValue).concat(\"\"))\n } else {\n setLocalFormValue(_.last(formValue) === \"\" ? formValue : formValue.concat(\"\"))\n }\n cancelEditable.current = null\n }\n }, [lastIsEditable]);\n\n useEffect(() => {\n const newValue = (formValue || [])\n refreshSuggestions(lastIsEditable ? getValue().slice(-1)[0] : '')\n if (recentlyAdded.get()) {\n recentlyAdded.set(false)\n callIfFunction(onAddValue,formValue,setFormValue)\n }\n }, [formValue])\n\n\n const confirmIfNew = (index, newValue) => {\n refreshSuggestions(newValue, true).then(list => {\n if (!list.length) {\n confirm(index, newValue)\n } else {\n onChange(index, newValue)\n }\n })\n }\n\n const confirm = (index, newValue) => {\n if (autoCompleteList.length && hoverIndex.isOpen >= 0) {\n addValue(autoCompleteList[hoverIndex.isOpen])\n } else {\n confirmValue(index, newValue)\n }\n }\n\n const confirmValue = (index, newValue, fromBlur) => {\n if (!newValue) { return }\n const suggestedValue = suggestionsLabelMapCache[ignoreCaseIfNeeded(newValue || '').trim()]\n if (suggestedValue) {\n addValue(suggestedValue, fromBlur)\n return\n }\n const {success, errors} = validation(newValue)\n if (errors) {\n errorUtils.setErrors({errors})\n } else {\n addValue(success, fromBlur)\n }\n }\n\n const onChange = (index, value) => {\n errorUtils.clearErrors()\n setFormValue(_s.set([index], value))\n }\n\n\n const addValue = (value, fromBlur) => {\n const index = Math.max(lastIsEditable ? getValue().length - 1 : getValue().length,0)\n recentlyAdded.set(formValue?.[index] || \"\")\n setFormValue(_.flow(_.set([index], value),_.concat(_,\"\")))\n if (!fromBlur) {\n focusInput()\n }\n }\n\n const remove = (index) => {\n setFormValue(_.flow(_s.unset(index),_.filter(_=>_!==undefined)))\n focusInput()\n }\n\n const onBlur = (e) => {\n autoCompleteBox.close()\n const v = getValue().slice(-1)[0]\n if (lastIsEditable) {\n const {errors} = validation(v)\n const firstIsEqual = autoCompleteList.slice(0,1).find((item) => ignoreCaseIfNeeded(getLabel(item)) === ignoreCaseIfNeeded(v))\n if (v && autoSelect && (autoCompleteList.length === 1 || firstIsEqual) && errors) {\n addValue(autoCompleteList[0], true)\n } else if (autoSelectEquals && firstIsEqual) {\n addValue(autoCompleteList[0], true)\n } else {\n confirmValue(getValue().length - 1, v, true)\n }\n } else if (autoCompleteList.length) {\n setAutoCompleteList([])\n }\n }\n\n React.useImperativeHandle(hooksRef, () => ({addValue,confirm,remove}), [formValue])\n\n const validValue = formValue || ['']\n const uniqueKeyLabel = {}\n const _getUniqueKey = (value) => {\n if (getUniqueKey) {\n return getUniqueKey(value)\n }\n const label = getLabel(value)\n const uid = uniqueKeyLabel[label] = (uniqueKeyLabel[label] || 0) + 1\n return label + uid\n }\n\n const tryOpenSuggestions = (e) => {\n if (autoCompleteBox.get()) {\n stopPropagation(onBlur)(e)\n } else {\n errorUtils.clearErrors()\n refreshSuggestions(lastIsEditable ? getValue().slice(-1)[0] : '',false,true)\n focusInput()\n }\n }\n const input = <>\n <AutoCompleteInput\n onKeyDown={(e) => e.key === ' ' && e.stopPropagation()}\n className={className}\n ref={ref}\n onFocus={() => {\n if (autoCompleteList.length) autoCompleteBox.open()\n else if (withDropdown && editableIsEmpty()) refreshSuggestions(undefined, undefined, true)\n }}\n hasErrors={errorUtils.errors.length>0 || hasErrors}\n onBlur={onBlur}\n onClick={(e) => { focusBeforeLast(e); if (editableIsEmpty() && !isLoading.isOpen) {refreshSuggestions(undefined,undefined,true)}}}\n focused={autoCompleteBox.isOpen}\n withDropdown={withDropdown}\n >\n <span>{'\\u200b'}</span>\n {validValue.map((v, i) =>\n <ValueItem\n value={v}\n index={i}\n cancelEditable={(v) => {cancelEditable.current = v }}\n isEditable={lastIsEditable && validValue.length===i+1}\n confirmKeys={confirmKeys}\n confirmIfValueKeys={confirmIfValueKeys}\n deleteOnBackspace={deleteOnBackspace}\n EditableInput={EditableInput}\n key={lastIsEditable && validValue.length===i+1 ? '$$editable$$' : _getUniqueKey(v)}\n onChange={onChange}\n remove={remove}\n confirm={confirm}\n getLabel={getLabel}\n tabIndex={tabIndex}\n confirmIfNew={confirmIfNew}\n confirmIfNewKeys={confirmIfNewKeys}\n CompletedBox={CompletedBox}\n />\n )}\n <span>{'\\u200b'}</span>\n {(!formValue || !formValue.join('')) && placeholder &&\n <AutoCompletePlaceholder onClick={(e) => ref.current.click()}>{placeholder}</AutoCompletePlaceholder>}\n {\n withDropdown && !isLoading.isOpen &&\n <DropdownIconContainer onClick={tryOpenSuggestions}>\n <Icon icon=\"arrow-down\"/>\n </DropdownIconContainer>\n }\n </AutoCompleteInput>\n {\n autoCompleteBox.isOpen !== false && !errorUtils.errors.length && autoCompleteList.length > 0 &&\n <AutoCompleteMenu\n hoverIndex={hoverIndex.isOpen}\n autoHover={autoSelect}\n onClick={constrainEvent()}\n onHover={hoverIndex.openWith}\n my=\"top left\"\n at=\"bottom left\"\n fill\n >\n {autoCompleteList.map(value =>\n <AutoCompleteLi\n className={ !translatable ? 'notranslate' : null }\n key={_getUniqueKey(value)}\n label={getListItem(value)}\n onMouseDown={e => e.preventDefault()}\n onClick={() => addValue(value)}\n />\n )}\n </AutoCompleteMenu>\n }\n <ErrorProvider value={errorUtils}>\n <AutoCompleteError/>\n </ErrorProvider>\n </>\n return withoutField\n ? input\n : <Field bellowDescText={bellowDescText} className={fieldClassName} value={formValue} mandatory={mandatory}\n descText={descText} helpText={helpText} label={label} labelClick={focusInput}>\n {isLoading.isOpen && <InputLoading absolute size={24}/>}\n {input}\n </Field>\n }\n)\n\nAutoComplete.AddedBox = AddedBox\nAutoComplete.RemoveIcon = RemoveIcon\nAutoComplete.AutoCompleteTextboxDiv = AutoCompleteTextboxDiv\n\nconst cleanText = text => {\n const clean = text.replace('\\u200b', '').replace(/\\n/g, ' ').replace(/\\s+/g, ' ')\n return clean.trim() ? clean : ''\n}\n\nconst ValueItem = ({CompletedBox,isEditable,getLabel,cancelEditable,value,remove,index,...props}) => {\n const isEditing = useToggle(isEditable)\n const valueRef = useRef(value)\n valueRef.current = value\n useEffect(() => () => {\n if (isEditing.isOpen) {\n cancelEditable(valueRef.current)\n }\n },[])\n return isEditing.isOpen\n ? <AutoCompleteTextbox\n {...props}\n value={value}\n index={index}\n remove={remove}\n />\n : <CompletedBox\n label={getLabel(value)}\n value={value}\n remove={() => remove(index)}\n />\n}\n\nexport class AutoCompleteTextbox extends React.Component {\n\n state = {value:this.props.value}\n\n deletePrev = () => this.props.index > 0 && this.props.remove(this.props.index - 1)\n\n onKeyDown = (e) => {\n const range = window.getSelection().getRangeAt(0)\n if (this.props.confirmIfNewKeys.indexOf(e.key) >= 0) {\n e.preventDefault()\n const text = range.startContainer.textContent\n this.props.confirmIfNew(\n this.props.index,\n cleanText((text.slice(0, range.startOffset) + '\\uFFFD' + text.slice(range.startOffset)).replace('\\uFFFD', e.key))\n )\n } else if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n e.stopPropagation()\n } else if (this.props.confirmKeys.indexOf(e.key) >= 0 || this.props.confirmIfValueKeys.indexOf(e.key) >= 0) {\n if (this.props.confirmKeys.indexOf(e.key) >= 0) {\n e.preventDefault()\n }\n if (this.props.value) {\n e.preventDefault()\n e.stopPropagation()\n this.props.confirm(this.props.index, this.props.value)\n }\n } else if (e.key === 'Backspace' && this.props.deleteOnBackspace) {\n if (e.target.textContent !== '\\u200b' || !range.collapsed) {\n if (range.startContainer.previousSibling) {\n if (range.startContainer.previousSibling.textContent.length) {\n return\n }\n } else if (range.startOffset > 0) {\n return\n }\n }\n e.preventDefault()\n this.deletePrev()\n }\n }\n\n onChange = (evt) => {\n this.props.onChange(this.props.index, cleanText(evt.currentTarget.isContentEditable ? evt.currentTarget.innerText : evt.target.value))\n }\n\n shouldComponentUpdate(nextProps) {\n const event = new CustomEvent('portalReposition')\n setTimeout(() => window.dispatchEvent(event), 1)\n if (this.el.innerHTML === '<br>' || !this.el.innerHTML) {\n this.props.onChange(this.props.index, '')\n }\n return nextProps.value !== cleanText(this.el.innerText) || !!Object.keys(nextProps).find((k) => nextProps[k] !== this.props[k])\n }\n\n componentDidUpdate(oldProps) {\n if (this.props.value.slice(-1) === ' ' && /\\S/.test(this.el.textContent.slice(-1))) { // does not have blank space as last\n this.el.innerHTML = this.props.value.replace(/\\s/, ' ')\n }\n if (this.props.value !== oldProps.value && document.activeElement === this.el) {\n setSelectionRange(this.el.firstChild || this.el, this.el.textContent.length + 1)\n }\n }\n\n onPaste = (ev) => {\n ev.preventDefault()\n const text = ev.clipboardData.getData('text')\n document.execCommand('insertText', false, text)\n }\n\n render() {\n const {value, confirmKeys, index, EditableInput, confirmIfNewKeys, confirmIfNew, confirm, remove, ...rest} = this.props\n const valueOrBlank = /*android fix, not needed? value || */ _.isString(value) && value ? value : '\\u200b'\n\n const props = {\n innerRef: ref => this.el = ref,\n onKeyDown: this.onKeyDown,\n onPaste: this.onPaste,\n value: value,\n index: index,\n html: valueOrBlank.replace(/\\s$/, ' '),\n ...rest,\n onChange: this.onChange,\n }\n return typeof EditableInput === 'function' ? EditableInput(props) : <EditableInput {...props} />\n }\n}\n"],"names":["ua","navigator","userAgent","toLowerCase","isSafari","indexOf","InputLoading","styled","Loading","withConfig","displayName","componentId","AutoCompleteInput","div","getColor","props","focused","concat","hasErrors","css","media","mobile","_templateObject","_taggedTemplateLiteral","withDropdown","_templateObject2","customTheme","AutoCompletePlaceholder","span","_templateObject3","AutoCompleteTextboxDiv","ContentEditable","AddedBox","RemoveIcon","Icon","darken","AutoCompleteMenu","ContextMenu","ListItem","AutoCompleteError","Errors","Item","CloseIcon","DropdownIconContainer","_templateObject4","focusBeforeLast","e","target","currentTarget","el","slice","call","querySelectorAll","focus","firstChild","node","document","createTextNode","appendChild","setSelectionRange","textContent","length","input","selectionStart","range","createRange","sel","window","getSelection","setStart","Math","max","removeAllRanges","addRange","AutoComplete","React","forwardRef","_ref","outerRef","path","AutoCompleteLi","Li","CompletedBox","_ref2","label","remove","value","createElement","title","icon","onMouseUp","constrainEvent","EditableInput","getLabel","v","minQueryLength","ignoreCase","autoSelect","autoSelectEquals","fetchLimit","deleteOnBackspace","fetchSuggestions","rawFetchSuggestions","validation","success","trim","transform","autoFocus","clickOpensWhenEmpty","tabIndex","confirmIfNewKeys","confirmKeys","confirmIfValueKeys","placeholder","className","getListItem","onAddValue","getUniqueKey","translatable","withoutField","fieldClassName","bellowDescText","mandatory","descText","helpText","setValue","raw","autoCompleteBox","useToggle","hoverIndex","isLoading","cancelEditable","useRef","formValue","_setFormValue","useInput","formValueRef","current","localFormValue","setLocalFormValue","useState","_last","setFormValue","updater","lastIsEditable","_isEqual","ErrorProvider","errorUtils","useProvideErrors","hooksRef","useEnsureRef","ref","queries","useRefState","suggestionsFetchCache","suggestionsLabelMapCache","lastSuggestionQuery","autoCompleteList","setAutoCompleteList","getValue","shouldFocusInput","recentlyAdded","useEffect","focusInput","openWith","i","isOpen","editableIsEmpty","ignoreCaseIfNeeded","s","refreshSuggestions","arguments","undefined","justFetch","dropdownFetch","set","removeEditable","list","wait","Promise","resolve","then","noRepeatedList","filter","find","_","index","get","q","open","prevQuery","lastFetch","map","fetch","forEach","suggestion","_without","callIfFunction","confirmIfNew","newValue","confirm","onChange","addValue","confirmValue","fromBlur","suggestedValue","errors","setErrors","clearErrors","_s","_flow","_set","_concat","unset","_filter","onBlur","close","firstIsEqual","item","useImperativeHandle","validValue","uniqueKeyLabel","_getUniqueKey","uid","tryOpenSuggestions","stopPropagation","Fragment","onKeyDown","key","onFocus","onClick","ValueItem","isEditable","join","click","autoHover","onHover","my","at","fill","onMouseDown","preventDefault","Field","labelClick","absolute","size","cleanText","text","clean","replace","_ref3","_objectWithoutProperties","_excluded","isEditing","valueRef","AutoCompleteTextbox","_extends","Component","constructor","state","deletePrev","getRangeAt","startContainer","startOffset","collapsed","previousSibling","evt","isContentEditable","innerText","onPaste","ev","clipboardData","getData","execCommand","shouldComponentUpdate","nextProps","event","CustomEvent","setTimeout","dispatchEvent","innerHTML","Object","keys","k","componentDidUpdate","oldProps","test","activeElement","render","_this$props","rest","_excluded2","valueOrBlank","_isString","_objectSpread","innerRef","html"],"mappings":"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"}
|
package/lib/Checkbox.mjs
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import _identity from 'lodash/fp/identity';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import styled from 'styled-components';
|
|
6
|
+
import { useInput } from './enhanceInput.mjs';
|
|
7
|
+
import { useToggle } from '@startlibs/core';
|
|
8
|
+
import { isTouchDevice, callIfFunction } from '@startlibs/utils';
|
|
9
|
+
|
|
10
|
+
const _excluded = ["className", "children", "isChecked", "isList", "onClick", "disabled", "inverted", "path", "tabIndex", "raw"];
|
|
11
|
+
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; }
|
|
12
|
+
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; }
|
|
13
|
+
const HiddenInput = /*#__PURE__*/styled.input.withConfig({
|
|
14
|
+
displayName: "Checkbox__HiddenInput",
|
|
15
|
+
componentId: "sc-19o1zxv-0"
|
|
16
|
+
})(["opacity:0 !important;position:absolute;pointer-events:none;"]);
|
|
17
|
+
const Checkbox = _ref => {
|
|
18
|
+
let {
|
|
19
|
+
className,
|
|
20
|
+
children,
|
|
21
|
+
isChecked = _identity,
|
|
22
|
+
isList,
|
|
23
|
+
onClick,
|
|
24
|
+
disabled,
|
|
25
|
+
inverted,
|
|
26
|
+
path,
|
|
27
|
+
tabIndex = 1,
|
|
28
|
+
raw
|
|
29
|
+
} = _ref,
|
|
30
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
+
const focused = useToggle();
|
|
32
|
+
const [v,, {
|
|
33
|
+
name,
|
|
34
|
+
toggle,
|
|
35
|
+
toggleItem,
|
|
36
|
+
hasErrors
|
|
37
|
+
}] = useInput(_objectSpread({
|
|
38
|
+
path,
|
|
39
|
+
isChecked
|
|
40
|
+
}, rest), raw);
|
|
41
|
+
const testInvert = v => inverted ? !v : v;
|
|
42
|
+
const value = isChecked(testInvert(isList ? (v === null || v === void 0 ? void 0 : v.indexOf(rest.fieldValue)) >= 0 : v));
|
|
43
|
+
const _onClick = e => {
|
|
44
|
+
callIfFunction(onClick, e);
|
|
45
|
+
if (!e.isDefaultPrevented()) {
|
|
46
|
+
if (isList) {
|
|
47
|
+
toggleItem();
|
|
48
|
+
} else {
|
|
49
|
+
toggle();
|
|
50
|
+
}
|
|
51
|
+
e.preventDefault();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
return /*#__PURE__*/React.createElement("label", {
|
|
55
|
+
onClick: _onClick,
|
|
56
|
+
"data-drag": "false",
|
|
57
|
+
className: className
|
|
58
|
+
}, !isTouchDevice() && /*#__PURE__*/React.createElement(HiddenInput, {
|
|
59
|
+
onFocus: focused.open,
|
|
60
|
+
onBlur: focused.close,
|
|
61
|
+
disabled: disabled,
|
|
62
|
+
type: "checkbox",
|
|
63
|
+
name: name,
|
|
64
|
+
readOnly: true,
|
|
65
|
+
checked: !!value,
|
|
66
|
+
tabIndex: tabIndex
|
|
67
|
+
}), children && children({
|
|
68
|
+
disabled,
|
|
69
|
+
checked: !!value,
|
|
70
|
+
hasErrors,
|
|
71
|
+
focused: focused.isOpen
|
|
72
|
+
}));
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export { Checkbox };
|
|
76
|
+
//# sourceMappingURL=Checkbox.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.mjs","sources":["../src/Checkbox.jsx"],"sourcesContent":["import React from 'react'\nimport _ from 'lodash/fp'\nimport styled from 'styled-components'\nimport {useInput} from './enhanceInput'\nimport {useToggle} from '@startlibs/core'\nimport {callIfFunction, isTouchDevice} from '@startlibs/utils'\n\nconst HiddenInput = styled.input`\n opacity: 0 !important;\n position: absolute;\n pointer-events: none;\n`\n\nexport const Checkbox = ({className, children, isChecked = _.identity, isList, onClick, disabled, inverted, path, tabIndex = 1, raw, ...rest}) => {\n const focused = useToggle()\n const [v, ,{name, toggle, toggleItem, hasErrors}] = useInput({ path, isChecked,...rest}, raw)\n const testInvert = (v) => inverted ? !v : v\n const value = isChecked(testInvert(isList ? v?.indexOf(rest.fieldValue) >= 0 : v))\n const _onClick = (e) => {\n callIfFunction(onClick, e)\n if (!e.isDefaultPrevented()) {\n if (isList) {\n toggleItem()\n } else {\n toggle();\n }\n e.preventDefault();\n }\n }\n return <label onClick={_onClick} data-drag=\"false\" className={className}>\n {\n !isTouchDevice() && <HiddenInput\n onFocus={focused.open}\n onBlur={focused.close}\n disabled={disabled}\n type=\"checkbox\"\n name={name}\n readOnly\n checked={!!value}\n tabIndex={tabIndex}\n />\n }\n {children && children({disabled, checked: !!value, hasErrors, focused: focused.isOpen})}\n </label>\n}\n"],"names":["HiddenInput","styled","input","withConfig","displayName","componentId","Checkbox","_ref","className","children","isChecked","_identity","isList","onClick","disabled","inverted","path","tabIndex","raw","rest","_objectWithoutProperties","_excluded","focused","useToggle","v","name","toggle","toggleItem","hasErrors","useInput","_objectSpread","testInvert","value","indexOf","fieldValue","_onClick","e","callIfFunction","isDefaultPrevented","preventDefault","React","createElement","isTouchDevice","onFocus","open","onBlur","close","type","readOnly","checked","isOpen"],"mappings":";;;;;;;;;;;;AAOA,MAAMA,WAAW,gBAAGC,MAAM,CAACC,KAAK,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,uBAAA;EAAAC,WAAA,EAAA,cAAA;AAAA,CAI/B,CAAA,CAAA,CAAA,6DAAA,CAAA,CAAA,CAAA;AAEYC,MAAAA,QAAQ,GAAGC,IAAA,IAA0H;EAAA,IAAzH;MAACC,SAAS;MAAEC,QAAQ;AAAEC,MAAAA,SAAS,GAAAC,SAAa;MAAEC,MAAM;MAAEC,OAAO;MAAEC,QAAQ;MAAEC,QAAQ;MAAEC,IAAI;AAAEC,MAAAA,QAAQ,GAAG,CAAC;AAAEC,MAAAA,GAAAA;AAAY,KAAC,GAAAX,IAAA;AAALY,IAAAA,IAAI,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA,CAAA;AAC1I,EAAA,MAAMC,OAAO,GAAGC,SAAS,EAAE,CAAA;EAC3B,MAAM,CAACC,CAAC,GAAG;IAACC,IAAI;IAAEC,MAAM;IAAEC,UAAU;AAAEC,IAAAA,SAAAA;AAAS,GAAC,CAAC,GAAGC,QAAQ,CAAAC,aAAA,CAAA;IAAGd,IAAI;AAAEN,IAAAA,SAAAA;GAAaS,EAAAA,IAAI,CAAGD,EAAAA,GAAG,CAAC,CAAA;EAC7F,MAAMa,UAAU,GAAIP,CAAC,IAAKT,QAAQ,GAAG,CAACS,CAAC,GAAGA,CAAC,CAAA;EAC3C,MAAMQ,KAAK,GAAGtB,SAAS,CAACqB,UAAU,CAACnB,MAAM,GAAG,CAAAY,CAAC,KAAA,IAAA,IAADA,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAADA,CAAC,CAAES,OAAO,CAACd,IAAI,CAACe,UAAU,CAAC,KAAI,CAAC,GAAGV,CAAC,CAAC,CAAC,CAAA;EAClF,MAAMW,QAAQ,GAAIC,CAAC,IAAK;AACtBC,IAAAA,cAAc,CAACxB,OAAO,EAAEuB,CAAC,CAAC,CAAA;AAC1B,IAAA,IAAI,CAACA,CAAC,CAACE,kBAAkB,EAAE,EAAE;AAC3B,MAAA,IAAI1B,MAAM,EAAE;AACVe,QAAAA,UAAU,EAAE,CAAA;AACd,OAAC,MAAM;AACLD,QAAAA,MAAM,EAAE,CAAA;AACV,OAAA;MACAU,CAAC,CAACG,cAAc,EAAE,CAAA;AACpB,KAAA;GACD,CAAA;EACD,oBAAOC,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAO5B,IAAAA,OAAO,EAAEsB,QAAS;AAAC,IAAA,WAAA,EAAU,OAAO;AAAC3B,IAAAA,SAAS,EAAEA,SAAAA;GAE1D,EAAA,CAACkC,aAAa,EAAE,iBAAIF,KAAA,CAAAC,aAAA,CAACzC,WAAW,EAAA;IAC9B2C,OAAO,EAAErB,OAAO,CAACsB,IAAK;IACtBC,MAAM,EAAEvB,OAAO,CAACwB,KAAM;AACtBhC,IAAAA,QAAQ,EAAEA,QAAS;AACnBiC,IAAAA,IAAI,EAAC,UAAU;AACftB,IAAAA,IAAI,EAAEA,IAAK;IACXuB,QAAQ,EAAA,IAAA;IACRC,OAAO,EAAE,CAAC,CAACjB,KAAM;AACjBf,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GACpB,CAAC,EAEHR,QAAQ,IAAIA,QAAQ,CAAC;IAACK,QAAQ;IAAEmC,OAAO,EAAE,CAAC,CAACjB,KAAK;IAAEJ,SAAS;IAAEN,OAAO,EAAEA,OAAO,CAAC4B,MAAAA;AAAM,GAAC,CACjF,CAAC,CAAA;AACV;;;;"}
|