@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,349 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { rgba } from 'polished';
|
|
3
|
+
import styled, { css, keyframes } from 'styled-components';
|
|
4
|
+
import { Colors } from '../../constants/colors';
|
|
5
|
+
import { TEXT_FROM_SIZE, WEIGHT_TO_NUMBER } from '../../constants/sizes';
|
|
6
|
+
import { changeLightness, createEffectGradient, getColorFromMaybeString, getGradientMix, getReadableColorFrom, } from '../../helpers/colors';
|
|
7
|
+
import { isStringSize } from '../../helpers/utils';
|
|
8
|
+
// Animate the gradient
|
|
9
|
+
const StyledGradientKeyframes = keyframes `
|
|
10
|
+
0% {
|
|
11
|
+
background-position: 0% 0%;
|
|
12
|
+
}
|
|
13
|
+
50% {
|
|
14
|
+
background-position: 100% 100%;
|
|
15
|
+
}
|
|
16
|
+
100% {
|
|
17
|
+
background-position: 0% 0%;
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
20
|
+
export const normalizeGradients = (gradient) => {
|
|
21
|
+
if (!gradient)
|
|
22
|
+
return [];
|
|
23
|
+
return Array.isArray(gradient) ? gradient : [gradient];
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Returns the primary (first) gradient. Convenience for callers that only care
|
|
27
|
+
* about a single gradient's stops/colors/animation — preserves pre-array
|
|
28
|
+
* semantics.
|
|
29
|
+
*/
|
|
30
|
+
export const getPrimaryGradient = (gradient) => normalizeGradients(gradient)[0];
|
|
31
|
+
/**
|
|
32
|
+
* Returns a new gradient (or gradient list) with `patch` merged into the
|
|
33
|
+
* primary entry. Use this when a consumer needs to override e.g. `borderColor`
|
|
34
|
+
* from intent without losing the multi-gradient list shape.
|
|
35
|
+
*/
|
|
36
|
+
export const patchPrimaryGradient = (gradient, patch) => {
|
|
37
|
+
if (!gradient)
|
|
38
|
+
return gradient;
|
|
39
|
+
if (Array.isArray(gradient)) {
|
|
40
|
+
if (gradient.length === 0)
|
|
41
|
+
return gradient;
|
|
42
|
+
return [{ ...gradient[0], ...patch }, ...gradient.slice(1)];
|
|
43
|
+
}
|
|
44
|
+
return { ...gradient, ...patch };
|
|
45
|
+
};
|
|
46
|
+
const buildGradientLayer = (g, colorString, box) => {
|
|
47
|
+
const type = g.type || 'linear';
|
|
48
|
+
const directionOrShape = type === 'linear'
|
|
49
|
+
? g.direction || 'to right'
|
|
50
|
+
: [g.shape || 'circle', g.size, g.direction || 'at center']
|
|
51
|
+
.filter(Boolean)
|
|
52
|
+
.join(' ');
|
|
53
|
+
return `${type}-gradient(${directionOrShape}${colorString}) ${box}`;
|
|
54
|
+
};
|
|
55
|
+
export const StyledEffect = styled.span `
|
|
56
|
+
// If gradient was supplied
|
|
57
|
+
${({ effect, theme, minimal, active, transparent, isText }) => {
|
|
58
|
+
const gradients = normalizeGradients(effect?.gradient);
|
|
59
|
+
if (!effect || gradients.length === 0) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
// Build padding-box layers (the actual fill) for every gradient in the list.
|
|
63
|
+
const paddingLayers = [];
|
|
64
|
+
const paddingLayersActive = [];
|
|
65
|
+
gradients.forEach((g) => {
|
|
66
|
+
const colors = createEffectGradient(theme, g.colors, minimal ? 0.05 : 0, !isText && minimal && !active, false, transparent);
|
|
67
|
+
const colorsActive = createEffectGradient(theme, g.colors, 0.05, minimal, true, transparent);
|
|
68
|
+
paddingLayers.push(buildGradientLayer(g, colors, 'padding-box'));
|
|
69
|
+
paddingLayersActive.push(buildGradientLayer(g, colorsActive, 'padding-box'));
|
|
70
|
+
});
|
|
71
|
+
// The first gradient drives readable-text, animation, and border behaviour
|
|
72
|
+
// (multi-gradient borders would visually fight each other; one is enough).
|
|
73
|
+
const primary = gradients[0];
|
|
74
|
+
// Determine the text color based on the primary gradient
|
|
75
|
+
let color;
|
|
76
|
+
if (!effect.color) {
|
|
77
|
+
color = getGradientMix(theme, primary.colors);
|
|
78
|
+
}
|
|
79
|
+
let borderColor;
|
|
80
|
+
let borderHoverColor;
|
|
81
|
+
if (primary.borderColor) {
|
|
82
|
+
borderColor = `${getColorFromMaybeString(theme, primary.borderColor)}`;
|
|
83
|
+
borderHoverColor = `${changeLightness(getColorFromMaybeString(theme, primary.borderColor), 0.15)}`;
|
|
84
|
+
}
|
|
85
|
+
else if (!isText) {
|
|
86
|
+
borderColor = 'transparent';
|
|
87
|
+
borderHoverColor = 'transparent';
|
|
88
|
+
const borderGradientColors = createEffectGradient(theme, primary.colors, 0.15, minimal);
|
|
89
|
+
const borderGradientColorsActive = createEffectGradient(theme, primary.colors, 0.25, minimal);
|
|
90
|
+
paddingLayers.push(buildGradientLayer(primary, borderGradientColors, 'border-box'));
|
|
91
|
+
paddingLayersActive.push(buildGradientLayer(primary, borderGradientColorsActive, 'border-box'));
|
|
92
|
+
}
|
|
93
|
+
const gradient = paddingLayers.join(', ');
|
|
94
|
+
const gradientActive = paddingLayersActive.join(', ');
|
|
95
|
+
return css `
|
|
96
|
+
background: ${active ? gradientActive : gradient};
|
|
97
|
+
border-color: ${borderColor} !important;
|
|
98
|
+
|
|
99
|
+
${color && !minimal && !transparent
|
|
100
|
+
? css `
|
|
101
|
+
color: ${getReadableColorFrom(getColorFromMaybeString(theme, color), false)} !important;
|
|
102
|
+
&::placeholder {
|
|
103
|
+
color: ${rgba(getReadableColorFrom(getColorFromMaybeString(theme, color), false), 0.7)} !important;
|
|
104
|
+
}
|
|
105
|
+
`
|
|
106
|
+
: undefined}
|
|
107
|
+
|
|
108
|
+
${primary.animate === 'always' || (primary.animate === 'active' && active)
|
|
109
|
+
? css `
|
|
110
|
+
background-size: 200% 200%;
|
|
111
|
+
animation: ${StyledGradientKeyframes} ${primary.animationSpeed || 2}s linear infinite;
|
|
112
|
+
`
|
|
113
|
+
: undefined}
|
|
114
|
+
|
|
115
|
+
${effect.interactive &&
|
|
116
|
+
css `
|
|
117
|
+
cursor: pointer;
|
|
118
|
+
|
|
119
|
+
&:hover,
|
|
120
|
+
&:focus,
|
|
121
|
+
&:active {
|
|
122
|
+
background: ${gradientActive};
|
|
123
|
+
border-color: ${borderHoverColor} !important;
|
|
124
|
+
|
|
125
|
+
${primary.animate === 'hover' ||
|
|
126
|
+
(primary.animate === 'active' && active) ||
|
|
127
|
+
primary.animate === 'always'
|
|
128
|
+
? css `
|
|
129
|
+
background-size: 200% 200%;
|
|
130
|
+
animation: ${StyledGradientKeyframes} ${primary.animationSpeed || 2}s linear
|
|
131
|
+
infinite;
|
|
132
|
+
`
|
|
133
|
+
: undefined}
|
|
134
|
+
}
|
|
135
|
+
`}
|
|
136
|
+
`;
|
|
137
|
+
}}
|
|
138
|
+
|
|
139
|
+
${({ effect, theme, isText }) => {
|
|
140
|
+
if (!effect || !effect.glow) {
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
let glow;
|
|
144
|
+
if (!isText) {
|
|
145
|
+
glow = css `
|
|
146
|
+
box-shadow: ${effect.glow.inset ? 'inset ' : ''} 0 0 ${effect.glow.blur || 0}px
|
|
147
|
+
${effect.glow.size || 2}px ${getColorFromMaybeString(theme, effect.glow.color)};
|
|
148
|
+
`;
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
const color = getColorFromMaybeString(theme, effect.glow.color === 'main' ? 'main:lighten:2' : effect.glow.color);
|
|
152
|
+
const blur = effect.glow.blur || 0;
|
|
153
|
+
const opacity = effect.glow.opacity || 1;
|
|
154
|
+
glow = css `
|
|
155
|
+
color: ${Colors.LIGHT};
|
|
156
|
+
text-shadow: 0 0 ${blur}px ${rgba(color, opacity)},
|
|
157
|
+
0 0 ${blur + 5}px ${rgba(color, opacity)}, 0 0 ${blur + 10}px ${rgba(color, opacity)},
|
|
158
|
+
0 0 1px ${rgba(getReadableColorFrom(color), opacity)},
|
|
159
|
+
0 0 2px ${rgba(getReadableColorFrom(color), opacity)},
|
|
160
|
+
0 0 3px ${rgba(getReadableColorFrom(color), opacity)};
|
|
161
|
+
`;
|
|
162
|
+
}
|
|
163
|
+
if (effect.glow.when === 'always' || !effect.glow.when) {
|
|
164
|
+
return glow;
|
|
165
|
+
}
|
|
166
|
+
if (effect.glow.when === 'hover') {
|
|
167
|
+
return css `
|
|
168
|
+
&:hover {
|
|
169
|
+
${glow}
|
|
170
|
+
}
|
|
171
|
+
`;
|
|
172
|
+
}
|
|
173
|
+
if (effect.glow.when === 'focus') {
|
|
174
|
+
return css `
|
|
175
|
+
&:focus {
|
|
176
|
+
${glow}
|
|
177
|
+
}
|
|
178
|
+
`;
|
|
179
|
+
}
|
|
180
|
+
if (effect.glow.when === 'active') {
|
|
181
|
+
return css `
|
|
182
|
+
&:active {
|
|
183
|
+
${glow}
|
|
184
|
+
}
|
|
185
|
+
`;
|
|
186
|
+
}
|
|
187
|
+
}}
|
|
188
|
+
|
|
189
|
+
${({ effect }) => effect && effect.spaced
|
|
190
|
+
? css `
|
|
191
|
+
letter-spacing: ${effect.spaced}px;
|
|
192
|
+
`
|
|
193
|
+
: undefined}
|
|
194
|
+
|
|
195
|
+
${({ effect }) => effect && effect.uppercase
|
|
196
|
+
? css `
|
|
197
|
+
text-transform: uppercase;
|
|
198
|
+
`
|
|
199
|
+
: undefined}
|
|
200
|
+
|
|
201
|
+
${({ effect }) => {
|
|
202
|
+
if (!effect || !effect.weight) {
|
|
203
|
+
return undefined;
|
|
204
|
+
}
|
|
205
|
+
const weight = typeof effect.weight === 'number' ? effect.weight : WEIGHT_TO_NUMBER[effect.weight];
|
|
206
|
+
return css `
|
|
207
|
+
font-weight: ${weight} !important;
|
|
208
|
+
`;
|
|
209
|
+
}}
|
|
210
|
+
|
|
211
|
+
${({ effect }) => effect && effect.italic
|
|
212
|
+
? css `
|
|
213
|
+
font-style: italic;
|
|
214
|
+
`
|
|
215
|
+
: undefined}
|
|
216
|
+
|
|
217
|
+
${({ effect }) => effect?.underline
|
|
218
|
+
? css `
|
|
219
|
+
text-decoration: ${typeof effect.underline === 'string' ? effect.underline : 'underline'};
|
|
220
|
+
`
|
|
221
|
+
: undefined}
|
|
222
|
+
|
|
223
|
+
${({ effect }) => effect?.lineThrough
|
|
224
|
+
? css `
|
|
225
|
+
text-decoration: ${typeof effect.lineThrough === 'string'
|
|
226
|
+
? effect.lineThrough
|
|
227
|
+
: '2px solid line-through'};
|
|
228
|
+
`
|
|
229
|
+
: undefined}
|
|
230
|
+
|
|
231
|
+
${({ effect }) => effect && effect.noWrap
|
|
232
|
+
? css `
|
|
233
|
+
white-space: nowrap;
|
|
234
|
+
text-overflow: ellipsis;
|
|
235
|
+
overflow: hidden;
|
|
236
|
+
`
|
|
237
|
+
: undefined}
|
|
238
|
+
|
|
239
|
+
${({ effect, theme }) => effect && effect.color
|
|
240
|
+
? css `
|
|
241
|
+
color: ${getColorFromMaybeString(theme, effect.color)} !important;
|
|
242
|
+
`
|
|
243
|
+
: undefined}
|
|
244
|
+
|
|
245
|
+
${({ effect }) => effect && effect.textSize
|
|
246
|
+
? css `
|
|
247
|
+
font-size: ${isStringSize(effect.textSize)
|
|
248
|
+
? `${TEXT_FROM_SIZE[effect.textSize]}px`
|
|
249
|
+
: effect.textSize} !important;
|
|
250
|
+
`
|
|
251
|
+
: undefined}
|
|
252
|
+
|
|
253
|
+
${({ effect }) => effect && effect.textAlign
|
|
254
|
+
? css `
|
|
255
|
+
width: 100%;
|
|
256
|
+
text-align: ${effect.textAlign};
|
|
257
|
+
`
|
|
258
|
+
: undefined}
|
|
259
|
+
|
|
260
|
+
${({ effect }) => effect &&
|
|
261
|
+
effect.grayscale &&
|
|
262
|
+
css `
|
|
263
|
+
filter: grayscale(100%);
|
|
264
|
+
`};
|
|
265
|
+
${({ effect }) => effect &&
|
|
266
|
+
effect.blur &&
|
|
267
|
+
css `
|
|
268
|
+
filter: blur(${effect.blur}px);
|
|
269
|
+
`};
|
|
270
|
+
${({ effect }) => effect &&
|
|
271
|
+
effect.backgroundBlur &&
|
|
272
|
+
css `
|
|
273
|
+
backdrop-filter: blur(${effect.backgroundBlur}px);
|
|
274
|
+
-webkit-backdrop-filter: blur(${effect.backgroundBlur}px);
|
|
275
|
+
`};
|
|
276
|
+
${({ effect }) => effect &&
|
|
277
|
+
effect.sepia &&
|
|
278
|
+
css `
|
|
279
|
+
filter: sepia(100%);
|
|
280
|
+
`};
|
|
281
|
+
${({ effect }) => effect &&
|
|
282
|
+
effect.invert &&
|
|
283
|
+
css `
|
|
284
|
+
filter: invert(100%);
|
|
285
|
+
`};
|
|
286
|
+
${({ effect }) => effect && (effect.opacity || effect.opacity === 0)
|
|
287
|
+
? css `
|
|
288
|
+
opacity: ${effect.opacity};
|
|
289
|
+
`
|
|
290
|
+
: undefined};
|
|
291
|
+
${({ effect }) => effect &&
|
|
292
|
+
effect.brightness &&
|
|
293
|
+
css `
|
|
294
|
+
filter: brightness(${effect.brightness}%);
|
|
295
|
+
`};
|
|
296
|
+
${({ effect }) => effect &&
|
|
297
|
+
effect.contrast &&
|
|
298
|
+
css `
|
|
299
|
+
filter: contrast(${effect.contrast}%);
|
|
300
|
+
`};
|
|
301
|
+
${({ effect }) => effect &&
|
|
302
|
+
effect.saturate &&
|
|
303
|
+
css `
|
|
304
|
+
filter: saturate(${effect.saturate}%);
|
|
305
|
+
`};
|
|
306
|
+
`;
|
|
307
|
+
export const StyledTextEffect = styled(StyledEffect).attrs((props) => ({ ...props, isText: true })) `
|
|
308
|
+
display: ${({ inline, block }) => (inline ? 'inline' : block ? 'block' : 'inline-block')};
|
|
309
|
+
|
|
310
|
+
${({ effect }) => effect && effect.gradient
|
|
311
|
+
? css `
|
|
312
|
+
-webkit-background-clip: text !important;
|
|
313
|
+
-webkit-text-fill-color: transparent !important;
|
|
314
|
+
`
|
|
315
|
+
: undefined}
|
|
316
|
+
|
|
317
|
+
${({ effect, theme }) => {
|
|
318
|
+
if (!effect?.frost) {
|
|
319
|
+
return undefined;
|
|
320
|
+
}
|
|
321
|
+
const frost = typeof effect.frost === 'boolean' ? {} : effect.frost;
|
|
322
|
+
const color = getColorFromMaybeString(theme, frost.color || 'main:lighten:8');
|
|
323
|
+
const opacity = frost.opacity ?? 0.72;
|
|
324
|
+
const shadowOpacity = frost.shadowOpacity ?? 0.28;
|
|
325
|
+
const blur = frost.blur ?? 0.4;
|
|
326
|
+
return css `
|
|
327
|
+
color: transparent !important;
|
|
328
|
+
background: linear-gradient(
|
|
329
|
+
180deg,
|
|
330
|
+
${rgba(color, Math.min(opacity + 0.18, 1))},
|
|
331
|
+
${rgba(color, opacity * 0.52)}
|
|
332
|
+
);
|
|
333
|
+
-webkit-background-clip: text !important;
|
|
334
|
+
background-clip: text !important;
|
|
335
|
+
-webkit-text-fill-color: transparent !important;
|
|
336
|
+
text-shadow:
|
|
337
|
+
0 1px 0 ${rgba(Colors.LIGHT, shadowOpacity)},
|
|
338
|
+
0 -1px 0 ${rgba(Colors.DARK, shadowOpacity * 0.7)},
|
|
339
|
+
0 0 ${blur}px ${rgba(color, shadowOpacity)};
|
|
340
|
+
`;
|
|
341
|
+
}}
|
|
342
|
+
`;
|
|
343
|
+
export const ReqoreEffect = ({ children, ...rest }) => {
|
|
344
|
+
return (_jsx(StyledEffect, { className: 'reqore-effect', ...rest, children: children }));
|
|
345
|
+
};
|
|
346
|
+
export const ReqoreTextEffect = ({ children, className, ...rest }) => {
|
|
347
|
+
return (_jsx(StyledTextEffect, { className: `${className || ''} reqore-text-effect`, ...rest, children: children }));
|
|
348
|
+
};
|
|
349
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Effect/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, memo, useMemo } from 'react';
|
|
3
|
+
import { ReqorePanel } from '../..';
|
|
4
|
+
import { getOneHigherSize, getOneLessSize } from '../../helpers/utils';
|
|
5
|
+
import { useReqoreTheme } from '../../hooks/useTheme';
|
|
6
|
+
import ReqoreControlGroup from '../ControlGroup';
|
|
7
|
+
import { patchPrimaryGradient } from '../Effect';
|
|
8
|
+
import { ReqoreHeading } from '../Header';
|
|
9
|
+
import ReqoreIcon from '../Icon';
|
|
10
|
+
import { ReqoreP } from '../Paragraph';
|
|
11
|
+
export const ReqoreEmptyState = memo(forwardRef(({ icon, iconColor, iconProps, title, description, actions, size = 'normal', customTheme, inheritCustomTheme, intent, fluid, flat = true, disabled, tooltip, rounded, radiusSize, transparent, opacity, effect, className, gapSize, raised, ...rest }, ref) => {
|
|
12
|
+
const theme = useReqoreTheme('main', customTheme, intent, undefined, inheritCustomTheme);
|
|
13
|
+
const iconSize = useMemo(() => getOneHigherSize(size), [size]);
|
|
14
|
+
const descriptionSize = useMemo(() => getOneLessSize(size), [size]);
|
|
15
|
+
const hasBackground = useMemo(() => !!(effect || rounded || flat !== undefined || transparent || opacity !== undefined), [effect, rounded, flat, transparent, opacity]);
|
|
16
|
+
const transformedEffect = useMemo(() => {
|
|
17
|
+
if (!effect)
|
|
18
|
+
return undefined;
|
|
19
|
+
const newEffect = { ...effect };
|
|
20
|
+
if (newEffect.gradient && intent) {
|
|
21
|
+
newEffect.gradient = patchPrimaryGradient(newEffect.gradient, {
|
|
22
|
+
borderColor: theme.intents[intent],
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return newEffect;
|
|
26
|
+
}, [effect, intent, theme]);
|
|
27
|
+
return (_jsx(ReqorePanel, { transparent: transparent, minimal: true, flat: flat, padded: 'massive', raised: raised, ...rest, tooltip: tooltip, ref: ref, customTheme: theme, size: size, fluid: fluid, disabled: disabled, rounded: rounded, radiusSize: radiusSize, intent: intent, contentEffect: transformedEffect, className: `${className || ''} reqore-empty-state`, children: _jsxs(ReqoreControlGroup, { vertical: true, horizontalAlign: 'center', className: 'reqore-empty-state-content', gapSize: gapSize, children: [icon && (_jsx(ReqoreIcon, { ...iconProps, icon: icon, size: iconSize, color: iconColor, intent: iconColor || hasBackground ? undefined : intent, className: 'reqore-empty-state-icon' })), title && (_jsx(ReqoreHeading, { size: getOneHigherSize(size), className: 'reqore-empty-state-title', children: title })), description &&
|
|
28
|
+
(typeof description === 'string' ? (_jsx(ReqoreP, { size: descriptionSize, className: 'reqore-empty-state-description', effect: { opacity: 0.7 }, style: { textAlign: 'center', maxWidth: '480px' }, children: description })) : (_jsx("div", { className: 'reqore-empty-state-description', children: description }))), actions && _jsx("div", { className: 'reqore-empty-state-actions', children: actions })] }) }));
|
|
29
|
+
}));
|
|
30
|
+
export default ReqoreEmptyState;
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/EmptyState/index.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAWtD,OAAO,kBAAkB,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAiB,oBAAoB,EAAsB,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,UAAgC,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA6CvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAClC,UAAU,CACR,CACE,EACE,IAAI,EACJ,SAAS,EACT,SAAS,EACT,KAAK,EACL,WAAW,EACX,OAAO,EACP,IAAI,GAAG,QAAQ,EACf,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,IAAI,GAAG,IAAI,EACX,QAAQ,EACR,OAAO,EACP,OAAO,EACP,UAAU,EACV,WAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,OAAO,EACP,MAAM,EACN,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAEzF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,IAAI,OAAO,KAAK,SAAS,CAAC,EACzF,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAC9C,CAAC;IAEF,MAAM,iBAAiB,GAAkB,OAAO,CAAC,GAAG,EAAE;QACpD,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAE9B,MAAM,SAAS,GAAkB,EAAE,GAAG,MAAM,EAAE,CAAC;QAE/C,IAAI,SAAS,CAAC,QAAQ,IAAI,MAAM,EAAE;YAChC,SAAS,CAAC,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC5D,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAuB;aACzD,CAAC,CAAC;SACJ;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5B,OAAO,CACL,KAAC,WAAW,IACV,WAAW,EAAE,WAAW,EACxB,OAAO,QACP,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,SAAS,EAChB,MAAM,EAAE,MAAM,KACV,IAAI,EACR,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,KAAK,EAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,qBAAqB,YAElD,MAAC,kBAAkB,IACjB,QAAQ,QACR,eAAe,EAAC,QAAQ,EACxB,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,OAAO,aAEf,IAAI,IAAI,CACP,KAAC,UAAU,OACL,SAAS,EACb,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EACvD,SAAS,EAAC,yBAAyB,GACnC,CACH,EACA,KAAK,IAAI,CACR,KAAC,aAAa,IAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAC,0BAA0B,YAC9E,KAAK,GACQ,CACjB,EACA,WAAW;oBACV,CAAC,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CACjC,KAAC,OAAO,IACN,IAAI,EAAE,eAAe,EACrB,SAAS,EAAC,gCAAgC,EAC1C,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EACxB,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAEhD,WAAW,GACJ,CACX,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,gCAAgC,YAAE,WAAW,GAAO,CACpE,CAAC,EACH,OAAO,IAAI,cAAK,SAAS,EAAC,4BAA4B,YAAE,OAAO,GAAO,IACpD,GACT,CACf,CAAC;AACJ,CAAC,CACF,CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { rgba } from 'polished';
|
|
3
|
+
import { forwardRef, memo, useMemo } from 'react';
|
|
4
|
+
import styled, { css } from 'styled-components';
|
|
5
|
+
import { PADDING_FROM_SIZE, RADIUS_FROM_SIZE } from '../../constants/sizes';
|
|
6
|
+
import { changeLightness, getMainBackgroundColor, getReadableColor } from '../../helpers/colors';
|
|
7
|
+
import { getOneLessSize, resolvePadding } from '../../helpers/utils';
|
|
8
|
+
import { useReqoreTheme } from '../../hooks/useTheme';
|
|
9
|
+
import { DisabledElement, RaisedElement } from '../../styles';
|
|
10
|
+
import ReqoreButton, { ButtonBadge } from '../Button';
|
|
11
|
+
import ReqoreControlGroup from '../ControlGroup';
|
|
12
|
+
import { StyledEffect } from '../Effect';
|
|
13
|
+
import ReqoreIcon from '../Icon';
|
|
14
|
+
import { ReqoreP } from '../Paragraph';
|
|
15
|
+
import { ReqoreSpan } from '../Span';
|
|
16
|
+
import { ReqoreTooltipComponent } from '../TooltipComponent';
|
|
17
|
+
const ICON_TILE_SIZE_FROM_SIZE = {
|
|
18
|
+
micro: 18,
|
|
19
|
+
tiny: 22,
|
|
20
|
+
small: 26,
|
|
21
|
+
normal: 32,
|
|
22
|
+
big: 40,
|
|
23
|
+
huge: 48,
|
|
24
|
+
massive: 56,
|
|
25
|
+
};
|
|
26
|
+
const tintedBgFor = (theme, intent) => intent
|
|
27
|
+
? rgba(theme.intents[intent], 0.06)
|
|
28
|
+
: rgba(changeLightness(getMainBackgroundColor(theme), 0.04), 1);
|
|
29
|
+
const StyledRow = styled(StyledEffect) `
|
|
30
|
+
display: grid;
|
|
31
|
+
grid-template-columns: ${({ $hasIcon, $iconHasBackground, size }) => $hasIcon
|
|
32
|
+
? `${$iconHasBackground ? `${ICON_TILE_SIZE_FROM_SIZE[size]}px` : 'auto'} 1fr auto`
|
|
33
|
+
: '1fr auto'};
|
|
34
|
+
gap: ${({ size }) => PADDING_FROM_SIZE[size] * 2}px;
|
|
35
|
+
padding: ${({ $padded, $paddingSize }) => resolvePadding({
|
|
36
|
+
padded: $padded,
|
|
37
|
+
paddingSize: $paddingSize,
|
|
38
|
+
verticalMultiplier: 2,
|
|
39
|
+
horizontalMultiplier: 3,
|
|
40
|
+
})};
|
|
41
|
+
border-radius: ${({ rounded, size }) => (rounded ? `${RADIUS_FROM_SIZE[size]}px` : '0')};
|
|
42
|
+
background-color: ${({ theme, $intent, $transparent }) => $transparent ? 'transparent' : tintedBgFor(theme, $intent)};
|
|
43
|
+
border: ${({ flat, theme, $intent }) => flat
|
|
44
|
+
? 'none'
|
|
45
|
+
: `1px solid ${changeLightness($intent ? theme.intents[$intent] : getMainBackgroundColor(theme), 0.08)}`};
|
|
46
|
+
align-items: center;
|
|
47
|
+
width: ${({ $fluid }) => ($fluid ? '100%' : 'auto')};
|
|
48
|
+
color: ${({ theme }) => getReadableColor(theme, undefined, undefined, true)};
|
|
49
|
+
transition: background-color 0.15s ease-out;
|
|
50
|
+
|
|
51
|
+
${({ $clickable, theme, $intent, $transparent }) => $clickable &&
|
|
52
|
+
css `
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
&:hover {
|
|
55
|
+
background-color: ${$intent
|
|
56
|
+
? rgba(theme.intents[$intent], $transparent ? 0.04 : 0.1)
|
|
57
|
+
: $transparent
|
|
58
|
+
? rgba(changeLightness(getMainBackgroundColor(theme), 0.08), 0.08)
|
|
59
|
+
: rgba(changeLightness(getMainBackgroundColor(theme), 0.08), 1)};
|
|
60
|
+
}
|
|
61
|
+
`}
|
|
62
|
+
|
|
63
|
+
${({ $raised, flat }) => $raised && flat !== false && RaisedElement}
|
|
64
|
+
|
|
65
|
+
${({ disabled }) => disabled && DisabledElement}
|
|
66
|
+
`;
|
|
67
|
+
const StyledIconTile = styled.div `
|
|
68
|
+
width: ${({ $size }) => ICON_TILE_SIZE_FROM_SIZE[$size]}px;
|
|
69
|
+
height: ${({ $size }) => ICON_TILE_SIZE_FROM_SIZE[$size]}px;
|
|
70
|
+
border-radius: ${({ $size }) => RADIUS_FROM_SIZE[$size]}px;
|
|
71
|
+
display: flex;
|
|
72
|
+
align-items: center;
|
|
73
|
+
justify-content: center;
|
|
74
|
+
flex-shrink: 0;
|
|
75
|
+
background-color: ${({ theme, $intent }) => $intent
|
|
76
|
+
? rgba(theme.intents[$intent], 0.15)
|
|
77
|
+
: rgba(changeLightness(getMainBackgroundColor(theme), 0.06), 1)};
|
|
78
|
+
`;
|
|
79
|
+
const StyledBody = styled.div `
|
|
80
|
+
display: flex;
|
|
81
|
+
flex-flow: column;
|
|
82
|
+
gap: 2px;
|
|
83
|
+
min-width: 0;
|
|
84
|
+
`;
|
|
85
|
+
const StyledLabelLine = styled.div `
|
|
86
|
+
display: flex;
|
|
87
|
+
align-items: center;
|
|
88
|
+
gap: 8px;
|
|
89
|
+
flex-wrap: ${({ $wrap }) => ($wrap ? 'wrap' : 'nowrap')};
|
|
90
|
+
min-width: 0;
|
|
91
|
+
font-weight: 500;
|
|
92
|
+
`;
|
|
93
|
+
// `text-overflow: ellipsis` only works on the actual text-bearing element,
|
|
94
|
+
// not its wrapper. Cascade into the inner <ReqoreP>/<ReqoreSpan> via `& > *`
|
|
95
|
+
// so the `…` glyph appears. The wrapper itself stays a flex item that can
|
|
96
|
+
// shrink below its content (`min-width: 0; flex: 1 1 auto`).
|
|
97
|
+
const StyledTextSlot = styled.div `
|
|
98
|
+
min-width: 0;
|
|
99
|
+
${({ $wrap }) => !$wrap &&
|
|
100
|
+
css `
|
|
101
|
+
flex: 1 1 auto;
|
|
102
|
+
overflow: hidden;
|
|
103
|
+
|
|
104
|
+
& > * {
|
|
105
|
+
overflow: hidden;
|
|
106
|
+
text-overflow: ellipsis;
|
|
107
|
+
white-space: nowrap;
|
|
108
|
+
display: block;
|
|
109
|
+
max-width: 100%;
|
|
110
|
+
}
|
|
111
|
+
`}
|
|
112
|
+
`;
|
|
113
|
+
const ReqoreEntityRow = memo(forwardRef(({ label, description, metadata, badge, icon, iconImage, iconColor, iconProps, actions, intent, transparent = false, showIcon, iconHasBackground, padded = true, paddingSize, size = 'normal', flat = true, fluid = true, rounded = true, raised, customTheme, inheritCustomTheme, disabled, tooltip, effect, labelEffect, descriptionEffect, metadataEffect, wrap = true, className, ...rest }, ref) => {
|
|
114
|
+
const theme = useReqoreTheme('main', customTheme, undefined, undefined, inheritCustomTheme);
|
|
115
|
+
const secondarySize = useMemo(() => getOneLessSize(size), [size]);
|
|
116
|
+
const hasIcon = (showIcon ?? (!!icon || !!iconImage)) && (!!icon || !!iconImage);
|
|
117
|
+
const interactive = !!(rest.onClick || rest.onDoubleClick);
|
|
118
|
+
const hasBadge = badge !== undefined && badge !== null;
|
|
119
|
+
// Default: tile follows opacity. Transparent rows hide the tile so the
|
|
120
|
+
// bare icon does not sit on a tinted square that fights transparency.
|
|
121
|
+
// Explicit prop overrides in either direction.
|
|
122
|
+
const resolvedIconHasBackground = iconHasBackground ?? !transparent;
|
|
123
|
+
const resolvedIconColor = useMemo(() => {
|
|
124
|
+
if (iconColor)
|
|
125
|
+
return iconColor;
|
|
126
|
+
if (intent)
|
|
127
|
+
return theme.intents[intent];
|
|
128
|
+
return getReadableColor(theme, undefined, undefined, true);
|
|
129
|
+
}, [iconColor, intent, theme]);
|
|
130
|
+
return (_jsxs(ReqoreTooltipComponent, { ...rest, Component: StyledRow, tooltip: tooltip, ref: ref, theme: theme, "$intent": intent, "$transparent": transparent, size: size, "$fluid": fluid, flat: flat, rounded: rounded, "$raised": raised, "$clickable": interactive, disabled: disabled, "$hasIcon": hasIcon, "$iconHasBackground": resolvedIconHasBackground, "$padded": padded, "$paddingSize": paddingSize ?? size, effect: effect, className: `${className || ''} reqore-entity-row`, children: [hasIcon &&
|
|
131
|
+
(resolvedIconHasBackground ? (_jsx(StyledIconTile, { theme: theme, "$intent": intent, "$size": size, className: 'reqore-entity-row-icon-tile', children: _jsx(ReqoreIcon, { ...iconProps, icon: icon, image: iconImage, size: size, color: resolvedIconColor }) })) : (_jsx(ReqoreIcon, { ...iconProps, icon: icon, image: iconImage, size: size, color: resolvedIconColor, className: `reqore-entity-row-icon ${iconProps?.className || ''}`.trim() }))), _jsxs(StyledBody, { className: 'reqore-entity-row-body', children: [_jsxs(StyledLabelLine, { "$wrap": wrap, className: 'reqore-entity-row-label', children: [_jsx(StyledTextSlot, { "$wrap": wrap, children: _jsx(ReqoreSpan, { size: size, effect: labelEffect, children: label }) }), hasBadge && (_jsx(ButtonBadge, { size: size, content: badge, margin: 'none' }))] }), description && (_jsx(StyledTextSlot, { "$wrap": wrap, children: _jsx(ReqoreP, { size: secondarySize, effect: { opacity: 0.7, ...descriptionEffect }, className: 'reqore-entity-row-description', children: description }) })), metadata && (_jsx(StyledTextSlot, { "$wrap": wrap, children: _jsx(ReqoreSpan, { size: secondarySize, effect: { opacity: 0.5, ...metadataEffect }, className: 'reqore-entity-row-metadata', children: metadata }) }))] }), actions && actions.length > 0 && (_jsx(ReqoreControlGroup, { gapSize: 'small', className: 'reqore-entity-row-actions', children: actions.map((action, idx) => (_jsx(ReqoreButton, { size: size, intent: action.intent ?? intent, ...action, children: action.label }, idx))) }))] }));
|
|
132
|
+
}));
|
|
133
|
+
export default ReqoreEntityRow;
|
|
134
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/EntityRow/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { omit } from 'lodash';
|
|
3
|
+
import { Component, memo } from 'react';
|
|
4
|
+
import { ReqorePanel, ReqoreTree, useReqoreProperty } from '../..';
|
|
5
|
+
export class ErrorBoundary extends Component {
|
|
6
|
+
constructor(props) {
|
|
7
|
+
super(props);
|
|
8
|
+
this.state = { error: undefined, showDetails: false };
|
|
9
|
+
}
|
|
10
|
+
static getDerivedStateFromError(error) {
|
|
11
|
+
return { error };
|
|
12
|
+
}
|
|
13
|
+
componentDidCatch(error, info) {
|
|
14
|
+
this.props.onError?.(error, info);
|
|
15
|
+
}
|
|
16
|
+
render() {
|
|
17
|
+
const { doNotCatch, fallback, errorMessage, children, ...rest } = this.props;
|
|
18
|
+
if (this.state.error && !doNotCatch) {
|
|
19
|
+
if (fallback) {
|
|
20
|
+
// You can render any custom fallback UI
|
|
21
|
+
return fallback;
|
|
22
|
+
}
|
|
23
|
+
return (_jsxs(ReqorePanel, { label: 'Something went wrong', intent: 'danger', minimal: true, size: 'small', icon: 'ErrorWarningLine', responsiveActions: false, responsiveTitle: false, customTheme: { main: 'danger' }, iconProps: { size: '20px' }, ...omit(rest, ['onError']), errorBoundaryOptions: { doNotCatch: true }, actions: [
|
|
24
|
+
...(rest.actions || []),
|
|
25
|
+
{
|
|
26
|
+
label: 'Reset',
|
|
27
|
+
icon: 'RefreshLine',
|
|
28
|
+
size: 'tiny',
|
|
29
|
+
compact: true,
|
|
30
|
+
minimal: true,
|
|
31
|
+
onClick: () => this.setState({ error: undefined }),
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
label: 'Details',
|
|
35
|
+
icon: 'InformationLine',
|
|
36
|
+
size: 'tiny',
|
|
37
|
+
compact: true,
|
|
38
|
+
minimal: true,
|
|
39
|
+
onClick: () => this.setState({ showDetails: !this.state.showDetails }),
|
|
40
|
+
},
|
|
41
|
+
], children: [errorMessage, this.state.showDetails && (_jsx(ReqoreTree, { showControls: false, size: 'small', data: {
|
|
42
|
+
Name: this.state.error.name,
|
|
43
|
+
Message: this.state.error.message,
|
|
44
|
+
Stack: this.state.error.stack,
|
|
45
|
+
} }))] }));
|
|
46
|
+
}
|
|
47
|
+
return children;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export const ReqoreErrorBoundary = memo((props) => {
|
|
51
|
+
const errorBoundaryOptions = useReqoreProperty('errorBoundaryOptions');
|
|
52
|
+
if (errorBoundaryOptions?.doNotCatch || props.doNotCatch) {
|
|
53
|
+
return _jsx(_Fragment, { children: props.children || null });
|
|
54
|
+
}
|
|
55
|
+
return _jsx(ErrorBoundary, { ...errorBoundaryOptions, ...props });
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/index.tsx"],"names":[],"mappings":"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"}
|