@qoretechnologies/reqore 0.57.1 → 0.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.claude/CLAUDE.md +223 -0
  2. package/.tasks/NEW_COMPONENT.md +175 -0
  3. package/.tasks/RANDOM_ISSUE.md +3 -2
  4. package/dist/components/Message/index.d.ts +1 -0
  5. package/dist/components/Message/index.d.ts.map +1 -1
  6. package/dist/components/Message/index.js.map +1 -1
  7. package/dist/components/Notifications/notification.d.ts +2 -0
  8. package/dist/components/Notifications/notification.d.ts.map +1 -1
  9. package/dist/components/Notifications/notification.js +15 -15
  10. package/dist/components/Notifications/notification.js.map +1 -1
  11. package/dist/components/Progress/index.d.ts +43 -0
  12. package/dist/components/Progress/index.d.ts.map +1 -0
  13. package/dist/components/Progress/index.js +145 -0
  14. package/dist/components/Progress/index.js.map +1 -0
  15. package/dist/components/Rating/index.d.ts +37 -0
  16. package/dist/components/Rating/index.d.ts.map +1 -0
  17. package/dist/components/Rating/index.js +197 -0
  18. package/dist/components/Rating/index.js.map +1 -0
  19. package/dist/components/Timeline/index.d.ts +54 -0
  20. package/dist/components/Timeline/index.d.ts.map +1 -0
  21. package/dist/components/Timeline/index.js +232 -0
  22. package/dist/components/Timeline/index.js.map +1 -0
  23. package/dist/constants/sizes.d.ts +18 -0
  24. package/dist/constants/sizes.d.ts.map +1 -1
  25. package/dist/constants/sizes.js +19 -1
  26. package/dist/constants/sizes.js.map +1 -1
  27. package/dist/index.d.ts +3 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +7 -1
  30. package/dist/index.js.map +1 -1
  31. package/package.json +1 -1
  32. package/tests.json +1 -1
@@ -0,0 +1,43 @@
1
+ /// <reference types="react" />
2
+ import { IReqoreTheme } from '../../constants/theme';
3
+ import { IReqoreDisabled, IReqoreIntent, IWithReqoreCustomTheme, IWithReqoreEffect, IWithReqoreFlat, IWithReqoreFluid, IWithReqoreSize, IWithReqoreTooltip } from '../../types/global';
4
+ import { IReqoreIconName } from '../../types/icons';
5
+ import { TReqoreEffectColor } from '../Effect';
6
+ import { IReqoreIconProps } from '../Icon';
7
+ export interface IReqoreProgressProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, IReqoreDisabled, IReqoreIntent, IWithReqoreCustomTheme, IWithReqoreEffect, IWithReqoreFluid, IWithReqoreFlat, IWithReqoreSize, IWithReqoreTooltip {
8
+ /** Current progress value */
9
+ value?: number;
10
+ /** Maximum value (default: 100) */
11
+ max?: number;
12
+ /** Show indeterminate animation instead of value-based progress */
13
+ indeterminate?: boolean;
14
+ /** Display the current value as text above the track */
15
+ showValue?: boolean;
16
+ /** Custom label to display above the track (left side) */
17
+ label?: string;
18
+ /** Show animated diagonal stripes on the progress bar */
19
+ animated?: boolean;
20
+ /** Whether the progress bar should have rounded corners */
21
+ rounded?: boolean;
22
+ /** Whether the progress track should be transparent */
23
+ transparent?: boolean;
24
+ /** Left icon */
25
+ icon?: IReqoreIconName;
26
+ /** Left icon color */
27
+ iconColor?: TReqoreEffectColor;
28
+ /** Left icon props */
29
+ leftIconProps?: IReqoreIconProps;
30
+ /** Right icon */
31
+ rightIcon?: IReqoreIconName;
32
+ /** Right icon color */
33
+ rightIconColor?: TReqoreEffectColor;
34
+ /** Right icon props */
35
+ rightIconProps?: IReqoreIconProps;
36
+ }
37
+ export interface IReqoreProgressStyle extends IReqoreProgressProps {
38
+ theme: IReqoreTheme;
39
+ percentage: number;
40
+ }
41
+ declare const ReqoreProgress: import("react").MemoExoticComponent<(props: IReqoreProgressProps & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>>;
42
+ export default ReqoreProgress;
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Progress/index.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EACL,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAmB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGvD,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EAC5D,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB;IACpB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB;IAChB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,sBAAsB;IACtB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,sBAAsB;IACtB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,iBAAiB;IACjB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,uBAAuB;IACvB,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,uBAAuB;IACvB,cAAc,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AA2HD,QAAA,MAAM,cAAc,8MAqHnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ var __rest = (this && this.__rest) || function (s, e) {
41
+ var t = {};
42
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
43
+ t[p] = s[p];
44
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
45
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
46
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
47
+ t[p[i]] = s[p[i]];
48
+ }
49
+ return t;
50
+ };
51
+ var __importDefault = (this && this.__importDefault) || function (mod) {
52
+ return (mod && mod.__esModule) ? mod : { "default": mod };
53
+ };
54
+ exports.__esModule = true;
55
+ var jsx_runtime_1 = require("react/jsx-runtime");
56
+ var polished_1 = require("polished");
57
+ var react_1 = require("react");
58
+ var styled_components_1 = __importStar(require("styled-components"));
59
+ var sizes_1 = require("../../constants/sizes");
60
+ var colors_1 = require("../../helpers/colors");
61
+ var useTheme_1 = require("../../hooks/useTheme");
62
+ var Icon_1 = __importDefault(require("../Icon"));
63
+ var TooltipComponent_1 = require("../TooltipComponent");
64
+ var indeterminateAnimation = (0, styled_components_1.keyframes)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n"], ["\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n"])));
65
+ var stripesAnimation = (0, styled_components_1.keyframes)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 40px 0;\n }\n"], ["\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: 40px 0;\n }\n"])));
66
+ var StyledProgressWrapper = styled_components_1["default"].div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 4px;\n width: ", ";\n\n ", "\n"], ["\n display: flex;\n flex-direction: column;\n gap: 4px;\n width: ", ";\n\n ", "\n"])), function (_a) {
67
+ var fluid = _a.fluid;
68
+ return (fluid ? '100%' : '200px');
69
+ }, function (_a) {
70
+ var disabled = _a.disabled;
71
+ return disabled && (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n opacity: 0.5;\n pointer-events: none;\n "], ["\n opacity: 0.5;\n pointer-events: none;\n "])));
72
+ });
73
+ var StyledProgressLabels = styled_components_1["default"].div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: ", "px;\n color: ", ";\n gap: 8px;\n"], ["\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: ", "px;\n color: ", ";\n gap: 8px;\n"])), function (_a) {
74
+ var size = _a.size;
75
+ return sizes_1.CONTROL_TEXT_FROM_SIZE[size];
76
+ }, function (_a) {
77
+ var theme = _a.theme;
78
+ return (0, colors_1.getReadableColor)(theme, undefined, undefined);
79
+ });
80
+ var StyledProgressLabelLeft = styled_components_1["default"].span(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"], ["\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
81
+ var StyledProgressLabelRight = styled_components_1["default"].span(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n"], ["\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n"])));
82
+ // Returns the progress bar color - uses intent color if applied, otherwise a readable default
83
+ var getProgressColor = function (theme) {
84
+ // If theme.main differs from originalMain, an intent was applied
85
+ var hasIntent = theme.main !== theme.originalMain;
86
+ return hasIntent ? theme.main : (0, colors_1.getReadableColor)(theme, undefined, undefined, true);
87
+ };
88
+ var StyledProgressTrack = styled_components_1["default"].div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n position: relative;\n display: flex;\n align-items: center;\n overflow: hidden;\n width: 100%;\n height: ", "px;\n border-radius: ", ";\n background-color: ", ";\n border: ", ";\n"], ["\n position: relative;\n display: flex;\n align-items: center;\n overflow: hidden;\n width: 100%;\n height: ", "px;\n border-radius: ", ";\n background-color: ", ";\n border: ", ";\n"])), function (_a) {
89
+ var size = _a.size;
90
+ return sizes_1.PROGRESS_HEIGHT_FROM_SIZE[size];
91
+ }, function (_a) {
92
+ var size = _a.size, rounded = _a.rounded;
93
+ return (rounded === false ? 0 : "".concat(sizes_1.RADIUS_FROM_SIZE[size], "px"));
94
+ }, function (_a) {
95
+ var theme = _a.theme, transparent = _a.transparent;
96
+ return transparent ? 'transparent' : (0, polished_1.rgba)(getProgressColor(theme), 0.2);
97
+ }, function (_a) {
98
+ var flat = _a.flat, theme = _a.theme;
99
+ return flat === false ? "1px solid ".concat((0, polished_1.rgba)(getProgressColor(theme), 0.6)) : 'none';
100
+ });
101
+ var StyledProgressBar = styled_components_1["default"].div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n border-radius: inherit;\n background-color: ", ";\n transition: width 0.3s ease-out;\n width: ", ";\n\n ", "\n\n ", "\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n border-radius: inherit;\n background-color: ", ";\n transition: width 0.3s ease-out;\n width: ", ";\n\n ", "\n\n ", "\n"])), function (_a) {
102
+ var theme = _a.theme;
103
+ return getProgressColor(theme);
104
+ }, function (_a) {
105
+ var percentage = _a.percentage, indeterminate = _a.indeterminate;
106
+ return (indeterminate ? '35%' : "".concat(percentage, "%"));
107
+ }, function (_a) {
108
+ var indeterminate = _a.indeterminate;
109
+ return indeterminate && (0, styled_components_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n animation: ", " 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n "], ["\n animation: ", " 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n "])), indeterminateAnimation);
110
+ }, function (_a) {
111
+ var animated = _a.animated, indeterminate = _a.indeterminate, theme = _a.theme;
112
+ return animated &&
113
+ !indeterminate && (0, styled_components_1.css)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n background-image: linear-gradient(\n -45deg,\n ", " 25%,\n transparent 25%,\n transparent 50%,\n ", " 50%,\n ", " 75%,\n transparent 75%,\n transparent\n );\n background-size: 40px 40px;\n animation: ", " 1s linear infinite;\n "], ["\n background-image: linear-gradient(\n -45deg,\n ", " 25%,\n transparent 25%,\n transparent 50%,\n ", " 50%,\n ", " 75%,\n transparent 75%,\n transparent\n );\n background-size: 40px 40px;\n animation: ", " 1s linear infinite;\n "])), (0, polished_1.rgba)((0, polished_1.darken)(0.1, getProgressColor(theme)), 0.5), (0, polished_1.rgba)((0, polished_1.darken)(0.1, getProgressColor(theme)), 0.5), (0, polished_1.rgba)((0, polished_1.darken)(0.1, getProgressColor(theme)), 0.5), stripesAnimation);
114
+ });
115
+ var ReqoreProgress = (0, react_1.memo)((0, react_1.forwardRef)(function (_a, ref) {
116
+ var _b = _a.value, value = _b === void 0 ? 0 : _b, _c = _a.max, max = _c === void 0 ? 100 : _c, _d = _a.size, size = _d === void 0 ? 'normal' : _d, _e = _a.indeterminate, indeterminate = _e === void 0 ? false : _e, _f = _a.showValue, showValue = _f === void 0 ? false : _f, label = _a.label, _g = _a.animated, animated = _g === void 0 ? false : _g, customTheme = _a.customTheme, intent = _a.intent, _h = _a.fluid, fluid = _h === void 0 ? false : _h, _j = _a.rounded, rounded = _j === void 0 ? true : _j, _k = _a.transparent, transparent = _k === void 0 ? false : _k, _l = _a.flat, flat = _l === void 0 ? true : _l, disabled = _a.disabled, className = _a.className, tooltip = _a.tooltip, icon = _a.icon, iconColor = _a.iconColor, leftIconProps = _a.leftIconProps, rightIcon = _a.rightIcon, rightIconColor = _a.rightIconColor, rightIconProps = _a.rightIconProps, rest = __rest(_a, ["value", "max", "size", "indeterminate", "showValue", "label", "animated", "customTheme", "intent", "fluid", "rounded", "transparent", "flat", "disabled", "className", "tooltip", "icon", "iconColor", "leftIconProps", "rightIcon", "rightIconColor", "rightIconProps"]);
117
+ // Theme with intent for the progress bar
118
+ var theme = (0, useTheme_1.useReqoreTheme)('main', customTheme, intent);
119
+ // Base theme without intent for labels
120
+ var baseTheme = (0, useTheme_1.useReqoreTheme)('main', customTheme);
121
+ var percentage = (0, react_1.useMemo)(function () {
122
+ if (indeterminate || max === 0)
123
+ return 0;
124
+ var clampedValue = Math.max(0, Math.min(value, max));
125
+ return (clampedValue / max) * 100;
126
+ }, [value, max, indeterminate]);
127
+ var valueLabel = (0, react_1.useMemo)(function () {
128
+ if (!showValue || indeterminate)
129
+ return null;
130
+ return "".concat(Math.round(percentage), "%");
131
+ }, [showValue, percentage, indeterminate]);
132
+ var hasLabels = !!(label ||
133
+ icon ||
134
+ leftIconProps ||
135
+ valueLabel ||
136
+ rightIcon ||
137
+ rightIconProps);
138
+ var leftIcon = icon || (leftIconProps === null || leftIconProps === void 0 ? void 0 : leftIconProps.icon);
139
+ var hasLeftIcon = !!leftIcon || !!(leftIconProps === null || leftIconProps === void 0 ? void 0 : leftIconProps.image);
140
+ var hasRightIcon = !!rightIcon || !!(rightIconProps === null || rightIconProps === void 0 ? void 0 : rightIconProps.image);
141
+ return ((0, jsx_runtime_1.jsxs)(TooltipComponent_1.ReqoreTooltipComponent, __assign({}, rest, { Component: StyledProgressWrapper, tooltip: tooltip, ref: ref, theme: theme, size: size, fluid: fluid, disabled: disabled, className: "".concat(className || '', " reqore-progress"), role: 'progressbar', "aria-valuenow": indeterminate ? undefined : Math.round(percentage), "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": rest['aria-label'] || label || 'Progress' }, { children: [hasLabels && ((0, jsx_runtime_1.jsxs)(StyledProgressLabels, __assign({ size: size, theme: baseTheme, className: 'reqore-progress-labels' }, { children: [(0, jsx_runtime_1.jsxs)(StyledProgressLabelLeft, __assign({ className: 'reqore-progress-label-left' }, { children: [hasLeftIcon && ((0, jsx_runtime_1.jsx)(Icon_1["default"], __assign({ icon: leftIcon, size: size, color: iconColor }, leftIconProps))), label && (0, jsx_runtime_1.jsx)("span", __assign({ className: 'reqore-progress-label' }, { children: label }))] })), (0, jsx_runtime_1.jsxs)(StyledProgressLabelRight, __assign({ className: 'reqore-progress-label-right' }, { children: [valueLabel && (0, jsx_runtime_1.jsx)("span", __assign({ className: 'reqore-progress-value' }, { children: valueLabel })), hasRightIcon && ((0, jsx_runtime_1.jsx)(Icon_1["default"], __assign({ icon: rightIcon, size: size, color: rightIconColor }, rightIconProps)))] }))] }))), (0, jsx_runtime_1.jsx)(StyledProgressTrack, __assign({ theme: theme, size: size, rounded: rounded, transparent: transparent, flat: flat, className: 'reqore-progress-track' }, { children: (0, jsx_runtime_1.jsx)(StyledProgressBar, { theme: theme, size: size, percentage: percentage, indeterminate: indeterminate, animated: animated, className: 'reqore-progress-bar' }) }))] })));
142
+ }));
143
+ exports["default"] = ReqoreProgress;
144
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11;
145
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Progress/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /// <reference types="react" />
2
+ import { IReqoreDisabled, IReqoreIntent, IReqoreReadOnly, IWithReqoreCustomTheme, IWithReqoreSize, IWithReqoreTooltip } from '../../types/global';
3
+ import { IReqoreIconName } from '../../types/icons';
4
+ import { TReqoreEffectColor } from '../Effect';
5
+ import { IReqoreIconProps } from '../Icon';
6
+ import { IReqoreParagraphProps } from '../Paragraph';
7
+ export interface IReqoreRatingProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>, IReqoreDisabled, IReqoreReadOnly, IReqoreIntent, IWithReqoreCustomTheme, IWithReqoreSize, IWithReqoreTooltip {
8
+ /** Current rating value (controlled) */
9
+ value?: number;
10
+ /** Label for the rating component */
11
+ label?: string;
12
+ labelProps?: IReqoreParagraphProps;
13
+ /** Callback fired when rating changes */
14
+ onChange?: (value: number) => void;
15
+ /** Maximum number of icons (default: 5) */
16
+ max?: number;
17
+ /** Allow half-step increments */
18
+ allowHalf?: boolean;
19
+ /** Allow clearing rating by clicking the current value again */
20
+ allowClear?: boolean;
21
+ /** Icon for filled state */
22
+ filledIcon?: IReqoreIconName;
23
+ /** Icon for empty state */
24
+ emptyIcon?: IReqoreIconName;
25
+ /** Icon for half-filled state */
26
+ halfIcon?: IReqoreIconName;
27
+ /** Color for filled icons */
28
+ filledColor?: TReqoreEffectColor;
29
+ /** Color for empty icons */
30
+ emptyColor?: TReqoreEffectColor;
31
+ showRatingValue?: boolean;
32
+ /** Additional props passed to each ReqoreIcon */
33
+ iconProps?: Omit<IReqoreIconProps, 'icon' | 'size' | 'color'>;
34
+ }
35
+ declare const ReqoreRating: import("react").MemoExoticComponent<(props: IReqoreRatingProps & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>>;
36
+ export default ReqoreRating;
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Rating/index.tsx"],"names":[],"mappings":";AAUA,OAAO,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAmB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAW,MAAM,cAAc,CAAC;AAG9D,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,EAC5D,eAAe,EACf,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,kBAAkB;IACpB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,6BAA6B;IAC7B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,SAAS,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC/D;AA0DD,QAAA,MAAM,YAAY,4MAqMjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ var __rest = (this && this.__rest) || function (s, e) {
41
+ var t = {};
42
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
43
+ t[p] = s[p];
44
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
45
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
46
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
47
+ t[p[i]] = s[p[i]];
48
+ }
49
+ return t;
50
+ };
51
+ var __importDefault = (this && this.__importDefault) || function (mod) {
52
+ return (mod && mod.__esModule) ? mod : { "default": mod };
53
+ };
54
+ exports.__esModule = true;
55
+ var jsx_runtime_1 = require("react/jsx-runtime");
56
+ var polished_1 = require("polished");
57
+ var react_1 = require("react");
58
+ var styled_components_1 = __importStar(require("styled-components"));
59
+ var sizes_1 = require("../../constants/sizes");
60
+ var colors_1 = require("../../helpers/colors");
61
+ var utils_1 = require("../../helpers/utils");
62
+ var useComponentTooltip_1 = require("../../hooks/useComponentTooltip");
63
+ var useTheme_1 = require("../../hooks/useTheme");
64
+ var styles_1 = require("../../styles");
65
+ var ControlGroup_1 = __importDefault(require("../ControlGroup"));
66
+ var Icon_1 = __importDefault(require("../Icon"));
67
+ var Paragraph_1 = require("../Paragraph");
68
+ var Span_1 = require("../Span");
69
+ var StyledRating = styled_components_1["default"].div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n gap: ", "px;\n\n ", "\n\n ", "\n\n &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: 2px;\n border-radius: ", "px;\n }\n"], ["\n display: inline-flex;\n align-items: center;\n gap: ", "px;\n\n ", "\n\n ", "\n\n &:focus-visible {\n outline: 2px solid ", ";\n outline-offset: 2px;\n border-radius: ", "px;\n }\n"])), function (_a) {
70
+ var size = _a.size;
71
+ return sizes_1.RATING_GAP_FROM_SIZE[size];
72
+ }, function (_a) {
73
+ var disabled = _a.disabled;
74
+ return disabled && (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), styles_1.DisabledElement);
75
+ }, function (_a) {
76
+ var readOnly = _a.readOnly;
77
+ return readOnly && (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), styles_1.ReadOnlyElement);
78
+ }, function (_a) {
79
+ var theme = _a.theme;
80
+ return (0, colors_1.changeLightness)(theme.main, 0.25);
81
+ }, function (_a) {
82
+ var size = _a.size;
83
+ return sizes_1.RADIUS_FROM_SIZE[size];
84
+ });
85
+ var StyledRatingItem = styled_components_1["default"].span(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: inline-flex;\n cursor: ", ";\n transition: transform 0.15s ease-out;\n\n ", "\n"], ["\n display: inline-flex;\n cursor: ", ";\n transition: transform 0.15s ease-out;\n\n ", "\n"])), function (_a) {
86
+ var isInteractive = _a.isInteractive;
87
+ return (isInteractive ? 'pointer' : 'default');
88
+ }, function (_a) {
89
+ var isInteractive = _a.isInteractive;
90
+ return isInteractive && (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n &:hover {\n transform: scale(1.2);\n }\n\n &:active {\n transform: scale(0.85);\n transition: transform 0.05s ease-out;\n }\n "], ["\n &:hover {\n transform: scale(1.2);\n }\n\n &:active {\n transform: scale(0.85);\n transition: transform 0.05s ease-out;\n }\n "])));
91
+ });
92
+ var ReqoreRating = (0, react_1.memo)((0, react_1.forwardRef)(function (_a, ref) {
93
+ var _b = _a.value, value = _b === void 0 ? 0 : _b, label = _a.label, onChange = _a.onChange, _c = _a.max, max = _c === void 0 ? 5 : _c, _d = _a.allowHalf, allowHalf = _d === void 0 ? false : _d, _e = _a.allowClear, allowClear = _e === void 0 ? true : _e, _f = _a.filledIcon, filledIcon = _f === void 0 ? 'StarFill' : _f, _g = _a.emptyIcon, emptyIcon = _g === void 0 ? 'StarLine' : _g, _h = _a.halfIcon, halfIcon = _h === void 0 ? 'StarHalfFill' : _h, filledColor = _a.filledColor, emptyColor = _a.emptyColor, _j = _a.size, size = _j === void 0 ? 'normal' : _j, disabled = _a.disabled, readOnly = _a.readOnly, intent = _a.intent, customTheme = _a.customTheme, tooltip = _a.tooltip, className = _a.className, labelProps = _a.labelProps, showRatingValue = _a.showRatingValue, iconProps = _a.iconProps, rest = __rest(_a, ["value", "label", "onChange", "max", "allowHalf", "allowClear", "filledIcon", "emptyIcon", "halfIcon", "filledColor", "emptyColor", "size", "disabled", "readOnly", "intent", "customTheme", "tooltip", "className", "labelProps", "showRatingValue", "iconProps"]);
94
+ var theme = (0, useTheme_1.useReqoreTheme)('main', customTheme, intent);
95
+ var _k = (0, react_1.useState)(null), hoverValue = _k[0], setHoverValue = _k[1];
96
+ var isInteractive = !disabled && !readOnly && !!onChange;
97
+ var displayValue = (0, react_1.useMemo)(function () { return (hoverValue !== null ? hoverValue : value); }, [hoverValue, value]);
98
+ var resolvedFilledColor = (0, react_1.useMemo)(function () {
99
+ if (filledColor)
100
+ return (0, colors_1.getColorFromMaybeString)(theme, filledColor);
101
+ var hasIntent = theme.main !== theme.originalMain;
102
+ return hasIntent ? theme.main : (0, colors_1.getReadableColor)(theme, undefined, undefined, true);
103
+ }, [filledColor, theme]);
104
+ var resolvedEmptyColor = (0, react_1.useMemo)(function () {
105
+ if (emptyColor)
106
+ return (0, colors_1.getColorFromMaybeString)(theme, emptyColor);
107
+ return (0, polished_1.rgba)((0, colors_1.changeLightness)(theme.main, 0.15), 0.4);
108
+ }, [emptyColor, theme]);
109
+ var handleMouseMove = (0, react_1.useCallback)(function (index, event) {
110
+ if (!isInteractive)
111
+ return;
112
+ if (allowHalf) {
113
+ var rect = event.currentTarget.getBoundingClientRect();
114
+ var isLeftHalf = event.clientX - rect.left < rect.width / 2;
115
+ setHoverValue(isLeftHalf ? index + 0.5 : index + 1);
116
+ }
117
+ else {
118
+ setHoverValue(index + 1);
119
+ }
120
+ }, [isInteractive, allowHalf]);
121
+ var handleMouseLeave = (0, react_1.useCallback)(function () {
122
+ if (!isInteractive)
123
+ return;
124
+ setHoverValue(null);
125
+ }, [isInteractive]);
126
+ var handleClick = (0, react_1.useCallback)(function (index, event) {
127
+ if (!isInteractive || !onChange)
128
+ return;
129
+ var clickedValue;
130
+ if (allowHalf) {
131
+ var rect = event.currentTarget.getBoundingClientRect();
132
+ var isLeftHalf = event.clientX - rect.left < rect.width / 2;
133
+ clickedValue = isLeftHalf ? index + 0.5 : index + 1;
134
+ }
135
+ else {
136
+ clickedValue = index + 1;
137
+ }
138
+ if (allowClear && clickedValue === value) {
139
+ onChange(0);
140
+ }
141
+ else {
142
+ onChange(clickedValue);
143
+ }
144
+ }, [isInteractive, onChange, allowHalf, allowClear, value]);
145
+ var handleKeyDown = (0, react_1.useCallback)(function (event) {
146
+ if (!isInteractive || !onChange)
147
+ return;
148
+ var step = allowHalf ? 0.5 : 1;
149
+ switch (event.key) {
150
+ case 'ArrowRight':
151
+ case 'ArrowUp':
152
+ event.preventDefault();
153
+ onChange(Math.min(value + step, max));
154
+ break;
155
+ case 'ArrowLeft':
156
+ case 'ArrowDown':
157
+ event.preventDefault();
158
+ onChange(Math.max(value - step, 0));
159
+ break;
160
+ case 'Home':
161
+ event.preventDefault();
162
+ onChange(0);
163
+ break;
164
+ case 'End':
165
+ event.preventDefault();
166
+ onChange(max);
167
+ break;
168
+ }
169
+ }, [isInteractive, onChange, value, max, allowHalf]);
170
+ var getIconForIndex = (0, react_1.useCallback)(function (index) {
171
+ var starValue = index + 1;
172
+ if (displayValue >= starValue) {
173
+ return { icon: filledIcon, color: resolvedFilledColor };
174
+ }
175
+ if (allowHalf && displayValue >= starValue - 0.5) {
176
+ return { icon: halfIcon, color: resolvedFilledColor };
177
+ }
178
+ return { icon: emptyIcon, color: resolvedEmptyColor };
179
+ }, [
180
+ displayValue,
181
+ filledIcon,
182
+ emptyIcon,
183
+ halfIcon,
184
+ resolvedFilledColor,
185
+ resolvedEmptyColor,
186
+ allowHalf,
187
+ ]);
188
+ var stars = (0, react_1.useMemo)(function () { return Array.from({ length: max }, function (_, i) { return i; }); }, [max]);
189
+ var _l = (0, useComponentTooltip_1.useComponentTooltip)(__assign(__assign({}, rest), { theme: theme, size: size, tooltip: tooltip, disabled: disabled, readOnly: readOnly, isInteractive: isInteractive, className: "".concat(className || '', " reqore-rating") }), StyledRating, ref), Component = _l.Component, componentProps = _l.props;
190
+ return ((0, jsx_runtime_1.jsxs)(ControlGroup_1["default"], __assign({ vertical: true }, { children: [label && (0, jsx_runtime_1.jsx)(Paragraph_1.ReqoreP, __assign({ size: size }, labelProps, { children: label })), (0, jsx_runtime_1.jsxs)(Component, __assign({}, 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(function (index) {
191
+ var _a = getIconForIndex(index), icon = _a.icon, color = _a.color;
192
+ return ((0, jsx_runtime_1.jsx)(StyledRatingItem, __assign({ className: 'reqore-rating-item', onMouseMove: function (e) { return handleMouseMove(index, e); }, onClick: function (e) { return handleClick(index, e); }, isInteractive: isInteractive, size: size }, { children: (0, jsx_runtime_1.jsx)(Icon_1["default"], __assign({}, iconProps, { icon: icon, size: size, color: color })) }), index));
193
+ }), showRatingValue && ((0, jsx_runtime_1.jsx)(Span_1.ReqoreSpan, __assign({ intent: 'muted', size: (0, utils_1.getOneLessSize)(size) }, { children: "".concat(displayValue, " / ").concat(max) })))] }))] })));
194
+ }));
195
+ exports["default"] = ReqoreRating;
196
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
197
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Rating/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /// <reference types="react" />
2
+ import { TSizes } from '../../constants/sizes';
3
+ import { IReqoreTheme } from '../../constants/theme';
4
+ import { IReqoreComponent, IReqoreDisabled, IReqoreIntent, IWithReqoreCustomTheme, IWithReqoreFluid, IWithReqoreSize, TReqoreTooltipProp } from '../../types/global';
5
+ import { IReqoreIconName } from '../../types/icons';
6
+ import { TReqoreBadge } from '../Button';
7
+ import { IReqoreEffect, TReqoreEffectColor } from '../Effect';
8
+ export interface IReqoreTimelineItem extends IReqoreDisabled, IReqoreIntent {
9
+ /** Title of the timeline item */
10
+ title?: string;
11
+ /** Content/description of the timeline item */
12
+ content?: React.ReactNode;
13
+ /** Timestamp or date to display */
14
+ timestamp?: string | number;
15
+ /** Display timestamp as relative time (e.g., "2 hours ago") */
16
+ relativeTime?: boolean;
17
+ /** Icon to display in the timeline marker */
18
+ icon?: IReqoreIconName;
19
+ /** Custom color for the icon */
20
+ iconColor?: TReqoreEffectColor;
21
+ /** Click handler for interactive items */
22
+ onClick?: () => void;
23
+ /** Tooltip for the timeline item */
24
+ tooltip?: TReqoreTooltipProp;
25
+ /** Badge(s) to display next to the title */
26
+ badge?: TReqoreBadge | TReqoreBadge[];
27
+ /** Whether the item is collapsible */
28
+ collapsible?: boolean;
29
+ /** Whether the item is initially collapsed (only if collapsible) */
30
+ isCollapsed?: boolean;
31
+ /** Effect for the title */
32
+ titleEffect?: IReqoreEffect;
33
+ /** Effect for the content */
34
+ contentEffect?: IReqoreEffect;
35
+ }
36
+ export interface IReqoreTimelineProps extends Omit<React.HTMLAttributes<HTMLOListElement>, 'children'>, IReqoreComponent, IWithReqoreCustomTheme, IReqoreIntent, IWithReqoreFluid, IWithReqoreSize {
37
+ /** Array of timeline items to display */
38
+ items: IReqoreTimelineItem[];
39
+ }
40
+ export interface IReqoreTimelineStyle {
41
+ theme: IReqoreTheme;
42
+ size: TSizes;
43
+ fluid?: boolean;
44
+ }
45
+ export interface IReqoreTimelineItemStyle extends IReqoreTimelineStyle {
46
+ isClickable?: boolean;
47
+ isLast?: boolean;
48
+ disabled?: boolean;
49
+ hasIntent?: boolean;
50
+ isCollapsed?: boolean;
51
+ }
52
+ declare const ReqoreTimeline: import("react").MemoExoticComponent<(props: IReqoreTimelineProps & import("react").RefAttributes<HTMLOListElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>>;
53
+ export default ReqoreTimeline;
54
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/index.tsx"],"names":[],"mappings":";AAGA,OAAO,EAML,MAAM,EACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAS9D,MAAM,WAAW,mBAAoB,SAAQ,eAAe,EAAE,aAAa;IACzE,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,gCAAgC;IAChC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oCAAoC;IACpC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IACtC,sCAAsC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,6BAA6B;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,EAC9D,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,eAAe;IACjB,yCAAyC;IACzC,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAoLD,QAAA,MAAM,cAAc,gNA0KnB,CAAC;AAEF,eAAe,cAAc,CAAC"}