@heliux-org/design-system-core 0.0.401 → 0.0.402
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/PanelLayout/PanelLayout.js +9 -6
- package/dist/components/PanelLayout/PanelLayout.js.map +1 -1
- package/dist/components/index.js +3 -1
- package/dist/components/index.js.map +1 -1
- package/dist/esm/components/Icon/SvgIcon/paths.d.ts +8 -0
- package/dist/esm/components/Icon/SvgIcon/paths.d.ts.map +1 -1
- package/dist/esm/components/PanelLayout/PanelLayout.d.ts +10 -1
- package/dist/esm/components/PanelLayout/PanelLayout.d.ts.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/src/components/Accordion/Accordion/Accordion.module.scss.js +1 -1
- package/dist/esm/src/components/AlertBanner/AlertBanner.module.scss.js +1 -1
- package/dist/esm/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.module.scss.js +1 -1
- package/dist/esm/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.module.scss.js +1 -1
- package/dist/esm/src/components/AlertBanner/AlertBannerText/AlertBannerText.module.scss.js +1 -1
- package/dist/esm/src/components/AttentionBox/AttentionBox.module.scss.js +1 -1
- package/dist/esm/src/components/AttentionBox/AttentionBoxLink/AttentionBoxLink.module.scss.js +1 -1
- package/dist/esm/src/components/Avatar/Avatar.module.scss.js +1 -1
- package/dist/esm/src/components/Avatar/AvatarBadge.module.scss.js +1 -1
- package/dist/esm/src/components/Avatar/AvatarContent.module.scss.js +1 -1
- package/dist/esm/src/components/AvatarGroup/AvatarGroup.module.scss.js +1 -1
- package/dist/esm/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js +1 -1
- package/dist/esm/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +1 -1
- package/dist/esm/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +1 -1
- package/dist/esm/src/components/Badge/Badge.module.scss.js +1 -1
- package/dist/esm/src/components/Badge/Indicator/Indicator.module.scss.js +1 -1
- package/dist/esm/src/components/Box/Box.module.scss.js +1 -1
- package/dist/esm/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.module.scss.js +1 -1
- package/dist/esm/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.module.scss.js +1 -1
- package/dist/esm/src/components/BreadcrumbsBar/BreadcrumbsBar.module.scss.js +1 -1
- package/dist/esm/src/components/Button/Button.module.scss.js +1 -1
- package/dist/esm/src/components/ButtonGroup/ButtonGroup.module.scss.js +1 -1
- package/dist/esm/src/components/Checkbox/Checkbox.module.scss.js +1 -1
- package/dist/esm/src/components/Clickable/Clickable.module.scss.js +1 -1
- package/dist/esm/src/components/ColorPicker/ColorPicker.module.scss.js +1 -1
- package/dist/esm/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.module.scss.js +1 -1
- package/dist/esm/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.module.scss.js +1 -1
- package/dist/esm/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/Combobox.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/ComboboxHelpers/ComboboxHelpers.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/components/ComboboxItems/ComboboxItems.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/components/ComboboxOption/ComboboxOption.module.scss.js +1 -1
- package/dist/esm/src/components/Combobox/components/StickyCategoryHeader/StickyCategoryHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Comments/comments.scss.js +1 -1
- package/dist/esm/src/components/Counter/Counter.module.scss.js +1 -1
- package/dist/esm/src/components/DatePicker/DateNavigationItem/DateNavigationItem.module.scss.js +1 -1
- package/dist/esm/src/components/DatePicker/DatePicker.module.scss.js +1 -1
- package/dist/esm/src/components/DatePicker/DatePickerHeader/DatePickerHeader.module.scss.js +1 -1
- package/dist/esm/src/components/DatePicker/YearPicker/YearPicker.module.scss.js +1 -1
- package/dist/esm/src/components/DatePicker/external_datepicker.scss.js +1 -1
- package/dist/esm/src/components/Dialog/Dialog.module.scss.js +1 -1
- package/dist/esm/src/components/Dialog/DialogContent/DialogContent.module.scss.js +1 -1
- package/dist/esm/src/components/DialogContentContainer/DialogContentContainer.module.scss.js +1 -1
- package/dist/esm/src/components/Diffs/DiffCell/DiffCell.module.scss.js +1 -1
- package/dist/esm/src/components/Divider/Divider.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/Dropdown.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/ChildrenContent/ChildrenContent.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/ClearIndicator/ClearIndicator.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/menu/menu.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/option/option.module.scss.js +1 -1
- package/dist/esm/src/components/Dropdown/components/singleValue/singleValue.module.scss.js +1 -1
- package/dist/esm/src/components/DynamicPanelLayout/PanelLayout.module.scss.js +1 -1
- package/dist/esm/src/components/EditableHeading/EditableHeading.module.scss.js +1 -1
- package/dist/esm/src/components/EditableInput/EditableInput.module.scss.js +1 -1
- package/dist/esm/src/components/EditableText/EditableText.module.scss.js +1 -1
- package/dist/esm/src/components/EditableTypography/EditableTypography.module.scss.js +1 -1
- package/dist/esm/src/components/EmptyState/EmptyState.module.scss.js +1 -1
- package/dist/esm/src/components/ExpandCollapse/ExpandCollapse.module.scss.js +1 -1
- package/dist/esm/src/components/FieldLabel/FieldLabel.module.scss.js +1 -1
- package/dist/esm/src/components/Flex/Flex.module.scss.js +1 -1
- package/dist/esm/src/components/FormattedNumber/FormattedNumber.module.scss.js +1 -1
- package/dist/esm/src/components/HeaderActions/HeaderActions.module.scss.js +1 -1
- package/dist/esm/src/components/Heading/Heading.module.scss.js +1 -1
- package/dist/esm/src/components/HiddenText/HiddenText.module.scss.js +1 -1
- package/dist/esm/src/components/Icon/Icon.module.scss.js +1 -1
- package/dist/esm/src/components/IconButton/IconButton.module.scss.js +1 -1
- package/dist/esm/src/components/InlineEdit/InlineEdit.module.scss.js +1 -1
- package/dist/esm/src/components/Label/Label.module.scss.js +1 -1
- package/dist/esm/src/components/LegacyEditableHeading/LegacyEditableHeading.module.scss.js +1 -1
- package/dist/esm/src/components/LegacyHeading/LegacyHeading.module.scss.js +1 -1
- package/dist/esm/src/components/Link/Link.module.scss.js +1 -1
- package/dist/esm/src/components/List/List.module.scss.js +1 -1
- package/dist/esm/src/components/List/VirtualizedListItems/VirtualizedListItems.module.scss.js +1 -1
- package/dist/esm/src/components/ListItem/ListItem.module.scss.js +1 -1
- package/dist/esm/src/components/ListItemAvatar/ListItemAvatar.module.scss.js +1 -1
- package/dist/esm/src/components/ListItemIcon/ListItemIcon.module.scss.js +1 -1
- package/dist/esm/src/components/ListTitle/ListTitle.module.scss.js +1 -1
- package/dist/esm/src/components/Loader/Loader.module.scss.js +1 -1
- package/dist/esm/src/components/Menu/Menu/Menu.module.scss.js +1 -1
- package/dist/esm/src/components/Menu/MenuDivider/MenuDivider.module.scss.js +1 -1
- package/dist/esm/src/components/Menu/MenuItem/MenuItem.module.scss.js +1 -1
- package/dist/esm/src/components/Menu/MenuItemButton/MenuItemButton.module.scss.js +1 -1
- package/dist/esm/src/components/Menu/MenuTitle/MenuTitle.module.scss.js +1 -1
- package/dist/esm/src/components/MenuButton/MenuButton.module.scss.js +1 -1
- package/dist/esm/src/components/Modal/Modal.module.scss.js +1 -1
- package/dist/esm/src/components/Modal/ModalContent/ModalContent.module.scss.js +1 -1
- package/dist/esm/src/components/Modal/ModalFooter/ModalFooter.module.scss.js +1 -1
- package/dist/esm/src/components/Modal/ModalHeader/ModalHeader.module.scss.js +1 -1
- package/dist/esm/src/components/MultiStepIndicator/MultiStepIndicator.module.scss.js +1 -1
- package/dist/esm/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/Table.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/Cell/Cell.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/Cell/HeaderCell/HeaderCell.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/ExpandedContent/ExpandedContent.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/Row/Row.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/TableHead/TableHead.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/TableHeader/TableHeader.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/ToggleExpandedIcon/ToggleExpandedIcon.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/newComponents/pagination/Pagination.module.scss.js +1 -1
- package/dist/esm/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.module.scss.js +1 -1
- package/dist/esm/src/components/NumericField/NumericField.module.scss.js +1 -1
- package/dist/esm/src/components/PageHeader/PageHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Panel/Panel.module.scss.js +1 -1
- package/dist/esm/src/components/PanelLayout/PanelLayout.js +1 -1
- package/dist/esm/src/components/PanelLayout/PanelLayout.js.map +1 -1
- package/dist/esm/src/components/PanelLayout/PanelLayout.module.scss.js +1 -1
- package/dist/esm/src/components/ProcessingToast/ProcessingToast.module.scss.js +1 -1
- package/dist/esm/src/components/ProgressBars/LinearProgressBar/Bar/Bar.module.scss.js +1 -1
- package/dist/esm/src/components/ProgressBars/LinearProgressBar/LinearProgressBar.module.scss.js +1 -1
- package/dist/esm/src/components/ProgressBars/PercentageLabel/PercentageLabel.module.scss.js +1 -1
- package/dist/esm/src/components/RadioButton/RadioButton.module.scss.js +1 -1
- package/dist/esm/src/components/ResponsiveList/ResponsiveList.module.scss.js +1 -1
- package/dist/esm/src/components/ScrollableContainer/scrollableContainer.scss.js +1 -1
- package/dist/esm/src/components/Search/Search.module.scss.js +1 -1
- package/dist/esm/src/components/SectionHeader/SectionHeader.module.scss.js +1 -1
- package/dist/esm/src/components/SegmentControl/SegmentControlCell/SegmentControlCell.module.scss.js +1 -1
- package/dist/esm/src/components/SegmentControl/SegmentControlList/SegmentControlList.module.scss.js +1 -1
- package/dist/esm/src/components/Sidebar/Sidebar.module.scss.js +1 -1
- package/dist/esm/src/components/Skeleton/Skeleton.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SelectionIndicator.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/Slider.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderBase/SliderBase.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderBase/SliderFilledTrack.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderBase/SliderRail.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderBase/SliderThumb.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderBase/SliderTrack.module.scss.js +1 -1
- package/dist/esm/src/components/Slider/SliderInfix.module.scss.js +1 -1
- package/dist/esm/src/components/SplitButton/SplitButton.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/Steps.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/StepsCommand.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/StepsDot.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/StepsGalleryHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/StepsHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Steps/StepsNumbersHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Switch/Switch.module.scss.js +1 -1
- package/dist/esm/src/components/Table/TableHeader.module.scss.js +1 -1
- package/dist/esm/src/components/Table/styling/column-filter.scss.js +1 -1
- package/dist/esm/src/components/Table/styling/paginator.scss.js +1 -1
- package/dist/esm/src/components/Table/styling/table_base.scss.js +1 -1
- package/dist/esm/src/components/Table/table.scss.js +1 -1
- package/dist/esm/src/components/Tabs/Tab/Tab.module.scss.js +1 -1
- package/dist/esm/src/components/Tabs/TabList/TabList.module.scss.js +1 -1
- package/dist/esm/src/components/Tabs/TabPanel/TabPanel.module.scss.js +1 -1
- package/dist/esm/src/components/Tabs/TabPanels/TabPanels.module.scss.js +1 -1
- package/dist/esm/src/components/Tags/Tags.module.scss.js +1 -1
- package/dist/esm/src/components/Text/Text.module.scss.js +1 -1
- package/dist/esm/src/components/TextAreaField/TextAreaField.module.scss.js +1 -1
- package/dist/esm/src/components/TextField/TextField.module.scss.js +1 -1
- package/dist/esm/src/components/TextWithHighlight/TextWithHighlight.module.scss.js +1 -1
- package/dist/esm/src/components/Timeline/Timeline/Timeline.module.scss.js +1 -1
- package/dist/esm/src/components/Timeline/TimelineRow/TimelineRow.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/Tipseen.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenBasicContent.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenContent.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenImage.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenMedia/TipseenMedia.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenTitle.module.scss.js +1 -1
- package/dist/esm/src/components/Tipseen/TipseenWizard.module.scss.js +1 -1
- package/dist/esm/src/components/Toast/Toast.module.scss.js +1 -1
- package/dist/esm/src/components/Toast/ToastLink/ToastLink.module.scss.js +1 -1
- package/dist/esm/src/components/Toggle/MockToggle.module.scss.js +1 -1
- package/dist/esm/src/components/Toggle/Toggle.module.scss.js +1 -1
- package/dist/esm/src/components/Toggle/ToggleText.module.scss.js +1 -1
- package/dist/esm/src/components/Tooltip/Tooltip.module.scss.js +1 -1
- package/dist/esm/src/components/TopNavigationBar/TopNavigationBar.module.scss.js +1 -1
- package/dist/esm/src/components/TopNavigationBar/components/Notification/Notification.module.scss.js +1 -1
- package/dist/esm/src/components/TopNavigationBar/components/NotificationItem/NotificationItem.module.scss.js +1 -1
- package/dist/esm/src/components/Tree/components/TreeFile/TreeFile.scss.js +1 -1
- package/dist/esm/src/components/Tree/components/TreeFolder/TreeFolder.scss.js +1 -1
- package/dist/esm/src/components/Tree/components/TreeStatusIcon/TreeStatusIcon.scss.js +1 -1
- package/dist/esm/src/components/Tree/components/expand/expand.scss.js +1 -1
- package/dist/esm/src/components/Typography/Typography.module.scss.js +1 -1
- package/dist/esm/src/components/Uploader/Uploader.scss.js +1 -1
- package/dist/esm/src/components/VirtualizedGrid/VirtualizedGrid.module.scss.js +1 -1
- package/dist/esm/src/components/VirtualizedList/VirtualizedList.module.scss.js +1 -1
- package/dist/esm/src/components/Workflow/workflow.scss.js +1 -1
- package/dist/esm/src/components/WorkflowCard/WorkflowCard.module.scss.js +1 -1
- package/dist/esm/src/components/WorkflowList/WorkflowList.module.scss.js +1 -1
- package/dist/esm/src/components/WorkflowStep/WorkflowStep.module.scss.js +1 -1
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/style/dist/index.min.css.js +1 -1
- package/dist/main.css +1 -0
- package/dist/main.css.map +1 -1
- package/dist/main.js +33 -5
- package/dist/main.js.map +1 -1
- package/dist/mocked_classnames_esm/components/Icon/SvgIcon/paths.d.ts +8 -0
- package/dist/mocked_classnames_esm/components/Icon/SvgIcon/paths.d.ts.map +1 -1
- package/dist/mocked_classnames_esm/components/PanelLayout/PanelLayout.d.ts +10 -1
- package/dist/mocked_classnames_esm/components/PanelLayout/PanelLayout.d.ts.map +1 -1
- package/dist/mocked_classnames_esm/components/index.d.ts +1 -0
- package/dist/mocked_classnames_esm/components/index.d.ts.map +1 -1
- package/dist/mocked_classnames_esm/src/components/Accordion/Accordion/Accordion.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AlertBanner/AlertBanner.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AlertBanner/AlertBannerButton/AlertBannerButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AlertBanner/AlertBannerLink/AlertBannerLink.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AlertBanner/AlertBannerText/AlertBannerText.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AttentionBox/AttentionBox.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AttentionBox/AttentionBoxLink/AttentionBoxLink.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Avatar/Avatar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Avatar/AvatarBadge.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Avatar/AvatarContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AvatarGroup/AvatarGroup.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AvatarGroup/AvatarGroupCounter.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AvatarGroup/AvatarGroupCounterTooltipContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/AvatarGroup/AvatarGroupCounterTooltipContentVirtualizedList.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Badge/Badge.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Badge/Indicator/Indicator.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Box/Box.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbContent/BreadcrumbContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/BreadcrumbsBar/BreadcrumbsBar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Button/Button.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ButtonGroup/ButtonGroup.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Checkbox/Checkbox.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Clickable/Clickable.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ColorPicker/ColorPicker.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/Combobox.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/ComboboxHelpers/ComboboxHelpers.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/components/ComboboxCategory/ComboboxCategory.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/components/ComboboxItems/ComboboxItems.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/components/ComboboxOption/ComboboxOption.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Combobox/components/StickyCategoryHeader/StickyCategoryHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Comments/comments.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Counter/Counter.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DatePicker/DateNavigationItem/DateNavigationItem.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DatePicker/DatePicker.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DatePicker/DatePickerHeader/DatePickerHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DatePicker/YearPicker/YearPicker.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DatePicker/external_datepicker.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dialog/Dialog.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dialog/DialogContent/DialogContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DialogContentContainer/DialogContentContainer.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Diffs/DiffCell/DiffCell.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Divider/Divider.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/Dropdown.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/ChildrenContent/ChildrenContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/ClearIndicator/ClearIndicator.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/menu/menu.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/option/option.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Dropdown/components/singleValue/singleValue.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/DynamicPanelLayout/PanelLayout.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/EditableHeading/EditableHeading.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/EditableInput/EditableInput.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/EditableText/EditableText.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/EditableTypography/EditableTypography.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/EmptyState/EmptyState.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ExpandCollapse/ExpandCollapse.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/FieldLabel/FieldLabel.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Flex/Flex.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/FormattedNumber/FormattedNumber.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/HeaderActions/HeaderActions.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Heading/Heading.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/HiddenText/HiddenText.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Icon/Icon.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/IconButton/IconButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/InlineEdit/InlineEdit.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Label/Label.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/LegacyEditableHeading/LegacyEditableHeading.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/LegacyHeading/LegacyHeading.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Link/Link.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/List/List.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/List/VirtualizedListItems/VirtualizedListItems.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ListItem/ListItem.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ListItemAvatar/ListItemAvatar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ListItemIcon/ListItemIcon.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ListTitle/ListTitle.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Loader/Loader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Menu/Menu/Menu.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Menu/MenuDivider/MenuDivider.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Menu/MenuItem/MenuItem.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Menu/MenuItemButton/MenuItemButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Menu/MenuTitle/MenuTitle.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/MenuButton/MenuButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Modal/Modal.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Modal/ModalContent/ModalContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Modal/ModalFooter/ModalFooter.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Modal/ModalHeader/ModalHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/MultiStepIndicator/MultiStepIndicator.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/Table.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/Cell/Cell.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/Cell/HeaderCell/HeaderCell.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/ExpandedContent/ExpandedContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/Row/Row.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/TableHead/TableHead.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/TableHeader/TableHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/ToggleExpandedIcon/ToggleExpandedIcon.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/newComponents/pagination/Pagination.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NewTable/components/useLeafyGreenTable/useLeafyGreenTable.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/NumericField/NumericField.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/PageHeader/PageHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Panel/Panel.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/PanelLayout/PanelLayout.js +1 -1
- package/dist/mocked_classnames_esm/src/components/PanelLayout/PanelLayout.js.map +1 -1
- package/dist/mocked_classnames_esm/src/components/PanelLayout/PanelLayout.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ProcessingToast/ProcessingToast.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ProgressBars/LinearProgressBar/Bar/Bar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ProgressBars/LinearProgressBar/LinearProgressBar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ProgressBars/PercentageLabel/PercentageLabel.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/RadioButton/RadioButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ResponsiveList/ResponsiveList.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/ScrollableContainer/scrollableContainer.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Search/Search.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/SectionHeader/SectionHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/SegmentControl/SegmentControlCell/SegmentControlCell.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/SegmentControl/SegmentControlList/SegmentControlList.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Sidebar/Sidebar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Skeleton/Skeleton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SelectionIndicator.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/Slider.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderBase/SliderBase.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderBase/SliderFilledTrack.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderBase/SliderRail.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderBase/SliderThumb.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderBase/SliderTrack.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Slider/SliderInfix.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/SplitButton/SplitButton.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/Steps.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/StepsCommand.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/StepsDot.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/StepsGalleryHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/StepsHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Steps/StepsNumbersHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Switch/Switch.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/TableHeader.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/styling/column-filter.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/styling/paginator.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/styling/table_base.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Table/table.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tabs/Tab/Tab.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tabs/TabList/TabList.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tabs/TabPanel/TabPanel.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tabs/TabPanels/TabPanels.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tags/Tags.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Text/Text.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TextAreaField/TextAreaField.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TextField/TextField.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TextWithHighlight/TextWithHighlight.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Timeline/Timeline/Timeline.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Timeline/TimelineRow/TimelineRow.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/Tipseen.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenBasicContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenContent.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenImage.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenMedia/TipseenMedia.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenTitle.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tipseen/TipseenWizard.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Toast/Toast.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Toast/ToastLink/ToastLink.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Toggle/MockToggle.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Toggle/Toggle.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Toggle/ToggleText.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tooltip/Tooltip.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TopNavigationBar/TopNavigationBar.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TopNavigationBar/components/Notification/Notification.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/TopNavigationBar/components/NotificationItem/NotificationItem.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tree/components/TreeFile/TreeFile.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tree/components/TreeFolder/TreeFolder.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tree/components/TreeStatusIcon/TreeStatusIcon.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Tree/components/expand/expand.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Typography/Typography.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Uploader/Uploader.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/VirtualizedGrid/VirtualizedGrid.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/VirtualizedList/VirtualizedList.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/Workflow/workflow.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/WorkflowCard/WorkflowCard.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/WorkflowList/WorkflowList.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/components/WorkflowStep/WorkflowStep.module.scss.js +1 -1
- package/dist/mocked_classnames_esm/src/index.js +1 -1
- package/dist/mocked_classnames_esm/style/dist/index.min.css.js +1 -1
- package/dist/types/components/PanelLayout/PanelLayout.d.ts +10 -1
- package/dist/types/components/PanelLayout/PanelLayout.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/DynamicPanelLayout/PanelLayout.module.scss +34 -0
- package/src/components/{PanelLayout/DynamicPanelLayout.tsx → DynamicPanelLayout/PanelLayout.tsx} +14 -10
- package/src/components/DynamicPanelLayout/ResizeHandle.tsx +101 -0
- package/src/components/DynamicPanelLayout/__stories__/PanelLayout.mdx +77 -0
- package/src/components/DynamicPanelLayout/__stories__/PanelLayout.stories.tsx +216 -0
- package/src/components/PanelLayout/PanelLayout.tsx +36 -14
- package/src/components/PanelLayout/__stories__/PanelLayout.mdx +6 -6
- package/src/components/PanelLayout/__stories__/PanelLayout.stories.js +7 -37
- package/src/components/Sidebar/__stories__/Sidebar.stories.tsx +39 -37
- package/src/components/index.ts +18 -17
@@ -0,0 +1,101 @@
|
|
1
|
+
import React, { FC, MouseEvent } from "react";
|
2
|
+
import { PanelResizeHandle } from "react-resizable-panels";
|
3
|
+
import styled from "styled-components";
|
4
|
+
import "./PanelLayout.module.scss";
|
5
|
+
import Tooltip from "../Tooltip/Tooltip";
|
6
|
+
import Text from "../Text/Text";
|
7
|
+
import Flex from "../Flex/Flex";
|
8
|
+
|
9
|
+
type ResizeHandleProps = {
|
10
|
+
className?: string;
|
11
|
+
panelElementRef?: React.RefObject<PanelElement>;
|
12
|
+
setIsDragging: (isDragging: boolean) => void;
|
13
|
+
};
|
14
|
+
|
15
|
+
interface PanelElement {
|
16
|
+
collapse: () => void;
|
17
|
+
expand: () => void;
|
18
|
+
isExpanded: () => boolean;
|
19
|
+
}
|
20
|
+
|
21
|
+
const StyledHandle = styled(PanelResizeHandle)`
|
22
|
+
height: 100%;
|
23
|
+
width: 6px;
|
24
|
+
margin: 0 2px;
|
25
|
+
background-color: transparent;
|
26
|
+
display: flex;
|
27
|
+
align-items: center;
|
28
|
+
justify-content: center;
|
29
|
+
transition: all 0.3s ease-in-out;
|
30
|
+
&:hover {
|
31
|
+
background-color: var(--divider-selected);
|
32
|
+
|
33
|
+
rect {
|
34
|
+
fill: var(--text-color-on-primary);
|
35
|
+
}
|
36
|
+
}
|
37
|
+
`;
|
38
|
+
|
39
|
+
const CollapseContainer = styled.div`
|
40
|
+
display: flex;
|
41
|
+
align-items: center;
|
42
|
+
justify-content: center;
|
43
|
+
height: 100%;
|
44
|
+
width: 3px;
|
45
|
+
margin: 0px 1px;
|
46
|
+
`;
|
47
|
+
|
48
|
+
interface CollapseProps {
|
49
|
+
onClick?: (event: MouseEvent<SVGElement>) => void;
|
50
|
+
className?: string;
|
51
|
+
}
|
52
|
+
|
53
|
+
const Collapse: FC<CollapseProps> = ({ onClick }) => (
|
54
|
+
<svg
|
55
|
+
viewBox="0 0 4 28"
|
56
|
+
fill="none"
|
57
|
+
onClick={onClick}
|
58
|
+
xmlns="http://www.w3.org/2000/svg"
|
59
|
+
>
|
60
|
+
<rect x="0.5" width="3" height="28" rx="1.5" fill="var(--divider-tertiary)" />
|
61
|
+
</svg>
|
62
|
+
);
|
63
|
+
|
64
|
+
export function ResizeHandle({ className, panelElementRef, setIsDragging }: ResizeHandleProps) {
|
65
|
+
const handleClick = () => {
|
66
|
+
if (panelElementRef && panelElementRef.current) {
|
67
|
+
if (panelElementRef.current.isExpanded()) {
|
68
|
+
panelElementRef.current.collapse();
|
69
|
+
} else {
|
70
|
+
panelElementRef.current.expand();
|
71
|
+
}
|
72
|
+
}
|
73
|
+
};
|
74
|
+
|
75
|
+
return (
|
76
|
+
<Tooltip
|
77
|
+
withMaxWidth
|
78
|
+
position={Tooltip.positions.RIGHT}
|
79
|
+
content={
|
80
|
+
<Flex direction={Flex.directions.COLUMN}>
|
81
|
+
<Flex direction={Flex.directions.ROW} gap={Flex.gaps.XS}>
|
82
|
+
<Text type={Text.types.TEXT2} weight={Text.weights.BOLD} color={Text.colors.ON_INVERTED}>Drag</Text>
|
83
|
+
<Text type={Text.types.TEXT2} weight={Text.weights.NORMAL} color={Text.colors.SECONDARY}>to resize</Text>
|
84
|
+
</Flex>
|
85
|
+
<Flex direction={Flex.directions.ROW} gap={Flex.gaps.XS}>
|
86
|
+
<Text type={Text.types.TEXT2} weight={Text.weights.BOLD} color={Text.colors.ON_INVERTED}>Click</Text>
|
87
|
+
<Text type={Text.types.TEXT2} weight={Text.weights.NORMAL} color={Text.colors.SECONDARY}>to expand/collapse</Text>
|
88
|
+
</Flex>
|
89
|
+
</Flex>
|
90
|
+
}
|
91
|
+
>
|
92
|
+
<div style={{ width: "10px" }}>
|
93
|
+
<StyledHandle className={className} onDragging={(isDragging: boolean) => setIsDragging(isDragging)}>
|
94
|
+
<CollapseContainer>
|
95
|
+
{panelElementRef && <Collapse onClick={handleClick} className="collapse-handle" />}
|
96
|
+
</CollapseContainer>
|
97
|
+
</StyledHandle>
|
98
|
+
</div>
|
99
|
+
</Tooltip>
|
100
|
+
);
|
101
|
+
}
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import { Meta, Story, Canvas, Controls } from '@storybook/blocks';
|
2
|
+
import * as PanelLayoutStories from './PanelLayout.stories';
|
3
|
+
|
4
|
+
<Meta of={PanelLayoutStories} />
|
5
|
+
|
6
|
+
# Dynamic Panel Layout
|
7
|
+
|
8
|
+
A flexible and powerful panel layout system that supports resizable and collapsible panels in both horizontal and vertical orientations.
|
9
|
+
|
10
|
+
## Overview
|
11
|
+
|
12
|
+
The DynamicPanelLayout component allows you to create sophisticated panel-based layouts with features like:
|
13
|
+
- Resizable panels with drag handles
|
14
|
+
- Horizontal and vertical orientations
|
15
|
+
- Collapsible panels
|
16
|
+
- Size constraints
|
17
|
+
- Nested layouts
|
18
|
+
- Animation support
|
19
|
+
|
20
|
+
## Basic Usage
|
21
|
+
|
22
|
+
### Horizontal Layout
|
23
|
+
The most common use case is a simple horizontal split:
|
24
|
+
|
25
|
+
<Canvas of={PanelLayoutStories.BasicHorizontal} />
|
26
|
+
|
27
|
+
### Vertical Layout
|
28
|
+
Panels can also be arranged vertically:
|
29
|
+
|
30
|
+
<Canvas of={PanelLayoutStories.BasicVertical} />
|
31
|
+
|
32
|
+
## Advanced Features
|
33
|
+
|
34
|
+
### Collapsible Sidebar
|
35
|
+
Create collapsible panels perfect for sidebars:
|
36
|
+
|
37
|
+
<Canvas of={PanelLayoutStories.CollapsibleSidebar} />
|
38
|
+
|
39
|
+
### Fixed Size Panels
|
40
|
+
Lock panel sizes with matching min and max values:
|
41
|
+
|
42
|
+
<Canvas of={PanelLayoutStories.FixedSizePanel} />
|
43
|
+
|
44
|
+
### Complex Nested Layout
|
45
|
+
Create sophisticated layouts by nesting panel groups:
|
46
|
+
|
47
|
+
<Canvas of={PanelLayoutStories.ComplexLayout} />
|
48
|
+
|
49
|
+
### Callback Support
|
50
|
+
Panels can trigger callbacks on collapse/expand:
|
51
|
+
|
52
|
+
<Canvas of={PanelLayoutStories.WithCallbacks} />
|
53
|
+
|
54
|
+
## API Reference
|
55
|
+
|
56
|
+
### Props
|
57
|
+
|
58
|
+
<Controls />
|
59
|
+
|
60
|
+
### PanelData Interface
|
61
|
+
Each panel in the panels array accepts these properties:
|
62
|
+
|
63
|
+
```typescript
|
64
|
+
interface PanelData {
|
65
|
+
id: string; // Unique identifier
|
66
|
+
minSize: number; // Minimum size (percentage)
|
67
|
+
maxSize?: number; // Maximum size (percentage)
|
68
|
+
content: ReactNode; // Panel content
|
69
|
+
className?: string; // CSS class name
|
70
|
+
defaultSize?: number; // Initial size (percentage)
|
71
|
+
collapsible?: boolean; // Enable collapse
|
72
|
+
collapsedSize?: number; // Size when collapsed
|
73
|
+
onExpand?: () => void; // Expand callback
|
74
|
+
onCollapse?: () => void; // Collapse callback
|
75
|
+
style?: CSSProperties; // Inline styles
|
76
|
+
}
|
77
|
+
```
|
@@ -0,0 +1,216 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import styled from 'styled-components';
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
4
|
+
import { DynamicPanelLayout } from '../PanelLayout';
|
5
|
+
|
6
|
+
const StyledContent = styled.div`
|
7
|
+
height: 100%;
|
8
|
+
padding: 16px;
|
9
|
+
background: #f5f5f5;
|
10
|
+
border: 1px solid #ddd;
|
11
|
+
display: flex;
|
12
|
+
align-items: center;
|
13
|
+
justify-content: center;
|
14
|
+
`;
|
15
|
+
|
16
|
+
const ColoredPanel = styled(StyledContent) <{ color?: string }>`
|
17
|
+
background: ${props => props.color || '#f5f5f5'};
|
18
|
+
color: ${props => props.color ? 'white' : 'black'};
|
19
|
+
`;
|
20
|
+
|
21
|
+
const meta: Meta<typeof DynamicPanelLayout> = {
|
22
|
+
title: 'Layout/DynamicPanelLayout',
|
23
|
+
component: DynamicPanelLayout,
|
24
|
+
parameters: {
|
25
|
+
layout: 'fullscreen',
|
26
|
+
},
|
27
|
+
};
|
28
|
+
|
29
|
+
export default meta;
|
30
|
+
type Story = StoryObj<typeof DynamicPanelLayout>;
|
31
|
+
|
32
|
+
// Basic horizontal layout
|
33
|
+
export const BasicHorizontal: Story = {
|
34
|
+
args: {
|
35
|
+
direction: 'horizontal',
|
36
|
+
panels: [
|
37
|
+
{
|
38
|
+
id: 'left',
|
39
|
+
minSize: 30,
|
40
|
+
content: <ColoredPanel color="#2196F3">Left Panel</ColoredPanel>,
|
41
|
+
defaultSize: 50,
|
42
|
+
},
|
43
|
+
{
|
44
|
+
id: 'right',
|
45
|
+
minSize: 30,
|
46
|
+
content: <ColoredPanel color="#4CAF50">Right Panel</ColoredPanel>,
|
47
|
+
defaultSize: 50,
|
48
|
+
},
|
49
|
+
],
|
50
|
+
},
|
51
|
+
};
|
52
|
+
|
53
|
+
// Basic vertical layout
|
54
|
+
export const BasicVertical: Story = {
|
55
|
+
args: {
|
56
|
+
direction: 'vertical',
|
57
|
+
panels: [
|
58
|
+
{
|
59
|
+
id: 'top',
|
60
|
+
minSize: 30,
|
61
|
+
content: <ColoredPanel color="#9C27B0">Top Panel</ColoredPanel>,
|
62
|
+
defaultSize: 50,
|
63
|
+
},
|
64
|
+
{
|
65
|
+
id: 'bottom',
|
66
|
+
minSize: 30,
|
67
|
+
content: <ColoredPanel color="#FF5722">Bottom Panel</ColoredPanel>,
|
68
|
+
defaultSize: 50,
|
69
|
+
},
|
70
|
+
],
|
71
|
+
},
|
72
|
+
};
|
73
|
+
|
74
|
+
// Three panel horizontal layout
|
75
|
+
export const ThreePanelHorizontal: Story = {
|
76
|
+
args: {
|
77
|
+
direction: 'horizontal',
|
78
|
+
panels: [
|
79
|
+
{
|
80
|
+
id: 'left',
|
81
|
+
minSize: 20,
|
82
|
+
content: <ColoredPanel color="#673AB7">Left Panel</ColoredPanel>,
|
83
|
+
defaultSize: 33.33,
|
84
|
+
},
|
85
|
+
{
|
86
|
+
id: 'middle',
|
87
|
+
minSize: 20,
|
88
|
+
content: <ColoredPanel color="#E91E63">Middle Panel</ColoredPanel>,
|
89
|
+
defaultSize: 33.33,
|
90
|
+
},
|
91
|
+
{
|
92
|
+
id: 'right',
|
93
|
+
minSize: 20,
|
94
|
+
content: <ColoredPanel color="#009688">Right Panel</ColoredPanel>,
|
95
|
+
defaultSize: 33.33,
|
96
|
+
},
|
97
|
+
],
|
98
|
+
},
|
99
|
+
};
|
100
|
+
|
101
|
+
// Collapsible sidebar
|
102
|
+
export const CollapsibleSidebar: Story = {
|
103
|
+
args: {
|
104
|
+
direction: 'horizontal',
|
105
|
+
panels: [
|
106
|
+
{
|
107
|
+
id: 'sidebar',
|
108
|
+
minSize: 10,
|
109
|
+
maxSize: 30,
|
110
|
+
collapsible: true,
|
111
|
+
collapsedSize: 0,
|
112
|
+
defaultSize: 20,
|
113
|
+
content: <ColoredPanel color="#795548">Collapsible Sidebar</ColoredPanel>,
|
114
|
+
},
|
115
|
+
{
|
116
|
+
id: 'main',
|
117
|
+
minSize: 50,
|
118
|
+
content: <ColoredPanel>Main Content Area</ColoredPanel>,
|
119
|
+
defaultSize: 80,
|
120
|
+
},
|
121
|
+
],
|
122
|
+
},
|
123
|
+
};
|
124
|
+
|
125
|
+
// Fixed size panel
|
126
|
+
export const FixedSizePanel: Story = {
|
127
|
+
args: {
|
128
|
+
direction: 'horizontal',
|
129
|
+
panels: [
|
130
|
+
{
|
131
|
+
id: 'fixed',
|
132
|
+
minSize: 20,
|
133
|
+
maxSize: 20,
|
134
|
+
content: <ColoredPanel color="#607D8B">Fixed 20% Panel</ColoredPanel>,
|
135
|
+
defaultSize: 20,
|
136
|
+
},
|
137
|
+
{
|
138
|
+
id: 'flexible',
|
139
|
+
minSize: 30,
|
140
|
+
content: <ColoredPanel>Flexible Panel</ColoredPanel>,
|
141
|
+
defaultSize: 80,
|
142
|
+
},
|
143
|
+
],
|
144
|
+
},
|
145
|
+
};
|
146
|
+
|
147
|
+
// Complex nested layout
|
148
|
+
export const ComplexLayout: Story = {
|
149
|
+
args: {
|
150
|
+
direction: 'horizontal',
|
151
|
+
panels: [
|
152
|
+
{
|
153
|
+
id: 'left',
|
154
|
+
minSize: 20,
|
155
|
+
maxSize: 30,
|
156
|
+
content: <ColoredPanel color="#3F51B5">Navigation Panel</ColoredPanel>,
|
157
|
+
defaultSize: 25,
|
158
|
+
},
|
159
|
+
{
|
160
|
+
id: 'center',
|
161
|
+
minSize: 40,
|
162
|
+
content: (
|
163
|
+
<DynamicPanelLayout
|
164
|
+
direction="vertical"
|
165
|
+
panels={[
|
166
|
+
{
|
167
|
+
id: 'top',
|
168
|
+
minSize: 30,
|
169
|
+
content: <ColoredPanel color="#00BCD4">Content Area</ColoredPanel>,
|
170
|
+
defaultSize: 70,
|
171
|
+
},
|
172
|
+
{
|
173
|
+
id: 'bottom',
|
174
|
+
minSize: 20,
|
175
|
+
content: <ColoredPanel color="#FFC107">Details Panel</ColoredPanel>,
|
176
|
+
defaultSize: 30,
|
177
|
+
},
|
178
|
+
]}
|
179
|
+
/>
|
180
|
+
),
|
181
|
+
defaultSize: 50,
|
182
|
+
},
|
183
|
+
{
|
184
|
+
id: 'right',
|
185
|
+
minSize: 15,
|
186
|
+
maxSize: 25,
|
187
|
+
content: <ColoredPanel color="#FF9800">Inspector Panel</ColoredPanel>,
|
188
|
+
defaultSize: 25,
|
189
|
+
},
|
190
|
+
],
|
191
|
+
},
|
192
|
+
};
|
193
|
+
|
194
|
+
// Dynamic panels with callbacks
|
195
|
+
export const WithCallbacks: Story = {
|
196
|
+
args: {
|
197
|
+
direction: 'horizontal',
|
198
|
+
panels: [
|
199
|
+
{
|
200
|
+
id: 'collapsible',
|
201
|
+
minSize: 15,
|
202
|
+
collapsible: true,
|
203
|
+
onCollapse: () => console.log('Panel collapsed'),
|
204
|
+
onExpand: () => console.log('Panel expanded'),
|
205
|
+
content: <ColoredPanel color="#9E9E9E">Collapsible Panel with Callbacks</ColoredPanel>,
|
206
|
+
defaultSize: 30,
|
207
|
+
},
|
208
|
+
{
|
209
|
+
id: 'main',
|
210
|
+
minSize: 50,
|
211
|
+
content: <ColoredPanel>Check console for callback logs</ColoredPanel>,
|
212
|
+
defaultSize: 70,
|
213
|
+
},
|
214
|
+
],
|
215
|
+
},
|
216
|
+
};
|
@@ -23,9 +23,12 @@ export type PanelLayoutProps = {
|
|
23
23
|
rightPanelMinSize?: number;
|
24
24
|
isCollapsed?: boolean;
|
25
25
|
isPositionAbsolute?: boolean;
|
26
|
+
leftPanelMaxSize?: number;
|
27
|
+
onLeftPanelExpand?: () => void;
|
28
|
+
onLeftPanelCollapse?: () => void;
|
26
29
|
};
|
27
30
|
|
28
|
-
const PanelGroupStyled = styled(PanelGroup)<{ $isPositionAbsolute?: boolean }>`
|
31
|
+
const PanelGroupStyled = styled(PanelGroup) <{ $isPositionAbsolute?: boolean }>`
|
29
32
|
position: ${({ $isPositionAbsolute }) => ($isPositionAbsolute ? 'absolute' : 'relative')};
|
30
33
|
top: 0;
|
31
34
|
left: 0;
|
@@ -35,15 +38,15 @@ const PanelGroupStyled = styled(PanelGroup)<{ $isPositionAbsolute?: boolean }>`
|
|
35
38
|
display: flex;
|
36
39
|
`;
|
37
40
|
|
38
|
-
const CenterPanelStyled = styled(Panel)<{ $isCollapsed?: boolean }>`
|
41
|
+
const CenterPanelStyled = styled(Panel) <{ $isCollapsed?: boolean }>`
|
39
42
|
background: transparent;
|
40
43
|
flex: 1;
|
41
44
|
transition: all 0.3s ease-in-out;
|
42
45
|
`;
|
43
46
|
|
44
|
-
const AnimatedPanel = styled(Panel)<{ isDragging: boolean; $isCollapsed?: boolean }>`
|
45
|
-
transition: ${props => props.isDragging ? 'none' : '
|
46
|
-
min-width: ${props => props.$isCollapsed ? '40px' :
|
47
|
+
const AnimatedPanel = styled(Panel) <{ isDragging: boolean; $isCollapsed?: boolean }>`
|
48
|
+
transition: ${props => props.isDragging ? 'none' : 'width 0.3s ease-in-out'};
|
49
|
+
min-width: ${props => props.$isCollapsed ? '40px' : `${props.defaultSize}%`};
|
47
50
|
flex-shrink: 0;
|
48
51
|
|
49
52
|
&.collapsed {
|
@@ -68,6 +71,9 @@ type PanelsProps = {
|
|
68
71
|
rightPanelMinSize?: number;
|
69
72
|
isCollapsed?: boolean;
|
70
73
|
isPositionAbsolute?: boolean;
|
74
|
+
leftPanelMaxSize?: number;
|
75
|
+
onLeftPanelExpand?: () => void;
|
76
|
+
onLeftPanelCollapse?: () => void;
|
71
77
|
};
|
72
78
|
|
73
79
|
export function Panels({
|
@@ -84,6 +90,9 @@ export function Panels({
|
|
84
90
|
rightPanelMinSize = 10,
|
85
91
|
isCollapsed = false,
|
86
92
|
isPositionAbsolute = true,
|
93
|
+
leftPanelMaxSize = 20,
|
94
|
+
onLeftPanelCollapse = undefined,
|
95
|
+
onLeftPanelExpand = undefined,
|
87
96
|
}: PanelsProps) {
|
88
97
|
const { handleLeftPanelRef, handleRightPanelRef, leftPanelRef, rightPanelRef } = usePanelContext();
|
89
98
|
const [isMobile, setIsMobile] = useState(false);
|
@@ -134,18 +143,22 @@ export function Panels({
|
|
134
143
|
className={cx("panelbox", { collapsed: isCollapsed })}
|
135
144
|
isDragging={isLeftDragging}
|
136
145
|
$isCollapsed={isCollapsed}
|
146
|
+
maxSize={leftPanelMaxSize}
|
147
|
+
onCollapse={onLeftPanelCollapse}
|
148
|
+
onExpand={onLeftPanelExpand}
|
149
|
+
collapsedSize={leftPanelCollapsedSize}
|
137
150
|
>
|
138
151
|
{leftSide}
|
139
152
|
</AnimatedPanel>
|
140
|
-
<ResizeHandle
|
141
|
-
panelElementRef={leftPanelRef}
|
153
|
+
<ResizeHandle
|
154
|
+
panelElementRef={leftPanelRef}
|
142
155
|
className={cx("resize-handle", { hidden: isCollapsed })}
|
143
|
-
setIsDragging={setIsLeftDragging}
|
156
|
+
setIsDragging={setIsLeftDragging}
|
144
157
|
/>
|
145
158
|
</>
|
146
159
|
)}
|
147
|
-
<CenterPanelStyled
|
148
|
-
minSize={centerPanelMinSize}
|
160
|
+
<CenterPanelStyled
|
161
|
+
minSize={centerPanelMinSize}
|
149
162
|
className="mainContent"
|
150
163
|
$isCollapsed={isCollapsed}
|
151
164
|
>
|
@@ -153,10 +166,10 @@ export function Panels({
|
|
153
166
|
</CenterPanelStyled>
|
154
167
|
{rightSide && (
|
155
168
|
<>
|
156
|
-
<ResizeHandle
|
157
|
-
panelElementRef={rightPanelRef}
|
158
|
-
className="resize-handle"
|
159
|
-
setIsDragging={setIsRightDragging}
|
169
|
+
<ResizeHandle
|
170
|
+
panelElementRef={rightPanelRef}
|
171
|
+
className="resize-handle"
|
172
|
+
setIsDragging={setIsRightDragging}
|
160
173
|
/>
|
161
174
|
<AnimatedPanel
|
162
175
|
ref={handleRightPanelRef}
|
@@ -176,6 +189,9 @@ export function Panels({
|
|
176
189
|
);
|
177
190
|
}
|
178
191
|
|
192
|
+
/**
|
193
|
+
* @deprecated - use DynamicPanelLayout instead'
|
194
|
+
*/
|
179
195
|
export const PanelLayout: React.FC<PanelLayoutProps> = ({
|
180
196
|
children,
|
181
197
|
leftSide,
|
@@ -192,6 +208,9 @@ export const PanelLayout: React.FC<PanelLayoutProps> = ({
|
|
192
208
|
rightPanelMinSize,
|
193
209
|
isCollapsed = false,
|
194
210
|
isPositionAbsolute = true,
|
211
|
+
leftPanelMaxSize = 20,
|
212
|
+
onLeftPanelCollapse = undefined,
|
213
|
+
onLeftPanelExpand = undefined,
|
195
214
|
}: PanelLayoutProps) => {
|
196
215
|
return (
|
197
216
|
<PanelContextProvider>
|
@@ -208,6 +227,9 @@ export const PanelLayout: React.FC<PanelLayoutProps> = ({
|
|
208
227
|
rightPanelMinSize={rightPanelMinSize}
|
209
228
|
isCollapsed={isCollapsed}
|
210
229
|
isPositionAbsolute={isPositionAbsolute}
|
230
|
+
leftPanelMaxSize={leftPanelMaxSize}
|
231
|
+
onLeftPanelCollapse={onLeftPanelCollapse}
|
232
|
+
onLeftPanelExpand={onLeftPanelExpand}
|
211
233
|
>
|
212
234
|
{children}
|
213
235
|
</Panels>
|
@@ -1,10 +1,16 @@
|
|
1
1
|
import { Meta, Story, Canvas } from "@storybook/blocks";
|
2
2
|
import * as PanelLayoutStories from "./PanelLayout.stories";
|
3
|
+
import { DeprecatedWarning } from "@heliux-org/storybook-components";
|
3
4
|
|
4
5
|
<Meta of={PanelLayoutStories} />
|
5
6
|
|
6
7
|
# PanelLayout
|
7
8
|
|
9
|
+
<DeprecatedWarning
|
10
|
+
alternativeName="DynamicPanelLayout"
|
11
|
+
alternativeLink="/?path=/docs/layout-dynamicpanellayout--docs"
|
12
|
+
/>
|
13
|
+
|
8
14
|
- [Overview](#overview)
|
9
15
|
- [Props](#props)
|
10
16
|
- [PanelLayout properties](#panel-properties)
|
@@ -42,10 +48,4 @@ Right side content can be toggled on and off base off actions in other panels
|
|
42
48
|
|
43
49
|
<Canvas>
|
44
50
|
<Story of={PanelLayoutStories.SwapContent} />
|
45
|
-
</Canvas>
|
46
|
-
|
47
|
-
### Dynamic PanelLayout
|
48
|
-
|
49
|
-
<Canvas>
|
50
|
-
<Story of={PanelLayoutStories.DynamicallyAddPanelOnButtonClick} />
|
51
51
|
</Canvas>
|
@@ -1,16 +1,14 @@
|
|
1
|
-
import React, { useState, useMemo, useEffect } from "react";
|
2
|
-
import { createStoryMetaSettingsDecorator } from "../../../storybook";
|
3
|
-
import Button from "../../Button/Button";
|
4
|
-
import Text from "../../Text/Text";
|
5
|
-
import { Panel, PanelLayout } from "../PanelLayout";
|
6
|
-
import { createComponentTemplate } from "@heliux-org/storybook-components";
|
7
|
-
import Flex from "../../Flex/Flex";
|
8
1
|
import Box from "../../Box/Box";
|
2
|
+
import Text from "../../Text/Text";
|
9
3
|
import "../PanelLayout.module.scss";
|
4
|
+
import React, { useState } from "react";
|
5
|
+
import Button from "../../Button/Button";
|
10
6
|
import { PanelHeader } from "../../Panel/Panel";
|
7
|
+
import { Panel, PanelLayout } from "../PanelLayout";
|
11
8
|
import { GridRow } from "../../GridSystem/GridSystem";
|
9
|
+
import { createStoryMetaSettingsDecorator } from "../../../storybook";
|
10
|
+
import { createComponentTemplate } from "@heliux-org/storybook-components";
|
12
11
|
import ScrollableContainer from "../../ScrollableContainer/ScrollableContainer";
|
13
|
-
import DynamicPanelLayout from "../DynamicPanelLayout";
|
14
12
|
|
15
13
|
const metaSettings = createStoryMetaSettingsDecorator({
|
16
14
|
component: PanelLayout,
|
@@ -18,7 +16,7 @@ const metaSettings = createStoryMetaSettingsDecorator({
|
|
18
16
|
});
|
19
17
|
|
20
18
|
export default {
|
21
|
-
title: "Layout/Panel Layout",
|
19
|
+
title: "Layout/Panel Layout [deprecated]",
|
22
20
|
component: PanelLayout,
|
23
21
|
argTypes: metaSettings.argTypes,
|
24
22
|
decorators: metaSettings.decorators
|
@@ -302,31 +300,3 @@ const storyContainerStyle = {
|
|
302
300
|
background: "var(--surface-level-200)",
|
303
301
|
padding: "24px"
|
304
302
|
};
|
305
|
-
|
306
|
-
export const DynamicallyAddPanelOnButtonClick = () => {
|
307
|
-
const [show, setShow] = useState(false);
|
308
|
-
|
309
|
-
const data = useMemo(() => {
|
310
|
-
const panelsData = [
|
311
|
-
{ id: 'panel1', content: 'Panel 1 content', minSize: 10, collapsible: true, collapsedSize: 5 },
|
312
|
-
{ id: 'panel2', content: 'Panel 2 content', minSize: 10, collapsible: true },
|
313
|
-
{ id: 'panel3', content: 'Panel 3 content', minSize: 20 },
|
314
|
-
];
|
315
|
-
|
316
|
-
show && panelsData.push({
|
317
|
-
id: 'panel4',
|
318
|
-
content: 'Panel 4 content',
|
319
|
-
minSize: 10,
|
320
|
-
collapsible: true
|
321
|
-
});
|
322
|
-
|
323
|
-
return panelsData;
|
324
|
-
}, [show]);
|
325
|
-
|
326
|
-
return (
|
327
|
-
<Flex align={Flex.align.START} gap={Flex.gaps.MEDIUM} direction={Flex.directions.COLUMN} style={{ height: "300px", width: "100%" }}>
|
328
|
-
<Button onClick={() => setShow(prev => !prev)}>Click me</Button>
|
329
|
-
<DynamicPanelLayout panels={data} />
|
330
|
-
</Flex>
|
331
|
-
);
|
332
|
-
};
|