iguazio.dashboard-react-controls 2.2.25 → 3.0.1

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 (368) hide show
  1. package/dist/components/Backdrop/Backdrop.d.ts +14 -0
  2. package/dist/components/Backdrop/Backdrop.d.ts.map +1 -0
  3. package/dist/components/Backdrop/Backdrop.mjs +29 -0
  4. package/dist/components/Backdrop/Backdrop.mjs.map +1 -0
  5. package/dist/components/Button/Button.d.ts +28 -0
  6. package/dist/components/Button/Button.d.ts.map +1 -0
  7. package/dist/components/Button/Button.mjs +43 -0
  8. package/dist/components/Button/Button.mjs.map +1 -0
  9. package/dist/components/Button/Button.stories.d.ts +14 -0
  10. package/dist/components/Button/Button.stories.d.ts.map +1 -0
  11. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +33 -0
  12. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
  13. package/dist/components/ConfirmDialog/ConfirmDialog.mjs +83 -0
  14. package/dist/components/ConfirmDialog/ConfirmDialog.mjs.map +1 -0
  15. package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts +8 -0
  16. package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts.map +1 -0
  17. package/dist/components/FormCheckBox/FormCheckBox.d.ts +21 -0
  18. package/dist/components/FormCheckBox/FormCheckBox.d.ts.map +1 -0
  19. package/dist/components/FormCheckBox/FormCheckBox.mjs +54 -0
  20. package/dist/components/FormCheckBox/FormCheckBox.mjs.map +1 -0
  21. package/dist/components/FormCheckBox/FormCheckbox.stories.d.ts +7 -0
  22. package/dist/components/FormCheckBox/FormCheckbox.stories.d.ts.map +1 -0
  23. package/dist/components/FormChipCell/FormChip/FormChip.d.ts +45 -0
  24. package/dist/components/FormChipCell/FormChip/FormChip.d.ts.map +1 -0
  25. package/dist/components/FormChipCell/FormChip/FormChip.mjs +78 -0
  26. package/dist/components/FormChipCell/FormChip/FormChip.mjs.map +1 -0
  27. package/dist/components/FormChipCell/FormChipCell.d.ts +44 -0
  28. package/dist/components/FormChipCell/FormChipCell.d.ts.map +1 -0
  29. package/dist/components/FormChipCell/FormChipCell.mjs +239 -0
  30. package/dist/components/FormChipCell/FormChipCell.mjs.map +1 -0
  31. package/dist/components/FormChipCell/FormChipCellView.d.ts +56 -0
  32. package/dist/components/FormChipCell/FormChipCellView.d.ts.map +1 -0
  33. package/dist/components/FormChipCell/FormChipCellView.mjs +169 -0
  34. package/dist/components/FormChipCell/FormChipCellView.mjs.map +1 -0
  35. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts +22 -0
  36. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts.map +1 -0
  37. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.mjs +72 -0
  38. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.mjs.map +1 -0
  39. package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts +35 -0
  40. package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts.map +1 -0
  41. package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs +270 -0
  42. package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs.map +1 -0
  43. package/dist/components/FormChipCell/NewChipInput/NewChipInput.d.ts +16 -0
  44. package/dist/components/FormChipCell/NewChipInput/NewChipInput.d.ts.map +1 -0
  45. package/dist/components/FormChipCell/NewChipInput/NewChipInput.mjs +36 -0
  46. package/dist/components/FormChipCell/NewChipInput/NewChipInput.mjs.map +1 -0
  47. package/dist/components/FormChipCell/formChipCell.util.d.ts +6 -0
  48. package/dist/components/FormChipCell/formChipCell.util.d.ts.map +1 -0
  49. package/dist/components/FormChipCell/formChipCell.util.mjs +24 -0
  50. package/dist/components/FormChipCell/formChipCell.util.mjs.map +1 -0
  51. package/dist/components/FormCombobox/FormCombobox.d.ts +56 -0
  52. package/dist/components/FormCombobox/FormCombobox.d.ts.map +1 -0
  53. package/dist/components/FormCombobox/FormCombobox.mjs +278 -0
  54. package/dist/components/FormCombobox/FormCombobox.mjs.map +1 -0
  55. package/dist/components/FormCombobox/FormCombobox.stories.d.ts +12 -0
  56. package/dist/components/FormCombobox/FormCombobox.stories.d.ts.map +1 -0
  57. package/dist/components/FormInput/FormInput.d.ts +3 -0
  58. package/dist/components/FormInput/FormInput.d.ts.map +1 -0
  59. package/dist/components/FormInput/FormInput.mjs +272 -0
  60. package/dist/components/FormInput/FormInput.mjs.map +1 -0
  61. package/dist/components/FormInput/FormInput.stories.d.ts +14 -0
  62. package/dist/components/FormInput/FormInput.stories.d.ts.map +1 -0
  63. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.d.ts +20 -0
  64. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.d.ts.map +1 -0
  65. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.mjs +61 -0
  66. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.mjs.map +1 -0
  67. package/dist/components/FormKeyValueTable/FormKeyValueTable.d.ts +49 -0
  68. package/dist/components/FormKeyValueTable/FormKeyValueTable.d.ts.map +1 -0
  69. package/dist/components/FormKeyValueTable/FormKeyValueTable.mjs +202 -0
  70. package/dist/components/FormKeyValueTable/FormKeyValueTable.mjs.map +1 -0
  71. package/dist/components/FormOnChange/FormOnChange.d.ts +12 -0
  72. package/dist/components/FormOnChange/FormOnChange.d.ts.map +1 -0
  73. package/dist/components/FormOnChange/FormOnChange.mjs +33 -0
  74. package/dist/components/FormOnChange/FormOnChange.mjs.map +1 -0
  75. package/dist/components/FormRadio/FormRadio.d.ts +19 -0
  76. package/dist/components/FormRadio/FormRadio.d.ts.map +1 -0
  77. package/dist/components/FormRadio/FormRadio.mjs +57 -0
  78. package/dist/components/FormRadio/FormRadio.mjs.map +1 -0
  79. package/dist/components/FormRadio/FormRadio.stories.d.ts +7 -0
  80. package/dist/components/FormRadio/FormRadio.stories.d.ts.map +1 -0
  81. package/dist/components/FormSelect/FormSelect.d.ts +43 -0
  82. package/dist/components/FormSelect/FormSelect.d.ts.map +1 -0
  83. package/dist/components/FormSelect/FormSelect.mjs +257 -0
  84. package/dist/components/FormSelect/FormSelect.mjs.map +1 -0
  85. package/dist/components/FormSelect/FormSelect.stories.d.ts +10 -0
  86. package/dist/components/FormSelect/FormSelect.stories.d.ts.map +1 -0
  87. package/dist/components/FormTextarea/FormTextarea.d.ts +40 -0
  88. package/dist/components/FormTextarea/FormTextarea.d.ts.map +1 -0
  89. package/dist/components/FormTextarea/FormTextarea.mjs +122 -0
  90. package/dist/components/FormTextarea/FormTextarea.mjs.map +1 -0
  91. package/dist/components/FormTextarea/FormTextarea.stories.d.ts +9 -0
  92. package/dist/components/FormTextarea/FormTextarea.stories.d.ts.map +1 -0
  93. package/dist/components/FormToggle/FormToggle.d.ts +18 -0
  94. package/dist/components/FormToggle/FormToggle.d.ts.map +1 -0
  95. package/dist/components/FormToggle/FormToggle.mjs +48 -0
  96. package/dist/components/FormToggle/FormToggle.mjs.map +1 -0
  97. package/dist/components/Modal/Modal.d.ts +29 -0
  98. package/dist/components/Modal/Modal.d.ts.map +1 -0
  99. package/dist/components/Modal/Modal.mjs +71 -0
  100. package/dist/components/Modal/Modal.mjs.map +1 -0
  101. package/dist/components/PopUpDialog/PopUpDialog.d.ts +28 -0
  102. package/dist/components/PopUpDialog/PopUpDialog.d.ts.map +1 -0
  103. package/dist/components/PopUpDialog/PopUpDialog.mjs +90 -0
  104. package/dist/components/PopUpDialog/PopUpDialog.mjs.map +1 -0
  105. package/dist/components/RoundedIcon/RoundedIcon.d.ts +23 -0
  106. package/dist/components/RoundedIcon/RoundedIcon.d.ts.map +1 -0
  107. package/dist/components/RoundedIcon/RoundedIcon.mjs +40 -0
  108. package/dist/components/RoundedIcon/RoundedIcon.mjs.map +1 -0
  109. package/dist/components/RoundedIcon/RoundedIcon.stories.d.ts +9 -0
  110. package/dist/components/RoundedIcon/RoundedIcon.stories.d.ts.map +1 -0
  111. package/dist/components/Tip/Tip.d.ts +14 -0
  112. package/dist/components/Tip/Tip.d.ts.map +1 -0
  113. package/dist/components/Tip/Tip.mjs +67 -0
  114. package/dist/components/Tip/Tip.mjs.map +1 -0
  115. package/dist/components/Tip/Tip.stories.d.ts +7 -0
  116. package/dist/components/Tip/Tip.stories.d.ts.map +1 -0
  117. package/dist/components/Tooltip/Tooltip.d.ts +22 -0
  118. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  119. package/dist/components/Tooltip/Tooltip.mjs +136 -0
  120. package/dist/components/Tooltip/Tooltip.mjs.map +1 -0
  121. package/dist/components/Tooltip/Tooltip.stories.d.ts +8 -0
  122. package/dist/components/Tooltip/Tooltip.stories.d.ts.map +1 -0
  123. package/dist/components/TooltipTemplate/ProducerTooltipTemplate.d.ts +12 -0
  124. package/dist/components/TooltipTemplate/ProducerTooltipTemplate.d.ts.map +1 -0
  125. package/dist/components/TooltipTemplate/TextTooltipTemplate.d.ts +12 -0
  126. package/dist/components/TooltipTemplate/TextTooltipTemplate.d.ts.map +1 -0
  127. package/dist/components/TooltipTemplate/TextTooltipTemplate.mjs +21 -0
  128. package/dist/components/TooltipTemplate/TextTooltipTemplate.mjs.map +1 -0
  129. package/dist/components/Wizard/Wizard.d.ts +33 -0
  130. package/dist/components/Wizard/Wizard.d.ts.map +1 -0
  131. package/dist/components/Wizard/Wizard.mjs +129 -0
  132. package/dist/components/Wizard/Wizard.mjs.map +1 -0
  133. package/dist/components/Wizard/WizardSteps/WizardSteps.d.ts +16 -0
  134. package/dist/components/Wizard/WizardSteps/WizardSteps.d.ts.map +1 -0
  135. package/dist/components/Wizard/WizardSteps/WizardSteps.mjs +41 -0
  136. package/dist/components/Wizard/WizardSteps/WizardSteps.mjs.map +1 -0
  137. package/dist/components/index.d.ts +21 -0
  138. package/dist/components/index.d.ts.map +1 -0
  139. package/dist/components/index.mjs +41 -0
  140. package/dist/components/index.mjs.map +1 -0
  141. package/dist/constants.d.ts +114 -0
  142. package/dist/constants.d.ts.map +1 -0
  143. package/dist/constants.mjs +44 -0
  144. package/dist/constants.mjs.map +1 -0
  145. package/dist/elements/FormActionButton/FormActionButton.d.ts +23 -0
  146. package/dist/elements/FormActionButton/FormActionButton.d.ts.map +1 -0
  147. package/dist/elements/FormActionButton/FormActionButton.mjs +43 -0
  148. package/dist/elements/FormActionButton/FormActionButton.mjs.map +1 -0
  149. package/dist/elements/FormRowActions/FormRowActions.d.ts +27 -0
  150. package/dist/elements/FormRowActions/FormRowActions.d.ts.map +1 -0
  151. package/dist/elements/FormRowActions/FormRowActions.mjs +87 -0
  152. package/dist/elements/FormRowActions/FormRowActions.mjs.map +1 -0
  153. package/dist/elements/OptionsMenu/OptionsMenu.d.ts +18 -0
  154. package/dist/elements/OptionsMenu/OptionsMenu.d.ts.map +1 -0
  155. package/dist/elements/OptionsMenu/OptionsMenu.mjs +47 -0
  156. package/dist/elements/OptionsMenu/OptionsMenu.mjs.map +1 -0
  157. package/dist/elements/SelectOption/SelectOption.d.ts +20 -0
  158. package/dist/elements/SelectOption/SelectOption.d.ts.map +1 -0
  159. package/dist/elements/SelectOption/SelectOption.mjs +84 -0
  160. package/dist/elements/SelectOption/SelectOption.mjs.map +1 -0
  161. package/dist/elements/ValidationTemplate/ValidationTemplate.d.ts +12 -0
  162. package/dist/elements/ValidationTemplate/ValidationTemplate.d.ts.map +1 -0
  163. package/dist/elements/ValidationTemplate/ValidationTemplate.mjs +22 -0
  164. package/dist/elements/ValidationTemplate/ValidationTemplate.mjs.map +1 -0
  165. package/dist/elements/index.d.ts +7 -0
  166. package/dist/elements/index.d.ts.map +1 -0
  167. package/dist/elements/index.mjs +13 -0
  168. package/dist/elements/index.mjs.map +1 -0
  169. package/dist/hooks/index.d.ts +6 -0
  170. package/dist/hooks/index.d.ts.map +1 -0
  171. package/dist/hooks/index.mjs +13 -0
  172. package/dist/hooks/index.mjs.map +1 -0
  173. package/dist/hooks/useChipCell.hook.d.ts +13 -0
  174. package/dist/hooks/useChipCell.hook.d.ts.map +1 -0
  175. package/dist/hooks/useChipCell.hook.mjs +58 -0
  176. package/dist/hooks/useChipCell.hook.mjs.map +1 -0
  177. package/dist/hooks/useDebounce.hook.d.ts +2 -0
  178. package/dist/hooks/useDebounce.hook.d.ts.map +1 -0
  179. package/dist/hooks/useDebounce.hook.mjs +19 -0
  180. package/dist/hooks/useDebounce.hook.mjs.map +1 -0
  181. package/dist/hooks/useDetectOutsideClick.hook.d.ts +2 -0
  182. package/dist/hooks/useDetectOutsideClick.hook.d.ts.map +1 -0
  183. package/dist/hooks/useDetectOutsideClick.hook.mjs +15 -0
  184. package/dist/hooks/useDetectOutsideClick.hook.mjs.map +1 -0
  185. package/dist/hooks/useFormTable.hook.d.ts +16 -0
  186. package/dist/hooks/useFormTable.hook.d.ts.map +1 -0
  187. package/dist/hooks/useFormTable.hook.mjs +128 -0
  188. package/dist/hooks/useFormTable.hook.mjs.map +1 -0
  189. package/dist/hooks/useHiddenChipsBlock.hook.d.ts +4 -0
  190. package/dist/hooks/useHiddenChipsBlock.hook.d.ts.map +1 -0
  191. package/dist/hooks/useHiddenChipsBlock.hook.mjs +51 -0
  192. package/dist/hooks/useHiddenChipsBlock.hook.mjs.map +1 -0
  193. package/dist/images/add.svg.mjs +6 -0
  194. package/dist/images/add.svg.mjs.map +1 -0
  195. package/dist/images/alerts-icon.svg +3 -0
  196. package/dist/images/arrow.svg.mjs +6 -0
  197. package/dist/images/arrow.svg.mjs.map +1 -0
  198. package/dist/images/back-arrow.svg.mjs +6 -0
  199. package/dist/images/back-arrow.svg.mjs.map +1 -0
  200. package/dist/images/checkmark.svg.mjs +6 -0
  201. package/dist/images/checkmark.svg.mjs.map +1 -0
  202. package/dist/images/checkmark2.svg.mjs +6 -0
  203. package/dist/images/checkmark2.svg.mjs.map +1 -0
  204. package/dist/images/close.svg.mjs +6 -0
  205. package/dist/images/close.svg.mjs.map +1 -0
  206. package/dist/images/delete.svg.mjs +6 -0
  207. package/dist/images/delete.svg.mjs.map +1 -0
  208. package/dist/images/documents-icon.svg +3 -0
  209. package/dist/images/dropdown.svg.mjs +6 -0
  210. package/dist/images/dropdown.svg.mjs.map +1 -0
  211. package/dist/images/edit.svg.mjs +6 -0
  212. package/dist/images/edit.svg.mjs.map +1 -0
  213. package/dist/images/exclamation-mark.svg.mjs +6 -0
  214. package/dist/images/exclamation-mark.svg.mjs.map +1 -0
  215. package/dist/images/llm-prompt-icon.svg +3 -0
  216. package/dist/images/mlrun-api-gateways.svg +8 -0
  217. package/dist/images/mlrun-artifacts.svg +11 -0
  218. package/dist/images/mlrun-datasets.svg +5 -0
  219. package/dist/images/mlrun-feature-store.svg +10 -0
  220. package/dist/images/mlrun-jobs-and-workflows.svg +5 -0
  221. package/dist/images/mlrun-ml-functions.svg +8 -0
  222. package/dist/images/mlrun-models.svg +5 -0
  223. package/dist/images/mlrun-project-home.svg +5 -0
  224. package/dist/images/mlrun-project-monitoring.svg +9 -0
  225. package/dist/images/mlrun-project-settings.svg +5 -0
  226. package/dist/images/mlrun-realtime-functions.svg +8 -0
  227. package/dist/images/model-monitoring.svg +3 -0
  228. package/dist/images/plus.svg.mjs +6 -0
  229. package/dist/images/plus.svg.mjs.map +1 -0
  230. package/dist/images/popout.svg.mjs +6 -0
  231. package/dist/images/popout.svg.mjs.map +1 -0
  232. package/dist/images/question-mark.svg.mjs +6 -0
  233. package/dist/images/question-mark.svg.mjs.map +1 -0
  234. package/dist/images/range-arrow-small.svg.mjs +6 -0
  235. package/dist/images/range-arrow-small.svg.mjs.map +1 -0
  236. package/dist/images/search.svg.mjs +6 -0
  237. package/dist/images/search.svg.mjs.map +1 -0
  238. package/dist/images/success_done.svg.mjs +6 -0
  239. package/dist/images/success_done.svg.mjs.map +1 -0
  240. package/dist/images/warning.svg.mjs +6 -0
  241. package/dist/images/warning.svg.mjs.map +1 -0
  242. package/dist/index.css +1 -0
  243. package/dist/index.d.ts +8 -0
  244. package/dist/index.d.ts.map +1 -0
  245. package/dist/index.mjs +15 -0
  246. package/dist/index.mjs.map +1 -0
  247. package/dist/robots.txt +3 -0
  248. package/dist/scss/borders.scss +22 -22
  249. package/dist/scss/colors.scss +0 -11
  250. package/dist/scss/common.scss +48 -33
  251. package/dist/scss/fonts.scss +6 -0
  252. package/dist/scss/mixins.scss +117 -106
  253. package/dist/scss/shadows.scss +12 -12
  254. package/dist/scss/variables.scss +3 -3
  255. package/dist/types.d.ts +25 -0
  256. package/dist/types.d.ts.map +1 -0
  257. package/dist/types.mjs +143 -0
  258. package/dist/types.mjs.map +1 -0
  259. package/dist/utils/common.util.d.ts +10 -0
  260. package/dist/utils/common.util.d.ts.map +1 -0
  261. package/dist/utils/common.util.mjs +60 -0
  262. package/dist/utils/common.util.mjs.map +1 -0
  263. package/dist/utils/form.util.d.ts +11 -0
  264. package/dist/utils/form.util.d.ts.map +1 -0
  265. package/dist/utils/form.util.mjs +26 -0
  266. package/dist/utils/form.util.mjs.map +1 -0
  267. package/dist/utils/generateChipsList.util.d.ts +10 -0
  268. package/dist/utils/generateChipsList.util.d.ts.map +1 -0
  269. package/dist/utils/generateChipsList.util.mjs +19 -0
  270. package/dist/utils/generateChipsList.util.mjs.map +1 -0
  271. package/dist/utils/getFirstScrollableParent.util.d.ts +2 -0
  272. package/dist/utils/getFirstScrollableParent.util.d.ts.map +1 -0
  273. package/dist/utils/getFirstScrollableParent.util.mjs +5 -0
  274. package/dist/utils/getFirstScrollableParent.util.mjs.map +1 -0
  275. package/dist/utils/index.d.ts +7 -0
  276. package/dist/utils/index.d.ts.map +1 -0
  277. package/dist/utils/index.mjs +15 -0
  278. package/dist/utils/index.mjs.map +1 -0
  279. package/dist/utils/math.util.d.ts +2 -0
  280. package/dist/utils/math.util.d.ts.map +1 -0
  281. package/dist/utils/math.util.mjs +18 -0
  282. package/dist/utils/math.util.mjs.map +1 -0
  283. package/dist/utils/validation.util.d.ts +6 -0
  284. package/dist/utils/validation.util.d.ts.map +1 -0
  285. package/dist/utils/validation.util.mjs +306 -0
  286. package/dist/utils/validation.util.mjs.map +1 -0
  287. package/package.json +48 -38
  288. package/dist/components/Backdrop/Backdrop.js +0 -56
  289. package/dist/components/Backdrop/Backdrop.scss +0 -32
  290. package/dist/components/Button/Button.js +0 -73
  291. package/dist/components/Button/Button.scss +0 -171
  292. package/dist/components/ConfirmDialog/ConfirmDialog.js +0 -101
  293. package/dist/components/ConfirmDialog/confirmDialog.scss +0 -23
  294. package/dist/components/FormCheckBox/FormCheckBox.js +0 -82
  295. package/dist/components/FormCheckBox/formCheckBox.scss +0 -91
  296. package/dist/components/FormChipCell/FormChip/FormChip.js +0 -103
  297. package/dist/components/FormChipCell/FormChip/formChip.scss +0 -68
  298. package/dist/components/FormChipCell/FormChipCell.js +0 -339
  299. package/dist/components/FormChipCell/FormChipCellView.js +0 -190
  300. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.js +0 -107
  301. package/dist/components/FormChipCell/NewChipForm/NewChipForm.js +0 -353
  302. package/dist/components/FormChipCell/NewChipForm/newChipForm.scss +0 -81
  303. package/dist/components/FormChipCell/NewChipInput/NewChipInput.js +0 -71
  304. package/dist/components/FormChipCell/formChipCell.scss +0 -64
  305. package/dist/components/FormChipCell/formChipCell.util.js +0 -52
  306. package/dist/components/FormCombobox/FormCombobox.js +0 -432
  307. package/dist/components/FormCombobox/formCombobox.scss +0 -134
  308. package/dist/components/FormInput/FormInput.js +0 -408
  309. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.js +0 -91
  310. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.scss +0 -123
  311. package/dist/components/FormInput/formInput.scss +0 -76
  312. package/dist/components/FormKeyValueTable/FormKeyValueTable.js +0 -221
  313. package/dist/components/FormOnChange/FormOnChange.js +0 -69
  314. package/dist/components/FormRadio/FormRadio.js +0 -85
  315. package/dist/components/FormRadio/FormRadio.scss +0 -41
  316. package/dist/components/FormSelect/FormSelect.js +0 -353
  317. package/dist/components/FormSelect/FormSelect.test.js +0 -138
  318. package/dist/components/FormSelect/formSelect.scss +0 -97
  319. package/dist/components/FormTextarea/FormTextarea.js +0 -184
  320. package/dist/components/FormTextarea/formTextarea.scss +0 -32
  321. package/dist/components/FormToggle/FormToggle.js +0 -82
  322. package/dist/components/FormToggle/formToggle.scss +0 -58
  323. package/dist/components/Modal/Modal.js +0 -116
  324. package/dist/components/Modal/Modal.scss +0 -149
  325. package/dist/components/PopUpDialog/PopUpDialog.js +0 -171
  326. package/dist/components/PopUpDialog/popUpDialog.scss +0 -83
  327. package/dist/components/RoundedIcon/RoundedIcon.js +0 -72
  328. package/dist/components/RoundedIcon/roundedIcon.scss +0 -57
  329. package/dist/components/Tip/Tip.js +0 -116
  330. package/dist/components/Tip/Tip.test.js +0 -64
  331. package/dist/components/Tip/tip.scss +0 -94
  332. package/dist/components/Tooltip/Tooltip.js +0 -180
  333. package/dist/components/Tooltip/Tooltip.test.js +0 -155
  334. package/dist/components/Tooltip/tooltip.scss +0 -29
  335. package/dist/components/TooltipTemplate/ProducerTooltipTemplate.js +0 -53
  336. package/dist/components/TooltipTemplate/TextTooltipTemplate.js +0 -53
  337. package/dist/components/TooltipTemplate/producerTooltipTemplate.scss +0 -23
  338. package/dist/components/TooltipTemplate/textTooltipTemplate.scss +0 -21
  339. package/dist/components/Wizard/Wizard.js +0 -192
  340. package/dist/components/Wizard/Wizard.scss +0 -53
  341. package/dist/components/Wizard/WizardSteps/WizardSteps.js +0 -74
  342. package/dist/components/Wizard/WizardSteps/WizardSteps.scss +0 -108
  343. package/dist/components/index.js +0 -139
  344. package/dist/constants.js +0 -120
  345. package/dist/elements/FormActionButton/FormActionButton.js +0 -64
  346. package/dist/elements/FormRowActions/FormRowActions.js +0 -99
  347. package/dist/elements/OptionsMenu/OptionsMenu.js +0 -75
  348. package/dist/elements/OptionsMenu/optionsMenu.scss +0 -45
  349. package/dist/elements/SelectOption/SelectOption.js +0 -107
  350. package/dist/elements/SelectOption/SelectOption.test.js +0 -98
  351. package/dist/elements/SelectOption/selectOption.scss +0 -98
  352. package/dist/elements/ValidationTemplate/ValidationTemplate.js +0 -56
  353. package/dist/elements/ValidationTemplate/ValidationTemplate.scss +0 -36
  354. package/dist/elements/index.js +0 -41
  355. package/dist/hooks/index.js +0 -40
  356. package/dist/hooks/useChipCell.hook.js +0 -129
  357. package/dist/hooks/useDebounce.hook.js +0 -52
  358. package/dist/hooks/useDetectOutsideClick.hook.js +0 -47
  359. package/dist/hooks/useFormTable.hook.js +0 -224
  360. package/dist/hooks/useHiddenChipsBlock.hook.js +0 -102
  361. package/dist/index.js +0 -18
  362. package/dist/types.js +0 -127
  363. package/dist/utils/common.util.js +0 -130
  364. package/dist/utils/form.util.js +0 -70
  365. package/dist/utils/generateChipsList.util.js +0 -39
  366. package/dist/utils/getFirstScrollableParent.util.js +0 -49
  367. package/dist/utils/math.util.js +0 -44
  368. package/dist/utils/validation.util.js +0 -401
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormInput.mjs","sources":["../../../src/lib/components/FormInput/FormInput.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, { useState, useEffect, useRef, forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { isEmpty, isNil } from 'lodash'\nimport { Field, useField } from 'react-final-form'\n\nimport InputNumberButtons from './InputNumberButtons/InputNumberButtons'\nimport OptionsMenu from '../../elements/OptionsMenu/OptionsMenu'\nimport ValidationTemplate from '../../elements/ValidationTemplate/ValidationTemplate'\nimport { TextTooltipTemplate, Tip, Tooltip } from '../../components'\n\nimport { DENSITY, INPUT_LINK, INPUT_VALIDATION_RULES } from '../../types'\nimport { checkPatternsValidity, checkPatternsValidityAsync } from '../../utils/validation.util'\nimport { useDetectOutsideClick, useDebounce } from '../../hooks'\nimport { validation as ValidationConstants } from '../../constants'\n\nimport ExclamationMarkIcon from '../../images/exclamation-mark.svg?react'\nimport Popout from '../../images/popout.svg?react'\nimport WarningIcon from '../../images/warning.svg?react'\n\nimport './formInput.scss'\n\nconst defaultProps = {\n iconClick: () => {},\n link: { show: '', value: '' },\n onBlur: () => {},\n onKeyDown: () => {},\n onValidationError: () => {},\n validator: () => {},\n rules: []\n}\n\nlet FormInput = (\n {\n async = false,\n className = '',\n customRequiredLabel = '',\n density = 'normal',\n disabled = false,\n focused = false,\n iconClass = '',\n iconClick = defaultProps.iconClick,\n inputIcon = null,\n invalidText = 'This field is invalid',\n label = '',\n link = defaultProps.link,\n name,\n onBlur = defaultProps.onBlur,\n onFocus,\n onKeyDown = defaultProps.onKeyDown,\n pattern = null,\n required = false,\n onValidationError = defaultProps.onValidationError,\n suggestionList = [],\n step = '1',\n tip = '',\n type = 'text',\n validationRules: rules = defaultProps.rules,\n validator = defaultProps.validator,\n withoutBorder = false,\n ...inputProps\n },\n ref\n) => {\n const { input, meta } = useField(name)\n const [isInvalid, setIsInvalid] = useState(false)\n const [isFocused, setIsFocused] = useState(false)\n const [typedValue, setTypedValue] = useState('')\n const [validationPattern] = useState(RegExp(pattern))\n const [validationRules, setValidationRules] = useState(rules)\n const [showValidationRules, setShowValidationRules] = useState(false)\n const wrapperRef = useRef()\n ref ??= wrapperRef\n const inputRef = useRef()\n const errorsRef = useRef()\n const isRequiredRulePresentRef = useRef(false)\n useDetectOutsideClick(ref, () => setShowValidationRules(false))\n const debounceAsync = useDebounce()\n\n const formFieldClassNames = classNames('form-field-input', className)\n\n const inputWrapperClassNames = 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 const labelClassNames = classNames('form-field__label', disabled && 'form-field__label-disabled')\n\n useEffect(() => {\n setTypedValue(String(input.value)) // convert from number to string\n }, [input.value])\n\n useEffect(() => {\n const isInputInvalid =\n errorsRef.current &&\n meta.invalid &&\n (meta.validating || meta.modified || (meta.submitFailed && meta.touched))\n setIsInvalid(isInputInvalid)\n onValidationError(isInputInvalid)\n }, [\n meta.invalid,\n meta.modified,\n meta.submitFailed,\n meta.touched,\n meta.validating,\n onValidationError\n ])\n\n useEffect(() => {\n if (!errorsRef.current) {\n if (meta.valid && showValidationRules) {\n setShowValidationRules(false)\n }\n }\n }, [meta.valid, showValidationRules])\n\n useEffect(() => {\n if (showValidationRules) {\n window.addEventListener('scroll', handleScroll, true)\n }\n return () => {\n window.removeEventListener('scroll', handleScroll, true)\n }\n }, [showValidationRules])\n\n useEffect(() => {\n if (focused) {\n inputRef.current.focus()\n }\n }, [focused])\n\n useEffect(() => {\n setValidationRules(() => {\n isRequiredRulePresentRef.current = false\n\n return rules.map(rule => {\n if (rule.name === ValidationConstants.REQUIRED.NAME) {\n isRequiredRulePresentRef.current = true\n }\n\n return {\n ...rule,\n isValid:\n !errorsRef.current || !Array.isArray(errorsRef.current)\n ? true\n : !errorsRef.current.some(err => err.name === rule.name)\n }\n })\n })\n }, [rules])\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 isValueEmptyAndValid = value => {\n return (!value && !required) || disabled\n }\n\n const handleInputBlur = event => {\n input.onBlur && input.onBlur(event)\n\n if (!event.relatedTarget || !event.relatedTarget?.closest('.form-field__suggestion-list')) {\n setIsFocused(false)\n onBlur && onBlur(event)\n }\n }\n const handleInputFocus = event => {\n input.onFocus && input.onFocus(event)\n onFocus && onFocus(event)\n setIsFocused(true)\n }\n\n const handleInputKeyDown = event => {\n input.onKeyDown && input.onKeyDown(event)\n onKeyDown && onKeyDown(event)\n }\n\n const handleScroll = event => {\n if (inputRef.current && inputRef.current.contains(event.target)) return\n\n if (\n !event.target.closest('.options-menu') &&\n !event.target.classList.contains('form-field-input')\n ) {\n setShowValidationRules(false)\n }\n }\n\n const handleSuggestionClick = item => {\n input.onChange && input.onChange(item)\n setIsFocused(false)\n onBlur()\n }\n\n const toggleValidationRulesMenu = () => {\n inputRef.current.focus()\n setShowValidationRules(state => !state)\n }\n\n const validateField = (value, allValues) => {\n let valueToValidate = isNil(value) ? '' : String(value)\n\n if (isValueEmptyAndValid(valueToValidate)) return\n\n let validationError = null\n\n if (required && valueToValidate.trim().length === 0 && !isRequiredRulePresentRef.current) {\n validationError = {\n name: 'required',\n label: customRequiredLabel || 'This field is required'\n }\n } else if (!isEmpty(rules) && !async) {\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 (type === 'number') {\n if (inputProps.max && +valueToValidate > +inputProps.max) {\n validationError = {\n name: 'maxValue',\n label: `The maximum value must be ${inputProps.max}`\n }\n }\n\n if (inputProps.min && +valueToValidate < +inputProps.min) {\n validationError = {\n name: 'minValue',\n label: `The minimum value must be ${inputProps.min}`\n }\n }\n }\n if (pattern && !validationPattern.test(valueToValidate)) {\n validationError = { name: 'pattern', label: invalidText }\n } else if (valueToValidate.startsWith(' ')) {\n validationError = { name: 'empty', label: invalidText }\n }\n }\n\n if (!validationError && validator) {\n validationError = validator(value, allValues)\n }\n\n errorsRef.current = validationError\n\n return validationError\n }\n\n const validateFieldAsync = debounceAsync(async (value, allValues) => {\n let valueToValidate = isNil(value) ? '' : String(value)\n\n if (isValueEmptyAndValid(valueToValidate)) return\n\n let validationError = validateField(valueToValidate, allValues)\n\n if (!isEmpty(rules)) {\n const [newRules, isValidField] = await checkPatternsValidityAsync(rules, valueToValidate)\n\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 errorsRef.current = validationError\n\n return validationError\n }, 400)\n\n const parseField = val => {\n return type === 'number' && val ? parseFloat(val) || val : val\n }\n\n return (\n <Field validate={async ? validateFieldAsync : validateField} name={name} parse={parseField}>\n {({ input }) => {\n return (\n <div\n ref={ref}\n className={formFieldClassNames}\n data-testid={name ? `${name}-form-field-input` : 'form-field-input'}\n >\n {label && (\n <div className={labelClassNames}>\n <label\n data-testid={name ? `${name}-form-label` : 'form-label'}\n htmlFor={input.name}\n >\n {label}\n {(required || validationRules.find(rule => rule.name === 'required')) && (\n <span className=\"form-field__label-mandatory\"> *</span>\n )}\n </label>\n {link && link.show && typedValue.trim() && (\n <div className=\"form-field__label-icon\">\n <Tooltip template={<TextTooltipTemplate text={link.url || typedValue} />}>\n <a\n href={link.url || typedValue}\n onClick={event => event.stopPropagation()}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <Popout />\n </a>\n </Tooltip>\n </div>\n )}\n </div>\n )}\n <div className={inputWrapperClassNames}>\n <div className=\"form-field__control\">\n <input\n data-testid={name ? `${name}-form-input` : 'form-input'}\n id={input.name}\n ref={inputRef}\n required={isInvalid || required}\n {...{\n disabled,\n pattern,\n type,\n ...inputProps,\n ...input\n }}\n autoComplete={inputProps.autocomplete ?? 'off'}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n onFocus={handleInputFocus}\n />\n </div>\n <div className=\"form-field__icons\">\n {isInvalid && !Array.isArray(errorsRef.current) && (\n <Tooltip\n className=\"form-field__warning\"\n template={\n <TextTooltipTemplate text={errorsRef.current?.label ?? invalidText} warning />\n }\n >\n <ExclamationMarkIcon />\n </Tooltip>\n )}\n {isInvalid && Array.isArray(errorsRef.current) && (\n <button className=\"form-field__warning\" onClick={toggleValidationRulesMenu}>\n <WarningIcon />\n </button>\n )}\n {tip && <Tip text={tip} className=\"form-field__tip\" />}\n {inputIcon && (\n <span data-testid=\"input-icon\" className={iconClass} onClick={iconClick}>\n {inputIcon}\n </span>\n )}\n </div>\n {type === 'number' && (\n <InputNumberButtons {...{ ...inputProps, step: +step, ...input, disabled }} />\n )}\n </div>\n {suggestionList?.length > 0 && isFocused && (\n <ul className=\"form-field__suggestion-list\">\n {suggestionList.map((item, index) => {\n return (\n <li\n className=\"suggestion-item\"\n key={`${item}${index}`}\n onClick={() => {\n handleSuggestionClick(item)\n }}\n tabIndex={index}\n dangerouslySetInnerHTML={{\n __html: item.replace(new RegExp(typedValue, 'gi'), match =>\n match ? `<b>${match}</b>` : match\n )\n }}\n />\n )\n })}\n </ul>\n )}\n {!isEmpty(validationRules) && isInvalid && Array.isArray(errorsRef.current) && (\n <OptionsMenu show={showValidationRules} ref={{ refInputContainer: ref }}>\n {getValidationRules()}\n </OptionsMenu>\n )}\n </div>\n )\n }}\n </Field>\n )\n}\n\nFormInput = React.memo(forwardRef(FormInput))\n\nFormInput.displayName = 'FormInput'\n\nFormInput.propTypes = {\n async: PropTypes.bool,\n className: PropTypes.string,\n customRequiredLabel: PropTypes.string,\n density: DENSITY,\n disabled: PropTypes.bool,\n focused: PropTypes.bool,\n iconClass: PropTypes.string,\n iconClick: PropTypes.func,\n inputIcon: PropTypes.element,\n invalidText: PropTypes.string,\n label: PropTypes.string,\n link: INPUT_LINK,\n max: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n min: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string.isRequired,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onKeyDown: PropTypes.func,\n onValidationError: PropTypes.func,\n pattern: PropTypes.string,\n placeholder: PropTypes.string,\n required: PropTypes.bool,\n step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n suggestionList: PropTypes.arrayOf(PropTypes.string),\n tip: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n type: PropTypes.string,\n validationRules: INPUT_VALIDATION_RULES,\n validator: PropTypes.func,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n withoutBorder: PropTypes.bool\n}\n\nexport default React.memo(FormInput)\n"],"names":["defaultProps","FormInput","async","className","customRequiredLabel","density","disabled","focused","iconClass","iconClick","inputIcon","invalidText","label","link","name","onBlur","onFocus","onKeyDown","pattern","required","onValidationError","suggestionList","step","tip","type","rules","validator","withoutBorder","inputProps","ref","input","meta","useField","isInvalid","setIsInvalid","useState","isFocused","setIsFocused","typedValue","setTypedValue","validationPattern","validationRules","setValidationRules","showValidationRules","setShowValidationRules","wrapperRef","useRef","inputRef","errorsRef","isRequiredRulePresentRef","useDetectOutsideClick","debounceAsync","useDebounce","formFieldClassNames","classNames","inputWrapperClassNames","labelClassNames","useEffect","isInputInvalid","handleScroll","rule","ValidationConstants","err","getValidationRules","isValid","ValidationTemplate","isValueEmptyAndValid","value","handleInputBlur","event","_a","handleInputFocus","handleInputKeyDown","handleSuggestionClick","item","toggleValidationRulesMenu","state","validateField","allValues","valueToValidate","isNil","validationError","isEmpty","newRules","isValidField","checkPatternsValidity","invalidRules","validateFieldAsync","checkPatternsValidityAsync","jsx","Field","val","jsxs","Tooltip","TextTooltipTemplate","Popout","ExclamationMarkIcon","WarningIcon","Tip","InputNumberButtons","index","match","OptionsMenu","React","forwardRef","PropTypes","DENSITY","INPUT_LINK","INPUT_VALIDATION_RULES","FormInput$1"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ declare namespace _default {
2
+ export let title: string;
3
+ export { FormInput 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 withTip: any;
11
+ export const withValidationRules: any;
12
+ export const withLink: any;
13
+ export const Range: any;
14
+ //# sourceMappingURL=FormInput.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormInput.stories.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormInput/FormInput.stories.js"],"names":[],"mappings":";;;;;AAiCA,wBAAsC;AAOtC,yBAAuC;AAOvC,yBAAuC;AAOvC,yBAAuC;AAOvC,0BAAwC;AAOxC,sCAAoD;AASpD,2BAAyC;AAWzC,wBAAsC"}
@@ -0,0 +1,20 @@
1
+ export default InputNumberButtons;
2
+ declare function InputNumberButtons({ disabled, min, max, onChange, step, value }: {
3
+ disabled?: boolean;
4
+ min?: any;
5
+ max?: any;
6
+ onChange: any;
7
+ step?: number;
8
+ value: any;
9
+ }): JSX.Element;
10
+ declare namespace InputNumberButtons {
11
+ namespace propTypes {
12
+ let disabled: any;
13
+ let min: any;
14
+ let max: any;
15
+ let onChange: any;
16
+ let step: any;
17
+ let value: any;
18
+ }
19
+ }
20
+ //# sourceMappingURL=InputNumberButtons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputNumberButtons.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/FormInput/InputNumberButtons/InputNumberButtons.jsx"],"names":[],"mappings":";AA0BA;;;;;;;gBAuDC"}
@@ -0,0 +1,61 @@
1
+ import { jsx as o, jsxs as g } from "react/jsx-runtime";
2
+ import _ from "react";
3
+ import e from "prop-types";
4
+ import { isNil as N } from "lodash";
5
+ import { performFloatOperation as d } from "../../../utils/math.util.mjs";
6
+ import p from "../../../images/range-arrow-small.svg.mjs";
7
+ /* empty css */
8
+ let i = ({
9
+ disabled: u = !1,
10
+ min: n = null,
11
+ max: a = null,
12
+ onChange: c,
13
+ step: s = 1,
14
+ value: t
15
+ }) => {
16
+ const f = (l) => {
17
+ if (l.preventDefault(), a && t >= a) return;
18
+ let r = m() ? s : d(t, s, "+");
19
+ r = a && r > a ? a : r, c(r);
20
+ }, b = (l) => {
21
+ if (l.preventDefault(), n && t <= n) return;
22
+ let r = m() ? -s : d(t, s, "-");
23
+ r = n && r < n ? n : r, c(r);
24
+ }, m = () => N(t) || t === "";
25
+ return /* @__PURE__ */ o("div", { "data-testid": "range-input-container", className: "form-field-range", children: /* @__PURE__ */ g("div", { className: "range__buttons", children: [
26
+ /* @__PURE__ */ o(
27
+ "button",
28
+ {
29
+ "data-testid": "btn-increase",
30
+ className: "range__button range__button-increase",
31
+ disabled: u,
32
+ onClick: f,
33
+ children: /* @__PURE__ */ o(p, { className: "increase" })
34
+ }
35
+ ),
36
+ /* @__PURE__ */ o(
37
+ "button",
38
+ {
39
+ "data-testid": "btn-decrease",
40
+ className: "range__button range__button-decrease",
41
+ disabled: u,
42
+ onClick: b,
43
+ children: /* @__PURE__ */ o(p, { className: "decrease" })
44
+ }
45
+ )
46
+ ] }) });
47
+ };
48
+ i.propTypes = {
49
+ disabled: e.bool,
50
+ min: e.oneOfType([e.string, e.number]),
51
+ max: e.oneOfType([e.string, e.number]),
52
+ onChange: e.func.isRequired,
53
+ step: e.number,
54
+ value: e.oneOfType([e.string, e.number]).isRequired
55
+ };
56
+ i = _.memo(i);
57
+ const D = i;
58
+ export {
59
+ D as default
60
+ };
61
+ //# sourceMappingURL=InputNumberButtons.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputNumberButtons.mjs","sources":["../../../../src/lib/components/FormInput/InputNumberButtons/InputNumberButtons.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 from 'react'\nimport PropTypes from 'prop-types'\nimport { isNil } from 'lodash'\n\nimport { performFloatOperation } from '../../../utils/math.util'\n\nimport Arrow from '../../../images/range-arrow-small.svg?react'\n\nimport './InputNumberButtons.scss'\n\nlet InputNumberButtons = ({\n disabled = false,\n min = null,\n max = null,\n onChange,\n step = 1,\n value\n}) => {\n const handleIncrease = event => {\n event.preventDefault()\n if (max && value >= max) return\n\n let newValue = isCurrentValueEmpty() ? step : performFloatOperation(value, step, '+')\n newValue = max && newValue > max ? max : newValue\n\n onChange(newValue)\n }\n\n const handleDecrease = event => {\n event.preventDefault()\n\n if (min && value <= min) return\n\n let newValue = isCurrentValueEmpty() ? -step : performFloatOperation(value, step, '-')\n newValue = min && newValue < min ? min : newValue\n\n onChange(newValue)\n }\n\n const isCurrentValueEmpty = () => {\n return isNil(value) || value === ''\n }\n\n return (\n <div data-testid=\"range-input-container\" className=\"form-field-range\">\n <div className=\"range__buttons\">\n <button\n data-testid=\"btn-increase\"\n className=\"range__button range__button-increase\"\n disabled={disabled}\n onClick={handleIncrease}\n >\n <Arrow className=\"increase\" />\n </button>\n <button\n data-testid=\"btn-decrease\"\n className=\"range__button range__button-decrease\"\n disabled={disabled}\n onClick={handleDecrease}\n >\n <Arrow className=\"decrease\" />\n </button>\n </div>\n </div>\n )\n}\n\nInputNumberButtons.propTypes = {\n disabled: PropTypes.bool,\n min: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n max: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func.isRequired,\n step: PropTypes.number,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired\n}\n\nInputNumberButtons = React.memo(InputNumberButtons)\n\nexport default InputNumberButtons\n"],"names":["InputNumberButtons","disabled","min","max","onChange","step","value","handleIncrease","event","newValue","isCurrentValueEmpty","performFloatOperation","handleDecrease","isNil","jsx","jsxs","Arrow","PropTypes","React","InputNumberButtons$1"],"mappings":";;;;;;;AA0BA,IAAIA,IAAqB,CAAC;AAAA,EACxB,UAAAC,IAAW;AAAA,EACX,KAAAC,IAAM;AAAA,EACN,KAAAC,IAAM;AAAA,EACN,UAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AACF,MAAM;AACJ,QAAMC,IAAiB,CAASC,MAAA;AAE1B,QADJA,EAAM,eAAe,GACjBL,KAAOG,KAASH,EAAK;AAEzB,QAAIM,IAAWC,MAAwBL,IAAOM,EAAsBL,GAAOD,GAAM,GAAG;AACzE,IAAAI,IAAAN,KAAOM,IAAWN,IAAMA,IAAMM,GAEzCL,EAASK,CAAQ;AAAA,EACnB,GAEMG,IAAiB,CAASJ,MAAA;AAG1B,QAFJA,EAAM,eAAe,GAEjBN,KAAOI,KAASJ,EAAK;AAErB,QAAAO,IAAWC,MAAwB,CAACL,IAAOM,EAAsBL,GAAOD,GAAM,GAAG;AAC1E,IAAAI,IAAAP,KAAOO,IAAWP,IAAMA,IAAMO,GAEzCL,EAASK,CAAQ;AAAA,EACnB,GAEMC,IAAsB,MACnBG,EAAMP,CAAK,KAAKA,MAAU;AAIjC,SAAA,gBAAAQ,EAAC,SAAI,eAAY,yBAAwB,WAAU,oBACjD,UAAA,gBAAAC,EAAC,OAAI,EAAA,WAAU,kBACb,UAAA;AAAA,IAAA,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,WAAU;AAAA,QACV,UAAAb;AAAA,QACA,SAASM;AAAA,QAET,UAAA,gBAAAO,EAACE,GAAM,EAAA,WAAU,WAAW,CAAA;AAAA,MAAA;AAAA,IAC9B;AAAA,IACA,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,WAAU;AAAA,QACV,UAAAb;AAAA,QACA,SAASW;AAAA,QAET,UAAA,gBAAAE,EAACE,GAAM,EAAA,WAAU,WAAW,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC9B,EAAA,CACF,EACF,CAAA;AAEJ;AAEAhB,EAAmB,YAAY;AAAA,EAC7B,UAAUiB,EAAU;AAAA,EACpB,KAAKA,EAAU,UAAU,CAACA,EAAU,QAAQA,EAAU,MAAM,CAAC;AAAA,EAC7D,KAAKA,EAAU,UAAU,CAACA,EAAU,QAAQA,EAAU,MAAM,CAAC;AAAA,EAC7D,UAAUA,EAAU,KAAK;AAAA,EACzB,MAAMA,EAAU;AAAA,EAChB,OAAOA,EAAU,UAAU,CAACA,EAAU,QAAQA,EAAU,MAAM,CAAC,EAAE;AACnE;AAEAjB,IAAqBkB,EAAM,KAAKlB,CAAkB;AAElD,MAAAmB,IAAenB;"}
@@ -0,0 +1,49 @@
1
+ export default FormKeyValueTable;
2
+ declare function FormKeyValueTable({ actionButtonId, addNewItemLabel, className, defaultKey, disabled, exitEditModeTriggerItem, fieldsPath, formState, isKeyEditable, isKeyRequired, isValueRequired, keyHeader, keyLabel, keyOptions, keyValidationRules, onExitEditModeCallback, valueHeader, valueLabel, valueType, valueValidationRules }: {
3
+ actionButtonId?: string;
4
+ addNewItemLabel?: string;
5
+ className?: string;
6
+ defaultKey?: string;
7
+ disabled?: boolean;
8
+ exitEditModeTriggerItem?: any;
9
+ fieldsPath: any;
10
+ formState: any;
11
+ isKeyEditable?: boolean;
12
+ isKeyRequired?: boolean;
13
+ isValueRequired?: boolean;
14
+ keyHeader?: string;
15
+ keyLabel?: string;
16
+ keyOptions?: any;
17
+ keyValidationRules?: any[];
18
+ onExitEditModeCallback?: () => void;
19
+ valueHeader?: string;
20
+ valueLabel?: string;
21
+ valueType?: string;
22
+ valueValidationRules?: any[];
23
+ }): JSX.Element;
24
+ declare namespace FormKeyValueTable {
25
+ namespace propTypes {
26
+ export let actionButtonId: any;
27
+ export let addNewItemLabel: any;
28
+ export let className: any;
29
+ export let defaultKey: any;
30
+ export let disabled: any;
31
+ export let exitEditModeTriggerItem: any;
32
+ export let fieldsPath: any;
33
+ export let formState: any;
34
+ export let isKeyEditable: any;
35
+ export let isKeyRequired: any;
36
+ export let isValueRequired: any;
37
+ export let keyHeader: any;
38
+ export let keyLabel: any;
39
+ export let keyOptions: any;
40
+ export { INPUT_VALIDATION_RULES as keyValidationRules };
41
+ export let onExitEditModeCallback: any;
42
+ export let valueHeader: any;
43
+ export let valueLabel: any;
44
+ export let valueType: any;
45
+ export { INPUT_VALIDATION_RULES as valueValidationRules };
46
+ }
47
+ }
48
+ import { INPUT_VALIDATION_RULES } from '../../types';
49
+ //# sourceMappingURL=FormKeyValueTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormKeyValueTable.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormKeyValueTable/FormKeyValueTable.jsx"],"names":[],"mappings":";AA+BA;;;;;;;;;;;;;;;;;;;;;gBAuKC;;;;;;;;;;;;;;;;;;;;;;;;;uCAzKsC,aAAa"}
@@ -0,0 +1,202 @@
1
+ import { jsx as a, jsxs as m, Fragment as G } from "react/jsx-runtime";
2
+ import "react";
3
+ import e from "prop-types";
4
+ import y from "classnames";
5
+ import { FieldArray as J } from "react-final-form-arrays";
6
+ import Q from "../FormSelect/FormSelect.mjs";
7
+ import N from "../FormInput/FormInput.mjs";
8
+ import g from "../Tooltip/Tooltip.mjs";
9
+ import R from "../TooltipTemplate/TextTooltipTemplate.mjs";
10
+ import W from "../../elements/FormActionButton/FormActionButton.mjs";
11
+ import h from "../../elements/FormRowActions/FormRowActions.mjs";
12
+ import "../../hooks/index.mjs";
13
+ import { INPUT_VALIDATION_RULES as w } from "../../types.mjs";
14
+ import { useFormTable as X } from "../../hooks/useFormTable.hook.mjs";
15
+ const Y = ({
16
+ actionButtonId: T = "",
17
+ addNewItemLabel: k = "Add new item",
18
+ className: q = "",
19
+ defaultKey: F = "",
20
+ disabled: s = !1,
21
+ exitEditModeTriggerItem: C = null,
22
+ fieldsPath: i,
23
+ formState: E,
24
+ isKeyEditable: K = !0,
25
+ isKeyRequired: V = !0,
26
+ isValueRequired: A = !0,
27
+ keyHeader: I = "Key",
28
+ keyLabel: L = "Key",
29
+ keyOptions: u = null,
30
+ keyValidationRules: S = [],
31
+ onExitEditModeCallback: x = () => {
32
+ },
33
+ valueHeader: M = "Value",
34
+ valueLabel: O = "Value",
35
+ valueType: d = "text",
36
+ valueValidationRules: $ = []
37
+ }) => {
38
+ const j = y(
39
+ "form-table form-key-value-table",
40
+ s && "form-table_disabled",
41
+ q
42
+ ), {
43
+ addNewRow: B,
44
+ applyChanges: _,
45
+ bottomScrollRef: D,
46
+ deleteRow: p,
47
+ discardOrDelete: b,
48
+ editingItem: t,
49
+ enterEditMode: H,
50
+ isCurrentRowEditing: U
51
+ } = X(E, C, x), z = (l, n) => !l.value.some(({ data: { key: o } }, r) => n.trim() === o.trim() && r !== t.ui.index), f = (l) => /* @__PURE__ */ a(g, { template: /* @__PURE__ */ a(R, { text: l }), children: l });
52
+ return /* @__PURE__ */ m("div", { className: j, "data-testid": i, children: [
53
+ /* @__PURE__ */ m("div", { className: "form-table__row form-table__header-row no-hover", children: [
54
+ /* @__PURE__ */ a("div", { className: "form-table__cell form-table__cell_1", children: I }),
55
+ /* @__PURE__ */ a("div", { className: "form-table__cell form-table__cell_1", children: M }),
56
+ /* @__PURE__ */ a("div", { className: "form-table__cell form-table__actions-cell" })
57
+ ] }),
58
+ /* @__PURE__ */ a(J, { name: i, children: ({ fields: l }) => {
59
+ var n;
60
+ return /* @__PURE__ */ m(G, { children: [
61
+ l.map((o, r) => {
62
+ const v = y(
63
+ "form-table__row",
64
+ U(o) && "form-table__row_active"
65
+ );
66
+ return t && r === t.ui.index && !s ? /* @__PURE__ */ m("div", { className: v, children: [
67
+ /* @__PURE__ */ a("div", { className: "form-table__cell form-table__cell_1", children: u ? /* @__PURE__ */ a(
68
+ Q,
69
+ {
70
+ name: `${o}.data.key`,
71
+ density: "normal",
72
+ options: u
73
+ }
74
+ ) : K || t.ui.isNew ? /* @__PURE__ */ a(
75
+ N,
76
+ {
77
+ className: "input_edit",
78
+ placeholder: L,
79
+ density: "normal",
80
+ name: `${o}.data.key`,
81
+ required: V,
82
+ validationRules: [
83
+ ...S,
84
+ {
85
+ name: "uniqueness",
86
+ label: "Name must be unique",
87
+ pattern: (c) => z(l, c)
88
+ }
89
+ ]
90
+ }
91
+ ) : f(l.value[r].data.key) }),
92
+ /* @__PURE__ */ a("div", { className: "form-table__cell form-table__cell_1", children: /* @__PURE__ */ a(
93
+ N,
94
+ {
95
+ className: "input_edit",
96
+ placeholder: O,
97
+ density: "normal",
98
+ name: `${o}.data.value`,
99
+ type: d,
100
+ required: A,
101
+ validationRules: $
102
+ }
103
+ ) }),
104
+ /* @__PURE__ */ a(
105
+ h,
106
+ {
107
+ applyChanges: _,
108
+ deleteRow: p,
109
+ discardOrDelete: b,
110
+ editingItem: t,
111
+ fieldsPath: i,
112
+ index: r
113
+ }
114
+ )
115
+ ] }, r) : /* @__PURE__ */ m(
116
+ "div",
117
+ {
118
+ className: v,
119
+ onClick: (c) => !s && H(c, l, i, r),
120
+ children: [
121
+ /* @__PURE__ */ a("div", { className: "form-table__cell form-table__cell_1", children: f(l.value[r].data.key) }),
122
+ /* @__PURE__ */ a("div", { className: "form-table__cell form-table__cell_1", children: /* @__PURE__ */ a(
123
+ g,
124
+ {
125
+ template: /* @__PURE__ */ a(
126
+ R,
127
+ {
128
+ text: d === "password" ? null : l.value[r].data.value
129
+ }
130
+ ),
131
+ children: d === "password" ? "*****" : l.value[r].data.value
132
+ }
133
+ ) }),
134
+ /* @__PURE__ */ a(
135
+ h,
136
+ {
137
+ applyChanges: _,
138
+ deleteRow: p,
139
+ discardOrDelete: b,
140
+ editingItem: t,
141
+ fieldsPath: i,
142
+ index: r
143
+ }
144
+ )
145
+ ]
146
+ },
147
+ r
148
+ );
149
+ }),
150
+ /* @__PURE__ */ a(
151
+ W,
152
+ {
153
+ ref: D,
154
+ disabled: s,
155
+ hidden: (n = t == null ? void 0 : t.ui) == null ? void 0 : n.isNew,
156
+ fields: l,
157
+ id: T,
158
+ label: k,
159
+ onClick: (...o) => B(...o, {
160
+ data: {
161
+ key: F || "",
162
+ value: ""
163
+ }
164
+ }),
165
+ fieldsPath: i
166
+ }
167
+ )
168
+ ] });
169
+ } })
170
+ ] });
171
+ };
172
+ Y.propTypes = {
173
+ actionButtonId: e.string,
174
+ addNewItemLabel: e.string,
175
+ className: e.string,
176
+ defaultKey: e.string,
177
+ disabled: e.bool,
178
+ exitEditModeTriggerItem: e.any,
179
+ fieldsPath: e.string.isRequired,
180
+ formState: e.shape({}).isRequired,
181
+ isKeyEditable: e.bool,
182
+ isKeyRequired: e.bool,
183
+ isValueRequired: e.bool,
184
+ keyHeader: e.string,
185
+ keyLabel: e.string,
186
+ keyOptions: e.arrayOf(
187
+ e.shape({
188
+ label: e.string.isRequired,
189
+ id: e.string.isRequired
190
+ })
191
+ ),
192
+ keyValidationRules: w,
193
+ onExitEditModeCallback: e.func,
194
+ valueHeader: e.string,
195
+ valueLabel: e.string,
196
+ valueType: e.string,
197
+ valueValidationRules: w
198
+ };
199
+ export {
200
+ Y as default
201
+ };
202
+ //# sourceMappingURL=FormKeyValueTable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormKeyValueTable.mjs","sources":["../../../src/lib/components/FormKeyValueTable/FormKeyValueTable.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 from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport { FieldArray } from 'react-final-form-arrays'\n\nimport FormSelect from '../../components/FormSelect/FormSelect'\nimport FormInput from '../../components/FormInput/FormInput'\nimport Tooltip from '../../components/Tooltip/Tooltip'\nimport TextTooltipTemplate from '../../components/TooltipTemplate/TextTooltipTemplate'\nimport FormActionButton from '../../elements/FormActionButton/FormActionButton'\nimport FormRowActions from '../../elements/FormRowActions/FormRowActions'\n\nimport { useFormTable } from '../../hooks'\nimport { INPUT_VALIDATION_RULES } from '../../types'\n\nconst FormKeyValueTable = ({\n actionButtonId = '',\n addNewItemLabel = 'Add new item',\n className = '',\n defaultKey = '',\n disabled = false,\n exitEditModeTriggerItem = null,\n fieldsPath,\n formState,\n isKeyEditable = true,\n isKeyRequired = true,\n isValueRequired = true,\n keyHeader = 'Key',\n keyLabel = 'Key',\n keyOptions = null,\n keyValidationRules = [],\n onExitEditModeCallback = () => {},\n valueHeader = 'Value',\n valueLabel = 'Value',\n valueType = 'text',\n valueValidationRules = []\n}) => {\n const tableClassNames = classnames(\n 'form-table form-key-value-table',\n disabled && 'form-table_disabled',\n className\n )\n const {\n addNewRow,\n applyChanges,\n bottomScrollRef,\n deleteRow,\n discardOrDelete,\n editingItem,\n enterEditMode,\n isCurrentRowEditing\n } = useFormTable(formState, exitEditModeTriggerItem, onExitEditModeCallback)\n\n const uniquenessValidator = (fields, newValue) => {\n return !fields.value.some(({ data: { key } }, index) => {\n return newValue.trim() === key.trim() && index !== editingItem.ui.index\n })\n }\n\n const getKeyTextTemplate = keyValue => {\n return <Tooltip template={<TextTooltipTemplate text={keyValue} />}>{keyValue}</Tooltip>\n }\n\n return (\n <div className={tableClassNames} data-testid={fieldsPath}>\n <div className=\"form-table__row form-table__header-row no-hover\">\n <div className=\"form-table__cell form-table__cell_1\">{keyHeader}</div>\n <div className=\"form-table__cell form-table__cell_1\">{valueHeader}</div>\n <div className=\"form-table__cell form-table__actions-cell\" />\n </div>\n <FieldArray name={fieldsPath}>\n {({ fields }) => (\n <>\n {fields.map((rowPath, index) => {\n const tableRowClassNames = classnames(\n 'form-table__row',\n isCurrentRowEditing(rowPath) && 'form-table__row_active'\n )\n\n return editingItem && index === editingItem.ui.index && !disabled ? (\n <div className={tableRowClassNames} key={index}>\n <div className=\"form-table__cell form-table__cell_1\">\n {keyOptions ? (\n <FormSelect\n name={`${rowPath}.data.key`}\n density=\"normal\"\n options={keyOptions}\n />\n ) : isKeyEditable || editingItem.ui.isNew ? (\n <FormInput\n className=\"input_edit\"\n placeholder={keyLabel}\n density=\"normal\"\n name={`${rowPath}.data.key`}\n required={isKeyRequired}\n validationRules={[\n ...keyValidationRules,\n {\n name: 'uniqueness',\n label: 'Name must be unique',\n pattern: newValue => uniquenessValidator(fields, newValue)\n }\n ]}\n />\n ) : (\n getKeyTextTemplate(fields.value[index].data.key)\n )}\n </div>\n <div className=\"form-table__cell form-table__cell_1\">\n <FormInput\n className=\"input_edit\"\n placeholder={valueLabel}\n density=\"normal\"\n name={`${rowPath}.data.value`}\n type={valueType}\n required={isValueRequired}\n validationRules={valueValidationRules}\n />\n </div>\n <FormRowActions\n applyChanges={applyChanges}\n deleteRow={deleteRow}\n discardOrDelete={discardOrDelete}\n editingItem={editingItem}\n fieldsPath={fieldsPath}\n index={index}\n />\n </div>\n ) : (\n <div\n className={tableRowClassNames}\n key={index}\n onClick={event => !disabled && enterEditMode(event, fields, fieldsPath, index)}\n >\n <div className=\"form-table__cell form-table__cell_1\">\n {getKeyTextTemplate(fields.value[index].data.key)}\n </div>\n <div className=\"form-table__cell form-table__cell_1\">\n <Tooltip\n template={\n <TextTooltipTemplate\n text={valueType === 'password' ? null : fields.value[index].data.value}\n />\n }\n >\n {valueType === 'password' ? '*****' : fields.value[index].data.value}\n </Tooltip>\n </div>\n <FormRowActions\n applyChanges={applyChanges}\n deleteRow={deleteRow}\n discardOrDelete={discardOrDelete}\n editingItem={editingItem}\n fieldsPath={fieldsPath}\n index={index}\n />\n </div>\n )\n })}\n\n <FormActionButton\n ref={bottomScrollRef}\n disabled={disabled}\n hidden={editingItem?.ui?.isNew}\n fields={fields}\n id={actionButtonId}\n label={addNewItemLabel}\n onClick={(...addRowArgs) =>\n addNewRow(...addRowArgs, {\n data: {\n key: defaultKey || '',\n value: ''\n }\n })\n }\n fieldsPath={fieldsPath}\n />\n </>\n )}\n </FieldArray>\n </div>\n )\n}\n\nFormKeyValueTable.propTypes = {\n actionButtonId: PropTypes.string,\n addNewItemLabel: PropTypes.string,\n className: PropTypes.string,\n defaultKey: PropTypes.string,\n disabled: PropTypes.bool,\n exitEditModeTriggerItem: PropTypes.any,\n fieldsPath: PropTypes.string.isRequired,\n formState: PropTypes.shape({}).isRequired,\n isKeyEditable: PropTypes.bool,\n isKeyRequired: PropTypes.bool,\n isValueRequired: PropTypes.bool,\n keyHeader: PropTypes.string,\n keyLabel: PropTypes.string,\n keyOptions: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired\n })\n ),\n keyValidationRules: INPUT_VALIDATION_RULES,\n onExitEditModeCallback: PropTypes.func,\n valueHeader: PropTypes.string,\n valueLabel: PropTypes.string,\n valueType: PropTypes.string,\n valueValidationRules: INPUT_VALIDATION_RULES\n}\n\nexport default FormKeyValueTable\n"],"names":["FormKeyValueTable","actionButtonId","addNewItemLabel","className","defaultKey","disabled","exitEditModeTriggerItem","fieldsPath","formState","isKeyEditable","isKeyRequired","isValueRequired","keyHeader","keyLabel","keyOptions","keyValidationRules","onExitEditModeCallback","valueHeader","valueLabel","valueType","valueValidationRules","tableClassNames","classnames","addNewRow","applyChanges","bottomScrollRef","deleteRow","discardOrDelete","editingItem","enterEditMode","isCurrentRowEditing","useFormTable","uniquenessValidator","fields","newValue","key","index","getKeyTextTemplate","keyValue","jsx","Tooltip","TextTooltipTemplate","jsxs","FieldArray","Fragment","rowPath","tableRowClassNames","FormSelect","FormInput","FormRowActions","event","FormActionButton","_a","addRowArgs","PropTypes","INPUT_VALIDATION_RULES"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export default FormOnChange;
2
+ declare function FormOnChange({ handler, name }: {
3
+ handler: any;
4
+ name: any;
5
+ }): JSX.Element;
6
+ declare namespace FormOnChange {
7
+ namespace propTypes {
8
+ let handler: any;
9
+ let name: any;
10
+ }
11
+ }
12
+ //# sourceMappingURL=FormOnChange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormOnChange.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormOnChange/FormOnChange.jsx"],"names":[],"mappings":";AAyCA;;;gBAWC"}
@@ -0,0 +1,33 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { useState as n, useEffect as p } from "react";
3
+ import { Field as a } from "react-final-form";
4
+ import s from "prop-types";
5
+ const u = ({ inputValue: e, handler: o }) => {
6
+ const [r, i] = n(e);
7
+ return p(() => {
8
+ e !== r && (i(e), o(e, r));
9
+ }, [o, e, r]), null;
10
+ };
11
+ u.propTypes = {
12
+ inputValue: s.any.isRequired,
13
+ handler: s.func.isRequired
14
+ };
15
+ const l = ({ handler: e, name: o }) => /* @__PURE__ */ t(
16
+ a,
17
+ {
18
+ name: o,
19
+ subscription: {
20
+ value: !0
21
+ },
22
+ allowNull: !0,
23
+ render: ({ input: r }) => /* @__PURE__ */ t(u, { inputValue: r.value, handler: e })
24
+ }
25
+ );
26
+ l.propTypes = {
27
+ handler: s.func.isRequired,
28
+ name: s.string.isRequired
29
+ };
30
+ export {
31
+ l as default
32
+ };
33
+ //# sourceMappingURL=FormOnChange.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormOnChange.mjs","sources":["../../../src/lib/components/FormOnChange/FormOnChange.jsx"],"sourcesContent":["/*\nCopyright 2019 Iguazio Systems Ltd.\n\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.\n\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.\n\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, { useEffect, useState } from 'react'\nimport { Field } from 'react-final-form'\nimport PropTypes from 'prop-types'\n\nconst OnChangeState = ({ inputValue, handler }) => {\n const [previousValue, setPreviousValue] = useState(inputValue)\n\n useEffect(() => {\n if (inputValue !== previousValue) {\n setPreviousValue(inputValue)\n handler(inputValue, previousValue)\n }\n }, [handler, inputValue, previousValue])\n\n return null\n}\n\nOnChangeState.propTypes = {\n inputValue: PropTypes.any.isRequired,\n handler: PropTypes.func.isRequired\n}\n\nconst FormOnChange = ({ handler, name }) => {\n return (\n <Field\n name={name}\n subscription={{\n value: true\n }}\n allowNull\n render={({ input }) => <OnChangeState inputValue={input.value} handler={handler} />}\n />\n )\n}\n\nFormOnChange.propTypes = {\n handler: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired\n}\n\nexport default FormOnChange\n"],"names":["OnChangeState","inputValue","handler","previousValue","setPreviousValue","useState","useEffect","PropTypes","FormOnChange","name","jsx","Field","input"],"mappings":";;;;AAuBA,MAAMA,IAAgB,CAAC,EAAE,YAAAC,GAAY,SAAAC,QAAc;AACjD,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAASJ,CAAU;AAE7D,SAAAK,EAAU,MAAM;AACd,IAAIL,MAAeE,MACjBC,EAAiBH,CAAU,GAC3BC,EAAQD,GAAYE,CAAa;AAAA,EAElC,GAAA,CAACD,GAASD,GAAYE,CAAa,CAAC,GAEhC;AACT;AAEAH,EAAc,YAAY;AAAA,EACxB,YAAYO,EAAU,IAAI;AAAA,EAC1B,SAASA,EAAU,KAAK;AAC1B;AAEA,MAAMC,IAAe,CAAC,EAAE,SAAAN,GAAS,MAAAO,QAE7B,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,MAAAF;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA,WAAS;AAAA,IACT,QAAQ,CAAC,EAAE,OAAAG,EAAM,wBAAOZ,GAAc,EAAA,YAAYY,EAAM,OAAO,SAAAV,EAAkB,CAAA;AAAA,EAAA;AACnF;AAIJM,EAAa,YAAY;AAAA,EACvB,SAASD,EAAU,KAAK;AAAA,EACxB,MAAMA,EAAU,OAAO;AACzB;"}
@@ -0,0 +1,19 @@
1
+ export default FormRadio;
2
+ declare function FormRadio({ className, name, label, readOnly, tooltip, ...inputProps }: {
3
+ [x: string]: any;
4
+ className?: string;
5
+ name: any;
6
+ label: any;
7
+ readOnly?: boolean;
8
+ tooltip?: string;
9
+ }): JSX.Element;
10
+ declare namespace FormRadio {
11
+ namespace propTypes {
12
+ let className: any;
13
+ let label: any;
14
+ let name: any;
15
+ let readOnly: any;
16
+ let tooltip: any;
17
+ }
18
+ }
19
+ //# sourceMappingURL=FormRadio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormRadio.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormRadio/FormRadio.jsx"],"names":[],"mappings":";AA0BA;;;;;;;gBA2CC"}
@@ -0,0 +1,57 @@
1
+ import { jsx as l, jsxs as h } from "react/jsx-runtime";
2
+ import v from "react";
3
+ import o from "prop-types";
4
+ import { Field as p } from "react-final-form";
5
+ import m from "classnames";
6
+ import u from "../Tooltip/Tooltip.mjs";
7
+ import y from "../TooltipTemplate/TextTooltipTemplate.mjs";
8
+ /* empty css */
9
+ let a = ({
10
+ className: s = "",
11
+ name: e,
12
+ label: i,
13
+ readOnly: c = !1,
14
+ tooltip: t = "",
15
+ ...r
16
+ }) => {
17
+ const f = m(
18
+ "form-field-radio",
19
+ c && "form-field-radio_readonly",
20
+ s
21
+ );
22
+ return /* @__PURE__ */ l(p, { name: e, value: r.value, type: "radio", children: ({ input: d }) => /* @__PURE__ */ h(
23
+ "div",
24
+ {
25
+ className: f,
26
+ "data-testid": e ? `${e}-${r.value}-form-radio` : "form-field-radio",
27
+ children: [
28
+ /* @__PURE__ */ l(
29
+ "input",
30
+ {
31
+ className: m(d.checked ? "checked" : "unchecked"),
32
+ type: "radio",
33
+ "data-testid": e ? `${e}-${r.value}-radio` : "form-radio",
34
+ ...d,
35
+ ...r,
36
+ checked: d.checked,
37
+ id: e + r.value
38
+ }
39
+ ),
40
+ t ? /* @__PURE__ */ l(u, { className: "label", template: /* @__PURE__ */ l(y, { text: t }), children: /* @__PURE__ */ l("label", { htmlFor: e + r.value, children: i }) }) : /* @__PURE__ */ l("label", { htmlFor: e + r.value, children: i })
41
+ ]
42
+ }
43
+ ) });
44
+ };
45
+ a.propTypes = {
46
+ className: o.string,
47
+ label: o.string.isRequired,
48
+ name: o.string.isRequired,
49
+ readOnly: o.bool,
50
+ tooltip: o.string
51
+ };
52
+ a = v.memo(a);
53
+ const g = a;
54
+ export {
55
+ g as default
56
+ };
57
+ //# sourceMappingURL=FormRadio.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormRadio.mjs","sources":["../../../src/lib/components/FormRadio/FormRadio.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 from 'react'\nimport PropTypes from 'prop-types'\nimport { Field } from 'react-final-form'\nimport classNames from 'classnames'\n\nimport Tooltip from '../Tooltip/Tooltip'\nimport TextTooltipTemplate from '../TooltipTemplate/TextTooltipTemplate'\n\nimport './FormRadio.scss'\n\nlet FormRadio = ({\n className = '',\n name,\n label,\n readOnly = false,\n tooltip = '',\n ...inputProps\n}) => {\n const formFieldClassNames = classNames(\n 'form-field-radio',\n readOnly && 'form-field-radio_readonly',\n className\n )\n\n return (\n <Field name={name} value={inputProps.value} type=\"radio\">\n {({ input }) => (\n <div\n className={formFieldClassNames}\n data-testid={name ? `${name}-${inputProps.value}-form-radio` : 'form-field-radio'}\n >\n <input\n className={classNames(input.checked ? 'checked' : 'unchecked')}\n type=\"radio\"\n data-testid={name ? `${name}-${inputProps.value}-radio` : 'form-radio'}\n {...{\n ...input,\n ...inputProps\n }}\n checked={input.checked}\n id={name + inputProps.value}\n />\n {tooltip ? (\n <Tooltip className=\"label\" template={<TextTooltipTemplate text={tooltip} />}>\n <label htmlFor={name + inputProps.value}>{label}</label>\n </Tooltip>\n ) : (\n <label htmlFor={name + inputProps.value}>{label}</label>\n )}\n </div>\n )}\n </Field>\n )\n}\n\nFormRadio.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n readOnly: PropTypes.bool,\n tooltip: PropTypes.string\n}\n\nFormRadio = React.memo(FormRadio)\n\nexport default FormRadio\n"],"names":["FormRadio","className","name","label","readOnly","tooltip","inputProps","formFieldClassNames","classNames","jsx","Field","input","jsxs","Tooltip","TextTooltipTemplate","PropTypes","React","FormRadio$1"],"mappings":";;;;;;;;AA0BA,IAAIA,IAAY,CAAC;AAAA,EACf,WAAAC,IAAY;AAAA,EACZ,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAsBC;AAAAA,IAC1B;AAAA,IACAJ,KAAY;AAAA,IACZH;AAAA,EACF;AAGE,SAAA,gBAAAQ,EAACC,GAAM,EAAA,MAAAR,GAAY,OAAOI,EAAW,OAAO,MAAK,SAC9C,UAAA,CAAC,EAAE,OAAAK,EACF,MAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWL;AAAA,MACX,eAAaL,IAAO,GAAGA,CAAI,IAAII,EAAW,KAAK,gBAAgB;AAAA,MAE/D,UAAA;AAAA,QAAA,gBAAAG;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD,EAAWG,EAAM,UAAU,YAAY,WAAW;AAAA,YAC7D,MAAK;AAAA,YACL,eAAaT,IAAO,GAAGA,CAAI,IAAII,EAAW,KAAK,WAAW;AAAA,YAExD,GAAGK;AAAA,YACH,GAAGL;AAAA,YAEL,SAASK,EAAM;AAAA,YACf,IAAIT,IAAOI,EAAW;AAAA,UAAA;AAAA,QACxB;AAAA,QACCD,IACE,gBAAAI,EAAAI,GAAA,EAAQ,WAAU,SAAQ,UAAU,gBAAAJ,EAACK,GAAoB,EAAA,MAAMT,EAAS,CAAA,GACvE,UAAC,gBAAAI,EAAA,SAAA,EAAM,SAASP,IAAOI,EAAW,OAAQ,UAAAH,EAAA,CAAM,EAClD,CAAA,IAEC,gBAAAM,EAAA,SAAA,EAAM,SAASP,IAAOI,EAAW,OAAQ,UAAMH,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAIxD;AAEJ;AAEAH,EAAU,YAAY;AAAA,EACpB,WAAWe,EAAU;AAAA,EACrB,OAAOA,EAAU,OAAO;AAAA,EACxB,MAAMA,EAAU,OAAO;AAAA,EACvB,UAAUA,EAAU;AAAA,EACpB,SAASA,EAAU;AACrB;AAEAf,IAAYgB,EAAM,KAAKhB,CAAS;AAEhC,MAAAiB,IAAejB;"}
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ export let title: string;
3
+ export { FormRadio as component };
4
+ }
5
+ export default _default;
6
+ export const Normal: any;
7
+ //# sourceMappingURL=FormRadio.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormRadio.stories.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormRadio/FormRadio.stories.js"],"names":[],"mappings":";;;;;AAkCA,yBAAuC"}