@onewelcome/react-lib-components 8.5.0 → 8.7.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/Button/BaseButton.cjs.js +1 -1
- package/dist/cjs/Button/BaseButton.cjs.js.map +1 -1
- package/dist/cjs/ContextMenu/ContextMenu.cjs.js +1 -1
- package/dist/cjs/ContextMenu/ContextMenu.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridDateFilter.cjs.js +2 -0
- package/dist/cjs/DataGrid/DataGridFilters/DataGridDateFilter.cjs.js.map +1 -0
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilters.interfaces.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js.map +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.cjs.js +2 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.cjs.js.map +1 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js +2 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js.map +1 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.cjs.js +2 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.cjs.js.map +1 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.cjs.js +2 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.cjs.js.map +1 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.cjs.js +2 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.cjs.js.map +1 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/SideMenu.cjs.js +2 -0
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/SideMenu.cjs.js.map +1 -0
- package/dist/cjs/DatePicker/DatePicker.cjs.js +1 -1
- package/dist/cjs/DatePicker/DatePicker.cjs.js.map +1 -1
- package/dist/cjs/DatePicker/DatePicker.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Checkbox/Checkbox.cjs.js +1 -1
- package/dist/cjs/Form/Checkbox/Checkbox.cjs.js.map +1 -1
- package/dist/cjs/Form/Checkbox/Checkbox.module.scss.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/FileUpload/FileItem/FileItem.cjs.js +1 -1
- package/dist/cjs/Form/FileUpload/FileItem/FileItem.cjs.js.map +1 -1
- package/dist/cjs/Form/FileUpload/FileItem/FileItem.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FileUpload/FileUpload.cjs.js +1 -1
- package/dist/cjs/Form/FileUpload/FileUpload.cjs.js.map +1 -1
- package/dist/cjs/Form/FileUpload/FileUpload.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormGroup/FormGroup.cjs.js +1 -1
- package/dist/cjs/Form/FormGroup/FormGroup.cjs.js.map +1 -1
- package/dist/cjs/Form/FormHelperText/FormHelperText.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.cjs.js +1 -1
- package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.cjs.js.map +1 -1
- package/dist/cjs/Form/Input/Input.cjs.js +1 -1
- package/dist/cjs/Form/Input/Input.cjs.js.map +1 -1
- package/dist/cjs/Form/Input/Input.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Radio/Radio.cjs.js +1 -1
- package/dist/cjs/Form/Radio/Radio.cjs.js.map +1 -1
- package/dist/cjs/Form/Radio/Radio.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js.map +1 -1
- package/dist/cjs/Form/Select/MultiSelect/MultiSelect.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/useArrowNavigation.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/useArrowNavigation.cjs.js.map +1 -1
- package/dist/cjs/Form/Select/MultiSelect/useMultiSelect.cjs.js +2 -0
- package/dist/cjs/Form/Select/MultiSelect/useMultiSelect.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/Select.interfaces.cjs.js +2 -0
- package/dist/cjs/Form/Select/Select.interfaces.cjs.js.map +1 -0
- package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js +1 -1
- package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js.map +1 -1
- package/dist/cjs/Form/Select/SingleSelect/Select.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/SingleSelect/useArrowNavigation.cjs.js +1 -1
- package/dist/cjs/Form/Select/SingleSelect/useArrowNavigation.cjs.js.map +1 -1
- package/dist/cjs/Form/Select/useSelectPositionList.cjs.js +1 -1
- package/dist/cjs/Form/Select/useSelectPositionList.cjs.js.map +1 -1
- package/dist/cjs/Form/Textarea/Textarea.cjs.js +1 -1
- package/dist/cjs/Form/Textarea/Textarea.cjs.js.map +1 -1
- package/dist/cjs/Form/Textarea/Textarea.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.cjs.js.map +1 -1
- package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.cjs.js.map +1 -1
- package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.cjs.js.map +1 -1
- package/dist/cjs/Form/Wrapper/RadioWrapper/RadioWrapper.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/RadioWrapper/RadioWrapper.cjs.js.map +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/TextareaWrapper/TextareaWrapper.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.cjs.js.map +1 -1
- package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.cjs.js.map +1 -1
- package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js +1 -1
- package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js.map +1 -1
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridDateFilter.d.ts +9 -0
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +10 -1
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +5 -3
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.d.ts +31 -0
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.d.ts +15 -0
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.d.ts +18 -0
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.d.ts +10 -0
- package/dist/cjs/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.d.ts +10 -0
- package/dist/cjs/src/components/DataGrid/testUtils.d.ts +7 -1
- package/dist/cjs/src/components/DatePicker/DatePicker.d.ts +4 -1
- package/dist/cjs/src/components/Form/Checkbox/Checkbox.d.ts +1 -1
- package/dist/cjs/src/components/Form/Fieldset/Fieldset.d.ts +1 -1
- package/dist/cjs/src/components/Form/FileUpload/FileItem/FileItem.d.ts +1 -1
- package/dist/cjs/src/components/Form/FileUpload/FileUpload.d.ts +6 -1
- package/dist/cjs/src/components/Form/FormGroup/FormGroup.d.ts +1 -0
- package/dist/cjs/src/components/Form/Input/Input.d.ts +2 -1
- package/dist/cjs/src/components/Form/Radio/Radio.d.ts +1 -1
- package/dist/cjs/src/components/Form/Select/MultiSelect/MultiSelect.d.ts +1 -1
- package/dist/cjs/src/components/Form/Select/MultiSelect/useArrowNavigation.d.ts +2 -1
- package/dist/cjs/src/components/Form/Select/MultiSelect/useMultiSelect.d.ts +16 -0
- package/dist/cjs/src/components/Form/Select/Select.interfaces.d.ts +6 -4
- package/dist/cjs/src/components/Form/Select/SingleSelect/Select.d.ts +1 -1
- package/dist/cjs/src/components/Form/Select/SingleSelect/useArrowNavigation.d.ts +1 -1
- package/dist/cjs/src/components/Form/Select/useSelectPositionList.d.ts +2 -2
- package/dist/cjs/src/components/Form/Textarea/Textarea.d.ts +2 -1
- package/dist/cjs/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.d.ts +1 -1
- package/dist/cjs/src/components/Form/Wrapper/InputWrapper/InputWrapper.d.ts +1 -1
- package/dist/cjs/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.d.ts +1 -1
- package/dist/cjs/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.d.ts +1 -1
- package/dist/cjs/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +1 -1
- package/dist/cjs/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.d.ts +2 -1
- package/dist/cjs/src/components/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -0
- package/dist/cjs/src/components/_BaseStyling_/BaseStyling.d.ts +2 -0
- package/dist/cjs/src/components/withReadOnly.d.ts +8 -0
- package/dist/cjs/src/hooks/useClickOutside.cjs.js +2 -0
- package/dist/cjs/src/hooks/useClickOutside.cjs.js.map +1 -0
- package/dist/cjs/src/hooks/useClickOutside.d.ts +2 -0
- package/dist/cjs/src/hooks/useClickOutside.test.d.ts +1 -0
- package/dist/cjs/src/index.cjs.js +1 -1
- package/dist/cjs/src/index.d.ts +2 -0
- package/dist/cjs/src/util/unitTestUtils.d.ts +12 -0
- package/dist/cjs/withReadOnly.cjs.js +2 -0
- package/dist/cjs/withReadOnly.cjs.js.map +1 -0
- package/dist/esm/Button/BaseButton.esm.js +5 -2
- package/dist/esm/Button/BaseButton.esm.js.map +1 -1
- package/dist/esm/ContextMenu/ContextMenu.esm.js +6 -8
- package/dist/esm/ContextMenu/ContextMenu.esm.js.map +1 -1
- package/dist/esm/ContextMenu/ContextMenuItem.esm.js +3 -3
- package/dist/esm/ContextMenu/ContextMenuItem.esm.js.map +1 -1
- package/dist/esm/ContextMenu/ContextMenuItem.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js +35 -0
- package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js.map +1 -0
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js +16 -7
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilters.interfaces.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +15 -12
- package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js +138 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js.map +1 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js +8 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js.map +1 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js +54 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js.map +1 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js +51 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js.map +1 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.esm.js +29 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.esm.js.map +1 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js +26 -0
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js.map +1 -0
- package/dist/esm/DatePicker/DatePicker.esm.js +3 -1
- package/dist/esm/DatePicker/DatePicker.esm.js.map +1 -1
- package/dist/esm/DatePicker/DatePicker.module.scss.esm.js +2 -2
- package/dist/esm/Form/Checkbox/Checkbox.esm.js +2 -1
- package/dist/esm/Form/Checkbox/Checkbox.esm.js.map +1 -1
- package/dist/esm/Form/Checkbox/Checkbox.module.scss.esm.js +1 -1
- package/dist/esm/Form/Fieldset/Fieldset.esm.js +2 -1
- package/dist/esm/Form/Fieldset/Fieldset.esm.js.map +1 -1
- package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js +10 -3
- package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js.map +1 -1
- package/dist/esm/Form/FileUpload/FileItem/FileItem.module.scss.esm.js +1 -1
- package/dist/esm/Form/FileUpload/FileUpload.esm.js +9 -6
- package/dist/esm/Form/FileUpload/FileUpload.esm.js.map +1 -1
- package/dist/esm/Form/FileUpload/FileUpload.module.scss.esm.js +2 -2
- package/dist/esm/Form/FormGroup/FormGroup.esm.js +2 -2
- package/dist/esm/Form/FormGroup/FormGroup.esm.js.map +1 -1
- package/dist/esm/Form/FormHelperText/FormHelperText.module.scss.esm.js +1 -1
- package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js +1 -1
- package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Input/Input.esm.js +7 -5
- package/dist/esm/Form/Input/Input.esm.js.map +1 -1
- package/dist/esm/Form/Input/Input.module.scss.esm.js +2 -2
- package/dist/esm/Form/Radio/Radio.esm.js +2 -1
- package/dist/esm/Form/Radio/Radio.esm.js.map +1 -1
- package/dist/esm/Form/Radio/Radio.module.scss.esm.js +1 -1
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +33 -18
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/MultiSelect/SelectedOptions.module.scss.esm.js +1 -1
- package/dist/esm/Form/Select/MultiSelect/useArrowNavigation.esm.js +4 -1
- package/dist/esm/Form/Select/MultiSelect/useArrowNavigation.esm.js.map +1 -1
- package/dist/esm/Form/Select/MultiSelect/useMultiSelect.esm.js +63 -0
- package/dist/esm/Form/Select/MultiSelect/useMultiSelect.esm.js.map +1 -0
- package/dist/esm/Form/Select/Select.interfaces.esm.js +23 -0
- package/dist/esm/Form/Select/Select.interfaces.esm.js.map +1 -0
- package/dist/esm/Form/Select/SingleSelect/Select.esm.js +29 -20
- package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
- package/dist/esm/Form/Select/SingleSelect/Select.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/SingleSelect/useArrowNavigation.esm.js +4 -1
- package/dist/esm/Form/Select/SingleSelect/useArrowNavigation.esm.js.map +1 -1
- package/dist/esm/Form/Select/useSelectPositionList.esm.js +11 -13
- package/dist/esm/Form/Select/useSelectPositionList.esm.js.map +1 -1
- package/dist/esm/Form/Textarea/Textarea.esm.js +12 -5
- package/dist/esm/Form/Textarea/Textarea.esm.js.map +1 -1
- package/dist/esm/Form/Textarea/Textarea.module.scss.esm.js +1 -1
- package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js +4 -1
- package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js +6 -4
- package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.module.scss.esm.js +1 -1
- package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.esm.js +3 -2
- package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.esm.js +17 -10
- package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js +5 -2
- package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js +20 -10
- package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js +2 -2
- package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/Wrapper/Wrapper.module.scss.esm.js +1 -1
- package/dist/esm/_BaseStyling_/BaseStyling.esm.js +2 -0
- package/dist/esm/_BaseStyling_/BaseStyling.esm.js.map +1 -1
- package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridDateFilter.d.ts +9 -0
- package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
- package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.d.ts +10 -1
- package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +5 -3
- package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.d.ts +31 -0
- package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.d.ts +15 -0
- package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.d.ts +18 -0
- package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.d.ts +10 -0
- package/dist/esm/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.d.ts +10 -0
- package/dist/esm/src/components/DataGrid/testUtils.d.ts +7 -1
- package/dist/esm/src/components/DatePicker/DatePicker.d.ts +4 -1
- package/dist/esm/src/components/Form/Checkbox/Checkbox.d.ts +1 -1
- package/dist/esm/src/components/Form/Fieldset/Fieldset.d.ts +1 -1
- package/dist/esm/src/components/Form/FileUpload/FileItem/FileItem.d.ts +1 -1
- package/dist/esm/src/components/Form/FileUpload/FileUpload.d.ts +6 -1
- package/dist/esm/src/components/Form/FormGroup/FormGroup.d.ts +1 -0
- package/dist/esm/src/components/Form/Input/Input.d.ts +2 -1
- package/dist/esm/src/components/Form/Radio/Radio.d.ts +1 -1
- package/dist/esm/src/components/Form/Select/MultiSelect/MultiSelect.d.ts +1 -1
- package/dist/esm/src/components/Form/Select/MultiSelect/useArrowNavigation.d.ts +2 -1
- package/dist/esm/src/components/Form/Select/MultiSelect/useMultiSelect.d.ts +16 -0
- package/dist/esm/src/components/Form/Select/MultiSelect/useMultiSelect.test.d.ts +1 -0
- package/dist/esm/src/components/Form/Select/Select.interfaces.d.ts +6 -4
- package/dist/esm/src/components/Form/Select/SingleSelect/Select.d.ts +1 -1
- package/dist/esm/src/components/Form/Select/SingleSelect/useArrowNavigation.d.ts +1 -1
- package/dist/esm/src/components/Form/Select/useSelectPositionList.d.ts +2 -2
- package/dist/esm/src/components/Form/Textarea/Textarea.d.ts +2 -1
- package/dist/esm/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.d.ts +1 -1
- package/dist/esm/src/components/Form/Wrapper/InputWrapper/InputWrapper.d.ts +1 -1
- package/dist/esm/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.d.ts +1 -1
- package/dist/esm/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.d.ts +1 -1
- package/dist/esm/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +1 -1
- package/dist/esm/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.d.ts +2 -1
- package/dist/esm/src/components/Form/Wrapper/Wrapper/Wrapper.d.ts +1 -0
- package/dist/esm/src/components/_BaseStyling_/BaseStyling.d.ts +2 -0
- package/dist/esm/src/components/withReadOnly.d.ts +8 -0
- package/dist/esm/src/components/withReadOnly.test.d.ts +1 -0
- package/dist/esm/src/hooks/useClickOutside.d.ts +2 -0
- package/dist/esm/src/hooks/useClickOutside.esm.js +38 -0
- package/dist/esm/src/hooks/useClickOutside.esm.js.map +1 -0
- package/dist/esm/src/hooks/useClickOutside.test.d.ts +1 -0
- package/dist/esm/src/index.d.ts +2 -0
- package/dist/esm/src/index.esm.js +2 -0
- package/dist/esm/src/index.esm.js.map +1 -1
- package/dist/esm/src/util/unitTestUtils.d.ts +12 -0
- package/dist/esm/withReadOnly.esm.js +70 -0
- package/dist/esm/withReadOnly.esm.js.map +1 -0
- package/package.json +21 -17
- package/src/components/Button/BaseButton.tsx +7 -4
- package/src/components/ContextMenu/ContextMenu.tsx +5 -13
- package/src/components/DataGrid/DataGridBody/__snapshots__/DataGridBody.test.tsx.snap +4 -4
- package/src/components/DataGrid/DataGridFilters/DataGridDateFilter.tsx +65 -0
- package/src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx +25 -5
- package/src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.ts +18 -1
- package/src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx +53 -33
- package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss +134 -0
- package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.tsx +267 -0
- package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.tsx +103 -0
- package/src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.tsx +121 -0
- package/src/{hooks/useBodyClick.ts → components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.ts} +12 -18
- package/src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.tsx +50 -0
- package/src/components/DataGrid/testUtils.ts +48 -15
- package/src/components/DatePicker/DatePicker.module.scss +32 -9
- package/src/components/DatePicker/DatePicker.tsx +15 -1
- package/src/components/Form/Checkbox/Checkbox.module.scss +70 -0
- package/src/components/Form/Checkbox/Checkbox.tsx +2 -1
- package/src/components/Form/Fieldset/Fieldset.tsx +2 -1
- package/src/components/Form/FileUpload/FileItem/FileItem.module.scss +16 -0
- package/src/components/Form/FileUpload/FileItem/FileItem.tsx +17 -3
- package/src/components/Form/FileUpload/FileUpload.module.scss +57 -1
- package/src/components/Form/FileUpload/FileUpload.tsx +16 -6
- package/src/components/Form/FormGroup/FormGroup.tsx +6 -1
- package/src/components/Form/FormHelperText/FormHelperText.module.scss +4 -0
- package/src/components/Form/FormSelectorWrapper/FormSelectorWrapper.tsx +2 -2
- package/src/components/Form/Input/Input.module.scss +26 -0
- package/src/components/Form/Input/Input.tsx +10 -1
- package/src/components/Form/Radio/Radio.module.scss +46 -0
- package/src/components/Form/Radio/Radio.tsx +2 -1
- package/src/components/Form/Select/MultiSelect/MultiSelect.module.scss +35 -1
- package/src/components/Form/Select/MultiSelect/MultiSelect.tsx +53 -38
- package/src/components/Form/Select/MultiSelect/SelectedOptions.module.scss +8 -0
- package/src/components/Form/Select/MultiSelect/useArrowNavigation.ts +6 -1
- package/src/components/Form/Select/MultiSelect/useMultiSelect.tsx +98 -0
- package/src/components/Form/Select/Select.interfaces.ts +6 -4
- package/src/components/Form/Select/SingleSelect/Select.module.scss +60 -1
- package/src/components/Form/Select/SingleSelect/Select.tsx +42 -37
- package/src/components/Form/Select/SingleSelect/useArrowNavigation.ts +6 -1
- package/src/components/Form/Select/useSelectPositionList.ts +10 -14
- package/src/components/Form/Textarea/Textarea.module.scss +24 -0
- package/src/components/Form/Textarea/Textarea.tsx +24 -3
- package/src/components/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx +4 -1
- package/src/components/Form/Wrapper/InputWrapper/InputWrapper.module.scss +14 -0
- package/src/components/Form/Wrapper/InputWrapper/InputWrapper.tsx +6 -2
- package/src/components/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.tsx +3 -1
- package/src/components/Form/Wrapper/RadioWrapper/RadioWrapper.tsx +17 -12
- package/src/components/Form/Wrapper/SelectWrapper/SelectWrapper.tsx +6 -1
- package/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss +43 -0
- package/src/components/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx +45 -20
- package/src/components/Form/Wrapper/Wrapper/Wrapper.module.scss +6 -0
- package/src/components/Form/Wrapper/Wrapper/Wrapper.tsx +3 -0
- package/src/components/_BaseStyling_/BaseStyling.tsx +4 -0
- package/src/components/withReadOnly.tsx +112 -0
- package/src/hooks/useClickOutside.ts +42 -0
- package/src/index.ts +2 -0
- package/src/mixins.module.scss +6 -0
- package/{dist/esm/src/hooks/useBodyClick.esm.js → src/util/unitTestUtils.ts} +16 -17
- package/dist/cjs/src/hooks/useBodyClick.cjs.js +0 -2
- package/dist/cjs/src/hooks/useBodyClick.cjs.js.map +0 -1
- package/dist/cjs/src/hooks/useBodyClick.d.ts +0 -1
- package/dist/esm/src/hooks/useBodyClick.d.ts +0 -1
- package/dist/esm/src/hooks/useBodyClick.esm.js.map +0 -1
- /package/dist/cjs/src/{hooks/useBodyClick.test.d.ts → components/Form/Select/MultiSelect/useMultiSelect.test.d.ts} +0 -0
- /package/dist/{esm/src/hooks/useBodyClick.test.d.ts → cjs/src/components/withReadOnly.test.d.ts} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react"),t=require("./BaseButton.module.scss.cjs.js"),n=require("./Spinner.cjs.js");const
|
|
1
|
+
"use strict";var e=require("react"),t=require("./BaseButton.module.scss.cjs.js"),n=require("./Spinner.cjs.js");const s=e.forwardRef((({children:s,type:r="button",className:a,loading:u,disabled:d,hidden:l,...o},i)=>{const c=null!=d?d:u;if(!["submit","button","reset"].includes(r))throw new Error(`You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${r}`);const m=[t.default.button];return u&&m.push(t.default.loading),a&&m.push(a),e.createElement("button",{...o,disabled:c,ref:i,type:r,hidden:l,className:l?"":m.join(" ")},u?e.createElement(e.Fragment,null,e.createElement("div",{className:t.default["content-hidden"]},s),e.createElement(n.ButtonSpinner,{className:t.default.spinner})):s)}));exports.BaseButton=s;
|
|
2
2
|
//# sourceMappingURL=BaseButton.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseButton.cjs.js","sources":["../../../../../src/components/Button/BaseButton.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ForwardRefRenderFunction, ComponentPropsWithRef, Fragment } from \"react\";\nimport classes from \"./BaseButton.module.scss\";\nimport { ButtonSpinner } from \"./Spinner\";\n\nexport interface Props extends ComponentPropsWithRef<\"button\"> {\n type?: \"submit\" | \"button\" | \"reset\";\n disabled?: boolean;\n loading?: boolean;\n color?: \"primary\" | \"danger\" | \"default\" | \"success\" | \"warning\";\n}\n\nconst BaseButtonComponent: ForwardRefRenderFunction<HTMLButtonElement, Props> = (\n { children, type = \"button\", className, loading, disabled, ...rest },\n ref\n) => {\n const validTypes = [\"submit\", \"button\", \"reset\"];\n const isDisabled = disabled ?? loading;\n if (!validTypes.includes(type))\n throw new Error(\n `You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`\n );\n\n return (\n <button\n {...rest}\n disabled={isDisabled}\n ref={ref}\n type={type}\n
|
|
1
|
+
{"version":3,"file":"BaseButton.cjs.js","sources":["../../../../../src/components/Button/BaseButton.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ForwardRefRenderFunction, ComponentPropsWithRef, Fragment } from \"react\";\nimport classes from \"./BaseButton.module.scss\";\nimport { ButtonSpinner } from \"./Spinner\";\n\nexport interface Props extends ComponentPropsWithRef<\"button\"> {\n type?: \"submit\" | \"button\" | \"reset\";\n disabled?: boolean;\n loading?: boolean;\n color?: \"primary\" | \"danger\" | \"default\" | \"success\" | \"warning\";\n}\n\nconst BaseButtonComponent: ForwardRefRenderFunction<HTMLButtonElement, Props> = (\n { children, type = \"button\", className, loading, disabled, hidden, ...rest },\n ref\n) => {\n const validTypes = [\"submit\", \"button\", \"reset\"];\n const isDisabled = disabled ?? loading;\n if (!validTypes.includes(type))\n throw new Error(\n `You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`\n );\n\n const buttonClasses = [classes.button];\n loading && buttonClasses.push(classes.loading);\n className && buttonClasses.push(className);\n\n return (\n <button\n {...rest}\n disabled={isDisabled}\n ref={ref}\n type={type}\n hidden={hidden}\n className={hidden ? \"\" : buttonClasses.join(\" \")}\n >\n {loading ? (\n <Fragment>\n <div className={classes[\"content-hidden\"]}>{children}</div>\n <ButtonSpinner className={classes[\"spinner\"]} />\n </Fragment>\n ) : (\n children\n )}\n </button>\n );\n};\n\nexport const BaseButton = React.forwardRef(BaseButtonComponent);\n"],"names":["BaseButton","React","forwardRef","children","type","className","loading","disabled","hidden","rest","ref","isDisabled","includes","Error","buttonClasses","classes","button","push","default","createElement","join","Fragment","ButtonSpinner"],"mappings":"+GA2BA,MAoCaA,EAAaC,EAAMC,YApCgD,EAC5EC,WAAUC,OAAO,SAAUC,YAAWC,UAASC,WAAUC,YAAWC,GACtEC,KAEA,MACMC,EAAaJ,QAAAA,EAAYD,EAC/B,IAFmB,CAAC,SAAU,SAAU,SAExBM,SAASR,GACvB,MAAM,IAAIS,MACR,uFAAuFT,KAG3F,MAAMU,EAAgB,CAACC,UAAQC,QAI/B,OAHAV,GAAWQ,EAAcG,KAAKF,EAAOG,QAACZ,SACtCD,GAAaS,EAAcG,KAAKZ,GAG9BJ,EACMkB,cAAA,SAAA,IAAAV,EACJF,SAAUI,EACVD,IAAKA,EACLN,KAAMA,EACNI,OAAQA,EACRH,UAAWG,EAAS,GAAKM,EAAcM,KAAK,MAE3Cd,EACCL,gBAACoB,EAAQA,SAAA,KACPpB,EAAKkB,cAAA,MAAA,CAAAd,UAAWU,EAAAA,QAAQ,mBAAoBZ,GAC5CF,EAAAkB,cAACG,gBAAc,CAAAjB,UAAWU,EAAAA,QAAiB,aAMjD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react"),t=require("../Popover/Popover.cjs.js"),o=require("./ContextMenu.module.scss.cjs.js"),n=require("../src/hooks/
|
|
1
|
+
"use strict";var e=require("react"),t=require("../Popover/Popover.cjs.js"),o=require("./ContextMenu.module.scss.cjs.js"),n=require("../src/hooks/useClickOutside.cjs.js"),r=require("react-dom"),s=require("../src/hooks/useGetDomRoot.cjs.js"),u=require("./ContextMenuService.cjs.js"),a=require("../src/util/helper.cjs.js");const l=e.forwardRef((({trigger:l,children:c,decorativeElement:i,id:d=`ID-${a.generateID()}`,show:m=!1,onShow:h,onClose:f,placement:v={horizontal:"right",vertical:"top"},offset:C,transformOrigin:p={horizontal:"left",vertical:"top"},debounceAmount:x,domRoot:S,popoverProps:g,value:j,onChange:w,...E},M)=>{const O=e.useRef(null),k=M||e.createRef(),[q,A]=e.useState(m),[I,D]=e.useState(-1),[b,R]=e.useState(-1),[N,P]=e.useState(!1),[$]=e.useState(e.Children.count(c)),{root:F}=s.useGetDomRoot(S,k),y=D;e.useEffect((()=>{void 0!==j&&y(j)}),[j]);const{calculateDefaultOffset:z}=u.useDefaultOffset(),G=null!=C?C:z(v,p),{onArrowNavigation:K}=u.useArrowNavigation({selectedContextMenuItem:I,setSelectedContextMenuItem:D,focusedContextMenuItem:b,setFocusedContextMenuItem:R,showContextMenu:q,setShowContextMenu:A,childrenCount:$,setShouldClick:P});n.useClickOutside(O,(()=>{q&&A(!1)}),[q]),u.useFocusAnchorElement(O,d,q,A,R,h,f);const V=e.useCallback((()=>{A(!1)}),[]);return F?e.createElement("div",{...E,ref:k,onKeyDown:K,className:o.default["context-menu"]},e.cloneElement(l,{id:d,"aria-haspopup":"true","aria-controls":`${d}-menu`,"aria-expanded":q,onClick:()=>A(!q),tabIndex:0,ref:O}),r.createPortal(e.createElement(t.Popover,{...g,placement:v,transformOrigin:p,offset:G,anchorEl:O,debounceAmount:x,show:q,onAnchorOutOfView:V},i&&e.createElement("div",{className:o.default["decorative-element"]},i),e.createElement("ul",{className:`${o.default.menu} ${i?o.default["no-margin-top"]:""}`,id:`${d}-menu`,"aria-describedby":d,role:"menu"},e.Children.map(c,((t,o)=>{var n;return e.cloneElement(t,{onFocusChange:e=>R(e),onSelectedChange:(e,t)=>{D(t),P(!1),null==w||w(e,t)},childIndex:o,hasFocus:b===o,isSelected:I===o,showActiveState:null!==(n=null==t?void 0:t.props.showActiveState)&&void 0!==n?n:void 0!==j&&I===o,contextMenuOpened:q,shouldClick:N})})))),F)):null}));exports.ContextMenu=l;
|
|
2
2
|
//# sourceMappingURL=ContextMenu.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.cjs.js","sources":["../../../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, {\n ComponentPropsWithRef,\n createRef,\n ForwardRefRenderFunction,\n ReactElement,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { Props as ButtonProps } from \"../Button/Button\";\nimport { Props as IconButtonProps } from \"../Button/IconButton\";\nimport { Popover, Props as PopoverProps } from \"../Popover/Popover\";\nimport { Placement, Offset } from \"../../hooks/usePosition\";\nimport classes from \"./ContextMenu.module.scss\";\nimport { useBodyClick } from \"../../hooks/useBodyClick\";\nimport { Props as ContextMenuItemProps } from \"./ContextMenuItem\";\nimport { createPortal } from \"react-dom\";\nimport { useGetDomRoot } from \"../../hooks/useGetDomRoot\";\nimport { useArrowNavigation, useDefaultOffset, useFocusAnchorElement } from \"./ContextMenuService\";\nimport { generateID } from \"../../util/helper\";\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"div\">, \"onChange\"> {\n trigger: ReactElement<ButtonProps> | ReactElement<IconButtonProps>;\n decorativeElement?: ReactNode;\n children: ReactElement<ContextMenuItemProps> | ReactElement<ContextMenuItemProps>[];\n placement?: Placement;\n transformOrigin?: Placement;\n offset?: Offset;\n debounceAmount?: number;\n id?: string;\n show?: boolean;\n domRoot?: HTMLElement;\n onShow?: () => void;\n onClose?: () => void;\n popoverProps?: PopoverProps;\n value?: number;\n onChange?: (event: React.MouseEvent<HTMLButtonElement>, childIndex: number) => void;\n}\n\nconst ContextMenuComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n {\n trigger,\n children,\n decorativeElement,\n id = `ID-${generateID()}`,\n show = false,\n onShow,\n onClose,\n placement = { horizontal: \"right\", vertical: \"top\" },\n offset,\n transformOrigin = { horizontal: \"left\", vertical: \"top\" },\n debounceAmount,\n domRoot,\n popoverProps,\n value,\n onChange,\n ...rest\n }: Props,\n ref\n) => {\n const anchorEl = useRef<HTMLButtonElement>(null);\n const wrappingDivRef = (ref as RefObject<HTMLDivElement>) || createRef<HTMLDivElement>();\n const [showContextMenu, setShowContextMenu] = useState(show);\n const [selectedContextMenuItem, setSelectedContextMenuItem] = useState(-1);\n const [focusedContextMenuItem, setFocusedContextMenuItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the contextmenu item, and we focus the currently selected item it fires the \"click\" listener in ContextMenuItem component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n const { root } = useGetDomRoot(domRoot, wrappingDivRef);\n\n const syncSelectedContextMenuItem = setSelectedContextMenuItem;\n\n useEffect(() => {\n value !== undefined && syncSelectedContextMenuItem(value);\n }, [value]);\n\n const { calculateDefaultOffset } = useDefaultOffset();\n const calculatedOffset = offset ?? calculateDefaultOffset(placement, transformOrigin);\n\n const { onArrowNavigation } = useArrowNavigation({\n selectedContextMenuItem,\n setSelectedContextMenuItem,\n focusedContextMenuItem,\n setFocusedContextMenuItem,\n showContextMenu,\n setShowContextMenu,\n childrenCount,\n setShouldClick\n });\n\n useBodyClick(\n event => {\n return (\n showContextMenu &&\n anchorEl.current !== event.target &&\n anchorEl.current !== (event.target as HTMLElement).parentElement\n );\n },\n () => {\n setShowContextMenu(false);\n },\n showContextMenu\n );\n\n useFocusAnchorElement(\n anchorEl,\n id,\n showContextMenu,\n setShowContextMenu,\n setFocusedContextMenuItem,\n onShow,\n onClose\n );\n\n const renderTrigger = () =>\n React.cloneElement(trigger, {\n id: id,\n \"aria-haspopup\": \"true\",\n \"aria-controls\": `${id}-menu`,\n \"aria-expanded\": showContextMenu,\n onClick: () => setShowContextMenu(!showContextMenu),\n tabIndex: 0,\n ref: anchorEl\n });\n\n const renderChildren = () =>\n React.Children.map(children, (child, index) =>\n React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => setFocusedContextMenuItem(childIndex),\n onSelectedChange: (event: React.MouseEvent<HTMLButtonElement>, childIndex: number) => {\n setSelectedContextMenuItem(childIndex);\n setShouldClick(false);\n onChange?.(event, childIndex);\n },\n childIndex: index,\n hasFocus: focusedContextMenuItem === index,\n isSelected: selectedContextMenuItem === index,\n showActiveState:\n child?.props.showActiveState ??\n (value !== undefined && selectedContextMenuItem === index),\n contextMenuOpened: showContextMenu,\n shouldClick: shouldClick\n })\n );\n\n const onOutOfViewHandler = useCallback(() => {\n setShowContextMenu(false);\n }, []);\n\n if (!root) {\n return null;\n }\n\n return (\n <div\n {...rest}\n ref={wrappingDivRef}\n onKeyDown={onArrowNavigation}\n className={classes[\"context-menu\"]}\n >\n {renderTrigger()}\n {createPortal(\n <Popover\n {...popoverProps}\n placement={placement}\n transformOrigin={transformOrigin}\n offset={calculatedOffset}\n anchorEl={anchorEl}\n debounceAmount={debounceAmount}\n show={showContextMenu}\n onAnchorOutOfView={onOutOfViewHandler}\n >\n {decorativeElement && (\n <div className={classes[\"decorative-element\"]}>{decorativeElement}</div>\n )}\n <ul\n className={`${classes[\"menu\"]} ${decorativeElement ? classes[\"no-margin-top\"] : \"\"}`}\n id={`${id}-menu`}\n aria-describedby={id}\n role=\"menu\"\n >\n {renderChildren()}\n </ul>\n </Popover>,\n root\n )}\n </div>\n );\n};\n\nexport const ContextMenu = React.forwardRef(ContextMenuComponent);\n"],"names":["ContextMenu","React","forwardRef","trigger","children","decorativeElement","id","generateID","show","onShow","onClose","placement","horizontal","vertical","offset","transformOrigin","debounceAmount","domRoot","popoverProps","value","onChange","rest","ref","anchorEl","useRef","wrappingDivRef","createRef","showContextMenu","setShowContextMenu","useState","selectedContextMenuItem","setSelectedContextMenuItem","focusedContextMenuItem","setFocusedContextMenuItem","shouldClick","setShouldClick","childrenCount","Children","count","root","useGetDomRoot","syncSelectedContextMenuItem","useEffect","undefined","calculateDefaultOffset","useDefaultOffset","calculatedOffset","onArrowNavigation","useArrowNavigation","useBodyClick","event","current","target","parentElement","useFocusAnchorElement","onOutOfViewHandler","useCallback","createElement","onKeyDown","className","classes","default","cloneElement","onClick","tabIndex","createPortal","Popover","onAnchorOutOfView","role","map","child","index","onFocusChange","childIndex","onSelectedChange","hasFocus","isSelected","showActiveState","props","_a","contextMenuOpened"],"mappings":"6TA0DA,MA0JaA,EAAcC,EAAMC,YA1J6C,EAE1EC,UACAC,WACAC,oBACAC,KAAK,MAAMC,EAAAA,eACXC,QAAO,EACPC,SACAC,UACAC,YAAY,CAAEC,WAAY,QAASC,SAAU,OAC7CC,SACAC,kBAAkB,CAAEH,WAAY,OAAQC,SAAU,OAClDG,iBACAC,UACAC,eACAC,QACAC,cACGC,GAELC,KAEA,MAAMC,EAAWC,SAA0B,MACrCC,EAAkBH,GAAqCI,EAAAA,aACtDC,EAAiBC,GAAsBC,EAAQA,SAACrB,IAChDsB,EAAyBC,GAA8BF,EAAAA,UAAU,IACjEG,EAAwBC,GAA6BJ,EAAAA,UAAU,IAC/DK,EAAaC,GAClBN,EAAQA,UACN,IAEGO,GAAiBP,WAAS5B,EAAMoC,SAASC,MAAMlC,KAEhDmC,KAAEA,GAASC,EAAaA,cAACvB,EAASQ,GAElCgB,EAA8BV,EAEpCW,EAAAA,WAAU,UACEC,IAAVxB,GAAuBsB,EAA4BtB,EAAM,GACxD,CAACA,IAEJ,MAAMyB,uBAAEA,GAA2BC,EAAAA,mBAC7BC,EAAmBhC,QAAAA,EAAU8B,EAAuBjC,EAAWI,IAE/DgC,kBAAEA,GAAsBC,qBAAmB,CAC/ClB,0BACAC,6BACAC,yBACAC,4BACAN,kBACAC,qBACAQ,gBACAD,mBAGFc,EAAAA,cACEC,GAEIvB,GACAJ,EAAS4B,UAAYD,EAAME,QAC3B7B,EAAS4B,UAAaD,EAAME,OAAuBC,gBAGvD,KACEzB,GAAmB,EAAM,GAE3BD,GAGF2B,wBACE/B,EACAjB,EACAqB,EACAC,EACAK,EACAxB,EACAC,GAGF,MA+BM6C,EAAqBC,EAAAA,aAAY,KACrC5B,GAAmB,EAAM,GACxB,IAEH,OAAKW,EAKHtC,EACMwD,cAAA,MAAA,IAAApC,EACJC,IAAKG,EACLiC,UAAWX,EACXY,UAAWC,EAAOC,QAAC,iBA3CrB5D,EAAM6D,aAAa3D,EAAS,CAC1BG,GAAIA,EACJ,gBAAiB,OACjB,gBAAiB,GAAGA,SACpB,gBAAiBqB,EACjBoC,QAAS,IAAMnC,GAAoBD,GACnCqC,SAAU,EACV1C,IAAKC,IAuCJ0C,eACChE,EAAAwD,cAACS,EAAOA,QAAA,IACFhD,EACJP,UAAWA,EACXI,gBAAiBA,EACjBD,OAAQgC,EACRvB,SAAUA,EACVP,eAAgBA,EAChBR,KAAMmB,EACNwC,kBAAmBZ,GAElBlD,GACCJ,EAAKwD,cAAA,MAAA,CAAAE,UAAWC,EAAAA,QAAQ,uBAAwBvD,GAElDJ,EAAAwD,cAAA,KAAA,CACEE,UAAW,GAAGC,EAAAA,QAAc,QAAKvD,EAAoBuD,EAAAA,QAAQ,iBAAmB,KAChFtD,GAAI,GAAGA,4BACWA,EAClB8D,KAAK,QArDbnE,EAAMoC,SAASgC,IAAIjE,GAAU,CAACkE,EAAOC,WACnC,OAAAtE,EAAM6D,aAAaQ,EAAuB,CACxCE,cAAgBC,GAAuBxC,EAA0BwC,GACjEC,iBAAkB,CAACxB,EAA4CuB,KAC7D1C,EAA2B0C,GAC3BtC,GAAe,GACff,SAAAA,EAAW8B,EAAOuB,EAAW,EAE/BA,WAAYF,EACZI,SAAU3C,IAA2BuC,EACrCK,WAAY9C,IAA4ByC,EACxCM,gBAEE,UADAP,aAAA,EAAAA,EAAOQ,MAAMD,uBACb,IAAAE,EAAAA,OAAWpC,IAAVxB,GAAuBW,IAA4ByC,EACtDS,kBAAmBrD,EACnBO,YAAaA,GACb,MA0CAK,IAlCG,IAqCP"}
|
|
1
|
+
{"version":3,"file":"ContextMenu.cjs.js","sources":["../../../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, {\n ComponentPropsWithRef,\n createRef,\n ForwardRefRenderFunction,\n ReactElement,\n ReactNode,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { Props as ButtonProps } from \"../Button/Button\";\nimport { Props as IconButtonProps } from \"../Button/IconButton\";\nimport { Popover, Props as PopoverProps } from \"../Popover/Popover\";\nimport { Placement, Offset } from \"../../hooks/usePosition\";\nimport classes from \"./ContextMenu.module.scss\";\nimport { useClickOutside } from \"../../hooks/useClickOutside\";\nimport { Props as ContextMenuItemProps } from \"./ContextMenuItem\";\nimport { createPortal } from \"react-dom\";\nimport { useGetDomRoot } from \"../../hooks/useGetDomRoot\";\nimport { useArrowNavigation, useDefaultOffset, useFocusAnchorElement } from \"./ContextMenuService\";\nimport { generateID } from \"../../util/helper\";\n\nexport interface Props extends Omit<ComponentPropsWithRef<\"div\">, \"onChange\"> {\n trigger: ReactElement<ButtonProps> | ReactElement<IconButtonProps>;\n decorativeElement?: ReactNode;\n children: ReactElement<ContextMenuItemProps> | ReactElement<ContextMenuItemProps>[];\n placement?: Placement;\n transformOrigin?: Placement;\n offset?: Offset;\n debounceAmount?: number;\n id?: string;\n show?: boolean;\n domRoot?: HTMLElement;\n onShow?: () => void;\n onClose?: () => void;\n popoverProps?: PopoverProps;\n value?: number;\n onChange?: (event: React.MouseEvent<HTMLButtonElement>, childIndex: number) => void;\n}\n\nconst ContextMenuComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n {\n trigger,\n children,\n decorativeElement,\n id = `ID-${generateID()}`,\n show = false,\n onShow,\n onClose,\n placement = { horizontal: \"right\", vertical: \"top\" },\n offset,\n transformOrigin = { horizontal: \"left\", vertical: \"top\" },\n debounceAmount,\n domRoot,\n popoverProps,\n value,\n onChange,\n ...rest\n }: Props,\n ref\n) => {\n const anchorEl = useRef<HTMLButtonElement>(null);\n const wrappingDivRef = (ref as RefObject<HTMLDivElement>) || createRef<HTMLDivElement>();\n const [showContextMenu, setShowContextMenu] = useState(show);\n const [selectedContextMenuItem, setSelectedContextMenuItem] = useState(-1);\n const [focusedContextMenuItem, setFocusedContextMenuItem] = useState(-1);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the contextmenu item, and we focus the currently selected item it fires the \"click\" listener in ContextMenuItem component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [childrenCount] = useState(React.Children.count(children));\n\n const { root } = useGetDomRoot(domRoot, wrappingDivRef);\n\n const syncSelectedContextMenuItem = setSelectedContextMenuItem;\n\n useEffect(() => {\n value !== undefined && syncSelectedContextMenuItem(value);\n }, [value]);\n\n const { calculateDefaultOffset } = useDefaultOffset();\n const calculatedOffset = offset ?? calculateDefaultOffset(placement, transformOrigin);\n\n const { onArrowNavigation } = useArrowNavigation({\n selectedContextMenuItem,\n setSelectedContextMenuItem,\n focusedContextMenuItem,\n setFocusedContextMenuItem,\n showContextMenu,\n setShowContextMenu,\n childrenCount,\n setShouldClick\n });\n\n useClickOutside(anchorEl, () => {\n if (showContextMenu) {\n setShowContextMenu(false);\n }\n }, [showContextMenu]);\n\n useFocusAnchorElement(\n anchorEl,\n id,\n showContextMenu,\n setShowContextMenu,\n setFocusedContextMenuItem,\n onShow,\n onClose\n );\n\n const renderTrigger = () =>\n React.cloneElement(trigger, {\n id: id,\n \"aria-haspopup\": \"true\",\n \"aria-controls\": `${id}-menu`,\n \"aria-expanded\": showContextMenu,\n onClick: () => setShowContextMenu(!showContextMenu),\n tabIndex: 0,\n ref: anchorEl\n });\n\n const renderChildren = () =>\n React.Children.map(children, (child, index) =>\n React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => setFocusedContextMenuItem(childIndex),\n onSelectedChange: (event: React.MouseEvent<HTMLButtonElement>, childIndex: number) => {\n setSelectedContextMenuItem(childIndex);\n setShouldClick(false);\n onChange?.(event, childIndex);\n },\n childIndex: index,\n hasFocus: focusedContextMenuItem === index,\n isSelected: selectedContextMenuItem === index,\n showActiveState:\n child?.props.showActiveState ??\n (value !== undefined && selectedContextMenuItem === index),\n contextMenuOpened: showContextMenu,\n shouldClick: shouldClick\n })\n );\n\n const onOutOfViewHandler = useCallback(() => {\n setShowContextMenu(false);\n }, []);\n\n if (!root) {\n return null;\n }\n\n return (\n <div\n {...rest}\n ref={wrappingDivRef}\n onKeyDown={onArrowNavigation}\n className={classes[\"context-menu\"]}\n >\n {renderTrigger()}\n {createPortal(\n <Popover\n {...popoverProps}\n placement={placement}\n transformOrigin={transformOrigin}\n offset={calculatedOffset}\n anchorEl={anchorEl}\n debounceAmount={debounceAmount}\n show={showContextMenu}\n onAnchorOutOfView={onOutOfViewHandler}\n >\n {decorativeElement && (\n <div className={classes[\"decorative-element\"]}>{decorativeElement}</div>\n )}\n <ul\n className={`${classes[\"menu\"]} ${decorativeElement ? classes[\"no-margin-top\"] : \"\"}`}\n id={`${id}-menu`}\n aria-describedby={id}\n role=\"menu\"\n >\n {renderChildren()}\n </ul>\n </Popover>,\n root\n )}\n </div>\n );\n};\n\nexport const ContextMenu = React.forwardRef(ContextMenuComponent);\n"],"names":["ContextMenu","React","forwardRef","trigger","children","decorativeElement","id","generateID","show","onShow","onClose","placement","horizontal","vertical","offset","transformOrigin","debounceAmount","domRoot","popoverProps","value","onChange","rest","ref","anchorEl","useRef","wrappingDivRef","createRef","showContextMenu","setShowContextMenu","useState","selectedContextMenuItem","setSelectedContextMenuItem","focusedContextMenuItem","setFocusedContextMenuItem","shouldClick","setShouldClick","childrenCount","Children","count","root","useGetDomRoot","syncSelectedContextMenuItem","useEffect","undefined","calculateDefaultOffset","useDefaultOffset","calculatedOffset","onArrowNavigation","useArrowNavigation","useClickOutside","useFocusAnchorElement","onOutOfViewHandler","useCallback","createElement","onKeyDown","className","classes","default","cloneElement","onClick","tabIndex","createPortal","Popover","onAnchorOutOfView","role","map","child","index","onFocusChange","childIndex","onSelectedChange","event","hasFocus","isSelected","showActiveState","props","_a","contextMenuOpened"],"mappings":"gUA0DA,MAkJaA,EAAcC,EAAMC,YAlJ6C,EAE1EC,UACAC,WACAC,oBACAC,KAAK,MAAMC,EAAAA,eACXC,QAAO,EACPC,SACAC,UACAC,YAAY,CAAEC,WAAY,QAASC,SAAU,OAC7CC,SACAC,kBAAkB,CAAEH,WAAY,OAAQC,SAAU,OAClDG,iBACAC,UACAC,eACAC,QACAC,cACGC,GAELC,KAEA,MAAMC,EAAWC,SAA0B,MACrCC,EAAkBH,GAAqCI,EAAAA,aACtDC,EAAiBC,GAAsBC,EAAQA,SAACrB,IAChDsB,EAAyBC,GAA8BF,EAAAA,UAAU,IACjEG,EAAwBC,GAA6BJ,EAAAA,UAAU,IAC/DK,EAAaC,GAClBN,EAAQA,UACN,IAEGO,GAAiBP,WAAS5B,EAAMoC,SAASC,MAAMlC,KAEhDmC,KAAEA,GAASC,EAAaA,cAACvB,EAASQ,GAElCgB,EAA8BV,EAEpCW,EAAAA,WAAU,UACEC,IAAVxB,GAAuBsB,EAA4BtB,EAAM,GACxD,CAACA,IAEJ,MAAMyB,uBAAEA,GAA2BC,EAAAA,mBAC7BC,EAAmBhC,QAAAA,EAAU8B,EAAuBjC,EAAWI,IAE/DgC,kBAAEA,GAAsBC,qBAAmB,CAC/ClB,0BACAC,6BACAC,yBACAC,4BACAN,kBACAC,qBACAQ,gBACAD,mBAGFc,EAAeA,gBAAC1B,GAAU,KACpBI,GACFC,GAAmB,EACpB,GACA,CAACD,IAEJuB,wBACE3B,EACAjB,EACAqB,EACAC,EACAK,EACAxB,EACAC,GAGF,MA+BMyC,EAAqBC,EAAAA,aAAY,KACrCxB,GAAmB,EAAM,GACxB,IAEH,OAAKW,EAKHtC,EACMoD,cAAA,MAAA,IAAAhC,EACJC,IAAKG,EACL6B,UAAWP,EACXQ,UAAWC,EAAOC,QAAC,iBA3CrBxD,EAAMyD,aAAavD,EAAS,CAC1BG,GAAIA,EACJ,gBAAiB,OACjB,gBAAiB,GAAGA,SACpB,gBAAiBqB,EACjBgC,QAAS,IAAM/B,GAAoBD,GACnCiC,SAAU,EACVtC,IAAKC,IAuCJsC,eACC5D,EAAAoD,cAACS,EAAOA,QAAA,IACF5C,EACJP,UAAWA,EACXI,gBAAiBA,EACjBD,OAAQgC,EACRvB,SAAUA,EACVP,eAAgBA,EAChBR,KAAMmB,EACNoC,kBAAmBZ,GAElB9C,GACCJ,EAAKoD,cAAA,MAAA,CAAAE,UAAWC,EAAAA,QAAQ,uBAAwBnD,GAElDJ,EAAAoD,cAAA,KAAA,CACEE,UAAW,GAAGC,EAAAA,QAAc,QAAKnD,EAAoBmD,EAAAA,QAAQ,iBAAmB,KAChFlD,GAAI,GAAGA,4BACWA,EAClB0D,KAAK,QArDb/D,EAAMoC,SAAS4B,IAAI7D,GAAU,CAAC8D,EAAOC,WACnC,OAAAlE,EAAMyD,aAAaQ,EAAuB,CACxCE,cAAgBC,GAAuBpC,EAA0BoC,GACjEC,iBAAkB,CAACC,EAA4CF,KAC7DtC,EAA2BsC,GAC3BlC,GAAe,GACff,SAAAA,EAAWmD,EAAOF,EAAW,EAE/BA,WAAYF,EACZK,SAAUxC,IAA2BmC,EACrCM,WAAY3C,IAA4BqC,EACxCO,gBAEE,UADAR,aAAA,EAAAA,EAAOS,MAAMD,uBACb,IAAAE,EAAAA,OAAWjC,IAAVxB,GAAuBW,IAA4BqC,EACtDU,kBAAmBlD,EACnBO,YAAaA,GACb,MA0CAK,IAlCG,IAqCP"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react"),t=require("./DataGridFilterTag.cjs.js"),r=require("react-dom"),a=require("./DateTimePicker/DateTimePicker.cjs.js"),i=require("../../src/hooks/useGetDomRoot.cjs.js");exports.DataGridDateFilter=({domRoot:o,dateFilterValue:l,onDateFilterValueChange:n})=>{const s=e.useRef(null),u=e.useRef(null),c=e.useRef(null),{root:D}=i.useGetDomRoot(o,c),[m,d]=e.useState(!1),[g,F]=e.useState("Last 30 seconds");return e.createElement(e.Fragment,null,e.createElement(t.DataGridFilterTag,{triggerRef:s,ref:c,dateTagCaption:g,mode:"ADD_DATE",onFilterOpen:()=>d(!0)}),r.createPortal(e.createElement(a.DateTimePicker,{popoverRef:u,onTagCaptionChange:F,anchorRef:c,isOpen:m,setPickerOpen:d,dateFilterValue:l,onDateFilterValueChange:n}),D))};
|
|
2
|
+
//# sourceMappingURL=DataGridDateFilter.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridDateFilter.cjs.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridDateFilter.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { Fragment, useRef, useState } from \"react\";\nimport { DataGridFilterTag } from \"./DataGridFilterTag\";\nimport { createPortal } from \"react-dom\";\nimport { DateTimePicker } from \"./DateTimePicker/DateTimePicker\";\nimport { useGetDomRoot } from \"../../../hooks/useGetDomRoot\";\nimport { DateTimeFilter } from \"./DataGridFilters.interfaces\";\n\ntype Props = {\n domRoot?: HTMLElement;\n dateFilterValue?: DateTimeFilter;\n onDateFilterValueChange?: (dateTimeFilter: DateTimeFilter) => void;\n};\n\nexport const DataGridDateFilter = ({\n domRoot,\n dateFilterValue,\n onDateFilterValueChange\n}: Props) => {\n const triggerRef = useRef<HTMLButtonElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n const wrappingDivRef = useRef<HTMLDivElement>(null);\n const { root } = useGetDomRoot(domRoot, wrappingDivRef);\n const [isOpen, setIsOpen] = useState(false);\n const [tagCaption, setTagCaption] = useState(\"Last 30 seconds\");\n\n return (\n <Fragment>\n <DataGridFilterTag\n triggerRef={triggerRef}\n ref={wrappingDivRef}\n dateTagCaption={tagCaption}\n mode={\"ADD_DATE\"}\n onFilterOpen={() => setIsOpen(true)}\n />\n {createPortal(\n <DateTimePicker\n popoverRef={popoverRef}\n onTagCaptionChange={setTagCaption}\n anchorRef={wrappingDivRef}\n isOpen={isOpen}\n setPickerOpen={setIsOpen}\n dateFilterValue={dateFilterValue}\n onDateFilterValueChange={onDateFilterValueChange}\n />,\n root\n )}\n </Fragment>\n );\n};\n"],"names":["domRoot","dateFilterValue","onDateFilterValueChange","triggerRef","useRef","popoverRef","wrappingDivRef","root","useGetDomRoot","isOpen","setIsOpen","useState","tagCaption","setTagCaption","React","Fragment","createElement","DataGridFilterTag","ref","dateTagCaption","mode","onFilterOpen","createPortal","DateTimePicker","onTagCaptionChange","anchorRef","setPickerOpen"],"mappings":"oOA6BkC,EAChCA,UACAC,kBACAC,8BAEA,MAAMC,EAAaC,SAA0B,MACvCC,EAAaD,SAAuB,MACpCE,EAAiBF,SAAuB,OACxCG,KAAEA,GAASC,EAAaA,cAACR,EAASM,IACjCG,EAAQC,GAAaC,EAAQA,UAAC,IAC9BC,EAAYC,GAAiBF,EAAQA,SAAC,mBAE7C,OACEG,gBAACC,EAAAA,SAAQ,KACPD,EAACE,cAAAC,EAAiBA,kBAChB,CAAAd,WAAYA,EACZe,IAAKZ,EACLa,eAAgBP,EAChBQ,KAAM,WACNC,aAAc,IAAMX,GAAU,KAE/BY,eACCR,EAACE,cAAAO,iBACC,CAAAlB,WAAYA,EACZmB,mBAAoBX,EACpBY,UAAWnB,EACXG,OAAQA,EACRiB,cAAehB,EACfT,gBAAiBA,EACjBC,wBAAyBA,IAE3BK,GAGJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react"),t=require("../../Icon/Icon.cjs.js"),r=require("../../Tag/RemoveButton.cjs.js"),a=require("../../Typography/Typography.cjs.js"),n=require("./DataGridFilter.module.scss.cjs.js");const l=({filter:t})=>{const{column:
|
|
1
|
+
"use strict";var e=require("react"),t=require("../../Icon/Icon.cjs.js"),r=require("../../Tag/RemoveButton.cjs.js"),a=require("../../Typography/Typography.cjs.js"),n=require("./DataGridFilter.module.scss.cjs.js");const l=({filter:t,or:r,other:a})=>{const{column:n,operator:l,value:o}=t;return e.createElement(e.Fragment,null,n," ",l," ",o.length>0&&e.createElement("b",null,o[0]),o.length>=2&&e.createElement(e.Fragment,null," ",r," ",e.createElement("b",null,o.length-1," ",a)))},o=({triggerRef:o,filter:c,mode:i,onFilterRemove:m,onFilterOpen:s,translations:u,dateTagCaption:d,customEditTagContent:p,...E},g)=>{const{addButtonCaption:f="Add filter",or:y="or",other:h="other",dateIs:T="Date is"}=u||{},v="ADD"===i,b="EDIT"===i&&c,D="ADD_DATE"===i;return e.createElement("div",{...E,ref:g,className:n.default["filter-wrapper"]},e.createElement("button",{ref:o,type:"button",className:n.default["filter-button"],onClick:s},v&&e.createElement(e.Fragment,null,e.createElement(t.Icon,{icon:t.Icons.AddCircle}),e.createElement(a.Typography,{variant:"body",className:n.default.caption},f)),b&&e.createElement(a.Typography,{variant:"body",className:n.default.caption},p?e.cloneElement(p,{filter:c}):e.createElement(l,{filter:c,or:y,other:h})),D&&e.createElement(e.Fragment,null,e.createElement(t.Icon,{icon:t.Icons.Calendar}),e.createElement(a.Typography,{variant:"body",className:n.default.caption},T," ",e.createElement("b",null,d)))),b&&e.createElement(r.RemoveButton,{className:n.default["remove-button"],onRemove:m}))},c=e.forwardRef(o);exports.DataGridFilterTag=c,exports.DataGridFilterTagComponent=o;
|
|
2
2
|
//# sourceMappingURL=DataGridFilterTag.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridFilterTag.cjs.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ComponentPropsWithRef, ForwardRefRenderFunction, Fragment } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { RemoveButton } from \"../../Tag/RemoveButton\";\nimport { Typography } from \"../../Typography/Typography\";\nimport classes from \"./DataGridFilter.module.scss\";\nimport { Filter, FilterEditorMode, TagTranslations } from \"./DataGridFilters.interfaces\";\n\nexport interface DataGridFilterTagProps extends ComponentPropsWithRef<\"div\"> {\n customEditTagContent?: React.ReactElement;\n triggerRef: React.Ref<HTMLButtonElement>;\n filter?: Filter;\n mode: FilterEditorMode;\n onFilterRemove
|
|
1
|
+
{"version":3,"file":"DataGridFilterTag.cjs.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ComponentPropsWithRef, ForwardRefRenderFunction, Fragment } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { RemoveButton } from \"../../Tag/RemoveButton\";\nimport { Typography } from \"../../Typography/Typography\";\nimport classes from \"./DataGridFilter.module.scss\";\nimport { Filter, FilterEditorMode, TagTranslations } from \"./DataGridFilters.interfaces\";\n\nexport interface DataGridFilterTagProps extends ComponentPropsWithRef<\"div\"> {\n customEditTagContent?: React.ReactElement;\n triggerRef: React.Ref<HTMLButtonElement>;\n filter?: Filter;\n mode: FilterEditorMode;\n onFilterRemove?: () => void;\n onFilterOpen: () => void;\n translations?: TagTranslations;\n dateTagCaption?: string;\n}\n\nconst EditTagContent = ({ filter, or, other }: { filter: Filter; or: string; other: string }) => {\n const { column, operator, value } = filter;\n\n return (\n <Fragment>\n {column} {operator} {value.length > 0 && <b>{value[0]}</b>}\n {value.length >= 2 && (\n <>\n {\" \"}\n {or}{\" \"}\n <b>\n {value.length - 1} {other}\n </b>\n </>\n )}\n </Fragment>\n );\n};\n\nexport const DataGridFilterTagComponent: ForwardRefRenderFunction<\n HTMLDivElement,\n DataGridFilterTagProps\n> = (\n {\n triggerRef,\n filter,\n mode,\n onFilterRemove,\n onFilterOpen,\n translations,\n dateTagCaption,\n customEditTagContent,\n ...rest\n }: DataGridFilterTagProps,\n ref\n) => {\n const {\n addButtonCaption = \"Add filter\",\n or = \"or\",\n other = \"other\",\n dateIs = \"Date is\"\n } = translations || {};\n const shouldRenderAddTag = mode === \"ADD\";\n const shouldRenderEditTag = mode === \"EDIT\" && filter;\n const shouldRenderAddDateTag = mode === \"ADD_DATE\";\n\n return (\n <div {...rest} ref={ref} className={classes[\"filter-wrapper\"]}>\n <button\n ref={triggerRef}\n type=\"button\"\n className={classes[\"filter-button\"]}\n onClick={onFilterOpen}\n >\n {shouldRenderAddTag && (\n <Fragment>\n <Icon icon={Icons.AddCircle} />\n <Typography variant=\"body\" className={classes[\"caption\"]}>\n {addButtonCaption}\n </Typography>\n </Fragment>\n )}\n {shouldRenderEditTag && (\n <Typography variant=\"body\" className={classes[\"caption\"]}>\n {customEditTagContent ? (\n React.cloneElement(customEditTagContent, { filter })\n ) : (\n <EditTagContent filter={filter} or={or} other={other} />\n )}\n </Typography>\n )}\n {shouldRenderAddDateTag && (\n <Fragment>\n <Icon icon={Icons.Calendar} />\n <Typography variant=\"body\" className={classes[\"caption\"]}>\n {dateIs} <b>{dateTagCaption}</b>\n </Typography>\n </Fragment>\n )}\n </button>\n {shouldRenderEditTag && (\n <RemoveButton className={classes[\"remove-button\"]} onRemove={onFilterRemove} />\n )}\n </div>\n );\n};\n\nexport const DataGridFilterTag = React.forwardRef(DataGridFilterTagComponent);\n"],"names":["EditTagContent","filter","or","other","column","operator","value","React","Fragment","length","createElement","DataGridFilterTagComponent","triggerRef","mode","onFilterRemove","onFilterOpen","translations","dateTagCaption","customEditTagContent","rest","ref","addButtonCaption","dateIs","shouldRenderAddTag","shouldRenderEditTag","shouldRenderAddDateTag","className","classes","default","type","onClick","Icon","icon","Icons","AddCircle","Typography","variant","cloneElement","Calendar","RemoveButton","onRemove","DataGridFilterTag","forwardRef"],"mappings":"oNAkCA,MAAMA,EAAiB,EAAGC,SAAQC,KAAIC,YACpC,MAAMC,OAAEA,EAAMC,SAAEA,EAAQC,MAAEA,GAAUL,EAEpC,OACEM,gBAACC,EAAAA,SAAQ,KACNJ,MAASC,MAAWC,EAAMG,OAAS,GAAKF,yBAAID,EAAM,IAClDA,EAAMG,QAAU,GACfF,EAAAG,cAAAH,EAAAC,SAAA,KACG,IACAN,EAAI,IACLK,EAAAG,cAAA,IAAA,KACGJ,EAAMG,OAAS,MAAIN,IAK5B,EAGSQ,EAGT,EAEAC,aACAX,SACAY,OACAC,iBACAC,eACAC,eACAC,iBACAC,0BACGC,GAELC,KAEA,MAAMC,iBACJA,EAAmB,aAAYnB,GAC/BA,EAAK,KAAIC,MACTA,EAAQ,QAAOmB,OACfA,EAAS,WACPN,GAAgB,CAAA,EACdO,EAA8B,QAATV,EACrBW,EAA+B,SAATX,GAAmBZ,EACzCwB,EAAkC,aAATZ,EAE/B,OACEN,EAAAG,cAAA,MAAA,IAASS,EAAMC,IAAKA,EAAKM,UAAWC,EAAOC,QAAC,mBAC1CrB,EAAAG,cAAA,SAAA,CACEU,IAAKR,EACLiB,KAAK,SACLH,UAAWC,EAAOC,QAAC,iBACnBE,QAASf,GAERQ,GACChB,EAAAG,cAACF,EAAAA,SAAQ,KACPD,EAAAG,cAACqB,EAAIA,KAAC,CAAAC,KAAMC,EAAAA,MAAMC,YAClB3B,EAAAG,cAACyB,aAAW,CAAAC,QAAQ,OAAOV,UAAWC,EAAAA,QAAiB,SACpDN,IAING,GACCjB,EAAAG,cAACyB,EAAAA,WAAU,CAACC,QAAQ,OAAOV,UAAWC,EAAAA,QAAiB,SACpDT,EACCX,EAAM8B,aAAanB,EAAsB,CAAEjB,WAE3CM,EAACG,cAAAV,EAAe,CAAAC,OAAQA,EAAQC,GAAIA,EAAIC,MAAOA,KAIpDsB,GACClB,EAAAG,cAACF,EAAAA,SAAQ,KACPD,EAAAG,cAACqB,EAAIA,KAAC,CAAAC,KAAMC,EAAAA,MAAMK,WAClB/B,EAACG,cAAAyB,EAAAA,WAAW,CAAAC,QAAQ,OAAOV,UAAWC,UAAiB,SACpDL,MAAQf,EAAAG,cAAA,IAAA,KAAIO,MAKpBO,GACCjB,EAAAG,cAAC6B,EAAAA,aAAa,CAAAb,UAAWC,UAAQ,iBAAkBa,SAAU1B,IAGjE,EAGS2B,EAAoBlC,EAAMmC,WAAW/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridFilters.interfaces.cjs.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface Filter {\n id: string;\n column: string;\n operator: string;\n value: string[];\n}\n\nexport type FiltersAction =\n | {\n type: \"add\";\n payload: Filter;\n }\n | {\n type: \"edit\";\n payload: Filter;\n }\n | {\n type: \"remove\";\n payload: { id: string };\n }\n | {\n type: \"clear\";\n };\n\nexport type FiltersState = {\n filters: Filter[];\n};\n\nexport type FilterEditorMode = \"ADD\" | \"EDIT\";\n\nexport enum DefaultOperators {\n is = \"is\",\n isNot = \"is not\",\n contains = \"contains\",\n doesNotContain = \"does not contain\",\n isEmpty = \"is empty\"\n}\n\nexport interface DataGridColumnMetadata {\n name: string;\n headline: string;\n operators?: string[];\n defaultValues?: string[];\n disableAddNew?: boolean;\n}\n\nexport interface PopoverTranslations {\n columnSelectLabel?: string;\n operatorSelectLabel?: string;\n valueSelectLabel?: string;\n addNewValueLabel?: string;\n addNewValueButtonTitle?: string;\n submitButtonTitle?: string;\n cancelButtonTitle?: string;\n}\n\nexport interface TagTranslations {\n addButtonCaption?: string;\n}\n\nexport interface ToolbarTranslations {\n clearButtonCaption?: string;\n}\n\nexport interface FiltersTranslations {\n toolbar?: ToolbarTranslations;\n tag?: TagTranslations;\n popover?: PopoverTranslations;\n}\n\nexport interface KeyValuePair<TKey = string, TValue = string> {\n key: TKey;\n value: TValue;\n}\n"],"names":["DefaultOperators"],"mappings":"aA8CA,IAAYA,EAAAA,QAMXA,sBAAA,GANWA,EAAAA,QAAgBA,mBAAhBA,yBAMX,CAAA,IALC,GAAA,KACAA,EAAA,MAAA,SACAA,EAAA,SAAA,WACAA,EAAA,eAAA,mBACAA,EAAA,QAAA"}
|
|
1
|
+
{"version":3,"file":"DataGridFilters.interfaces.cjs.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridFilters.interfaces.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface Filter {\n id: string;\n column: string;\n operator: string;\n value: string[];\n}\n\nexport type FiltersAction =\n | {\n type: \"add\";\n payload: Filter;\n }\n | {\n type: \"edit\";\n payload: Filter;\n }\n | {\n type: \"remove\";\n payload: { id: string };\n }\n | {\n type: \"clear\";\n };\n\nexport type FiltersState = {\n filters: Filter[];\n};\n\nexport type FilterEditorMode = \"ADD\" | \"EDIT\" | \"ADD_DATE\";\n\nexport enum DefaultOperators {\n is = \"is\",\n isNot = \"is not\",\n contains = \"contains\",\n doesNotContain = \"does not contain\",\n isEmpty = \"is empty\"\n}\n\nexport interface DataGridColumnMetadata {\n name: string;\n headline: string;\n operators?: string[];\n defaultValues?: string[];\n disableAddNew?: boolean;\n}\n\nexport interface PopoverTranslations {\n columnSelectLabel?: string;\n operatorSelectLabel?: string;\n valueSelectLabel?: string;\n addNewValueLabel?: string;\n addNewValueButtonTitle?: string;\n submitButtonTitle?: string;\n cancelButtonTitle?: string;\n}\n\nexport interface TagTranslations {\n addButtonCaption?: string;\n or?: string;\n other?: string;\n dateIs?: string;\n}\n\nexport interface ToolbarTranslations {\n clearButtonCaption?: string;\n}\n\nexport interface FiltersTranslations {\n toolbar?: ToolbarTranslations;\n tag?: TagTranslations;\n popover?: PopoverTranslations;\n}\n\nexport interface KeyValuePair<TKey = string, TValue = string> {\n key: TKey;\n value: TValue;\n}\n\nexport type DateTimeFilterType =\n | \"THIRTY_SECONDS\"\n | \"ONE_MINUTE\"\n | \"FIVE_MINUTES\"\n | \"ONE_HOUR\"\n | \"TWENTY_FOUR_HOURS\"\n | \"CUSTOM\";\n\nexport interface DateTimeFilter {\n fromDate: string;\n toDate: string;\n type: DateTimeFilterType;\n}\n"],"names":["DefaultOperators"],"mappings":"aA8CA,IAAYA,EAAAA,QAMXA,sBAAA,GANWA,EAAAA,QAAgBA,mBAAhBA,yBAMX,CAAA,IALC,GAAA,KACAA,EAAA,MAAA,SACAA,EAAA,SAAA,WACAA,EAAA,eAAA,mBACAA,EAAA,QAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react"),t=require("./DataGridFilter.cjs.js"),a=require("./DataGridToolbar.module.scss.cjs.js"),r=require("../../Typography/Typography.cjs.js"),l=require("./useFiltersReducer.cjs.js");exports.DataGridToolbar=({columnsMetadata:o,filterValues:
|
|
1
|
+
"use strict";var e=require("react"),t=require("./DataGridFilter.cjs.js"),a=require("./DataGridToolbar.module.scss.cjs.js"),r=require("../../Typography/Typography.cjs.js"),l=require("./useFiltersReducer.cjs.js"),i=require("./DataGridDateFilter.cjs.js");exports.DataGridToolbar=({columnsMetadata:o,filterValues:n,translations:s,onFilterAdd:d,onFilterEdit:u,onFilterDelete:c,dateFilterValue:F,onDateFilterValueChange:m,onFiltersClear:p,customEditTagContent:D})=>{const{state:g,addFilter:E,editFilter:T,deleteFilter:v,clearFilters:j}=l.useFiltersReducer(n),{clearButtonCaption:y="Clear all filters"}=(null==s?void 0:s.toolbar)||{};return e.createElement(e.Fragment,null,o&&g.filters.map((a=>e.createElement(t.DataGridFilter,{mode:"EDIT",key:a.id,filter:a,columnsMetadata:o,onFilterEdit:e=>{T(e),u&&u(e)},onFilterDelete:e=>{v(e),c&&c(e)},tagTranslations:null==s?void 0:s.tag,popoverTranslations:null==s?void 0:s.popover,customEditTagContent:D}))),e.createElement("div",{className:a.default["actions-wrapper"]},o&&e.createElement(t.DataGridFilter,{mode:"ADD",customEditTagContent:D,columnsMetadata:o,onFilterAdd:e=>{E(e),d&&d(e)},tagTranslations:null==s?void 0:s.tag,popoverTranslations:null==s?void 0:s.popover}),o&&g.filters.length>=1&&e.createElement("button",{type:"button",className:a.default["clear-button"],onClick:()=>{j(),p&&p()}},e.createElement(r.Typography,{variant:"body",className:a.default.caption},y)),F&&e.createElement(i.DataGridDateFilter,{dateFilterValue:F,onDateFilterValueChange:m})))};
|
|
2
2
|
//# sourceMappingURL=DataGridToolbar.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridToolbar.cjs.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { Fragment } from \"react\";\nimport { DataGridFilter } from \"./DataGridFilter\";\nimport classes from \"./DataGridToolbar.module.scss\";\nimport {
|
|
1
|
+
{"version":3,"file":"DataGridToolbar.cjs.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { Fragment } from \"react\";\nimport { DataGridFilter } from \"./DataGridFilter\";\nimport classes from \"./DataGridToolbar.module.scss\";\nimport {\n DataGridColumnMetadata,\n DateTimeFilter,\n Filter,\n FiltersTranslations\n} from \"./DataGridFilters.interfaces\";\nimport { Typography } from \"../../Typography/Typography\";\nimport { useFiltersReducer } from \"./useFiltersReducer\";\nimport { DataGridDateFilter } from \"./DataGridDateFilter\";\n\nexport interface DataGridToolbarProps {\n columnsMetadata?: DataGridColumnMetadata[];\n customEditTagContent?: React.ReactElement;\n dateFilterValue?: DateTimeFilter;\n onDateFilterValueChange?: (dateTimeFilter: DateTimeFilter) => void;\n filterValues?: Filter[];\n translations?: FiltersTranslations;\n onFilterAdd?: (filter: Filter) => void;\n onFilterEdit?: (filter: Filter) => void;\n onFilterDelete?: (id: string) => void;\n onFiltersClear?: () => void;\n}\n\nexport const DataGridToolbar = ({\n columnsMetadata,\n filterValues,\n translations,\n onFilterAdd,\n onFilterEdit,\n onFilterDelete,\n dateFilterValue,\n onDateFilterValueChange,\n onFiltersClear,\n customEditTagContent\n}: DataGridToolbarProps) => {\n const { state, addFilter, editFilter, deleteFilter, clearFilters } =\n useFiltersReducer(filterValues);\n const { clearButtonCaption = \"Clear all filters\" } = translations?.toolbar || {};\n return (\n <Fragment>\n {columnsMetadata &&\n state.filters.map(filter => (\n <DataGridFilter\n mode=\"EDIT\"\n key={filter.id}\n filter={filter}\n columnsMetadata={columnsMetadata}\n onFilterEdit={filter => {\n editFilter(filter);\n onFilterEdit && onFilterEdit(filter);\n }}\n onFilterDelete={id => {\n deleteFilter(id);\n onFilterDelete && onFilterDelete(id);\n }}\n tagTranslations={translations?.tag}\n popoverTranslations={translations?.popover}\n customEditTagContent={customEditTagContent}\n />\n ))}\n <div className={classes[\"actions-wrapper\"]}>\n {columnsMetadata && (\n <DataGridFilter\n mode=\"ADD\"\n customEditTagContent={customEditTagContent}\n columnsMetadata={columnsMetadata}\n onFilterAdd={filter => {\n addFilter(filter);\n onFilterAdd && onFilterAdd(filter);\n }}\n tagTranslations={translations?.tag}\n popoverTranslations={translations?.popover}\n />\n )}\n {columnsMetadata && state.filters.length >= 1 && (\n <button\n type=\"button\"\n className={classes[\"clear-button\"]}\n onClick={() => {\n clearFilters();\n onFiltersClear && onFiltersClear();\n }}\n >\n <Typography variant=\"body\" className={classes[\"caption\"]}>\n {clearButtonCaption}\n </Typography>\n </button>\n )}\n\n {dateFilterValue && (\n <DataGridDateFilter\n dateFilterValue={dateFilterValue}\n onDateFilterValueChange={onDateFilterValueChange}\n />\n )}\n </div>\n </Fragment>\n );\n};\n"],"names":["columnsMetadata","filterValues","translations","onFilterAdd","onFilterEdit","onFilterDelete","dateFilterValue","onDateFilterValueChange","onFiltersClear","customEditTagContent","state","addFilter","editFilter","deleteFilter","clearFilters","useFiltersReducer","clearButtonCaption","toolbar","React","Fragment","filters","map","filter","createElement","DataGridFilter","mode","key","id","tagTranslations","tag","popoverTranslations","popover","className","classes","length","type","default","onClick","Typography","variant","DataGridDateFilter"],"mappings":"oRA0C+B,EAC7BA,kBACAC,eACAC,eACAC,cACAC,eACAC,iBACAC,kBACAC,0BACAC,iBACAC,2BAEA,MAAMC,MAAEA,EAAKC,UAAEA,EAASC,WAAEA,EAAUC,aAAEA,EAAYC,aAAEA,GAClDC,oBAAkBd,IACde,mBAAEA,EAAqB,sBAAwBd,eAAAA,EAAce,UAAW,CAAA,EAC9E,OACEC,gBAACC,EAAAA,SAAQ,KACNnB,GACCU,EAAMU,QAAQC,KAAIC,GAChBJ,EAACK,cAAAC,EAAAA,eACC,CAAAC,KAAK,OACLC,IAAKJ,EAAOK,GACZL,OAAQA,EACRtB,gBAAiBA,EACjBI,aAAckB,IACZV,EAAWU,GACXlB,GAAgBA,EAAakB,EAAO,EAEtCjB,eAAgBsB,IACdd,EAAac,GACbtB,GAAkBA,EAAesB,EAAG,EAEtCC,gBAAiB1B,aAAY,EAAZA,EAAc2B,IAC/BC,oBAAqB5B,aAAA,EAAAA,EAAc6B,QACnCtB,qBAAsBA,MAG5BS,EAAAK,cAAA,MAAA,CAAKS,UAAWC,EAAAA,QAAQ,oBACrBjC,GACCkB,EAACK,cAAAC,EAAcA,gBACbC,KAAK,MACLhB,qBAAsBA,EACtBT,gBAAiBA,EACjBG,YAAamB,IACXX,EAAUW,GACVnB,GAAeA,EAAYmB,EAAO,EAEpCM,gBAAiB1B,aAAY,EAAZA,EAAc2B,IAC/BC,oBAAqB5B,eAAAA,EAAc6B,UAGtC/B,GAAmBU,EAAMU,QAAQc,QAAU,GAC1ChB,EACEK,cAAA,SAAA,CAAAY,KAAK,SACLH,UAAWC,EAAOG,QAAC,gBACnBC,QAAS,KACPvB,IACAN,GAAkBA,GAAgB,GAGpCU,EAAAK,cAACe,aAAW,CAAAC,QAAQ,OAAOP,UAAWC,EAAAA,QAAiB,SACpDjB,IAKNV,GACCY,EAAAK,cAACiB,EAAAA,mBAAkB,CACjBlC,gBAAiBA,EACjBC,wBAAyBA,KAKjC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react"),t=require("../../../Popover/Popover.cjs.js"),a=require("./DateTimePicker.module.scss.cjs.js"),o=require("../../../Button/Button.cjs.js"),r=require("./DateTimeService.cjs.js"),n=require("./SideMenu.cjs.js"),s=require("date-fns"),i=require("./DateTimePickerInputSection.cjs.js"),l=require("./DateTimePickerCalendarSection.cjs.js"),c=require("../../../src/hooks/useRepeatFocus.cjs.js");const d="yyyy-mm-dd hh:mm:ss",m=[{id:r.THIRTY_SECONDS,name:"Last 30 seconds",rangeSeconds:30},{id:r.ONE_MINUTE,name:"Last 1 minute",rangeSeconds:60},{id:r.FIVE_MINUTES,name:"Last 5 minutes",rangeSeconds:300},{id:r.ONE_HOUR,name:"Last 1 hour",rangeSeconds:3600},{id:r.TWENTY_FOUR_HOURS,name:"Last 24 hours",rangeSeconds:86400},{id:r.CUSTOM_DATE_RANGE,name:"Custom"}];exports.DateTimePicker=({anchorRef:u,popoverRef:D,isOpen:f,setPickerOpen:p,onTagCaptionChange:v,translations:E={errors:{dateFormatError:`The format must be ${d}`},previousMonth:"Previous month",nextMonth:"Next month",from:"From",to:"To",cancel:"Cancel",apply:"Apply",dateInputPlaceholder:d},dateFilterValue:S,onDateFilterValueChange:T})=>{const{errors:{dateFormatError:h},previousMonth:I,nextMonth:N,cancel:g,from:j,to:F,apply:M,dateInputPlaceholder:O}=E,[P,x]=e.useState({from:(null==S?void 0:S.fromDate)?new Date(null==S?void 0:S.fromDate):void 0,to:(null==S?void 0:S.toDate)?new Date(null==S?void 0:S.toDate):void 0}),[C,_]=e.useState(m[0].id),[R,w]=e.useState(""),[k,y]=e.useState(""),[q,A]=e.useState(""),[U,L]=e.useState("");c.useRepeatFocus(D);const $=C!==r.CUSTOM_DATE_RANGE;e.useEffect((()=>{var e;f&&(null===(e=D.current)||void 0===e||e.focus())}),[f]),e.useEffect((()=>{if(S){const e=m.find((e=>e.id===S.type));if(e&&v(e.name),_(S.type),(null==e?void 0:e.rangeSeconds)&&S.type!==r.CUSTOM_DATE_RANGE){const t=s.addSeconds(new Date,-e.rangeSeconds),a=new Date;return w(r.formatInputDate(t)),y(r.formatInputDate(a)),void x({from:t,to:a})}S.fromDate&&w(r.formatInputDate(new Date(S.fromDate))),S.toDate&&y(r.formatInputDate(new Date(S.toDate))),x({from:(null==S?void 0:S.fromDate)?new Date(null==S?void 0:S.fromDate):void 0,to:(null==S?void 0:S.toDate)?new Date(null==S?void 0:S.toDate):void 0})}}),[S]),e.useEffect((()=>{S||f&&b(C)}),[f,S]);const b=e=>{_(e);const t=m.find((t=>t.id===e));if(t&&v(t.name),e!==r.CUSTOM_DATE_RANGE){if(!t)return;if(t.rangeSeconds){const e=s.addSeconds(new Date,-t.rangeSeconds),a=new Date;x({from:e,to:a}),w(r.formatInputDate(e)),y(r.formatInputDate(a))}}};return e.createElement(t.Popover,{tabIndex:-1,anchorEl:u,ref:D,show:f,placement:{horizontal:"left",vertical:"bottom"},transformOrigin:{horizontal:"left",vertical:"top"}},f&&e.createElement("div",{className:a.default.popover},e.createElement("div",{className:a.default["content-wrapper"]},e.createElement("div",{className:a.default.aside},e.createElement(n.SideMenu,{sideMenuItems:m,selectedItemId:C,onItemSelect:b})),e.createElement("div",{className:`${a.default.controls} ${U||q?a.default["has-error"]:""}`},e.createElement("div",{className:a.default["controls-panel"]},e.createElement(i.DateTimePickerInputSection,{from:j,to:F,dateInputPlaceholder:O,dateFormatError:h,fromDateText:R,toDateText:k,fromDateError:q,toDateError:U,setSelectedDate:x,setFromDateText:w,setToDateText:y,setFromDateError:A,setToDateError:L})),e.createElement("div",{className:`${a.default["controls-panel"]} ${a.default["set-height"]}`},e.createElement(l.DateTimePickerCalendarSection,{previousMonth:I,nextMonth:N,selectedDate:P,disableDateRangePickers:$,setSelectedDate:x,setFromDateText:w,setFromDateError:A,setToDateText:y,setToDateError:L})))),e.createElement("div",{className:a.default.actions},e.createElement(o.Button,{variant:"text",onClick:()=>{p(!1)}},g),e.createElement(o.Button,{onClick:()=>{var e,t,a,o;T&&T({toDate:null!==(t=null===(e=P.to)||void 0===e?void 0:e.toISOString())&&void 0!==t?t:"",fromDate:null!==(o=null===(a=P.from)||void 0===a?void 0:a.toISOString())&&void 0!==o?o:"",type:C}),p(!1)}},M))))},exports.dateFormat=d;
|
|
2
|
+
//# sourceMappingURL=DateTimePicker.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimePicker.cjs.js","sources":["../../../../../../../src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { useEffect, useState } from \"react\";\nimport { Popover } from \"../../../Popover/Popover\";\nimport classes from \"./DateTimePicker.module.scss\";\nimport { Button } from \"../../../Button/Button\";\nimport { DateRange } from \"react-day-picker\";\nimport {\n CUSTOM_DATE_RANGE,\n FIVE_MINUTES,\n ONE_HOUR,\n ONE_MINUTE,\n THIRTY_SECONDS,\n TWENTY_FOUR_HOURS,\n formatInputDate\n} from \"./DateTimeService\";\nimport { SideMenu } from \"./SideMenu\";\nimport { addSeconds } from \"date-fns\";\nimport { DateTimePickerInputSection } from \"./DateTimePickerInputSection\";\nimport { DateTimePickerCalendarSection } from \"./DateTimePickerCalendarSection\";\nimport { DateTimeFilter, DateTimeFilterType } from \"../DataGridFilters.interfaces\";\nimport { useRepeatFocus } from \"../../../../hooks/useRepeatFocus\";\n\nexport type DateTimePickerTranslations = {\n errors: {\n dateFormatError: string;\n };\n previousMonth: string;\n nextMonth: string;\n from: string;\n to: string;\n cancel: string;\n apply: string;\n dateInputPlaceholder: string;\n};\n\nexport type Props = {\n popoverRef: React.RefObject<HTMLDivElement>;\n anchorRef?: React.RefObject<HTMLDivElement>;\n isOpen: boolean;\n onTagCaptionChange: (value: string) => void;\n setPickerOpen: (open: boolean) => void;\n translations?: DateTimePickerTranslations;\n dateFilterValue?: DateTimeFilter;\n onDateFilterValueChange?: (dateTimeFilter: DateTimeFilter) => void;\n};\n\nexport type SideMenuItem = {\n id: DateTimeFilterType;\n name: string;\n rangeSeconds?: number;\n};\n\nexport const dateFormat = \"yyyy-mm-dd hh:mm:ss\";\n\nconst sideMenuItems: SideMenuItem[] = [\n { id: THIRTY_SECONDS, name: \"Last 30 seconds\", rangeSeconds: 30 },\n { id: ONE_MINUTE, name: \"Last 1 minute\", rangeSeconds: 60 },\n { id: FIVE_MINUTES, name: \"Last 5 minutes\", rangeSeconds: 300 },\n { id: ONE_HOUR, name: \"Last 1 hour\", rangeSeconds: 3600 },\n { id: TWENTY_FOUR_HOURS, name: \"Last 24 hours\", rangeSeconds: 86400 },\n { id: CUSTOM_DATE_RANGE, name: \"Custom\" }\n];\n\nexport const DateTimePicker = ({\n anchorRef,\n popoverRef,\n isOpen,\n setPickerOpen,\n onTagCaptionChange,\n translations = {\n errors: {\n dateFormatError: `The format must be ${dateFormat}`\n },\n previousMonth: \"Previous month\",\n nextMonth: \"Next month\",\n from: \"From\",\n to: \"To\",\n cancel: \"Cancel\",\n apply: \"Apply\",\n dateInputPlaceholder: dateFormat\n },\n dateFilterValue,\n onDateFilterValueChange\n}: Props) => {\n const {\n errors: { dateFormatError },\n previousMonth,\n nextMonth,\n cancel,\n from,\n to,\n apply,\n dateInputPlaceholder\n } = translations;\n const [selectedDate, setSelectedDate] = useState<DateRange>({\n from: dateFilterValue?.fromDate ? new Date(dateFilterValue?.fromDate) : undefined,\n to: dateFilterValue?.toDate ? new Date(dateFilterValue?.toDate) : undefined\n });\n const [selectedPredefinedRange, setSelectedPredefinedRange] = useState<DateTimeFilterType>(\n sideMenuItems[0].id\n );\n const [fromDateText, setFromDateText] = useState(\"\");\n const [toDateText, setToDateText] = useState(\"\");\n const [fromDateError, setFromDateError] = useState(\"\");\n const [toDateError, setToDateError] = useState(\"\");\n useRepeatFocus(popoverRef);\n\n const disableDateRangePickers = selectedPredefinedRange !== CUSTOM_DATE_RANGE;\n\n useEffect(() => {\n if (isOpen) {\n popoverRef.current?.focus();\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (dateFilterValue) {\n const foundItem = sideMenuItems.find(item => item.id === dateFilterValue.type);\n\n foundItem && onTagCaptionChange(foundItem.name);\n\n setSelectedPredefinedRange(dateFilterValue.type);\n\n if (foundItem?.rangeSeconds && dateFilterValue.type !== CUSTOM_DATE_RANGE) {\n const fromDate = addSeconds(new Date(), -foundItem.rangeSeconds);\n const toDate = new Date();\n\n setFromDateText(formatInputDate(fromDate));\n setToDateText(formatInputDate(toDate));\n setSelectedDate({ from: fromDate, to: toDate });\n\n return;\n }\n\n dateFilterValue.fromDate &&\n setFromDateText(formatInputDate(new Date(dateFilterValue.fromDate)));\n\n dateFilterValue.toDate && setToDateText(formatInputDate(new Date(dateFilterValue.toDate)));\n\n setSelectedDate({\n from: dateFilterValue?.fromDate ? new Date(dateFilterValue?.fromDate) : undefined,\n to: dateFilterValue?.toDate ? new Date(dateFilterValue?.toDate) : undefined\n });\n }\n }, [dateFilterValue]);\n\n useEffect(() => {\n if (!dateFilterValue) {\n isOpen && onSideMenuItemSelect(selectedPredefinedRange);\n }\n }, [isOpen, dateFilterValue]);\n\n const onSideMenuItemSelect = (itemId: DateTimeFilterType) => {\n setSelectedPredefinedRange(itemId);\n const foundItem = sideMenuItems.find(item => item.id === itemId);\n foundItem && onTagCaptionChange(foundItem.name);\n\n if (itemId !== CUSTOM_DATE_RANGE) {\n if (!foundItem) {\n return;\n }\n\n if (foundItem.rangeSeconds) {\n const fromDate = addSeconds(new Date(), -foundItem.rangeSeconds);\n const toDate = new Date();\n\n setSelectedDate({ from: fromDate, to: toDate });\n setFromDateText(formatInputDate(fromDate));\n setToDateText(formatInputDate(toDate));\n }\n }\n };\n\n const closeDateTimePicker = () => {\n setPickerOpen(false);\n };\n\n const saveDateTimePicker = () => {\n onDateFilterValueChange &&\n onDateFilterValueChange({\n toDate: selectedDate.to?.toISOString() ?? \"\",\n fromDate: selectedDate.from?.toISOString() ?? \"\",\n type: selectedPredefinedRange\n });\n setPickerOpen(false);\n };\n\n return (\n <Popover\n tabIndex={-1}\n anchorEl={anchorRef}\n ref={popoverRef}\n show={isOpen}\n placement={{ horizontal: \"left\", vertical: \"bottom\" }}\n transformOrigin={{ horizontal: \"left\", vertical: \"top\" }}\n >\n {isOpen && (\n <div className={classes[\"popover\"]}>\n <div className={classes[\"content-wrapper\"]}>\n <div className={classes[\"aside\"]}>\n <SideMenu\n sideMenuItems={sideMenuItems}\n selectedItemId={selectedPredefinedRange}\n onItemSelect={onSideMenuItemSelect}\n />\n </div>\n <div\n className={`${classes[\"controls\"]} ${toDateError || fromDateError ? classes[\"has-error\"] : \"\"}`}\n >\n <div className={classes[\"controls-panel\"]}>\n <DateTimePickerInputSection\n from={from}\n to={to}\n dateInputPlaceholder={dateInputPlaceholder}\n dateFormatError={dateFormatError}\n fromDateText={fromDateText}\n toDateText={toDateText}\n fromDateError={fromDateError}\n toDateError={toDateError}\n setSelectedDate={setSelectedDate}\n setFromDateText={setFromDateText}\n setToDateText={setToDateText}\n setFromDateError={setFromDateError}\n setToDateError={setToDateError}\n />\n </div>\n <div className={`${classes[\"controls-panel\"]} ${classes[\"set-height\"]}`}>\n <DateTimePickerCalendarSection\n previousMonth={previousMonth}\n nextMonth={nextMonth}\n selectedDate={selectedDate}\n disableDateRangePickers={disableDateRangePickers}\n setSelectedDate={setSelectedDate}\n setFromDateText={setFromDateText}\n setFromDateError={setFromDateError}\n setToDateText={setToDateText}\n setToDateError={setToDateError}\n />\n </div>\n </div>\n </div>\n <div className={classes[\"actions\"]}>\n <Button variant=\"text\" onClick={closeDateTimePicker}>\n {cancel}\n </Button>\n <Button onClick={saveDateTimePicker}>{apply}</Button>\n </div>\n </div>\n )}\n </Popover>\n );\n};\n"],"names":["dateFormat","sideMenuItems","id","THIRTY_SECONDS","name","rangeSeconds","ONE_MINUTE","FIVE_MINUTES","ONE_HOUR","TWENTY_FOUR_HOURS","CUSTOM_DATE_RANGE","anchorRef","popoverRef","isOpen","setPickerOpen","onTagCaptionChange","translations","errors","dateFormatError","previousMonth","nextMonth","from","to","cancel","apply","dateInputPlaceholder","dateFilterValue","onDateFilterValueChange","selectedDate","setSelectedDate","useState","fromDate","Date","undefined","toDate","selectedPredefinedRange","setSelectedPredefinedRange","fromDateText","setFromDateText","toDateText","setToDateText","fromDateError","setFromDateError","toDateError","setToDateError","useRepeatFocus","disableDateRangePickers","useEffect","_a","current","focus","foundItem","find","item","type","addSeconds","formatInputDate","onSideMenuItemSelect","itemId","React","createElement","Popover","tabIndex","anchorEl","ref","show","placement","horizontal","vertical","transformOrigin","className","classes","SideMenu","selectedItemId","onItemSelect","DateTimePickerInputSection","DateTimePickerCalendarSection","Button","variant","onClick","_b","toISOString","_d","_c"],"mappings":"maAmEO,MAAMA,EAAa,sBAEpBC,EAAgC,CACpC,CAAEC,GAAIC,EAAAA,eAAgBC,KAAM,kBAAmBC,aAAc,IAC7D,CAAEH,GAAII,EAAAA,WAAYF,KAAM,gBAAiBC,aAAc,IACvD,CAAEH,GAAIK,EAAAA,aAAcH,KAAM,iBAAkBC,aAAc,KAC1D,CAAEH,GAAIM,EAAAA,SAAUJ,KAAM,cAAeC,aAAc,MACnD,CAAEH,GAAIO,EAAAA,kBAAmBL,KAAM,gBAAiBC,aAAc,OAC9D,CAAEH,GAAIQ,EAAAA,kBAAmBN,KAAM,kCAGH,EAC5BO,YACAC,aACAC,SACAC,gBACAC,qBACAC,eAAe,CACbC,OAAQ,CACNC,gBAAiB,sBAAsBlB,KAEzCmB,cAAe,iBACfC,UAAW,aACXC,KAAM,OACNC,GAAI,KACJC,OAAQ,SACRC,MAAO,QACPC,qBAAsBzB,GAExB0B,kBACAC,8BAEA,MACEV,QAAQC,gBAAEA,GAAiBC,cAC3BA,EAAaC,UACbA,EAASG,OACTA,EAAMF,KACNA,EAAIC,GACJA,EAAEE,MACFA,EAAKC,qBACLA,GACET,GACGY,EAAcC,GAAmBC,WAAoB,CAC1DT,MAAMK,aAAA,EAAAA,EAAiBK,UAAW,IAAIC,KAAKN,aAAA,EAAAA,EAAiBK,eAAYE,EACxEX,IAAII,aAAA,EAAAA,EAAiBQ,QAAS,IAAIF,KAAKN,aAAA,EAAAA,EAAiBQ,aAAUD,KAE7DE,EAAyBC,GAA8BN,EAAAA,SAC5D7B,EAAc,GAAGC,KAEZmC,EAAcC,GAAmBR,EAAQA,SAAC,KAC1CS,EAAYC,GAAiBV,EAAQA,SAAC,KACtCW,EAAeC,GAAoBZ,EAAQA,SAAC,KAC5Ca,EAAaC,GAAkBd,EAAQA,SAAC,IAC/Ce,EAAcA,eAACjC,GAEf,MAAMkC,EAA0BX,IAA4BzB,oBAE5DqC,EAAAA,WAAU,WACJlC,IACkB,QAApBmC,EAAApC,EAAWqC,eAAS,IAAAD,GAAAA,EAAAE,QACrB,GACA,CAACrC,IAEJkC,EAAAA,WAAU,KACR,GAAIrB,EAAiB,CACnB,MAAMyB,EAAYlD,EAAcmD,MAAKC,GAAQA,EAAKnD,KAAOwB,EAAgB4B,OAMzE,GAJAH,GAAapC,EAAmBoC,EAAU/C,MAE1CgC,EAA2BV,EAAgB4B,OAEvCH,eAAAA,EAAW9C,eAAgBqB,EAAgB4B,OAAS5C,EAAAA,kBAAmB,CACzE,MAAMqB,EAAWwB,EAAAA,WAAW,IAAIvB,MAASmB,EAAU9C,cAC7C6B,EAAS,IAAIF,KAMnB,OAJAM,EAAgBkB,EAAAA,gBAAgBzB,IAChCS,EAAcgB,EAAAA,gBAAgBtB,SAC9BL,EAAgB,CAAER,KAAMU,EAAUT,GAAIY,GAGvC,CAEDR,EAAgBK,UACdO,EAAgBkB,EAAeA,gBAAC,IAAIxB,KAAKN,EAAgBK,YAE3DL,EAAgBQ,QAAUM,EAAcgB,EAAeA,gBAAC,IAAIxB,KAAKN,EAAgBQ,UAEjFL,EAAgB,CACdR,MAAMK,aAAA,EAAAA,EAAiBK,UAAW,IAAIC,KAAKN,aAAA,EAAAA,EAAiBK,eAAYE,EACxEX,IAAII,aAAA,EAAAA,EAAiBQ,QAAS,IAAIF,KAAKN,aAAA,EAAAA,EAAiBQ,aAAUD,GAErE,IACA,CAACP,IAEJqB,EAAAA,WAAU,KACHrB,GACHb,GAAU4C,EAAqBtB,EAChC,GACA,CAACtB,EAAQa,IAEZ,MAAM+B,EAAwBC,IAC5BtB,EAA2BsB,GAC3B,MAAMP,EAAYlD,EAAcmD,MAAKC,GAAQA,EAAKnD,KAAOwD,IAGzD,GAFAP,GAAapC,EAAmBoC,EAAU/C,MAEtCsD,IAAWhD,EAAAA,kBAAmB,CAChC,IAAKyC,EACH,OAGF,GAAIA,EAAU9C,aAAc,CAC1B,MAAM0B,EAAWwB,EAAAA,WAAW,IAAIvB,MAASmB,EAAU9C,cAC7C6B,EAAS,IAAIF,KAEnBH,EAAgB,CAAER,KAAMU,EAAUT,GAAIY,IACtCI,EAAgBkB,EAAAA,gBAAgBzB,IAChCS,EAAcgB,EAAAA,gBAAgBtB,GAC/B,CACF,GAiBH,OACEyB,EAACC,cAAAC,EAAAA,QACC,CAAAC,UAAW,EACXC,SAAUpD,EACVqD,IAAKpD,EACLqD,KAAMpD,EACNqD,UAAW,CAAEC,WAAY,OAAQC,SAAU,UAC3CC,gBAAiB,CAAEF,WAAY,OAAQC,SAAU,QAEhDvD,GACC8C,EAAKC,cAAA,MAAA,CAAAU,UAAWC,EAAAA,QAAiB,SAC/BZ,EAAAC,cAAA,MAAA,CAAKU,UAAWC,EAAAA,QAAQ,oBACtBZ,EAAAC,cAAA,MAAA,CAAKU,UAAWC,EAAAA,QAAe,OAC7BZ,EAAAC,cAACY,WAAQ,CACPvE,cAAeA,EACfwE,eAAgBtC,EAChBuC,aAAcjB,KAGlBE,EACEC,cAAA,MAAA,CAAAU,UAAW,GAAGC,EAAAA,QAAkB,YAAK5B,GAAeF,EAAgB8B,EAAAA,QAAQ,aAAe,MAE3FZ,EAAAC,cAAA,MAAA,CAAKU,UAAWC,EAAAA,QAAQ,mBACtBZ,EAACC,cAAAe,EAA0BA,2BACzB,CAAAtD,KAAMA,EACNC,GAAIA,EACJG,qBAAsBA,EACtBP,gBAAiBA,EACjBmB,aAAcA,EACdE,WAAYA,EACZE,cAAeA,EACfE,YAAaA,EACbd,gBAAiBA,EACjBS,gBAAiBA,EACjBE,cAAeA,EACfE,iBAAkBA,EAClBE,eAAgBA,KAGpBe,EAAAC,cAAA,MAAA,CAAKU,UAAW,GAAGC,EAAAA,QAAQ,qBAAqBA,EAAAA,QAAQ,iBACtDZ,EAAAC,cAACgB,gCACC,CAAAzD,cAAeA,EACfC,UAAWA,EACXQ,aAAcA,EACdkB,wBAAyBA,EACzBjB,gBAAiBA,EACjBS,gBAAiBA,EACjBI,iBAAkBA,EAClBF,cAAeA,EACfI,eAAgBA,OAKxBe,EAAAC,cAAA,MAAA,CAAKU,UAAWC,EAAAA,QAAiB,SAC/BZ,EAACC,cAAAiB,EAAAA,OAAO,CAAAC,QAAQ,OAAOC,QArEL,KAC1BjE,GAAc,EAAM,GAqETS,GAEHoC,EAAAC,cAACiB,EAAMA,OAAA,CAACE,QApES,iBACzBpD,GACEA,EAAwB,CACtBO,OAAsC,QAA9B8C,EAAiB,QAAjBhC,EAAApB,EAAaN,UAAI,IAAA0B,OAAA,EAAAA,EAAAiC,qBAAa,IAAAD,EAAAA,EAAI,GAC1CjD,SAA0C,QAAhCmD,EAAmB,QAAnBC,EAAAvD,EAAaP,YAAM,IAAA8D,OAAA,EAAAA,EAAAF,qBAAa,IAAAC,EAAAA,EAAI,GAC9C5B,KAAMnB,IAEVrB,GAAc,EAAM,GA6D0BU,KAK9C"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});require("../../../node_modules/style-inject/dist/style-inject.es.cjs.js").default(".DateTimePicker-module_popover__2CRRN{align-items:flex-start;display:flex;flex-direction:column;min-width:40rem}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_content-wrapper__yOk2t{display:flex}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_aside__0STn4{border-right:1px solid var(--color-blue-grey100);display:flex;flex-direction:column;width:9.25rem}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_aside-menu__RVU3-{list-style:none;margin:.5rem 0;padding:0;white-space:nowrap}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_aside-menu-item__sf9Y-{height:2rem}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_aside-menu-item__sf9Y- button{font-size:.75rem;line-height:1rem;padding:.5rem .75rem;text-align:start}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_controls__mnsPX{display:flex;flex-direction:column;flex-grow:1;gap:2rem;padding:2rem 2rem 0}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_controls__mnsPX.DateTimePicker-module_has-error__l5Ioq{gap:calc(2rem - 15.5681px)}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_controls-panel__XZHbs{display:flex;gap:2rem}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_controls-panel__XZHbs>*{flex-grow:1}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_controls-panel__XZHbs.DateTimePicker-module_set-height__3vtzW{min-height:17.5rem}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_actions__oxWZF{border-top:1px solid var(--color-blue-grey100);display:flex;flex-grow:1;gap:1rem;justify-content:space-between;padding:1rem 1.5rem;width:calc(100% - 3rem)}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_input__Dkca1{margin-top:0;max-width:14rem}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_input__Dkca1 label{font-size:.75rem}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_nav__-gi49{position:absolute}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_next-button__3-CLV{left:27.3125rem;position:absolute;top:0}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_prev-button__653ui{position:absolute;top:0}.DateTimePicker-module_popover__2CRRN .DateTimePicker-module_month-caption__1a8KN{font-size:.75rem;font-weight:500;height:2.5rem;line-height:1rem;margin:0;padding:.75rem 0;text-align:center;width:100%}.DateTimePicker-module_error-message__N-e9F{font-size:.625rem}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGVUaW1lUGlja2VyLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLHNDQUdFLHNCQUF1QixDQUZ2QixZQUFhLENBQ2IscUJBQXNCLENBRXRCLGVBQ0YsQ0FDQSxvRkFDRSxZQUNGLENBQ0EsMEVBSUUsZ0RBQWlELENBSGpELFlBQWEsQ0FDYixxQkFBc0IsQ0FDdEIsYUFFRixDQUNBLCtFQUlFLGVBQWdCLENBSGhCLGNBQWdCLENBQ2hCLFNBQVUsQ0FDVixrQkFFRixDQUNBLG9GQUNFLFdBQ0YsQ0FDQSwyRkFFRSxnQkFBa0IsQ0FDbEIsZ0JBQWlCLENBRmpCLG9CQUF1QixDQUd2QixnQkFDRixDQUNBLDZFQUNFLFlBQWEsQ0FDYixxQkFBc0IsQ0FFdEIsV0FBWSxDQURaLFFBQVMsQ0FFVCxtQkFDRixDQUNBLG9IQUNFLDBCQUNGLENBQ0EsbUZBQ0UsWUFBYSxDQUNiLFFBQ0YsQ0FDQSxxRkFDRSxXQUNGLENBQ0EsMkhBQ0Usa0JBQ0YsQ0FDQSw0RUFNRSw4Q0FBK0MsQ0FML0MsWUFBYSxDQUdiLFdBQVksQ0FEWixRQUFTLENBRFQsNkJBQThCLENBSzlCLG1CQUFvQixDQUZwQix1QkFHRixDQUNBLDBFQUNFLFlBQWEsQ0FDYixlQUNGLENBQ0EsZ0ZBQ0UsZ0JBQ0YsQ0FDQSx3RUFDRSxpQkFDRixDQUNBLGdGQUVFLGVBQWdCLENBRGhCLGlCQUFrQixDQUVsQixLQUNGLENBQ0EsZ0ZBQ0UsaUJBQWtCLENBQ2xCLEtBQ0YsQ0FDQSxrRkFLRSxnQkFBa0IsQ0FDbEIsZUFBZ0IsQ0FKaEIsYUFBYyxDQUtkLGdCQUFpQixDQUpqQixRQUFTLENBQ1QsZ0JBQWtCLENBSWxCLGlCQUFrQixDQVBsQixVQVFGLENBRUEsNENBQ0UsaUJBQ0YiLCJmaWxlIjoiRGF0ZVRpbWVQaWNrZXIubW9kdWxlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4ucG9wb3ZlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtaW4td2lkdGg6IDQwcmVtO1xufVxuLnBvcG92ZXIgLmNvbnRlbnQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ucG9wb3ZlciAuYXNpZGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogOS4yNXJlbTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYmx1ZS1ncmV5MTAwKTtcbn1cbi5wb3BvdmVyIC5hc2lkZS1tZW51IHtcbiAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5wb3BvdmVyIC5hc2lkZS1tZW51LWl0ZW0ge1xuICBoZWlnaHQ6IDJyZW07XG59XG4ucG9wb3ZlciAuYXNpZGUtbWVudS1pdGVtIGJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbn1cbi5wb3BvdmVyIC5jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMnJlbTtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiAycmVtIDJyZW0gMCAycmVtO1xufVxuLnBvcG92ZXIgLmNvbnRyb2xzLmhhcy1lcnJvciB7XG4gIGdhcDogY2FsYygycmVtIC0gMTUuNTY4MXB4KTtcbn1cbi5wb3BvdmVyIC5jb250cm9scy1wYW5lbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMnJlbTtcbn1cbi5wb3BvdmVyIC5jb250cm9scy1wYW5lbCA+ICoge1xuICBmbGV4LWdyb3c6IDE7XG59XG4ucG9wb3ZlciAuY29udHJvbHMtcGFuZWwuc2V0LWhlaWdodCB7XG4gIG1pbi1oZWlnaHQ6IDE3LjVyZW07XG59XG4ucG9wb3ZlciAuYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxcmVtO1xuICBmbGV4LWdyb3c6IDE7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsdWUtZ3JleTEwMCk7XG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xufVxuLnBvcG92ZXIgLmlucHV0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWF4LXdpZHRoOiAxNHJlbTtcbn1cbi5wb3BvdmVyIC5pbnB1dCBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5wb3BvdmVyIC5uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ucG9wb3ZlciAubmV4dC1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDI3LjMxMjVyZW07XG4gIHRvcDogMDtcbn1cbi5wb3BvdmVyIC5wcmV2LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xufVxuLnBvcG92ZXIgLm1vbnRoLWNhcHRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC43NXJlbSAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5lcnJvci1tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbn0iXX0= */"),exports.default={popover:"DateTimePicker-module_popover__2CRRN","content-wrapper":"DateTimePicker-module_content-wrapper__yOk2t",aside:"DateTimePicker-module_aside__0STn4","aside-menu":"DateTimePicker-module_aside-menu__RVU3-","aside-menu-item":"DateTimePicker-module_aside-menu-item__sf9Y-",controls:"DateTimePicker-module_controls__mnsPX","has-error":"DateTimePicker-module_has-error__l5Ioq","controls-panel":"DateTimePicker-module_controls-panel__XZHbs","set-height":"DateTimePicker-module_set-height__3vtzW",actions:"DateTimePicker-module_actions__oxWZF",input:"DateTimePicker-module_input__Dkca1",nav:"DateTimePicker-module_nav__-gi49","next-button":"DateTimePicker-module_next-button__3-CLV","prev-button":"DateTimePicker-module_prev-button__653ui","month-caption":"DateTimePicker-module_month-caption__1a8KN","error-message":"DateTimePicker-module_error-message__N-e9F"};
|
|
2
|
+
//# sourceMappingURL=DateTimePicker.module.scss.cjs.js.map
|
package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimePicker.module.scss.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react"),t=require("./DateTimePicker.module.scss.cjs.js"),a=require("../../../DatePicker/DatePicker.cjs.js"),r=require("../../../Button/IconButton.cjs.js"),o=require("./DateTimeService.cjs.js"),n=require("../../../Icon/Icon.cjs.js"),c=require("../../../Typography/Typography.cjs.js");exports.DateTimePickerCalendarSection=({previousMonth:s,nextMonth:i,selectedDate:l,disableDateRangePickers:m,setSelectedDate:u,setFromDateText:d,setFromDateError:D,setToDateError:p,setToDateText:h})=>e.createElement(a.DatePicker,{onSelect:e=>{if(e){u(e);const t=e.from,a=e.to;t&&(d(o.formatInputDate(t)),D("")),a&&(h(o.formatInputDate(a)),p(""))}},value:l,disabled:m,mode:"range",components:{Nav:({onNextClick:a,onPreviousClick:o})=>e.createElement("div",{className:t.default.nav},e.createElement(r.IconButton,{title:s,onClick:o,className:t.default["prev-button"],disabled:m},e.createElement(n.Icon,{size:"0.75rem",icon:n.Icons.ChevronLeft})),e.createElement(r.IconButton,{title:i,onClick:a,className:t.default["next-button"],disabled:m},e.createElement(n.Icon,{size:"0.75rem",icon:n.Icons.ChevronRight}))),MonthCaption:({calendarMonth:a})=>e.createElement(c.Typography,{className:t.default["month-caption"],variant:"body"},o.getMonthName(a.date)," ",o.getYearFromDate(a.date))},numberOfMonths:2});
|
|
2
|
+
//# sourceMappingURL=DateTimePickerCalendarSection.cjs.js.map
|
package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.cjs.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimePickerCalendarSection.cjs.js","sources":["../../../../../../../src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport classes from \"./DateTimePicker.module.scss\";\nimport { DatePicker } from \"../../../DatePicker/DatePicker\";\nimport { IconButton } from \"../../../Button/IconButton\";\nimport { DateRange } from \"react-day-picker\";\nimport { formatInputDate, getMonthName, getYearFromDate } from \"./DateTimeService\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { Typography } from \"../../../Typography/Typography\";\n\ntype Props = {\n previousMonth: string;\n nextMonth: string;\n selectedDate: DateRange | undefined;\n disableDateRangePickers: boolean;\n setSelectedDate: React.Dispatch<React.SetStateAction<DateRange>>;\n setFromDateText: React.Dispatch<React.SetStateAction<string>>;\n setToDateText: React.Dispatch<React.SetStateAction<string>>;\n setFromDateError: React.Dispatch<React.SetStateAction<string>>;\n setToDateError: React.Dispatch<React.SetStateAction<string>>;\n};\n\nexport const DateTimePickerCalendarSection = ({\n previousMonth,\n nextMonth,\n selectedDate,\n disableDateRangePickers,\n setSelectedDate,\n setFromDateText,\n setFromDateError,\n setToDateError,\n setToDateText\n}: Props) => {\n const onDatePickerSelect = (date: Date | DateRange | undefined): void => {\n if (date) {\n setSelectedDate(date as DateRange);\n\n const fromDate = (date as DateRange).from;\n const toDate = (date as DateRange).to;\n\n if (fromDate) {\n setFromDateText(formatInputDate(fromDate));\n setFromDateError(\"\");\n }\n\n if (toDate) {\n setToDateText(formatInputDate(toDate));\n setToDateError(\"\");\n }\n }\n };\n return (\n <DatePicker\n onSelect={onDatePickerSelect}\n value={selectedDate}\n disabled={disableDateRangePickers}\n mode={\"range\"}\n components={{\n Nav: ({ onNextClick, onPreviousClick }) => (\n <div className={classes[\"nav\"]}>\n <IconButton\n title={previousMonth}\n onClick={onPreviousClick}\n className={classes[\"prev-button\"]}\n disabled={disableDateRangePickers}\n >\n <Icon size=\"0.75rem\" icon={Icons.ChevronLeft} />\n </IconButton>\n <IconButton\n title={nextMonth}\n onClick={onNextClick}\n className={classes[\"next-button\"]}\n disabled={disableDateRangePickers}\n >\n <Icon size=\"0.75rem\" icon={Icons.ChevronRight} />\n </IconButton>\n </div>\n ),\n MonthCaption: ({ calendarMonth }) => (\n <Typography className={classes[\"month-caption\"]} variant=\"body\">\n {getMonthName(calendarMonth.date)} {getYearFromDate(calendarMonth.date)}\n </Typography>\n )\n }}\n numberOfMonths={2}\n />\n );\n};\n"],"names":["previousMonth","nextMonth","selectedDate","disableDateRangePickers","setSelectedDate","setFromDateText","setFromDateError","setToDateError","setToDateText","React","DatePicker","onSelect","date","fromDate","from","toDate","to","formatInputDate","value","disabled","mode","components","Nav","onNextClick","onPreviousClick","createElement","className","classes","default","IconButton","title","onClick","Icon","size","icon","Icons","ChevronLeft","ChevronRight","MonthCaption","calendarMonth","Typography","variant","getMonthName","getYearFromDate","numberOfMonths"],"mappings":"6VAqC6C,EAC3CA,gBACAC,YACAC,eACAC,0BACAC,kBACAC,kBACAC,mBACAC,iBACAC,mBAqBEC,gBAACC,aAAU,CACTC,SApBwBC,IAC1B,GAAIA,EAAM,CACRR,EAAgBQ,GAEhB,MAAMC,EAAYD,EAAmBE,KAC/BC,EAAUH,EAAmBI,GAE/BH,IACFR,EAAgBY,EAAAA,gBAAgBJ,IAChCP,EAAiB,KAGfS,IACFP,EAAcS,EAAAA,gBAAgBF,IAC9BR,EAAe,IAElB,GAKCW,MAAOhB,EACPiB,SAAUhB,EACViB,KAAM,QACNC,WAAY,CACVC,IAAK,EAAGC,cAAaC,qBACnBf,EAAKgB,cAAA,MAAA,CAAAC,UAAWC,EAAOC,QAAM,KAC3BnB,EAAAgB,cAACI,EAAAA,WACC,CAAAC,MAAO9B,EACP+B,QAASP,EACTE,UAAWC,EAAOC,QAAC,eACnBT,SAAUhB,GAEVM,EAAAgB,cAACO,EAAIA,KAAA,CAACC,KAAK,UAAUC,KAAMC,EAAAA,MAAMC,eAEnC3B,EAAAgB,cAACI,EAAAA,WACC,CAAAC,MAAO7B,EACP8B,QAASR,EACTG,UAAWC,EAAOC,QAAC,eACnBT,SAAUhB,GAEVM,EAAAgB,cAACO,OAAI,CAACC,KAAK,UAAUC,KAAMC,QAAME,iBAIvCC,aAAc,EAAGC,mBACf9B,EAAAgB,cAACe,EAAAA,WAAW,CAAAd,UAAWC,EAAAA,QAAQ,iBAAkBc,QAAQ,QACtDC,EAAYA,aAACH,EAAc3B,UAAQ+B,kBAAgBJ,EAAc3B,QAIxEgC,eAAgB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react"),r=require("../../../Form/Wrapper/InputWrapper/InputWrapper.cjs.js"),t=require("./DateTimePicker.module.scss.cjs.js"),a=require("date-fns");exports.DateTimePickerInputSection=({from:o,to:s,dateInputPlaceholder:l,dateFormatError:p,toDateText:m,fromDateText:n,fromDateError:u,toDateError:c,setSelectedDate:d,setFromDateText:i,setToDateText:g,setFromDateError:f,setToDateError:D})=>{const h=e=>a.parse(e,"yyyy-MM-dd HH:mm:ss",new Date),y=/^(\d{4})-(0[1-9]|1[012])-(0[1-9]|[12]\d|3[01]) ([0-1]\d|2[0-3]):([0-5]\d):([0-5]\d)$/,v=(e,r)=>t=>{var a;(a=t.target.value,y.test(a))?(r(t.target.value),e("")):e(p)},P=v(f,(e=>d((r=>({...r,from:h(e)}))))),E=v(D,(e=>d((r=>({from:null==r?void 0:r.from,to:h(e)})))));return e.createElement(e.Fragment,null,e.createElement(r.InputWrapper,{label:o,name:"fromDate",error:!!u,errorMessage:u,errorMessageProps:{className:t.default["error-message"]},helperProps:{style:{fontSize:"0.625rem"}},type:"text",value:n,onBlur:P,onChange:e=>i(e.target.value),inputProps:{style:{height:"2rem"},placeholder:l},className:t.default.input}),e.createElement(r.InputWrapper,{className:t.default.input,inputProps:{style:{height:"2rem"},placeholder:l},label:s,value:m,error:!!c,errorMessage:c,errorMessageProps:{className:t.default["error-message"]},helperProps:{style:{fontSize:"0.625rem"}},onChange:e=>g(e.target.value),onBlur:E,name:"toDate",type:"text"}))};
|
|
2
|
+
//# sourceMappingURL=DateTimePickerInputSection.cjs.js.map
|
package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.cjs.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimePickerInputSection.cjs.js","sources":["../../../../../../../src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { Fragment } from \"react\";\nimport { InputWrapper } from \"../../../Form/Wrapper/InputWrapper/InputWrapper\";\nimport classes from \"./DateTimePicker.module.scss\";\nimport { parse } from \"date-fns\";\nimport { DateRange } from \"react-day-picker\";\n\nexport type Props = {\n from: string;\n to: string;\n dateInputPlaceholder: string;\n dateFormatError: string;\n fromDateText: string;\n toDateText: string;\n fromDateError: string;\n toDateError: string;\n setSelectedDate: React.Dispatch<React.SetStateAction<DateRange>>;\n setFromDateText: React.Dispatch<React.SetStateAction<string>>;\n setToDateText: React.Dispatch<React.SetStateAction<string>>;\n setFromDateError: React.Dispatch<React.SetStateAction<string>>;\n setToDateError: React.Dispatch<React.SetStateAction<string>>;\n};\n\nexport const DateTimePickerInputSection = ({\n from,\n to,\n dateInputPlaceholder,\n dateFormatError,\n toDateText,\n fromDateText,\n fromDateError,\n toDateError,\n setSelectedDate,\n setFromDateText,\n setToDateText,\n setFromDateError,\n setToDateError\n}: Props) => {\n const dateParseTemplate = \"yyyy-MM-dd HH:mm:ss\";\n const parseDate = (date: string) => {\n const dateText = parse(date, dateParseTemplate, new Date());\n return dateText;\n };\n\n const validationRegex =\n /^(\\d{4})-(0[1-9]|1[012])-(0[1-9]|[12]\\d|3[01]) ([0-1]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)$/;\n const validateInput = (text: string) => validationRegex.test(text);\n\n const onInputBlur =\n (setError: (value: React.SetStateAction<string>) => void, setDate: (value: string) => void) =>\n (e: React.FocusEvent<HTMLInputElement, Element>) => {\n if (!validateInput(e.target.value)) {\n setError(dateFormatError);\n return;\n }\n\n setDate(e.target.value);\n setError(\"\");\n };\n\n const setFromDate = (value: string) =>\n setSelectedDate(prev => ({ ...prev, from: parseDate(value) }));\n\n const setToDate = (value: string) =>\n setSelectedDate(prev => ({ from: prev?.from, to: parseDate(value) }));\n\n const onFromInputBlur = onInputBlur(setFromDateError, setFromDate);\n const onToInputBlur = onInputBlur(setToDateError, setToDate);\n\n return (\n <Fragment>\n <InputWrapper\n label={from}\n name=\"fromDate\"\n error={!!fromDateError}\n errorMessage={fromDateError}\n errorMessageProps={{ className: classes[\"error-message\"] }}\n helperProps={{\n style: { fontSize: \"0.625rem\" }\n }}\n type=\"text\"\n value={fromDateText}\n onBlur={onFromInputBlur}\n onChange={e => setFromDateText(e.target.value)}\n inputProps={{ style: { height: \"2rem\" }, placeholder: dateInputPlaceholder }}\n className={classes[\"input\"]}\n />\n <InputWrapper\n className={classes[\"input\"]}\n inputProps={{ style: { height: \"2rem\" }, placeholder: dateInputPlaceholder }}\n label={to}\n value={toDateText}\n error={!!toDateError}\n errorMessage={toDateError}\n errorMessageProps={{ className: classes[\"error-message\"] }}\n helperProps={{\n style: { fontSize: \"0.625rem\" }\n }}\n onChange={e => setToDateText(e.target.value)}\n onBlur={onToInputBlur}\n name=\"toDate\"\n type=\"text\"\n />\n </Fragment>\n );\n};\n"],"names":["from","to","dateInputPlaceholder","dateFormatError","toDateText","fromDateText","fromDateError","toDateError","setSelectedDate","setFromDateText","setToDateText","setFromDateError","setToDateError","parseDate","date","parse","Date","validationRegex","onInputBlur","setError","setDate","e","text","target","value","test","onFromInputBlur","prev","onToInputBlur","React","Fragment","createElement","InputWrapper","label","name","error","errorMessage","errorMessageProps","className","classes","helperProps","style","fontSize","type","onBlur","onChange","inputProps","height","placeholder"],"mappings":"kNAsC0C,EACxCA,OACAC,KACAC,uBACAC,kBACAC,aACAC,eACAC,gBACAC,cACAC,kBACAC,kBACAC,gBACAC,mBACAC,qBAEA,MACMC,EAAaC,GACAC,EAAAA,MAAMD,EAFC,sBAEwB,IAAIE,MAIhDC,EACJ,uFAGIC,EACJ,CAACC,EAAyDC,IACzDC,IAJmB,IAACC,KAKAD,EAAEE,OAAOC,MALQP,EAAgBQ,KAAKH,KAUzDF,EAAQC,EAAEE,OAAOC,OACjBL,EAAS,KALPA,EAAShB,EAKC,EASVuB,EAAkBR,EAAYP,GANfa,GACnBhB,GAAgBmB,IAAS,IAAKA,EAAM3B,KAAMa,EAAUW,SAMhDI,EAAgBV,EAAYN,GAJfY,GACjBhB,GAAgBmB,IAAI,CAAO3B,KAAM2B,aAAI,EAAJA,EAAM3B,KAAMC,GAAIY,EAAUW,SAK7D,OACEK,gBAACC,EAAAA,SAAQ,KACPD,EAAAE,cAACC,EAAAA,aAAY,CACXC,MAAOjC,EACPkC,KAAK,WACLC,QAAS7B,EACT8B,aAAc9B,EACd+B,kBAAmB,CAAEC,UAAWC,UAAQ,kBACxCC,YAAa,CACXC,MAAO,CAAEC,SAAU,aAErBC,KAAK,OACLnB,MAAOnB,EACPuC,OAAQlB,EACRmB,SAAUxB,GAAKZ,EAAgBY,EAAEE,OAAOC,OACxCsB,WAAY,CAAEL,MAAO,CAAEM,OAAQ,QAAUC,YAAa9C,GACtDoC,UAAWC,UAAe,QAE5BV,EAACE,cAAAC,EAAYA,aACX,CAAAM,UAAWC,EAAAA,QAAe,MAC1BO,WAAY,CAAEL,MAAO,CAAEM,OAAQ,QAAUC,YAAa9C,GACtD+B,MAAOhC,EACPuB,MAAOpB,EACP+B,QAAS5B,EACT6B,aAAc7B,EACd8B,kBAAmB,CAAEC,UAAWC,EAAAA,QAAQ,kBACxCC,YAAa,CACXC,MAAO,CAAEC,SAAU,aAErBG,SAAUxB,GAAKX,EAAcW,EAAEE,OAAOC,OACtCoB,OAAQhB,EACRM,KAAK,SACLS,KAAK,SAGT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var t=require("date-fns");exports.CUSTOM_DATE_RANGE="CUSTOM",exports.FIVE_MINUTES="FIVE_MINUTES",exports.ONE_HOUR="ONE_HOUR",exports.ONE_MINUTE="ONE_MINUTE",exports.THIRTY_SECONDS="THIRTY_SECONDS",exports.TWENTY_FOUR_HOURS="TWENTY_FOUR_HOURS",exports.formatInputDate=e=>t.format(e,"yyyy-MM-dd HH:mm:ss"),exports.getMonthName=(e,r)=>t.format(e,"MMMM",{locale:r}),exports.getYearFromDate=e=>t.format(e,"yyyy");
|
|
2
|
+
//# sourceMappingURL=DateTimeService.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimeService.cjs.js","sources":["../../../../../../../src/components/DataGrid/DataGridFilters/DateTimePicker/DateTimeService.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { format, Locale } from \"date-fns\";\n\nexport const THIRTY_SECONDS = \"THIRTY_SECONDS\";\nexport const ONE_MINUTE = \"ONE_MINUTE\";\nexport const FIVE_MINUTES = \"FIVE_MINUTES\";\nexport const ONE_HOUR = \"ONE_HOUR\";\nexport const TWENTY_FOUR_HOURS = \"TWENTY_FOUR_HOURS\";\nexport const CUSTOM_DATE_RANGE = \"CUSTOM\";\n\nexport const getMonthName = (date: Date, locale?: Locale) => format(date, \"MMMM\", { locale });\n\nexport const getYearFromDate = (date: Date) => format(date, \"yyyy\");\n\nexport const formatInputDate = (date: Date) => format(date, \"yyyy-MM-dd HH:mm:ss\");\n"],"names":["date","format","locale"],"mappings":"iEAuBiC,8BAHL,gCACJ,8BAFE,oCADI,2CAIG,4CAODA,GAAeC,EAAMA,OAACD,EAAM,4CAJhC,CAACA,EAAYE,IAAoBD,EAAAA,OAAOD,EAAM,OAAQ,CAAEE,mCAEpDF,GAAeC,SAAOD,EAAM"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react"),t=require("./DateTimePicker.module.scss.cjs.js"),s=require("../../../ContextMenu/ContextMenuItem.module.scss.cjs.js");exports.SideMenu=({sideMenuItems:m,selectedItemId:a,onItemSelect:i})=>e.createElement("ul",{className:t.default["aside-menu"]},m.map((m=>e.createElement("li",{key:m.id,role:"none",className:`${s.default["context-menu-item"]} ${t.default["aside-menu-item"]}`},e.createElement("button",{role:"menuitem",style:{height:"2rem"},className:a===m.id?s.default.active:void 0,onClick:()=>i(m.id)},m.name)))));
|
|
2
|
+
//# sourceMappingURL=SideMenu.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SideMenu.cjs.js","sources":["../../../../../../../src/components/DataGrid/DataGridFilters/DateTimePicker/SideMenu.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport classes from \"./DateTimePicker.module.scss\";\nimport contextMenuItemClasses from \"../../../ContextMenu/ContextMenuItem.module.scss\";\nimport { SideMenuItem } from \"./DateTimePicker\";\nimport { DateTimeFilterType } from \"../DataGridFilters.interfaces\";\n\ntype Props = {\n sideMenuItems: SideMenuItem[];\n selectedItemId: string;\n onItemSelect: (id: DateTimeFilterType) => void;\n};\n\nexport const SideMenu = ({ sideMenuItems, selectedItemId, onItemSelect }: Props) => {\n return (\n <ul className={classes[\"aside-menu\"]}>\n {sideMenuItems.map(item => (\n <li\n key={item.id}\n role=\"none\"\n className={`${contextMenuItemClasses[\"context-menu-item\"]} ${classes[\"aside-menu-item\"]}`}\n >\n <button\n role=\"menuitem\"\n style={{ height: \"2rem\" }}\n className={selectedItemId === item.id ? contextMenuItemClasses[\"active\"] : undefined}\n onClick={() => onItemSelect(item.id)}\n >\n {item.name}\n </button>\n </li>\n ))}\n </ul>\n );\n};\n"],"names":["sideMenuItems","selectedItemId","onItemSelect","React","createElement","className","classes","map","item","key","id","role","contextMenuItemClasses","default","style","height","undefined","onClick","name"],"mappings":"2KA4BwB,EAAGA,gBAAeC,iBAAgBC,kBAEtDC,EAAIC,cAAA,KAAA,CAAAC,UAAWC,EAAAA,QAAQ,eACpBN,EAAcO,KAAIC,GACjBL,EACEC,cAAA,KAAA,CAAAK,IAAKD,EAAKE,GACVC,KAAK,OACLN,UAAW,GAAGO,UAAuB,wBAAwBN,EAAOO,QAAC,sBAErEV,EACEC,cAAA,SAAA,CAAAO,KAAK,WACLG,MAAO,CAAEC,OAAQ,QACjBV,UAAWJ,IAAmBO,EAAKE,GAAKE,EAAsBC,QAAS,YAAIG,EAC3EC,QAAS,IAAMf,EAAaM,EAAKE,KAEhCF,EAAKU"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react"),
|
|
1
|
+
"use strict";var e=require("react"),t=require("react-day-picker"),r=require("./DatePicker.module.scss.cjs.js"),c=require("../node_modules/date-fns/locale.cjs.js"),s=require("../node_modules/date-fns/locale/en-GB.cjs.js");exports.DatePicker=({onSelect:a,value:o,required:n,mode:l,locale:u,...d})=>{const[i,m]=e.useState(s.enGB),f=new Date(3e3,12);e.useEffect((()=>{try{const e=c[u];m(e)}catch(e){m(s.enGB)}}),[u]);const j={showOutsideDays:!0,captionLayout:"dropdown-years",required:n,classNames:(()=>{const e={};return Object.keys(r.default).forEach((t=>{const c=t.replace("rdp-","");e[c]=r.default[t]})),e})(),locale:i};return e.createElement(e.Fragment,null,e.createElement(t.DayPicker,{...d,...j,mode:l,endMonth:f,onSelect:a,selected:o}))};
|
|
2
2
|
//# sourceMappingURL=DatePicker.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.cjs.js","sources":["../../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ComponentPropsWithoutRef, Fragment, useEffect, useState } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"DatePicker.cjs.js","sources":["../../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ComponentPropsWithoutRef, Fragment, useEffect, useState } from \"react\";\nimport {\n ClassNames,\n DateRange,\n DayPicker,\n Locale,\n PropsBase,\n CustomComponents\n} from \"react-day-picker\";\nimport classes from \"./DatePicker.module.scss\";\nimport * as locales from \"date-fns/locale\";\n\nexport interface Props extends ComponentPropsWithoutRef<any> {\n onSelect: (date: Date | DateRange | undefined) => void;\n mode: \"single\" | \"range\";\n value: Date | DateRange | undefined;\n required?: boolean;\n locale?: keyof typeof locales;\n numberOfMonths?: number;\n components?: Partial<CustomComponents>;\n disabled?: boolean;\n}\n\nexport const DatePicker = ({ onSelect, value, required, mode, locale, ...rest }: Props) => {\n const [dayPickerLocale, setDayPickerLocale] = useState<Locale>(locales.enGB);\n //we have to specify the endMonth value. Otherwise the date range picker doesn't let us to navigate between years\n const endMonth = new Date(3000, 12);\n\n useEffect(() => {\n try {\n const selectedLocale = locales[locale!];\n setDayPickerLocale(selectedLocale);\n } catch (e) {\n setDayPickerLocale(locales.enGB);\n }\n }, [locale]);\n\n const getCustomClassNamesMapping = (): Partial<ClassNames> => {\n const CLASSNAME_PREFIX = \"rdp-\";\n const dayPickerClassNames: Partial<ClassNames> = {};\n\n Object.keys(classes).forEach(key => {\n const classKey = key.replace(CLASSNAME_PREFIX, \"\") as keyof ClassNames;\n dayPickerClassNames[classKey] = classes[key];\n });\n\n return dayPickerClassNames;\n };\n\n const commonProps: PropsBase = {\n showOutsideDays: true,\n captionLayout: \"dropdown-years\",\n required: required,\n classNames: getCustomClassNamesMapping(),\n locale: dayPickerLocale\n };\n\n return (\n <Fragment>\n {mode === \"single\" ? (\n <DayPicker\n {...rest}\n {...commonProps}\n mode={mode}\n endMonth={endMonth}\n onSelect={onSelect}\n selected={value as Date | undefined}\n ></DayPicker>\n ) : (\n <DayPicker\n {...rest}\n {...commonProps}\n mode={mode}\n endMonth={endMonth}\n onSelect={onSelect}\n selected={value as DateRange | undefined}\n />\n )}\n </Fragment>\n );\n};\n"],"names":["onSelect","value","required","mode","locale","rest","dayPickerLocale","setDayPickerLocale","useState","locales.enGB","enGB","endMonth","Date","useEffect","selectedLocale","locales","e","commonProps","showOutsideDays","captionLayout","classNames","dayPickerClassNames","Object","keys","classes","forEach","key","classKey","replace","default","getCustomClassNamesMapping","React","createElement","Fragment","DayPicker","selected"],"mappings":"gPAuC0B,EAAGA,WAAUC,QAAOC,WAAUC,OAAMC,OAAAA,KAAWC,MACvE,MAAOC,EAAiBC,GAAsBC,EAAQA,SAASC,EAAYC,MAErEC,EAAW,IAAIC,KAAK,IAAM,IAEhCC,EAAAA,WAAU,KACR,IACE,MAAMC,EAAiBC,EAAQX,GAC/BG,EAAmBO,EACpB,CAAC,MAAOE,GACPT,EAAmBE,EAAYC,KAChC,IACA,CAACN,IAEJ,MAYMa,EAAyB,CAC7BC,iBAAiB,EACjBC,cAAe,iBACfjB,SAAUA,EACVkB,WAhBiC,MACjC,MACMC,EAA2C,CAAA,EAOjD,OALAC,OAAOC,KAAKC,EAAAA,SAASC,SAAQC,IAC3B,MAAMC,EAAWD,EAAIE,QAJE,OAIwB,IAC/CP,EAAoBM,GAAYH,EAAOK,QAACH,EAAI,IAGvCL,CAAmB,EAOdS,GACZ1B,OAAQE,GAGV,OACEyB,EAAAC,cAACC,WAAQ,KAELF,EAAAC,cAACE,EAAAA,UACK,IAAA7B,KACAY,EACJd,KAAMA,EACNQ,SAAUA,EACVX,SAAUA,EACVmC,SAAUlC,IAahB"}
|