@ozen-ui/kit 0.82.0 → 0.83.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Sidebar/package.json +5 -0
- package/__inner__/cjs/components/Badge/index.js +1 -0
- package/__inner__/cjs/components/Divider/Divider.css +3 -2
- package/__inner__/cjs/components/ImageBase/ImageBase.css +23 -1
- package/__inner__/cjs/components/ImageBase/ImageBase.js +17 -16
- package/__inner__/cjs/components/Sidebar/Sidebar.css +57 -0
- package/__inner__/cjs/components/Sidebar/Sidebar.js +35 -0
- package/__inner__/cjs/components/Sidebar/SidebarContext.js +18 -0
- package/__inner__/cjs/components/Sidebar/constants.js +8 -0
- package/__inner__/cjs/components/Sidebar/entities/color.js +4 -0
- package/__inner__/cjs/components/Sidebar/entities/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/entities/size.js +4 -0
- package/__inner__/cjs/components/Sidebar/entities/variant.js +4 -0
- package/__inner__/cjs/components/Sidebar/hooks/index.js +4 -0
- package/__inner__/cjs/components/Sidebar/hooks/useAnimationFlip.js +22 -0
- package/__inner__/cjs/components/Sidebar/index.js +9 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarCollapsibleItem/SidebarCollapsibleItem.css +39 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarCollapsibleItem/SidebarCollapsibleItem.js +75 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarCollapsibleItem/constants.js +5 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarCollapsibleItem/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarCollapsibleItem/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarContent/SidebarContent.css +16 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarContent/SidebarContent.js +20 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarContent/constants.js +4 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarContent/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarContent/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarDivider/SidebarDivider.css +10 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarDivider/SidebarDivider.js +21 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarDivider/constants.js +5 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarDivider/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarDivider/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarFooter/SidebarFooter.css +7 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarFooter/SidebarFooter.js +18 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarFooter/constants.js +4 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarFooter/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarFooter/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarHeader/SidebarHeader.css +7 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarHeader/SidebarHeader.js +18 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarHeader/constants.js +4 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarHeader/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarHeader/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarHeaderLogo/SidebarHeaderLogo.css +24 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarHeaderLogo/SidebarHeaderLogo.js +27 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarHeaderLogo/constants.js +4 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarHeaderLogo/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarHeaderLogo/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarItem/SidebarItem.css +151 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarItem/SidebarItem.js +79 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarItem/constants.js +8 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarItem/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarItem/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarItemBadge/SidebarItemBadge.js +19 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarItemBadge/constants.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarItemBadge/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarItemBadge/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarList/SidebarList.css +8 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarList/SidebarList.js +18 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarList/constants.js +4 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarList/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarList/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarSizer/SidebarSizer.css +24 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarSizer/SidebarSizer.js +26 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarSizer/constants.js +8 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarSizer/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarSizer/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarSubitem/SidebarSubitem.css +37 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarSubitem/SidebarSubitem.js +27 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarSubitem/constants.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarSubitem/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarSubitem/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUser/SidebarUser.css +17 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUser/SidebarUser.js +33 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUser/constants.js +4 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUser/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUser/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUserMenu/SidebarUserMenu.css +34 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUserMenu/SidebarUserMenu.js +47 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUserMenu/constants.js +5 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUserMenu/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUserMenu/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUserOnline/SidebarUserOnline.js +23 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUserOnline/constants.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUserOnline/index.js +6 -0
- package/__inner__/cjs/components/Sidebar/modules/SidebarUserOnline/types.js +2 -0
- package/__inner__/cjs/components/Sidebar/modules/index.js +17 -0
- package/__inner__/cjs/components/Sidebar/types.js +2 -0
- package/__inner__/cjs/locale/locale.js +9 -0
- package/__inner__/esm/components/Badge/index.js +1 -0
- package/__inner__/esm/components/Divider/Divider.css +3 -2
- package/__inner__/esm/components/ImageBase/ImageBase.css +23 -1
- package/__inner__/esm/components/ImageBase/ImageBase.js +17 -16
- package/__inner__/esm/components/Sidebar/Sidebar.css +57 -0
- package/__inner__/esm/components/Sidebar/Sidebar.js +32 -0
- package/__inner__/esm/components/Sidebar/SidebarContext.js +14 -0
- package/__inner__/esm/components/Sidebar/constants.js +5 -0
- package/__inner__/esm/components/Sidebar/entities/color.js +1 -0
- package/__inner__/esm/components/Sidebar/entities/index.js +3 -0
- package/__inner__/esm/components/Sidebar/entities/size.js +1 -0
- package/__inner__/esm/components/Sidebar/entities/variant.js +1 -0
- package/__inner__/esm/components/Sidebar/hooks/index.js +1 -0
- package/__inner__/esm/components/Sidebar/hooks/useAnimationFlip.js +18 -0
- package/__inner__/esm/components/Sidebar/index.js +6 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarCollapsibleItem/SidebarCollapsibleItem.css +39 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarCollapsibleItem/SidebarCollapsibleItem.js +72 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarCollapsibleItem/constants.js +2 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarCollapsibleItem/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarCollapsibleItem/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarContent/SidebarContent.css +16 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarContent/SidebarContent.js +17 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarContent/constants.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarContent/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarContent/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarDivider/SidebarDivider.css +10 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarDivider/SidebarDivider.js +18 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarDivider/constants.js +2 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarDivider/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarDivider/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarFooter/SidebarFooter.css +7 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarFooter/SidebarFooter.js +15 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarFooter/constants.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarFooter/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarFooter/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarHeader/SidebarHeader.css +7 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarHeader/SidebarHeader.js +15 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarHeader/constants.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarHeader/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarHeader/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarHeaderLogo/SidebarHeaderLogo.css +24 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarHeaderLogo/SidebarHeaderLogo.js +24 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarHeaderLogo/constants.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarHeaderLogo/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarHeaderLogo/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarItem/SidebarItem.css +151 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarItem/SidebarItem.js +76 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarItem/constants.js +5 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarItem/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarItem/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarItemBadge/SidebarItemBadge.js +16 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarItemBadge/constants.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarItemBadge/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarItemBadge/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarList/SidebarList.css +8 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarList/SidebarList.js +15 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarList/constants.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarList/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarList/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarSizer/SidebarSizer.css +24 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarSizer/SidebarSizer.js +23 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarSizer/constants.js +5 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarSizer/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarSizer/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarSubitem/SidebarSubitem.css +37 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarSubitem/SidebarSubitem.js +24 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarSubitem/constants.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarSubitem/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarSubitem/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUser/SidebarUser.css +17 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUser/SidebarUser.js +30 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUser/constants.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUser/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUser/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUserMenu/SidebarUserMenu.css +34 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUserMenu/SidebarUserMenu.js +44 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUserMenu/constants.js +2 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUserMenu/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUserMenu/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUserOnline/SidebarUserOnline.js +20 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUserOnline/constants.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUserOnline/index.js +3 -0
- package/__inner__/esm/components/Sidebar/modules/SidebarUserOnline/types.js +1 -0
- package/__inner__/esm/components/Sidebar/modules/index.js +14 -0
- package/__inner__/esm/components/Sidebar/types.js +1 -0
- package/__inner__/esm/locale/locale.js +9 -0
- package/__inner__/types/components/Badge/index.d.ts +1 -0
- package/__inner__/types/components/Badge/types.d.ts +2 -0
- package/__inner__/types/components/Divider/types.d.ts +2 -0
- package/__inner__/types/components/OzenProvider/providers/theme/entities/defaultProps.d.ts +16 -0
- package/__inner__/types/components/Sidebar/Sidebar.d.ts +16 -0
- package/__inner__/types/components/Sidebar/SidebarContext.d.ts +9 -0
- package/__inner__/types/components/Sidebar/constants.d.ts +5 -0
- package/__inner__/types/components/Sidebar/entities/color.d.ts +2 -0
- package/__inner__/types/components/Sidebar/entities/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/entities/size.d.ts +2 -0
- package/__inner__/types/components/Sidebar/entities/variant.d.ts +2 -0
- package/__inner__/types/components/Sidebar/hooks/index.d.ts +1 -0
- package/__inner__/types/components/Sidebar/hooks/useAnimationFlip.d.ts +2 -0
- package/__inner__/types/components/Sidebar/index.d.ts +6 -0
- package/__inner__/types/components/Sidebar/modules/SidebarCollapsibleItem/SidebarCollapsibleItem.d.ts +4 -0
- package/__inner__/types/components/Sidebar/modules/SidebarCollapsibleItem/constants.d.ts +2 -0
- package/__inner__/types/components/Sidebar/modules/SidebarCollapsibleItem/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarCollapsibleItem/types.d.ts +30 -0
- package/__inner__/types/components/Sidebar/modules/SidebarContent/SidebarContent.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarContent/constants.d.ts +1 -0
- package/__inner__/types/components/Sidebar/modules/SidebarContent/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarContent/types.d.ts +15 -0
- package/__inner__/types/components/Sidebar/modules/SidebarDivider/SidebarDivider.d.ts +2 -0
- package/__inner__/types/components/Sidebar/modules/SidebarDivider/constants.d.ts +1 -0
- package/__inner__/types/components/Sidebar/modules/SidebarDivider/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarDivider/types.d.ts +7 -0
- package/__inner__/types/components/Sidebar/modules/SidebarFooter/SidebarFooter.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarFooter/constants.d.ts +1 -0
- package/__inner__/types/components/Sidebar/modules/SidebarFooter/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarFooter/types.d.ts +13 -0
- package/__inner__/types/components/Sidebar/modules/SidebarHeader/SidebarHeader.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarHeader/constants.d.ts +1 -0
- package/__inner__/types/components/Sidebar/modules/SidebarHeader/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarHeader/types.d.ts +13 -0
- package/__inner__/types/components/Sidebar/modules/SidebarHeaderLogo/SidebarHeaderLogo.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarHeaderLogo/constants.d.ts +1 -0
- package/__inner__/types/components/Sidebar/modules/SidebarHeaderLogo/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarHeaderLogo/types.d.ts +15 -0
- package/__inner__/types/components/Sidebar/modules/SidebarItem/SidebarItem.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarItem/constants.d.ts +4 -0
- package/__inner__/types/components/Sidebar/modules/SidebarItem/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarItem/types.d.ts +41 -0
- package/__inner__/types/components/Sidebar/modules/SidebarItemBadge/SidebarItemBadge.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarItemBadge/constants.d.ts +2 -0
- package/__inner__/types/components/Sidebar/modules/SidebarItemBadge/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarItemBadge/types.d.ts +7 -0
- package/__inner__/types/components/Sidebar/modules/SidebarList/SidebarList.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarList/constants.d.ts +1 -0
- package/__inner__/types/components/Sidebar/modules/SidebarList/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarList/types.d.ts +13 -0
- package/__inner__/types/components/Sidebar/modules/SidebarSizer/SidebarSizer.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarSizer/constants.d.ts +2 -0
- package/__inner__/types/components/Sidebar/modules/SidebarSizer/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarSizer/types.d.ts +20 -0
- package/__inner__/types/components/Sidebar/modules/SidebarSubitem/SidebarSubitem.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarSubitem/constants.d.ts +2 -0
- package/__inner__/types/components/Sidebar/modules/SidebarSubitem/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarSubitem/types.d.ts +7 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUser/SidebarUser.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUser/constants.d.ts +1 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUser/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUser/types.d.ts +22 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUserMenu/SidebarUserMenu.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUserMenu/constants.d.ts +1 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUserMenu/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUserMenu/types.d.ts +24 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUserOnline/SidebarUserOnline.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUserOnline/constants.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUserOnline/index.d.ts +3 -0
- package/__inner__/types/components/Sidebar/modules/SidebarUserOnline/types.d.ts +19 -0
- package/__inner__/types/components/Sidebar/modules/index.d.ts +14 -0
- package/__inner__/types/components/Sidebar/types.d.ts +24 -0
- package/package.json +4 -5
package/__inner__/esm/components/Sidebar/modules/SidebarCollapsibleItem/SidebarCollapsibleItem.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { __assign, __read, __rest } from "tslib";
|
|
2
|
+
import React, { useState, useRef } from 'react';
|
|
3
|
+
import { Transition } from 'react-transition-group';
|
|
4
|
+
import { useMultiRef } from '../../../../hooks/useMultiRef';
|
|
5
|
+
import { useThemeProps } from '../../../../hooks/useThemeProps';
|
|
6
|
+
import { cn, isFunction, polymorphicComponentWithRef, renderContent, } from '../../../../utils';
|
|
7
|
+
import { Stack } from '../../../Stack';
|
|
8
|
+
import { useAnimationFlip } from '../../hooks';
|
|
9
|
+
import { useSidebarContext } from '../../SidebarContext';
|
|
10
|
+
import { SIDEBAR_COLLAPSIBLE_ITEM_DEFAULT_TAG, SIDEBAR_COLLAPSIBLE_ITEM_DEFAULT_JUSTIFY, } from './constants';
|
|
11
|
+
export var cnSidebarCollapsibleItem = cn('SidebarCollapsibleItem');
|
|
12
|
+
export var marginAutoClassName = cnSidebarCollapsibleItem('MarginAuto');
|
|
13
|
+
export var SidebarCollapsibleItem = polymorphicComponentWithRef(function (inProps, ref) {
|
|
14
|
+
var props = useThemeProps({
|
|
15
|
+
props: inProps,
|
|
16
|
+
name: 'SidebarCollapsibleItem',
|
|
17
|
+
});
|
|
18
|
+
var _a = props.as, as = _a === void 0 ? SIDEBAR_COLLAPSIBLE_ITEM_DEFAULT_TAG : _a, className = props.className, fixed = props.fixed, classNames = props.classNames, _b = props.justify, justify = _b === void 0 ? SIDEBAR_COLLAPSIBLE_ITEM_DEFAULT_JUSTIFY : _b, _c = props.animated, animated = _c === void 0 ? true : _c, children = props.children, collapsed = props.collapsed, other = __rest(props, ["as", "className", "fixed", "classNames", "justify", "animated", "children", "collapsed"]);
|
|
19
|
+
var variant = useSidebarContext().variant;
|
|
20
|
+
var _d = __read(useState(false), 2), wasAnimated = _d[0], setWasAnimated = _d[1];
|
|
21
|
+
var internalRef = useRef(null);
|
|
22
|
+
var itemRef = useMultiRef([ref, internalRef]);
|
|
23
|
+
var isCollapsed = collapsed !== null && collapsed !== void 0 ? collapsed : variant === 'mini';
|
|
24
|
+
var runAnimationFlip = useAnimationFlip(internalRef);
|
|
25
|
+
var onTransitionEnd = function () {
|
|
26
|
+
if (!animated) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
var node = internalRef.current;
|
|
30
|
+
if (!node) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
node.style.transition = '';
|
|
34
|
+
node.style.transform = '';
|
|
35
|
+
};
|
|
36
|
+
var hasMarginAutoClass = (function () {
|
|
37
|
+
if (!isCollapsed) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
if (!animated) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
return !wasAnimated;
|
|
44
|
+
})();
|
|
45
|
+
var fixedRendered = isFunction(fixed)
|
|
46
|
+
? renderContent({
|
|
47
|
+
content: fixed,
|
|
48
|
+
props: { collapsed: isCollapsed },
|
|
49
|
+
})
|
|
50
|
+
: fixed;
|
|
51
|
+
return (React.createElement(Transition, { nodeRef: internalRef, in: isCollapsed, timeout: { enter: 120, exit: 0 }, onEnter: function () {
|
|
52
|
+
if (!animated) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
setWasAnimated(true);
|
|
56
|
+
runAnimationFlip(function (element) {
|
|
57
|
+
element.classList.add(marginAutoClassName);
|
|
58
|
+
});
|
|
59
|
+
}, onExit: function () {
|
|
60
|
+
if (!animated) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
setWasAnimated(true);
|
|
64
|
+
runAnimationFlip(function (element) {
|
|
65
|
+
element.classList.remove(marginAutoClassName);
|
|
66
|
+
});
|
|
67
|
+
}, onEntered: onTransitionEnd, onExited: onTransitionEnd },
|
|
68
|
+
React.createElement(Stack, __assign({}, other, { ref: itemRef, as: as, className: cnSidebarCollapsibleItem({ collapsed: isCollapsed, animated: animated }, [className, hasMarginAutoClass ? marginAutoClassName : undefined]), justify: justify }),
|
|
69
|
+
React.createElement("div", { className: cnSidebarCollapsibleItem('Fixed', [classNames === null || classNames === void 0 ? void 0 : classNames.fixed]) }, fixedRendered),
|
|
70
|
+
React.createElement("div", { className: cnSidebarCollapsibleItem('Content', [classNames === null || classNames === void 0 ? void 0 : classNames.content]) }, children))));
|
|
71
|
+
});
|
|
72
|
+
SidebarCollapsibleItem.displayName = 'SidebarCollapsibleItem';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.SidebarContent {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
justify-content: space-between;
|
|
5
|
+
flex: 1 0;
|
|
6
|
+
overflow: hidden auto;
|
|
7
|
+
scrollbar-width: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.SidebarContent::-webkit-scrollbar {
|
|
11
|
+
display: none;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.SidebarContent-Content {
|
|
15
|
+
flex: 1 0;
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useThemeProps } from '../../../../hooks/useThemeProps';
|
|
4
|
+
import { cn, polymorphicComponentWithRef } from '../../../../utils';
|
|
5
|
+
import { SIDEBAR_CONTENT_DEFAULT_TAG } from './constants';
|
|
6
|
+
export var cnSidebarContent = cn('SidebarContent');
|
|
7
|
+
export var SidebarContent = polymorphicComponentWithRef(function (inProps, ref) {
|
|
8
|
+
var props = useThemeProps({
|
|
9
|
+
props: inProps,
|
|
10
|
+
name: 'SidebarContent',
|
|
11
|
+
});
|
|
12
|
+
var _a = props.as, Tag = _a === void 0 ? SIDEBAR_CONTENT_DEFAULT_TAG : _a, className = props.className, children = props.children, bottom = props.bottom, other = __rest(props, ["as", "className", "children", "bottom"]);
|
|
13
|
+
return (React.createElement(Tag, __assign({}, other, { ref: ref, className: cnSidebarContent('', [className]) }),
|
|
14
|
+
React.createElement("div", { className: cnSidebarContent('Content') }, children),
|
|
15
|
+
bottom && React.createElement("div", { className: cnSidebarContent('Bottom') }, bottom)));
|
|
16
|
+
});
|
|
17
|
+
SidebarContent.displayName = 'SidebarContent';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var SIDEBAR_CONTENT_DEFAULT_TAG = 'nav';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useThemeProps } from '../../../../hooks/useThemeProps';
|
|
4
|
+
import { cn, polymorphicComponentWithRef } from '../../../../utils';
|
|
5
|
+
import { Divider } from '../../../Divider';
|
|
6
|
+
import { useSidebarContext } from '../../SidebarContext';
|
|
7
|
+
import { SIDEBAR_DIVIDER_DEFAULT_TAG } from './constants';
|
|
8
|
+
export var cnSidebarDivider = cn('SidebarDivider');
|
|
9
|
+
export var SidebarDivider = polymorphicComponentWithRef(function (inProps, ref) {
|
|
10
|
+
var props = useThemeProps({
|
|
11
|
+
props: inProps,
|
|
12
|
+
name: 'SidebarDivider',
|
|
13
|
+
});
|
|
14
|
+
var _a = props.as, as = _a === void 0 ? SIDEBAR_DIVIDER_DEFAULT_TAG : _a, className = props.className, other = __rest(props, ["as", "className"]);
|
|
15
|
+
var color = useSidebarContext().color;
|
|
16
|
+
return (React.createElement(Divider, __assign({}, other, { as: as, ref: ref, size: "s", color: "secondary", className: cnSidebarDivider({ color: color }, [className]) })));
|
|
17
|
+
});
|
|
18
|
+
SidebarDivider.displayName = 'SidebarDivider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useThemeProps } from '../../../../hooks/useThemeProps';
|
|
4
|
+
import { cn, polymorphicComponentWithRef } from '../../../../utils';
|
|
5
|
+
import { SIDEBAR_FOOTER_DEFAULT_TAG } from './constants';
|
|
6
|
+
export var cnSidebarFooter = cn('SidebarFooter');
|
|
7
|
+
export var SidebarFooter = polymorphicComponentWithRef(function (inProps, ref) {
|
|
8
|
+
var props = useThemeProps({
|
|
9
|
+
props: inProps,
|
|
10
|
+
name: 'SidebarFooter',
|
|
11
|
+
});
|
|
12
|
+
var _a = props.as, Tag = _a === void 0 ? SIDEBAR_FOOTER_DEFAULT_TAG : _a, className = props.className, children = props.children, other = __rest(props, ["as", "className", "children"]);
|
|
13
|
+
return (React.createElement(Tag, __assign({}, other, { ref: ref, className: cnSidebarFooter('', [className]) }), children));
|
|
14
|
+
});
|
|
15
|
+
SidebarFooter.displayName = 'SidebarFooter';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var SIDEBAR_FOOTER_DEFAULT_TAG = 'div';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useThemeProps } from '../../../../hooks/useThemeProps';
|
|
4
|
+
import { cn, polymorphicComponentWithRef } from '../../../../utils';
|
|
5
|
+
import { SIDEBAR_HEADER_DEFAULT_TAG } from './constants';
|
|
6
|
+
export var cnSidebarHeader = cn('SidebarHeader');
|
|
7
|
+
export var SidebarHeader = polymorphicComponentWithRef(function (inProps, ref) {
|
|
8
|
+
var props = useThemeProps({
|
|
9
|
+
props: inProps,
|
|
10
|
+
name: 'SidebarHeader',
|
|
11
|
+
});
|
|
12
|
+
var _a = props.as, Tag = _a === void 0 ? SIDEBAR_HEADER_DEFAULT_TAG : _a, className = props.className, children = props.children, other = __rest(props, ["as", "className", "children"]);
|
|
13
|
+
return (React.createElement(Tag, __assign({}, other, { ref: ref, className: cnSidebarHeader('', [className]) }), children));
|
|
14
|
+
});
|
|
15
|
+
SidebarHeader.displayName = 'SidebarHeader';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var SIDEBAR_HEADER_DEFAULT_TAG = 'div';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* stylelint-disable */
|
|
2
|
+
.SidebarHeaderLogo {
|
|
3
|
+
--sidebar-collapsible-item-gap: var(--spacing-2xs);
|
|
4
|
+
}
|
|
5
|
+
.SidebarHeaderLogo_color_main {
|
|
6
|
+
--sidebar-header-icon-background: var(--color-background-primary);
|
|
7
|
+
}
|
|
8
|
+
.SidebarHeaderLogo_color_accent {
|
|
9
|
+
--sidebar-header-icon-background: var(--color-accent-primary);
|
|
10
|
+
}
|
|
11
|
+
.SidebarHeaderLogo-Text {
|
|
12
|
+
font: var(--typography-text-m_1-font);
|
|
13
|
+
letter-spacing: var(--typography-text-m_1-letter_spacing, 0);
|
|
14
|
+
text-transform: var(--typography-text-m_1-text_transform, none);
|
|
15
|
+
color: var(--sidebar-content-primary-color);
|
|
16
|
+
white-space: nowrap;
|
|
17
|
+
}
|
|
18
|
+
.SidebarHeaderLogo-Icon {
|
|
19
|
+
background-color: var(--sidebar-header-icon-background);
|
|
20
|
+
color: var(--sidebar-content-secondary-color);
|
|
21
|
+
border-radius: var(--border-radius-m);
|
|
22
|
+
flex-shrink: 0;
|
|
23
|
+
padding: var(--spacing-2xs);
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useStoredValue } from '../../../../hooks/useStoredValue';
|
|
4
|
+
import { useThemeProps } from '../../../../hooks/useThemeProps';
|
|
5
|
+
import { cn, polymorphicComponentWithRef } from '../../../../utils';
|
|
6
|
+
import { Stack } from '../../../Stack';
|
|
7
|
+
import { useSidebarContext } from '../../SidebarContext';
|
|
8
|
+
import { SidebarCollapsibleItem } from '../SidebarCollapsibleItem';
|
|
9
|
+
import { SIDEBAR_HEADER_LOGO_DEFAULT_TAG } from './constants';
|
|
10
|
+
export var cnSidebarHeaderLogo = cn('SidebarHeaderLogo');
|
|
11
|
+
export var SidebarHeaderLogo = polymorphicComponentWithRef(function (inProps, ref) {
|
|
12
|
+
var props = useThemeProps({
|
|
13
|
+
props: inProps,
|
|
14
|
+
name: 'SidebarHeaderLogo',
|
|
15
|
+
});
|
|
16
|
+
var _a = props.as, as = _a === void 0 ? SIDEBAR_HEADER_LOGO_DEFAULT_TAG : _a, className = props.className, children = props.children, icon = props.icon, other = __rest(props, ["as", "className", "children", "icon"]);
|
|
17
|
+
var _b = useSidebarContext(), color = _b.color, variant = _b.variant;
|
|
18
|
+
var previousVariant = useStoredValue(variant);
|
|
19
|
+
var isCompact = variant === 'compact';
|
|
20
|
+
var isAnimated = previousVariant.current !== 'compact' && !isCompact;
|
|
21
|
+
previousVariant.current = variant;
|
|
22
|
+
return (React.createElement(SidebarCollapsibleItem, __assign({}, other, { as: as, fixed: React.createElement(Stack, { className: cnSidebarHeaderLogo('Icon'), justify: "center", align: "center" }, icon), animated: isAnimated, collapsed: variant !== 'full', classNames: { content: cnSidebarHeaderLogo('Text') }, ref: ref, className: cnSidebarHeaderLogo({ color: color }, [className]), align: "center" }), children));
|
|
23
|
+
});
|
|
24
|
+
SidebarHeaderLogo.displayName = 'SidebarHeaderLogo';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var SIDEBAR_HEADER_LOGO_DEFAULT_TAG = 'div';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/* stylelint-disable */
|
|
2
|
+
.SidebarItem {
|
|
3
|
+
--sidebar-item-background: transparent;
|
|
4
|
+
--sidebar-item-indicator-color: transparent;
|
|
5
|
+
--sidebar-item-indicator-transform-x: -2px;
|
|
6
|
+
position: relative;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
gap: var(--spacing-3xs);
|
|
11
|
+
}
|
|
12
|
+
.SidebarItem_color_main {
|
|
13
|
+
--sidebar-item-background-hover: var(--color-background-main-hover);
|
|
14
|
+
--sidebar-item-background-active: var(--color-background-main-pressed);
|
|
15
|
+
--sidebar-item-background-selected: var(--color-background-main-pressed);
|
|
16
|
+
--sidebar-item-active-indicator-color: var(--color-content-action);
|
|
17
|
+
}
|
|
18
|
+
.SidebarItem_color_accent {
|
|
19
|
+
--sidebar-item-background-hover: var(--color-accent-primary-hover);
|
|
20
|
+
--sidebar-item-background-active: var(--color-accent-primary-pressed);
|
|
21
|
+
--sidebar-item-background-selected: var(--color-accent-primary-pressed);
|
|
22
|
+
--sidebar-item-active-indicator-color: var(--color-content-accent-primary);
|
|
23
|
+
}
|
|
24
|
+
.SidebarItem_interactive.SidebarItem:not(.SidebarItem_active) .SidebarItem-Item:hover {
|
|
25
|
+
background-color: var(--sidebar-item-background-hover);
|
|
26
|
+
}
|
|
27
|
+
.SidebarItem_interactive.SidebarItem:not(.SidebarItem_active) .SidebarItem-Item:active {
|
|
28
|
+
background-color: var(--sidebar-item-background-active);
|
|
29
|
+
}
|
|
30
|
+
.SidebarItem_interactive .SidebarItem-Item {
|
|
31
|
+
cursor: pointer;
|
|
32
|
+
}
|
|
33
|
+
.SidebarItem_interactive .SidebarItem-Item:focus {
|
|
34
|
+
box-shadow: inset var(--shadow-outline-focused);
|
|
35
|
+
}
|
|
36
|
+
.SidebarItem_interactive .SidebarItem-Item:focus:not(:focus-visible) {
|
|
37
|
+
box-shadow: none;
|
|
38
|
+
}
|
|
39
|
+
.SidebarItem_active {
|
|
40
|
+
--sidebar-item-indicator-color: var(--sidebar-item-active-indicator-color);
|
|
41
|
+
--sidebar-item-indicator-transform-x: 0;
|
|
42
|
+
}
|
|
43
|
+
.SidebarItem_active > .SidebarItem-Item {
|
|
44
|
+
background-color: var(--sidebar-item-background-selected);
|
|
45
|
+
}
|
|
46
|
+
.SidebarItem_gutters .SidebarItem-Item {
|
|
47
|
+
margin-inline: var(--sidebar-padding-inline);
|
|
48
|
+
}
|
|
49
|
+
.SidebarItem_openSubitems .SidebarItem-Chevron {
|
|
50
|
+
transform: rotate(180deg);
|
|
51
|
+
}
|
|
52
|
+
.SidebarItem-Chevron {
|
|
53
|
+
transform: rotate(0deg);
|
|
54
|
+
color: var(--sidebar-content-primary-color);
|
|
55
|
+
transition: var(--transition-default) transform;
|
|
56
|
+
}
|
|
57
|
+
.SidebarItem-Icon {
|
|
58
|
+
position: relative;
|
|
59
|
+
display: flex;
|
|
60
|
+
align-items: center;
|
|
61
|
+
justify-content: center;
|
|
62
|
+
color: var(--sidebar-content-primary-color);
|
|
63
|
+
inline-size: 24px;
|
|
64
|
+
block-size: 24px;
|
|
65
|
+
}
|
|
66
|
+
.SidebarItem-Content {
|
|
67
|
+
flex: 1;
|
|
68
|
+
color: var(--sidebar-content-primary-color);
|
|
69
|
+
white-space: nowrap;
|
|
70
|
+
justify-content: space-between;
|
|
71
|
+
align-items: center;
|
|
72
|
+
}
|
|
73
|
+
.SidebarItem-Item {
|
|
74
|
+
position: relative;
|
|
75
|
+
display: flex;
|
|
76
|
+
flex-shrink: 0;
|
|
77
|
+
box-sizing: border-box;
|
|
78
|
+
outline: none;
|
|
79
|
+
text-decoration: none;
|
|
80
|
+
text-align: start;
|
|
81
|
+
-webkit-tap-highlight-color: transparent;
|
|
82
|
+
border: none;
|
|
83
|
+
border-radius: var(--border-radius-m);
|
|
84
|
+
padding: var(--sidebar-item-padding);
|
|
85
|
+
background-color: var(--sidebar-item-background);
|
|
86
|
+
transition: background-color var(--transition-default);
|
|
87
|
+
align-items: center;
|
|
88
|
+
}
|
|
89
|
+
.SidebarItem-Item::before {
|
|
90
|
+
content: "";
|
|
91
|
+
box-sizing: border-box;
|
|
92
|
+
display: block;
|
|
93
|
+
inline-size: 2px;
|
|
94
|
+
block-size: 24px;
|
|
95
|
+
position: absolute;
|
|
96
|
+
transform: translate(var(--sidebar-item-indicator-transform-x), -50%);
|
|
97
|
+
inset-block-start: 50%;
|
|
98
|
+
inset-inline-start: calc(var(--sidebar-padding-inline) * -1);
|
|
99
|
+
transition: var(--transition-default);
|
|
100
|
+
transition-property: background-color, transform;
|
|
101
|
+
border-radius: 0 var(--border-radius-2xs) var(--border-radius-2xs) 0;
|
|
102
|
+
background-color: var(--sidebar-item-indicator-color);
|
|
103
|
+
}
|
|
104
|
+
.SidebarItem-Right {
|
|
105
|
+
display: flex;
|
|
106
|
+
gap: var(--spacing-3xs);
|
|
107
|
+
align-items: center;
|
|
108
|
+
transition: var(--transition-slow) opacity;
|
|
109
|
+
opacity: 1;
|
|
110
|
+
}
|
|
111
|
+
.SidebarItem .SidebarCollapsibleItem_collapsed .SidebarItem-Right {
|
|
112
|
+
opacity: 0;
|
|
113
|
+
transition-duration: 0ms;
|
|
114
|
+
}
|
|
115
|
+
.SidebarItem_variant_compact .SidebarItem-Item {
|
|
116
|
+
--sidebar-collapsible-item-gap: 0;
|
|
117
|
+
padding-block: var(--spacing-2xs);
|
|
118
|
+
}
|
|
119
|
+
.SidebarItem_variant_compact .SidebarItem-Content {
|
|
120
|
+
font: var(--typography-text-3xs-font);
|
|
121
|
+
letter-spacing: var(--typography-text-3xs-letter_spacing, 0);
|
|
122
|
+
text-transform: var(--typography-text-3xs-text_transform, none);
|
|
123
|
+
text-align: center;
|
|
124
|
+
margin-block-start: var(--spacing-3xs);
|
|
125
|
+
}
|
|
126
|
+
.SidebarItem_variant_compact .SidebarItem-After {
|
|
127
|
+
display: none;
|
|
128
|
+
}
|
|
129
|
+
.SidebarItem_variant_default .SidebarItem-Content {
|
|
130
|
+
text-align: start;
|
|
131
|
+
}
|
|
132
|
+
.SidebarItem_variant_default.SidebarItem_size_s .SidebarItem-Content {
|
|
133
|
+
font: var(--typography-text-s-font);
|
|
134
|
+
letter-spacing: var(--typography-text-s-letter_spacing, 0);
|
|
135
|
+
text-transform: var(--typography-text-s-text_transform, none);
|
|
136
|
+
|
|
137
|
+
--sidebar-collapsible-item-gap: var(--spacing-s);
|
|
138
|
+
}
|
|
139
|
+
.SidebarItem_variant_default.SidebarItem_size_s .SidebarItem-Item {
|
|
140
|
+
--sidebar-item-padding: var(--spacing-2xs);
|
|
141
|
+
}
|
|
142
|
+
.SidebarItem_variant_default.SidebarItem_size_m .SidebarItem-Content {
|
|
143
|
+
font: var(--typography-text-m-font);
|
|
144
|
+
letter-spacing: var(--typography-text-m-letter_spacing, 0);
|
|
145
|
+
text-transform: var(--typography-text-m-text_transform, none);
|
|
146
|
+
|
|
147
|
+
--sidebar-collapsible-item-gap: 20px;
|
|
148
|
+
}
|
|
149
|
+
.SidebarItem_variant_default.SidebarItem_size_m .SidebarItem-Item {
|
|
150
|
+
--sidebar-item-padding: var(--spacing-xs);
|
|
151
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { __assign, __read, __rest } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { ArrowDownFilledIcon } from '@ozen-ui/icons';
|
|
4
|
+
import { useControlled } from '../../../../hooks/useControlled';
|
|
5
|
+
import { useStoredValue } from '../../../../hooks/useStoredValue';
|
|
6
|
+
import { useThemeProps } from '../../../../hooks/useThemeProps';
|
|
7
|
+
import { cn, isFunction, polymorphicComponentWithRef, renderContent, } from '../../../../utils';
|
|
8
|
+
import { Badge } from '../../../Badge';
|
|
9
|
+
import { Collapse } from '../../../Collapse';
|
|
10
|
+
import { useSidebarContext } from '../../SidebarContext';
|
|
11
|
+
import { SidebarCollapsibleItem } from '../SidebarCollapsibleItem';
|
|
12
|
+
import { SidebarList } from '../SidebarList';
|
|
13
|
+
import { SIDEBAR_ITEM_DEFAULT_ENABLE_OPEN_ON_COLLAPSED, SIDEBAR_ITEM_DEFAULT_GUTTERS, SIDEBAR_ITEM_DEFAULT_INTERACTIVE, SIDEBAR_ITEM_DEFAULT_TAG, } from './constants';
|
|
14
|
+
export var cnSidebarItem = cn('SidebarItem');
|
|
15
|
+
export var SidebarItem = polymorphicComponentWithRef(function (inProps, ref) {
|
|
16
|
+
var props = useThemeProps({
|
|
17
|
+
props: inProps,
|
|
18
|
+
name: 'SidebarItem',
|
|
19
|
+
});
|
|
20
|
+
var _a = props.as, as = _a === void 0 ? SIDEBAR_ITEM_DEFAULT_TAG : _a, icon = props.icon, children = props.children, className = props.className, _b = props.interactive, interactive = _b === void 0 ? SIDEBAR_ITEM_DEFAULT_INTERACTIVE : _b, subitems = props.subitems, onOpenChange = props.onOpenChange, open = props.open, wrapperProps = props.wrapperProps, onClick = props.onClick, _c = props.gutters, gutters = _c === void 0 ? SIDEBAR_ITEM_DEFAULT_GUTTERS : _c, _d = props.enableSubitemsOnCollapsed, enableSubitemsOnCollapsed = _d === void 0 ? SIDEBAR_ITEM_DEFAULT_ENABLE_OPEN_ON_COLLAPSED : _d, active = props.active, badgeProp = props.badge, badgeProps = props.badgeProps, after = props.after, dataTestId = props["data-testid"], other = __rest(props, ["as", "icon", "children", "className", "interactive", "subitems", "onOpenChange", "open", "wrapperProps", "onClick", "gutters", "enableSubitemsOnCollapsed", "active", "badge", "badgeProps", "after", 'data-testid']);
|
|
21
|
+
var _e = useSidebarContext(), variant = _e.variant, color = _e.color, size = _e.size;
|
|
22
|
+
var _f = __read(useControlled({
|
|
23
|
+
name: 'SidebarItem',
|
|
24
|
+
value: open,
|
|
25
|
+
defaultValue: false,
|
|
26
|
+
state: 'isOpenSubitems',
|
|
27
|
+
}), 2), isOpenSubitemsState = _f[0], setIsOpenSubitemsState = _f[1];
|
|
28
|
+
var hasSubitems = !!subitems;
|
|
29
|
+
var isOpenSubitems = hasSubitems && !!isOpenSubitemsState;
|
|
30
|
+
var isCollapsed = variant === 'mini';
|
|
31
|
+
var setIsOpenSubItems = function (isOpen) {
|
|
32
|
+
if (isCollapsed && !enableSubitemsOnCollapsed) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
setIsOpenSubitemsState(isOpen);
|
|
36
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(isOpen);
|
|
37
|
+
};
|
|
38
|
+
var previousVariant = useStoredValue(variant);
|
|
39
|
+
var isCompact = variant === 'compact';
|
|
40
|
+
var isAnimated = previousVariant.current !== 'compact' && !isCompact;
|
|
41
|
+
previousVariant.current = variant;
|
|
42
|
+
return (React.createElement("li", __assign({}, wrapperProps, { ref: ref, className: cnSidebarItem({
|
|
43
|
+
variant: isCompact ? 'compact' : 'default',
|
|
44
|
+
color: color,
|
|
45
|
+
interactive: interactive,
|
|
46
|
+
gutters: gutters,
|
|
47
|
+
active: active,
|
|
48
|
+
size: size,
|
|
49
|
+
openSubitems: isOpenSubitems,
|
|
50
|
+
}, [className]), "data-testid": dataTestId }),
|
|
51
|
+
React.createElement(SidebarCollapsibleItem, __assign({}, other, { as: as, onClick: function (event) {
|
|
52
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
53
|
+
setIsOpenSubItems(!isOpenSubitems);
|
|
54
|
+
}, collapsed: isCollapsed, className: cnSidebarItem('Item'), fixed: function (props) {
|
|
55
|
+
var badge = isFunction(badgeProp)
|
|
56
|
+
? badgeProp({ collapsed: props.collapsed })
|
|
57
|
+
: badgeProp;
|
|
58
|
+
var renderedIcon = isFunction(icon)
|
|
59
|
+
? renderContent({ content: icon, props: props })
|
|
60
|
+
: icon;
|
|
61
|
+
if (badge) {
|
|
62
|
+
return (React.createElement(Badge, __assign({ variant: "dot", color: "errorDark" }, badgeProps, { className: cnSidebarItem('Badge', [badgeProps === null || badgeProps === void 0 ? void 0 : badgeProps.className]), size: "s" }), renderedIcon));
|
|
63
|
+
}
|
|
64
|
+
return renderedIcon;
|
|
65
|
+
}, animated: isAnimated, align: isCompact ? 'center' : 'start', direction: isCompact ? 'column' : 'row', classNames: {
|
|
66
|
+
content: cnSidebarItem('Content'),
|
|
67
|
+
fixed: cnSidebarItem('Icon'),
|
|
68
|
+
} }),
|
|
69
|
+
React.createElement("span", null, children),
|
|
70
|
+
(after || hasSubitems) && (React.createElement("div", { className: cnSidebarItem('Right') },
|
|
71
|
+
after && React.createElement("div", { className: cnSidebarItem('After') }, after),
|
|
72
|
+
hasSubitems && (React.createElement(ArrowDownFilledIcon, { className: cnSidebarItem('Chevron'), size: "s" }))))),
|
|
73
|
+
!!subitems && (React.createElement(Collapse, { expanded: isOpenSubitems, className: cnSidebarItem('SubitemsCollapse') },
|
|
74
|
+
React.createElement(SidebarList, { className: cnSidebarItem('Subitems') }, subitems)))));
|
|
75
|
+
});
|
|
76
|
+
SidebarItem.displayName = 'SidebarItem';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { BUTTON_BASE_DEFAULT_TAG } from '../../../ButtonBase/constants';
|
|
2
|
+
export var SIDEBAR_ITEM_DEFAULT_TAG = BUTTON_BASE_DEFAULT_TAG;
|
|
3
|
+
export var SIDEBAR_ITEM_DEFAULT_INTERACTIVE = true;
|
|
4
|
+
export var SIDEBAR_ITEM_DEFAULT_GUTTERS = true;
|
|
5
|
+
export var SIDEBAR_ITEM_DEFAULT_ENABLE_OPEN_ON_COLLAPSED = true;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useThemeProps } from '../../../../hooks/useThemeProps';
|
|
4
|
+
import { cn, polymorphicComponentWithRef } from '../../../../utils';
|
|
5
|
+
import { Badge } from '../../../Badge';
|
|
6
|
+
import { SIDEBAR_ITEM_BADGE_DEFAULT_COLOR, SIDEBAR_ITEM_BADGE_DEFAULT_TAG, } from './constants';
|
|
7
|
+
export var cnSidebarItemBadge = cn('SidebarItemBadge');
|
|
8
|
+
export var SidebarItemBadge = polymorphicComponentWithRef(function (inProps, ref) {
|
|
9
|
+
var props = useThemeProps({
|
|
10
|
+
props: inProps,
|
|
11
|
+
name: 'SidebarItemBadge',
|
|
12
|
+
});
|
|
13
|
+
var _a = props.as, as = _a === void 0 ? SIDEBAR_ITEM_BADGE_DEFAULT_TAG : _a, _b = props.color, color = _b === void 0 ? SIDEBAR_ITEM_BADGE_DEFAULT_COLOR : _b, className = props.className, other = __rest(props, ["as", "color", "className"]);
|
|
14
|
+
return (React.createElement(Badge, __assign({}, other, { as: as, ref: ref, size: "s", color: color, className: cnSidebarItemBadge('', [className]) })));
|
|
15
|
+
});
|
|
16
|
+
SidebarItemBadge.displayName = 'SidebarItemBadge';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useThemeProps } from '../../../../hooks/useThemeProps';
|
|
4
|
+
import { cn, polymorphicComponentWithRef } from '../../../../utils';
|
|
5
|
+
import { SIDEBAR_LIST_DEFAULT_TAG } from './constants';
|
|
6
|
+
export var cnSidebarList = cn('SidebarList');
|
|
7
|
+
export var SidebarList = polymorphicComponentWithRef(function (inProps, ref) {
|
|
8
|
+
var props = useThemeProps({
|
|
9
|
+
props: inProps,
|
|
10
|
+
name: 'SidebarList',
|
|
11
|
+
});
|
|
12
|
+
var _a = props.as, Tag = _a === void 0 ? SIDEBAR_LIST_DEFAULT_TAG : _a, className = props.className, children = props.children, other = __rest(props, ["as", "className", "children"]);
|
|
13
|
+
return (React.createElement(Tag, __assign({}, other, { ref: ref, className: cnSidebarList('', [className]) }), children));
|
|
14
|
+
});
|
|
15
|
+
SidebarList.displayName = 'SidebarList';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var SIDEBAR_LIST_DEFAULT_TAG = 'ul';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|