@qoretechnologies/reqore 0.68.1 → 0.68.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Bubble/index.d.ts +57 -0
- package/dist/components/Bubble/index.d.ts.map +1 -0
- package/dist/components/Bubble/index.js +184 -0
- package/dist/components/Bubble/index.js.map +1 -0
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/DatePicker/index.js +3 -3
- package/dist/components/DatePicker/index.js.map +1 -1
- package/dist/components/DescriptionList/index.d.ts.map +1 -1
- package/dist/components/DescriptionList/index.js +3 -3
- package/dist/components/DescriptionList/index.js.map +1 -1
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/IconPicker/index.d.ts +114 -0
- package/dist/components/IconPicker/index.d.ts.map +1 -0
- package/dist/components/IconPicker/index.js +223 -0
- package/dist/components/IconPicker/index.js.map +1 -0
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +10 -2
- package/dist/components/Panel/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -6
- package/tests.json +1 -1
- package/dist/esm/components/Accordion/index.js +0 -142
- package/dist/esm/components/Accordion/index.js.map +0 -1
- package/dist/esm/components/Breadcrumbs/index.js +0 -122
- package/dist/esm/components/Breadcrumbs/index.js.map +0 -1
- package/dist/esm/components/Breadcrumbs/item.js +0 -14
- package/dist/esm/components/Breadcrumbs/item.js.map +0 -1
- package/dist/esm/components/Button/index.js +0 -315
- package/dist/esm/components/Button/index.js.map +0 -1
- package/dist/esm/components/Callout/index.js +0 -142
- package/dist/esm/components/Callout/index.js.map +0 -1
- package/dist/esm/components/Checkbox/index.js +0 -217
- package/dist/esm/components/Checkbox/index.js.map +0 -1
- package/dist/esm/components/Collection/index.js +0 -298
- package/dist/esm/components/Collection/index.js.map +0 -1
- package/dist/esm/components/Collection/item.js +0 -157
- package/dist/esm/components/Collection/item.js.map +0 -1
- package/dist/esm/components/Columns/column.js +0 -14
- package/dist/esm/components/Columns/column.js.map +0 -1
- package/dist/esm/components/Columns/index.js +0 -17
- package/dist/esm/components/Columns/index.js.map +0 -1
- package/dist/esm/components/Comment/index.js +0 -63
- package/dist/esm/components/Comment/index.js.map +0 -1
- package/dist/esm/components/CommentFeed/index.js +0 -17
- package/dist/esm/components/CommentFeed/index.js.map +0 -1
- package/dist/esm/components/Content/index.js +0 -16
- package/dist/esm/components/Content/index.js.map +0 -1
- package/dist/esm/components/Content/wrapper.js +0 -14
- package/dist/esm/components/Content/wrapper.js.map +0 -1
- package/dist/esm/components/ControlGroup/index.js +0 -351
- package/dist/esm/components/ControlGroup/index.js.map +0 -1
- package/dist/esm/components/DatePicker/MonthYearDropdowns.js +0 -30
- package/dist/esm/components/DatePicker/MonthYearDropdowns.js.map +0 -1
- package/dist/esm/components/DatePicker/index.js +0 -244
- package/dist/esm/components/DatePicker/index.js.map +0 -1
- package/dist/esm/components/DescriptionList/index.js +0 -132
- package/dist/esm/components/DescriptionList/index.js.map +0 -1
- package/dist/esm/components/Drawer/backdrop.js +0 -34
- package/dist/esm/components/Drawer/backdrop.js.map +0 -1
- package/dist/esm/components/Drawer/index.js +0 -286
- package/dist/esm/components/Drawer/index.js.map +0 -1
- package/dist/esm/components/Dropdown/index.js +0 -49
- package/dist/esm/components/Dropdown/index.js.map +0 -1
- package/dist/esm/components/Dropdown/item.js +0 -12
- package/dist/esm/components/Dropdown/item.js.map +0 -1
- package/dist/esm/components/Dropdown/list.js +0 -320
- package/dist/esm/components/Dropdown/list.js.map +0 -1
- package/dist/esm/components/Effect/index.js +0 -349
- package/dist/esm/components/Effect/index.js.map +0 -1
- package/dist/esm/components/EmptyState/index.js +0 -31
- package/dist/esm/components/EmptyState/index.js.map +0 -1
- package/dist/esm/components/EntityRow/index.js +0 -134
- package/dist/esm/components/EntityRow/index.js.map +0 -1
- package/dist/esm/components/ErrorBoundary/index.js +0 -57
- package/dist/esm/components/ErrorBoundary/index.js.map +0 -1
- package/dist/esm/components/ExportModal/index.js +0 -60
- package/dist/esm/components/ExportModal/index.js.map +0 -1
- package/dist/esm/components/FeatureCard/index.js +0 -139
- package/dist/esm/components/FeatureCard/index.js.map +0 -1
- package/dist/esm/components/GlobalModalsWrapper/index.js +0 -27
- package/dist/esm/components/GlobalModalsWrapper/index.js.map +0 -1
- package/dist/esm/components/Header/index.js +0 -55
- package/dist/esm/components/Header/index.js.map +0 -1
- package/dist/esm/components/Icon/index.js +0 -130
- package/dist/esm/components/Icon/index.js.map +0 -1
- package/dist/esm/components/Input/index.js +0 -136
- package/dist/esm/components/Input/index.js.map +0 -1
- package/dist/esm/components/InputClearButton/index.js +0 -32
- package/dist/esm/components/InputClearButton/index.js.map +0 -1
- package/dist/esm/components/InternalPopover/index.js +0 -244
- package/dist/esm/components/InternalPopover/index.js.map +0 -1
- package/dist/esm/components/KeyValueTable/index.js +0 -81
- package/dist/esm/components/KeyValueTable/index.js.map +0 -1
- package/dist/esm/components/Label/index.js +0 -7
- package/dist/esm/components/Label/index.js.map +0 -1
- package/dist/esm/components/Layout/content.js +0 -12
- package/dist/esm/components/Layout/content.js.map +0 -1
- package/dist/esm/components/Layout/index.js +0 -28
- package/dist/esm/components/Layout/index.js.map +0 -1
- package/dist/esm/components/Menu/divider.js +0 -41
- package/dist/esm/components/Menu/divider.js.map +0 -1
- package/dist/esm/components/Menu/index.js +0 -67
- package/dist/esm/components/Menu/index.js.map +0 -1
- package/dist/esm/components/Menu/item.js +0 -33
- package/dist/esm/components/Menu/item.js.map +0 -1
- package/dist/esm/components/Menu/section.js +0 -28
- package/dist/esm/components/Menu/section.js.map +0 -1
- package/dist/esm/components/Message/index.js +0 -52
- package/dist/esm/components/Message/index.js.map +0 -1
- package/dist/esm/components/Modal/index.js +0 -40
- package/dist/esm/components/Modal/index.js.map +0 -1
- package/dist/esm/components/MultiSelect/index.js +0 -146
- package/dist/esm/components/MultiSelect/index.js.map +0 -1
- package/dist/esm/components/Navbar/divider.js +0 -24
- package/dist/esm/components/Navbar/divider.js.map +0 -1
- package/dist/esm/components/Navbar/group.js +0 -27
- package/dist/esm/components/Navbar/group.js.map +0 -1
- package/dist/esm/components/Navbar/index.js +0 -39
- package/dist/esm/components/Navbar/index.js.map +0 -1
- package/dist/esm/components/Navbar/item.js +0 -51
- package/dist/esm/components/Navbar/item.js.map +0 -1
- package/dist/esm/components/Notifications/index.js +0 -28
- package/dist/esm/components/Notifications/index.js.map +0 -1
- package/dist/esm/components/Notifications/notification.js +0 -225
- package/dist/esm/components/Notifications/notification.js.map +0 -1
- package/dist/esm/components/Paging/index.js +0 -116
- package/dist/esm/components/Paging/index.js.map +0 -1
- package/dist/esm/components/Panel/LabelEditor.js +0 -33
- package/dist/esm/components/Panel/LabelEditor.js.map +0 -1
- package/dist/esm/components/Panel/NonResponsiveActions.js +0 -18
- package/dist/esm/components/Panel/NonResponsiveActions.js.map +0 -1
- package/dist/esm/components/Panel/index.js +0 -564
- package/dist/esm/components/Panel/index.js.map +0 -1
- package/dist/esm/components/Panel/panel.screenshot.js +0 -15
- package/dist/esm/components/Panel/panel.screenshot.js.map +0 -1
- package/dist/esm/components/Paragraph/index.js +0 -19
- package/dist/esm/components/Paragraph/index.js.map +0 -1
- package/dist/esm/components/Popover/index.js +0 -267
- package/dist/esm/components/Popover/index.js.map +0 -1
- package/dist/esm/components/Progress/index.js +0 -188
- package/dist/esm/components/Progress/index.js.map +0 -1
- package/dist/esm/components/RadioGroup/index.js +0 -9
- package/dist/esm/components/RadioGroup/index.js.map +0 -1
- package/dist/esm/components/Rating/index.js +0 -165
- package/dist/esm/components/Rating/index.js.map +0 -1
- package/dist/esm/components/RichTextEditor/index.js +0 -299
- package/dist/esm/components/RichTextEditor/index.js.map +0 -1
- package/dist/esm/components/SegmentedControl/index.js +0 -291
- package/dist/esm/components/SegmentedControl/index.js.map +0 -1
- package/dist/esm/components/SeverityRow/index.js +0 -106
- package/dist/esm/components/SeverityRow/index.js.map +0 -1
- package/dist/esm/components/Skeleton/index.js +0 -28
- package/dist/esm/components/Skeleton/index.js.map +0 -1
- package/dist/esm/components/Slider/index.js +0 -176
- package/dist/esm/components/Slider/index.js.map +0 -1
- package/dist/esm/components/Spacer/index.js +0 -96
- package/dist/esm/components/Spacer/index.js.map +0 -1
- package/dist/esm/components/Span/index.js +0 -18
- package/dist/esm/components/Span/index.js.map +0 -1
- package/dist/esm/components/Spinner/index.js +0 -14
- package/dist/esm/components/Spinner/index.js.map +0 -1
- package/dist/esm/components/Statistic/index.js +0 -166
- package/dist/esm/components/Statistic/index.js.map +0 -1
- package/dist/esm/components/Table/body.js +0 -72
- package/dist/esm/components/Table/body.js.map +0 -1
- package/dist/esm/components/Table/cell.js +0 -214
- package/dist/esm/components/Table/cell.js.map +0 -1
- package/dist/esm/components/Table/header.js +0 -158
- package/dist/esm/components/Table/header.js.map +0 -1
- package/dist/esm/components/Table/headerCell.js +0 -233
- package/dist/esm/components/Table/headerCell.js.map +0 -1
- package/dist/esm/components/Table/helpers.js +0 -285
- package/dist/esm/components/Table/helpers.js.map +0 -1
- package/dist/esm/components/Table/index.js +0 -472
- package/dist/esm/components/Table/index.js.map +0 -1
- package/dist/esm/components/Table/row.js +0 -176
- package/dist/esm/components/Table/row.js.map +0 -1
- package/dist/esm/components/Table/value.js +0 -19
- package/dist/esm/components/Table/value.js.map +0 -1
- package/dist/esm/components/Tabs/content.js +0 -23
- package/dist/esm/components/Tabs/content.js.map +0 -1
- package/dist/esm/components/Tabs/index.js +0 -44
- package/dist/esm/components/Tabs/index.js.map +0 -1
- package/dist/esm/components/Tabs/item.js +0 -122
- package/dist/esm/components/Tabs/item.js.map +0 -1
- package/dist/esm/components/Tabs/list.js +0 -208
- package/dist/esm/components/Tabs/list.js.map +0 -1
- package/dist/esm/components/Tag/group.js +0 -38
- package/dist/esm/components/Tag/group.js.map +0 -1
- package/dist/esm/components/Tag/index.js +0 -267
- package/dist/esm/components/Tag/index.js.map +0 -1
- package/dist/esm/components/Testimonial/index.js +0 -108
- package/dist/esm/components/Testimonial/index.js.map +0 -1
- package/dist/esm/components/Textarea/index.js +0 -135
- package/dist/esm/components/Textarea/index.js.map +0 -1
- package/dist/esm/components/Tier/index.js +0 -48
- package/dist/esm/components/Tier/index.js.map +0 -1
- package/dist/esm/components/TimeAgo/index.js +0 -19
- package/dist/esm/components/TimeAgo/index.js.map +0 -1
- package/dist/esm/components/Timeline/index.js +0 -271
- package/dist/esm/components/Timeline/index.js.map +0 -1
- package/dist/esm/components/TooltipComponent/index.js +0 -11
- package/dist/esm/components/TooltipComponent/index.js.map +0 -1
- package/dist/esm/components/Tree/index.js +0 -266
- package/dist/esm/components/Tree/index.js.map +0 -1
- package/dist/esm/components/Tree/modal.js +0 -30
- package/dist/esm/components/Tree/modal.js.map +0 -1
- package/dist/esm/constants/animations.js +0 -9
- package/dist/esm/constants/animations.js.map +0 -1
- package/dist/esm/constants/colors.js +0 -13
- package/dist/esm/constants/colors.js.map +0 -1
- package/dist/esm/constants/paging.js +0 -48
- package/dist/esm/constants/paging.js.map +0 -1
- package/dist/esm/constants/sizes.js +0 -363
- package/dist/esm/constants/sizes.js.map +0 -1
- package/dist/esm/constants/theme.js +0 -40
- package/dist/esm/constants/theme.js.map +0 -1
- package/dist/esm/containers/Paging.js +0 -29
- package/dist/esm/containers/Paging.js.map +0 -1
- package/dist/esm/containers/ReqoreProvider.js +0 -239
- package/dist/esm/containers/ReqoreProvider.js.map +0 -1
- package/dist/esm/containers/ThemeProvider.js +0 -11
- package/dist/esm/containers/ThemeProvider.js.map +0 -1
- package/dist/esm/containers/UIProvider.js +0 -53
- package/dist/esm/containers/UIProvider.js.map +0 -1
- package/dist/esm/context/CustomThemeContext.js +0 -4
- package/dist/esm/context/CustomThemeContext.js.map +0 -1
- package/dist/esm/context/ReqoreContext.js +0 -22
- package/dist/esm/context/ReqoreContext.js.map +0 -1
- package/dist/esm/context/ThemeContext.js +0 -4
- package/dist/esm/context/ThemeContext.js.map +0 -1
- package/dist/esm/helpers/animations.js +0 -13
- package/dist/esm/helpers/animations.js.map +0 -1
- package/dist/esm/helpers/colors.js +0 -240
- package/dist/esm/helpers/colors.js.map +0 -1
- package/dist/esm/helpers/dates.js +0 -52
- package/dist/esm/helpers/dates.js.map +0 -1
- package/dist/esm/helpers/time.js +0 -21
- package/dist/esm/helpers/time.js.map +0 -1
- package/dist/esm/helpers/utils.js +0 -174
- package/dist/esm/helpers/utils.js.map +0 -1
- package/dist/esm/hooks/useAutoFocus.js +0 -76
- package/dist/esm/hooks/useAutoFocus.js.map +0 -1
- package/dist/esm/hooks/useCloneThroughFragments.js +0 -26
- package/dist/esm/hooks/useCloneThroughFragments.js.map +0 -1
- package/dist/esm/hooks/useCombinedRefs.js +0 -25
- package/dist/esm/hooks/useCombinedRefs.js.map +0 -1
- package/dist/esm/hooks/useComponentTooltip.js +0 -28
- package/dist/esm/hooks/useComponentTooltip.js.map +0 -1
- package/dist/esm/hooks/useFocusTrap.js +0 -115
- package/dist/esm/hooks/useFocusTrap.js.map +0 -1
- package/dist/esm/hooks/useLatestZIndex.js +0 -10
- package/dist/esm/hooks/useLatestZIndex.js.map +0 -1
- package/dist/esm/hooks/useOutsideClick.js +0 -17
- package/dist/esm/hooks/useOutsideClick.js.map +0 -1
- package/dist/esm/hooks/usePaging.js +0 -92
- package/dist/esm/hooks/usePaging.js.map +0 -1
- package/dist/esm/hooks/useQueryWithDelay.js +0 -19
- package/dist/esm/hooks/useQueryWithDelay.js.map +0 -1
- package/dist/esm/hooks/useReqore.js +0 -10
- package/dist/esm/hooks/useReqore.js.map +0 -1
- package/dist/esm/hooks/useReqoreContext.js +0 -12
- package/dist/esm/hooks/useReqoreContext.js.map +0 -1
- package/dist/esm/hooks/useReqoreEffect.js +0 -21
- package/dist/esm/hooks/useReqoreEffect.js.map +0 -1
- package/dist/esm/hooks/useTextareaAutoSize.js +0 -16
- package/dist/esm/hooks/useTextareaAutoSize.js.map +0 -1
- package/dist/esm/hooks/useTheme.js +0 -39
- package/dist/esm/hooks/useTheme.js.map +0 -1
- package/dist/esm/hooks/useWhyDidYouUpdate.js +0 -32
- package/dist/esm/hooks/useWhyDidYouUpdate.js.map +0 -1
- package/dist/esm/index.js +0 -92
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/styles.js +0 -122
- package/dist/esm/styles.js.map +0 -1
- package/dist/esm/types/global.js +0 -2
- package/dist/esm/types/global.js.map +0 -1
- package/dist/esm/types/icons.js +0 -2
- package/dist/esm/types/icons.js.map +0 -1
- package/tsconfig.esm.json +0 -11
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { rgba } from 'polished';
|
|
3
|
-
import { forwardRef, memo, useCallback, useMemo, useState } from 'react';
|
|
4
|
-
import styled, { css } from 'styled-components';
|
|
5
|
-
import { RADIUS_FROM_SIZE, RATING_GAP_FROM_SIZE } from '../../constants/sizes';
|
|
6
|
-
import { changeLightness, getColorFromMaybeString, getReadableColor } from '../../helpers/colors';
|
|
7
|
-
import { getOneLessSize } from '../../helpers/utils';
|
|
8
|
-
import { useComponentTooltip } from '../../hooks/useComponentTooltip';
|
|
9
|
-
import { useReqoreTheme } from '../../hooks/useTheme';
|
|
10
|
-
import { DisabledElement, ReadOnlyElement } from '../../styles';
|
|
11
|
-
import ReqoreControlGroup from '../ControlGroup';
|
|
12
|
-
import ReqoreIcon from '../Icon';
|
|
13
|
-
import { ReqoreP } from '../Paragraph';
|
|
14
|
-
import { ReqoreSpan } from '../Span';
|
|
15
|
-
const StyledRating = styled.div `
|
|
16
|
-
display: inline-flex;
|
|
17
|
-
align-items: center;
|
|
18
|
-
gap: ${({ size }) => RATING_GAP_FROM_SIZE[size]}px;
|
|
19
|
-
|
|
20
|
-
${({ disabled }) => disabled &&
|
|
21
|
-
css `
|
|
22
|
-
${DisabledElement};
|
|
23
|
-
`}
|
|
24
|
-
|
|
25
|
-
${({ readOnly }) => readOnly &&
|
|
26
|
-
css `
|
|
27
|
-
${ReadOnlyElement};
|
|
28
|
-
`}
|
|
29
|
-
|
|
30
|
-
&:focus-visible {
|
|
31
|
-
outline: 2px solid ${({ theme }) => changeLightness(theme.main, 0.25)};
|
|
32
|
-
outline-offset: 2px;
|
|
33
|
-
border-radius: ${({ size }) => RADIUS_FROM_SIZE[size]}px;
|
|
34
|
-
}
|
|
35
|
-
`;
|
|
36
|
-
const StyledRatingItem = styled.span `
|
|
37
|
-
display: inline-flex;
|
|
38
|
-
cursor: ${({ isInteractive }) => (isInteractive ? 'pointer' : 'default')};
|
|
39
|
-
transition: transform 0.15s ease-out;
|
|
40
|
-
|
|
41
|
-
${({ isInteractive }) => isInteractive &&
|
|
42
|
-
css `
|
|
43
|
-
&:hover {
|
|
44
|
-
transform: scale(1.2);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
&:active {
|
|
48
|
-
transform: scale(0.85);
|
|
49
|
-
transition: transform 0.05s ease-out;
|
|
50
|
-
}
|
|
51
|
-
`}
|
|
52
|
-
`;
|
|
53
|
-
const ReqoreRating = memo(forwardRef(({ value = 0, label, onChange, max = 5, allowHalf = false, allowClear = true, filledIcon = 'StarFill', emptyIcon = 'StarLine', halfIcon = 'StarHalfFill', filledColor, emptyColor, size = 'normal', disabled, readOnly, intent, customTheme, inheritCustomTheme, tooltip, className, labelProps, showRatingValue, iconProps, ...rest }, ref) => {
|
|
54
|
-
const theme = useReqoreTheme('main', customTheme, intent, undefined, inheritCustomTheme);
|
|
55
|
-
const [hoverValue, setHoverValue] = useState(null);
|
|
56
|
-
const isInteractive = !disabled && !readOnly && !!onChange;
|
|
57
|
-
const displayValue = useMemo(() => (hoverValue !== null ? hoverValue : value), [hoverValue, value]);
|
|
58
|
-
const resolvedFilledColor = useMemo(() => {
|
|
59
|
-
if (filledColor)
|
|
60
|
-
return getColorFromMaybeString(theme, filledColor);
|
|
61
|
-
const hasIntent = theme.main !== theme.originalMain;
|
|
62
|
-
return hasIntent ? theme.main : getReadableColor(theme, undefined, undefined, true);
|
|
63
|
-
}, [filledColor, theme]);
|
|
64
|
-
const resolvedEmptyColor = useMemo(() => {
|
|
65
|
-
if (emptyColor)
|
|
66
|
-
return getColorFromMaybeString(theme, emptyColor);
|
|
67
|
-
return rgba(changeLightness(theme.main, 0.15), 0.4);
|
|
68
|
-
}, [emptyColor, theme]);
|
|
69
|
-
const handleMouseMove = useCallback((index, event) => {
|
|
70
|
-
if (!isInteractive)
|
|
71
|
-
return;
|
|
72
|
-
if (allowHalf) {
|
|
73
|
-
const rect = event.currentTarget.getBoundingClientRect();
|
|
74
|
-
const isLeftHalf = event.clientX - rect.left < rect.width / 2;
|
|
75
|
-
setHoverValue(isLeftHalf ? index + 0.5 : index + 1);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
setHoverValue(index + 1);
|
|
79
|
-
}
|
|
80
|
-
}, [isInteractive, allowHalf]);
|
|
81
|
-
const handleMouseLeave = useCallback(() => {
|
|
82
|
-
if (!isInteractive)
|
|
83
|
-
return;
|
|
84
|
-
setHoverValue(null);
|
|
85
|
-
}, [isInteractive]);
|
|
86
|
-
const handleClick = useCallback((index, event) => {
|
|
87
|
-
if (!isInteractive || !onChange)
|
|
88
|
-
return;
|
|
89
|
-
let clickedValue;
|
|
90
|
-
if (allowHalf) {
|
|
91
|
-
const rect = event.currentTarget.getBoundingClientRect();
|
|
92
|
-
const isLeftHalf = event.clientX - rect.left < rect.width / 2;
|
|
93
|
-
clickedValue = isLeftHalf ? index + 0.5 : index + 1;
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
clickedValue = index + 1;
|
|
97
|
-
}
|
|
98
|
-
if (allowClear && clickedValue === value) {
|
|
99
|
-
onChange(0);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
onChange(clickedValue);
|
|
103
|
-
}
|
|
104
|
-
}, [isInteractive, onChange, allowHalf, allowClear, value]);
|
|
105
|
-
const handleKeyDown = useCallback((event) => {
|
|
106
|
-
if (!isInteractive || !onChange)
|
|
107
|
-
return;
|
|
108
|
-
const step = allowHalf ? 0.5 : 1;
|
|
109
|
-
switch (event.key) {
|
|
110
|
-
case 'ArrowRight':
|
|
111
|
-
case 'ArrowUp':
|
|
112
|
-
event.preventDefault();
|
|
113
|
-
onChange(Math.min(value + step, max));
|
|
114
|
-
break;
|
|
115
|
-
case 'ArrowLeft':
|
|
116
|
-
case 'ArrowDown':
|
|
117
|
-
event.preventDefault();
|
|
118
|
-
onChange(Math.max(value - step, 0));
|
|
119
|
-
break;
|
|
120
|
-
case 'Home':
|
|
121
|
-
event.preventDefault();
|
|
122
|
-
onChange(0);
|
|
123
|
-
break;
|
|
124
|
-
case 'End':
|
|
125
|
-
event.preventDefault();
|
|
126
|
-
onChange(max);
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
}, [isInteractive, onChange, value, max, allowHalf]);
|
|
130
|
-
const getIconForIndex = useCallback((index) => {
|
|
131
|
-
const starValue = index + 1;
|
|
132
|
-
if (displayValue >= starValue) {
|
|
133
|
-
return { icon: filledIcon, color: resolvedFilledColor };
|
|
134
|
-
}
|
|
135
|
-
if (allowHalf && displayValue >= starValue - 0.5) {
|
|
136
|
-
return { icon: halfIcon, color: resolvedFilledColor };
|
|
137
|
-
}
|
|
138
|
-
return { icon: emptyIcon, color: resolvedEmptyColor };
|
|
139
|
-
}, [
|
|
140
|
-
displayValue,
|
|
141
|
-
filledIcon,
|
|
142
|
-
emptyIcon,
|
|
143
|
-
halfIcon,
|
|
144
|
-
resolvedFilledColor,
|
|
145
|
-
resolvedEmptyColor,
|
|
146
|
-
allowHalf,
|
|
147
|
-
]);
|
|
148
|
-
const stars = useMemo(() => Array.from({ length: max }, (_, i) => i), [max]);
|
|
149
|
-
const { Component, props: componentProps } = useComponentTooltip({
|
|
150
|
-
...rest,
|
|
151
|
-
theme,
|
|
152
|
-
size,
|
|
153
|
-
tooltip,
|
|
154
|
-
disabled,
|
|
155
|
-
readOnly,
|
|
156
|
-
isInteractive,
|
|
157
|
-
className: `${className || ''} reqore-rating`,
|
|
158
|
-
}, StyledRating, ref);
|
|
159
|
-
return (_jsxs(ReqoreControlGroup, { vertical: true, children: [label && _jsx(ReqoreP, { size: size, ...labelProps, children: label }), _jsxs(Component, { ...componentProps, onMouseLeave: handleMouseLeave, onKeyDown: handleKeyDown, tabIndex: isInteractive ? 0 : undefined, role: 'slider', "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": max, "aria-disabled": disabled || undefined, "aria-readonly": readOnly || undefined, "aria-label": label || rest['aria-label'] || 'Rating', children: [stars.map((index) => {
|
|
160
|
-
const { icon, color } = getIconForIndex(index);
|
|
161
|
-
return (_jsx(StyledRatingItem, { className: 'reqore-rating-item', onMouseMove: (e) => handleMouseMove(index, e), onClick: (e) => handleClick(index, e), isInteractive: isInteractive, size: size, children: _jsx(ReqoreIcon, { ...iconProps, icon: icon, size: size, color: color }) }, index));
|
|
162
|
-
}), showRatingValue && (_jsx(ReqoreSpan, { intent: 'muted', size: getOneLessSize(size), children: `${displayValue} / ${max}` }))] })] }));
|
|
163
|
-
}));
|
|
164
|
-
export default ReqoreRating;
|
|
165
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Rating/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAU,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAUhE,OAAO,kBAAkB,MAAM,iBAAiB,CAAC;AAEjD,OAAO,UAAgC,MAAM,SAAS,CAAC;AACvD,OAAO,EAAyB,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAoDrC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAoB;;;SAG1C,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC;;IAE7C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACjB,QAAQ;IACR,GAAG,CAAA;QACC,eAAe;KAClB;;IAED,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACjB,QAAQ;IACR,GAAG,CAAA;QACC,eAAe;KAClB;;;yBAGoB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;;qBAEpD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;;CAExD,CAAC;AAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAwB;;YAEhD,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;;;IAGtE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CACtB,aAAa;IACb,GAAG,CAAA;;;;;;;;;KASF;CACJ,CAAC;AAEF,MAAM,YAAY,GAAG,IAAI,CACvB,UAAU,CACR,CACE,EACE,KAAK,GAAG,CAAC,EACT,KAAK,EACL,QAAQ,EACR,GAAG,GAAG,CAAC,EACP,SAAS,GAAG,KAAK,EACjB,UAAU,GAAG,IAAI,EACjB,UAAU,GAAG,UAAU,EACvB,SAAS,GAAG,UAAU,EACtB,QAAQ,GAAG,cAAc,EACzB,WAAW,EACX,UAAU,EACV,IAAI,GAAG,QAAQ,EACf,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,UAAU,EACV,eAAe,EACf,SAAS,EACT,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACzF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAElE,MAAM,aAAa,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC;IAC3D,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAChD,CAAC,UAAU,EAAE,KAAK,CAAC,CACpB,CAAC;IAEF,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,IAAI,WAAW;YAAE,OAAO,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,YAAY,CAAC;QACpD,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,UAAU;YAAE,OAAO,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,KAAa,EAAE,KAAwC,EAAE,EAAE;QAC1D,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,IAAI,SAAS,EAAE;YACb,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAC9D,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SACrD;aAAM;YACL,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SAC1B;IACH,CAAC,EACD,CAAC,aAAa,EAAE,SAAS,CAAC,CAC3B,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAa,EAAE,KAAwC,EAAE,EAAE;QAC1D,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,YAAoB,CAAC;QACzB,IAAI,SAAS,EAAE;YACb,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAC9D,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;SACrD;aAAM;YACL,YAAY,GAAG,KAAK,GAAG,CAAC,CAAC;SAC1B;QACD,IAAI,UAAU,IAAI,YAAY,KAAK,KAAK,EAAE;YACxC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACb;aAAM;YACL,QAAQ,CAAC,YAAY,CAAC,CAAC;SACxB;IACH,CAAC,EACD,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CACxD,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,KAA0C,EAAE,EAAE;QAC7C,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,QAAQ,KAAK,CAAC,GAAG,EAAE;YACjB,KAAK,YAAY,CAAC;YAClB,KAAK,SAAS;gBACZ,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,WAAW,CAAC;YACjB,KAAK,WAAW;gBACd,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,MAAM;gBACT,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACZ,MAAM;YACR,KAAK,KAAK;gBACR,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM;SACT;IACH,CAAC,EACD,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CACjD,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,KAAa,EAAE,EAAE;QAChB,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;QAC5B,IAAI,YAAY,IAAI,SAAS,EAAE;YAC7B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;SACzD;QACD,IAAI,SAAS,IAAI,YAAY,IAAI,SAAS,GAAG,GAAG,EAAE;YAChD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;SACvD;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IACxD,CAAC,EACD;QACE,YAAY;QACZ,UAAU;QACV,SAAS;QACT,QAAQ;QACR,mBAAmB;QACnB,kBAAkB;QAClB,SAAS;KACV,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7E,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAC9D;QACE,GAAG,IAAI;QACP,KAAK;QACL,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,aAAa;QACb,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,gBAAgB;KACvC,EACR,YAAmB,EACnB,GAAG,CACJ,CAAC;IAEF,OAAO,CACL,MAAC,kBAAkB,IAAC,QAAQ,mBACzB,KAAK,IAAI,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,KAAM,UAAU,YAAG,KAAK,GAAW,EAChE,MAAC,SAAS,OACJ,cAAc,EAClB,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACvC,IAAI,EAAC,QAAQ,mBACE,KAAK,mBACL,CAAC,mBACD,GAAG,mBACH,QAAQ,IAAI,SAAS,mBACrB,QAAQ,IAAI,SAAS,gBACxB,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,QAAQ,aAElD,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;wBACnB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;wBAC/C,OAAO,CACL,KAAC,gBAAgB,IAEf,SAAS,EAAC,oBAAoB,EAC9B,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,EACrC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,IAAI,YAEV,KAAC,UAAU,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAA2B,GAAI,IAPpF,KAAK,CAQO,CACpB,CAAC;oBACJ,CAAC,CAAC,EACD,eAAe,IAAI,CAClB,KAAC,UAAU,IACT,MAAM,EAAC,OAAO,EACd,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,YAC1B,GAAG,YAAY,MAAM,GAAG,EAAE,GAAc,CAC3C,IACS,IACO,CACtB,CAAC;AACJ,CAAC,CACF,CACF,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { map, size } from 'lodash';
|
|
3
|
-
import { forwardRef, memo, useCallback, useImperativeHandle, useMemo, useState } from 'react';
|
|
4
|
-
import { useUpdateEffect } from 'react-use';
|
|
5
|
-
import { createEditor, Editor, Transforms } from 'slate';
|
|
6
|
-
import { withHistory } from 'slate-history';
|
|
7
|
-
import { Editable, ReactEditor, Slate, useSelected, withReact } from 'slate-react';
|
|
8
|
-
import { ReqoreButton, ReqoreControlGroup, ReqorePanel, ReqoreTextarea } from '../..';
|
|
9
|
-
import { getOneLessSize } from '../../helpers/utils';
|
|
10
|
-
import { ReqoreP } from '../Paragraph';
|
|
11
|
-
import { ReqoreSpan } from '../Span';
|
|
12
|
-
import ReqoreTag from '../Tag';
|
|
13
|
-
export const TemplateElement = memo((props) => {
|
|
14
|
-
const selected = useSelected();
|
|
15
|
-
const handleClick = useCallback((e) => {
|
|
16
|
-
e.preventDefault();
|
|
17
|
-
e.stopPropagation();
|
|
18
|
-
}, []);
|
|
19
|
-
return (_jsxs(_Fragment, { children: [_jsx(ReqoreTag, { ...props.attributes, compact: true, flat: false, asBadge: true, fixed: 'key', onClick: handleClick, tooltip: props.element.value?.toString(), label: props.element.label, ...props.tagProps, contentEditable: false, intent: selected ? 'info' : props.tagProps?.intent }), props.children] }));
|
|
20
|
-
});
|
|
21
|
-
export const withTemplates = (editor) => {
|
|
22
|
-
const { isInline, isVoid, markableVoid } = editor;
|
|
23
|
-
editor.isInline = (element) => {
|
|
24
|
-
return element.type === 'tag' ? true : isInline(element);
|
|
25
|
-
};
|
|
26
|
-
editor.isVoid = (element) => {
|
|
27
|
-
return element.type === 'tag' ? true : isVoid(element);
|
|
28
|
-
};
|
|
29
|
-
editor.markableVoid = (element) => {
|
|
30
|
-
return element.type === 'tag' || markableVoid(element);
|
|
31
|
-
};
|
|
32
|
-
return editor;
|
|
33
|
-
};
|
|
34
|
-
const Leaf = ({ attributes, children, leaf }) => {
|
|
35
|
-
if (leaf.bold) {
|
|
36
|
-
children = _jsx("strong", { children: children });
|
|
37
|
-
}
|
|
38
|
-
if (leaf.code) {
|
|
39
|
-
children = _jsx("code", { children: children });
|
|
40
|
-
}
|
|
41
|
-
if (leaf.italic) {
|
|
42
|
-
children = _jsx("em", { children: children });
|
|
43
|
-
}
|
|
44
|
-
if (leaf.underline) {
|
|
45
|
-
children = _jsx("u", { children: children });
|
|
46
|
-
}
|
|
47
|
-
return (_jsx(ReqoreSpan, { inline: true, ...attributes, effect: {
|
|
48
|
-
weight: leaf.bold ? 'bold' : 'normal',
|
|
49
|
-
italic: leaf.italic,
|
|
50
|
-
underline: leaf.underline,
|
|
51
|
-
}, children: children }));
|
|
52
|
-
};
|
|
53
|
-
export const DefaultElement = (props) => (_jsxs(ReqoreP, { ...props.attributes, style: { position: 'relative' }, children: [props.placeholder && (_jsx(ReqoreSpan, { inline: true, effect: { opacity: 0.3 }, ...props.placeholderProps, contentEditable: false, style: {
|
|
54
|
-
position: 'absolute',
|
|
55
|
-
top: 0,
|
|
56
|
-
left: 0,
|
|
57
|
-
right: 0,
|
|
58
|
-
pointerEvents: 'none',
|
|
59
|
-
userSelect: 'none',
|
|
60
|
-
...props.placeholderProps?.style,
|
|
61
|
-
}, children: props.placeholder })), props.children] }));
|
|
62
|
-
const insertTag = (editor, value, label, metadata) => {
|
|
63
|
-
const mention = {
|
|
64
|
-
type: 'tag',
|
|
65
|
-
value,
|
|
66
|
-
label,
|
|
67
|
-
metadata,
|
|
68
|
-
children: [{ text: '' }],
|
|
69
|
-
};
|
|
70
|
-
Transforms.insertNodes(editor, mention);
|
|
71
|
-
Transforms.move(editor);
|
|
72
|
-
};
|
|
73
|
-
export const ReqoreRichTextEditor = forwardRef(({ value = [
|
|
74
|
-
{
|
|
75
|
-
type: 'paragraph',
|
|
76
|
-
children: [{ text: '' }],
|
|
77
|
-
},
|
|
78
|
-
], onChange, tags, getTagProps = () => ({}), tagsProps = {}, onTagClick, tagsListProps = {}, panelProps, actions, customRenderLeaf, placeholder, placeholderProps, ...rest }, ref) => {
|
|
79
|
-
// Create a Slate editor object that won't change across renders.
|
|
80
|
-
const [editor] = useState(() => withTemplates(withReact(withHistory(createEditor()))));
|
|
81
|
-
useImperativeHandle(ref, () => editor, [editor]);
|
|
82
|
-
const [target, setTarget] = useState();
|
|
83
|
-
useUpdateEffect(() => {
|
|
84
|
-
// Only update the editor's children if the value has changed
|
|
85
|
-
if (JSON.stringify(value) === JSON.stringify(editor.children)) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
// Use Slate transforms instead of direct mutation
|
|
89
|
-
try {
|
|
90
|
-
Editor.withoutNormalizing(editor, () => {
|
|
91
|
-
// Deselect before replacing content
|
|
92
|
-
Transforms.deselect(editor);
|
|
93
|
-
// Remove all existing top-level nodes
|
|
94
|
-
while (editor.children.length) {
|
|
95
|
-
Transforms.removeNodes(editor, { at: [0] });
|
|
96
|
-
}
|
|
97
|
-
// Insert new content
|
|
98
|
-
Transforms.insertNodes(editor, value, { at: [0] });
|
|
99
|
-
// Move selection to end
|
|
100
|
-
Transforms.select(editor, Editor.end(editor, []));
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
// Fallback to direct mutation if transforms fail
|
|
105
|
-
editor.selection = null;
|
|
106
|
-
editor.children = value;
|
|
107
|
-
}
|
|
108
|
-
}, [JSON.stringify(value)]);
|
|
109
|
-
const isEmpty = useMemo(() => {
|
|
110
|
-
return size(value) === 1 && size(value[0].children) === 1 && value[0].children[0].text === '';
|
|
111
|
-
}, [value]);
|
|
112
|
-
const renderElement = useCallback((props) => {
|
|
113
|
-
switch (props.element.type) {
|
|
114
|
-
case 'tag': {
|
|
115
|
-
const tagProps = getTagProps(props.element);
|
|
116
|
-
const finalProps = {
|
|
117
|
-
...tagsProps,
|
|
118
|
-
...tagProps,
|
|
119
|
-
};
|
|
120
|
-
return (_jsx(TemplateElement, { ...props, tagProps: {
|
|
121
|
-
...finalProps,
|
|
122
|
-
size: rest.size ? getOneLessSize(rest.size) : finalProps.size || 'small',
|
|
123
|
-
onClick: !rest.readOnly && !rest.disabled
|
|
124
|
-
? (event) => {
|
|
125
|
-
onTagClick?.(props.element);
|
|
126
|
-
finalProps.onClick?.(event);
|
|
127
|
-
}
|
|
128
|
-
: undefined,
|
|
129
|
-
onRemoveClick: !rest.readOnly && !rest.disabled
|
|
130
|
-
? () => {
|
|
131
|
-
try {
|
|
132
|
-
const path = ReactEditor.findPath(editor, props.element);
|
|
133
|
-
Transforms.removeNodes(editor, { at: path });
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
// Element may no longer be in the editor
|
|
137
|
-
console.warn('Failed to remove tag:', error);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
: undefined,
|
|
141
|
-
} }));
|
|
142
|
-
}
|
|
143
|
-
default:
|
|
144
|
-
return (_jsx(DefaultElement, { ...props, placeholder: isEmpty ? placeholder : undefined, placeholderProps: isEmpty ? placeholderProps : undefined }));
|
|
145
|
-
}
|
|
146
|
-
}, [isEmpty, placeholder, placeholderProps]);
|
|
147
|
-
const renderLeaf = useCallback((props) => customRenderLeaf ? customRenderLeaf(props) : _jsx(Leaf, { ...props }), [customRenderLeaf]);
|
|
148
|
-
const isMarkActive = useCallback((editor, format) => {
|
|
149
|
-
const marks = Editor.marks(editor);
|
|
150
|
-
return marks ? marks[format] === true : false;
|
|
151
|
-
}, []);
|
|
152
|
-
const toggleMark = useCallback((editor, format) => {
|
|
153
|
-
const isActive = isMarkActive(editor, format);
|
|
154
|
-
if (isActive) {
|
|
155
|
-
Editor.removeMark(editor, format);
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
Editor.addMark(editor, format, true);
|
|
159
|
-
}
|
|
160
|
-
}, [isMarkActive]);
|
|
161
|
-
const panelActions = useMemo(() => {
|
|
162
|
-
const _actions = [...(panelProps?.actions || [])];
|
|
163
|
-
if (!actions) {
|
|
164
|
-
return _actions;
|
|
165
|
-
}
|
|
166
|
-
if (actions.styling) {
|
|
167
|
-
_actions.push({
|
|
168
|
-
group: [
|
|
169
|
-
{
|
|
170
|
-
icon: 'Bold',
|
|
171
|
-
compact: true,
|
|
172
|
-
active: isMarkActive(editor, 'bold') ? true : undefined,
|
|
173
|
-
onMouseDown: () => {
|
|
174
|
-
toggleMark(editor, 'bold');
|
|
175
|
-
},
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
icon: 'Italic',
|
|
179
|
-
compact: true,
|
|
180
|
-
active: isMarkActive(editor, 'italic') ? true : undefined,
|
|
181
|
-
onMouseDown: () => {
|
|
182
|
-
toggleMark(editor, 'italic');
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
icon: 'Underline',
|
|
187
|
-
compact: true,
|
|
188
|
-
active: isMarkActive(editor, 'underline') ? true : undefined,
|
|
189
|
-
onMouseDown: () => {
|
|
190
|
-
toggleMark(editor, 'underline');
|
|
191
|
-
},
|
|
192
|
-
},
|
|
193
|
-
],
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
if (actions.undo || actions.redo) {
|
|
197
|
-
const undoRedoActions = {
|
|
198
|
-
fixed: true,
|
|
199
|
-
group: [],
|
|
200
|
-
};
|
|
201
|
-
if (actions.undo) {
|
|
202
|
-
undoRedoActions.group.push({
|
|
203
|
-
disabled: editor.history.undos.length === 0,
|
|
204
|
-
compact: true,
|
|
205
|
-
fixed: true,
|
|
206
|
-
icon: 'ArrowGoBackLine',
|
|
207
|
-
onClick: () => {
|
|
208
|
-
editor.undo();
|
|
209
|
-
},
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
if (actions.redo) {
|
|
213
|
-
undoRedoActions.group.push({
|
|
214
|
-
disabled: editor.history.redos.length === 0,
|
|
215
|
-
compact: true,
|
|
216
|
-
fixed: true,
|
|
217
|
-
icon: 'ArrowGoForwardLine',
|
|
218
|
-
onClick: () => {
|
|
219
|
-
editor.redo();
|
|
220
|
-
},
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
_actions.push(undoRedoActions);
|
|
224
|
-
}
|
|
225
|
-
return _actions;
|
|
226
|
-
}, [actions, value, target, Editor.marks(editor), editor]);
|
|
227
|
-
const items = useMemo(() => {
|
|
228
|
-
if (size(tags)) {
|
|
229
|
-
return map(tags, ({ items, ...tag }, key) => ({
|
|
230
|
-
label: tag.label || key,
|
|
231
|
-
...tag,
|
|
232
|
-
items,
|
|
233
|
-
}));
|
|
234
|
-
}
|
|
235
|
-
return undefined;
|
|
236
|
-
}, [tags]);
|
|
237
|
-
return (_jsx(ReqorePanel, { flat: true, padded: false, minimal: true, transparent: true, size: 'small', ...panelProps, children: _jsx(Slate, { editor: editor, initialValue: value, onChange: (data) => {
|
|
238
|
-
const { selection } = editor;
|
|
239
|
-
setTarget(selection);
|
|
240
|
-
onChange?.(data);
|
|
241
|
-
}, children: _jsx(ReqoreTextarea, { ...rest, renderElement: renderElement, renderLeaf: renderLeaf, as: Editable, style: {
|
|
242
|
-
lineHeight: 1.5,
|
|
243
|
-
outline: 'none',
|
|
244
|
-
}, onClearClick: isEmpty
|
|
245
|
-
? undefined
|
|
246
|
-
: () => {
|
|
247
|
-
Transforms.delete(editor, {
|
|
248
|
-
at: {
|
|
249
|
-
anchor: Editor.start(editor, []),
|
|
250
|
-
focus: Editor.end(editor, []),
|
|
251
|
-
},
|
|
252
|
-
});
|
|
253
|
-
// Focus the editor
|
|
254
|
-
try {
|
|
255
|
-
ReactEditor.focus(editor);
|
|
256
|
-
}
|
|
257
|
-
catch (error) {
|
|
258
|
-
// Editor may not be mounted
|
|
259
|
-
}
|
|
260
|
-
}, value: JSON.stringify(value || []), onChange: useCallback(() => { }, []), templates: {
|
|
261
|
-
customElements: size(panelActions)
|
|
262
|
-
? [
|
|
263
|
-
_jsx(ReqoreControlGroup, { spaceBetween: true, size: 'small', fixed: true, children: panelActions.map((action, index) => {
|
|
264
|
-
if (action.group) {
|
|
265
|
-
return (_jsx(ReqoreControlGroup, { stack: true, children: action.group?.map((action, index) => (_jsx(ReqoreButton, { customTheme: tagsListProps?.listCustomTheme, intent: tagsListProps?.listIntent, ...action }, index))) }, index));
|
|
266
|
-
}
|
|
267
|
-
return (_jsx(ReqoreButton, { customTheme: tagsListProps?.listCustomTheme, intent: tagsListProps?.listIntent, ...action }, index));
|
|
268
|
-
}) }, 0),
|
|
269
|
-
]
|
|
270
|
-
: undefined,
|
|
271
|
-
...tagsListProps,
|
|
272
|
-
items,
|
|
273
|
-
closeOnInsideClick: false,
|
|
274
|
-
onItemSelect: (item) => {
|
|
275
|
-
if (item.value) {
|
|
276
|
-
try {
|
|
277
|
-
// Use current selection or fallback to end of document
|
|
278
|
-
const selection = editor.selection || {
|
|
279
|
-
anchor: Editor.end(editor, []),
|
|
280
|
-
focus: Editor.end(editor, []),
|
|
281
|
-
};
|
|
282
|
-
Transforms.select(editor, selection);
|
|
283
|
-
insertTag(editor, item.value, item.label, item.metadata);
|
|
284
|
-
ReactEditor.focus(editor);
|
|
285
|
-
}
|
|
286
|
-
catch (error) {
|
|
287
|
-
// Fallback: just insert at current position
|
|
288
|
-
try {
|
|
289
|
-
insertTag(editor, item.value, item.label, item.metadata);
|
|
290
|
-
}
|
|
291
|
-
catch (e) {
|
|
292
|
-
console.warn('Failed to insert tag:', e);
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
},
|
|
297
|
-
} }) }) }));
|
|
298
|
-
});
|
|
299
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/RichTextEditor/index.tsx"],"names":[],"mappings":"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"}
|