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.
- package/dist/components/Backdrop/Backdrop.d.ts +14 -0
- package/dist/components/Backdrop/Backdrop.d.ts.map +1 -0
- package/dist/components/Backdrop/Backdrop.mjs +29 -0
- package/dist/components/Backdrop/Backdrop.mjs.map +1 -0
- package/dist/components/Button/Button.d.ts +28 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/Button.mjs +43 -0
- package/dist/components/Button/Button.mjs.map +1 -0
- package/dist/components/Button/Button.stories.d.ts +14 -0
- package/dist/components/Button/Button.stories.d.ts.map +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +33 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.mjs +83 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.mjs.map +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts +8 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts.map +1 -0
- package/dist/components/FormCheckBox/FormCheckBox.d.ts +21 -0
- package/dist/components/FormCheckBox/FormCheckBox.d.ts.map +1 -0
- package/dist/components/FormCheckBox/FormCheckBox.mjs +54 -0
- package/dist/components/FormCheckBox/FormCheckBox.mjs.map +1 -0
- package/dist/components/FormCheckBox/FormCheckbox.stories.d.ts +7 -0
- package/dist/components/FormCheckBox/FormCheckbox.stories.d.ts.map +1 -0
- package/dist/components/FormChipCell/FormChip/FormChip.d.ts +45 -0
- package/dist/components/FormChipCell/FormChip/FormChip.d.ts.map +1 -0
- package/dist/components/FormChipCell/FormChip/FormChip.mjs +78 -0
- package/dist/components/FormChipCell/FormChip/FormChip.mjs.map +1 -0
- package/dist/components/FormChipCell/FormChipCell.d.ts +44 -0
- package/dist/components/FormChipCell/FormChipCell.d.ts.map +1 -0
- package/dist/components/FormChipCell/FormChipCell.mjs +239 -0
- package/dist/components/FormChipCell/FormChipCell.mjs.map +1 -0
- package/dist/components/FormChipCell/FormChipCellView.d.ts +56 -0
- package/dist/components/FormChipCell/FormChipCellView.d.ts.map +1 -0
- package/dist/components/FormChipCell/FormChipCellView.mjs +169 -0
- package/dist/components/FormChipCell/FormChipCellView.mjs.map +1 -0
- package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts +22 -0
- package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts.map +1 -0
- package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.mjs +72 -0
- package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.mjs.map +1 -0
- package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts +35 -0
- package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts.map +1 -0
- package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs +270 -0
- package/dist/components/FormChipCell/NewChipForm/NewChipForm.mjs.map +1 -0
- package/dist/components/FormChipCell/NewChipInput/NewChipInput.d.ts +16 -0
- package/dist/components/FormChipCell/NewChipInput/NewChipInput.d.ts.map +1 -0
- package/dist/components/FormChipCell/NewChipInput/NewChipInput.mjs +36 -0
- package/dist/components/FormChipCell/NewChipInput/NewChipInput.mjs.map +1 -0
- package/dist/components/FormChipCell/formChipCell.util.d.ts +6 -0
- package/dist/components/FormChipCell/formChipCell.util.d.ts.map +1 -0
- package/dist/components/FormChipCell/formChipCell.util.mjs +24 -0
- package/dist/components/FormChipCell/formChipCell.util.mjs.map +1 -0
- package/dist/components/FormCombobox/FormCombobox.d.ts +56 -0
- package/dist/components/FormCombobox/FormCombobox.d.ts.map +1 -0
- package/dist/components/FormCombobox/FormCombobox.mjs +278 -0
- package/dist/components/FormCombobox/FormCombobox.mjs.map +1 -0
- package/dist/components/FormCombobox/FormCombobox.stories.d.ts +12 -0
- package/dist/components/FormCombobox/FormCombobox.stories.d.ts.map +1 -0
- package/dist/components/FormInput/FormInput.d.ts +3 -0
- package/dist/components/FormInput/FormInput.d.ts.map +1 -0
- package/dist/components/FormInput/FormInput.mjs +272 -0
- package/dist/components/FormInput/FormInput.mjs.map +1 -0
- package/dist/components/FormInput/FormInput.stories.d.ts +14 -0
- package/dist/components/FormInput/FormInput.stories.d.ts.map +1 -0
- package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.d.ts +20 -0
- package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.d.ts.map +1 -0
- package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.mjs +61 -0
- package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.mjs.map +1 -0
- package/dist/components/FormKeyValueTable/FormKeyValueTable.d.ts +49 -0
- package/dist/components/FormKeyValueTable/FormKeyValueTable.d.ts.map +1 -0
- package/dist/components/FormKeyValueTable/FormKeyValueTable.mjs +202 -0
- package/dist/components/FormKeyValueTable/FormKeyValueTable.mjs.map +1 -0
- package/dist/components/FormOnChange/FormOnChange.d.ts +12 -0
- package/dist/components/FormOnChange/FormOnChange.d.ts.map +1 -0
- package/dist/components/FormOnChange/FormOnChange.mjs +33 -0
- package/dist/components/FormOnChange/FormOnChange.mjs.map +1 -0
- package/dist/components/FormRadio/FormRadio.d.ts +19 -0
- package/dist/components/FormRadio/FormRadio.d.ts.map +1 -0
- package/dist/components/FormRadio/FormRadio.mjs +57 -0
- package/dist/components/FormRadio/FormRadio.mjs.map +1 -0
- package/dist/components/FormRadio/FormRadio.stories.d.ts +7 -0
- package/dist/components/FormRadio/FormRadio.stories.d.ts.map +1 -0
- package/dist/components/FormSelect/FormSelect.d.ts +43 -0
- package/dist/components/FormSelect/FormSelect.d.ts.map +1 -0
- package/dist/components/FormSelect/FormSelect.mjs +257 -0
- package/dist/components/FormSelect/FormSelect.mjs.map +1 -0
- package/dist/components/FormSelect/FormSelect.stories.d.ts +10 -0
- package/dist/components/FormSelect/FormSelect.stories.d.ts.map +1 -0
- package/dist/components/FormTextarea/FormTextarea.d.ts +40 -0
- package/dist/components/FormTextarea/FormTextarea.d.ts.map +1 -0
- package/dist/components/FormTextarea/FormTextarea.mjs +122 -0
- package/dist/components/FormTextarea/FormTextarea.mjs.map +1 -0
- package/dist/components/FormTextarea/FormTextarea.stories.d.ts +9 -0
- package/dist/components/FormTextarea/FormTextarea.stories.d.ts.map +1 -0
- package/dist/components/FormToggle/FormToggle.d.ts +18 -0
- package/dist/components/FormToggle/FormToggle.d.ts.map +1 -0
- package/dist/components/FormToggle/FormToggle.mjs +48 -0
- package/dist/components/FormToggle/FormToggle.mjs.map +1 -0
- package/dist/components/Modal/Modal.d.ts +29 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -0
- package/dist/components/Modal/Modal.mjs +71 -0
- package/dist/components/Modal/Modal.mjs.map +1 -0
- package/dist/components/PopUpDialog/PopUpDialog.d.ts +28 -0
- package/dist/components/PopUpDialog/PopUpDialog.d.ts.map +1 -0
- package/dist/components/PopUpDialog/PopUpDialog.mjs +90 -0
- package/dist/components/PopUpDialog/PopUpDialog.mjs.map +1 -0
- package/dist/components/RoundedIcon/RoundedIcon.d.ts +23 -0
- package/dist/components/RoundedIcon/RoundedIcon.d.ts.map +1 -0
- package/dist/components/RoundedIcon/RoundedIcon.mjs +40 -0
- package/dist/components/RoundedIcon/RoundedIcon.mjs.map +1 -0
- package/dist/components/RoundedIcon/RoundedIcon.stories.d.ts +9 -0
- package/dist/components/RoundedIcon/RoundedIcon.stories.d.ts.map +1 -0
- package/dist/components/Tip/Tip.d.ts +14 -0
- package/dist/components/Tip/Tip.d.ts.map +1 -0
- package/dist/components/Tip/Tip.mjs +67 -0
- package/dist/components/Tip/Tip.mjs.map +1 -0
- package/dist/components/Tip/Tip.stories.d.ts +7 -0
- package/dist/components/Tip/Tip.stories.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts +22 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.mjs +136 -0
- package/dist/components/Tooltip/Tooltip.mjs.map +1 -0
- package/dist/components/Tooltip/Tooltip.stories.d.ts +8 -0
- package/dist/components/Tooltip/Tooltip.stories.d.ts.map +1 -0
- package/dist/components/TooltipTemplate/ProducerTooltipTemplate.d.ts +12 -0
- package/dist/components/TooltipTemplate/ProducerTooltipTemplate.d.ts.map +1 -0
- package/dist/components/TooltipTemplate/TextTooltipTemplate.d.ts +12 -0
- package/dist/components/TooltipTemplate/TextTooltipTemplate.d.ts.map +1 -0
- package/dist/components/TooltipTemplate/TextTooltipTemplate.mjs +21 -0
- package/dist/components/TooltipTemplate/TextTooltipTemplate.mjs.map +1 -0
- package/dist/components/Wizard/Wizard.d.ts +33 -0
- package/dist/components/Wizard/Wizard.d.ts.map +1 -0
- package/dist/components/Wizard/Wizard.mjs +129 -0
- package/dist/components/Wizard/Wizard.mjs.map +1 -0
- package/dist/components/Wizard/WizardSteps/WizardSteps.d.ts +16 -0
- package/dist/components/Wizard/WizardSteps/WizardSteps.d.ts.map +1 -0
- package/dist/components/Wizard/WizardSteps/WizardSteps.mjs +41 -0
- package/dist/components/Wizard/WizardSteps/WizardSteps.mjs.map +1 -0
- package/dist/components/index.d.ts +21 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.mjs +41 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/constants.d.ts +114 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.mjs +44 -0
- package/dist/constants.mjs.map +1 -0
- package/dist/elements/FormActionButton/FormActionButton.d.ts +23 -0
- package/dist/elements/FormActionButton/FormActionButton.d.ts.map +1 -0
- package/dist/elements/FormActionButton/FormActionButton.mjs +43 -0
- package/dist/elements/FormActionButton/FormActionButton.mjs.map +1 -0
- package/dist/elements/FormRowActions/FormRowActions.d.ts +27 -0
- package/dist/elements/FormRowActions/FormRowActions.d.ts.map +1 -0
- package/dist/elements/FormRowActions/FormRowActions.mjs +87 -0
- package/dist/elements/FormRowActions/FormRowActions.mjs.map +1 -0
- package/dist/elements/OptionsMenu/OptionsMenu.d.ts +18 -0
- package/dist/elements/OptionsMenu/OptionsMenu.d.ts.map +1 -0
- package/dist/elements/OptionsMenu/OptionsMenu.mjs +47 -0
- package/dist/elements/OptionsMenu/OptionsMenu.mjs.map +1 -0
- package/dist/elements/SelectOption/SelectOption.d.ts +20 -0
- package/dist/elements/SelectOption/SelectOption.d.ts.map +1 -0
- package/dist/elements/SelectOption/SelectOption.mjs +84 -0
- package/dist/elements/SelectOption/SelectOption.mjs.map +1 -0
- package/dist/elements/ValidationTemplate/ValidationTemplate.d.ts +12 -0
- package/dist/elements/ValidationTemplate/ValidationTemplate.d.ts.map +1 -0
- package/dist/elements/ValidationTemplate/ValidationTemplate.mjs +22 -0
- package/dist/elements/ValidationTemplate/ValidationTemplate.mjs.map +1 -0
- package/dist/elements/index.d.ts +7 -0
- package/dist/elements/index.d.ts.map +1 -0
- package/dist/elements/index.mjs +13 -0
- package/dist/elements/index.mjs.map +1 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.mjs +13 -0
- package/dist/hooks/index.mjs.map +1 -0
- package/dist/hooks/useChipCell.hook.d.ts +13 -0
- package/dist/hooks/useChipCell.hook.d.ts.map +1 -0
- package/dist/hooks/useChipCell.hook.mjs +58 -0
- package/dist/hooks/useChipCell.hook.mjs.map +1 -0
- package/dist/hooks/useDebounce.hook.d.ts +2 -0
- package/dist/hooks/useDebounce.hook.d.ts.map +1 -0
- package/dist/hooks/useDebounce.hook.mjs +19 -0
- package/dist/hooks/useDebounce.hook.mjs.map +1 -0
- package/dist/hooks/useDetectOutsideClick.hook.d.ts +2 -0
- package/dist/hooks/useDetectOutsideClick.hook.d.ts.map +1 -0
- package/dist/hooks/useDetectOutsideClick.hook.mjs +15 -0
- package/dist/hooks/useDetectOutsideClick.hook.mjs.map +1 -0
- package/dist/hooks/useFormTable.hook.d.ts +16 -0
- package/dist/hooks/useFormTable.hook.d.ts.map +1 -0
- package/dist/hooks/useFormTable.hook.mjs +128 -0
- package/dist/hooks/useFormTable.hook.mjs.map +1 -0
- package/dist/hooks/useHiddenChipsBlock.hook.d.ts +4 -0
- package/dist/hooks/useHiddenChipsBlock.hook.d.ts.map +1 -0
- package/dist/hooks/useHiddenChipsBlock.hook.mjs +51 -0
- package/dist/hooks/useHiddenChipsBlock.hook.mjs.map +1 -0
- package/dist/images/add.svg.mjs +6 -0
- package/dist/images/add.svg.mjs.map +1 -0
- package/dist/images/alerts-icon.svg +3 -0
- package/dist/images/arrow.svg.mjs +6 -0
- package/dist/images/arrow.svg.mjs.map +1 -0
- package/dist/images/back-arrow.svg.mjs +6 -0
- package/dist/images/back-arrow.svg.mjs.map +1 -0
- package/dist/images/checkmark.svg.mjs +6 -0
- package/dist/images/checkmark.svg.mjs.map +1 -0
- package/dist/images/checkmark2.svg.mjs +6 -0
- package/dist/images/checkmark2.svg.mjs.map +1 -0
- package/dist/images/close.svg.mjs +6 -0
- package/dist/images/close.svg.mjs.map +1 -0
- package/dist/images/delete.svg.mjs +6 -0
- package/dist/images/delete.svg.mjs.map +1 -0
- package/dist/images/documents-icon.svg +3 -0
- package/dist/images/dropdown.svg.mjs +6 -0
- package/dist/images/dropdown.svg.mjs.map +1 -0
- package/dist/images/edit.svg.mjs +6 -0
- package/dist/images/edit.svg.mjs.map +1 -0
- package/dist/images/exclamation-mark.svg.mjs +6 -0
- package/dist/images/exclamation-mark.svg.mjs.map +1 -0
- package/dist/images/llm-prompt-icon.svg +3 -0
- package/dist/images/mlrun-api-gateways.svg +8 -0
- package/dist/images/mlrun-artifacts.svg +11 -0
- package/dist/images/mlrun-datasets.svg +5 -0
- package/dist/images/mlrun-feature-store.svg +10 -0
- package/dist/images/mlrun-jobs-and-workflows.svg +5 -0
- package/dist/images/mlrun-ml-functions.svg +8 -0
- package/dist/images/mlrun-models.svg +5 -0
- package/dist/images/mlrun-project-home.svg +5 -0
- package/dist/images/mlrun-project-monitoring.svg +9 -0
- package/dist/images/mlrun-project-settings.svg +5 -0
- package/dist/images/mlrun-realtime-functions.svg +8 -0
- package/dist/images/model-monitoring.svg +3 -0
- package/dist/images/plus.svg.mjs +6 -0
- package/dist/images/plus.svg.mjs.map +1 -0
- package/dist/images/popout.svg.mjs +6 -0
- package/dist/images/popout.svg.mjs.map +1 -0
- package/dist/images/question-mark.svg.mjs +6 -0
- package/dist/images/question-mark.svg.mjs.map +1 -0
- package/dist/images/range-arrow-small.svg.mjs +6 -0
- package/dist/images/range-arrow-small.svg.mjs.map +1 -0
- package/dist/images/search.svg.mjs +6 -0
- package/dist/images/search.svg.mjs.map +1 -0
- package/dist/images/success_done.svg.mjs +6 -0
- package/dist/images/success_done.svg.mjs.map +1 -0
- package/dist/images/warning.svg.mjs +6 -0
- package/dist/images/warning.svg.mjs.map +1 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +15 -0
- package/dist/index.mjs.map +1 -0
- package/dist/robots.txt +3 -0
- package/dist/scss/borders.scss +22 -22
- package/dist/scss/colors.scss +0 -11
- package/dist/scss/common.scss +48 -33
- package/dist/scss/fonts.scss +6 -0
- package/dist/scss/mixins.scss +117 -106
- package/dist/scss/shadows.scss +12 -12
- package/dist/scss/variables.scss +3 -3
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.mjs +143 -0
- package/dist/types.mjs.map +1 -0
- package/dist/utils/common.util.d.ts +10 -0
- package/dist/utils/common.util.d.ts.map +1 -0
- package/dist/utils/common.util.mjs +60 -0
- package/dist/utils/common.util.mjs.map +1 -0
- package/dist/utils/form.util.d.ts +11 -0
- package/dist/utils/form.util.d.ts.map +1 -0
- package/dist/utils/form.util.mjs +26 -0
- package/dist/utils/form.util.mjs.map +1 -0
- package/dist/utils/generateChipsList.util.d.ts +10 -0
- package/dist/utils/generateChipsList.util.d.ts.map +1 -0
- package/dist/utils/generateChipsList.util.mjs +19 -0
- package/dist/utils/generateChipsList.util.mjs.map +1 -0
- package/dist/utils/getFirstScrollableParent.util.d.ts +2 -0
- package/dist/utils/getFirstScrollableParent.util.d.ts.map +1 -0
- package/dist/utils/getFirstScrollableParent.util.mjs +5 -0
- package/dist/utils/getFirstScrollableParent.util.mjs.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.mjs +15 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/math.util.d.ts +2 -0
- package/dist/utils/math.util.d.ts.map +1 -0
- package/dist/utils/math.util.mjs +18 -0
- package/dist/utils/math.util.mjs.map +1 -0
- package/dist/utils/validation.util.d.ts +6 -0
- package/dist/utils/validation.util.d.ts.map +1 -0
- package/dist/utils/validation.util.mjs +306 -0
- package/dist/utils/validation.util.mjs.map +1 -0
- package/package.json +48 -38
- package/dist/components/Backdrop/Backdrop.js +0 -56
- package/dist/components/Backdrop/Backdrop.scss +0 -32
- package/dist/components/Button/Button.js +0 -73
- package/dist/components/Button/Button.scss +0 -171
- package/dist/components/ConfirmDialog/ConfirmDialog.js +0 -101
- package/dist/components/ConfirmDialog/confirmDialog.scss +0 -23
- package/dist/components/FormCheckBox/FormCheckBox.js +0 -82
- package/dist/components/FormCheckBox/formCheckBox.scss +0 -91
- package/dist/components/FormChipCell/FormChip/FormChip.js +0 -103
- package/dist/components/FormChipCell/FormChip/formChip.scss +0 -68
- package/dist/components/FormChipCell/FormChipCell.js +0 -339
- package/dist/components/FormChipCell/FormChipCellView.js +0 -190
- package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.js +0 -107
- package/dist/components/FormChipCell/NewChipForm/NewChipForm.js +0 -353
- package/dist/components/FormChipCell/NewChipForm/newChipForm.scss +0 -81
- package/dist/components/FormChipCell/NewChipInput/NewChipInput.js +0 -71
- package/dist/components/FormChipCell/formChipCell.scss +0 -64
- package/dist/components/FormChipCell/formChipCell.util.js +0 -52
- package/dist/components/FormCombobox/FormCombobox.js +0 -432
- package/dist/components/FormCombobox/formCombobox.scss +0 -134
- package/dist/components/FormInput/FormInput.js +0 -408
- package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.js +0 -91
- package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.scss +0 -123
- package/dist/components/FormInput/formInput.scss +0 -76
- package/dist/components/FormKeyValueTable/FormKeyValueTable.js +0 -221
- package/dist/components/FormOnChange/FormOnChange.js +0 -69
- package/dist/components/FormRadio/FormRadio.js +0 -85
- package/dist/components/FormRadio/FormRadio.scss +0 -41
- package/dist/components/FormSelect/FormSelect.js +0 -353
- package/dist/components/FormSelect/FormSelect.test.js +0 -138
- package/dist/components/FormSelect/formSelect.scss +0 -97
- package/dist/components/FormTextarea/FormTextarea.js +0 -184
- package/dist/components/FormTextarea/formTextarea.scss +0 -32
- package/dist/components/FormToggle/FormToggle.js +0 -82
- package/dist/components/FormToggle/formToggle.scss +0 -58
- package/dist/components/Modal/Modal.js +0 -116
- package/dist/components/Modal/Modal.scss +0 -149
- package/dist/components/PopUpDialog/PopUpDialog.js +0 -171
- package/dist/components/PopUpDialog/popUpDialog.scss +0 -83
- package/dist/components/RoundedIcon/RoundedIcon.js +0 -72
- package/dist/components/RoundedIcon/roundedIcon.scss +0 -57
- package/dist/components/Tip/Tip.js +0 -116
- package/dist/components/Tip/Tip.test.js +0 -64
- package/dist/components/Tip/tip.scss +0 -94
- package/dist/components/Tooltip/Tooltip.js +0 -180
- package/dist/components/Tooltip/Tooltip.test.js +0 -155
- package/dist/components/Tooltip/tooltip.scss +0 -29
- package/dist/components/TooltipTemplate/ProducerTooltipTemplate.js +0 -53
- package/dist/components/TooltipTemplate/TextTooltipTemplate.js +0 -53
- package/dist/components/TooltipTemplate/producerTooltipTemplate.scss +0 -23
- package/dist/components/TooltipTemplate/textTooltipTemplate.scss +0 -21
- package/dist/components/Wizard/Wizard.js +0 -192
- package/dist/components/Wizard/Wizard.scss +0 -53
- package/dist/components/Wizard/WizardSteps/WizardSteps.js +0 -74
- package/dist/components/Wizard/WizardSteps/WizardSteps.scss +0 -108
- package/dist/components/index.js +0 -139
- package/dist/constants.js +0 -120
- package/dist/elements/FormActionButton/FormActionButton.js +0 -64
- package/dist/elements/FormRowActions/FormRowActions.js +0 -99
- package/dist/elements/OptionsMenu/OptionsMenu.js +0 -75
- package/dist/elements/OptionsMenu/optionsMenu.scss +0 -45
- package/dist/elements/SelectOption/SelectOption.js +0 -107
- package/dist/elements/SelectOption/SelectOption.test.js +0 -98
- package/dist/elements/SelectOption/selectOption.scss +0 -98
- package/dist/elements/ValidationTemplate/ValidationTemplate.js +0 -56
- package/dist/elements/ValidationTemplate/ValidationTemplate.scss +0 -36
- package/dist/elements/index.js +0 -41
- package/dist/hooks/index.js +0 -40
- package/dist/hooks/useChipCell.hook.js +0 -129
- package/dist/hooks/useDebounce.hook.js +0 -52
- package/dist/hooks/useDetectOutsideClick.hook.js +0 -47
- package/dist/hooks/useFormTable.hook.js +0 -224
- package/dist/hooks/useHiddenChipsBlock.hook.js +0 -102
- package/dist/index.js +0 -18
- package/dist/types.js +0 -127
- package/dist/utils/common.util.js +0 -130
- package/dist/utils/form.util.js +0 -70
- package/dist/utils/generateChipsList.util.js +0 -39
- package/dist/utils/getFirstScrollableParent.util.js +0 -49
- package/dist/utils/math.util.js +0 -44
- package/dist/utils/validation.util.js +0 -401
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export default FormSelect;
|
|
2
|
+
declare function FormSelect({ className, density, disabled, hideSelectedOption, label, multiple, name, onChange, options, preventWidthOverflow, required, scrollToView, search, selectedItemAction, tooltip, withSelectedIcon, withoutBorder }: {
|
|
3
|
+
className?: string;
|
|
4
|
+
density?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
hideSelectedOption?: boolean;
|
|
7
|
+
label?: string;
|
|
8
|
+
multiple?: boolean;
|
|
9
|
+
name: any;
|
|
10
|
+
onChange?: any;
|
|
11
|
+
options: any;
|
|
12
|
+
preventWidthOverflow?: boolean;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
scrollToView?: boolean;
|
|
15
|
+
search?: boolean;
|
|
16
|
+
selectedItemAction?: any;
|
|
17
|
+
tooltip?: string;
|
|
18
|
+
withSelectedIcon?: boolean;
|
|
19
|
+
withoutBorder?: boolean;
|
|
20
|
+
}): JSX.Element;
|
|
21
|
+
declare namespace FormSelect {
|
|
22
|
+
namespace propTypes {
|
|
23
|
+
export let className: any;
|
|
24
|
+
export { DENSITY as density };
|
|
25
|
+
export let disabled: any;
|
|
26
|
+
export let hideSelectedOption: any;
|
|
27
|
+
export let label: any;
|
|
28
|
+
export let multiple: any;
|
|
29
|
+
export let name: any;
|
|
30
|
+
export let onChange: any;
|
|
31
|
+
export let options: any;
|
|
32
|
+
export let preventWidthOverflow: any;
|
|
33
|
+
export let required: any;
|
|
34
|
+
export let scrollToView: any;
|
|
35
|
+
export let search: any;
|
|
36
|
+
export let selectedItemAction: any;
|
|
37
|
+
export let tooltip: any;
|
|
38
|
+
export let withSelectedIcon: any;
|
|
39
|
+
export let withoutBorder: any;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
import { DENSITY } from '../../types';
|
|
43
|
+
//# sourceMappingURL=FormSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormSelect.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormSelect/FormSelect.jsx"],"names":[],"mappings":";AAkCA;;;;;;;;;;;;;;;;;;gBA6WC;;;;;;;;;;;;;;;;;;;;;;wBApXuC,aAAa"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { jsx as l, jsxs as _, Fragment as ce } from "react/jsx-runtime";
|
|
2
|
+
import fe, { useState as C, useRef as N, useCallback as u, useMemo as ue, useEffect as S } from "react";
|
|
3
|
+
import r from "prop-types";
|
|
4
|
+
import $ from "classnames";
|
|
5
|
+
import { useField as me, Field as pe } from "react-final-form";
|
|
6
|
+
import he from "../ConfirmDialog/ConfirmDialog.mjs";
|
|
7
|
+
import ve from "../PopUpDialog/PopUpDialog.mjs";
|
|
8
|
+
import _e from "../../elements/SelectOption/SelectOption.mjs";
|
|
9
|
+
import H from "../TooltipTemplate/TextTooltipTemplate.mjs";
|
|
10
|
+
import M from "../Tooltip/Tooltip.mjs";
|
|
11
|
+
import { SELECT_OPTIONS as be, DENSITY as ge } from "../../types.mjs";
|
|
12
|
+
import { TERTIARY_BUTTON as we } from "../../constants.mjs";
|
|
13
|
+
import Ce from "../../images/dropdown.svg.mjs";
|
|
14
|
+
/* empty css */
|
|
15
|
+
let O = ({
|
|
16
|
+
className: Y = "",
|
|
17
|
+
density: z = "normal",
|
|
18
|
+
disabled: T = !1,
|
|
19
|
+
hideSelectedOption: I = !1,
|
|
20
|
+
label: P = "",
|
|
21
|
+
multiple: d = !1,
|
|
22
|
+
name: c,
|
|
23
|
+
onChange: B = null,
|
|
24
|
+
options: m,
|
|
25
|
+
preventWidthOverflow: G = !1,
|
|
26
|
+
required: J = !1,
|
|
27
|
+
scrollToView: b = !0,
|
|
28
|
+
search: h = !1,
|
|
29
|
+
selectedItemAction: a = null,
|
|
30
|
+
tooltip: D = "",
|
|
31
|
+
withSelectedIcon: K = !0,
|
|
32
|
+
withoutBorder: Q = !1
|
|
33
|
+
}) => {
|
|
34
|
+
var U;
|
|
35
|
+
const { input: t, meta: s } = me(c), [X, Z] = C(!1), [j, g] = C(!1), [i, q] = C(!1), [v, V] = C(""), w = N(), A = N(), p = N(), y = N(), { width: L } = ((U = p == null ? void 0 : p.current) == null ? void 0 : U.getBoundingClientRect()) || {}, ee = $(
|
|
36
|
+
"form-field__wrapper",
|
|
37
|
+
`form-field__wrapper-${z}`,
|
|
38
|
+
T && "form-field__wrapper-disabled",
|
|
39
|
+
i && "form-field__wrapper-active",
|
|
40
|
+
X && "form-field__wrapper-invalid",
|
|
41
|
+
Q && "without-border"
|
|
42
|
+
), le = $(
|
|
43
|
+
"form-field__label",
|
|
44
|
+
T && "form-field__label-disabled"
|
|
45
|
+
), te = $(
|
|
46
|
+
"form-field__select-value",
|
|
47
|
+
!t.value && "form-field__select-placeholder"
|
|
48
|
+
), E = m.find((e) => e.id === t.value), F = u(
|
|
49
|
+
(e) => e.filter((o) => !h || o.label.toLowerCase().includes(v.toLowerCase())),
|
|
50
|
+
[h, v]
|
|
51
|
+
), oe = ue(() => {
|
|
52
|
+
if (b)
|
|
53
|
+
return F(m);
|
|
54
|
+
const e = [...m], o = e.filter((n, R, de) => n.id === t.value ? (de.splice(R, 1), !0) : !1);
|
|
55
|
+
return F([...o, ...e]);
|
|
56
|
+
}, [t.value, F, m, b]), re = () => {
|
|
57
|
+
if (!t.value || !t.value.length)
|
|
58
|
+
return `Select Option${d ? "s" : ""}`;
|
|
59
|
+
const e = d && t.value.includes("all") && t.value.length > 1 ? m.filter((o) => o.id !== "all").filter((o) => t.value.includes(o.id)).map((o) => o.label).join(", ") : m.filter((o) => t.value.includes(o.id)).map((o) => o.label).join(", ");
|
|
60
|
+
return d ? t.value.length <= 2 ? e : `${t.value.length} items selected` : E == null ? void 0 : E.label;
|
|
61
|
+
};
|
|
62
|
+
S(() => {
|
|
63
|
+
Z(
|
|
64
|
+
s.invalid && (s.validating || s.modified || s.submitFailed && s.touched)
|
|
65
|
+
);
|
|
66
|
+
}, [s.invalid, s.modified, s.submitFailed, s.touched, s.validating]);
|
|
67
|
+
const ie = u(() => {
|
|
68
|
+
i || (q(!0), t.onFocus(new Event("focus")));
|
|
69
|
+
}, [t, i]), f = u(() => {
|
|
70
|
+
i && (q(!1), t.onBlur(new Event("blur")));
|
|
71
|
+
}, [t, i]), k = u(
|
|
72
|
+
(e) => {
|
|
73
|
+
p.current !== e.target.closest(".form-field-select") && f();
|
|
74
|
+
},
|
|
75
|
+
[f]
|
|
76
|
+
), x = u(
|
|
77
|
+
(e) => {
|
|
78
|
+
e.target.closest(".options-list__body") || f();
|
|
79
|
+
},
|
|
80
|
+
[f]
|
|
81
|
+
);
|
|
82
|
+
S(() => (i && window.addEventListener("scroll", x, !0), window.addEventListener("click", k), () => {
|
|
83
|
+
window.removeEventListener("click", k), window.removeEventListener("scroll", x, !0);
|
|
84
|
+
}), [k, x, i]);
|
|
85
|
+
const W = u(() => {
|
|
86
|
+
const e = w.current.querySelector(
|
|
87
|
+
`[data-custom-id="${t.value}"]`
|
|
88
|
+
);
|
|
89
|
+
e && (v ? w.current.scrollTo({ top: 0, left: 0, behavior: "smooth" }) : setTimeout(() => {
|
|
90
|
+
e.scrollIntoView({
|
|
91
|
+
behavior: "smooth",
|
|
92
|
+
block: "center"
|
|
93
|
+
});
|
|
94
|
+
}, 0));
|
|
95
|
+
}, [t.value, v]);
|
|
96
|
+
S(() => {
|
|
97
|
+
i && w.current && b && W();
|
|
98
|
+
}, [i, W, b]), S(() => {
|
|
99
|
+
i && h && y.current && y.current.focus();
|
|
100
|
+
}, [i, h]);
|
|
101
|
+
const ae = () => {
|
|
102
|
+
i ? f() : !T && ie();
|
|
103
|
+
}, se = u(
|
|
104
|
+
(e) => {
|
|
105
|
+
e.stopPropagation(), !d && !e.target.classList.contains("disabled") && !e.target.closest(".options-list__search") && (f(), V(""));
|
|
106
|
+
},
|
|
107
|
+
[f, d]
|
|
108
|
+
), ne = (e, o) => {
|
|
109
|
+
e !== t.value && (o.handler && o.handler(), B && B(e), setTimeout(() => {
|
|
110
|
+
t.onChange(e);
|
|
111
|
+
}));
|
|
112
|
+
};
|
|
113
|
+
return /* @__PURE__ */ l(pe, { name: c, validate: (e) => {
|
|
114
|
+
if (J)
|
|
115
|
+
return e ? void 0 : "Required";
|
|
116
|
+
}, children: ({ input: e, meta: o }) => /* @__PURE__ */ l(
|
|
117
|
+
M,
|
|
118
|
+
{
|
|
119
|
+
className: "select-tooltip",
|
|
120
|
+
template: /* @__PURE__ */ l(H, { text: D }),
|
|
121
|
+
hidden: !D,
|
|
122
|
+
children: /* @__PURE__ */ _(
|
|
123
|
+
"div",
|
|
124
|
+
{
|
|
125
|
+
"data-testid": c ? `${c}-form-field-select` : "form-field-select",
|
|
126
|
+
ref: p,
|
|
127
|
+
className: `form-field-select ${Y}`,
|
|
128
|
+
onClick: ae,
|
|
129
|
+
children: [
|
|
130
|
+
P && /* @__PURE__ */ l("div", { className: le, children: /* @__PURE__ */ _("label", { "data-testid": c ? `${c}-form-select-label` : "form-select-label", children: [
|
|
131
|
+
P,
|
|
132
|
+
o.error && /* @__PURE__ */ l("span", { className: "form-field__label-mandatory", children: " *" })
|
|
133
|
+
] }) }),
|
|
134
|
+
/* @__PURE__ */ _("div", { "data-testid": "select-header", className: ee, children: [
|
|
135
|
+
/* @__PURE__ */ l("div", { className: "form-field__control", children: !I && /* @__PURE__ */ l("div", { "data-testid": "selected-option", className: "form-field__select", children: /* @__PURE__ */ l("span", { className: te, children: re() }) }) }),
|
|
136
|
+
/* @__PURE__ */ _("div", { className: "form-field__icons", children: [
|
|
137
|
+
e.value && a && /* @__PURE__ */ l(ce, { children: a.handler ? /* @__PURE__ */ l(M, { template: /* @__PURE__ */ l(H, { text: a.tooltip }), children: /* @__PURE__ */ l(
|
|
138
|
+
"button",
|
|
139
|
+
{
|
|
140
|
+
onClick: (n) => {
|
|
141
|
+
a.confirm ? g(!0) : a.handler(e.value), n.stopPropagation();
|
|
142
|
+
},
|
|
143
|
+
children: a.icon
|
|
144
|
+
}
|
|
145
|
+
) }) : /* @__PURE__ */ l("span", { children: a.icon }) }),
|
|
146
|
+
/* @__PURE__ */ l("span", { children: /* @__PURE__ */ l(Ce, { className: "form-field__caret" }) })
|
|
147
|
+
] })
|
|
148
|
+
] }),
|
|
149
|
+
j && /* @__PURE__ */ l(
|
|
150
|
+
he,
|
|
151
|
+
{
|
|
152
|
+
cancelButton: {
|
|
153
|
+
handler: () => {
|
|
154
|
+
g(!1);
|
|
155
|
+
},
|
|
156
|
+
label: "Cancel",
|
|
157
|
+
variant: we
|
|
158
|
+
},
|
|
159
|
+
closePopUp: () => {
|
|
160
|
+
g(!1);
|
|
161
|
+
},
|
|
162
|
+
confirmButton: {
|
|
163
|
+
handler: () => {
|
|
164
|
+
a.handler(e.value), g(!1);
|
|
165
|
+
},
|
|
166
|
+
label: a.confirm.btnConfirmLabel,
|
|
167
|
+
variant: a.confirm.btnConfirmType
|
|
168
|
+
},
|
|
169
|
+
header: a.confirm.title,
|
|
170
|
+
isOpen: j,
|
|
171
|
+
message: a.confirm.message
|
|
172
|
+
}
|
|
173
|
+
),
|
|
174
|
+
i && /* @__PURE__ */ l(
|
|
175
|
+
ve,
|
|
176
|
+
{
|
|
177
|
+
className: "form-field form-field-select__options-list",
|
|
178
|
+
headerIsHidden: !0,
|
|
179
|
+
ref: A,
|
|
180
|
+
customPosition: {
|
|
181
|
+
element: p,
|
|
182
|
+
position: "bottom-right",
|
|
183
|
+
autoHorizontalPosition: !0
|
|
184
|
+
},
|
|
185
|
+
style: {
|
|
186
|
+
maxWidth: `${L < 500 && !G ? 500 : L}px`,
|
|
187
|
+
minWidth: `${L}px`
|
|
188
|
+
},
|
|
189
|
+
children: /* @__PURE__ */ _(
|
|
190
|
+
"div",
|
|
191
|
+
{
|
|
192
|
+
"data-testid": "select-body",
|
|
193
|
+
className: "options-list__body",
|
|
194
|
+
onClick: se,
|
|
195
|
+
children: [
|
|
196
|
+
h && /* @__PURE__ */ l("div", { className: "options-list__search", children: /* @__PURE__ */ l(
|
|
197
|
+
"input",
|
|
198
|
+
{
|
|
199
|
+
type: "text",
|
|
200
|
+
placeholder: "Search...",
|
|
201
|
+
value: v,
|
|
202
|
+
onChange: (n) => V(n.target.value),
|
|
203
|
+
ref: y,
|
|
204
|
+
autoFocus: !0
|
|
205
|
+
}
|
|
206
|
+
) }),
|
|
207
|
+
/* @__PURE__ */ l("ul", { className: "options-list", ref: w, children: oe.map((n) => /* @__PURE__ */ l(
|
|
208
|
+
_e,
|
|
209
|
+
{
|
|
210
|
+
item: n,
|
|
211
|
+
name: c,
|
|
212
|
+
onClick: (R) => {
|
|
213
|
+
ne(R, n);
|
|
214
|
+
},
|
|
215
|
+
multiple: d,
|
|
216
|
+
selectedId: d ? "" : e.value,
|
|
217
|
+
withSelectedIcon: K
|
|
218
|
+
},
|
|
219
|
+
n.id
|
|
220
|
+
)) })
|
|
221
|
+
]
|
|
222
|
+
}
|
|
223
|
+
)
|
|
224
|
+
}
|
|
225
|
+
),
|
|
226
|
+
/* @__PURE__ */ l("input", { ...e, type: "hidden" })
|
|
227
|
+
]
|
|
228
|
+
}
|
|
229
|
+
)
|
|
230
|
+
}
|
|
231
|
+
) });
|
|
232
|
+
};
|
|
233
|
+
O.propTypes = {
|
|
234
|
+
className: r.string,
|
|
235
|
+
density: ge,
|
|
236
|
+
disabled: r.bool,
|
|
237
|
+
hideSelectedOption: r.bool,
|
|
238
|
+
label: r.string,
|
|
239
|
+
multiple: r.bool,
|
|
240
|
+
name: r.string.isRequired,
|
|
241
|
+
onChange: r.func,
|
|
242
|
+
options: be.isRequired,
|
|
243
|
+
preventWidthOverflow: r.bool,
|
|
244
|
+
required: r.bool,
|
|
245
|
+
scrollToView: r.bool,
|
|
246
|
+
search: r.bool,
|
|
247
|
+
selectedItemAction: r.object,
|
|
248
|
+
tooltip: r.string,
|
|
249
|
+
withSelectedIcon: r.bool,
|
|
250
|
+
withoutBorder: r.bool
|
|
251
|
+
};
|
|
252
|
+
O = fe.memo(O);
|
|
253
|
+
const je = O;
|
|
254
|
+
export {
|
|
255
|
+
je as default
|
|
256
|
+
};
|
|
257
|
+
//# sourceMappingURL=FormSelect.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormSelect.mjs","sources":["../../../src/lib/components/FormSelect/FormSelect.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, useCallback, useMemo, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { Field, useField } from 'react-final-form'\n\nimport ConfirmDialog from '../ConfirmDialog/ConfirmDialog'\nimport PopUpDialog from '../PopUpDialog/PopUpDialog'\nimport SelectOption from '../../elements/SelectOption/SelectOption'\nimport TextTooltipTemplate from '../TooltipTemplate/TextTooltipTemplate'\nimport Tooltip from '../Tooltip/Tooltip'\n\nimport { DENSITY, SELECT_OPTIONS } from '../../types'\nimport { TERTIARY_BUTTON } from '../../constants'\n\nimport Caret from '../../images/dropdown.svg?react'\n\nimport './formSelect.scss'\n\nlet FormSelect = ({\n className = '',\n density = 'normal',\n disabled = false,\n hideSelectedOption = false,\n label = '',\n multiple = false,\n name,\n onChange = null,\n options,\n preventWidthOverflow = false,\n required = false,\n scrollToView = true,\n search = false,\n selectedItemAction = null,\n tooltip = '',\n withSelectedIcon = true,\n withoutBorder = false\n}) => {\n const { input, meta } = useField(name)\n const [isInvalid, setIsInvalid] = useState(false)\n const [isConfirmDialogOpen, setConfirmDialogOpen] = useState(false)\n const [isOpen, setIsOpen] = useState(false)\n const [searchValue, setSearchValue] = useState('')\n const optionsListRef = useRef()\n const popUpRef = useRef()\n const selectRef = useRef()\n const searchRef = useRef()\n const { width: selectWidth } = selectRef?.current?.getBoundingClientRect() || {}\n\n const selectWrapperClassNames = classNames(\n 'form-field__wrapper',\n `form-field__wrapper-${density}`,\n disabled && 'form-field__wrapper-disabled',\n isOpen && 'form-field__wrapper-active',\n isInvalid && 'form-field__wrapper-invalid',\n withoutBorder && 'without-border'\n )\n\n const selectLabelClassName = classNames(\n 'form-field__label',\n disabled && 'form-field__label-disabled'\n )\n\n const selectValueClassName = classNames(\n 'form-field__select-value',\n !input.value && 'form-field__select-placeholder'\n )\n\n const selectedOption = options.find(option => option.id === input.value)\n\n const getFilteredOptions = useCallback(\n options => {\n return options.filter(option => {\n return !search || option.label.toLowerCase().includes(searchValue.toLowerCase())\n })\n },\n [search, searchValue]\n )\n\n const sortedOptionsList = useMemo(() => {\n if (scrollToView) {\n return getFilteredOptions(options)\n }\n\n const optionsList = [...options]\n\n const selectedOption = optionsList.filter((option, idx, arr) => {\n if (option.id === input.value) {\n arr.splice(idx, 1)\n return true\n }\n return false\n })\n\n return getFilteredOptions([...selectedOption, ...optionsList])\n }, [input.value, getFilteredOptions, options, scrollToView])\n\n const getSelectValue = () => {\n if (!input.value || !input.value.length) {\n return `Select Option${multiple ? 's' : ''}`\n }\n\n const multipleValue =\n multiple && input.value.includes('all') && input.value.length > 1\n ? options\n .filter(option => option.id !== 'all')\n .filter(option => input.value.includes(option.id))\n .map(option => option.label)\n .join(', ')\n : options\n .filter(option => input.value.includes(option.id))\n .map(option => option.label)\n .join(', ')\n\n return !multiple\n ? selectedOption?.label\n : input.value.length <= 2\n ? multipleValue\n : `${input.value.length} items selected`\n }\n\n useEffect(() => {\n setIsInvalid(\n meta.invalid && (meta.validating || meta.modified || (meta.submitFailed && meta.touched))\n )\n }, [meta.invalid, meta.modified, meta.submitFailed, meta.touched, meta.validating])\n\n const openMenu = useCallback(() => {\n if (!isOpen) {\n setIsOpen(true)\n input.onFocus(new Event('focus'))\n }\n }, [input, isOpen])\n\n const closeMenu = useCallback(() => {\n if (isOpen) {\n setIsOpen(false)\n input.onBlur(new Event('blur'))\n }\n }, [input, isOpen])\n\n const clickHandler = useCallback(\n event => {\n if (selectRef.current !== event.target.closest('.form-field-select')) {\n closeMenu()\n }\n },\n [closeMenu]\n )\n\n const handleScroll = useCallback(\n event => {\n if (!event.target.closest('.options-list__body')) {\n closeMenu()\n }\n },\n [closeMenu]\n )\n\n useEffect(() => {\n if (isOpen) {\n window.addEventListener('scroll', handleScroll, true)\n }\n\n window.addEventListener('click', clickHandler)\n\n return () => {\n window.removeEventListener('click', clickHandler)\n window.removeEventListener('scroll', handleScroll, true)\n }\n }, [clickHandler, handleScroll, isOpen])\n\n const scrollOptionToView = useCallback(() => {\n const selectedOptionEl = optionsListRef.current.querySelector(\n `[data-custom-id=\"${input.value}\"]`\n )\n\n if (!selectedOptionEl) return\n\n searchValue\n ? optionsListRef.current.scrollTo({ top: 0, left: 0, behavior: 'smooth' })\n : setTimeout(() => {\n selectedOptionEl.scrollIntoView({\n behavior: 'smooth',\n block: 'center'\n })\n }, 0)\n }, [input.value, searchValue])\n\n useEffect(() => {\n if (isOpen && optionsListRef.current && scrollToView) {\n scrollOptionToView()\n }\n }, [isOpen, scrollOptionToView, scrollToView])\n\n useEffect(() => {\n if (isOpen && search && searchRef.current) {\n searchRef.current.focus()\n }\n }, [isOpen, search])\n\n const toggleOpen = () => {\n if (isOpen) {\n closeMenu()\n } else {\n !disabled && openMenu()\n }\n }\n\n const handleCloseSelectBody = useCallback(\n event => {\n event.stopPropagation()\n if (multiple) return\n\n if (\n !event.target.classList.contains('disabled') &&\n !event.target.closest('.options-list__search')\n ) {\n closeMenu()\n setSearchValue('')\n }\n },\n [closeMenu, multiple]\n )\n\n const handleSelectOptionClick = (selectedOption, option) => {\n if (selectedOption !== input.value) {\n option.handler && option.handler()\n onChange && onChange(selectedOption)\n\n setTimeout(() => {\n input.onChange(selectedOption)\n })\n }\n }\n\n const validateField = value => {\n if (required) {\n return value ? undefined : 'Required'\n }\n }\n\n return (\n <Field name={name} validate={validateField}>\n {({ input, meta }) => (\n <Tooltip\n className=\"select-tooltip\"\n template={<TextTooltipTemplate text={tooltip} />}\n hidden={!tooltip}\n >\n <div\n data-testid={name ? `${name}-form-field-select` : 'form-field-select'}\n ref={selectRef}\n className={`form-field-select ${className}`}\n onClick={toggleOpen}\n >\n {label && (\n <div className={selectLabelClassName}>\n <label data-testid={name ? `${name}-form-select-label` : 'form-select-label'}>\n {label}\n {meta.error && <span className=\"form-field__label-mandatory\"> *</span>}\n </label>\n </div>\n )}\n <div data-testid=\"select-header\" className={selectWrapperClassNames}>\n <div className=\"form-field__control\">\n {!hideSelectedOption && (\n <div data-testid=\"selected-option\" className=\"form-field__select\">\n <span className={selectValueClassName}>{getSelectValue()}</span>\n </div>\n )}\n </div>\n <div className=\"form-field__icons\">\n {input.value && selectedItemAction && (\n <>\n {selectedItemAction.handler ? (\n <Tooltip template={<TextTooltipTemplate text={selectedItemAction.tooltip} />}>\n <button\n onClick={event => {\n if (selectedItemAction.confirm) {\n setConfirmDialogOpen(true)\n } else {\n selectedItemAction.handler(input.value)\n }\n\n event.stopPropagation()\n }}\n >\n {selectedItemAction.icon}\n </button>\n </Tooltip>\n ) : (\n <span>{selectedItemAction.icon}</span>\n )}\n </>\n )}\n <span>\n <Caret className=\"form-field__caret\" />\n </span>\n </div>\n </div>\n {isConfirmDialogOpen && (\n <ConfirmDialog\n cancelButton={{\n handler: () => {\n setConfirmDialogOpen(false)\n },\n label: 'Cancel',\n variant: TERTIARY_BUTTON\n }}\n closePopUp={() => {\n setConfirmDialogOpen(false)\n }}\n confirmButton={{\n handler: () => {\n selectedItemAction.handler(input.value)\n setConfirmDialogOpen(false)\n },\n label: selectedItemAction.confirm.btnConfirmLabel,\n variant: selectedItemAction.confirm.btnConfirmType\n }}\n header={selectedItemAction.confirm.title}\n isOpen={isConfirmDialogOpen}\n message={selectedItemAction.confirm.message}\n />\n )}\n {isOpen && (\n <PopUpDialog\n className=\"form-field form-field-select__options-list\"\n headerIsHidden\n ref={popUpRef}\n customPosition={{\n element: selectRef,\n position: 'bottom-right',\n autoHorizontalPosition: true\n }}\n style={{\n maxWidth: `${selectWidth < 500 && !preventWidthOverflow ? 500 : selectWidth}px`,\n minWidth: `${selectWidth}px`\n }}\n >\n <div\n data-testid=\"select-body\"\n className=\"options-list__body\"\n onClick={handleCloseSelectBody}\n >\n {search && (\n <div className=\"options-list__search\">\n <input\n type=\"text\"\n placeholder=\"Search...\"\n value={searchValue}\n onChange={event => setSearchValue(event.target.value)}\n ref={searchRef}\n autoFocus\n />\n </div>\n )}\n <ul className=\"options-list\" ref={optionsListRef}>\n {sortedOptionsList.map(option => {\n return (\n <SelectOption\n item={option}\n key={option.id}\n name={name}\n onClick={selectedOption => {\n handleSelectOptionClick(selectedOption, option)\n }}\n multiple={multiple}\n selectedId={!multiple ? input.value : ''}\n withSelectedIcon={withSelectedIcon}\n />\n )\n })}\n </ul>\n </div>\n </PopUpDialog>\n )}\n <input {...input} type=\"hidden\" />\n </div>\n </Tooltip>\n )}\n </Field>\n )\n}\n\nFormSelect.propTypes = {\n className: PropTypes.string,\n density: DENSITY,\n disabled: PropTypes.bool,\n hideSelectedOption: PropTypes.bool,\n label: PropTypes.string,\n multiple: PropTypes.bool,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n options: SELECT_OPTIONS.isRequired,\n preventWidthOverflow: PropTypes.bool,\n required: PropTypes.bool,\n scrollToView: PropTypes.bool,\n search: PropTypes.bool,\n selectedItemAction: PropTypes.object,\n tooltip: PropTypes.string,\n withSelectedIcon: PropTypes.bool,\n withoutBorder: PropTypes.bool\n}\n\nFormSelect = React.memo(FormSelect)\n\nexport default FormSelect\n"],"names":["FormSelect","className","density","disabled","hideSelectedOption","label","multiple","name","onChange","options","preventWidthOverflow","required","scrollToView","search","selectedItemAction","tooltip","withSelectedIcon","withoutBorder","input","meta","useField","isInvalid","setIsInvalid","useState","isConfirmDialogOpen","setConfirmDialogOpen","isOpen","setIsOpen","searchValue","setSearchValue","optionsListRef","useRef","popUpRef","selectRef","searchRef","selectWidth","_a","selectWrapperClassNames","classNames","selectLabelClassName","selectValueClassName","selectedOption","option","getFilteredOptions","useCallback","sortedOptionsList","useMemo","optionsList","idx","arr","getSelectValue","multipleValue","useEffect","openMenu","closeMenu","clickHandler","event","handleScroll","scrollOptionToView","selectedOptionEl","toggleOpen","handleCloseSelectBody","handleSelectOptionClick","jsx","Field","value","Tooltip","TextTooltipTemplate","jsxs","Fragment","Caret","ConfirmDialog","TERTIARY_BUTTON","PopUpDialog","SelectOption","PropTypes","DENSITY","SELECT_OPTIONS","React","FormSelect$1"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
export let title: string;
|
|
3
|
+
export { FormSelect 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
|
+
//# sourceMappingURL=FormSelect.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormSelect.stories.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormSelect/FormSelect.stories.js"],"names":[],"mappings":";;;;;AAqCA,wBAAsC;AAMtC,yBAAuC;AAMvC,yBAAuC;AAMvC,yBAAuC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export default FormTextarea;
|
|
2
|
+
declare function FormTextarea({ className, disabled, focused, iconClass, invalidText, label, maxLength, name, onBlur, onChange, required, rows, textAreaIcon, tip, withoutBorder, ...textareaProps }: {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
className?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
focused?: boolean;
|
|
7
|
+
iconClass?: string;
|
|
8
|
+
invalidText?: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
maxLength?: any;
|
|
11
|
+
name: any;
|
|
12
|
+
onBlur?: () => void;
|
|
13
|
+
onChange?: () => void;
|
|
14
|
+
required?: boolean;
|
|
15
|
+
rows?: number;
|
|
16
|
+
textAreaIcon?: any;
|
|
17
|
+
tip?: string;
|
|
18
|
+
withoutBorder?: boolean;
|
|
19
|
+
}, ref: any): JSX.Element;
|
|
20
|
+
declare namespace FormTextarea {
|
|
21
|
+
let displayName: string;
|
|
22
|
+
namespace propTypes {
|
|
23
|
+
let className: any;
|
|
24
|
+
let disabled: any;
|
|
25
|
+
let focused: any;
|
|
26
|
+
let iconClass: any;
|
|
27
|
+
let invalidText: any;
|
|
28
|
+
let label: any;
|
|
29
|
+
let maxLength: any;
|
|
30
|
+
let name: any;
|
|
31
|
+
let onBlur: any;
|
|
32
|
+
let onChange: any;
|
|
33
|
+
let required: any;
|
|
34
|
+
let rows: any;
|
|
35
|
+
let textAreaIcon: any;
|
|
36
|
+
let tip: any;
|
|
37
|
+
let withoutBorder: any;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=FormTextarea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTextarea.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormTextarea/FormTextarea.jsx"],"names":[],"mappings":";AA6BA;;;;;;;;;;;;;;;;;0BAuIC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { jsx as l, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import W, { useState as w, useRef as z, useLayoutEffect as D, useEffect as C, forwardRef as G } from "react";
|
|
3
|
+
import p from "classnames";
|
|
4
|
+
import e from "prop-types";
|
|
5
|
+
import { useField as H, Field as J } from "react-final-form";
|
|
6
|
+
import K from "../TooltipTemplate/TextTooltipTemplate.mjs";
|
|
7
|
+
import O from "../Tip/Tip.mjs";
|
|
8
|
+
import Q from "../Tooltip/Tooltip.mjs";
|
|
9
|
+
import U from "../../images/exclamation-mark.svg.mjs";
|
|
10
|
+
/* empty css */
|
|
11
|
+
let o = ({
|
|
12
|
+
className: y = "",
|
|
13
|
+
disabled: f = !1,
|
|
14
|
+
focused: h = !1,
|
|
15
|
+
iconClass: I = "",
|
|
16
|
+
invalidText: _ = "This field is invalid",
|
|
17
|
+
label: v = "",
|
|
18
|
+
maxLength: s = null,
|
|
19
|
+
name: b,
|
|
20
|
+
onBlur: g = () => {
|
|
21
|
+
},
|
|
22
|
+
onChange: x = () => {
|
|
23
|
+
},
|
|
24
|
+
required: n = !1,
|
|
25
|
+
rows: R = 3,
|
|
26
|
+
textAreaIcon: N = null,
|
|
27
|
+
tip: F = "",
|
|
28
|
+
withoutBorder: A = !1,
|
|
29
|
+
...B
|
|
30
|
+
}, E) => {
|
|
31
|
+
const { input: r, meta: t } = H(b), [c, $] = w(!1), [T, j] = w(r.value.length), u = z(), q = p("form-field-textarea", y), S = p("form-field__label", f && "form-field__label-disabled"), k = p(
|
|
32
|
+
"form-field__wrapper",
|
|
33
|
+
f && "form-field__wrapper-disabled",
|
|
34
|
+
c && "form-field__wrapper-invalid",
|
|
35
|
+
A && "without-border"
|
|
36
|
+
);
|
|
37
|
+
D(() => {
|
|
38
|
+
j(r.value.length);
|
|
39
|
+
}, [r.value.length]), C(() => {
|
|
40
|
+
h && u.current.focus();
|
|
41
|
+
}, [h, u]), C(() => {
|
|
42
|
+
$(
|
|
43
|
+
t.invalid && (t.validating || t.modified || t.submitFailed && t.touched)
|
|
44
|
+
);
|
|
45
|
+
}, [t.invalid, t.modified, t.submitFailed, t.touched, t.validating]);
|
|
46
|
+
const M = (a) => {
|
|
47
|
+
r.onBlur(a), g && g(a);
|
|
48
|
+
}, P = (a) => {
|
|
49
|
+
r.onChange(a), x && x(a.target.value);
|
|
50
|
+
}, V = (a) => {
|
|
51
|
+
r.onFocus(a);
|
|
52
|
+
};
|
|
53
|
+
return /* @__PURE__ */ l(J, { validate: (a) => {
|
|
54
|
+
const d = a ?? "";
|
|
55
|
+
let i = null;
|
|
56
|
+
return d.startsWith(" ") ? i = { name: "empty", label: _ } : n && d.trim().length === 0 && (i = { name: "required", label: "This field is required" }), i;
|
|
57
|
+
}, name: b, children: ({ input: a, meta: d }) => {
|
|
58
|
+
var i;
|
|
59
|
+
return /* @__PURE__ */ m("div", { ref: E, className: q, children: [
|
|
60
|
+
/* @__PURE__ */ l("div", { className: S, children: v && /* @__PURE__ */ m("label", { "data-testid": "label", htmlFor: a.name, children: [
|
|
61
|
+
v,
|
|
62
|
+
n && /* @__PURE__ */ l("span", { className: "form-field__label-mandatory", children: " *" })
|
|
63
|
+
] }) }),
|
|
64
|
+
/* @__PURE__ */ m("div", { className: k, children: [
|
|
65
|
+
/* @__PURE__ */ l("div", { className: "form-field__control", children: /* @__PURE__ */ l(
|
|
66
|
+
"textarea",
|
|
67
|
+
{
|
|
68
|
+
"data-testid": "textarea",
|
|
69
|
+
id: a.name,
|
|
70
|
+
maxLength: s,
|
|
71
|
+
ref: u,
|
|
72
|
+
required: c || n,
|
|
73
|
+
disabled: f,
|
|
74
|
+
rows: R,
|
|
75
|
+
...B,
|
|
76
|
+
...a,
|
|
77
|
+
onBlur: M,
|
|
78
|
+
onChange: P,
|
|
79
|
+
onFocus: V
|
|
80
|
+
}
|
|
81
|
+
) }),
|
|
82
|
+
/* @__PURE__ */ m("div", { className: "form-field__icons", children: [
|
|
83
|
+
c && /* @__PURE__ */ l(
|
|
84
|
+
Q,
|
|
85
|
+
{
|
|
86
|
+
className: "form-field__warning",
|
|
87
|
+
template: /* @__PURE__ */ l(K, { text: ((i = d.error) == null ? void 0 : i.label) ?? _, warning: !0 }),
|
|
88
|
+
children: /* @__PURE__ */ l(U, {})
|
|
89
|
+
}
|
|
90
|
+
),
|
|
91
|
+
F && !n && /* @__PURE__ */ l(O, { text: F, className: "form-field__tip" }),
|
|
92
|
+
N && /* @__PURE__ */ l("span", { "data-testid": "textarea__icon", className: I, children: N })
|
|
93
|
+
] })
|
|
94
|
+
] }),
|
|
95
|
+
s && /* @__PURE__ */ l("div", { className: "form-field__counter", children: `${s - T} ${s - T !== 1 ? "characters" : "character"} left` })
|
|
96
|
+
] });
|
|
97
|
+
} });
|
|
98
|
+
};
|
|
99
|
+
o = W.memo(G(o));
|
|
100
|
+
o.displayName = "FormTextarea";
|
|
101
|
+
o.propTypes = {
|
|
102
|
+
className: e.string,
|
|
103
|
+
disabled: e.bool,
|
|
104
|
+
focused: e.bool,
|
|
105
|
+
iconClass: e.string,
|
|
106
|
+
invalidText: e.string,
|
|
107
|
+
label: e.string,
|
|
108
|
+
maxLength: e.number,
|
|
109
|
+
name: e.string.isRequired,
|
|
110
|
+
onBlur: e.func,
|
|
111
|
+
onChange: e.func,
|
|
112
|
+
required: e.bool,
|
|
113
|
+
rows: e.number,
|
|
114
|
+
textAreaIcon: e.element,
|
|
115
|
+
tip: e.string,
|
|
116
|
+
withoutBorder: e.bool
|
|
117
|
+
};
|
|
118
|
+
const se = o;
|
|
119
|
+
export {
|
|
120
|
+
se as default
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=FormTextarea.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTextarea.mjs","sources":["../../../src/lib/components/FormTextarea/FormTextarea.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, { forwardRef, useEffect, useLayoutEffect, useRef, useState } from 'react'\nimport classnames from 'classnames'\nimport PropTypes from 'prop-types'\nimport { Field, useField } from 'react-final-form'\n\nimport TextTooltipTemplate from '../TooltipTemplate/TextTooltipTemplate'\nimport Tip from '../Tip/Tip'\nimport Tooltip from '../Tooltip/Tooltip'\n\nimport ExclamationMarkIcon from '../../images/exclamation-mark.svg?react'\n\nimport './formTextarea.scss'\n\nlet FormTextarea = (\n {\n className = '',\n disabled = false,\n focused = false,\n iconClass = '',\n invalidText = 'This field is invalid',\n label = '',\n maxLength = null,\n name,\n onBlur = () => {},\n onChange = () => {},\n required = false,\n rows = 3,\n textAreaIcon = null,\n tip = '',\n withoutBorder = false,\n ...textareaProps\n },\n ref\n) => {\n const { input, meta } = useField(name)\n const [isInvalid, setIsInvalid] = useState(false)\n const [textAreaCount, setTextAreaCount] = useState(input.value.length)\n const textAreaRef = useRef()\n\n const formFieldClassNames = classnames('form-field-textarea', className)\n const labelClassNames = classnames('form-field__label', disabled && 'form-field__label-disabled')\n const textAreaClassNames = classnames(\n 'form-field__wrapper',\n disabled && 'form-field__wrapper-disabled',\n isInvalid && 'form-field__wrapper-invalid',\n withoutBorder && 'without-border'\n )\n\n useLayoutEffect(() => {\n setTextAreaCount(input.value.length)\n }, [input.value.length])\n\n useEffect(() => {\n if (focused) {\n textAreaRef.current.focus()\n }\n }, [focused, textAreaRef])\n\n useEffect(() => {\n setIsInvalid(\n meta.invalid && (meta.validating || meta.modified || (meta.submitFailed && meta.touched))\n )\n }, [meta.invalid, meta.modified, meta.submitFailed, meta.touched, meta.validating])\n\n const handleInputBlur = event => {\n input.onBlur(event)\n onBlur && onBlur(event)\n }\n\n const handleInputChange = event => {\n input.onChange(event)\n onChange && onChange(event.target.value)\n }\n\n const handleInputFocus = event => {\n input.onFocus(event)\n }\n\n const validateField = value => {\n const valueToValidate = value ?? ''\n let validationError = null\n\n if (valueToValidate.startsWith(' ')) {\n validationError = { name: 'empty', label: invalidText }\n } else if (required && valueToValidate.trim().length === 0) {\n validationError = { name: 'required', label: 'This field is required' }\n }\n\n return validationError\n }\n\n return (\n <Field validate={validateField} name={name}>\n {({ input, meta }) => (\n <div ref={ref} className={formFieldClassNames}>\n <div className={labelClassNames}>\n {label && (\n <label data-testid=\"label\" htmlFor={input.name}>\n {label}\n {required && <span className=\"form-field__label-mandatory\"> *</span>}\n </label>\n )}\n </div>\n <div className={textAreaClassNames}>\n <div className=\"form-field__control\">\n <textarea\n data-testid=\"textarea\"\n id={input.name}\n maxLength={maxLength}\n ref={textAreaRef}\n required={isInvalid || required}\n {...{\n disabled,\n rows,\n ...textareaProps,\n ...input\n }}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n />\n </div>\n <div className=\"form-field__icons\">\n {isInvalid && (\n <Tooltip\n className=\"form-field__warning\"\n template={<TextTooltipTemplate text={meta.error?.label ?? invalidText} warning />}\n >\n <ExclamationMarkIcon />\n </Tooltip>\n )}\n {tip && !required && <Tip text={tip} className=\"form-field__tip\" />}\n {textAreaIcon && (\n <span data-testid=\"textarea__icon\" className={iconClass}>\n {textAreaIcon}\n </span>\n )}\n </div>\n </div>\n {maxLength && (\n <div className=\"form-field__counter\">{`${maxLength - textAreaCount} ${\n maxLength - textAreaCount !== 1 ? 'characters' : 'character'\n } left`}</div>\n )}\n </div>\n )}\n </Field>\n )\n}\n\nFormTextarea = React.memo(forwardRef(FormTextarea))\n\nFormTextarea.displayName = 'FormTextarea'\n\nFormTextarea.propTypes = {\n className: PropTypes.string,\n disabled: PropTypes.bool,\n focused: PropTypes.bool,\n iconClass: PropTypes.string,\n invalidText: PropTypes.string,\n label: PropTypes.string,\n maxLength: PropTypes.number,\n name: PropTypes.string.isRequired,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n required: PropTypes.bool,\n rows: PropTypes.number,\n textAreaIcon: PropTypes.element,\n tip: PropTypes.string,\n withoutBorder: PropTypes.bool\n}\n\nexport default FormTextarea\n"],"names":["FormTextarea","className","disabled","focused","iconClass","invalidText","label","maxLength","name","onBlur","onChange","required","rows","textAreaIcon","tip","withoutBorder","textareaProps","ref","input","meta","useField","isInvalid","setIsInvalid","useState","textAreaCount","setTextAreaCount","textAreaRef","useRef","formFieldClassNames","classnames","labelClassNames","textAreaClassNames","useLayoutEffect","useEffect","handleInputBlur","event","handleInputChange","handleInputFocus","Field","value","valueToValidate","validationError","jsxs","jsx","Tooltip","TextTooltipTemplate","ExclamationMarkIcon","Tip","React","forwardRef","PropTypes","FormTextarea$1"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
export let title: string;
|
|
3
|
+
export { FormTextarea as component };
|
|
4
|
+
}
|
|
5
|
+
export default _default;
|
|
6
|
+
export const Normal: any;
|
|
7
|
+
export const withTip: any;
|
|
8
|
+
export const withMaxLength: any;
|
|
9
|
+
//# sourceMappingURL=FormTextarea.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTextarea.stories.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormTextarea/FormTextarea.stories.js"],"names":[],"mappings":";;;;;AAiCA,yBAAuC;AAMvC,0BAAwC;AAOxC,gCAA8C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default FormToggle;
|
|
2
|
+
declare function FormToggle({ density, label, name, onChange, ...inputProps }: {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
density?: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
name: any;
|
|
7
|
+
onChange?: () => void;
|
|
8
|
+
}): JSX.Element;
|
|
9
|
+
declare namespace FormToggle {
|
|
10
|
+
namespace propTypes {
|
|
11
|
+
export { DENSITY as density };
|
|
12
|
+
export let label: any;
|
|
13
|
+
export let name: any;
|
|
14
|
+
export let onChange: any;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
import { DENSITY } from '../../types.js';
|
|
18
|
+
//# sourceMappingURL=FormToggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormToggle.d.ts","sourceRoot":"","sources":["../../../src/lib/components/FormToggle/FormToggle.jsx"],"names":[],"mappings":";AAyBA;;;;;;gBAiCC;;;;;;;;;wBArCuB,gBAAgB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as r, jsxs as d } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import g from "classnames";
|
|
4
|
+
import o from "prop-types";
|
|
5
|
+
import { Field as p } from "react-final-form";
|
|
6
|
+
import { DENSITY as c } from "../../types.mjs";
|
|
7
|
+
/* empty css */
|
|
8
|
+
const n = ({ density: l = "", label: t = "", name: e, onChange: i = () => {
|
|
9
|
+
}, ...s }) => {
|
|
10
|
+
const f = g(
|
|
11
|
+
"form-field__wrapper",
|
|
12
|
+
l && `form-field__wrapper-${l}`
|
|
13
|
+
);
|
|
14
|
+
return /* @__PURE__ */ r(p, { name: e, value: s.value, type: "checkbox", children: ({ input: a }) => /* @__PURE__ */ d(
|
|
15
|
+
"label",
|
|
16
|
+
{
|
|
17
|
+
className: "form-field-toggle",
|
|
18
|
+
"data-testid": e ? `${e}-form-field-toggle` : "form-field-toggle",
|
|
19
|
+
children: [
|
|
20
|
+
t && /* @__PURE__ */ r("div", { className: "form-field__label", children: t }),
|
|
21
|
+
/* @__PURE__ */ r(
|
|
22
|
+
"input",
|
|
23
|
+
{
|
|
24
|
+
"data-testid": e ? `${e}-form-toggle` : "form-toggle",
|
|
25
|
+
id: e,
|
|
26
|
+
...a,
|
|
27
|
+
...s,
|
|
28
|
+
onChange: (m) => {
|
|
29
|
+
i && i(m), a.onChange(m);
|
|
30
|
+
},
|
|
31
|
+
type: "checkbox"
|
|
32
|
+
}
|
|
33
|
+
),
|
|
34
|
+
/* @__PURE__ */ r("div", { className: f, children: /* @__PURE__ */ r("span", { className: "form-field-toggle__switch" }) })
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
) });
|
|
38
|
+
};
|
|
39
|
+
n.propTypes = {
|
|
40
|
+
density: c,
|
|
41
|
+
label: o.string,
|
|
42
|
+
name: o.string.isRequired,
|
|
43
|
+
onChange: o.func
|
|
44
|
+
};
|
|
45
|
+
export {
|
|
46
|
+
n as default
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=FormToggle.mjs.map
|