intelicoreact 1.8.3 → 1.8.5

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 (264) hide show
  1. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.jsx +18 -0
  2. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.jsx +121 -0
  3. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.jsx +507 -0
  4. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.jsx +46 -0
  5. package/dist/Atomic/FormElements/NumericInput/NumericInput.jsx +337 -0
  6. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.jsx +66 -0
  7. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.jsx +78 -0
  8. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.jsx +54 -0
  9. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.jsx +183 -0
  10. package/dist/Atomic/FormElements/RangeList/RangeList.jsx +181 -0
  11. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.jsx +41 -0
  12. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.jsx +449 -0
  13. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.jsx +865 -0
  14. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.jsx +37 -0
  15. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.jsx +48 -0
  16. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.jsx +62 -0
  17. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.jsx +175 -0
  18. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.jsx +65 -0
  19. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.jsx +118 -0
  20. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.interface.ts +2 -0
  21. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +1 -1
  22. package/dist/Atomic/FormElements/Text/Text.jsx +126 -0
  23. package/dist/Atomic/FormElements/Textarea/Textarea.jsx +61 -0
  24. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.jsx +181 -0
  25. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.jsx +60 -0
  26. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.jsx +83 -0
  27. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.jsx +80 -0
  28. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.jsx +103 -0
  29. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.jsx +115 -0
  30. package/dist/Atomic/Layout/Header/Header.jsx +86 -0
  31. package/dist/Atomic/UI/AccordionTable/AccordionTable.jsx +250 -0
  32. package/dist/Atomic/UI/AccordionText/AccordionText.jsx +68 -0
  33. package/dist/Atomic/UI/Arrow/Arrow.jsx +134 -0
  34. package/dist/Atomic/UI/Box/Box.jsx +53 -0
  35. package/dist/Atomic/UI/Chart/Chart.jsx +178 -0
  36. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.jsx +78 -0
  37. package/dist/Atomic/UI/Chart/partial/optionsConstructor.jsx +334 -0
  38. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.jsx +111 -0
  39. package/dist/Atomic/UI/DateTime/DateTime.jsx +57 -0
  40. package/dist/Atomic/UI/DebugContainer/DebugContainer.jsx +44 -0
  41. package/dist/Atomic/UI/DebugContainer/useDebugContainer.jsx +15 -0
  42. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.jsx +223 -0
  43. package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.jsx +75 -0
  44. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.jsx +86 -0
  45. package/dist/Atomic/UI/PieChart/PieChart.jsx +41 -0
  46. package/dist/Atomic/UI/Table/Partials/TdCell.jsx +87 -0
  47. package/dist/Atomic/UI/Table/Partials/TdHeader.jsx +36 -0
  48. package/dist/Atomic/UI/Table/Partials/TdRow.jsx +103 -0
  49. package/dist/Atomic/UI/Table/Partials/TdTitle.jsx +55 -0
  50. package/dist/Atomic/UI/Table/Table.jsx +63 -0
  51. package/dist/Atomic/UI/Table/TdTypes/TdActions.jsx +80 -0
  52. package/dist/Atomic/UI/Table/TdTypes/TdPriority.jsx +26 -0
  53. package/dist/Atomic/UI/Table/TdTypes/TdRange.jsx +13 -0
  54. package/dist/Atomic/UI/Table/TdTypes/TdWeight.jsx +56 -0
  55. package/dist/Atomic/UI/Tag/Tag.interface.ts +1 -0
  56. package/dist/Atomic/UI/Tag/Tag.js +1 -1
  57. package/dist/Atomic/UI/TagList/TagList.jsx +256 -0
  58. package/dist/Atomic/UI/WizardStepper/constructor.jsx +86 -0
  59. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.jsx +254 -0
  60. package/dist/Functions/customEventListener.jsx +96 -0
  61. package/dist/Functions/operations.jsx +138 -0
  62. package/dist/Functions/useFormTools/functions/RenderFields.jsx +108 -0
  63. package/dist/Functions/useFormTools/index.jsx +777 -0
  64. package/dist/Functions/usePasswordChecker.jsx +128 -0
  65. package/dist/Functions/utils.jsx +492 -0
  66. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.jsx +22 -0
  67. package/dist/Molecular/CustomIcons/components/AlertCircle.jsx +24 -0
  68. package/dist/Molecular/CustomIcons/components/AppStore.jsx +30 -0
  69. package/dist/Molecular/CustomIcons/components/Arrow.jsx +33 -0
  70. package/dist/Molecular/CustomIcons/components/ArrowDown.jsx +18 -0
  71. package/dist/Molecular/CustomIcons/components/ArrowLeft.jsx +23 -0
  72. package/dist/Molecular/CustomIcons/components/ArrowRight.jsx +23 -0
  73. package/dist/Molecular/CustomIcons/components/ArrowUp.jsx +18 -0
  74. package/dist/Molecular/CustomIcons/components/Bell.jsx +16 -0
  75. package/dist/Molecular/CustomIcons/components/Button.jsx +13 -0
  76. package/dist/Molecular/CustomIcons/components/Campaigns.jsx +17 -0
  77. package/dist/Molecular/CustomIcons/components/Check.jsx +15 -0
  78. package/dist/Molecular/CustomIcons/components/Check2.jsx +13 -0
  79. package/dist/Molecular/CustomIcons/components/ChevronDown.jsx +13 -0
  80. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.jsx +12 -0
  81. package/dist/Molecular/CustomIcons/components/ChevronLeft.jsx +12 -0
  82. package/dist/Molecular/CustomIcons/components/ChevronRight.jsx +12 -0
  83. package/dist/Molecular/CustomIcons/components/ChevronUp.jsx +12 -0
  84. package/dist/Molecular/CustomIcons/components/ChevronUpDown.jsx +28 -0
  85. package/dist/Molecular/CustomIcons/components/Close.jsx +15 -0
  86. package/dist/Molecular/CustomIcons/components/ColumnsOrder.jsx +18 -0
  87. package/dist/Molecular/CustomIcons/components/Delete.jsx +17 -0
  88. package/dist/Molecular/CustomIcons/components/Edit.jsx +16 -0
  89. package/dist/Molecular/CustomIcons/components/Email.jsx +32 -0
  90. package/dist/Molecular/CustomIcons/components/FinturfLogo.jsx +19 -0
  91. package/dist/Molecular/CustomIcons/components/FinturfLogo2.jsx +36 -0
  92. package/dist/Molecular/CustomIcons/components/Flows.jsx +16 -0
  93. package/dist/Molecular/CustomIcons/components/Gift.jsx +26 -0
  94. package/dist/Molecular/CustomIcons/components/GoogleAuth.jsx +30 -0
  95. package/dist/Molecular/CustomIcons/components/GooglePlay.jsx +30 -0
  96. package/dist/Molecular/CustomIcons/components/HelpCircle.jsx +20 -0
  97. package/dist/Molecular/CustomIcons/components/HelpCircle2.jsx +21 -0
  98. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.jsx +20 -0
  99. package/dist/Molecular/CustomIcons/components/Home.jsx +17 -0
  100. package/dist/Molecular/CustomIcons/components/Home2.jsx +23 -0
  101. package/dist/Molecular/CustomIcons/components/Key.jsx +24 -0
  102. package/dist/Molecular/CustomIcons/components/Landers.jsx +21 -0
  103. package/dist/Molecular/CustomIcons/components/Lock.jsx +16 -0
  104. package/dist/Molecular/CustomIcons/components/Mail.jsx +27 -0
  105. package/dist/Molecular/CustomIcons/components/Mastercard.jsx +74 -0
  106. package/dist/Molecular/CustomIcons/components/Minus.jsx +26 -0
  107. package/dist/Molecular/CustomIcons/components/Offers.jsx +17 -0
  108. package/dist/Molecular/CustomIcons/components/Pause.jsx +29 -0
  109. package/dist/Molecular/CustomIcons/components/PayPal.jsx +42 -0
  110. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.jsx +29 -0
  111. package/dist/Molecular/CustomIcons/components/Phone.jsx +31 -0
  112. package/dist/Molecular/CustomIcons/components/Play.jsx +26 -0
  113. package/dist/Molecular/CustomIcons/components/Plus.jsx +26 -0
  114. package/dist/Molecular/CustomIcons/components/Profile.jsx +17 -0
  115. package/dist/Molecular/CustomIcons/components/QRCode.jsx +30 -0
  116. package/dist/Molecular/CustomIcons/components/Rectangle.jsx +13 -0
  117. package/dist/Molecular/CustomIcons/components/Revert.jsx +14 -0
  118. package/dist/Molecular/CustomIcons/components/Star.jsx +15 -0
  119. package/dist/Molecular/CustomIcons/components/Star2.jsx +17 -0
  120. package/dist/Molecular/CustomIcons/components/TrafficSources.jsx +15 -0
  121. package/dist/Molecular/CustomIcons/components/Trash.jsx +16 -0
  122. package/dist/Molecular/CustomIcons/components/TrashRed.jsx +16 -0
  123. package/dist/Molecular/CustomIcons/components/Triggers.jsx +16 -0
  124. package/dist/Molecular/CustomIcons/components/User.jsx +26 -0
  125. package/dist/Molecular/CustomIcons/components/Visa.jsx +32 -0
  126. package/dist/Molecular/CustomIcons/components/X.jsx +13 -0
  127. package/dist/Molecular/FormElement/FormElement.jsx +52 -0
  128. package/dist/Molecular/FormWithDependOn/FormWithDependOn.jsx +161 -0
  129. package/dist/Molecular/InputAddress/InputAddress.jsx +641 -0
  130. package/dist/Molecular/InputPassword/InputPassword.jsx +50 -0
  131. package/package.json +13 -6
  132. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +0 -1
  133. package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +0 -1
  134. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +0 -1
  135. package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +0 -1
  136. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +0 -1
  137. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +0 -1
  138. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +0 -1
  139. package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +0 -1
  140. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +0 -1
  141. package/dist/Atomic/FormElements/RangeList/RangeList.js +0 -1
  142. package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +0 -1
  143. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +0 -1
  144. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +0 -1
  145. package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +0 -1
  146. package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +0 -1
  147. package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +0 -1
  148. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.d.ts +0 -16
  149. package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +0 -1
  150. package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +0 -1
  151. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.d.ts +0 -9
  152. package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +0 -1
  153. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.d.ts +0 -5
  154. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.interface.d.ts +0 -79
  155. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.interface.js +0 -1
  156. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.interface.js.map +0 -1
  157. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js.map +0 -1
  158. package/dist/Atomic/FormElements/Text/Text.js +0 -1
  159. package/dist/Atomic/FormElements/Textarea/Textarea.js +0 -1
  160. package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +0 -1
  161. package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +0 -1
  162. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +0 -1
  163. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +0 -1
  164. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +0 -1
  165. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +0 -1
  166. package/dist/Atomic/Layout/Header/Header.js +0 -1
  167. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +0 -1
  168. package/dist/Atomic/UI/AccordionText/AccordionText.js +0 -1
  169. package/dist/Atomic/UI/Arrow/Arrow.js +0 -1
  170. package/dist/Atomic/UI/Box/Box.js +0 -1
  171. package/dist/Atomic/UI/Chart/Chart.js +0 -1
  172. package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +0 -1
  173. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +0 -1
  174. package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +0 -1
  175. package/dist/Atomic/UI/DateTime/DateTime.js +0 -1
  176. package/dist/Atomic/UI/DebugContainer/DebugContainer.js +0 -1
  177. package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +0 -1
  178. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +0 -1
  179. package/dist/Atomic/UI/MonoAccordion/MonoAccordion._test.js +0 -1
  180. package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +0 -1
  181. package/dist/Atomic/UI/PieChart/PieChart.js +0 -1
  182. package/dist/Atomic/UI/Table/Partials/TdCell.js +0 -1
  183. package/dist/Atomic/UI/Table/Partials/TdHeader.js +0 -1
  184. package/dist/Atomic/UI/Table/Partials/TdRow.js +0 -1
  185. package/dist/Atomic/UI/Table/Partials/TdTitle.js +0 -1
  186. package/dist/Atomic/UI/Table/Table.js +0 -1
  187. package/dist/Atomic/UI/Table/TdTypes/TdActions.js +0 -1
  188. package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +0 -1
  189. package/dist/Atomic/UI/Table/TdTypes/TdRange.js +0 -1
  190. package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +0 -1
  191. package/dist/Atomic/UI/TagList/TagList.js +0 -1
  192. package/dist/Atomic/UI/WizardStepper/constructor.js +0 -1
  193. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +0 -1
  194. package/dist/Functions/customEventListener.js +0 -1
  195. package/dist/Functions/operations.js +0 -1
  196. package/dist/Functions/useFormTools/functions/RenderFields.js +0 -1
  197. package/dist/Functions/useFormTools/index.js +0 -1
  198. package/dist/Functions/usePasswordChecker.js +0 -1
  199. package/dist/Functions/utils.js +0 -1
  200. package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +0 -1
  201. package/dist/Molecular/CustomIcons/components/AlertCircle.js +0 -1
  202. package/dist/Molecular/CustomIcons/components/AppStore.js +0 -1
  203. package/dist/Molecular/CustomIcons/components/Arrow.js +0 -1
  204. package/dist/Molecular/CustomIcons/components/ArrowDown.js +0 -1
  205. package/dist/Molecular/CustomIcons/components/ArrowLeft.js +0 -1
  206. package/dist/Molecular/CustomIcons/components/ArrowRight.js +0 -1
  207. package/dist/Molecular/CustomIcons/components/ArrowUp.js +0 -1
  208. package/dist/Molecular/CustomIcons/components/Bell.js +0 -1
  209. package/dist/Molecular/CustomIcons/components/Button.js +0 -1
  210. package/dist/Molecular/CustomIcons/components/Campaigns.js +0 -1
  211. package/dist/Molecular/CustomIcons/components/Check.js +0 -1
  212. package/dist/Molecular/CustomIcons/components/Check2.js +0 -1
  213. package/dist/Molecular/CustomIcons/components/ChevronDown.js +0 -1
  214. package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +0 -1
  215. package/dist/Molecular/CustomIcons/components/ChevronLeft.js +0 -1
  216. package/dist/Molecular/CustomIcons/components/ChevronRight.js +0 -1
  217. package/dist/Molecular/CustomIcons/components/ChevronUp.js +0 -1
  218. package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +0 -1
  219. package/dist/Molecular/CustomIcons/components/Close.js +0 -1
  220. package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +0 -1
  221. package/dist/Molecular/CustomIcons/components/Delete.js +0 -1
  222. package/dist/Molecular/CustomIcons/components/Edit.js +0 -1
  223. package/dist/Molecular/CustomIcons/components/Email.js +0 -1
  224. package/dist/Molecular/CustomIcons/components/FinturfLogo.js +0 -1
  225. package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +0 -1
  226. package/dist/Molecular/CustomIcons/components/Flows.js +0 -1
  227. package/dist/Molecular/CustomIcons/components/Gift.js +0 -1
  228. package/dist/Molecular/CustomIcons/components/GoogleAuth.js +0 -1
  229. package/dist/Molecular/CustomIcons/components/GooglePlay.js +0 -1
  230. package/dist/Molecular/CustomIcons/components/HelpCircle.js +0 -1
  231. package/dist/Molecular/CustomIcons/components/HelpCircle2.js +0 -1
  232. package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +0 -1
  233. package/dist/Molecular/CustomIcons/components/Home.js +0 -1
  234. package/dist/Molecular/CustomIcons/components/Home2.js +0 -1
  235. package/dist/Molecular/CustomIcons/components/Key.js +0 -1
  236. package/dist/Molecular/CustomIcons/components/Landers.js +0 -1
  237. package/dist/Molecular/CustomIcons/components/Lock.js +0 -1
  238. package/dist/Molecular/CustomIcons/components/Mail.js +0 -1
  239. package/dist/Molecular/CustomIcons/components/Mastercard.js +0 -1
  240. package/dist/Molecular/CustomIcons/components/Minus.js +0 -1
  241. package/dist/Molecular/CustomIcons/components/Offers.js +0 -1
  242. package/dist/Molecular/CustomIcons/components/Pause.js +0 -1
  243. package/dist/Molecular/CustomIcons/components/PayPal.js +0 -1
  244. package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +0 -1
  245. package/dist/Molecular/CustomIcons/components/Phone.js +0 -1
  246. package/dist/Molecular/CustomIcons/components/Play.js +0 -1
  247. package/dist/Molecular/CustomIcons/components/Plus.js +0 -1
  248. package/dist/Molecular/CustomIcons/components/Profile.js +0 -1
  249. package/dist/Molecular/CustomIcons/components/QRCode.js +0 -1
  250. package/dist/Molecular/CustomIcons/components/Rectangle.js +0 -1
  251. package/dist/Molecular/CustomIcons/components/Revert.js +0 -1
  252. package/dist/Molecular/CustomIcons/components/Star.js +0 -1
  253. package/dist/Molecular/CustomIcons/components/Star2.js +0 -1
  254. package/dist/Molecular/CustomIcons/components/TrafficSources.js +0 -1
  255. package/dist/Molecular/CustomIcons/components/Trash.js +0 -1
  256. package/dist/Molecular/CustomIcons/components/TrashRed.js +0 -1
  257. package/dist/Molecular/CustomIcons/components/Triggers.js +0 -1
  258. package/dist/Molecular/CustomIcons/components/User.js +0 -1
  259. package/dist/Molecular/CustomIcons/components/Visa.js +0 -1
  260. package/dist/Molecular/CustomIcons/components/X.js +0 -1
  261. package/dist/Molecular/FormElement/FormElement.js +0 -1
  262. package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +0 -1
  263. package/dist/Molecular/InputAddress/InputAddress.js +0 -1
  264. package/dist/Molecular/InputPassword/InputPassword.js +0 -1
@@ -0,0 +1,18 @@
1
+ import './DropdownLoader.scss';
2
+
3
+ function DropdownLoader({ variant = '' }) {
4
+ return (
5
+ <div className="dropdown-loader-box j5">
6
+ <div
7
+ className={`lds-ring${variant === 'little' ? ' lds-ring_little' : ''}`}
8
+ >
9
+ <div />
10
+ <div />
11
+ <div />
12
+ <div />
13
+ </div>
14
+ </div>
15
+ );
16
+ }
17
+
18
+ export default DropdownLoader;
@@ -0,0 +1,121 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+
3
+ import { Eye, EyeOff } from 'react-feather';
4
+
5
+ import { setCarretToEnd } from '../../../Functions/utils';
6
+ import Input from '../Input/Input';
7
+
8
+ import './FormattedRawSSN.scss';
9
+
10
+ function FormattedRawSSN({
11
+ value = '',
12
+ postfix = '',
13
+ onChange: onChangeProp = () => {},
14
+ maskChar = '*',
15
+ testId = 'formatted-raw-ssn',
16
+ isHiddenDefault = true,
17
+ maxLen = 9,
18
+ ...args
19
+ }) {
20
+ const [SSN, setSSN] = useState(value?.substring(0, maxLen) ?? '');
21
+ const [isHidden, setIsHidden] = useState(isHiddenDefault);
22
+ const wrapperRef = useRef(null);
23
+
24
+ useEffect(() => {
25
+ setSSN(value?.toString()?.substring(0, maxLen) ?? '');
26
+ }, [value]);
27
+
28
+ const onChange = (value) => {
29
+ if (!value && value !== '') return '';
30
+
31
+ if (value.replace(/-/g, '').length < SSN.length) {
32
+ const last = SSN.length - 1;
33
+ setSSN(SSN.slice(0, last));
34
+ return;
35
+ }
36
+
37
+ const numValue = value.replace(/\D/g, '');
38
+ let newSSN = '';
39
+
40
+ if (isHidden) {
41
+ if (SSN.length > 5) {
42
+ newSSN = SSN.slice(0, 5) + numValue;
43
+ }
44
+ else {
45
+ newSSN = SSN + numValue;
46
+ }
47
+ }
48
+ else {
49
+ newSSN = numValue;
50
+ }
51
+
52
+ if (newSSN.length > maxLen) {
53
+ return;
54
+ }
55
+ setSSN(newSSN);
56
+ };
57
+ const switchView = () => {
58
+ const input = wrapperRef?.current?.querySelector('input');
59
+ input?.focus();
60
+ setCarretToEnd(input);
61
+ setIsHidden(!isHidden);
62
+ };
63
+
64
+ const getFormatedValue = (v) => {
65
+ if (!v) return '';
66
+
67
+ v = v.slice(0, 11).replace(/-/g, '');
68
+ if (v.length <= 3) {
69
+ return v;
70
+ }
71
+ if (v.length > 3 && v.length <= 5) {
72
+ return `${v.slice(0, 3)}-${v.slice(3)}`;
73
+ }
74
+ if (v.length > 5) {
75
+ return `${v.slice(0, 3)}-${v.slice(3, 5)}-${v.slice(5)}`;
76
+ }
77
+ };
78
+ const getMaskedValue = (v) => {
79
+ return isHidden
80
+ ? v.slice(0, 7).replace(/\d/g, maskChar).concat(v.slice(7))
81
+ : v;
82
+ };
83
+
84
+ useEffect(() => {
85
+ if (SSN) {
86
+ onChangeProp?.(
87
+ SSN.concat(SSN.length === maxLen ? postfix : '').replace(/-/g, ''),
88
+ );
89
+ }
90
+ }, [SSN]);
91
+
92
+ return (
93
+ <div data-testid={testId} className="formatted-raw-ssn" ref={wrapperRef}>
94
+ <Input
95
+ {...args}
96
+ value={getMaskedValue(getFormatedValue(SSN))}
97
+ onChange={onChange}
98
+ />
99
+ {postfix && (
100
+ <span
101
+ className="formatted-raw-ssn-postfix"
102
+ onClick={() => wrapperRef?.current?.querySelector('input')?.focus()}
103
+ >
104
+ {postfix}
105
+ </span>
106
+ )}
107
+ <span className="formatted-raw-ssn-eye-holder" onClick={switchView}>
108
+ {' '}
109
+ {isHidden
110
+ ? (
111
+ <Eye strokeWidth={1} className="password-icon" />
112
+ )
113
+ : (
114
+ <EyeOff strokeWidth={1} className="password-icon" />
115
+ )}
116
+ </span>
117
+ </div>
118
+ );
119
+ }
120
+
121
+ export default FormattedRawSSN;
@@ -0,0 +1,507 @@
1
+ import moment from 'moment';
2
+
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { ChevronDown, ChevronUp } from 'react-feather';
5
+
6
+ import './MobileCalendar.scss';
7
+
8
+ require('../../../Functions/customEventListener');
9
+
10
+ function 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
+ }
193
+ else {
194
+ setTouchType(null);
195
+ clearInterval(intervalRef?.current);
196
+ intervalRef.current = null;
197
+ }
198
+
199
+ ++i;
200
+ }, timeout);
201
+
202
+ // for(let i = 1; i <= blocks; ++i){
203
+ // // timeout = i*pxPerMs+Math.pow(i,2)*10;
204
+ // timeout += 80;
205
+ // if(checkAvailability(touchType, startY-pageY < 0 ? -1 : 1, date)){
206
+ // setTimeout(() => {
207
+ // console.log({timeout})
208
+ // changeItem(touchType, startY-pageY < 0 ? -1 : 1);
209
+ // }, timeout)
210
+ // }
211
+
212
+ // }
213
+ };
214
+
215
+ // --FUNCTIONS--//
216
+ const intervalWorker = () => {
217
+ if (!mouseDownOn) return;
218
+
219
+ const { type, value } = mouseDownOn;
220
+ changeItem(type, value);
221
+ };
222
+ const getList = (type, format) => {
223
+ const list = [];
224
+
225
+ const renderRows = rows;
226
+
227
+ for (let i = (renderRows - 1) / 2; i >= ((renderRows - 1) / 2) * -1; --i) {
228
+ list.push(moment(date).subtract(i, type).format(format));
229
+ }
230
+
231
+ return list;
232
+ };
233
+ const getMonthList = () => getList('months', 'MMMM');
234
+ const getDaysList = () => getList('days', 'D');
235
+ const getYearsList = () => getList('years', 'YYYY');
236
+
237
+ // --OBSERVERS--//
238
+ useEffect(() => {
239
+ if (moment(date.format('L')).isBefore(minDate.format('L')))
240
+ setDate(minDate);
241
+ if (moment(date.format('L')).isAfter(maxDate.format('L'))) setDate(maxDate);
242
+ }, []);
243
+
244
+ // Events Observer
245
+ useEffect(() => {
246
+ document.addEventListener('mouseup', onArrowMouseUp);
247
+ return () => {
248
+ document.removeEventListener('mouseup', onArrowMouseUp);
249
+ };
250
+ }, []);
251
+
252
+ useEffect(() => {
253
+ onChange(date);
254
+ dateRef.current = date;
255
+
256
+ if (moment(date.format('L')).isSame(minDate.format('L')))
257
+ onMinDateReached(minDate);
258
+ if (moment(date.format('L')).isSame(maxDate.format('L')))
259
+ onMaxDateReached(maxDate);
260
+ }, [date]);
261
+
262
+ // monthList Events
263
+ useEffect(() => {
264
+ if (monthsListRef?.current) {
265
+ monthsListRef?.current?.addEventListener(
266
+ 'mousewheel',
267
+ e => onWheel(e, 'months'),
268
+ { passive: false },
269
+ );
270
+ monthsListRef?.current?.addEventListener(
271
+ 'touchstart',
272
+ e => onTouchStart(e, 'months'),
273
+ { passive: false },
274
+ );
275
+ }
276
+
277
+ return () => {
278
+ monthsListRef?.current?.clearEventListeners('mousewheel');
279
+ monthsListRef?.current?.clearEventListeners('touchstart');
280
+ };
281
+ }, [monthsListRef]);
282
+
283
+ // daysList Events
284
+ useEffect(() => {
285
+ if (daysListRef?.current) {
286
+ daysListRef?.current?.addEventListener(
287
+ 'mousewheel',
288
+ e => onWheel(e, 'days'),
289
+ { passive: false },
290
+ );
291
+ daysListRef?.current?.addEventListener(
292
+ 'touchstart',
293
+ e => onTouchStart(e, 'days'),
294
+ { passive: false },
295
+ );
296
+ }
297
+
298
+ return () => {
299
+ daysListRef?.current?.clearEventListeners('mousewheel');
300
+ daysListRef?.current?.clearEventListeners('touchstart');
301
+ };
302
+ }, [daysListRef]);
303
+
304
+ // yearsList Events
305
+ useEffect(() => {
306
+ if (yearsListRef?.current) {
307
+ yearsListRef?.current?.addEventListener(
308
+ 'mousewheel',
309
+ e => onWheel(e, 'years'),
310
+ { passive: false },
311
+ );
312
+ yearsListRef?.current?.addEventListener(
313
+ 'touchstart',
314
+ e => onTouchStart(e, 'years'),
315
+ { passive: false },
316
+ );
317
+ }
318
+
319
+ return () => {
320
+ yearsListRef?.current?.clearEventListeners('mousewheel');
321
+ yearsListRef?.current?.clearEventListeners('touchstart');
322
+ };
323
+ }, [yearsListRef]);
324
+
325
+ // --RENDER--//
326
+ const renderMonthsList = () => {
327
+ const half = (rows - 1) / 2;
328
+ return getMonthList().map((month, i) => (
329
+ <div
330
+ className={`mobile-calendar_wrapper_body_months-list--item ${i === half ? 'active' : ''} ${
331
+ i === 0 || i === rows - 1 ? 'transparent' : ''
332
+ } ${classes?.monthsListItem} ${i === half ? classes?.activeItem : ''}`}
333
+ key={`month-${month}`}
334
+ onClick={
335
+ touchY
336
+ ? null
337
+ : () => (i - half === 0 ? {} : changeItem('months', i - half))
338
+ }
339
+ attr-scroll-direction={touchType === 'months' ? scrollDirection : 0}
340
+ attr-is-scrolling={touchType === 'months' ? 1 : 0}
341
+ >
342
+ {month}
343
+ </div>
344
+ ));
345
+ };
346
+ const renderDaysList = () => {
347
+ const half = (rows - 1) / 2;
348
+ return getDaysList().map((day, i) => (
349
+ <div
350
+ className={`mobile-calendar_wrapper_body_days-list--item ${i === half ? 'active' : ''} ${
351
+ i === 0 || i === rows - 1 ? 'transparent' : ''
352
+ } ${classes?.daysListItem} ${i === half ? classes?.activeItem : ''}`}
353
+ key={`day-${day}`}
354
+ onClick={() => (i - half === 0 ? {} : changeItem('days', i - half))}
355
+ attr-scroll-direction={touchType === 'days' ? scrollDirection : 0}
356
+ attr-is-scrolling={touchType === 'days' ? 1 : 0}
357
+ >
358
+ {day}
359
+ </div>
360
+ ));
361
+ };
362
+ const renderYearsList = () => {
363
+ const half = (rows - 1) / 2;
364
+ return getYearsList().map((year, i) => (
365
+ <div
366
+ className={`mobile-calendar_wrapper_body_years-list--item ${i === half ? 'active' : ''} ${
367
+ i === 0 || i === rows - 1 ? 'transparent' : ''
368
+ } ${classes?.yearsListItem} ${i === half ? classes?.activeItem : ''}`}
369
+ key={`year-${year}`}
370
+ onClick={() => (i - half === 0 ? {} : changeItem('years', i - half))}
371
+ attr-scroll-direction={touchType === 'years' ? scrollDirection : 0}
372
+ attr-is-scrolling={touchType === 'years' ? 1 : 0}
373
+ >
374
+ {year}
375
+ </div>
376
+ ));
377
+ };
378
+
379
+ const renderMonthsBlock = () => {
380
+ return (
381
+ <div
382
+ className={`mobile-calendar_wrapper_body_months ${classes?.monthsBlock}`}
383
+ >
384
+ <div
385
+ className={`mobile-calendar_wrapper_body_months--prev ${classes?.prevItem}`}
386
+ >
387
+ <ChevronUp
388
+ onClick={() => changeItem('months', -1)}
389
+ onMouseDown={() => onArrowMouseDown('months', -1)}
390
+ onMouseUp={onArrowMouseUp}
391
+ />
392
+ </div>
393
+ <div
394
+ className={`mobile-calendar_wrapper_body_months-list ${classes?.monthsList}`}
395
+ ref={monthsListRef}
396
+ >
397
+ {renderMonthsList()}
398
+ {isMobile && (
399
+ <div className="mobile-calendar_wrapper_body_months-list_touch-zone"></div>
400
+ )}
401
+ </div>
402
+ <div
403
+ className={`mobile-calendar_wrapper_body_months--next ${classes?.nextItem}`}
404
+ >
405
+ <ChevronDown
406
+ onClick={() => changeItem('months', 1)}
407
+ onMouseDown={() => onArrowMouseDown('months', 1)}
408
+ onMouseUp={onArrowMouseUp}
409
+ />
410
+ </div>
411
+ </div>
412
+ );
413
+ };
414
+ const renderDaysBlock = () => {
415
+ return (
416
+ <div
417
+ className={`mobile-calendar_wrapper_body_days ${classes?.daysBlock}`}
418
+ >
419
+ <div
420
+ className={`mobile-calendar_wrapper_body_days--prev ${classes?.prevItem}`}
421
+ >
422
+ <ChevronUp
423
+ onClick={() => changeItem('days', -1)}
424
+ onMouseDown={() => onArrowMouseDown('days', -1)}
425
+ onMouseUp={onArrowMouseUp}
426
+ />
427
+ </div>
428
+ <div
429
+ className={`mobile-calendar_wrapper_body_days-list ${classes?.daysList}`}
430
+ ref={daysListRef}
431
+ >
432
+ {renderDaysList()}
433
+ {isMobile && (
434
+ <div className="mobile-calendar_wrapper_body_days-list_touch-zone"></div>
435
+ )}
436
+ </div>
437
+ <div
438
+ className={`mobile-calendar_wrapper_body_days--next ${classes?.nextItem}`}
439
+ >
440
+ <ChevronDown
441
+ onClick={() => changeItem('days', 1)}
442
+ onMouseDown={() => onArrowMouseDown('days', 1)}
443
+ onMouseUp={onArrowMouseUp}
444
+ />
445
+ </div>
446
+ </div>
447
+ );
448
+ };
449
+ const renderYearsBlock = () => {
450
+ return (
451
+ <div
452
+ className={`mobile-calendar_wrapper_body_years ${classes?.yearsBlock}`}
453
+ >
454
+ <div
455
+ className={`mobile-calendar_wrapper_body_years--prev ${classes?.prevItem}`}
456
+ >
457
+ <ChevronUp
458
+ onClick={() => changeItem('years', -1)}
459
+ onMouseDown={() => onArrowMouseDown('years', -1)}
460
+ onMouseUp={onArrowMouseUp}
461
+ />
462
+ </div>
463
+ <div
464
+ className={`mobile-calendar_wrapper_body_years-list ${classes?.yearsList}`}
465
+ ref={yearsListRef}
466
+ >
467
+ {renderYearsList()}
468
+ {isMobile && (
469
+ <div className="mobile-calendar_wrapper_body_years-list_touch-zone"></div>
470
+ )}
471
+ </div>
472
+ <div
473
+ className={`mobile-calendar_wrapper_body_years--next ${classes?.nextItem}`}
474
+ >
475
+ <ChevronDown
476
+ onClick={() => changeItem('years', 1)}
477
+ onMouseDown={() => onArrowMouseDown('years', 1)}
478
+ onMouseUp={onArrowMouseUp}
479
+ />
480
+ </div>
481
+ </div>
482
+ );
483
+ };
484
+
485
+ return (
486
+ <div
487
+ className={`mobile-calendar_wrapper ${classes?.wrapper}`}
488
+ onTouchMove={onTouchMove}
489
+ >
490
+ <div className={`mobile-calendar_wrapper_label ${classes?.label}`}>
491
+ {label}
492
+ </div>
493
+ {showSelectedDate && (
494
+ <div className={`mobile-calendar_wrapper_label ${classes?.label}`}>
495
+ {moment(date).format('LL')}
496
+ </div>
497
+ )}
498
+ <div className={`mobile-calendar_wrapper_body ${classes?.body}`}>
499
+ {renderMonthsBlock()}
500
+ {renderDaysBlock()}
501
+ {renderYearsBlock()}
502
+ </div>
503
+ </div>
504
+ );
505
+ }
506
+
507
+ export default MobileCalendar;
@@ -0,0 +1,46 @@
1
+ import { useState } from 'react';
2
+
3
+ import CheckboxInput from '../CheckboxInput/CheckboxInput';
4
+ import Input from '../Input/Input';
5
+
6
+ import './MultiSelect.scss';
7
+
8
+ function MultiSelect({ options, chosenOptions, onChange }) {
9
+ const [searchValue, setSearchValue] = useState('');
10
+
11
+ const checkHandler = (state, value) => {
12
+ if (state) {
13
+ onChange([...chosenOptions, value]);
14
+ }
15
+ else {
16
+ onChange(chosenOptions.filter(item => item !== value));
17
+ }
18
+ };
19
+
20
+ const filteredOptions = options.filter(({ label }) =>
21
+ label.toLowerCase().includes(searchValue.toLowerCase()),
22
+ );
23
+
24
+ return (
25
+ <div className="multiselect">
26
+ <Input
27
+ value={searchValue}
28
+ onChange={value => setSearchValue(value)}
29
+ placeholder="Search"
30
+ />
31
+ <div className="multiselect__list">
32
+ {filteredOptions.map(({ label, value, id }) => (
33
+ <CheckboxInput
34
+ key={id}
35
+ value={chosenOptions.includes(value)}
36
+ label={label}
37
+ onChange={state => checkHandler(state, value)}
38
+ className="multiselect__item"
39
+ />
40
+ ))}
41
+ </div>
42
+ </div>
43
+ );
44
+ }
45
+
46
+ export default MultiSelect;