pixel-react 1.21.23 → 1.21.24
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/lib/components/AllProjectsDropdown/AllProjectsDropdown.js +14 -12
- package/lib/components/AllProjectsDropdown/AllProjectsDropdown.js.map +1 -1
- package/lib/components/Charts/ScoreChart/ScoreGaugeChart.d.ts +5 -0
- package/lib/components/Charts/ScoreChart/ScoreGaugeChart.js +98 -0
- package/lib/components/Charts/ScoreChart/ScoreGaugeChart.js.map +1 -0
- package/lib/components/Charts/ScoreChart/index.d.ts +1 -0
- package/lib/components/Charts/ScoreChart/index.js +2 -0
- package/lib/components/Charts/ScoreChart/index.js.map +1 -0
- package/lib/components/Charts/ScoreChart/types.d.ts +42 -0
- package/lib/components/Charts/ScoreChart/types.js +2 -0
- package/lib/components/Charts/ScoreChart/types.js.map +1 -0
- package/lib/components/Chip/Chip.d.ts +1 -1
- package/lib/components/Chip/Chip.js +19 -6
- package/lib/components/Chip/Chip.js.map +1 -1
- package/lib/components/Chip/types.d.ts +1 -0
- package/lib/components/Icon/iconList.js +28 -0
- package/lib/components/Icon/iconList.js.map +1 -1
- package/lib/components/Table/EditComponent.js +6 -6
- package/lib/components/Table/EditComponent.js.map +1 -1
- package/lib/components/Table/NoDataContent.js +1 -1
- package/lib/components/Table/NoDataContent.js.map +1 -1
- package/lib/components/Table/Table.js +78 -153
- package/lib/components/Table/Table.js.map +1 -1
- package/lib/components/Table/Types.d.ts +6 -17
- package/lib/components/Table/components/SortableRow.d.ts +1 -1
- package/lib/components/Table/components/SortableRow.js +69 -68
- package/lib/components/Table/components/SortableRow.js.map +1 -1
- package/lib/components/Table/components/TableHeader.js +15 -20
- package/lib/components/Table/components/TableHeader.js.map +1 -1
- package/lib/components/Table/components/VirtualizedRows.d.ts +1 -1
- package/lib/components/Table/components/VirtualizedRows.js +17 -32
- package/lib/components/Table/components/VirtualizedRows.js.map +1 -1
- package/lib/components/Table/utils/virtualization.d.ts +3 -10
- package/lib/components/Table/utils/virtualization.js +13 -40
- package/lib/components/Table/utils/virtualization.js.map +1 -1
- package/lib/components/TableWithAccordion/TableWithAccordion.js +13 -38
- package/lib/components/TableWithAccordion/TableWithAccordion.js.map +1 -1
- package/lib/components/TableWithAccordion/types.d.ts +2 -2
- package/lib/components/Toastify/Toastify.js +1 -1
- package/lib/index.d.ts +52 -8
- package/lib/index.js +9 -9
- package/lib/index.js.map +1 -1
- package/lib/styles.css +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/TreeNavigateUtils/getNavigateToKey.d.ts +1 -1
- package/lib/utils/getTopVisibleNodeKey/getTopVisibleNodeKey.d.ts +1 -1
- package/lib/utils/getTreeDetails/getTreeDetails.d.ts +1 -1
- package/lib/utils/handleTreeExpandAllCollapseAll/handleTreeExpandAllCollapseAll.d.ts +1 -1
- package/lib/utils/handleTreeNodeExpandCollapse/handleTreeNodeExpandCollapse.d.ts +1 -1
- package/lib/utils/handleTreeNodeSelect/handleTreeNodeSelect.d.ts +1 -1
- package/lib/utils/toggleShowHideEntity/toggleShowHideEntity.d.ts +1 -1
- package/package.json +2 -2
- package/lib/components/Table/utils/TableCell.d.ts +0 -2
- package/lib/components/Table/utils/TableCell.js +0 -27
- package/lib/components/Table/utils/TableCell.js.map +0 -1
|
@@ -22,6 +22,15 @@ const AllProjectsDropdown = ({ onClick = () => { }, onMenuClick = () => { }, opt
|
|
|
22
22
|
const [focusedIndex, setFocusedIndex] = useState(null);
|
|
23
23
|
const scrollRef = useRef(null);
|
|
24
24
|
const isDropdownOpen = showOptions || showClicked;
|
|
25
|
+
const reorderedOptions = optionsList.length
|
|
26
|
+
? [
|
|
27
|
+
...optionsList.filter((option) => option.value === 'All Projects'),
|
|
28
|
+
...optionsList.filter((option) => option.value === selectedOptions.value &&
|
|
29
|
+
option.value !== 'All Projects'),
|
|
30
|
+
...optionsList.filter((option) => option.value !== 'All Projects' &&
|
|
31
|
+
option.value !== selectedOptions.value),
|
|
32
|
+
]
|
|
33
|
+
: [];
|
|
25
34
|
// ⇩⇩⇩ Updated: use actual return type of setTimeout (works in Node & DOM) ⇩⇩⇩
|
|
26
35
|
const [closeTimeout, setCloseTimeout] = useState(null);
|
|
27
36
|
// ⇧⇧⇧ Updated: use actual return type of setTimeout (works in Node & DOM) ⇧⇧⇧
|
|
@@ -175,25 +184,18 @@ const AllProjectsDropdown = ({ onClick = () => { }, onMenuClick = () => { }, opt
|
|
|
175
184
|
? 'arrows_top_icon'
|
|
176
185
|
: 'arrows_down_icon', color: disabled
|
|
177
186
|
? 'var(--disabled-icon-color)'
|
|
178
|
-
: 'var(--primary-icon-color)', height: 8, width: 8, hoverEffect: false })] })] }) }), (showOptions || showClicked) && !disabled && (_jsxs("div", { className: classNames('ff-projects-dropdown'), ref: optionsRef, onMouseEnter: dropDownMouseEnter, children: [_jsx("div", { className: "ff-dropdown-search-container", onClick: (e) => e.stopPropagation(), children: _jsx(Search, { onSearch: handleSearch, value: searchValue, isExpand: true, onClose: () => { }, onExpand: () => { }, showClose: false, placeholder: placeholder, disabled: disabled, showToaster: false }) }), _jsx("div", { className: classNames('option-card'
|
|
179
|
-
e.stopPropagation();
|
|
180
|
-
handleSelectOption(option);
|
|
181
|
-
}, onMouseEnter: () => setFocusedIndex(index), className: classNames('ff-projects-options', {
|
|
182
|
-
['ff-selected-option']: selectedOption.label === option.label,
|
|
183
|
-
['ff-option-disabled']: disabled,
|
|
184
|
-
['ff-focused-option']: focusedIndex === index,
|
|
185
|
-
}), children: [_jsx("div", { className: classNames('ff-projects-icons'), children: _jsx(Icon, { name: option.iconName, height: 12, width: 12 }) }), _jsx(Typography, { as: 'div', lineHeight: '30px', className: "ff-projects-label", children: option.label }, index)] }, index))) }), _jsx("div", { children: optionsList.length === 1 && (_jsx("div", { className: "ff-no-data-found", children: "-No Projects-" })) }), _jsx("div", { ref: scrollRef, className: classNames('option-card', {
|
|
187
|
+
: 'var(--primary-icon-color)', height: 8, width: 8, hoverEffect: false })] })] }) }), (showOptions || showClicked) && !disabled && (_jsxs("div", { className: classNames('ff-projects-dropdown'), ref: optionsRef, onMouseEnter: dropDownMouseEnter, children: [_jsx("div", { className: "ff-dropdown-search-container", onClick: (e) => e.stopPropagation(), children: _jsx(Search, { onSearch: handleSearch, value: searchValue, isExpand: true, onClose: () => { }, onExpand: () => { }, showClose: false, placeholder: placeholder, disabled: disabled, showToaster: false }) }), _jsx("div", { ref: scrollRef, className: classNames('option-card', {
|
|
186
188
|
scroll: optionsList.length > 4,
|
|
187
|
-
}), children:
|
|
189
|
+
}), children: reorderedOptions.map((option, index) => (_jsxs("div", { "data-option-index": index, onClick: (e) => {
|
|
188
190
|
e.stopPropagation();
|
|
189
191
|
handleSelectOption(option);
|
|
190
|
-
}, className: classNames('ff-projects-options', {
|
|
191
|
-
['ff-selected-option']:
|
|
192
|
+
}, onMouseEnter: () => setFocusedIndex(index), className: classNames('ff-projects-options', {
|
|
193
|
+
['ff-selected-option']: selectedOptions.label === option.label,
|
|
192
194
|
['ff-option-disabled']: disabled,
|
|
193
195
|
['ff-focused-option']: focusedIndex === index,
|
|
194
196
|
}), children: [_jsx("div", { className: classNames('ff-projects-icons'), children: _jsx(Icon, { name: option.iconName, height: 12, width: 12 }) }), _jsx(Typography, { as: 'div', lineHeight: '30px', className: "ff-projects-label", children: _jsx(Tooltip, { title: isTextTruncated(option.label, 165, 'pixel')
|
|
195
197
|
? option.label
|
|
196
|
-
: '', children: truncateText(option.label, 165, 'pixel') }) }, index)] }, index))) })] }))] }));
|
|
198
|
+
: '', children: truncateText(option.label, 165, 'pixel') }) }, index)] }, index))) }), _jsx("div", { children: optionsList.length === 1 && (_jsx("div", { className: "ff-no-data-found", children: "-No Projects-" })) })] }))] }));
|
|
197
199
|
};
|
|
198
200
|
export default AllProjectsDropdown;
|
|
199
201
|
//# sourceMappingURL=AllProjectsDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllProjectsDropdown.js","sourceRoot":"","sources":["../../../src/components/AllProjectsDropdown/AllProjectsDropdown.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,EACL,eAAe,EACf,YAAY,GACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,4BAA4B,CAAC;AACpC,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,MAAM,mBAAmB,GAAG,CAAC,EAC3B,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,EACtB,OAAO,EACP,cAAc,GAAG;IACf,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,QAAQ,EAAE,cAAc;CACzB,EACD,QAAQ,GAAG,KAAK,EAChB,WAAW,EACX,QAAQ,GAAG,KAAK,GACS,EAAE,EAAE;IAC7B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,OAAO,CAAC,CAAC;IACvE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,WAAW,IAAI,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"AllProjectsDropdown.js","sourceRoot":"","sources":["../../../src/components/AllProjectsDropdown/AllProjectsDropdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import './ScoreGaugeChart.scss';
|
|
4
|
+
const DEFAULT_RISK_ZONES = [
|
|
5
|
+
{ min: 0, max: 70, label: 'High Risk', color: 'var(--ff-high-risk-color)' },
|
|
6
|
+
{ min: 71, max: 89, label: 'Warning', color: 'var(--ff-warning-risk-color)' },
|
|
7
|
+
{ min: 90, max: 100, label: 'Low Risk', color: 'var(--ff-low-risk-color)' },
|
|
8
|
+
];
|
|
9
|
+
const START_ANGLE = (3 * Math.PI) / 4;
|
|
10
|
+
const TOTAL_ARC = (3 * Math.PI) / 2;
|
|
11
|
+
const END_ANGLE = START_ANGLE + TOTAL_ARC;
|
|
12
|
+
/**
|
|
13
|
+
* Convert polar coordinates to cartesian SVG coordinates.
|
|
14
|
+
*/
|
|
15
|
+
const polarToCartesian = (cx, cy, r, angleRad) => ({
|
|
16
|
+
x: cx + r * Math.cos(angleRad),
|
|
17
|
+
y: cy + r * Math.sin(angleRad),
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Build an SVG arc path from startAngle to endAngle.
|
|
21
|
+
*/
|
|
22
|
+
const describeArc = (cx, cy, r, startAngle, endAngle) => {
|
|
23
|
+
const start = polarToCartesian(cx, cy, r, startAngle);
|
|
24
|
+
const end = polarToCartesian(cx, cy, r, endAngle);
|
|
25
|
+
const largeArcFlag = endAngle - startAngle > Math.PI ? 1 : 0;
|
|
26
|
+
return [
|
|
27
|
+
`M ${start.x} ${start.y}`,
|
|
28
|
+
`A ${r} ${r} 0 ${largeArcFlag} 1 ${end.x} ${end.y}`,
|
|
29
|
+
].join(' ');
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Determine which risk zone a score falls into.
|
|
33
|
+
*/
|
|
34
|
+
const FALLBACK_ZONE = {
|
|
35
|
+
min: 0,
|
|
36
|
+
max: 100,
|
|
37
|
+
label: 'Unknown',
|
|
38
|
+
color: 'var(--chart-text-color)',
|
|
39
|
+
};
|
|
40
|
+
const getRiskZone = (score, zones) => {
|
|
41
|
+
const clamped = Math.min(100, Math.max(0, score));
|
|
42
|
+
return (zones.find((z) => clamped >= z.min && clamped <= z.max) ??
|
|
43
|
+
zones[zones.length - 1] ??
|
|
44
|
+
FALLBACK_ZONE);
|
|
45
|
+
};
|
|
46
|
+
const ScoreGaugeChart = ({ score, radius = 90, strokeWidth = 10, riskZones = DEFAULT_RISK_ZONES, showLegend = true, gapAngle = 0, className = '', style, trackColor = 'var(--base-bg-color)', centerCircleColor = 'var(--ff-score-chart-center-color)', centerCircleRadiusOffset = 15, pointerHeight = 16, pointerBaseHalfWidth = 10, centerOpacity = 0.6, showCenterText = true, }) => {
|
|
47
|
+
const clampedScore = Math.min(100, Math.max(0, score));
|
|
48
|
+
const activeZone = useMemo(() => getRiskZone(clampedScore, riskZones), [clampedScore, riskZones]);
|
|
49
|
+
// SVG layout
|
|
50
|
+
const padding = 10;
|
|
51
|
+
const cx = radius + padding;
|
|
52
|
+
const cy = radius + padding;
|
|
53
|
+
const svgSize = (radius + padding) * 2;
|
|
54
|
+
const capOverhang = strokeWidth / (2 * radius);
|
|
55
|
+
const arcSegments = useMemo(() => {
|
|
56
|
+
const inset = gapAngle / 2 + capOverhang;
|
|
57
|
+
return riskZones.map((zone, i) => {
|
|
58
|
+
const rawStart = START_ANGLE + (zone.min / 100) * TOTAL_ARC;
|
|
59
|
+
const rawEnd = START_ANGLE + (zone.max / 100) * TOTAL_ARC;
|
|
60
|
+
const visualStart = i === 0 ? rawStart : rawStart + inset;
|
|
61
|
+
const visualEnd = i === riskZones.length - 1 ? rawEnd : rawEnd - inset;
|
|
62
|
+
return {
|
|
63
|
+
...zone,
|
|
64
|
+
path: describeArc(cx, cy, radius, visualStart, visualEnd),
|
|
65
|
+
visualStart,
|
|
66
|
+
visualEnd,
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
}, [riskZones, cx, cy, radius, gapAngle, capOverhang]);
|
|
70
|
+
const trackPath = describeArc(cx, cy, radius, START_ANGLE, END_ANGLE);
|
|
71
|
+
// Pointer
|
|
72
|
+
const fallbackSegment = {
|
|
73
|
+
min: 0,
|
|
74
|
+
max: 100,
|
|
75
|
+
visualStart: START_ANGLE,
|
|
76
|
+
visualEnd: END_ANGLE,
|
|
77
|
+
};
|
|
78
|
+
const activeSegment = arcSegments.find((seg) => clampedScore >= seg.min && clampedScore <= seg.max) ??
|
|
79
|
+
arcSegments[arcSegments.length - 1] ??
|
|
80
|
+
fallbackSegment;
|
|
81
|
+
const scoreRatio = activeSegment.max === activeSegment.min
|
|
82
|
+
? 0.5
|
|
83
|
+
: (clampedScore - activeSegment.min) /
|
|
84
|
+
(activeSegment.max - activeSegment.min);
|
|
85
|
+
const pointerAngle = activeSegment.visualStart +
|
|
86
|
+
scoreRatio * (activeSegment.visualEnd - activeSegment.visualStart);
|
|
87
|
+
// Pointer: Triangle attached to the central cream circle, pointing towards the arc
|
|
88
|
+
const centralCircleR = radius - strokeWidth - centerCircleRadiusOffset;
|
|
89
|
+
// Base of the triangle sits exactly on the edge of the central circle
|
|
90
|
+
const angularSpread = pointerBaseHalfWidth / centralCircleR;
|
|
91
|
+
const triangleBaseL = polarToCartesian(cx, cy, centralCircleR, pointerAngle - angularSpread);
|
|
92
|
+
const triangleBaseR = polarToCartesian(cx, cy, centralCircleR, pointerAngle + angularSpread);
|
|
93
|
+
// Tip of the triangle extends towards the arc.
|
|
94
|
+
const triangleTip = polarToCartesian(cx, cy, centralCircleR + pointerHeight, pointerAngle);
|
|
95
|
+
return (_jsxs("div", { className: `ff-score-gauge-chart-container ${className}`.trim(), style: style, children: [_jsxs("svg", { className: "ff-score-gauge-svg", viewBox: `0 0 ${svgSize} ${svgSize}`, role: "img", "aria-label": `Score gauge: ${clampedScore} out of 100 — ${activeZone.label}`, children: [_jsx("path", { className: "ff-score-gauge-track", d: trackPath, fill: "none", stroke: trackColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), arcSegments.map((seg, i) => (_jsx("path", { className: "ff-score-gauge-arc", d: seg.path, fill: "none", stroke: seg.color, strokeWidth: strokeWidth, strokeLinecap: "round" }, i))), _jsx("circle", { cx: cx, cy: cy, r: centralCircleR, fill: centerCircleColor, opacity: centerOpacity }), _jsx("g", { className: "ff-score-gauge-pointer", children: _jsx("polygon", { points: `${triangleTip.x},${triangleTip.y} ${triangleBaseL.x},${triangleBaseL.y} ${triangleBaseR.x},${triangleBaseR.y}`, fill: centerCircleColor, opacity: centerOpacity }) }), showCenterText && (_jsxs(_Fragment, { children: [_jsx("text", { className: "ff-score-gauge-center-label", x: cx, y: cy - radius * 0.2, textAnchor: "middle", dominantBaseline: "central", children: "Score" }), _jsx("text", { className: "ff-score-gauge-center-score", x: cx, y: cy + radius * 0.06, textAnchor: "middle", dominantBaseline: "central", children: clampedScore }), _jsx("text", { className: "ff-score-gauge-center-risk", x: cx, y: cy + radius * 0.28, textAnchor: "middle", dominantBaseline: "central", fill: activeZone.color, children: activeZone.label })] }))] }), showLegend && (_jsx("div", { className: "ff-score-gauge-legend", children: _jsxs("div", { className: "ff-score-gauge-legend-item", children: [_jsx("span", { className: "ff-score-gauge-legend-dot", style: { backgroundColor: activeZone.color } }), _jsx("span", { className: "ff-score-gauge-legend-text", children: activeZone.label })] }) }))] }));
|
|
96
|
+
};
|
|
97
|
+
export default ScoreGaugeChart;
|
|
98
|
+
//# sourceMappingURL=ScoreGaugeChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScoreGaugeChart.js","sourceRoot":"","sources":["../../../../src/components/Charts/ScoreChart/ScoreGaugeChart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './ScoreGaugeChart';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Charts/ScoreChart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface RiskZone {
|
|
2
|
+
/** Inclusive lower bound of the score range */
|
|
3
|
+
min: number;
|
|
4
|
+
/** Inclusive upper bound of the score range */
|
|
5
|
+
max: number;
|
|
6
|
+
/** Risk level label */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Color for the gauge arc segment */
|
|
9
|
+
color: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ScoreGaugeChartProps {
|
|
12
|
+
/** Score value between 0 and 100 */
|
|
13
|
+
score: number;
|
|
14
|
+
/** Outer radius of the gauge arc (default: 90) */
|
|
15
|
+
radius?: number;
|
|
16
|
+
/** Thickness of the gauge arc (default: 14) */
|
|
17
|
+
strokeWidth?: number;
|
|
18
|
+
/** Custom risk zones configuration. Defaults to High (0-70), Warning (71-89), Low (90-100) */
|
|
19
|
+
riskZones?: RiskZone[];
|
|
20
|
+
/** Whether to show the legend below the chart (default: true) */
|
|
21
|
+
showLegend?: boolean;
|
|
22
|
+
/** Angular gap (in radians) between adjacent risk zone arcs (default: 0) */
|
|
23
|
+
gapAngle?: number;
|
|
24
|
+
/** Custom class name for the root container */
|
|
25
|
+
className?: string;
|
|
26
|
+
/** Custom inline styles for the root container */
|
|
27
|
+
style?: React.CSSProperties;
|
|
28
|
+
/** Color of the background gauge track */
|
|
29
|
+
trackColor?: string;
|
|
30
|
+
/** Color of the inner circle and pointer */
|
|
31
|
+
centerCircleColor?: string;
|
|
32
|
+
/** Radius offset for the central circle, relative to the inner arc edge (default: 15) */
|
|
33
|
+
centerCircleRadiusOffset?: number;
|
|
34
|
+
/** Height/length of the triangular pointer (default: 16) */
|
|
35
|
+
pointerHeight?: number;
|
|
36
|
+
/** Half-width of the triangular pointer base (default: 10) */
|
|
37
|
+
pointerBaseHalfWidth?: number;
|
|
38
|
+
/** Opacity of the center circle and pointer (default: 0.6) */
|
|
39
|
+
centerOpacity?: number;
|
|
40
|
+
/** Whether to show the center score text and labels (default: true) */
|
|
41
|
+
showCenterText?: boolean;
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/Charts/ScoreChart/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import './Chip.scss';
|
|
2
2
|
import { ChipsProps } from './types';
|
|
3
|
-
declare const Chip: ({ label, fullText, variant, labelWidth, fullTextWidth, onClick, }: ChipsProps) => import("react").JSX.Element;
|
|
3
|
+
declare const Chip: ({ label, fullText, variant, labelWidth, fullTextWidth, onClick, disableCollapse, }: ChipsProps) => import("react").JSX.Element;
|
|
4
4
|
export default Chip;
|
|
@@ -3,12 +3,23 @@ import { useState } from 'react';
|
|
|
3
3
|
import './Chip.scss';
|
|
4
4
|
import classNames from 'classnames';
|
|
5
5
|
import Typography from '../Typography';
|
|
6
|
-
const Chip = ({ label = '', fullText = '', variant = 'primary', labelWidth = 100, fullTextWidth = 800, onClick = () => { }, }) => {
|
|
6
|
+
const Chip = ({ label = '', fullText = '', variant = 'primary', labelWidth = 100, fullTextWidth = 800, onClick = () => { }, disableCollapse = false, }) => {
|
|
7
7
|
const [isHovered, setIsHovered] = useState(false);
|
|
8
|
-
const
|
|
9
|
-
const handleOnMouseEnter = () =>
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
9
|
+
const handleOnMouseEnter = () => {
|
|
10
|
+
setIsHovered(true);
|
|
11
|
+
if (disableCollapse) {
|
|
12
|
+
setIsExpanded(true);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const handleOnMouseLeave = () => {
|
|
16
|
+
if (!disableCollapse) {
|
|
17
|
+
setIsHovered(false);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const shouldShowFullText = disableCollapse || isExpanded || isHovered;
|
|
21
|
+
const labelText = shouldShowFullText && fullText ? fullText : label;
|
|
22
|
+
const dynamicStyle = shouldShowFullText
|
|
12
23
|
? {
|
|
13
24
|
maxWidth: `${fullTextWidth}px`,
|
|
14
25
|
transition: 'transform 0.3s ease-in-out,max-width 1.5s ease-in-out',
|
|
@@ -19,7 +30,9 @@ const Chip = ({ label = '', fullText = '', variant = 'primary', labelWidth = 100
|
|
|
19
30
|
transition: 'transform 0.3s ease-in-out,max-width 0.5s ease-in-out',
|
|
20
31
|
overflow: 'hidden',
|
|
21
32
|
};
|
|
22
|
-
return (_jsx("div", { className: "ff-chip-wrapper", children: _jsx("button", { onMouseEnter: handleOnMouseEnter, onMouseLeave: handleOnMouseLeave, onClick: onClick, className: classNames(`ff-default-chip-style ff-default-chip-style--${variant}`, {
|
|
33
|
+
return (_jsx("div", { className: "ff-chip-wrapper", children: _jsx("button", { onMouseEnter: handleOnMouseEnter, onMouseLeave: handleOnMouseLeave, onClick: onClick, className: classNames(`ff-default-chip-style ff-default-chip-style--${variant}`, {
|
|
34
|
+
['ff-default-chip-style--fullText']: !!fullText,
|
|
35
|
+
}), style: dynamicStyle, children: labelText && (_jsx(Typography, { as: "p", fontSize: 10, fontWeight: "semi-bold", color: "var(----text-color)", className: "ff-chip-paragraph", children: labelText })) }) }));
|
|
23
36
|
};
|
|
24
37
|
export default Chip;
|
|
25
38
|
//# sourceMappingURL=Chip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.js","sourceRoot":"","sources":["../../../src/components/Chip/Chip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,UAAU,MAAM,eAAe,CAAC;AAEvC,MAAM,IAAI,GAAG,CAAC,EACZ,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,EAAE,EACb,OAAO,GAAG,SAAS,EACnB,UAAU,GAAG,GAAG,EAChB,aAAa,GAAG,GAAG,EACnB,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"Chip.js","sourceRoot":"","sources":["../../../src/components/Chip/Chip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,UAAU,MAAM,eAAe,CAAC;AAEvC,MAAM,IAAI,GAAG,CAAC,EACZ,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,EAAE,EACb,OAAO,GAAG,SAAS,EACnB,UAAU,GAAG,GAAG,EAChB,aAAa,GAAG,GAAG,EACnB,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,eAAe,GAAG,KAAK,GACZ,EAAE,EAAE;IACf,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,eAAe,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,eAAe,IAAI,UAAU,IAAI,SAAS,CAAC;IAEtE,MAAM,SAAS,GAAG,kBAAkB,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpE,MAAM,YAAY,GAAG,kBAAkB;QACrC,CAAC,CAAC;YACE,QAAQ,EAAE,GAAG,aAAa,IAAI;YAC9B,UAAU,EAAE,uDAAuD;YACnE,QAAQ,EAAE,QAAQ;SACnB;QACH,CAAC,CAAC;YACE,QAAQ,EAAE,GAAG,UAAU,IAAI;YAC3B,UAAU,EAAE,uDAAuD;YACnE,QAAQ,EAAE,QAAQ;SACnB,CAAC;IAEN,OAAO,CACL,cAAK,SAAS,EAAC,iBAAiB,YAC9B,iBACE,YAAY,EAAE,kBAAkB,EAChC,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,UAAU,CACnB,gDAAgD,OAAO,EAAE,EACzD;gBACE,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC,QAAQ;aAChD,CACF,EACD,KAAK,EAAE,YAAY,YAElB,SAAS,IAAI,CACZ,KAAC,UAAU,IACT,EAAE,EAAC,GAAG,EACN,QAAQ,EAAE,EAAE,EACZ,UAAU,EAAC,WAAW,EACtB,KAAK,EAAC,qBAAqB,EAC3B,SAAS,EAAC,mBAAmB,YAE5B,SAAS,GACC,CACd,GACM,GACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -614,6 +614,20 @@ import GeneratingChat from '../../assets/icons/generating_chat.svg?react';
|
|
|
614
614
|
import ViewChatBox from '../../assets/icons/view_chat_box.svg?react';
|
|
615
615
|
import AacFileType from '../../assets/icons/aac_file_type.svg?react';
|
|
616
616
|
import M4aFileTypex from '../../assets/icons/m4a_file_type.svg?react';
|
|
617
|
+
import AIAutomationScript from '../../assets/icons/automation_script.svg?react';
|
|
618
|
+
import DefectLogAgent from '../../assets/icons/defect_logging.svg?react';
|
|
619
|
+
import FailureTaggingAgent from '../../assets/icons/failure_tagging.svg?react';
|
|
620
|
+
import IntelligentResolutionAgent from '../../assets/icons/intelligent_resolution.svg?react';
|
|
621
|
+
import AIManualScript from '../../assets/icons/manual_script.svg?react';
|
|
622
|
+
import AIMic from '../../assets/icons/mic_ai.svg?react';
|
|
623
|
+
import AddPrompt from '../../assets/icons/plus_prompt.svg?react';
|
|
624
|
+
import ProcessedFile from '../../assets/icons/processed_file.svg?react';
|
|
625
|
+
import SelfHealingAgent from '../../assets/icons/self_healing.svg?react';
|
|
626
|
+
import SmartTestOptimizer from '../../assets/icons/smart_test_optimize.svg?react';
|
|
627
|
+
import TestHyieneAgent from '../../assets/icons/test_hygiene.svg?react';
|
|
628
|
+
import AIUploadFile from '../../assets/icons/upload_file_filled.svg?react';
|
|
629
|
+
import UploadVideo from '../../assets/icons/upload_video.svg?react';
|
|
630
|
+
import SmartFailureTagging from '../../assets/icons/smart_failure_tagging.svg?react';
|
|
617
631
|
Components['success'] = ToastSuccessIcon;
|
|
618
632
|
Components['setting_icon'] = SettingIcon;
|
|
619
633
|
Components['alert'] = Alert;
|
|
@@ -1233,5 +1247,19 @@ Components['generating_chat'] = GeneratingChat;
|
|
|
1233
1247
|
Components['view_chat_box'] = ViewChatBox;
|
|
1234
1248
|
Components['aac_file_type'] = AacFileType;
|
|
1235
1249
|
Components['m4a_file_type'] = M4aFileTypex;
|
|
1250
|
+
Components['automation_script'] = AIAutomationScript;
|
|
1251
|
+
Components['defect_logging'] = DefectLogAgent;
|
|
1252
|
+
Components['failure_tagging'] = FailureTaggingAgent;
|
|
1253
|
+
Components['intelligent_resolution'] = IntelligentResolutionAgent;
|
|
1254
|
+
Components['manual_script'] = AIManualScript;
|
|
1255
|
+
Components['mic_ai'] = AIMic;
|
|
1256
|
+
Components['plus_prompt'] = AddPrompt;
|
|
1257
|
+
Components['processed_file'] = ProcessedFile;
|
|
1258
|
+
Components['self_healing'] = SelfHealingAgent;
|
|
1259
|
+
Components['smart_test_optimize'] = SmartTestOptimizer;
|
|
1260
|
+
Components['test_hygiene'] = TestHyieneAgent;
|
|
1261
|
+
Components['upload_file_filled'] = AIUploadFile;
|
|
1262
|
+
Components['upload_video'] = UploadVideo;
|
|
1263
|
+
Components['smart_failure_tagging'] = SmartFailureTagging;
|
|
1236
1264
|
export default Components;
|
|
1237
1265
|
//# sourceMappingURL=iconList.js.map
|