@qoretechnologies/reqore 0.67.6 → 0.68.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DatePicker/index.d.ts +13 -1
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/DatePicker/index.js +79 -39
- package/dist/components/DatePicker/index.js.map +1 -1
- package/dist/components/DescriptionList/index.d.ts +119 -0
- package/dist/components/DescriptionList/index.d.ts.map +1 -0
- package/dist/components/DescriptionList/index.js +161 -0
- package/dist/components/DescriptionList/index.js.map +1 -0
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +1 -1
- package/dist/components/Panel/index.js.map +1 -1
- package/dist/constants/sizes.d.ts +9 -0
- package/dist/constants/sizes.d.ts.map +1 -1
- package/dist/constants/sizes.js +10 -1
- package/dist/constants/sizes.js.map +1 -1
- package/dist/esm/components/Accordion/index.js +142 -0
- package/dist/esm/components/Accordion/index.js.map +1 -0
- package/dist/esm/components/Breadcrumbs/index.js +122 -0
- package/dist/esm/components/Breadcrumbs/index.js.map +1 -0
- package/dist/esm/components/Breadcrumbs/item.js +14 -0
- package/dist/esm/components/Breadcrumbs/item.js.map +1 -0
- package/dist/esm/components/Button/index.js +315 -0
- package/dist/esm/components/Button/index.js.map +1 -0
- package/dist/esm/components/Callout/index.js +142 -0
- package/dist/esm/components/Callout/index.js.map +1 -0
- package/dist/esm/components/Checkbox/index.js +217 -0
- package/dist/esm/components/Checkbox/index.js.map +1 -0
- package/dist/esm/components/Collection/index.js +298 -0
- package/dist/esm/components/Collection/index.js.map +1 -0
- package/dist/esm/components/Collection/item.js +157 -0
- package/dist/esm/components/Collection/item.js.map +1 -0
- package/dist/esm/components/Columns/column.js +14 -0
- package/dist/esm/components/Columns/column.js.map +1 -0
- package/dist/esm/components/Columns/index.js +17 -0
- package/dist/esm/components/Columns/index.js.map +1 -0
- package/dist/esm/components/Comment/index.js +63 -0
- package/dist/esm/components/Comment/index.js.map +1 -0
- package/dist/esm/components/CommentFeed/index.js +17 -0
- package/dist/esm/components/CommentFeed/index.js.map +1 -0
- package/dist/esm/components/Content/index.js +16 -0
- package/dist/esm/components/Content/index.js.map +1 -0
- package/dist/esm/components/Content/wrapper.js +14 -0
- package/dist/esm/components/Content/wrapper.js.map +1 -0
- package/dist/esm/components/ControlGroup/index.js +351 -0
- package/dist/esm/components/ControlGroup/index.js.map +1 -0
- package/dist/esm/components/DatePicker/MonthYearDropdowns.js +30 -0
- package/dist/esm/components/DatePicker/MonthYearDropdowns.js.map +1 -0
- package/dist/esm/components/DatePicker/index.js +244 -0
- package/dist/esm/components/DatePicker/index.js.map +1 -0
- package/dist/esm/components/DescriptionList/index.js +132 -0
- package/dist/esm/components/DescriptionList/index.js.map +1 -0
- package/dist/esm/components/Drawer/backdrop.js +34 -0
- package/dist/esm/components/Drawer/backdrop.js.map +1 -0
- package/dist/esm/components/Drawer/index.js +286 -0
- package/dist/esm/components/Drawer/index.js.map +1 -0
- package/dist/esm/components/Dropdown/index.js +49 -0
- package/dist/esm/components/Dropdown/index.js.map +1 -0
- package/dist/esm/components/Dropdown/item.js +12 -0
- package/dist/esm/components/Dropdown/item.js.map +1 -0
- package/dist/esm/components/Dropdown/list.js +320 -0
- package/dist/esm/components/Dropdown/list.js.map +1 -0
- package/dist/esm/components/Effect/index.js +349 -0
- package/dist/esm/components/Effect/index.js.map +1 -0
- package/dist/esm/components/EmptyState/index.js +31 -0
- package/dist/esm/components/EmptyState/index.js.map +1 -0
- package/dist/esm/components/EntityRow/index.js +134 -0
- package/dist/esm/components/EntityRow/index.js.map +1 -0
- package/dist/esm/components/ErrorBoundary/index.js +57 -0
- package/dist/esm/components/ErrorBoundary/index.js.map +1 -0
- package/dist/esm/components/ExportModal/index.js +60 -0
- package/dist/esm/components/ExportModal/index.js.map +1 -0
- package/dist/esm/components/FeatureCard/index.js +139 -0
- package/dist/esm/components/FeatureCard/index.js.map +1 -0
- package/dist/esm/components/GlobalModalsWrapper/index.js +27 -0
- package/dist/esm/components/GlobalModalsWrapper/index.js.map +1 -0
- package/dist/esm/components/Header/index.js +55 -0
- package/dist/esm/components/Header/index.js.map +1 -0
- package/dist/esm/components/Icon/index.js +130 -0
- package/dist/esm/components/Icon/index.js.map +1 -0
- package/dist/esm/components/Input/index.js +136 -0
- package/dist/esm/components/Input/index.js.map +1 -0
- package/dist/esm/components/InputClearButton/index.js +32 -0
- package/dist/esm/components/InputClearButton/index.js.map +1 -0
- package/dist/esm/components/InternalPopover/index.js +244 -0
- package/dist/esm/components/InternalPopover/index.js.map +1 -0
- package/dist/esm/components/KeyValueTable/index.js +81 -0
- package/dist/esm/components/KeyValueTable/index.js.map +1 -0
- package/dist/esm/components/Label/index.js +7 -0
- package/dist/esm/components/Label/index.js.map +1 -0
- package/dist/esm/components/Layout/content.js +12 -0
- package/dist/esm/components/Layout/content.js.map +1 -0
- package/dist/esm/components/Layout/index.js +28 -0
- package/dist/esm/components/Layout/index.js.map +1 -0
- package/dist/esm/components/Menu/divider.js +41 -0
- package/dist/esm/components/Menu/divider.js.map +1 -0
- package/dist/esm/components/Menu/index.js +67 -0
- package/dist/esm/components/Menu/index.js.map +1 -0
- package/dist/esm/components/Menu/item.js +33 -0
- package/dist/esm/components/Menu/item.js.map +1 -0
- package/dist/esm/components/Menu/section.js +28 -0
- package/dist/esm/components/Menu/section.js.map +1 -0
- package/dist/esm/components/Message/index.js +52 -0
- package/dist/esm/components/Message/index.js.map +1 -0
- package/dist/esm/components/Modal/index.js +40 -0
- package/dist/esm/components/Modal/index.js.map +1 -0
- package/dist/esm/components/MultiSelect/index.js +146 -0
- package/dist/esm/components/MultiSelect/index.js.map +1 -0
- package/dist/esm/components/Navbar/divider.js +24 -0
- package/dist/esm/components/Navbar/divider.js.map +1 -0
- package/dist/esm/components/Navbar/group.js +27 -0
- package/dist/esm/components/Navbar/group.js.map +1 -0
- package/dist/esm/components/Navbar/index.js +39 -0
- package/dist/esm/components/Navbar/index.js.map +1 -0
- package/dist/esm/components/Navbar/item.js +51 -0
- package/dist/esm/components/Navbar/item.js.map +1 -0
- package/dist/esm/components/Notifications/index.js +28 -0
- package/dist/esm/components/Notifications/index.js.map +1 -0
- package/dist/esm/components/Notifications/notification.js +225 -0
- package/dist/esm/components/Notifications/notification.js.map +1 -0
- package/dist/esm/components/Paging/index.js +116 -0
- package/dist/esm/components/Paging/index.js.map +1 -0
- package/dist/esm/components/Panel/LabelEditor.js +33 -0
- package/dist/esm/components/Panel/LabelEditor.js.map +1 -0
- package/dist/esm/components/Panel/NonResponsiveActions.js +18 -0
- package/dist/esm/components/Panel/NonResponsiveActions.js.map +1 -0
- package/dist/esm/components/Panel/index.js +564 -0
- package/dist/esm/components/Panel/index.js.map +1 -0
- package/dist/esm/components/Panel/panel.screenshot.js +15 -0
- package/dist/esm/components/Panel/panel.screenshot.js.map +1 -0
- package/dist/esm/components/Paragraph/index.js +19 -0
- package/dist/esm/components/Paragraph/index.js.map +1 -0
- package/dist/esm/components/Popover/index.js +267 -0
- package/dist/esm/components/Popover/index.js.map +1 -0
- package/dist/esm/components/Progress/index.js +188 -0
- package/dist/esm/components/Progress/index.js.map +1 -0
- package/dist/esm/components/RadioGroup/index.js +9 -0
- package/dist/esm/components/RadioGroup/index.js.map +1 -0
- package/dist/esm/components/Rating/index.js +165 -0
- package/dist/esm/components/Rating/index.js.map +1 -0
- package/dist/esm/components/RichTextEditor/index.js +299 -0
- package/dist/esm/components/RichTextEditor/index.js.map +1 -0
- package/dist/esm/components/SegmentedControl/index.js +291 -0
- package/dist/esm/components/SegmentedControl/index.js.map +1 -0
- package/dist/esm/components/SeverityRow/index.js +106 -0
- package/dist/esm/components/SeverityRow/index.js.map +1 -0
- package/dist/esm/components/Skeleton/index.js +28 -0
- package/dist/esm/components/Skeleton/index.js.map +1 -0
- package/dist/esm/components/Slider/index.js +176 -0
- package/dist/esm/components/Slider/index.js.map +1 -0
- package/dist/esm/components/Spacer/index.js +96 -0
- package/dist/esm/components/Spacer/index.js.map +1 -0
- package/dist/esm/components/Span/index.js +18 -0
- package/dist/esm/components/Span/index.js.map +1 -0
- package/dist/esm/components/Spinner/index.js +14 -0
- package/dist/esm/components/Spinner/index.js.map +1 -0
- package/dist/esm/components/Statistic/index.js +166 -0
- package/dist/esm/components/Statistic/index.js.map +1 -0
- package/dist/esm/components/Table/body.js +72 -0
- package/dist/esm/components/Table/body.js.map +1 -0
- package/dist/esm/components/Table/cell.js +214 -0
- package/dist/esm/components/Table/cell.js.map +1 -0
- package/dist/esm/components/Table/header.js +158 -0
- package/dist/esm/components/Table/header.js.map +1 -0
- package/dist/esm/components/Table/headerCell.js +233 -0
- package/dist/esm/components/Table/headerCell.js.map +1 -0
- package/dist/esm/components/Table/helpers.js +285 -0
- package/dist/esm/components/Table/helpers.js.map +1 -0
- package/dist/esm/components/Table/index.js +472 -0
- package/dist/esm/components/Table/index.js.map +1 -0
- package/dist/esm/components/Table/row.js +176 -0
- package/dist/esm/components/Table/row.js.map +1 -0
- package/dist/esm/components/Table/value.js +19 -0
- package/dist/esm/components/Table/value.js.map +1 -0
- package/dist/esm/components/Tabs/content.js +23 -0
- package/dist/esm/components/Tabs/content.js.map +1 -0
- package/dist/esm/components/Tabs/index.js +44 -0
- package/dist/esm/components/Tabs/index.js.map +1 -0
- package/dist/esm/components/Tabs/item.js +122 -0
- package/dist/esm/components/Tabs/item.js.map +1 -0
- package/dist/esm/components/Tabs/list.js +208 -0
- package/dist/esm/components/Tabs/list.js.map +1 -0
- package/dist/esm/components/Tag/group.js +38 -0
- package/dist/esm/components/Tag/group.js.map +1 -0
- package/dist/esm/components/Tag/index.js +267 -0
- package/dist/esm/components/Tag/index.js.map +1 -0
- package/dist/esm/components/Testimonial/index.js +108 -0
- package/dist/esm/components/Testimonial/index.js.map +1 -0
- package/dist/esm/components/Textarea/index.js +135 -0
- package/dist/esm/components/Textarea/index.js.map +1 -0
- package/dist/esm/components/Tier/index.js +48 -0
- package/dist/esm/components/Tier/index.js.map +1 -0
- package/dist/esm/components/TimeAgo/index.js +19 -0
- package/dist/esm/components/TimeAgo/index.js.map +1 -0
- package/dist/esm/components/Timeline/index.js +271 -0
- package/dist/esm/components/Timeline/index.js.map +1 -0
- package/dist/esm/components/TooltipComponent/index.js +11 -0
- package/dist/esm/components/TooltipComponent/index.js.map +1 -0
- package/dist/esm/components/Tree/index.js +266 -0
- package/dist/esm/components/Tree/index.js.map +1 -0
- package/dist/esm/components/Tree/modal.js +30 -0
- package/dist/esm/components/Tree/modal.js.map +1 -0
- package/dist/esm/constants/animations.js +9 -0
- package/dist/esm/constants/animations.js.map +1 -0
- package/dist/esm/constants/colors.js +13 -0
- package/dist/esm/constants/colors.js.map +1 -0
- package/dist/esm/constants/paging.js +48 -0
- package/dist/esm/constants/paging.js.map +1 -0
- package/dist/esm/constants/sizes.js +363 -0
- package/dist/esm/constants/sizes.js.map +1 -0
- package/dist/esm/constants/theme.js +40 -0
- package/dist/esm/constants/theme.js.map +1 -0
- package/dist/esm/containers/Paging.js +29 -0
- package/dist/esm/containers/Paging.js.map +1 -0
- package/dist/esm/containers/ReqoreProvider.js +239 -0
- package/dist/esm/containers/ReqoreProvider.js.map +1 -0
- package/dist/esm/containers/ThemeProvider.js +11 -0
- package/dist/esm/containers/ThemeProvider.js.map +1 -0
- package/dist/esm/containers/UIProvider.js +53 -0
- package/dist/esm/containers/UIProvider.js.map +1 -0
- package/dist/esm/context/CustomThemeContext.js +4 -0
- package/dist/esm/context/CustomThemeContext.js.map +1 -0
- package/dist/esm/context/ReqoreContext.js +22 -0
- package/dist/esm/context/ReqoreContext.js.map +1 -0
- package/dist/esm/context/ThemeContext.js +4 -0
- package/dist/esm/context/ThemeContext.js.map +1 -0
- package/dist/esm/helpers/animations.js +13 -0
- package/dist/esm/helpers/animations.js.map +1 -0
- package/dist/esm/helpers/colors.js +240 -0
- package/dist/esm/helpers/colors.js.map +1 -0
- package/dist/esm/helpers/dates.js +52 -0
- package/dist/esm/helpers/dates.js.map +1 -0
- package/dist/esm/helpers/time.js +21 -0
- package/dist/esm/helpers/time.js.map +1 -0
- package/dist/esm/helpers/utils.js +174 -0
- package/dist/esm/helpers/utils.js.map +1 -0
- package/dist/esm/hooks/useAutoFocus.js +76 -0
- package/dist/esm/hooks/useAutoFocus.js.map +1 -0
- package/dist/esm/hooks/useCloneThroughFragments.js +26 -0
- package/dist/esm/hooks/useCloneThroughFragments.js.map +1 -0
- package/dist/esm/hooks/useCombinedRefs.js +25 -0
- package/dist/esm/hooks/useCombinedRefs.js.map +1 -0
- package/dist/esm/hooks/useComponentTooltip.js +28 -0
- package/dist/esm/hooks/useComponentTooltip.js.map +1 -0
- package/dist/esm/hooks/useFocusTrap.js +115 -0
- package/dist/esm/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/hooks/useLatestZIndex.js +10 -0
- package/dist/esm/hooks/useLatestZIndex.js.map +1 -0
- package/dist/esm/hooks/useOutsideClick.js +17 -0
- package/dist/esm/hooks/useOutsideClick.js.map +1 -0
- package/dist/esm/hooks/usePaging.js +92 -0
- package/dist/esm/hooks/usePaging.js.map +1 -0
- package/dist/esm/hooks/useQueryWithDelay.js +19 -0
- package/dist/esm/hooks/useQueryWithDelay.js.map +1 -0
- package/dist/esm/hooks/useReqore.js +10 -0
- package/dist/esm/hooks/useReqore.js.map +1 -0
- package/dist/esm/hooks/useReqoreContext.js +12 -0
- package/dist/esm/hooks/useReqoreContext.js.map +1 -0
- package/dist/esm/hooks/useReqoreEffect.js +21 -0
- package/dist/esm/hooks/useReqoreEffect.js.map +1 -0
- package/dist/esm/hooks/useTextareaAutoSize.js +16 -0
- package/dist/esm/hooks/useTextareaAutoSize.js.map +1 -0
- package/dist/esm/hooks/useTheme.js +39 -0
- package/dist/esm/hooks/useTheme.js.map +1 -0
- package/dist/esm/hooks/useWhyDidYouUpdate.js +32 -0
- package/dist/esm/hooks/useWhyDidYouUpdate.js.map +1 -0
- package/dist/esm/index.js +92 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/styles.js +122 -0
- package/dist/esm/styles.js.map +1 -0
- package/dist/esm/types/global.js +2 -0
- package/dist/esm/types/global.js.map +1 -0
- package/dist/esm/types/icons.js +2 -0
- package/dist/esm/types/icons.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
- package/tests.json +1 -1
- package/tsconfig.esm.json +11 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
3
|
+
import { useCloneThroughFragments } from '../../hooks/useCloneThroughFragments';
|
|
4
|
+
import ReqoreButton from '../Button';
|
|
5
|
+
import ReqoreControlGroup from '../ControlGroup';
|
|
6
|
+
export const ReqoreMenuSection = ({ children, customTheme, wrap, flat, minimal, collapsible = true, isCollapsed, activeIntent, onCollapseChange, ...rest }) => {
|
|
7
|
+
const [_isCollapsed, setIsCollapsed] = useState(isCollapsed);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
setIsCollapsed(isCollapsed);
|
|
10
|
+
}, [isCollapsed]);
|
|
11
|
+
const handleCollapseChange = useCallback((event) => {
|
|
12
|
+
if (collapsible) {
|
|
13
|
+
setIsCollapsed(!_isCollapsed);
|
|
14
|
+
onCollapseChange?.(!_isCollapsed);
|
|
15
|
+
}
|
|
16
|
+
rest.onClick?.(event);
|
|
17
|
+
}, [_isCollapsed, onCollapseChange, collapsible, rest.onClick]);
|
|
18
|
+
const { clone } = useCloneThroughFragments((props) => ({
|
|
19
|
+
customTheme: props?.customTheme || customTheme,
|
|
20
|
+
wrap: 'wrap' in (props || {}) ? props.wrap : wrap,
|
|
21
|
+
flat: 'flat' in (props || {}) ? props.flat : flat,
|
|
22
|
+
minimal: 'minimal' in (props || {}) ? props.minimal : minimal,
|
|
23
|
+
}));
|
|
24
|
+
return (_jsxs(ReqoreControlGroup, { vertical: true, fluid: true, className: 'reqore-menu-section', children: [_jsx(ReqoreButton, { wrap: wrap, flat: flat, minimal: minimal, active: collapsible && !_isCollapsed, customTheme: customTheme, ...rest, className: `${rest.className || ''} reqore-menu-section-toggle`, intent: collapsible && !_isCollapsed ? activeIntent : rest.intent, fluid: true, onClick: handleCollapseChange, rightIcon: rest.rightIcon || (collapsible ? 'ArrowRightSLine' : 'ArrowDownSLine'), rightIconProps: {
|
|
25
|
+
rotation: collapsible && !_isCollapsed ? 90 : 0,
|
|
26
|
+
} }), !_isCollapsed || !collapsible ? (_jsx(ReqoreControlGroup, { vertical: true, fluid: true, style: { paddingLeft: '10px' }, children: clone(children) })) : null] }));
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section.js","sourceRoot":"","sources":["../../../../src/components/Menu/section.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { createElement as _createElement } from "react";
|
|
3
|
+
import { animated } from '@react-spring/web';
|
|
4
|
+
import { forwardRef, memo, useEffect, useMemo, useState } from 'react';
|
|
5
|
+
import { useMount, useUnmount } from 'react-use';
|
|
6
|
+
import ReqoreThemeProvider from '../../containers/ThemeProvider';
|
|
7
|
+
import { getColorFromMaybeString } from '../../helpers/colors';
|
|
8
|
+
import { useReqoreTheme } from '../../hooks/useTheme';
|
|
9
|
+
import { ReqoreHeading } from '../Header';
|
|
10
|
+
import ReqoreIcon from '../Icon';
|
|
11
|
+
import { StyledIconWrapper, StyledNotificationContent, StyledNotificationContentWrapper, StyledNotificationInnerContent, StyledReqoreNotification, typeToIcon, } from '../Notifications/notification';
|
|
12
|
+
import { ReqoreSpinner } from '../Spinner';
|
|
13
|
+
import { ReqoreTooltipComponent } from '../TooltipComponent';
|
|
14
|
+
const ReqoreMessage = memo(forwardRef(({ intent, icon, title, children, onClose, onClick, duration, onFinish, flat, minimal, size = 'normal', customTheme, inheritCustomTheme, iconColor, fixed, fluid, iconProps, ...rest }, ref) => {
|
|
15
|
+
const [internalTimeout, setInternalTimeout] = useState(null);
|
|
16
|
+
const theme = useReqoreTheme('main', customTheme, intent, undefined, inheritCustomTheme);
|
|
17
|
+
useMount(() => {
|
|
18
|
+
if (duration) {
|
|
19
|
+
setInternalTimeout(setTimeout(() => {
|
|
20
|
+
onFinish && onFinish();
|
|
21
|
+
}, duration));
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (internalTimeout) {
|
|
26
|
+
clearTimeout(internalTimeout);
|
|
27
|
+
setInternalTimeout(setTimeout(() => {
|
|
28
|
+
onFinish && onFinish();
|
|
29
|
+
}, duration));
|
|
30
|
+
}
|
|
31
|
+
}, [duration, intent, children, title]);
|
|
32
|
+
useUnmount(() => {
|
|
33
|
+
if (internalTimeout) {
|
|
34
|
+
clearTimeout(internalTimeout);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const leftIcon = useMemo(() => icon || (intent ? typeToIcon[intent] : undefined), [icon, intent]);
|
|
38
|
+
const effect = useMemo(() => ({
|
|
39
|
+
interactive: !!onClick,
|
|
40
|
+
...rest?.effect,
|
|
41
|
+
}), [!!onClick, JSON.stringify(rest?.effect)]);
|
|
42
|
+
return (_jsx(ReqoreThemeProvider, { children: _createElement(ReqoreTooltipComponent, { ...rest, Component: StyledReqoreNotification, as: animated.div, key: `${duration}${intent}${title}${children}`, intent: intent, timeout: duration, clickable: !!onClick, onClick: onClick, flat: flat, minimal: minimal, asMessage: true, fluid: fluid, fixed: fixed, className: `${rest?.className || ''} reqore-message`, ref: ref, size: size, theme: theme, effect: effect },
|
|
43
|
+
_jsxs(StyledNotificationContentWrapper, { size: size, theme: theme, children: [leftIcon ? (_jsx(_Fragment, { children: intent === 'pending' ? (_jsx(ReqoreSpinner, { size: size, iconColor: iconColor, type: 5, iconMargin: 'right', iconProps: iconProps })) : (_jsx(ReqoreIcon, { icon: leftIcon, margin: 'right', size: size, color: iconColor, ...iconProps })) })) : null, _jsxs(StyledNotificationInnerContent, { children: [title && (_jsx(ReqoreHeading, { size: size, customTheme: rest.effect?.color
|
|
44
|
+
? { text: { color: getColorFromMaybeString(theme, rest.effect.color) } }
|
|
45
|
+
: undefined, children: title })), _jsx(StyledNotificationContent, { theme: theme, hasTitle: !!title, size: size, children: children })] })] }),
|
|
46
|
+
onClose && (_jsx(StyledIconWrapper, { theme: theme, size: size, intent: intent, clickable: true, className: 'reqore-message-close', onClick: (event) => {
|
|
47
|
+
event.stopPropagation();
|
|
48
|
+
onClose && onClose();
|
|
49
|
+
}, children: _jsx(ReqoreIcon, { icon: 'CloseFill', margin: 'both', size: size }) }))) }));
|
|
50
|
+
}));
|
|
51
|
+
export default ReqoreMessage;
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Message/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { nanoid } from 'nanoid';
|
|
3
|
+
import { memo, useCallback, useEffect, useMemo } from 'react';
|
|
4
|
+
import { useReqoreProperty } from '../..';
|
|
5
|
+
import { ReqoreDrawer } from '../Drawer';
|
|
6
|
+
export const ReqoreModal = memo(({ width = '80vw', height = 'fit-content', confirmOnClose, ...rest }) => {
|
|
7
|
+
const id = useMemo(() => nanoid(), []);
|
|
8
|
+
const escClosableModals = useReqoreProperty('escClosableModals');
|
|
9
|
+
const closeModalsOnEscPress = useReqoreProperty('closeModalsOnEscPress');
|
|
10
|
+
const add = useReqoreProperty('addEscClosableModal');
|
|
11
|
+
const remove = useReqoreProperty('removeEscClosableModal');
|
|
12
|
+
const isEscClosable = rest.isOpen &&
|
|
13
|
+
rest.onClose &&
|
|
14
|
+
!rest.disabled &&
|
|
15
|
+
(rest.closeOnEscPress ?? closeModalsOnEscPress);
|
|
16
|
+
// Close last popover when ESC is pressed
|
|
17
|
+
const handleKeyDown = useCallback((event) => {
|
|
18
|
+
if (event.key === 'Escape') {
|
|
19
|
+
remove(id, rest.onClose, confirmOnClose);
|
|
20
|
+
}
|
|
21
|
+
}, [id, rest.onClose, remove, confirmOnClose]);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
if (isEscClosable) {
|
|
24
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
25
|
+
}
|
|
26
|
+
return () => {
|
|
27
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
28
|
+
};
|
|
29
|
+
}, [escClosableModals, isEscClosable, handleKeyDown]);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
if (rest.isOpen) {
|
|
32
|
+
add(id);
|
|
33
|
+
}
|
|
34
|
+
return () => {
|
|
35
|
+
remove(id);
|
|
36
|
+
};
|
|
37
|
+
}, [id, rest.isOpen]);
|
|
38
|
+
return (_jsx(ReqoreDrawer, { closeOnEscPress: closeModalsOnEscPress, ...rest, confirmOnClose: confirmOnClose, width: width, height: height, position: 'left', _isModal: true, className: `${rest.className || ''} reqore-modal` }));
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Modal/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAsB,YAAY,EAAE,MAAM,WAAW,CAAC;AAe7D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAC7B,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,cAAc,EAAE,GAAG,IAAI,EAAqB,EAAE,EAAE;IACzF,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IACjE,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAE3D,MAAM,aAAa,GACjB,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,OAAO;QACZ,CAAC,IAAI,CAAC,QAAQ;QACd,CAAC,IAAI,CAAC,eAAe,IAAI,qBAAqB,CAAC,CAAC;IAElD,yCAAyC;IACzC,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAAoB,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;YAC1B,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;SAC1C;IACH,CAAC,EACD,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAC3C,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,EAAE;YACjB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;SACrD;QAED,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,GAAG,CAAC,EAAE,CAAC,CAAC;SACT;QAED,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,EAAE,CAAC,CAAC;QACb,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtB,OAAO,CACL,KAAC,YAAY,IACX,eAAe,EAAE,qBAAqB,KAClC,IAAI,EACR,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAC,MAAM,EACf,QAAQ,QACR,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,eAAe,GACjD,CACH,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { omit, size } from 'lodash';
|
|
3
|
+
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { ReqoreDropdown, ReqoreInput } from '../..';
|
|
5
|
+
import ReqoreControlGroup from '../ControlGroup';
|
|
6
|
+
import ReqoreTag from '../Tag';
|
|
7
|
+
import ReqoreTagGroup from '../Tag/group';
|
|
8
|
+
export const ReqoreMultiSelectItem = memo(({ item, onRemoveClick, onClick, selectedItemEffect, selectedItemSize, onItemClickIcon, disabled, }) => {
|
|
9
|
+
if (!item) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
return (_jsx(ReqoreTag, { ...item, disabled: disabled || item.disabled, label: item.label || item.value, onRemoveClick: onRemoveClick, intent: item.intent, effect: !item.intent ? item.effect || selectedItemEffect : undefined, size: selectedItemSize, onClick: onClick, rightIcon: item.disabled
|
|
13
|
+
? undefined
|
|
14
|
+
: item.rightIcon
|
|
15
|
+
? item.rightIcon
|
|
16
|
+
: onClick
|
|
17
|
+
? onItemClickIcon
|
|
18
|
+
: undefined }));
|
|
19
|
+
});
|
|
20
|
+
export const ReqoreMultiSelect = ({ value = [], onValueChange, onItemClick, canRemoveItems, canCreateItems, items = [], selectedItemEffect, selectedItemSize, selectorProps, openOnMount, enterKeySelects, onItemClickIcon, onItemAdded, onItemRemoved, disabled, showNoItemsMessage = true, noItemsMessageProps = {}, ...rest }) => {
|
|
21
|
+
const [createdItems, setCreatedItems] = useState([]);
|
|
22
|
+
const [query, setQuery] = useState('');
|
|
23
|
+
const popoverData = useRef(undefined);
|
|
24
|
+
const [focused, setFocused] = useState(false);
|
|
25
|
+
const isSelectorDisabled = Boolean(disabled || selectorProps?.disabled || (!size(items) && !size(createdItems) && !canCreateItems));
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (query && !popoverData.current?.isOpen()) {
|
|
28
|
+
popoverData.current?.open();
|
|
29
|
+
}
|
|
30
|
+
}, [query]);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (enterKeySelects) {
|
|
33
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
34
|
+
}
|
|
35
|
+
return () => {
|
|
36
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
const addRemoveItem = useCallback((item) => {
|
|
40
|
+
if (value.includes(item.value)) {
|
|
41
|
+
onValueChange(value.filter((v) => v !== item.value));
|
|
42
|
+
onItemRemoved?.(item.value);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
onValueChange([...value, item.value]);
|
|
46
|
+
onItemAdded?.(item.value);
|
|
47
|
+
}
|
|
48
|
+
}, [value, onValueChange, onItemAdded, onItemRemoved]);
|
|
49
|
+
const handleItemSelect = useCallback((item) => {
|
|
50
|
+
addRemoveItem(item);
|
|
51
|
+
if (item.isNew) {
|
|
52
|
+
setCreatedItems([
|
|
53
|
+
...createdItems,
|
|
54
|
+
{
|
|
55
|
+
value: item.value,
|
|
56
|
+
},
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
59
|
+
setQuery('');
|
|
60
|
+
}, [createdItems, value, items, addRemoveItem]);
|
|
61
|
+
/*
|
|
62
|
+
This code creates a list of all items that are available
|
|
63
|
+
for selection in the dropdown. It will include the items
|
|
64
|
+
that are passed in as props, as well as any items that the
|
|
65
|
+
user has created.
|
|
66
|
+
*/
|
|
67
|
+
const allItems = useMemo(() => {
|
|
68
|
+
const customItems = size(createdItems)
|
|
69
|
+
? [{ divider: true, label: 'Custom Items' }, ...createdItems]
|
|
70
|
+
: [];
|
|
71
|
+
let filteredItems = [...items, ...customItems].filter((item) => query
|
|
72
|
+
? item.divider
|
|
73
|
+
? false
|
|
74
|
+
: (item.label || item.value)?.toString().toLowerCase().indexOf(query.toLowerCase()) !== -1
|
|
75
|
+
: true);
|
|
76
|
+
// Mark selected items as selected
|
|
77
|
+
filteredItems = filteredItems.map((item) => ({
|
|
78
|
+
...omit(item, ['actions', 'asBadge', 'rightIcon']),
|
|
79
|
+
selected: value.includes(item.value),
|
|
80
|
+
}));
|
|
81
|
+
if (query && !size(filteredItems)) {
|
|
82
|
+
filteredItems = [
|
|
83
|
+
{ label: 'No existing items found', readOnly: true, minimal: true, icon: 'ForbidLine' },
|
|
84
|
+
];
|
|
85
|
+
}
|
|
86
|
+
// If there is a query and there are filtered items
|
|
87
|
+
// and there is no item that exactly matches the query, add it to the list
|
|
88
|
+
if (query &&
|
|
89
|
+
!filteredItems.some((item) => item.value === query) &&
|
|
90
|
+
canCreateItems) {
|
|
91
|
+
filteredItems = [
|
|
92
|
+
{
|
|
93
|
+
label: `Create new "${query}"`,
|
|
94
|
+
value: query,
|
|
95
|
+
isNew: true,
|
|
96
|
+
icon: 'AddCircleLine',
|
|
97
|
+
minimal: true,
|
|
98
|
+
flat: false,
|
|
99
|
+
effect: {
|
|
100
|
+
gradient: {
|
|
101
|
+
colors: {
|
|
102
|
+
0: 'success',
|
|
103
|
+
100: 'success:darken:1',
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
{ divider: true, label: 'Items matching your query' },
|
|
109
|
+
...filteredItems,
|
|
110
|
+
];
|
|
111
|
+
}
|
|
112
|
+
return filteredItems;
|
|
113
|
+
}, [items, createdItems, query, value]);
|
|
114
|
+
const handleKeyDown = useCallback((e) => {
|
|
115
|
+
if (e.key === 'Enter' && focused) {
|
|
116
|
+
const item = [...items, ...createdItems].find((item) => item.value === query);
|
|
117
|
+
if (item) {
|
|
118
|
+
handleItemSelect(item);
|
|
119
|
+
}
|
|
120
|
+
else if (canCreateItems && query) {
|
|
121
|
+
handleItemSelect({
|
|
122
|
+
value: query,
|
|
123
|
+
isNew: true,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}, [items, createdItems, query, canCreateItems, focused]);
|
|
128
|
+
const getItemByValue = useCallback((value) => {
|
|
129
|
+
return [...items, ...createdItems].find((item) => item.value === value);
|
|
130
|
+
}, [items, createdItems, value]);
|
|
131
|
+
return (_jsxs(ReqoreControlGroup, { vertical: true, fluid: true, ...rest, children: [size(value) ? (_jsx(ReqoreTagGroup, { minimal: rest.minimal, size: rest.size, children: value.map((v) => (_jsx(ReqoreMultiSelectItem, { item: getItemByValue(v), onItemClickIcon: onItemClickIcon, onRemoveClick: canRemoveItems ? () => addRemoveItem(getItemByValue(v)) : undefined, onClick: onItemClick
|
|
132
|
+
? () => {
|
|
133
|
+
onItemClick(getItemByValue(v));
|
|
134
|
+
}
|
|
135
|
+
: undefined, selectedItemEffect: selectedItemEffect, selectedItemSize: selectedItemSize, disabled: disabled }, v))) })) : showNoItemsMessage ? (_jsx(ReqoreTagGroup, { minimal: rest.minimal, size: rest.size, children: _jsx(ReqoreTag, { color: 'transparent', icon: 'ForbidLine', label: 'No items selected', ...noItemsMessageProps }) })) : null, _jsx(ReqoreControlGroup, { minimal: rest.minimal, flat: rest.flat, size: rest.size, children: _jsx(ReqoreDropdown, { useTargetWidth: true, handler: 'click', placement: 'auto-start', placeholder: canCreateItems ? 'Type to search or create an item...' : 'Type to search...', ...selectorProps, disabled: isSelectorDisabled, multiSelect: true, onFocus: () => {
|
|
136
|
+
setFocused(true);
|
|
137
|
+
if (!isSelectorDisabled) {
|
|
138
|
+
popoverData.current?.open();
|
|
139
|
+
}
|
|
140
|
+
}, onBlur: () => setFocused(false), passPopoverData: (data) => (popoverData.current = data), component: ReqoreInput, onClearClick: () => setQuery(''), value: query, isDefaultOpen: openOnMount, onItemSelect: handleItemSelect, onChange: (e) => setQuery(e.target.value), items: size(allItems)
|
|
141
|
+
? allItems
|
|
142
|
+
: canCreateItems
|
|
143
|
+
? [{ label: 'No items exist', readOnly: true, minimal: true, icon: 'ForbidLine' }]
|
|
144
|
+
: [] }) })] }));
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/MultiSelect/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { getReadableColor } from '../../helpers/colors';
|
|
5
|
+
const StyledNavbarDivider = styled.div `
|
|
6
|
+
position: relative;
|
|
7
|
+
width: 20px;
|
|
8
|
+
height: 100%;
|
|
9
|
+
display: flex;
|
|
10
|
+
justify-content: center;
|
|
11
|
+
align-items: center;
|
|
12
|
+
|
|
13
|
+
&:before {
|
|
14
|
+
content: '';
|
|
15
|
+
display: block;
|
|
16
|
+
width: 1px;
|
|
17
|
+
height: 50%;
|
|
18
|
+
background-color: ${({ theme, type }) => getReadableColor(theme, undefined, undefined, true, theme[type]?.background || theme[type]?.main || theme.main)};
|
|
19
|
+
opacity: 0.2;
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
const ReqoreNavbarDivider = forwardRef(({ type, ...rest }, ref) => (_jsx(StyledNavbarDivider, { ...rest, type: type, className: `${rest.className || ''} reqore-navbar-divider`, ref: ref })));
|
|
23
|
+
export default ReqoreNavbarDivider;
|
|
24
|
+
//# sourceMappingURL=divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"divider.js","sourceRoot":"","sources":["../../../../src/components/Navbar/divider.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAOxD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAGpC;;;;;;;;;;;;;wBAasB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CACtC,gBAAgB,CACd,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,EACJ,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAC3D;;;CAGN,CAAC;AAEF,MAAM,mBAAmB,GAAG,UAAU,CACpC,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAA6B,EAAE,GAAQ,EAAE,EAAE,CAAC,CAC1D,KAAC,mBAAmB,OACd,IAAI,EACR,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,wBAAwB,EAC1D,GAAG,EAAE,GAAG,GACR,CACH,CACF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React, { forwardRef } from 'react';
|
|
3
|
+
import styled, { css } from 'styled-components';
|
|
4
|
+
export const StyledNavbarGroup = styled.div `
|
|
5
|
+
${({ position }) => css `
|
|
6
|
+
height: 100%;
|
|
7
|
+
float: ${position};
|
|
8
|
+
color: inherit;
|
|
9
|
+
background-color: inherit;
|
|
10
|
+
display: flex;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
align-items: center;
|
|
13
|
+
`}
|
|
14
|
+
`;
|
|
15
|
+
const ReqoreNavbarGroup = forwardRef(({ position = 'left', children, type, ...rest }, ref) => (_jsx(StyledNavbarGroup, { ...rest, className: `${rest.className || ''} reqore-navbar-group`, position: position, ref: ref, children: React.Children.map(children, (child) => child
|
|
16
|
+
? React.cloneElement(child, {
|
|
17
|
+
type,
|
|
18
|
+
theme: rest.theme,
|
|
19
|
+
componentProps: {
|
|
20
|
+
...child.props?.componentProps,
|
|
21
|
+
type,
|
|
22
|
+
theme: rest.theme,
|
|
23
|
+
},
|
|
24
|
+
})
|
|
25
|
+
: null) })));
|
|
26
|
+
export default ReqoreNavbarGroup;
|
|
27
|
+
//# sourceMappingURL=group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../src/components/Navbar/group.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAchD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAyB;IAChE,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE,CAAC,GAAG,CAAA;;aAErC,QAAQ;;;;;;GAMlB;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAG,UAAU,CAClC,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAA2B,EAAE,GAAQ,EAAE,EAAE,CAAC,CACrF,KAAC,iBAAiB,OACZ,IAAI,EACR,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,sBAAsB,EACxD,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,YAEP,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CACtC,KAAK;QACH,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;YACxB,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc,EAAE;gBACd,GAAG,KAAK,CAAC,KAAK,EAAE,cAAc;gBAC9B,IAAI;gBACJ,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF,CAAC;QACJ,CAAC,CAAC,IAAI,CACT,GACiB,CACrB,CACF,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { darken } from 'polished';
|
|
3
|
+
import React, { forwardRef } from 'react';
|
|
4
|
+
import styled, { css } from 'styled-components';
|
|
5
|
+
import { getMainColor, getReadableColor } from '../../helpers/colors';
|
|
6
|
+
import { useReqoreTheme } from '../../hooks/useTheme';
|
|
7
|
+
import { StyledEffect } from '../Effect';
|
|
8
|
+
export const StyledNavbar = styled(StyledEffect) `
|
|
9
|
+
${({ theme, type }) => css `
|
|
10
|
+
height: 50px;
|
|
11
|
+
flex-shrink: 0;
|
|
12
|
+
width: 100%;
|
|
13
|
+
padding: 0 10px;
|
|
14
|
+
color: ${theme[type]?.color ||
|
|
15
|
+
getReadableColor(theme, undefined, undefined, true, theme[type]?.background || theme[type]?.main || theme.main)};
|
|
16
|
+
background-color: ${theme[type]?.background || theme[type]?.main || theme.main};
|
|
17
|
+
`}
|
|
18
|
+
|
|
19
|
+
${({ theme, type, flat }) => !flat
|
|
20
|
+
? css `
|
|
21
|
+
box-shadow: rgba(31, 26, 34, 0.05) 0px ${type === 'header' ? '2px' : '-2px'} 6px;
|
|
22
|
+
|
|
23
|
+
border-${type === 'header' ? 'bottom' : 'top'}: 1px solid ${theme[type]?.border || darken(0.05, getMainColor(theme, type))};
|
|
24
|
+
`
|
|
25
|
+
: undefined}
|
|
26
|
+
`;
|
|
27
|
+
const ReqoreNavbar = forwardRef(({ position = 'top', children, type, customTheme, ...rest }, ref) => {
|
|
28
|
+
const theme = useReqoreTheme(type, customTheme);
|
|
29
|
+
return (_jsx(StyledNavbar, { ...rest, className: `${rest.className || ''} reqore-navbar-${type}`, position: position, type: type, ref: ref, theme: theme, children: React.Children.map(children, (child) => child
|
|
30
|
+
? React.cloneElement(child, {
|
|
31
|
+
type,
|
|
32
|
+
theme,
|
|
33
|
+
componentProps: { theme },
|
|
34
|
+
})
|
|
35
|
+
: null) }));
|
|
36
|
+
});
|
|
37
|
+
export const ReqoreHeader = forwardRef((props, ref) => _jsx(ReqoreNavbar, { ...props, type: 'header', ref: ref }));
|
|
38
|
+
export const ReqoreFooter = forwardRef((props, ref) => _jsx(ReqoreNavbar, { ...props, type: 'footer', ref: ref }));
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Navbar/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAiB,YAAY,EAAE,MAAM,WAAW,CAAC;AAiBxD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAoB;IAChE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAsB,EAAE,EAAE,CAAC,GAAG,CAAA;;;;;aAKnC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK;IAC3B,gBAAgB,CACd,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,EACJ,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAC3D;wBACmB,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI;GAC/E;;IAEC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAsB,EAAE,EAAE,CAC9C,CAAC,IAAI;IACH,CAAC,CAAC,GAAG,CAAA;6CACkC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;;aAElE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,eACvC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAC/D;GACL;IACG,CAAC,CAAC,SAAS;CAChB,CAAC;AAEF,MAAM,YAAY,GAAG,UAAU,CAC7B,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,EAAsB,EAAE,GAAQ,EAAE,EAAE;IAC3F,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEhD,OAAO,CACL,KAAC,YAAY,OACP,IAAI,EACR,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,kBAAkB,IAAI,EAAE,EAC1D,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,YAEX,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CACtC,KAAK;YACH,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;gBACxB,IAAI;gBACJ,KAAK;gBACL,cAAc,EAAE,EAAE,KAAK,EAAE;aAC1B,CAAC;YACJ,CAAC,CAAC,IAAI,CACT,GACY,CAChB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CACpC,CAAC,KAAyB,EAAE,GAAQ,EAAE,EAAE,CAAC,KAAC,YAAY,OAAK,KAAK,EAAE,IAAI,EAAC,QAAQ,EAAC,GAAG,EAAE,GAAG,GAAI,CAC7F,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CACpC,CAAC,KAAyB,EAAE,GAAQ,EAAE,EAAE,CAAC,KAAC,YAAY,OAAK,KAAK,EAAE,IAAI,EAAC,QAAQ,EAAC,GAAG,EAAE,GAAG,GAAI,CAC7F,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import styled, { css } from 'styled-components';
|
|
4
|
+
import { changeLightness, getMainColor } from '../../helpers/colors';
|
|
5
|
+
import { ActiveIconScale, DisabledElement, InactiveIconScale, ScaleIconOnHover, } from '../../styles';
|
|
6
|
+
const StyledNavbarItem = styled.div `
|
|
7
|
+
height: 100%;
|
|
8
|
+
min-width: 50px;
|
|
9
|
+
display: flex;
|
|
10
|
+
justify-content: center;
|
|
11
|
+
align-items: center;
|
|
12
|
+
padding: 10px;
|
|
13
|
+
color: inherit;
|
|
14
|
+
background-color: ${({ theme, active, type }) => active && (theme[type]?.hoverColor || changeLightness(getMainColor(theme, type), 0.05))};
|
|
15
|
+
|
|
16
|
+
${InactiveIconScale}
|
|
17
|
+
|
|
18
|
+
${({ active }) => {
|
|
19
|
+
if (active) {
|
|
20
|
+
return css `
|
|
21
|
+
${ActiveIconScale}
|
|
22
|
+
`;
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}}
|
|
26
|
+
|
|
27
|
+
${({ interactive, theme, type }) => {
|
|
28
|
+
if (interactive) {
|
|
29
|
+
return css `
|
|
30
|
+
transition: background-color 0.2s ease-out;
|
|
31
|
+
cursor: pointer;
|
|
32
|
+
&:hover {
|
|
33
|
+
background-color: ${theme[type]?.hoverColor ||
|
|
34
|
+
changeLightness(getMainColor(theme, type), 0.05)};
|
|
35
|
+
}
|
|
36
|
+
${ScaleIconOnHover}
|
|
37
|
+
`;
|
|
38
|
+
}
|
|
39
|
+
return undefined;
|
|
40
|
+
}}
|
|
41
|
+
|
|
42
|
+
opacity: ${({ disabled }) => disabled && 0.3};
|
|
43
|
+
|
|
44
|
+
${({ disabled }) => disabled &&
|
|
45
|
+
css `
|
|
46
|
+
${DisabledElement}
|
|
47
|
+
`}
|
|
48
|
+
`;
|
|
49
|
+
const ReqoreNavbarItem = forwardRef(({ interactive, children, type, disabled, active, ...rest }, ref) => (_jsx(StyledNavbarItem, { ...rest, className: `${rest.className || ''} reqore-navbar-item`, interactive: interactive || !!rest.onClick, disabled: disabled, active: active, type: type, ref: ref, children: children })));
|
|
50
|
+
export default ReqoreNavbarItem;
|
|
51
|
+
//# sourceMappingURL=item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../../src/components/Navbar/item.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAetB,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAwB;;;;;;;;sBAQrC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;;IAEvF,iBAAiB;;IAEjB,CAAC,EAAE,MAAM,EAA0B,EAAE,EAAE;IACvC,IAAI,MAAM,EAAE;QACV,OAAO,GAAG,CAAA;UACN,eAAe;OAClB,CAAC;KACH;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;;IAEC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAA0B,EAAE,EAAE;IACzD,IAAI,WAAW,EAAE;QACf,OAAO,GAAG,CAAA;;;;8BAIc,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU;YAC3C,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;;UAEhD,gBAAgB;OACnB,CAAC;KACH;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;;aAEU,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,IAAI,GAAG;;IAE1C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACjB,QAAQ;IACR,GAAG,CAAA;QACC,eAAe;KAClB;CACJ,CAAC;AAEF,MAAM,gBAAgB,GAAG,UAAU,CACjC,CACE,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAA0B,EAClF,GAAQ,EACR,EAAE,CAAC,CACH,KAAC,gBAAgB,OACX,IAAI,EACR,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,qBAAqB,EACvD,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAC1C,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,YAEP,QAAQ,GACQ,CACpB,CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import styled, { css } from 'styled-components';
|
|
4
|
+
const StyledNotificationsWrapper = styled.div `
|
|
5
|
+
position: fixed;
|
|
6
|
+
z-index: 10000;
|
|
7
|
+
padding: 0 20px 20px 20px;
|
|
8
|
+
|
|
9
|
+
${({ positions }) => {
|
|
10
|
+
const hasTwoPositions = positions.length > 1;
|
|
11
|
+
if (hasTwoPositions) {
|
|
12
|
+
return css `
|
|
13
|
+
${positions[0]}: 30px;
|
|
14
|
+
${positions[1]}: 30px;
|
|
15
|
+
`;
|
|
16
|
+
}
|
|
17
|
+
return css `
|
|
18
|
+
${positions[0]}: 30px;
|
|
19
|
+
left: 50%;
|
|
20
|
+
transform: translateX(-50%);
|
|
21
|
+
`;
|
|
22
|
+
}}
|
|
23
|
+
`;
|
|
24
|
+
const ReqoreNotificationsWrapper = forwardRef(({ children, position = 'TOP' }, ref) => (_jsx(StyledNotificationsWrapper, { positions: position
|
|
25
|
+
.split(' ')
|
|
26
|
+
.map((p) => p.toLowerCase()), ref: ref, children: children })));
|
|
27
|
+
export default ReqoreNotificationsWrapper;
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Notifications/index.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAkBhD,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAA2B;;;;;IAKpE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAClB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7C,IAAI,eAAe,EAAE;QACnB,OAAO,GAAG,CAAA;UACN,SAAS,CAAC,CAAC,CAAC;UACZ,SAAS,CAAC,CAAC,CAAC;OACf,CAAC;KACH;IAED,OAAO,GAAG,CAAA;QACN,SAAS,CAAC,CAAC,CAAC;;;KAGf,CAAC;AACJ,CAAC;CACF,CAAC;AAEF,MAAM,0BAA0B,GAA+C,UAAU,CAGvF,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE,GAAQ,EAAE,EAAE,CAAC,CAC9C,KAAC,0BAA0B,IACzB,SAAS,EAAE,QAAQ;SAChB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAwC,EAAU,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAC7E,GAAG,EAAE,GAAG,YAEP,QAAQ,GACkB,CAC9B,CAAC,CAAC;AAEH,eAAe,0BAA0B,CAAC"}
|