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,306 @@
1
+ import o, { isEmpty as d } from "lodash";
2
+ import { validation as n } from "../constants.mjs";
3
+ const s = (e) => e.replace(/-/g, "–").replace(/\s/g, ", ").replace(/\bs\b/, "spaces"), E = (e) => e.split(" ").map((t) => t.length === 1 ? "\\" + t : t).join(""), A = (e) => o.some(e, ["isValid", !1]), b = (e = "Required") => (t) => [t.trim() !== "" && typeof t == "string", e], g = (e, t = "", r = !0) => {
4
+ const i = !r && d(t) ? e : e.filter((l) => !l.async).map((l) => ({
5
+ ...l,
6
+ isValid: o.isFunction(l.pattern) ? l.pattern(t) : (
7
+ /* else, it is a RegExp */
8
+ l.pattern.test(t)
9
+ )
10
+ }));
11
+ return [i, !A(i)];
12
+ }, _ = async (e, t) => {
13
+ const [r] = g(e, t), i = await Promise.all(
14
+ e.filter((c) => c.async).map(async (c) => ({
15
+ ...c,
16
+ isValid: await c.pattern(t)
17
+ }))
18
+ ), l = r.concat(i);
19
+ return [l, !A(l)];
20
+ }, a = {
21
+ beginWith: (e) => ({
22
+ name: n.BEGIN_WITH.NAME,
23
+ label: n.BEGIN_WITH.LABEL + ": " + s(e),
24
+ pattern: new RegExp("^[" + E(e) + "]")
25
+ }),
26
+ beginNotWith: (e) => ({
27
+ name: n.BEGIN_NOT_WITH.NAME,
28
+ label: n.BEGIN_NOT_WITH.LABEL + ": " + s(e),
29
+ pattern: new RegExp("^[^" + E(e) + "]")
30
+ }),
31
+ endWith: (e) => ({
32
+ name: n.END_WITH.NAME,
33
+ label: n.END_WITH.LABEL + ": " + s(e),
34
+ pattern: new RegExp("[" + E(e) + "]$")
35
+ }),
36
+ endNotWith: (e) => ({
37
+ name: n.END_NOT_WITH.NAME,
38
+ label: n.END_NOT_WITH.LABEL + ": " + s(e),
39
+ pattern: new RegExp("[^" + E(e) + "]$")
40
+ }),
41
+ beginEndWith: (e, t = "") => {
42
+ const r = E(e);
43
+ return {
44
+ name: n.BEGIN_END_WITH.NAME,
45
+ label: t + n.BEGIN_END_WITH.LABEL + ": " + s(e),
46
+ pattern: new RegExp("^([" + r + "].*)?[" + r + "]$")
47
+ };
48
+ },
49
+ beginEndNotWith: (e) => {
50
+ const t = E(e);
51
+ return {
52
+ name: n.BEGIN_END_NOT_WITH.NAME,
53
+ label: n.BEGIN_END_NOT_WITH.LABEL + ": " + s(e),
54
+ pattern: new RegExp("^([^" + t + "].*)?[^" + t + "]$")
55
+ };
56
+ },
57
+ onlyAtTheBeginning: (e) => {
58
+ const t = E(e);
59
+ return {
60
+ name: n.ONLY_AT_THE_BEGINNING.NAME,
61
+ label: n.ONLY_AT_THE_BEGINNING.LABEL + ": " + s(e),
62
+ pattern: new RegExp("^([" + t + "])?[^" + t + "]+$")
63
+ };
64
+ },
65
+ validCharacters: (e, t = "") => ({
66
+ name: n.VALID_CHARACTERS.NAME,
67
+ label: t + n.VALID_CHARACTERS.LABEL + ": " + s(e),
68
+ pattern: new RegExp("^[" + E(e) + "]+$")
69
+ }),
70
+ validCharactersWithPrefix: (e) => ({
71
+ name: n.VALID_CHARACTERS_WITH_REFIX.NAME,
72
+ label: n.VALID_CHARACTERS_WITH_REFIX.LABEL + ": " + s(e),
73
+ pattern: new RegExp(
74
+ "^([" + E(e) + "]+/)?[" + E(e) + "]+$"
75
+ )
76
+ }),
77
+ noConsecutiveCharacters: (e) => {
78
+ const t = e.split(" ").map((r) => {
79
+ const i = r.split("");
80
+ return `(?!.*\\${i[0]}\\${i[1]})`;
81
+ }).join("");
82
+ return {
83
+ name: n.NO_CONSECUTIVE_CHARACTER.NAME,
84
+ label: n.NO_CONSECUTIVE_CHARACTER.LABEL + ": " + s(e),
85
+ pattern: new RegExp("^" + t)
86
+ };
87
+ },
88
+ notContainCharacters: (e) => ({
89
+ name: n.NOT_CONTAIN.NAME,
90
+ label: n.NOT_CONTAIN.LABEL + ": " + s(e),
91
+ pattern: new RegExp("^[^" + E(e) + "]+$")
92
+ }),
93
+ maxLengthBetweenDelimiters: (e, t, r) => ({
94
+ name: "labelsLength",
95
+ label: `Max length between two ${o.defaultTo(
96
+ r,
97
+ e
98
+ )}: ${t}`,
99
+ pattern: (i) => i.split(e).every((l) => l.length >= 1 && l.length <= t)
100
+ }),
101
+ mustNotBe: (e) => {
102
+ const t = e.split(" ");
103
+ return {
104
+ name: n.MUST_NOT_BE.NAME,
105
+ label: n.MUST_NOT_BE.LABEL + ": " + s(e),
106
+ pattern: function(r) {
107
+ return !o.includes(t, r);
108
+ }
109
+ };
110
+ },
111
+ length: (e, t = "") => {
112
+ const r = Number.isSafeInteger(e.min) ? e.min : 0, i = Number.isSafeInteger(e.max) ? e.max : "";
113
+ if (r || i) {
114
+ const l = "Length – " + (r ? "min: " + e.min + "  " : "") + (i ? "max: " + e.max : "");
115
+ return {
116
+ name: "length",
117
+ label: t + l,
118
+ pattern: new RegExp("^[\\S\\s]{" + r + "," + i + "}$")
119
+ };
120
+ }
121
+ },
122
+ required: () => ({
123
+ name: n.REQUIRED.NAME,
124
+ label: n.REQUIRED.LABEL,
125
+ pattern: new RegExp("\\S")
126
+ })
127
+ }, m = {
128
+ prefixedQualifiedName: [
129
+ {
130
+ name: "nameValidCharacters",
131
+ label: `[Name] ${n.VALID_CHARACTERS.LABEL} : a–z, A–Z, 0–9, –, _, .`,
132
+ pattern: /^([^/]+\/)?[\w.-]+$/
133
+ },
134
+ {
135
+ name: "nameBeginEnd",
136
+ label: `[Name] ${n.BEGIN_END_WITH.LABEL}: a–z, A–Z, 0–9`,
137
+ pattern: /^([^/]+\/)?([A-Za-z0-9][^/]*)?[A-Za-z0-9]$/
138
+ },
139
+ {
140
+ name: "nameMaxLength",
141
+ label: "[Name] Max length - 63 characters",
142
+ pattern: /^([^/]+\/)?[^/]{1,63}$/
143
+ },
144
+ {
145
+ name: "prefixValidCharacters",
146
+ label: `[Prefix] ${n.VALID_CHARACTERS.LABEL}: a–z, 0–9, –, .`,
147
+ pattern: /^([a-z0-9.-]+\/)?[^/]+$/
148
+ },
149
+ {
150
+ name: "prefixBeginEnd",
151
+ label: `[Prefix] ${n.BEGIN_END_WITH.LABEL}: a–z, 0–9`,
152
+ pattern: /^([a-z0-9]([^/]*[a-z0-9])?\/)?[^/]+$/
153
+ },
154
+ {
155
+ name: "prefixMaxLength",
156
+ label: "[Prefix] Max length - 253 characters",
157
+ pattern: /^(?![^/]{254,}\/)/
158
+ }
159
+ ],
160
+ k8sLabels: {
161
+ getValue: (e = !1) => {
162
+ let t = e ? "[Value] " : "";
163
+ return [
164
+ a.beginEndWith("a-z A-Z 0-9", t),
165
+ a.length({ max: 63 }, t),
166
+ a.validCharacters("a-z A-Z 0-9 - _ .", t)
167
+ ];
168
+ }
169
+ }
170
+ // email: [
171
+ // generateRule.beginEndNotWith('@ .'),
172
+ // {
173
+ // name: ValidationConstants.MUST_CONTAIN_EXACTLY_ONE.NAME,
174
+ // label: ValidationConstants.MUST_CONTAIN_EXACTLY_ONE.LABEL + ': @',
175
+ // pattern: /^[^@]+@[^@]+$/
176
+ // },
177
+ // {
178
+ // name: ValidationConstants.MUST_HAVE_DOT_AFTER_AT.NAME,
179
+ // label: ValidationConstants.MUST_HAVE_DOT_AFTER_AT.LABEL,
180
+ // pattern: /@.+\..+$/
181
+ // }
182
+ // ]
183
+ };
184
+ m.k8sLabels.key = m.prefixedQualifiedName.concat({
185
+ name: "prefixNotStart",
186
+ label: "[Prefix] Must not start with 'kubernetes.io', 'k8s.io'",
187
+ pattern: /^(?!kubernetes\.io\/)(?!k8s\.io\/)/
188
+ });
189
+ const N = {
190
+ artifact: {
191
+ name: [
192
+ a.validCharacters("a-z A-Z 0-9 - _ ."),
193
+ a.beginEndWith("a-z A-Z 0-9"),
194
+ a.length({ max: 253 }),
195
+ a.required()
196
+ ],
197
+ labels: {
198
+ key: [
199
+ a.notContainCharacters(":"),
200
+ a.beginEndWith("a-z A-Z 0-9"),
201
+ a.length({ max: 255 })
202
+ ],
203
+ value: [a.beginEndWith("a-z A-Z 0-9"), a.length({ max: 255 })]
204
+ }
205
+ },
206
+ feature: {
207
+ sets: {
208
+ tag: [
209
+ a.validCharacters("a-z A-Z 0-9 - _"),
210
+ a.beginEndWith("a-z A-Z 0-9"),
211
+ a.length({ max: 56 })
212
+ ]
213
+ },
214
+ vector: {
215
+ name: [
216
+ a.validCharacters("a-z A-Z 0-9 - _ ."),
217
+ a.beginEndWith("a-z A-Z 0-9"),
218
+ a.length({ max: 56 }),
219
+ a.required()
220
+ ]
221
+ }
222
+ },
223
+ function: {
224
+ name: [
225
+ a.validCharacters("a-z 0-9 - ."),
226
+ a.beginEndWith("a-z 0-9"),
227
+ a.length({ max: 63 }),
228
+ a.required()
229
+ ]
230
+ },
231
+ common: {
232
+ name: [
233
+ a.validCharacters("a-z A-Z 0-9 - _ ."),
234
+ a.beginEndWith("a-z A-Z 0-9"),
235
+ a.length({ max: 63 }),
236
+ a.required()
237
+ ],
238
+ tag: [
239
+ a.validCharacters("a-z A-Z 0-9 - _ ."),
240
+ a.beginEndWith("a-z A-Z 0-9"),
241
+ a.length({ max: 56 })
242
+ ],
243
+ combobox: [a.required()]
244
+ },
245
+ project: {
246
+ name: [
247
+ a.validCharacters("a-z 0-9 -"),
248
+ a.beginWith("a-z"),
249
+ a.endWith("a-z 0-9"),
250
+ a.length({ max: 63 }),
251
+ a.required()
252
+ ],
253
+ labels: {
254
+ key: m.k8sLabels.key,
255
+ value: m.k8sLabels.getValue(!0)
256
+ },
257
+ params: {
258
+ key: [a.notContainCharacters("s")],
259
+ value: [a.beginEndNotWith("s")]
260
+ },
261
+ secrets: {
262
+ key: [a.validCharacters("a-z A-Z 0-9 - _ .")]
263
+ }
264
+ },
265
+ nodeSelectors: {
266
+ key: m.prefixedQualifiedName,
267
+ value: m.k8sLabels.getValue(!1)
268
+ },
269
+ environmentVariables: {
270
+ secretName: [
271
+ a.validCharacters("a-z A-Z 0-9 - _ ."),
272
+ a.beginEndWith("a-z A-Z 0-9"),
273
+ a.noConsecutiveCharacters(".., .–, –."),
274
+ a.maxLengthBetweenDelimiters(/[.\-_]/, 63, "periods"),
275
+ a.length({ max: 253 }),
276
+ a.required()
277
+ ],
278
+ secretKey: [
279
+ a.validCharacters("a-z A-Z 0-9 - _ ."),
280
+ a.beginNotWith("."),
281
+ a.length({ max: 253 })
282
+ ]
283
+ },
284
+ job: {
285
+ label: {
286
+ key: [
287
+ a.validCharactersWithPrefix("a-z A-Z 0-9 - _ ."),
288
+ a.beginEndWith("a-z A-Z 0-9"),
289
+ a.length({ max: 75 })
290
+ ],
291
+ value: a.length({ max: 255 })
292
+ }
293
+ }
294
+ }, p = (e, t) => o.chain(N).get(e).defaultTo([]).cloneDeep().concat(o.defaultTo(t, [])).value(), x = (e = []) => ({
295
+ name: "customLabels",
296
+ label: "System-defined labels cannot be modified.",
297
+ pattern: (t) => !e.includes(t)
298
+ });
299
+ export {
300
+ g as checkPatternsValidity,
301
+ _ as checkPatternsValidityAsync,
302
+ x as getInternalLabelsValidationRule,
303
+ p as getValidationRules,
304
+ b as required
305
+ };
306
+ //# sourceMappingURL=validation.util.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.util.mjs","sources":["../../src/lib/utils/validation.util.js"],"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 lodash, { isEmpty } from 'lodash'\n\nimport { validation as ValidationConstants } from '../constants'\n\n////// PRIVATE METHODS ///////\n\n/**\n * Converts characters string to readable format\n * Note: converts Hyphens to En Dashes, replaces one space with comma and space,\n * replaces letter `s` with `spaces` word\n * @param {string} chars - characters to convert\n * @returns {string} - converted string\n * @example\n * convertToLabel('a-z A-Z - _ *');\n * // => 'a–z, A–Z, –, _, *'\n */\nconst convertToLabel = chars => {\n return chars.replace(/-/g, '–').replace(/\\s/g, ', ').replace(/\\bs\\b/, 'spaces')\n}\n\n/**\n * Converts characters string to valid RegExp string that will be placed into RegExp pattern\n * @param {string} chars - characters to convert\n * @returns {string} - converted string\n * @example\n * convertToPattern('a-z A-Z - _ *') => 'a-zA-Z\\-\\_\\*'\n */\nconst convertToPattern = chars => {\n return chars\n .split(' ')\n .map(patternItem => (patternItem.length === 1 ? '\\\\' + patternItem : patternItem))\n .join('')\n}\n\n/**\n * Checks whether there is at least one failed validation rule.\n * @returns {boolean} `true` in case there is at least one failed validation rule, or `false` otherwise.\n */\nconst hasInvalidRule = newRules => {\n return lodash.some(newRules, ['isValid', false])\n}\n\n////// PUBLIC METHODS ///////\n\n/**\n * validate required field value\n * @param {string} validationMsg Custom validationMsg. Defualt to \"Required\"\n * @returns {function} Function that accepts a value and return an array [isFieldValid, validationMsg]\n */\n\nexport const required =\n (validationMsg = 'Required') =>\n value => {\n let isValid = value.trim() !== '' && typeof value === 'string'\n return [isValid, validationMsg]\n }\n\n/**\n * Checks whether there is at least one failed validation rule.\n * @function checkPatternsValidity\n * @param {Array} validationRules Array of Validation Rule Objects {name: \"\", lable: \"\", pattren: [Function || Regex]}\n * @param {string} value Field value to check validity\n * @param {boolean} required Specified if the value should be validated\n * @returns {Array} [validationRules, isFieldValid] New validationRules With `isValid` property, `true` in case there is at least one failed validation rule, or `false` otherwise.\n */\n\nexport const checkPatternsValidity = (validationRules, value = '', required = true) => {\n const newRules =\n !required && isEmpty(value)\n ? validationRules\n : validationRules\n .filter(rule => !rule.async)\n .map(rule => {\n return {\n ...rule,\n isValid: lodash.isFunction(rule.pattern)\n ? rule.pattern(value)\n : /* else, it is a RegExp */ rule.pattern.test(value)\n }\n })\n\n return [newRules, !hasInvalidRule(newRules)]\n}\n\nexport const checkPatternsValidityAsync = async (validationRules, value) => {\n const [newRules] = checkPatternsValidity(validationRules, value)\n const asyncRules = await Promise.all(\n validationRules\n .filter(rule => rule.async)\n .map(async rule => ({\n ...rule,\n isValid: await rule.pattern(value)\n }))\n )\n\n const allRules = newRules.concat(asyncRules)\n\n return [allRules, !hasInvalidRule(allRules)]\n}\n\nconst generateRule = {\n beginWith: chars => {\n return {\n name: ValidationConstants.BEGIN_WITH.NAME,\n label: ValidationConstants.BEGIN_WITH.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp('^[' + convertToPattern(chars) + ']')\n }\n },\n beginNotWith: chars => {\n return {\n name: ValidationConstants.BEGIN_NOT_WITH.NAME,\n label: ValidationConstants.BEGIN_NOT_WITH.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp('^[^' + convertToPattern(chars) + ']')\n }\n },\n endWith: chars => {\n return {\n name: ValidationConstants.END_WITH.NAME,\n label: ValidationConstants.END_WITH.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp('[' + convertToPattern(chars) + ']$')\n }\n },\n endNotWith: chars => {\n return {\n name: ValidationConstants.END_NOT_WITH.NAME,\n label: ValidationConstants.END_NOT_WITH.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp('[^' + convertToPattern(chars) + ']$')\n }\n },\n beginEndWith: (chars, labelPrefix = '') => {\n const convertedPattern = convertToPattern(chars)\n\n return {\n name: ValidationConstants.BEGIN_END_WITH.NAME,\n label: labelPrefix + ValidationConstants.BEGIN_END_WITH.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp('^([' + convertedPattern + '].*)?[' + convertedPattern + ']$')\n }\n },\n beginEndNotWith: chars => {\n const convertedPattern = convertToPattern(chars)\n\n return {\n name: ValidationConstants.BEGIN_END_NOT_WITH.NAME,\n label: ValidationConstants.BEGIN_END_NOT_WITH.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp('^([^' + convertedPattern + '].*)?[^' + convertedPattern + ']$')\n }\n },\n onlyAtTheBeginning: chars => {\n const convertedPattern = convertToPattern(chars)\n\n return {\n name: ValidationConstants.ONLY_AT_THE_BEGINNING.NAME,\n label: ValidationConstants.ONLY_AT_THE_BEGINNING.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp('^([' + convertedPattern + '])?[^' + convertedPattern + ']+$')\n }\n },\n validCharacters: (chars, labelPrefix = '') => {\n return {\n name: ValidationConstants.VALID_CHARACTERS.NAME,\n label:\n labelPrefix + ValidationConstants.VALID_CHARACTERS.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp('^[' + convertToPattern(chars) + ']+$')\n }\n },\n validCharactersWithPrefix: chars => {\n return {\n name: ValidationConstants.VALID_CHARACTERS_WITH_REFIX.NAME,\n label: ValidationConstants.VALID_CHARACTERS_WITH_REFIX.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp(\n '^([' + convertToPattern(chars) + ']+/)?[' + convertToPattern(chars) + ']+$'\n )\n }\n },\n noConsecutiveCharacters: chars => {\n const convertedPattern = chars\n .split(' ')\n .map(charPair => {\n const charsPairArray = charPair.split('')\n\n return `(?!.*\\\\${charsPairArray[0]}\\\\${charsPairArray[1]})`\n })\n .join('')\n\n return {\n name: ValidationConstants.NO_CONSECUTIVE_CHARACTER.NAME,\n label: ValidationConstants.NO_CONSECUTIVE_CHARACTER.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp('^' + convertedPattern)\n }\n },\n notContainCharacters: chars => {\n return {\n name: ValidationConstants.NOT_CONTAIN.NAME,\n label: ValidationConstants.NOT_CONTAIN.LABEL + ': ' + convertToLabel(chars),\n pattern: new RegExp('^[^' + convertToPattern(chars) + ']+$')\n }\n },\n maxLengthBetweenDelimiters: (delimiter, maxLength, delimiterDescription) => {\n return {\n name: 'labelsLength',\n label: `Max length between two ${lodash.defaultTo(\n delimiterDescription,\n delimiter\n )}: ${maxLength}`,\n pattern: value => {\n return value.split(delimiter).every(item => {\n return item.length >= 1 && item.length <= maxLength\n })\n }\n }\n },\n mustNotBe: words => {\n const wordsArray = words.split(' ')\n\n return {\n name: ValidationConstants.MUST_NOT_BE.NAME,\n label: ValidationConstants.MUST_NOT_BE.LABEL + ': ' + convertToLabel(words),\n pattern: function (value) {\n return !lodash.includes(wordsArray, value)\n }\n }\n },\n length: (options, labelPrefix = '') => {\n const min = Number.isSafeInteger(options.min) ? options.min : 0\n const max = Number.isSafeInteger(options.max) ? options.max : ''\n\n if (min || max) {\n const label =\n 'Length – ' +\n (min ? 'min: ' + options.min + '\\xa0\\xa0' : '') +\n (max ? 'max: ' + options.max : '')\n\n return {\n name: 'length',\n label: labelPrefix + label,\n pattern: new RegExp('^[\\\\S\\\\s]{' + min + ',' + max + '}$')\n }\n }\n },\n required: () => {\n return {\n name: ValidationConstants.REQUIRED.NAME,\n label: ValidationConstants.REQUIRED.LABEL,\n pattern: new RegExp('\\\\S')\n }\n }\n}\n\nconst commonRules = {\n prefixedQualifiedName: [\n {\n name: 'nameValidCharacters',\n label: `[Name] ${ValidationConstants.VALID_CHARACTERS.LABEL} : a–z, A–Z, 0–9, –, _, .`,\n pattern: /^([^/]+\\/)?[\\w.-]+$/\n },\n {\n name: 'nameBeginEnd',\n label: `[Name] ${ValidationConstants.BEGIN_END_WITH.LABEL}: a–z, A–Z, 0–9`,\n pattern: /^([^/]+\\/)?([A-Za-z0-9][^/]*)?[A-Za-z0-9]$/\n },\n {\n name: 'nameMaxLength',\n label: '[Name] Max length - 63 characters',\n pattern: /^([^/]+\\/)?[^/]{1,63}$/\n },\n {\n name: 'prefixValidCharacters',\n label: `[Prefix] ${ValidationConstants.VALID_CHARACTERS.LABEL}: a–z, 0–9, –, .`,\n pattern: /^([a-z0-9.-]+\\/)?[^/]+$/\n },\n {\n name: 'prefixBeginEnd',\n label: `[Prefix] ${ValidationConstants.BEGIN_END_WITH.LABEL}: a–z, 0–9`,\n pattern: /^([a-z0-9]([^/]*[a-z0-9])?\\/)?[^/]+$/\n },\n {\n name: 'prefixMaxLength',\n label: '[Prefix] Max length - 253 characters',\n pattern: /^(?![^/]{254,}\\/)/\n }\n ],\n k8sLabels: {\n getValue: (withPrefix = false) => {\n let labelPrefix = withPrefix ? '[Value] ' : ''\n\n return [\n generateRule.beginEndWith('a-z A-Z 0-9', labelPrefix),\n generateRule.length({ max: 63 }, labelPrefix),\n generateRule.validCharacters('a-z A-Z 0-9 - _ .', labelPrefix)\n ]\n }\n }\n // email: [\n // generateRule.beginEndNotWith('@ .'),\n // {\n // name: ValidationConstants.MUST_CONTAIN_EXACTLY_ONE.NAME,\n // label: ValidationConstants.MUST_CONTAIN_EXACTLY_ONE.LABEL + ': @',\n // pattern: /^[^@]+@[^@]+$/\n // },\n // {\n // name: ValidationConstants.MUST_HAVE_DOT_AFTER_AT.NAME,\n // label: ValidationConstants.MUST_HAVE_DOT_AFTER_AT.LABEL,\n // pattern: /@.+\\..+$/\n // }\n // ]\n}\n\ncommonRules.k8sLabels.key = commonRules.prefixedQualifiedName.concat({\n name: 'prefixNotStart',\n label: \"[Prefix] Must not start with 'kubernetes.io', 'k8s.io'\",\n pattern: /^(?!kubernetes\\.io\\/)(?!k8s\\.io\\/)/\n})\n\nconst validationRules = {\n artifact: {\n name: [\n generateRule.validCharacters('a-z A-Z 0-9 - _ .'),\n generateRule.beginEndWith('a-z A-Z 0-9'),\n generateRule.length({ max: 253 }),\n generateRule.required()\n ],\n labels: {\n key: [\n generateRule.notContainCharacters(':'),\n generateRule.beginEndWith('a-z A-Z 0-9'),\n generateRule.length({ max: 255 })\n ],\n value: [generateRule.beginEndWith('a-z A-Z 0-9'), generateRule.length({ max: 255 })]\n }\n },\n feature: {\n sets: {\n tag: [\n generateRule.validCharacters('a-z A-Z 0-9 - _'),\n generateRule.beginEndWith('a-z A-Z 0-9'),\n generateRule.length({ max: 56 })\n ]\n },\n vector: {\n name: [\n generateRule.validCharacters('a-z A-Z 0-9 - _ .'),\n generateRule.beginEndWith('a-z A-Z 0-9'),\n generateRule.length({ max: 56 }),\n generateRule.required()\n ]\n }\n },\n function: {\n name: [\n generateRule.validCharacters('a-z 0-9 - .'),\n generateRule.beginEndWith('a-z 0-9'),\n generateRule.length({ max: 63 }),\n generateRule.required()\n ]\n },\n common: {\n name: [\n generateRule.validCharacters('a-z A-Z 0-9 - _ .'),\n generateRule.beginEndWith('a-z A-Z 0-9'),\n generateRule.length({ max: 63 }),\n generateRule.required()\n ],\n tag: [\n generateRule.validCharacters('a-z A-Z 0-9 - _ .'),\n generateRule.beginEndWith('a-z A-Z 0-9'),\n generateRule.length({ max: 56 })\n ],\n combobox: [generateRule.required()]\n },\n project: {\n name: [\n generateRule.validCharacters('a-z 0-9 -'),\n generateRule.beginWith('a-z'),\n generateRule.endWith('a-z 0-9'),\n generateRule.length({ max: 63 }),\n generateRule.required()\n ],\n labels: {\n key: commonRules.k8sLabels.key,\n value: commonRules.k8sLabels.getValue(true)\n },\n params: {\n key: [generateRule.notContainCharacters('s')],\n value: [generateRule.beginEndNotWith('s')]\n },\n secrets: {\n key: [generateRule.validCharacters('a-z A-Z 0-9 - _ .')]\n }\n },\n nodeSelectors: {\n key: commonRules.prefixedQualifiedName,\n value: commonRules.k8sLabels.getValue(false)\n },\n environmentVariables: {\n secretName: [\n generateRule.validCharacters('a-z A-Z 0-9 - _ .'),\n generateRule.beginEndWith('a-z A-Z 0-9'),\n generateRule.noConsecutiveCharacters('.., .–, –.'),\n generateRule.maxLengthBetweenDelimiters(/[.\\-_]/, 63, 'periods'),\n generateRule.length({ max: 253 }),\n generateRule.required()\n ],\n secretKey: [\n generateRule.validCharacters('a-z A-Z 0-9 - _ .'),\n generateRule.beginNotWith('.'),\n generateRule.length({ max: 253 })\n ]\n },\n job: {\n label: {\n key: [\n generateRule.validCharactersWithPrefix('a-z A-Z 0-9 - _ .'),\n generateRule.beginEndWith('a-z A-Z 0-9'),\n generateRule.length({ max: 75 })\n ],\n value: generateRule.length({ max: 255 })\n }\n }\n}\n\n/**\n * Returns the list of validation rules for `type`, optionally appending provided additional rules.\n * @function getValidationRules\n * @param {string} type - The property path to the list of validation rules.\n * @param {Array.<Object> | Object} [additionalRules] - Additional rules or rule to append.\n * @returns {Array.<Object>} The rule list of type `type` with `additionalRules` appended to it if provided.\n */\nexport const getValidationRules = (type, additionalRules) => {\n return lodash\n .chain(validationRules)\n .get(type)\n .defaultTo([])\n .cloneDeep()\n .concat(lodash.defaultTo(additionalRules, []))\n .value()\n}\n\n/**\n * Creates a validation rule to ensure system-defined labels cannot be modified.\n * @function getInternalLabelsValidationRule\n * @param {string} internalLabels - An array of defined labels that should not be modified.\n * @returns {Object} The rule that checks if a value is not in the internal labels.\n */\nexport const getInternalLabelsValidationRule = (internalLabels = []) => {\n return {\n name: 'customLabels',\n label: 'System-defined labels cannot be modified.',\n pattern: value => {\n return !internalLabels.includes(value)\n }\n }\n}\n"],"names":["convertToLabel","chars","convertToPattern","patternItem","hasInvalidRule","newRules","lodash","required","validationMsg","value","checkPatternsValidity","validationRules","isEmpty","rule","checkPatternsValidityAsync","asyncRules","allRules","generateRule","ValidationConstants","labelPrefix","convertedPattern","charPair","charsPairArray","delimiter","maxLength","delimiterDescription","item","words","wordsArray","options","min","max","label","commonRules","withPrefix","getValidationRules","type","additionalRules","getInternalLabelsValidationRule","internalLabels"],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,29 @@
1
1
  {
2
2
  "name": "iguazio.dashboard-react-controls",
3
- "version": "2.2.25",
3
+ "version": "3.0.1",
4
4
  "description": "Collection of resources (such as CSS styles, fonts and images) and ReactJS 17.x components to share among different Iguazio React repos.",
5
- "main": "dist/index.js",
6
- "module": "dist/index.js",
5
+ "module": "./dist/index.mjs",
6
+ "main": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.mjs",
11
+ "types": "./dist/index.d.ts"
12
+ },
13
+ "./components": {
14
+ "import": "./dist/components/index.mjs",
15
+ "types": "./dist/components/index.d.ts"
16
+ },
17
+ "./elements": "./dist/elements/index.mjs",
18
+ "./hooks": "./dist/hooks/index.mjs",
19
+ "./constants": "./dist/constants.mjs",
20
+ "./types": "./dist/types.mjs",
21
+ "./utils": "./dist/utils/index.mjs",
22
+ "./utils/*": "./dist/utils/*",
23
+ "./images/*": "./dist/images/*",
24
+ "./scss/*": "./dist/scss/*",
25
+ "./index.css": "./dist/index.css"
26
+ },
7
27
  "files": [
8
28
  "dist",
9
29
  "README.md"
@@ -32,69 +52,59 @@
32
52
  "react-transition-group": "*"
33
53
  },
34
54
  "devDependencies": {
35
- "@babel/cli": "^7.17.6",
36
- "@babel/core": "^7.17.9",
37
- "@babel/eslint-parser": "^7.17.0",
38
- "@babel/plugin-transform-react-jsx": "^7.17.3",
39
- "@babel/preset-env": "^7.16.11",
40
- "@babel/preset-react": "^7.23.3",
55
+ "@eslint/js": "^9.19.0",
41
56
  "@storybook/addon-actions": "^8.0.0",
42
57
  "@storybook/addon-essentials": "^8.0.0",
43
58
  "@storybook/addon-interactions": "^8.0.0",
44
59
  "@storybook/addon-links": "^8.0.0",
45
60
  "@storybook/builder-webpack5": "^8.0.0",
46
61
  "@storybook/manager-webpack5": "^6.5.16",
47
- "@storybook/preset-create-react-app": "^8.0.0",
48
62
  "@storybook/react": "^8.0.0",
49
63
  "@storybook/testing-library": "0.2.2",
50
- "@testing-library/jest-dom": "^6.4.2",
51
- "@testing-library/react": "^14.2.1",
52
- "@testing-library/user-event": "^14.5.2",
53
- "babel-loader": "^8.2.4",
54
- "babel-plugin-inline-react-svg": "^2.0.1",
64
+ "@types/react": "18.3.1",
65
+ "@types/react-dom": "18.3.1",
66
+ "@vitejs/plugin-react": "^4.3.4",
55
67
  "classnames": "^2.3.1",
56
68
  "cross-env": "^7.0.3",
57
- "eslint": "^8.57.0",
69
+ "eslint": "^9.13.0",
58
70
  "eslint-config-prettier": "^9.1.0",
59
- "eslint-config-react-app": "^7.0.1",
60
- "eslint-plugin-prettier": "^5.1.3",
61
- "eslint-plugin-storybook": "^0.8.0",
62
- "eslint-webpack-plugin": "^4.0.1",
71
+ "eslint-plugin-react": "^7.37.4",
72
+ "eslint-plugin-react-hooks": "^5.1.0",
73
+ "eslint-plugin-react-refresh": "^0.4.14",
63
74
  "final-form": "^4.20.10",
64
75
  "final-form-arrays": "^3.1.0",
76
+ "globals": "^15.14.0",
65
77
  "lodash": "^4.17.21",
66
78
  "node": "21.6.2",
67
- "prettier": "3.2.5",
79
+ "prettier": "3.3.3",
68
80
  "prop-types": "^15.8.1",
69
- "react": "^18.2.0",
70
- "react-dom": "^18.2.0",
81
+ "react": "^18.3.1",
82
+ "react-dom": "^18.3.1",
71
83
  "react-final-form": "^6.5.9",
72
84
  "react-final-form-arrays": "^3.1.4",
73
85
  "react-modal-promise": "^1.0.2",
74
- "react-scripts": "5.0.1",
75
86
  "react-transition-group": "^4.4.5",
76
- "sass": "^1.50.0",
77
- "web-vitals": "^2.1.4",
78
- "webpack": "^5.94.0"
87
+ "sass": "^1.72.0",
88
+ "tsup": "^8.3.6",
89
+ "typescript": "^5.7.3",
90
+ "typescript-eslint": "^8.23.0",
91
+ "vite": "^6.2.0",
92
+ "vite-plugin-commonjs": "^0.10.4",
93
+ "vite-plugin-eslint": "^1.8.1",
94
+ "vite-plugin-static-copy": "^2.2.0",
95
+ "vite-plugin-svgr": "^4.3.0"
79
96
  },
80
97
  "scripts": {
81
- "start": "react-scripts start",
82
- "build": "react-scripts build",
83
98
  "lint": "eslint 'src/**/*.{js,jsx}' --quiet",
84
99
  "lint:fix": "eslint 'src/**/*.{js,jsx}' --fix",
85
100
  "prettier": "prettier --check 'src/**/*.{js,jsx,scss}'",
86
101
  "prettier:fix": "prettier --write 'src/**/*.{js,jsx,scss}'",
87
- "test": "react-scripts test",
88
- "eject": "react-scripts eject",
89
102
  "build-storybook": "build-storybook",
90
103
  "storybook": "start-storybook -p 6006",
91
- "compile": "rm -rf dist/* && babel src/lib --out-dir dist --copy-files --no-copy-ignored --ignore src/**/*.stories.js"
92
- },
93
- "eslintConfig": {
94
- "extends": [
95
- "react-app",
96
- "react-app/jest"
97
- ]
104
+ "start": "vite",
105
+ "build": "vite build && npx tsc",
106
+ "compile": "cross-env NODE_ENV=development vite build && npx tsc",
107
+ "serve": "vite preview"
98
108
  },
99
109
  "browserslist": {
100
110
  "production": [
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _reactTransitionGroup = require("react-transition-group");
10
- require("./Backdrop.scss");
11
- var _jsxRuntime = require("react/jsx-runtime");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
- /*
16
- Copyright 2022 Iguazio Systems Ltd.
17
- Licensed under the Apache License, Version 2.0 (the "License") with
18
- an addition restriction as set forth herein. You may not use this
19
- file except in compliance with the License. You may obtain a copy of
20
- the License at http://www.apache.org/licenses/LICENSE-2.0.
21
- Unless required by applicable law or agreed to in writing, software
22
- distributed under the License is distributed on an "AS IS" BASIS,
23
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
24
- implied. See the License for the specific language governing
25
- permissions and limitations under the License.
26
- In addition, you may not use the software for any purposes that are
27
- illegal under applicable law, and the grant of the foregoing license
28
- under the Apache 2.0 license is conditioned upon your compliance with
29
- such restriction.
30
- */
31
-
32
- const Backdrop = _ref => {
33
- let {
34
- duration = 300,
35
- show = false,
36
- onClose
37
- } = _ref;
38
- const nodeRef = (0, _react.useRef)(null);
39
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTransitionGroup.CSSTransition, {
40
- nodeRef: nodeRef,
41
- in: show,
42
- timeout: duration,
43
- classNames: "backdrop-transition",
44
- mountOnEnter: true,
45
- unmountOnExit: true,
46
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
47
- className: "backdrop",
48
- onClick: onClose,
49
- ref: nodeRef
50
- })
51
- });
52
- };
53
- Backdrop.propTypes = {
54
- show: _propTypes.default.bool.isRequired
55
- };
56
- var _default = exports.default = Backdrop;
@@ -1,32 +0,0 @@
1
- @import '../../scss/colors';
2
-
3
- .backdrop {
4
- position: fixed;
5
- top: 0;
6
- left: 0;
7
- width: 100vw;
8
- height: 100vh;
9
- background-color: $black;
10
- z-index: 9;
11
-
12
- &-transition {
13
- &-enter {
14
- opacity: 0;
15
- }
16
-
17
- &-enter-active,
18
- &-enter-done {
19
- opacity: 0.5;
20
- transition: opacity 0.3s ease-in-out;
21
- }
22
-
23
- &-exit {
24
- opacity: 0.5;
25
- }
26
-
27
- &-exit-active {
28
- opacity: 0;
29
- transition: opacity 0.3s ease-in-out;
30
- }
31
- }
32
- }
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var _Tooltip = _interopRequireDefault(require("../Tooltip/Tooltip"));
11
- var _TextTooltipTemplate = _interopRequireDefault(require("../TooltipTemplate/TextTooltipTemplate"));
12
- var _types = require("../../types");
13
- var _constants = require("../../constants");
14
- require("./Button.scss");
15
- var _jsxRuntime = require("react/jsx-runtime");
16
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
- /*
20
- Copyright 2022 Iguazio Systems Ltd.
21
- Licensed under the Apache License, Version 2.0 (the "License") with
22
- an addition restriction as set forth herein. You may not use this
23
- file except in compliance with the License. You may obtain a copy of
24
- the License at http://www.apache.org/licenses/LICENSE-2.0.
25
- Unless required by applicable law or agreed to in writing, software
26
- distributed under the License is distributed on an "AS IS" BASIS,
27
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
28
- implied. See the License for the specific language governing
29
- permissions and limitations under the License.
30
- In addition, you may not use the software for any purposes that are
31
- illegal under applicable law, and the grant of the foregoing license
32
- under the Apache 2.0 license is conditioned upon your compliance with
33
- such restriction.
34
- */
35
-
36
- const Button = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
37
- let {
38
- className = '',
39
- density = 'normal',
40
- icon,
41
- iconPosition = 'left',
42
- id = 'btn',
43
- label = 'Button',
44
- tooltip = '',
45
- variant = _constants.TERTIARY_BUTTON,
46
- ...restProps
47
- } = _ref;
48
- const buttonClassName = (0, _classnames.default)('btn', `btn-${variant}`, `btn-${density}`, className);
49
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
50
- ...restProps,
51
- className: buttonClassName,
52
- ref: ref,
53
- "data-testid": id,
54
- children: [icon && iconPosition === 'left' && icon, (tooltip || label) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
55
- template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextTooltipTemplate.default, {
56
- text: tooltip || label
57
- }),
58
- children: label && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
59
- children: label
60
- })
61
- }), icon && iconPosition === 'right' && icon]
62
- });
63
- });
64
- Button.propTypes = {
65
- className: _propTypes.default.string,
66
- density: _propTypes.default.oneOf(['dense', 'normal', 'medium', 'chunky']),
67
- icon: _propTypes.default.element,
68
- id: _propTypes.default.string,
69
- label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element]),
70
- tooltip: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element]),
71
- variant: _types.BUTTON_VARIANTS
72
- };
73
- var _default = exports.default = Button;