intelicoreact 2.0.17 → 2.0.19

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 (730) hide show
  1. package/dist/es/Atomic/FormElements/ActionAlert/ActionAlert.js +44 -0
  2. package/dist/es/Atomic/FormElements/ActionAlert/ActionAlert.js.map +1 -0
  3. package/dist/es/Atomic/FormElements/ActionAlert/ActionAlert.styles.css +39 -0
  4. package/dist/es/Atomic/FormElements/ActionAlert/index.js +7 -0
  5. package/dist/es/Atomic/FormElements/ActionAlert/index.js.map +1 -0
  6. package/dist/es/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +35 -0
  7. package/dist/es/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js.map +1 -0
  8. package/dist/es/Atomic/FormElements/AdvancedStatus/AdvancedStatus.styles.css +84 -0
  9. package/dist/es/Atomic/FormElements/AdvancedStatus/index.js +7 -0
  10. package/dist/es/Atomic/FormElements/AdvancedStatus/index.js.map +1 -0
  11. package/dist/es/Atomic/FormElements/Calendar/Calendar.js +154 -0
  12. package/dist/es/Atomic/FormElements/Calendar/Calendar.js.map +1 -0
  13. package/dist/es/Atomic/FormElements/Calendar/Calendar.styles.css +142 -0
  14. package/dist/es/Atomic/FormElements/CheckboxInput/CheckboxInput.js +45 -0
  15. package/dist/es/Atomic/FormElements/CheckboxInput/CheckboxInput.js.map +1 -0
  16. package/dist/es/Atomic/FormElements/CheckboxInput/CheckboxInput.styles.css +105 -0
  17. package/dist/es/Atomic/FormElements/CheckboxInput/index.js +7 -0
  18. package/dist/es/Atomic/FormElements/CheckboxInput/index.js.map +1 -0
  19. package/dist/es/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +32 -0
  20. package/dist/es/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js.map +1 -0
  21. package/dist/es/Atomic/FormElements/CheckboxesLine/CheckboxesLine.styles.css +26 -0
  22. package/dist/es/Atomic/FormElements/CheckboxesLine/index.js +7 -0
  23. package/dist/es/Atomic/FormElements/CheckboxesLine/index.js.map +1 -0
  24. package/dist/es/Atomic/FormElements/Datepicker/Datepicker.js +307 -0
  25. package/dist/es/Atomic/FormElements/Datepicker/Datepicker.js.map +1 -0
  26. package/dist/es/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js +95 -0
  27. package/dist/es/Atomic/FormElements/Datepicker/components/DatepickerCalendar.js.map +1 -0
  28. package/dist/es/Atomic/FormElements/Dropdown/Dropdown.js +472 -0
  29. package/dist/es/Atomic/FormElements/Dropdown/Dropdown.js.map +1 -0
  30. package/dist/es/Atomic/FormElements/Dropdown/Dropdown.styles.css +529 -0
  31. package/dist/es/Atomic/FormElements/Dropdown/_utils.js +68 -0
  32. package/dist/es/Atomic/FormElements/Dropdown/_utils.js.map +1 -0
  33. package/dist/es/Atomic/FormElements/Dropdown/components/DropdownLoader.js +23 -0
  34. package/dist/es/Atomic/FormElements/Dropdown/components/DropdownLoader.js.map +1 -0
  35. package/dist/es/Atomic/FormElements/Dropdown/components/DropdownLoader.styles.css +61 -0
  36. package/dist/es/Atomic/FormElements/Dropdown/index.js +7 -0
  37. package/dist/es/Atomic/FormElements/Dropdown/index.js.map +1 -0
  38. package/dist/es/Atomic/FormElements/Dropdown/useDropdown.js +118 -0
  39. package/dist/es/Atomic/FormElements/Dropdown/useDropdown.js.map +1 -0
  40. package/dist/es/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +373 -0
  41. package/dist/es/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js.map +1 -0
  42. package/dist/es/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.styles.css +411 -0
  43. package/dist/es/Atomic/FormElements/FileLoader/FileLoader.js +55 -0
  44. package/dist/es/Atomic/FormElements/FileLoader/FileLoader.js.map +1 -0
  45. package/dist/es/Atomic/FormElements/FileLoader/FileLoader.styles.css +127 -0
  46. package/dist/es/Atomic/FormElements/FileLoader/partial/LoadZone.js +86 -0
  47. package/dist/es/Atomic/FormElements/FileLoader/partial/LoadZone.js.map +1 -0
  48. package/dist/es/Atomic/FormElements/FileLoader/partial/LoadedContent.js +52 -0
  49. package/dist/es/Atomic/FormElements/FileLoader/partial/LoadedContent.js.map +1 -0
  50. package/dist/es/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +174 -0
  51. package/dist/es/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js.map +1 -0
  52. package/dist/es/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.styles.css +88 -0
  53. package/dist/es/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +137 -0
  54. package/dist/es/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js.map +1 -0
  55. package/dist/es/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.styles.css +101 -0
  56. package/dist/es/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +150 -0
  57. package/dist/es/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js.map +1 -0
  58. package/dist/es/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.styles.css +14 -0
  59. package/dist/es/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +75 -0
  60. package/dist/es/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js.map +1 -0
  61. package/dist/es/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.styles.css +54 -0
  62. package/dist/es/Atomic/FormElements/FormattedRawSSN/index.js +7 -0
  63. package/dist/es/Atomic/FormElements/FormattedRawSSN/index.js.map +1 -0
  64. package/dist/es/Atomic/FormElements/Input/Input.js +119 -0
  65. package/dist/es/Atomic/FormElements/Input/Input.js.map +1 -0
  66. package/dist/es/Atomic/FormElements/Input/Input.styles.css +125 -0
  67. package/dist/es/Atomic/FormElements/Input/hooks/useErrorBlink.js +57 -0
  68. package/dist/es/Atomic/FormElements/Input/hooks/useErrorBlink.js.map +1 -0
  69. package/dist/es/Atomic/FormElements/Input/hooks/useInputFocus.js +34 -0
  70. package/dist/es/Atomic/FormElements/Input/hooks/useInputFocus.js.map +1 -0
  71. package/dist/es/Atomic/FormElements/Input/hooks/useInputHover.js +16 -0
  72. package/dist/es/Atomic/FormElements/Input/hooks/useInputHover.js.map +1 -0
  73. package/dist/es/Atomic/FormElements/Input/hooks/useInputValueProcessing.js +126 -0
  74. package/dist/es/Atomic/FormElements/Input/hooks/useInputValueProcessing.js.map +1 -0
  75. package/dist/es/Atomic/FormElements/Input/hooks/useKeyboardHandling.js +32 -0
  76. package/dist/es/Atomic/FormElements/Input/hooks/useKeyboardHandling.js.map +1 -0
  77. package/dist/es/Atomic/FormElements/Input/index.js +7 -0
  78. package/dist/es/Atomic/FormElements/Input/index.js.map +1 -0
  79. package/dist/es/Atomic/FormElements/InputCalendar/InputCalendar.js +89 -0
  80. package/dist/es/Atomic/FormElements/InputCalendar/InputCalendar.js.map +1 -0
  81. package/dist/es/Atomic/FormElements/InputCalendar/InputCalendar.styles.css +20 -0
  82. package/dist/es/Atomic/FormElements/InputColor/InputColor.js +52 -0
  83. package/dist/es/Atomic/FormElements/InputColor/InputColor.js.map +1 -0
  84. package/dist/es/Atomic/FormElements/InputColor/InputColor.styles.css +17 -0
  85. package/dist/es/Atomic/FormElements/InputColor/index.js +7 -0
  86. package/dist/es/Atomic/FormElements/InputColor/index.js.map +1 -0
  87. package/dist/es/Atomic/FormElements/InputCurrency/InputCurrency.js +133 -0
  88. package/dist/es/Atomic/FormElements/InputCurrency/InputCurrency.js.map +1 -0
  89. package/dist/es/Atomic/FormElements/InputCurrency/InputCurrency.styles.css +13 -0
  90. package/dist/es/Atomic/FormElements/InputDateRange/InputDateRange.js +215 -0
  91. package/dist/es/Atomic/FormElements/InputDateRange/InputDateRange.js.map +1 -0
  92. package/dist/es/Atomic/FormElements/InputDateRange/InputDateRange.styles.css +594 -0
  93. package/dist/es/Atomic/FormElements/InputDateRange/components/DateInput.js +45 -0
  94. package/dist/es/Atomic/FormElements/InputDateRange/components/DateInput.js.map +1 -0
  95. package/dist/es/Atomic/FormElements/InputDateRange/components/Datepicker.js +422 -0
  96. package/dist/es/Atomic/FormElements/InputDateRange/components/Datepicker.js.map +1 -0
  97. package/dist/es/Atomic/FormElements/InputDateRange/components/OpenedPart.js +171 -0
  98. package/dist/es/Atomic/FormElements/InputDateRange/components/OpenedPart.js.map +1 -0
  99. package/dist/es/Atomic/FormElements/InputDateRange/components/SelectItem.js +22 -0
  100. package/dist/es/Atomic/FormElements/InputDateRange/components/SelectItem.js.map +1 -0
  101. package/dist/es/Atomic/FormElements/InputDateRange/dependencies.js +166 -0
  102. package/dist/es/Atomic/FormElements/InputDateRange/dependencies.js.map +1 -0
  103. package/dist/es/Atomic/FormElements/InputLink/InputLink.js +64 -0
  104. package/dist/es/Atomic/FormElements/InputLink/InputLink.js.map +1 -0
  105. package/dist/es/Atomic/FormElements/InputLink/InputLink.styles.css +46 -0
  106. package/dist/es/Atomic/FormElements/InputLink/index.js +7 -0
  107. package/dist/es/Atomic/FormElements/InputLink/index.js.map +1 -0
  108. package/dist/es/Atomic/FormElements/InputMask/InputMask.js +7 -0
  109. package/dist/es/Atomic/FormElements/InputMask/InputMask.js.map +1 -0
  110. package/dist/es/Atomic/FormElements/InputMask3/InputMask3.js +486 -0
  111. package/dist/es/Atomic/FormElements/InputMask3/InputMask3.js.map +1 -0
  112. package/dist/es/Atomic/FormElements/InputMask3/InputMask3.styles.css +133 -0
  113. package/dist/es/Atomic/FormElements/InputMask3/config.js +18 -0
  114. package/dist/es/Atomic/FormElements/InputMask3/config.js.map +1 -0
  115. package/dist/es/Atomic/FormElements/InputMask3/functions.js +43 -0
  116. package/dist/es/Atomic/FormElements/InputMask3/functions.js.map +1 -0
  117. package/dist/es/Atomic/FormElements/InputWithAction/InputWithAction.js +74 -0
  118. package/dist/es/Atomic/FormElements/InputWithAction/InputWithAction.js.map +1 -0
  119. package/dist/es/Atomic/FormElements/InputWithAction/InputWithAction.styles.css +88 -0
  120. package/dist/es/Atomic/FormElements/InputWithAction/index.js +7 -0
  121. package/dist/es/Atomic/FormElements/InputWithAction/index.js.map +1 -0
  122. package/dist/es/Atomic/FormElements/InputsRow/InputsRow.js +118 -0
  123. package/dist/es/Atomic/FormElements/InputsRow/InputsRow.js.map +1 -0
  124. package/dist/es/Atomic/FormElements/InputsRow/InputsRow.styles.css +32 -0
  125. package/dist/es/Atomic/FormElements/InputsRow/index.js +7 -0
  126. package/dist/es/Atomic/FormElements/InputsRow/index.js.map +1 -0
  127. package/dist/es/Atomic/FormElements/Label/Label.js +73 -0
  128. package/dist/es/Atomic/FormElements/Label/Label.js.map +1 -0
  129. package/dist/es/Atomic/FormElements/Label/Label.styles.css +30 -0
  130. package/dist/es/Atomic/FormElements/Label/index.js +7 -0
  131. package/dist/es/Atomic/FormElements/Label/index.js.map +1 -0
  132. package/dist/es/Atomic/FormElements/MobileCalendar/MobileCalendar.js +339 -0
  133. package/dist/es/Atomic/FormElements/MobileCalendar/MobileCalendar.js.map +1 -0
  134. package/dist/es/Atomic/FormElements/MobileCalendar/MobileCalendar.styles.css +74 -0
  135. package/dist/es/Atomic/FormElements/MultiSelect/MultiSelect.js +40 -0
  136. package/dist/es/Atomic/FormElements/MultiSelect/MultiSelect.js.map +1 -0
  137. package/dist/es/Atomic/FormElements/MultiSelect/MultiSelect.styles.css +14 -0
  138. package/dist/es/Atomic/FormElements/NumericInput/NumericInput.js +204 -0
  139. package/dist/es/Atomic/FormElements/NumericInput/NumericInput.js.map +1 -0
  140. package/dist/es/Atomic/FormElements/NumericInput/NumericInput.styles.css +129 -0
  141. package/dist/es/Atomic/FormElements/RadioGroup/RadioGroup.js +44 -0
  142. package/dist/es/Atomic/FormElements/RadioGroup/RadioGroup.js.map +1 -0
  143. package/dist/es/Atomic/FormElements/RadioGroup/RadioGroup.styles.css +20 -0
  144. package/dist/es/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +57 -0
  145. package/dist/es/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js.map +1 -0
  146. package/dist/es/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.styles.css +23 -0
  147. package/dist/es/Atomic/FormElements/RadioInput/RadioInput.js +35 -0
  148. package/dist/es/Atomic/FormElements/RadioInput/RadioInput.js.map +1 -0
  149. package/dist/es/Atomic/FormElements/RadioInput/RadioInput.styles.css +70 -0
  150. package/dist/es/Atomic/FormElements/RadioInput/index.js +7 -0
  151. package/dist/es/Atomic/FormElements/RadioInput/index.js.map +1 -0
  152. package/dist/es/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +42 -0
  153. package/dist/es/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js.map +1 -0
  154. package/dist/es/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.styles.css +123 -0
  155. package/dist/es/Atomic/FormElements/RangeCalendar/RangeCalendar.js +98 -0
  156. package/dist/es/Atomic/FormElements/RangeCalendar/RangeCalendar.js.map +1 -0
  157. package/dist/es/Atomic/FormElements/RangeCalendar/RangeCalendar.styles.css +103 -0
  158. package/dist/es/Atomic/FormElements/RangeInputs/RangeInputs.js +128 -0
  159. package/dist/es/Atomic/FormElements/RangeInputs/RangeInputs.js.map +1 -0
  160. package/dist/es/Atomic/FormElements/RangeInputs/RangeInputs.styles.css +50 -0
  161. package/dist/es/Atomic/FormElements/RangeInputs/index.js +7 -0
  162. package/dist/es/Atomic/FormElements/RangeInputs/index.js.map +1 -0
  163. package/dist/es/Atomic/FormElements/RangeList/RangeList.js +147 -0
  164. package/dist/es/Atomic/FormElements/RangeList/RangeList.js.map +1 -0
  165. package/dist/es/Atomic/FormElements/RangeList/RangeList.styles.css +143 -0
  166. package/dist/es/Atomic/FormElements/RangeList/index.js +7 -0
  167. package/dist/es/Atomic/FormElements/RangeList/index.js.map +1 -0
  168. package/dist/es/Atomic/FormElements/RangeList/partial/RangeListRow.js +40 -0
  169. package/dist/es/Atomic/FormElements/RangeList/partial/RangeListRow.js.map +1 -0
  170. package/dist/es/Atomic/FormElements/RangeSlider/RangeSlider.js +342 -0
  171. package/dist/es/Atomic/FormElements/RangeSlider/RangeSlider.js.map +1 -0
  172. package/dist/es/Atomic/FormElements/RangeSlider/RangeSlider.styles.css +134 -0
  173. package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.interface.js +23 -0
  174. package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.interface.js.map +1 -0
  175. package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.js +590 -0
  176. package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.js.map +1 -0
  177. package/dist/es/Atomic/FormElements/RangeSlider2/RangeSlider2.styles.css +360 -0
  178. package/dist/es/Atomic/FormElements/SwitchableRow/SwitchableRow.js +29 -0
  179. package/dist/es/Atomic/FormElements/SwitchableRow/SwitchableRow.js.map +1 -0
  180. package/dist/es/Atomic/FormElements/SwitchableRow/SwitchableRow.styles.css +14 -0
  181. package/dist/es/Atomic/FormElements/Switcher/Switcher.js +36 -0
  182. package/dist/es/Atomic/FormElements/Switcher/Switcher.js.map +1 -0
  183. package/dist/es/Atomic/FormElements/Switcher/Switcher.styles.css +83 -0
  184. package/dist/es/Atomic/FormElements/Switcher/index.js +7 -0
  185. package/dist/es/Atomic/FormElements/Switcher/index.js.map +1 -0
  186. package/dist/es/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +36 -0
  187. package/dist/es/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js.map +1 -0
  188. package/dist/es/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.styles.css +21 -0
  189. package/dist/es/Atomic/FormElements/SwitcherHide/SwitcherHide.js +31 -0
  190. package/dist/es/Atomic/FormElements/SwitcherHide/SwitcherHide.js.map +1 -0
  191. package/dist/es/Atomic/FormElements/SwitcherHide/index.js +7 -0
  192. package/dist/es/Atomic/FormElements/SwitcherHide/index.js.map +1 -0
  193. package/dist/es/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +43 -0
  194. package/dist/es/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js.map +1 -0
  195. package/dist/es/Atomic/FormElements/SwitcherRadio/SwitcherRadio.styles.css +22 -0
  196. package/dist/es/Atomic/FormElements/SwitcherRadio/index.js +7 -0
  197. package/dist/es/Atomic/FormElements/SwitcherRadio/index.js.map +1 -0
  198. package/dist/es/Atomic/FormElements/SwitcherRange/SwitcherRange.js +33 -0
  199. package/dist/es/Atomic/FormElements/SwitcherRange/SwitcherRange.js.map +1 -0
  200. package/dist/es/Atomic/FormElements/SwitcherRange/index.js +7 -0
  201. package/dist/es/Atomic/FormElements/SwitcherRange/index.js.map +1 -0
  202. package/dist/es/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +56 -0
  203. package/dist/es/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js.map +1 -0
  204. package/dist/es/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.styles.css +0 -0
  205. package/dist/es/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +99 -0
  206. package/dist/es/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js.map +1 -0
  207. package/dist/es/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.styles.css +55 -0
  208. package/dist/es/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +49 -0
  209. package/dist/es/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js.map +1 -0
  210. package/dist/es/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.styles.css +38 -0
  211. package/dist/es/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +82 -0
  212. package/dist/es/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js.map +1 -0
  213. package/dist/es/Atomic/FormElements/TagsDropdown/TagsDropdown.js +800 -0
  214. package/dist/es/Atomic/FormElements/TagsDropdown/TagsDropdown.js.map +1 -0
  215. package/dist/es/Atomic/FormElements/TagsDropdown/TagsDropdown.styles.css +707 -0
  216. package/dist/es/Atomic/FormElements/Text/Text.js +67 -0
  217. package/dist/es/Atomic/FormElements/Text/Text.js.map +1 -0
  218. package/dist/es/Atomic/FormElements/Text/Text.styles.css +12 -0
  219. package/dist/es/Atomic/FormElements/Text/index.js +7 -0
  220. package/dist/es/Atomic/FormElements/Text/index.js.map +1 -0
  221. package/dist/es/Atomic/FormElements/TextSwitcher/TextSwitcher.js +35 -0
  222. package/dist/es/Atomic/FormElements/TextSwitcher/TextSwitcher.js.map +1 -0
  223. package/dist/es/Atomic/FormElements/TextSwitcher/TextSwitcher.styles.css +84 -0
  224. package/dist/es/Atomic/FormElements/Textarea/Textarea.js +73 -0
  225. package/dist/es/Atomic/FormElements/Textarea/Textarea.js.map +1 -0
  226. package/dist/es/Atomic/FormElements/Textarea/Textarea.styles.css +102 -0
  227. package/dist/es/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +124 -0
  228. package/dist/es/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js.map +1 -0
  229. package/dist/es/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.styles.css +46 -0
  230. package/dist/es/Atomic/FormElements/TieredCheckboxes/index.js +7 -0
  231. package/dist/es/Atomic/FormElements/TieredCheckboxes/index.js.map +1 -0
  232. package/dist/es/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +36 -0
  233. package/dist/es/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js.map +1 -0
  234. package/dist/es/Atomic/FormElements/TimeRange/TimeRange.js +55 -0
  235. package/dist/es/Atomic/FormElements/TimeRange/TimeRange.js.map +1 -0
  236. package/dist/es/Atomic/FormElements/TimeRange/TimeRange.styles.css +18 -0
  237. package/dist/es/Atomic/FormElements/TimeRange/index.js +7 -0
  238. package/dist/es/Atomic/FormElements/TimeRange/index.js.map +1 -0
  239. package/dist/es/Atomic/FormElements/UserContacts/UserContacts.js +115 -0
  240. package/dist/es/Atomic/FormElements/UserContacts/UserContacts.js.map +1 -0
  241. package/dist/es/Atomic/FormElements/UserContacts/UserContacts.styles.css +15 -0
  242. package/dist/es/Atomic/FormElements/UserContacts/index.js +7 -0
  243. package/dist/es/Atomic/FormElements/UserContacts/index.js.map +1 -0
  244. package/dist/es/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +52 -0
  245. package/dist/es/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js.map +1 -0
  246. package/dist/es/Atomic/FormElements/VariantsListRadio/VariantsListRadio.styles.css +213 -0
  247. package/dist/es/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +61 -0
  248. package/dist/es/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js.map +1 -0
  249. package/dist/es/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +62 -0
  250. package/dist/es/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js.map +1 -0
  251. package/dist/es/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.styles.css +70 -0
  252. package/dist/es/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +82 -0
  253. package/dist/es/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js.map +1 -0
  254. package/dist/es/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.styles.css +70 -0
  255. package/dist/es/Atomic/Layout/Header/Header.js +87 -0
  256. package/dist/es/Atomic/Layout/Header/Header.js.map +1 -0
  257. package/dist/es/Atomic/Layout/Header/Header.styles.css +82 -0
  258. package/dist/es/Atomic/Layout/MainMenu/MainMenu.js +134 -0
  259. package/dist/es/Atomic/Layout/MainMenu/MainMenu.js.map +1 -0
  260. package/dist/es/Atomic/Layout/MainMenu/MainMenu.styles.css +205 -0
  261. package/dist/es/Atomic/Layout/Spinner/Spinner.js +32 -0
  262. package/dist/es/Atomic/Layout/Spinner/Spinner.js.map +1 -0
  263. package/dist/es/Atomic/Layout/Spinner/Spinner.styles.css +82 -0
  264. package/dist/es/Atomic/Layout/Spinner/index.js +7 -0
  265. package/dist/es/Atomic/Layout/Spinner/index.js.map +1 -0
  266. package/dist/es/Atomic/UI/Accordion/Accordion.js +48 -0
  267. package/dist/es/Atomic/UI/Accordion/Accordion.js.map +1 -0
  268. package/dist/es/Atomic/UI/Accordion/Accordion.styles.css +133 -0
  269. package/dist/es/Atomic/UI/Accordion/AccordionItem.js +110 -0
  270. package/dist/es/Atomic/UI/Accordion/AccordionItem.js.map +1 -0
  271. package/dist/es/Atomic/UI/Accordion/index.js +7 -0
  272. package/dist/es/Atomic/UI/Accordion/index.js.map +1 -0
  273. package/dist/es/Atomic/UI/AccordionTable/AccordionTable.js +167 -0
  274. package/dist/es/Atomic/UI/AccordionTable/AccordionTable.js.map +1 -0
  275. package/dist/es/Atomic/UI/AccordionTable/AccordionTable.styles.css +228 -0
  276. package/dist/es/Atomic/UI/AccordionText/AccordionText.js +47 -0
  277. package/dist/es/Atomic/UI/AccordionText/AccordionText.js.map +1 -0
  278. package/dist/es/Atomic/UI/AccordionText/AccordionText.styles.css +48 -0
  279. package/dist/es/Atomic/UI/AdvancedTag/AdvTag.js +148 -0
  280. package/dist/es/Atomic/UI/AdvancedTag/AdvTag.js.map +1 -0
  281. package/dist/es/Atomic/UI/AdvancedTag/AdvancedTags.js +40 -0
  282. package/dist/es/Atomic/UI/AdvancedTag/AdvancedTags.js.map +1 -0
  283. package/dist/es/Atomic/UI/AdvancedTag/AdvancedTags.styles.css +106 -0
  284. package/dist/es/Atomic/UI/AdvancedTag/index.js +8 -0
  285. package/dist/es/Atomic/UI/AdvancedTag/index.js.map +1 -0
  286. package/dist/es/Atomic/UI/Alert/Alert.js +54 -0
  287. package/dist/es/Atomic/UI/Alert/Alert.js.map +1 -0
  288. package/dist/es/Atomic/UI/Alert/Alert.styles.css +65 -0
  289. package/dist/es/Atomic/UI/Alert/index.js +7 -0
  290. package/dist/es/Atomic/UI/Alert/index.js.map +1 -0
  291. package/dist/es/Atomic/UI/Arrow/Arrow.js +107 -0
  292. package/dist/es/Atomic/UI/Arrow/Arrow.js.map +1 -0
  293. package/dist/es/Atomic/UI/Arrow/Arrow.styles.css +14 -0
  294. package/dist/es/Atomic/UI/Box/Box.js +33 -0
  295. package/dist/es/Atomic/UI/Box/Box.js.map +1 -0
  296. package/dist/es/Atomic/UI/Box/Box.styles.css +62 -0
  297. package/dist/es/Atomic/UI/Button/Button.js +35 -0
  298. package/dist/es/Atomic/UI/Button/Button.js.map +1 -0
  299. package/dist/es/Atomic/UI/Button/Button.styles.css +124 -0
  300. package/dist/es/Atomic/UI/ButtonsBar/ButtonsBar.js +49 -0
  301. package/dist/es/Atomic/UI/ButtonsBar/ButtonsBar.js.map +1 -0
  302. package/dist/es/Atomic/UI/ButtonsBar/ButtonsBar.styles.css +7 -0
  303. package/dist/es/Atomic/UI/ButtonsBar/index.js +7 -0
  304. package/dist/es/Atomic/UI/ButtonsBar/index.js.map +1 -0
  305. package/dist/es/Atomic/UI/Chart/Chart.js +96 -0
  306. package/dist/es/Atomic/UI/Chart/Chart.js.map +1 -0
  307. package/dist/es/Atomic/UI/Chart/Chart.styles.css +45 -0
  308. package/dist/es/Atomic/UI/Chart/index.js +7 -0
  309. package/dist/es/Atomic/UI/Chart/index.js.map +1 -0
  310. package/dist/es/Atomic/UI/Chart/partial/Chart.constants.js +89 -0
  311. package/dist/es/Atomic/UI/Chart/partial/Chart.constants.js.map +1 -0
  312. package/dist/es/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +80 -0
  313. package/dist/es/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js.map +1 -0
  314. package/dist/es/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.styles.css +16 -0
  315. package/dist/es/Atomic/UI/Chart/partial/datasetSetters.js +78 -0
  316. package/dist/es/Atomic/UI/Chart/partial/datasetSetters.js.map +1 -0
  317. package/dist/es/Atomic/UI/Chart/partial/optionsConstructor.js +259 -0
  318. package/dist/es/Atomic/UI/Chart/partial/optionsConstructor.js.map +1 -0
  319. package/dist/es/Atomic/UI/Chart/partial/optionsSetters.js +35 -0
  320. package/dist/es/Atomic/UI/Chart/partial/optionsSetters.js.map +1 -0
  321. package/dist/es/Atomic/UI/Chart/partial/utils.js +37 -0
  322. package/dist/es/Atomic/UI/Chart/partial/utils.js.map +1 -0
  323. package/dist/es/Atomic/UI/CircleProgressBar/CircleProgressBar.js +85 -0
  324. package/dist/es/Atomic/UI/CircleProgressBar/CircleProgressBar.js.map +1 -0
  325. package/dist/es/Atomic/UI/CircleProgressBar/CircleProgressBar.styles.css +31 -0
  326. package/dist/es/Atomic/UI/DateTime/DateTime.js +45 -0
  327. package/dist/es/Atomic/UI/DateTime/DateTime.js.map +1 -0
  328. package/dist/es/Atomic/UI/DateTime/DateTime.styles.css +33 -0
  329. package/dist/es/Atomic/UI/DebugContainer/DebugContainer.js +45 -0
  330. package/dist/es/Atomic/UI/DebugContainer/DebugContainer.js.map +1 -0
  331. package/dist/es/Atomic/UI/DebugContainer/DebugContainer.styles.css +32 -0
  332. package/dist/es/Atomic/UI/DebugContainer/useDebugContainer.js +16 -0
  333. package/dist/es/Atomic/UI/DebugContainer/useDebugContainer.js.map +1 -0
  334. package/dist/es/Atomic/UI/DoubleString/DoubleString.js +77 -0
  335. package/dist/es/Atomic/UI/DoubleString/DoubleString.js.map +1 -0
  336. package/dist/es/Atomic/UI/DoubleString/DoubleString.styles.css +42 -0
  337. package/dist/es/Atomic/UI/DoubleString/index.js +7 -0
  338. package/dist/es/Atomic/UI/DoubleString/index.js.map +1 -0
  339. package/dist/es/Atomic/UI/Hint/Hint.js +218 -0
  340. package/dist/es/Atomic/UI/Hint/Hint.js.map +1 -0
  341. package/dist/es/Atomic/UI/Hint/Hint.styles.css +107 -0
  342. package/dist/es/Atomic/UI/Hint/index.js +7 -0
  343. package/dist/es/Atomic/UI/Hint/index.js.map +1 -0
  344. package/dist/es/Atomic/UI/Hint/partials/_constants.js +11 -0
  345. package/dist/es/Atomic/UI/Hint/partials/_constants.js.map +1 -0
  346. package/dist/es/Atomic/UI/Hint/partials/_utils.js +35 -0
  347. package/dist/es/Atomic/UI/Hint/partials/_utils.js.map +1 -0
  348. package/dist/es/Atomic/UI/Modal/Modal.js +178 -0
  349. package/dist/es/Atomic/UI/Modal/Modal.js.map +1 -0
  350. package/dist/es/Atomic/UI/Modal/Modal.styles.css +337 -0
  351. package/dist/es/Atomic/UI/Modal/ModalHOC.js +64 -0
  352. package/dist/es/Atomic/UI/Modal/ModalHOC.js.map +1 -0
  353. package/dist/es/Atomic/UI/Modal/ModalMobile.styles.css +60 -0
  354. package/dist/es/Atomic/UI/Modal/index.js +13 -0
  355. package/dist/es/Atomic/UI/Modal/index.js.map +1 -0
  356. package/dist/es/Atomic/UI/Modal/partials/ModalFooter.js +19 -0
  357. package/dist/es/Atomic/UI/Modal/partials/ModalFooter.js.map +1 -0
  358. package/dist/es/Atomic/UI/Modal/partials/ModalTitle.js +43 -0
  359. package/dist/es/Atomic/UI/Modal/partials/ModalTitle.js.map +1 -0
  360. package/dist/es/Atomic/UI/Modal/partials/_constants.js +26 -0
  361. package/dist/es/Atomic/UI/Modal/partials/_constants.js.map +1 -0
  362. package/dist/es/Atomic/UI/Modal/partials/_utils.js +45 -0
  363. package/dist/es/Atomic/UI/Modal/partials/_utils.js.map +1 -0
  364. package/dist/es/Atomic/UI/Modal/partials/useMobileModal.js +141 -0
  365. package/dist/es/Atomic/UI/Modal/partials/useMobileModal.js.map +1 -0
  366. package/dist/es/Atomic/UI/MonoAccordion/MonoAccordion.js +59 -0
  367. package/dist/es/Atomic/UI/MonoAccordion/MonoAccordion.js.map +1 -0
  368. package/dist/es/Atomic/UI/MonoAccordion/MonoAccordion.styles.css +110 -0
  369. package/dist/es/Atomic/UI/MonoAccordion/index.js +7 -0
  370. package/dist/es/Atomic/UI/MonoAccordion/index.js.map +1 -0
  371. package/dist/es/Atomic/UI/NavLine/NavLine.js +209 -0
  372. package/dist/es/Atomic/UI/NavLine/NavLine.js.map +1 -0
  373. package/dist/es/Atomic/UI/NavLine/NavLine.styles.css +187 -0
  374. package/dist/es/Atomic/UI/NavLine/index.js +7 -0
  375. package/dist/es/Atomic/UI/NavLine/index.js.map +1 -0
  376. package/dist/es/Atomic/UI/PageTitle/PageTitle.js +49 -0
  377. package/dist/es/Atomic/UI/PageTitle/PageTitle.js.map +1 -0
  378. package/dist/es/Atomic/UI/PageTitle/PageTitle.styles.css +89 -0
  379. package/dist/es/Atomic/UI/PageTitle/index.js +7 -0
  380. package/dist/es/Atomic/UI/PageTitle/index.js.map +1 -0
  381. package/dist/es/Atomic/UI/PieChart/PieChart.js +41 -0
  382. package/dist/es/Atomic/UI/PieChart/PieChart.js.map +1 -0
  383. package/dist/es/Atomic/UI/PieChart/PieChart.styles.css +44 -0
  384. package/dist/es/Atomic/UI/Price/Price.js +20 -0
  385. package/dist/es/Atomic/UI/Price/Price.js.map +1 -0
  386. package/dist/es/Atomic/UI/Price/index.js +7 -0
  387. package/dist/es/Atomic/UI/Price/index.js.map +1 -0
  388. package/dist/es/Atomic/UI/PriceRange/PriceRange.js +33 -0
  389. package/dist/es/Atomic/UI/PriceRange/PriceRange.js.map +1 -0
  390. package/dist/es/Atomic/UI/PriceRange/index.js +7 -0
  391. package/dist/es/Atomic/UI/PriceRange/index.js.map +1 -0
  392. package/dist/es/Atomic/UI/ProgressLine/ProgressLine.js +74 -0
  393. package/dist/es/Atomic/UI/ProgressLine/ProgressLine.js.map +1 -0
  394. package/dist/es/Atomic/UI/ProgressLine/ProgressLine.styles.css +243 -0
  395. package/dist/es/Atomic/UI/ProgressLine/index.js +7 -0
  396. package/dist/es/Atomic/UI/ProgressLine/index.js.map +1 -0
  397. package/dist/es/Atomic/UI/Status/Status.js +48 -0
  398. package/dist/es/Atomic/UI/Status/Status.js.map +1 -0
  399. package/dist/es/Atomic/UI/Status/Status.styles.css +98 -0
  400. package/dist/es/Atomic/UI/Status/index.js +7 -0
  401. package/dist/es/Atomic/UI/Status/index.js.map +1 -0
  402. package/dist/es/Atomic/UI/Table/Partials/TdCell.js +67 -0
  403. package/dist/es/Atomic/UI/Table/Partials/TdCell.js.map +1 -0
  404. package/dist/es/Atomic/UI/Table/Partials/TdHeader.js +43 -0
  405. package/dist/es/Atomic/UI/Table/Partials/TdHeader.js.map +1 -0
  406. package/dist/es/Atomic/UI/Table/Partials/TdRow.js +56 -0
  407. package/dist/es/Atomic/UI/Table/Partials/TdRow.js.map +1 -0
  408. package/dist/es/Atomic/UI/Table/Table.js +36 -0
  409. package/dist/es/Atomic/UI/Table/Table.js.map +1 -0
  410. package/dist/es/Atomic/UI/Table/Table.styles.css +63 -0
  411. package/dist/es/Atomic/UI/Table/TdTypes/TdActions.js +56 -0
  412. package/dist/es/Atomic/UI/Table/TdTypes/TdActions.js.map +1 -0
  413. package/dist/es/Atomic/UI/Table/TdTypes/TdPriority.js +29 -0
  414. package/dist/es/Atomic/UI/Table/TdTypes/TdPriority.js.map +1 -0
  415. package/dist/es/Atomic/UI/Table/TdTypes/TdRange.js +14 -0
  416. package/dist/es/Atomic/UI/Table/TdTypes/TdRange.js.map +1 -0
  417. package/dist/es/Atomic/UI/Table/TdTypes/TdTypes.styles.css +29 -0
  418. package/dist/es/Atomic/UI/Table/TdTypes/TdWeight.js +43 -0
  419. package/dist/es/Atomic/UI/Table/TdTypes/TdWeight.js.map +1 -0
  420. package/dist/es/Atomic/UI/Tag/Tag.js +110 -0
  421. package/dist/es/Atomic/UI/Tag/Tag.js.map +1 -0
  422. package/dist/es/Atomic/UI/Tag/Tag.styles.css +148 -0
  423. package/dist/es/Atomic/UI/Tag/index.js +7 -0
  424. package/dist/es/Atomic/UI/Tag/index.js.map +1 -0
  425. package/dist/es/Atomic/UI/TagList/TagList.js +152 -0
  426. package/dist/es/Atomic/UI/TagList/TagList.js.map +1 -0
  427. package/dist/es/Atomic/UI/TagList/TagList.styles.css +59 -0
  428. package/dist/es/Atomic/UI/UserBox/UserBox.js +49 -0
  429. package/dist/es/Atomic/UI/UserBox/UserBox.js.map +1 -0
  430. package/dist/es/Atomic/UI/UserBox/UserBox.styles.css +64 -0
  431. package/dist/es/Atomic/UI/UserBox/index.js +7 -0
  432. package/dist/es/Atomic/UI/UserBox/index.js.map +1 -0
  433. package/dist/es/Atomic/UI/WizardStepper/constructor.js +12 -0
  434. package/dist/es/Atomic/UI/WizardStepper/constructor.js.map +1 -0
  435. package/dist/es/Atomic/UI/WizardStepper/index.js +7 -0
  436. package/dist/es/Atomic/UI/WizardStepper/index.js.map +1 -0
  437. package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +52 -0
  438. package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js.map +1 -0
  439. package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.styles.css +23 -0
  440. package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/index.js +7 -0
  441. package/dist/es/Atomic/UI/WizardStepper/ui/StateIcon/index.js.map +1 -0
  442. package/dist/es/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +67 -0
  443. package/dist/es/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js.map +1 -0
  444. package/dist/es/Atomic/UI/WizardStepper/ui/StepRow/StepRow.styles.css +60 -0
  445. package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +43 -0
  446. package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js.map +1 -0
  447. package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.styles.css +64 -0
  448. package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +7 -0
  449. package/dist/es/Atomic/UI/WizardStepper/ui/StepWrapper/index.js.map +1 -0
  450. package/dist/es/Atomic/UI/WizardStepper/ui/icons.js +124 -0
  451. package/dist/es/Atomic/UI/WizardStepper/ui/icons.js.map +1 -0
  452. package/dist/es/Atomic/UI/WizardStepper/ui/index.js +7 -0
  453. package/dist/es/Atomic/UI/WizardStepper/ui/index.js.map +1 -0
  454. package/dist/es/Classes/AbortableFetch.js +271 -0
  455. package/dist/es/Classes/AbortableFetch.js.map +1 -0
  456. package/dist/es/Classes/AnimatedHandler.js +27 -0
  457. package/dist/es/Classes/AnimatedHandler.js.map +1 -0
  458. package/dist/es/Classes/RESTAPI/index.js +112 -0
  459. package/dist/es/Classes/RESTAPI/index.js.map +1 -0
  460. package/dist/es/Classes/RESTAPI/partials/AbortableFetch.js +323 -0
  461. package/dist/es/Classes/RESTAPI/partials/AbortableFetch.js.map +1 -0
  462. package/dist/es/Classes/RESTAPI/partials/ApiBase.js +38 -0
  463. package/dist/es/Classes/RESTAPI/partials/ApiBase.js.map +1 -0
  464. package/dist/es/Classes/RESTAPI/partials/ApiRequestCreators.js +151 -0
  465. package/dist/es/Classes/RESTAPI/partials/ApiRequestCreators.js.map +1 -0
  466. package/dist/es/Classes/RESTAPI/partials/ApiUtils.js +142 -0
  467. package/dist/es/Classes/RESTAPI/partials/ApiUtils.js.map +1 -0
  468. package/dist/es/Classes/RESTAPI/partials/CredentialsProcessing.js +212 -0
  469. package/dist/es/Classes/RESTAPI/partials/CredentialsProcessing.js.map +1 -0
  470. package/dist/es/Classes/RESTAPI/partials/Utils.js +70 -0
  471. package/dist/es/Classes/RESTAPI/partials/Utils.js.map +1 -0
  472. package/dist/es/Classes/RESTAPI/partials/_utils.js +144 -0
  473. package/dist/es/Classes/RESTAPI/partials/_utils.js.map +1 -0
  474. package/dist/es/Classes/RESTAPI/partials/sse.js +127 -0
  475. package/dist/es/Classes/RESTAPI/partials/sse.js.map +1 -0
  476. package/dist/es/Constants/index.constants.js +78 -0
  477. package/dist/es/Constants/index.constants.js.map +1 -0
  478. package/dist/es/Functions/Portal.js +21 -0
  479. package/dist/es/Functions/Portal.js.map +1 -0
  480. package/dist/es/Functions/customEventListener.js +67 -0
  481. package/dist/es/Functions/customEventListener.js.map +1 -0
  482. package/dist/es/Functions/dateTime.js +113 -0
  483. package/dist/es/Functions/dateTime.js.map +1 -0
  484. package/dist/es/Functions/fieldValueFormatters.js +193 -0
  485. package/dist/es/Functions/fieldValueFormatters.js.map +1 -0
  486. package/dist/es/Functions/guards/assertions.js +265 -0
  487. package/dist/es/Functions/guards/assertions.js.map +1 -0
  488. package/dist/es/Functions/guards/safeValue.js +66 -0
  489. package/dist/es/Functions/guards/safeValue.js.map +1 -0
  490. package/dist/es/Functions/guards/typeGuards.js +397 -0
  491. package/dist/es/Functions/guards/typeGuards.js.map +1 -0
  492. package/dist/es/Functions/hooks/useFormFieldsChangesManager.js +84 -0
  493. package/dist/es/Functions/hooks/useFormFieldsChangesManager.js.map +1 -0
  494. package/dist/es/Functions/locale/createTranslator.js +23 -0
  495. package/dist/es/Functions/locale/createTranslator.js.map +1 -0
  496. package/dist/es/Functions/operations.js +88 -0
  497. package/dist/es/Functions/operations.js.map +1 -0
  498. package/dist/es/Functions/presets/inputMaskPresets.js +82 -0
  499. package/dist/es/Functions/presets/inputMaskPresets.js.map +1 -0
  500. package/dist/es/Functions/presets/inputPresets.js +50 -0
  501. package/dist/es/Functions/presets/inputPresets.js.map +1 -0
  502. package/dist/es/Functions/presets/mobileKeyboardTypesPresets.js +11 -0
  503. package/dist/es/Functions/presets/mobileKeyboardTypesPresets.js.map +1 -0
  504. package/dist/es/Functions/sdk/runtime-sdk/client.js +161 -0
  505. package/dist/es/Functions/sdk/runtime-sdk/client.js.map +1 -0
  506. package/dist/es/Functions/sdk/runtime-sdk/config.js +77 -0
  507. package/dist/es/Functions/sdk/runtime-sdk/config.js.map +1 -0
  508. package/dist/es/Functions/sdk/runtime-sdk/queue.js +131 -0
  509. package/dist/es/Functions/sdk/runtime-sdk/queue.js.map +1 -0
  510. package/dist/es/Functions/sdk/runtime-sdk/transport.js +114 -0
  511. package/dist/es/Functions/sdk/runtime-sdk/transport.js.map +1 -0
  512. package/dist/es/Functions/useBodyScrollLock.js +15 -0
  513. package/dist/es/Functions/useBodyScrollLock.js.map +1 -0
  514. package/dist/es/Functions/useClickOutside.js +17 -0
  515. package/dist/es/Functions/useClickOutside.js.map +1 -0
  516. package/dist/es/Functions/useDebounce.js +18 -0
  517. package/dist/es/Functions/useDebounce.js.map +1 -0
  518. package/dist/es/Functions/useFieldFocus.js +62 -0
  519. package/dist/es/Functions/useFieldFocus.js.map +1 -0
  520. package/dist/es/Functions/useFormTools/form-drivers/ArrayWithObjects.js +29 -0
  521. package/dist/es/Functions/useFormTools/form-drivers/ArrayWithObjects.js.map +1 -0
  522. package/dist/es/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +95 -0
  523. package/dist/es/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js.map +1 -0
  524. package/dist/es/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +49 -0
  525. package/dist/es/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js.map +1 -0
  526. package/dist/es/Functions/useFormTools/functions/General.js +87 -0
  527. package/dist/es/Functions/useFormTools/functions/General.js.map +1 -0
  528. package/dist/es/Functions/useFormTools/functions/RenderFields.js +70 -0
  529. package/dist/es/Functions/useFormTools/functions/RenderFields.js.map +1 -0
  530. package/dist/es/Functions/useFormTools/index.js +464 -0
  531. package/dist/es/Functions/useFormTools/index.js.map +1 -0
  532. package/dist/es/Functions/useInputHighlightError.js +50 -0
  533. package/dist/es/Functions/useInputHighlightError.js.map +1 -0
  534. package/dist/es/Functions/useIsMobile/index.js +7 -0
  535. package/dist/es/Functions/useIsMobile/index.js.map +1 -0
  536. package/dist/es/Functions/useIsMobile/useIsMobile.js +32 -0
  537. package/dist/es/Functions/useIsMobile/useIsMobile.js.map +1 -0
  538. package/dist/es/Functions/useKeyPress/useHandleKeyPress.js +38 -0
  539. package/dist/es/Functions/useKeyPress/useHandleKeyPress.js.map +1 -0
  540. package/dist/es/Functions/useKeyPress/useKeyPress.js +54 -0
  541. package/dist/es/Functions/useKeyPress/useKeyPress.js.map +1 -0
  542. package/dist/es/Functions/useLocalStorage.js +28 -0
  543. package/dist/es/Functions/useLocalStorage.js.map +1 -0
  544. package/dist/es/Functions/useLocationParams.js +27 -0
  545. package/dist/es/Functions/useLocationParams.js.map +1 -0
  546. package/dist/es/Functions/useMediaQuery.js +14 -0
  547. package/dist/es/Functions/useMediaQuery.js.map +1 -0
  548. package/dist/es/Functions/useMetaInfo.js +33 -0
  549. package/dist/es/Functions/useMetaInfo.js.map +1 -0
  550. package/dist/es/Functions/useMouseUpOutside.js +17 -0
  551. package/dist/es/Functions/useMouseUpOutside.js.map +1 -0
  552. package/dist/es/Functions/useOnlineStatus.js +23 -0
  553. package/dist/es/Functions/useOnlineStatus.js.map +1 -0
  554. package/dist/es/Functions/usePasswordChecker.js +116 -0
  555. package/dist/es/Functions/usePasswordChecker.js.map +1 -0
  556. package/dist/es/Functions/usePrevious.js +13 -0
  557. package/dist/es/Functions/usePrevious.js.map +1 -0
  558. package/dist/es/Functions/useResize.js +24 -0
  559. package/dist/es/Functions/useResize.js.map +1 -0
  560. package/dist/es/Functions/useScrollTo.js +17 -0
  561. package/dist/es/Functions/useScrollTo.js.map +1 -0
  562. package/dist/es/Functions/useToggle.js +15 -0
  563. package/dist/es/Functions/useToggle.js.map +1 -0
  564. package/dist/es/Functions/utils/disableDefaultBehavior/disableDefaultBehavior.js +9 -0
  565. package/dist/es/Functions/utils/disableDefaultBehavior/disableDefaultBehavior.js.map +1 -0
  566. package/dist/es/Functions/utils/getLimitedMask/getLimitedMask.js +39 -0
  567. package/dist/es/Functions/utils/getLimitedMask/getLimitedMask.js.map +1 -0
  568. package/dist/es/Functions/utils.js +288 -0
  569. package/dist/es/Functions/utils.js.map +1 -0
  570. package/dist/es/Langs.js +166 -0
  571. package/dist/es/Langs.js.map +1 -0
  572. package/dist/es/Molecular/CustomIcons/components/AffiliateNetworks.js +33 -0
  573. package/dist/es/Molecular/CustomIcons/components/AffiliateNetworks.js.map +1 -0
  574. package/dist/es/Molecular/CustomIcons/components/AlertCircle.js +30 -0
  575. package/dist/es/Molecular/CustomIcons/components/AlertCircle.js.map +1 -0
  576. package/dist/es/Molecular/CustomIcons/components/AppStore.js +34 -0
  577. package/dist/es/Molecular/CustomIcons/components/AppStore.js.map +1 -0
  578. package/dist/es/Molecular/CustomIcons/components/Arrow.js +43 -0
  579. package/dist/es/Molecular/CustomIcons/components/Arrow.js.map +1 -0
  580. package/dist/es/Molecular/CustomIcons/components/ArrowDown.js +21 -0
  581. package/dist/es/Molecular/CustomIcons/components/ArrowDown.js.map +1 -0
  582. package/dist/es/Molecular/CustomIcons/components/ArrowLeft.js +21 -0
  583. package/dist/es/Molecular/CustomIcons/components/ArrowLeft.js.map +1 -0
  584. package/dist/es/Molecular/CustomIcons/components/ArrowRight.js +21 -0
  585. package/dist/es/Molecular/CustomIcons/components/ArrowRight.js.map +1 -0
  586. package/dist/es/Molecular/CustomIcons/components/ArrowUp.js +21 -0
  587. package/dist/es/Molecular/CustomIcons/components/ArrowUp.js.map +1 -0
  588. package/dist/es/Molecular/CustomIcons/components/Bell.js +19 -0
  589. package/dist/es/Molecular/CustomIcons/components/Bell.js.map +1 -0
  590. package/dist/es/Molecular/CustomIcons/components/Button.js +19 -0
  591. package/dist/es/Molecular/CustomIcons/components/Button.js.map +1 -0
  592. package/dist/es/Molecular/CustomIcons/components/Campaigns.js +20 -0
  593. package/dist/es/Molecular/CustomIcons/components/Campaigns.js.map +1 -0
  594. package/dist/es/Molecular/CustomIcons/components/Check.js +15 -0
  595. package/dist/es/Molecular/CustomIcons/components/Check.js.map +1 -0
  596. package/dist/es/Molecular/CustomIcons/components/Check2.js +19 -0
  597. package/dist/es/Molecular/CustomIcons/components/Check2.js.map +1 -0
  598. package/dist/es/Molecular/CustomIcons/components/ChevronDown.js +19 -0
  599. package/dist/es/Molecular/CustomIcons/components/ChevronDown.js.map +1 -0
  600. package/dist/es/Molecular/CustomIcons/components/ChevronDownDisabled.js +19 -0
  601. package/dist/es/Molecular/CustomIcons/components/ChevronDownDisabled.js.map +1 -0
  602. package/dist/es/Molecular/CustomIcons/components/ChevronLeft.js +19 -0
  603. package/dist/es/Molecular/CustomIcons/components/ChevronLeft.js.map +1 -0
  604. package/dist/es/Molecular/CustomIcons/components/ChevronRight.js +19 -0
  605. package/dist/es/Molecular/CustomIcons/components/ChevronRight.js.map +1 -0
  606. package/dist/es/Molecular/CustomIcons/components/ChevronUp.js +19 -0
  607. package/dist/es/Molecular/CustomIcons/components/ChevronUp.js.map +1 -0
  608. package/dist/es/Molecular/CustomIcons/components/ChevronUpDown.js +33 -0
  609. package/dist/es/Molecular/CustomIcons/components/ChevronUpDown.js.map +1 -0
  610. package/dist/es/Molecular/CustomIcons/components/Close.js +20 -0
  611. package/dist/es/Molecular/CustomIcons/components/Close.js.map +1 -0
  612. package/dist/es/Molecular/CustomIcons/components/ColumnsOrder.js +53 -0
  613. package/dist/es/Molecular/CustomIcons/components/ColumnsOrder.js.map +1 -0
  614. package/dist/es/Molecular/CustomIcons/components/Delete.js +20 -0
  615. package/dist/es/Molecular/CustomIcons/components/Delete.js.map +1 -0
  616. package/dist/es/Molecular/CustomIcons/components/Edit.js +19 -0
  617. package/dist/es/Molecular/CustomIcons/components/Edit.js.map +1 -0
  618. package/dist/es/Molecular/CustomIcons/components/Email.js +36 -0
  619. package/dist/es/Molecular/CustomIcons/components/Email.js.map +1 -0
  620. package/dist/es/Molecular/CustomIcons/components/FinturfLogo.js +33 -0
  621. package/dist/es/Molecular/CustomIcons/components/FinturfLogo.js.map +1 -0
  622. package/dist/es/Molecular/CustomIcons/components/FinturfLogo2.js +41 -0
  623. package/dist/es/Molecular/CustomIcons/components/FinturfLogo2.js.map +1 -0
  624. package/dist/es/Molecular/CustomIcons/components/Flows.js +19 -0
  625. package/dist/es/Molecular/CustomIcons/components/Flows.js.map +1 -0
  626. package/dist/es/Molecular/CustomIcons/components/Gift.js +21 -0
  627. package/dist/es/Molecular/CustomIcons/components/Gift.js.map +1 -0
  628. package/dist/es/Molecular/CustomIcons/components/GoogleAuth.js +34 -0
  629. package/dist/es/Molecular/CustomIcons/components/GoogleAuth.js.map +1 -0
  630. package/dist/es/Molecular/CustomIcons/components/GooglePlay.js +34 -0
  631. package/dist/es/Molecular/CustomIcons/components/GooglePlay.js.map +1 -0
  632. package/dist/es/Molecular/CustomIcons/components/HelpCircle.js +22 -0
  633. package/dist/es/Molecular/CustomIcons/components/HelpCircle.js.map +1 -0
  634. package/dist/es/Molecular/CustomIcons/components/HelpCircle2.js +23 -0
  635. package/dist/es/Molecular/CustomIcons/components/HelpCircle2.js.map +1 -0
  636. package/dist/es/Molecular/CustomIcons/components/HelpCircleFilled.js +22 -0
  637. package/dist/es/Molecular/CustomIcons/components/HelpCircleFilled.js.map +1 -0
  638. package/dist/es/Molecular/CustomIcons/components/Home.js +22 -0
  639. package/dist/es/Molecular/CustomIcons/components/Home.js.map +1 -0
  640. package/dist/es/Molecular/CustomIcons/components/Home2.js +25 -0
  641. package/dist/es/Molecular/CustomIcons/components/Home2.js.map +1 -0
  642. package/dist/es/Molecular/CustomIcons/components/Key.js +24 -0
  643. package/dist/es/Molecular/CustomIcons/components/Key.js.map +1 -0
  644. package/dist/es/Molecular/CustomIcons/components/Landers.js +23 -0
  645. package/dist/es/Molecular/CustomIcons/components/Landers.js.map +1 -0
  646. package/dist/es/Molecular/CustomIcons/components/Lock.js +19 -0
  647. package/dist/es/Molecular/CustomIcons/components/Lock.js.map +1 -0
  648. package/dist/es/Molecular/CustomIcons/components/Mail.js +28 -0
  649. package/dist/es/Molecular/CustomIcons/components/Mail.js.map +1 -0
  650. package/dist/es/Molecular/CustomIcons/components/Mastercard.js +81 -0
  651. package/dist/es/Molecular/CustomIcons/components/Mastercard.js.map +1 -0
  652. package/dist/es/Molecular/CustomIcons/components/Minus.js +34 -0
  653. package/dist/es/Molecular/CustomIcons/components/Minus.js.map +1 -0
  654. package/dist/es/Molecular/CustomIcons/components/Offers.js +20 -0
  655. package/dist/es/Molecular/CustomIcons/components/Offers.js.map +1 -0
  656. package/dist/es/Molecular/CustomIcons/components/Pause.js +34 -0
  657. package/dist/es/Molecular/CustomIcons/components/Pause.js.map +1 -0
  658. package/dist/es/Molecular/CustomIcons/components/PayPal.js +54 -0
  659. package/dist/es/Molecular/CustomIcons/components/PayPal.js.map +1 -0
  660. package/dist/es/Molecular/CustomIcons/components/PayPalLightLarge.js +39 -0
  661. package/dist/es/Molecular/CustomIcons/components/PayPalLightLarge.js.map +1 -0
  662. package/dist/es/Molecular/CustomIcons/components/Phone.js +33 -0
  663. package/dist/es/Molecular/CustomIcons/components/Phone.js.map +1 -0
  664. package/dist/es/Molecular/CustomIcons/components/Play.js +34 -0
  665. package/dist/es/Molecular/CustomIcons/components/Play.js.map +1 -0
  666. package/dist/es/Molecular/CustomIcons/components/Plus.js +34 -0
  667. package/dist/es/Molecular/CustomIcons/components/Plus.js.map +1 -0
  668. package/dist/es/Molecular/CustomIcons/components/Profile.js +24 -0
  669. package/dist/es/Molecular/CustomIcons/components/Profile.js.map +1 -0
  670. package/dist/es/Molecular/CustomIcons/components/QRCode.js +35 -0
  671. package/dist/es/Molecular/CustomIcons/components/QRCode.js.map +1 -0
  672. package/dist/es/Molecular/CustomIcons/components/Rectangle.js +19 -0
  673. package/dist/es/Molecular/CustomIcons/components/Rectangle.js.map +1 -0
  674. package/dist/es/Molecular/CustomIcons/components/Revert.js +22 -0
  675. package/dist/es/Molecular/CustomIcons/components/Revert.js.map +1 -0
  676. package/dist/es/Molecular/CustomIcons/components/Star.js +18 -0
  677. package/dist/es/Molecular/CustomIcons/components/Star.js.map +1 -0
  678. package/dist/es/Molecular/CustomIcons/components/Star2.js +20 -0
  679. package/dist/es/Molecular/CustomIcons/components/Star2.js.map +1 -0
  680. package/dist/es/Molecular/CustomIcons/components/TrafficSources.js +19 -0
  681. package/dist/es/Molecular/CustomIcons/components/TrafficSources.js.map +1 -0
  682. package/dist/es/Molecular/CustomIcons/components/Trash.js +19 -0
  683. package/dist/es/Molecular/CustomIcons/components/Trash.js.map +1 -0
  684. package/dist/es/Molecular/CustomIcons/components/TrashRed.js +19 -0
  685. package/dist/es/Molecular/CustomIcons/components/TrashRed.js.map +1 -0
  686. package/dist/es/Molecular/CustomIcons/components/Triggers.js +19 -0
  687. package/dist/es/Molecular/CustomIcons/components/Triggers.js.map +1 -0
  688. package/dist/es/Molecular/CustomIcons/components/User.js +21 -0
  689. package/dist/es/Molecular/CustomIcons/components/User.js.map +1 -0
  690. package/dist/es/Molecular/CustomIcons/components/Visa.js +41 -0
  691. package/dist/es/Molecular/CustomIcons/components/Visa.js.map +1 -0
  692. package/dist/es/Molecular/CustomIcons/components/X.js +19 -0
  693. package/dist/es/Molecular/CustomIcons/components/X.js.map +1 -0
  694. package/dist/es/Molecular/FormElement/FormElement.js +37 -0
  695. package/dist/es/Molecular/FormElement/FormElement.js.map +1 -0
  696. package/dist/es/Molecular/FormElement/FormElement.styles.css +21 -0
  697. package/dist/es/Molecular/FormWithDependOn/FormWithDependOn.js +111 -0
  698. package/dist/es/Molecular/FormWithDependOn/FormWithDependOn.js.map +1 -0
  699. package/dist/es/Molecular/FormWithDependOn/partials/_utils.js +33 -0
  700. package/dist/es/Molecular/FormWithDependOn/partials/_utils.js.map +1 -0
  701. package/dist/es/Molecular/InputAddress/InputAddress.js +352 -0
  702. package/dist/es/Molecular/InputAddress/InputAddress.js.map +1 -0
  703. package/dist/es/Molecular/InputAddress/InputAddress.styles.css +353 -0
  704. package/dist/es/Molecular/InputCustomFetch/InputCustomFetch.js +355 -0
  705. package/dist/es/Molecular/InputCustomFetch/InputCustomFetch.js.map +1 -0
  706. package/dist/es/Molecular/InputCustomFetch/InputCustomFetch.styles.css +358 -0
  707. package/dist/es/Molecular/InputCustomFetch/lib/hooks/useDebouncedCallback.js +27 -0
  708. package/dist/es/Molecular/InputCustomFetch/lib/hooks/useDebouncedCallback.js.map +1 -0
  709. package/dist/es/Molecular/InputCustomFetch/lib/hooks/useFetchWithAbort.js +50 -0
  710. package/dist/es/Molecular/InputCustomFetch/lib/hooks/useFetchWithAbort.js.map +1 -0
  711. package/dist/es/Molecular/InputCustomFetch/lib/utils.js +24 -0
  712. package/dist/es/Molecular/InputCustomFetch/lib/utils.js.map +1 -0
  713. package/dist/es/Molecular/InputPassword/InputPassword.js +47 -0
  714. package/dist/es/Molecular/InputPassword/InputPassword.js.map +1 -0
  715. package/dist/es/Molecular/InputPassword/InputPassword.styles.css +23 -0
  716. package/dist/es/_virtual/_rolldown/runtime.js +1 -15
  717. package/dist/es/charts.js +2 -3
  718. package/dist/es/classes.js +1 -1
  719. package/dist/es/form.js +68 -93
  720. package/dist/es/hooks.js +12 -17
  721. package/dist/es/icons.js +126 -6
  722. package/dist/es/index.js +145 -70
  723. package/dist/es/layout.js +3 -3
  724. package/dist/es/presets.js +6 -6
  725. package/dist/es/router-ui.js +5 -8
  726. package/dist/es/sdk.js +3 -1
  727. package/dist/es/types/index.js +0 -2
  728. package/dist/es/ui.js +30 -39
  729. package/dist/es/utils.js +5 -6
  730. package/package.json +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["fields"],"sources":["../../../../src/Functions/useFormTools/index.js"],"sourcesContent":["// eslint-disable-next-line no-unused-vars\nimport { createRef, useEffect, useState } from \"react\";\n\nimport ArrayWithObjects from \"./form-drivers/ArrayWithObjects\";\nimport ObjectWithIterableObjects from \"./form-drivers/ObjectWithIterableObjects\";\nimport ObjectWithNamedKeyObjects from \"./form-drivers/ObjectWithNamedKeyObjects\";\nimport General from \"./functions/General\";\nimport RenderFields from \"./functions/RenderFields\";\n\nconst DefaultFocusControllerProps = {\n setAutoFocus: true,\n onlyEmptyFieldAutoFocus: false,\n};\n\nexport default function useFormTools({\n form,\n setForm,\n FormType,\n FormFields,\n FormDataDriverName = \"ArrayWithObjects\" ||\n \"ObjectWithIterableObjects\" ||\n \"ObjectWithNamedKeyObjects\",\n FormDataDriver = null,\n FocusControllerProps = DefaultFocusControllerProps,\n goToNextFieldOnEnterPressed = true,\n} = {}) {\n FocusControllerProps = {\n ...DefaultFocusControllerProps,\n ...FocusControllerProps,\n };\n\n const FormDataDrivers = {\n ArrayWithObjects: {\n handlers: ArrayWithObjects,\n default: true,\n },\n ObjectWithIterableObjects: {\n handlers: ObjectWithIterableObjects,\n },\n ObjectWithNamedKeyObjects: {\n handlers: ObjectWithNamedKeyObjects,\n },\n };\n\n const getFormDataDriver = (name) => {\n return (\n FormDataDriver ||\n FormDataDrivers[name]?.handlers ||\n Object.values(FormDataDrivers).find((df) => df.default === true)\n ?.handlers ||\n (() => ({}))\n );\n };\n const getFormDataDriverInstance = (name, ...args) => {\n return getFormDataDriver(name)(...args);\n };\n\n const { getFieldClassName, updateFormField } = General();\n\n const {\n getFieldData,\n getFormField,\n setFormFields,\n setFormField,\n getFormFieldsAsArray,\n getFormFieldsKeys,\n removeAllFormFields,\n removeFormField,\n removeFormFields,\n } = getFormDataDriverInstance(FormDataDriverName, {\n form,\n setForm,\n FormFields,\n });\n\n ///////////////////////////////////////////////////////////////\n //--- OnChange Observer ---//--- START ---//\n const [onChangeObservers, setOnChangeObservers] = useState({});\n const addOnChangeObserver = (key, cb) => {\n let observerId = null;\n\n setOnChangeObservers((state) => {\n //Set Default Value\n if (!state[key]) state[key] = {};\n\n observerId = state[key].length;\n\n state[key][observerId] = cb;\n\n return state;\n });\n\n return observerId;\n };\n const removeOnChangeObserver = (key, id) => {\n setOnChangeObservers((state) => {\n //Set Default Value\n if (!state[key]) return state;\n\n state[key] = Object.keys(state)\n .filter((cbId) => cbId !== id)\n .map((cbId) => state[key][cbId]);\n\n return state;\n });\n };\n const onChangeObserver = (key, value) => {\n if (!onChangeObservers[key] || typeof onChangeObservers[key] !== \"object\")\n return;\n\n const Observers = onChangeObservers[key];\n\n Object.values(Observers).map((cb) => {\n cb({ value, form });\n return null;\n });\n };\n const onFieldChange = (key, value) => {\n if (value === getFormField(key)?.value) return false;\n\n onChangeObserver(key, value);\n setFormField(\n (field) => ({\n ...field,\n error: \"\",\n value,\n }),\n key,\n );\n };\n //--- OnChange Observer ---//--- END ---//\n\n ///////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////\n\n //--- Form Submit Blocker ---//--- START ---//\n const [formSubmitBlockers, setFormSubmitBlockers] = useState([]);\n const toggleFormSubmitBlock = (key, value) => {\n setFormSubmitBlockers((state) =>\n state.includes(key) || !value\n ? [...state.filter((k) => k !== key)]\n : [...state, key],\n );\n };\n const clearFormSubmitBlockers = () => setFormSubmitBlockers([]);\n //--- Form Submit Blocker ---//--- END ---//\n\n ///////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////\n\n //--- Property Observer Blocker ---//--- START ---//\n // const [propertyObservers, setPropertyObservers] = useState({});\n // function addPropertyObserver () {\n // };\n //--- Property Observer Blocker ---//--- END ---//\n\n ///////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////\n\n //--- Render Fields Controller ---//--- START ---//\n const [isFormFieldsAdded, setIsFormFieldsAdded] = useState(false);\n const [renderFormFields, setRenderFormFieldsState] = useState([]);\n const setRenderFormFields = (data) => {\n setIsFormFieldsAdded(true);\n // eslint-disable-next-line no-use-before-define\n removeRenderFields(renderFormFields);\n // eslint-disable-next-line no-use-before-define\n resetIsInitFocused();\n setRenderFormFieldsState(data);\n };\n const addRenderFields = (fields) => {\n setRenderFormFieldsState((state) => [...state, ...fields]);\n };\n const removeRenderFields = (fields) => {\n setRenderFormFieldsState((state) =>\n state.filter((field) => !fields.includes(field)),\n );\n };\n\n const [isFormRendered, setIsFormRendered] = useState(false);\n const submitIsFormRendered = () => setIsFormRendered(true);\n const resetIsFormRendered = () => setIsFormRendered(false);\n\n const onEnterDown = async (e) => {\n if (!goToNextFieldOnEnterPressed) return false;\n\n const focusable = document.querySelectorAll(\n 'a, button, input, [tabindex]:not([tabindex=\"-1\"])',\n );\n const currentIndex = await new Promise((resolve) => {\n focusable.forEach((node, i) => {\n if (node === e.target) resolve(i);\n });\n });\n\n if (!currentIndex) return false;\n\n const nextIndex = currentIndex + 1;\n\n if (nextIndex >= focusable.length) return false;\n\n const nextItem = focusable[nextIndex];\n\n nextItem.focus();\n };\n\n const onKeyDown = (...args) => {\n const event = args.reduce((e, item) => {\n if (item?.nativeEvent instanceof KeyboardEvent) return item;\n return e;\n }, null);\n\n if (!event) return false;\n\n const { keyCode } = event;\n\n switch (keyCode) {\n //OnEnterDown\n case 13:\n onEnterDown(event);\n break;\n\n default:\n break;\n }\n };\n\n //On Type Change\n useEffect(() => {\n resetIsFormRendered();\n }, [FormType]);\n\n //On Render Fields Change\n useEffect(() => {\n if (isFormFieldsAdded) resetIsFormRendered(false);\n\n //Add Form Fields\n if (renderFormFields.length !== 0) {\n setFormFields((fields) => {\n return renderFormFields.reduce((result, key) => {\n const fieldData = getFieldData(key);\n const field = getFormField(key) ? getFormField(key) : fieldData;\n\n if (\n !field?.className ||\n field?.className?.indexOf(getFieldClassName(key, FormType)) === -1\n ) {\n field.className = `${field?.className} ${getFieldClassName(key, FormType)}`;\n }\n\n if (typeof fieldData?.label === \"object\") {\n field.label = fieldData.label[FormType] || fieldData.label.default;\n }\n\n field.ref = createRef();\n field.wrapperRef = createRef();\n\n field.isValueChangedByUser = false;\n\n if (goToNextFieldOnEnterPressed) {\n const onKeyDownProp = field.onKeyDown || (() => {});\n field.onKeyDown = (...args) => {\n onKeyDown(...args);\n onKeyDownProp(...args);\n };\n }\n\n //Is Field Value Changed By USER\n // eslint-disable-next-line no-use-before-define\n addOnFieldRenderedObserver(\n key,\n () => {\n const element = getFormField(key)?.ref?.current?.querySelector(\n field?.focusSelector || \"input\",\n );\n const handler = () =>\n setFormField({ isValueChangedByUser: true }, key);\n\n element?.addEventListener(\"paste\", handler, { once: true });\n element?.addEventListener(\"keypress\", handler, { once: true });\n },\n true,\n );\n\n return updateFormField(result, field, key);\n }, fields);\n });\n }\n }, [renderFormFields]);\n\n const [onFormRenderObservers, setOnFormRenderObservers] = useState([]);\n const addOnFormRenderObserver = (cb, { once = false } = {}) => {\n setOnFormRenderObservers((state) => [\n ...state,\n { cb, once, isWorkedOut: false },\n ]);\n };\n // eslint-disable-next-line no-unused-vars\n const updateOnFormRenderObserver = (key, data) => {\n setOnFormRenderObservers((state) => {\n const copy = [...state];\n copy[key] = { ...state[key], ...data };\n\n return copy;\n });\n };\n const removeOnFormRenderObserver = (key) => {\n setOnFormRenderObservers((state) =>\n state.slice().filter((v, i) => i !== key),\n );\n };\n const onFormRenderWorker = () => {\n // eslint-disable-next-line default-param-last\n onFormRenderObservers.map(\n ({ once, isWorkedOut, cb = () => {} } = {}, key) => {\n if (once && isWorkedOut) return null;\n\n cb(form);\n if (once) removeOnFormRenderObserver(key);\n else updateOnFormRenderObserver(key, { isWorkedOut: true });\n return null;\n },\n );\n };\n\n //On Form Rendered\n useEffect(() => {\n if (!isFormRendered && onFormRenderObservers.length) {\n const formFieldsKeys = getFormFieldsKeys(form);\n const isAllFieldsRendered = renderFormFields.reduce((result, key) => {\n if (!formFieldsKeys.includes(key)) result = false;\n\n return result;\n }, true);\n\n if (isAllFieldsRendered) {\n submitIsFormRendered(true);\n onFormRenderWorker();\n }\n }\n }, [form, renderFormFields, onFormRenderObservers]);\n //--- Render Fields Controller ---//--- END ---//\n\n ///////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////\n\n //--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- START ---//\n const hightliteErrorLabels = () => {\n const fields = getFormFieldsAsArray();\n\n const filtered = fields?.reduce((result, field) => {\n if (field?.errorLabelHightlite) {\n // eslint-disable-next-line no-use-before-define\n result.push({\n ...field,\n className: getFieldClassName(field?.key, FormType),\n });\n }\n\n return result;\n }, []);\n\n filtered?.map((field) => {\n const formField = document.querySelector(`.${field?.className}`);\n\n if (!formField) return null;\n\n formField.classList.remove(\"errorLabelHightlite\");\n\n if (field?.error) {\n formField.classList.add(\"errorLabelHightlite\");\n }\n\n return null;\n });\n };\n useEffect(() => {\n hightliteErrorLabels();\n }, [form]);\n //--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- END ---//\n\n ///////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////\n\n //--- Fields Focus Controller ---//--- START ---//\n const [isInitFocused, setIsInitFocused] = useState(false);\n const [autoFocusedField, setAutoFocusedField] = useState(null);\n\n const setFirstFieldInitFocused = () => setIsInitFocused(true);\n const resetIsInitFocused = () => setIsInitFocused(false);\n\n const toggleFieldFocus = (\n { key, cb = () => {}, form: argForm, field },\n action = \"focus\",\n ) => {\n if (!key && !field) return null;\n\n if (!argForm) argForm = form;\n\n const formField = field || getFormField(key, argForm);\n\n if (!formField || !formField.ref) {\n return false;\n }\n\n if (\n action === \"focus\" &&\n FocusControllerProps.onlyEmptyFieldAutoFocus &&\n Boolean(formField?.value)\n )\n return null;\n\n setTimeout(() => {\n formField.ref.current\n ?.querySelector(formField?.focusSelector || \"input\")\n ?.[action]();\n cb();\n }, 50);\n };\n\n const setFieldFocus = ({ key, cb = () => {}, form: argForm, field }) =>\n toggleFieldFocus({ key, cb, form: argForm, field }, \"focus\");\n const setFieldBlur = ({ key, cb = () => {}, form: argForm, field }) =>\n toggleFieldFocus({ key, cb, form: argForm, field }, \"blur\");\n\n const setFirstFieldFocus = () => {\n let field = null;\n\n for (let i = 0; i < renderFormFields.length && !field; ++i) {\n const key = renderFormFields[i];\n const tmpField = getFormField(key);\n if (tmpField && !tmpField?.disabled) field = tmpField;\n }\n\n if (!field) return false;\n\n if (FocusControllerProps.onlyEmptyFieldAutoFocus && Boolean(field?.value)) {\n setFirstFieldInitFocused();\n return false;\n }\n\n setAutoFocusedField(field.key);\n\n const callback = () => {\n setFormField({ value: field.value }, field.key);\n setFirstFieldInitFocused();\n };\n\n setTimeout(() => setFieldFocus({ key: field.key, cb: callback, form }), 50);\n };\n\n const [onFieldFocusCallbacks, setOnFieldFocusCallbacks] = useState({});\n const addOnFieldFocusCallback = (key, cb) => {\n setOnFieldFocusCallbacks((state) => {\n const stateCopy = { ...state };\n\n if (!state[key]) stateCopy[key] = [];\n\n stateCopy[key].push(cb);\n\n return stateCopy;\n });\n };\n const callOnFieldFocusCallbacks = (key) => {\n if (!Array.isArray(onFieldFocusCallbacks[key])) return null;\n\n onFieldFocusCallbacks[key]?.map((cb) => cb());\n };\n\n const [focusOnRenderFields, setFocusOnRenderFields] = useState([]);\n const addFocusFieldOnRender = (key, cb) => {\n setFocusOnRenderFields((state) => [...state, key]);\n\n if (cb) addOnFieldFocusCallback(key, cb);\n };\n const removeFocusFieldOnRender = (key) => {\n setFocusOnRenderFields((state) => state.filter((field) => field !== key));\n };\n\n useEffect(() => {\n if (\n FocusControllerProps.setAutoFocus &&\n !isInitFocused &&\n !autoFocusedField &&\n isFormRendered\n )\n setFirstFieldFocus();\n\n if (focusOnRenderFields.length) {\n getFormFieldsKeys(form)?.map((key) => {\n if (\n focusOnRenderFields.includes(key) &&\n getFormField(key)?.value?.length === 0\n ) {\n const cb = () => {\n removeFocusFieldOnRender(key);\n callOnFieldFocusCallbacks(key);\n };\n\n setFieldFocus({ key, form, cb });\n }\n return null;\n });\n }\n }, [form, focusOnRenderFields, isInitFocused, isFormRendered]);\n\n useEffect(() => {\n setAutoFocusedField(null);\n }, [isInitFocused]);\n\n useEffect(() => {\n resetIsInitFocused();\n }, [FormType]);\n\n //Remove Focus From Autocomplete field !!! TODO\n // useEffect(() => {\n // if (!autoFocusedField) return null;\n // const field = getFormField(autoFocusedField);\n\n // if (field?.value !== '' && !field?.isValueChangedByUser) {\n // setFieldBlur({key: autoFocusedField, form});\n // }\n // }, [autoFocusedField, form]);\n //--- Fields Focus Controller ---//--- END ---//\n\n ///////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////\n\n //--- OnFieldRendered Observer ---//--- START ---//\n const [onFieldRenderedObservers, setOnFieldRenderedObservers] = useState({});\n const [isFieldObserversReset, setIsFieldObserversReset] = useState(false);\n\n const resetOnFieldRenderObserversWorkedOut = () => {\n if (!isFieldObserversReset && renderFormFields.length) {\n renderFormFields.map((key) => {\n setFormField({ isOnRenderObserversWorkedOut: false }, key);\n return key;\n });\n setIsFieldObserversReset(true);\n }\n };\n const addOnFieldRenderedObserver = (key, cb, isOnceCallable = true) => {\n let observerId = null;\n\n setOnFieldRenderedObservers((state) => {\n //Set Default Value\n if (!state[key]) state[key] = {};\n\n observerId = Object.keys(state[key]).length || 0;\n\n state[key][observerId] = {\n f: cb,\n isOnceCallable,\n };\n\n return state;\n });\n\n return observerId;\n };\n const updateOnFieldRenderedObserver = (key, id, data) => {\n setOnFieldRenderedObservers((state) => {\n //Set Default Value\n if (!state[key]) return state;\n\n state[key][id] = {\n ...state[key][id],\n ...data,\n };\n\n return state;\n });\n };\n const removeOnFieldRenderedObserver = (key, id) => {\n setOnFieldRenderedObservers((state) => {\n //Set Default Value\n if (!state[key]) return state;\n\n state[key] = Object.keys(state)\n .filter((cbId) => cbId !== id)\n .map((cbId) => state[key][cbId]);\n\n return state;\n });\n };\n const onFieldRenderedObserver = (key, data) => {\n if (\n !onFieldRenderedObservers[key] ||\n typeof onFieldRenderedObservers[key] !== \"object\"\n )\n return;\n\n const Observers = onFieldRenderedObservers[key];\n const FilteredObservers = Object.values(Observers).filter(\n (observer) => !observer?.isObserverWorkedOut,\n );\n\n if (FilteredObservers.length === 0) return null;\n\n setFormField({ isOnRenderObserversWorkedOut: true }, key);\n\n FilteredObservers.map(({ f, isOnceCallable }, id) => {\n f(data);\n if (isOnceCallable)\n updateOnFieldRenderedObserver(key, id, { isObserverWorkedOut: true });\n return null;\n });\n };\n const onRenderObserverWorker = () => {\n return getFormFieldsKeys(form)?.map((key) => {\n //OnFieldRendered\n const fieldData = getFormField(key);\n if (!fieldData?.isOnRenderObserversWorkedOut) {\n onFieldRenderedObserver(key, fieldData);\n return { key, isWorkedOut: true };\n }\n\n return { key, isWorkedOut: false };\n });\n };\n\n useEffect(() => {\n resetOnFieldRenderObserversWorkedOut();\n onRenderObserverWorker();\n }, [form]);\n\n useEffect(() => {\n setIsFieldObserversReset(false);\n }, [FormType]);\n //--- OnFieldRendered Observer ---//--- END ---//\n\n ///////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////\n\n //Detect What Changed || TRY TO DO\n // const compare = async (prev, current) => {\n // if (!prev) return current;\n\n // return new Promise((resolve) => {\n // Object.keys(current).reduce((result, key, i, arr) => {\n // //If PROPERTY is NOT EXISTS BEFORE\n // if ([null, undefined].includes(prev[key])) {\n // result[key] = current[key];\n // }\n // //If PROPERTY is AN OBJECT\n // else if (typeof current[key] === 'object') {\n // //If PROPERTY is EXISTS BEFORE\n // const innerCompare = compare(prev[key], current[key]);\n // // //If SOMETHING CHANGED\n // if (innerCompare?.length) result[key] = innerCompare;\n // }\n // //If PROPERTY is AN SIMPLE VALUE and PROPERTY CHANGED\n // else if (prev[key] !== current[key]) {\n // result[key] = current[key];\n // }\n\n // if (i === arr.length-1) {\n // resolve(result);\n // }\n\n // return result;\n // }, {});\n // });\n // };\n\n ///////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////\n\n //--- WindowScrollController ---//--- START ---//\n const scrollToField = ({ key = null, field = null, form: argForm }) => {\n if (!key && !field) return false;\n if (!argForm) argForm = form;\n\n if (!field) field = getFormField(key, argForm);\n\n const wrapperRef = field?.wrapperRef || field?.ref;\n // eslint-disable-next-line no-unsafe-optional-chaining\n const { top: topOffset } = wrapperRef?.current?.getBoundingClientRect();\n const scrollTop =\n Math.abs(Math.abs(topOffset) - Math.abs(window.scrollY)) - 16;\n window.scrollTo({ top: scrollTop });\n };\n\n //--- WindowScrollController ---//--- END ---//\n\n ///////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////\n\n const addErrorsToForm = (errors, argForm = form) => {\n if (!argForm) argForm = form;\n\n setFormFields((fields) => {\n return errors.reduce(\n (fields, { message: error, propertyPath: errKey }) => {\n return updateFormField(fields, { error }, errKey);\n },\n fields,\n );\n });\n };\n\n return {\n FormDataDrivers,\n\n //OnChangeObserver\n addOnChangeObserver,\n removeOnChangeObserver,\n onChangeObservers,\n\n //OnChangeHandler\n onFieldChange,\n\n //Form Submit Blocker\n toggleFormSubmitBlock,\n clearFormSubmitBlockers,\n isFormSubmitBlocked: Boolean(formSubmitBlockers.length),\n\n //Property Observers\n // addPropertyObserver,\n\n //Render Fields\n renderFormFields,\n setRenderFormFields,\n addRenderFields,\n removeRenderFields,\n\n getFieldClassName,\n\n //Field Focus Controller\n isInitFocused,\n setFirstFieldInitFocused,\n resetIsInitFocused,\n setFieldFocus,\n setFieldBlur,\n setFirstFieldFocus,\n autoFocusedField,\n\n addFocusFieldOnRender,\n removeFocusFieldOnRender,\n\n //Field Render Controller\n addOnFieldRenderedObserver,\n removeOnFieldRenderedObserver,\n onFieldRenderedObservers,\n\n updateFormField,\n addOnFormRenderObserver,\n submitIsFormRendered,\n resetIsFormRendered,\n renderFields: ({\n form: argForm = form,\n fields: argFields = renderFormFields,\n cols: argCols = 1,\n RenderFieldComponent,\n }) =>\n RenderFields({\n form: argForm,\n fields: argFields,\n cols: argCols,\n RenderFieldComponent,\n onFieldChange,\n FormDataDriver: getFormDataDriver(FormDataDriverName),\n }),\n\n scrollToField,\n\n getFieldData,\n getFormField,\n setFormFields,\n setFormField: (data, key) => setFormField(data, key),\n getFormFieldsAsArray,\n getFormFieldsKeys,\n removeAllFormFields,\n removeFormField,\n removeFormFields,\n addErrorsToForm,\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { KEYBOARD_SERVICE_KEYS } from "../Constants/index.constants.js";
2
+ import { useEffect, useState } from "react";
3
+ //#region src/Functions/useInputHighlightError.js
4
+ var useInputHighlightError = ({ value, blinkTime, isUseErrorsBlink }) => {
5
+ const DEFAULT_BLINK_TIME = 100;
6
+ const [isToHighlightError, setIsToHighlightError] = useState(false);
7
+ const [isAttemptToChange, setIsAttemptToChange] = useState(false);
8
+ const [prevValue, setPreviousValue] = useState(value);
9
+ function hasHighlightError(e) {
10
+ const changedValue = `${value ?? ""}`;
11
+ const previousValue = `${prevValue ?? ""}`;
12
+ const short = previousValue.length <= changedValue.length ? previousValue : changedValue;
13
+ const long = previousValue.length > changedValue.length ? previousValue : changedValue;
14
+ const infoAboutDifferencesSameness = short.split("").reduce((acc, symbol, idx) => {
15
+ if (acc.countOn && symbol === long[idx]) acc.same.push(symbol);
16
+ else {
17
+ acc.countOn = false;
18
+ acc.differences.push([idx, symbol]);
19
+ }
20
+ return acc;
21
+ }, {
22
+ same: [],
23
+ countOn: true,
24
+ differences: []
25
+ });
26
+ const samePart = infoAboutDifferencesSameness.same.join("");
27
+ const differencesLength = infoAboutDifferencesSameness.differences.length;
28
+ const currentSet = changedValue?.replace(samePart, "");
29
+ if (!KEYBOARD_SERVICE_KEYS.includes(e.key) && changedValue === previousValue) setIsAttemptToChange(!(!differencesLength && e.key === currentSet));
30
+ }
31
+ useEffect(() => {
32
+ if (isUseErrorsBlink && isAttemptToChange) {
33
+ setIsAttemptToChange(null);
34
+ setIsToHighlightError(true);
35
+ setTimeout(() => {
36
+ setIsToHighlightError(false);
37
+ }, blinkTime || DEFAULT_BLINK_TIME);
38
+ }
39
+ }, [isAttemptToChange]);
40
+ return {
41
+ isToHighlightError,
42
+ setPreviousValue,
43
+ setIsToHighlightError,
44
+ hasHighlightError
45
+ };
46
+ };
47
+ //#endregion
48
+ export { useInputHighlightError as default, useInputHighlightError };
49
+
50
+ //# sourceMappingURL=useInputHighlightError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInputHighlightError.js","names":[],"sources":["../../../src/Functions/useInputHighlightError.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport { KEYBOARD_SERVICE_KEYS } from \"../Constants/index.constants\";\n\nexport const useInputHighlightError = ({\n value,\n blinkTime,\n isUseErrorsBlink,\n}) => {\n const DEFAULT_BLINK_TIME = 100;\n const [isToHighlightError, setIsToHighlightError] = useState(false);\n const [isAttemptToChange, setIsAttemptToChange] = useState(false);\n const [prevValue, setPreviousValue] = useState(value);\n\n function hasHighlightError(e) {\n const changedValue = `${value ?? \"\"}`;\n const previousValue = `${prevValue ?? \"\"}`;\n\n const short =\n previousValue.length <= changedValue.length\n ? previousValue\n : changedValue;\n const long =\n previousValue.length > changedValue.length ? previousValue : changedValue;\n\n const infoAboutDifferencesSameness = short.split(\"\").reduce(\n (acc, symbol, idx) => {\n if (acc.countOn && symbol === long[idx]) acc.same.push(symbol);\n else {\n acc.countOn = false;\n acc.differences.push([idx, symbol]);\n }\n return acc;\n },\n { same: [], countOn: true, differences: [] },\n );\n\n const samePart = infoAboutDifferencesSameness.same.join(\"\");\n const differencesLength = infoAboutDifferencesSameness.differences.length;\n const currentSet = changedValue?.replace(samePart, \"\");\n\n if (\n !KEYBOARD_SERVICE_KEYS.includes(e.key) &&\n changedValue === previousValue\n )\n setIsAttemptToChange(!(!differencesLength && e.key === currentSet));\n }\n\n useEffect(() => {\n if (isUseErrorsBlink && isAttemptToChange) {\n setIsAttemptToChange(null);\n setIsToHighlightError(true);\n setTimeout(() => {\n setIsToHighlightError(false);\n }, blinkTime || DEFAULT_BLINK_TIME);\n }\n }, [isAttemptToChange]);\n\n return {\n isToHighlightError,\n setPreviousValue,\n setIsToHighlightError,\n hasHighlightError,\n };\n};\n\nexport default useInputHighlightError;\n"],"mappings":";;;AAIO,IAAM,0BAA0B,EACrC,OACA,WACA,uBACI;CACJ,MAAM,qBAAqB;CAC3B,MAAM,CAAC,oBAAoB,yBAAyB,SAAS,KAAK;CAClE,MAAM,CAAC,mBAAmB,wBAAwB,SAAS,KAAK;CAChE,MAAM,CAAC,WAAW,oBAAoB,SAAS,KAAK;CAEpD,SAAS,kBAAkB,GAAG;EAC5B,MAAM,eAAe,GAAG,SAAS;EACjC,MAAM,gBAAgB,GAAG,aAAa;EAEtC,MAAM,QACJ,cAAc,UAAU,aAAa,SACjC,gBACA;EACN,MAAM,OACJ,cAAc,SAAS,aAAa,SAAS,gBAAgB;EAE/D,MAAM,+BAA+B,MAAM,MAAM,EAAE,CAAA,CAAE,QAClD,KAAK,QAAQ,QAAQ;GACpB,IAAI,IAAI,WAAW,WAAW,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM;QACxD;IACH,IAAI,UAAU;IACd,IAAI,YAAY,KAAK,CAAC,KAAK,MAAM,CAAC;GACpC;GACA,OAAO;EACT,GACA;GAAE,MAAM,CAAC;GAAG,SAAS;GAAM,aAAa,CAAC;EAAE,CAC7C;EAEA,MAAM,WAAW,6BAA6B,KAAK,KAAK,EAAE;EAC1D,MAAM,oBAAoB,6BAA6B,YAAY;EACnE,MAAM,aAAa,cAAc,QAAQ,UAAU,EAAE;EAErD,IACE,CAAC,sBAAsB,SAAS,EAAE,GAAG,KACrC,iBAAiB,eAEjB,qBAAqB,EAAE,CAAC,qBAAqB,EAAE,QAAQ,WAAW;CACtE;CAEA,gBAAgB;EACd,IAAI,oBAAoB,mBAAmB;GACzC,qBAAqB,IAAI;GACzB,sBAAsB,IAAI;GAC1B,iBAAiB;IACf,sBAAsB,KAAK;GAC7B,GAAG,aAAa,kBAAkB;EACpC;CACF,GAAG,CAAC,iBAAiB,CAAC;CAEtB,OAAO;EACL;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,7 @@
1
+ import useIsMobile from "./useIsMobile.js";
2
+ //#region src/Functions/useIsMobile/index.ts
3
+ var useIsMobile_default = useIsMobile;
4
+ //#endregion
5
+ export { useIsMobile_default as default };
6
+
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/Functions/useIsMobile/index.ts"],"sourcesContent":["import useIsMobile from './useIsMobile';\n\nexport default useIsMobile;\n"],"mappings":";;AAEA,IAAA,sBAAe"}
@@ -0,0 +1,32 @@
1
+ import { useEffect, useState } from "react";
2
+ //#region src/Functions/useIsMobile/useIsMobile.ts
3
+ /**
4
+ * Hook to detect if the current device is a mobile device
5
+ * @param props - Configuration options
6
+ * @param props.isWithoutWidthCheck - If true, only checks user agent without width verification
7
+ * @returns Object containing isMobile flag
8
+ */
9
+ function useIsMobile({ isWithoutWidthCheck = false } = {}) {
10
+ const isIPad = () => {
11
+ const ua = navigator.userAgent || navigator.vendor || window.opera;
12
+ const isMac = /Macintosh/.test(ua);
13
+ const hasTouch = navigator.maxTouchPoints && navigator.maxTouchPoints > 2;
14
+ return isMac && !!hasTouch;
15
+ };
16
+ const getIsMobile = () => {
17
+ return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || isIPad();
18
+ };
19
+ const [isMobile, setIsMobile] = useState(getIsMobile());
20
+ useEffect(() => {
21
+ if (getIsMobile()) setIsMobile(true);
22
+ }, [navigator.userAgent]);
23
+ return {
24
+ isMobile: isMobile && (isWithoutWidthCheck || window.screen.width <= 768 || window.screen.width <= 1024 && window.matchMedia("(orientation: landscape)").matches),
25
+ isMobilePortrait: isMobile && window.screen.width <= 768 && window.matchMedia("(orientation: portait)").matches,
26
+ isMobileLandscape: isMobile && window.screen.width <= 1024 && window.matchMedia("(orientation: landscape)").matches
27
+ };
28
+ }
29
+ //#endregion
30
+ export { useIsMobile as default };
31
+
32
+ //# sourceMappingURL=useIsMobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsMobile.js","names":[],"sources":["../../../../src/Functions/useIsMobile/useIsMobile.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\ninterface UseIsMobileProps {\n isWithoutWidthCheck?: boolean;\n}\n\ninterface UseIsMobileProps {\n isWithoutWidthCheck?: boolean;\n}\n/**\n * Hook to detect if the current device is a mobile device\n * @param props - Configuration options\n * @param props.isWithoutWidthCheck - If true, only checks user agent without width verification\n * @returns Object containing isMobile flag\n */\nfunction useIsMobile({ isWithoutWidthCheck = false }: UseIsMobileProps = {}): { isMobile: boolean, isMobilePortrait: boolean; isMobileLandscape: boolean } {\n const isIPad = (): boolean => {\n const ua = navigator.userAgent || navigator.vendor || (window as any).opera;\n\n // iPadOS 13+ выдает себя как Mac, но с touch-экраном\n const isMac = /Macintosh/.test(ua);\n const hasTouch = navigator.maxTouchPoints && navigator.maxTouchPoints > 2;\n\n return isMac && !!hasTouch;\n };\n\n const getIsMobile = (): boolean => {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || isIPad();\n };\n\n const [isMobile, setIsMobile] = useState<boolean>(getIsMobile());\n\n useEffect(() => {\n if (getIsMobile()) {\n setIsMobile(true);\n }\n }, [navigator.userAgent]);\n\n return {\n isMobile: isMobile && (isWithoutWidthCheck || window.screen.width <= 768 || (window.screen.width <= 1024 && window.matchMedia('(orientation: landscape)').matches)),\n isMobilePortrait: isMobile && window.screen.width <= 768 && window.matchMedia('(orientation: portait)').matches,\n isMobileLandscape: isMobile && window.screen.width <= 1024 && window.matchMedia('(orientation: landscape)').matches,\n };\n}\n\nexport default useIsMobile;\n"],"mappings":";;;;;;;;AAeA,SAAS,YAAY,EAAE,sBAAsB,UAA4B,CAAC,GAAiF;CACzJ,MAAM,eAAwB;EAC5B,MAAM,KAAK,UAAU,aAAa,UAAU,UAAW,OAAe;EAGtE,MAAM,QAAQ,YAAY,KAAK,EAAE;EACjC,MAAM,WAAW,UAAU,kBAAkB,UAAU,iBAAiB;EAExE,OAAO,SAAS,CAAC,CAAC;CACpB;CAEA,MAAM,oBAA6B;EACjC,OAAO,iEAAiE,KAAK,UAAU,SAAS,KAAK,OAAO;CAC9G;CAEA,MAAM,CAAC,UAAU,eAAe,SAAkB,YAAY,CAAC;CAE/D,gBAAgB;EACd,IAAI,YAAY,GACd,YAAY,IAAI;CAEpB,GAAG,CAAC,UAAU,SAAS,CAAC;CAExB,OAAO;EACL,UAAU,aAAa,uBAAuB,OAAO,OAAO,SAAS,OAAQ,OAAO,OAAO,SAAS,QAAQ,OAAO,WAAW,0BAA0B,CAAC,CAAC;EAC1J,kBAAkB,YAAY,OAAO,OAAO,SAAS,OAAO,OAAO,WAAW,wBAAwB,CAAC,CAAC;EACxG,mBAAmB,YAAY,OAAO,OAAO,SAAS,QAAQ,OAAO,WAAW,0BAA0B,CAAC,CAAC;CAC9G;AACF"}
@@ -0,0 +1,38 @@
1
+ import useKeyPress from "./useKeyPress.js";
2
+ import { useEffect } from "react";
3
+ //#region src/Functions/useKeyPress/useHandleKeyPress.ts
4
+ /**
5
+ * A hook that handles Enter and Escape key press events
6
+ *
7
+ * @param props - Configuration object for key press handling
8
+ * @param props.escCallback - Function to be called when Escape key is pressed
9
+ * @param props.enterCallback - Function to be called when Enter key is pressed
10
+ * @param props.withClamping - Whether to allow key repeat events (default: true)
11
+ * @param props.withEventManagementStructure - Structure for event management (e.g. Modal)
12
+ * @param props.suspendProcessing - Optional map of key -> predicate to suspend processing for specific keys
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * function Component() {
17
+ * useHandleKeyPress({
18
+ * escCallback: () => console.log('Esc pressed'),
19
+ * enterCallback: () => console.log('Enter pressed'),
20
+ * });
21
+ * }
22
+ * ```
23
+ */
24
+ function useHandleKeyPress({ escCallback, enterCallback, withClamping = true, withEventManagementStructure, suspendProcessing = null }) {
25
+ const { isWithSubmitAndCloseManagement } = withEventManagementStructure || {};
26
+ const isPressEnter = useKeyPress("Enter", withClamping, isWithSubmitAndCloseManagement, suspendProcessing);
27
+ const isPressEscape = useKeyPress("Escape", withClamping, isWithSubmitAndCloseManagement, suspendProcessing);
28
+ useEffect(() => {
29
+ if (!isWithSubmitAndCloseManagement && isPressEscape && typeof escCallback === "function") escCallback();
30
+ }, [isPressEscape, escCallback]);
31
+ useEffect(() => {
32
+ if (!isWithSubmitAndCloseManagement && isPressEnter && typeof enterCallback === "function") enterCallback();
33
+ }, [isPressEnter, enterCallback]);
34
+ }
35
+ //#endregion
36
+ export { useHandleKeyPress as default };
37
+
38
+ //# sourceMappingURL=useHandleKeyPress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHandleKeyPress.js","names":[],"sources":["../../../../src/Functions/useKeyPress/useHandleKeyPress.ts"],"sourcesContent":["import type TWithEventManagementAsObj from '../../types/declaration/TWithEventManagementAsObj';\nimport type { ISuspendProcessing } from './useKeyPress';\n\nimport { useEffect } from 'react';\nimport useKeyPress from './useKeyPress';\n\ninterface UseHandleKeyPressProps {\n /** Callback function to be called when Escape key is pressed */\n escCallback?: () => void;\n /** Callback function to be called when Enter key is pressed */\n enterCallback?: () => void;\n /** Whether to allow key repeat events */\n withClamping?: boolean;\n\n withEventManagementStructure?: TWithEventManagementAsObj<'Modal'>;\n\n /** Array of Keys (ev.key) to exclude from processing */\n suspendProcessing?: null | ISuspendProcessing;\n}\n\n/**\n * A hook that handles Enter and Escape key press events\n *\n * @param props - Configuration object for key press handling\n * @param props.escCallback - Function to be called when Escape key is pressed\n * @param props.enterCallback - Function to be called when Enter key is pressed\n * @param props.withClamping - Whether to allow key repeat events (default: true)\n * @param props.withEventManagementStructure - Structure for event management (e.g. Modal)\n * @param props.suspendProcessing - Optional map of key -> predicate to suspend processing for specific keys\n *\n * @example\n * ```tsx\n * function Component() {\n * useHandleKeyPress({\n * escCallback: () => console.log('Esc pressed'),\n * enterCallback: () => console.log('Enter pressed'),\n * });\n * }\n * ```\n */\nfunction useHandleKeyPress({\n escCallback,\n enterCallback,\n withClamping = true,\n withEventManagementStructure,\n suspendProcessing = null,\n}: UseHandleKeyPressProps): void {\n const { isWithSubmitAndCloseManagement } = withEventManagementStructure || {};\n\n const isPressEnter = useKeyPress('Enter', withClamping, isWithSubmitAndCloseManagement, suspendProcessing);\n const isPressEscape = useKeyPress('Escape', withClamping, isWithSubmitAndCloseManagement, suspendProcessing);\n\n useEffect(() => {\n if (!isWithSubmitAndCloseManagement && isPressEscape && typeof escCallback === 'function') {\n escCallback();\n }\n }, [isPressEscape, escCallback]);\n\n useEffect(() => {\n if (!isWithSubmitAndCloseManagement && isPressEnter && typeof enterCallback === 'function') {\n enterCallback();\n }\n }, [isPressEnter, enterCallback])\n}\n\nexport default useHandleKeyPress;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAwCA,SAAS,kBAAkB,EACzB,aACA,eACA,eAAe,MACf,8BACA,oBAAoB,QACW;CAC/B,MAAM,EAAE,mCAAmC,gCAAgC,CAAC;CAE5E,MAAM,eAAe,YAAY,SAAS,cAAc,gCAAgC,iBAAiB;CACzG,MAAM,gBAAgB,YAAY,UAAU,cAAc,gCAAgC,iBAAiB;CAE3G,gBAAgB;EACd,IAAI,CAAC,kCAAkC,iBAAiB,OAAO,gBAAgB,YAC7E,YAAY;CAEhB,GAAG,CAAC,eAAe,WAAW,CAAC;CAE/B,gBAAgB;EACd,IAAI,CAAC,kCAAkC,gBAAgB,OAAO,kBAAkB,YAC9E,cAAc;CAElB,GAAG,CAAC,cAAc,aAAa,CAAC;AAClC"}
@@ -0,0 +1,54 @@
1
+ import { getIsOnlyAnObject } from "../utils.js";
2
+ import { useCallback, useEffect, useState } from "react";
3
+ //#region src/Functions/useKeyPress/useKeyPress.ts
4
+ function isISuspendProcessing(x) {
5
+ return getIsOnlyAnObject(x) && Object.values(x).every((v) => typeof v === "function");
6
+ }
7
+ function useKeyPress(targetKey, clamping = true, isForbidden, suspendProcessing) {
8
+ const [keyPressed, setKeyPressed] = useState(false);
9
+ const safelySuspendProcessing = isISuspendProcessing(suspendProcessing) ? suspendProcessing : {};
10
+ const downHandler = useCallback((event) => {
11
+ const { key, repeat, altKey, ctrlKey, shiftKey, metaKey } = event;
12
+ if (key === targetKey && !altKey && !ctrlKey && !shiftKey && !metaKey && !safelySuspendProcessing[key]?.(event)) {
13
+ if (!clamping && repeat) return;
14
+ setKeyPressed(true);
15
+ }
16
+ }, [
17
+ clamping,
18
+ targetKey,
19
+ suspendProcessing
20
+ ]);
21
+ const upHandler = useCallback((event) => {
22
+ const { key, repeat, altKey, ctrlKey, shiftKey, metaKey } = event;
23
+ if (key === targetKey && !altKey && !ctrlKey && !shiftKey && !metaKey && !safelySuspendProcessing[key]?.(event)) {
24
+ if (!clamping && repeat) return;
25
+ setKeyPressed(false);
26
+ }
27
+ }, [
28
+ clamping,
29
+ targetKey,
30
+ suspendProcessing
31
+ ]);
32
+ useEffect(() => {
33
+ const handleDown = (event) => downHandler(event);
34
+ const handleUp = (event) => upHandler(event);
35
+ if (!isForbidden) {
36
+ window.addEventListener("keydown", handleDown);
37
+ window.addEventListener("keyup", handleUp);
38
+ }
39
+ return () => {
40
+ window.removeEventListener("keydown", handleDown);
41
+ window.removeEventListener("keyup", handleUp);
42
+ };
43
+ }, [
44
+ downHandler,
45
+ upHandler,
46
+ isForbidden,
47
+ suspendProcessing
48
+ ]);
49
+ return keyPressed;
50
+ }
51
+ //#endregion
52
+ export { useKeyPress as default, isISuspendProcessing };
53
+
54
+ //# sourceMappingURL=useKeyPress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyPress.js","names":[],"sources":["../../../../src/Functions/useKeyPress/useKeyPress.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { getIsOnlyAnObject } from '../utils';\n\n/**\n * A hook that detects when a specific key is pressed\n * @param targetKey - The key to listen for\n * @param clamping - Whether to allow key repeat events\n * @returns boolean indicating if the target key is currently pressed\n */\n\nexport interface ISuspendProcessing {\n [key: string]: (event: globalThis.KeyboardEvent) => boolean; // Вернет true, если НУЖНО приостановить обработку\n}\n\nexport function isISuspendProcessing(x: unknown): x is ISuspendProcessing {\n return getIsOnlyAnObject(x) && Object.values(x as Record<string, unknown>).every(v => typeof v === 'function');\n}\n\nfunction useKeyPress(\n targetKey: string,\n clamping: boolean = true,\n isForbidden?: boolean,\n suspendProcessing?: null | ISuspendProcessing,\n): boolean {\n const [keyPressed, setKeyPressed] = useState<boolean>(false);\n const safelySuspendProcessing = (isISuspendProcessing(suspendProcessing) ? suspendProcessing : {}) as ISuspendProcessing;\n\n const downHandler = useCallback(\n (event: globalThis.KeyboardEvent): void => {\n const { key, repeat, altKey, ctrlKey, shiftKey, metaKey } = event;\n const isPressingWithoutAuxiliaryKeys = !altKey && !ctrlKey && !shiftKey && !metaKey;\n\n if (key === targetKey && isPressingWithoutAuxiliaryKeys && !(safelySuspendProcessing[key]?.(event))) {\n if (!clamping && repeat) return;\n setKeyPressed(true);\n }\n },\n // ? Намерянно в зависимостях используем именно входной suspendProcessing,\n // ? хоть в коде используем \"безопасный\"\n [clamping, targetKey, suspendProcessing],\n );\n\n const upHandler = useCallback(\n (event: globalThis.KeyboardEvent): void => {\n const { key, repeat, altKey, ctrlKey, shiftKey, metaKey } = event;\n const isPressingWithoutAuxiliaryKeys = !altKey && !ctrlKey && !shiftKey && !metaKey;\n\n if (key === targetKey && isPressingWithoutAuxiliaryKeys && !(safelySuspendProcessing[key]?.(event))) {\n if (!clamping && repeat) return;\n setKeyPressed(false);\n }\n },\n // ? Намерянно в зависимостях используем именно входной suspendProcessing,\n // ? хоть в коде используем \"безопасный\"\n [clamping, targetKey, suspendProcessing],\n );\n\n useEffect(\n () => {\n const handleDown = (event: globalThis.KeyboardEvent): void => downHandler(event);\n const handleUp = (event: globalThis.KeyboardEvent): void => upHandler(event);\n\n if (!isForbidden) {\n window.addEventListener('keydown', handleDown);\n window.addEventListener('keyup', handleUp);\n }\n\n return () => {\n // ? Намерянно НЕ оборачиваю if-кой:\n // ? при попытке снять если не было установлено ошибки не будет,\n // ? но при этом корректно отработет переход из isForbidden: false в isForbidden: true.\n window.removeEventListener('keydown', handleDown);\n window.removeEventListener('keyup', handleUp);\n };\n },\n // ? Намерянно в зависимостях используем именно входной suspendProcessing,\n // ? хоть в коде используем \"безопасный\"\n [downHandler, upHandler, isForbidden, suspendProcessing],\n );\n\n return keyPressed;\n}\n\nexport default useKeyPress;\n"],"mappings":";;;AAcA,SAAgB,qBAAqB,GAAqC;CACxE,OAAO,kBAAkB,CAAC,KAAK,OAAO,OAAO,CAA4B,CAAC,CAAC,OAAM,MAAK,OAAO,MAAM,UAAU;AAC/G;AAEA,SAAS,YACP,WACA,WAAoB,MACpB,aACA,mBACS;CACT,MAAM,CAAC,YAAY,iBAAiB,SAAkB,KAAK;CAC3D,MAAM,0BAA2B,qBAAqB,iBAAiB,IAAI,oBAAoB,CAAC;CAEhG,MAAM,cAAc,aACjB,UAA0C;EACzC,MAAM,EAAE,KAAK,QAAQ,QAAQ,SAAS,UAAU,YAAY;EAG5D,IAAI,QAAQ,aAF2B,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,WAEjB,CAAE,wBAAwB,IAAI,GAAG,KAAK,GAAI;GACnG,IAAI,CAAC,YAAY,QAAQ;GACzB,cAAc,IAAI;EACpB;CACF,GAGA;EAAC;EAAU;EAAW;CAAiB,CACzC;CAEA,MAAM,YAAY,aACf,UAA0C;EACzC,MAAM,EAAE,KAAK,QAAQ,QAAQ,SAAS,UAAU,YAAY;EAG5D,IAAI,QAAQ,aAF2B,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,WAEjB,CAAE,wBAAwB,IAAI,GAAG,KAAK,GAAI;GACnG,IAAI,CAAC,YAAY,QAAQ;GACzB,cAAc,KAAK;EACrB;CACF,GAGA;EAAC;EAAU;EAAW;CAAiB,CACzC;CAEA,gBACQ;EACJ,MAAM,cAAc,UAA0C,YAAY,KAAK;EAC/E,MAAM,YAAY,UAA0C,UAAU,KAAK;EAE3E,IAAI,CAAC,aAAa;GAChB,OAAO,iBAAiB,WAAW,UAAU;GAC7C,OAAO,iBAAiB,SAAS,QAAQ;EAC3C;EAEA,aAAa;GAIX,OAAO,oBAAoB,WAAW,UAAU;GAChD,OAAO,oBAAoB,SAAS,QAAQ;EAC9C;CACF,GAGA;EAAC;EAAa;EAAW;EAAa;CAAiB,CACzD;CAEA,OAAO;AACT"}
@@ -0,0 +1,28 @@
1
+ import { useState } from "react";
2
+ //#region src/Functions/useLocalStorage.js
3
+ var useLocalStorage = (key, initialValue) => {
4
+ const [storedValue, setStoredValue] = useState(() => {
5
+ if (typeof window === "undefined") return initialValue;
6
+ try {
7
+ const item = window.localStorage.getItem(key);
8
+ return item ? JSON.parse(item) : initialValue;
9
+ } catch (error) {
10
+ console.log(error);
11
+ return initialValue;
12
+ }
13
+ });
14
+ const setValue = (value) => {
15
+ try {
16
+ const valueToStore = value instanceof Function ? value(storedValue) : value;
17
+ setStoredValue(valueToStore);
18
+ if (typeof window !== "undefined") window.localStorage.setItem(key, JSON.stringify(valueToStore));
19
+ } catch (error) {
20
+ console.log(error);
21
+ }
22
+ };
23
+ return [storedValue, setValue];
24
+ };
25
+ //#endregion
26
+ export { useLocalStorage as default };
27
+
28
+ //# sourceMappingURL=useLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStorage.js","names":[],"sources":["../../../src/Functions/useLocalStorage.js"],"sourcesContent":["import { useState } from \"react\";\n\nconst useLocalStorage = (key, initialValue) => {\n const [storedValue, setStoredValue] = useState(() => {\n if (typeof window === \"undefined\") {\n return initialValue;\n }\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n return initialValue;\n }\n });\n\n const setValue = (value) => {\n try {\n const valueToStore =\n value instanceof Function ? value(storedValue) : value;\n setStoredValue(valueToStore);\n if (typeof window !== \"undefined\") {\n window.localStorage.setItem(key, JSON.stringify(valueToStore));\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n };\n\n return [storedValue, setValue];\n};\nexport default useLocalStorage;\n"],"mappings":";;AAEA,IAAM,mBAAmB,KAAK,iBAAiB;CAC7C,MAAM,CAAC,aAAa,kBAAkB,eAAe;EACnD,IAAI,OAAO,WAAW,aACpB,OAAO;EAET,IAAI;GACF,MAAM,OAAO,OAAO,aAAa,QAAQ,GAAG;GAC5C,OAAO,OAAO,KAAK,MAAM,IAAI,IAAI;EACnC,SAAS,OAAO;GAEd,QAAQ,IAAI,KAAK;GACjB,OAAO;EACT;CACF,CAAC;CAED,MAAM,YAAY,UAAU;EAC1B,IAAI;GACF,MAAM,eACJ,iBAAiB,WAAW,MAAM,WAAW,IAAI;GACnD,eAAe,YAAY;GAC3B,IAAI,OAAO,WAAW,aACpB,OAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,YAAY,CAAC;EAEjE,SAAS,OAAO;GAEd,QAAQ,IAAI,KAAK;EACnB;CACF;CAEA,OAAO,CAAC,aAAa,QAAQ;AAC/B"}
@@ -0,0 +1,27 @@
1
+ import { useEffect, useState } from "react";
2
+ //#region src/Functions/useLocationParams.js
3
+ function useLocationParams() {
4
+ const [params, setParams] = useState({});
5
+ useEffect(() => {
6
+ setParams((state) => {
7
+ const arr = window.location.search?.replace("?", "").split("&");
8
+ return {
9
+ ...state,
10
+ ...arr.reduce((obj, item) => {
11
+ const keyVal = item.split("=");
12
+ const key = keyVal[0];
13
+ const value = decodeURIComponent(keyVal[1]);
14
+ return {
15
+ ...obj,
16
+ [key]: value
17
+ };
18
+ }, {})
19
+ };
20
+ });
21
+ }, [window.location.search]);
22
+ return params;
23
+ }
24
+ //#endregion
25
+ export { useLocationParams as default };
26
+
27
+ //# sourceMappingURL=useLocationParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocationParams.js","names":[],"sources":["../../../src/Functions/useLocationParams.js"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nexport default function useLocationParams() {\n const [params, setParams] = useState({});\n\n useEffect(() => {\n setParams((state) => {\n const arr = window.location.search?.replace(\"?\", \"\").split(\"&\");\n\n return {\n ...state,\n ...arr.reduce((obj, item) => {\n const keyVal = item.split(\"=\");\n const key = keyVal[0];\n const value = decodeURIComponent(keyVal[1]);\n\n return {\n ...obj,\n [key]: value,\n };\n }, {}),\n };\n });\n }, [window.location.search]);\n\n return params;\n}\n"],"mappings":";;AAEA,SAAwB,oBAAoB;CAC1C,MAAM,CAAC,QAAQ,aAAa,SAAS,CAAC,CAAC;CAEvC,gBAAgB;EACd,WAAW,UAAU;GACnB,MAAM,MAAM,OAAO,SAAS,QAAQ,QAAQ,KAAK,EAAE,CAAA,CAAE,MAAM,GAAG;GAE9D,OAAO;IACL,GAAG;IACH,GAAG,IAAI,QAAQ,KAAK,SAAS;KAC3B,MAAM,SAAS,KAAK,MAAM,GAAG;KAC7B,MAAM,MAAM,OAAO;KACnB,MAAM,QAAQ,mBAAmB,OAAO,EAAE;KAE1C,OAAO;MACL,GAAG;OACF,MAAM;KACT;IACF,GAAG,CAAC,CAAC;GACP;EACF,CAAC;CACH,GAAG,CAAC,OAAO,SAAS,MAAM,CAAC;CAE3B,OAAO;AACT"}
@@ -0,0 +1,14 @@
1
+ import { useSyncExternalStore } from "react";
2
+ //#region src/Functions/useMediaQuery.js
3
+ function subscribe(callback) {
4
+ const observer = new ResizeObserver(() => callback());
5
+ observer.observe(document.documentElement);
6
+ return () => observer.disconnect();
7
+ }
8
+ var useMediaQuery = (query) => {
9
+ return useSyncExternalStore(subscribe, () => window.matchMedia(query).matches, () => false);
10
+ };
11
+ //#endregion
12
+ export { useMediaQuery as default };
13
+
14
+ //# sourceMappingURL=useMediaQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaQuery.js","names":[],"sources":["../../../src/Functions/useMediaQuery.js"],"sourcesContent":["import { useSyncExternalStore } from \"react\";\n\nfunction subscribe(callback) {\n const observer = new ResizeObserver(() => callback());\n observer.observe(document.documentElement);\n return () => observer.disconnect();\n}\n\nconst useMediaQuery = (query) => {\n return useSyncExternalStore(\n subscribe,\n () => window.matchMedia(query).matches,\n () => false,\n );\n};\n\nexport default useMediaQuery;\n"],"mappings":";;AAEA,SAAS,UAAU,UAAU;CAC3B,MAAM,WAAW,IAAI,qBAAqB,SAAS,CAAC;CACpD,SAAS,QAAQ,SAAS,eAAe;CACzC,aAAa,SAAS,WAAW;AACnC;AAEA,IAAM,iBAAiB,UAAU;CAC/B,OAAO,qBACL,iBACM,OAAO,WAAW,KAAK,CAAA,CAAE,eACzB,KACR;AACF"}
@@ -0,0 +1,33 @@
1
+ import { useEffect, useState } from "react";
2
+ //#region src/Functions/useMetaInfo.js
3
+ var 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
+ useEffect(() => {
10
+ const userAgent = navigator.userAgent;
11
+ if (userAgent.indexOf("Chrome") !== -1) {
12
+ setBrowser("Chrome");
13
+ const version = userAgent.match(/Chrom(e|ium)\/([0-9\.]+)/)[2];
14
+ setChromeVersion(version);
15
+ } else if (userAgent.indexOf("Safari") !== -1) setBrowser("Safari");
16
+ const iOSV = ((userAgent.match(/(CPU|iPhone).*OS (\d+_?\d*)|CPU like Mac OS X/i) || [])[2] || "0").replace("_", ".");
17
+ const iOSVersion2 = parseFloat(iOSV);
18
+ setIsiOS(!isNaN(iOSVersion2));
19
+ if (!isNaN(iOSVersion2)) setiOSVersion(iOSV);
20
+ if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent)) setDevice("mobile");
21
+ }, []);
22
+ return {
23
+ browser,
24
+ device,
25
+ isiOS,
26
+ chromeVersion,
27
+ iOSVersion
28
+ };
29
+ };
30
+ //#endregion
31
+ export { useMetaInfo as default, useMetaInfo };
32
+
33
+ //# sourceMappingURL=useMetaInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMetaInfo.js","names":["iOSVersion"],"sources":["../../../src/Functions/useMetaInfo.js"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nexport const useMetaInfo = () => {\n const [browser, setBrowser] = useState(\"Other\");\n const [device, setDevice] = useState(\"desktop\");\n const [isiOS, setIsiOS] = useState(false);\n const [chromeVersion, setChromeVersion] = useState(null);\n const [iOSVersion, setiOSVersion] = useState(null);\n\n useEffect(() => {\n const userAgent = navigator.userAgent;\n\n if (userAgent.indexOf(\"Chrome\") !== -1) {\n setBrowser(\"Chrome\");\n\n // Извлечение версии Chrome\n const version = userAgent.match(/Chrom(e|ium)\\/([0-9\\.]+)/)[2];\n setChromeVersion(version);\n } else if (userAgent.indexOf(\"Safari\") !== -1) setBrowser(\"Safari\");\n\n const iOSV = (\n (userAgent.match(/(CPU|iPhone).*OS (\\d+_?\\d*)|CPU like Mac OS X/i) ||\n [])[2] || \"0\"\n ).replace(\"_\", \".\");\n const iOSVersion = parseFloat(iOSV);\n\n setIsiOS(!isNaN(iOSVersion));\n if (!isNaN(iOSVersion)) {\n setiOSVersion(iOSV); // Записываем версию iOS\n }\n\n if (\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n userAgent,\n )\n )\n setDevice(\"mobile\");\n }, []);\n\n return { browser, device, isiOS, chromeVersion, iOSVersion }; // Возврат версий Chrome и iOS\n};\n\nexport default useMetaInfo;\n"],"mappings":";;AAEO,IAAM,oBAAoB;CAC/B,MAAM,CAAC,SAAS,cAAc,SAAS,OAAO;CAC9C,MAAM,CAAC,QAAQ,aAAa,SAAS,SAAS;CAC9C,MAAM,CAAC,OAAO,YAAY,SAAS,KAAK;CACxC,MAAM,CAAC,eAAe,oBAAoB,SAAS,IAAI;CACvD,MAAM,CAAC,YAAY,iBAAiB,SAAS,IAAI;CAEjD,gBAAgB;EACd,MAAM,YAAY,UAAU;EAE5B,IAAI,UAAU,QAAQ,QAAQ,MAAM,IAAI;GACtC,WAAW,QAAQ;GAGnB,MAAM,UAAU,UAAU,MAAM,0BAA0B,CAAA,CAAE;GAC5D,iBAAiB,OAAO;EAC1B,OAAA,IAAW,UAAU,QAAQ,QAAQ,MAAM,IAAI,WAAW,QAAQ;EAElE,MAAM,SACH,UAAU,MAAM,gDAAgD,KAC/D,CAAC,EAAA,CAAG,MAAM,IAAA,CACZ,QAAQ,KAAK,GAAG;EAClB,MAAMA,cAAa,WAAW,IAAI;EAElC,SAAS,CAAC,MAAMA,WAAU,CAAC;EAC3B,IAAI,CAAC,MAAMA,WAAU,GACnB,cAAc,IAAI;EAGpB,IACE,iEAAiE,KAC/D,SACF,GAEA,UAAU,QAAQ;CACtB,GAAG,CAAC,CAAC;CAEL,OAAO;EAAE;EAAS;EAAQ;EAAO;EAAe;CAAW;AAC7D"}
@@ -0,0 +1,17 @@
1
+ import { useEffect } from "react";
2
+ //#region src/Functions/useMouseUpOutside.js
3
+ function useMouseUpOutside(ref, setOut, open) {
4
+ function handleMouseUpOutside(event) {
5
+ if (ref.current && !ref.current.contains(event.target)) setOut(open);
6
+ }
7
+ useEffect(() => {
8
+ document.addEventListener("mouseup", handleMouseUpOutside);
9
+ return () => {
10
+ document.removeEventListener("mouseup", handleMouseUpOutside);
11
+ };
12
+ }, [ref]);
13
+ }
14
+ //#endregion
15
+ export { useMouseUpOutside as default };
16
+
17
+ //# sourceMappingURL=useMouseUpOutside.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMouseUpOutside.js","names":[],"sources":["../../../src/Functions/useMouseUpOutside.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nexport default function useMouseUpOutside(ref, setOut, open) {\n function handleMouseUpOutside(event) {\n if (ref.current && !ref.current.contains(event.target)) {\n setOut(open);\n }\n }\n\n useEffect(() => {\n document.addEventListener(\"mouseup\", handleMouseUpOutside);\n return () => {\n document.removeEventListener(\"mouseup\", handleMouseUpOutside);\n };\n }, [ref]);\n}\n"],"mappings":";;AAEA,SAAwB,kBAAkB,KAAK,QAAQ,MAAM;CAC3D,SAAS,qBAAqB,OAAO;EACnC,IAAI,IAAI,WAAW,CAAC,IAAI,QAAQ,SAAS,MAAM,MAAM,GACnD,OAAO,IAAI;CAEf;CAEA,gBAAgB;EACd,SAAS,iBAAiB,WAAW,oBAAoB;EACzD,aAAa;GACX,SAAS,oBAAoB,WAAW,oBAAoB;EAC9D;CACF,GAAG,CAAC,GAAG,CAAC;AACV"}
@@ -0,0 +1,23 @@
1
+ import { useEffect, useState } from "react";
2
+ //#region src/Functions/useOnlineStatus.js
3
+ var useOnlineStatus = () => {
4
+ function getOnlineStatus() {
5
+ return typeof navigator !== "undefined" && typeof navigator.onLine === "boolean" ? navigator.onLine : true;
6
+ }
7
+ const [onlineStatus, setOnlineStatus] = useState(getOnlineStatus());
8
+ const goOnline = () => setOnlineStatus(true);
9
+ const goOffline = () => setOnlineStatus(false);
10
+ useEffect(() => {
11
+ window.addEventListener("online", goOnline);
12
+ window.addEventListener("offline", goOffline);
13
+ return () => {
14
+ window.removeEventListener("online", goOnline);
15
+ window.removeEventListener("offline", goOffline);
16
+ };
17
+ }, []);
18
+ return onlineStatus;
19
+ };
20
+ //#endregion
21
+ export { useOnlineStatus as default };
22
+
23
+ //# sourceMappingURL=useOnlineStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnlineStatus.js","names":[],"sources":["../../../src/Functions/useOnlineStatus.js"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nconst useOnlineStatus = () => {\n function getOnlineStatus() {\n return typeof navigator !== \"undefined\" &&\n typeof navigator.onLine === \"boolean\"\n ? navigator.onLine\n : true;\n }\n const [onlineStatus, setOnlineStatus] = useState(getOnlineStatus());\n\n const goOnline = () => setOnlineStatus(true);\n\n const goOffline = () => setOnlineStatus(false);\n\n useEffect(() => {\n window.addEventListener(\"online\", goOnline);\n window.addEventListener(\"offline\", goOffline);\n\n return () => {\n window.removeEventListener(\"online\", goOnline);\n window.removeEventListener(\"offline\", goOffline);\n };\n }, []);\n\n return onlineStatus;\n};\n\nexport default useOnlineStatus;\n"],"mappings":";;AAEA,IAAM,wBAAwB;CAC5B,SAAS,kBAAkB;EACzB,OAAO,OAAO,cAAc,eAC1B,OAAO,UAAU,WAAW,YAC1B,UAAU,SACV;CACN;CACA,MAAM,CAAC,cAAc,mBAAmB,SAAS,gBAAgB,CAAC;CAElE,MAAM,iBAAiB,gBAAgB,IAAI;CAE3C,MAAM,kBAAkB,gBAAgB,KAAK;CAE7C,gBAAgB;EACd,OAAO,iBAAiB,UAAU,QAAQ;EAC1C,OAAO,iBAAiB,WAAW,SAAS;EAE5C,aAAa;GACX,OAAO,oBAAoB,UAAU,QAAQ;GAC7C,OAAO,oBAAoB,WAAW,SAAS;EACjD;CACF,GAAG,CAAC,CAAC;CAEL,OAAO;AACT"}
@@ -0,0 +1,116 @@
1
+ import cn from "classnames";
2
+ import { useState } from "react";
3
+ import { jsxs } from "react/jsx-runtime";
4
+ //#region src/Functions/usePasswordChecker.js
5
+ 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
+ switch (type) {
11
+ case "len":
12
+ if (min && value.length < min) return false;
13
+ if (max && value.length > max) return false;
14
+ return true;
15
+ case "lowerCaseContains": {
16
+ const toUpperCase = value.slice().toUpperCase().split("");
17
+ return value.slice().split("").reduce((isMatch, char, i) => {
18
+ if (char !== toUpperCase[i]) isMatch = true;
19
+ return isMatch;
20
+ }, false);
21
+ }
22
+ case "upperCaseContains": {
23
+ const toLowerCase = value.slice().toLowerCase().split("");
24
+ return value.slice().split("").reduce((isMatch, char, i) => {
25
+ if (char !== toLowerCase[i]) isMatch = true;
26
+ return isMatch;
27
+ }, false);
28
+ }
29
+ case "numberContains": return value.slice().split("").reduce((isMatch, char) => {
30
+ if (Number.isInteger(parseInt(char, 10))) isMatch = true;
31
+ return isMatch;
32
+ }, false);
33
+ case "specialContains": return value.slice().split("").reduce((isMatch, char) => {
34
+ if (!Number.isInteger(parseInt(char, 10)) && !char.match(/[a-z]/i)) isMatch = true;
35
+ return isMatch;
36
+ }, false);
37
+ default: return false;
38
+ }
39
+ };
40
+ const testCheckRules = (value) => {
41
+ let result = true;
42
+ setCheckRules((state) => {
43
+ return [...state].map((rule) => {
44
+ const isMatch = handleCheckRule(rule.type, rule.props, value);
45
+ if (!isMatch) result = false;
46
+ return {
47
+ ...rule,
48
+ isMatch
49
+ };
50
+ });
51
+ });
52
+ return result;
53
+ };
54
+ const renderPasswordChecker = () => {
55
+ return /* @__PURE__ */ jsxs("div", {
56
+ className: "password-checker",
57
+ children: [
58
+ /* @__PURE__ */ jsxs("div", {
59
+ className: "password-checker__header",
60
+ children: [/* @__PURE__ */ jsxs("label", {
61
+ className: "password-checker__header-label",
62
+ children: [
63
+ " ",
64
+ label,
65
+ " "
66
+ ]
67
+ }), " "]
68
+ }),
69
+ " ",
70
+ /* @__PURE__ */ jsxs("div", {
71
+ className: "password-checker__body",
72
+ children: [
73
+ " ",
74
+ checkRules.map(({ icon, text, isMatch, key }) => /* @__PURE__ */ jsxs("div", {
75
+ className: cn("password-checker__body-item", {
76
+ "password-checker__body-item--match": isMatch && isMatch !== null,
77
+ "password-checker__body-item--dont-match": !isMatch && isMatch !== null
78
+ }),
79
+ children: [
80
+ /* @__PURE__ */ jsxs("div", {
81
+ className: "password-checker__body-item__icon",
82
+ children: [
83
+ " ",
84
+ icon,
85
+ " "
86
+ ]
87
+ }),
88
+ " ",
89
+ /* @__PURE__ */ jsxs("div", {
90
+ className: "password-checker__body-item__text",
91
+ children: [
92
+ " ",
93
+ text,
94
+ " "
95
+ ]
96
+ }),
97
+ " "
98
+ ]
99
+ }, key)),
100
+ " "
101
+ ]
102
+ }),
103
+ " "
104
+ ]
105
+ });
106
+ };
107
+ return {
108
+ addCheckRule,
109
+ testCheckRules,
110
+ renderPasswordChecker
111
+ };
112
+ }
113
+ //#endregion
114
+ export { usePasswordChecker as default };
115
+
116
+ //# sourceMappingURL=usePasswordChecker.js.map