superdesk-ui-framework 4.0.46 → 4.0.48
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/.eslintrc.js +0 -1
- package/.eslintrc.json +2 -5
- package/.github/workflows/test.yml +22 -26
- package/.prettierignore +3 -0
- package/.prettierrc.js +9 -0
- package/.travis.yml +4 -4
- package/README.md +14 -1
- package/app/styles/form-elements/_forms-general.scss +0 -4
- package/app-typescript/components/Alert.tsx +12 -16
- package/app-typescript/components/Autocomplete.tsx +53 -42
- package/app-typescript/components/Badge.tsx +1 -1
- package/app-typescript/components/Button.tsx +5 -11
- package/app-typescript/components/ButtonGroup.tsx +15 -10
- package/app-typescript/components/Carousel.tsx +25 -26
- package/app-typescript/components/CheckButtonGroup.tsx +6 -10
- package/app-typescript/components/Checkbox.tsx +16 -10
- package/app-typescript/components/CheckboxButton.tsx +22 -13
- package/app-typescript/components/ContentDivider.tsx +6 -7
- package/app-typescript/components/CreateButton.tsx +8 -6
- package/app-typescript/components/DatePicker.tsx +59 -55
- package/app-typescript/components/DateTimePicker.tsx +175 -117
- package/app-typescript/components/Divider.tsx +2 -4
- package/app-typescript/components/DonutChart.tsx +11 -6
- package/app-typescript/components/DragHandle.tsx +10 -6
- package/app-typescript/components/DragHandleDots.tsx +1 -3
- package/app-typescript/components/DropZone.tsx +27 -25
- package/app-typescript/components/Dropdown.tsx +61 -102
- package/app-typescript/components/DropdownFirst.tsx +57 -69
- package/app-typescript/components/DurationInput.tsx +64 -54
- package/app-typescript/components/Editor/EditorButton.tsx +4 -3
- package/app-typescript/components/EmptyState.tsx +10 -14
- package/app-typescript/components/Form/FormGroup.tsx +9 -16
- package/app-typescript/components/Form/FormItem.tsx +1 -5
- package/app-typescript/components/Form/FormLabel.tsx +0 -1
- package/app-typescript/components/Form/FormRow.tsx +12 -19
- package/app-typescript/components/Form/FormRowNew.tsx +9 -16
- package/app-typescript/components/Form/FormText.tsx +1 -5
- package/app-typescript/components/Form/InputBase.tsx +12 -11
- package/app-typescript/components/Form/InputNew.tsx +11 -12
- package/app-typescript/components/Form/InputWrapper.tsx +9 -18
- package/app-typescript/components/Form/index.tsx +9 -9
- package/app-typescript/components/FormLabel.tsx +1 -5
- package/app-typescript/components/GridItem.tsx +38 -69
- package/app-typescript/components/GridList.tsx +2 -6
- package/app-typescript/components/HeadingText.tsx +4 -5
- package/app-typescript/components/IconButton.tsx +4 -10
- package/app-typescript/components/IconLabel.tsx +5 -5
- package/app-typescript/components/IconPicker.tsx +128 -126
- package/app-typescript/components/IllustrationButton.tsx +2 -8
- package/app-typescript/components/Input.tsx +2 -2
- package/app-typescript/components/Label.tsx +11 -7
- package/app-typescript/components/Layouts/AuthorinInnerSideBar.tsx +1 -5
- package/app-typescript/components/Layouts/AuthoringContainer.tsx +4 -6
- package/app-typescript/components/Layouts/AuthoringFrame.tsx +4 -20
- package/app-typescript/components/Layouts/AuthoringFrameContainer.tsx +1 -5
- package/app-typescript/components/Layouts/AuthoringFrameLeftBar.tsx +1 -5
- package/app-typescript/components/Layouts/AuthoringFrameMain.tsx +1 -5
- package/app-typescript/components/Layouts/AuthoringFrameNavBar.tsx +1 -5
- package/app-typescript/components/Layouts/AuthoringFrameOverlay.tsx +1 -5
- package/app-typescript/components/Layouts/AuthoringFrameRightBar.tsx +1 -5
- package/app-typescript/components/Layouts/AuthoringFrameSidePanel.tsx +1 -5
- package/app-typescript/components/Layouts/AuthoringFrameSidePanelOverlay.tsx +1 -3
- package/app-typescript/components/Layouts/AuthoringInnerBody.tsx +3 -6
- package/app-typescript/components/Layouts/AuthoringInnerHeader.tsx +5 -5
- package/app-typescript/components/Layouts/AuthoringMain.tsx +3 -4
- package/app-typescript/components/Layouts/AuthoringMainContainer.tsx +1 -5
- package/app-typescript/components/Layouts/AuthoringMainContent.tsx +1 -5
- package/app-typescript/components/Layouts/AuthoringMainToolBar.tsx +1 -6
- package/app-typescript/components/Layouts/BottomBarAction.tsx +8 -10
- package/app-typescript/components/Layouts/Container.tsx +13 -8
- package/app-typescript/components/Layouts/ContentSplitter.tsx +2 -6
- package/app-typescript/components/Layouts/CoreLayout.tsx +5 -12
- package/app-typescript/components/Layouts/CoreLayoutContainer.tsx +1 -1
- package/app-typescript/components/Layouts/CoreLayoutFooter.tsx +1 -5
- package/app-typescript/components/Layouts/CoreLayoutMain.tsx +4 -4
- package/app-typescript/components/Layouts/CoreLayoutOverlay.tsx +1 -5
- package/app-typescript/components/Layouts/CoreLayoutSlideInMenu.tsx +2 -4
- package/app-typescript/components/Layouts/CoreLayoutTopMenu.tsx +8 -9
- package/app-typescript/components/Layouts/HamburgerButton.tsx +13 -14
- package/app-typescript/components/Layouts/HeaderPanel.tsx +1 -5
- package/app-typescript/components/Layouts/Layout.tsx +10 -16
- package/app-typescript/components/Layouts/LayoutContainer.tsx +2 -7
- package/app-typescript/components/Layouts/LeftPanel.tsx +4 -11
- package/app-typescript/components/Layouts/MainMenu.tsx +18 -32
- package/app-typescript/components/Layouts/MainPanel.tsx +10 -11
- package/app-typescript/components/Layouts/NotificationPanel.tsx +20 -29
- package/app-typescript/components/Layouts/OverlayPanel.tsx +3 -5
- package/app-typescript/components/Layouts/PageLayout.tsx +4 -21
- package/app-typescript/components/Layouts/Panel.tsx +45 -81
- package/app-typescript/components/Layouts/index.tsx +39 -39
- package/app-typescript/components/LeftMenu.tsx +51 -53
- package/app-typescript/components/ListItemLoader.tsx +1 -1
- package/app-typescript/components/Lists/BoxedList.tsx +16 -41
- package/app-typescript/components/Lists/CalendarWeekDayItem.tsx +2 -10
- package/app-typescript/components/Lists/ContentList.tsx +68 -62
- package/app-typescript/components/Lists/SimpleList.tsx +13 -12
- package/app-typescript/components/Lists/TableList.tsx +169 -217
- package/app-typescript/components/Lists/index.tsx +2 -2
- package/app-typescript/components/Loader.tsx +1 -3
- package/app-typescript/components/Menu.tsx +2 -4
- package/app-typescript/components/Modal.tsx +21 -21
- package/app-typescript/components/MultiSelect.tsx +6 -6
- package/app-typescript/components/NavButton.tsx +10 -8
- package/app-typescript/components/Navigation/BottomNav.tsx +21 -17
- package/app-typescript/components/Navigation/QuickNavBar.tsx +40 -37
- package/app-typescript/components/Navigation/SideBarMenu.tsx +21 -17
- package/app-typescript/components/Navigation/SideBarTabs.tsx +13 -19
- package/app-typescript/components/Navigation/index.tsx +3 -3
- package/app-typescript/components/Popover.tsx +19 -21
- package/app-typescript/components/PropsList.tsx +2 -4
- package/app-typescript/components/RadioButtonGroup.tsx +48 -45
- package/app-typescript/components/RadioGroup.tsx +9 -8
- package/app-typescript/components/ResizablePanels.tsx +2 -3
- package/app-typescript/components/ResizeObserverComponent.tsx +1 -5
- package/app-typescript/components/SearchBar.tsx +53 -45
- package/app-typescript/components/Select.tsx +6 -8
- package/app-typescript/components/SelectGrid.tsx +32 -40
- package/app-typescript/components/SelectPreview.tsx +31 -25
- package/app-typescript/components/SelectWithTemplate.tsx +10 -11
- package/app-typescript/components/ShowPopup.tsx +30 -46
- package/app-typescript/components/SidebarMenu.tsx +19 -18
- package/app-typescript/components/Skeleton.tsx +12 -11
- package/app-typescript/components/SlidingToolbar.tsx +1 -6
- package/app-typescript/components/Spinner.tsx +2 -6
- package/app-typescript/components/StrechBar.tsx +1 -5
- package/app-typescript/components/SubNav.tsx +10 -8
- package/app-typescript/components/SvgIconIllustration.tsx +477 -105
- package/app-typescript/components/Switch.tsx +14 -12
- package/app-typescript/components/SwitchGroup.tsx +10 -10
- package/app-typescript/components/TabCustom.tsx +28 -35
- package/app-typescript/components/TabList.tsx +13 -10
- package/app-typescript/components/Tag.tsx +21 -24
- package/app-typescript/components/TagInput.tsx +4 -11
- package/app-typescript/components/Text/Heading.tsx +21 -41
- package/app-typescript/components/Text/Text.tsx +16 -12
- package/app-typescript/components/Text/Time.tsx +14 -10
- package/app-typescript/components/ThemeSelector.tsx +15 -14
- package/app-typescript/components/TimePicker.tsx +2 -2
- package/app-typescript/components/TimePickerV2.tsx +20 -20
- package/app-typescript/components/Toast.tsx +11 -7
- package/app-typescript/components/ToastMessage.tsx +3 -14
- package/app-typescript/components/ToastText.tsx +30 -32
- package/app-typescript/components/ToastWrapper.tsx +76 -74
- package/app-typescript/components/ToggleBox/CustomHeaderToggleBox.tsx +30 -45
- package/app-typescript/components/ToggleBox/SimpleToggleBox.tsx +31 -33
- package/app-typescript/components/ToggleBox/index.tsx +3 -7
- package/app-typescript/components/Tooltip.tsx +1 -1
- package/app-typescript/components/TreeMenu.tsx +72 -81
- package/app-typescript/components/TreeSelect/KeyboardNavigation.tsx +1 -5
- package/app-typescript/components/TreeSelect/TreeSelect.tsx +221 -238
- package/app-typescript/components/TreeSelect/TreeSelectItem.tsx +20 -24
- package/app-typescript/components/TreeSelect/TreeSelectPill.tsx +12 -15
- package/app-typescript/components/WithPagination.tsx +34 -39
- package/app-typescript/components/WithPopover.tsx +0 -1
- package/app-typescript/components/WithPortal.tsx +4 -7
- package/app-typescript/components/WithSizeObserver.tsx +2 -6
- package/app-typescript/components/_Positioner.tsx +26 -26
- package/app-typescript/components/avatar/avatar-action-add.tsx +1 -6
- package/app-typescript/components/avatar/avatar-group.tsx +49 -68
- package/app-typescript/components/avatar/avatar-image.tsx +18 -12
- package/app-typescript/components/avatar/avatar-placeholder.tsx +3 -15
- package/app-typescript/components/avatar/avatar-text.tsx +1 -4
- package/app-typescript/components/avatar/avatar-wrapper.tsx +18 -30
- package/app-typescript/components/avatar/avatar.tsx +5 -8
- package/app-typescript/components/with-pagination.spec.tsx +8 -27
- package/app-typescript/helpers.tsx +2 -2
- package/app-typescript/index.ts +111 -100
- package/declarations.d.ts +1 -1
- package/dist/components/Alerts.tsx +171 -78
- package/dist/components/Autocomplete.tsx +187 -78
- package/dist/components/Avatar.tsx +52 -112
- package/dist/components/Badges.tsx +111 -67
- package/dist/components/BigIconFont.tsx +29 -17
- package/dist/components/BoxedList.tsx +244 -114
- package/dist/components/ButtonGroups.tsx +213 -147
- package/dist/components/Buttons.tsx +409 -137
- package/dist/components/Card.tsx +6 -7
- package/dist/components/Carousel.tsx +126 -39
- package/dist/components/Checkboxs.tsx +446 -105
- package/dist/components/Container.tsx +95 -48
- package/dist/components/ContentDivider.tsx +110 -63
- package/dist/components/ContentList.tsx +577 -253
- package/dist/components/CreateButton.tsx +71 -21
- package/dist/components/DatePicker.tsx +102 -26
- package/dist/components/DateTimePicker.tsx +46 -10
- package/dist/components/DragHandleDocs.tsx +56 -26
- package/dist/components/DropZone.tsx +67 -29
- package/dist/components/Dropdowns.tsx +220 -131
- package/dist/components/DurationInput.tsx +92 -32
- package/dist/components/EmptyStates.tsx +61 -26
- package/dist/components/GridItem.tsx +190 -91
- package/dist/components/GridList.tsx +37 -17
- package/dist/components/Heading.tsx +81 -35
- package/dist/components/IconButtons.tsx +125 -32
- package/dist/components/IconFont.tsx +24 -12
- package/dist/components/IconLabels.tsx +146 -39
- package/dist/components/IconPicker.tsx +30 -13
- package/dist/components/IllustrationButton.tsx +40 -20
- package/dist/components/Index.tsx +128 -114
- package/dist/components/Inputs.tsx +153 -51
- package/dist/components/Labels.tsx +191 -117
- package/dist/components/LeftNavigations.tsx +327 -100
- package/dist/components/ListItems.tsx +8 -9
- package/dist/components/Loader.tsx +5 -4
- package/dist/components/Menu.tsx +48 -26
- package/dist/components/Modal.tsx +298 -104
- package/dist/components/MultiSelect.tsx +189 -53
- package/dist/components/NavButtons.tsx +86 -30
- package/dist/components/Panel.tsx +367 -120
- package/dist/components/Popover.tsx +37 -17
- package/dist/components/QuickNavigationBar.tsx +222 -86
- package/dist/components/RadioGroup.tsx +375 -137
- package/dist/components/ResizablePanels.tsx +8 -14
- package/dist/components/SelectGrid.tsx +79 -38
- package/dist/components/SelectWithTemplate.tsx +23 -14
- package/dist/components/Selects.tsx +94 -29
- package/dist/components/SimpleList.tsx +91 -41
- package/dist/components/SubNav.tsx +57 -37
- package/dist/components/Switch.tsx +168 -42
- package/dist/components/TableList.tsx +220 -66
- package/dist/components/Tabs.tsx +149 -64
- package/dist/components/TagInputDocs.tsx +73 -17
- package/dist/components/Tags.tsx +104 -73
- package/dist/components/Text.tsx +108 -58
- package/dist/components/TimePicker.tsx +74 -20
- package/dist/components/Toasts.tsx +162 -80
- package/dist/components/Togglebox.tsx +164 -62
- package/dist/components/Tooltips.tsx +27 -15
- package/dist/components/TreeMenu.tsx +95 -59
- package/dist/components/TreeSelect.tsx +297 -162
- package/dist/components/WithPaginationDocs.tsx +15 -16
- package/dist/components/WithSizeObserver.tsx +9 -9
- package/dist/components/tree-select/TreeSelect.tsx +126 -77
- package/dist/components/tree-select/example-1.tsx +8 -12
- package/dist/components/tree-select/example-2.tsx +2 -5
- package/dist/components/utilities/BorderRadiusUtilities.tsx +28 -13
- package/dist/components/utilities/BorderUtilities.tsx +31 -32
- package/dist/components/utilities/DisplayUtilities.tsx +4 -5
- package/dist/components/utilities/FlexAndGridUtilities.tsx +38 -38
- package/dist/components/utilities/ObjectFitUtilities.tsx +4 -6
- package/dist/components/utilities/ObjectPositionUtilities.tsx +3 -4
- package/dist/components/utilities/OpacityUtilities.tsx +4 -7
- package/dist/components/utilities/OverflowUtilities.tsx +4 -5
- package/dist/components/utilities/PositionUtilities.tsx +4 -5
- package/dist/components/utilities/ShadowUtilities.tsx +15 -16
- package/dist/components/utilities/SpacingUtilities.tsx +483 -178
- package/dist/components/utilities/TextUtilities.tsx +109 -60
- package/dist/design-patterns/Index.tsx +8 -11
- package/dist/design-patterns/ThreePaneLayoutPattern.tsx +92 -76
- package/dist/examples.bundle.css +1257 -1155
- package/dist/examples.bundle.js +6246 -5620
- package/dist/playgrounds/dummy-data/items.ts +9 -8
- package/dist/playgrounds/react-playgrounds/CoreLayout.tsx +559 -277
- package/dist/playgrounds/react-playgrounds/EditorTest.tsx +387 -204
- package/dist/playgrounds/react-playgrounds/FirstPlayground.tsx +74 -52
- package/dist/playgrounds/react-playgrounds/Index.tsx +11 -11
- package/dist/playgrounds/react-playgrounds/Multiedit.tsx +294 -218
- package/dist/playgrounds/react-playgrounds/PageLayoutTest.tsx +151 -105
- package/dist/playgrounds/react-playgrounds/PersonalProfile.tsx +481 -261
- package/dist/playgrounds/react-playgrounds/RundownEditor.tsx +261 -149
- package/dist/playgrounds/react-playgrounds/Rundowns.tsx +757 -395
- package/dist/playgrounds/react-playgrounds/SamsPlayground.tsx +173 -91
- package/dist/playgrounds/react-playgrounds/TestGround.tsx +1364 -818
- package/dist/playgrounds/react-playgrounds/UiPlayground.tsx +178 -86
- package/dist/playgrounds/react-playgrounds/components/AuthoringContainer.tsx +6 -7
- package/dist/playgrounds/react-playgrounds/components/AuthoringContent.tsx +42 -42
- package/dist/playgrounds/react-playgrounds/components/ContentSplitter.tsx +5 -8
- package/dist/playgrounds/react-playgrounds/components/GraphicButton.tsx +11 -11
- package/dist/playgrounds/react-playgrounds/components/GraphicButtonsGroup.tsx +2 -6
- package/dist/playgrounds/react-playgrounds/components/HeaderPanel.tsx +1 -5
- package/dist/playgrounds/react-playgrounds/components/Index.tsx +19 -21
- package/dist/playgrounds/react-playgrounds/components/Layout.tsx +11 -17
- package/dist/playgrounds/react-playgrounds/components/LayoutContainer.tsx +1 -1
- package/dist/playgrounds/react-playgrounds/components/MainPanel.tsx +11 -12
- package/dist/playgrounds/react-playgrounds/components/OverlayPanel.tsx +3 -5
- package/dist/playgrounds/react-playgrounds/components/Panel.tsx +6 -7
- package/dist/playgrounds/react-playgrounds/components/PanelContent.tsx +1 -5
- package/dist/playgrounds/react-playgrounds/components/PanelContentBlock.tsx +1 -6
- package/dist/playgrounds/react-playgrounds/components/PanelHeader.tsx +3 -3
- package/dist/playgrounds/react-playgrounds/components/SearchBar.tsx +16 -12
- package/dist/playgrounds/react-playgrounds/components/SidebarMenu.tsx +23 -14
- package/dist/playgrounds/react-playgrounds/components/SubNav.tsx +1 -5
- package/dist/playgrounds/react-playgrounds/components/ThemeDropdown.tsx +14 -11
- package/dist/playgrounds/react-playgrounds/tsconfig.json +1 -1
- package/dist/superdesk-ui.bundle.css +0 -3
- package/dist/superdesk-ui.bundle.js +1791 -1865
- package/dist/vendor.bundle.js +2 -2
- package/examples/css/docs-page.css +1135 -1116
- package/examples/css/reset.css +124 -43
- package/examples/css/vendor.css +125 -125
- package/examples/index.js +138 -139
- package/examples/js/doc.js +41 -40
- package/examples/js/react.js +82 -48
- package/examples/pages/components/Alerts.tsx +171 -78
- package/examples/pages/components/Autocomplete.tsx +187 -78
- package/examples/pages/components/Avatar.tsx +52 -112
- package/examples/pages/components/Badges.tsx +111 -67
- package/examples/pages/components/BigIconFont.tsx +29 -17
- package/examples/pages/components/BoxedList.tsx +244 -114
- package/examples/pages/components/ButtonGroups.tsx +213 -147
- package/examples/pages/components/Buttons.tsx +409 -137
- package/examples/pages/components/Card.tsx +6 -7
- package/examples/pages/components/Carousel.tsx +126 -39
- package/examples/pages/components/Checkboxs.tsx +446 -105
- package/examples/pages/components/Container.tsx +95 -48
- package/examples/pages/components/ContentDivider.tsx +110 -63
- package/examples/pages/components/ContentList.tsx +577 -253
- package/examples/pages/components/CreateButton.tsx +71 -21
- package/examples/pages/components/DatePicker.tsx +102 -26
- package/examples/pages/components/DateTimePicker.tsx +46 -10
- package/examples/pages/components/DragHandleDocs.tsx +56 -26
- package/examples/pages/components/DropZone.tsx +67 -29
- package/examples/pages/components/Dropdowns.tsx +220 -131
- package/examples/pages/components/DurationInput.tsx +92 -32
- package/examples/pages/components/EmptyStates.tsx +61 -26
- package/examples/pages/components/GridItem.tsx +190 -91
- package/examples/pages/components/GridList.tsx +37 -17
- package/examples/pages/components/Heading.tsx +81 -35
- package/examples/pages/components/IconButtons.tsx +125 -32
- package/examples/pages/components/IconFont.tsx +24 -12
- package/examples/pages/components/IconLabels.tsx +146 -39
- package/examples/pages/components/IconPicker.tsx +30 -13
- package/examples/pages/components/IllustrationButton.tsx +40 -20
- package/examples/pages/components/Index.tsx +128 -114
- package/examples/pages/components/Inputs.tsx +153 -51
- package/examples/pages/components/Labels.tsx +191 -117
- package/examples/pages/components/LeftNavigations.tsx +327 -100
- package/examples/pages/components/ListItems.tsx +8 -9
- package/examples/pages/components/Loader.tsx +5 -4
- package/examples/pages/components/Menu.tsx +48 -26
- package/examples/pages/components/Modal.tsx +298 -104
- package/examples/pages/components/MultiSelect.tsx +189 -53
- package/examples/pages/components/NavButtons.tsx +86 -30
- package/examples/pages/components/Panel.tsx +367 -120
- package/examples/pages/components/Popover.tsx +37 -17
- package/examples/pages/components/QuickNavigationBar.tsx +222 -86
- package/examples/pages/components/RadioGroup.tsx +375 -137
- package/examples/pages/components/ResizablePanels.tsx +8 -14
- package/examples/pages/components/SelectGrid.tsx +79 -38
- package/examples/pages/components/SelectWithTemplate.tsx +23 -14
- package/examples/pages/components/Selects.tsx +94 -29
- package/examples/pages/components/SimpleList.tsx +91 -41
- package/examples/pages/components/SubNav.tsx +57 -37
- package/examples/pages/components/Switch.tsx +168 -42
- package/examples/pages/components/TableList.tsx +220 -66
- package/examples/pages/components/Tabs.tsx +149 -64
- package/examples/pages/components/TagInputDocs.tsx +73 -17
- package/examples/pages/components/Tags.tsx +104 -73
- package/examples/pages/components/Text.tsx +108 -58
- package/examples/pages/components/TimePicker.tsx +74 -20
- package/examples/pages/components/Toasts.tsx +162 -80
- package/examples/pages/components/Togglebox.tsx +164 -62
- package/examples/pages/components/Tooltips.tsx +27 -15
- package/examples/pages/components/TreeMenu.tsx +95 -59
- package/examples/pages/components/TreeSelect.tsx +297 -162
- package/examples/pages/components/WithPaginationDocs.tsx +15 -16
- package/examples/pages/components/WithSizeObserver.tsx +9 -9
- package/examples/pages/components/tree-select/TreeSelect.tsx +126 -77
- package/examples/pages/components/tree-select/example-1.tsx +8 -12
- package/examples/pages/components/tree-select/example-2.tsx +2 -5
- package/examples/pages/components/utilities/BorderRadiusUtilities.tsx +28 -13
- package/examples/pages/components/utilities/BorderUtilities.tsx +31 -32
- package/examples/pages/components/utilities/DisplayUtilities.tsx +4 -5
- package/examples/pages/components/utilities/FlexAndGridUtilities.tsx +38 -38
- package/examples/pages/components/utilities/ObjectFitUtilities.tsx +4 -6
- package/examples/pages/components/utilities/ObjectPositionUtilities.tsx +3 -4
- package/examples/pages/components/utilities/OpacityUtilities.tsx +4 -7
- package/examples/pages/components/utilities/OverflowUtilities.tsx +4 -5
- package/examples/pages/components/utilities/PositionUtilities.tsx +4 -5
- package/examples/pages/components/utilities/ShadowUtilities.tsx +15 -16
- package/examples/pages/components/utilities/SpacingUtilities.tsx +483 -178
- package/examples/pages/components/utilities/TextUtilities.tsx +109 -60
- package/examples/pages/design-patterns/Index.tsx +8 -11
- package/examples/pages/design-patterns/ThreePaneLayoutPattern.tsx +92 -76
- package/examples/pages/playgrounds/dummy-data/items.ts +9 -8
- package/examples/pages/playgrounds/react-playgrounds/CoreLayout.tsx +559 -277
- package/examples/pages/playgrounds/react-playgrounds/EditorTest.tsx +387 -204
- package/examples/pages/playgrounds/react-playgrounds/FirstPlayground.tsx +74 -52
- package/examples/pages/playgrounds/react-playgrounds/Index.tsx +11 -11
- package/examples/pages/playgrounds/react-playgrounds/Multiedit.tsx +294 -218
- package/examples/pages/playgrounds/react-playgrounds/PageLayoutTest.tsx +151 -105
- package/examples/pages/playgrounds/react-playgrounds/PersonalProfile.tsx +481 -261
- package/examples/pages/playgrounds/react-playgrounds/RundownEditor.tsx +261 -149
- package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +757 -395
- package/examples/pages/playgrounds/react-playgrounds/SamsPlayground.tsx +173 -91
- package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +1364 -818
- package/examples/pages/playgrounds/react-playgrounds/UiPlayground.tsx +178 -86
- package/examples/pages/playgrounds/react-playgrounds/components/AuthoringContainer.tsx +6 -7
- package/examples/pages/playgrounds/react-playgrounds/components/AuthoringContent.tsx +42 -42
- package/examples/pages/playgrounds/react-playgrounds/components/ContentSplitter.tsx +5 -8
- package/examples/pages/playgrounds/react-playgrounds/components/GraphicButton.tsx +11 -11
- package/examples/pages/playgrounds/react-playgrounds/components/GraphicButtonsGroup.tsx +2 -6
- package/examples/pages/playgrounds/react-playgrounds/components/HeaderPanel.tsx +1 -5
- package/examples/pages/playgrounds/react-playgrounds/components/Index.tsx +19 -21
- package/examples/pages/playgrounds/react-playgrounds/components/Layout.tsx +11 -17
- package/examples/pages/playgrounds/react-playgrounds/components/LayoutContainer.tsx +1 -1
- package/examples/pages/playgrounds/react-playgrounds/components/MainPanel.tsx +11 -12
- package/examples/pages/playgrounds/react-playgrounds/components/OverlayPanel.tsx +3 -5
- package/examples/pages/playgrounds/react-playgrounds/components/Panel.tsx +6 -7
- package/examples/pages/playgrounds/react-playgrounds/components/PanelContent.tsx +1 -5
- package/examples/pages/playgrounds/react-playgrounds/components/PanelContentBlock.tsx +1 -6
- package/examples/pages/playgrounds/react-playgrounds/components/PanelHeader.tsx +3 -3
- package/examples/pages/playgrounds/react-playgrounds/components/SearchBar.tsx +16 -12
- package/examples/pages/playgrounds/react-playgrounds/components/SidebarMenu.tsx +23 -14
- package/examples/pages/playgrounds/react-playgrounds/components/SubNav.tsx +1 -5
- package/examples/pages/playgrounds/react-playgrounds/components/ThemeDropdown.tsx +14 -11
- package/examples/pages/playgrounds/react-playgrounds/tsconfig.json +1 -1
- package/globals.d.ts +1 -1
- package/mocha-setup.ts +3 -3
- package/package.json +119 -117
- package/react/components/Alert.js +6 -9
- package/react/components/Autocomplete.js +15 -23
- package/react/components/Badge.js +1 -1
- package/react/components/Button.js +4 -6
- package/react/components/ButtonGroup.js +1 -1
- package/react/components/Carousel.js +3 -3
- package/react/components/CheckButtonGroup.js +3 -6
- package/react/components/CheckboxButton.js +2 -4
- package/react/components/ContentDivider.js +1 -1
- package/react/components/DatePicker.js +29 -26
- package/react/components/DateTimePicker.d.ts +26 -4
- package/react/components/DateTimePicker.js +82 -27
- package/react/components/Divider.js +1 -1
- package/react/components/DonutChart.js +1 -1
- package/react/components/DragHandle.js +1 -1
- package/react/components/DragHandleDots.js +1 -1
- package/react/components/DropZone.js +6 -8
- package/react/components/Dropdown.d.ts +1 -1
- package/react/components/Dropdown.js +34 -38
- package/react/components/DropdownFirst.d.ts +11 -11
- package/react/components/DropdownFirst.js +20 -24
- package/react/components/DurationInput.js +37 -34
- package/react/components/EmptyState.js +5 -5
- package/react/components/Form/FormGroup.js +1 -1
- package/react/components/Form/FormItem.js +1 -1
- package/react/components/Form/FormRow.js +1 -1
- package/react/components/Form/FormRowNew.js +3 -3
- package/react/components/Form/FormText.js +1 -1
- package/react/components/Form/InputNew.js +3 -3
- package/react/components/Form/InputWrapper.js +7 -10
- package/react/components/GridItem.d.ts +1 -1
- package/react/components/GridItem.js +16 -16
- package/react/components/GridList.js +1 -1
- package/react/components/HeadingText.js +4 -5
- package/react/components/IconLabel.js +3 -5
- package/react/components/IconPicker.d.ts +1 -1
- package/react/components/IconPicker.js +111 -104
- package/react/components/IllustrationButton.js +1 -1
- package/react/components/Input.js +1 -1
- package/react/components/Layouts/AuthorinInnerSideBar.js +1 -1
- package/react/components/Layouts/AuthoringContainer.js +1 -1
- package/react/components/Layouts/AuthoringFrame.js +4 -4
- package/react/components/Layouts/AuthoringFrameContainer.js +1 -1
- package/react/components/Layouts/AuthoringFrameLeftBar.js +1 -1
- package/react/components/Layouts/AuthoringFrameMain.js +1 -1
- package/react/components/Layouts/AuthoringFrameNavBar.js +1 -1
- package/react/components/Layouts/AuthoringFrameOverlay.js +1 -1
- package/react/components/Layouts/AuthoringFrameRightBar.js +1 -1
- package/react/components/Layouts/AuthoringFrameSidePanel.js +1 -1
- package/react/components/Layouts/AuthoringFrameSidePanelOverlay.js +1 -1
- package/react/components/Layouts/AuthoringMainContainer.js +1 -1
- package/react/components/Layouts/AuthoringMainContent.js +1 -1
- package/react/components/Layouts/AuthoringMainToolBar.js +1 -1
- package/react/components/Layouts/BottomBarAction.js +2 -2
- package/react/components/Layouts/ContentSplitter.js +1 -1
- package/react/components/Layouts/CoreLayout.js +2 -2
- package/react/components/Layouts/CoreLayoutContainer.js +1 -1
- package/react/components/Layouts/CoreLayoutFooter.js +1 -1
- package/react/components/Layouts/CoreLayoutOverlay.js +1 -1
- package/react/components/Layouts/CoreLayoutSlideInMenu.js +2 -2
- package/react/components/Layouts/CoreLayoutTopMenu.js +3 -3
- package/react/components/Layouts/HamburgerButton.js +1 -1
- package/react/components/Layouts/HeaderPanel.js +1 -1
- package/react/components/Layouts/Layout.d.ts +1 -1
- package/react/components/Layouts/Layout.js +9 -9
- package/react/components/Layouts/LayoutContainer.js +1 -1
- package/react/components/Layouts/LeftPanel.js +1 -1
- package/react/components/Layouts/MainMenu.js +8 -10
- package/react/components/Layouts/MainPanel.js +1 -1
- package/react/components/Layouts/NotificationPanel.d.ts +1 -1
- package/react/components/Layouts/NotificationPanel.js +7 -7
- package/react/components/Layouts/OverlayPanel.js +3 -3
- package/react/components/Layouts/PageLayout.js +2 -2
- package/react/components/Layouts/Panel.d.ts +1 -1
- package/react/components/Layouts/Panel.js +12 -18
- package/react/components/LeftMenu.d.ts +3 -3
- package/react/components/LeftMenu.js +11 -13
- package/react/components/Lists/BoxedList.js +6 -6
- package/react/components/Lists/CalendarWeekDayItem.js +2 -2
- package/react/components/Lists/ContentList.js +24 -26
- package/react/components/Lists/TableList.d.ts +1 -1
- package/react/components/Lists/TableList.js +59 -79
- package/react/components/Loader.js +1 -1
- package/react/components/Menu.js +1 -1
- package/react/components/Modal.d.ts +1 -1
- package/react/components/MultiSelect.d.ts +1 -1
- package/react/components/MultiSelect.js +2 -2
- package/react/components/NavButton.js +2 -4
- package/react/components/Navigation/BottomNav.js +9 -8
- package/react/components/Navigation/QuickNavBar.js +17 -20
- package/react/components/Navigation/SideBarMenu.js +11 -9
- package/react/components/Navigation/SideBarTabs.js +9 -8
- package/react/components/Popover.js +1 -1
- package/react/components/RadioButtonGroup.js +15 -23
- package/react/components/ResizablePanels.js +1 -3
- package/react/components/ResizeObserverComponent.js +1 -3
- package/react/components/SearchBar.js +14 -16
- package/react/components/Select.js +3 -3
- package/react/components/SelectGrid.js +15 -20
- package/react/components/SelectPreview.js +13 -13
- package/react/components/SelectWithTemplate.js +3 -5
- package/react/components/ShowPopup.js +7 -10
- package/react/components/Skeleton.js +1 -1
- package/react/components/SlidingToolbar.js +1 -1
- package/react/components/Spinner.js +1 -1
- package/react/components/StrechBar.js +1 -1
- package/react/components/SubNav.js +1 -1
- package/react/components/Switch.js +4 -6
- package/react/components/SwitchGroup.js +1 -1
- package/react/components/TabCustom.js +6 -4
- package/react/components/TabList.js +4 -8
- package/react/components/Tag.js +13 -17
- package/react/components/TagInput.js +1 -1
- package/react/components/Text/Heading.js +6 -6
- package/react/components/ThemeSelector.js +1 -1
- package/react/components/TimePickerV2.js +17 -17
- package/react/components/Toast.js +3 -3
- package/react/components/ToastMessage.d.ts +1 -1
- package/react/components/ToastMessage.js +1 -1
- package/react/components/ToastText.js +5 -8
- package/react/components/ToastWrapper.js +3 -5
- package/react/components/ToggleBox/CustomHeaderToggleBox.d.ts +1 -1
- package/react/components/ToggleBox/CustomHeaderToggleBox.js +7 -7
- package/react/components/ToggleBox/SimpleToggleBox.d.ts +1 -1
- package/react/components/ToggleBox/SimpleToggleBox.js +5 -5
- package/react/components/ToggleBox/index.js +3 -3
- package/react/components/TreeMenu.d.ts +1 -1
- package/react/components/TreeMenu.js +38 -44
- package/react/components/TreeSelect/TreeSelect.d.ts +2 -2
- package/react/components/TreeSelect/TreeSelect.js +105 -127
- package/react/components/TreeSelect/TreeSelectItem.d.ts +1 -1
- package/react/components/TreeSelect/TreeSelectItem.js +10 -13
- package/react/components/TreeSelect/TreeSelectPill.d.ts +1 -1
- package/react/components/TreeSelect/TreeSelectPill.js +8 -9
- package/react/components/WithPagination.js +18 -21
- package/react/components/WithPortal.d.ts +1 -1
- package/react/components/WithPortal.js +2 -1
- package/react/components/WithSizeObserver.js +1 -3
- package/react/components/_Positioner.js +11 -11
- package/react/components/avatar/avatar-action-add.js +1 -1
- package/react/components/avatar/avatar-group.js +11 -14
- package/react/components/avatar/avatar-image.js +6 -4
- package/react/components/avatar/avatar-placeholder.js +1 -1
- package/react/components/avatar/avatar-wrapper.js +2 -4
- package/react/components/avatar/avatar.js +4 -3
- package/react/helpers.js +2 -2
- package/react/index.d.ts +1 -1
- package/tasks/webpack.dev.js +1 -1
- package/tasks/webpack.js +5 -5
- package/tasks/webpack.prod.js +1 -5
- package/tsconfig.json +2 -5
- package/tslint.json +6 -12
- package/webpack.config.js +2 -5
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as React from
|
2
|
-
import {
|
1
|
+
import * as React from 'react';
|
2
|
+
import {Icon} from '../Icon';
|
3
3
|
import {getTextColor} from '../../helpers';
|
4
4
|
import {ITreeNode} from './TreeSelect';
|
5
5
|
|
@@ -27,8 +27,8 @@ export class TreeSelectItem<T> extends React.Component<IProps<T>> {
|
|
27
27
|
render() {
|
28
28
|
return (
|
29
29
|
<li
|
30
|
-
className=
|
31
|
-
role=
|
30
|
+
className="suggestion-item suggestion-item--multi-select"
|
31
|
+
role="none"
|
32
32
|
onClick={(event) => {
|
33
33
|
if (!this.props.disabledItem) {
|
34
34
|
this.props.onClick?.();
|
@@ -41,8 +41,8 @@ export class TreeSelectItem<T> extends React.Component<IProps<T>> {
|
|
41
41
|
<button
|
42
42
|
// the className is generated in order to focus the element later
|
43
43
|
className={
|
44
|
-
`suggestion-item--btn ${getPrefixedItemId(this.props.getId(this.props.option.value))}`
|
45
|
-
|
44
|
+
`suggestion-item--btn ${getPrefixedItemId(this.props.getId(this.props.option.value))}` +
|
45
|
+
(this.props.disabledItem ? ' suggestion-item--disabled' : '')
|
46
46
|
}
|
47
47
|
onKeyDown={(event) => {
|
48
48
|
if (event.key === 'Enter' && this.props.option.children) {
|
@@ -51,46 +51,42 @@ export class TreeSelectItem<T> extends React.Component<IProps<T>> {
|
|
51
51
|
}}
|
52
52
|
disabled={this.props.disabledItem}
|
53
53
|
data-test-id="option"
|
54
|
-
role=
|
54
|
+
role="treeitem"
|
55
55
|
aria-selected={this.props.selectedItem === true}
|
56
56
|
aria-disabled={this.props.disabledItem === true}
|
57
57
|
>
|
58
|
-
{
|
59
|
-
|
58
|
+
{this.props.getBorderColor && !this.props.allowMultiple && (
|
59
|
+
<div
|
60
60
|
className="item-border"
|
61
61
|
style={{
|
62
62
|
backgroundColor: this.props.getBorderColor(this.props.option.value),
|
63
63
|
}}
|
64
|
-
>
|
65
|
-
|
66
|
-
}
|
64
|
+
></div>
|
65
|
+
)}
|
67
66
|
|
68
67
|
<span
|
69
68
|
className={
|
70
|
-
'suggestion-item--bgcolor'
|
71
|
-
+ (this.props.selectedItem ? ' suggestion-item--selected' : '')
|
69
|
+
'suggestion-item--bgcolor' + (this.props.selectedItem ? ' suggestion-item--selected' : '')
|
72
70
|
}
|
73
71
|
style={
|
74
|
-
|
72
|
+
this.props.getBackgroundColor && this.props.option.value
|
75
73
|
? {
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
}
|
74
|
+
backgroundColor: this.props.getBackgroundColor(this.props.option.value),
|
75
|
+
color: getTextColor(this.props.getBackgroundColor(this.props.option.value)),
|
76
|
+
}
|
80
77
|
: undefined
|
81
78
|
}
|
82
79
|
>
|
83
80
|
{this.props.optionTemplate
|
84
81
|
? this.props.optionTemplate(this.props.option.value)
|
85
|
-
: this.props.getLabel(this.props.option.value)
|
86
|
-
}
|
82
|
+
: this.props.getLabel(this.props.option.value)}
|
87
83
|
</span>
|
88
84
|
|
89
|
-
{this.props.option.children
|
90
|
-
|
85
|
+
{this.props.option.children && (
|
86
|
+
<span className="suggestion-item__icon" aria-hidden="true" data-test-id="children-indicator">
|
91
87
|
<Icon name="chevron-right-thin"></Icon>
|
92
88
|
</span>
|
93
|
-
}
|
89
|
+
)}
|
94
90
|
</button>
|
95
91
|
</li>
|
96
92
|
);
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import classNames from 'classnames';
|
2
|
-
import * as React from
|
2
|
+
import * as React from 'react';
|
3
3
|
import {DragHandle} from '../DragHandle';
|
4
|
-
import {Icon} from
|
4
|
+
import {Icon} from '../Icon';
|
5
5
|
import {getTextColor} from '../../helpers';
|
6
6
|
|
7
7
|
interface IProps<T> {
|
@@ -28,36 +28,33 @@ export class TreeSelectPill<T> extends React.Component<IProps<T>> {
|
|
28
28
|
style={
|
29
29
|
this.props.valueTemplate
|
30
30
|
? {backgroundColor: this.props.backgroundColor}
|
31
|
-
: this.props.getBackgroundColor
|
32
|
-
|
31
|
+
: this.props.getBackgroundColor && {
|
32
|
+
backgroundColor: this.props.getBackgroundColor(this.props.item),
|
33
|
+
}
|
33
34
|
}
|
34
35
|
data-test-id="item"
|
35
36
|
>
|
36
|
-
{this.props.draggable &&
|
37
|
-
<DragHandle blank={true} dotsInRow='3' dotRows='4' />
|
38
|
-
)}
|
37
|
+
{this.props.draggable && <DragHandle blank={true} dotsInRow="3" dotRows="4" />}
|
39
38
|
<span
|
40
39
|
className="tags-input__helper-box"
|
41
40
|
style={{
|
42
41
|
color: this.props.backgroundColor
|
43
42
|
? getTextColor(this.props.backgroundColor)
|
44
|
-
: this.props.getBackgroundColor
|
45
|
-
|
43
|
+
: this.props.getBackgroundColor &&
|
44
|
+
getTextColor(this.props.getBackgroundColor(this.props.item)),
|
46
45
|
}}
|
47
46
|
>
|
48
47
|
{this.props.children}
|
49
48
|
|
50
|
-
{!this.props.readOnly
|
51
|
-
|
49
|
+
{!this.props.readOnly && (
|
50
|
+
<button
|
52
51
|
className="tags-input__remove-button"
|
53
52
|
data-test-id="remove"
|
54
|
-
onClick={() =>
|
55
|
-
&& this.props.onRemove()
|
56
|
-
}
|
53
|
+
onClick={() => !this.props.readOnly && !this.props.disabled && this.props.onRemove()}
|
57
54
|
>
|
58
55
|
<Icon name="close-small"></Icon>
|
59
56
|
</button>
|
60
|
-
}
|
57
|
+
)}
|
61
58
|
</span>
|
62
59
|
</li>
|
63
60
|
);
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
2
2
|
import {Icon} from '../components/Icon';
|
3
3
|
|
4
4
|
interface IProps<T> {
|
5
|
-
getItems(pageNo: number, pageSize: number, signal: AbortSignal): Promise<{items: Array<T
|
5
|
+
getItems(pageNo: number, pageSize: number, signal: AbortSignal): Promise<{items: Array<T>; itemCount: number}>;
|
6
6
|
children: (items: Array<T>) => JSX.Element;
|
7
7
|
pageSize?: number;
|
8
8
|
}
|
@@ -25,33 +25,27 @@ export function getPagination(currentPage: number, totalPages: number): Array<nu
|
|
25
25
|
currentPage + 2,
|
26
26
|
].filter((page) => page >= 1 && page <= totalPages);
|
27
27
|
|
28
|
-
if (!basePages.includes(1)) {
|
28
|
+
if (!basePages.includes(1)) {
|
29
|
+
// include first and maybe dots
|
29
30
|
const firstInCurrentList = basePages[0];
|
30
31
|
|
31
32
|
if (firstInCurrentList !== 1) {
|
32
|
-
basePages = [
|
33
|
-
'dots',
|
34
|
-
...basePages,
|
35
|
-
];
|
33
|
+
basePages = ['dots', ...basePages];
|
36
34
|
}
|
37
35
|
|
38
|
-
basePages = [
|
39
|
-
1,
|
40
|
-
...basePages,
|
41
|
-
];
|
36
|
+
basePages = [1, ...basePages];
|
42
37
|
}
|
43
38
|
|
44
|
-
if (!basePages.includes(totalPages)) {
|
39
|
+
if (!basePages.includes(totalPages)) {
|
40
|
+
// include last and maybe dots
|
45
41
|
const lastInCurrentList = basePages[basePages.length - 1];
|
46
42
|
|
47
|
-
if (lastInCurrentList !== totalPages - 1) {
|
43
|
+
if (lastInCurrentList !== totalPages - 1) {
|
44
|
+
// add dots if we're skipping some numbers
|
48
45
|
basePages = basePages.concat('dots');
|
49
46
|
}
|
50
47
|
|
51
|
-
basePages = [
|
52
|
-
...basePages,
|
53
|
-
totalPages,
|
54
|
-
];
|
48
|
+
basePages = [...basePages, totalPages];
|
55
49
|
}
|
56
50
|
|
57
51
|
return basePages;
|
@@ -111,9 +105,10 @@ export class WithPagination<T> extends React.PureComponent<IProps<T>, IState<T>>
|
|
111
105
|
this.inProgress = false;
|
112
106
|
this.setState({items: res.items, currentPage: page}, () => {
|
113
107
|
const scrollableEl = getScrollParent(this.ref);
|
114
|
-
const diff =
|
115
|
-
|
116
|
-
|
108
|
+
const diff =
|
109
|
+
scrollableEl != null && this.ref?.scrollHeight != null
|
110
|
+
? scrollableEl.offsetHeight - this.ref.scrollHeight
|
111
|
+
: null;
|
117
112
|
|
118
113
|
if (scrollableEl != null) {
|
119
114
|
scrollableEl.scrollTop = diff != null ? diff : 0;
|
@@ -137,7 +132,9 @@ export class WithPagination<T> extends React.PureComponent<IProps<T>, IState<T>>
|
|
137
132
|
const pageElements = getPagination(this.state.currentPage, this.pageCount).map((el, i) => {
|
138
133
|
if (el === 'dots') {
|
139
134
|
return (
|
140
|
-
<span data-test-id="more-pages" className=
|
135
|
+
<span data-test-id="more-pages" className="sd-pagination__item sd-pagination__item--more">
|
136
|
+
...
|
137
|
+
</span>
|
141
138
|
);
|
142
139
|
} else {
|
143
140
|
return (
|
@@ -160,19 +157,19 @@ export class WithPagination<T> extends React.PureComponent<IProps<T>, IState<T>>
|
|
160
157
|
<>
|
161
158
|
<button
|
162
159
|
data-test-id="btn-1"
|
163
|
-
className=
|
160
|
+
className="sd-pagination__item sd-pagination__item--start"
|
164
161
|
disabled={this.state.currentPage === 1}
|
165
162
|
onClick={() => this.switchPage(1)}
|
166
163
|
>
|
167
|
-
<Icon name=
|
164
|
+
<Icon name="backward-thin" />
|
168
165
|
</button>
|
169
166
|
<button
|
170
167
|
data-test-id="btn-2"
|
171
|
-
className=
|
168
|
+
className="sd-pagination__item sd-pagination__item--start"
|
172
169
|
disabled={this.state.currentPage <= 1}
|
173
170
|
onClick={() => this.switchPage(this.state.currentPage - 1)}
|
174
171
|
>
|
175
|
-
<Icon name=
|
172
|
+
<Icon name="chevron-left-thin" />
|
176
173
|
</button>
|
177
174
|
</>,
|
178
175
|
);
|
@@ -181,19 +178,19 @@ export class WithPagination<T> extends React.PureComponent<IProps<T>, IState<T>>
|
|
181
178
|
<>
|
182
179
|
<button
|
183
180
|
data-test-id="btn-3"
|
184
|
-
className=
|
181
|
+
className="sd-pagination__item sd-pagination__item--forward"
|
185
182
|
onClick={() => this.switchPage(this.state.currentPage + 1)}
|
186
183
|
disabled={this.state.currentPage === this.pageCount}
|
187
184
|
>
|
188
|
-
<Icon name=
|
185
|
+
<Icon name="chevron-right-thin" />
|
189
186
|
</button>
|
190
187
|
<button
|
191
188
|
data-test-id="btn-4"
|
192
|
-
className=
|
189
|
+
className="sd-pagination__item sd-pagination__item--end"
|
193
190
|
onClick={() => this.switchPage(this.pageCount)}
|
194
191
|
disabled={this.state.currentPage === this.pageCount}
|
195
192
|
>
|
196
|
-
<Icon name=
|
193
|
+
<Icon name="forward-thin" />
|
197
194
|
</button>
|
198
195
|
</>,
|
199
196
|
);
|
@@ -222,17 +219,15 @@ export class WithPagination<T> extends React.PureComponent<IProps<T>, IState<T>>
|
|
222
219
|
this.ref = element;
|
223
220
|
}}
|
224
221
|
>
|
225
|
-
{
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
)
|
233
|
-
|
234
|
-
)
|
235
|
-
}
|
222
|
+
{this.pageCount > 1 ? (
|
223
|
+
<>
|
224
|
+
<StyledPagination />
|
225
|
+
{this.props.children(this.state.items)}
|
226
|
+
<StyledPagination />
|
227
|
+
</>
|
228
|
+
) : (
|
229
|
+
this.props.children(this.state.items)
|
230
|
+
)}
|
236
231
|
</div>
|
237
232
|
);
|
238
233
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import * as React from
|
1
|
+
import * as React from 'react';
|
2
2
|
import {createPortal} from 'react-dom';
|
3
3
|
|
4
4
|
interface IProps {
|
@@ -6,9 +6,7 @@ interface IProps {
|
|
6
6
|
'data-test-id'?: string;
|
7
7
|
}
|
8
8
|
|
9
|
-
export function findParent(
|
10
|
-
element: HTMLElement | null,
|
11
|
-
) {
|
9
|
+
export function findParent(element: HTMLElement | null) {
|
12
10
|
let dataTheme = element;
|
13
11
|
|
14
12
|
while (dataTheme != null && dataTheme?.getAttribute('data-theme') == null) {
|
@@ -35,14 +33,13 @@ export class WithPortal extends React.Component<IProps> {
|
|
35
33
|
render() {
|
36
34
|
return (
|
37
35
|
<div ref={this.ref}>
|
38
|
-
{this.props.active &&
|
36
|
+
{this.props.active &&
|
39
37
|
createPortal(
|
40
38
|
<div data-theme={this.dataTheme} data-test-id={this.props['data-test-id']}>
|
41
39
|
{this.props.children}
|
42
40
|
</div>,
|
43
41
|
document.body,
|
44
|
-
)
|
45
|
-
)}
|
42
|
+
)}
|
46
43
|
</div>
|
47
44
|
);
|
48
45
|
}
|
@@ -74,13 +74,9 @@ export class WithSizeObserver extends React.PureComponent<IProps, IState> {
|
|
74
74
|
* but if parent of `ResizeObserverComponent` is resized down,
|
75
75
|
* it would include its own size(which is based on the initial result from this component),
|
76
76
|
* including children, into calculation and would produce a wrong result.
|
77
|
-
|
77
|
+
*/}
|
78
78
|
<div style={{position: 'absolute', top: 0, left: 0, width: '100%', height: '100%'}}>
|
79
|
-
{
|
80
|
-
dimensions === 'not-initialized'
|
81
|
-
? null
|
82
|
-
: this.props.children(dimensions)
|
83
|
-
}
|
79
|
+
{dimensions === 'not-initialized' ? null : this.props.children(dimensions)}
|
84
80
|
</div>
|
85
81
|
</div>
|
86
82
|
);
|
@@ -52,7 +52,7 @@ class PopperWrapper extends React.Component<IPropsPopperWrapper> {
|
|
52
52
|
const viewportWidth = document.documentElement.clientWidth;
|
53
53
|
|
54
54
|
const availableSpaceTop = rect.top - padding;
|
55
|
-
const availableSpaceBottom =
|
55
|
+
const availableSpaceBottom = viewportHeight - rect.bottom - padding;
|
56
56
|
|
57
57
|
const availableSpaceLeft = rect.left;
|
58
58
|
const availableSpaceRight = viewportWidth - rect.right;
|
@@ -92,8 +92,8 @@ class PopperWrapper extends React.Component<IPropsPopperWrapper> {
|
|
92
92
|
}
|
93
93
|
}}
|
94
94
|
tabIndex={0}
|
95
|
-
role=
|
96
|
-
aria-labelledby=
|
95
|
+
role="dialog"
|
96
|
+
aria-labelledby="popoverTitle"
|
97
97
|
onKeyDown={(event) => {
|
98
98
|
if (event.key === 'Escape') {
|
99
99
|
event.preventDefault();
|
@@ -168,11 +168,13 @@ export class Positioner extends React.Component<IPropsPositioner, IStatePosition
|
|
168
168
|
// the toggle button. Even if the toggle button is inside the list item.
|
169
169
|
e.stopPropagation();
|
170
170
|
|
171
|
-
window.dispatchEvent(
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
171
|
+
window.dispatchEvent(
|
172
|
+
new CustomEvent(eventCloseOthers, {
|
173
|
+
detail: {
|
174
|
+
triggerElement: this.triggerElement,
|
175
|
+
},
|
176
|
+
}),
|
177
|
+
);
|
176
178
|
|
177
179
|
this.setState({open: !this.state.open});
|
178
180
|
}
|
@@ -180,13 +182,13 @@ export class Positioner extends React.Component<IPropsPositioner, IStatePosition
|
|
180
182
|
// arguments are in a different order, because the method is bound
|
181
183
|
closeDropdownOnOutsideClick(wrapper: HTMLElement, event: MouseEvent) {
|
182
184
|
if (
|
183
|
-
this.state.open === true
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
185
|
+
this.state.open === true &&
|
186
|
+
event != null &&
|
187
|
+
event.target !== this.triggerElement &&
|
188
|
+
event.target != null &&
|
189
|
+
event.target instanceof Node && // wrapper.contains accepts only Node type
|
190
|
+
wrapper != null &&
|
191
|
+
!wrapper.contains(event.target)
|
190
192
|
) {
|
191
193
|
this.setState({
|
192
194
|
open: false,
|
@@ -197,17 +199,15 @@ export class Positioner extends React.Component<IPropsPositioner, IStatePosition
|
|
197
199
|
componentDidUpdate() {
|
198
200
|
if (this.state.open === true) {
|
199
201
|
ReactDOM.render(
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
/>
|
210
|
-
),
|
202
|
+
<PopperWrapper
|
203
|
+
{...this.props}
|
204
|
+
handleCloseOthers={this.handleCloseOthers}
|
205
|
+
closeDropdownOnOutsideClick={this.closeDropdownOnOutsideClick}
|
206
|
+
triggerElement={this.triggerElement}
|
207
|
+
close={() => {
|
208
|
+
this.setState({open: false});
|
209
|
+
}}
|
210
|
+
/>,
|
211
211
|
this.elementForPositioner,
|
212
212
|
);
|
213
213
|
} else {
|
@@ -8,12 +8,7 @@ interface IProps extends IPropsBase {
|
|
8
8
|
export class AvatarContentAdd extends React.PureComponent<IProps> {
|
9
9
|
render() {
|
10
10
|
if (this.props.onClick == null) {
|
11
|
-
return
|
12
|
-
<span
|
13
|
-
className="sd-avatar-content sd-avatar-content--add-item"
|
14
|
-
title={this.props.tooltipText}
|
15
|
-
/>
|
16
|
-
);
|
11
|
+
return <span className="sd-avatar-content sd-avatar-content--add-item" title={this.props.tooltipText} />;
|
17
12
|
} else {
|
18
13
|
return (
|
19
14
|
<button
|
@@ -12,7 +12,7 @@ export type IAvatarPlaceholderInGroup = Omit<IPropsAvatarPlaceholder, 'size'>;
|
|
12
12
|
|
13
13
|
export type IAvatarGroupItem = IAvatarInGroup | IAvatarPlaceholderInGroup;
|
14
14
|
|
15
|
-
type IGap = 'none' | 'small'| 'medium'| 'large';
|
15
|
+
type IGap = 'none' | 'small' | 'medium' | 'large';
|
16
16
|
|
17
17
|
export interface IPropsAvatarGroup {
|
18
18
|
size: IPropsAvatar['size'];
|
@@ -37,9 +37,9 @@ function isAvatar(item: IAvatarInGroup | IAvatarPlaceholderInGroup): item is IAv
|
|
37
37
|
export class AvatarGroup extends React.PureComponent<IPropsAvatarGroup> {
|
38
38
|
render() {
|
39
39
|
const {size, items} = this.props;
|
40
|
-
const someIconsHaveExtraElements = items
|
41
|
-
(
|
42
|
-
|
40
|
+
const someIconsHaveExtraElements = items
|
41
|
+
.filter(isAvatar)
|
42
|
+
.some(({icon, administratorIndicator}) => icon != null || administratorIndicator != null);
|
43
43
|
const gap: IGap = someIconsHaveExtraElements ? 'medium' : 'none';
|
44
44
|
|
45
45
|
const max: number = (() => {
|
@@ -64,7 +64,7 @@ export class AvatarGroup extends React.PureComponent<IPropsAvatarGroup> {
|
|
64
64
|
}
|
65
65
|
}}
|
66
66
|
>
|
67
|
-
|
67
|
+
{children}
|
68
68
|
</button>
|
69
69
|
);
|
70
70
|
} else {
|
@@ -76,49 +76,42 @@ export class AvatarGroup extends React.PureComponent<IPropsAvatarGroup> {
|
|
76
76
|
|
77
77
|
return (
|
78
78
|
<WithPopover
|
79
|
-
placement=
|
79
|
+
placement="bottom-end"
|
80
80
|
component={() => (
|
81
81
|
<div className="avatar-popup">
|
82
82
|
{this.props.items.map((item, index) => {
|
83
|
-
return (
|
84
|
-
|
85
|
-
|
86
|
-
{
|
87
|
-
isAvatar(item)
|
88
|
-
&& item.displayName
|
89
|
-
}
|
83
|
+
return someHaveDisplayName ? (
|
84
|
+
<Spacer h alignItems="center" gap="16" noGrow key={index}>
|
85
|
+
{isAvatar(item) && item.displayName}
|
90
86
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
/>
|
102
|
-
)
|
103
|
-
: (
|
104
|
-
<AvatarPlaceholder
|
105
|
-
kind='plus-button'
|
106
|
-
size='small'
|
107
|
-
icon={item.icon}
|
108
|
-
onClick={item.onClick}
|
109
|
-
/>
|
110
|
-
)
|
111
|
-
}
|
112
|
-
</Spacer>
|
113
|
-
: <div>
|
87
|
+
{isAvatar(item) ? (
|
88
|
+
<Avatar
|
89
|
+
size="small"
|
90
|
+
imageUrl={item.imageUrl}
|
91
|
+
initials={item.initials}
|
92
|
+
displayName={item.displayName}
|
93
|
+
icon={item.icon}
|
94
|
+
statusDot={item.statusDot}
|
95
|
+
/>
|
96
|
+
) : (
|
114
97
|
<AvatarPlaceholder
|
115
|
-
kind=
|
116
|
-
size=
|
98
|
+
kind="plus-button"
|
99
|
+
size="small"
|
117
100
|
icon={item.icon}
|
118
|
-
onClick={
|
119
|
-
key={index}
|
101
|
+
onClick={item.onClick}
|
120
102
|
/>
|
121
|
-
|
103
|
+
)}
|
104
|
+
</Spacer>
|
105
|
+
) : (
|
106
|
+
<div>
|
107
|
+
<AvatarPlaceholder
|
108
|
+
kind="plus-button"
|
109
|
+
size="small"
|
110
|
+
icon={item.icon}
|
111
|
+
onClick={isAvatar(item) ? undefined : item.onClick}
|
112
|
+
key={index}
|
113
|
+
/>
|
114
|
+
</div>
|
122
115
|
);
|
123
116
|
})}
|
124
117
|
</div>
|
@@ -131,36 +124,24 @@ export class AvatarGroup extends React.PureComponent<IPropsAvatarGroup> {
|
|
131
124
|
'sd-avatar-group--stacked',
|
132
125
|
`sd-avatar-group--stacked--gap-${gap}`,
|
133
126
|
)}
|
134
|
-
role=
|
127
|
+
role="group"
|
135
128
|
onClick={this.props.onClick}
|
136
129
|
>
|
137
|
-
{
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
return (
|
145
|
-
<AvatarPlaceholder
|
146
|
-
{...item}
|
147
|
-
key={index}
|
148
|
-
size={this.props.size}
|
149
|
-
/>
|
150
|
-
);
|
151
|
-
}
|
152
|
-
})
|
153
|
-
}
|
130
|
+
{items.slice(0, max).map((item, index) => {
|
131
|
+
if (isAvatar(item)) {
|
132
|
+
return <Avatar {...item} key={index} size={size} />;
|
133
|
+
} else {
|
134
|
+
return <AvatarPlaceholder {...item} key={index} size={this.props.size} />;
|
135
|
+
}
|
136
|
+
})}
|
154
137
|
|
155
|
-
{
|
156
|
-
|
157
|
-
<
|
158
|
-
<
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
)
|
163
|
-
}
|
138
|
+
{itemsOverLimit > 0 && (
|
139
|
+
<PlusButtonWrapper onToggle={onToggle}>
|
140
|
+
<AvatarWrapper size={size}>
|
141
|
+
<AvatarContentNumber number={`${itemsOverLimit}`} />
|
142
|
+
</AvatarWrapper>
|
143
|
+
</PlusButtonWrapper>
|
144
|
+
)}
|
164
145
|
</div>
|
165
146
|
)}
|
166
147
|
</WithPopover>
|