intelicoreact 1.6.20 → 1.6.21

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 (272) hide show
  1. package/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +1 -102
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +1 -89
  3. package/dist/Atomic/FormElements/Calendar/Calendar.js +1 -232
  4. package/dist/Atomic/FormElements/Calendar/Calendar.props.js +1 -3
  5. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +1 -101
  6. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +1 -70
  7. package/dist/Atomic/FormElements/Datepicker/Datepicker.js +1 -350
  8. package/dist/Atomic/FormElements/Datepicker/Datepicker.props.js +1 -3
  9. package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js +1 -177
  10. package/dist/Atomic/FormElements/Datepicker/components/DatepickerCalendar.props.js +1 -3
  11. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +1 -561
  12. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +1 -20
  13. package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +1 -405
  14. package/dist/Atomic/FormElements/FileLoader/FileLoader.js +1 -94
  15. package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +1 -105
  16. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +1 -67
  17. package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +1 -247
  18. package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +1 -160
  19. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +1 -193
  20. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +1 -135
  21. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +1 -116
  22. package/dist/Atomic/FormElements/Input/Input.js +1 -467
  23. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +1 -161
  24. package/dist/Atomic/FormElements/InputColor/InputColor.js +1 -64
  25. package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +1 -166
  26. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +1 -354
  27. package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +1 -71
  28. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +1 -693
  29. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +1 -254
  30. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +1 -32
  31. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +1 -200
  32. package/dist/Atomic/FormElements/InputLink/InputLink.js +1 -99
  33. package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +1 -37
  34. package/dist/Atomic/FormElements/InputMask/InputMask.js +1 -1214
  35. package/dist/Atomic/FormElements/InputMask/config.js +1 -15
  36. package/dist/Atomic/FormElements/InputMask/functions.js +1 -58
  37. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +1 -674
  38. package/dist/Atomic/FormElements/InputMask2/config.js +1 -15
  39. package/dist/Atomic/FormElements/InputMask2/functions.js +1 -58
  40. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +1 -766
  41. package/dist/Atomic/FormElements/InputMask3/config.js +1 -15
  42. package/dist/Atomic/FormElements/InputMask3/functions.js +1 -58
  43. package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +1 -114
  44. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +1 -140
  45. package/dist/Atomic/FormElements/Label/Label.js +1 -82
  46. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +1 -506
  47. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +1 -45
  48. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +1 -331
  49. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +1 -66
  50. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +1 -80
  51. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +1 -64
  52. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +1 -54
  53. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +1 -183
  54. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +1 -209
  55. package/dist/Atomic/FormElements/RangeList/RangeList.js +1 -175
  56. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +1 -43
  57. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +1 -443
  58. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +1 -858
  59. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +1 -39
  60. package/dist/Atomic/FormElements/Switcher/Switcher.js +1 -59
  61. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +1 -50
  62. package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +1 -47
  63. package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +1 -96
  64. package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +1 -40
  65. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +1 -64
  66. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +1 -170
  67. package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +1 -202
  68. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +1 -67
  69. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +1 -115
  70. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1 -826
  71. package/dist/Atomic/FormElements/Text/Text.js +1 -125
  72. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +1 -45
  73. package/dist/Atomic/FormElements/Textarea/Textarea.js +1 -80
  74. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +1 -176
  75. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +1 -62
  76. package/dist/Atomic/FormElements/TimeRange/TimeRange.js +1 -127
  77. package/dist/Atomic/FormElements/UserContacts/UserContacts.js +1 -220
  78. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +1 -83
  79. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +1 -82
  80. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +1 -101
  81. package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +1 -29
  82. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +1 -113
  83. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +1 -30
  84. package/dist/Atomic/Layout/Header/Header.js +1 -85
  85. package/dist/Atomic/Layout/Spinner/Spinner.js +1 -39
  86. package/dist/Atomic/UI/Accordion/Accordion.js +1 -118
  87. package/dist/Atomic/UI/Accordion/AccordionItem.js +1 -181
  88. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +1 -238
  89. package/dist/Atomic/UI/AccordionText/AccordionText.js +1 -69
  90. package/dist/Atomic/UI/AdvancedTag/AdvTag.js +1 -207
  91. package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +1 -56
  92. package/dist/Atomic/UI/Alert/Alert.js +1 -72
  93. package/dist/Atomic/UI/Arrow/Arrow.js +1 -132
  94. package/dist/Atomic/UI/Box/Box.js +1 -52
  95. package/dist/Atomic/UI/Button/Button.js +1 -89
  96. package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +1 -72
  97. package/dist/Atomic/UI/Chart/Chart.js +1 -172
  98. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +1 -95
  99. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +1 -80
  100. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +1 -188
  101. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +1 -335
  102. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +1 -43
  103. package/dist/Atomic/UI/Chart/partial/utils.js +1 -60
  104. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +1 -109
  105. package/dist/Atomic/UI/DateTime/DateTime.js +1 -57
  106. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +1 -44
  107. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +1 -15
  108. package/dist/Atomic/UI/DoubleString/DoubleString.js +1 -102
  109. package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +1 -226
  110. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +1 -221
  111. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +1 -106
  112. package/dist/Atomic/UI/Hint/Hint.js +1 -193
  113. package/dist/Atomic/UI/Hint/partials/_utils.js +1 -51
  114. package/dist/Atomic/UI/Modal/Modal.js +1 -188
  115. package/dist/Atomic/UI/Modal/ModalHOC.js +1 -72
  116. package/dist/Atomic/UI/Modal/partials/ModalFooter.js +1 -46
  117. package/dist/Atomic/UI/Modal/partials/ModalTitle.js +1 -83
  118. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +1 -200
  119. package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.js +1 -75
  120. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +1 -80
  121. package/dist/Atomic/UI/NavLine/NavLine.js +1 -293
  122. package/dist/Atomic/UI/PageTitle/PageTitle.js +1 -75
  123. package/dist/Atomic/UI/PieChart/PieChart.js +1 -42
  124. package/dist/Atomic/UI/Price/Price.js +1 -22
  125. package/dist/Atomic/UI/PriceRange/PriceRange.js +1 -36
  126. package/dist/Atomic/UI/ProgressLine/ProgressLine.js +1 -71
  127. package/dist/Atomic/UI/Status/Status.js +1 -59
  128. package/dist/Atomic/UI/Table/Partials/TdCell.js +1 -87
  129. package/dist/Atomic/UI/Table/Partials/TdHeader.js +1 -38
  130. package/dist/Atomic/UI/Table/Partials/TdRow.js +1 -99
  131. package/dist/Atomic/UI/Table/Partials/TdTitle.js +1 -52
  132. package/dist/Atomic/UI/Table/Table.js +1 -63
  133. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +1 -80
  134. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +1 -28
  135. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +1 -13
  136. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +1 -53
  137. package/dist/Atomic/UI/Tag/Tag.js +1 -160
  138. package/dist/Atomic/UI/TagList/TagList.js +1 -251
  139. package/dist/Atomic/UI/UserBox/UserBox.js +1 -73
  140. package/dist/Atomic/UI/WizardStepper/constructor.js +1 -84
  141. package/dist/Atomic/UI/WizardStepper/index.js +1 -3
  142. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +1 -37
  143. package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +1 -3
  144. package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +1 -61
  145. package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +1 -3
  146. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +1 -39
  147. package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +1 -3
  148. package/dist/Atomic/UI/WizardStepper/ui/icons.js +1 -49
  149. package/dist/Atomic/UI/WizardStepper/ui/index.js +1 -3
  150. package/dist/Classes/AbortableFetch.js +1 -454
  151. package/dist/Classes/AnimatedHandler.js +1 -47
  152. package/dist/Classes/RESTAPI/index.js +1 -228
  153. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +1 -457
  154. package/dist/Classes/RESTAPI/partials/ApiBase.js +1 -48
  155. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +1 -112
  156. package/dist/Classes/RESTAPI/partials/ApiUtils.js +1 -189
  157. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +1 -252
  158. package/dist/Classes/RESTAPI/partials/Utils.js +1 -92
  159. package/dist/Classes/RESTAPI/partials/_outerDependencies.js +1 -3
  160. package/dist/Classes/RESTAPI/partials/_utils.js +1 -197
  161. package/dist/Constants/index.constants.js +1 -78
  162. package/dist/Functions/Portal.js +1 -22
  163. package/dist/Functions/customEventListener.js +1 -96
  164. package/dist/Functions/dateTime.js +1 -149
  165. package/dist/Functions/fieldValueFormatters.js +1 -405
  166. package/dist/Functions/guards/assertions.js +1 -66
  167. package/dist/Functions/guards/safeValue.js +1 -30
  168. package/dist/Functions/guards/typeGuards.js +1 -116
  169. package/dist/Functions/hooks/useFormFieldsChangesManager.js +1 -95
  170. package/dist/Functions/locale/createTranslator.js +1 -32
  171. package/dist/Functions/operations.js +1 -130
  172. package/dist/Functions/presets/inputMaskPresets.js +1 -170
  173. package/dist/Functions/presets/inputPresets.js +1 -60
  174. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +1 -45
  175. package/dist/Functions/schemas.js +1 -31
  176. package/dist/Functions/useBodyScrollLock.js +1 -17
  177. package/dist/Functions/useClickOutside.js +1 -15
  178. package/dist/Functions/useDebounce.js +1 -17
  179. package/dist/Functions/useFieldFocus.js +1 -84
  180. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +1 -39
  181. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +1 -159
  182. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +1 -78
  183. package/dist/Functions/useFormTools/functions/General.js +1 -134
  184. package/dist/Functions/useFormTools/functions/RenderFields.js +1 -111
  185. package/dist/Functions/useFormTools/functions/usePrevious.js +1 -12
  186. package/dist/Functions/useFormTools/index.js +1 -778
  187. package/dist/Functions/useInputHighlightError.js +1 -67
  188. package/dist/Functions/useIsMobile/useIsMobile.js +1 -53
  189. package/dist/Functions/useKeyPress/useHandleKeyPress.js +1 -21
  190. package/dist/Functions/useKeyPress/useKeyPress.js +1 -75
  191. package/dist/Functions/useLocalStorage.js +1 -34
  192. package/dist/Functions/useLocationParams.js +1 -27
  193. package/dist/Functions/useMediaQuery.js +1 -17
  194. package/dist/Functions/useMetaInfo.js +1 -43
  195. package/dist/Functions/useMouseUpOutside.js +1 -16
  196. package/dist/Functions/useOnlineStatus.js +1 -29
  197. package/dist/Functions/usePasswordChecker.js +1 -110
  198. package/dist/Functions/usePrevious.js +1 -12
  199. package/dist/Functions/useResize.js +1 -31
  200. package/dist/Functions/useScrollTo.js +1 -17
  201. package/dist/Functions/useToggle.js +1 -17
  202. package/dist/Functions/utils.js +1 -522
  203. package/dist/Langs.js +1 -168
  204. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +1 -21
  205. package/dist/Molecular/CustomIcons/components/AlertCircle.js +1 -23
  206. package/dist/Molecular/CustomIcons/components/AppStore.js +1 -29
  207. package/dist/Molecular/CustomIcons/components/Arrow.js +1 -32
  208. package/dist/Molecular/CustomIcons/components/ArrowDown.js +1 -17
  209. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +1 -22
  210. package/dist/Molecular/CustomIcons/components/ArrowRight.js +1 -22
  211. package/dist/Molecular/CustomIcons/components/ArrowUp.js +1 -17
  212. package/dist/Molecular/CustomIcons/components/Bell.js +1 -15
  213. package/dist/Molecular/CustomIcons/components/Button.js +1 -12
  214. package/dist/Molecular/CustomIcons/components/Campaigns.js +1 -16
  215. package/dist/Molecular/CustomIcons/components/Check.js +1 -14
  216. package/dist/Molecular/CustomIcons/components/Check2.js +1 -12
  217. package/dist/Molecular/CustomIcons/components/ChevronDown.js +1 -12
  218. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +1 -11
  219. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +1 -11
  220. package/dist/Molecular/CustomIcons/components/ChevronRight.js +1 -11
  221. package/dist/Molecular/CustomIcons/components/ChevronUp.js +1 -11
  222. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +1 -27
  223. package/dist/Molecular/CustomIcons/components/Close.js +1 -14
  224. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +1 -17
  225. package/dist/Molecular/CustomIcons/components/Delete.js +1 -16
  226. package/dist/Molecular/CustomIcons/components/Edit.js +1 -15
  227. package/dist/Molecular/CustomIcons/components/Email.js +1 -31
  228. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +1 -18
  229. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +1 -35
  230. package/dist/Molecular/CustomIcons/components/Flows.js +1 -15
  231. package/dist/Molecular/CustomIcons/components/Gift.js +1 -25
  232. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +1 -29
  233. package/dist/Molecular/CustomIcons/components/GooglePlay.js +1 -29
  234. package/dist/Molecular/CustomIcons/components/HelpCircle.js +1 -19
  235. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +1 -20
  236. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +1 -19
  237. package/dist/Molecular/CustomIcons/components/Home.js +1 -16
  238. package/dist/Molecular/CustomIcons/components/Home2.js +1 -22
  239. package/dist/Molecular/CustomIcons/components/Key.js +1 -23
  240. package/dist/Molecular/CustomIcons/components/Landers.js +1 -20
  241. package/dist/Molecular/CustomIcons/components/Lock.js +1 -15
  242. package/dist/Molecular/CustomIcons/components/Mail.js +1 -26
  243. package/dist/Molecular/CustomIcons/components/Mastercard.js +1 -73
  244. package/dist/Molecular/CustomIcons/components/Minus.js +1 -25
  245. package/dist/Molecular/CustomIcons/components/Offers.js +1 -16
  246. package/dist/Molecular/CustomIcons/components/Pause.js +1 -28
  247. package/dist/Molecular/CustomIcons/components/PayPal.js +1 -41
  248. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +1 -28
  249. package/dist/Molecular/CustomIcons/components/Phone.js +1 -30
  250. package/dist/Molecular/CustomIcons/components/Play.js +1 -25
  251. package/dist/Molecular/CustomIcons/components/Plus.js +1 -25
  252. package/dist/Molecular/CustomIcons/components/Profile.js +1 -16
  253. package/dist/Molecular/CustomIcons/components/QRCode.js +1 -29
  254. package/dist/Molecular/CustomIcons/components/Rectangle.js +1 -12
  255. package/dist/Molecular/CustomIcons/components/Revert.js +1 -13
  256. package/dist/Molecular/CustomIcons/components/Star.js +1 -14
  257. package/dist/Molecular/CustomIcons/components/Star2.js +1 -16
  258. package/dist/Molecular/CustomIcons/components/TrafficSources.js +1 -14
  259. package/dist/Molecular/CustomIcons/components/Trash.js +1 -15
  260. package/dist/Molecular/CustomIcons/components/TrashRed.js +1 -15
  261. package/dist/Molecular/CustomIcons/components/Triggers.js +1 -15
  262. package/dist/Molecular/CustomIcons/components/User.js +1 -25
  263. package/dist/Molecular/CustomIcons/components/Visa.js +1 -31
  264. package/dist/Molecular/CustomIcons/components/X.js +1 -12
  265. package/dist/Molecular/CustomIcons/index.js +1 -61
  266. package/dist/Molecular/FormElement/FormElement.js +1 -54
  267. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +1 -184
  268. package/dist/Molecular/FormWithDependOn/partials/_utils.js +1 -53
  269. package/dist/Molecular/InputAddress/InputAddress.js +1 -620
  270. package/dist/Molecular/InputPassword/InputPassword.js +1 -48
  271. package/dist/index.js +1 -1
  272. package/package.json +1 -1
@@ -1,506 +1 @@
1
- import React, { useEffect, useRef, useState } from "react";
2
-
3
- import moment from "moment";
4
- import { ChevronDown, ChevronUp } from "react-feather";
5
-
6
- import "./MobileCalendar.scss";
7
-
8
- require("../../../Functions/customEventListener");
9
-
10
- const MobileCalendar = ({
11
- min = moment().subtract("10", "years"),
12
- max = moment().add("10", "years"),
13
- value = moment(),
14
- rows = 5,
15
- label = "",
16
- timeout = 75,
17
- isMobile = true,
18
- showSelectedDate = false,
19
- listItemHeight = 32,
20
-
21
- classes = {
22
- wrapper: "",
23
- label: "",
24
- body: "",
25
-
26
- yearsBlock: "",
27
- yearsList: "",
28
- yearsListItem: "",
29
-
30
- monthsBlock: "",
31
- monthsList: "",
32
- monthsListItem: "",
33
-
34
- daysBlock: "",
35
- daysList: "",
36
- daysListItem: "",
37
-
38
- prevItem: "",
39
- nextItem: "",
40
- activeItem: "",
41
- },
42
- onChange = () => {},
43
- onMinDateReached = () => {},
44
- onMaxDateReached = () => {},
45
- }) => {
46
- const Body = document.querySelector("body");
47
- const listItem = document.querySelector(
48
- ".mobile-calendar_wrapper_body_months-list--item",
49
- );
50
-
51
- const [date, setDate] = useState(value ? moment(value) : moment());
52
- const [minDate, setMinDate] = useState(moment(min));
53
- const [maxDate, setMaxDate] = useState(moment(max));
54
-
55
- const [isMouseDown, setIsMouseDown] = useState(false);
56
- const [mouseDownOn, setMouseDownOn] = useState(null);
57
- const [changeInterval, setChangeInterval] = useState(null);
58
-
59
- const [touchY, setTouchY] = useState(null);
60
- const [touchType, setTouchType] = useState(null);
61
- const [touchTimestamp, setTouchTimestamp] = useState(null);
62
-
63
- const [scrollDirection, setScrollDirection] = useState(0);
64
-
65
- const monthsListRef = useRef(null);
66
- const daysListRef = useRef(null);
67
- const yearsListRef = useRef(null);
68
-
69
- const dateRef = useRef(null);
70
- const intervalRef = useRef(null);
71
-
72
- //--HANDLERS--//
73
- const changeItem = (type, value) => {
74
- setScrollDirection(value);
75
- setDate((date) => {
76
- const newDate = moment(date).add(value, type);
77
-
78
- if (moment(newDate).isBefore(minDate)) return minDate;
79
- if (moment(newDate).isAfter(maxDate)) return maxDate;
80
-
81
- return newDate;
82
- });
83
- setTimeout(() => {
84
- setScrollDirection(0);
85
- }, 50);
86
- };
87
-
88
- const checkAvailability = (type, value) => {
89
- if (!dateRef?.current) return false;
90
-
91
- const newDate = moment(dateRef?.current).add(value, type);
92
-
93
- if (moment(newDate).isBefore(minDate)) return false;
94
- if (moment(newDate).isAfter(maxDate)) return false;
95
-
96
- return true;
97
- };
98
- const onArrowMouseDown = (type, value) => {
99
- setIsMouseDown(true);
100
- setMouseDownOn({ type, value });
101
- };
102
- const onArrowMouseUp = () => {
103
- setIsMouseDown(false);
104
- setMouseDownOn(null);
105
- };
106
- const onWheel = (e, type) => {
107
- e.preventDefault();
108
-
109
- const { deltaY } = e;
110
- const top = window.scrollX;
111
- const left = window.scrollY;
112
-
113
- window.scrollTo({ top, left });
114
-
115
- changeItem(type, deltaY < 0 ? -1 : 1);
116
- };
117
- const onTouchStart = (e, type) => {
118
- e.preventDefault();
119
-
120
- if (intervalRef?.current) {
121
- clearInterval(intervalRef?.current);
122
- intervalRef.current = null;
123
- }
124
-
125
- const { timeStamp, changedTouches } = e;
126
- const { pageY } = changedTouches[0];
127
-
128
- setTouchY(pageY);
129
- setTouchTimestamp(timeStamp);
130
- setTouchType(type);
131
-
132
- window.addEventListener(
133
- "touchend",
134
- (e) => onTouchEnd(e, pageY, timeStamp, type),
135
- { once: true },
136
- );
137
- };
138
- const onTouchMove = (e) => {
139
- if (!touchY || !touchType) return;
140
-
141
- const { timeStamp, changedTouches } = e;
142
- const { pageY } = changedTouches[0];
143
-
144
- const deltaY = touchY - pageY;
145
-
146
- if (Math.abs(deltaY) < listItemHeight) return;
147
-
148
- const direction = deltaY < 0 ? -1 : 1;
149
-
150
- setScrollDirection(direction);
151
-
152
- changeItem(touchType, direction);
153
- setTouchY(pageY);
154
- setTouchTimestamp(timeStamp);
155
- };
156
- const onTouchEnd = (e, startY, startTime, touchType) => {
157
- const { timeStamp, changedTouches } = e;
158
- const { pageY } = changedTouches[0];
159
-
160
- const path = Math.abs(startY - pageY); //in px
161
- const time = timeStamp - startTime; //ms
162
- const pxPerMs = path / time;
163
-
164
- if (pxPerMs > 0.65)
165
- innertionScroll({ startY, pageY, timeStamp, startTime, touchType });
166
- else setTouchType(null);
167
-
168
- setTouchY(null);
169
- };
170
- const innertionScroll = ({
171
- startY,
172
- pageY,
173
- timeStamp,
174
- startTime,
175
- touchType,
176
- }) => {
177
- const path = Math.abs(startY - pageY); //in px
178
- const time = timeStamp - startTime; //ms
179
- const pxPerMs = Math.ceil(path / time); //speed
180
-
181
- const S = (pxPerMs / 2) * time;
182
- const blocks = Math.ceil((S / listItemHeight) * pxPerMs);
183
-
184
- let i = 1;
185
-
186
- intervalRef.current = setInterval(() => {
187
- if (
188
- checkAvailability(touchType, startY - pageY < 0 ? -1 : 1, date) &&
189
- i <= blocks
190
- ) {
191
- changeItem(touchType, startY - pageY < 0 ? -1 : 1);
192
- } else {
193
- setTouchType(null);
194
- clearInterval(intervalRef?.current);
195
- intervalRef.current = null;
196
- }
197
-
198
- ++i;
199
- }, timeout);
200
-
201
- // for(let i = 1; i <= blocks; ++i){
202
- // // timeout = i*pxPerMs+Math.pow(i,2)*10;
203
- // timeout += 80;
204
- // if(checkAvailability(touchType, startY-pageY < 0 ? -1 : 1, date)){
205
- // setTimeout(() => {
206
- // console.log({timeout})
207
- // changeItem(touchType, startY-pageY < 0 ? -1 : 1);
208
- // }, timeout)
209
- // }
210
-
211
- // }
212
- };
213
-
214
- //--FUNCTIONS--//
215
- const intervalWorker = () => {
216
- if (!mouseDownOn) return;
217
-
218
- const { type, value } = mouseDownOn;
219
- changeItem(type, value);
220
- };
221
- const getList = (type, format) => {
222
- const list = [];
223
-
224
- const renderRows = rows;
225
-
226
- for (let i = (renderRows - 1) / 2; i >= ((renderRows - 1) / 2) * -1; --i) {
227
- list.push(moment(date).subtract(i, type).format(format));
228
- }
229
-
230
- return list;
231
- };
232
- const getMonthList = () => getList("months", "MMMM");
233
- const getDaysList = () => getList("days", "D");
234
- const getYearsList = () => getList("years", "YYYY");
235
-
236
- //--OBSERVERS--//
237
- useEffect(() => {
238
- if (moment(date.format("L")).isBefore(minDate.format("L")))
239
- setDate(minDate);
240
- if (moment(date.format("L")).isAfter(maxDate.format("L"))) setDate(maxDate);
241
- }, []);
242
-
243
- //Events Observer
244
- useEffect(() => {
245
- document.addEventListener("mouseup", onArrowMouseUp);
246
- return () => {
247
- document.removeEventListener("mouseup", onArrowMouseUp);
248
- };
249
- }, []);
250
-
251
- useEffect(() => {
252
- onChange(date);
253
- dateRef.current = date;
254
-
255
- if (moment(date.format("L")).isSame(minDate.format("L")))
256
- onMinDateReached(minDate);
257
- if (moment(date.format("L")).isSame(maxDate.format("L")))
258
- onMaxDateReached(maxDate);
259
- }, [date]);
260
-
261
- //monthList Events
262
- useEffect(() => {
263
- if (monthsListRef?.current) {
264
- monthsListRef?.current?.addEventListener(
265
- "mousewheel",
266
- (e) => onWheel(e, "months"),
267
- { passive: false },
268
- );
269
- monthsListRef?.current?.addEventListener(
270
- "touchstart",
271
- (e) => onTouchStart(e, "months"),
272
- { passive: false },
273
- );
274
- }
275
-
276
- return () => {
277
- monthsListRef?.current?.clearEventListeners("mousewheel");
278
- monthsListRef?.current?.clearEventListeners("touchstart");
279
- };
280
- }, [monthsListRef]);
281
-
282
- //daysList Events
283
- useEffect(() => {
284
- if (daysListRef?.current) {
285
- daysListRef?.current?.addEventListener(
286
- "mousewheel",
287
- (e) => onWheel(e, "days"),
288
- { passive: false },
289
- );
290
- daysListRef?.current?.addEventListener(
291
- "touchstart",
292
- (e) => onTouchStart(e, "days"),
293
- { passive: false },
294
- );
295
- }
296
-
297
- return () => {
298
- daysListRef?.current?.clearEventListeners("mousewheel");
299
- daysListRef?.current?.clearEventListeners("touchstart");
300
- };
301
- }, [daysListRef]);
302
-
303
- //yearsList Events
304
- useEffect(() => {
305
- if (yearsListRef?.current) {
306
- yearsListRef?.current?.addEventListener(
307
- "mousewheel",
308
- (e) => onWheel(e, "years"),
309
- { passive: false },
310
- );
311
- yearsListRef?.current?.addEventListener(
312
- "touchstart",
313
- (e) => onTouchStart(e, "years"),
314
- { passive: false },
315
- );
316
- }
317
-
318
- return () => {
319
- yearsListRef?.current?.clearEventListeners("mousewheel");
320
- yearsListRef?.current?.clearEventListeners("touchstart");
321
- };
322
- }, [yearsListRef]);
323
-
324
- //--RENDER--//
325
- const renderMonthsList = () => {
326
- const half = (rows - 1) / 2;
327
- return getMonthList().map((month, i) => (
328
- <div
329
- className={`mobile-calendar_wrapper_body_months-list--item ${i === half ? "active" : ""} ${
330
- i === 0 || i === rows - 1 ? "transparent" : ""
331
- } ${classes?.monthsListItem} ${i === half ? classes?.activeItem : ""}`}
332
- key={`month-${month}`}
333
- onClick={
334
- touchY
335
- ? null
336
- : () => (i - half === 0 ? {} : changeItem("months", i - half))
337
- }
338
- attr-scroll-direction={touchType === "months" ? scrollDirection : 0}
339
- attr-is-scrolling={touchType === "months" ? 1 : 0}
340
- >
341
- {month}
342
- </div>
343
- ));
344
- };
345
- const renderDaysList = () => {
346
- const half = (rows - 1) / 2;
347
- return getDaysList().map((day, i) => (
348
- <div
349
- className={`mobile-calendar_wrapper_body_days-list--item ${i === half ? "active" : ""} ${
350
- i === 0 || i === rows - 1 ? "transparent" : ""
351
- } ${classes?.daysListItem} ${i === half ? classes?.activeItem : ""}`}
352
- key={`day-${day}`}
353
- onClick={() => (i - half === 0 ? {} : changeItem("days", i - half))}
354
- attr-scroll-direction={touchType === "days" ? scrollDirection : 0}
355
- attr-is-scrolling={touchType === "days" ? 1 : 0}
356
- >
357
- {day}
358
- </div>
359
- ));
360
- };
361
- const renderYearsList = () => {
362
- const half = (rows - 1) / 2;
363
- return getYearsList().map((year, i) => (
364
- <div
365
- className={`mobile-calendar_wrapper_body_years-list--item ${i === half ? "active" : ""} ${
366
- i === 0 || i === rows - 1 ? "transparent" : ""
367
- } ${classes?.yearsListItem} ${i === half ? classes?.activeItem : ""}`}
368
- key={`year-${year}`}
369
- onClick={() => (i - half === 0 ? {} : changeItem("years", i - half))}
370
- attr-scroll-direction={touchType === "years" ? scrollDirection : 0}
371
- attr-is-scrolling={touchType === "years" ? 1 : 0}
372
- >
373
- {year}
374
- </div>
375
- ));
376
- };
377
-
378
- const renderMonthsBlock = () => {
379
- return (
380
- <div
381
- className={`mobile-calendar_wrapper_body_months ${classes?.monthsBlock}`}
382
- >
383
- <div
384
- className={`mobile-calendar_wrapper_body_months--prev ${classes?.prevItem}`}
385
- >
386
- <ChevronUp
387
- onClick={() => changeItem("months", -1)}
388
- onMouseDown={() => onArrowMouseDown("months", -1)}
389
- onMouseUp={onArrowMouseUp}
390
- />
391
- </div>
392
- <div
393
- className={`mobile-calendar_wrapper_body_months-list ${classes?.monthsList}`}
394
- ref={monthsListRef}
395
- >
396
- {renderMonthsList()}
397
- {isMobile && (
398
- <div className="mobile-calendar_wrapper_body_months-list_touch-zone"></div>
399
- )}
400
- </div>
401
- <div
402
- className={`mobile-calendar_wrapper_body_months--next ${classes?.nextItem}`}
403
- >
404
- <ChevronDown
405
- onClick={() => changeItem("months", 1)}
406
- onMouseDown={() => onArrowMouseDown("months", 1)}
407
- onMouseUp={onArrowMouseUp}
408
- />
409
- </div>
410
- </div>
411
- );
412
- };
413
- const renderDaysBlock = () => {
414
- return (
415
- <div
416
- className={`mobile-calendar_wrapper_body_days ${classes?.daysBlock}`}
417
- >
418
- <div
419
- className={`mobile-calendar_wrapper_body_days--prev ${classes?.prevItem}`}
420
- >
421
- <ChevronUp
422
- onClick={() => changeItem("days", -1)}
423
- onMouseDown={() => onArrowMouseDown("days", -1)}
424
- onMouseUp={onArrowMouseUp}
425
- />
426
- </div>
427
- <div
428
- className={`mobile-calendar_wrapper_body_days-list ${classes?.daysList}`}
429
- ref={daysListRef}
430
- >
431
- {renderDaysList()}
432
- {isMobile && (
433
- <div className="mobile-calendar_wrapper_body_days-list_touch-zone"></div>
434
- )}
435
- </div>
436
- <div
437
- className={`mobile-calendar_wrapper_body_days--next ${classes?.nextItem}`}
438
- >
439
- <ChevronDown
440
- onClick={() => changeItem("days", 1)}
441
- onMouseDown={() => onArrowMouseDown("days", 1)}
442
- onMouseUp={onArrowMouseUp}
443
- />
444
- </div>
445
- </div>
446
- );
447
- };
448
- const renderYearsBlock = () => {
449
- return (
450
- <div
451
- className={`mobile-calendar_wrapper_body_years ${classes?.yearsBlock}`}
452
- >
453
- <div
454
- className={`mobile-calendar_wrapper_body_years--prev ${classes?.prevItem}`}
455
- >
456
- <ChevronUp
457
- onClick={() => changeItem("years", -1)}
458
- onMouseDown={() => onArrowMouseDown("years", -1)}
459
- onMouseUp={onArrowMouseUp}
460
- />
461
- </div>
462
- <div
463
- className={`mobile-calendar_wrapper_body_years-list ${classes?.yearsList}`}
464
- ref={yearsListRef}
465
- >
466
- {renderYearsList()}
467
- {isMobile && (
468
- <div className="mobile-calendar_wrapper_body_years-list_touch-zone"></div>
469
- )}
470
- </div>
471
- <div
472
- className={`mobile-calendar_wrapper_body_years--next ${classes?.nextItem}`}
473
- >
474
- <ChevronDown
475
- onClick={() => changeItem("years", 1)}
476
- onMouseDown={() => onArrowMouseDown("years", 1)}
477
- onMouseUp={onArrowMouseUp}
478
- />
479
- </div>
480
- </div>
481
- );
482
- };
483
-
484
- return (
485
- <div
486
- className={`mobile-calendar_wrapper ${classes?.wrapper}`}
487
- onTouchMove={onTouchMove}
488
- >
489
- <div className={`mobile-calendar_wrapper_label ${classes?.label}`}>
490
- {label}
491
- </div>
492
- {showSelectedDate && (
493
- <div className={`mobile-calendar_wrapper_label ${classes?.label}`}>
494
- {moment(date).format("LL")}
495
- </div>
496
- )}
497
- <div className={`mobile-calendar_wrapper_body ${classes?.body}`}>
498
- {renderMonthsBlock()}
499
- {renderDaysBlock()}
500
- {renderYearsBlock()}
501
- </div>
502
- </div>
503
- );
504
- };
505
-
506
- export default MobileCalendar;
1
+ function n(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function e(e,t){return function(n){if(Array.isArray(n))return n}(e)||function(n,e){var t,r,a=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=a){var o=[],l=!0,i=!1;try{for(a=a.call(n);!(l=(t=a.next()).done)&&(o.push(t.value),!e||o.length!==e);l=!0);}catch(n){i=!0,r=n}finally{try{l||null==a.return||a.return()}finally{if(i)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(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{jsx as t,jsxs as r}from"react/jsx-runtime";import{useEffect as a,useRef as o,useState as l}from"react";import i from"moment";import{ChevronDown as c,ChevronUp as u}from"react-feather";import"./MobileCalendar.scss";require("../../../Functions/customEventListener");export default function(n){var s,d,m,v=n.min,p=void 0===v?i().subtract("10","years"):v,f=n.max,y=void 0===f?i().add("10","years"):f,h=n.value,b=void 0===h?i():h,_=n.rows,w=void 0===_?5:_,L=n.label,M=n.timeout,I=void 0===M?75:M,N=n.isMobile,g=void 0===N||N,E=n.showSelectedDate,k=n.listItemHeight,S=void 0===k?32:k,x=n.classes,Y=void 0===x?{wrapper:"",label:"",body:"",yearsBlock:"",yearsList:"",yearsListItem:"",monthsBlock:"",monthsList:"",monthsListItem:"",daysBlock:"",daysList:"",daysListItem:"",prevItem:"",nextItem:"",activeItem:""}:x,C=n.onChange,D=void 0===C?function(){}:C,T=n.onMinDateReached,A=void 0===T?function(){}:T,B=n.onMaxDateReached,U=void 0===B?function(){}:B;document.querySelector("body"),document.querySelector(".mobile-calendar_wrapper_body_months-list--item");var j=e(l(b?i(b):i()),2),q=j[0],z=j[1],O=e(l(i(p)),2),R=O[0];O[1];var F=e(l(i(y)),2),H=F[0];F[1];var X=e(l(!1),2),$=(X[0],X[1]),G=e(l(null),2),J=(G[0],G[1]),K=e(l(null),2);K[0],K[1];var P=e(l(null),2),Q=P[0],V=P[1],W=e(l(null),2),Z=W[0],nn=W[1],ne=e(l(null),2),nt=(ne[0],ne[1]),nr=e(l(0),2),na=nr[0],no=nr[1],nl=o(null),ni=o(null),nc=o(null),nu=o(null),ns=o(null),nd=function(n,e){no(e),z(function(t){var r=i(t).add(e,n);return i(r).isBefore(R)?R:i(r).isAfter(H)?H:r}),setTimeout(function(){no(0)},50)},nm=function(n,e){if(!(null==nu?void 0:nu.current))return!1;var t=i(null==nu?void 0:nu.current).add(e,n);return!(i(t).isBefore(R)||i(t).isAfter(H))},nv=function(n,e){$(!0),J({type:n,value:e})},np=function(){$(!1),J(null)},nf=function(n,e){n.preventDefault();var t=n.deltaY,r=window.scrollX,a=window.scrollY;window.scrollTo({top:r,left:a}),nd(e,t<0?-1:1)},ny=function(n,e){n.preventDefault(),(null==ns?void 0:ns.current)&&(clearInterval(null==ns?void 0:ns.current),ns.current=null);var t=n.timeStamp,r=n.changedTouches[0].pageY;V(r),nt(t),nn(e),window.addEventListener("touchend",function(n){return nh(n,r,t,e)},{once:!0})},nh=function(n,e,t,r){var a=n.timeStamp,o=n.changedTouches[0].pageY;Math.abs(e-o)/(a-t)>.65?nb({startY:e,pageY:o,timeStamp:a,startTime:t,touchType:r}):nn(null),V(null)},nb=function(n){var e=n.startY,t=n.pageY,r=n.timeStamp,a=n.startTime,o=n.touchType,l=r-a,i=Math.ceil(Math.abs(e-t)/l),c=Math.ceil(i/2*l/S*i),u=1;ns.current=setInterval(function(){nm(o,e-t<0?-1:1,q)&&u<=c?nd(o,e-t<0?-1:1):(nn(null),clearInterval(null==ns?void 0:ns.current),ns.current=null),++u},I)},n_=function(n,e){for(var t=[],r=(w-1)/2;r>=-((w-1)/2*1);--r)t.push(i(q).subtract(r,n).format(e));return t};a(function(){i(q.format("L")).isBefore(R.format("L"))&&z(R),i(q.format("L")).isAfter(H.format("L"))&&z(H)},[]),a(function(){return document.addEventListener("mouseup",np),function(){document.removeEventListener("mouseup",np)}},[]),a(function(){D(q),nu.current=q,i(q.format("L")).isSame(R.format("L"))&&A(R),i(q.format("L")).isSame(H.format("L"))&&U(H)},[q]),a(function(){if(null==nl?void 0:nl.current){var n,e;null==nl||null==(n=nl.current)||n.addEventListener("mousewheel",function(n){return nf(n,"months")},{passive:!1}),null==nl||null==(e=nl.current)||e.addEventListener("touchstart",function(n){return ny(n,"months")},{passive:!1})}return function(){var n,e;null==nl||null==(n=nl.current)||n.clearEventListeners("mousewheel"),null==nl||null==(e=nl.current)||e.clearEventListeners("touchstart")}},[nl]),a(function(){if(null==ni?void 0:ni.current){var n,e;null==ni||null==(n=ni.current)||n.addEventListener("mousewheel",function(n){return nf(n,"days")},{passive:!1}),null==ni||null==(e=ni.current)||e.addEventListener("touchstart",function(n){return ny(n,"days")},{passive:!1})}return function(){var n,e;null==ni||null==(n=ni.current)||n.clearEventListeners("mousewheel"),null==ni||null==(e=ni.current)||e.clearEventListeners("touchstart")}},[ni]),a(function(){if(null==nc?void 0:nc.current){var n,e;null==nc||null==(n=nc.current)||n.addEventListener("mousewheel",function(n){return nf(n,"years")},{passive:!1}),null==nc||null==(e=nc.current)||e.addEventListener("touchstart",function(n){return ny(n,"years")},{passive:!1})}return function(){var n,e;null==nc||null==(n=nc.current)||n.clearEventListeners("mousewheel"),null==nc||null==(e=nc.current)||e.clearEventListeners("touchstart")}},[nc]);return r("div",{className:"mobile-calendar_wrapper ".concat(null==Y?void 0:Y.wrapper),onTouchMove:function(n){if(Q&&Z){var e=n.timeStamp,t=n.changedTouches[0].pageY,r=Q-t;if(!(Math.abs(r)<S)){var a=r<0?-1:1;no(a),nd(Z,a),V(t),nt(e)}}},children:[t("div",{className:"mobile-calendar_wrapper_label ".concat(null==Y?void 0:Y.label),children:void 0===L?"":L}),void 0!==E&&E&&t("div",{className:"mobile-calendar_wrapper_label ".concat(null==Y?void 0:Y.label),children:i(q).format("LL")}),r("div",{className:"mobile-calendar_wrapper_body ".concat(null==Y?void 0:Y.body),children:[r("div",{className:"mobile-calendar_wrapper_body_months ".concat(null==Y?void 0:Y.monthsBlock),children:[t("div",{className:"mobile-calendar_wrapper_body_months--prev ".concat(null==Y?void 0:Y.prevItem),children:t(u,{onClick:function(){return nd("months",-1)},onMouseDown:function(){return nv("months",-1)},onMouseUp:np})}),r("div",{className:"mobile-calendar_wrapper_body_months-list ".concat(null==Y?void 0:Y.monthsList),ref:nl,children:[(s=(w-1)/2,n_("months","MMMM").map(function(n,e){return t("div",{className:"mobile-calendar_wrapper_body_months-list--item ".concat(e===s?"active":""," ").concat(0===e||e===w-1?"transparent":""," ").concat(null==Y?void 0:Y.monthsListItem," ").concat(e===s?null==Y?void 0:Y.activeItem:""),onClick:Q?null:function(){return e-s==0?{}:nd("months",e-s)},"attr-scroll-direction":"months"===Z?na:0,"attr-is-scrolling":+("months"===Z),children:n},"month-".concat(n))})),g&&t("div",{className:"mobile-calendar_wrapper_body_months-list_touch-zone"})]}),t("div",{className:"mobile-calendar_wrapper_body_months--next ".concat(null==Y?void 0:Y.nextItem),children:t(c,{onClick:function(){return nd("months",1)},onMouseDown:function(){return nv("months",1)},onMouseUp:np})})]}),r("div",{className:"mobile-calendar_wrapper_body_days ".concat(null==Y?void 0:Y.daysBlock),children:[t("div",{className:"mobile-calendar_wrapper_body_days--prev ".concat(null==Y?void 0:Y.prevItem),children:t(u,{onClick:function(){return nd("days",-1)},onMouseDown:function(){return nv("days",-1)},onMouseUp:np})}),r("div",{className:"mobile-calendar_wrapper_body_days-list ".concat(null==Y?void 0:Y.daysList),ref:ni,children:[(d=(w-1)/2,n_("days","D").map(function(n,e){return t("div",{className:"mobile-calendar_wrapper_body_days-list--item ".concat(e===d?"active":""," ").concat(0===e||e===w-1?"transparent":""," ").concat(null==Y?void 0:Y.daysListItem," ").concat(e===d?null==Y?void 0:Y.activeItem:""),onClick:function(){return e-d==0?{}:nd("days",e-d)},"attr-scroll-direction":"days"===Z?na:0,"attr-is-scrolling":+("days"===Z),children:n},"day-".concat(n))})),g&&t("div",{className:"mobile-calendar_wrapper_body_days-list_touch-zone"})]}),t("div",{className:"mobile-calendar_wrapper_body_days--next ".concat(null==Y?void 0:Y.nextItem),children:t(c,{onClick:function(){return nd("days",1)},onMouseDown:function(){return nv("days",1)},onMouseUp:np})})]}),r("div",{className:"mobile-calendar_wrapper_body_years ".concat(null==Y?void 0:Y.yearsBlock),children:[t("div",{className:"mobile-calendar_wrapper_body_years--prev ".concat(null==Y?void 0:Y.prevItem),children:t(u,{onClick:function(){return nd("years",-1)},onMouseDown:function(){return nv("years",-1)},onMouseUp:np})}),r("div",{className:"mobile-calendar_wrapper_body_years-list ".concat(null==Y?void 0:Y.yearsList),ref:nc,children:[(m=(w-1)/2,n_("years","YYYY").map(function(n,e){return t("div",{className:"mobile-calendar_wrapper_body_years-list--item ".concat(e===m?"active":""," ").concat(0===e||e===w-1?"transparent":""," ").concat(null==Y?void 0:Y.yearsListItem," ").concat(e===m?null==Y?void 0:Y.activeItem:""),onClick:function(){return e-m==0?{}:nd("years",e-m)},"attr-scroll-direction":"years"===Z?na:0,"attr-is-scrolling":+("years"===Z),children:n},"year-".concat(n))})),g&&t("div",{className:"mobile-calendar_wrapper_body_years-list_touch-zone"})]}),t("div",{className:"mobile-calendar_wrapper_body_years--next ".concat(null==Y?void 0:Y.nextItem),children:t(c,{onClick:function(){return nd("years",1)},onMouseDown:function(){return nv("years",1)},onMouseUp:np})})]})]})]})}
@@ -1,45 +1 @@
1
- import React, { useState } from "react";
2
-
3
- import CheckboxInput from "../CheckboxInput/CheckboxInput";
4
- import Input from "../Input/Input";
5
-
6
- import "./MultiSelect.scss";
7
-
8
- const MultiSelect = ({ options, chosenOptions, onChange }) => {
9
- const [searchValue, setSearchValue] = useState("");
10
-
11
- const checkHandler = (state, value) => {
12
- if (state) {
13
- onChange([...chosenOptions, value]);
14
- } else {
15
- onChange(chosenOptions.filter((item) => item !== value));
16
- }
17
- };
18
-
19
- const filteredOptions = options.filter(({ label }) =>
20
- label.toLowerCase().includes(searchValue.toLowerCase()),
21
- );
22
-
23
- return (
24
- <div className="multiselect">
25
- <Input
26
- value={searchValue}
27
- onChange={(value) => setSearchValue(value)}
28
- placeholder="Search"
29
- />
30
- <div className="multiselect__list">
31
- {filteredOptions.map(({ label, value, id }) => (
32
- <CheckboxInput
33
- key={id}
34
- value={chosenOptions.includes(value)}
35
- label={label}
36
- onChange={(state) => checkHandler(state, value)}
37
- className="multiselect__item"
38
- />
39
- ))}
40
- </div>
41
- </div>
42
- );
43
- };
44
-
45
- export default MultiSelect;
1
+ function t(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function r(r,e){if(r){if("string"==typeof r)return t(r,e);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 t(r,e)}}import{jsx as e,jsxs as n}from"react/jsx-runtime";import{useState as o}from"react";import a from"../CheckboxInput/CheckboxInput";import i from"../Input/Input";import"./MultiSelect.scss";export default function(l){var u,c=l.options,s=l.chosenOptions,f=l.onChange,m=(u=o(""),function(t){if(Array.isArray(t))return t}(u)||function(t,r){var e,n,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=(e=o.next()).done)&&(a.push(e.value),a.length!==r);i=!0);}catch(t){l=!0,n=t}finally{try{i||null==o.return||o.return()}finally{if(l)throw n}}return a}}(u,2)||r(u,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.")}()),p=m[0],y=m[1],d=function(e,n){if(e)f(((function(r){if(Array.isArray(r))return t(r)})(s)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(s)||r(s)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([n]));else f(s.filter(function(t){return t!==n}))},h=c.filter(function(t){return t.label.toLowerCase().includes(p.toLowerCase())});return n("div",{className:"multiselect",children:[e(i,{value:p,onChange:function(t){return y(t)},placeholder:"Search"}),e("div",{className:"multiselect__list",children:h.map(function(t){var r=t.label,n=t.value,o=t.id;return e(a,{value:s.includes(n),label:r,onChange:function(t){return d(t,n)},className:"multiselect__item"},o)})})]})}