pixel-react 1.13.63 → 1.13.65
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/_virtual/index11.js +2 -2
- package/lib/_virtual/index9.js +2 -2
- package/lib/components/Charts/BarChart/BarChart.js +1 -1
- package/lib/components/Charts/BarChart/BarChart.js.map +1 -1
- package/lib/components/Charts/MultiRadialChart/MultiRadialChart.js +73 -36
- package/lib/components/Charts/MultiRadialChart/MultiRadialChart.js.map +1 -1
- package/lib/components/Charts/MultiRadialChart/types.d.ts +1 -1
- package/lib/components/Comments/childComment/ChildComment.js +4 -1
- package/lib/components/Comments/childComment/ChildComment.js.map +1 -1
- package/lib/components/CreateVariable/CreateVariableSlider.js +18 -2
- package/lib/components/CreateVariable/CreateVariableSlider.js.map +1 -1
- package/lib/components/EditLabel/EditLabel.js +4 -1
- package/lib/components/EditLabel/EditLabel.js.map +1 -1
- package/lib/components/InputWithDropdown/InputWithDropdown.js +0 -6
- package/lib/components/InputWithDropdown/InputWithDropdown.js.map +1 -1
- package/lib/components/MediaPreview/MediaPreview.js +43 -12
- package/lib/components/MediaPreview/MediaPreview.js.map +1 -1
- package/lib/components/PhoneInput/PhoneInput.js +21 -6
- package/lib/components/PhoneInput/PhoneInput.js.map +1 -1
- package/lib/components/PhoneInput/types.d.ts +6 -0
- package/lib/components/Select/Select.js +6 -6
- package/lib/components/Select/Select.js.map +1 -1
- package/lib/components/SequentialConnectingBranch/components/Branches/Branches.js +8 -1
- package/lib/components/SequentialConnectingBranch/components/Branches/Branches.js.map +1 -1
- package/lib/components/SequentialConnectingBranch/types.d.ts +1 -1
- package/lib/components/StepsLandingTable/Components/handleStepCheckBox.d.ts +1 -1
- package/lib/components/StepsLandingTable/Components/handleStepCheckBox.js +8 -6
- package/lib/components/StepsLandingTable/Components/handleStepCheckBox.js.map +1 -1
- package/lib/components/StepsLandingTable/constant.js +3 -3
- package/lib/components/StepsLandingTable/constant.js.map +1 -1
- package/lib/components/StepsLandingTable/types.d.ts +1 -1
- package/lib/components/TableTree/Components/TableHead.js +1 -1
- package/lib/components/TableTree/Components/TableHead.js.map +1 -1
- package/lib/components/variableSuggestionInputDropDown/VariableSuggestionInputDropDown.js +28 -21
- package/lib/components/variableSuggestionInputDropDown/VariableSuggestionInputDropDown.js.map +1 -1
- package/lib/components/variableSuggestionInputDropDown/types.d.ts +4 -0
- package/lib/hooks/useConditionalLock.d.ts +2 -0
- package/lib/hooks/useConditionalLock.js +19 -0
- package/lib/hooks/useConditionalLock.js.map +1 -0
- package/lib/hooks/useTriggerControl.d.ts +7 -0
- package/lib/hooks/useTriggerControl.js +20 -0
- package/lib/hooks/useTriggerControl.js.map +1 -0
- package/lib/index.cjs +233 -99
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +16 -4
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/node_modules/js-beautify/js/src/css/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/css/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/tokenizer.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/tokenizer.js +1 -1
- package/lib/styles.css +1 -1
- package/lib/styles.css.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/validations/regex.d.ts +2 -1
- package/lib/validations/regex.js +4 -2
- package/lib/validations/regex.js.map +1 -1
- package/package.json +1 -1
package/lib/index.cjs
CHANGED
@@ -2419,9 +2419,11 @@ const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-
|
|
2419
2419
|
// HTML Tags Validation
|
2420
2420
|
const HTML_TAG_REGEX = /<\/?[\w\s=\"'\/\.:;#-]*>/g;
|
2421
2421
|
// Whitespace Validation (Leading or Trailing)
|
2422
|
-
const WHITESPACE_REGEX = /^\s
|
2422
|
+
const WHITESPACE_REGEX = /^\s|\s$/;
|
2423
2423
|
// US ZIP Code Validation (5 or 9 digits)
|
2424
2424
|
const US_ZIP_CODE_REGEX = /^\d{5}(-\d{4})?$/;
|
2425
|
+
// start and end whitespace is valid one.
|
2426
|
+
const BIG_END_WHITESPACE = /^\s|\s$/;
|
2425
2427
|
// Username Validation (Alphanumeric, underscores, 3-16 characters)
|
2426
2428
|
const USERNAME_REGEX = /^[a-zA-Z0-9_]{3,16}$/;
|
2427
2429
|
// Indian Specific Validations
|
@@ -4298,13 +4300,13 @@ const Select$1 = ({
|
|
4298
4300
|
fromBottom: 0,
|
4299
4301
|
width: 0
|
4300
4302
|
});
|
4301
|
-
|
4302
|
-
searchedText: getValue$1(selectedOption, valueAccessor) || '',
|
4303
|
-
searchedIcon: selectedOption.iconName || ''
|
4304
|
-
});
|
4303
|
+
setSelectOptionList(optionsList);
|
4305
4304
|
if (inputRef?.current === document.activeElement) {
|
4306
4305
|
inputRef?.current?.blur();
|
4307
|
-
|
4306
|
+
setSearchedOption({
|
4307
|
+
searchedText: getValue$1(selectedOption, valueAccessor) || '',
|
4308
|
+
searchedIcon: selectedOption.iconName || ''
|
4309
|
+
});
|
4308
4310
|
setCustomRecurrence(false);
|
4309
4311
|
onBlur();
|
4310
4312
|
}
|
@@ -4441,7 +4443,7 @@ const Select$1 = ({
|
|
4441
4443
|
'ff-select-labels__active': searchedText
|
4442
4444
|
}),
|
4443
4445
|
fontSize: searchedText || showDropdownOptions ? 10 : 12,
|
4444
|
-
lineHeight: searchedText || showDropdownOptions
|
4446
|
+
lineHeight: searchedText || showDropdownOptions && '12px',
|
4445
4447
|
required: required,
|
4446
4448
|
style: {
|
4447
4449
|
maxWidth: `calc(${selectWidth} - 40px)`
|
@@ -15708,11 +15710,6 @@ const InputWithDropdown = /*#__PURE__*/React.forwardRef(({
|
|
15708
15710
|
rightDropDownPositionZindex
|
15709
15711
|
}, ref) => {
|
15710
15712
|
const isValueFilled = !checkEmpty(value) || dropdownPosition === 'left';
|
15711
|
-
const handleWheel = e => {
|
15712
|
-
if (type === 'number') {
|
15713
|
-
e.currentTarget.blur();
|
15714
|
-
}
|
15715
|
-
};
|
15716
15713
|
return jsxRuntime.jsxs("div", {
|
15717
15714
|
className: classNames('ff-input-with-dropdown-container', {
|
15718
15715
|
'ff-input-with-dropdown-container--filled': isValueFilled
|
@@ -15772,7 +15769,6 @@ const InputWithDropdown = /*#__PURE__*/React.forwardRef(({
|
|
15772
15769
|
onClick: onClick,
|
15773
15770
|
onKeyUp: onKeyUp,
|
15774
15771
|
onKeyDown: onKeyDown,
|
15775
|
-
onWheel: handleWheel,
|
15776
15772
|
onFocus: onFocus,
|
15777
15773
|
className: classNames('ff-floating-input', {
|
15778
15774
|
'ff-floating-input--filled': isValueFilled,
|
@@ -16296,7 +16292,7 @@ const TableHead = /*#__PURE__*/React.memo(({
|
|
16296
16292
|
return jsxRuntime.jsxs("thead", {
|
16297
16293
|
className: "ff-table-tree-head",
|
16298
16294
|
children: [jsxRuntime.jsx("tr", {
|
16299
|
-
className: "ff-table-tree-row",
|
16295
|
+
className: "ff-table-tree-row no-hover",
|
16300
16296
|
children: columnsData.map(({
|
16301
16297
|
name,
|
16302
16298
|
width
|
@@ -16493,6 +16489,7 @@ const EditLabel = ({
|
|
16493
16489
|
error: false
|
16494
16490
|
});
|
16495
16491
|
const [currentSelectedOption, setCurrentSelectedOption] = React.useState(selectedOption);
|
16492
|
+
const [shouldShowToast, setShouldShowToast] = React.useState(false);
|
16496
16493
|
const containerRef = React.useRef(null);
|
16497
16494
|
const cancelRef = React.useRef(null);
|
16498
16495
|
const confirmRef = React.useRef(null);
|
@@ -16549,6 +16546,7 @@ const EditLabel = ({
|
|
16549
16546
|
if (isDisable.confirm) return;
|
16550
16547
|
const errorMessage = handleCustomError ? handleCustomError(text) : '';
|
16551
16548
|
if (errorMessage) {
|
16549
|
+
setShouldShowToast(true);
|
16552
16550
|
handleToastToggle('error');
|
16553
16551
|
setShowError(errorMessage);
|
16554
16552
|
} else {
|
@@ -16575,6 +16573,7 @@ const EditLabel = ({
|
|
16575
16573
|
useClickOutside(containerRef, handleOutsideClick, [confirmRef, cancelRef, dropdownRef]);
|
16576
16574
|
const handleCancel = () => {
|
16577
16575
|
if (isDisable.cancel) return;
|
16576
|
+
setShouldShowToast(false);
|
16578
16577
|
if (required && !value) {
|
16579
16578
|
handleToastToggle('error');
|
16580
16579
|
setShowError('Text is required.');
|
@@ -16768,7 +16767,7 @@ const EditLabel = ({
|
|
16768
16767
|
fontSize: 8,
|
16769
16768
|
className: "error-text",
|
16770
16769
|
children: showError
|
16771
|
-
}), !inlineValidationError && jsxRuntime.jsx(Toaster, {
|
16770
|
+
}), !inlineValidationError && shouldShowToast && jsxRuntime.jsx(Toaster, {
|
16772
16771
|
isOpen: toasts.error,
|
16773
16772
|
variant: "info",
|
16774
16773
|
toastTitle: "Info!",
|
@@ -33985,7 +33984,8 @@ const Branches = ({
|
|
33985
33984
|
machineInfo: {
|
33986
33985
|
osVersion,
|
33987
33986
|
iconName,
|
33988
|
-
osName
|
33987
|
+
osName,
|
33988
|
+
hostName
|
33989
33989
|
},
|
33990
33990
|
deviceInfo
|
33991
33991
|
} = machineInstance;
|
@@ -34000,6 +34000,12 @@ const Branches = ({
|
|
34000
34000
|
label: executionEnv,
|
34001
34001
|
type: getEnvironment(executionEnv)
|
34002
34002
|
}];
|
34003
|
+
if (scriptType.toLowerCase() === 'manual') {
|
34004
|
+
baseOptions.push({
|
34005
|
+
label: hostName || '',
|
34006
|
+
type: 'local'
|
34007
|
+
});
|
34008
|
+
}
|
34003
34009
|
// Web-specific options
|
34004
34010
|
const webOptions = [{
|
34005
34011
|
label: osVersion,
|
@@ -42832,6 +42838,7 @@ const VariableSuggestionInputDropDown = /*#__PURE__*/React.forwardRef(({
|
|
42832
42838
|
symbol = '$',
|
42833
42839
|
type = 'text',
|
42834
42840
|
clearIcon = true,
|
42841
|
+
inputTitle = '',
|
42835
42842
|
...props
|
42836
42843
|
}, ref) => {
|
42837
42844
|
const [showDropdown, setShowDropdown] = React.useState(false);
|
@@ -42988,28 +42995,34 @@ const VariableSuggestionInputDropDown = /*#__PURE__*/React.forwardRef(({
|
|
42988
42995
|
children: [jsxRuntime.jsxs("div", {
|
42989
42996
|
className: "ff-add-variable-input",
|
42990
42997
|
ref: containerRef,
|
42991
|
-
children: [jsxRuntime.jsx(
|
42992
|
-
|
42993
|
-
|
42994
|
-
|
42995
|
-
type: type,
|
42996
|
-
value: value,
|
42997
|
-
onChange: onChange,
|
42998
|
-
onPaste: () => {
|
42999
|
-
setShowCreateVariableIcon(true);
|
42998
|
+
children: [jsxRuntime.jsx(Tooltip, {
|
42999
|
+
title: inputTitle,
|
43000
|
+
style: {
|
43001
|
+
width: '100%'
|
43000
43002
|
},
|
43001
|
-
|
43002
|
-
|
43003
|
-
|
43004
|
-
|
43005
|
-
|
43006
|
-
|
43007
|
-
|
43008
|
-
|
43009
|
-
|
43010
|
-
|
43011
|
-
|
43012
|
-
|
43003
|
+
children: jsxRuntime.jsx(Input$1, {
|
43004
|
+
...props,
|
43005
|
+
name: "add_variable",
|
43006
|
+
ref: inputRef,
|
43007
|
+
type: type,
|
43008
|
+
value: value,
|
43009
|
+
onChange: onChange,
|
43010
|
+
onPaste: () => {
|
43011
|
+
setShowCreateVariableIcon(true);
|
43012
|
+
},
|
43013
|
+
variant: "primary",
|
43014
|
+
label: label,
|
43015
|
+
placeholder: placeholder,
|
43016
|
+
onClick: handleClick,
|
43017
|
+
onKeyUp: handleKeyUp,
|
43018
|
+
onFocus: () => setIsFocused(true),
|
43019
|
+
onBlur: e => handleBlur(e),
|
43020
|
+
autoComplete: autoComplete,
|
43021
|
+
helperText: helperText,
|
43022
|
+
error: error,
|
43023
|
+
required: required,
|
43024
|
+
...formProps
|
43025
|
+
})
|
43013
43026
|
}), !checkEmpty(value) && !isOnlyHash && jsxRuntime.jsxs("div", {
|
43014
43027
|
className: "ff-variable-icon-container",
|
43015
43028
|
children: [clearIcon && jsxRuntime.jsx(Tooltip, {
|
@@ -43078,6 +43091,18 @@ const CreateVariableSlider = ({
|
|
43078
43091
|
const [helperText, setHelperText] = React.useState('');
|
43079
43092
|
const [hashInputValue, setHashInputValue] = React.useState();
|
43080
43093
|
const [isSubmitting, setIsSubmitting] = React.useState(false);
|
43094
|
+
const [initialValues, setInitialValues] = React.useState({
|
43095
|
+
name: '',
|
43096
|
+
value: ''
|
43097
|
+
});
|
43098
|
+
React.useEffect(() => {
|
43099
|
+
if (isOpen && mode === 'edit') {
|
43100
|
+
setInitialValues({
|
43101
|
+
name: variableName,
|
43102
|
+
value: variableValue
|
43103
|
+
});
|
43104
|
+
}
|
43105
|
+
}, []);
|
43081
43106
|
const getVariableNameError = value => {
|
43082
43107
|
if (!value || value.length === 0) {
|
43083
43108
|
return 'Variable Name is required';
|
@@ -43115,6 +43140,10 @@ const CreateVariableSlider = ({
|
|
43115
43140
|
const isValid = isNonEmpty && matchesPattern && noWhitespaceEdges && lengthValid;
|
43116
43141
|
return isValid;
|
43117
43142
|
}
|
43143
|
+
const hasChanges = React.useMemo(() => {
|
43144
|
+
if (mode !== 'edit') return true;
|
43145
|
+
return variableName !== initialValues.name || variableValue !== initialValues.value;
|
43146
|
+
}, [mode, variableName, variableValue, initialValues]);
|
43118
43147
|
const FooterContent = () => {
|
43119
43148
|
return jsxRuntime.jsxs("div", {
|
43120
43149
|
className: "ff-create-slider-footer",
|
@@ -43132,7 +43161,7 @@ const CreateVariableSlider = ({
|
|
43132
43161
|
handleSubmit();
|
43133
43162
|
}
|
43134
43163
|
},
|
43135
|
-
disabled: !isVariableNameValid(variableName) || isSubmitting
|
43164
|
+
disabled: !isVariableNameValid(variableName) || isSubmitting || mode === 'edit' && !hasChanges
|
43136
43165
|
})]
|
43137
43166
|
});
|
43138
43167
|
};
|
@@ -43559,6 +43588,7 @@ const MediaPreview = ({
|
|
43559
43588
|
isDisabled = false
|
43560
43589
|
}) => {
|
43561
43590
|
const [isModalOpen, setIsModalOpen] = React.useState(false);
|
43591
|
+
const videoRef = React.useRef(null);
|
43562
43592
|
const handleExpand = () => {
|
43563
43593
|
setIsModalOpen(true);
|
43564
43594
|
onExpandClick && onExpandClick(fileId);
|
@@ -43575,6 +43605,20 @@ const MediaPreview = ({
|
|
43575
43605
|
setIsModalOpen(true);
|
43576
43606
|
}
|
43577
43607
|
}, [previewOnly]);
|
43608
|
+
React.useEffect(() => {
|
43609
|
+
if (isModalOpen) {
|
43610
|
+
setTimeout(() => {
|
43611
|
+
if (videoRef.current) {
|
43612
|
+
const playPromise = videoRef.current.play();
|
43613
|
+
if (playPromise !== undefined) {
|
43614
|
+
playPromise.catch(error => {
|
43615
|
+
console.error('Autoplay failed:', error);
|
43616
|
+
});
|
43617
|
+
}
|
43618
|
+
}
|
43619
|
+
}, 300);
|
43620
|
+
}
|
43621
|
+
}, [isModalOpen]);
|
43578
43622
|
return jsxRuntime.jsxs("div", {
|
43579
43623
|
children: [!previewOnly && (isMediaIcon ? jsxRuntime.jsx(Icon, {
|
43580
43624
|
name: iconName,
|
@@ -43603,16 +43647,30 @@ const MediaPreview = ({
|
|
43603
43647
|
className: "media-wrapper",
|
43604
43648
|
children: [jsxRuntime.jsxs("div", {
|
43605
43649
|
className: "ff-expand-icons",
|
43606
|
-
children: [jsxRuntime.jsx(
|
43607
|
-
|
43608
|
-
|
43609
|
-
|
43610
|
-
|
43611
|
-
|
43612
|
-
|
43613
|
-
|
43614
|
-
|
43615
|
-
|
43650
|
+
children: [jsxRuntime.jsx(Tooltip, {
|
43651
|
+
title: "Download File",
|
43652
|
+
children: jsxRuntime.jsx(Icon, {
|
43653
|
+
name: "download_file_icon",
|
43654
|
+
onClick: handleDownload,
|
43655
|
+
color: "var(--icons-default-color)",
|
43656
|
+
className: "header-icons"
|
43657
|
+
})
|
43658
|
+
}), jsxRuntime.jsx(Tooltip, {
|
43659
|
+
title: "Expand",
|
43660
|
+
children: jsxRuntime.jsx(Icon, {
|
43661
|
+
name: "expand",
|
43662
|
+
onClick: handleExpand,
|
43663
|
+
color: "var(--icons-default-color)",
|
43664
|
+
className: "header-icons"
|
43665
|
+
})
|
43666
|
+
}), jsxRuntime.jsx(Tooltip, {
|
43667
|
+
title: "close",
|
43668
|
+
children: jsxRuntime.jsx(Icon, {
|
43669
|
+
name: "close",
|
43670
|
+
onClick: handleClose,
|
43671
|
+
color: "var(--icons-default-color)",
|
43672
|
+
className: "header-icons"
|
43673
|
+
})
|
43616
43674
|
})]
|
43617
43675
|
}), mediaType === 'image' && jsxRuntime.jsx("img", {
|
43618
43676
|
src: MediaSrc,
|
@@ -43623,7 +43681,8 @@ const MediaPreview = ({
|
|
43623
43681
|
src: MediaSrc,
|
43624
43682
|
controls: true,
|
43625
43683
|
controlsList: "nodownload",
|
43626
|
-
className: "ff-video-preview"
|
43684
|
+
className: "ff-video-preview",
|
43685
|
+
ref: videoRef
|
43627
43686
|
})]
|
43628
43687
|
})
|
43629
43688
|
})]
|
@@ -50713,7 +50772,7 @@ const BarChart = ({
|
|
50713
50772
|
}), normalizedData.map((item, index) => {
|
50714
50773
|
const computedBarHeight = item.normalizedValue / maxValue * height;
|
50715
50774
|
const minBarHeight = 2;
|
50716
|
-
const barHeight = item.normalizedValue
|
50775
|
+
const barHeight = item.normalizedValue < 1 ? minBarHeight : computedBarHeight;
|
50717
50776
|
const barX = index * (barWidth + barGap) + leftPadding + padding;
|
50718
50777
|
const barY = height - barHeight + topPadding;
|
50719
50778
|
const iconWidth = iconSize || 20;
|
@@ -50864,9 +50923,26 @@ const MultiRadialChart = ({
|
|
50864
50923
|
visible: false,
|
50865
50924
|
x: 0,
|
50866
50925
|
y: 0,
|
50867
|
-
content: ''
|
50926
|
+
content: '',
|
50927
|
+
isArc: false
|
50868
50928
|
});
|
50869
50929
|
const [hoveredLegend, setHoveredLegend] = React.useState(null);
|
50930
|
+
const renderGradients = () => jsxRuntime.jsx("defs", {
|
50931
|
+
children: barValues.map((bar, i) => Array.isArray(bar.arcColor) ? jsxRuntime.jsx("linearGradient", {
|
50932
|
+
id: `gradient-${i}`,
|
50933
|
+
x1: "0%",
|
50934
|
+
y1: "0%",
|
50935
|
+
x2: "100%",
|
50936
|
+
y2: "0%",
|
50937
|
+
gradientTransform: "rotate(90)",
|
50938
|
+
children: bar.arcColor.map((color, idx) => jsxRuntime.jsx("stop", {
|
50939
|
+
offset: `${idx / (bar.arcColor.length - 1) * 100}%`,
|
50940
|
+
stopColor: color
|
50941
|
+
}, idx))
|
50942
|
+
}, `gradient-${i}`) : null)
|
50943
|
+
});
|
50944
|
+
const getArcColor = (bar, index) => Array.isArray(bar.arcColor) ? `url(#gradient-${index})` : bar.arcColor;
|
50945
|
+
const getLegendColor = bar => Array.isArray(bar.arcColor) ? bar.arcColor[0] : bar.arcColor;
|
50870
50946
|
const parseValueToMB = value => {
|
50871
50947
|
if (typeof value === 'string') {
|
50872
50948
|
const match = value.trim().match(/^([\d.]+)\s*([a-zA-Z%]*)$/);
|
@@ -50925,17 +51001,18 @@ const MultiRadialChart = ({
|
|
50925
51001
|
className: "ff-legend-item",
|
50926
51002
|
onMouseEnter: e => {
|
50927
51003
|
setHoveredLegend(item.barLabel || item.label);
|
50928
|
-
handleMouseEnter(e, `${item.barLabel || 'Data'}: ${item.value}
|
51004
|
+
handleMouseEnter(e, `${item.barLabel || 'Data'}: ${item.value}`, false);
|
50929
51005
|
},
|
51006
|
+
onMouseMove: handleMouseMove,
|
50930
51007
|
onMouseLeave: () => {
|
50931
51008
|
setHoveredLegend(null);
|
50932
|
-
handleMouseLeave
|
51009
|
+
handleMouseLeave();
|
50933
51010
|
},
|
50934
51011
|
children: [jsxRuntime.jsx(Typography, {
|
50935
51012
|
fontSize: 20,
|
50936
51013
|
fontWeight: "semi-bold",
|
50937
51014
|
className: "ff-legend-value",
|
50938
|
-
color: item
|
51015
|
+
color: getLegendColor(item),
|
50939
51016
|
children: item.key.padStart(2, '0')
|
50940
51017
|
}), jsxRuntime.jsx(Typography, {
|
50941
51018
|
fontSize: 10,
|
@@ -50955,16 +51032,17 @@ const MultiRadialChart = ({
|
|
50955
51032
|
className: "ff-legend-item",
|
50956
51033
|
onMouseEnter: e => {
|
50957
51034
|
setHoveredLegend(item.barLabel || item.label);
|
50958
|
-
handleMouseEnter(e, `${item.barLabel || 'Data'}: ${item.value}
|
51035
|
+
handleMouseEnter(e, `${item.barLabel || 'Data'}: ${item.value}`, false);
|
50959
51036
|
},
|
51037
|
+
onMouseMove: handleMouseMove,
|
50960
51038
|
onMouseLeave: () => {
|
50961
51039
|
setHoveredLegend(null);
|
50962
|
-
handleMouseLeave
|
51040
|
+
handleMouseLeave();
|
50963
51041
|
},
|
50964
51042
|
children: [jsxRuntime.jsx("span", {
|
50965
51043
|
className: "ff-legend-capsule",
|
50966
51044
|
style: {
|
50967
|
-
backgroundColor: item
|
51045
|
+
backgroundColor: getLegendColor(item)
|
50968
51046
|
},
|
50969
51047
|
children: jsxRuntime.jsx(Typography, {
|
50970
51048
|
fontSize: 10,
|
@@ -50982,17 +51060,17 @@ const MultiRadialChart = ({
|
|
50982
51060
|
return null;
|
50983
51061
|
}
|
50984
51062
|
};
|
50985
|
-
const handleMouseEnter = (e, content) => {
|
51063
|
+
const handleMouseEnter = (e, content, isArc) => {
|
50986
51064
|
const {
|
50987
51065
|
clientX,
|
50988
51066
|
clientY
|
50989
51067
|
} = e;
|
50990
|
-
const container = e.currentTarget.getBoundingClientRect();
|
50991
51068
|
setTooltip({
|
50992
51069
|
visible: true,
|
50993
|
-
x: clientX
|
50994
|
-
y: clientY
|
50995
|
-
content: content
|
51070
|
+
x: clientX,
|
51071
|
+
y: clientY,
|
51072
|
+
content: content,
|
51073
|
+
isArc
|
50996
51074
|
});
|
50997
51075
|
};
|
50998
51076
|
const handleMouseMove = e => {
|
@@ -51000,11 +51078,10 @@ const MultiRadialChart = ({
|
|
51000
51078
|
clientX,
|
51001
51079
|
clientY
|
51002
51080
|
} = e;
|
51003
|
-
const container = e.currentTarget.getBoundingClientRect();
|
51004
51081
|
setTooltip(prev => ({
|
51005
51082
|
...prev,
|
51006
|
-
x: clientX
|
51007
|
-
y: clientY
|
51083
|
+
x: clientX,
|
51084
|
+
y: clientY
|
51008
51085
|
}));
|
51009
51086
|
};
|
51010
51087
|
const handleMouseLeave = () => {
|
@@ -51012,7 +51089,8 @@ const MultiRadialChart = ({
|
|
51012
51089
|
visible: false,
|
51013
51090
|
x: 0,
|
51014
51091
|
y: 0,
|
51015
|
-
content: ''
|
51092
|
+
content: '',
|
51093
|
+
isArc: false
|
51016
51094
|
});
|
51017
51095
|
};
|
51018
51096
|
const textData = (text, maxLength) => {
|
@@ -51023,25 +51101,32 @@ const MultiRadialChart = ({
|
|
51023
51101
|
const valueString = tooltip.content.split(':')[0]?.trim();
|
51024
51102
|
if (valueString === undefined) return '';
|
51025
51103
|
const matchingBar = normalizedBarValues.find(val => val.barLabel === valueString);
|
51026
|
-
|
51104
|
+
if (!matchingBar) return '';
|
51105
|
+
const chartItem = {
|
51106
|
+
...matchingBar,
|
51107
|
+
label: matchingBar.barLabel,
|
51108
|
+
key: matchingBar.labelValue?.toString() ?? ''
|
51109
|
+
};
|
51110
|
+
return getLegendColor(chartItem);
|
51027
51111
|
};
|
51112
|
+
const DEFAULT_LINE_HEIGHT = 18;
|
51028
51113
|
return jsxRuntime.jsxs("div", {
|
51029
51114
|
className: `ff-multi-radial-chart-container ${legendType === 'numberLegend' ? 'ff-multi-radial-chart-number' : 'ff-multi-radial-chart-pill'}`,
|
51030
51115
|
style: {
|
51031
51116
|
gap: chartToLegendGap
|
51032
51117
|
},
|
51033
|
-
children: [jsxRuntime.
|
51118
|
+
children: [jsxRuntime.jsx("div", {
|
51034
51119
|
className: "relative",
|
51035
51120
|
style: {
|
51036
51121
|
width: svgSize,
|
51037
51122
|
height: svgSize
|
51038
51123
|
},
|
51039
|
-
children:
|
51124
|
+
children: jsxRuntime.jsxs("svg", {
|
51040
51125
|
width: svgSize,
|
51041
51126
|
height: svgSize,
|
51042
51127
|
viewBox: `0 0 ${svgSize} ${svgSize}`,
|
51043
51128
|
className: "absolute top-0 left-0",
|
51044
|
-
children: jsxRuntime.jsxs("g", {
|
51129
|
+
children: [renderGradients(), jsxRuntime.jsxs("g", {
|
51045
51130
|
transform: `translate(${svgSize / 2 + 1}, ${svgSize / 2 + 1})`,
|
51046
51131
|
children: [reversedBarValues.map((values, i) => {
|
51047
51132
|
const originalIndex = normalizedBarValues.length - 1 - i;
|
@@ -51075,8 +51160,12 @@ const MultiRadialChart = ({
|
|
51075
51160
|
cx: dotX,
|
51076
51161
|
cy: dotY,
|
51077
51162
|
r: lineWidth + 1,
|
51078
|
-
fill:
|
51079
|
-
|
51163
|
+
fill: getArcColor({
|
51164
|
+
...values,
|
51165
|
+
label: values.barLabel || '',
|
51166
|
+
key: values.labelValue?.toString() || ''
|
51167
|
+
}, originalIndex),
|
51168
|
+
onMouseEnter: e => handleMouseEnter(e, `${values.barLabel || 'Data'}: ${values.value}`, true),
|
51080
51169
|
onMouseMove: handleMouseMove,
|
51081
51170
|
onMouseLeave: handleMouseLeave,
|
51082
51171
|
style: arcStyle
|
@@ -51095,10 +51184,14 @@ const MultiRadialChart = ({
|
|
51095
51184
|
}), jsxRuntime.jsx("path", {
|
51096
51185
|
d: foregroundArcPath,
|
51097
51186
|
fill: "none",
|
51098
|
-
stroke:
|
51187
|
+
stroke: getArcColor({
|
51188
|
+
...values,
|
51189
|
+
label: values.barLabel || '',
|
51190
|
+
key: values.labelValue?.toString() || ''
|
51191
|
+
}, originalIndex),
|
51099
51192
|
strokeWidth: lineWidth,
|
51100
51193
|
strokeLinecap: lineCap === 'square' ? 'butt' : 'round',
|
51101
|
-
onMouseEnter: e => handleMouseEnter(e, `${values.barLabel || 'Data'}: ${values.value}
|
51194
|
+
onMouseEnter: e => handleMouseEnter(e, `${values.barLabel || 'Data'}: ${values.value}`, true),
|
51102
51195
|
onMouseMove: handleMouseMove,
|
51103
51196
|
onMouseLeave: handleMouseLeave,
|
51104
51197
|
style: {
|
@@ -51140,7 +51233,7 @@ const MultiRadialChart = ({
|
|
51140
51233
|
children: firstWord
|
51141
51234
|
}), jsxRuntime.jsx("tspan", {
|
51142
51235
|
x: "0",
|
51143
|
-
dy:
|
51236
|
+
dy: DEFAULT_LINE_HEIGHT,
|
51144
51237
|
style: {
|
51145
51238
|
fontSize: `${subLabelFontSize}px`
|
51146
51239
|
},
|
@@ -51151,7 +51244,7 @@ const MultiRadialChart = ({
|
|
51151
51244
|
}
|
51152
51245
|
return jsxRuntime.jsx("tspan", {
|
51153
51246
|
x: "0",
|
51154
|
-
dy: index === 0 ? 0 :
|
51247
|
+
dy: index === 0 ? 0 : DEFAULT_LINE_HEIGHT,
|
51155
51248
|
className: "ff-center-text",
|
51156
51249
|
style: {
|
51157
51250
|
fontSize: `${subLabelFontSize}px`
|
@@ -51161,16 +51254,19 @@ const MultiRadialChart = ({
|
|
51161
51254
|
})
|
51162
51255
|
})
|
51163
51256
|
})]
|
51164
|
-
})
|
51165
|
-
})
|
51166
|
-
|
51167
|
-
|
51168
|
-
|
51169
|
-
|
51170
|
-
|
51171
|
-
}
|
51172
|
-
|
51173
|
-
|
51257
|
+
})]
|
51258
|
+
})
|
51259
|
+
}), tooltip.visible && jsxRuntime.jsx("div", {
|
51260
|
+
className: "ff-multi-radial-tooltip",
|
51261
|
+
style: {
|
51262
|
+
position: 'fixed',
|
51263
|
+
top: `${tooltip.y - (tooltip.isArc ? 5 : -10)}px`,
|
51264
|
+
left: `${tooltip.x + (tooltip.isArc ? 60 : 15)}px`,
|
51265
|
+
zIndex: 1000,
|
51266
|
+
transform: tooltip.isArc ? 'translateX(-50%)' : 'none',
|
51267
|
+
pointerEvents: 'none'
|
51268
|
+
},
|
51269
|
+
children: tooltip.content
|
51174
51270
|
}), isLegendDetails && renderLegend(normalizedBarValues.map(value => ({
|
51175
51271
|
...value,
|
51176
51272
|
label: value?.barLabel,
|
@@ -58947,12 +59043,15 @@ const ChildComment = ({
|
|
58947
59043
|
})
|
58948
59044
|
}), isEditDeleteActionAllowed && deleteEnable && jsxRuntime.jsx("div", {
|
58949
59045
|
className: "action-icon",
|
58950
|
-
onClick: () => handleDeleteNode(comment.id),
|
58951
59046
|
children: jsxRuntime.jsx(Tooltip, {
|
58952
59047
|
title: "Delete",
|
58953
59048
|
children: jsxRuntime.jsx(Icon, {
|
58954
59049
|
name: "delete",
|
58955
59050
|
color: "var(--ff-delete-button-attachment)",
|
59051
|
+
onClick: () => {
|
59052
|
+
if (showInput) return;
|
59053
|
+
handleDeleteNode(comment.id);
|
59054
|
+
},
|
58956
59055
|
disabled: editMode || showInput || isDisable,
|
58957
59056
|
hoverEffect: true
|
58958
59057
|
})
|
@@ -59392,6 +59491,22 @@ const Comments = ({
|
|
59392
59491
|
});
|
59393
59492
|
};
|
59394
59493
|
|
59494
|
+
const useTriggerControl = () => {
|
59495
|
+
const canTriggerRef = React.useRef(true);
|
59496
|
+
const canTrigger = () => canTriggerRef.current;
|
59497
|
+
const setTriggered = () => {
|
59498
|
+
canTriggerRef.current = false;
|
59499
|
+
};
|
59500
|
+
const resetTrigger = () => {
|
59501
|
+
canTriggerRef.current = true;
|
59502
|
+
};
|
59503
|
+
return {
|
59504
|
+
canTrigger,
|
59505
|
+
setTriggered,
|
59506
|
+
resetTrigger
|
59507
|
+
};
|
59508
|
+
};
|
59509
|
+
|
59395
59510
|
const PopUpModal = ({
|
59396
59511
|
isOpen,
|
59397
59512
|
onClose,
|
@@ -72428,6 +72543,7 @@ const PhoneInputField = ({
|
|
72428
72543
|
const [phone, setPhone] = React.useState(initialValue);
|
72429
72544
|
const [isFocused, setIsFocused] = React.useState(false);
|
72430
72545
|
const [isValid, setIsValid] = React.useState(initialIsValid);
|
72546
|
+
const [selectedCountry, setSelectedCountry] = React.useState(country);
|
72431
72547
|
React.useEffect(() => {
|
72432
72548
|
if (initialValue) {
|
72433
72549
|
let formattedPhone = initialValue;
|
@@ -72437,12 +72553,25 @@ const PhoneInputField = ({
|
|
72437
72553
|
setPhone(formattedPhone);
|
72438
72554
|
}
|
72439
72555
|
}, [initialValue]);
|
72440
|
-
const handlePhoneChange = phone => {
|
72556
|
+
const handlePhoneChange = (phone, countryData) => {
|
72557
|
+
const newCountryCode = countryData?.countryCode?.toLowerCase();
|
72441
72558
|
const cleanedPhone = phone.replace(/[^0-9+]/g, '');
|
72442
|
-
|
72443
|
-
|
72444
|
-
|
72445
|
-
|
72559
|
+
if (selectedCountry?.toLowerCase() !== newCountryCode) {
|
72560
|
+
setPhone(countryData?.dialCode);
|
72561
|
+
onChange(countryData?.dialCode);
|
72562
|
+
setSelectedCountry(newCountryCode);
|
72563
|
+
setIsValid(true);
|
72564
|
+
return;
|
72565
|
+
}
|
72566
|
+
let formattedPhone = cleanedPhone;
|
72567
|
+
if (!formattedPhone.startsWith('+')) {
|
72568
|
+
formattedPhone = `+${formattedPhone}`;
|
72569
|
+
}
|
72570
|
+
setPhone(formattedPhone);
|
72571
|
+
onChange(formattedPhone);
|
72572
|
+
const isPhoneValid = isValidPhoneNumber(formattedPhone);
|
72573
|
+
const isOnlyCountryCode = phone && phone.replace(/[^\d]/g, '').length <= 3;
|
72574
|
+
setIsValid(isPhoneValid || isOnlyCountryCode);
|
72446
72575
|
};
|
72447
72576
|
const handleFocus = event => {
|
72448
72577
|
setIsFocused(true);
|
@@ -72451,8 +72580,9 @@ const PhoneInputField = ({
|
|
72451
72580
|
const handleBlur = event => {
|
72452
72581
|
setIsFocused(false);
|
72453
72582
|
if (onBlur) onBlur(event);
|
72583
|
+
const isOnlyCountryCode = phone && phone.replace(/[^\d]/g, '').length <= 3;
|
72454
72584
|
const isPhoneValid = isValidPhoneNumber(phone);
|
72455
|
-
setIsValid(isPhoneValid);
|
72585
|
+
setIsValid(isPhoneValid || isOnlyCountryCode);
|
72456
72586
|
};
|
72457
72587
|
return jsxRuntime.jsxs("div", {
|
72458
72588
|
id: id,
|
@@ -74034,19 +74164,21 @@ function getUpdatedPartialSelect(tableData, prevPartialSelect) {
|
|
74034
74164
|
return new Set([...prevPartialSelect].filter(id => allCurrentIds.has(id)));
|
74035
74165
|
}
|
74036
74166
|
function getUpdatedExpandedRows(tableData, prevExpandedRows, defaultExpanded) {
|
74037
|
-
const
|
74167
|
+
const sectionTitlesToExpand = {
|
74038
74168
|
Steps: 'Steps',
|
74039
|
-
Depends: 'Depends on
|
74040
|
-
PRE:
|
74041
|
-
POST:
|
74169
|
+
Depends: 'Depends on Scripts',
|
74170
|
+
PRE: 'Pre Conditions',
|
74171
|
+
POST: 'Post Conditions'
|
74042
74172
|
};
|
74043
74173
|
const newExpandedRows = {};
|
74044
74174
|
tableData.forEach(section => {
|
74045
|
-
|
74175
|
+
const title = section.title;
|
74176
|
+
const wasPreviouslyExpanded = title in prevExpandedRows;
|
74177
|
+
const shouldExpandByDefault = defaultExpanded === 'All' ? Object.values(sectionTitlesToExpand).includes(title) : title === sectionTitlesToExpand[defaultExpanded];
|
74178
|
+
newExpandedRows[title] = wasPreviouslyExpanded ? prevExpandedRows[title] ?? false : shouldExpandByDefault;
|
74046
74179
|
});
|
74047
74180
|
return newExpandedRows;
|
74048
74181
|
}
|
74049
|
-
//?
|
74050
74182
|
const gettingBlockMap = (tableData, selectedRows, stepPartialSelect) => {
|
74051
74183
|
let dynamicUpdate = getBlockMap(tableData);
|
74052
74184
|
const updatedSelectedRows = new Set(selectedRows.Steps);
|
@@ -110038,6 +110170,7 @@ exports.AttachMedia = AttachMedia;
|
|
110038
110170
|
exports.AttachmentButton = AttachmentButton;
|
110039
110171
|
exports.Avatar = Avatar;
|
110040
110172
|
exports.BASE64_REGEX = BASE64_REGEX;
|
110173
|
+
exports.BIG_END_WHITESPACE = BIG_END_WHITESPACE;
|
110041
110174
|
exports.BINARY_NUMBER_REGEX = BINARY_NUMBER_REGEX;
|
110042
110175
|
exports.BODY_TAG_TYPE_VALIDATION = BODY_TAG_TYPE_VALIDATION;
|
110043
110176
|
exports.BarChart = BarChart;
|
@@ -110263,4 +110396,5 @@ exports.useClickOutside = useClickOutside;
|
|
110263
110396
|
exports.useFileDropzone = useFileDropzone;
|
110264
110397
|
exports.useKeyboardActions = useKeyboardActions;
|
110265
110398
|
exports.useTheme = useTheme;
|
110399
|
+
exports.useTriggerControl = useTriggerControl;
|
110266
110400
|
//# sourceMappingURL=index.cjs.map
|