intelicoreact 1.6.25 → 1.6.26
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/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +1 -98
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +1 -48
- package/dist/Atomic/FormElements/Calendar/Calendar.js +1 -249
- package/dist/Atomic/FormElements/Calendar/Calendar.props.js +1 -4
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +1 -65
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +1 -52
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +1 -424
- package/dist/Atomic/FormElements/Datepicker/Datepicker.props.js +1 -4
- package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js +1 -173
- package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.props.js +1 -4
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +1 -735
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +1 -20
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +1 -529
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +1 -94
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +1 -105
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +1 -67
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +1 -247
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +1 -160
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +1 -193
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +1 -135
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +1 -116
- package/dist/Atomic/FormElements/Input/Input.js +1 -467
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +1 -161
- package/dist/Atomic/FormElements/InputColor/InputColor.js +1 -64
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +1 -200
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +1 -354
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +1 -71
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.d.ts +2 -0
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +1 -693
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js.map +1 -0
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +1 -254
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +1 -32
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +1 -200
- package/dist/Atomic/FormElements/InputLink/InputLink.js +1 -99
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +1 -37
- package/dist/Atomic/FormElements/InputMask/InputMask.js +1 -1214
- package/dist/Atomic/FormElements/InputMask/config.js +1 -15
- package/dist/Atomic/FormElements/InputMask/functions.js +1 -58
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +1 -674
- package/dist/Atomic/FormElements/InputMask2/config.js +1 -15
- package/dist/Atomic/FormElements/InputMask2/functions.js +1 -58
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +1 -766
- package/dist/Atomic/FormElements/InputMask3/config.js +1 -15
- package/dist/Atomic/FormElements/InputMask3/functions.js +1 -58
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +1 -114
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +1 -140
- package/dist/Atomic/FormElements/Label/Label.js +1 -87
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +1 -506
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +1 -45
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +1 -331
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +1 -66
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +1 -80
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +1 -57
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +1 -54
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +1 -183
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +1 -222
- package/dist/Atomic/FormElements/RangeList/RangeList.js +1 -175
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +1 -43
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +1 -443
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +1 -858
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +1 -39
- package/dist/Atomic/FormElements/Switcher/Switcher.js +1 -59
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +1 -50
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +1 -44
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +1 -100
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +1 -52
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +1 -64
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +1 -170
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +1 -202
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +1 -67
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +1 -115
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1 -1110
- package/dist/Atomic/FormElements/Text/Text.js +1 -125
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +1 -49
- package/dist/Atomic/FormElements/Textarea/Textarea.js +1 -80
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +1 -176
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +1 -62
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +1 -119
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +1 -188
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +1 -83
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +1 -82
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +1 -101
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +1 -29
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +1 -113
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +1 -30
- package/dist/Atomic/Layout/Header/Header.js +1 -85
- package/dist/Atomic/Layout/Spinner/Spinner.js +1 -44
- package/dist/Atomic/UI/Accordion/Accordion.js +1 -108
- package/dist/Atomic/UI/Accordion/AccordionItem.js +1 -176
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +1 -238
- package/dist/Atomic/UI/AccordionText/AccordionText.js +1 -69
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +1 -207
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +1 -56
- package/dist/Atomic/UI/Alert/Alert.js +1 -72
- package/dist/Atomic/UI/Arrow/Arrow.js +1 -132
- package/dist/Atomic/UI/Box/Box.js +1 -52
- package/dist/Atomic/UI/Button/Button.js +1 -47
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +1 -72
- package/dist/Atomic/UI/Chart/Chart.js +1 -172
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +1 -95
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +1 -80
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +1 -188
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +1 -335
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +1 -43
- package/dist/Atomic/UI/Chart/partial/utils.js +1 -60
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +1 -109
- package/dist/Atomic/UI/DateTime/DateTime.js +1 -57
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +1 -44
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +1 -15
- package/dist/Atomic/UI/DoubleString/DoubleString.d.ts +19 -0
- package/dist/Atomic/UI/DoubleString/DoubleString.js +1 -102
- package/dist/Atomic/UI/DoubleString/DoubleString.js.map +1 -0
- package/dist/Atomic/UI/DoubleString/DoubleString.scss +8 -1
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +1 -70
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +1 -221
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +1 -106
- package/dist/Atomic/UI/Hint/Hint.js +1 -256
- package/dist/Atomic/UI/Hint/partials/_utils.js +1 -64
- package/dist/Atomic/UI/Modal/Modal.js +1 -179
- package/dist/Atomic/UI/Modal/ModalHOC.js +1 -97
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +1 -71
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +1 -110
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +1 -192
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.js +1 -75
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +1 -80
- package/dist/Atomic/UI/NavLine/NavLine.js +1 -317
- package/dist/Atomic/UI/PageTitle/PageTitle.js +1 -77
- package/dist/Atomic/UI/PieChart/PieChart.js +1 -42
- package/dist/Atomic/UI/Price/Price.js +1 -31
- package/dist/Atomic/UI/PriceRange/PriceRange.js +1 -44
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +1 -98
- package/dist/Atomic/UI/Status/Status.js +1 -67
- package/dist/Atomic/UI/Table/Partials/TdCell.js +1 -87
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +1 -38
- package/dist/Atomic/UI/Table/Partials/TdRow.js +1 -99
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +1 -52
- package/dist/Atomic/UI/Table/Table.js +1 -63
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +1 -80
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +1 -28
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +1 -13
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +1 -53
- package/dist/Atomic/UI/Tag/Tag.js +1 -167
- package/dist/Atomic/UI/TagList/TagList.js +1 -251
- package/dist/Atomic/UI/UserBox/UserBox.js +1 -86
- package/dist/Atomic/UI/WizardStepper/constructor.js +1 -84
- package/dist/Atomic/UI/WizardStepper/index.js +1 -3
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +1 -37
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +1 -3
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +1 -61
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +1 -3
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +1 -39
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +1 -3
- package/dist/Atomic/UI/WizardStepper/ui/icons.js +1 -49
- package/dist/Atomic/UI/WizardStepper/ui/index.js +1 -3
- package/dist/Classes/AbortableFetch.js +1 -454
- package/dist/Classes/AnimatedHandler.js +1 -47
- package/dist/Classes/RESTAPI/index.js +1 -228
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +1 -457
- package/dist/Classes/RESTAPI/partials/ApiBase.js +1 -48
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +1 -112
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +1 -189
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +1 -252
- package/dist/Classes/RESTAPI/partials/Utils.js +1 -92
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +1 -3
- package/dist/Classes/RESTAPI/partials/_utils.js +1 -197
- package/dist/Constants/index.constants.js +1 -78
- package/dist/Functions/Portal.js +1 -22
- package/dist/Functions/customEventListener.js +1 -96
- package/dist/Functions/dateTime.js +1 -149
- package/dist/Functions/fieldValueFormatters.js +1 -405
- package/dist/Functions/guards/assertions.js +1 -294
- package/dist/Functions/guards/safeValue.js +1 -75
- package/dist/Functions/guards/typeGuards.js +1 -373
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +1 -95
- package/dist/Functions/locale/createTranslator.js +1 -32
- package/dist/Functions/operations.js +1 -130
- package/dist/Functions/presets/inputMaskPresets.js +1 -170
- package/dist/Functions/presets/inputPresets.js +1 -60
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +1 -45
- package/dist/Functions/schemas.js +1 -31
- package/dist/Functions/useBodyScrollLock.js +1 -17
- package/dist/Functions/useClickOutside.js +1 -15
- package/dist/Functions/useDebounce.js +1 -17
- package/dist/Functions/useFieldFocus.js +1 -84
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +1 -39
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +1 -159
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +1 -78
- package/dist/Functions/useFormTools/functions/General.js +1 -134
- package/dist/Functions/useFormTools/functions/RenderFields.js +1 -111
- package/dist/Functions/useFormTools/functions/usePrevious.js +1 -12
- package/dist/Functions/useFormTools/index.js +1 -778
- package/dist/Functions/useInputHighlightError.js +1 -67
- package/dist/Functions/useIsMobile/useIsMobile.js +1 -33
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +1 -52
- package/dist/Functions/useKeyPress/useKeyPress.js +1 -52
- package/dist/Functions/useLocalStorage.js +1 -34
- package/dist/Functions/useLocationParams.js +1 -27
- package/dist/Functions/useMediaQuery.js +1 -17
- package/dist/Functions/useMetaInfo.js +1 -43
- package/dist/Functions/useMouseUpOutside.js +1 -16
- package/dist/Functions/useOnlineStatus.js +1 -29
- package/dist/Functions/usePasswordChecker.js +1 -110
- package/dist/Functions/usePrevious.js +1 -12
- package/dist/Functions/useResize.js +1 -31
- package/dist/Functions/useScrollTo.js +1 -17
- package/dist/Functions/useToggle.js +1 -17
- package/dist/Functions/utils.js +1 -522
- package/dist/Langs.js +1 -168
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +1 -21
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +1 -23
- package/dist/Molecular/CustomIcons/components/AppStore.js +1 -29
- package/dist/Molecular/CustomIcons/components/Arrow.js +1 -32
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +1 -17
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +1 -22
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +1 -22
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +1 -17
- package/dist/Molecular/CustomIcons/components/Bell.js +1 -15
- package/dist/Molecular/CustomIcons/components/Button.js +1 -12
- package/dist/Molecular/CustomIcons/components/Campaigns.js +1 -16
- package/dist/Molecular/CustomIcons/components/Check.js +1 -14
- package/dist/Molecular/CustomIcons/components/Check2.js +1 -12
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +1 -12
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +1 -11
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +1 -11
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +1 -11
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +1 -11
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +1 -27
- package/dist/Molecular/CustomIcons/components/Close.js +1 -14
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +1 -17
- package/dist/Molecular/CustomIcons/components/Delete.js +1 -16
- package/dist/Molecular/CustomIcons/components/Edit.js +1 -15
- package/dist/Molecular/CustomIcons/components/Email.js +1 -31
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +1 -18
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +1 -35
- package/dist/Molecular/CustomIcons/components/Flows.js +1 -15
- package/dist/Molecular/CustomIcons/components/Gift.js +1 -25
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +1 -29
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +1 -29
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +1 -19
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +1 -20
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +1 -19
- package/dist/Molecular/CustomIcons/components/Home.js +1 -16
- package/dist/Molecular/CustomIcons/components/Home2.js +1 -22
- package/dist/Molecular/CustomIcons/components/Key.js +1 -23
- package/dist/Molecular/CustomIcons/components/Landers.js +1 -20
- package/dist/Molecular/CustomIcons/components/Lock.js +1 -15
- package/dist/Molecular/CustomIcons/components/Mail.js +1 -26
- package/dist/Molecular/CustomIcons/components/Mastercard.js +1 -73
- package/dist/Molecular/CustomIcons/components/Minus.js +1 -25
- package/dist/Molecular/CustomIcons/components/Offers.js +1 -16
- package/dist/Molecular/CustomIcons/components/Pause.js +1 -28
- package/dist/Molecular/CustomIcons/components/PayPal.js +1 -41
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +1 -28
- package/dist/Molecular/CustomIcons/components/Phone.js +1 -30
- package/dist/Molecular/CustomIcons/components/Play.js +1 -25
- package/dist/Molecular/CustomIcons/components/Plus.js +1 -25
- package/dist/Molecular/CustomIcons/components/Profile.js +1 -16
- package/dist/Molecular/CustomIcons/components/QRCode.js +1 -29
- package/dist/Molecular/CustomIcons/components/Rectangle.js +1 -12
- package/dist/Molecular/CustomIcons/components/Revert.js +1 -13
- package/dist/Molecular/CustomIcons/components/Star.js +1 -14
- package/dist/Molecular/CustomIcons/components/Star2.js +1 -16
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +1 -14
- package/dist/Molecular/CustomIcons/components/Trash.js +1 -15
- package/dist/Molecular/CustomIcons/components/TrashRed.js +1 -15
- package/dist/Molecular/CustomIcons/components/Triggers.js +1 -15
- package/dist/Molecular/CustomIcons/components/User.js +1 -25
- package/dist/Molecular/CustomIcons/components/Visa.js +1 -31
- package/dist/Molecular/CustomIcons/components/X.js +1 -12
- package/dist/Molecular/CustomIcons/index.js +1 -61
- package/dist/Molecular/FormElement/FormElement.js +1 -54
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +1 -184
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +1 -53
- package/dist/Molecular/InputAddress/InputAddress.js +1 -626
- package/dist/Molecular/InputPassword/InputPassword.js +1 -48
- package/dist/index.js +1 -104
- package/package.json +1 -1
|
@@ -1,67 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { KEYBOARD_SERVICE_KEYS } from "../Constants/index.constants";
|
|
4
|
-
|
|
5
|
-
export const useInputHighlightError = ({
|
|
6
|
-
value,
|
|
7
|
-
blinkTime,
|
|
8
|
-
isUseErrorsBlink,
|
|
9
|
-
}) => {
|
|
10
|
-
const DEFAULT_BLINK_TIME = 100;
|
|
11
|
-
const [isToHighlightError, setIsToHighlightError] = useState(false);
|
|
12
|
-
const [isAttemptToChange, setIsAttemptToChange] = useState(false);
|
|
13
|
-
const [prevValue, setPreviousValue] = useState(value);
|
|
14
|
-
|
|
15
|
-
function hasHighlightError(e) {
|
|
16
|
-
const changedValue = `${value ?? ""}`;
|
|
17
|
-
const previousValue = `${prevValue ?? ""}`;
|
|
18
|
-
|
|
19
|
-
const short =
|
|
20
|
-
previousValue.length <= changedValue.length
|
|
21
|
-
? previousValue
|
|
22
|
-
: changedValue;
|
|
23
|
-
const long =
|
|
24
|
-
previousValue.length > changedValue.length ? previousValue : changedValue;
|
|
25
|
-
|
|
26
|
-
const infoAboutDifferencesSameness = short.split("").reduce(
|
|
27
|
-
(acc, symbol, idx) => {
|
|
28
|
-
if (acc.countOn && symbol === long[idx]) acc.same.push(symbol);
|
|
29
|
-
else {
|
|
30
|
-
acc.countOn = false;
|
|
31
|
-
acc.differences.push([idx, symbol]);
|
|
32
|
-
}
|
|
33
|
-
return acc;
|
|
34
|
-
},
|
|
35
|
-
{ same: [], countOn: true, differences: [] },
|
|
36
|
-
);
|
|
37
|
-
|
|
38
|
-
const samePart = infoAboutDifferencesSameness.same.join("");
|
|
39
|
-
const differencesLength = infoAboutDifferencesSameness.differences.length;
|
|
40
|
-
const currentSet = changedValue?.replace(samePart, "");
|
|
41
|
-
|
|
42
|
-
if (
|
|
43
|
-
!KEYBOARD_SERVICE_KEYS.includes(e.key) &&
|
|
44
|
-
changedValue === previousValue
|
|
45
|
-
)
|
|
46
|
-
setIsAttemptToChange(!(!differencesLength && e.key === currentSet));
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
useEffect(() => {
|
|
50
|
-
if (isUseErrorsBlink && isAttemptToChange) {
|
|
51
|
-
setIsAttemptToChange(null);
|
|
52
|
-
setIsToHighlightError(true);
|
|
53
|
-
setTimeout(() => {
|
|
54
|
-
setIsToHighlightError(false);
|
|
55
|
-
}, blinkTime || DEFAULT_BLINK_TIME);
|
|
56
|
-
}
|
|
57
|
-
}, [isAttemptToChange]);
|
|
58
|
-
|
|
59
|
-
return {
|
|
60
|
-
isToHighlightError,
|
|
61
|
-
setPreviousValue,
|
|
62
|
-
setIsToHighlightError,
|
|
63
|
-
hasHighlightError,
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
export default useInputHighlightError;
|
|
1
|
+
function r(r,t){(null==t||t>r.length)&&(t=r.length);for(var n=0,e=Array(t);n<t;n++)e[n]=r[n];return e}function t(t,n){return function(r){if(Array.isArray(r))return r}(t)||function(r,t){var n,e,o=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=o){var i=[],l=!0,u=!1;try{for(o=o.call(r);!(l=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);l=!0);}catch(r){u=!0,e=r}finally{try{l||null==o.return||o.return()}finally{if(u)throw e}}return i}}(t,n)||function(t,n){if(t){if("string"==typeof t)return r(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);if("Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e)return Array.from(e);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return r(t,n)}}(t,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}import{useEffect as n,useState as e}from"react";import{KEYBOARD_SERVICE_KEYS as o}from"../Constants/index.constants";export var useInputHighlightError=function(r){var i=r.value,l=r.blinkTime,u=r.isUseErrorsBlink,a=t(e(!1),2),c=a[0],s=a[1],f=t(e(!1),2),h=f[0],g=f[1],m=t(e(i),2),p=m[0],y=m[1];return n(function(){u&&h&&(g(null),s(!0),setTimeout(function(){s(!1)},l||100))},[h]),{isToHighlightError:c,setPreviousValue:y,setIsToHighlightError:s,hasHighlightError:function(r){var t="".concat(null!=i?i:""),n="".concat(null!=p?p:""),e=n.length<=t.length?n:t,l=n.length>t.length?n:t,u=e.split("").reduce(function(r,t,n){return r.countOn&&t===l[n]?r.same.push(t):(r.countOn=!1,r.differences.push([n,t])),r},{same:[],countOn:!0,differences:[]}),a=u.same.join(""),c=u.differences.length,s=null==t?void 0:t.replace(a,"");o.includes(r.key)||t!==n||g(!(!c&&r.key===s))}}};export default useInputHighlightError;
|
|
@@ -1,33 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _react = require("react");
|
|
12
|
-
/**
|
|
13
|
-
* Hook to detect if the current device is a mobile device
|
|
14
|
-
* @param props - Configuration options
|
|
15
|
-
* @param props.isWithoutWidthCheck - If true, only checks user agent without width verification
|
|
16
|
-
* @returns Object containing isMobile flag
|
|
17
|
-
*/ function useIsMobile({ isWithoutWidthCheck = false } = {}) {
|
|
18
|
-
const getIsMobile = ()=>{
|
|
19
|
-
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
|
20
|
-
};
|
|
21
|
-
const [isMobile, setIsMobile] = (0, _react.useState)(getIsMobile());
|
|
22
|
-
(0, _react.useEffect)(()=>{
|
|
23
|
-
if (getIsMobile()) {
|
|
24
|
-
setIsMobile(true);
|
|
25
|
-
}
|
|
26
|
-
}, [
|
|
27
|
-
navigator.userAgent
|
|
28
|
-
]);
|
|
29
|
-
return {
|
|
30
|
-
isMobile: isMobile && (isWithoutWidthCheck || window.screen.width <= 768)
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
const _default = useIsMobile;
|
|
1
|
+
function r(r,t){(null==t||t>r.length)&&(t=r.length);for(var e=0,n=Array(t);e<t;e++)n[e]=r[e];return n}Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return e}});var t=require("react"),e=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=n.isWithoutWidthCheck,i=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},a=(e=(0,t.useState)(i()),function(r){if(Array.isArray(r))return r}(e)||function(r,t){var e,n,o=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=o){var i=[],a=!0,u=!1;try{for(o=o.call(r);!(a=(e=o.next()).done)&&(i.push(e.value),i.length!==t);a=!0);}catch(r){u=!0,n=r}finally{try{a||null==o.return||o.return()}finally{if(u)throw n}}return i}}(e,2)||function(t,e){if(t){if("string"==typeof t)return r(t,2);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=a[0],l=a[1];return(0,t.useEffect)(function(){i()&&l(!0)},[navigator.userAgent]),{isMobile:u&&(void 0!==o&&o||window.screen.width<=768)}};
|
|
@@ -1,52 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _react = require("react");
|
|
12
|
-
const _useKeyPress = /*#__PURE__*/ _interop_require_default(require("./useKeyPress"));
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* A hook that handles Enter and Escape key press events
|
|
20
|
-
*
|
|
21
|
-
* @param props - Configuration object for key press handling
|
|
22
|
-
* @param props.escCallback - Function to be called when Escape key is pressed
|
|
23
|
-
* @param props.enterCallback - Function to be called when Enter key is pressed
|
|
24
|
-
* @param props.withClamping - Whether to allow key repeat events (default: true)
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```tsx
|
|
28
|
-
* function Component() {
|
|
29
|
-
* useHandleKeyPress({
|
|
30
|
-
* escCallback: () => console.log('Esc pressed'),
|
|
31
|
-
* enterCallback: () => console.log('Enter pressed'),
|
|
32
|
-
* });
|
|
33
|
-
* }
|
|
34
|
-
* ```
|
|
35
|
-
*/ function useHandleKeyPress({ escCallback, enterCallback, withClamping = true }) {
|
|
36
|
-
const isPressEnter = (0, _useKeyPress.default)('Enter', withClamping);
|
|
37
|
-
const isPressEscape = (0, _useKeyPress.default)('Escape', withClamping);
|
|
38
|
-
(0, _react.useEffect)(()=>{
|
|
39
|
-
if (isPressEnter && typeof enterCallback === 'function') {
|
|
40
|
-
enterCallback();
|
|
41
|
-
}
|
|
42
|
-
if (isPressEscape && typeof escCallback === 'function') {
|
|
43
|
-
escCallback();
|
|
44
|
-
}
|
|
45
|
-
}, [
|
|
46
|
-
enterCallback,
|
|
47
|
-
escCallback,
|
|
48
|
-
isPressEnter,
|
|
49
|
-
isPressEscape
|
|
50
|
-
]);
|
|
51
|
-
}
|
|
52
|
-
const _default = useHandleKeyPress;
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return u}});var e,t=require("react"),r=(e=require("./useKeyPress"))&&e.__esModule?e:{default:e},u=function(e){var u=e.escCallback,n=e.enterCallback,a=e.withClamping,f=void 0===a||a,o=(0,r.default)("Enter",f),c=(0,r.default)("Escape",f);(0,t.useEffect)(function(){o&&"function"==typeof n&&n(),c&&"function"==typeof u&&u()},[n,u,o,c])};
|
|
@@ -1,52 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _react = require("react");
|
|
12
|
-
/**
|
|
13
|
-
* A hook that detects when a specific key is pressed
|
|
14
|
-
* @param targetKey - The key to listen for
|
|
15
|
-
* @param clamping - Whether to allow key repeat events
|
|
16
|
-
* @returns boolean indicating if the target key is currently pressed
|
|
17
|
-
*/ function useKeyPress(targetKey, clamping = true) {
|
|
18
|
-
const [keyPressed, setKeyPressed] = (0, _react.useState)(false);
|
|
19
|
-
const downHandler = (0, _react.useCallback)(({ key, repeat })=>{
|
|
20
|
-
if (key === targetKey) {
|
|
21
|
-
if (!clamping && repeat) return;
|
|
22
|
-
setKeyPressed(true);
|
|
23
|
-
}
|
|
24
|
-
}, [
|
|
25
|
-
clamping,
|
|
26
|
-
targetKey
|
|
27
|
-
]);
|
|
28
|
-
const upHandler = (0, _react.useCallback)(({ key, repeat })=>{
|
|
29
|
-
if (key === targetKey) {
|
|
30
|
-
if (!clamping && repeat) return;
|
|
31
|
-
setKeyPressed(false);
|
|
32
|
-
}
|
|
33
|
-
}, [
|
|
34
|
-
clamping,
|
|
35
|
-
targetKey
|
|
36
|
-
]);
|
|
37
|
-
(0, _react.useEffect)(()=>{
|
|
38
|
-
const handleDown = (event)=>downHandler(event);
|
|
39
|
-
const handleUp = (event)=>upHandler(event);
|
|
40
|
-
window.addEventListener('keydown', handleDown);
|
|
41
|
-
window.addEventListener('keyup', handleUp);
|
|
42
|
-
return ()=>{
|
|
43
|
-
window.removeEventListener('keydown', handleDown);
|
|
44
|
-
window.removeEventListener('keyup', handleUp);
|
|
45
|
-
};
|
|
46
|
-
}, [
|
|
47
|
-
downHandler,
|
|
48
|
-
upHandler
|
|
49
|
-
]);
|
|
50
|
-
return keyPressed;
|
|
51
|
-
}
|
|
52
|
-
const _default = useKeyPress;
|
|
1
|
+
function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return t}});var r=require("react"),t=function(t){var n,o=!(arguments.length>1)||void 0===arguments[1]||arguments[1],u=(n=(0,r.useState)(!1),function(e){if(Array.isArray(e))return e}(n)||function(e,r){var t,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var u=[],i=!0,a=!1;try{for(o=o.call(e);!(i=(t=o.next()).done)&&(u.push(t.value),u.length!==r);i=!0);}catch(e){a=!0,n=e}finally{try{i||null==o.return||o.return()}finally{if(a)throw n}}return u}}(n,2)||function(r,t){if(r){if("string"==typeof r)return e(r,2);var n=Object.prototype.toString.call(r).slice(8,-1);if("Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(r,t)}}(n,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=u[0],a=u[1],l=(0,r.useCallback)(function(e){var r=e.key,n=e.repeat;if(r===t){if(!o&&n)return;a(!0)}},[o,t]),f=(0,r.useCallback)(function(e){var r=e.key,n=e.repeat;if(r===t){if(!o&&n)return;a(!1)}},[o,t]);return(0,r.useEffect)(function(){var e=function(e){return l(e)},r=function(e){return f(e)};return window.addEventListener("keydown",e),window.addEventListener("keyup",r),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",r)}},[l,f]),i};
|
|
@@ -1,34 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const useLocalStorage = (key, initialValue) => {
|
|
4
|
-
const [storedValue, setStoredValue] = useState(() => {
|
|
5
|
-
if (typeof window === "undefined") {
|
|
6
|
-
return initialValue;
|
|
7
|
-
}
|
|
8
|
-
try {
|
|
9
|
-
const item = window.localStorage.getItem(key);
|
|
10
|
-
return item ? JSON.parse(item) : initialValue;
|
|
11
|
-
} catch (error) {
|
|
12
|
-
// eslint-disable-next-line no-console
|
|
13
|
-
console.log(error);
|
|
14
|
-
return initialValue;
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
const setValue = (value) => {
|
|
19
|
-
try {
|
|
20
|
-
const valueToStore =
|
|
21
|
-
value instanceof Function ? value(storedValue) : value;
|
|
22
|
-
setStoredValue(valueToStore);
|
|
23
|
-
if (typeof window !== "undefined") {
|
|
24
|
-
window.localStorage.setItem(key, JSON.stringify(valueToStore));
|
|
25
|
-
}
|
|
26
|
-
} catch (error) {
|
|
27
|
-
// eslint-disable-next-line no-console
|
|
28
|
-
console.log(error);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
return [storedValue, setValue];
|
|
33
|
-
};
|
|
34
|
-
export default useLocalStorage;
|
|
1
|
+
function t(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,e=Array(r);n<r;n++)e[n]=t[n];return e}import{useState as r}from"react";export default function(n,e){var o,a=(o=r(function(){if("undefined"==typeof window)return e;try{var t=window.localStorage.getItem(n);return t?JSON.parse(t):e}catch(t){return e}}),function(t){if(Array.isArray(t))return t}(o)||function(t,r){var n,e,o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var a=[],i=!0,l=!1;try{for(o=o.call(t);!(i=(n=o.next()).done)&&(a.push(n.value),a.length!==r);i=!0);}catch(t){l=!0,e=t}finally{try{i||null==o.return||o.return()}finally{if(l)throw e}}return a}}(o,2)||function(r,n){if(r){if("string"==typeof r)return t(r,2);var e=Object.prototype.toString.call(r).slice(8,-1);if("Object"===e&&r.constructor&&(e=r.constructor.name),"Map"===e||"Set"===e)return Array.from(e);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return t(r,n)}}(o,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=a[0],l=a[1];return[i,function(t){try{var r,e=(r=Function,null!=r&&"undefined"!=typeof Symbol&&r[Symbol.hasInstance]?!!r[Symbol.hasInstance](t):t instanceof r)?t(i):t;l(e),"undefined"!=typeof window&&window.localStorage.setItem(n,JSON.stringify(e))}catch(t){}}]}
|
|
@@ -1,27 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export default function useLocationParams() {
|
|
4
|
-
const [params, setParams] = useState({});
|
|
5
|
-
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
setParams((state) => {
|
|
8
|
-
const arr = window.location.search?.replace("?", "").split("&");
|
|
9
|
-
|
|
10
|
-
return {
|
|
11
|
-
...state,
|
|
12
|
-
...arr.reduce((obj, item) => {
|
|
13
|
-
const keyVal = item.split("=");
|
|
14
|
-
const key = keyVal[0];
|
|
15
|
-
const value = keyVal[1];
|
|
16
|
-
|
|
17
|
-
return {
|
|
18
|
-
...obj,
|
|
19
|
-
[key]: value,
|
|
20
|
-
};
|
|
21
|
-
}, {}),
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
}, [window.location.search]);
|
|
25
|
-
|
|
26
|
-
return params;
|
|
27
|
-
}
|
|
1
|
+
function r(r,t){(null==t||t>r.length)&&(t=r.length);for(var e=0,n=Array(t);e<t;e++)n[e]=r[e];return n}function t(r,t,e){return t in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}function e(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable}))),o.forEach(function(e){t(r,e,n[e])})}return r}import{useEffect as n,useState as o}from"react";export default function c(){var c,i=(c=o({}),function(r){if(Array.isArray(r))return r}(c)||function(r,t){var e,n,o=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=o){var c=[],i=!0,u=!1;try{for(o=o.call(r);!(i=(e=o.next()).done)&&(c.push(e.value),c.length!==t);i=!0);}catch(r){u=!0,n=r}finally{try{i||null==o.return||o.return()}finally{if(u)throw n}}return c}}(c,2)||function(t,e){if(t){if("string"==typeof t)return r(t,2);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}}(c,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=i[0],l=i[1];return n(function(){l(function(r){var n;return e({},r,(null==(n=window.location.search)?void 0:n.replace("?","").split("&")).reduce(function(r,n){var o,c,i=n.split("="),u=i[0],l=i[1];return o=e({},r),c=null!=(c=t({},u,l))?c:{},Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(c)):(function(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e.push.apply(e,n)}return e})(Object(c)).forEach(function(r){Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(c,r))}),o},{}))})},[window.location.search]),u}
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
function subscribe(callback) {
|
|
4
|
-
const observer = new ResizeObserver(() => callback());
|
|
5
|
-
observer.observe(document.documentElement);
|
|
6
|
-
return () => observer.disconnect();
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const useMediaQuery = (query) => {
|
|
10
|
-
return useSyncExternalStore(
|
|
11
|
-
subscribe,
|
|
12
|
-
() => window.matchMedia(query).matches,
|
|
13
|
-
() => false,
|
|
14
|
-
);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export default useMediaQuery;
|
|
1
|
+
import{useSyncExternalStore as n}from"react";function e(n){var e=new ResizeObserver(function(){return n()});return e.observe(document.documentElement),function(){return e.disconnect()}}export default function(t){return n(e,function(){return window.matchMedia(t).matches},function(){return!1})}
|
|
@@ -1,43 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export const useMetaInfo = () => {
|
|
4
|
-
const [browser, setBrowser] = useState("Other");
|
|
5
|
-
const [device, setDevice] = useState("desktop");
|
|
6
|
-
const [isiOS, setIsiOS] = useState(false);
|
|
7
|
-
const [chromeVersion, setChromeVersion] = useState(null);
|
|
8
|
-
const [iOSVersion, setiOSVersion] = useState(null);
|
|
9
|
-
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
const userAgent = navigator.userAgent;
|
|
12
|
-
|
|
13
|
-
if (userAgent.indexOf("Chrome") !== -1) {
|
|
14
|
-
setBrowser("Chrome");
|
|
15
|
-
|
|
16
|
-
// Извлечение версии Chrome
|
|
17
|
-
const version = userAgent.match(/Chrom(e|ium)\/([0-9\.]+)/)[2];
|
|
18
|
-
setChromeVersion(version);
|
|
19
|
-
} else if (userAgent.indexOf("Safari") !== -1) setBrowser("Safari");
|
|
20
|
-
|
|
21
|
-
const iOSV = (
|
|
22
|
-
(userAgent.match(/(CPU|iPhone).*OS (\d+_?\d*)|CPU like Mac OS X/i) ||
|
|
23
|
-
[])[2] || "0"
|
|
24
|
-
).replace("_", ".");
|
|
25
|
-
const iOSVersion = parseFloat(iOSV);
|
|
26
|
-
|
|
27
|
-
setIsiOS(!isNaN(iOSVersion));
|
|
28
|
-
if (!isNaN(iOSVersion)) {
|
|
29
|
-
setiOSVersion(iOSV); // Записываем версию iOS
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (
|
|
33
|
-
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
|
34
|
-
userAgent,
|
|
35
|
-
)
|
|
36
|
-
)
|
|
37
|
-
setDevice("mobile");
|
|
38
|
-
}, []);
|
|
39
|
-
|
|
40
|
-
return { browser, device, isiOS, chromeVersion, iOSVersion }; // Возврат версий Chrome и iOS
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export default useMetaInfo;
|
|
1
|
+
function r(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}function e(e,t){return function(r){if(Array.isArray(r))return r}(e)||function(r,e){var t,n,o=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=o){var i=[],a=!0,l=!1;try{for(o=o.call(r);!(a=(t=o.next()).done)&&(i.push(t.value),!e||i.length!==e);a=!0);}catch(r){l=!0,n=r}finally{try{a||null==o.return||o.return()}finally{if(l)throw n}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}import{useEffect as t,useState as n}from"react";export var useMetaInfo=function(){var r=e(n("Other"),2),o=r[0],i=r[1],a=e(n("desktop"),2),l=a[0],u=a[1],f=e(n(!1),2),c=f[0],s=f[1],m=e(n(null),2),d=m[0],h=m[1],y=e(n(null),2),p=y[0],b=y[1];return t(function(){var r=navigator.userAgent;-1!==r.indexOf("Chrome")?(i("Chrome"),h(r.match(/Chrom(e|ium)\/([0-9\.]+)/)[2])):-1!==r.indexOf("Safari")&&i("Safari");var e=((r.match(/(CPU|iPhone).*OS (\d+_?\d*)|CPU like Mac OS X/i)||[])[2]||"0").replace("_","."),t=parseFloat(e);s(!isNaN(t)),isNaN(t)||b(e),/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(r)&&u("mobile")},[]),{browser:o,device:l,isiOS:c,chromeVersion:d,iOSVersion:p}};export default useMetaInfo;
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export default function useMouseUpOutside(ref, setOut, open) {
|
|
4
|
-
function handleMouseUpOutside(event) {
|
|
5
|
-
if (ref.current && !ref.current.contains(event.target)) {
|
|
6
|
-
setOut(open);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
document.addEventListener("mouseup", handleMouseUpOutside);
|
|
12
|
-
return () => {
|
|
13
|
-
document.removeEventListener("mouseup", handleMouseUpOutside);
|
|
14
|
-
};
|
|
15
|
-
}, [ref]);
|
|
16
|
-
}
|
|
1
|
+
import{useEffect as t}from"react";export default function e(e,n,r){function u(t){e.current&&!e.current.contains(t.target)&&n(r)}t(function(){return document.addEventListener("mouseup",u),function(){document.removeEventListener("mouseup",u)}},[e])}
|
|
@@ -1,29 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const useOnlineStatus = () => {
|
|
4
|
-
function getOnlineStatus() {
|
|
5
|
-
return typeof navigator !== "undefined" &&
|
|
6
|
-
typeof navigator.onLine === "boolean"
|
|
7
|
-
? navigator.onLine
|
|
8
|
-
: true;
|
|
9
|
-
}
|
|
10
|
-
const [onlineStatus, setOnlineStatus] = useState(getOnlineStatus());
|
|
11
|
-
|
|
12
|
-
const goOnline = () => setOnlineStatus(true);
|
|
13
|
-
|
|
14
|
-
const goOffline = () => setOnlineStatus(false);
|
|
15
|
-
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
window.addEventListener("online", goOnline);
|
|
18
|
-
window.addEventListener("offline", goOffline);
|
|
19
|
-
|
|
20
|
-
return () => {
|
|
21
|
-
window.removeEventListener("online", goOnline);
|
|
22
|
-
window.removeEventListener("offline", goOffline);
|
|
23
|
-
};
|
|
24
|
-
}, []);
|
|
25
|
-
|
|
26
|
-
return onlineStatus;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export default useOnlineStatus;
|
|
1
|
+
function n(n,t){(null==t||t>n.length)&&(t=n.length);for(var r=0,e=Array(t);r<t;r++)e[r]=n[r];return e}import{useEffect as t,useState as r}from"react";export default function(){var e,o=(e=r("undefined"==typeof navigator||"boolean"!=typeof navigator.onLine||navigator.onLine),function(n){if(Array.isArray(n))return n}(e)||function(n,t){var r,e,o=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=o){var i=[],a=!0,u=!1;try{for(o=o.call(n);!(a=(r=o.next()).done)&&(i.push(r.value),i.length!==t);a=!0);}catch(n){u=!0,e=n}finally{try{a||null==o.return||o.return()}finally{if(u)throw e}}return i}}(e,2)||function(t,r){if(t){if("string"==typeof t)return n(t,2);var e=Object.prototype.toString.call(t).slice(8,-1);if("Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e)return Array.from(e);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return n(t,r)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1],u=function(){return a(!0)},l=function(){return a(!1)};return t(function(){return window.addEventListener("online",u),window.addEventListener("offline",l),function(){window.removeEventListener("online",u),window.removeEventListener("offline",l)}},[]),i}
|
|
@@ -1,110 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import cn from "classnames";
|
|
4
|
-
|
|
5
|
-
export default function usePasswordChecker({ label = "Password must:" } = {}) {
|
|
6
|
-
const [checkRules, setCheckRules] = useState([]);
|
|
7
|
-
const addCheckRule = (data) => setCheckRules((state) => [...state, data]);
|
|
8
|
-
const handleCheckRule = (type, props = {}, value = "") => {
|
|
9
|
-
const { min, max } = props;
|
|
10
|
-
|
|
11
|
-
switch (type) {
|
|
12
|
-
case "len":
|
|
13
|
-
if (min && value.length < min) return false;
|
|
14
|
-
if (max && value.length > max) return false;
|
|
15
|
-
return true;
|
|
16
|
-
|
|
17
|
-
case "lowerCaseContains": {
|
|
18
|
-
const toUpperCase = value.slice().toUpperCase().split("");
|
|
19
|
-
const original = value.slice().split("");
|
|
20
|
-
|
|
21
|
-
return original.reduce((isMatch, char, i) => {
|
|
22
|
-
if (char !== toUpperCase[i]) isMatch = true;
|
|
23
|
-
|
|
24
|
-
return isMatch;
|
|
25
|
-
}, false);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
case "upperCaseContains": {
|
|
29
|
-
const toLowerCase = value.slice().toLowerCase().split("");
|
|
30
|
-
const original = value.slice().split("");
|
|
31
|
-
|
|
32
|
-
return original.reduce((isMatch, char, i) => {
|
|
33
|
-
if (char !== toLowerCase[i]) isMatch = true;
|
|
34
|
-
|
|
35
|
-
return isMatch;
|
|
36
|
-
}, false);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
case "numberContains": {
|
|
40
|
-
const original = value.slice().split("");
|
|
41
|
-
return original.reduce((isMatch, char) => {
|
|
42
|
-
if (Number.isInteger(parseInt(char, 10))) isMatch = true;
|
|
43
|
-
|
|
44
|
-
return isMatch;
|
|
45
|
-
}, false);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
case "specialContains": {
|
|
49
|
-
const original = value.slice().split("");
|
|
50
|
-
return original.reduce((isMatch, char) => {
|
|
51
|
-
if (!Number.isInteger(parseInt(char, 10)) && !char.match(/[a-z]/i))
|
|
52
|
-
isMatch = true;
|
|
53
|
-
|
|
54
|
-
return isMatch;
|
|
55
|
-
}, false);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
default:
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
const testCheckRules = (value) => {
|
|
63
|
-
let result = true;
|
|
64
|
-
|
|
65
|
-
setCheckRules((state) => {
|
|
66
|
-
const rules = [...state];
|
|
67
|
-
return rules.map((rule) => {
|
|
68
|
-
const isMatch = handleCheckRule(rule.type, rule.props, value);
|
|
69
|
-
if (!isMatch) result = false;
|
|
70
|
-
|
|
71
|
-
return { ...rule, isMatch };
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
return result;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
const renderPasswordChecker = () => {
|
|
79
|
-
return (
|
|
80
|
-
<div className="password-checker">
|
|
81
|
-
<div className="password-checker__header">
|
|
82
|
-
<label className="password-checker__header-label"> {label} </label>{" "}
|
|
83
|
-
</div>{" "}
|
|
84
|
-
<div className="password-checker__body">
|
|
85
|
-
{" "}
|
|
86
|
-
{checkRules.map(({ icon, text, isMatch, key }) => (
|
|
87
|
-
<div
|
|
88
|
-
key={key}
|
|
89
|
-
className={cn("password-checker__body-item", {
|
|
90
|
-
"password-checker__body-item--match":
|
|
91
|
-
isMatch && isMatch !== null,
|
|
92
|
-
"password-checker__body-item--dont-match":
|
|
93
|
-
!isMatch && isMatch !== null,
|
|
94
|
-
})}
|
|
95
|
-
>
|
|
96
|
-
<div className="password-checker__body-item__icon"> {icon} </div>{" "}
|
|
97
|
-
<div className="password-checker__body-item__text"> {text} </div>{" "}
|
|
98
|
-
</div>
|
|
99
|
-
))}{" "}
|
|
100
|
-
</div>{" "}
|
|
101
|
-
</div>
|
|
102
|
-
);
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
return {
|
|
106
|
-
addCheckRule,
|
|
107
|
-
testCheckRules,
|
|
108
|
-
renderPasswordChecker,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
1
|
+
function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function r(r){return function(r){if(Array.isArray(r))return e(r)}(r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||t(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(r,t){if(r){if("string"==typeof r)return e(r,t);var n=Object.prototype.toString.call(r).slice(8,-1);if("Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(r,t)}}import{jsxs as n}from"react/jsx-runtime";import{useState as o}from"react";import a from"classnames";export default function c(){var e,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=c.label,s=void 0===i?"Password must:":i,l=(e=o([]),function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(t=o.next()).done)&&(a.push(t.value),a.length!==r);c=!0);}catch(e){i=!0,n=e}finally{try{c||null==o.return||o.return()}finally{if(i)throw n}}return a}}(e,2)||t(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=l[0],f=l[1],d=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=r.min,o=r.max;switch(e){case"len":if(n&&t.length<n||o&&t.length>o)return!1;return!0;case"lowerCaseContains":var a=t.slice().toUpperCase().split("");return t.slice().split("").reduce(function(e,r,t){return r!==a[t]&&(e=!0),e},!1);case"upperCaseContains":var c=t.slice().toLowerCase().split("");return t.slice().split("").reduce(function(e,r,t){return r!==c[t]&&(e=!0),e},!1);case"numberContains":return t.slice().split("").reduce(function(e,r){return Number.isInteger(parseInt(r,10))&&(e=!0),e},!1);case"specialContains":return t.slice().split("").reduce(function(e,r){return Number.isInteger(parseInt(r,10))||r.match(/[a-z]/i)||(e=!0),e},!1);default:return!1}};return{addCheckRule:function(e){return f(function(t){return r(t).concat([e])})},testCheckRules:function(e){var t=!0;return f(function(n){return r(n).map(function(r){var n,o,a=d(r.type,r.props,e);return a||(t=!1),n=function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.forEach(function(r){var n;n=t[r],r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n})}return e}({},r),o=o={isMatch:a},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):(function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))}),n})}),t},renderPasswordChecker:function(){return n("div",{className:"password-checker",children:[n("div",{className:"password-checker__header",children:[n("label",{className:"password-checker__header-label",children:[" ",s," "]})," "]})," ",n("div",{className:"password-checker__body",children:[" ",u.map(function(e){var r=e.icon,t=e.text,o=e.isMatch,c=e.key;return n("div",{className:a("password-checker__body-item",{"password-checker__body-item--match":o&&null!==o,"password-checker__body-item--dont-match":!o&&null!==o}),children:[n("div",{className:"password-checker__body-item__icon",children:[" ",r," "]})," ",n("div",{className:"password-checker__body-item__text",children:[" ",t," "]})," "]},c)})," "]})," "]})}}}
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
function usePrevious(value) {
|
|
4
|
-
const ref = useRef();
|
|
5
|
-
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
ref.current = value;
|
|
8
|
-
}, [value]);
|
|
9
|
-
return ref.current;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export default usePrevious;
|
|
1
|
+
import{useEffect as r,useRef as t}from"react";export default function(n){var e=t();return r(function(){e.current=n},[n]),e.current}
|
|
@@ -1,31 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export const useResize = (element = null) => {
|
|
4
|
-
const [elemPosition, setElemPosition] = useState("");
|
|
5
|
-
|
|
6
|
-
const onResize = (elemRightPosition) => {
|
|
7
|
-
if (elemRightPosition > document.documentElement.clientWidth) {
|
|
8
|
-
return setElemPosition("left");
|
|
9
|
-
} else setElemPosition("");
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
const elemRightPosition =
|
|
14
|
-
element?.current?.getBoundingClientRect().right + 20;
|
|
15
|
-
window.addEventListener("resize", () => onResize(elemRightPosition));
|
|
16
|
-
|
|
17
|
-
return () => {
|
|
18
|
-
window.removeEventListener("resize", () => setElemPosition(""));
|
|
19
|
-
};
|
|
20
|
-
}, []);
|
|
21
|
-
|
|
22
|
-
useLayoutEffect(() => {
|
|
23
|
-
const elemRightPosition =
|
|
24
|
-
element?.current?.getBoundingClientRect().right + 20;
|
|
25
|
-
if (elemRightPosition > document.documentElement.clientWidth) {
|
|
26
|
-
return setElemPosition("left");
|
|
27
|
-
}
|
|
28
|
-
}, []);
|
|
29
|
-
|
|
30
|
-
return { elemPosition };
|
|
31
|
-
};
|
|
1
|
+
function t(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=Array(n);r<n;r++)e[r]=t[r];return e}import{useEffect as n,useLayoutEffect as r,useState as e}from"react";export var useResize=function(){var i,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,u=(i=e(""),function(t){if(Array.isArray(t))return t}(i)||function(t,n){var r,e,i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var o=[],u=!0,l=!1;try{for(i=i.call(t);!(u=(r=i.next()).done)&&(o.push(r.value),o.length!==n);u=!0);}catch(t){l=!0,e=t}finally{try{u||null==i.return||i.return()}finally{if(l)throw e}}return o}}(i,2)||function(n,r){if(n){if("string"==typeof n)return t(n,2);var e=Object.prototype.toString.call(n).slice(8,-1);if("Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e)return Array.from(e);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return t(n,r)}}(i,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=u[0],c=u[1],a=function(t){if(t>document.documentElement.clientWidth)return c("left");c("")};return n(function(){var t,n=(null==o||null==(t=o.current)?void 0:t.getBoundingClientRect().right)+20;return window.addEventListener("resize",function(){return a(n)}),function(){window.removeEventListener("resize",function(){return c("")})}},[]),r(function(){var t;if((null==o||null==(t=o.current)?void 0:t.getBoundingClientRect().right)+20>document.documentElement.clientWidth)return c("left")},[]),{elemPosition:l}};
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const useScrollTo = (reference) => {
|
|
4
|
-
const ref = useRef(reference);
|
|
5
|
-
const [shouldScrollTo, setShouldScrollTo] = useState(false);
|
|
6
|
-
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
if (ref?.current && shouldScrollTo) {
|
|
9
|
-
ref?.current?.scrollIntoView?.({ behavior: "smooth" });
|
|
10
|
-
setShouldScrollTo(false);
|
|
11
|
-
}
|
|
12
|
-
}, [shouldScrollTo]);
|
|
13
|
-
|
|
14
|
-
return [ref, setShouldScrollTo];
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export default useScrollTo;
|
|
1
|
+
function r(r,t){(null==t||t>r.length)&&(t=r.length);for(var n=0,e=Array(t);n<t;n++)e[n]=r[n];return e}import{useEffect as t,useRef as n,useState as e}from"react";export default function(o){var l,u=n(o),a=(l=e(!1),function(r){if(Array.isArray(r))return r}(l)||function(r,t){var n,e,o=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=o){var l=[],u=!0,a=!1;try{for(o=o.call(r);!(u=(n=o.next()).done)&&(l.push(n.value),l.length!==t);u=!0);}catch(r){a=!0,e=r}finally{try{u||null==o.return||o.return()}finally{if(a)throw e}}return l}}(l,2)||function(t,n){if(t){if("string"==typeof t)return r(t,2);var e=Object.prototype.toString.call(t).slice(8,-1);if("Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e)return Array.from(e);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return r(t,n)}}(l,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=a[0],c=a[1];return t(function(){if((null==u?void 0:u.current)&&i){var r,t;null==u||null==(t=u.current)||null==(r=t.scrollIntoView)||r.call(t,{behavior:"smooth"}),c(!1)}},[i]),[u,c]}
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const useToggle = (initialState) => {
|
|
4
|
-
const [isToggled, setToggle] = useState(Boolean(initialState));
|
|
5
|
-
const toggle = useCallback(() => setToggle((isOn) => !isOn), []);
|
|
6
|
-
const toggleOn = useCallback(() => setToggle(true), []);
|
|
7
|
-
const toggleOff = useCallback(() => setToggle(false), []);
|
|
8
|
-
|
|
9
|
-
return {
|
|
10
|
-
isToggled,
|
|
11
|
-
toggle,
|
|
12
|
-
toggleOn,
|
|
13
|
-
toggleOff,
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export default useToggle;
|
|
1
|
+
function r(r,t){(null==t||t>r.length)&&(t=r.length);for(var n=0,e=Array(t);n<t;n++)e[n]=r[n];return e}import{useCallback as t,useState as n}from"react";export default function(e){var o,u=(o=n(!!e),function(r){if(Array.isArray(r))return r}(o)||function(r,t){var n,e,o=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=o){var u=[],l=!0,i=!1;try{for(o=o.call(r);!(l=(n=o.next()).done)&&(u.push(n.value),u.length!==t);l=!0);}catch(r){i=!0,e=r}finally{try{l||null==o.return||o.return()}finally{if(i)throw e}}return u}}(o,2)||function(t,n){if(t){if("string"==typeof t)return r(t,2);var e=Object.prototype.toString.call(t).slice(8,-1);if("Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e)return Array.from(e);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return r(t,n)}}(o,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=u[0],i=u[1];return{isToggled:l,toggle:t(function(){return i(function(r){return!r})},[]),toggleOn:t(function(){return i(!0)},[]),toggleOff:t(function(){return i(!1)},[])}}
|