@onewelcome/react-lib-components 6.0.0 → 6.2.0
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/cjs/.scope.d.ts +2 -0
- package/dist/cjs/Button/Button.module.cjs.js +1 -1
- package/dist/cjs/Button/IconButton.module.cjs.js +1 -1
- package/dist/cjs/ContextMenu/ContextMenu.cjs.js +1 -1
- package/dist/cjs/ContextMenu/ContextMenu.cjs.js.map +1 -1
- package/dist/cjs/ContextMenu/ContextMenuItem.module.cjs.js +1 -1
- package/dist/cjs/ContextMenu/ContextMenuService.cjs.js +1 -1
- package/dist/cjs/ContextMenu/ContextMenuService.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridActions/DataGridColumnsToggle.module.cjs.js +1 -1
- package/dist/cjs/Form/Fieldset/Fieldset.cjs.js +1 -1
- package/dist/cjs/Form/Fieldset/Fieldset.cjs.js.map +1 -1
- package/dist/cjs/Form/Input/Input.module.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/MultiOption.cjs.js +2 -0
- package/dist/cjs/Form/Select/MultiSelect/MultiOption.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js +2 -0
- package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/MultiSelect/MultiSelect.module.cjs.js +2 -0
- package/dist/cjs/Form/Select/MultiSelect/MultiSelect.module.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/MultiSelect/SelectButton.cjs.js +2 -0
- package/dist/cjs/Form/Select/MultiSelect/SelectButton.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/MultiSelect/SelectButton.module.cjs.js +2 -0
- package/dist/cjs/Form/Select/MultiSelect/SelectButton.module.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.cjs.js +2 -0
- package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.module.cjs.js +2 -0
- package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.module.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/SelectService.cjs.js +1 -1
- package/dist/cjs/Form/Select/SelectService.cjs.js.map +1 -1
- package/dist/cjs/Form/Select/SingleSelect/Option.cjs.js +2 -0
- package/dist/cjs/Form/Select/SingleSelect/Option.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js +2 -0
- package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/SingleSelect/Select.module.cjs.js +2 -0
- package/dist/cjs/Form/Select/useAddNewBtn.cjs.js +2 -0
- package/dist/cjs/Form/Select/useAddNewBtn.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/useAddNewBtn.module.cjs.js +2 -0
- package/dist/cjs/Form/Select/useAddNewBtn.module.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/useSearch.cjs.js +2 -0
- package/dist/cjs/Form/Select/useSearch.cjs.js.map +1 -0
- package/dist/cjs/Form/Textarea/Textarea.module.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.module.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.cjs.js.map +1 -1
- package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.module.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.module.cjs.js +1 -1
- package/dist/cjs/Icon/Icon.cjs.js +1 -1
- package/dist/cjs/Icon/Icon.cjs.js.map +1 -1
- package/dist/cjs/Icon/Icon.module.cjs.js +1 -1
- package/dist/cjs/Link/Link.module.cjs.js +1 -1
- package/dist/cjs/Notifications/BaseModal/BaseModal.module.cjs.js +1 -1
- package/dist/cjs/Notifications/SlideInModal/SlideInModal.module.cjs.js +1 -1
- package/dist/cjs/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.cjs.js +1 -1
- package/dist/cjs/Pagination/Pagination.cjs.js +1 -1
- package/dist/cjs/Pagination/Pagination.cjs.js.map +1 -1
- package/dist/cjs/Popover/Popover.cjs.js +1 -1
- package/dist/cjs/Popover/Popover.cjs.js.map +1 -1
- package/dist/cjs/Popover/Popover.module.cjs.js +1 -1
- package/dist/cjs/Stepper/Step.cjs.js +1 -1
- package/dist/cjs/Stepper/Step.cjs.js.map +1 -1
- package/dist/cjs/Stepper/Step.module.cjs.js +1 -1
- package/dist/cjs/Stepper/Stepper.cjs.js +1 -1
- package/dist/cjs/Stepper/Stepper.cjs.js.map +1 -1
- package/dist/cjs/Tabs/TabButton.module.cjs.js +1 -1
- package/dist/cjs/Tag/RemoveButton.cjs.js +2 -0
- package/dist/cjs/Tag/RemoveButton.cjs.js.map +1 -0
- package/dist/cjs/Tag/RemoveButton.module.cjs.js +2 -0
- package/dist/cjs/Tag/RemoveButton.module.cjs.js.map +1 -0
- package/dist/cjs/Tag/Tag.cjs.js +1 -1
- package/dist/cjs/Tag/Tag.cjs.js.map +1 -1
- package/dist/cjs/Tag/Tag.module.cjs.js +1 -1
- package/dist/cjs/TextEllipsis/TextEllipsis.module.cjs.js +1 -1
- package/dist/cjs/Tiles/Tile.module.cjs.js +1 -1
- package/dist/cjs/Tooltip/Tooltip.module.cjs.js +1 -1
- package/dist/cjs/Wizard/BaseWizardSteps/BaseWizardSteps.module.cjs.js +1 -1
- package/dist/cjs/src/components/ContextMenu/ContextMenu.d.ts +1 -1
- package/dist/cjs/src/components/ContextMenu/ContextMenuService.d.ts +4 -1
- package/dist/cjs/src/components/Form/Select/MultiSelect/MultiOption.d.ts +6 -0
- package/dist/cjs/src/components/Form/Select/MultiSelect/MultiSelect.d.ts +3 -0
- package/dist/cjs/src/components/Form/Select/MultiSelect/SelectButton.d.ts +4 -0
- package/dist/cjs/src/components/Form/Select/MultiSelect/SelectedOptions.d.ts +11 -0
- package/dist/cjs/src/components/Form/Select/Select.interfaces.d.ts +47 -1
- package/dist/cjs/src/components/Form/Select/SelectService.d.ts +8 -3
- package/dist/cjs/src/components/Form/Select/{Option.d.ts → SingleSelect/Option.d.ts} +1 -0
- package/dist/cjs/src/components/Form/Select/SingleSelect/Select.d.ts +3 -0
- package/dist/cjs/src/components/Form/Select/SingleSelect/Select.test.d.ts +63 -0
- package/dist/cjs/src/components/Form/Select/useAddNewBtn.d.ts +12 -0
- package/dist/cjs/src/components/Form/Select/useSearch.d.ts +29 -0
- package/dist/cjs/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.d.ts +16 -0
- package/dist/cjs/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +2 -2
- package/dist/cjs/src/components/Icon/Icon.d.ts +1 -0
- package/dist/cjs/src/components/Stepper/Stepper.d.ts +0 -1
- package/dist/cjs/src/components/Tag/RemoveButton.d.ts +7 -0
- package/dist/cjs/src/components/Tag/Tag.d.ts +3 -0
- package/dist/cjs/src/hooks/usePosition.cjs.js.map +1 -1
- package/dist/cjs/src/hooks/usePosition.d.ts +1 -1
- package/dist/cjs/src/index.cjs.js +1 -1
- package/dist/cjs/src/index.d.ts +7 -4
- package/dist/esm/.scope.d.ts +2 -0
- package/dist/esm/Button/Button.module.esm.js +1 -1
- package/dist/esm/Button/IconButton.module.esm.js +1 -1
- package/dist/esm/ContextMenu/ContextMenu.esm.js +1 -1
- package/dist/esm/ContextMenu/ContextMenu.esm.js.map +1 -1
- package/dist/esm/ContextMenu/ContextMenuItem.module.esm.js +1 -1
- package/dist/esm/ContextMenu/ContextMenuService.esm.js +1 -1
- package/dist/esm/ContextMenu/ContextMenuService.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.module.esm.js +1 -1
- package/dist/esm/Form/Fieldset/Fieldset.esm.js +1 -1
- package/dist/esm/Form/Fieldset/Fieldset.esm.js.map +1 -1
- package/dist/esm/Form/Input/Input.module.esm.js +1 -1
- package/dist/esm/Form/Select/MultiSelect/MultiOption.esm.js +2 -0
- package/dist/esm/Form/Select/MultiSelect/MultiOption.esm.js.map +1 -0
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +2 -0
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -0
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.module.esm.js +2 -0
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.module.esm.js.map +1 -0
- package/dist/esm/Form/Select/MultiSelect/SelectButton.esm.js +2 -0
- package/dist/esm/Form/Select/MultiSelect/SelectButton.esm.js.map +1 -0
- package/dist/esm/Form/Select/MultiSelect/SelectButton.module.esm.js +2 -0
- package/dist/esm/Form/Select/MultiSelect/SelectButton.module.esm.js.map +1 -0
- package/dist/esm/Form/Select/MultiSelect/SelectedOptions.esm.js +2 -0
- package/dist/esm/Form/Select/MultiSelect/SelectedOptions.esm.js.map +1 -0
- package/dist/esm/Form/Select/MultiSelect/SelectedOptions.module.esm.js +2 -0
- package/dist/esm/Form/Select/MultiSelect/SelectedOptions.module.esm.js.map +1 -0
- package/dist/esm/Form/Select/SelectService.esm.js +1 -1
- package/dist/esm/Form/Select/SelectService.esm.js.map +1 -1
- package/dist/esm/Form/Select/SingleSelect/Option.esm.js +2 -0
- package/dist/esm/Form/Select/SingleSelect/Option.esm.js.map +1 -0
- package/dist/esm/Form/Select/SingleSelect/Select.esm.js +2 -0
- package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -0
- package/dist/esm/Form/Select/SingleSelect/Select.module.esm.js +2 -0
- package/dist/esm/Form/Select/useAddNewBtn.esm.js +2 -0
- package/dist/esm/Form/Select/useAddNewBtn.esm.js.map +1 -0
- package/dist/esm/Form/Select/useAddNewBtn.module.esm.js +2 -0
- package/dist/esm/Form/Select/useAddNewBtn.module.esm.js.map +1 -0
- package/dist/esm/Form/Select/useSearch.esm.js +2 -0
- package/dist/esm/Form/Select/useSearch.esm.js.map +1 -0
- package/dist/esm/Form/Textarea/Textarea.module.esm.js +1 -1
- package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.module.esm.js +1 -1
- package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js +1 -1
- package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.module.esm.js +1 -1
- package/dist/esm/Form/Wrapper/Wrapper/Wrapper.module.esm.js +1 -1
- package/dist/esm/Icon/Icon.esm.js +1 -1
- package/dist/esm/Icon/Icon.esm.js.map +1 -1
- package/dist/esm/Icon/Icon.module.esm.js +1 -1
- package/dist/esm/Link/Link.module.esm.js +1 -1
- package/dist/esm/Notifications/BaseModal/BaseModal.module.esm.js +1 -1
- package/dist/esm/Notifications/SlideInModal/SlideInModal.module.esm.js +1 -1
- package/dist/esm/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.esm.js +1 -1
- package/dist/esm/Pagination/Pagination.esm.js +1 -1
- package/dist/esm/Pagination/Pagination.esm.js.map +1 -1
- package/dist/esm/Popover/Popover.esm.js +1 -1
- package/dist/esm/Popover/Popover.esm.js.map +1 -1
- package/dist/esm/Popover/Popover.module.esm.js +1 -1
- package/dist/esm/Stepper/Step.esm.js +1 -1
- package/dist/esm/Stepper/Step.esm.js.map +1 -1
- package/dist/esm/Stepper/Step.module.esm.js +1 -1
- package/dist/esm/Stepper/Stepper.esm.js +1 -1
- package/dist/esm/Stepper/Stepper.esm.js.map +1 -1
- package/dist/esm/Tabs/TabButton.module.esm.js +1 -1
- package/dist/esm/Tag/RemoveButton.esm.js +2 -0
- package/dist/esm/Tag/RemoveButton.esm.js.map +1 -0
- package/dist/esm/Tag/RemoveButton.module.esm.js +2 -0
- package/dist/esm/Tag/RemoveButton.module.esm.js.map +1 -0
- package/dist/esm/Tag/Tag.esm.js +1 -1
- package/dist/esm/Tag/Tag.esm.js.map +1 -1
- package/dist/esm/Tag/Tag.module.esm.js +1 -1
- package/dist/esm/TextEllipsis/TextEllipsis.module.esm.js +1 -1
- package/dist/esm/Tiles/Tile.module.esm.js +1 -1
- package/dist/esm/Tooltip/Tooltip.module.esm.js +1 -1
- package/dist/esm/Wizard/BaseWizardSteps/BaseWizardSteps.module.esm.js +1 -1
- package/dist/esm/src/components/ContextMenu/ContextMenu.d.ts +1 -1
- package/dist/esm/src/components/ContextMenu/ContextMenuService.d.ts +4 -1
- package/dist/esm/src/components/Form/Select/MultiSelect/MultiOption.d.ts +6 -0
- package/dist/esm/src/components/Form/Select/MultiSelect/MultiSelect.d.ts +3 -0
- package/dist/esm/src/components/Form/Select/MultiSelect/MultiSelect.test.d.ts +1 -0
- package/dist/esm/src/components/Form/Select/MultiSelect/SelectButton.d.ts +4 -0
- package/dist/esm/src/components/Form/Select/MultiSelect/SelectedOptions.d.ts +11 -0
- package/dist/esm/src/components/Form/Select/Select.interfaces.d.ts +47 -1
- package/dist/esm/src/components/Form/Select/SelectService.d.ts +8 -3
- package/dist/esm/src/components/Form/Select/{Option.d.ts → SingleSelect/Option.d.ts} +1 -0
- package/dist/esm/src/components/Form/Select/SingleSelect/Option.test.d.ts +1 -0
- package/dist/esm/src/components/Form/Select/SingleSelect/Select.d.ts +3 -0
- package/dist/esm/src/components/Form/Select/SingleSelect/Select.test.d.ts +63 -0
- package/dist/esm/src/components/Form/Select/SingleSelect/SelectKeyboardNavigation.test.d.ts +1 -0
- package/dist/esm/src/components/Form/Select/useAddNewBtn.d.ts +12 -0
- package/dist/esm/src/components/Form/Select/useSearch.d.ts +29 -0
- package/dist/esm/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.d.ts +16 -0
- package/dist/esm/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.test.d.ts +1 -0
- package/dist/esm/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +2 -2
- package/dist/esm/src/components/Icon/Icon.d.ts +1 -0
- package/dist/esm/src/components/Stepper/Stepper.d.ts +0 -1
- package/dist/esm/src/components/Tag/RemoveButton.d.ts +7 -0
- package/dist/esm/src/components/Tag/Tag.d.ts +3 -0
- package/dist/esm/src/hooks/usePosition.d.ts +1 -1
- package/dist/esm/src/hooks/usePosition.esm.js.map +1 -1
- package/dist/esm/src/index.d.ts +7 -4
- package/dist/esm/src/index.esm.js +1 -1
- package/package.json +49 -46
- package/src/components/ContextMenu/ContextMenu.tsx +13 -23
- package/src/components/ContextMenu/ContextMenuService.ts +47 -1
- package/src/components/Form/Fieldset/Fieldset.tsx +3 -1
- package/src/{hooks/useWrapper.test.ts → components/Form/Select/MultiSelect/MultiOption.tsx} +13 -10
- package/src/components/Form/Select/{Select.module.scss → MultiSelect/MultiSelect.module.scss} +19 -20
- package/src/components/Form/Select/MultiSelect/MultiSelect.tsx +363 -0
- package/src/components/Form/Select/MultiSelect/SelectButton.module.scss +27 -0
- package/src/components/Form/Select/MultiSelect/SelectButton.tsx +37 -0
- package/src/components/Form/Select/MultiSelect/SelectedOptions.module.scss +31 -0
- package/src/components/Form/Select/MultiSelect/SelectedOptions.tsx +67 -0
- package/src/components/Form/Select/Select.interfaces.ts +51 -1
- package/src/components/Form/Select/SelectService.ts +46 -13
- package/src/components/Form/Select/{Option.tsx → SingleSelect/Option.tsx} +3 -1
- package/src/components/Form/Select/SingleSelect/Select.module.scss +232 -0
- package/src/components/Form/Select/{Select.tsx → SingleSelect/Select.tsx} +56 -87
- package/src/components/Form/Select/useAddNewBtn.module.scss +51 -0
- package/src/components/Form/Select/useAddNewBtn.tsx +54 -0
- package/src/components/Form/Select/useSearch.tsx +124 -0
- package/src/components/Form/Wrapper/InputWrapper/InputWrapper.module.scss +0 -10
- package/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.module.scss +27 -0
- package/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.tsx +84 -0
- package/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.module.scss +0 -4
- package/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.tsx +3 -2
- package/src/components/Form/Wrapper/Wrapper/Wrapper.module.scss +0 -6
- package/src/components/Icon/Icon.module.scss +5 -0
- package/src/components/Icon/Icon.tsx +1 -0
- package/src/components/Link/Link.module.scss +16 -0
- package/src/components/Pagination/Pagination.tsx +2 -2
- package/src/components/Popover/Popover.tsx +19 -2
- package/src/components/Stepper/Step.tsx +2 -1
- package/src/components/Stepper/Stepper.tsx +0 -2
- package/src/{hooks/useScroll.test.tsx → components/Tag/RemoveButton.module.scss} +22 -17
- package/src/components/Tag/RemoveButton.tsx +52 -0
- package/src/components/Tag/Tag.module.scss +23 -2
- package/src/components/Tag/Tag.tsx +21 -11
- package/src/components/Tooltip/Tooltip.module.scss +1 -0
- package/src/font/icomoon.eot +0 -0
- package/src/font/icomoon.svg +1 -0
- package/src/font/icomoon.ttf +0 -0
- package/src/font/icomoon.woff +0 -0
- package/src/font/selection.json +1 -1
- package/src/hooks/usePosition.ts +1 -1
- package/src/index.ts +11 -4
- package/src/interfaces.ts +2 -2
- package/src/mixins.module.scss +2 -4
- package/dist/cjs/Form/Select/Option.cjs.js +0 -2
- package/dist/cjs/Form/Select/Option.cjs.js.map +0 -1
- package/dist/cjs/Form/Select/Select.cjs.js +0 -2
- package/dist/cjs/Form/Select/Select.cjs.js.map +0 -1
- package/dist/cjs/Form/Select/Select.module.cjs.js +0 -2
- package/dist/cjs/src/components/Form/Select/Select.d.ts +0 -23
- package/dist/esm/Form/Select/Option.esm.js +0 -2
- package/dist/esm/Form/Select/Option.esm.js.map +0 -1
- package/dist/esm/Form/Select/Select.esm.js +0 -2
- package/dist/esm/Form/Select/Select.esm.js.map +0 -1
- package/dist/esm/Form/Select/Select.module.esm.js +0 -2
- package/dist/esm/src/components/Form/Select/Select.d.ts +0 -23
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +0 -64
- package/src/components/Button/BaseButton.test.tsx +0 -133
- package/src/components/Button/Button.test.tsx +0 -150
- package/src/components/Button/IconButton.test.tsx +0 -106
- package/src/components/ContextMenu/ContextMenu.test.tsx +0 -358
- package/src/components/DataGrid/DataGrid.test.tsx +0 -437
- package/src/components/DataGrid/DataGridActions/DataGridActions.test.tsx +0 -204
- package/src/components/DataGrid/DataGridActions/DataGridColumnsToggle.test.tsx +0 -99
- package/src/components/DataGrid/DataGridBody/DataGridBody.test.tsx +0 -140
- package/src/components/DataGrid/DataGridBody/DataGridCell.test.tsx +0 -90
- package/src/components/DataGrid/DataGridBody/DataGridRow.test.tsx +0 -117
- package/src/components/DataGrid/DataGridHeader/DataGridHeader.test.tsx +0 -276
- package/src/components/DataGrid/DataGridHeader/DataGridHeaderCell.test.tsx +0 -144
- package/src/components/Form/Checkbox/Checkbox.test.tsx +0 -308
- package/src/components/Form/Fieldset/Fieldset.test.tsx +0 -127
- package/src/components/Form/FileUpload/FileItem/FileItem.test.tsx +0 -103
- package/src/components/Form/FileUpload/FileUpload.test.tsx +0 -374
- package/src/components/Form/Form.test.tsx +0 -63
- package/src/components/Form/FormControl/FormControl.test.tsx +0 -98
- package/src/components/Form/FormGroup/FormGroup.test.tsx +0 -127
- package/src/components/Form/FormHelperText/FormHelperText.test.tsx +0 -84
- package/src/components/Form/FormSelectorWrapper/FormSelectorWrapper.test.tsx +0 -94
- package/src/components/Form/Input/Input.test.tsx +0 -267
- package/src/components/Form/Label/Label.test.tsx +0 -68
- package/src/components/Form/Radio/Radio.test.tsx +0 -130
- package/src/components/Form/Select/Option.test.tsx +0 -57
- package/src/components/Form/Select/Select.test.tsx +0 -564
- package/src/components/Form/Textarea/Textarea.test.tsx +0 -124
- package/src/components/Form/Toggle/Toggle.test.tsx +0 -200
- package/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.test.tsx +0 -141
- package/src/components/Form/Wrapper/InputWrapper/InputWrapper.test.tsx +0 -211
- package/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.test.tsx +0 -117
- package/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.test.tsx +0 -186
- package/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.test.tsx +0 -173
- package/src/components/Form/Wrapper/Wrapper/Wrapper.test.tsx +0 -59
- package/src/components/Icon/Icon.test.tsx +0 -83
- package/src/components/Link/Link.test.tsx +0 -203
- package/src/components/Notifications/Banner/Banner.test.tsx +0 -84
- package/src/components/Notifications/BaseModal/BaseModal.test.tsx +0 -194
- package/src/components/Notifications/BaseModal/BaseModalActions/BaseModalActions.test.tsx +0 -74
- package/src/components/Notifications/BaseModal/BaseModalContent/BaseModalContent.test.tsx +0 -71
- package/src/components/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.test.tsx +0 -74
- package/src/components/Notifications/Dialog/Dialog.test.tsx +0 -118
- package/src/components/Notifications/Dialog/DialogActions/DialogActions.test.tsx +0 -61
- package/src/components/Notifications/Dialog/DialogTitle/DialogTitle.test.tsx +0 -87
- package/src/components/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.test.tsx +0 -111
- package/src/components/Notifications/DiscardChangesModal/DiscardChangesModal.test.tsx +0 -175
- package/src/components/Notifications/Modal/Modal.test.tsx +0 -18
- package/src/components/Notifications/NotificationProvider/NotificationContext.test.tsx +0 -449
- package/src/components/Notifications/SlideInModal/SlideInModal.test.tsx +0 -90
- package/src/components/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.test.tsx +0 -53
- package/src/components/Notifications/Snackbar/SnackbarItem/SnackbarItem.test.tsx +0 -77
- package/src/components/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.test.tsx +0 -219
- package/src/components/Notifications/Snackbar/useSnackbar.test.tsx +0 -136
- package/src/components/Pagination/Pagination.test.tsx +0 -183
- package/src/components/Popover/Popover.test.tsx +0 -103
- package/src/components/ProgressBar/ProgressBar.test.tsx +0 -91
- package/src/components/Skeleton/Skeleton.test.tsx +0 -112
- package/src/components/StatusIndicator/StatusIndicator.test.tsx +0 -143
- package/src/components/Stepper/Stepper.test.tsx +0 -83
- package/src/components/Tabs/Tab.test.tsx +0 -49
- package/src/components/Tabs/TabButton.test.tsx +0 -65
- package/src/components/Tabs/Tabs.test.tsx +0 -291
- package/src/components/Tag/Tag.test.tsx +0 -89
- package/src/components/TextEllipsis/TextEllipsis.test.tsx +0 -96
- package/src/components/Tiles/Tile.test.tsx +0 -183
- package/src/components/Tiles/Tiles.test.tsx +0 -162
- package/src/components/Tooltip/Tooltip.test.tsx +0 -390
- package/src/components/Typography/Typography.test.tsx +0 -177
- package/src/components/Wizard/BaseWizardSteps/BaseWizardSteps.test.tsx +0 -90
- package/src/components/Wizard/Wizard.test.tsx +0 -218
- package/src/components/Wizard/WizardActions/WizardActions.test.tsx +0 -187
- package/src/components/Wizard/WizardSteps/WizardSteps.test.tsx +0 -125
- package/src/components/_BaseStyling_/BaseStyling.test.tsx +0 -55
- package/src/hooks/useAnimation.test.tsx +0 -65
- package/src/hooks/useBodyClick.test.tsx +0 -55
- package/src/hooks/useDebouncedCallback.test.ts +0 -150
- package/src/hooks/useDetermineStatusIcon.test.ts +0 -28
- package/src/hooks/useFormSelector.test.ts +0 -56
- package/src/hooks/usePosition.test.tsx +0 -510
- package/src/hooks/useRepeater.test.tsx +0 -156
- package/src/hooks/useSpacing.test.ts +0 -86
- package/src/hooks/useUploadFile.test.ts +0 -211
- package/src/util/helper.test.tsx +0 -403
- /package/dist/cjs/Form/Select/{Select.module.cjs.js.map → SingleSelect/Select.module.cjs.js.map} +0 -0
- /package/dist/cjs/src/components/Form/Select/{Option.test.d.ts → MultiSelect/MultiSelect.test.d.ts} +0 -0
- /package/dist/{esm/src/components/Form/Select → cjs/src/components/Form/Select/SingleSelect}/Option.test.d.ts +0 -0
- /package/dist/cjs/src/components/Form/Select/{Select.test.d.ts → SingleSelect/SelectKeyboardNavigation.test.d.ts} +0 -0
- /package/dist/{esm/src/components/Form/Select/Select.test.d.ts → cjs/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.test.d.ts} +0 -0
- /package/dist/esm/Form/Select/{Select.module.esm.js.map → SingleSelect/Select.module.esm.js.map} +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 OneWelcome B.V.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import classes from "./useAddNewBtn.module.scss";
|
|
18
|
+
|
|
19
|
+
import React, { useRef } from "react";
|
|
20
|
+
import { AddNewProps } from "./Select.interfaces";
|
|
21
|
+
|
|
22
|
+
interface Props {
|
|
23
|
+
addNew?: AddNewProps;
|
|
24
|
+
filter: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const useAddNewBtn = ({ addNew, filter }: Props) => {
|
|
28
|
+
const addBtnRef = useRef<HTMLButtonElement>(null);
|
|
29
|
+
|
|
30
|
+
const addNewLabel = addNew?.label ?? "Create new";
|
|
31
|
+
|
|
32
|
+
const renderAddNew = () =>
|
|
33
|
+
addNew && (
|
|
34
|
+
<button
|
|
35
|
+
data-testid={"select-action-button"}
|
|
36
|
+
className={classes["action-button"]}
|
|
37
|
+
onClick={() => addNew.onAddNew(filter)}
|
|
38
|
+
ref={addBtnRef}
|
|
39
|
+
{...addNew.btnProps}
|
|
40
|
+
>
|
|
41
|
+
{!filter && addNewLabel}
|
|
42
|
+
{filter && <span style={{ fontWeight: "700" }}>{`"${filter}"`}</span>}
|
|
43
|
+
{filter && ` (${addNewLabel.toLowerCase()})`}
|
|
44
|
+
</button>
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
const addNewBtnOptionsContainerClassName = addNew ? classes["has-sibling"] : "";
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
addNewBtnOptionsContainerClassName,
|
|
51
|
+
renderAddNew,
|
|
52
|
+
addBtnRef
|
|
53
|
+
};
|
|
54
|
+
};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 OneWelcome B.V.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import React, { useEffect, useRef, useState } from "react";
|
|
18
|
+
import { PartialInputProps, SearchProps } from "./Select.interfaces";
|
|
19
|
+
import { Input } from "../Input/Input";
|
|
20
|
+
|
|
21
|
+
interface Props {
|
|
22
|
+
search?: SearchProps;
|
|
23
|
+
optionsCount: number;
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated
|
|
26
|
+
*/
|
|
27
|
+
searchPlaceholder?: string;
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated
|
|
30
|
+
*/
|
|
31
|
+
searchInputProps?: PartialInputProps & { reset?: boolean };
|
|
32
|
+
searchInputClassName: string;
|
|
33
|
+
expanded: boolean;
|
|
34
|
+
setFocusedSelectItem: (idx: number) => void;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const useSearch = ({
|
|
38
|
+
search,
|
|
39
|
+
optionsCount,
|
|
40
|
+
searchPlaceholder,
|
|
41
|
+
searchInputProps,
|
|
42
|
+
searchInputClassName,
|
|
43
|
+
expanded,
|
|
44
|
+
setFocusedSelectItem
|
|
45
|
+
}: Props) => {
|
|
46
|
+
const [filter, setFilter] = useState("");
|
|
47
|
+
const [isSearching, setIsSearching] = useState(false);
|
|
48
|
+
|
|
49
|
+
const DEFAULT_RENDER_THRESHOLD = 10;
|
|
50
|
+
|
|
51
|
+
const searchInputRef = useRef<HTMLInputElement>(null);
|
|
52
|
+
|
|
53
|
+
const threshold = search?.renderThreshold ?? DEFAULT_RENDER_THRESHOLD;
|
|
54
|
+
const hasEnoughChildren = optionsCount > threshold;
|
|
55
|
+
|
|
56
|
+
const filterResults = (event: React.ChangeEvent<HTMLInputElement>) => {
|
|
57
|
+
setFilter(event.currentTarget.value);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const shouldRenderSearch = () => {
|
|
61
|
+
if (search?.enabled) {
|
|
62
|
+
return hasEnoughChildren;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (search) {
|
|
66
|
+
return search.enabled as boolean;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return optionsCount > DEFAULT_RENDER_THRESHOLD;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const renderSearch = () => (
|
|
73
|
+
<Input
|
|
74
|
+
{...(search?.searchInputProps ?? searchInputProps ?? {})}
|
|
75
|
+
ref={searchInputRef}
|
|
76
|
+
onFocus={() => setIsSearching(true)}
|
|
77
|
+
onBlur={() => setIsSearching(false)}
|
|
78
|
+
onChange={filterResults}
|
|
79
|
+
className={searchInputClassName}
|
|
80
|
+
wrapperProps={{
|
|
81
|
+
className:
|
|
82
|
+
search?.searchInputProps?.wrapperProps?.className ??
|
|
83
|
+
searchInputProps?.wrapperProps?.className
|
|
84
|
+
}}
|
|
85
|
+
style={{
|
|
86
|
+
display: expanded ? "block" : "none"
|
|
87
|
+
}}
|
|
88
|
+
type="text"
|
|
89
|
+
name="search-option"
|
|
90
|
+
placeholder={search?.searchPlaceholder ?? searchPlaceholder}
|
|
91
|
+
/>
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
const resetSearchState = () => {
|
|
95
|
+
setFilter("");
|
|
96
|
+
setIsSearching(false);
|
|
97
|
+
setFocusedSelectItem(-1);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
const visible = shouldRenderSearch();
|
|
101
|
+
|
|
102
|
+
useEffect(() => {
|
|
103
|
+
(search?.searchInputProps?.reset || searchInputProps?.reset) && resetSearchState();
|
|
104
|
+
}, [searchInputProps?.reset, search?.searchInputProps?.reset]);
|
|
105
|
+
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
const searchDeactivated =
|
|
108
|
+
!visible &&
|
|
109
|
+
!isSearching; /*solves issue in MultiSelect when we filtered result and selected result causes list to be shorter than threshold so still we have a filter applied but can't change it due to `visible` variable has false */
|
|
110
|
+
if (searchDeactivated) {
|
|
111
|
+
resetSearchState();
|
|
112
|
+
}
|
|
113
|
+
}, [isSearching, visible]);
|
|
114
|
+
|
|
115
|
+
return {
|
|
116
|
+
renderSearch,
|
|
117
|
+
setIsSearching,
|
|
118
|
+
searchVisible: visible,
|
|
119
|
+
searchThreshold: threshold,
|
|
120
|
+
searchInputRef,
|
|
121
|
+
filter,
|
|
122
|
+
isSearching
|
|
123
|
+
};
|
|
124
|
+
};
|
|
@@ -36,10 +36,6 @@ input {
|
|
|
36
36
|
justify-content: center;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
.floating-label-active [data-icon]:before {
|
|
40
|
-
transform: translateY(5px);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
39
|
[data-prefix],
|
|
44
40
|
[data-suffix] {
|
|
45
41
|
font-size: var(--form-control-font-size);
|
|
@@ -63,9 +59,3 @@ input {
|
|
|
63
59
|
color: var(--greyed-out);
|
|
64
60
|
}
|
|
65
61
|
}
|
|
66
|
-
|
|
67
|
-
.floating-label-active [data-prefix],
|
|
68
|
-
.floating-label-active [data-suffix] {
|
|
69
|
-
padding-top: 1rem;
|
|
70
|
-
transform: translateY(0);
|
|
71
|
-
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2022 OneWelcome B.V.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
@use "src/variables";
|
|
18
|
+
|
|
19
|
+
.select-label {
|
|
20
|
+
left: calc(
|
|
21
|
+
1.25rem + 2px
|
|
22
|
+
); // 2px is for offset of the selectwrapper border. It's relative to the parent div which doesn't have a border.
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.select-helper-text {
|
|
26
|
+
margin-top: 0.15rem;
|
|
27
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 OneWelcome B.V.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import React, { ForwardRefRenderFunction, ComponentPropsWithRef, ReactElement } from "react";
|
|
18
|
+
import classes from "./MultiSelectWrapper.module.scss";
|
|
19
|
+
import { Wrapper, WrapperProps } from "../Wrapper/Wrapper";
|
|
20
|
+
import { useWrapper } from "../../../../hooks/useWrapper";
|
|
21
|
+
import { MultiSelect } from "../../Select/MultiSelect/MultiSelect";
|
|
22
|
+
import { MultiSelectProps } from "../../Select/Select.interfaces";
|
|
23
|
+
|
|
24
|
+
interface PartialSelectProps extends Partial<MultiSelectProps> {}
|
|
25
|
+
|
|
26
|
+
export interface Props
|
|
27
|
+
extends Omit<ComponentPropsWithRef<"div">, "onChange">,
|
|
28
|
+
Omit<WrapperProps, "onChange" | "error"> {
|
|
29
|
+
children: ReactElement[] | ReactElement | number[];
|
|
30
|
+
placeholder?: string;
|
|
31
|
+
value: string[];
|
|
32
|
+
error?: boolean;
|
|
33
|
+
selectProps?: PartialSelectProps;
|
|
34
|
+
onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;
|
|
35
|
+
success?: boolean;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const MultiSelectWrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
|
|
39
|
+
{
|
|
40
|
+
children,
|
|
41
|
+
error,
|
|
42
|
+
success,
|
|
43
|
+
value,
|
|
44
|
+
placeholder,
|
|
45
|
+
selectProps,
|
|
46
|
+
helperProps,
|
|
47
|
+
onChange,
|
|
48
|
+
...rest
|
|
49
|
+
}: Props,
|
|
50
|
+
ref
|
|
51
|
+
) => {
|
|
52
|
+
const { errorId, helperId, labelId } = useWrapper();
|
|
53
|
+
|
|
54
|
+
return (
|
|
55
|
+
<Wrapper
|
|
56
|
+
{...rest}
|
|
57
|
+
ref={ref}
|
|
58
|
+
errorId={errorId}
|
|
59
|
+
helperId={helperId}
|
|
60
|
+
labelProps={{ id: labelId, className: classes["select-label"] }}
|
|
61
|
+
helperProps={{
|
|
62
|
+
...helperProps,
|
|
63
|
+
className: `${classes["select-helper-text"]} ${helperProps?.className ?? ""}`
|
|
64
|
+
}}
|
|
65
|
+
error={error}
|
|
66
|
+
>
|
|
67
|
+
<MultiSelect
|
|
68
|
+
{...selectProps}
|
|
69
|
+
value={value}
|
|
70
|
+
labeledBy={labelId}
|
|
71
|
+
error={error}
|
|
72
|
+
success={success}
|
|
73
|
+
describedBy={error ? errorId : helperId}
|
|
74
|
+
onChange={onChange}
|
|
75
|
+
placeholder={placeholder}
|
|
76
|
+
className={`${selectProps?.className ?? ""}`}
|
|
77
|
+
>
|
|
78
|
+
{children as ReactElement[]}
|
|
79
|
+
</MultiSelect>
|
|
80
|
+
</Wrapper>
|
|
81
|
+
);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export const MultiSelectWrapper = React.forwardRef(MultiSelectWrapperComponent);
|
|
@@ -17,10 +17,11 @@
|
|
|
17
17
|
import React, { ForwardRefRenderFunction, ComponentPropsWithRef, ReactElement } from "react";
|
|
18
18
|
import classes from "./SelectWrapper.module.scss";
|
|
19
19
|
import { Wrapper, WrapperProps } from "../Wrapper/Wrapper";
|
|
20
|
-
import { Select
|
|
20
|
+
import { Select } from "../../Select/SingleSelect/Select";
|
|
21
21
|
import { useWrapper } from "../../../../hooks/useWrapper";
|
|
22
|
+
import { SingleSelectProps } from "../../Select/Select.interfaces";
|
|
22
23
|
|
|
23
|
-
interface PartialSelectProps extends Partial<
|
|
24
|
+
interface PartialSelectProps extends Partial<SingleSelectProps> {}
|
|
24
25
|
|
|
25
26
|
export interface Props
|
|
26
27
|
extends Omit<ComponentPropsWithRef<"div">, "onChange">,
|
|
@@ -39,6 +39,10 @@
|
|
|
39
39
|
&:focus-visible {
|
|
40
40
|
outline: 0.5px dashed var(--color-primary);
|
|
41
41
|
}
|
|
42
|
+
|
|
43
|
+
&:visited {
|
|
44
|
+
color: var(--button-primary-pressed-color);
|
|
45
|
+
}
|
|
42
46
|
}
|
|
43
47
|
|
|
44
48
|
&.success {
|
|
@@ -47,6 +51,10 @@
|
|
|
47
51
|
&:focus-visible {
|
|
48
52
|
outline: 0.5px dashed var(--color-primary);
|
|
49
53
|
}
|
|
54
|
+
|
|
55
|
+
&:visited {
|
|
56
|
+
color: var(--button-success-pressed-color);
|
|
57
|
+
}
|
|
50
58
|
}
|
|
51
59
|
|
|
52
60
|
&.danger {
|
|
@@ -55,6 +63,10 @@
|
|
|
55
63
|
&:focus-visible {
|
|
56
64
|
outline: 0.5px dashed var(--color-primary);
|
|
57
65
|
}
|
|
66
|
+
|
|
67
|
+
&:visited {
|
|
68
|
+
color: var(--button-danger-pressed-color);
|
|
69
|
+
}
|
|
58
70
|
}
|
|
59
71
|
|
|
60
72
|
&.warning {
|
|
@@ -63,6 +75,10 @@
|
|
|
63
75
|
&:focus-visible {
|
|
64
76
|
outline: 0.5px dashed var(--color-primary);
|
|
65
77
|
}
|
|
78
|
+
|
|
79
|
+
&:visited {
|
|
80
|
+
color: var(--button-warning-pressed-color);
|
|
81
|
+
}
|
|
66
82
|
}
|
|
67
83
|
|
|
68
84
|
&.disabled {
|
|
@@ -25,8 +25,8 @@ import classes from "./Pagination.module.scss";
|
|
|
25
25
|
import readyclasses from "../../readyclasses.module.scss";
|
|
26
26
|
import { IconButton } from "../Button/IconButton";
|
|
27
27
|
import { Icons, Icon } from "../Icon/Icon";
|
|
28
|
-
import { Select } from "../Form/Select/Select";
|
|
29
|
-
import { Option } from "../Form/Select/Option";
|
|
28
|
+
import { Select } from "../Form/Select/SingleSelect/Select";
|
|
29
|
+
import { Option } from "../Form/Select/SingleSelect/Option";
|
|
30
30
|
import { Label } from "../Form/Label/Label";
|
|
31
31
|
|
|
32
32
|
export type PaginationTranslations = {
|
|
@@ -23,7 +23,7 @@ import React, {
|
|
|
23
23
|
useRef,
|
|
24
24
|
useState
|
|
25
25
|
} from "react";
|
|
26
|
-
import { Offset, Placement, usePosition } from "../../hooks/usePosition";
|
|
26
|
+
import { Offset, Placement, PositionType, usePosition } from "../../hooks/usePosition";
|
|
27
27
|
import classes from "./Popover.module.scss";
|
|
28
28
|
|
|
29
29
|
export interface Props extends ComponentPropsWithRef<"div"> {
|
|
@@ -63,6 +63,18 @@ const PopoverComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
|
|
|
63
63
|
debounceAmount: debounceAmount ?? undefined
|
|
64
64
|
});
|
|
65
65
|
|
|
66
|
+
const normalizePosition = (value: PositionType) => {
|
|
67
|
+
if (value === "initial") {
|
|
68
|
+
return "initial";
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (isNaN(value)) {
|
|
72
|
+
return 0;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return Number(value);
|
|
76
|
+
};
|
|
77
|
+
|
|
66
78
|
useEffect(() => {
|
|
67
79
|
if (initialCalculationDone) {
|
|
68
80
|
setShowPopover(!!show);
|
|
@@ -114,7 +126,12 @@ const PopoverComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
|
|
|
114
126
|
<div
|
|
115
127
|
ref={elToBePositioned}
|
|
116
128
|
className={`${classes.popover} ${className ?? ""} ${showPopover ? classes.show : ""}`}
|
|
117
|
-
style={{
|
|
129
|
+
style={{
|
|
130
|
+
top: normalizePosition(top),
|
|
131
|
+
left: normalizePosition(left),
|
|
132
|
+
right: normalizePosition(right),
|
|
133
|
+
bottom: normalizePosition(bottom)
|
|
134
|
+
}}
|
|
118
135
|
>
|
|
119
136
|
{children}
|
|
120
137
|
</div>
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
import React, { CSSProperties, ComponentPropsWithRef, ForwardRefRenderFunction } from "react";
|
|
18
18
|
import { Icon, Icons } from "../Icon/Icon";
|
|
19
19
|
import classes from "./Step.module.scss";
|
|
20
|
-
import { gapBetweenStepsInRem } from "./Stepper";
|
|
21
20
|
|
|
22
21
|
export type StepStatus = "waiting" | "current" | "done" | "error";
|
|
23
22
|
|
|
@@ -33,6 +32,8 @@ export interface Props extends Omit<ComponentPropsWithRef<"div">, "onClick"> {
|
|
|
33
32
|
onClick?: (event: React.MouseEvent<HTMLButtonElement | HTMLDivElement>) => void;
|
|
34
33
|
}
|
|
35
34
|
|
|
35
|
+
const gapBetweenStepsInRem = 0.5;
|
|
36
|
+
|
|
36
37
|
const getStepContent = (index: number, status: StepStatus) => {
|
|
37
38
|
switch (status) {
|
|
38
39
|
case "waiting":
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/*!
|
|
2
2
|
* Copyright 2022 OneWelcome B.V.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -14,23 +14,28 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
import { fireEvent, render } from "@testing-library/react";
|
|
19
|
-
import { useScroll } from "./useScroll";
|
|
17
|
+
@use "../../mixins.module.scss";
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
.remove {
|
|
20
|
+
width: 1.25rem;
|
|
21
|
+
height: 1.25rem;
|
|
22
|
+
background: none;
|
|
23
|
+
border: none;
|
|
24
|
+
padding: 0;
|
|
25
|
+
margin-right: -0.375rem;
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
&:hover {
|
|
28
|
+
border-radius: 0.125rem;
|
|
29
|
+
background-color: var(--color-black10);
|
|
30
|
+
}
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
&:active {
|
|
33
|
+
background-color: var(--color-blue-grey400);
|
|
34
|
+
}
|
|
31
35
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
36
|
+
@include mixins.focusVisibleOutline($outlineOffset: 0);
|
|
37
|
+
|
|
38
|
+
.icon {
|
|
39
|
+
font-size: 0.625rem;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 OneWelcome B.V.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import React, { ForwardRefRenderFunction, HTMLAttributes, forwardRef } from "react";
|
|
18
|
+
import { Icon, Icons } from "../Icon/Icon";
|
|
19
|
+
|
|
20
|
+
import readyclasses from "../../readyclasses.module.scss";
|
|
21
|
+
import classes from "./RemoveButton.module.scss";
|
|
22
|
+
|
|
23
|
+
export interface Props extends HTMLAttributes<HTMLButtonElement> {
|
|
24
|
+
removeLabel?: string;
|
|
25
|
+
label?: string;
|
|
26
|
+
onRemove?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const RemoveButtonComponent: ForwardRefRenderFunction<HTMLButtonElement, Props> = (
|
|
30
|
+
{ removeLabel = "Remove", label, onRemove, ...rest }: Props,
|
|
31
|
+
ref
|
|
32
|
+
) => {
|
|
33
|
+
return (
|
|
34
|
+
onRemove && (
|
|
35
|
+
<button
|
|
36
|
+
{...rest}
|
|
37
|
+
ref={ref}
|
|
38
|
+
className={`${classes["remove"]} ${rest.className ?? ""}`}
|
|
39
|
+
title=""
|
|
40
|
+
onClick={onRemove}
|
|
41
|
+
>
|
|
42
|
+
<Icon icon={Icons.Times} className={classes["icon"]} />
|
|
43
|
+
<span className={readyclasses["sr-only"]}>
|
|
44
|
+
{removeLabel}
|
|
45
|
+
{label ? " " + label : ""}
|
|
46
|
+
</span>
|
|
47
|
+
</button>
|
|
48
|
+
)
|
|
49
|
+
);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export const RemoveButton = forwardRef(RemoveButtonComponent);
|
|
@@ -1,8 +1,25 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2022 OneWelcome B.V.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
1
17
|
$tagFontSize: 0.75rem;
|
|
2
18
|
|
|
3
19
|
.tag {
|
|
4
20
|
font-size: $tagFontSize;
|
|
5
|
-
padding: 0.
|
|
21
|
+
padding: 0.25rem 0.75rem;
|
|
22
|
+
border: none;
|
|
6
23
|
border-radius: 3.125rem;
|
|
7
24
|
display: inline-flex;
|
|
8
25
|
align-items: center;
|
|
@@ -16,8 +33,12 @@ $tagFontSize: 0.75rem;
|
|
|
16
33
|
background-color: var(--color-blue-grey100);
|
|
17
34
|
}
|
|
18
35
|
|
|
36
|
+
&.sharp {
|
|
37
|
+
border-radius: 0.125rem;
|
|
38
|
+
}
|
|
39
|
+
|
|
19
40
|
.label {
|
|
20
|
-
line-height:
|
|
41
|
+
line-height: 2;
|
|
21
42
|
font-size: inherit;
|
|
22
43
|
color: inherit;
|
|
23
44
|
}
|