superdesk-ui-framework 2.4.21 → 3.0.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/fonts/sd_big-icons.eot +0 -0
- package/app/fonts/sd_big-icons.svg +55 -53
- package/app/fonts/sd_big-icons.ttf +0 -0
- package/app/fonts/sd_big-icons.woff +0 -0
- package/app/fonts/sd_icons.eot +0 -0
- package/app/fonts/sd_icons.svg +1 -0
- package/app/fonts/sd_icons.ttf +0 -0
- package/app/fonts/sd_icons.woff +0 -0
- package/app/img/dots.svg +3 -0
- package/app/img/spinner.svg +3 -0
- package/app/img/themes/theme-base.svg +1 -0
- package/app/img/themes/theme-contrast.svg +45 -0
- package/app/img/themes/theme-dark.svg +1 -0
- package/app/img/themes/theme-light.svg +1 -0
- package/app/index.js +2 -1
- package/app/scripts/check.js +1 -1
- package/app/scripts/modals.js +1 -0
- package/app/styles/_accessibility.scss +308 -6
- package/app/styles/_alerts.scss +227 -97
- package/app/styles/_avatar.scss +60 -33
- package/app/styles/_badge.scss +55 -26
- package/app/styles/_big-icon-font.scss +61 -23
- package/app/styles/_boxed-list.scss +67 -23
- package/app/styles/_buttons.scss +548 -1026
- package/app/styles/_carousel.scss +19 -13
- package/app/styles/_content-divider.scss +125 -0
- package/app/styles/_design-tokens.scss +2 -0
- package/app/styles/_drag-drop.scss +1 -1
- package/app/styles/_empty-states.scss +9 -1
- package/app/styles/_helpers.scss +654 -311
- package/app/styles/_icon-font.scss +343 -309
- package/app/styles/_icon-labels.scss +69 -14
- package/app/styles/_labels.scss +65 -52
- package/app/styles/_loaders.scss +28 -0
- package/app/styles/_master-desk.scss +11 -11
- package/app/styles/_mixins.scss +21 -13
- package/app/styles/_modals.scss +103 -116
- package/app/styles/_normalize.scss +1 -0
- package/app/styles/_panel-info.scss +21 -16
- package/app/styles/_popover.scss +2 -2
- package/app/styles/_pr-superdesk-theme.scss +4 -0
- package/app/styles/_publisher-styles.scss +182 -0
- package/app/styles/_reboot.scss +1 -0
- package/app/styles/_sd-tag-input.scss +184 -97
- package/app/styles/_simple-list.scss +41 -19
- package/app/styles/_table-list.scss +244 -0
- package/app/styles/_tables.scss +5 -4
- package/app/styles/_tabs.scss +24 -75
- package/app/styles/_tag-labels.scss +47 -47
- package/app/styles/_thumb-carousel.scss +11 -10
- package/app/styles/_toggle-box.scss +52 -46
- package/app/styles/_toggle-button.scss +42 -0
- package/app/styles/_tooltips.scss +55 -98
- package/app/styles/_variables.scss +0 -1
- package/app/styles/app.scss +17 -1
- package/app/styles/components/_card-item.scss +41 -28
- package/app/styles/components/_list-item.scss +47 -113
- package/app/styles/components/_sd-circular-progress.scss +1 -1
- package/app/styles/components/_sd-collapse-box.scss +6 -33
- package/app/styles/components/_sd-comment-box.scss +1 -1
- package/app/styles/components/_sd-dropzone.scss +114 -0
- package/app/styles/components/_sd-grid-item.scss +78 -180
- package/app/styles/components/_sd-loader.scss +1 -16
- package/app/styles/components/_sd-media-carousel.scss +10 -12
- package/app/styles/components/_sd-photo-preview.scss +13 -13
- package/app/styles/components/_sd-searchbar.scss +43 -127
- package/app/styles/components/_sd-toaster.scss +13 -6
- package/app/styles/components/_subnav.scss +172 -171
- package/app/styles/components/_theme-selector.scss +189 -0
- package/app/styles/components/sd-slider.scss +11 -11
- package/app/styles/design-tokens/_design-tokens-general.scss +84 -0
- package/app/styles/design-tokens/_new-colors.scss +702 -0
- package/app/styles/dropdowns/_basic-dropdown.scss +119 -76
- package/app/styles/dropdowns/_navigation_dropdown.scss +7 -8
- package/app/styles/dropdowns/_nested-dropdown.scss +30 -16
- package/app/styles/dropdowns/_other_dropdown.scss +1 -1
- package/app/styles/editor/_editor-buttons.scss +54 -0
- package/app/styles/editor/_editor-themes.scss +437 -0
- package/app/styles/form-elements/_autocomplete.scss +12 -41
- package/app/styles/form-elements/_checkbox.scss +180 -245
- package/app/styles/form-elements/_forms-general.scss +92 -20
- package/app/styles/form-elements/_inputs.scss +100 -350
- package/app/styles/form-elements/_radio.scss +6 -6
- package/app/styles/form-elements/_select-grid.scss +16 -14
- package/app/styles/form-elements/_switch.scss +26 -47
- package/app/styles/grids/_basic-grid.scss +52 -26
- package/app/styles/grids/_grid-layout.scss +114 -65
- package/app/styles/grids/_layout-grid.scss +6 -6
- package/app/styles/grids/_sd-kanban-list.scss +2 -2
- package/app/styles/interface-elements/_side-panel.scss +115 -83
- package/app/styles/layout/_basic-layout.scss +11 -19
- package/app/styles/layout/_container.scss +35 -0
- package/app/styles/layout/_editor.scss +398 -0
- package/app/styles/layout/_general.scss +4 -5
- package/app/styles/menus/_sd-content-navigation.scss +1 -1
- package/app/styles/menus/_sd-left-navigation.scss +34 -18
- package/app/styles/menus/_sd-sidebar-menu.scss +123 -25
- package/app/styles/menus/_sd-top-menu.scss +3 -3
- package/app/styles/primereact/_pr-datepicker.scss +60 -9
- package/app/styles/primereact/_pr-dialog.scss +131 -30
- package/app/styles/primereact/_pr-dropdown.scss +177 -19
- package/app/styles/primereact/_pr-general.scss +14 -7
- package/app/styles/primereact/_pr-menu.scss +9 -12
- package/app/styles/variables/_colors.scss +124 -516
- package/app/styles/variables/_dimensions.scss +82 -4
- package/app/styles/variables/_form-elements.scss +0 -2
- package/app/styles/variables/_typography.scss +2 -0
- package/app-typescript/components/Alert.tsx +16 -1
- package/app-typescript/components/Avatar.tsx +21 -0
- package/app-typescript/components/ButtonGroup.tsx +9 -5
- package/app-typescript/components/Carousel.tsx +1 -1
- package/app-typescript/components/CheckButtonGroup.tsx +19 -5
- package/app-typescript/components/CheckGroup.tsx +2 -1
- package/app-typescript/components/Checkbox.tsx +7 -3
- package/app-typescript/components/CheckboxButton.tsx +9 -2
- package/app-typescript/components/ContentDivider.tsx +34 -0
- package/app-typescript/components/CreateButton.tsx +38 -0
- package/app-typescript/components/DatePicker.tsx +6 -2
- package/app-typescript/components/DropZone.tsx +89 -0
- package/app-typescript/components/Dropdown.tsx +30 -11
- package/app-typescript/components/DropdownFirst.tsx +1 -1
- package/app-typescript/components/Editor/EditorButton.tsx +34 -0
- package/app-typescript/components/Form/FormGroup.tsx +33 -0
- package/app-typescript/components/Form/FormItem.tsx +20 -0
- package/app-typescript/components/Form/FormLabel.tsx +22 -0
- package/app-typescript/components/Form/FormRow.tsx +40 -0
- package/app-typescript/components/Form/FormText.tsx +15 -0
- package/app-typescript/components/Form/index.tsx +5 -0
- package/app-typescript/components/Icon.tsx +3 -1
- package/app-typescript/components/IconButton.tsx +26 -12
- package/app-typescript/components/IconLabel.tsx +8 -1
- package/app-typescript/components/Input.tsx +39 -20
- package/app-typescript/components/Layouts/AuthorinInnerSideBar.tsx +15 -0
- package/app-typescript/components/Layouts/AuthoringContainer.tsx +27 -0
- package/app-typescript/components/Layouts/AuthoringFrame.tsx +72 -0
- package/app-typescript/components/Layouts/AuthoringFrameContainer.tsx +15 -0
- package/app-typescript/components/Layouts/AuthoringFrameLeftBar.tsx +15 -0
- package/app-typescript/components/Layouts/AuthoringFrameMain.tsx +15 -0
- package/app-typescript/components/Layouts/AuthoringFrameNavBar.tsx +15 -0
- package/app-typescript/components/Layouts/AuthoringFrameOverlay.tsx +15 -0
- package/app-typescript/components/Layouts/AuthoringFrameRightBar.tsx +15 -0
- package/app-typescript/components/Layouts/AuthoringFrameSidePanel.tsx +22 -0
- package/app-typescript/components/Layouts/AuthoringFrameSidePanelOverlay.tsx +22 -0
- package/app-typescript/components/Layouts/AuthoringInnerBody.tsx +15 -0
- package/app-typescript/components/Layouts/AuthoringInnerHeader.tsx +40 -0
- package/app-typescript/components/Layouts/AuthoringMain.tsx +50 -0
- package/app-typescript/components/Layouts/AuthoringMainContainer.tsx +15 -0
- package/app-typescript/components/Layouts/AuthoringMainContent.tsx +15 -0
- package/app-typescript/components/Layouts/AuthoringMainToolBar.tsx +21 -0
- package/app-typescript/components/Layouts/Container.tsx +30 -0
- package/app-typescript/components/Layouts/ContentSplitter.tsx +23 -0
- package/app-typescript/components/Layouts/HeaderPanel.tsx +15 -0
- package/app-typescript/components/Layouts/Layout.tsx +33 -0
- package/app-typescript/components/Layouts/LayoutContainer.tsx +15 -0
- package/app-typescript/components/Layouts/LeftPanel.tsx +24 -0
- package/app-typescript/components/Layouts/MainPanel.tsx +27 -0
- package/app-typescript/components/Layouts/OverlayPanel.tsx +19 -0
- package/app-typescript/components/Layouts/PageLayout.tsx +51 -0
- package/app-typescript/components/Layouts/Panel.tsx +208 -0
- package/app-typescript/components/Layouts/RightPanel.tsx +16 -0
- package/app-typescript/components/Layouts/index.tsx +31 -0
- package/app-typescript/components/LeftMenu.tsx +123 -49
- package/app-typescript/components/Lists/BoxedList.tsx +137 -0
- package/app-typescript/components/Lists/ContentList.tsx +100 -0
- package/app-typescript/components/Lists/SimpleList.tsx +54 -0
- package/app-typescript/components/Lists/TableList.tsx +208 -0
- package/app-typescript/components/Lists/index.tsx +2 -0
- package/app-typescript/components/Modal.tsx +30 -15
- package/app-typescript/components/MultiSelect.tsx +69 -0
- package/app-typescript/components/Navigation/QuickNavBar.tsx +114 -0
- package/app-typescript/components/Navigation/SideBarMenu.tsx +68 -0
- package/app-typescript/components/Navigation/SideBarTabs.tsx +87 -0
- package/app-typescript/components/Navigation/index.tsx +3 -0
- package/app-typescript/components/RadioButtonGroup.tsx +113 -0
- package/app-typescript/components/RadioGroup.tsx +69 -0
- package/app-typescript/components/SearchBar.tsx +79 -0
- package/app-typescript/components/Select.tsx +9 -9
- package/app-typescript/components/SelectGrid.tsx +3 -3
- package/app-typescript/components/SidebarMenu.tsx +68 -0
- package/app-typescript/components/SlidingToolbar.tsx +8 -2
- package/app-typescript/components/Spinner.tsx +1 -2
- package/app-typescript/components/SubNav.tsx +25 -4
- package/app-typescript/components/Switch.tsx +34 -12
- package/app-typescript/components/SwitchGroup.tsx +2 -1
- package/app-typescript/components/TabCustom.tsx +40 -89
- package/app-typescript/components/TabList.tsx +18 -43
- package/app-typescript/components/Tag.tsx +32 -9
- package/app-typescript/components/Text/Heading.tsx +67 -0
- package/app-typescript/components/Text/Text.tsx +36 -0
- package/app-typescript/components/ThemeSelector.tsx +113 -0
- package/app-typescript/components/TimePicker.tsx +3 -3
- package/app-typescript/components/Togglebox.tsx +8 -6
- package/app-typescript/components/TreeSelect.tsx +330 -0
- package/app-typescript/index.ts +19 -4
- package/dist/avatar-2.jpg +0 -0
- package/dist/avatar-3.jpg +0 -0
- package/dist/avatar-4.jpg +0 -0
- package/dist/avatar-5.jpg +0 -0
- package/dist/avatar-6.jpg +0 -0
- package/dist/avatar_64.png +0 -0
- package/dist/components/basic-grid.html +1 -1
- package/dist/components/checkbox.html +1 -1
- package/dist/dots.svg +3 -0
- package/dist/examples.bundle.css +9800 -2768
- package/dist/examples.bundle.js +39221 -17840
- package/dist/index.html +9 -12
- package/dist/playgrounds/boxed-list.html +1 -1
- package/dist/playgrounds/cards.html +9 -4
- package/dist/playgrounds/editor-3-test.html +15 -0
- package/dist/playgrounds/form-layout.html +9 -7
- package/dist/playgrounds/layout-test-2.html +40 -36
- package/dist/playgrounds/list-item-test.html +1 -1
- package/dist/playgrounds/master-desk.html +1 -3
- package/dist/playgrounds/photo-desk.html +33 -33
- package/dist/playgrounds/react-playgrounds/EditorTest.tsx +459 -0
- package/dist/playgrounds/react-playgrounds/FirstPlayground.tsx +4 -4
- package/dist/playgrounds/react-playgrounds/Index.tsx +7 -1
- package/dist/playgrounds/react-playgrounds/PageLayoutTest.tsx +161 -0
- package/dist/playgrounds/react-playgrounds/PersonalProfile.tsx +635 -0
- package/dist/playgrounds/react-playgrounds/RundownEditor.tsx +466 -0
- package/dist/playgrounds/react-playgrounds/Rundowns.tsx +1002 -0
- package/dist/playgrounds/react-playgrounds/SamsPlayground.tsx +30 -39
- package/dist/playgrounds/react-playgrounds/TestGround.tsx +240 -23
- package/dist/playgrounds/react-playgrounds/UiPlayground.tsx +304 -0
- package/dist/playgrounds/react-playgrounds/components/AuthoringContainer.tsx +26 -0
- package/dist/playgrounds/react-playgrounds/components/ContentSplitter.tsx +22 -0
- package/dist/playgrounds/react-playgrounds/components/Index.tsx +6 -1
- package/dist/playgrounds/react-playgrounds/components/Layout.tsx +1 -1
- package/dist/playgrounds/react-playgrounds/components/MainPanel.tsx +11 -1
- package/dist/playgrounds/react-playgrounds/components/SearchBar.tsx +51 -9
- package/dist/playgrounds/tags-input.html +1 -1
- package/dist/react/Alerts.tsx +123 -23
- package/dist/react/Avatar.tsx +314 -127
- package/dist/react/BoxedList.tsx +362 -0
- package/dist/react/ButtonGroups.tsx +66 -65
- package/dist/react/Buttons.tsx +62 -247
- package/dist/react/Carousel.tsx +2 -3
- package/dist/react/Checkboxs.tsx +66 -25
- package/dist/react/Container.tsx +143 -0
- package/dist/react/ContentDivider.tsx +178 -0
- package/dist/react/ContentList.tsx +280 -0
- package/dist/react/CreateButton.tsx +71 -0
- package/dist/react/DropZone.tsx +111 -0
- package/dist/react/Heading.tsx +106 -0
- package/dist/react/IconButtons.tsx +49 -42
- package/dist/react/IconLabels.tsx +24 -2
- package/dist/react/Index.tsx +133 -11
- package/dist/react/Inputs.tsx +33 -20
- package/dist/react/LeftNavigations.tsx +161 -9
- package/dist/react/ListItems.tsx +3 -3
- package/dist/react/Modal.tsx +174 -19
- package/dist/react/MultiSelect.tsx +193 -0
- package/dist/react/NavButtons.tsx +4 -4
- package/dist/react/Panel.tsx +366 -0
- package/dist/react/QuickNavigationBar.tsx +142 -0
- package/dist/react/RadioGroup.tsx +351 -0
- package/dist/react/SelectWithTemplate.tsx +1 -1
- package/dist/react/Selects.tsx +3 -23
- package/dist/react/SimpleList.tsx +148 -0
- package/dist/react/SubNav.tsx +69 -20
- package/dist/react/TableList.tsx +268 -0
- package/dist/react/Tabs.tsx +72 -248
- package/dist/react/Tags.tsx +52 -13
- package/dist/react/Text.tsx +134 -0
- package/dist/react/Tooltips.tsx +1 -1
- package/dist/react/TreeSelect.tsx +178 -0
- package/dist/react.html +4 -0
- package/dist/sd_big-icons.eot +0 -0
- package/dist/sd_big-icons.svg +55 -53
- package/dist/sd_big-icons.ttf +0 -0
- package/dist/sd_big-icons.woff +0 -0
- package/dist/sd_icons.eot +0 -0
- package/dist/sd_icons.svg +1 -0
- package/dist/sd_icons.ttf +0 -0
- package/dist/sd_icons.woff +0 -0
- package/dist/superdesk-ui.bundle.css +51124 -26537
- package/dist/superdesk-ui.bundle.js +7849 -3639
- package/dist/vendor.bundle.js +71 -75
- package/examples/css/docs-page.css +204 -46
- package/examples/img/avatar-2.jpg +0 -0
- package/examples/img/avatar-3.jpg +0 -0
- package/examples/img/avatar-4.jpg +0 -0
- package/examples/img/avatar-5.jpg +0 -0
- package/examples/img/avatar-6.jpg +0 -0
- package/examples/index.html +9 -12
- package/examples/index.js +28 -0
- package/examples/pages/components/basic-grid.html +1 -1
- package/examples/pages/components/checkbox.html +1 -1
- package/examples/pages/playgrounds/boxed-list.html +1 -1
- package/examples/pages/playgrounds/cards.html +9 -4
- package/examples/pages/playgrounds/editor-3-test.html +15 -0
- package/examples/pages/playgrounds/form-layout.html +9 -7
- package/examples/pages/playgrounds/layout-test-2.html +40 -36
- package/examples/pages/playgrounds/list-item-test.html +1 -1
- package/examples/pages/playgrounds/master-desk.html +1 -3
- package/examples/pages/playgrounds/photo-desk.html +33 -33
- package/examples/pages/playgrounds/react-playgrounds/EditorTest.tsx +459 -0
- package/examples/pages/playgrounds/react-playgrounds/FirstPlayground.tsx +4 -4
- package/examples/pages/playgrounds/react-playgrounds/Index.tsx +7 -1
- package/examples/pages/playgrounds/react-playgrounds/PageLayoutTest.tsx +161 -0
- package/examples/pages/playgrounds/react-playgrounds/PersonalProfile.tsx +635 -0
- package/examples/pages/playgrounds/react-playgrounds/RundownEditor.tsx +466 -0
- package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +1002 -0
- package/examples/pages/playgrounds/react-playgrounds/SamsPlayground.tsx +30 -39
- package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +240 -23
- package/examples/pages/playgrounds/react-playgrounds/UiPlayground.tsx +304 -0
- package/examples/pages/playgrounds/react-playgrounds/components/AuthoringContainer.tsx +26 -0
- package/examples/pages/playgrounds/react-playgrounds/components/ContentSplitter.tsx +22 -0
- package/examples/pages/playgrounds/react-playgrounds/components/Index.tsx +6 -1
- package/examples/pages/playgrounds/react-playgrounds/components/Layout.tsx +1 -1
- package/examples/pages/playgrounds/react-playgrounds/components/MainPanel.tsx +11 -1
- package/examples/pages/playgrounds/react-playgrounds/components/SearchBar.tsx +51 -9
- package/examples/pages/playgrounds/tags-input.html +1 -1
- package/examples/pages/react/Alerts.tsx +123 -23
- package/examples/pages/react/Avatar.tsx +314 -127
- package/examples/pages/react/BoxedList.tsx +362 -0
- package/examples/pages/react/ButtonGroups.tsx +66 -65
- package/examples/pages/react/Buttons.tsx +62 -247
- package/examples/pages/react/Carousel.tsx +2 -3
- package/examples/pages/react/Checkboxs.tsx +66 -25
- package/examples/pages/react/Container.tsx +143 -0
- package/examples/pages/react/ContentDivider.tsx +178 -0
- package/examples/pages/react/ContentList.tsx +280 -0
- package/examples/pages/react/CreateButton.tsx +71 -0
- package/examples/pages/react/DropZone.tsx +111 -0
- package/examples/pages/react/Heading.tsx +106 -0
- package/examples/pages/react/IconButtons.tsx +49 -42
- package/examples/pages/react/IconLabels.tsx +24 -2
- package/examples/pages/react/Index.tsx +133 -11
- package/examples/pages/react/Inputs.tsx +33 -20
- package/examples/pages/react/LeftNavigations.tsx +161 -9
- package/examples/pages/react/ListItems.tsx +3 -3
- package/examples/pages/react/Modal.tsx +174 -19
- package/examples/pages/react/MultiSelect.tsx +193 -0
- package/examples/pages/react/NavButtons.tsx +4 -4
- package/examples/pages/react/Panel.tsx +366 -0
- package/examples/pages/react/QuickNavigationBar.tsx +142 -0
- package/examples/pages/react/RadioGroup.tsx +351 -0
- package/examples/pages/react/SelectWithTemplate.tsx +1 -1
- package/examples/pages/react/Selects.tsx +3 -23
- package/examples/pages/react/SimpleList.tsx +148 -0
- package/examples/pages/react/SubNav.tsx +69 -20
- package/examples/pages/react/TableList.tsx +268 -0
- package/examples/pages/react/Tabs.tsx +72 -248
- package/examples/pages/react/Tags.tsx +52 -13
- package/examples/pages/react/Text.tsx +134 -0
- package/examples/pages/react/Tooltips.tsx +1 -1
- package/examples/pages/react/TreeSelect.tsx +178 -0
- package/examples/pages/react.html +4 -0
- package/images/avatar_64.png +0 -0
- package/package.json +11 -6
- package/react/components/Alert.d.ts +3 -0
- package/react/components/Alert.js +9 -1
- package/react/components/Avatar.d.ts +9 -0
- package/react/components/Avatar.js +19 -1
- package/react/components/ButtonGroup.d.ts +4 -2
- package/react/components/ButtonGroup.js +5 -3
- package/react/components/Carousel.js +1 -1
- package/react/components/CheckButtonGroup.d.ts +3 -1
- package/react/components/CheckButtonGroup.js +8 -2
- package/react/components/CheckGroup.d.ts +1 -0
- package/react/components/CheckGroup.js +1 -1
- package/react/components/Checkbox.d.ts +2 -1
- package/react/components/Checkbox.js +2 -2
- package/react/components/CheckboxButton.d.ts +1 -0
- package/react/components/CheckboxButton.js +2 -2
- package/react/components/ContentDivider.d.ts +12 -0
- package/react/components/ContentDivider.js +66 -0
- package/react/components/CreateButton.d.ts +17 -0
- package/react/components/CreateButton.js +66 -0
- package/react/components/DatePicker.js +7 -2
- package/react/components/DropZone.d.ts +25 -0
- package/react/components/DropZone.js +93 -0
- package/react/components/Dropdown.d.ts +1 -0
- package/react/components/Dropdown.js +28 -23
- package/react/components/DropdownFirst.js +1 -1
- package/react/components/Form/FormGroup.d.ts +13 -0
- package/react/components/Form/FormGroup.js +61 -0
- package/react/components/Form/FormItem.d.ts +9 -0
- package/react/components/Form/FormItem.js +54 -0
- package/react/components/Form/FormLabel.d.ts +10 -0
- package/react/components/Form/FormLabel.js +54 -0
- package/react/components/Form/FormRow.d.ts +17 -0
- package/react/components/Form/FormRow.js +62 -0
- package/react/components/Form/FormText.d.ts +8 -0
- package/react/components/Form/FormText.js +47 -0
- package/react/components/Form/index.d.ts +5 -0
- package/react/components/Form/index.js +12 -0
- package/react/components/Icon.d.ts +1 -0
- package/react/components/Icon.js +2 -1
- package/react/components/IconButton.d.ts +9 -2
- package/react/components/IconButton.js +13 -5
- package/react/components/IconLabel.d.ts +2 -0
- package/react/components/IconLabel.js +6 -3
- package/react/components/Input.d.ts +21 -7
- package/react/components/Input.js +10 -13
- package/react/components/Layouts/AuthorinInnerSideBar.d.ts +8 -0
- package/react/components/Layouts/AuthorinInnerSideBar.js +47 -0
- package/react/components/Layouts/AuthoringContainer.d.ts +11 -0
- package/react/components/Layouts/AuthoringContainer.js +58 -0
- package/react/components/Layouts/AuthoringFrame.d.ts +18 -0
- package/react/components/Layouts/AuthoringFrame.js +56 -0
- package/react/components/Layouts/AuthoringFrameContainer.d.ts +8 -0
- package/react/components/Layouts/AuthoringFrameContainer.js +47 -0
- package/react/components/Layouts/AuthoringFrameLeftBar.d.ts +8 -0
- package/react/components/Layouts/AuthoringFrameLeftBar.js +47 -0
- package/react/components/Layouts/AuthoringFrameMain.d.ts +8 -0
- package/react/components/Layouts/AuthoringFrameMain.js +47 -0
- package/react/components/Layouts/AuthoringFrameNavBar.d.ts +8 -0
- package/react/components/Layouts/AuthoringFrameNavBar.js +47 -0
- package/react/components/Layouts/AuthoringFrameOverlay.d.ts +8 -0
- package/react/components/Layouts/AuthoringFrameOverlay.js +47 -0
- package/react/components/Layouts/AuthoringFrameRightBar.d.ts +8 -0
- package/react/components/Layouts/AuthoringFrameRightBar.js +47 -0
- package/react/components/Layouts/AuthoringFrameSidePanel.d.ts +10 -0
- package/react/components/Layouts/AuthoringFrameSidePanel.js +56 -0
- package/react/components/Layouts/AuthoringFrameSidePanelOverlay.d.ts +9 -0
- package/react/components/Layouts/AuthoringFrameSidePanelOverlay.js +56 -0
- package/react/components/Layouts/AuthoringInnerBody.d.ts +8 -0
- package/react/components/Layouts/AuthoringInnerBody.js +47 -0
- package/react/components/Layouts/AuthoringInnerHeader.d.ts +14 -0
- package/react/components/{RadioButton.js → Layouts/AuthoringInnerHeader.js} +23 -22
- package/react/components/Layouts/AuthoringMain.d.ts +14 -0
- package/react/components/Layouts/AuthoringMain.js +53 -0
- package/react/components/Layouts/AuthoringMainContainer.d.ts +8 -0
- package/react/components/Layouts/AuthoringMainContainer.js +47 -0
- package/react/components/Layouts/AuthoringMainContent.d.ts +8 -0
- package/react/components/Layouts/AuthoringMainContent.js +47 -0
- package/react/components/Layouts/AuthoringMainToolBar.d.ts +9 -0
- package/react/components/Layouts/AuthoringMainToolBar.js +54 -0
- package/react/components/Layouts/Container.d.ts +14 -0
- package/react/components/Layouts/Container.js +60 -0
- package/react/components/Layouts/ContentSplitter.d.ts +10 -0
- package/react/components/Layouts/ContentSplitter.js +56 -0
- package/react/components/Layouts/HeaderPanel.d.ts +8 -0
- package/react/components/Layouts/HeaderPanel.js +47 -0
- package/react/components/Layouts/Layout.d.ts +8 -0
- package/react/components/Layouts/Layout.js +35 -0
- package/react/components/Layouts/LayoutContainer.d.ts +8 -0
- package/react/components/Layouts/LayoutContainer.js +47 -0
- package/react/components/Layouts/LeftPanel.d.ts +9 -0
- package/react/components/Layouts/LeftPanel.js +54 -0
- package/react/components/Layouts/MainPanel.d.ts +11 -0
- package/react/components/Layouts/MainPanel.js +57 -0
- package/react/components/Layouts/OverlayPanel.d.ts +8 -0
- package/react/components/Layouts/OverlayPanel.js +49 -0
- package/react/components/Layouts/PageLayout.d.ts +16 -0
- package/react/components/Layouts/PageLayout.js +64 -0
- package/react/components/Layouts/Panel.d.ts +66 -0
- package/react/components/Layouts/Panel.js +166 -0
- package/react/components/Layouts/RightPanel.d.ts +9 -0
- package/react/components/Layouts/RightPanel.js +47 -0
- package/react/components/Layouts/index.d.ts +28 -0
- package/react/components/Layouts/index.js +63 -0
- package/react/components/LeftMenu.d.ts +8 -3
- package/react/components/LeftMenu.js +55 -16
- package/react/components/Lists/BoxedList.d.ts +38 -0
- package/react/components/Lists/BoxedList.js +139 -0
- package/react/components/Lists/SimpleList.d.ts +21 -0
- package/react/components/Lists/SimpleList.js +78 -0
- package/react/components/Lists/index.d.ts +2 -0
- package/react/components/Lists/index.js +9 -0
- package/react/components/Modal.d.ts +5 -1
- package/react/components/Modal.js +11 -2
- package/react/components/Navigation/QuickNavBar.d.ts +24 -0
- package/react/components/Navigation/QuickNavBar.js +113 -0
- package/react/components/Navigation/SideBarMenu.d.ts +21 -0
- package/react/components/Navigation/SideBarMenu.js +77 -0
- package/react/components/Navigation/SideBarTabs.d.ts +23 -0
- package/react/components/Navigation/SideBarTabs.js +86 -0
- package/react/components/Navigation/index.d.ts +3 -0
- package/react/components/Navigation/index.js +8 -0
- package/react/components/RadioButtonGroup.d.ts +29 -0
- package/react/components/RadioButtonGroup.js +89 -0
- package/react/components/{Radio.d.ts → RadioGroup.d.ts} +7 -3
- package/react/components/{Radio.js → RadioGroup.js} +15 -11
- package/react/components/SearchBar.d.ts +23 -0
- package/react/components/SearchBar.js +87 -0
- package/react/components/Select.d.ts +2 -1
- package/react/components/Select.js +3 -9
- package/react/components/SelectGrid.js +3 -3
- package/react/components/SlidingToolbar.d.ts +1 -1
- package/react/components/SlidingToolbar.js +11 -1
- package/react/components/Spinner.d.ts +0 -1
- package/react/components/Spinner.js +1 -2
- package/react/components/SubNav.d.ts +8 -1
- package/react/components/SubNav.js +22 -4
- package/react/components/Switch.d.ts +4 -1
- package/react/components/Switch.js +19 -7
- package/react/components/SwitchGroup.d.ts +1 -0
- package/react/components/SwitchGroup.js +1 -1
- package/react/components/TabCustom.d.ts +11 -22
- package/react/components/TabCustom.js +23 -52
- package/react/components/TabList.d.ts +2 -11
- package/react/components/TabList.js +11 -32
- package/react/components/Tag.d.ts +4 -4
- package/react/components/Tag.js +16 -5
- package/react/components/TagInput.d.ts +0 -1
- package/react/components/Text/Heading.d.ts +15 -0
- package/react/components/Text/Heading.js +77 -0
- package/react/components/Text/Text.d.ts +15 -0
- package/react/components/Text/Text.js +65 -0
- package/react/components/{RadioButton.d.ts → ThemeSelector.d.ts} +4 -3
- package/react/components/ThemeSelector.js +112 -0
- package/react/components/TimePicker.js +2 -2
- package/react/components/Togglebox.d.ts +1 -0
- package/react/components/Togglebox.js +9 -2
- package/react/index.d.ts +17 -4
- package/react/index.js +41 -6
- package/sd_icons.eot +0 -0
- package/sd_icons.svg +189 -0
- package/sd_icons.ttf +0 -0
- package/sd_icons.woff +0 -0
- package/app/styles/_editor-themes.scss +0 -326
- package/app/styles/variables/_design-tokens-general.scss +0 -76
- package/app-typescript/components/Radio.tsx +0 -57
- package/app-typescript/components/RadioButton.tsx +0 -57
- package/dist/react/Radios.tsx +0 -391
- package/examples/pages/react/Radios.tsx +0 -391
@@ -0,0 +1,193 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import * as Markup from '../../js/react';
|
3
|
+
import { PropsList, Prop } from '../../../app-typescript';
|
4
|
+
import { MultiSelect } from '../../../app-typescript/components/MultiSelect';
|
5
|
+
|
6
|
+
interface IColor {
|
7
|
+
name: string;
|
8
|
+
colorCode?: string;
|
9
|
+
}
|
10
|
+
|
11
|
+
interface IState {
|
12
|
+
value: any;
|
13
|
+
value2: any;
|
14
|
+
}
|
15
|
+
|
16
|
+
const ItemArr: Array<IColor> = [
|
17
|
+
{name: 'Red', colorCode: '#FF0000'},
|
18
|
+
{name: 'Cyan', colorCode: '#00FFFF'},
|
19
|
+
{name: 'Blue', colorCode: '#0000FF'},
|
20
|
+
{name: 'DarkBlue', colorCode: '#0000A0'},
|
21
|
+
{name: 'Purple', colorCode: '#800080'},
|
22
|
+
{name: 'Yellow', colorCode: '#FFFF00'},
|
23
|
+
{name: 'Lime', colorCode: '#00FF00'},
|
24
|
+
{name: 'Magenta', colorCode: '#FF00FF'},
|
25
|
+
{name: 'Silver', colorCode: '#C0C0C0'},
|
26
|
+
{name: 'Gray', colorCode: '#808080'},
|
27
|
+
{name: 'Black', colorCode: '#000000'},
|
28
|
+
{name: 'Orange', colorCode: '#FFA500'},
|
29
|
+
{name: 'Brown', colorCode: '#A52A2A'},
|
30
|
+
{name: 'Maroon', colorCode: '#800000'},
|
31
|
+
{name: 'Green', colorCode: '#008000'},
|
32
|
+
{name: 'Olive', colorCode: '#808000'},
|
33
|
+
];
|
34
|
+
|
35
|
+
export class MultiselectDocs extends React.Component<{}, IState> {
|
36
|
+
constructor(props) {
|
37
|
+
super(props);
|
38
|
+
this.state = {
|
39
|
+
value: null,
|
40
|
+
value2: null,
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
render() {
|
45
|
+
return (
|
46
|
+
<section className='docs-page__container'>
|
47
|
+
<h2 className='docs-page__h2'>MultiSelect</h2>
|
48
|
+
|
49
|
+
<Markup.ReactMarkupCodePreview>{`
|
50
|
+
<MultiSelect
|
51
|
+
value={this.state.value2}
|
52
|
+
options={ItemArr}
|
53
|
+
onChange={(e: any) => this.setState({value2: e.value})}
|
54
|
+
placeholder='Select Item'
|
55
|
+
optionLabel='name'
|
56
|
+
/>
|
57
|
+
`}
|
58
|
+
</Markup.ReactMarkupCodePreview>
|
59
|
+
|
60
|
+
<Markup.ReactMarkup>
|
61
|
+
<Markup.ReactMarkupPreview>
|
62
|
+
<div className='docs-page__content-row docs-page__content-row--no-margin'>
|
63
|
+
<div className='form__row'>
|
64
|
+
<MultiSelect
|
65
|
+
value={this.state.value}
|
66
|
+
options={ItemArr}
|
67
|
+
onChange={(e: any) => this.setState({value: e.value})}
|
68
|
+
filter
|
69
|
+
showSelectAll
|
70
|
+
placeholder='Select a color'
|
71
|
+
optionLabel='name'
|
72
|
+
/>
|
73
|
+
</div>
|
74
|
+
</div>
|
75
|
+
</Markup.ReactMarkupPreview>
|
76
|
+
|
77
|
+
<Markup.ReactMarkupCode>{`
|
78
|
+
<MultiSelect
|
79
|
+
value={this.state.value}
|
80
|
+
options={ItemArr}
|
81
|
+
onChange={(e: any) => this.setState({value: e.value})}
|
82
|
+
filter
|
83
|
+
showSelectAll
|
84
|
+
placeholder='Select a color'
|
85
|
+
optionLabel='name'
|
86
|
+
/>
|
87
|
+
`}</Markup.ReactMarkupCode>
|
88
|
+
|
89
|
+
</Markup.ReactMarkup>
|
90
|
+
|
91
|
+
<p className='docs-page__paragraph'>MultiSelect with custom template.</p>
|
92
|
+
|
93
|
+
<Markup.ReactMarkup>
|
94
|
+
<Markup.ReactMarkupPreview>
|
95
|
+
<div className='docs-page__content-row docs-page__content-row--no-margin'>
|
96
|
+
<div className='form__row'>
|
97
|
+
<MultiSelect
|
98
|
+
value={this.state.value2}
|
99
|
+
options={ItemArr}
|
100
|
+
onChange={(e: any) => this.setState({value2: e.value})}
|
101
|
+
filter
|
102
|
+
showSelectAll
|
103
|
+
optionLabel='name'
|
104
|
+
itemTemplate={(option) => {
|
105
|
+
if (option) {
|
106
|
+
return (
|
107
|
+
<div style={{display: 'flex', alignItems: 'center'}}>
|
108
|
+
<div style={{width: 10, height: 10, marginInlineEnd: 10, backgroundColor: option.colorCode}} />
|
109
|
+
<div>{option.name}</div>
|
110
|
+
</div>
|
111
|
+
);
|
112
|
+
}
|
113
|
+
}}
|
114
|
+
selectedItemTemplate={(option) => {
|
115
|
+
if (option == null) {
|
116
|
+
return (
|
117
|
+
<div>Select a color</div>
|
118
|
+
);
|
119
|
+
} else {
|
120
|
+
return (
|
121
|
+
<div className='p-multiselect-token'>
|
122
|
+
<span style={{width: 10, height: 10, marginInlineEnd: 10, backgroundColor: option.colorCode}} />
|
123
|
+
<span className='p-multiselect-token-label'>{option.name}</span>
|
124
|
+
</div>
|
125
|
+
);
|
126
|
+
}
|
127
|
+
}}
|
128
|
+
/>
|
129
|
+
</div>
|
130
|
+
</div>
|
131
|
+
</Markup.ReactMarkupPreview>
|
132
|
+
|
133
|
+
<Markup.ReactMarkupCode>{`
|
134
|
+
<MultiSelect
|
135
|
+
value={this.state.value2}
|
136
|
+
options={ItemArr}
|
137
|
+
onChange={(e: any) => this.setState({value2: e.value})}
|
138
|
+
filter
|
139
|
+
showSelectAll
|
140
|
+
optionLabel='name'
|
141
|
+
itemTemplate={(option) => {
|
142
|
+
if (option) {
|
143
|
+
return (
|
144
|
+
<div style={{display: 'flex', alignItems: 'center'}}>
|
145
|
+
<div style={{width: 10, height: 10, marginInlineEnd: 10, backgroundColor: option.colorCode}} />
|
146
|
+
<div>{option.name}</div>
|
147
|
+
</div>
|
148
|
+
);
|
149
|
+
}
|
150
|
+
}}
|
151
|
+
selectedItemTemplate={(option) => {
|
152
|
+
if (option == null) {
|
153
|
+
return (
|
154
|
+
<div>Select a color</div>
|
155
|
+
);
|
156
|
+
} else {
|
157
|
+
return (
|
158
|
+
<div className='p-multiselect-token'>
|
159
|
+
<span style={{width: 10, height: 10, marginInlineEnd: 10, backgroundColor: option.colorCode}} />
|
160
|
+
<span className='p-multiselect-token-label'>{option.name}</span>
|
161
|
+
</div>
|
162
|
+
);
|
163
|
+
}
|
164
|
+
}}
|
165
|
+
/>
|
166
|
+
`}</Markup.ReactMarkupCode>
|
167
|
+
|
168
|
+
</Markup.ReactMarkup>
|
169
|
+
|
170
|
+
<h3 className="docs-page__h3">Props</h3>
|
171
|
+
<PropsList>
|
172
|
+
<Prop name='value' isRequired={true} type='Array<T>' default='/' description='Value of the component.'/>
|
173
|
+
<Prop name='options' isRequired={true} type='Array<T>' default='/' description='An array of selectitems to display as the available options.'/>
|
174
|
+
<Prop name='optionLabel' isRequired={true} type='string' default='/' description='Name of the label field of an option when an arbitrary objects instead of SelectItems are used as options and decides which field or fields to search against.'/>
|
175
|
+
<Prop name='placeholder' isRequired={false} type='string' default='/' description='Label to display when there are no selections.'/>
|
176
|
+
<Prop name='filter' isRequired={false} type='boolean' default='false' description='When specified, displays an input field to filter the items on keyup.'/>
|
177
|
+
<Prop name='filterPlaceholder' isRequired={false} type='string' default='/' description='Placeholder text to show when filter input is empty.'/>
|
178
|
+
<Prop name='emptyFilterMessage' isRequired={false} type='string' default='No results found' description='Template to display when filtering does not return any results.'/>
|
179
|
+
<Prop name='maxSelectedLabels' isRequired={false} type='number' default='/' description='Decides how many selected item labels to show at most.'/>
|
180
|
+
<Prop name='selectedItemsLabel' isRequired={false} type='string' default='{0} items selected' description='Label to display after exceeding max selected labels.'/>
|
181
|
+
<Prop name='ariaLabelledBy' isRequired={false} type='string' default='/' description='Establishes relationships between the component and label(s) where its value should be one or more element IDs.'/>
|
182
|
+
<Prop name='tabIndex' isRequired={false} type='string' default="'0'" description='Index of the element in tabbing order.'/>
|
183
|
+
<Prop name='showClear' isRequired={false} type='boolean' default='false' description='When enabled, a clear icon is displayed to clear the value.'/>
|
184
|
+
<Prop name='showSelectAll' isRequired={false} type='boolean' default='false' description='Whether to show the select all checkbox inside the panel header.'/>
|
185
|
+
<Prop name='itemTemplate' isRequired={false} type='function' default='/' description='Function that gets the option and returns the content for it.'/>
|
186
|
+
<Prop name='selectedItemTemplate' isRequired={false} type='function' default='/' description='Function that gets an item in the value and returns the content for it.'/>
|
187
|
+
<Prop name='onChange' isRequired={true} type='function' default='/' description='Callback to invoke when value changes.'/>
|
188
|
+
</PropsList>
|
189
|
+
|
190
|
+
</section>
|
191
|
+
)
|
192
|
+
}
|
193
|
+
}
|
@@ -18,13 +18,13 @@ export default class NavButtonsDoc extends React.Component {
|
|
18
18
|
<Markup.ReactMarkup>
|
19
19
|
<Markup.ReactMarkupPreview>
|
20
20
|
<SubNav zIndex={2}>
|
21
|
-
<ButtonGroup align='
|
21
|
+
<ButtonGroup align='start' spaces='no-space'>
|
22
22
|
<Tooltip text='Filters' flow='right'>
|
23
23
|
<NavButton icon='filter-large' type='darker' state="active" text="Filter" onClick={() => false} />
|
24
24
|
</Tooltip>
|
25
25
|
<NavButton icon='search' text="Search" onClick={() => false} />
|
26
26
|
</ButtonGroup>
|
27
|
-
<ButtonGroup align='
|
27
|
+
<ButtonGroup align='end' spaces='no-space'>
|
28
28
|
<NavButton icon='list-plus' text="Add to list" onClick={() => false} />
|
29
29
|
<Tooltip text='More actions' flow='down'>
|
30
30
|
<NavButton icon='dots-vertical' text="More actions" onClick={() => false} />
|
@@ -37,13 +37,13 @@ export default class NavButtonsDoc extends React.Component {
|
|
37
37
|
</Markup.ReactMarkupPreview>
|
38
38
|
<Markup.ReactMarkupCode>{`
|
39
39
|
<SubNav zIndex={2}>
|
40
|
-
<ButtonGroup align='
|
40
|
+
<ButtonGroup align='start' spaces='no-space'>
|
41
41
|
<Tooltip text='Filters' flow='right'>
|
42
42
|
<NavButton icon='filter-large' type='darker' state="active" text="Filter" onClick={() => false} />
|
43
43
|
</Tooltip>
|
44
44
|
<NavButton icon='search' text="Search" onClick={() => false} />
|
45
45
|
</ButtonGroup>
|
46
|
-
<ButtonGroup align='
|
46
|
+
<ButtonGroup align='end' spaces='no-space'>
|
47
47
|
<NavButton icon='list-plus' text="Add to list" onClick={() => false} />
|
48
48
|
<Tooltip text='More actions' flow='down'>
|
49
49
|
<NavButton icon='dots-vertical' text="More actions" onClick={() => false} />
|
@@ -0,0 +1,366 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import * as Markup from '../../js/react';
|
3
|
+
import { PropsList, Prop, Button, ButtonGroup, IconButton, Label, SlidingToolbar } from '../../../app-typescript';
|
4
|
+
import * as PanelElements from '../../../app-typescript/components/Layouts/Panel';
|
5
|
+
|
6
|
+
interface IProps {
|
7
|
+
children?: React.ReactNode;
|
8
|
+
}
|
9
|
+
|
10
|
+
interface IState {
|
11
|
+
openPanel1: boolean;
|
12
|
+
openPanel2: boolean;
|
13
|
+
openPanel3: boolean;
|
14
|
+
openPanel4: boolean;
|
15
|
+
openToolbar1: boolean;
|
16
|
+
}
|
17
|
+
|
18
|
+
export default class PanelDoc extends React.Component<IProps, IState> {
|
19
|
+
constructor(props: IProps) {
|
20
|
+
super(props);
|
21
|
+
this.state = {
|
22
|
+
openPanel1: true,
|
23
|
+
openPanel2: true,
|
24
|
+
openPanel3: true,
|
25
|
+
openPanel4: true,
|
26
|
+
openToolbar1: true
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
// handlePanel() {
|
31
|
+
// this.setState((state) => ({
|
32
|
+
// openPanel: !state.openPanel,
|
33
|
+
// }));
|
34
|
+
// }
|
35
|
+
|
36
|
+
render() {
|
37
|
+
return (
|
38
|
+
<section className='docs-page__container'>
|
39
|
+
<h2 className='docs-page__h2'>Panel</h2>
|
40
|
+
|
41
|
+
<Markup.ReactMarkupCodePreview>{`
|
42
|
+
<Panel side='left' size="small">
|
43
|
+
<PanelHeader title='Title for the Panel' handlePanelParent={()=> false}>
|
44
|
+
</PanelHeader>
|
45
|
+
<PanelContent>
|
46
|
+
<PanelContentBlock>
|
47
|
+
...
|
48
|
+
</PanelContentBlock>
|
49
|
+
</PanelContent>
|
50
|
+
<PanelFooter>
|
51
|
+
<Button text='Clear' style='hollow' onClick={() => false} />
|
52
|
+
<Button text='Submit' type='primary' onClick={() => false} />
|
53
|
+
</PanelFooter>
|
54
|
+
</Panel>
|
55
|
+
`}
|
56
|
+
</Markup.ReactMarkupCodePreview>
|
57
|
+
|
58
|
+
<p className="docs-page__paragraph">...</p>
|
59
|
+
|
60
|
+
<Markup.ReactMarkup>
|
61
|
+
<Markup.ReactMarkupPreview>
|
62
|
+
<p className="docs-page__paragraph">// Left</p>
|
63
|
+
<div className='sd-display--flex' style={{border: '1px solid var(--sd-colour-line--medium)', backgroundColor: 'var(--sd-colour-panel-bg--100)', maxHeight: '400px'}}>
|
64
|
+
{this.state.openPanel1 ? null :
|
65
|
+
<div className='sd-display--flex sd-flex--items-center sd-flex--justify-center sd-flex--grow'>
|
66
|
+
<Button text="Open Panel" style="filled" onClick={() => this.setState({'openPanel1': true})} />
|
67
|
+
</div>
|
68
|
+
}
|
69
|
+
<PanelElements.Panel side='left' background='light' open={this.state.openPanel1} size='x-small'>
|
70
|
+
<PanelElements.PanelHeader title='This is the title for the Panel' onClose={() => this.setState({'openPanel1': false})}>
|
71
|
+
</PanelElements.PanelHeader>
|
72
|
+
<PanelElements.PanelContent>
|
73
|
+
<PanelElements.PanelContentBlock>
|
74
|
+
<p className='sd-margin-b--2'>Maecenas sed diam eget risus varius blandit sit amet non magna. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas faucibus mollis interdum.
|
75
|
+
Cras justo odio, dapibus ac facilisis in, egestas eget quam. Aenean lacinia bibendum nulla sed consectetur. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
76
|
+
<p>Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis
|
77
|
+
vestibulum. Nullam quis risus eget urna mollis ornare vel eu leo. Curabitur blandit tempus porttitor. Aenean lacinia bibendum nulla sed consectetur.</p>
|
78
|
+
</PanelElements.PanelContentBlock>
|
79
|
+
</PanelElements.PanelContent>
|
80
|
+
<PanelElements.PanelFooter>
|
81
|
+
<Button text='Clear' style='hollow' onClick={() => false} />
|
82
|
+
<Button text='Submit' type='primary' onClick={() => false} />
|
83
|
+
</PanelElements.PanelFooter>
|
84
|
+
</PanelElements.Panel>
|
85
|
+
</div>
|
86
|
+
</Markup.ReactMarkupPreview>
|
87
|
+
<Markup.ReactMarkupCode>{`
|
88
|
+
// Left
|
89
|
+
{this.state.openPanel1 ? null :
|
90
|
+
<div className='sd-display--flex sd-flex--items-center sd-flex--justify-center sd-flex--grow'>
|
91
|
+
<Button text="Open Panel" style="filled" onClick={() => this.setState({'openPanel1': true})} />
|
92
|
+
</div>
|
93
|
+
}
|
94
|
+
<PanelElements.Panel side='left' background='light' open={this.state.openPanel1} size='x-small'>
|
95
|
+
<PanelElements.PanelHeader title='This is the title for the Panel' onClose={() => this.setState({'openPanel1': false})}>
|
96
|
+
</PanelElements.PanelHeader>
|
97
|
+
<PanelElements.PanelContent>
|
98
|
+
<PanelElements.PanelContentBlock>
|
99
|
+
<p className='sd-margin-b--2'>Maecenas sed diam eget risus varius blandit sit amet non magna...</p>
|
100
|
+
<p>Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada...</p>
|
101
|
+
</PanelElements.PanelContentBlock>
|
102
|
+
</PanelElements.PanelContent>
|
103
|
+
<PanelElements.PanelFooter>
|
104
|
+
<Button text='Clear' style='hollow' onClick={() => false} />
|
105
|
+
<Button text='Submit' type='primary' onClick={() => false} />
|
106
|
+
</PanelElements.PanelFooter>
|
107
|
+
</PanelElements.Panel>
|
108
|
+
`}
|
109
|
+
</Markup.ReactMarkupCode>
|
110
|
+
</Markup.ReactMarkup>
|
111
|
+
|
112
|
+
<Markup.ReactMarkup>
|
113
|
+
<Markup.ReactMarkupPreview>
|
114
|
+
<p className="docs-page__paragraph">// Right, custom elements inside the footer + dark theme.</p>
|
115
|
+
<div className='sd-display--flex' style={{border: '1px solid var(--sd-colour-line--medium)', backgroundColor: 'var(--sd-colour-panel-bg--100)', maxHeight: '400px'}}>
|
116
|
+
{this.state.openPanel2 ? null :
|
117
|
+
<div className='sd-display--flex sd-flex--items-center sd-flex--justify-center sd-flex--grow'>
|
118
|
+
<Button text="Open Panel" style="filled" onClick={() => this.setState({'openPanel2': true})} />
|
119
|
+
</div>
|
120
|
+
}
|
121
|
+
<PanelElements.Panel side='right' background='light' open={this.state.openPanel2} size='small' theme="dark">
|
122
|
+
<PanelElements.PanelHeader title='Right panel title' onClose={()=> this.setState({openPanel2: false})} color='blueGreyDarker'>
|
123
|
+
</PanelElements.PanelHeader>
|
124
|
+
<PanelElements.PanelContent>
|
125
|
+
<PanelElements.PanelContentBlock>
|
126
|
+
<p className='sd-margin-b--2'>Curabitur blandit tempus porttitor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sed odio dui. Aenean eu leo quam. Pellentesque ornare sem
|
127
|
+
lacinia quam venenatis vestibulum.</p>
|
128
|
+
<p className='sd-margin-b--2'>Donec ullamcorper nulla non metus auctor fringilla. Cras mattis consectetur purus sit amet fermentum. Donec id elit non mi porta gravida at eget metus.
|
129
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus,
|
130
|
+
nisi erat porttitor ligula, eget lacinia odio sem nec elit. Vestibulum id ligula porta felis euismod semper.</p>
|
131
|
+
<p>Aenean lacinia bibendum nulla sed consectetur. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam porta sem malesuada
|
132
|
+
magna mollis euismod. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p>
|
133
|
+
</PanelElements.PanelContentBlock>
|
134
|
+
</PanelElements.PanelContent>
|
135
|
+
<PanelElements.PanelFooter>
|
136
|
+
<ButtonGroup align='start'>
|
137
|
+
<Button text='one' style='hollow' onClick={()=> false} />
|
138
|
+
<Button text='two' style='hollow' onClick={()=> false} />
|
139
|
+
<Label text='Published' type='primary' style='translucent'/>
|
140
|
+
</ButtonGroup>
|
141
|
+
<ButtonGroup align='end'>
|
142
|
+
<IconButton icon='pencil' ariaValue={'Edit'} onClick={() => false} />
|
143
|
+
<IconButton icon='dots-vertical' ariaValue={'More options'} onClick={() => false} />
|
144
|
+
</ButtonGroup>
|
145
|
+
</PanelElements.PanelFooter>
|
146
|
+
</PanelElements.Panel>
|
147
|
+
</div>
|
148
|
+
</Markup.ReactMarkupPreview>
|
149
|
+
<Markup.ReactMarkupCode>{`
|
150
|
+
// Right, custom elements inside the footer + dark theme.
|
151
|
+
|
152
|
+
{this.state.openPanel2 ? null :
|
153
|
+
<div className='sd-display--flex sd-flex--items-center sd-flex--justify-center sd-flex--grow'>
|
154
|
+
<Button text="Open Panel" style="filled" onClick={() => this.setState({'openPanel2': true})} />
|
155
|
+
</div>
|
156
|
+
}
|
157
|
+
<PanelElements.Panel side='right' background='light' open={this.state.openPanel2} size='small' theme="dark-ui">
|
158
|
+
<PanelElements.PanelHeader title='Right panel title' onClose={()=> this.setState({openPanel2: false})} color='blueGreyDarker'>
|
159
|
+
</PanelElements.PanelHeader>
|
160
|
+
<PanelElements.PanelContent>
|
161
|
+
<PanelElements.PanelContentBlock>
|
162
|
+
<p className='sd-margin-b--2'>Curabitur blandit tempus porttitor. Lorem ipsum dolor sit amet, consectetur adipiscing elit...</p>
|
163
|
+
<p className='sd-margin-b--2'>Donec ullamcorper nulla non metus auctor fringilla. Cras mattis consectetur purus sit amet fermentum...</p>
|
164
|
+
<p>Aenean lacinia bibendum nulla sed consectetur. Cum sociis natoque penatibus et magnis dis parturient...</p>
|
165
|
+
</PanelElements.PanelContentBlock>
|
166
|
+
</PanelElements.PanelContent>
|
167
|
+
<PanelElements.PanelFooter>
|
168
|
+
<ButtonGroup align='start'>
|
169
|
+
<Button text='one' style='hollow' onClick={()=> false} />
|
170
|
+
<Button text='two' style='hollow' onClick={()=> false} />
|
171
|
+
<Label text='Published' type='primary' style='translucent'/>
|
172
|
+
</ButtonGroup>
|
173
|
+
<ButtonGroup align='end'>
|
174
|
+
<IconButton icon='pencil' ariaValue={'Edit'} onClick={() => false} />
|
175
|
+
<IconButton icon='dots-vertical' ariaValue={'More options'} onClick={() => false} />
|
176
|
+
</ButtonGroup>
|
177
|
+
</PanelElements.PanelFooter>
|
178
|
+
</PanelElements.Panel>
|
179
|
+
`}
|
180
|
+
</Markup.ReactMarkupCode>
|
181
|
+
</Markup.ReactMarkup>
|
182
|
+
|
183
|
+
<Markup.ReactMarkup>
|
184
|
+
<Markup.ReactMarkupPreview>
|
185
|
+
<p className="docs-page__paragraph">// With PanelHeaderSlidingToolbar element inside the PanelHeader</p>
|
186
|
+
<div className='sd-display--flex' style={{border: '1px solid var(--sd-colour-line--medium)', backgroundColor: 'var(--sd-colour-panel-bg--100)', maxHeight: '400px'}}>
|
187
|
+
{this.state.openPanel3 ? null :
|
188
|
+
<div className='sd-display--flex sd-flex--items-center sd-flex--justify-center sd-flex--grow'>
|
189
|
+
<Button text="Open Panel" style="filled" onClick={() => this.setState({'openPanel3': true})} />
|
190
|
+
</div>
|
191
|
+
}
|
192
|
+
<PanelElements.Panel side='left' background='light' open={this.state.openPanel3} size='small'>
|
193
|
+
<PanelElements.PanelHeader title='Donec sed odio dui' onClose={()=> this.setState({openPanel3: false})}>
|
194
|
+
{!this.state.openToolbar1 ? null :
|
195
|
+
<PanelElements.PanelHeaderSlidingToolbar>
|
196
|
+
<ButtonGroup align='end'>
|
197
|
+
<Button text='Cancel' style='hollow' onClick={()=> this.setState({openToolbar1: false})} />
|
198
|
+
<Button text='Save' style='hollow' type='primary' onClick={()=> this.setState({openToolbar1: false})} />
|
199
|
+
</ButtonGroup>
|
200
|
+
</PanelElements.PanelHeaderSlidingToolbar>
|
201
|
+
}
|
202
|
+
</PanelElements.PanelHeader>
|
203
|
+
<PanelElements.PanelContent>
|
204
|
+
<PanelElements.PanelContentBlock>
|
205
|
+
<p className='sd-margin-b--2'>Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Donec id elit non mi porta gravida
|
206
|
+
at eget metus. Nulla vitae elit libero, a pharetra augue. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus
|
207
|
+
dolor auctor. Nulla vitae elit libero, a pharetra augue.</p>
|
208
|
+
<p>Donec ullamcorper nulla non metus auctor fringilla. Cras mattis consectetur purus sit amet fermentum. Donec id elit non mi porta gravida at eget metus.
|
209
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus,
|
210
|
+
nisi erat porttitor ligula, eget lacinia odio sem nec elit. Vestibulum id ligula porta felis euismod semper.</p>
|
211
|
+
</PanelElements.PanelContentBlock>
|
212
|
+
</PanelElements.PanelContent>
|
213
|
+
<PanelElements.PanelFooter>
|
214
|
+
{this.state.openToolbar1 ? null :
|
215
|
+
<ButtonGroup align='start'>
|
216
|
+
<Button text='Open Slide In Toolbar' style='hollow' onClick={()=> this.setState({openToolbar1: true})} />
|
217
|
+
</ButtonGroup>
|
218
|
+
}
|
219
|
+
<ButtonGroup align='end'>
|
220
|
+
<IconButton icon='dots-vertical' ariaValue={'More options'} onClick={() => false} />
|
221
|
+
</ButtonGroup>
|
222
|
+
</PanelElements.PanelFooter>
|
223
|
+
</PanelElements.Panel>
|
224
|
+
</div>
|
225
|
+
</Markup.ReactMarkupPreview>
|
226
|
+
<Markup.ReactMarkupCode>{`
|
227
|
+
// With PanelHeaderSlidingToolbar element inside the PanelHeader
|
228
|
+
|
229
|
+
{this.state.openPanel3 ? null :
|
230
|
+
<div className='sd-display--flex sd-flex--items-center sd-flex--justify-center sd-flex--grow'>
|
231
|
+
<Button text="Open Panel" style="filled" onClick={() => this.setState({'openPanel3': true})} />
|
232
|
+
</div>
|
233
|
+
}
|
234
|
+
<PanelElements.Panel side='left' background='light' open={this.state.openPanel3} size='small'>
|
235
|
+
<PanelElements.PanelHeader title='Donec sed odio dui' onClose={()=> this.setState({openPanel3: false})}>
|
236
|
+
{!this.state.openToolbar1 ? null :
|
237
|
+
<PanelElements.PanelHeaderSlidingToolbar>
|
238
|
+
<ButtonGroup align='end'>
|
239
|
+
<Button text='Cancel' style='hollow' onClick={()=> this.setState({openToolbar1: false})} />
|
240
|
+
<Button text='Save' style='hollow' type='primary' onClick={()=> this.setState({openToolbar1: false})} />
|
241
|
+
</ButtonGroup>
|
242
|
+
</PanelElements.PanelHeaderSlidingToolbar>
|
243
|
+
}
|
244
|
+
</PanelElements.PanelHeader>
|
245
|
+
<PanelElements.PanelContent>
|
246
|
+
<PanelElements.PanelContentBlock>
|
247
|
+
<p className='sd-margin-b--2'>Fusce dapibus, tellus ac cursus commodo...</p>
|
248
|
+
<p>Donec ullamcorper nulla non metus auctor fringilla. Cras mattis consectetur purus...</p>
|
249
|
+
</PanelElements.PanelContentBlock>
|
250
|
+
</PanelElements.PanelContent>
|
251
|
+
<PanelElements.PanelFooter>
|
252
|
+
{this.state.openToolbar1 ? null :
|
253
|
+
<ButtonGroup align='start'>
|
254
|
+
<Button text='Open Slide In Toolbar' style='hollow' onClick={()=> this.setState({openToolbar1: true})} />
|
255
|
+
</ButtonGroup>
|
256
|
+
}
|
257
|
+
<ButtonGroup align='end'>
|
258
|
+
<IconButton icon='dots-vertical' ariaValue={'More options'} onClick={() => false} />
|
259
|
+
</ButtonGroup>
|
260
|
+
</PanelElements.PanelFooter>
|
261
|
+
</PanelElements.Panel>
|
262
|
+
`}
|
263
|
+
</Markup.ReactMarkupCode>
|
264
|
+
</Markup.ReactMarkup>
|
265
|
+
|
266
|
+
<Markup.ReactMarkup>
|
267
|
+
<Markup.ReactMarkupPreview>
|
268
|
+
<p className="docs-page__paragraph">// With PanelTools (allowing custom actions) + dark theme</p>
|
269
|
+
<div className='sd-display--flex' style={{border: '1px solid var(--sd-colour-line--medium)', backgroundColor: 'var(--sd-colour-panel-bg--100)', maxHeight: '400px'}}>
|
270
|
+
{this.state.openPanel4 ? null :
|
271
|
+
<div className='sd-display--flex sd-flex--items-center sd-flex--justify-center sd-flex--grow'>
|
272
|
+
<Button text="Open Panel" style="filled" onClick={() => this.setState({'openPanel4': true})} />
|
273
|
+
</div>
|
274
|
+
}
|
275
|
+
<PanelElements.Panel side='left' background='light' open={this.state.openPanel4} size='x-small' theme='dark'>
|
276
|
+
<PanelElements.PanelHeader title='Donec sed odio dui'>
|
277
|
+
<PanelElements.PanelTools tools={[
|
278
|
+
{title: 'Delete', icon: 'trash', onClick: () => false, ariaValue: 'Delete' },
|
279
|
+
{title: 'Edit', icon: 'pencil', onClick: () => false, ariaValue: 'Edit' },
|
280
|
+
{title: 'Close', icon: 'close-small', onClick: ()=> this.setState({openPanel4: false}), ariaValue: 'Close' },
|
281
|
+
]} />
|
282
|
+
</PanelElements.PanelHeader>
|
283
|
+
<PanelElements.PanelContent>
|
284
|
+
<PanelElements.PanelContentBlock>
|
285
|
+
<p className='sd-margin-b--2'>Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Donec id elit non mi porta gravida
|
286
|
+
at eget metus. Nulla vitae elit libero, a pharetra augue.</p>
|
287
|
+
<p>Donec ullamcorper nulla non metus auctor fringilla. Cras mattis consectetur purus sit amet fermentum. Donec id elit non mi porta gravida at eget metus.
|
288
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
289
|
+
</PanelElements.PanelContentBlock>
|
290
|
+
</PanelElements.PanelContent>
|
291
|
+
<PanelElements.PanelFooter>
|
292
|
+
<Button text='Cancel' style='hollow' onClick={() => false} />
|
293
|
+
<Button text='Save' type='primary' onClick={() => false} />
|
294
|
+
</PanelElements.PanelFooter>
|
295
|
+
</PanelElements.Panel>
|
296
|
+
</div>
|
297
|
+
</Markup.ReactMarkupPreview>
|
298
|
+
<Markup.ReactMarkupCode>{`
|
299
|
+
// With PanelTools (allowing custom actions) + dark theme
|
300
|
+
|
301
|
+
{this.state.openPanel4 ? null :
|
302
|
+
<div className='sd-display--flex sd-flex--items-center sd-flex--justify-center sd-flex--grow'>
|
303
|
+
<Button text="Open Panel" style="filled" onClick={() => this.setState({'openPanel4': true})} />
|
304
|
+
</div>
|
305
|
+
}
|
306
|
+
<PanelElements.Panel side='left' background='light' open={this.state.openPanel4} size='x-small' theme='dark-ui'>
|
307
|
+
<PanelElements.PanelHeader title='Donec sed odio dui'>
|
308
|
+
<PanelElements.PanelTools tools={[
|
309
|
+
{title: 'Delete', icon: 'trash', onClick: () => false, ariaValue: 'Delete' },
|
310
|
+
{title: 'Edit', icon: 'pencil', onClick: () => false, ariaValue: 'Edit' },
|
311
|
+
{title: 'Close', icon: 'close-small', onClick: ()=> this.setState({openPanel4: false}), ariaValue: 'Close' },
|
312
|
+
]} />
|
313
|
+
</PanelElements.PanelHeader>
|
314
|
+
<PanelElements.PanelContent>
|
315
|
+
<PanelElements.PanelContentBlock>
|
316
|
+
<p className='sd-margin-b--2'>Fusce dapibus, tellus ac cursus commodo, tortor mauris...</p>
|
317
|
+
<p>Donec ullamcorper nulla non metus auctor fringilla. Cras mattis consectetur purus sit amet...</p>
|
318
|
+
</PanelElements.PanelContentBlock>
|
319
|
+
</PanelElements.PanelContent>
|
320
|
+
<PanelElements.PanelFooter>
|
321
|
+
<Button text='Cancel' style='hollow' onClick={() => false} />
|
322
|
+
<Button text='Save' type='primary' onClick={() => false} />
|
323
|
+
</PanelElements.PanelFooter>
|
324
|
+
</PanelElements.Panel>
|
325
|
+
`}
|
326
|
+
</Markup.ReactMarkupCode>
|
327
|
+
</Markup.ReactMarkup>
|
328
|
+
|
329
|
+
|
330
|
+
<h3 className="docs-page__h3">Props</h3>
|
331
|
+
<p className="docs-page__paragraph">Panel</p>
|
332
|
+
<PropsList>
|
333
|
+
<Prop name='size' isRequired={false} type='xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large | full | auto' default='small' description='Specifies the width of the panel.'/>
|
334
|
+
<Prop name='side' isRequired={false} type='left | right' default='left' description='Defines the side of the panel. It will also add the appropriate shadow on the opsite side.'/>
|
335
|
+
<Prop name='theme' isRequired={false} type='light | dark' default='/' description='Explicitly define the theme of the panel. All child elements and the content will inherit the selected theme.'/>
|
336
|
+
<Prop name='background' isRequired={false} type='transparent | light | grey' default='light' description='Background colour of the panel.'/>
|
337
|
+
<Prop name='open' isRequired={false} type='boolean' default='false' description='Toggles the open/closed state of the panel.'/>
|
338
|
+
<Prop name='ClassName' isRequired={false} type='string' default='false' description='Add custom classes to modify the default behaviour or specify the placement in complex layouts.'/>
|
339
|
+
</PropsList>
|
340
|
+
|
341
|
+
<p className="docs-page__paragraph">PanelHeader</p>
|
342
|
+
<PropsList>
|
343
|
+
<Prop name='title' isRequired={false} type='string' default='/' description='Specifies the title of the panel.'/>
|
344
|
+
<Prop name='zIndex' isRequired={false} type='number' default='1' description='Increase the z-index of the header if needed.'/>
|
345
|
+
<Prop name='theme' isRequired={false} type='light | dark' default='/' description='Explicitly define the theme just for the of Panel Header. All child elements and the content inside the Header will inherit the selected theme.'/>
|
346
|
+
<Prop name='color' isRequired={false} type='light | darker | blueGrey | blueGreyDarker' default='light' description='Background colour of the Panel Header. blueGrey and blueGreyDarker will also change the text colour to white.'/>
|
347
|
+
<Prop name='ClassName' isRequired={false} type='string' default='false' description='Add custom or helper classes to modify the default behaviour if needed. Use only if necessary.'/>
|
348
|
+
</PropsList>
|
349
|
+
|
350
|
+
<p className="docs-page__paragraph">PanelContent</p>
|
351
|
+
<PropsList>
|
352
|
+
<Prop name='loading' isRequired={false} type='boolean' default='false' description='Loading state.'/>
|
353
|
+
<Prop name='empty' isRequired={false} type='boolean' default='false' description='Empty state'/>
|
354
|
+
<Prop name='emptyTemplate' isRequired={false} type='ReactNode' default='/' description='Use the EmptyState component to define the image and text for the empty state.'/>
|
355
|
+
</PropsList>
|
356
|
+
|
357
|
+
<p className="docs-page__paragraph">PanelContentBlock</p>
|
358
|
+
<PropsList>
|
359
|
+
<Prop name='flex' isRequired={false} type='boolean' default='false' description='Change to flex display mode.'/>
|
360
|
+
<Prop name='padding' isRequired={false} type='0 | 1-5 | 3' default='2' description='Choose padding for the content block. Defaults to 2 (16px) without specifiying a value.'/>
|
361
|
+
<Prop name='ClassName' isRequired={false} type='string' default='false' description='Add custom or helper classes to modify the default behaviour or layout if needed.'/>
|
362
|
+
</PropsList>
|
363
|
+
</section>
|
364
|
+
)
|
365
|
+
}
|
366
|
+
}
|