iguazio.dashboard-react-controls 3.2.15 → 3.2.17

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 (651) hide show
  1. package/dist/components/ActionsMenu/ActionsMenu.d.ts +18 -0
  2. package/dist/components/ActionsMenu/ActionsMenu.d.ts.map +1 -0
  3. package/dist/components/ActionsMenu/ActionsMenu.mjs +125 -0
  4. package/dist/components/ActionsMenu/ActionsMenu.mjs.map +1 -0
  5. package/dist/components/Backdrop/Backdrop.d.ts +14 -0
  6. package/dist/components/Backdrop/Backdrop.d.ts.map +1 -0
  7. package/dist/components/Backdrop/Backdrop.mjs +29 -0
  8. package/dist/components/Backdrop/Backdrop.mjs.map +1 -0
  9. package/dist/components/BlockerSpy/BlockerSpy.d.ts +12 -0
  10. package/dist/components/BlockerSpy/BlockerSpy.d.ts.map +1 -0
  11. package/dist/components/BlockerSpy/BlockerSpy.mjs +18 -0
  12. package/dist/components/BlockerSpy/BlockerSpy.mjs.map +1 -0
  13. package/dist/components/Button/Button.d.ts +28 -0
  14. package/dist/components/Button/Button.d.ts.map +1 -0
  15. package/dist/components/Button/Button.mjs +44 -0
  16. package/dist/components/Button/Button.mjs.map +1 -0
  17. package/dist/components/Button/Button.stories.d.ts +14 -0
  18. package/dist/components/Button/Button.stories.d.ts.map +1 -0
  19. package/dist/components/ChipForm/ChipForm.d.ts +25 -0
  20. package/dist/components/ChipForm/ChipForm.d.ts.map +1 -0
  21. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +33 -0
  22. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
  23. package/dist/components/ConfirmDialog/ConfirmDialog.mjs +83 -0
  24. package/dist/components/ConfirmDialog/ConfirmDialog.mjs.map +1 -0
  25. package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts +8 -0
  26. package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts.map +1 -0
  27. package/dist/components/CopyToClipboard/CopyToClipboard.d.ts +18 -0
  28. package/dist/components/CopyToClipboard/CopyToClipboard.d.ts.map +1 -0
  29. package/dist/components/CopyToClipboard/CopyToClipboard.mjs +51 -0
  30. package/dist/components/CopyToClipboard/CopyToClipboard.mjs.map +1 -0
  31. package/dist/components/ErrorMessage/ErrorMessage.d.ts +12 -0
  32. package/dist/components/ErrorMessage/ErrorMessage.d.ts.map +1 -0
  33. package/dist/components/ErrorMessage/ErrorMessage.mjs +23 -0
  34. package/dist/components/ErrorMessage/ErrorMessage.mjs.map +1 -0
  35. package/dist/components/FormCheckBox/FormCheckBox.d.ts +21 -0
  36. package/dist/components/FormCheckBox/FormCheckBox.d.ts.map +1 -0
  37. package/dist/components/FormCheckBox/FormCheckBox.mjs +54 -0
  38. package/dist/components/FormCheckBox/FormCheckBox.mjs.map +1 -0
  39. package/dist/components/FormCheckBox/FormCheckbox.stories.d.ts +7 -0
  40. package/dist/components/FormCheckBox/FormCheckbox.stories.d.ts.map +1 -0
  41. package/dist/components/FormChipCell/FormChip/FormChip.d.ts +51 -0
  42. package/dist/components/FormChipCell/FormChip/FormChip.d.ts.map +1 -0
  43. package/dist/components/FormChipCell/FormChip/FormChip.mjs +89 -0
  44. package/dist/components/FormChipCell/FormChip/FormChip.mjs.map +1 -0
  45. package/dist/components/FormChipCell/FormChipCell.d.ts +51 -0
  46. package/dist/components/FormChipCell/FormChipCell.d.ts.map +1 -0
  47. package/dist/components/FormChipCell/FormChipCell.mjs +251 -0
  48. package/dist/components/FormChipCell/FormChipCell.mjs.map +1 -0
  49. package/dist/components/FormChipCell/FormChipCellView.d.ts +68 -0
  50. package/dist/components/FormChipCell/FormChipCellView.d.ts.map +1 -0
  51. package/dist/components/FormChipCell/FormChipCellView.mjs +190 -0
  52. package/dist/components/FormChipCell/FormChipCellView.mjs.map +1 -0
  53. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts +22 -0
  54. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts.map +1 -0
  55. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.mjs +72 -0
  56. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.mjs.map +1 -0
  57. package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts +39 -0
  58. package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts.map +1 -0
  59. package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs +285 -0
  60. package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs.map +1 -0
  61. package/dist/components/FormChipCell/NewChipInput/NewChipInput.d.ts +16 -0
  62. package/dist/components/FormChipCell/NewChipInput/NewChipInput.d.ts.map +1 -0
  63. package/dist/components/FormChipCell/NewChipInput/NewChipInput.mjs +36 -0
  64. package/dist/components/FormChipCell/NewChipInput/NewChipInput.mjs.map +1 -0
  65. package/dist/components/FormChipCell/formChipCell.util.d.ts +6 -0
  66. package/dist/components/FormChipCell/formChipCell.util.d.ts.map +1 -0
  67. package/dist/components/FormChipCell/formChipCell.util.mjs +24 -0
  68. package/dist/components/FormChipCell/formChipCell.util.mjs.map +1 -0
  69. package/dist/components/FormCombobox/FormCombobox.d.ts +56 -0
  70. package/dist/components/FormCombobox/FormCombobox.d.ts.map +1 -0
  71. package/dist/components/FormCombobox/FormCombobox.mjs +284 -0
  72. package/dist/components/FormCombobox/FormCombobox.mjs.map +1 -0
  73. package/dist/components/FormCombobox/FormCombobox.stories.d.ts +12 -0
  74. package/dist/components/FormCombobox/FormCombobox.stories.d.ts.map +1 -0
  75. package/dist/components/FormInput/FormInput.d.ts +3 -0
  76. package/dist/components/FormInput/FormInput.d.ts.map +1 -0
  77. package/dist/components/FormInput/FormInput.mjs +272 -0
  78. package/dist/components/FormInput/FormInput.mjs.map +1 -0
  79. package/dist/components/FormInput/FormInput.stories.d.ts +14 -0
  80. package/dist/components/FormInput/FormInput.stories.d.ts.map +1 -0
  81. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.d.ts +20 -0
  82. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.d.ts.map +1 -0
  83. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.mjs +61 -0
  84. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.mjs.map +1 -0
  85. package/dist/components/FormKeyValueTable/FormKeyValueTable.d.ts +49 -0
  86. package/dist/components/FormKeyValueTable/FormKeyValueTable.d.ts.map +1 -0
  87. package/dist/components/FormKeyValueTable/FormKeyValueTable.mjs +202 -0
  88. package/dist/components/FormKeyValueTable/FormKeyValueTable.mjs.map +1 -0
  89. package/dist/components/FormOnChange/FormOnChange.d.ts +12 -0
  90. package/dist/components/FormOnChange/FormOnChange.d.ts.map +1 -0
  91. package/dist/components/FormOnChange/FormOnChange.mjs +33 -0
  92. package/dist/components/FormOnChange/FormOnChange.mjs.map +1 -0
  93. package/dist/components/FormRadio/FormRadio.d.ts +19 -0
  94. package/dist/components/FormRadio/FormRadio.d.ts.map +1 -0
  95. package/dist/components/FormRadio/FormRadio.mjs +57 -0
  96. package/dist/components/FormRadio/FormRadio.mjs.map +1 -0
  97. package/dist/components/FormRadio/FormRadio.stories.d.ts +7 -0
  98. package/dist/components/FormRadio/FormRadio.stories.d.ts.map +1 -0
  99. package/dist/components/FormSelect/FormSelect.d.ts +45 -0
  100. package/dist/components/FormSelect/FormSelect.d.ts.map +1 -0
  101. package/dist/components/FormSelect/FormSelect.mjs +259 -0
  102. package/dist/components/FormSelect/FormSelect.mjs.map +1 -0
  103. package/dist/components/FormSelect/FormSelect.stories.d.ts +10 -0
  104. package/dist/components/FormSelect/FormSelect.stories.d.ts.map +1 -0
  105. package/dist/components/FormTextarea/FormTextarea.d.ts +40 -0
  106. package/dist/components/FormTextarea/FormTextarea.d.ts.map +1 -0
  107. package/dist/components/FormTextarea/FormTextarea.mjs +122 -0
  108. package/dist/components/FormTextarea/FormTextarea.mjs.map +1 -0
  109. package/dist/components/FormTextarea/FormTextarea.stories.d.ts +9 -0
  110. package/dist/components/FormTextarea/FormTextarea.stories.d.ts.map +1 -0
  111. package/dist/components/FormToggle/FormToggle.d.ts +24 -0
  112. package/dist/components/FormToggle/FormToggle.d.ts.map +1 -0
  113. package/dist/components/FormToggle/FormToggle.mjs +71 -0
  114. package/dist/components/FormToggle/FormToggle.mjs.map +1 -0
  115. package/dist/components/LoadButton/LoadButton.d.ts +16 -0
  116. package/dist/components/LoadButton/LoadButton.d.ts.map +1 -0
  117. package/dist/components/LoadButton/LoadButton.mjs +22 -0
  118. package/dist/components/LoadButton/LoadButton.mjs.map +1 -0
  119. package/dist/components/LoadButton/LoadButton.stories.d.ts +10 -0
  120. package/dist/components/LoadButton/LoadButton.stories.d.ts.map +1 -0
  121. package/dist/components/Loader/Loader.d.ts +3 -0
  122. package/dist/components/Loader/Loader.d.ts.map +1 -0
  123. package/dist/components/Loader/Loader.mjs +39 -0
  124. package/dist/components/Loader/Loader.mjs.map +1 -0
  125. package/dist/components/Loader/LoaderForSuspenseFallback.d.ts +3 -0
  126. package/dist/components/Loader/LoaderForSuspenseFallback.d.ts.map +1 -0
  127. package/dist/components/Loader/LoaderForSuspenseFallback.mjs +13 -0
  128. package/dist/components/Loader/LoaderForSuspenseFallback.mjs.map +1 -0
  129. package/dist/components/Modal/Modal.d.ts +29 -0
  130. package/dist/components/Modal/Modal.d.ts.map +1 -0
  131. package/dist/components/Modal/Modal.mjs +71 -0
  132. package/dist/components/Modal/Modal.mjs.map +1 -0
  133. package/dist/components/PopUpDialog/PopUpDialog.d.ts +31 -0
  134. package/dist/components/PopUpDialog/PopUpDialog.d.ts.map +1 -0
  135. package/dist/components/PopUpDialog/PopUpDialog.mjs +92 -0
  136. package/dist/components/PopUpDialog/PopUpDialog.mjs.map +1 -0
  137. package/dist/components/ReadOnlyChips/ReadOnlyChips.d.ts +22 -0
  138. package/dist/components/ReadOnlyChips/ReadOnlyChips.d.ts.map +1 -0
  139. package/dist/components/ReadOnlyChips/ReadOnlyChips.mjs +41 -0
  140. package/dist/components/ReadOnlyChips/ReadOnlyChips.mjs.map +1 -0
  141. package/dist/components/RoundedIcon/RoundedIcon.d.ts +23 -0
  142. package/dist/components/RoundedIcon/RoundedIcon.d.ts.map +1 -0
  143. package/dist/components/RoundedIcon/RoundedIcon.mjs +40 -0
  144. package/dist/components/RoundedIcon/RoundedIcon.mjs.map +1 -0
  145. package/dist/components/RoundedIcon/RoundedIcon.stories.d.ts +9 -0
  146. package/dist/components/RoundedIcon/RoundedIcon.stories.d.ts.map +1 -0
  147. package/dist/components/TableCell/TableCell.d.ts +28 -0
  148. package/dist/components/TableCell/TableCell.d.ts.map +1 -0
  149. package/dist/components/TableCell/TableCell.mjs +111 -0
  150. package/dist/components/TableCell/TableCell.mjs.map +1 -0
  151. package/dist/components/TabsSlider/TabsSlider.d.ts +20 -0
  152. package/dist/components/TabsSlider/TabsSlider.d.ts.map +1 -0
  153. package/dist/components/TabsSlider/TabsSlider.mjs +131 -0
  154. package/dist/components/TabsSlider/TabsSlider.mjs.map +1 -0
  155. package/dist/components/Tip/Tip.d.ts +14 -0
  156. package/dist/components/Tip/Tip.d.ts.map +1 -0
  157. package/dist/components/Tip/Tip.mjs +67 -0
  158. package/dist/components/Tip/Tip.mjs.map +1 -0
  159. package/dist/components/Tip/Tip.stories.d.ts +7 -0
  160. package/dist/components/Tip/Tip.stories.d.ts.map +1 -0
  161. package/dist/components/Tooltip/Tooltip.d.ts +24 -0
  162. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  163. package/dist/components/Tooltip/Tooltip.mjs +138 -0
  164. package/dist/components/Tooltip/Tooltip.mjs.map +1 -0
  165. package/dist/components/Tooltip/Tooltip.stories.d.ts +8 -0
  166. package/dist/components/Tooltip/Tooltip.stories.d.ts.map +1 -0
  167. package/dist/components/TooltipTemplate/ProducerTooltipTemplate.d.ts +12 -0
  168. package/dist/components/TooltipTemplate/ProducerTooltipTemplate.d.ts.map +1 -0
  169. package/dist/components/TooltipTemplate/TextTooltipTemplate.d.ts +12 -0
  170. package/dist/components/TooltipTemplate/TextTooltipTemplate.d.ts.map +1 -0
  171. package/dist/components/TooltipTemplate/TextTooltipTemplate.mjs +21 -0
  172. package/dist/components/TooltipTemplate/TextTooltipTemplate.mjs.map +1 -0
  173. package/dist/components/Wizard/Wizard.d.ts +33 -0
  174. package/dist/components/Wizard/Wizard.d.ts.map +1 -0
  175. package/dist/components/Wizard/Wizard.mjs +129 -0
  176. package/dist/components/Wizard/Wizard.mjs.map +1 -0
  177. package/dist/components/Wizard/WizardSteps/WizardSteps.d.ts +16 -0
  178. package/dist/components/Wizard/WizardSteps/WizardSteps.d.ts.map +1 -0
  179. package/dist/components/Wizard/WizardSteps/WizardSteps.mjs +41 -0
  180. package/dist/components/Wizard/WizardSteps/WizardSteps.mjs.map +1 -0
  181. package/dist/components/index.d.ts +31 -0
  182. package/dist/components/index.d.ts.map +1 -0
  183. package/dist/components/index.mjs +61 -0
  184. package/dist/components/index.mjs.map +1 -0
  185. package/dist/constants.d.ts +122 -0
  186. package/dist/constants.d.ts.map +1 -0
  187. package/dist/constants.mjs +52 -0
  188. package/dist/constants.mjs.map +1 -0
  189. package/dist/elements/ActionsMenuItem/ActionsMenuItem.d.ts +16 -0
  190. package/dist/elements/ActionsMenuItem/ActionsMenuItem.d.ts.map +1 -0
  191. package/dist/elements/ActionsMenuItem/ActionsMenuItem.mjs +51 -0
  192. package/dist/elements/ActionsMenuItem/ActionsMenuItem.mjs.map +1 -0
  193. package/dist/elements/FormActionButton/FormActionButton.d.ts +23 -0
  194. package/dist/elements/FormActionButton/FormActionButton.d.ts.map +1 -0
  195. package/dist/elements/FormActionButton/FormActionButton.mjs +43 -0
  196. package/dist/elements/FormActionButton/FormActionButton.mjs.map +1 -0
  197. package/dist/elements/FormRowActions/FormRowActions.d.ts +27 -0
  198. package/dist/elements/FormRowActions/FormRowActions.d.ts.map +1 -0
  199. package/dist/elements/FormRowActions/FormRowActions.mjs +87 -0
  200. package/dist/elements/FormRowActions/FormRowActions.mjs.map +1 -0
  201. package/dist/elements/OptionsMenu/OptionsMenu.d.ts +18 -0
  202. package/dist/elements/OptionsMenu/OptionsMenu.d.ts.map +1 -0
  203. package/dist/elements/OptionsMenu/OptionsMenu.mjs +47 -0
  204. package/dist/elements/OptionsMenu/OptionsMenu.mjs.map +1 -0
  205. package/dist/elements/SelectOption/SelectOption.d.ts +20 -0
  206. package/dist/elements/SelectOption/SelectOption.d.ts.map +1 -0
  207. package/dist/elements/SelectOption/SelectOption.mjs +84 -0
  208. package/dist/elements/SelectOption/SelectOption.mjs.map +1 -0
  209. package/dist/elements/TableHead/TableHead.d.ts +20 -0
  210. package/dist/elements/TableHead/TableHead.d.ts.map +1 -0
  211. package/dist/elements/TableHead/TableHead.mjs +58 -0
  212. package/dist/elements/TableHead/TableHead.mjs.map +1 -0
  213. package/dist/elements/TableLinkCell/TableLinkCell.d.ts +24 -0
  214. package/dist/elements/TableLinkCell/TableLinkCell.d.ts.map +1 -0
  215. package/dist/elements/TableLinkCell/TableLinkCell.mjs +87 -0
  216. package/dist/elements/TableLinkCell/TableLinkCell.mjs.map +1 -0
  217. package/dist/elements/TableTypeCell/TableTypeCell.d.ts +12 -0
  218. package/dist/elements/TableTypeCell/TableTypeCell.d.ts.map +1 -0
  219. package/dist/elements/TableTypeCell/TableTypeCell.mjs +37 -0
  220. package/dist/elements/TableTypeCell/TableTypeCell.mjs.map +1 -0
  221. package/dist/elements/ValidationTemplate/ValidationTemplate.d.ts +12 -0
  222. package/dist/elements/ValidationTemplate/ValidationTemplate.d.ts.map +1 -0
  223. package/dist/elements/ValidationTemplate/ValidationTemplate.mjs +22 -0
  224. package/dist/elements/ValidationTemplate/ValidationTemplate.mjs.map +1 -0
  225. package/dist/elements/index.d.ts +11 -0
  226. package/dist/elements/index.d.ts.map +1 -0
  227. package/dist/elements/index.mjs +21 -0
  228. package/dist/elements/index.mjs.map +1 -0
  229. package/dist/fonts/roboto-v27-latin-300.eot +0 -0
  230. package/dist/fonts/roboto-v27-latin-300.svg +1 -0
  231. package/dist/fonts/roboto-v27-latin-300.ttf +0 -0
  232. package/dist/fonts/roboto-v27-latin-300.woff +0 -0
  233. package/dist/fonts/roboto-v27-latin-300.woff2 +0 -0
  234. package/dist/fonts/roboto-v27-latin-500.eot +0 -0
  235. package/dist/fonts/roboto-v27-latin-500.svg +1 -0
  236. package/dist/fonts/roboto-v27-latin-500.ttf +0 -0
  237. package/dist/fonts/roboto-v27-latin-500.woff +0 -0
  238. package/dist/fonts/roboto-v27-latin-500.woff2 +0 -0
  239. package/dist/fonts/roboto-v27-latin-500italic.eot +0 -0
  240. package/dist/fonts/roboto-v27-latin-500italic.svg +326 -0
  241. package/dist/fonts/roboto-v27-latin-500italic.ttf +0 -0
  242. package/dist/fonts/roboto-v27-latin-500italic.woff +0 -0
  243. package/dist/fonts/roboto-v27-latin-500italic.woff2 +0 -0
  244. package/dist/fonts/roboto-v27-latin-700.eot +0 -0
  245. package/dist/fonts/roboto-v27-latin-700.svg +309 -0
  246. package/dist/fonts/roboto-v27-latin-700.ttf +0 -0
  247. package/dist/fonts/roboto-v27-latin-700.woff +0 -0
  248. package/dist/fonts/roboto-v27-latin-700.woff2 +0 -0
  249. package/dist/fonts/roboto-v27-latin-700italic.eot +0 -0
  250. package/dist/fonts/roboto-v27-latin-700italic.svg +1 -0
  251. package/dist/fonts/roboto-v27-latin-700italic.ttf +0 -0
  252. package/dist/fonts/roboto-v27-latin-700italic.woff +0 -0
  253. package/dist/fonts/roboto-v27-latin-700italic.woff2 +0 -0
  254. package/dist/fonts/roboto-v27-latin-italic.eot +0 -0
  255. package/dist/fonts/roboto-v27-latin-italic.svg +323 -0
  256. package/dist/fonts/roboto-v27-latin-italic.ttf +0 -0
  257. package/dist/fonts/roboto-v27-latin-italic.woff +0 -0
  258. package/dist/fonts/roboto-v27-latin-italic.woff2 +0 -0
  259. package/dist/fonts/roboto-v27-latin-regular.eot +0 -0
  260. package/dist/fonts/roboto-v27-latin-regular.svg +308 -0
  261. package/dist/fonts/roboto-v27-latin-regular.ttf +0 -0
  262. package/dist/fonts/roboto-v27-latin-regular.woff +0 -0
  263. package/dist/fonts/roboto-v27-latin-regular.woff2 +0 -0
  264. package/dist/fonts/source-code-pro-v14-latin-regular.eot +0 -0
  265. package/dist/fonts/source-code-pro-v14-latin-regular.svg +341 -0
  266. package/dist/fonts/source-code-pro-v14-latin-regular.ttf +0 -0
  267. package/dist/fonts/source-code-pro-v14-latin-regular.woff +0 -0
  268. package/dist/fonts/source-code-pro-v14-latin-regular.woff2 +0 -0
  269. package/dist/hooks/index.d.ts +9 -0
  270. package/dist/hooks/index.d.ts.map +1 -0
  271. package/dist/hooks/index.mjs +19 -0
  272. package/dist/hooks/index.mjs.map +1 -0
  273. package/dist/hooks/useChipCell.hook.d.ts +13 -0
  274. package/dist/hooks/useChipCell.hook.d.ts.map +1 -0
  275. package/dist/hooks/useChipCell.hook.mjs +71 -0
  276. package/dist/hooks/useChipCell.hook.mjs.map +1 -0
  277. package/dist/hooks/useDebounce.hook.d.ts +2 -0
  278. package/dist/hooks/useDebounce.hook.d.ts.map +1 -0
  279. package/dist/hooks/useDebounce.hook.mjs +19 -0
  280. package/dist/hooks/useDebounce.hook.mjs.map +1 -0
  281. package/dist/hooks/useDetails.hook.d.ts +72 -0
  282. package/dist/hooks/useDetails.hook.d.ts.map +1 -0
  283. package/dist/hooks/useDetails.hook.mjs +205 -0
  284. package/dist/hooks/useDetails.hook.mjs.map +1 -0
  285. package/dist/hooks/useDetailsHeader.hook.d.ts +80 -0
  286. package/dist/hooks/useDetailsHeader.hook.d.ts.map +1 -0
  287. package/dist/hooks/useDetailsHeader.hook.mjs +229 -0
  288. package/dist/hooks/useDetailsHeader.hook.mjs.map +1 -0
  289. package/dist/hooks/useDetectOutsideClick.hook.d.ts +2 -0
  290. package/dist/hooks/useDetectOutsideClick.hook.d.ts.map +1 -0
  291. package/dist/hooks/useDetectOutsideClick.hook.mjs +15 -0
  292. package/dist/hooks/useDetectOutsideClick.hook.mjs.map +1 -0
  293. package/dist/hooks/useFormTable.hook.d.ts +16 -0
  294. package/dist/hooks/useFormTable.hook.d.ts.map +1 -0
  295. package/dist/hooks/useFormTable.hook.mjs +128 -0
  296. package/dist/hooks/useFormTable.hook.mjs.map +1 -0
  297. package/dist/hooks/useHiddenChipsBlock.hook.d.ts +4 -0
  298. package/dist/hooks/useHiddenChipsBlock.hook.d.ts.map +1 -0
  299. package/dist/hooks/useHiddenChipsBlock.hook.mjs +51 -0
  300. package/dist/hooks/useHiddenChipsBlock.hook.mjs.map +1 -0
  301. package/dist/hooks/useTable.hook.d.ts +66 -0
  302. package/dist/hooks/useTable.hook.d.ts.map +1 -0
  303. package/dist/hooks/useTable.hook.mjs +175 -0
  304. package/dist/hooks/useTable.hook.mjs.map +1 -0
  305. package/dist/images/add-circle-question.svg +7 -0
  306. package/dist/images/add-circle.svg +5 -0
  307. package/dist/images/add.svg +4 -0
  308. package/dist/images/add.svg.mjs +6 -0
  309. package/dist/images/add.svg.mjs.map +1 -0
  310. package/dist/images/alert-yellow.svg +3 -0
  311. package/dist/images/alerts-icon.svg +3 -0
  312. package/dist/images/alerts-mini.svg +4 -0
  313. package/dist/images/alerts.svg +3 -0
  314. package/dist/images/api-getaway-icon.svg +5 -0
  315. package/dist/images/application-icon.svg +3 -0
  316. package/dist/images/archive-icon.svg +3 -0
  317. package/dist/images/arrow-down.svg +3 -0
  318. package/dist/images/arrow-up.svg +3 -0
  319. package/dist/images/arrow.svg +3 -0
  320. package/dist/images/arrow.svg.mjs +6 -0
  321. package/dist/images/arrow.svg.mjs.map +1 -0
  322. package/dist/images/back-arrow.svg +5 -0
  323. package/dist/images/back-arrow.svg.mjs +6 -0
  324. package/dist/images/back-arrow.svg.mjs.map +1 -0
  325. package/dist/images/batch-step-badge.svg +4 -0
  326. package/dist/images/best-iteration-icon.svg +4 -0
  327. package/dist/images/cancel.svg +3 -0
  328. package/dist/images/checkbox-checked.svg +3 -0
  329. package/dist/images/checkbox-unchecked.svg +3 -0
  330. package/dist/images/checkmark.svg +3 -0
  331. package/dist/images/checkmark.svg.mjs +6 -0
  332. package/dist/images/checkmark.svg.mjs.map +1 -0
  333. package/dist/images/checkmark2.svg +3 -0
  334. package/dist/images/checkmark2.svg.mjs +6 -0
  335. package/dist/images/checkmark2.svg.mjs.map +1 -0
  336. package/dist/images/choice-step-badge.svg +4 -0
  337. package/dist/images/circled-m.svg +3 -0
  338. package/dist/images/circled-r.svg +3 -0
  339. package/dist/images/clock.svg +4 -0
  340. package/dist/images/close.svg +3 -0
  341. package/dist/images/close.svg.mjs +6 -0
  342. package/dist/images/close.svg.mjs.map +1 -0
  343. package/dist/images/code.svg +3 -0
  344. package/dist/images/collapse.svg +3 -0
  345. package/dist/images/connections-icon.svg +4 -0
  346. package/dist/images/copy-to-clipboard-icon.svg +3 -0
  347. package/dist/images/copy-to-clipboard-icon.svg.mjs +6 -0
  348. package/dist/images/copy-to-clipboard-icon.svg.mjs.map +1 -0
  349. package/dist/images/custom-step-badge.svg +4 -0
  350. package/dist/images/custom.svg +3 -0
  351. package/dist/images/dashboard-icon.svg +3 -0
  352. package/dist/images/dashboard-mini.svg +4 -0
  353. package/dist/images/data-analytics-mini.svg +4 -0
  354. package/dist/images/data-analytics.svg +3 -0
  355. package/dist/images/data-preparation-mini.svg +14 -0
  356. package/dist/images/data-preperation.svg +13 -0
  357. package/dist/images/databricks-icon.svg +4 -0
  358. package/dist/images/datasets-icon.svg +3 -0
  359. package/dist/images/db-icon.svg +3 -0
  360. package/dist/images/delete.svg +3 -0
  361. package/dist/images/delete.svg.mjs +6 -0
  362. package/dist/images/delete.svg.mjs.map +1 -0
  363. package/dist/images/deploy-icon.svg +4 -0
  364. package/dist/images/dl-mini.svg +4 -0
  365. package/dist/images/dl.svg +3 -0
  366. package/dist/images/documents-icon.svg +3 -0
  367. package/dist/images/dots-icon.png +0 -0
  368. package/dist/images/double-arrow.svg +3 -0
  369. package/dist/images/double-back-arrow.svg +4 -0
  370. package/dist/images/download.svg +3 -0
  371. package/dist/images/drop-file.svg +5 -0
  372. package/dist/images/dropdown.svg +3 -0
  373. package/dist/images/dropdown.svg.mjs +6 -0
  374. package/dist/images/dropdown.svg.mjs.map +1 -0
  375. package/dist/images/edit.svg +3 -0
  376. package/dist/images/edit.svg.mjs +6 -0
  377. package/dist/images/edit.svg.mjs.map +1 -0
  378. package/dist/images/edit_old.svg +3 -0
  379. package/dist/images/elipsis.svg +3 -0
  380. package/dist/images/elipsis.svg.mjs +6 -0
  381. package/dist/images/elipsis.svg.mjs.map +1 -0
  382. package/dist/images/email-icon.svg +3 -0
  383. package/dist/images/entity-type-application.svg +3 -0
  384. package/dist/images/entity-type-endpoint.svg +3 -0
  385. package/dist/images/entity-type-job.svg +3 -0
  386. package/dist/images/error-step-badge.svg +4 -0
  387. package/dist/images/etl-mini.svg +11 -0
  388. package/dist/images/etl.svg +10 -0
  389. package/dist/images/events-step-badge.svg +8 -0
  390. package/dist/images/exclamation-mark.svg +3 -0
  391. package/dist/images/exclamation-mark.svg.mjs +6 -0
  392. package/dist/images/exclamation-mark.svg.mjs.map +1 -0
  393. package/dist/images/expand.svg +3 -0
  394. package/dist/images/eye-icon.svg +3 -0
  395. package/dist/images/feed-mini.svg +4 -0
  396. package/dist/images/file-icon.svg +3 -0
  397. package/dist/images/filter-step-badge.svg +4 -0
  398. package/dist/images/filter.svg +5 -0
  399. package/dist/images/function-icon.svg +3 -0
  400. package/dist/images/genai-step-badge.svg +4 -0
  401. package/dist/images/git-icon.svg +3 -0
  402. package/dist/images/github-icon.svg +1 -0
  403. package/dist/images/history.svg +3 -0
  404. package/dist/images/history.svg.mjs +6 -0
  405. package/dist/images/history.svg.mjs.map +1 -0
  406. package/dist/images/horovod.svg +3 -0
  407. package/dist/images/ic-batch-inference.svg +40 -0
  408. package/dist/images/ic-calendar.svg +3 -0
  409. package/dist/images/ic-create-featureset.svg +25 -0
  410. package/dist/images/ic-create-new-function.svg +35 -0
  411. package/dist/images/ic-create-realtime-function.svg +25 -0
  412. package/dist/images/ic-create-workflow.svg +30 -0
  413. package/dist/images/ic-define-alerts.svg +25 -0
  414. package/dist/images/ic-deploy-model-serving.svg +20 -0
  415. package/dist/images/ic-feature-vector.svg +25 -0
  416. package/dist/images/ic-key.svg +3 -0
  417. package/dist/images/ic-register-artifact.svg +13 -0
  418. package/dist/images/ic-register-dataset.svg +20 -0
  419. package/dist/images/ic-register-model.svg +20 -0
  420. package/dist/images/ic-run-batch.svg +20 -0
  421. package/dist/images/ic-run-workflow.svg +40 -0
  422. package/dist/images/ic-train-model.svg +26 -0
  423. package/dist/images/ic_arrow-right.svg +3 -0
  424. package/dist/images/ic_copy-to-clipboard.svg +3 -0
  425. package/dist/images/ic_remote.svg +3 -0
  426. package/dist/images/ic_target-with-arrow-unset.svg +4 -0
  427. package/dist/images/ic_target-with-dart.svg +3 -0
  428. package/dist/images/iguazio-logo.png +0 -0
  429. package/dist/images/info-fill.svg +3 -0
  430. package/dist/images/jupyter.svg +3 -0
  431. package/dist/images/kafka-icon.svg +3 -0
  432. package/dist/images/legend-queue-icon.svg +5 -0
  433. package/dist/images/legend.svg +12 -0
  434. package/dist/images/link-icon.svg +5 -0
  435. package/dist/images/listview.svg +3 -0
  436. package/dist/images/llm-prompt-icon.svg +3 -0
  437. package/dist/images/lock-icon.svg +3 -0
  438. package/dist/images/metrics-icon.svg +10 -0
  439. package/dist/images/ml-download.svg +3 -0
  440. package/dist/images/ml-enlarge.svg +6 -0
  441. package/dist/images/ml-enlarge.svg.mjs +6 -0
  442. package/dist/images/ml-enlarge.svg.mjs.map +1 -0
  443. package/dist/images/ml-mini.svg +16 -0
  444. package/dist/images/ml-minimize.svg +3 -0
  445. package/dist/images/ml-minimize.svg.mjs +6 -0
  446. package/dist/images/ml-minimize.svg.mjs.map +1 -0
  447. package/dist/images/ml.svg +10 -0
  448. package/dist/images/mlrun-api-gateways.svg +8 -0
  449. package/dist/images/mlrun-artifacts.svg +11 -0
  450. package/dist/images/mlrun-blue-logo.svg +1 -0
  451. package/dist/images/mlrun-datasets.svg +5 -0
  452. package/dist/images/mlrun-feature-store.svg +10 -0
  453. package/dist/images/mlrun-hub-step-badge.svg +4 -0
  454. package/dist/images/mlrun-jobs-and-workflows.svg +5 -0
  455. package/dist/images/mlrun-logo-circle-small.png +0 -0
  456. package/dist/images/mlrun-logo-small.png +0 -0
  457. package/dist/images/mlrun-ml-functions.svg +8 -0
  458. package/dist/images/mlrun-models.svg +5 -0
  459. package/dist/images/mlrun-project-home.svg +5 -0
  460. package/dist/images/mlrun-project-monitoring.svg +9 -0
  461. package/dist/images/mlrun-project-settings.svg +5 -0
  462. package/dist/images/mlrun-realtime-functions.svg +8 -0
  463. package/dist/images/model-monitoring.svg +3 -0
  464. package/dist/images/model-serving-mini.svg +13 -0
  465. package/dist/images/model-serving.svg +12 -0
  466. package/dist/images/model-training-mini.svg +11 -0
  467. package/dist/images/model-training.svg +3 -0
  468. package/dist/images/models-icon.svg +3 -0
  469. package/dist/images/monitor-icon.svg +3 -0
  470. package/dist/images/monitoring-icon.svg +4 -0
  471. package/dist/images/navbar/alerts-icon.svg +3 -0
  472. package/dist/images/navbar/documents-icon.svg +3 -0
  473. package/dist/images/navbar/llm-prompt-icon.svg +3 -0
  474. package/dist/images/navbar/mlrun-api-gateways.svg +8 -0
  475. package/dist/images/navbar/mlrun-artifacts.svg +11 -0
  476. package/dist/images/navbar/mlrun-datasets.svg +5 -0
  477. package/dist/images/navbar/mlrun-feature-store.svg +10 -0
  478. package/dist/images/navbar/mlrun-jobs-and-workflows.svg +5 -0
  479. package/dist/images/navbar/mlrun-ml-functions.svg +8 -0
  480. package/dist/images/navbar/mlrun-models.svg +5 -0
  481. package/dist/images/navbar/mlrun-project-home.svg +5 -0
  482. package/dist/images/navbar/mlrun-project-monitoring.svg +9 -0
  483. package/dist/images/navbar/mlrun-project-settings.svg +5 -0
  484. package/dist/images/navbar/mlrun-realtime-functions.svg +8 -0
  485. package/dist/images/navbar/model-monitoring.svg +3 -0
  486. package/dist/images/nlp-mini.svg +4 -0
  487. package/dist/images/nlp.svg +3 -0
  488. package/dist/images/no-data-metric-image.png +0 -0
  489. package/dist/images/nosql.svg +3 -0
  490. package/dist/images/notification-badge.svg +5 -0
  491. package/dist/images/nuclio.svg +3 -0
  492. package/dist/images/other.svg +3 -0
  493. package/dist/images/package.svg +4 -0
  494. package/dist/images/pagination-arrow.svg +3 -0
  495. package/dist/images/pagination-double-arrow.svg +4 -0
  496. package/dist/images/partition.svg +3 -0
  497. package/dist/images/pin-icon.svg +3 -0
  498. package/dist/images/pipelines.svg +3 -0
  499. package/dist/images/plus.svg +4 -0
  500. package/dist/images/plus.svg.mjs +6 -0
  501. package/dist/images/plus.svg.mjs.map +1 -0
  502. package/dist/images/pop_in.svg +4 -0
  503. package/dist/images/popout.svg +4 -0
  504. package/dist/images/popout.svg.mjs +6 -0
  505. package/dist/images/popout.svg.mjs.map +1 -0
  506. package/dist/images/pref-icon.svg +3 -0
  507. package/dist/images/present-metrics-icon.svg +3 -0
  508. package/dist/images/private-project-icon.svg +3 -0
  509. package/dist/images/projects.svg +3 -0
  510. package/dist/images/question-mark.svg +5 -0
  511. package/dist/images/question-mark.svg.mjs +6 -0
  512. package/dist/images/question-mark.svg.mjs.map +1 -0
  513. package/dist/images/range-arrow-small.svg +3 -0
  514. package/dist/images/range-arrow-small.svg.mjs +6 -0
  515. package/dist/images/range-arrow-small.svg.mjs.map +1 -0
  516. package/dist/images/realtime-icon.svg +4 -0
  517. package/dist/images/refresh.svg +3 -0
  518. package/dist/images/refresh.svg.mjs +6 -0
  519. package/dist/images/refresh.svg.mjs.map +1 -0
  520. package/dist/images/remote-step-badge.svg +4 -0
  521. package/dist/images/rerun.svg +3 -0
  522. package/dist/images/response-indicator.svg +4 -0
  523. package/dist/images/rocket-icon.svg +12 -0
  524. package/dist/images/router-step-badge.svg +4 -0
  525. package/dist/images/run.svg +3 -0
  526. package/dist/images/search.svg +3 -0
  527. package/dist/images/search.svg.mjs +6 -0
  528. package/dist/images/search.svg.mjs.map +1 -0
  529. package/dist/images/serving-icon.svg +4 -0
  530. package/dist/images/settings.svg +3 -0
  531. package/dist/images/severity-critical.svg +3 -0
  532. package/dist/images/severity-error.svg +10 -0
  533. package/dist/images/severity-high.svg +3 -0
  534. package/dist/images/severity-low.svg +3 -0
  535. package/dist/images/severity-normal.svg +3 -0
  536. package/dist/images/severity-ok.svg +10 -0
  537. package/dist/images/simulator-mini.svg +4 -0
  538. package/dist/images/simulators.svg +3 -0
  539. package/dist/images/sitemap-icon.svg +3 -0
  540. package/dist/images/slack-icon-colored.svg +10 -0
  541. package/dist/images/slack-icon.svg +1 -0
  542. package/dist/images/spark.svg +3 -0
  543. package/dist/images/stream.svg +5 -0
  544. package/dist/images/success_done.svg +3 -0
  545. package/dist/images/success_done.svg.mjs +6 -0
  546. package/dist/images/success_done.svg.mjs.map +1 -0
  547. package/dist/images/tag-icon.svg +4 -0
  548. package/dist/images/timer-outline-icon.svg +3 -0
  549. package/dist/images/tsdb-icon.svg +3 -0
  550. package/dist/images/unarchive-icon.svg +3 -0
  551. package/dist/images/unpin-icon.svg +3 -0
  552. package/dist/images/unsuccess_alert.svg +4 -0
  553. package/dist/images/unsuccess_alert.svg.mjs +6 -0
  554. package/dist/images/unsuccess_alert.svg.mjs.map +1 -0
  555. package/dist/images/upload-icon.svg +5 -0
  556. package/dist/images/user.svg +3 -0
  557. package/dist/images/users.svg +3 -0
  558. package/dist/images/v3io-icon.svg +3 -0
  559. package/dist/images/view-details.svg +3 -0
  560. package/dist/images/vs-code.svg +3 -0
  561. package/dist/images/warning.svg +10 -0
  562. package/dist/images/warning.svg.mjs +6 -0
  563. package/dist/images/warning.svg.mjs.map +1 -0
  564. package/dist/images/webhook-icon.svg +9 -0
  565. package/dist/images/workflow-icon.svg +6 -0
  566. package/dist/images/yaml.svg +3 -0
  567. package/dist/images/yaml_old.svg +4 -0
  568. package/dist/index.css +1 -0
  569. package/dist/index.d.ts +9 -0
  570. package/dist/index.d.ts.map +1 -0
  571. package/dist/index.mjs +17 -0
  572. package/dist/index.mjs.map +1 -0
  573. package/dist/reducers/commonDetailsReducer.d.ts +24 -0
  574. package/dist/reducers/commonDetailsReducer.d.ts.map +1 -0
  575. package/dist/reducers/commonDetailsReducer.mjs +77 -0
  576. package/dist/reducers/commonDetailsReducer.mjs.map +1 -0
  577. package/dist/reducers/index.d.ts +3 -0
  578. package/dist/reducers/index.d.ts.map +1 -0
  579. package/dist/reducers/index.mjs +7 -0
  580. package/dist/reducers/index.mjs.map +1 -0
  581. package/dist/reducers/notificationReducer.d.ts +7 -0
  582. package/dist/reducers/notificationReducer.d.ts.map +1 -0
  583. package/dist/reducers/notificationReducer.mjs +21 -0
  584. package/dist/reducers/notificationReducer.mjs.map +1 -0
  585. package/dist/robots.txt +3 -0
  586. package/dist/scss/borders.scss +26 -0
  587. package/dist/scss/colors.scss +75 -0
  588. package/dist/scss/common.scss +1056 -0
  589. package/dist/scss/details.scss +376 -0
  590. package/dist/scss/fonts.scss +123 -0
  591. package/dist/scss/mixins.scss +1231 -0
  592. package/dist/scss/shadows.scss +16 -0
  593. package/dist/scss/table.scss +283 -0
  594. package/dist/scss/variables.scss +28 -0
  595. package/dist/types.d.ts +32 -0
  596. package/dist/types.d.ts.map +1 -0
  597. package/dist/types.mjs +191 -0
  598. package/dist/types.mjs.map +1 -0
  599. package/dist/utils/chips.util.d.ts +30 -0
  600. package/dist/utils/chips.util.d.ts.map +1 -0
  601. package/dist/utils/chips.util.mjs +75 -0
  602. package/dist/utils/chips.util.mjs.map +1 -0
  603. package/dist/utils/common.util.d.ts +15 -0
  604. package/dist/utils/common.util.d.ts.map +1 -0
  605. package/dist/utils/common.util.mjs +109 -0
  606. package/dist/utils/common.util.mjs.map +1 -0
  607. package/dist/utils/datetime.util.d.ts +18 -0
  608. package/dist/utils/datetime.util.d.ts.map +1 -0
  609. package/dist/utils/datetime.util.mjs +63 -0
  610. package/dist/utils/datetime.util.mjs.map +1 -0
  611. package/dist/utils/filter.util.d.ts +5 -0
  612. package/dist/utils/filter.util.d.ts.map +1 -0
  613. package/dist/utils/filter.util.mjs +23 -0
  614. package/dist/utils/filter.util.mjs.map +1 -0
  615. package/dist/utils/form.util.d.ts +12 -0
  616. package/dist/utils/form.util.d.ts.map +1 -0
  617. package/dist/utils/form.util.mjs +30 -0
  618. package/dist/utils/form.util.mjs.map +1 -0
  619. package/dist/utils/generateChipsList.util.d.ts +10 -0
  620. package/dist/utils/generateChipsList.util.d.ts.map +1 -0
  621. package/dist/utils/generateChipsList.util.mjs +19 -0
  622. package/dist/utils/generateChipsList.util.mjs.map +1 -0
  623. package/dist/utils/getFirstScrollableParent.util.d.ts +2 -0
  624. package/dist/utils/getFirstScrollableParent.util.d.ts.map +1 -0
  625. package/dist/utils/getFirstScrollableParent.util.mjs +5 -0
  626. package/dist/utils/getFirstScrollableParent.util.mjs.map +1 -0
  627. package/dist/utils/index.d.ts +13 -0
  628. package/dist/utils/index.d.ts.map +1 -0
  629. package/dist/utils/index.mjs +27 -0
  630. package/dist/utils/index.mjs.map +1 -0
  631. package/dist/utils/math.util.d.ts +2 -0
  632. package/dist/utils/math.util.d.ts.map +1 -0
  633. package/dist/utils/math.util.mjs +18 -0
  634. package/dist/utils/math.util.mjs.map +1 -0
  635. package/dist/utils/notification.util.d.ts +2 -0
  636. package/dist/utils/notification.util.d.ts.map +1 -0
  637. package/dist/utils/notification.util.mjs +17 -0
  638. package/dist/utils/notification.util.mjs.map +1 -0
  639. package/dist/utils/proxyServerConfig.util.d.ts +27 -0
  640. package/dist/utils/proxyServerConfig.util.d.ts.map +1 -0
  641. package/dist/utils/proxyServerConfig.util.mjs +30 -0
  642. package/dist/utils/proxyServerConfig.util.mjs.map +1 -0
  643. package/dist/utils/string.util.d.ts +6 -0
  644. package/dist/utils/string.util.d.ts.map +1 -0
  645. package/dist/utils/string.util.mjs +13 -0
  646. package/dist/utils/string.util.mjs.map +1 -0
  647. package/dist/utils/validation.util.d.ts +6 -0
  648. package/dist/utils/validation.util.d.ts.map +1 -0
  649. package/dist/utils/validation.util.mjs +306 -0
  650. package/dist/utils/validation.util.mjs.map +1 -0
  651. package/package.json +1 -1
@@ -0,0 +1,284 @@
1
+ import { jsx as t, jsxs as u } from "react/jsx-runtime";
2
+ import { useState as d, useRef as R, useEffect as C, useCallback as K } from "react";
3
+ import { useField as Ee, Field as Oe } from "react-final-form";
4
+ import { isEmpty as q } from "lodash";
5
+ import i from "prop-types";
6
+ import _ from "classnames";
7
+ import Te from "../../elements/OptionsMenu/OptionsMenu.mjs";
8
+ import ke from "../../elements/ValidationTemplate/ValidationTemplate.mjs";
9
+ import Q from "../PopUpDialog/PopUpDialog.mjs";
10
+ import Re from "../TooltipTemplate/TextTooltipTemplate.mjs";
11
+ import Fe from "../Tooltip/Tooltip.mjs";
12
+ import { checkPatternsValidity as $e } from "../../utils/validation.util.mjs";
13
+ import "../../hooks/index.mjs";
14
+ import { COMBOBOX_SUGGESTION_LIST as De, COMBOBOX_SELECT_OPTIONS as Le, DENSITY as Ae } from "../../types.mjs";
15
+ import Pe from "../../images/arrow.svg.mjs";
16
+ import je from "../../images/search.svg.mjs";
17
+ import Me from "../../images/warning.svg.mjs";
18
+ import qe from "../../images/exclamation-mark.svg.mjs";
19
+ /* empty css */
20
+ import { useDetectOutsideClick as We } from "../../hooks/useDetectOutsideClick.hook.mjs";
21
+ const Be = ({
22
+ comboboxClassName: Z = "",
23
+ density: ee = "normal",
24
+ disabled: W = !1,
25
+ hideSearchInput: oe = !1,
26
+ inputDefaultValue: te = "",
27
+ inputPlaceholder: le = "",
28
+ invalidText: B = "Invalid",
29
+ label: G = "",
30
+ maxSuggestedMatches: ie = 1,
31
+ name: f,
32
+ onBlur: g = null,
33
+ onChange: w = null,
34
+ onFocus: N = null,
35
+ required: F = !1,
36
+ rules: H = [],
37
+ selectDefaultValue: re = {
38
+ label: "",
39
+ id: "",
40
+ className: ""
41
+ },
42
+ selectOptions: se,
43
+ selectPlaceholder: J = "",
44
+ suggestionList: S = [],
45
+ validator: U = null,
46
+ withoutBorder: ae = !1
47
+ }) => {
48
+ const { input: a, meta: r } = Ee(f), [$, D] = d(te), [n, ne] = d(re), [ce, y] = d({
49
+ left: "0px"
50
+ }), [p, m] = d(!1), [L, b] = d(!1), [x, X] = d(S), [v, I] = d(!1), [V, de] = d(!1), [E, fe] = d(H), [A, O] = d(!1), h = R(), P = R(), c = R(), T = R();
51
+ We(h, () => O(!1));
52
+ const me = _("form-field__label", W && "form-field__label-disabled"), ue = _(
53
+ "form-field-combobox__input",
54
+ n.id.length === 0 && "form-field-combobox__input_hidden"
55
+ );
56
+ C(() => {
57
+ fe(
58
+ (e) => e.map((o) => ({
59
+ ...o,
60
+ isValid: !r.error || !Array.isArray(r.error) ? !0 : !r.error.some((s) => s.name === o.name)
61
+ }))
62
+ );
63
+ }, [r.error]), C(() => {
64
+ v || JSON.stringify(x) !== JSON.stringify(S) && X(S);
65
+ }, [x, S, v]), C(() => {
66
+ de(
67
+ r.invalid && (r.validating || r.modified || r.submitFailed && r.touched)
68
+ );
69
+ }, [r.invalid, r.modified, r.submitFailed, r.touched, r.validating]);
70
+ const j = K(
71
+ (e) => {
72
+ h.current && !h.current.contains(e.target) && T.current && !T.current.contains(e.target) && (I(!1), m(!1), b(!1), a.onBlur(new Event("blur")), g && g(a.value));
73
+ },
74
+ [a, g]
75
+ ), Y = (e) => {
76
+ h.current && h.current.contains(e.target) || !e.target.closest(".pop-up-dialog") && !e.target.classList.contains("form-field-combobox") && (O(!1), m(!1), b(!1), c.current.blur());
77
+ };
78
+ C(() => (window.addEventListener("click", j), () => {
79
+ window.removeEventListener("click", j);
80
+ }), [j]), C(() => ((A || p || L) && window.addEventListener("scroll", Y, !0), () => {
81
+ window.removeEventListener("scroll", Y, !0);
82
+ }), [p, L, A]);
83
+ const pe = () => E.map(({ isValid: e = !1, label: o, name: s }) => /* @__PURE__ */ t(ke, { valid: e, validationMessage: o }, s)), be = (e) => {
84
+ const o = e.target;
85
+ y({
86
+ left: `${o.selectionStart < 30 ? o.selectionStart : 30}ch`
87
+ }), v && I(!1), D(o.value), a.onChange(`${n.id}${o.value}`), w && w(n.id, o.value), x.length > 0 && b(!0);
88
+ }, he = (e) => {
89
+ e.id !== n.id ? (ne(e), a.onChange(e.id), D(""), w && w(e.id), m(!1), c.current.disabled = !1, c.current.focus()) : (m(!1), c.current.disabled = !1, c.current.focus());
90
+ }, _e = (e) => {
91
+ const o = $.split("/"), s = o.length - 1;
92
+ let l = e.customDelimiter ? o[s].replace(new RegExp(`${e.customDelimiter}.*`), "") + e.id : e.id;
93
+ o.length <= ie - 1 && (l += "/"), o[s] = l, v && I(!1), o.join("/") !== $ && (D(o.join("/")), a.onChange(`${n.id}${o.join("/")}`), w && w(n.id, o.join("/"))), b(!1), c.current.focus(), y({
94
+ left: `${c.current.selectionStart < 30 ? c.current.selectionStart : 30}ch`
95
+ });
96
+ }, ge = (e) => {
97
+ N && N(), a.onFocus(new Event("focus")), p && m(!1), c.current.selectionStart ? b(!0) : setTimeout(() => {
98
+ y({
99
+ left: `${e.target.selectionStart < 30 ? e.target.selectionStart : 30}ch`
100
+ }), b(!0);
101
+ });
102
+ }, we = (e) => {
103
+ e.persist(), X(
104
+ () => S.filter((o) => o.id.startsWith(e.target.value))
105
+ );
106
+ }, z = K(() => {
107
+ p ? (m(!1), a.onBlur(new Event("blur")), g && g(a.value)) : (b(!1), O(!1), y({
108
+ left: "0px"
109
+ }), m(!0), a.onFocus(new Event("focus")), N && N(a.value));
110
+ }, [a, g, N, p]), xe = (e = "", o) => {
111
+ const s = e.startsWith(n.id) ? e.substring(n.id.length) : e ?? "";
112
+ let l = null;
113
+ if (!q(E)) {
114
+ const [M, Ie] = $e(H, s), Ve = M.filter((k) => !k.isValid);
115
+ Ie || (l = Ve.map((k) => ({ name: k.name, label: k.label })));
116
+ }
117
+ return q(l) && (s.startsWith(" ") ? l = { name: "empty", label: B } : F && s.trim().length === 0 && (l = { name: "required", label: "This field is required" })), !l && U && (l = U(e, o)), l;
118
+ }, ve = () => {
119
+ O((e) => !e), m(!1);
120
+ }, Ne = _(
121
+ Z,
122
+ "form-field-combobox",
123
+ "form-field",
124
+ V && "form-field-combobox_invalid"
125
+ ), Se = _(
126
+ p && "form-field-combobox__icon_open",
127
+ "form-field-combobox__icon"
128
+ ), Ce = _(n.className), ye = _(
129
+ "form-field__wrapper",
130
+ `form-field__wrapper-${ee}`,
131
+ W && "form-field__wrapper-disabled",
132
+ V && "form-field__wrapper-invalid",
133
+ ae && "without-border"
134
+ );
135
+ return /* @__PURE__ */ t(Oe, { name: f, validate: xe, children: ({ input: e, meta: o }) => {
136
+ var s;
137
+ return /* @__PURE__ */ u(
138
+ "div",
139
+ {
140
+ className: Ne,
141
+ ref: h,
142
+ "data-testid": f ? `${f}-form-combobox` : "form-combobox",
143
+ children: [
144
+ G && /* @__PURE__ */ t("div", { className: me, children: /* @__PURE__ */ u("label", { "data-testid": "label", htmlFor: e.name, children: [
145
+ G,
146
+ (F || E.find((l) => l.name === "required")) && /* @__PURE__ */ t("span", { className: "form-field__label-mandatory", children: " *" })
147
+ ] }) }),
148
+ /* @__PURE__ */ u("div", { className: ye, children: [
149
+ /* @__PURE__ */ t("div", { className: "form-field__icons", children: /* @__PURE__ */ t(Pe, { className: Se, onClick: z }) }),
150
+ /* @__PURE__ */ u("div", { className: "form-field-combobox__select form-field__control", ref: P, children: [
151
+ /* @__PURE__ */ u("div", { className: "form-field-combobox__select-header", onClick: z, children: [
152
+ /* @__PURE__ */ t("span", { className: Ce, children: n.id }),
153
+ n.id.length === 0 && J && /* @__PURE__ */ t("div", { className: "form-field-combobox__placeholder", children: /* @__PURE__ */ t("label", { children: J }) })
154
+ ] }),
155
+ p && /* @__PURE__ */ t(
156
+ Q,
157
+ {
158
+ headerIsHidden: !0,
159
+ customPosition: {
160
+ element: P,
161
+ position: "bottom-right"
162
+ },
163
+ className: "form-field-combobox__dropdown form-field-combobox__dropdown-select",
164
+ children: /* @__PURE__ */ t("ul", { className: "form-field-combobox__dropdown-list", ref: T, children: se.map((l) => {
165
+ if (!l.hidden) {
166
+ const M = _(
167
+ "form-field-combobox__dropdown-list-option",
168
+ l.className
169
+ );
170
+ return /* @__PURE__ */ t(
171
+ "li",
172
+ {
173
+ className: M,
174
+ onClick: () => he(l),
175
+ children: l.label
176
+ },
177
+ l.id
178
+ );
179
+ }
180
+ }) })
181
+ }
182
+ )
183
+ ] }),
184
+ /* @__PURE__ */ t(
185
+ "input",
186
+ {
187
+ autoComplete: "off",
188
+ className: ue,
189
+ "data-testid": f ? `${f}-form-combobox-input` : "form-combobox-input",
190
+ id: e.name,
191
+ onChange: be,
192
+ onFocus: ge,
193
+ placeholder: le,
194
+ ref: c,
195
+ required: F,
196
+ type: "text",
197
+ value: $
198
+ }
199
+ ),
200
+ L && (x.length > 0 || v) && /* @__PURE__ */ t(
201
+ Q,
202
+ {
203
+ headerIsHidden: !0,
204
+ customPosition: {
205
+ element: P,
206
+ position: "bottom-right"
207
+ },
208
+ className: "form-field-combobox__dropdown form-field-combobox__dropdown-suggestions",
209
+ style: {
210
+ ...ce
211
+ },
212
+ children: /* @__PURE__ */ u("div", { ref: T, children: [
213
+ !oe && /* @__PURE__ */ u("div", { className: "form-field-combobox__search-wrapper", children: [
214
+ /* @__PURE__ */ t(
215
+ "input",
216
+ {
217
+ autoComplete: "off",
218
+ "data-testid": f ? `${f}-form-combobox-search` : "form-combobox-search",
219
+ className: "form-field-combobox__search form-field__control",
220
+ onChange: we,
221
+ onFocus: () => I(!0),
222
+ placeholder: "Type to search",
223
+ type: "text"
224
+ }
225
+ ),
226
+ /* @__PURE__ */ t(je, {})
227
+ ] }),
228
+ /* @__PURE__ */ t("ul", { className: "form-field-combobox__dropdown-list", children: v && x.length === 0 ? /* @__PURE__ */ t("li", { className: "form-field-combobox__dropdown-list-option", children: "No data" }, "no data") : x.map((l) => /* @__PURE__ */ t(
229
+ "li",
230
+ {
231
+ className: "form-field-combobox__dropdown-list-option",
232
+ onClick: () => _e(l),
233
+ children: l.label
234
+ },
235
+ l.id
236
+ )) })
237
+ ] })
238
+ }
239
+ ),
240
+ /* @__PURE__ */ u("div", { className: "form-field__icons", children: [
241
+ V && !Array.isArray(o.error) && /* @__PURE__ */ t(
242
+ Fe,
243
+ {
244
+ className: "form-field__warning",
245
+ template: /* @__PURE__ */ t(Re, { text: ((s = o.error) == null ? void 0 : s.label) ?? B, warning: !0 }),
246
+ children: /* @__PURE__ */ t(qe, {})
247
+ }
248
+ ),
249
+ V && Array.isArray(o.error) && /* @__PURE__ */ t("button", { className: "form-field__warning", onClick: ve, children: /* @__PURE__ */ t(Me, {}) })
250
+ ] }),
251
+ !q(E) && /* @__PURE__ */ t(Te, { show: A, ref: { refInputContainer: h }, children: pe() })
252
+ ] })
253
+ ]
254
+ }
255
+ );
256
+ } });
257
+ };
258
+ Be.propTypes = {
259
+ comboboxClassName: i.string,
260
+ density: Ae,
261
+ disabled: i.bool,
262
+ hideSearchInput: i.bool,
263
+ inputDefaultValue: i.string,
264
+ inputPlaceholder: i.string,
265
+ invalidText: i.string,
266
+ label: i.string,
267
+ maxSuggestedMatches: i.number,
268
+ name: i.string.isRequired,
269
+ onBlur: i.func,
270
+ onChange: i.func,
271
+ onFocus: i.func,
272
+ required: i.bool,
273
+ rules: i.array,
274
+ selectDefaultValue: i.shape({}),
275
+ selectOptions: Le.isRequired,
276
+ selectPlaceholder: i.string,
277
+ suggestionList: De,
278
+ validator: i.func,
279
+ withoutBorder: i.bool
280
+ };
281
+ export {
282
+ Be as default
283
+ };
284
+ //# sourceMappingURL=FormCombobox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormCombobox.mjs","sources":["../../../src/lib/components/FormCombobox/FormCombobox.jsx"],"sourcesContent":["/*\nCopyright 2022 Iguazio Systems Ltd.\nLicensed under the Apache License, Version 2.0 (the \"License\") with\nan addition restriction as set forth herein. You may not use this\nfile except in compliance with the License. You may obtain a copy of\nthe License at http://www.apache.org/licenses/LICENSE-2.0.\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied. See the License for the specific language governing\npermissions and limitations under the License.\nIn addition, you may not use the software for any purposes that are\nillegal under applicable law, and the grant of the foregoing license\nunder the Apache 2.0 license is conditioned upon your compliance with\nsuch restriction.\n*/\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { Field, useField } from 'react-final-form'\nimport { isEmpty } from 'lodash'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\n\nimport OptionsMenu from '../../elements/OptionsMenu/OptionsMenu'\nimport ValidationTemplate from '../../elements/ValidationTemplate/ValidationTemplate'\nimport PopUpDialog from '../PopUpDialog/PopUpDialog'\nimport TextTooltipTemplate from '../TooltipTemplate/TextTooltipTemplate'\nimport Tooltip from '../Tooltip/Tooltip'\n\nimport { checkPatternsValidity } from '../../utils/validation.util'\nimport { useDetectOutsideClick } from '../../hooks'\nimport { COMBOBOX_SELECT_OPTIONS, COMBOBOX_SUGGESTION_LIST, DENSITY } from '../../types'\n\nimport Arrow from '../../images/arrow.svg?react'\nimport SearchIcon from '../../images/search.svg?react'\nimport WarningIcon from '../../images/warning.svg?react'\nimport ExclamationMarkIcon from '../../images/exclamation-mark.svg?react'\n\nimport './formCombobox.scss'\n\nconst FormCombobox = ({\n comboboxClassName = '',\n density = 'normal',\n disabled = false,\n hideSearchInput = false,\n inputDefaultValue = '',\n inputPlaceholder = '',\n invalidText = 'Invalid',\n label = '',\n maxSuggestedMatches = 1,\n name,\n onBlur = null,\n onChange = null,\n onFocus = null,\n required = false,\n rules = [],\n selectDefaultValue = {\n label: '',\n id: '',\n className: ''\n },\n selectOptions,\n selectPlaceholder = '',\n suggestionList = [],\n validator = null,\n withoutBorder = false\n}) => {\n const { input, meta } = useField(name)\n const [inputValue, setInputValue] = useState(inputDefaultValue)\n const [selectValue, setSelectValue] = useState(selectDefaultValue)\n const [dropdownStyle, setDropdownStyle] = useState({\n left: '0px'\n })\n const [showSelectDropdown, setShowSelectDropdown] = useState(false)\n const [showSuggestionList, setShowSuggestionList] = useState(false)\n const [dropdownList, setDropdownList] = useState(suggestionList)\n const [searchIsFocused, setSearchIsFocused] = useState(false)\n const [isInvalid, setIsInvalid] = useState(false)\n const [validationRules, setValidationRules] = useState(rules)\n const [showValidationRules, setShowValidationRules] = useState(false)\n const comboboxRef = useRef()\n const selectRef = useRef()\n const inputRef = useRef()\n const suggestionListRef = useRef()\n useDetectOutsideClick(comboboxRef, () => setShowValidationRules(false))\n\n const labelClassNames = classnames('form-field__label', disabled && 'form-field__label-disabled')\n const inputClassNames = classnames(\n 'form-field-combobox__input',\n selectValue.id.length === 0 && 'form-field-combobox__input_hidden'\n )\n\n useEffect(() => {\n setValidationRules(prevState =>\n prevState.map(rule => ({\n ...rule,\n isValid:\n !meta.error || !Array.isArray(meta.error)\n ? true\n : !meta.error.some(err => err.name === rule.name)\n }))\n )\n }, [meta.error])\n\n useEffect(() => {\n if (!searchIsFocused) {\n if (JSON.stringify(dropdownList) !== JSON.stringify(suggestionList)) {\n setDropdownList(suggestionList)\n }\n }\n }, [dropdownList, suggestionList, searchIsFocused])\n\n useEffect(() => {\n setIsInvalid(\n meta.invalid && (meta.validating || meta.modified || (meta.submitFailed && meta.touched))\n )\n }, [meta.invalid, meta.modified, meta.submitFailed, meta.touched, meta.validating])\n\n const handleOutsideClick = useCallback(\n event => {\n if (\n comboboxRef.current &&\n !comboboxRef.current.contains(event.target) &&\n suggestionListRef.current &&\n !suggestionListRef.current.contains(event.target)\n ) {\n setSearchIsFocused(false)\n setShowSelectDropdown(false)\n setShowSuggestionList(false)\n input.onBlur(new Event('blur'))\n onBlur && onBlur(input.value)\n }\n },\n [input, onBlur]\n )\n\n const handleScroll = event => {\n if (comboboxRef.current && comboboxRef.current.contains(event.target)) return\n\n if (\n !event.target.closest('.pop-up-dialog') &&\n !event.target.classList.contains('form-field-combobox')\n ) {\n setShowValidationRules(false)\n setShowSelectDropdown(false)\n setShowSuggestionList(false)\n inputRef.current.blur()\n }\n }\n\n useEffect(() => {\n window.addEventListener('click', handleOutsideClick)\n\n return () => {\n window.removeEventListener('click', handleOutsideClick)\n }\n }, [handleOutsideClick])\n\n useEffect(() => {\n if (showValidationRules || showSelectDropdown || showSuggestionList) {\n window.addEventListener('scroll', handleScroll, true)\n }\n return () => {\n window.removeEventListener('scroll', handleScroll, true)\n }\n }, [showSelectDropdown, showSuggestionList, showValidationRules])\n\n const getValidationRules = () => {\n return validationRules.map(({ isValid = false, label, name }) => {\n return <ValidationTemplate valid={isValid} validationMessage={label} key={name} />\n })\n }\n\n const handleInputChange = event => {\n const target = event.target\n\n setDropdownStyle({\n left: `${target.selectionStart < 30 ? target.selectionStart : 30}ch`\n })\n\n if (searchIsFocused) {\n setSearchIsFocused(false)\n }\n\n setInputValue(target.value)\n input.onChange(`${selectValue.id}${target.value}`)\n onChange && onChange(selectValue.id, target.value)\n\n if (dropdownList.length > 0) {\n setShowSuggestionList(true)\n }\n }\n\n const handleSelectOptionClick = selectedOption => {\n if (selectedOption.id !== selectValue.id) {\n setSelectValue(selectedOption)\n input.onChange(selectedOption.id)\n setInputValue('')\n onChange && onChange(selectedOption.id)\n setShowSelectDropdown(false)\n inputRef.current.disabled = false\n inputRef.current.focus()\n } else {\n setShowSelectDropdown(false)\n inputRef.current.disabled = false\n inputRef.current.focus()\n }\n }\n\n const handleSuggestionListOptionClick = option => {\n const inputValueItems = inputValue.split('/')\n const valueIndex = inputValueItems.length - 1\n let formattedValue = option.customDelimiter\n ? inputValueItems[valueIndex].replace(new RegExp(`${option.customDelimiter}.*`), '') +\n option.id\n : option.id\n\n if (inputValueItems.length <= maxSuggestedMatches - 1) formattedValue += '/'\n\n inputValueItems[valueIndex] = formattedValue\n\n if (searchIsFocused) {\n setSearchIsFocused(false)\n }\n\n if (inputValueItems.join('/') !== inputValue) {\n setInputValue(inputValueItems.join('/'))\n input.onChange(`${selectValue.id}${inputValueItems.join('/')}`)\n onChange && onChange(selectValue.id, inputValueItems.join('/'))\n }\n\n setShowSuggestionList(false)\n inputRef.current.focus()\n setDropdownStyle({\n left: `${inputRef.current.selectionStart < 30 ? inputRef.current.selectionStart : 30}ch`\n })\n }\n\n const inputOnFocus = event => {\n onFocus && onFocus()\n input.onFocus(new Event('focus'))\n\n if (showSelectDropdown) {\n setShowSelectDropdown(false)\n }\n\n // browser need some time to calculate cursor position after onFocus fired\n if (!inputRef.current.selectionStart) {\n setTimeout(() => {\n setDropdownStyle({\n left: `${event.target.selectionStart < 30 ? event.target.selectionStart : 30}ch`\n })\n setShowSuggestionList(true)\n })\n } else {\n setShowSuggestionList(true)\n }\n }\n\n const suggestionListSearchChange = event => {\n event.persist()\n setDropdownList(() =>\n suggestionList.filter(option => {\n return option.id.startsWith(event.target.value)\n })\n )\n }\n\n const toggleSelect = useCallback(() => {\n if (showSelectDropdown) {\n setShowSelectDropdown(false)\n input.onBlur(new Event('blur'))\n onBlur && onBlur(input.value)\n } else {\n setShowSuggestionList(false)\n setShowValidationRules(false)\n setDropdownStyle({\n left: '0px'\n })\n setShowSelectDropdown(true)\n input.onFocus(new Event('focus'))\n onFocus && onFocus(input.value)\n }\n }, [input, onBlur, onFocus, showSelectDropdown])\n\n const validateField = (value = '', allValues) => {\n const valueToValidate = value.startsWith(selectValue.id)\n ? value.substring(selectValue.id.length)\n : (value ?? '')\n let validationError = null\n\n if (!isEmpty(validationRules)) {\n const [newRules, isValidField] = checkPatternsValidity(rules, valueToValidate)\n const invalidRules = newRules.filter(rule => !rule.isValid)\n\n if (!isValidField) {\n validationError = invalidRules.map(rule => ({ name: rule.name, label: rule.label }))\n }\n }\n\n if (isEmpty(validationError)) {\n if (valueToValidate.startsWith(' ')) {\n validationError = { name: 'empty', label: invalidText }\n } else if (required && valueToValidate.trim().length === 0) {\n validationError = { name: 'required', label: 'This field is required' }\n }\n }\n\n if (!validationError && validator) {\n validationError = validator(value, allValues)\n }\n\n return validationError\n }\n\n const warningIconClick = () => {\n setShowValidationRules(state => !state)\n setShowSelectDropdown(false)\n }\n\n const comboboxClassNames = classnames(\n comboboxClassName,\n 'form-field-combobox',\n 'form-field',\n isInvalid && 'form-field-combobox_invalid'\n )\n const iconClassNames = classnames(\n showSelectDropdown && 'form-field-combobox__icon_open',\n 'form-field-combobox__icon'\n )\n const selectValueClassNames = classnames(selectValue.className)\n\n const wrapperClassNames = classnames(\n 'form-field__wrapper',\n `form-field__wrapper-${density}`,\n disabled && 'form-field__wrapper-disabled',\n isInvalid && 'form-field__wrapper-invalid',\n withoutBorder && 'without-border'\n )\n\n return (\n <Field name={name} validate={validateField}>\n {({ input, meta }) => (\n <div\n className={comboboxClassNames}\n ref={comboboxRef}\n data-testid={name ? `${name}-form-combobox` : 'form-combobox'}\n >\n {label && (\n <div className={labelClassNames}>\n <label data-testid=\"label\" htmlFor={input.name}>\n {label}\n {(required || validationRules.find(rule => rule.name === 'required')) && (\n <span className=\"form-field__label-mandatory\"> *</span>\n )}\n </label>\n </div>\n )}\n <div className={wrapperClassNames}>\n <div className=\"form-field__icons\">\n <Arrow className={iconClassNames} onClick={toggleSelect} />\n </div>\n <div className=\"form-field-combobox__select form-field__control\" ref={selectRef}>\n <div className=\"form-field-combobox__select-header\" onClick={toggleSelect}>\n <span className={selectValueClassNames}>{selectValue.id}</span>\n {selectValue.id.length === 0 && selectPlaceholder && (\n <div className=\"form-field-combobox__placeholder\">\n <label>{selectPlaceholder}</label>\n </div>\n )}\n </div>\n {showSelectDropdown && (\n <PopUpDialog\n headerIsHidden\n customPosition={{\n element: selectRef,\n position: 'bottom-right'\n }}\n className=\"form-field-combobox__dropdown form-field-combobox__dropdown-select\"\n >\n <ul className=\"form-field-combobox__dropdown-list\" ref={suggestionListRef}>\n {selectOptions.map(option => {\n if (!option.hidden) {\n const selectOptionClassNames = classnames(\n 'form-field-combobox__dropdown-list-option',\n option.className\n )\n\n return (\n <li\n className={selectOptionClassNames}\n key={option.id}\n onClick={() => handleSelectOptionClick(option)}\n >\n {option.label}\n </li>\n )\n }\n })}\n </ul>\n </PopUpDialog>\n )}\n </div>\n <input\n autoComplete=\"off\"\n className={inputClassNames}\n data-testid={name ? `${name}-form-combobox-input` : 'form-combobox-input'}\n id={input.name}\n onChange={handleInputChange}\n onFocus={inputOnFocus}\n placeholder={inputPlaceholder}\n ref={inputRef}\n required={required}\n type=\"text\"\n value={inputValue}\n />\n {showSuggestionList && (dropdownList.length > 0 || searchIsFocused) && (\n <PopUpDialog\n headerIsHidden\n customPosition={{\n element: selectRef,\n position: 'bottom-right'\n }}\n className=\"form-field-combobox__dropdown form-field-combobox__dropdown-suggestions\"\n style={{\n ...dropdownStyle\n }}\n >\n <div ref={suggestionListRef}>\n {!hideSearchInput && (\n <div className=\"form-field-combobox__search-wrapper\">\n <input\n autoComplete=\"off\"\n data-testid={name ? `${name}-form-combobox-search` : 'form-combobox-search'}\n className=\"form-field-combobox__search form-field__control\"\n onChange={suggestionListSearchChange}\n onFocus={() => setSearchIsFocused(true)}\n placeholder=\"Type to search\"\n type=\"text\"\n />\n <SearchIcon />\n </div>\n )}\n <ul className=\"form-field-combobox__dropdown-list\">\n {searchIsFocused && dropdownList.length === 0 ? (\n <li className=\"form-field-combobox__dropdown-list-option\" key=\"no data\">\n No data\n </li>\n ) : (\n dropdownList.map(value => (\n <li\n className=\"form-field-combobox__dropdown-list-option\"\n key={value.id}\n onClick={() => handleSuggestionListOptionClick(value)}\n >\n {value.label}\n </li>\n ))\n )}\n </ul>\n </div>\n </PopUpDialog>\n )}\n <div className=\"form-field__icons\">\n {isInvalid && !Array.isArray(meta.error) && (\n <Tooltip\n className=\"form-field__warning\"\n template={<TextTooltipTemplate text={meta.error?.label ?? invalidText} warning />}\n >\n <ExclamationMarkIcon />\n </Tooltip>\n )}\n {isInvalid && Array.isArray(meta.error) && (\n <button className=\"form-field__warning\" onClick={warningIconClick}>\n <WarningIcon />\n </button>\n )}\n </div>\n {!isEmpty(validationRules) && (\n <OptionsMenu show={showValidationRules} ref={{ refInputContainer: comboboxRef }}>\n {getValidationRules()}\n </OptionsMenu>\n )}\n </div>\n </div>\n )}\n </Field>\n )\n}\n\nFormCombobox.propTypes = {\n comboboxClassName: PropTypes.string,\n density: DENSITY,\n disabled: PropTypes.bool,\n hideSearchInput: PropTypes.bool,\n inputDefaultValue: PropTypes.string,\n inputPlaceholder: PropTypes.string,\n invalidText: PropTypes.string,\n label: PropTypes.string,\n maxSuggestedMatches: PropTypes.number,\n name: PropTypes.string.isRequired,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n required: PropTypes.bool,\n rules: PropTypes.array,\n selectDefaultValue: PropTypes.shape({}),\n selectOptions: COMBOBOX_SELECT_OPTIONS.isRequired,\n selectPlaceholder: PropTypes.string,\n suggestionList: COMBOBOX_SUGGESTION_LIST,\n validator: PropTypes.func,\n withoutBorder: PropTypes.bool\n}\n\nexport default FormCombobox\n"],"names":["FormCombobox","comboboxClassName","density","disabled","hideSearchInput","inputDefaultValue","inputPlaceholder","invalidText","label","maxSuggestedMatches","name","onBlur","onChange","onFocus","required","rules","selectDefaultValue","selectOptions","selectPlaceholder","suggestionList","validator","withoutBorder","input","meta","useField","inputValue","setInputValue","useState","selectValue","setSelectValue","dropdownStyle","setDropdownStyle","showSelectDropdown","setShowSelectDropdown","showSuggestionList","setShowSuggestionList","dropdownList","setDropdownList","searchIsFocused","setSearchIsFocused","isInvalid","setIsInvalid","validationRules","setValidationRules","showValidationRules","setShowValidationRules","comboboxRef","useRef","selectRef","inputRef","suggestionListRef","useDetectOutsideClick","labelClassNames","classnames","inputClassNames","useEffect","prevState","rule","err","handleOutsideClick","useCallback","event","handleScroll","getValidationRules","isValid","ValidationTemplate","handleInputChange","target","handleSelectOptionClick","selectedOption","handleSuggestionListOptionClick","option","inputValueItems","valueIndex","formattedValue","inputOnFocus","suggestionListSearchChange","toggleSelect","validateField","value","allValues","valueToValidate","validationError","isEmpty","newRules","isValidField","checkPatternsValidity","invalidRules","warningIconClick","state","comboboxClassNames","iconClassNames","selectValueClassNames","wrapperClassNames","jsx","Field","jsxs","Arrow","PopUpDialog","selectOptionClassNames","SearchIcon","Tooltip","TextTooltipTemplate","ExclamationMarkIcon","WarningIcon","OptionsMenu","PropTypes","DENSITY","COMBOBOX_SELECT_OPTIONS","COMBOBOX_SUGGESTION_LIST"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ declare namespace _default {
2
+ export let title: string;
3
+ export { FormCombobox as component };
4
+ }
5
+ export default _default;
6
+ export const Dense: any;
7
+ export const Normal: any;
8
+ export const Medium: any;
9
+ export const Chunky: any;
10
+ export const withDefaultValue: any;
11
+ export const withSuggestions: any;
12
+ //# sourceMappingURL=FormCombobox.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormCombobox.stories.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormCombobox/FormCombobox.stories.js"],"names":[],"mappings":";;;;;AA4CA,wBAAsC;AAMtC,yBAAuC;AAMvC,yBAAuC;AAMvC,yBAAuC;AAMvC,mCAAiD;AAWjD,kCAAgD"}
@@ -0,0 +1,3 @@
1
+ declare const _default: any;
2
+ export default _default;
3
+ //# sourceMappingURL=FormInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormInput.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormInput/FormInput.jsx"],"names":[],"mappings":""}
@@ -0,0 +1,272 @@
1
+ import { jsx as t, jsxs as w } from "react/jsx-runtime";
2
+ import ie, { useState as g, useRef as x, useEffect as b, forwardRef as Fe } from "react";
3
+ import r from "prop-types";
4
+ import q from "classnames";
5
+ import { isNil as Z, isEmpty as A } from "lodash";
6
+ import { useField as Ce, Field as Ee } from "react-final-form";
7
+ import xe from "./InputNumberButtons/InputNumberButtons.mjs";
8
+ import Ae from "../../elements/OptionsMenu/OptionsMenu.mjs";
9
+ import ke from "../../elements/ValidationTemplate/ValidationTemplate.mjs";
10
+ import "../index.mjs";
11
+ import { INPUT_VALIDATION_RULES as Se, INPUT_LINK as De, DENSITY as $e } from "../../types.mjs";
12
+ import { checkPatternsValidity as Oe, checkPatternsValidityAsync as Be } from "../../utils/validation.util.mjs";
13
+ import "../../hooks/index.mjs";
14
+ import { validation as Ke } from "../../constants.mjs";
15
+ import Me from "../../images/exclamation-mark.svg.mjs";
16
+ import qe from "../../images/popout.svg.mjs";
17
+ import Le from "../../images/warning.svg.mjs";
18
+ /* empty css */
19
+ import { useDetectOutsideClick as Ue } from "../../hooks/useDetectOutsideClick.hook.mjs";
20
+ import { useDebounce as We } from "../../hooks/useDebounce.hook.mjs";
21
+ import ee from "../Tooltip/Tooltip.mjs";
22
+ import re from "../TooltipTemplate/TextTooltipTemplate.mjs";
23
+ import je from "../Tip/Tip.mjs";
24
+ const p = {
25
+ iconClick: () => {
26
+ },
27
+ link: { show: "", value: "" },
28
+ onBlur: () => {
29
+ },
30
+ onKeyDown: () => {
31
+ },
32
+ onValidationError: () => {
33
+ },
34
+ validator: () => {
35
+ },
36
+ rules: []
37
+ };
38
+ let R = ({
39
+ async: L = !1,
40
+ className: te = "",
41
+ customRequiredLabel: ne = "",
42
+ density: le = "normal",
43
+ disabled: h = !1,
44
+ focused: U = !1,
45
+ iconClass: ae = "",
46
+ iconClick: oe = p.iconClick,
47
+ inputIcon: W = null,
48
+ invalidText: k = "This field is invalid",
49
+ label: j = "",
50
+ link: N = p.link,
51
+ name: c,
52
+ onBlur: S = p.onBlur,
53
+ onFocus: P,
54
+ onKeyDown: H = p.onKeyDown,
55
+ pattern: D = null,
56
+ required: T = !1,
57
+ onValidationError: Q = p.onValidationError,
58
+ suggestionList: V = [],
59
+ step: se = "1",
60
+ tip: Y = "",
61
+ type: I = "text",
62
+ validationRules: f = p.rules,
63
+ validator: z = p.validator,
64
+ withoutBorder: me = !1,
65
+ ...m
66
+ }, F) => {
67
+ const { input: s, meta: a } = Ce(c), [_, de] = g(!1), [ce, $] = g(!1), [C, fe] = g(""), [ue] = g(RegExp(D)), [O, pe] = g(f), [y, E] = g(!1), ge = x();
68
+ F ?? (F = ge);
69
+ const v = x(), o = x(), B = x(!1);
70
+ Ue(F, () => E(!1));
71
+ const be = We(), he = q("form-field-input", te), _e = q(
72
+ "form-field__wrapper",
73
+ `form-field__wrapper-${le}`,
74
+ h && "form-field__wrapper-disabled",
75
+ _ && "form-field__wrapper-invalid",
76
+ me && "without-border"
77
+ ), ye = q("form-field__label", h && "form-field__label-disabled");
78
+ b(() => {
79
+ fe(String(s.value));
80
+ }, [s.value]), b(() => {
81
+ const e = o.current && a.invalid && (a.validating || a.modified || a.submitFailed && a.touched);
82
+ de(e), Q(e);
83
+ }, [
84
+ a.invalid,
85
+ a.modified,
86
+ a.submitFailed,
87
+ a.touched,
88
+ a.validating,
89
+ Q
90
+ ]), b(() => {
91
+ o.current || a.valid && y && E(!1);
92
+ }, [a.valid, y]), b(() => (y && window.addEventListener("scroll", J, !0), () => {
93
+ window.removeEventListener("scroll", J, !0);
94
+ }), [y]), b(() => {
95
+ U && v.current.focus();
96
+ }, [U]), b(() => {
97
+ pe(() => (B.current = !1, f.map((e) => (e.name === Ke.REQUIRED.NAME && (B.current = !0), {
98
+ ...e,
99
+ isValid: !o.current || !Array.isArray(o.current) ? !0 : !o.current.some((l) => l.name === e.name)
100
+ }))));
101
+ }, [f]);
102
+ const ve = () => O.map(({ isValid: e = !1, label: l, name: i }) => /* @__PURE__ */ t(ke, { valid: e, validationMessage: l }, i)), G = (e) => !e && !T || h, we = (e) => {
103
+ var l;
104
+ s.onBlur && s.onBlur(e), (!e.relatedTarget || !((l = e.relatedTarget) != null && l.closest(".form-field__suggestion-list"))) && ($(!1), S && S(e));
105
+ }, Re = (e) => {
106
+ s.onFocus && s.onFocus(e), P && P(e), $(!0);
107
+ }, Ne = (e) => {
108
+ s.onKeyDown && s.onKeyDown(e), H && H(e);
109
+ }, J = (e) => {
110
+ v.current && v.current.contains(e.target) || !e.target.closest(".options-menu") && !e.target.classList.contains("form-field-input") && E(!1);
111
+ }, Te = (e) => {
112
+ s.onChange && s.onChange(e), $(!1), S();
113
+ }, Ve = () => {
114
+ v.current.focus(), E((e) => !e);
115
+ }, X = (e, l) => {
116
+ let i = Z(e) ? "" : String(e);
117
+ if (G(i)) return;
118
+ let n = null;
119
+ if (T && i.trim().length === 0 && !B.current)
120
+ n = {
121
+ name: "required",
122
+ label: ne || "This field is required"
123
+ };
124
+ else if (!A(f) && !L) {
125
+ const [u, K] = Oe(f, i), M = u.filter((d) => !d.isValid);
126
+ K || (n = M.map((d) => ({ name: d.name, label: d.label })));
127
+ }
128
+ return A(n) && (I === "number" && (m.max && +i > +m.max && (n = {
129
+ name: "maxValue",
130
+ label: `The maximum value must be ${m.max}`
131
+ }), m.min && +i < +m.min && (n = {
132
+ name: "minValue",
133
+ label: `The minimum value must be ${m.min}`
134
+ })), D && !ue.test(i) ? n = { name: "pattern", label: k } : i.startsWith(" ") && (n = { name: "empty", label: k })), !n && z && (n = z(e, l)), o.current = n, n;
135
+ }, Ie = be(async (e, l) => {
136
+ let i = Z(e) ? "" : String(e);
137
+ if (G(i)) return;
138
+ let n = X(i, l);
139
+ if (!A(f)) {
140
+ const [u, K] = await Be(f, i), M = u.filter((d) => !d.isValid);
141
+ K || (n = M.map((d) => ({ name: d.name, label: d.label })));
142
+ }
143
+ return o.current = n, n;
144
+ }, 400);
145
+ return /* @__PURE__ */ t(Ee, { validate: L ? Ie : X, name: c, parse: (e) => I === "number" && e && parseFloat(e) || e, children: ({ input: e }) => {
146
+ var l;
147
+ return /* @__PURE__ */ w(
148
+ "div",
149
+ {
150
+ ref: F,
151
+ className: he,
152
+ "data-testid": c ? `${c}-form-field-input` : "form-field-input",
153
+ children: [
154
+ j && /* @__PURE__ */ w("div", { className: ye, children: [
155
+ /* @__PURE__ */ w(
156
+ "label",
157
+ {
158
+ "data-testid": c ? `${c}-form-label` : "form-label",
159
+ htmlFor: e.name,
160
+ children: [
161
+ j,
162
+ (T || O.find((i) => i.name === "required")) && /* @__PURE__ */ t("span", { className: "form-field__label-mandatory", children: " *" })
163
+ ]
164
+ }
165
+ ),
166
+ N && N.show && C.trim() && /* @__PURE__ */ t("div", { className: "form-field__label-icon", children: /* @__PURE__ */ t(ee, { template: /* @__PURE__ */ t(re, { text: N.url || C }), children: /* @__PURE__ */ t(
167
+ "a",
168
+ {
169
+ href: N.url || C,
170
+ onClick: (i) => i.stopPropagation(),
171
+ target: "_blank",
172
+ rel: "noreferrer",
173
+ children: /* @__PURE__ */ t(qe, {})
174
+ }
175
+ ) }) })
176
+ ] }),
177
+ /* @__PURE__ */ w("div", { className: _e, children: [
178
+ /* @__PURE__ */ t("div", { className: "form-field__control", children: /* @__PURE__ */ t(
179
+ "input",
180
+ {
181
+ "data-testid": c ? `${c}-form-input` : "form-input",
182
+ id: e.name,
183
+ ref: v,
184
+ required: _ || T,
185
+ disabled: h,
186
+ pattern: D,
187
+ type: I,
188
+ ...m,
189
+ ...e,
190
+ autoComplete: m.autocomplete ?? "off",
191
+ onBlur: we,
192
+ onKeyDown: Ne,
193
+ onFocus: Re
194
+ }
195
+ ) }),
196
+ /* @__PURE__ */ w("div", { className: "form-field__icons", children: [
197
+ _ && !Array.isArray(o.current) && /* @__PURE__ */ t(
198
+ ee,
199
+ {
200
+ className: "form-field__warning",
201
+ template: /* @__PURE__ */ t(re, { text: ((l = o.current) == null ? void 0 : l.label) ?? k, warning: !0 }),
202
+ children: /* @__PURE__ */ t(Me, {})
203
+ }
204
+ ),
205
+ _ && Array.isArray(o.current) && /* @__PURE__ */ t("button", { className: "form-field__warning", onClick: Ve, children: /* @__PURE__ */ t(Le, {}) }),
206
+ Y && /* @__PURE__ */ t(je, { text: Y, className: "form-field__tip" }),
207
+ W && /* @__PURE__ */ t("span", { "data-testid": "input-icon", className: ae, onClick: oe, children: W })
208
+ ] }),
209
+ I === "number" && /* @__PURE__ */ t(xe, { ...m, step: +se, ...e, disabled: h })
210
+ ] }),
211
+ (V == null ? void 0 : V.length) > 0 && ce && /* @__PURE__ */ t("ul", { className: "form-field__suggestion-list", children: V.map((i, n) => /* @__PURE__ */ t(
212
+ "li",
213
+ {
214
+ className: "suggestion-item",
215
+ onClick: () => {
216
+ Te(i);
217
+ },
218
+ tabIndex: n,
219
+ dangerouslySetInnerHTML: {
220
+ __html: i.replace(
221
+ new RegExp(C, "gi"),
222
+ (u) => u && `<b>${u}</b>`
223
+ )
224
+ }
225
+ },
226
+ `${i}${n}`
227
+ )) }),
228
+ !A(O) && _ && Array.isArray(o.current) && /* @__PURE__ */ t(Ae, { show: y, ref: { refInputContainer: F }, children: ve() })
229
+ ]
230
+ }
231
+ );
232
+ } });
233
+ };
234
+ R = ie.memo(Fe(R));
235
+ R.displayName = "FormInput";
236
+ R.propTypes = {
237
+ async: r.bool,
238
+ className: r.string,
239
+ customRequiredLabel: r.string,
240
+ density: $e,
241
+ disabled: r.bool,
242
+ focused: r.bool,
243
+ iconClass: r.string,
244
+ iconClick: r.func,
245
+ inputIcon: r.element,
246
+ invalidText: r.string,
247
+ label: r.string,
248
+ link: De,
249
+ max: r.oneOfType([r.string, r.number]),
250
+ min: r.oneOfType([r.string, r.number]),
251
+ name: r.string.isRequired,
252
+ onBlur: r.func,
253
+ onFocus: r.func,
254
+ onKeyDown: r.func,
255
+ onValidationError: r.func,
256
+ pattern: r.string,
257
+ placeholder: r.string,
258
+ required: r.bool,
259
+ step: r.oneOfType([r.string, r.number]),
260
+ suggestionList: r.arrayOf(r.string),
261
+ tip: r.oneOfType([r.string, r.element]),
262
+ type: r.string,
263
+ validationRules: Se,
264
+ validator: r.func,
265
+ value: r.oneOfType([r.string, r.number]),
266
+ withoutBorder: r.bool
267
+ };
268
+ const gr = ie.memo(R);
269
+ export {
270
+ gr as default
271
+ };
272
+ //# sourceMappingURL=FormInput.mjs.map