@startlibs/form 1.1.2 → 1.2.0-rc.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.
Files changed (112) hide show
  1. package/lib/AutoComplete.mjs +19 -10
  2. package/lib/AutoComplete.mjs.map +1 -1
  3. package/lib/Checkbox.mjs +4 -2
  4. package/lib/Checkbox.mjs.map +1 -1
  5. package/lib/Combobox.mjs +1 -1
  6. package/lib/Combobox.mjs.map +1 -1
  7. package/lib/DatePicker.mjs +25 -9
  8. package/lib/DatePicker.mjs.map +1 -1
  9. package/lib/Errors.mjs +20 -10
  10. package/lib/Errors.mjs.map +1 -1
  11. package/lib/ExpandableBox.mjs +1 -1
  12. package/lib/ExpandableBox.mjs.map +1 -1
  13. package/lib/Field.mjs +10 -5
  14. package/lib/Field.mjs.map +1 -1
  15. package/lib/FieldBox.mjs +3 -3
  16. package/lib/FieldBox.mjs.map +1 -1
  17. package/lib/InputboxGroup.mjs +1 -1
  18. package/lib/InputboxGroup.mjs.map +1 -1
  19. package/lib/RichText.mjs +11 -6
  20. package/lib/RichText.mjs.map +1 -1
  21. package/lib/TextInput.mjs +4 -4
  22. package/lib/TextInput.mjs.map +1 -1
  23. package/lib/alt/checkbox/SimpleCheckbox.mjs +1 -1
  24. package/lib/alt/checkbox/SimpleCheckbox.mjs.map +1 -1
  25. package/lib/alt/checkbox/ToggleCheckbox.mjs +4 -3
  26. package/lib/alt/checkbox/ToggleCheckbox.mjs.map +1 -1
  27. package/lib/alt/radiobox/CleanTabRadiobox.mjs +1 -1
  28. package/lib/alt/radiobox/CleanTabRadiobox.mjs.map +1 -1
  29. package/lib/alt/radiobox/SimpleRadiobox.mjs +2 -2
  30. package/lib/alt/radiobox/SimpleRadiobox.mjs.map +1 -1
  31. package/lib/alt/radiobox/TabRadiobox.mjs +1 -1
  32. package/lib/alt/radiobox/TabRadiobox.mjs.map +1 -1
  33. package/lib/index.cjs +106 -54
  34. package/lib/index.cjs.map +1 -1
  35. package/lib/index.mjs +2 -2
  36. package/lib/withFormImageInput.mjs +1 -1
  37. package/lib/withFormImageInput.mjs.map +1 -1
  38. package/lib-yak/AutoComplete.mjs +705 -0
  39. package/lib-yak/AutoComplete.mjs.map +1 -0
  40. package/lib-yak/Checkbox.mjs +80 -0
  41. package/lib-yak/Checkbox.mjs.map +1 -0
  42. package/lib-yak/Combobox.mjs +652 -0
  43. package/lib-yak/Combobox.mjs.map +1 -0
  44. package/lib-yak/ComboboxWithCustom.mjs +77 -0
  45. package/lib-yak/ComboboxWithCustom.mjs.map +1 -0
  46. package/lib-yak/DatePicker.mjs +774 -0
  47. package/lib-yak/DatePicker.mjs.map +1 -0
  48. package/lib-yak/EditableBox.mjs +495 -0
  49. package/lib-yak/EditableBox.mjs.map +1 -0
  50. package/lib-yak/Errors.mjs +226 -0
  51. package/lib-yak/Errors.mjs.map +1 -0
  52. package/lib-yak/ExpandableBox.mjs +247 -0
  53. package/lib-yak/ExpandableBox.mjs.map +1 -0
  54. package/lib-yak/Field.mjs +93 -0
  55. package/lib-yak/Field.mjs.map +1 -0
  56. package/lib-yak/FieldBox.mjs +173 -0
  57. package/lib-yak/FieldBox.mjs.map +1 -0
  58. package/lib-yak/Form.mjs +322 -0
  59. package/lib-yak/Form.mjs.map +1 -0
  60. package/lib-yak/FormValue.mjs +111 -0
  61. package/lib-yak/FormValue.mjs.map +1 -0
  62. package/lib-yak/InputboxGroup.mjs +146 -0
  63. package/lib-yak/InputboxGroup.mjs.map +1 -0
  64. package/lib-yak/Radiobox.mjs +69 -0
  65. package/lib-yak/Radiobox.mjs.map +1 -0
  66. package/lib-yak/RichText.mjs +776 -0
  67. package/lib-yak/RichText.mjs.map +1 -0
  68. package/lib-yak/TextInput.mjs +589 -0
  69. package/lib-yak/TextInput.mjs.map +1 -0
  70. package/lib-yak/alt/checkbox/SimpleCheckbox.mjs +225 -0
  71. package/lib-yak/alt/checkbox/SimpleCheckbox.mjs.map +1 -0
  72. package/lib-yak/alt/checkbox/ToggleCheckbox.mjs +173 -0
  73. package/lib-yak/alt/checkbox/ToggleCheckbox.mjs.map +1 -0
  74. package/lib-yak/alt/radiobox/CleanTabRadiobox.mjs +87 -0
  75. package/lib-yak/alt/radiobox/CleanTabRadiobox.mjs.map +1 -0
  76. package/lib-yak/alt/radiobox/IconRadioBox.mjs +138 -0
  77. package/lib-yak/alt/radiobox/IconRadioBox.mjs.map +1 -0
  78. package/lib-yak/alt/radiobox/SimpleRadiobox.mjs +203 -0
  79. package/lib-yak/alt/radiobox/SimpleRadiobox.mjs.map +1 -0
  80. package/lib-yak/alt/radiobox/TabRadiobox.mjs +117 -0
  81. package/lib-yak/alt/radiobox/TabRadiobox.mjs.map +1 -0
  82. package/lib-yak/enhanceInput.mjs +131 -0
  83. package/lib-yak/enhanceInput.mjs.map +1 -0
  84. package/lib-yak/index.mjs +28 -0
  85. package/lib-yak/index.mjs.map +1 -0
  86. package/lib-yak/useConfirmDialog.mjs +117 -0
  87. package/lib-yak/useConfirmDialog.mjs.map +1 -0
  88. package/lib-yak/useDraftConfirmation.mjs +56 -0
  89. package/lib-yak/useDraftConfirmation.mjs.map +1 -0
  90. package/lib-yak/validation.mjs +91 -0
  91. package/lib-yak/validation.mjs.map +1 -0
  92. package/lib-yak/withFormImageInput.mjs +298 -0
  93. package/lib-yak/withFormImageInput.mjs.map +1 -0
  94. package/package.json +13 -3
  95. package/src/AutoComplete.jsx +25 -15
  96. package/src/Checkbox.jsx +2 -2
  97. package/src/Combobox.jsx +1 -1
  98. package/src/DatePicker.jsx +25 -22
  99. package/src/Errors.jsx +18 -8
  100. package/src/ExpandableBox.jsx +3 -3
  101. package/src/Field.jsx +9 -4
  102. package/src/FieldBox.jsx +6 -6
  103. package/src/IconRadioBoxOldHubt.jsx +1 -1
  104. package/src/InputboxGroup.jsx +1 -1
  105. package/src/RichText.jsx +17 -13
  106. package/src/TextInput.jsx +37 -26
  107. package/src/alt/checkbox/SimpleCheckbox.jsx +5 -5
  108. package/src/alt/checkbox/ToggleCheckbox.jsx +9 -8
  109. package/src/alt/radiobox/CleanTabRadiobox.jsx +2 -2
  110. package/src/alt/radiobox/SimpleRadiobox.jsx +7 -7
  111. package/src/alt/radiobox/TabRadiobox.jsx +4 -4
  112. package/src/withFormImageInput.jsx +2 -2
@@ -13,8 +13,8 @@ import _last from 'lodash/fp/last';
13
13
  import React, { useRef, useState, useEffect } from 'react';
14
14
  import ContentEditableModule from 'react-contenteditable';
15
15
  import { useToggle, useEnsureRef, useRefState } from '@startlibs/core';
16
- import { Icon, ContextMenu, Loading, Li } from '@startlibs/components';
17
- import { Errors, useProvideErrors } from './Errors.mjs';
16
+ import { Icon, Loading, ContextMenu, ListItem, Li } from '@startlibs/components';
17
+ import { Errors, ErrorsItem, ErrorsCloseIcon, useProvideErrors } from './Errors.mjs';
18
18
  import { Field } from './Field.mjs';
19
19
  import { useInput } from './enhanceInput.mjs';
20
20
  import { getColor, media, customTheme, callIfFunction, constrainEvent, _s, stopPropagation } from '@startlibs/utils';
@@ -50,23 +50,23 @@ const AutoCompleteTextboxDiv = /*#__PURE__*/styled(ContentEditable).withConfig({
50
50
  const AddedBox = /*#__PURE__*/styled.span.withConfig({
51
51
  displayName: "AutoComplete__AddedBox",
52
52
  componentId: "sc-g0526o-4"
53
- })(["background-color:rgb(230,230,230);padding:5px 2rem 5px 0.75rem;border-radius:12px;font-size:13px;position:relative;margin-left:-3px;margin-right:9px;white-space:nowrap;cursor:default;line-height:normal;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;", ""], isSafari ? "\n vertical-align: 2px;\n " : "\n vertical-align: -7px;\n ");
53
+ })(["background-color:rgb(230,230,230);padding:5px 2rem 5px 0.75rem;border-radius:12px;font-size:13px;position:relative;margin-left:-3px;margin-right:9px;white-space:nowrap;cursor:default;line-height:normal;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:", ";"], () => isSafari ? '2px' : '-7px');
54
54
  const RemoveIcon = /*#__PURE__*/styled(Icon).withConfig({
55
55
  displayName: "AutoComplete__RemoveIcon",
56
56
  componentId: "sc-g0526o-5"
57
- })(["width:20px;height:20px;border-radius:50%;display:inline-block;position:absolute;top:50%;line-height:20px;transform:translateY(-50%);right:2px;font-size:14px;text-align:center;cursor:pointer;color:", ";:hover{background-color:", ";color:", ";}"], getColor('gray120'), getColor('gray210'), props => darken(0.05, getColor('alert')(props)));
57
+ })(["width:20px;height:20px;border-radius:50%;display:inline-block;position:absolute;top:50%;line-height:20px;transform:translateY(-50%);right:2px;font-size:14px;text-align:center;cursor:pointer;color:", ";&:hover{background-color:", ";color:", ";}"], getColor('gray120'), getColor('gray210'), props => darken(0.05, getColor('alert')(props)));
58
58
  const AutoCompleteMenu = /*#__PURE__*/styled(ContextMenu).withConfig({
59
59
  displayName: "AutoComplete__AutoCompleteMenu",
60
60
  componentId: "sc-g0526o-6"
61
- })(["box-shadow:0 2px 3px 1px rgba(0,0,0,0.2),0 0px 0px 1px rgba(0,0,0,0.05);max-height:22rem;overflow:auto;", "{> *{padding:11px;}}"], ContextMenu.ListItem);
61
+ })(["box-shadow:0 2px 3px 1px rgba(0,0,0,0.2),0 0px 0px 1px rgba(0,0,0,0.05);max-height:22rem;overflow:auto;", "{> *{padding:11px;}}"], ListItem);
62
62
  const AutoCompleteError = /*#__PURE__*/styled(Errors).withConfig({
63
63
  displayName: "AutoComplete__AutoCompleteError",
64
64
  componentId: "sc-g0526o-7"
65
- })(["", "{background:transparent;border:none;color:", ";padding:0;margin-top:0.5rem;font-weight:600;", "{display:none;}}"], Errors.Item, getColor('alert'), Errors.CloseIcon);
65
+ })(["", "{background:transparent;border:none;color:", ";padding:0;margin-top:0.5rem;font-weight:600;", "{display:none;}}"], ErrorsItem, getColor('alert'), ErrorsCloseIcon);
66
66
  const DropdownIconContainer = /*#__PURE__*/styled(Icon).withConfig({
67
67
  displayName: "AutoComplete__DropdownIconContainer",
68
68
  componentId: "sc-g0526o-8"
69
- })(["position:absolute;right:0;bottom:0;width:3rem;height:3rem;bottom:-1px;", " ", "{position:absolute;width:2rem;height:2rem;line-height:2rem;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.1);border-radius:50%;text-align:center;cursor:pointer;color:", ";:hover,:active{background:rgba(0,0,0,0.15);}}"], media.mobile(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n height: 42px;\n "]))), Icon, getColor('gray90'));
69
+ })(["position:absolute;right:0;bottom:0;width:3rem;height:3rem;bottom:-1px;", " ", "{position:absolute;width:2rem;height:2rem;line-height:2rem;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.1);border-radius:50%;text-align:center;cursor:pointer;color:", ";&:hover,&:active{background:rgba(0,0,0,0.15);}}"], media.mobile(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n height: 42px;\n "]))), Icon, getColor('gray90'));
70
70
  const focusBeforeLast = e => {
71
71
  if (e.target && e.target !== e.currentTarget) return;
72
72
  const el = [].slice.call(e.currentTarget.querySelectorAll('div[contenteditable]')).slice(-1)[0];
@@ -498,6 +498,7 @@ class AutoCompleteTextbox extends React.Component {
498
498
  this.onChange = evt => {
499
499
  this.props.onChange(this.props.index, cleanText(evt.currentTarget.isContentEditable ? evt.currentTarget.innerText : evt.target.value));
500
500
  };
501
+ this.setEl = ref => this.el = ref;
501
502
  this.onPaste = ev => {
502
503
  ev.preventDefault();
503
504
  const text = ev.clipboardData.getData('text');
@@ -512,12 +513,19 @@ class AutoCompleteTextbox extends React.Component {
512
513
  }
513
514
  return nextProps.value !== cleanText(this.el.innerText) || !!Object.keys(nextProps).find(k => nextProps[k] !== this.props[k]);
514
515
  }
515
- componentDidUpdate(oldProps) {
516
+
517
+ // Only a programmatic change (not the user typing) should move the caret to the end
518
+ getSnapshotBeforeUpdate() {
519
+ return this.props.value !== cleanText(this.el.innerText);
520
+ }
521
+ componentDidUpdate(oldProps, prevState, changedOutside) {
522
+ let rewritten = false;
516
523
  if (this.props.value.slice(-1) === ' ' && /\S/.test(this.el.textContent.slice(-1))) {
517
524
  // does not have blank space as last
518
525
  this.el.innerHTML = this.props.value.replace(/\s/, ' ');
526
+ rewritten = true;
519
527
  }
520
- if (this.props.value !== oldProps.value && document.activeElement === this.el) {
528
+ if (this.props.value !== oldProps.value && (changedOutside || rewritten) && document.activeElement === this.el) {
521
529
  setSelectionRange(this.el.firstChild || this.el, this.el.textContent.length + 1);
522
530
  }
523
531
  }
@@ -536,7 +544,8 @@ class AutoCompleteTextbox extends React.Component {
536
544
  rest = _objectWithoutProperties(_this$props, _excluded2);
537
545
  const valueOrBlank = /*android fix, not needed? value || */_isString(value) && value ? value : '\u200b';
538
546
  const props = _objectSpread(_objectSpread({
539
- innerRef: ref => this.el = ref,
547
+ // stable ref: a new function each render makes ContentEditable re-render and jump the caret to the end
548
+ innerRef: this.setEl,
540
549
  onKeyDown: this.onKeyDown,
541
550
  onPaste: this.onPaste,
542
551
  value: value,
@@ -1 +1 @@
1
- {"version":3,"file":"AutoComplete.mjs","sources":["../src/AutoComplete.jsx"],"sourcesContent":["import React, {useEffect, useRef, useState} from 'react'\nimport ContentEditableModule 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\n// Node/esbuild interop em .mjs devolve module.exports; Rollup devolve o default. Cobre os dois.\nconst ContentEditable = ContentEditableModule.default || ContentEditableModule\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/, '&nbsp;')\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$/, '&nbsp;'),\n ...rest,\n onChange: this.onChange,\n }\n return typeof EditableInput === 'function' ? EditableInput(props) : <EditableInput {...props} />\n }\n}\n"],"names":["ContentEditable","ContentEditableModule","default","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","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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"}
1
+ {"version":3,"file":"AutoComplete.mjs","sources":["../src/AutoComplete.jsx"],"sourcesContent":["import React, {useEffect, useRef, useState} from 'react'\nimport ContentEditableModule from 'react-contenteditable'\nimport {useRefState, useToggle, useEnsureRef} from '@startlibs/core'\nimport {ContextMenu, Li, ListItem, Loading, Icon} from '@startlibs/components'\nimport {Errors, ErrorsCloseIcon, ErrorsItem, 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\n// Node/esbuild interop em .mjs devolve module.exports; Rollup devolve o default. Cobre os dois.\nconst ContentEditable = ContentEditableModule.default || ContentEditableModule\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ão depende de props; uma const de módulo com um css condicional (ternário)\n não é um mixin válido pro yak (\"not a valid css value or css mixin\"). Em posição de\n valor, uma arrow function comum (mesmo sem usar props) segue a mesma regra de qualquer\n valor dinâmico (R3). */\n vertical-align: ${() => isSafari ? '2px' : '-7px'};\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 ${ListItem} {\n > * {\n padding: 11px;\n }\n }\n`\n\nconst AutoCompleteError = styled(Errors)`\n ${ErrorsItem} {\n background: transparent;\n border: none;\n color: ${getColor('alert')};\n padding: 0;\n margin-top: 0.5rem;\n font-weight: 600;\n ${ErrorsCloseIcon} {\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 // Only a programmatic change (not the user typing) should move the caret to the end\n getSnapshotBeforeUpdate() {\n return this.props.value !== cleanText(this.el.innerText)\n }\n\n componentDidUpdate(oldProps, prevState, changedOutside) {\n let rewritten = false\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/, '&nbsp;')\n rewritten = true\n }\n if (this.props.value !== oldProps.value && (changedOutside || rewritten) && document.activeElement === this.el) {\n setSelectionRange(this.el.firstChild || this.el, this.el.textContent.length + 1)\n }\n }\n\n setEl = ref => this.el = ref\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 // stable ref: a new function each render makes ContentEditable re-render and jump the caret to the end\n innerRef: this.setEl,\n onKeyDown: this.onKeyDown,\n onPaste: this.onPaste,\n value: value,\n index: index,\n html: valueOrBlank.replace(/\\s$/, '&nbsp;'),\n ...rest,\n onChange: this.onChange,\n }\n return typeof EditableInput === 'function' ? EditableInput(props) : <EditableInput {...props} />\n }\n}\n"],"names":["ContentEditable","ContentEditableModule","default","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","AddedBox","RemoveIcon","Icon","darken","AutoCompleteMenu","ContextMenu","ListItem","AutoCompleteError","Errors","ErrorsItem","ErrorsCloseIcon","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","setEl","onPaste","ev","clipboardData","getData","execCommand","shouldComponentUpdate","nextProps","event","CustomEvent","setTimeout","dispatchEvent","innerHTML","Object","keys","k","getSnapshotBeforeUpdate","componentDidUpdate","oldProps","prevState","changedOutside","rewritten","test","activeElement","render","_this$props","rest","_excluded2","valueOrBlank","_isString","_objectSpread","innerRef","html"],"mappings":"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"}
package/lib/Checkbox.mjs CHANGED
@@ -7,7 +7,7 @@ import { useInput } from './enhanceInput.mjs';
7
7
  import { useToggle } from '@startlibs/core';
8
8
  import { isTouchDevice, callIfFunction } from '@startlibs/utils';
9
9
 
10
- const _excluded = ["className", "children", "isChecked", "isList", "onClick", "disabled", "inverted", "path", "tabIndex", "raw"];
10
+ const _excluded = ["className", "style", "children", "isChecked", "isList", "onClick", "disabled", "inverted", "path", "tabIndex", "raw"];
11
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
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
13
  const HiddenInput = /*#__PURE__*/styled.input.withConfig({
@@ -17,6 +17,7 @@ const HiddenInput = /*#__PURE__*/styled.input.withConfig({
17
17
  const Checkbox = _ref => {
18
18
  let {
19
19
  className,
20
+ style,
20
21
  children,
21
22
  isChecked = _identity,
22
23
  isList,
@@ -54,7 +55,8 @@ const Checkbox = _ref => {
54
55
  return /*#__PURE__*/React.createElement("label", {
55
56
  onClick: _onClick,
56
57
  "data-drag": "false",
57
- className: className
58
+ className: className,
59
+ style: style
58
60
  }, !isTouchDevice() && /*#__PURE__*/React.createElement(HiddenInput, {
59
61
  onFocus: focused.open,
60
62
  onBlur: focused.close,
@@ -1 +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;;;;"}
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, style, 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} style={style}>\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","style","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,IAAiI;EAAA,IAAhI;MAACC,SAAS;MAAEC,KAAK;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,GAAAZ,IAAA;AAALa,IAAAA,IAAI,GAAAC,wBAAA,CAAAd,IAAA,EAAAe,SAAA,CAAA,CAAA;AACjJ,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;AAAC5B,IAAAA,SAAS,EAAEA,SAAU;AAACC,IAAAA,KAAK,EAAEA,KAAAA;GAE5E,EAAA,CAACkC,aAAa,EAAE,iBAAIF,KAAA,CAAAC,aAAA,CAAC1C,WAAW,EAAA;IAC9B4C,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;;;;"}
package/lib/Combobox.mjs CHANGED
@@ -30,7 +30,7 @@ const ComboboxMenu = /*#__PURE__*/styled(ContextListMenu).withConfig({
30
30
  const ComboboxInput = /*#__PURE__*/styled.div.withConfig({
31
31
  displayName: "Combobox__ComboboxInput",
32
32
  componentId: "sc-u2hz6i-1"
33
- })(["width:100%;font-size:14px;border:1px solid ", ";border-radius:8px;color:", ";background:white;position:relative;display:block;min-height:3rem;padding:0.5rem 2.5rem 0.5rem 0.7rem;overflow:auto;outline:0;outline:none;cursor:pointer;user-select:none;overflow:hidden;display:flex;align-items:center;word-break:break-word;", " ", " ", ":focus{border-color:", ";box-shadow:0px 0px 0px 2px rgba(0,0,0,0.1);}", " input{position:absolute;top:-1px;left:0;border:none;", "}"], getColor('gray210'), getColor('gray60'), props => props.suggestive && "\n padding-right: 0.7rem;\n ", media.mobile(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n min-height: 42px;\n padding-left: 1rem;\n ", "\n "])), props => props.suggestive && "\n padding-right: 1rem;\n "), props => props.isFocused && css(["border-color:", ";box-shadow:0px 0px 0px 2px rgba(0,0,0,0.1);"], getColor('gray180')), getColor('gray180'), props => props.hasErrors && css(["border-color:", " !important;"], getColor('alert')), props => !props.suggestive && "\n padding-right: 2.5rem;\n ");
33
+ })(["width:100%;font-size:14px;border:1px solid ", ";border-radius:8px;color:", ";background:white;position:relative;display:block;min-height:3rem;padding:0.5rem 2.5rem 0.5rem 0.7rem;overflow:auto;outline:0;outline:none;cursor:pointer;user-select:none;overflow:hidden;display:flex;align-items:center;word-break:break-word;", " ", " ", " &:focus{border-color:", ";box-shadow:0px 0px 0px 2px rgba(0,0,0,0.1);}", " input{position:absolute;top:-1px;left:0;border:none;", "}"], getColor('gray210'), getColor('gray60'), props => props.suggestive && "\n padding-right: 0.7rem;\n ", media.mobile(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n min-height: 42px;\n padding-left: 1rem;\n ", "\n "])), props => props.suggestive && "\n padding-right: 1rem;\n "), props => props.isFocused && css(["border-color:", ";box-shadow:0px 0px 0px 2px rgba(0,0,0,0.1);"], getColor('gray180')), getColor('gray180'), props => props.hasErrors && css(["border-color:", " !important;"], getColor('alert')), props => !props.suggestive && "\n padding-right: 2.5rem;\n ");
34
34
  const ComboboxDropdownIcon = /*#__PURE__*/styled(Icon).withConfig({
35
35
  displayName: "Combobox__ComboboxDropdownIcon",
36
36
  componentId: "sc-u2hz6i-2"