@hitachivantara/uikit-react-core 6.8.1 → 6.9.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/Accordion/Accordion.js +69 -80
- package/dist/Accordion/Accordion.styles.js +21 -16
- package/dist/ActionBar/ActionBar.js +18 -17
- package/dist/ActionBar/ActionBar.styles.js +12 -15
- package/dist/ActionsGeneric/ActionsGeneric.js +72 -98
- package/dist/ActionsGeneric/ActionsGeneric.styles.js +17 -14
- package/dist/AppSwitcher/Action/Action.js +96 -111
- package/dist/AppSwitcher/Action/Action.styles.js +44 -48
- package/dist/AppSwitcher/AppSwitcher.js +70 -98
- package/dist/AppSwitcher/AppSwitcher.styles.js +50 -53
- package/dist/Avatar/Avatar.js +66 -111
- package/dist/Avatar/Avatar.styles.js +62 -52
- package/dist/AvatarGroup/AvatarGroup.js +49 -78
- package/dist/AvatarGroup/AvatarGroup.styles.js +40 -60
- package/dist/AvatarGroup/AvatarGroupContext.js +13 -16
- package/dist/Badge/Badge.js +40 -47
- package/dist/Badge/Badge.styles.js +50 -44
- package/dist/Banner/Banner.js +51 -83
- package/dist/Banner/Banner.styles.js +13 -22
- package/dist/Banner/BannerContent/BannerContent.js +35 -56
- package/dist/Banner/BannerContent/BannerContent.styles.js +31 -36
- package/dist/BaseCheckBox/BaseCheckBox.js +71 -88
- package/dist/BaseCheckBox/BaseCheckBox.styles.js +24 -31
- package/dist/BaseCheckBox/CheckBoxIcon.js +57 -73
- package/dist/BaseDropdown/BaseDropdown.js +147 -189
- package/dist/BaseDropdown/BaseDropdown.styles.js +72 -84
- package/dist/BaseDropdown/BaseDropdownPanel.js +69 -86
- package/dist/BaseDropdown/utils.js +77 -76
- package/dist/BaseInput/BaseInput.js +53 -89
- package/dist/BaseInput/BaseInput.styles.js +85 -105
- package/dist/BaseInput/validations.js +72 -69
- package/dist/BaseRadio/BaseRadio.js +61 -85
- package/dist/BaseRadio/BaseRadio.styles.js +26 -31
- package/dist/BaseRadio/RadioIcon.js +43 -48
- package/dist/BaseSwitch/BaseSwitch.js +70 -108
- package/dist/BaseSwitch/BaseSwitch.styles.js +94 -113
- package/dist/BreadCrumb/BreadCrumb.js +84 -106
- package/dist/BreadCrumb/BreadCrumb.styles.js +20 -17
- package/dist/BreadCrumb/Page/Page.js +24 -34
- package/dist/BreadCrumb/Page/Page.styles.js +20 -25
- package/dist/BreadCrumb/PathElement/PathElement.js +17 -17
- package/dist/BreadCrumb/PathElement/PathElement.styles.js +9 -7
- package/dist/BreadCrumb/utils.js +19 -27
- package/dist/BulkActions/BulkActions.js +57 -96
- package/dist/BulkActions/BulkActions.styles.js +37 -45
- package/dist/Button/Button.js +67 -95
- package/dist/Button/Button.styles.js +107 -124
- package/dist/ButtonBase/ButtonBase.js +32 -51
- package/dist/ButtonBase/ButtonBase.styles.js +21 -30
- package/dist/Calendar/Calendar.js +73 -101
- package/dist/Calendar/Calendar.styles.js +14 -32
- package/dist/Calendar/CalendarHeader/CalendarHeader.js +91 -118
- package/dist/Calendar/CalendarHeader/CalendarHeader.styles.js +11 -16
- package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +36 -50
- package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js +12 -18
- package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +23 -43
- package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js +21 -24
- package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js +43 -59
- package/dist/Calendar/CalendarNavigation/Navigation/Navigation.styles.js +21 -24
- package/dist/Calendar/SingleCalendar/CalendarCell.js +60 -84
- package/dist/Calendar/SingleCalendar/CalendarCell.styles.js +39 -56
- package/dist/Calendar/SingleCalendar/SingleCalendar.js +121 -154
- package/dist/Calendar/SingleCalendar/SingleCalendar.styles.js +53 -68
- package/dist/Calendar/model.js +45 -62
- package/dist/Calendar/utils.js +233 -128
- package/dist/Card/Card.js +35 -53
- package/dist/Card/Card.styles.js +37 -50
- package/dist/Card/Content/Content.js +15 -27
- package/dist/Card/Content/Content.styles.js +5 -10
- package/dist/Card/Header/Header.js +22 -35
- package/dist/Card/Header/Header.styles.js +22 -25
- package/dist/Card/Media/Media.js +16 -26
- package/dist/Card/Media/Media.styles.js +6 -7
- package/dist/Carousel/Carousel.js +179 -207
- package/dist/Carousel/Carousel.styles.js +141 -166
- package/dist/Carousel/CarouselControls.js +48 -62
- package/dist/Carousel/CarouselSlide/CarouselSlide.js +19 -25
- package/dist/Carousel/CarouselSlide/CarouselSlide.styles.js +10 -11
- package/dist/Carousel/CarouselThumbnails.js +29 -36
- package/dist/CheckBox/CheckBox.js +112 -182
- package/dist/CheckBox/CheckBox.styles.js +48 -57
- package/dist/CheckBoxGroup/CheckBoxGroup.js +154 -245
- package/dist/CheckBoxGroup/CheckBoxGroup.styles.js +29 -35
- package/dist/ColorPicker/ColorPicker.js +146 -222
- package/dist/ColorPicker/ColorPicker.styles.js +40 -45
- package/dist/ColorPicker/Picker/Fields.js +125 -141
- package/dist/ColorPicker/Picker/Picker.js +51 -50
- package/dist/ColorPicker/Picker/Picker.styles.js +42 -42
- package/dist/ColorPicker/PresetColors/PresetColors.js +25 -28
- package/dist/ColorPicker/PresetColors/PresetColors.styles.js +17 -17
- package/dist/ColorPicker/SavedColors/SavedColors.js +37 -41
- package/dist/ColorPicker/SavedColors/SavedColors.styles.js +27 -29
- package/dist/ColorPicker/Swatch.js +22 -37
- package/dist/Container/Container.js +37 -58
- package/dist/Container/Container.styles.js +12 -13
- package/dist/Controls/Controls.js +50 -74
- package/dist/Controls/Controls.styles.js +16 -13
- package/dist/Controls/LeftControl/LeftControl.js +25 -38
- package/dist/Controls/LeftControl/LeftControl.styles.js +7 -7
- package/dist/Controls/RightControl/RightControl.js +31 -46
- package/dist/Controls/RightControl/RightControl.styles.js +9 -7
- package/dist/Controls/context/ControlsContext.js +5 -6
- package/dist/DatePicker/DatePicker.js +286 -339
- package/dist/DatePicker/DatePicker.styles.js +25 -40
- package/dist/DatePicker/useVisibleDate.js +142 -126
- package/dist/DatePicker/utils.js +17 -26
- package/dist/Dialog/Actions/Actions.js +19 -29
- package/dist/Dialog/Actions/Actions.styles.js +20 -20
- package/dist/Dialog/Content/Content.js +29 -46
- package/dist/Dialog/Content/Content.styles.js +14 -15
- package/dist/Dialog/Dialog.js +49 -69
- package/dist/Dialog/Dialog.styles.js +33 -46
- package/dist/Dialog/Title/Title.js +20 -42
- package/dist/Dialog/Title/Title.styles.js +14 -16
- package/dist/Dialog/context.js +5 -6
- package/dist/DotPagination/DotPagination.js +44 -59
- package/dist/DotPagination/DotPagination.styles.js +44 -47
- package/dist/Drawer/Drawer.js +37 -64
- package/dist/Drawer/Drawer.styles.js +18 -21
- package/dist/DropDownMenu/DropDownMenu.js +88 -124
- package/dist/DropDownMenu/DropDownMenu.styles.js +12 -21
- package/dist/Dropdown/Dropdown.js +221 -310
- package/dist/Dropdown/Dropdown.styles.js +39 -48
- package/dist/Dropdown/List/List.js +194 -176
- package/dist/Dropdown/List/List.styles.js +23 -24
- package/dist/Dropdown/utils.js +15 -16
- package/dist/DropdownButton/DropdownButton.js +42 -46
- package/dist/DropdownButton/DropdownButton.styles.js +37 -47
- package/dist/EmptyState/EmptyState.js +48 -61
- package/dist/EmptyState/EmptyState.styles.js +31 -31
- package/dist/FileUploader/DropZone/DropZone.js +141 -179
- package/dist/FileUploader/DropZone/DropZone.styles.js +55 -68
- package/dist/FileUploader/File/File.js +85 -75
- package/dist/FileUploader/File/File.styles.js +55 -60
- package/dist/FileUploader/FileList/FileList.js +19 -28
- package/dist/FileUploader/FileList/FileList.styles.js +15 -16
- package/dist/FileUploader/FileUploader.js +35 -55
- package/dist/FileUploader/FileUploader.styles.js +4 -7
- package/dist/FileUploader/Preview/Preview.js +37 -52
- package/dist/FileUploader/Preview/Preview.styles.js +22 -28
- package/dist/FileUploader/utils.js +24 -11
- package/dist/FilterGroup/Counter/Counter.js +31 -43
- package/dist/FilterGroup/Counter/Counter.styles.js +12 -15
- package/dist/FilterGroup/FilterContent/FilterContent.js +138 -177
- package/dist/FilterGroup/FilterContent/FilterContent.styles.js +46 -53
- package/dist/FilterGroup/FilterContent/HeaderButton.js +77 -100
- package/dist/FilterGroup/FilterGroup.js +87 -136
- package/dist/FilterGroup/FilterGroup.styles.js +9 -10
- package/dist/FilterGroup/FilterGroupContext.js +68 -73
- package/dist/FilterGroup/LeftPanel/LeftPanel.js +28 -31
- package/dist/FilterGroup/LeftPanel/LeftPanel.styles.js +6 -11
- package/dist/FilterGroup/RightPanel/RightPanel.js +118 -151
- package/dist/FilterGroup/RightPanel/RightPanel.styles.js +17 -27
- package/dist/Focus/Focus.js +248 -344
- package/dist/Focus/Focus.styles.js +28 -39
- package/dist/Focus/utils.js +14 -20
- package/dist/Footer/Footer.js +36 -38
- package/dist/Footer/Footer.styles.js +40 -43
- package/dist/FormElement/Adornment/Adornment.js +38 -49
- package/dist/FormElement/Adornment/Adornment.styles.js +14 -15
- package/dist/FormElement/CharCounter/CharCounter.js +51 -73
- package/dist/FormElement/CharCounter/CharCounter.styles.js +12 -10
- package/dist/FormElement/FormElement.js +53 -31
- package/dist/FormElement/FormElement.styles.js +4 -7
- package/dist/FormElement/InfoMessage/InfoMessage.js +26 -41
- package/dist/FormElement/InfoMessage/InfoMessage.styles.js +11 -9
- package/dist/FormElement/Label/Label.js +33 -56
- package/dist/FormElement/Label/Label.styles.js +11 -9
- package/dist/FormElement/LabelContainer.js +46 -55
- package/dist/FormElement/Suggestions/Suggestions.js +46 -71
- package/dist/FormElement/Suggestions/Suggestions.styles.js +9 -16
- package/dist/FormElement/WarningText/WarningText.js +41 -62
- package/dist/FormElement/WarningText/WarningText.styles.js +25 -28
- package/dist/FormElement/context.js +6 -10
- package/dist/FormElement/utils.js +54 -58
- package/dist/GlobalActions/GlobalActions.js +53 -59
- package/dist/GlobalActions/GlobalActions.styles.js +67 -76
- package/dist/Grid/Grid.js +82 -112
- package/dist/Grid/Grid.styles.js +37 -38
- package/dist/Header/Actions/Actions.js +15 -17
- package/dist/Header/Actions/Actions.styles.js +12 -15
- package/dist/Header/Brand/Brand.js +27 -23
- package/dist/Header/Brand/Brand.styles.js +16 -14
- package/dist/Header/Header.js +22 -31
- package/dist/Header/Header.styles.js +32 -30
- package/dist/Header/Navigation/MenuBar/Bar.js +23 -36
- package/dist/Header/Navigation/MenuBar/Bar.styles.js +54 -61
- package/dist/Header/Navigation/MenuBar/MenuBar.js +20 -26
- package/dist/Header/Navigation/MenuItem/MenuItem.js +104 -120
- package/dist/Header/Navigation/MenuItem/MenuItem.styles.js +48 -63
- package/dist/Header/Navigation/Navigation.js +32 -37
- package/dist/Header/Navigation/Navigation.styles.js +11 -17
- package/dist/Header/Navigation/useSelectionPath.js +17 -20
- package/dist/Header/Navigation/utils/FocusContext.js +23 -20
- package/dist/Header/Navigation/utils/SelectionContext.js +4 -4
- package/dist/IconButton/IconButton.js +25 -32
- package/dist/IconContainer/IconContainer.js +55 -76
- package/dist/InlineEditor/InlineEditor.js +105 -131
- package/dist/InlineEditor/InlineEditor.styles.js +44 -53
- package/dist/Input/Input.js +385 -461
- package/dist/Input/Input.styles.js +34 -47
- package/dist/Input/icons.js +16 -21
- package/dist/Input/utils.js +8 -11
- package/dist/List/List.js +196 -247
- package/dist/List/List.styles.js +44 -49
- package/dist/List/useSelectableList.js +11 -8
- package/dist/List/utils.js +24 -33
- package/dist/ListContainer/ListContainer.js +52 -65
- package/dist/ListContainer/ListContainer.styles.js +7 -10
- package/dist/ListContainer/ListContext/ListContext.js +4 -4
- package/dist/ListContainer/ListItem/ListItem.js +79 -117
- package/dist/ListContainer/ListItem/ListItem.styles.js +57 -78
- package/dist/Loading/Loading.js +31 -46
- package/dist/Loading/Loading.styles.js +41 -48
- package/dist/LoadingContainer/LoadingContainer.js +34 -40
- package/dist/LoadingContainer/LoadingContainer.styles.js +17 -18
- package/dist/Login/Login.js +22 -29
- package/dist/Login/Login.styles.js +20 -21
- package/dist/MultiButton/MultiButton.js +41 -59
- package/dist/MultiButton/MultiButton.styles.js +117 -137
- package/dist/NumberInput/NumberInput.js +51 -50
- package/dist/NumberInput/NumberInput.styles.js +5 -10
- package/dist/OverflowTooltip/OverflowTooltip.js +55 -75
- package/dist/OverflowTooltip/OverflowTooltip.styles.js +19 -23
- package/dist/Pagination/Pagination.js +176 -164
- package/dist/Pagination/Pagination.styles.js +86 -90
- package/dist/Pagination/Select.js +51 -60
- package/dist/Pagination/Select.styles.js +13 -19
- package/dist/Panel/Panel.js +19 -20
- package/dist/Panel/Panel.styles.js +12 -15
- package/dist/ProgressBar/ProgressBar.js +40 -53
- package/dist/ProgressBar/ProgressBar.styles.js +28 -40
- package/dist/QueryBuilder/ConfirmationDialog.js +35 -28
- package/dist/QueryBuilder/Context.js +308 -322
- package/dist/QueryBuilder/QueryBuilder.js +108 -137
- package/dist/QueryBuilder/QueryBuilder.styles.js +117 -108
- package/dist/QueryBuilder/Rule/Attribute.js +56 -62
- package/dist/QueryBuilder/Rule/Operator.js +53 -57
- package/dist/QueryBuilder/Rule/Rule.js +70 -96
- package/dist/QueryBuilder/Rule/Rule.styles.js +49 -54
- package/dist/QueryBuilder/RuleGroup.js +160 -206
- package/dist/QueryBuilder/Value/BooleanValue.js +38 -37
- package/dist/QueryBuilder/Value/DateTimeValue.js +233 -299
- package/dist/QueryBuilder/Value/EmptyValue.js +14 -14
- package/dist/QueryBuilder/Value/NumericValue.js +152 -204
- package/dist/QueryBuilder/Value/TextValue.js +38 -54
- package/dist/QueryBuilder/Value/Value.js +42 -67
- package/dist/QueryBuilder/types.js +4 -4
- package/dist/QueryBuilder/utils/index.js +40 -74
- package/dist/QueryBuilder/utils/reducer.js +86 -92
- package/dist/Radio/Radio.js +96 -145
- package/dist/Radio/Radio.styles.js +47 -55
- package/dist/RadioGroup/RadioGroup.js +98 -159
- package/dist/RadioGroup/RadioGroup.styles.js +28 -34
- package/dist/ScrollToHorizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +34 -51
- package/dist/ScrollToHorizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js +39 -48
- package/dist/ScrollToHorizontal/ScrollToHorizontal.js +56 -91
- package/dist/ScrollToHorizontal/ScrollToHorizontal.styles.js +28 -32
- package/dist/ScrollToVertical/ScrollToVertical.js +45 -77
- package/dist/ScrollToVertical/ScrollToVertical.styles.js +31 -38
- package/dist/ScrollToVertical/VerticalScrollListItem/VerticalScrollListItem.js +30 -39
- package/dist/ScrollToVertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +44 -51
- package/dist/SearchInput/SearchInput.js +27 -25
- package/dist/SearchInput/SearchInput.styles.js +6 -7
- package/dist/Section/Section.js +69 -104
- package/dist/Section/Section.styles.js +53 -57
- package/dist/Select/Option.js +29 -46
- package/dist/Select/OptionGroup.js +18 -30
- package/dist/Select/Select.js +163 -219
- package/dist/Select/Select.styles.js +26 -32
- package/dist/SelectionList/SelectionList.js +162 -216
- package/dist/SelectionList/SelectionList.styles.js +36 -36
- package/dist/SimpleGrid/SimpleGrid.js +16 -27
- package/dist/SimpleGrid/SimpleGrid.styles.js +28 -39
- package/dist/Skeleton/Skeleton.js +26 -44
- package/dist/Skeleton/Skeleton.styles.js +43 -66
- package/dist/Slider/Slider.js +316 -431
- package/dist/Slider/Slider.styles.js +183 -216
- package/dist/Slider/SliderInput/SliderInput.js +38 -57
- package/dist/Slider/SliderInput/SliderInput.styles.js +13 -14
- package/dist/Slider/base.js +221 -243
- package/dist/Slider/utils.js +247 -233
- package/dist/Snackbar/Snackbar.js +59 -88
- package/dist/Snackbar/Snackbar.styles.js +25 -42
- package/dist/Snackbar/SnackbarContent/SnackbarContent.js +31 -50
- package/dist/Snackbar/SnackbarContent/SnackbarContent.styles.js +27 -30
- package/dist/SnackbarProvider/SnackbarProvider.js +73 -105
- package/dist/SnackbarProvider/SnackbarProvider.styles.js +20 -26
- package/dist/Stack/Stack.js +74 -84
- package/dist/Stack/Stack.styles.js +14 -33
- package/dist/StatusIcon/StatusIcon.js +78 -102
- package/dist/StatusIcon/StatusIcon.styles.js +42 -52
- package/dist/Switch/Switch.js +91 -138
- package/dist/Switch/Switch.styles.js +49 -60
- package/dist/Table/Table.js +62 -66
- package/dist/Table/Table.styles.js +23 -28
- package/dist/Table/TableBody/TableBody.js +45 -56
- package/dist/Table/TableBody/TableBody.styles.js +8 -7
- package/dist/Table/TableCell/TableCell.js +37 -66
- package/dist/Table/TableCell/TableCell.styles.js +125 -162
- package/dist/Table/TableContainer/TableContainer.js +18 -28
- package/dist/Table/TableContainer/TableContainer.styles.js +8 -12
- package/dist/Table/TableContext.js +4 -4
- package/dist/Table/TableHead/TableHead.js +27 -39
- package/dist/Table/TableHead/TableHead.styles.js +10 -7
- package/dist/Table/TableHeader/TableHeader.js +73 -124
- package/dist/Table/TableHeader/TableHeader.styles.js +135 -150
- package/dist/Table/TableHeader/utils.js +11 -15
- package/dist/Table/TableRow/TableRow.js +32 -51
- package/dist/Table/TableRow/TableRow.styles.js +64 -84
- package/dist/Table/TableSection/TableSection.js +21 -20
- package/dist/Table/TableSection/TableSection.styles.js +63 -96
- package/dist/Table/TableSectionContext.js +4 -4
- package/dist/Table/hooks/useHvBulkActions.js +54 -89
- package/dist/Table/hooks/useHvFilters.js +4 -4
- package/dist/Table/hooks/useHvGlobalFilter.js +4 -4
- package/dist/Table/hooks/useHvHeaderGroups.js +73 -82
- package/dist/Table/hooks/useHvPagination.js +31 -51
- package/dist/Table/hooks/useHvResizeColumns.js +25 -31
- package/dist/Table/hooks/useHvRowExpand.js +54 -69
- package/dist/Table/hooks/useHvRowSelection.js +294 -420
- package/dist/Table/hooks/useHvRowState.js +4 -4
- package/dist/Table/hooks/useHvSortBy.js +23 -30
- package/dist/Table/hooks/useHvSticky.js +114 -154
- package/dist/Table/hooks/useHvTable.js +40 -64
- package/dist/Table/hooks/useHvTableStyles.js +51 -82
- package/dist/Table/renderers/DateColumnCell.js +12 -13
- package/dist/Table/renderers/DefaultCell.js +13 -20
- package/dist/Table/renderers/DropdownColumnCell.js +4 -4
- package/dist/Table/renderers/ProgressColumnCell.js +43 -47
- package/dist/Table/renderers/SwitchColumnCell.js +37 -50
- package/dist/Table/renderers/renderers.js +146 -183
- package/dist/Tabs/Tab/Tab.js +21 -31
- package/dist/Tabs/Tab/Tab.styles.js +44 -54
- package/dist/Tabs/Tabs.js +23 -28
- package/dist/Tabs/Tabs.styles.js +9 -14
- package/dist/Tag/Tag.js +86 -129
- package/dist/Tag/Tag.styles.js +63 -88
- package/dist/TagsInput/TagsInput.js +349 -417
- package/dist/TagsInput/TagsInput.styles.js +77 -90
- package/dist/TextArea/TextArea.js +207 -274
- package/dist/TextArea/TextArea.styles.js +25 -20
- package/dist/TimeAgo/TimeAgo.js +24 -30
- package/dist/TimeAgo/TimeAgo.styles.js +4 -7
- package/dist/TimeAgo/formatUtils.js +57 -65
- package/dist/TimeAgo/useTimeAgo.js +18 -18
- package/dist/TimeAgo/useTimeout.js +14 -14
- package/dist/TimePicker/Placeholder.js +46 -52
- package/dist/TimePicker/TimePicker.js +164 -214
- package/dist/TimePicker/TimePicker.styles.js +30 -39
- package/dist/TimePicker/Unit/Unit.js +63 -49
- package/dist/TimePicker/Unit/Unit.styles.js +41 -46
- package/dist/ToggleButton/ToggleButton.js +25 -34
- package/dist/Tooltip/Tooltip.js +41 -51
- package/dist/Tooltip/Tooltip.styles.js +25 -26
- package/dist/TreeView/TreeItem/DefaultContent.js +51 -72
- package/dist/TreeView/TreeItem/TreeItem.js +102 -140
- package/dist/TreeView/TreeItem/TreeItem.styles.js +56 -70
- package/dist/TreeView/TreeItem/useHvTreeItem.js +38 -53
- package/dist/TreeView/TreeView.js +65 -62
- package/dist/TreeView/TreeView.styles.js +11 -13
- package/dist/TreeView/internals/DescendantProvider.js +120 -120
- package/dist/TreeView/internals/TreeViewProvider.js +32 -26
- package/dist/TreeView/internals/corePlugins.js +8 -4
- package/dist/TreeView/internals/hooks/plugins/defaultPlugins.js +10 -10
- package/dist/TreeView/internals/hooks/plugins/useTreeViewContextValueBuilder.js +20 -22
- package/dist/TreeView/internals/hooks/plugins/useTreeViewExpansion.js +39 -61
- package/dist/TreeView/internals/hooks/plugins/useTreeViewFocus.js +56 -80
- package/dist/TreeView/internals/hooks/plugins/useTreeViewKeyboardNavigation.js +149 -211
- package/dist/TreeView/internals/hooks/plugins/useTreeViewNodes.js +42 -68
- package/dist/TreeView/internals/hooks/plugins/useTreeViewSelection.js +162 -195
- package/dist/TreeView/internals/hooks/useInstanceEventHandler.js +52 -74
- package/dist/TreeView/internals/hooks/useTreeView.js +54 -69
- package/dist/TreeView/internals/hooks/useTreeViewInstanceEvents.js +28 -33
- package/dist/TreeView/internals/hooks/useTreeViewModels.js +34 -43
- package/dist/TreeView/internals/hooks/utils.js +28 -42
- package/dist/TreeView/internals/utils/EventManager.js +49 -58
- package/dist/TreeView/internals/utils/FinalizationRegistryBasedCleanupTracking.js +14 -18
- package/dist/TreeView/internals/utils/TimerBasedCleanupTracking.js +33 -37
- package/dist/TreeView/internals/utils/publishTreeViewEvent.js +5 -5
- package/dist/Typography/Typography.js +34 -51
- package/dist/Typography/Typography.styles.js +20 -23
- package/dist/VerticalNavigation/Actions/Action.js +23 -42
- package/dist/VerticalNavigation/Actions/Action.styles.js +21 -28
- package/dist/VerticalNavigation/Actions/Actions.js +15 -31
- package/dist/VerticalNavigation/Actions/Actions.styles.js +13 -19
- package/dist/VerticalNavigation/Header/Header.js +51 -91
- package/dist/VerticalNavigation/Header/Header.styles.js +22 -32
- package/dist/VerticalNavigation/Navigation/Navigation.js +183 -267
- package/dist/VerticalNavigation/Navigation/Navigation.styles.js +14 -24
- package/dist/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +9 -17
- package/dist/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +30 -32
- package/dist/VerticalNavigation/NavigationSlider/NavigationSlider.js +45 -63
- package/dist/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js +23 -33
- package/dist/VerticalNavigation/NavigationSlider/utils.js +56 -39
- package/dist/VerticalNavigation/TreeView/TreeView.js +515 -664
- package/dist/VerticalNavigation/TreeView/TreeView.styles.js +10 -16
- package/dist/VerticalNavigation/TreeView/TreeViewContext.js +5 -6
- package/dist/VerticalNavigation/TreeView/TreeViewItem.js +319 -414
- package/dist/VerticalNavigation/TreeView/TreeViewItem.styles.js +91 -143
- package/dist/VerticalNavigation/VerticalNavigation.js +70 -97
- package/dist/VerticalNavigation/VerticalNavigation.styles.js +31 -45
- package/dist/VerticalNavigation/VerticalNavigationContext.js +8 -10
- package/dist/hooks/useClickOutside.js +21 -23
- package/dist/hooks/useComputation.js +13 -13
- package/dist/hooks/useControlled.js +10 -17
- package/dist/hooks/useEnhancedEffect.js +5 -5
- package/dist/hooks/useExpandable.js +24 -31
- package/dist/hooks/useFocus.js +31 -34
- package/dist/hooks/useForkRef.js +19 -19
- package/dist/hooks/useImageLoaded.js +26 -26
- package/dist/hooks/useIsMounted.js +13 -13
- package/dist/hooks/useLabels.js +7 -7
- package/dist/hooks/useScrollTo.js +101 -130
- package/dist/hooks/useUniqueId.js +6 -6
- package/dist/hooks/useWidth.js +10 -13
- package/dist/icons.js +77 -88
- package/dist/index.d.ts +8 -8
- package/dist/index.js +226 -554
- package/dist/providers/Provider.js +44 -75
- package/dist/providers/ThemeProvider.js +79 -71
- package/dist/providers/utils.js +40 -47
- package/dist/themes/index.js +6 -5
- package/dist/themes/next.js +132 -271
- package/dist/themes/pentaho.js +832 -1173
- package/dist/types/generic.js +5 -4
- package/dist/utils/Callout.js +123 -171
- package/dist/utils/CounterLabel.js +14 -15
- package/dist/utils/deepMerge.js +13 -15
- package/dist/utils/document.js +8 -8
- package/dist/utils/focusUtils.js +6 -7
- package/dist/utils/focusableElementFinder.js +23 -26
- package/dist/utils/helpers.js +15 -23
- package/dist/utils/iconVariant.js +15 -12
- package/dist/utils/keyboardUtils.js +28 -28
- package/dist/utils/multiSelectionEventHandler.js +37 -52
- package/dist/utils/scroll.js +50 -76
- package/dist/utils/setId.js +4 -4
- package/dist/utils/theme.js +11 -8
- package/dist/utils/useSavedState.js +19 -16
- package/package.json +5 -5
|
@@ -1,70 +1,55 @@
|
|
|
1
|
-
import { createClasses } from "@hitachivantara/uikit-react-utils";
|
|
2
1
|
import { theme } from "@hitachivantara/uikit-styles";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
calendarDateNotInMonth: {},
|
|
55
|
-
calendarDateSelected: {},
|
|
56
|
-
calendarDateInvalid: {},
|
|
57
|
-
calendarDateInSelectionRange: {},
|
|
58
|
-
startBookend: {},
|
|
59
|
-
endBookend: {},
|
|
60
|
-
cellsInRange: {
|
|
61
|
-
backgroundColor: theme.colors.bgPageSecondary
|
|
62
|
-
},
|
|
63
|
-
cellsOutsideRange: {},
|
|
64
|
-
cellContainer: {},
|
|
65
|
-
weekdays: {}
|
|
2
|
+
import { createClasses } from "@hitachivantara/uikit-react-utils";
|
|
3
|
+
//#region src/Calendar/SingleCalendar/SingleCalendar.styles.tsx
|
|
4
|
+
var { staticClasses, useClasses } = createClasses("HvSingleCalendar", {
|
|
5
|
+
root: { overflow: "hidden" },
|
|
6
|
+
calendarGrid: {
|
|
7
|
+
display: "grid",
|
|
8
|
+
gridTemplateColumns: "repeat(7, 1fr)",
|
|
9
|
+
"& $cellsInRange": {
|
|
10
|
+
backgroundColor: theme.colors.bgPageSecondary,
|
|
11
|
+
"& $startBookend": {
|
|
12
|
+
borderLeft: `1px solid ${theme.colors.text}`,
|
|
13
|
+
backgroundColor: theme.colors.bgPageSecondary,
|
|
14
|
+
"&:hover": { borderRight: `1px solid ${theme.colors.text}` }
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"&:hover $cellsInRange": {
|
|
18
|
+
backgroundColor: theme.colors.bgPageSecondary,
|
|
19
|
+
"& $startBookend": {
|
|
20
|
+
borderLeft: `1px solid ${theme.colors.text}`,
|
|
21
|
+
borderRight: "inherit"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"& $cellsInRange:hover": {
|
|
25
|
+
backgroundColor: theme.colors.bgPageSecondary,
|
|
26
|
+
"& $calendarDate": { borderRight: `2px solid ${theme.colors.text}` }
|
|
27
|
+
},
|
|
28
|
+
"& $cellsInRange:hover ~ $cellsInRange": { backgroundColor: theme.colors.bgContainer },
|
|
29
|
+
"& $cellsOutsideRange:hover ~ $cellsInRange": { backgroundColor: theme.colors.bgContainer }
|
|
30
|
+
},
|
|
31
|
+
calendarDay: {
|
|
32
|
+
display: "flex",
|
|
33
|
+
justifyContent: "center",
|
|
34
|
+
flexDirection: "column",
|
|
35
|
+
textAlign: "center",
|
|
36
|
+
height: "40px",
|
|
37
|
+
width: "40px"
|
|
38
|
+
},
|
|
39
|
+
navigationContainer: {},
|
|
40
|
+
focusSelection: {},
|
|
41
|
+
navigationMonth: {},
|
|
42
|
+
calendarDate: {},
|
|
43
|
+
calendarDateNotInMonth: {},
|
|
44
|
+
calendarDateSelected: {},
|
|
45
|
+
calendarDateInvalid: {},
|
|
46
|
+
calendarDateInSelectionRange: {},
|
|
47
|
+
startBookend: {},
|
|
48
|
+
endBookend: {},
|
|
49
|
+
cellsInRange: { backgroundColor: theme.colors.bgPageSecondary },
|
|
50
|
+
cellsOutsideRange: {},
|
|
51
|
+
cellContainer: {},
|
|
52
|
+
weekdays: {}
|
|
66
53
|
});
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
useClasses
|
|
70
|
-
};
|
|
54
|
+
//#endregion
|
|
55
|
+
export { useClasses };
|
package/dist/Calendar/model.js
CHANGED
|
@@ -1,66 +1,49 @@
|
|
|
1
1
|
import { createDatesArray, isRange } from "./utils.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
const generateModelFromDate = (seedValue) => {
|
|
31
|
-
let calendarModel;
|
|
32
|
-
if (typeof seedValue === "string") {
|
|
33
|
-
const today = /* @__PURE__ */ new Date();
|
|
34
|
-
calendarModel = new CalendarModel(
|
|
35
|
-
today.getMonth() + 1,
|
|
36
|
-
today.getFullYear()
|
|
37
|
-
);
|
|
38
|
-
} else if (isRange(seedValue)) {
|
|
39
|
-
calendarModel = new CalendarModel(
|
|
40
|
-
seedValue.startDate.getMonth() + 1,
|
|
41
|
-
seedValue.startDate.getFullYear()
|
|
42
|
-
);
|
|
43
|
-
} else {
|
|
44
|
-
calendarModel = new CalendarModel(
|
|
45
|
-
seedValue.getMonth() + 1,
|
|
46
|
-
seedValue.getFullYear()
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
return calendarModel;
|
|
2
|
+
//#region src/Calendar/model.ts
|
|
3
|
+
/**
|
|
4
|
+
* Calendar builder for a specific month and year.
|
|
5
|
+
* Returns an array of date objects.
|
|
6
|
+
*/
|
|
7
|
+
var CalendarModel = class {
|
|
8
|
+
month;
|
|
9
|
+
year;
|
|
10
|
+
dates = [];
|
|
11
|
+
constructor(month, year) {
|
|
12
|
+
this.updateModel(month, year);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Updates the model with the received month and year
|
|
16
|
+
*
|
|
17
|
+
* @param month - Number of the month (1 to 12).
|
|
18
|
+
* @param year - Number of the year.
|
|
19
|
+
* @memberof CalendarModel
|
|
20
|
+
*/
|
|
21
|
+
updateModel = (month, year) => {
|
|
22
|
+
let validMonth = month;
|
|
23
|
+
let validYear = year;
|
|
24
|
+
if (!Number.isInteger(validMonth)) validMonth = (/* @__PURE__ */ new Date()).getMonth() + 1;
|
|
25
|
+
if (!Number.isInteger(validYear)) validYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
26
|
+
this.month = validMonth;
|
|
27
|
+
this.year = validYear;
|
|
28
|
+
this.dates = createDatesArray(validMonth, validYear);
|
|
29
|
+
};
|
|
50
30
|
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
} else {
|
|
60
|
-
calendarModel = generateModelFromDate(seedValue);
|
|
61
|
-
}
|
|
62
|
-
return calendarModel;
|
|
31
|
+
var generateModelFromDate = (seedValue) => {
|
|
32
|
+
let calendarModel;
|
|
33
|
+
if (typeof seedValue === "string") {
|
|
34
|
+
const today = /* @__PURE__ */ new Date();
|
|
35
|
+
calendarModel = new CalendarModel(today.getMonth() + 1, today.getFullYear());
|
|
36
|
+
} else if (isRange(seedValue)) calendarModel = new CalendarModel(seedValue.startDate.getMonth() + 1, seedValue.startDate.getFullYear());
|
|
37
|
+
else calendarModel = new CalendarModel(seedValue.getMonth() + 1, seedValue.getFullYear());
|
|
38
|
+
return calendarModel;
|
|
63
39
|
};
|
|
64
|
-
|
|
65
|
-
|
|
40
|
+
var generateCalendarModel = (seedValue, visibleMonth, visibleYear) => {
|
|
41
|
+
let calendarModel;
|
|
42
|
+
if (visibleMonth && visibleYear) calendarModel = new CalendarModel(visibleMonth, visibleYear);
|
|
43
|
+
else if (visibleMonth && !visibleYear) calendarModel = new CalendarModel(visibleMonth, seedValue.getFullYear());
|
|
44
|
+
else if (!visibleMonth && visibleYear) calendarModel = new CalendarModel(1, visibleYear);
|
|
45
|
+
else calendarModel = generateModelFromDate(seedValue);
|
|
46
|
+
return calendarModel;
|
|
66
47
|
};
|
|
48
|
+
//#endregion
|
|
49
|
+
export { generateCalendarModel };
|
package/dist/Calendar/utils.js
CHANGED
|
@@ -1,148 +1,253 @@
|
|
|
1
1
|
import { capitalize } from "../utils/helpers.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Returns the number of days in the month given a month and year.
|
|
4
|
+
*
|
|
5
|
+
* @param month - Number of the month (1 to 12).
|
|
6
|
+
* @param year - Number of the year.
|
|
7
|
+
* @returns The number of days in a month for the received year.
|
|
8
|
+
*/
|
|
9
|
+
var getMonthDays = (month, year) => new Date(year, month, 0).getDate();
|
|
10
|
+
/**
|
|
11
|
+
* Gets the week day of the first day of a given month and year.
|
|
12
|
+
* From 0 (Sunday) to 6 (Saturday).
|
|
13
|
+
*
|
|
14
|
+
* @param month - Number of the month (1 to 12).
|
|
15
|
+
* @param year - Number of the year.
|
|
16
|
+
* @returns The zero indexed week day where 0 is Sunday (0 to 6).
|
|
17
|
+
*/
|
|
18
|
+
var getMonthFirstWeekday = (month, year) => new Date(year, month - 1, 1).getDay();
|
|
19
|
+
/**
|
|
20
|
+
* Creates a `Date` instance in UTC timezone.
|
|
21
|
+
*
|
|
22
|
+
* @param year - The year of the date.
|
|
23
|
+
* @param monthIndex - The zero indexed month of the year (0 to 11).
|
|
24
|
+
* @param day - The day of the month.
|
|
25
|
+
* @param hour - The hour of the day.
|
|
26
|
+
* @returns A `Date` instance in UTC timezone.
|
|
27
|
+
*/
|
|
28
|
+
var makeUTCDate = (year, monthIndex, day, hour = 1) => new Date(Date.UTC(year, monthIndex, day, hour));
|
|
29
|
+
/**
|
|
30
|
+
* Checks if the received date is a valid date.
|
|
31
|
+
*
|
|
32
|
+
* @param date - The date to be validated.
|
|
33
|
+
* @returns A flag stating if the date is valid or not.
|
|
34
|
+
*/
|
|
35
|
+
var isDate = (date) => Object.prototype.toString.call(date) === "[object Date]" && !Number.isNaN(date.valueOf());
|
|
36
|
+
var isDateRangeProp = (date) => "startDate" in date;
|
|
37
|
+
/**
|
|
38
|
+
* Checks if two dates are in the same month and year.
|
|
39
|
+
*
|
|
40
|
+
* @param date1 - First date.
|
|
41
|
+
* @param date2 - Second date.
|
|
42
|
+
* @returns A flag stating if the dates are in the same month and year or not.
|
|
43
|
+
*/
|
|
44
|
+
var isSameMonth = (date1, date2) => {
|
|
45
|
+
if (!(isDate(date1) && isDate(date2))) return false;
|
|
46
|
+
return date1.getMonth() === date2.getMonth() && date1.getFullYear() === date2.getFullYear();
|
|
12
47
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Checks if two dates are on the same day.
|
|
50
|
+
*
|
|
51
|
+
* @param date1 - First date.
|
|
52
|
+
* @param date2 - Second date.
|
|
53
|
+
* @returns A flag stating if the dates are in the same day or not.
|
|
54
|
+
*/
|
|
55
|
+
var isSameDay = (date1, date2) => {
|
|
56
|
+
if (!(isDate(date1) && isDate(date2))) return false;
|
|
57
|
+
return date1.getDate() === date2.getDate() && date1.getMonth() === date2.getMonth() && date1.getFullYear() === date2.getFullYear();
|
|
16
58
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Formats the received date using the ISO format (YYYY-MM-DD).
|
|
61
|
+
*
|
|
62
|
+
* @param date - The date to be formatted.
|
|
63
|
+
* @returns The formatted date in ISO format.
|
|
64
|
+
*/
|
|
65
|
+
var getDateISO = (date) => {
|
|
66
|
+
const d = new Date(date);
|
|
67
|
+
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")}`;
|
|
23
68
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
69
|
+
/**
|
|
70
|
+
* Returns an object with the previous month taking also into consideration the year.
|
|
71
|
+
* For example the previous month of January 2000 will be December 1999.
|
|
72
|
+
*
|
|
73
|
+
* @param month - Number of the month.
|
|
74
|
+
* @param year - Number of the year.
|
|
75
|
+
* @returns Object with new month and year defined.
|
|
76
|
+
*/
|
|
77
|
+
var getPreviousMonth = (month, year) => {
|
|
78
|
+
return {
|
|
79
|
+
month: month > 1 ? month - 1 : 12,
|
|
80
|
+
year: month > 1 ? year : year - 1
|
|
81
|
+
};
|
|
28
82
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Returns an object with the next month taking also into consideration the year.
|
|
85
|
+
* For example the next month of December 2000 will be January 2001.
|
|
86
|
+
*
|
|
87
|
+
* @param month - Number of the month.
|
|
88
|
+
* @param year - Number of the year.
|
|
89
|
+
* @returns Object with new month and year defined.
|
|
90
|
+
*/
|
|
91
|
+
var getNextMonth = (month, year) => {
|
|
92
|
+
return {
|
|
93
|
+
month: month < 12 ? month + 1 : 1,
|
|
94
|
+
year: month < 12 ? year : year + 1
|
|
95
|
+
};
|
|
33
96
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Returns a list with the names of all the months localized in the received locale and representation value.
|
|
99
|
+
*
|
|
100
|
+
* @param locale - The locale to be applied to the Intl format.
|
|
101
|
+
* @param representationValue - The representation value for the month.
|
|
102
|
+
* @returns An array with all the months names.
|
|
103
|
+
*/
|
|
104
|
+
var getMonthNamesList = (locale, representationValue = "long") => {
|
|
105
|
+
const options = {
|
|
106
|
+
month: representationValue,
|
|
107
|
+
timeZone: "UTC"
|
|
108
|
+
};
|
|
109
|
+
return [...Array(12).keys()].map((index) => {
|
|
110
|
+
const auxDate = makeUTCDate(1970, index, 1);
|
|
111
|
+
return capitalize(Intl.DateTimeFormat(locale, options).format(auxDate));
|
|
112
|
+
});
|
|
40
113
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
114
|
+
/**
|
|
115
|
+
* Returns a list with the names of all the weekdays localized in the received locale and representation value.
|
|
116
|
+
*
|
|
117
|
+
* @param locale - The locale to be applied.
|
|
118
|
+
* @returns An array with all the weekday names.
|
|
119
|
+
*/
|
|
120
|
+
var getWeekdayNamesList = (locale) => {
|
|
121
|
+
const formatter = new Intl.DateTimeFormat(locale, {
|
|
122
|
+
weekday: "narrow",
|
|
123
|
+
timeZone: "UTC"
|
|
124
|
+
});
|
|
125
|
+
return [...Array(7).keys()].map((index) => {
|
|
126
|
+
return formatter.format(makeUTCDate(1970, 0, 4 + index));
|
|
127
|
+
});
|
|
49
128
|
};
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
129
|
+
/**
|
|
130
|
+
* Returns the name of the month for the supplied month localized in the received locale and representation value.
|
|
131
|
+
*
|
|
132
|
+
* @param date - The date from which the month name is extracted.
|
|
133
|
+
* @param locale - The locale to be applied to the Intl format.
|
|
134
|
+
* @param representationValue - The locale to be applied to the Intl format.
|
|
135
|
+
* @returns The name of the month.
|
|
136
|
+
*/
|
|
137
|
+
var getMonthName = (date, locale, representationValue = "long") => new Intl.DateTimeFormat(locale, { month: representationValue }).format(date);
|
|
138
|
+
/**
|
|
139
|
+
* Formats the received date according to the user's locale & Design System specifications.
|
|
140
|
+
*
|
|
141
|
+
* @param date - UTC date to be formatted.
|
|
142
|
+
* @param locale - The locale to be applied to the Intl format.
|
|
143
|
+
* @returns The formatted date as a string.
|
|
144
|
+
*/
|
|
145
|
+
var getFormattedDate = (date, locale) => {
|
|
146
|
+
return new Intl.DateTimeFormat(locale, { dateStyle: "medium" }).format(date);
|
|
54
147
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
148
|
+
/**
|
|
149
|
+
* Creates an array of 42 days. The complete current month and enough days from the previous and next months to fill
|
|
150
|
+
* the 42 positions.
|
|
151
|
+
*
|
|
152
|
+
* @param month - The number of the month (1 to 12).
|
|
153
|
+
* @param year - The number of the year.
|
|
154
|
+
* @returns The array of dates.
|
|
155
|
+
*/
|
|
156
|
+
var createDatesArray = (month, year) => {
|
|
157
|
+
const monthDays = getMonthDays(month, year);
|
|
158
|
+
const daysFromPrevMonth = getMonthFirstWeekday(month, year);
|
|
159
|
+
const daysFromNextMonth = 42 - (daysFromPrevMonth + monthDays);
|
|
160
|
+
const prevMonthYear = getPreviousMonth(month, year);
|
|
161
|
+
const nextMonthYear = getNextMonth(month, year);
|
|
162
|
+
const prevMonthDays = getMonthDays(prevMonthYear.month, prevMonthYear.year);
|
|
163
|
+
const prevMonthDates = [...Array(daysFromPrevMonth).keys()].map((index) => {
|
|
164
|
+
const day = index + 1 + (prevMonthDays - daysFromPrevMonth);
|
|
165
|
+
return new Date(prevMonthYear.year, prevMonthYear.month - 1, day);
|
|
166
|
+
});
|
|
167
|
+
const currentMonthDates = [...Array(monthDays).keys()].map((index) => {
|
|
168
|
+
const day = index + 1;
|
|
169
|
+
return new Date(year, month - 1, day);
|
|
170
|
+
});
|
|
171
|
+
const nextMonthDates = [...Array(daysFromNextMonth).keys()].map((index) => {
|
|
172
|
+
const day = index + 1;
|
|
173
|
+
return new Date(nextMonthYear.year, nextMonthYear.month - 1, day);
|
|
174
|
+
});
|
|
175
|
+
return [
|
|
176
|
+
...prevMonthDates,
|
|
177
|
+
...currentMonthDates,
|
|
178
|
+
...nextMonthDates
|
|
179
|
+
];
|
|
75
180
|
};
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
181
|
+
var isRange = (date) => date != null && typeof date === "object" && "startDate" in date;
|
|
182
|
+
/**
|
|
183
|
+
* Checks if the date falls within a specified date range.
|
|
184
|
+
*
|
|
185
|
+
* @param date - The date to be evaluated.
|
|
186
|
+
* @param dateRange - Provided selection range.
|
|
187
|
+
* @returns - True if the date falls within the range, false otherwise.
|
|
188
|
+
*/
|
|
189
|
+
var dateInProvidedValueRange = (date, dateRange) => {
|
|
190
|
+
if (!isRange(dateRange) || !dateRange?.endDate) return false;
|
|
191
|
+
const { startDate, endDate } = dateRange;
|
|
192
|
+
const modStartDate = getDateISO(startDate);
|
|
193
|
+
const modEndDate = getDateISO(endDate);
|
|
194
|
+
const convertedDate = getDateISO(date ?? /* @__PURE__ */ new Date());
|
|
195
|
+
return convertedDate >= modStartDate && convertedDate <= modEndDate;
|
|
84
196
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
197
|
+
var checkIfDateIsDisabled = (date, minimumDate, maximumDate) => {
|
|
198
|
+
if (!minimumDate && !maximumDate) return false;
|
|
199
|
+
const modStartDate = minimumDate && getDateISO(minimumDate);
|
|
200
|
+
const modEndDate = maximumDate && getDateISO(maximumDate);
|
|
201
|
+
const convertedDate = getDateISO(date ?? /* @__PURE__ */ new Date());
|
|
202
|
+
return modStartDate !== void 0 && convertedDate < modStartDate || modEndDate !== void 0 && convertedDate > modEndDate;
|
|
91
203
|
};
|
|
204
|
+
/**
|
|
205
|
+
* gets the *localized* date formatter that's editable via input
|
|
206
|
+
* @example getEditableDateFormatter("pt") // "DD/MM/YYYY"
|
|
207
|
+
*/
|
|
92
208
|
function getEditableDateFormatter(locale) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
209
|
+
return new Intl.DateTimeFormat(locale, {
|
|
210
|
+
year: "numeric",
|
|
211
|
+
month: "2-digit",
|
|
212
|
+
day: "2-digit"
|
|
213
|
+
});
|
|
98
214
|
}
|
|
99
215
|
function getStringFromDate(date, locale) {
|
|
100
|
-
|
|
216
|
+
return getEditableDateFormatter(locale).format(date);
|
|
101
217
|
}
|
|
218
|
+
/**
|
|
219
|
+
* attempts to format a localized `dateString`
|
|
220
|
+
* @returns `Date` or `null` if parsing fails
|
|
221
|
+
* @example parseDateString("04/06/2020", "pt")
|
|
222
|
+
*/
|
|
102
223
|
function parseDateString(dateString, locale) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
224
|
+
const dateParts = dateString.split(/\D+/).map(Number);
|
|
225
|
+
if (dateParts.length !== 3) return null;
|
|
226
|
+
if (!dateParts.every(Boolean)) return null;
|
|
227
|
+
const formatOrder = getEditableDateFormatter(locale).formatToParts(new Date(2020, 4, 4)).filter((part) => [
|
|
228
|
+
"year",
|
|
229
|
+
"month",
|
|
230
|
+
"day"
|
|
231
|
+
].includes(part.type)).map((part) => part.type);
|
|
232
|
+
const dateObject = {
|
|
233
|
+
year: 2020,
|
|
234
|
+
month: 4,
|
|
235
|
+
day: 4
|
|
236
|
+
};
|
|
237
|
+
formatOrder.forEach((type, index) => {
|
|
238
|
+
dateObject[type] = dateParts[index];
|
|
239
|
+
});
|
|
240
|
+
return new Date(dateObject.year, dateObject.month - 1, dateObject.day);
|
|
113
241
|
}
|
|
114
242
|
function getLocaleDateFormat(locale) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
243
|
+
const formatter = getEditableDateFormatter(locale);
|
|
244
|
+
const getPartType = (part) => {
|
|
245
|
+
if (part.type === "year") return "YYYY";
|
|
246
|
+
if (part.type === "month") return "MM";
|
|
247
|
+
if (part.type === "day") return "DD";
|
|
248
|
+
return part.value;
|
|
249
|
+
};
|
|
250
|
+
return formatter.formatToParts(new Date(2020, 4, 4)).reduce((acc, part) => acc + getPartType(part), "");
|
|
123
251
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
DEFAULT_LOCALE,
|
|
127
|
-
checkIfDateIsDisabled,
|
|
128
|
-
createDatesArray,
|
|
129
|
-
dateInProvidedValueRange,
|
|
130
|
-
getDateISO,
|
|
131
|
-
getFormattedDate,
|
|
132
|
-
getLocaleDateFormat,
|
|
133
|
-
getMonthDays,
|
|
134
|
-
getMonthFirstWeekday,
|
|
135
|
-
getMonthName,
|
|
136
|
-
getMonthNamesList,
|
|
137
|
-
getNextMonth,
|
|
138
|
-
getPreviousMonth,
|
|
139
|
-
getStringFromDate,
|
|
140
|
-
getWeekdayNamesList,
|
|
141
|
-
isDate,
|
|
142
|
-
isDateRangeProp,
|
|
143
|
-
isRange,
|
|
144
|
-
isSameDay,
|
|
145
|
-
isSameMonth,
|
|
146
|
-
makeUTCDate,
|
|
147
|
-
parseDateString
|
|
148
|
-
};
|
|
252
|
+
//#endregion
|
|
253
|
+
export { checkIfDateIsDisabled, createDatesArray, dateInProvidedValueRange, getFormattedDate, getLocaleDateFormat, getMonthName, getMonthNamesList, getStringFromDate, getWeekdayNamesList, isDate, isDateRangeProp, isRange, isSameDay, isSameMonth, parseDateString };
|