@epam/uui 5.5.1 → 5.5.2
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/assets/styles/buttonLayout.scss +67 -67
- package/assets/styles/controlLayout.scss +28 -28
- package/assets/styles/dnd.scss +9 -9
- package/assets/styles/effects.scss +7 -7
- package/assets/styles/icons.scss +19 -19
- package/assets/styles/index.scss +8 -8
- package/assets/styles/inputs.scss +74 -74
- package/assets/styles/text-size.scss +42 -42
- package/assets/styles/typography.scss +174 -174
- package/build/assets/styles/buttonLayout.scss +67 -0
- package/build/assets/styles/controlLayout.scss +28 -0
- package/build/assets/styles/dnd.scss +9 -0
- package/build/assets/styles/effects.scss +7 -0
- package/build/assets/styles/icons.scss +19 -0
- package/build/assets/styles/index.scss +8 -0
- package/build/assets/styles/inputs.scss +74 -0
- package/build/assets/styles/text-size.scss +42 -0
- package/build/assets/styles/typography.scss +174 -0
- package/build/index.esm.js +4740 -0
- package/build/index.esm.js.map +1 -0
- package/build/index.js +4905 -0
- package/build/index.js.map +1 -0
- package/build/package.json +37 -0
- package/build/readme.md +5 -0
- package/build/stats.html +4838 -0
- package/build/styles.css +11145 -0
- package/build/styles.css.map +1 -0
- package/components/buttons/Button.module.scss +157 -0
- package/components/buttons/Button.tsx +53 -0
- package/components/buttons/IconButton.module.scss +44 -0
- package/components/buttons/IconButton.tsx +23 -0
- package/components/buttons/LinkButton.module.scss +85 -0
- package/components/buttons/LinkButton.tsx +48 -0
- package/components/buttons/TabButton.module.scss +94 -0
- package/components/buttons/TabButton.tsx +50 -0
- package/components/buttons/VerticalTabButton.module.scss +7 -0
- package/components/buttons/VerticalTabButton.tsx +12 -0
- package/components/buttons/__tests__/Button.test.tsx +34 -0
- package/components/buttons/__tests__/IconButton.test.tsx +16 -0
- package/components/buttons/__tests__/LinkButton.test.tsx +16 -0
- package/components/buttons/__tests__/TabButton.test.tsx +16 -0
- package/components/buttons/__tests__/VerticalTabButton.test.tsx +16 -0
- package/components/buttons/__tests__/__snapshots__/Button.test.tsx.snap +60 -0
- package/components/buttons/__tests__/__snapshots__/IconButton.test.tsx.snap +34 -0
- package/components/buttons/__tests__/__snapshots__/LinkButton.test.tsx.snap +47 -0
- package/components/buttons/__tests__/__snapshots__/TabButton.test.tsx.snap +31 -0
- package/components/buttons/__tests__/__snapshots__/VerticalTabButton.test.tsx.snap +31 -0
- package/components/buttons/helper.ts +22 -0
- package/components/buttons/index.ts +5 -0
- package/components/datePickers/Calendar.module.scss +143 -0
- package/components/datePickers/Calendar.tsx +10 -0
- package/components/datePickers/CalendarPresets.module.scss +30 -0
- package/components/datePickers/CalendarPresets.tsx +9 -0
- package/components/datePickers/DatePicker.tsx +79 -0
- package/components/datePickers/DatePickerBody.module.scss +107 -0
- package/components/datePickers/DatePickerBody.tsx +78 -0
- package/components/datePickers/DatePickerHeader.module.scss +15 -0
- package/components/datePickers/DatePickerHeader.tsx +126 -0
- package/components/datePickers/RangeDatePicker.module.scss +101 -0
- package/components/datePickers/RangeDatePicker.tsx +120 -0
- package/components/datePickers/RangeDatePickerBody.module.scss +128 -0
- package/components/datePickers/RangeDatePickerBody.tsx +263 -0
- package/components/datePickers/__tests__/Calendar.test.tsx +11 -0
- package/components/datePickers/__tests__/CalendarPresets.test.tsx +11 -0
- package/components/datePickers/__tests__/DatePicker.test.tsx +153 -0
- package/components/datePickers/__tests__/DatePickerBody.test.tsx +64 -0
- package/components/datePickers/__tests__/DatePickerHeader.test.tsx +195 -0
- package/components/datePickers/__tests__/RangeDatePicker.test.tsx +323 -0
- package/components/datePickers/__tests__/RangeDatePickerBody.test.tsx +284 -0
- package/components/datePickers/__tests__/__snapshots__/Calendar.test.tsx.snap +524 -0
- package/components/datePickers/__tests__/__snapshots__/CalendarPresets.test.tsx.snap +61 -0
- package/components/datePickers/__tests__/__snapshots__/DatePicker.test.tsx.snap +59 -0
- package/components/datePickers/__tests__/__snapshots__/DatePickerBody.test.tsx.snap +619 -0
- package/components/datePickers/__tests__/__snapshots__/RangeDatePicker.test.tsx.snap +119 -0
- package/components/datePickers/__tests__/__snapshots__/RangeDatePickerBody.test.tsx.snap +1231 -0
- package/components/datePickers/index.ts +5 -0
- package/components/dnd/DropMarker.module.scss +62 -0
- package/components/dnd/DropMarker.tsx +28 -0
- package/components/dnd/__tests__/DropMarker.test.tsx +31 -0
- package/components/dnd/__tests__/__snapshots__/DropMarker.test.tsx.snap +7 -0
- package/components/dnd/index.tsx +1 -0
- package/components/fileUpload/DropSpot.module.scss +47 -0
- package/components/fileUpload/DropSpot.tsx +68 -0
- package/components/fileUpload/FileCard.module.scss +88 -0
- package/components/fileUpload/FileCard.tsx +147 -0
- package/components/fileUpload/SvgCircleProgress.module.scss +8 -0
- package/components/fileUpload/SvgCircleProgress.tsx +41 -0
- package/components/fileUpload/__tests__/DropSpot.test.tsx +15 -0
- package/components/fileUpload/__tests__/FileCard.test.tsx +57 -0
- package/components/fileUpload/__tests__/SvgCircleProgress.test.tsx +10 -0
- package/components/fileUpload/__tests__/__snapshots__/DropSpot.test.tsx.snap +130 -0
- package/components/fileUpload/__tests__/__snapshots__/FileCard.test.tsx.snap +266 -0
- package/components/fileUpload/__tests__/__snapshots__/SvgCircleProgress.test.tsx.snap +26 -0
- package/components/fileUpload/index.ts +3 -0
- package/components/filters/FilterDatePickerBody.tsx +58 -0
- package/components/filters/FilterItemBody.tsx +23 -0
- package/components/filters/FilterNumericBody.module.scss +4 -0
- package/components/filters/FilterNumericBody.tsx +131 -0
- package/components/filters/FilterPanelItemToggler.module.scss +140 -0
- package/components/filters/FilterPanelItemToggler.tsx +91 -0
- package/components/filters/FilterPickerBody.tsx +75 -0
- package/components/filters/FilterRangeDatePickerBody.module.scss +92 -0
- package/components/filters/FilterRangeDatePickerBody.tsx +85 -0
- package/components/filters/FiltersPanel.tsx +218 -0
- package/components/filters/FiltersPanelItem.module.scss +22 -0
- package/components/filters/FiltersPanelItem.tsx +269 -0
- package/components/filters/PresetPanel/Preset.module.scss +25 -0
- package/components/filters/PresetPanel/Preset.tsx +61 -0
- package/components/filters/PresetPanel/PresetActionsDropdown.module.scss +23 -0
- package/components/filters/PresetPanel/PresetActionsDropdown.tsx +138 -0
- package/components/filters/PresetPanel/PresetInput.module.scss +55 -0
- package/components/filters/PresetPanel/PresetInput.tsx +54 -0
- package/components/filters/PresetPanel/PresetsPanel.module.scss +34 -0
- package/components/filters/PresetPanel/PresetsPanel.tsx +112 -0
- package/components/filters/PresetPanel/__tests__/Preset.test.tsx +44 -0
- package/components/filters/PresetPanel/__tests__/PresetActionsDropdown.test.tsx +28 -0
- package/components/filters/PresetPanel/__tests__/PresetInput.test.tsx +10 -0
- package/components/filters/PresetPanel/__tests__/__snapshots__/Preset.test.tsx.snap +101 -0
- package/components/filters/PresetPanel/__tests__/__snapshots__/PresetActionsDropdown.test.tsx.snap +19 -0
- package/components/filters/PresetPanel/__tests__/__snapshots__/PresetInput.test.tsx.snap +38 -0
- package/components/filters/PresetPanel/__tests__/__snapshots__/presetsPanel.test.tsx.snap +101 -0
- package/components/filters/PresetPanel/__tests__/presetsPanel.test.tsx +381 -0
- package/components/filters/PresetPanel/constants.ts +4 -0
- package/components/filters/PresetPanel/index.ts +1 -0
- package/components/filters/__tests__/__snapshots__/filtersPanel.test.tsx.snap +295 -0
- package/components/filters/__tests__/filtersPanel.test.tsx +375 -0
- package/components/filters/constants.ts +4 -0
- package/components/filters/defaultPredicates.ts +11 -0
- package/components/filters/index.ts +4 -0
- package/components/forms/Form.tsx +39 -0
- package/components/forms/index.tsx +2 -0
- package/components/forms/useForm.tsx +39 -0
- package/components/index.ts +14 -0
- package/components/inputs/Checkbox.module.scss +162 -0
- package/components/inputs/Checkbox.tsx +43 -0
- package/components/inputs/InputAddon.module.scss +11 -0
- package/components/inputs/InputAddon.tsx +11 -0
- package/components/inputs/MultiSwitch.tsx +54 -0
- package/components/inputs/NumericInput.module.scss +97 -0
- package/components/inputs/NumericInput.tsx +53 -0
- package/components/inputs/RadioInput.module.scss +200 -0
- package/components/inputs/RadioInput.tsx +30 -0
- package/components/inputs/Slider.module.scss +130 -0
- package/components/inputs/Slider.tsx +11 -0
- package/components/inputs/Switch.module.scss +172 -0
- package/components/inputs/Switch.tsx +22 -0
- package/components/inputs/TextArea.module.scss +210 -0
- package/components/inputs/TextArea.tsx +47 -0
- package/components/inputs/TextInput.module.scss +199 -0
- package/components/inputs/TextInput.tsx +60 -0
- package/components/inputs/TimePicker.module.scss +68 -0
- package/components/inputs/TimePicker.tsx +79 -0
- package/components/inputs/TimePickerBody.tsx +10 -0
- package/components/inputs/__tests__/Checkbox.test.tsx +15 -0
- package/components/inputs/__tests__/InputAddon.test.tsx +12 -0
- package/components/inputs/__tests__/MultiSwitch.test.tsx +16 -0
- package/components/inputs/__tests__/NumericInput.test.tsx +19 -0
- package/components/inputs/__tests__/RadioInput.test.tsx +15 -0
- package/components/inputs/__tests__/Slider.test.tsx +22 -0
- package/components/inputs/__tests__/Switch.test.tsx +15 -0
- package/components/inputs/__tests__/TextArea.test.tsx +15 -0
- package/components/inputs/__tests__/TextInput.test.tsx +20 -0
- package/components/inputs/__tests__/TimePicker.test.tsx +19 -0
- package/components/inputs/__tests__/TimePickerBody.test.tsx +38 -0
- package/components/inputs/__tests__/__snapshots__/Checkbox.test.tsx.snap +37 -0
- package/components/inputs/__tests__/__snapshots__/InputAddon.test.tsx.snap +9 -0
- package/components/inputs/__tests__/__snapshots__/MultiSwitch.test.tsx.snap +37 -0
- package/components/inputs/__tests__/__snapshots__/NumericInput.test.tsx.snap +95 -0
- package/components/inputs/__tests__/__snapshots__/RadioInput.test.tsx.snap +40 -0
- package/components/inputs/__tests__/__snapshots__/Slider.test.tsx.snap +157 -0
- package/components/inputs/__tests__/__snapshots__/Switch.test.tsx.snap +48 -0
- package/components/inputs/__tests__/__snapshots__/TextArea.test.tsx.snap +38 -0
- package/components/inputs/__tests__/__snapshots__/TextInput.test.tsx.snap +55 -0
- package/components/inputs/__tests__/__snapshots__/TimePicker.test.tsx +19 -0
- package/components/inputs/__tests__/__snapshots__/TimePicker.test.tsx.snap +45 -0
- package/components/inputs/__tests__/__snapshots__/TimePickerBody.test.tsx +38 -0
- package/components/inputs/__tests__/__snapshots__/TimePickerBody.test.tsx.snap +327 -0
- package/components/inputs/__tests__/__snapshots__/__snapshots__/TimePicker.test.tsx.snap +45 -0
- package/components/inputs/__tests__/__snapshots__/__snapshots__/TimePickerBody.test.tsx.snap +327 -0
- package/components/inputs/index.ts +10 -0
- package/components/layout/Accordion.module.scss +180 -0
- package/components/layout/Accordion.tsx +35 -0
- package/components/layout/Blocker.module.scss +30 -0
- package/components/layout/Blocker.tsx +11 -0
- package/components/layout/CheckboxGroup.module.scss +21 -0
- package/components/layout/CheckboxGroup.tsx +74 -0
- package/components/layout/ControlGroup.module.scss +15 -0
- package/components/layout/ControlGroup.tsx +5 -0
- package/components/layout/FlexItems/FlexCell.module.scss +5 -0
- package/components/layout/FlexItems/FlexCell.tsx +11 -0
- package/components/layout/FlexItems/FlexRow.module.scss +122 -0
- package/components/layout/FlexItems/FlexRow.tsx +63 -0
- package/components/layout/FlexItems/Panel.module.scss +34 -0
- package/components/layout/FlexItems/Panel.tsx +29 -0
- package/components/layout/FlexItems/__tests__/FlexCell.test.tsx +15 -0
- package/components/layout/FlexItems/__tests__/FlexRow.test.tsx +17 -0
- package/components/layout/FlexItems/__tests__/FlexSpacer.test.tsx +10 -0
- package/components/layout/FlexItems/__tests__/Panel.test.tsx +15 -0
- package/components/layout/FlexItems/__tests__/__snapshots__/FlexCell.test.tsx.snap +34 -0
- package/components/layout/FlexItems/__tests__/__snapshots__/FlexRow.test.tsx.snap +26 -0
- package/components/layout/FlexItems/__tests__/__snapshots__/FlexSpacer.test.tsx.snap +7 -0
- package/components/layout/FlexItems/__tests__/__snapshots__/Panel.test.tsx.snap +14 -0
- package/components/layout/FlexItems/index.ts +4 -0
- package/components/layout/LabeledInput.module.scss +139 -0
- package/components/layout/LabeledInput.tsx +22 -0
- package/components/layout/RadioGroup.module.scss +21 -0
- package/components/layout/RadioGroup.tsx +68 -0
- package/components/layout/ScrollBars.module.scss +56 -0
- package/components/layout/ScrollBars.tsx +11 -0
- package/components/layout/VirtualList.module.scss +10 -0
- package/components/layout/VirtualList.tsx +126 -0
- package/components/layout/__tests__/Accordion.test.tsx +16 -0
- package/components/layout/__tests__/Blocker.test.tsx +10 -0
- package/components/layout/__tests__/CheckboxGroup.test.tsx +33 -0
- package/components/layout/__tests__/ControlGroup.test.tsx +18 -0
- package/components/layout/__tests__/LabeledInput.test.tsx +26 -0
- package/components/layout/__tests__/RadioGroup.test.tsx +33 -0
- package/components/layout/__tests__/ScrollBars.test.tsx +17 -0
- package/components/layout/__tests__/VirtualList.test.tsx +10 -0
- package/components/layout/__tests__/__snapshots__/Accordion.test.tsx.snap +65 -0
- package/components/layout/__tests__/__snapshots__/Blocker.test.tsx.snap +36 -0
- package/components/layout/__tests__/__snapshots__/CheckboxGroup.test.tsx.snap +99 -0
- package/components/layout/__tests__/__snapshots__/ControlGroup.test.tsx.snap +33 -0
- package/components/layout/__tests__/__snapshots__/LabeledInput.test.tsx.snap +89 -0
- package/components/layout/__tests__/__snapshots__/RadioGroup.test.tsx.snap +95 -0
- package/components/layout/__tests__/__snapshots__/ScrollBars.test.tsx.snap +68 -0
- package/components/layout/__tests__/__snapshots__/VirtualList.test.tsx.snap +90 -0
- package/components/layout/index.ts +10 -0
- package/components/navigation/Anchor.module.scss +7 -0
- package/components/navigation/Anchor.tsx +5 -0
- package/components/navigation/MainMenu/Burger/Burger.module.scss +81 -0
- package/components/navigation/MainMenu/Burger/Burger.tsx +18 -0
- package/components/navigation/MainMenu/Burger/BurgerButton.module.scss +69 -0
- package/components/navigation/MainMenu/Burger/BurgerButton.tsx +28 -0
- package/components/navigation/MainMenu/Burger/BurgerGroupHeader.module.scss +31 -0
- package/components/navigation/MainMenu/Burger/BurgerGroupHeader.tsx +19 -0
- package/components/navigation/MainMenu/Burger/BurgerSearch.module.scss +51 -0
- package/components/navigation/MainMenu/Burger/BurgerSearch.tsx +23 -0
- package/components/navigation/MainMenu/Burger/__tests__/Burger.test.tsx +13 -0
- package/components/navigation/MainMenu/Burger/__tests__/BurgerButton.test.tsx +18 -0
- package/components/navigation/MainMenu/Burger/__tests__/BurgerGroupHeader.test.tsx +10 -0
- package/components/navigation/MainMenu/Burger/__tests__/BurgerSearch.test.tsx +20 -0
- package/components/navigation/MainMenu/Burger/__tests__/__snapshots__/Burger.test.tsx.snap +21 -0
- package/components/navigation/MainMenu/Burger/__tests__/__snapshots__/BurgerButton.test.tsx.snap +46 -0
- package/components/navigation/MainMenu/Burger/__tests__/__snapshots__/BurgerGroupHeader.test.tsx.snap +16 -0
- package/components/navigation/MainMenu/Burger/__tests__/__snapshots__/BurgerSearch.test.tsx.snap +55 -0
- package/components/navigation/MainMenu/Burger/index.ts +4 -0
- package/components/navigation/MainMenu/GlobalMenu.module.scss +32 -0
- package/components/navigation/MainMenu/GlobalMenu.tsx +15 -0
- package/components/navigation/MainMenu/MainMenu.module.scss +53 -0
- package/components/navigation/MainMenu/MainMenu.tsx +22 -0
- package/components/navigation/MainMenu/MainMenuAvatar.module.scss +41 -0
- package/components/navigation/MainMenu/MainMenuAvatar.tsx +31 -0
- package/components/navigation/MainMenu/MainMenuButton.module.scss +60 -0
- package/components/navigation/MainMenu/MainMenuButton.tsx +17 -0
- package/components/navigation/MainMenu/MainMenuDropdown.module.scss +44 -0
- package/components/navigation/MainMenu/MainMenuDropdown.tsx +47 -0
- package/components/navigation/MainMenu/MainMenuIcon.module.scss +25 -0
- package/components/navigation/MainMenu/MainMenuIcon.tsx +17 -0
- package/components/navigation/MainMenu/MainMenuSearch.module.scss +51 -0
- package/components/navigation/MainMenu/MainMenuSearch.tsx +27 -0
- package/components/navigation/MainMenu/__tests__/GlobalMenu.test.tsx +10 -0
- package/components/navigation/MainMenu/__tests__/MainMenu.test.tsx +45 -0
- package/components/navigation/MainMenu/__tests__/MainMenuAvatar.test.tsx +27 -0
- package/components/navigation/MainMenu/__tests__/MainMenuButton.test.tsx +30 -0
- package/components/navigation/MainMenu/__tests__/MainMenuDropdown.test.tsx +24 -0
- package/components/navigation/MainMenu/__tests__/MainMenuIcon.test.tsx +18 -0
- package/components/navigation/MainMenu/__tests__/MainMenuSearch.test.tsx +28 -0
- package/components/navigation/MainMenu/__tests__/__snapshots__/GlobalMenu.test.tsx.snap +17 -0
- package/components/navigation/MainMenu/__tests__/__snapshots__/MainMenu.test.tsx.snap +103 -0
- package/components/navigation/MainMenu/__tests__/__snapshots__/MainMenuAvatar.test.tsx.snap +39 -0
- package/components/navigation/MainMenu/__tests__/__snapshots__/MainMenuButton.test.tsx.snap +37 -0
- package/components/navigation/MainMenu/__tests__/__snapshots__/MainMenuDropdown.test.tsx.snap +46 -0
- package/components/navigation/MainMenu/__tests__/__snapshots__/MainMenuIcon.test.tsx.snap +39 -0
- package/components/navigation/MainMenu/__tests__/__snapshots__/MainMenuSearch.test.tsx.snap +55 -0
- package/components/navigation/MainMenu/index.ts +8 -0
- package/components/navigation/__tests__/Anchor.test.tsx +21 -0
- package/components/navigation/__tests__/__snapshots__/Anchor.test.tsx.snap +29 -0
- package/components/navigation/index.ts +2 -0
- package/components/overlays/Alert.module.scss +77 -0
- package/components/overlays/Alert.tsx +89 -0
- package/components/overlays/ConfirmationModal.tsx +41 -0
- package/components/overlays/Dropdown.tsx +4 -0
- package/components/overlays/DropdownContainer.module.scss +93 -0
- package/components/overlays/DropdownContainer.tsx +27 -0
- package/components/overlays/DropdownMenu.module.scss +181 -0
- package/components/overlays/DropdownMenu.tsx +262 -0
- package/components/overlays/Modals.module.scss +63 -0
- package/components/overlays/Modals.tsx +92 -0
- package/components/overlays/NotificationCard.module.scss +76 -0
- package/components/overlays/NotificationCard.tsx +103 -0
- package/components/overlays/Tooltip.module.scss +90 -0
- package/components/overlays/Tooltip.tsx +24 -0
- package/components/overlays/__tests__/Alert.test.tsx +57 -0
- package/components/overlays/__tests__/ConfirmationModal.test.tsx +29 -0
- package/components/overlays/__tests__/Dropdown.test.tsx +16 -0
- package/components/overlays/__tests__/DropdownContainer.test.tsx +28 -0
- package/components/overlays/__tests__/DropdownMenu.test.tsx +26 -0
- package/components/overlays/__tests__/Modals.test.tsx +35 -0
- package/components/overlays/__tests__/NotificationCard.test.tsx +52 -0
- package/components/overlays/__tests__/Tooltip.test.tsx +20 -0
- package/components/overlays/__tests__/__snapshots__/Alert.test.tsx.snap +183 -0
- package/components/overlays/__tests__/__snapshots__/ConfirmationModal.test.tsx.snap +351 -0
- package/components/overlays/__tests__/__snapshots__/Dropdown.test.tsx.snap +51 -0
- package/components/overlays/__tests__/__snapshots__/DropdownContainer.test.tsx.snap +45 -0
- package/components/overlays/__tests__/__snapshots__/DropdownMenu.test.tsx.snap +90 -0
- package/components/overlays/__tests__/__snapshots__/Modals.test.tsx.snap +134 -0
- package/components/overlays/__tests__/__snapshots__/NotificationCard.test.tsx.snap +284 -0
- package/components/overlays/__tests__/__snapshots__/Tooltip.test.tsx.snap +5 -0
- package/components/overlays/index.ts +8 -0
- package/components/pickers/DataPickerBody.module.scss +54 -0
- package/components/pickers/DataPickerBody.tsx +69 -0
- package/components/pickers/DataPickerCell.module.scss +93 -0
- package/components/pickers/DataPickerCell.tsx +95 -0
- package/components/pickers/DataPickerFooter.tsx +85 -0
- package/components/pickers/DataPickerHeader.module.scss +19 -0
- package/components/pickers/DataPickerHeader.tsx +24 -0
- package/components/pickers/DataPickerRow.module.scss +11 -0
- package/components/pickers/DataPickerRow.tsx +38 -0
- package/components/pickers/MobileDropdownWrapper.module.scss +20 -0
- package/components/pickers/MobileDropdownWrapper.tsx +40 -0
- package/components/pickers/PickerInput.module.scss +39 -0
- package/components/pickers/PickerInput.tsx +197 -0
- package/components/pickers/PickerItem.module.scss +32 -0
- package/components/pickers/PickerItem.tsx +66 -0
- package/components/pickers/PickerList.tsx +83 -0
- package/components/pickers/PickerListItem.module.scss +3 -0
- package/components/pickers/PickerListItem.tsx +55 -0
- package/components/pickers/PickerModal.module.scss +27 -0
- package/components/pickers/PickerModal.tsx +167 -0
- package/components/pickers/PickerToggler.module.scss +249 -0
- package/components/pickers/PickerToggler.tsx +88 -0
- package/components/pickers/__tests__/DataPickerBody.test.tsx +58 -0
- package/components/pickers/__tests__/DataPickerRow.test.tsx +39 -0
- package/components/pickers/__tests__/PickerInput.test.tsx +1073 -0
- package/components/pickers/__tests__/PickerList.test.tsx +597 -0
- package/components/pickers/__tests__/PickerModal.test.tsx +521 -0
- package/components/pickers/__tests__/PickerToggler.test.tsx +40 -0
- package/components/pickers/__tests__/__snapshots__/DataPickerBody.test.tsx.snap +201 -0
- package/components/pickers/__tests__/__snapshots__/DataPickerRow.test.tsx.snap +100 -0
- package/components/pickers/__tests__/__snapshots__/PickerInput.test.tsx.snap +705 -0
- package/components/pickers/__tests__/__snapshots__/PickerList.test.tsx.snap +980 -0
- package/components/pickers/__tests__/__snapshots__/PickerModal.test.tsx.snap +2062 -0
- package/components/pickers/__tests__/__snapshots__/PickerToggler.test.tsx.snap +81 -0
- package/components/pickers/__tests__/highlight.test.tsx +37 -0
- package/components/pickers/__tests__/mocks.ts +87 -0
- package/components/pickers/helpers.ts +4 -0
- package/components/pickers/highlight.tsx +93 -0
- package/components/pickers/index.ts +12 -0
- package/components/pickers/types.ts +7 -0
- package/components/tables/ColumnHeaderDropdown/ColumnHeaderDropdown.tsx +46 -0
- package/components/tables/ColumnHeaderDropdown/SortingPanel.module.scss +14 -0
- package/components/tables/ColumnHeaderDropdown/SortingPanel.tsx +27 -0
- package/components/tables/ColumnHeaderDropdown/index.ts +1 -0
- package/components/tables/DataRowsContainer/DataRowsContainer.module.scss +21 -0
- package/components/tables/DataRowsContainer/DataRowsContainer.tsx +27 -0
- package/components/tables/DataRowsContainer/DataRowsGroups.tsx +86 -0
- package/components/tables/DataRowsContainer/index.tsx +1 -0
- package/components/tables/DataRowsContainer/utils.ts +15 -0
- package/components/tables/DataTable.module.scss +54 -0
- package/components/tables/DataTable.tsx +172 -0
- package/components/tables/DataTableCell.module.scss +65 -0
- package/components/tables/DataTableCell.tsx +51 -0
- package/components/tables/DataTableHeaderCell.module.scss +161 -0
- package/components/tables/DataTableHeaderCell.tsx +151 -0
- package/components/tables/DataTableHeaderRow.module.scss +23 -0
- package/components/tables/DataTableHeaderRow.tsx +19 -0
- package/components/tables/DataTableRow.module.scss +58 -0
- package/components/tables/DataTableRow.tsx +31 -0
- package/components/tables/__tests__/ColumnHeaderDropdown.test.tsx +25 -0
- package/components/tables/__tests__/DataTable.test.tsx +23 -0
- package/components/tables/__tests__/DataTableCell.test.tsx +66 -0
- package/components/tables/__tests__/DataTableHeaderCell.test.tsx +21 -0
- package/components/tables/__tests__/DataTableHeaderRow.test.tsx +28 -0
- package/components/tables/__tests__/DataTableRow.test.tsx +30 -0
- package/components/tables/__tests__/__snapshots__/ColumnHeaderDropdown.test.tsx.snap +138 -0
- package/components/tables/__tests__/__snapshots__/DataTable.test.tsx.snap +122 -0
- package/components/tables/__tests__/__snapshots__/DataTableCell.test.tsx.snap +45 -0
- package/components/tables/__tests__/__snapshots__/DataTableHeaderCell.test.tsx.snap +34 -0
- package/components/tables/__tests__/__snapshots__/DataTableHeaderRow.test.tsx.snap +51 -0
- package/components/tables/__tests__/__snapshots__/DataTableRow.test.tsx.snap +54 -0
- package/components/tables/columnsConfigurationModal/ColumnRow.module.scss +45 -0
- package/components/tables/columnsConfigurationModal/ColumnRow.tsx +66 -0
- package/components/tables/columnsConfigurationModal/ColumnsConfigurationModal.module.scss +55 -0
- package/components/tables/columnsConfigurationModal/ColumnsConfigurationModal.tsx +153 -0
- package/components/tables/columnsConfigurationModal/PinIconButton.tsx +55 -0
- package/components/tables/columnsConfigurationModal/__tests__/ColumnsConfigurationModal.test.tsx +72 -0
- package/components/tables/columnsConfigurationModal/__tests__/__snapshots__/ColumnsConfigurationModal.test.tsx.snap +877 -0
- package/components/tables/columnsConfigurationModal/index.ts +1 -0
- package/components/tables/index.ts +9 -0
- package/components/tables/types.ts +33 -0
- package/components/tables/variables.scss +25 -0
- package/components/types.ts +34 -0
- package/components/typography/RichTextView.tsx +17 -0
- package/components/typography/Text.module.scss +54 -0
- package/components/typography/Text.tsx +59 -0
- package/components/typography/TextPlaceholder.module.scss +46 -0
- package/components/typography/TextPlaceholder.tsx +38 -0
- package/components/typography/__tests__/RichTextView.test.tsx +27 -0
- package/components/typography/__tests__/Text.test.tsx +21 -0
- package/components/typography/__tests__/TextPlaceholder.test.tsx +23 -0
- package/components/typography/__tests__/__snapshots__/RichTextView.test.tsx.snap +21 -0
- package/components/typography/__tests__/__snapshots__/Text.test.tsx.snap +18 -0
- package/components/typography/__tests__/__snapshots__/TextPlaceholder.test.tsx.snap +65 -0
- package/components/typography/index.ts +3 -0
- package/components/widgets/AvatarStack.module.scss +36 -0
- package/components/widgets/AvatarStack.tsx +5 -0
- package/components/widgets/Badge.module.scss +334 -0
- package/components/widgets/Badge.tsx +97 -0
- package/components/widgets/CountIndicator.module.scss +52 -0
- package/components/widgets/CountIndicator.tsx +38 -0
- package/components/widgets/DataRowAddons.module.scss +57 -0
- package/components/widgets/DataRowAddons.tsx +66 -0
- package/components/widgets/IndeterminateBar.module.scss +42 -0
- package/components/widgets/IndeterminateBar.tsx +16 -0
- package/components/widgets/IndicatorBar.module.scss +3 -0
- package/components/widgets/IndicatorBar.tsx +20 -0
- package/components/widgets/Paginator.module.scss +66 -0
- package/components/widgets/Paginator.tsx +64 -0
- package/components/widgets/ProgressBar.module.scss +52 -0
- package/components/widgets/ProgressBar.tsx +33 -0
- package/components/widgets/Spinner.module.scss +38 -0
- package/components/widgets/Spinner.tsx +11 -0
- package/components/widgets/StatusIndicator.module.scss +72 -0
- package/components/widgets/StatusIndicator.tsx +50 -0
- package/components/widgets/Tag.module.scss +142 -0
- package/components/widgets/Tag.tsx +73 -0
- package/components/widgets/__tests__/AvatarStack.test.tsx +19 -0
- package/components/widgets/__tests__/Badge.test.tsx +30 -0
- package/components/widgets/__tests__/IndeterminateBar.test.tsx +15 -0
- package/components/widgets/__tests__/IndicatorBar.test.tsx +15 -0
- package/components/widgets/__tests__/Paginator.test.tsx +19 -0
- package/components/widgets/__tests__/ProgressBar.test.tsx +25 -0
- package/components/widgets/__tests__/Spinner.test.tsx +10 -0
- package/components/widgets/__tests__/StatusIndicator.test.tsx +17 -0
- package/components/widgets/__tests__/Tag.test.tsx +18 -0
- package/components/widgets/__tests__/__snapshots__/AvatarStack.test.tsx.snap +55 -0
- package/components/widgets/__tests__/__snapshots__/Badge.test.tsx.snap +48 -0
- package/components/widgets/__tests__/__snapshots__/IndeterminateBar.test.tsx.snap +21 -0
- package/components/widgets/__tests__/__snapshots__/IndicatorBar.test.tsx.snap +30 -0
- package/components/widgets/__tests__/__snapshots__/Paginator.test.tsx.snap +127 -0
- package/components/widgets/__tests__/__snapshots__/ProgressBar.test.tsx.snap +107 -0
- package/components/widgets/__tests__/__snapshots__/Spinner.test.tsx.snap +21 -0
- package/components/widgets/__tests__/__snapshots__/StatusIndicator.test.tsx.snap +31 -0
- package/components/widgets/__tests__/__snapshots__/Tag.test.tsx.snap +48 -0
- package/components/widgets/index.ts +12 -0
- package/globals.d.ts +12 -0
- package/helpers/index.ts +2 -0
- package/helpers/text-layout.module.scss +81 -0
- package/helpers/textLayout.tsx +35 -0
- package/helpers/useColumnsWithFilters.tsx +34 -0
- package/i18n.ts +105 -0
- package/icons/accept-12.svg +1 -0
- package/icons/accept-18.svg +1 -0
- package/icons/accept-24.svg +1 -0
- package/icons/action-settings-12.svg +1 -0
- package/icons/action-settings-18.svg +1 -0
- package/icons/action-settings-24.svg +1 -0
- package/icons/btn-cross-12.svg +1 -0
- package/icons/btn-cross-18.svg +1 -0
- package/icons/btn-cross-24.svg +1 -0
- package/icons/burger-close.svg +3 -0
- package/icons/burger.svg +3 -0
- package/icons/calendar-12.svg +1 -0
- package/icons/calendar-18.svg +1 -0
- package/icons/calendar-24.svg +1 -0
- package/icons/check-12.svg +3 -0
- package/icons/check-18.svg +3 -0
- package/icons/checkbox-checked.svg +21 -0
- package/icons/checkbox-partial.svg +21 -0
- package/icons/checkbox_tick.svg +44 -0
- package/icons/chevron-down-24.svg +1 -0
- package/icons/chevron-up-24.svg +1 -0
- package/icons/content-edit-12.svg +1 -0
- package/icons/content-edit-18.svg +1 -0
- package/icons/content-edit-24.svg +1 -0
- package/icons/empty-table.svg +58 -0
- package/icons/fileUpload/file-file-24.svg +1 -0
- package/icons/fileUpload/file-file_chart-24.svg +1 -0
- package/icons/fileUpload/file-file_eml-24.svg +1 -0
- package/icons/fileUpload/file-file_excel-24.svg +1 -0
- package/icons/fileUpload/file-file_image-24.svg +1 -0
- package/icons/fileUpload/file-file_pdf-24.svg +1 -0
- package/icons/fileUpload/file-file_table-24.svg +1 -0
- package/icons/fileUpload/file-file_text-24.svg +1 -0
- package/icons/fileUpload/file-file_video-24.svg +1 -0
- package/icons/fileUpload/file-file_word-24.svg +1 -0
- package/icons/fileUpload/shape.svg +2 -0
- package/icons/filter.svg +11 -0
- package/icons/folding-arrow-12.svg +1 -0
- package/icons/folding-arrow-18.svg +1 -0
- package/icons/folding-arrow-24.svg +1 -0
- package/icons/global_menu.svg +9 -0
- package/icons/help-fill-10.svg +3 -0
- package/icons/help-fill-16.svg +3 -0
- package/icons/icons.tsx +116 -0
- package/icons/info-12.svg +3 -0
- package/icons/info-18.svg +1 -0
- package/icons/info-24.svg +1 -0
- package/icons/logo-arrow.svg +4 -0
- package/icons/menu_input_cancel.svg +84 -0
- package/icons/modal-close-cross.svg +22 -0
- package/icons/navigation-close-24.svg +1 -0
- package/icons/navigation-more_vert-12.svg +1 -0
- package/icons/navigation-more_vert-18.svg +1 -0
- package/icons/navigation-more_vert-24.svg +1 -0
- package/icons/notification-check_circle-fill-24.svg +1 -0
- package/icons/notification-done-12.svg +1 -0
- package/icons/notification-done-18.svg +1 -0
- package/icons/notification-done-24.svg +1 -0
- package/icons/notification-error-fill-10.svg +1 -0
- package/icons/notification-error-fill-24.svg +1 -0
- package/icons/notification-help-fill-24.svg +1 -0
- package/icons/notification-warning-fill-24.svg +1 -0
- package/icons/partly-select-12.svg +3 -0
- package/icons/partly-select-18.svg +3 -0
- package/icons/radio-point.svg +3 -0
- package/icons/search-12.svg +1 -0
- package/icons/search-18.svg +1 -0
- package/icons/search-24.svg +1 -0
- package/icons/search-with-background.svg +4 -0
- package/icons/settings-18.svg +1 -0
- package/icons/slider-rating/active_mark_blue_icon.svg +23 -0
- package/icons/slider-rating/active_mark_green_icon.svg +23 -0
- package/icons/slider-rating/active_mark_red_icon.svg +23 -0
- package/icons/slider-rating/active_mark_violet_icon.svg +23 -0
- package/icons/slider-rating/active_mark_yellow_icon.svg +23 -0
- package/icons/slider-rating/line_blue_icon.svg +31 -0
- package/icons/slider-rating/line_gray_icon.svg +20 -0
- package/icons/slider-rating/line_red_icon.svg +42 -0
- package/icons/slider-rating/line_violet_icon.svg +33 -0
- package/icons/slider-rating/line_yellow_icon.svg +34 -0
- package/icons/slider-rating/na_active_icon.svg +13 -0
- package/icons/slider-rating/na_icon.svg +13 -0
- package/icons/snackbar/cross.svg +1 -0
- package/icons/snackbar/info.svg +1 -0
- package/icons/snackbar/success.svg +1 -0
- package/icons/snackbar/warning.svg +1 -0
- package/icons/sort.svg +5 -0
- package/icons/sort_asc-12.svg +1 -0
- package/icons/sort_desc-12.svg +1 -0
- package/icons/star-empty.svg +3 -0
- package/icons/star-filled.svg +3 -0
- package/icons/tick-12.svg +1 -0
- package/icons/tick-24.svg +1 -0
- package/icons/triangle.svg +10 -0
- package/index.tsx +5 -0
- package/package.json +7 -7
- package/readme.md +4 -4
- package/themeTodo.md +21 -0
- package/tsconfig.json +12 -0
- package/index.esm.js +0 -4740
- package/index.esm.js.map +0 -1
- package/index.js +0 -4905
- package/index.js.map +0 -1
- package/stats.html +0 -4838
- package/styles.css +0 -11145
- package/styles.css.map +0 -1
- /package/{components → build/components}/buttons/Button.d.ts +0 -0
- /package/{components → build/components}/buttons/Button.d.ts.map +0 -0
- /package/{components → build/components}/buttons/IconButton.d.ts +0 -0
- /package/{components → build/components}/buttons/IconButton.d.ts.map +0 -0
- /package/{components → build/components}/buttons/LinkButton.d.ts +0 -0
- /package/{components → build/components}/buttons/LinkButton.d.ts.map +0 -0
- /package/{components → build/components}/buttons/TabButton.d.ts +0 -0
- /package/{components → build/components}/buttons/TabButton.d.ts.map +0 -0
- /package/{components → build/components}/buttons/VerticalTabButton.d.ts +0 -0
- /package/{components → build/components}/buttons/VerticalTabButton.d.ts.map +0 -0
- /package/{components → build/components}/buttons/helper.d.ts +0 -0
- /package/{components → build/components}/buttons/helper.d.ts.map +0 -0
- /package/{components → build/components}/buttons/index.d.ts +0 -0
- /package/{components → build/components}/buttons/index.d.ts.map +0 -0
- /package/{components → build/components}/datePickers/Calendar.d.ts +0 -0
- /package/{components → build/components}/datePickers/Calendar.d.ts.map +0 -0
- /package/{components → build/components}/datePickers/CalendarPresets.d.ts +0 -0
- /package/{components → build/components}/datePickers/CalendarPresets.d.ts.map +0 -0
- /package/{components → build/components}/datePickers/DatePicker.d.ts +0 -0
- /package/{components → build/components}/datePickers/DatePicker.d.ts.map +0 -0
- /package/{components → build/components}/datePickers/DatePickerBody.d.ts +0 -0
- /package/{components → build/components}/datePickers/DatePickerBody.d.ts.map +0 -0
- /package/{components → build/components}/datePickers/DatePickerHeader.d.ts +0 -0
- /package/{components → build/components}/datePickers/DatePickerHeader.d.ts.map +0 -0
- /package/{components → build/components}/datePickers/RangeDatePicker.d.ts +0 -0
- /package/{components → build/components}/datePickers/RangeDatePicker.d.ts.map +0 -0
- /package/{components → build/components}/datePickers/RangeDatePickerBody.d.ts +0 -0
- /package/{components → build/components}/datePickers/RangeDatePickerBody.d.ts.map +0 -0
- /package/{components → build/components}/datePickers/index.d.ts +0 -0
- /package/{components → build/components}/datePickers/index.d.ts.map +0 -0
- /package/{components → build/components}/dnd/DropMarker.d.ts +0 -0
- /package/{components → build/components}/dnd/DropMarker.d.ts.map +0 -0
- /package/{components → build/components}/dnd/index.d.ts +0 -0
- /package/{components → build/components}/dnd/index.d.ts.map +0 -0
- /package/{components → build/components}/fileUpload/DropSpot.d.ts +0 -0
- /package/{components → build/components}/fileUpload/DropSpot.d.ts.map +0 -0
- /package/{components → build/components}/fileUpload/FileCard.d.ts +0 -0
- /package/{components → build/components}/fileUpload/FileCard.d.ts.map +0 -0
- /package/{components → build/components}/fileUpload/SvgCircleProgress.d.ts +0 -0
- /package/{components → build/components}/fileUpload/SvgCircleProgress.d.ts.map +0 -0
- /package/{components → build/components}/fileUpload/index.d.ts +0 -0
- /package/{components → build/components}/fileUpload/index.d.ts.map +0 -0
- /package/{components → build/components}/filters/FilterDatePickerBody.d.ts +0 -0
- /package/{components → build/components}/filters/FilterDatePickerBody.d.ts.map +0 -0
- /package/{components → build/components}/filters/FilterItemBody.d.ts +0 -0
- /package/{components → build/components}/filters/FilterItemBody.d.ts.map +0 -0
- /package/{components → build/components}/filters/FilterNumericBody.d.ts +0 -0
- /package/{components → build/components}/filters/FilterNumericBody.d.ts.map +0 -0
- /package/{components → build/components}/filters/FilterPanelItemToggler.d.ts +0 -0
- /package/{components → build/components}/filters/FilterPanelItemToggler.d.ts.map +0 -0
- /package/{components → build/components}/filters/FilterPickerBody.d.ts +0 -0
- /package/{components → build/components}/filters/FilterPickerBody.d.ts.map +0 -0
- /package/{components → build/components}/filters/FilterRangeDatePickerBody.d.ts +0 -0
- /package/{components → build/components}/filters/FilterRangeDatePickerBody.d.ts.map +0 -0
- /package/{components → build/components}/filters/FiltersPanel.d.ts +0 -0
- /package/{components → build/components}/filters/FiltersPanel.d.ts.map +0 -0
- /package/{components → build/components}/filters/FiltersPanelItem.d.ts +0 -0
- /package/{components → build/components}/filters/FiltersPanelItem.d.ts.map +0 -0
- /package/{components → build/components}/filters/PresetPanel/Preset.d.ts +0 -0
- /package/{components → build/components}/filters/PresetPanel/Preset.d.ts.map +0 -0
- /package/{components → build/components}/filters/PresetPanel/PresetActionsDropdown.d.ts +0 -0
- /package/{components → build/components}/filters/PresetPanel/PresetActionsDropdown.d.ts.map +0 -0
- /package/{components → build/components}/filters/PresetPanel/PresetInput.d.ts +0 -0
- /package/{components → build/components}/filters/PresetPanel/PresetInput.d.ts.map +0 -0
- /package/{components → build/components}/filters/PresetPanel/PresetsPanel.d.ts +0 -0
- /package/{components → build/components}/filters/PresetPanel/PresetsPanel.d.ts.map +0 -0
- /package/{components → build/components}/filters/PresetPanel/constants.d.ts +0 -0
- /package/{components → build/components}/filters/PresetPanel/constants.d.ts.map +0 -0
- /package/{components → build/components}/filters/PresetPanel/index.d.ts +0 -0
- /package/{components → build/components}/filters/PresetPanel/index.d.ts.map +0 -0
- /package/{components → build/components}/filters/constants.d.ts +0 -0
- /package/{components → build/components}/filters/constants.d.ts.map +0 -0
- /package/{components → build/components}/filters/defaultPredicates.d.ts +0 -0
- /package/{components → build/components}/filters/defaultPredicates.d.ts.map +0 -0
- /package/{components → build/components}/filters/index.d.ts +0 -0
- /package/{components → build/components}/filters/index.d.ts.map +0 -0
- /package/{components → build/components}/forms/Form.d.ts +0 -0
- /package/{components → build/components}/forms/Form.d.ts.map +0 -0
- /package/{components → build/components}/forms/index.d.ts +0 -0
- /package/{components → build/components}/forms/index.d.ts.map +0 -0
- /package/{components → build/components}/forms/useForm.d.ts +0 -0
- /package/{components → build/components}/forms/useForm.d.ts.map +0 -0
- /package/{components → build/components}/index.d.ts +0 -0
- /package/{components → build/components}/index.d.ts.map +0 -0
- /package/{components → build/components}/inputs/Checkbox.d.ts +0 -0
- /package/{components → build/components}/inputs/Checkbox.d.ts.map +0 -0
- /package/{components → build/components}/inputs/InputAddon.d.ts +0 -0
- /package/{components → build/components}/inputs/InputAddon.d.ts.map +0 -0
- /package/{components → build/components}/inputs/MultiSwitch.d.ts +0 -0
- /package/{components → build/components}/inputs/MultiSwitch.d.ts.map +0 -0
- /package/{components → build/components}/inputs/NumericInput.d.ts +0 -0
- /package/{components → build/components}/inputs/NumericInput.d.ts.map +0 -0
- /package/{components → build/components}/inputs/RadioInput.d.ts +0 -0
- /package/{components → build/components}/inputs/RadioInput.d.ts.map +0 -0
- /package/{components → build/components}/inputs/Slider.d.ts +0 -0
- /package/{components → build/components}/inputs/Slider.d.ts.map +0 -0
- /package/{components → build/components}/inputs/Switch.d.ts +0 -0
- /package/{components → build/components}/inputs/Switch.d.ts.map +0 -0
- /package/{components → build/components}/inputs/TextArea.d.ts +0 -0
- /package/{components → build/components}/inputs/TextArea.d.ts.map +0 -0
- /package/{components → build/components}/inputs/TextInput.d.ts +0 -0
- /package/{components → build/components}/inputs/TextInput.d.ts.map +0 -0
- /package/{components → build/components}/inputs/TimePicker.d.ts +0 -0
- /package/{components → build/components}/inputs/TimePicker.d.ts.map +0 -0
- /package/{components → build/components}/inputs/TimePickerBody.d.ts +0 -0
- /package/{components → build/components}/inputs/TimePickerBody.d.ts.map +0 -0
- /package/{components → build/components}/inputs/index.d.ts +0 -0
- /package/{components → build/components}/inputs/index.d.ts.map +0 -0
- /package/{components → build/components}/layout/Accordion.d.ts +0 -0
- /package/{components → build/components}/layout/Accordion.d.ts.map +0 -0
- /package/{components → build/components}/layout/Blocker.d.ts +0 -0
- /package/{components → build/components}/layout/Blocker.d.ts.map +0 -0
- /package/{components → build/components}/layout/CheckboxGroup.d.ts +0 -0
- /package/{components → build/components}/layout/CheckboxGroup.d.ts.map +0 -0
- /package/{components → build/components}/layout/ControlGroup.d.ts +0 -0
- /package/{components → build/components}/layout/ControlGroup.d.ts.map +0 -0
- /package/{components → build/components}/layout/FlexItems/FlexCell.d.ts +0 -0
- /package/{components → build/components}/layout/FlexItems/FlexCell.d.ts.map +0 -0
- /package/{components → build/components}/layout/FlexItems/FlexRow.d.ts +0 -0
- /package/{components → build/components}/layout/FlexItems/FlexRow.d.ts.map +0 -0
- /package/{components → build/components}/layout/FlexItems/Panel.d.ts +0 -0
- /package/{components → build/components}/layout/FlexItems/Panel.d.ts.map +0 -0
- /package/{components → build/components}/layout/FlexItems/index.d.ts +0 -0
- /package/{components → build/components}/layout/FlexItems/index.d.ts.map +0 -0
- /package/{components → build/components}/layout/LabeledInput.d.ts +0 -0
- /package/{components → build/components}/layout/LabeledInput.d.ts.map +0 -0
- /package/{components → build/components}/layout/RadioGroup.d.ts +0 -0
- /package/{components → build/components}/layout/RadioGroup.d.ts.map +0 -0
- /package/{components → build/components}/layout/ScrollBars.d.ts +0 -0
- /package/{components → build/components}/layout/ScrollBars.d.ts.map +0 -0
- /package/{components → build/components}/layout/VirtualList.d.ts +0 -0
- /package/{components → build/components}/layout/VirtualList.d.ts.map +0 -0
- /package/{components → build/components}/layout/index.d.ts +0 -0
- /package/{components → build/components}/layout/index.d.ts.map +0 -0
- /package/{components → build/components}/navigation/Anchor.d.ts +0 -0
- /package/{components → build/components}/navigation/Anchor.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/Burger/Burger.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/Burger/Burger.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/Burger/BurgerButton.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/Burger/BurgerButton.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/Burger/BurgerGroupHeader.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/Burger/BurgerGroupHeader.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/Burger/BurgerSearch.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/Burger/BurgerSearch.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/Burger/index.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/Burger/index.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/GlobalMenu.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/GlobalMenu.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenu.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenu.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenuAvatar.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenuAvatar.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenuButton.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenuButton.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenuDropdown.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenuDropdown.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenuIcon.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenuIcon.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenuSearch.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/MainMenuSearch.d.ts.map +0 -0
- /package/{components → build/components}/navigation/MainMenu/index.d.ts +0 -0
- /package/{components → build/components}/navigation/MainMenu/index.d.ts.map +0 -0
- /package/{components → build/components}/navigation/index.d.ts +0 -0
- /package/{components → build/components}/navigation/index.d.ts.map +0 -0
- /package/{components → build/components}/overlays/Alert.d.ts +0 -0
- /package/{components → build/components}/overlays/Alert.d.ts.map +0 -0
- /package/{components → build/components}/overlays/ConfirmationModal.d.ts +0 -0
- /package/{components → build/components}/overlays/ConfirmationModal.d.ts.map +0 -0
- /package/{components → build/components}/overlays/Dropdown.d.ts +0 -0
- /package/{components → build/components}/overlays/Dropdown.d.ts.map +0 -0
- /package/{components → build/components}/overlays/DropdownContainer.d.ts +0 -0
- /package/{components → build/components}/overlays/DropdownContainer.d.ts.map +0 -0
- /package/{components → build/components}/overlays/DropdownMenu.d.ts +0 -0
- /package/{components → build/components}/overlays/DropdownMenu.d.ts.map +0 -0
- /package/{components → build/components}/overlays/Modals.d.ts +0 -0
- /package/{components → build/components}/overlays/Modals.d.ts.map +0 -0
- /package/{components → build/components}/overlays/NotificationCard.d.ts +0 -0
- /package/{components → build/components}/overlays/NotificationCard.d.ts.map +0 -0
- /package/{components → build/components}/overlays/Tooltip.d.ts +0 -0
- /package/{components → build/components}/overlays/Tooltip.d.ts.map +0 -0
- /package/{components → build/components}/overlays/index.d.ts +0 -0
- /package/{components → build/components}/overlays/index.d.ts.map +0 -0
- /package/{components → build/components}/pickers/DataPickerBody.d.ts +0 -0
- /package/{components → build/components}/pickers/DataPickerBody.d.ts.map +0 -0
- /package/{components → build/components}/pickers/DataPickerCell.d.ts +0 -0
- /package/{components → build/components}/pickers/DataPickerCell.d.ts.map +0 -0
- /package/{components → build/components}/pickers/DataPickerFooter.d.ts +0 -0
- /package/{components → build/components}/pickers/DataPickerFooter.d.ts.map +0 -0
- /package/{components → build/components}/pickers/DataPickerHeader.d.ts +0 -0
- /package/{components → build/components}/pickers/DataPickerHeader.d.ts.map +0 -0
- /package/{components → build/components}/pickers/DataPickerRow.d.ts +0 -0
- /package/{components → build/components}/pickers/DataPickerRow.d.ts.map +0 -0
- /package/{components → build/components}/pickers/MobileDropdownWrapper.d.ts +0 -0
- /package/{components → build/components}/pickers/MobileDropdownWrapper.d.ts.map +0 -0
- /package/{components → build/components}/pickers/PickerInput.d.ts +0 -0
- /package/{components → build/components}/pickers/PickerInput.d.ts.map +0 -0
- /package/{components → build/components}/pickers/PickerItem.d.ts +0 -0
- /package/{components → build/components}/pickers/PickerItem.d.ts.map +0 -0
- /package/{components → build/components}/pickers/PickerList.d.ts +0 -0
- /package/{components → build/components}/pickers/PickerList.d.ts.map +0 -0
- /package/{components → build/components}/pickers/PickerListItem.d.ts +0 -0
- /package/{components → build/components}/pickers/PickerListItem.d.ts.map +0 -0
- /package/{components → build/components}/pickers/PickerModal.d.ts +0 -0
- /package/{components → build/components}/pickers/PickerModal.d.ts.map +0 -0
- /package/{components → build/components}/pickers/PickerToggler.d.ts +0 -0
- /package/{components → build/components}/pickers/PickerToggler.d.ts.map +0 -0
- /package/{components → build/components}/pickers/helpers.d.ts +0 -0
- /package/{components → build/components}/pickers/helpers.d.ts.map +0 -0
- /package/{components → build/components}/pickers/highlight.d.ts +0 -0
- /package/{components → build/components}/pickers/highlight.d.ts.map +0 -0
- /package/{components → build/components}/pickers/index.d.ts +0 -0
- /package/{components → build/components}/pickers/index.d.ts.map +0 -0
- /package/{components → build/components}/pickers/types.d.ts +0 -0
- /package/{components → build/components}/pickers/types.d.ts.map +0 -0
- /package/{components → build/components}/tables/ColumnHeaderDropdown/ColumnHeaderDropdown.d.ts +0 -0
- /package/{components → build/components}/tables/ColumnHeaderDropdown/ColumnHeaderDropdown.d.ts.map +0 -0
- /package/{components → build/components}/tables/ColumnHeaderDropdown/SortingPanel.d.ts +0 -0
- /package/{components → build/components}/tables/ColumnHeaderDropdown/SortingPanel.d.ts.map +0 -0
- /package/{components → build/components}/tables/ColumnHeaderDropdown/index.d.ts +0 -0
- /package/{components → build/components}/tables/ColumnHeaderDropdown/index.d.ts.map +0 -0
- /package/{components → build/components}/tables/DataRowsContainer/DataRowsContainer.d.ts +0 -0
- /package/{components → build/components}/tables/DataRowsContainer/DataRowsContainer.d.ts.map +0 -0
- /package/{components → build/components}/tables/DataRowsContainer/DataRowsGroups.d.ts +0 -0
- /package/{components → build/components}/tables/DataRowsContainer/DataRowsGroups.d.ts.map +0 -0
- /package/{components → build/components}/tables/DataRowsContainer/index.d.ts +0 -0
- /package/{components → build/components}/tables/DataRowsContainer/index.d.ts.map +0 -0
- /package/{components → build/components}/tables/DataRowsContainer/utils.d.ts +0 -0
- /package/{components → build/components}/tables/DataRowsContainer/utils.d.ts.map +0 -0
- /package/{components → build/components}/tables/DataTable.d.ts +0 -0
- /package/{components → build/components}/tables/DataTable.d.ts.map +0 -0
- /package/{components → build/components}/tables/DataTableCell.d.ts +0 -0
- /package/{components → build/components}/tables/DataTableCell.d.ts.map +0 -0
- /package/{components → build/components}/tables/DataTableHeaderCell.d.ts +0 -0
- /package/{components → build/components}/tables/DataTableHeaderCell.d.ts.map +0 -0
- /package/{components → build/components}/tables/DataTableHeaderRow.d.ts +0 -0
- /package/{components → build/components}/tables/DataTableHeaderRow.d.ts.map +0 -0
- /package/{components → build/components}/tables/DataTableRow.d.ts +0 -0
- /package/{components → build/components}/tables/DataTableRow.d.ts.map +0 -0
- /package/{components → build/components}/tables/columnsConfigurationModal/ColumnRow.d.ts +0 -0
- /package/{components → build/components}/tables/columnsConfigurationModal/ColumnRow.d.ts.map +0 -0
- /package/{components → build/components}/tables/columnsConfigurationModal/ColumnsConfigurationModal.d.ts +0 -0
- /package/{components → build/components}/tables/columnsConfigurationModal/ColumnsConfigurationModal.d.ts.map +0 -0
- /package/{components → build/components}/tables/columnsConfigurationModal/PinIconButton.d.ts +0 -0
- /package/{components → build/components}/tables/columnsConfigurationModal/PinIconButton.d.ts.map +0 -0
- /package/{components → build/components}/tables/columnsConfigurationModal/index.d.ts +0 -0
- /package/{components → build/components}/tables/columnsConfigurationModal/index.d.ts.map +0 -0
- /package/{components → build/components}/tables/index.d.ts +0 -0
- /package/{components → build/components}/tables/index.d.ts.map +0 -0
- /package/{components → build/components}/tables/types.d.ts +0 -0
- /package/{components → build/components}/tables/types.d.ts.map +0 -0
- /package/{components → build/components}/types.d.ts +0 -0
- /package/{components → build/components}/types.d.ts.map +0 -0
- /package/{components → build/components}/typography/RichTextView.d.ts +0 -0
- /package/{components → build/components}/typography/RichTextView.d.ts.map +0 -0
- /package/{components → build/components}/typography/Text.d.ts +0 -0
- /package/{components → build/components}/typography/Text.d.ts.map +0 -0
- /package/{components → build/components}/typography/TextPlaceholder.d.ts +0 -0
- /package/{components → build/components}/typography/TextPlaceholder.d.ts.map +0 -0
- /package/{components → build/components}/typography/index.d.ts +0 -0
- /package/{components → build/components}/typography/index.d.ts.map +0 -0
- /package/{components → build/components}/widgets/AvatarStack.d.ts +0 -0
- /package/{components → build/components}/widgets/AvatarStack.d.ts.map +0 -0
- /package/{components → build/components}/widgets/Badge.d.ts +0 -0
- /package/{components → build/components}/widgets/Badge.d.ts.map +0 -0
- /package/{components → build/components}/widgets/CountIndicator.d.ts +0 -0
- /package/{components → build/components}/widgets/CountIndicator.d.ts.map +0 -0
- /package/{components → build/components}/widgets/DataRowAddons.d.ts +0 -0
- /package/{components → build/components}/widgets/DataRowAddons.d.ts.map +0 -0
- /package/{components → build/components}/widgets/IndeterminateBar.d.ts +0 -0
- /package/{components → build/components}/widgets/IndeterminateBar.d.ts.map +0 -0
- /package/{components → build/components}/widgets/IndicatorBar.d.ts +0 -0
- /package/{components → build/components}/widgets/IndicatorBar.d.ts.map +0 -0
- /package/{components → build/components}/widgets/Paginator.d.ts +0 -0
- /package/{components → build/components}/widgets/Paginator.d.ts.map +0 -0
- /package/{components → build/components}/widgets/ProgressBar.d.ts +0 -0
- /package/{components → build/components}/widgets/ProgressBar.d.ts.map +0 -0
- /package/{components → build/components}/widgets/Spinner.d.ts +0 -0
- /package/{components → build/components}/widgets/Spinner.d.ts.map +0 -0
- /package/{components → build/components}/widgets/StatusIndicator.d.ts +0 -0
- /package/{components → build/components}/widgets/StatusIndicator.d.ts.map +0 -0
- /package/{components → build/components}/widgets/Tag.d.ts +0 -0
- /package/{components → build/components}/widgets/Tag.d.ts.map +0 -0
- /package/{components → build/components}/widgets/index.d.ts +0 -0
- /package/{components → build/components}/widgets/index.d.ts.map +0 -0
- /package/{helpers → build/helpers}/index.d.ts +0 -0
- /package/{helpers → build/helpers}/index.d.ts.map +0 -0
- /package/{helpers → build/helpers}/textLayout.d.ts +0 -0
- /package/{helpers → build/helpers}/textLayout.d.ts.map +0 -0
- /package/{helpers → build/helpers}/useColumnsWithFilters.d.ts +0 -0
- /package/{helpers → build/helpers}/useColumnsWithFilters.d.ts.map +0 -0
- /package/{i18n.d.ts → build/i18n.d.ts} +0 -0
- /package/{i18n.d.ts.map → build/i18n.d.ts.map} +0 -0
- /package/{icons → build/icons}/icons.d.ts +0 -0
- /package/{icons → build/icons}/icons.d.ts.map +0 -0
- /package/{index.d.ts → build/index.d.ts} +0 -0
- /package/{index.d.ts.map → build/index.d.ts.map} +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import dayjs, { Dayjs } from 'dayjs';
|
|
3
|
+
import updateLocale from 'dayjs/plugin/updateLocale.js';
|
|
4
|
+
import { cx } from '@epam/uui-core';
|
|
5
|
+
import { MonthSelection, YearSelection, DatePickerBodyBase, DatePickerBodyBaseProps, valueFormat, i18n } from '@epam/uui-components';
|
|
6
|
+
import { DatePickerHeader } from './DatePickerHeader';
|
|
7
|
+
import { Calendar } from './Calendar';
|
|
8
|
+
import css from './DatePickerBody.module.scss';
|
|
9
|
+
|
|
10
|
+
dayjs.extend(updateLocale);
|
|
11
|
+
|
|
12
|
+
export interface DatePickerBodyProps extends DatePickerBodyBaseProps<string> {
|
|
13
|
+
/*
|
|
14
|
+
* A pure function that gets array of classes for styling a day for each day.
|
|
15
|
+
*/
|
|
16
|
+
getDayCX?(day: Dayjs): string[];
|
|
17
|
+
/**
|
|
18
|
+
* A pure function that gets whether day is holiday for each day.
|
|
19
|
+
*/
|
|
20
|
+
isHoliday?: (day: Dayjs) => boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const uuiDatePickerBody = {
|
|
24
|
+
wrapper: 'uui-datepickerBody-wrapper',
|
|
25
|
+
separator: 'uui-datepickerBody-separator',
|
|
26
|
+
} as const;
|
|
27
|
+
|
|
28
|
+
export class DatePickerBody extends DatePickerBodyBase<string, DatePickerBodyProps> {
|
|
29
|
+
constructor(props: DatePickerBodyProps) {
|
|
30
|
+
super(props);
|
|
31
|
+
dayjs.locale('en');
|
|
32
|
+
dayjs.updateLocale(i18n.datePicker.locale, { weekStart: 1 });
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
onDayClick = (day: Dayjs) => {
|
|
36
|
+
if (!this.props.filter || this.props.filter(day)) {
|
|
37
|
+
this.props.setSelectedDate(day.format(valueFormat));
|
|
38
|
+
}
|
|
39
|
+
this.props.changeIsOpen && this.props.changeIsOpen(false);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
getView = () => {
|
|
43
|
+
switch (this.props.value?.view) {
|
|
44
|
+
case 'MONTH_SELECTION':
|
|
45
|
+
return (
|
|
46
|
+
<MonthSelection selectedDate={ dayjs(this.props.value.selectedDate) } value={ this.props.value.displayedDate } onValueChange={ this.onMonthClick } />
|
|
47
|
+
);
|
|
48
|
+
case 'YEAR_SELECTION':
|
|
49
|
+
return (
|
|
50
|
+
<YearSelection selectedDate={ dayjs(this.props.value.selectedDate) } value={ this.props.value.displayedDate } onValueChange={ this.onYearClick } />
|
|
51
|
+
);
|
|
52
|
+
case 'DAY_SELECTION':
|
|
53
|
+
return (
|
|
54
|
+
<Calendar
|
|
55
|
+
value={ dayjs(this.props.value.selectedDate) }
|
|
56
|
+
onValueChange={ this.onDayClick }
|
|
57
|
+
displayedDate={ this.props.value.displayedDate }
|
|
58
|
+
filter={ this.props.filter }
|
|
59
|
+
getDayCX={ this.props.getDayCX }
|
|
60
|
+
renderDay={ this.props.renderDay }
|
|
61
|
+
isHoliday={ this.props.isHoliday }
|
|
62
|
+
/>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
renderBody = () => {
|
|
68
|
+
return (
|
|
69
|
+
<div className={ cx(css.root, uuiDatePickerBody.wrapper, this.props.cx) }>
|
|
70
|
+
<DatePickerHeader
|
|
71
|
+
value={ this.props.value }
|
|
72
|
+
onValueChange={ (newValue) => this.props.setDisplayedDateAndView(newValue.displayedDate, newValue.view) }
|
|
73
|
+
/>
|
|
74
|
+
{this.getView()}
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
.container {
|
|
2
|
+
&:global(.uui-datepickerheader-container) {
|
|
3
|
+
:global(.uui-datepickerheader-header) {
|
|
4
|
+
display: flex;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
:global(.uui-datepickerheader-nav-title) {
|
|
9
|
+
display: flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Icon, IEditable, IHasCX } from '@epam/uui-core';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import css from './DatePickerHeader.module.scss';
|
|
5
|
+
import dayjs, { Dayjs } from 'dayjs';
|
|
6
|
+
import { PickerBodyValue, ViewType } from '@epam/uui-components';
|
|
7
|
+
import { ReactComponent as LeftArrowIcon } from '@epam/assets/icons/common/navigation-chevron-left-18.svg';
|
|
8
|
+
import { ReactComponent as RightArrowIcon } from '@epam/assets/icons/common/navigation-chevron-right-18.svg';
|
|
9
|
+
import { Button } from '../buttons';
|
|
10
|
+
import localeData from 'dayjs/plugin/localeData';
|
|
11
|
+
|
|
12
|
+
dayjs.extend(localeData);
|
|
13
|
+
|
|
14
|
+
export const uuiHeader = {
|
|
15
|
+
container: 'uui-datepickerheader-container',
|
|
16
|
+
header: 'uui-datepickerheader-header',
|
|
17
|
+
navTitle: 'uui-datepickerheader-nav-title',
|
|
18
|
+
navIconRight: 'uui-datepickerheader-nav-icon-right',
|
|
19
|
+
navIconLeft: 'uui-datepickerheader-nav-icon-left',
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export interface DatePickerHeaderProps extends IEditable<PickerBodyValue<string>>, IHasCX {
|
|
23
|
+
/*
|
|
24
|
+
* Navigation icon for the left navigation icon in header.
|
|
25
|
+
* Usually it has a default implementation in skins, so providing this is only necessary if you want to replace the default icon.
|
|
26
|
+
*/
|
|
27
|
+
navIconLeft?: Icon;
|
|
28
|
+
/*
|
|
29
|
+
* Navigation icon for the right navigation icon in header.
|
|
30
|
+
* Usually it has a default implementation in skins, so providing this is only necessary if you want to replace the default icon.
|
|
31
|
+
*/
|
|
32
|
+
navIconRight?: Icon;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const getPrevMonthFromCurrent = (currentDate: Dayjs) => {
|
|
36
|
+
return currentDate.subtract(1, 'month');
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export const getNextMonthFromCurrent = (currentDate: Dayjs) => {
|
|
40
|
+
return currentDate.add(1, 'month');
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const getPrevYearFromCurrent = (currentDate: Dayjs) => {
|
|
44
|
+
return currentDate.subtract(1, 'year');
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export const getNextYearFromCurrent = (currentDate: Dayjs) => {
|
|
48
|
+
return currentDate.add(1, 'year');
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const getPrevListYearFromCurrent = (currentDate: Dayjs) => {
|
|
52
|
+
return currentDate.subtract(16, 'year');
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export const getNextListYearFromCurrent = (currentDate: Dayjs) => {
|
|
56
|
+
return currentDate.add(16, 'year');
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export function DatePickerHeader(props: DatePickerHeaderProps) {
|
|
60
|
+
const onLeftNavigationArrow = () => {
|
|
61
|
+
switch (props.value.view) {
|
|
62
|
+
case 'DAY_SELECTION':
|
|
63
|
+
props.onValueChange({ ...props.value, displayedDate: getPrevMonthFromCurrent(props.value.displayedDate) });
|
|
64
|
+
break;
|
|
65
|
+
case 'MONTH_SELECTION':
|
|
66
|
+
props.onValueChange({ ...props.value, displayedDate: getPrevYearFromCurrent(props.value.displayedDate) });
|
|
67
|
+
break;
|
|
68
|
+
case 'YEAR_SELECTION':
|
|
69
|
+
props.onValueChange({ ...props.value, displayedDate: getPrevListYearFromCurrent(props.value.displayedDate) });
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const onRightNavigationArrow = () => {
|
|
75
|
+
switch (props.value.view) {
|
|
76
|
+
case 'DAY_SELECTION':
|
|
77
|
+
props.onValueChange({ ...props.value, displayedDate: getNextMonthFromCurrent(props.value.displayedDate) });
|
|
78
|
+
break;
|
|
79
|
+
case 'MONTH_SELECTION':
|
|
80
|
+
props.onValueChange({ ...props.value, displayedDate: getNextYearFromCurrent(props.value.displayedDate) });
|
|
81
|
+
break;
|
|
82
|
+
case 'YEAR_SELECTION':
|
|
83
|
+
props.onValueChange({ ...props.value, displayedDate: getNextListYearFromCurrent(props.value.displayedDate) });
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const onCaptionClick = (view: ViewType) => {
|
|
89
|
+
let nextView: ViewType;
|
|
90
|
+
switch (view) {
|
|
91
|
+
case 'DAY_SELECTION':
|
|
92
|
+
nextView = 'MONTH_SELECTION';
|
|
93
|
+
break;
|
|
94
|
+
case 'MONTH_SELECTION':
|
|
95
|
+
nextView = 'YEAR_SELECTION';
|
|
96
|
+
break;
|
|
97
|
+
case 'YEAR_SELECTION':
|
|
98
|
+
nextView = 'DAY_SELECTION';
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
props.onValueChange({
|
|
103
|
+
...props.value,
|
|
104
|
+
view: nextView,
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
const title = React.useMemo(
|
|
109
|
+
() => `${
|
|
110
|
+
props.value?.view !== 'MONTH_SELECTION'
|
|
111
|
+
? dayjs.months()[props.value?.displayedDate.month()]
|
|
112
|
+
: ''
|
|
113
|
+
} ${props.value?.displayedDate.year()}`,
|
|
114
|
+
[props.value?.view, props.value?.displayedDate],
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
return (
|
|
118
|
+
<div className={ cx(css.container, uuiHeader.container, props.cx) }>
|
|
119
|
+
<header className={ uuiHeader.header }>
|
|
120
|
+
<Button icon={ props.navIconLeft || LeftArrowIcon } color="secondary" fill="ghost" cx={ uuiHeader.navIconLeft } onClick={ () => onLeftNavigationArrow() } />
|
|
121
|
+
<Button caption={ title } fill="ghost" cx={ uuiHeader.navTitle } onClick={ () => onCaptionClick(props.value.view) } />
|
|
122
|
+
<Button icon={ props.navIconRight || RightArrowIcon } color="secondary" fill="ghost" cx={ uuiHeader.navIconRight } onClick={ () => onRightNavigationArrow() } />
|
|
123
|
+
</header>
|
|
124
|
+
</div>
|
|
125
|
+
);
|
|
126
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
@use '../../assets/styles/index' as *;
|
|
2
|
+
|
|
3
|
+
.dropdown-container {
|
|
4
|
+
align-items: normal;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.date-input {
|
|
8
|
+
min-width: 0;
|
|
9
|
+
padding: 0 5px;
|
|
10
|
+
|
|
11
|
+
&:global(.uui-focus) {
|
|
12
|
+
border: 1px solid var(--uui-control-border-focus);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&.size-24 {
|
|
16
|
+
@include control-box-layout(22px, 0);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&.size-30 {
|
|
20
|
+
@include control-box-layout(28px, 0);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&.size-36 {
|
|
24
|
+
@include control-box-layout(34px, 0);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&.size-42 {
|
|
28
|
+
@include control-box-layout(40px, 0);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&.size-48 {
|
|
32
|
+
@include control-box-layout(46px, 0);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.date-input-group {
|
|
37
|
+
display: flex;
|
|
38
|
+
min-width: 0;
|
|
39
|
+
background-color: var(--uui-control-bg);
|
|
40
|
+
border: 1px solid var(--uui-control-border);
|
|
41
|
+
border-radius: var(--uui-border-radius);
|
|
42
|
+
|
|
43
|
+
.separator {
|
|
44
|
+
display: flex;
|
|
45
|
+
flex-shrink: 0;
|
|
46
|
+
background: var(--uui-control-border);
|
|
47
|
+
width: 1px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&:hover {
|
|
51
|
+
border-color: var(--uui-control-border-hover);
|
|
52
|
+
|
|
53
|
+
.separator {
|
|
54
|
+
background: var(--uui-control-border-hover);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&:global(.uui-disabled), &:global(.uui-readonly) {
|
|
58
|
+
border-color: var(--uui-control-border);
|
|
59
|
+
|
|
60
|
+
.separator {
|
|
61
|
+
background: var(--uui-control-border);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&:global(.uui-focus) {
|
|
67
|
+
border-color: var(--uui-control-border);
|
|
68
|
+
|
|
69
|
+
.separator {
|
|
70
|
+
background: var(--uui-control-border-focus);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.date-input {
|
|
74
|
+
&:hover {
|
|
75
|
+
outline: 1px solid var(--uui-control-border-hover);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&:global(.uui-focus) {
|
|
79
|
+
outline: 1px solid var(--uui-control-border-focus);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&:global(.uui-readonly) {
|
|
85
|
+
@include readonly-input();
|
|
86
|
+
|
|
87
|
+
.date-input {
|
|
88
|
+
&:global(.uui-focus) {
|
|
89
|
+
box-shadow: none;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&:global(.uui-invalid) {
|
|
95
|
+
border-color: var(--uui-error-50);
|
|
96
|
+
|
|
97
|
+
.separator {
|
|
98
|
+
background: var(--uui-error-50);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import {
|
|
4
|
+
IDropdownToggler, uuiMod, BaseRangeDatePickerProps, DropdownBodyProps, devLogger, withMods,
|
|
5
|
+
} from '@epam/uui-core';
|
|
6
|
+
import { RangeDatePickerValue } from '@epam/uui-core';
|
|
7
|
+
import { BaseRangeDatePicker } from '@epam/uui-components';
|
|
8
|
+
import { DropdownContainer } from '../overlays';
|
|
9
|
+
import { FlexRow } from '../layout';
|
|
10
|
+
import { SizeMod } from '../types';
|
|
11
|
+
import { RangeDatePickerBody } from './RangeDatePickerBody';
|
|
12
|
+
import { TextInput } from '../inputs';
|
|
13
|
+
import { systemIcons } from '../../icons/icons';
|
|
14
|
+
import { i18n } from '../../i18n';
|
|
15
|
+
import css from './RangeDatePicker.module.scss';
|
|
16
|
+
|
|
17
|
+
export interface RangeDatePickerProps extends BaseRangeDatePickerProps, SizeMod {
|
|
18
|
+
/**
|
|
19
|
+
* A pure function that gets placeholder for 'from' or 'to' input.
|
|
20
|
+
*/
|
|
21
|
+
getPlaceholder?(type: InputType): string;
|
|
22
|
+
/**
|
|
23
|
+
* HTML ID attribute for the first input into toggler
|
|
24
|
+
*/
|
|
25
|
+
id?: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
* Defines input type.
|
|
30
|
+
*/
|
|
31
|
+
export type InputType = 'from' | 'to';
|
|
32
|
+
const defaultValue: RangeDatePickerValue = { from: null, to: null };
|
|
33
|
+
|
|
34
|
+
class RangeDatePickerComponent extends BaseRangeDatePicker<RangeDatePickerProps> {
|
|
35
|
+
renderBody(props: DropdownBodyProps) {
|
|
36
|
+
return (
|
|
37
|
+
<DropdownContainer { ...props } cx={ cx(css.dropdownContainer) } focusLock={ false }>
|
|
38
|
+
<FlexRow>
|
|
39
|
+
<RangeDatePickerBody
|
|
40
|
+
cx={ cx(this.props.bodyCx) }
|
|
41
|
+
value={ this.getValue() }
|
|
42
|
+
onValueChange={ this.onRangeChange }
|
|
43
|
+
filter={ this.props.filter }
|
|
44
|
+
changeIsOpen={ this.toggleOpening }
|
|
45
|
+
presets={ this.props.presets }
|
|
46
|
+
focusPart={ this.state.inFocus }
|
|
47
|
+
renderDay={ this.props.renderDay }
|
|
48
|
+
renderFooter={ this.props.renderFooter && (() => this.props.renderFooter(this.props.value || defaultValue)) }
|
|
49
|
+
isHoliday={ this.props.isHoliday }
|
|
50
|
+
rawProps={ this.props.rawProps?.body }
|
|
51
|
+
/>
|
|
52
|
+
</FlexRow>
|
|
53
|
+
</DropdownContainer>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
renderInput = (props: IDropdownToggler) => {
|
|
58
|
+
if (__DEV__) {
|
|
59
|
+
if (this.props.size === '48') {
|
|
60
|
+
devLogger.warnAboutDeprecatedPropValue<RangeDatePickerProps, 'size'>({
|
|
61
|
+
component: 'RangeDatePicker',
|
|
62
|
+
propName: 'size',
|
|
63
|
+
propValue: this.props.size,
|
|
64
|
+
propValueUseInstead: '42',
|
|
65
|
+
condition: () => ['48'].indexOf(this.props.size) !== -1,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return (
|
|
70
|
+
<div
|
|
71
|
+
className={ cx(
|
|
72
|
+
this.props.inputCx,
|
|
73
|
+
css.dateInputGroup,
|
|
74
|
+
this.props.isDisabled && uuiMod.disabled,
|
|
75
|
+
this.props.isReadonly && uuiMod.readonly,
|
|
76
|
+
this.props.isInvalid && uuiMod.invalid,
|
|
77
|
+
this.state.inFocus && uuiMod.focus,
|
|
78
|
+
) }
|
|
79
|
+
onClick={ !this.props.isDisabled && props.onClick }
|
|
80
|
+
onBlur={ this.handleWrapperBlur }
|
|
81
|
+
ref={ props.ref }
|
|
82
|
+
>
|
|
83
|
+
<TextInput
|
|
84
|
+
icon={ systemIcons[this.props.size || '36'].calendar }
|
|
85
|
+
cx={ cx(css.dateInput, css['size-' + (this.props.size || 36)], this.state.inFocus === 'from' && uuiMod.focus) }
|
|
86
|
+
size={ this.props.size || '36' }
|
|
87
|
+
placeholder={ this.props.getPlaceholder ? this.props.getPlaceholder('from') : i18n.rangeDatePicker.pickerPlaceholderFrom }
|
|
88
|
+
value={ this.state.inputValue.from }
|
|
89
|
+
onValueChange={ this.getChangeHandler('from') }
|
|
90
|
+
isInvalid={ this.props.isInvalid }
|
|
91
|
+
isDisabled={ this.props.isDisabled }
|
|
92
|
+
isReadonly={ this.props.isReadonly }
|
|
93
|
+
onFocus={ (event) => this.handleFocus(event, 'from') }
|
|
94
|
+
onBlur={ (event) => this.handleBlur(event, 'from') }
|
|
95
|
+
isDropdown={ false }
|
|
96
|
+
rawProps={ this.props.rawProps?.from }
|
|
97
|
+
id={ this.props?.id }
|
|
98
|
+
/>
|
|
99
|
+
<div className={ css.separator } />
|
|
100
|
+
<TextInput
|
|
101
|
+
cx={ cx(css.dateInput, css['size-' + (this.props.size || 36)], this.state.inFocus === 'to' && uuiMod.focus) }
|
|
102
|
+
placeholder={ this.props.getPlaceholder ? this.props.getPlaceholder('to') : i18n.rangeDatePicker.pickerPlaceholderTo }
|
|
103
|
+
size={ this.props.size || '36' }
|
|
104
|
+
value={ this.state.inputValue.to }
|
|
105
|
+
onCancel={ this.props.disableClear ? null : this.state.inputValue.from && this.state.inputValue.to && this.handleCancel }
|
|
106
|
+
onValueChange={ this.getChangeHandler('to') }
|
|
107
|
+
isInvalid={ this.props.isInvalid }
|
|
108
|
+
isDisabled={ this.props.isDisabled }
|
|
109
|
+
isReadonly={ this.props.isReadonly }
|
|
110
|
+
onFocus={ (e) => this.handleFocus(e, 'to') }
|
|
111
|
+
onBlur={ (e) => this.handleBlur(e, 'to') }
|
|
112
|
+
isDropdown={ false }
|
|
113
|
+
rawProps={ this.props.rawProps?.to }
|
|
114
|
+
/>
|
|
115
|
+
</div>
|
|
116
|
+
);
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export const RangeDatePicker = withMods(RangeDatePickerComponent);
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
@use '../../assets/styles/index' as *;
|
|
2
|
+
|
|
3
|
+
.root {
|
|
4
|
+
--uui-rdtp_date-bg-selected: var(--uui-info-10);
|
|
5
|
+
--uui-rdtp_blocker-bg: color-mix(in srgb, var(--uui-surface-sunken) 80%, transparent);
|
|
6
|
+
|
|
7
|
+
:global(.uui-calendar-days) > div:last-child {
|
|
8
|
+
:global(.uui-calendar-day-cell):last-child > :global(.uui-range-datepicker-in-range) {
|
|
9
|
+
&:not(:global(.uui-range-datepicker-first-day-in-range-wrapper)) {
|
|
10
|
+
&:not(:global(.uui-range-datepicker-last-day-in-range-wrapper)) {
|
|
11
|
+
position: relative;
|
|
12
|
+
|
|
13
|
+
:global(.uui-calendar-day) {
|
|
14
|
+
top: -3px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&::after {
|
|
18
|
+
background: linear-gradient(320deg, var(--uui-surface-main) 3px, transparent 0), linear-gradient(-135deg, var(--uui-surface-main) 3px, transparent 0);
|
|
19
|
+
background-position: left-bottom;
|
|
20
|
+
background-repeat: repeat-y;
|
|
21
|
+
background-size: 6px 6px;
|
|
22
|
+
content: ' ';
|
|
23
|
+
display: block;
|
|
24
|
+
position: absolute;
|
|
25
|
+
bottom: 0;
|
|
26
|
+
right: 0;
|
|
27
|
+
width: 6px;
|
|
28
|
+
height: 100%;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:global(.uui-calendar-days) > div:first-child {
|
|
36
|
+
:global(.uui-calendar-day-cell):empty + :global(.uui-calendar-day-cell) :global(.uui-range-datepicker-in-range),
|
|
37
|
+
:global(.uui-calendar-day-cell):first-child :global(.uui-range-datepicker-in-range) {
|
|
38
|
+
&:not(:global(.uui-range-datepicker-first-day-in-range-wrapper)) {
|
|
39
|
+
&:not(:global(.uui-range-datepicker-last-day-in-range-wrapper)) {
|
|
40
|
+
position: relative;
|
|
41
|
+
|
|
42
|
+
:global(.uui-calendar-day) {
|
|
43
|
+
top: -3px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&::after {
|
|
47
|
+
background: linear-gradient(45deg, var(--uui-surface-main) 3px, transparent 0), linear-gradient(135deg, var(--uui-surface-main) 3px, transparent 0);
|
|
48
|
+
background-position: left-bottom;
|
|
49
|
+
background-repeat: repeat-y;
|
|
50
|
+
background-size: 6px 6px;
|
|
51
|
+
content: ' ';
|
|
52
|
+
display: block;
|
|
53
|
+
position: absolute;
|
|
54
|
+
bottom: 0;
|
|
55
|
+
left: 0;
|
|
56
|
+
width: 6px;
|
|
57
|
+
height: 100%;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
:global(.uui-range-datepicker-in-range) {
|
|
65
|
+
&:global(.uui-calendar-day-wrapper) {
|
|
66
|
+
background-color: var(--uui-rdtp_date-bg-selected);
|
|
67
|
+
border-radius: 0;
|
|
68
|
+
width: 40px;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
:global(.uui-range-datepicker-first-day-in-range-wrapper) {
|
|
73
|
+
&:global(.uui-calendar-selected-day) {
|
|
74
|
+
border-top-left-radius: 50%;
|
|
75
|
+
border-bottom-left-radius: 50%;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
:global(.uui-range-datepicker-last-day-in-range-wrapper) {
|
|
80
|
+
&:global(.uui-calendar-selected-day) {
|
|
81
|
+
border-top-right-radius: 50%;
|
|
82
|
+
border-bottom-right-radius: 50%;
|
|
83
|
+
margin-right: 10px;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
:global(.uui-range-datepicker-separator) {
|
|
88
|
+
display: flex;
|
|
89
|
+
flex: 0 0 auto;
|
|
90
|
+
border-left: 1px solid var(--uui-control-border);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.container {
|
|
95
|
+
&.day-selection {
|
|
96
|
+
.from-picker {
|
|
97
|
+
:global(.uui-datepickerheader-nav-icon-right) {
|
|
98
|
+
visibility: hidden;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.to-picker {
|
|
103
|
+
:global(.uui-datepickerheader-nav-icon-left) {
|
|
104
|
+
visibility: hidden;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.bodes-wrapper {
|
|
110
|
+
position: relative;
|
|
111
|
+
transition: height 0.3s ease-in-out;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.blocker {
|
|
115
|
+
background-color: var(--uui-rdtp_blocker-bg);
|
|
116
|
+
position: absolute;
|
|
117
|
+
left: 0;
|
|
118
|
+
right: 0;
|
|
119
|
+
top: 0;
|
|
120
|
+
bottom: 0;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
:global(.uui-datepicker-container) {
|
|
125
|
+
transition: height 0.3s ease-in-out;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
|