sag_components 2.0.0-beta107 → 2.0.0-beta109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -8
- package/dist/index.esm.js +349 -1241
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +349 -1241
- package/dist/index.js.map +1 -1
- package/dist/types/components/DropdownMultiNew/DropdownMultiNew.d.ts +0 -60
- package/dist/types/components/DropdownSingleNew/DropdownSingleNew.d.ts +0 -57
- package/dist/types/components/ItemManagerPanel/ItemManagerPanel.d.ts +3 -8
- package/dist/types/components/ItemManagerPanel/ItemManagerPanel.stories.d.ts +15 -5
- package/dist/types/components/OverlayDropdown/OverlayTemplateDialog.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -2192,7 +2192,9 @@ const Tooltip$2 = props => {
|
|
|
2192
2192
|
content = 'Tooltip content',
|
|
2193
2193
|
direction = 'top',
|
|
2194
2194
|
delay = '400',
|
|
2195
|
-
topFactor = -1.8
|
|
2195
|
+
topFactor = -1.8,
|
|
2196
|
+
hideTooltip = false,
|
|
2197
|
+
className
|
|
2196
2198
|
} = props;
|
|
2197
2199
|
let timeout;
|
|
2198
2200
|
const [active, setActive] = useState(false);
|
|
@@ -2206,12 +2208,12 @@ const Tooltip$2 = props => {
|
|
|
2206
2208
|
setActive(false);
|
|
2207
2209
|
};
|
|
2208
2210
|
return /*#__PURE__*/React$1.createElement(TooltipContainer$4, {
|
|
2209
|
-
className:
|
|
2211
|
+
className: className
|
|
2210
2212
|
}, /*#__PURE__*/React$1.createElement(TooltipWrapper$2, {
|
|
2211
2213
|
className: "tooltip-wrapper",
|
|
2212
2214
|
onMouseEnter: showTip,
|
|
2213
2215
|
onMouseLeave: hideTip
|
|
2214
|
-
}, children, active && /*#__PURE__*/React$1.createElement(TooltipTip$1, {
|
|
2216
|
+
}, children, active && !hideTooltip && /*#__PURE__*/React$1.createElement(TooltipTip$1, {
|
|
2215
2217
|
className: `controls ${direction || 'top'}`,
|
|
2216
2218
|
topFactor: topFactor
|
|
2217
2219
|
}, content)));
|
|
@@ -8508,6 +8510,16 @@ const DropdownWrapper$2 = styled.div`
|
|
|
8508
8510
|
font-weight: 400;
|
|
8509
8511
|
font-size: 14px;
|
|
8510
8512
|
border-radius: 10px;
|
|
8513
|
+
&::before {
|
|
8514
|
+
content: '';
|
|
8515
|
+
position: absolute;
|
|
8516
|
+
top: 100%;
|
|
8517
|
+
left: 0;
|
|
8518
|
+
right: 0;
|
|
8519
|
+
height: 2px; // Creates invisible bridge for hover
|
|
8520
|
+
z-index: 99;
|
|
8521
|
+
pointer-events: none;
|
|
8522
|
+
}
|
|
8511
8523
|
`;
|
|
8512
8524
|
const Label$7 = styled.label`
|
|
8513
8525
|
font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
|
|
@@ -8592,23 +8604,28 @@ const StyledInput$8 = styled.input`
|
|
|
8592
8604
|
`;
|
|
8593
8605
|
const OptionsContainer$7 = styled.div`
|
|
8594
8606
|
margin: 0;
|
|
8595
|
-
|
|
8607
|
+
position: absolute;
|
|
8608
|
+
${props => props.showabove ? `
|
|
8609
|
+
bottom: 100%;
|
|
8610
|
+
` : `
|
|
8611
|
+
top: 100%;
|
|
8612
|
+
`}
|
|
8596
8613
|
left: 0;
|
|
8597
8614
|
z-index: 100;
|
|
8598
|
-
width: 100%;
|
|
8615
|
+
width: 100%;
|
|
8599
8616
|
background-color: #fff;
|
|
8600
8617
|
display: ${props => props.showoptions && props.filteredoptions?.length > 0 ? 'block' : 'none'};
|
|
8601
8618
|
`;
|
|
8602
8619
|
const OptionsSubContainer$3 = styled.ul`
|
|
8620
|
+
position: relative;
|
|
8621
|
+
z-index: 101;
|
|
8622
|
+
top: 100%;
|
|
8623
|
+
/* left: 0; */
|
|
8603
8624
|
${scrollableStyles$d}
|
|
8604
8625
|
list-style: none;
|
|
8605
8626
|
font-weight: 400;
|
|
8606
8627
|
margin: 0;
|
|
8607
8628
|
padding: 8px 12px;
|
|
8608
|
-
position: absolute;
|
|
8609
|
-
top: 100%;
|
|
8610
|
-
left: 0;
|
|
8611
|
-
z-index: 101;
|
|
8612
8629
|
width: calc(100% - 23px);
|
|
8613
8630
|
border-radius: 4px;
|
|
8614
8631
|
background-color: white;
|
|
@@ -8647,7 +8664,6 @@ const IconContainer$5 = styled.div`
|
|
|
8647
8664
|
cursor: pointer;
|
|
8648
8665
|
`;
|
|
8649
8666
|
|
|
8650
|
-
/* eslint-disable react/prop-types */
|
|
8651
8667
|
const DropdownSingleNew = ({
|
|
8652
8668
|
label,
|
|
8653
8669
|
labelEmptyValue,
|
|
@@ -8668,6 +8684,7 @@ const DropdownSingleNew = ({
|
|
|
8668
8684
|
}) => {
|
|
8669
8685
|
const [isFocused, setIsFocused] = useState(false);
|
|
8670
8686
|
const [showOptions, setShowOptions] = useState(false);
|
|
8687
|
+
const [showAbove, setShowAbove] = useState(false);
|
|
8671
8688
|
const [inputValue, setInputValue] = useState("");
|
|
8672
8689
|
const [selectedOptions, setSelectedOptions] = useState([]);
|
|
8673
8690
|
const [hoverInputContainer, setHoverInputContainer] = useState(false);
|
|
@@ -8691,6 +8708,22 @@ const DropdownSingleNew = ({
|
|
|
8691
8708
|
}
|
|
8692
8709
|
break;
|
|
8693
8710
|
}
|
|
8711
|
+
|
|
8712
|
+
// Calculate position when showOptions changes
|
|
8713
|
+
useEffect(() => {
|
|
8714
|
+
if (showOptions && containerRef.current) {
|
|
8715
|
+
const rect = containerRef.current.getBoundingClientRect();
|
|
8716
|
+
const windowHeight = window.innerHeight;
|
|
8717
|
+
const dropdownHeight = Math.min(filteredOptions.length * 40 + 20, 240); // Estimate dropdown height
|
|
8718
|
+
|
|
8719
|
+
// Check if dropdown would go off-screen at bottom
|
|
8720
|
+
const spaceBelow = windowHeight - rect.bottom;
|
|
8721
|
+
const spaceAbove = rect.top;
|
|
8722
|
+
|
|
8723
|
+
// Show above if there's not enough space below and there's more space above
|
|
8724
|
+
setShowAbove(spaceBelow < dropdownHeight && spaceAbove > spaceBelow);
|
|
8725
|
+
}
|
|
8726
|
+
}, [showOptions, filteredOptions.length]);
|
|
8694
8727
|
useEffect(() => {
|
|
8695
8728
|
if (selectedValue) {
|
|
8696
8729
|
setSelectedOptions(selectedValue);
|
|
@@ -8702,11 +8735,15 @@ const DropdownSingleNew = ({
|
|
|
8702
8735
|
}
|
|
8703
8736
|
}, [isFocused]);
|
|
8704
8737
|
useEffect(() => {
|
|
8705
|
-
|
|
8706
|
-
|
|
8707
|
-
|
|
8708
|
-
|
|
8709
|
-
|
|
8738
|
+
// Add a small delay to prevent dropdown from closing when moving between input and options
|
|
8739
|
+
const timer = setTimeout(() => {
|
|
8740
|
+
if (!hoverInputContainer && !hoverOptionsContainer && !isFocused) {
|
|
8741
|
+
setShowOptions(false);
|
|
8742
|
+
}
|
|
8743
|
+
}, 100); // 100ms delay allows smooth transition
|
|
8744
|
+
|
|
8745
|
+
return () => clearTimeout(timer);
|
|
8746
|
+
}, [hoverInputContainer, hoverOptionsContainer, isFocused]);
|
|
8710
8747
|
const toggleOption = option => {
|
|
8711
8748
|
if (disabled) return;
|
|
8712
8749
|
const newDropdownedOptions = [option];
|
|
@@ -8849,11 +8886,13 @@ const DropdownSingleNew = ({
|
|
|
8849
8886
|
onMouseEnter: () => setHoverOptionsContainer(true),
|
|
8850
8887
|
onMouseLeave: () => setHoverOptionsContainer(false),
|
|
8851
8888
|
showoptions: showOptions,
|
|
8889
|
+
showabove: showAbove,
|
|
8852
8890
|
disabled: disabled,
|
|
8853
8891
|
filteredoptions: filteredOptions
|
|
8854
8892
|
}, /*#__PURE__*/React$1.createElement(OptionsSubContainer$3, {
|
|
8855
8893
|
className: "OptionsSubContainer",
|
|
8856
8894
|
showoptions: showOptions,
|
|
8895
|
+
showabove: showAbove,
|
|
8857
8896
|
disabled: disabled,
|
|
8858
8897
|
filteredoptions: filteredOptions
|
|
8859
8898
|
}, filteredOptions.map(option => /*#__PURE__*/React$1.createElement(OptionItem$3, {
|
|
@@ -8863,46 +8902,6 @@ const DropdownSingleNew = ({
|
|
|
8863
8902
|
selected: isDropdowned(option)
|
|
8864
8903
|
}, option.label)))));
|
|
8865
8904
|
};
|
|
8866
|
-
DropdownSingleNew.propTypes = {
|
|
8867
|
-
placeHolder: PropTypes.string,
|
|
8868
|
-
label: PropTypes.string,
|
|
8869
|
-
labelEmptyValue: PropTypes.string,
|
|
8870
|
-
labelColor: PropTypes.string,
|
|
8871
|
-
required: PropTypes.bool,
|
|
8872
|
-
width: PropTypes.string,
|
|
8873
|
-
disabled: PropTypes.bool,
|
|
8874
|
-
error: PropTypes.bool,
|
|
8875
|
-
errorMessage: "",
|
|
8876
|
-
options: PropTypes.arrayOf(PropTypes.shape({
|
|
8877
|
-
value: PropTypes.string,
|
|
8878
|
-
label: PropTypes.string
|
|
8879
|
-
})),
|
|
8880
|
-
selectedValue: PropTypes.arrayOf(PropTypes.shape({
|
|
8881
|
-
value: PropTypes.string,
|
|
8882
|
-
label: PropTypes.string
|
|
8883
|
-
})),
|
|
8884
|
-
xIconShow: PropTypes.bool,
|
|
8885
|
-
onChange: PropTypes.func,
|
|
8886
|
-
showLabelOnTop: PropTypes.bool
|
|
8887
|
-
};
|
|
8888
|
-
DropdownSingleNew.defaultProps = {
|
|
8889
|
-
placeHolder: "Type To Search",
|
|
8890
|
-
label: "Label",
|
|
8891
|
-
labelEmptyValue: "All Labels",
|
|
8892
|
-
labelColor: "#066768",
|
|
8893
|
-
required: true,
|
|
8894
|
-
width: "300px",
|
|
8895
|
-
disabled: false,
|
|
8896
|
-
error: false,
|
|
8897
|
-
errorMessage: "",
|
|
8898
|
-
options: [],
|
|
8899
|
-
selectedValue: [],
|
|
8900
|
-
xIconShow: true,
|
|
8901
|
-
onChange: () => {},
|
|
8902
|
-
showLabelOnTop: true,
|
|
8903
|
-
orderBy: "asc",
|
|
8904
|
-
elementType: "number"
|
|
8905
|
-
};
|
|
8906
8905
|
|
|
8907
8906
|
const CheckBoxCheckedIcon = ({
|
|
8908
8907
|
clicked,
|
|
@@ -8970,6 +8969,16 @@ const DropdownWrapper$1 = styled.div`
|
|
|
8970
8969
|
font-weight: 400;
|
|
8971
8970
|
font-size: 14px;
|
|
8972
8971
|
border-radius: 10px;
|
|
8972
|
+
&::before {
|
|
8973
|
+
content: '';
|
|
8974
|
+
position: absolute;
|
|
8975
|
+
top: 100%;
|
|
8976
|
+
left: 0;
|
|
8977
|
+
right: 0;
|
|
8978
|
+
height: 2px; // Creates invisible bridge for hover
|
|
8979
|
+
z-index: 99;
|
|
8980
|
+
pointer-events: none;
|
|
8981
|
+
}
|
|
8973
8982
|
`;
|
|
8974
8983
|
const Label$6 = styled.label`
|
|
8975
8984
|
font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
|
|
@@ -9055,7 +9064,12 @@ const StyledInput$7 = styled.input`
|
|
|
9055
9064
|
`;
|
|
9056
9065
|
const OptionsContainer$6 = styled.div`
|
|
9057
9066
|
margin: 0;
|
|
9058
|
-
|
|
9067
|
+
position: absolute;
|
|
9068
|
+
${props => props.showabove ? `
|
|
9069
|
+
bottom: 100%;
|
|
9070
|
+
` : `
|
|
9071
|
+
top: 100%;
|
|
9072
|
+
`}
|
|
9059
9073
|
left: 0;
|
|
9060
9074
|
z-index: 100;
|
|
9061
9075
|
width: 100%;
|
|
@@ -9063,17 +9077,16 @@ const OptionsContainer$6 = styled.div`
|
|
|
9063
9077
|
display: ${props => props.showoptions && props.filteredoptions?.length > 0 ? 'block' : 'none'};
|
|
9064
9078
|
`;
|
|
9065
9079
|
const OptionsSubContainer$2 = styled.ul`
|
|
9080
|
+
position: relative;
|
|
9081
|
+
z-index: 101;
|
|
9082
|
+
top: 100%;
|
|
9083
|
+
/* left: 0; */
|
|
9066
9084
|
${scrollableStyles$c}
|
|
9067
9085
|
list-style: none;
|
|
9068
9086
|
font-weight: 400;
|
|
9069
9087
|
margin: 0;
|
|
9070
9088
|
padding: 8px 12px;
|
|
9071
|
-
position: absolute;
|
|
9072
|
-
top: 100%;
|
|
9073
|
-
left: 0;
|
|
9074
|
-
z-index: 101;
|
|
9075
9089
|
width: calc(100% - 23px);
|
|
9076
|
-
font-family: Poppins;
|
|
9077
9090
|
border-radius: 4px;
|
|
9078
9091
|
background-color: #fff;
|
|
9079
9092
|
display: ${props => props.showoptions && props.filteredoptions?.length > 0 ? 'block' : 'none'};
|
|
@@ -9090,7 +9103,6 @@ const OptionItem$2 = styled.li`
|
|
|
9090
9103
|
padding: 10px;
|
|
9091
9104
|
cursor: pointer;
|
|
9092
9105
|
color: #212121;
|
|
9093
|
-
font-family: Poppins;
|
|
9094
9106
|
font-size: 14px;
|
|
9095
9107
|
font-style: normal;
|
|
9096
9108
|
font-weight: 400;
|
|
@@ -9162,6 +9174,7 @@ const DropdownMultiNew = ({
|
|
|
9162
9174
|
}) => {
|
|
9163
9175
|
const [isFocused, setIsFocused] = useState(false);
|
|
9164
9176
|
const [showOptions, setShowOptions] = useState(false);
|
|
9177
|
+
const [showAbove, setShowAbove] = useState(false);
|
|
9165
9178
|
const [inputValue, setInputValue] = useState("");
|
|
9166
9179
|
const [selectedOptions, setSelectedOptions] = useState([]);
|
|
9167
9180
|
const [hoverInputContainer, setHoverInputContainer] = useState(false);
|
|
@@ -9185,6 +9198,22 @@ const DropdownMultiNew = ({
|
|
|
9185
9198
|
}
|
|
9186
9199
|
break;
|
|
9187
9200
|
}
|
|
9201
|
+
|
|
9202
|
+
// Calculate position when showOptions changes
|
|
9203
|
+
useEffect(() => {
|
|
9204
|
+
if (showOptions && containerRef.current) {
|
|
9205
|
+
const rect = containerRef.current.getBoundingClientRect();
|
|
9206
|
+
const windowHeight = window.innerHeight;
|
|
9207
|
+
const dropdownHeight = Math.min(filteredOptions.length * 40 + 20, 240); // Estimate dropdown height
|
|
9208
|
+
|
|
9209
|
+
// Check if dropdown would go off-screen at bottom
|
|
9210
|
+
const spaceBelow = windowHeight - rect.bottom;
|
|
9211
|
+
const spaceAbove = rect.top;
|
|
9212
|
+
|
|
9213
|
+
// Show above if there's not enough space below and there's more space above
|
|
9214
|
+
setShowAbove(spaceBelow < dropdownHeight && spaceAbove > spaceBelow);
|
|
9215
|
+
}
|
|
9216
|
+
}, [showOptions, filteredOptions.length]);
|
|
9188
9217
|
useEffect(() => {
|
|
9189
9218
|
if (selectedValue) {
|
|
9190
9219
|
setSelectedOptions(selectedValue);
|
|
@@ -9367,11 +9396,13 @@ const DropdownMultiNew = ({
|
|
|
9367
9396
|
onMouseEnter: () => setHoverOptionsContainer(true),
|
|
9368
9397
|
onMouseLeave: () => setHoverOptionsContainer(false),
|
|
9369
9398
|
showoptions: showOptions,
|
|
9399
|
+
showabove: showAbove,
|
|
9370
9400
|
disabled: disabled,
|
|
9371
9401
|
filteredoptions: filteredOptions
|
|
9372
9402
|
}, /*#__PURE__*/React$1.createElement(OptionsSubContainer$2, {
|
|
9373
9403
|
className: "OptionsSubContainer",
|
|
9374
9404
|
showoptions: showOptions,
|
|
9405
|
+
showabove: showAbove,
|
|
9375
9406
|
disabled: disabled,
|
|
9376
9407
|
filteredoptions: filteredOptions
|
|
9377
9408
|
}, filteredOptions.map(option => /*#__PURE__*/React$1.createElement(OptionItem$2, {
|
|
@@ -9391,48 +9422,6 @@ const DropdownMultiNew = ({
|
|
|
9391
9422
|
color: disabled ? "#888" : "#212121"
|
|
9392
9423
|
})), option.label)))));
|
|
9393
9424
|
};
|
|
9394
|
-
DropdownMultiNew.propTypes = {
|
|
9395
|
-
placeHolder: PropTypes.string,
|
|
9396
|
-
label: PropTypes.string,
|
|
9397
|
-
labelEmptyValue: PropTypes.string,
|
|
9398
|
-
labelColor: PropTypes.string,
|
|
9399
|
-
checkBoxColor: PropTypes.string,
|
|
9400
|
-
required: PropTypes.bool,
|
|
9401
|
-
width: PropTypes.string,
|
|
9402
|
-
disabled: PropTypes.bool,
|
|
9403
|
-
error: PropTypes.bool,
|
|
9404
|
-
errorMessage: "",
|
|
9405
|
-
options: PropTypes.arrayOf(PropTypes.shape({
|
|
9406
|
-
value: PropTypes.string,
|
|
9407
|
-
label: PropTypes.string
|
|
9408
|
-
})),
|
|
9409
|
-
selectedValue: PropTypes.arrayOf(PropTypes.shape({
|
|
9410
|
-
value: PropTypes.string,
|
|
9411
|
-
label: PropTypes.string
|
|
9412
|
-
})),
|
|
9413
|
-
onChange: PropTypes.func,
|
|
9414
|
-
xIconShow: PropTypes.bool,
|
|
9415
|
-
showLabelOnTop: PropTypes.bool
|
|
9416
|
-
};
|
|
9417
|
-
DropdownMultiNew.defaultProps = {
|
|
9418
|
-
placeHolder: "Type To Search",
|
|
9419
|
-
label: "Label",
|
|
9420
|
-
labelEmptyValue: "All Labels",
|
|
9421
|
-
labelColor: "#066768",
|
|
9422
|
-
checkBoxColor: "#229E38",
|
|
9423
|
-
required: true,
|
|
9424
|
-
width: "300px",
|
|
9425
|
-
disabled: false,
|
|
9426
|
-
error: false,
|
|
9427
|
-
errorMessage: "",
|
|
9428
|
-
options: [],
|
|
9429
|
-
selectedValue: [],
|
|
9430
|
-
xIconShow: true,
|
|
9431
|
-
onChange: () => {},
|
|
9432
|
-
showLabelOnTop: true,
|
|
9433
|
-
orderBy: "asc",
|
|
9434
|
-
elementType: "number"
|
|
9435
|
-
};
|
|
9436
9425
|
|
|
9437
9426
|
const DropdownMain = styled.div`
|
|
9438
9427
|
position: relative;
|
|
@@ -23904,21 +23893,22 @@ const DeleteIcon = styled.div`
|
|
|
23904
23893
|
position: absolute;
|
|
23905
23894
|
`;
|
|
23906
23895
|
|
|
23907
|
-
const QuickFilterDropdownSingle =
|
|
23908
|
-
|
|
23909
|
-
|
|
23910
|
-
|
|
23911
|
-
|
|
23912
|
-
|
|
23913
|
-
|
|
23914
|
-
|
|
23915
|
-
|
|
23916
|
-
|
|
23917
|
-
|
|
23918
|
-
|
|
23919
|
-
|
|
23920
|
-
|
|
23921
|
-
|
|
23896
|
+
const QuickFilterDropdownSingle = _ref => {
|
|
23897
|
+
let {
|
|
23898
|
+
label,
|
|
23899
|
+
hoverColor,
|
|
23900
|
+
options,
|
|
23901
|
+
selectedValue,
|
|
23902
|
+
placeHolder,
|
|
23903
|
+
onChange,
|
|
23904
|
+
disabled,
|
|
23905
|
+
width,
|
|
23906
|
+
error,
|
|
23907
|
+
errorMessage,
|
|
23908
|
+
xIconShow,
|
|
23909
|
+
labelColor,
|
|
23910
|
+
showLabelOnTop
|
|
23911
|
+
} = _ref;
|
|
23922
23912
|
const [isFocused, setIsFocused] = useState(false);
|
|
23923
23913
|
const [showOptions, setShowOptions] = useState(false);
|
|
23924
23914
|
const [inputValue, setInputValue] = useState("");
|
|
@@ -41536,6 +41526,11 @@ const ButtonContainer$1 = styled.div`
|
|
|
41536
41526
|
flex-direction: column;
|
|
41537
41527
|
gap: 5px;
|
|
41538
41528
|
margin-top: 16px;
|
|
41529
|
+
.ButtonContainer {
|
|
41530
|
+
label {
|
|
41531
|
+
white-space: nowrap;
|
|
41532
|
+
}
|
|
41533
|
+
}
|
|
41539
41534
|
`;
|
|
41540
41535
|
const Container$1 = styled.div`
|
|
41541
41536
|
display: flex;
|
|
@@ -41552,6 +41547,11 @@ const Trash$1 = styled.div`
|
|
|
41552
41547
|
height: 24px;
|
|
41553
41548
|
padding: 0 12px;
|
|
41554
41549
|
cursor: pointer;
|
|
41550
|
+
|
|
41551
|
+
svg {
|
|
41552
|
+
pointer-events: none;
|
|
41553
|
+
}
|
|
41554
|
+
|
|
41555
41555
|
svg path {
|
|
41556
41556
|
fill: white;
|
|
41557
41557
|
}
|
|
@@ -41833,8 +41833,8 @@ const AddButtonContainer = styled.div`
|
|
|
41833
41833
|
`;
|
|
41834
41834
|
const Container = styled.div`
|
|
41835
41835
|
display: flex;
|
|
41836
|
+
gap: 16px;
|
|
41836
41837
|
align-items: center;
|
|
41837
|
-
justify-content: space-between;
|
|
41838
41838
|
width: 100%;
|
|
41839
41839
|
`;
|
|
41840
41840
|
const Item$1 = styled.div`
|
|
@@ -41854,14 +41854,11 @@ const Item$1 = styled.div`
|
|
|
41854
41854
|
const Title$2 = styled.div`
|
|
41855
41855
|
overflow: hidden;
|
|
41856
41856
|
color: #000;
|
|
41857
|
-
|
|
41858
|
-
font-feature-settings: 'liga' off;
|
|
41859
41857
|
text-overflow: ellipsis;
|
|
41858
|
+
margin-right: auto;
|
|
41860
41859
|
/* Content/P2 Regular */
|
|
41861
41860
|
font-size: 14px;
|
|
41862
|
-
font-style: normal;
|
|
41863
41861
|
font-weight: 400;
|
|
41864
|
-
line-height: normal;
|
|
41865
41862
|
`;
|
|
41866
41863
|
const ComponentContainer = styled.div`
|
|
41867
41864
|
border-radius: 48px;
|
|
@@ -41894,6 +41891,11 @@ const Trash = styled.div`
|
|
|
41894
41891
|
height: 24px;
|
|
41895
41892
|
padding: 0 8px;
|
|
41896
41893
|
cursor: pointer;
|
|
41894
|
+
|
|
41895
|
+
svg {
|
|
41896
|
+
pointer-events: none;
|
|
41897
|
+
}
|
|
41898
|
+
|
|
41897
41899
|
svg path {
|
|
41898
41900
|
fill: white;
|
|
41899
41901
|
}
|
|
@@ -41908,14 +41910,27 @@ const Trash = styled.div`
|
|
|
41908
41910
|
const NewSubitemList = props => {
|
|
41909
41911
|
const {
|
|
41910
41912
|
vendor,
|
|
41911
|
-
setSelectedPackage,
|
|
41912
41913
|
onBack,
|
|
41913
41914
|
handleSubitemDetail,
|
|
41914
41915
|
itemAndPackage,
|
|
41915
|
-
|
|
41916
|
+
setSelectedPackage,
|
|
41917
|
+
setItemAndPackage,
|
|
41916
41918
|
linkColor
|
|
41917
41919
|
} = props;
|
|
41918
41920
|
const vendorItems = itemAndPackage.find(i => i.name === vendor.name).packages || [];
|
|
41921
|
+
const onDeletePackage = item => {
|
|
41922
|
+
const updatedPackages = vendorItems.filter(pkg => pkg.brands !== item.brands);
|
|
41923
|
+
const updatedItemAndPackage = itemAndPackage.map(v => v.name === vendor.name ? {
|
|
41924
|
+
...v,
|
|
41925
|
+
packages: updatedPackages
|
|
41926
|
+
} : v);
|
|
41927
|
+
setItemAndPackage(updatedItemAndPackage);
|
|
41928
|
+
};
|
|
41929
|
+
// useEffect(() => {
|
|
41930
|
+
// console.log("Vendor items updated:", vendorItems);
|
|
41931
|
+
// console.log("Props:", props);
|
|
41932
|
+
// }, [vendorItems]);
|
|
41933
|
+
|
|
41919
41934
|
return /*#__PURE__*/React$1.createElement(NewSubitemContainer$1, null, /*#__PURE__*/React$1.createElement(Header$1, null, /*#__PURE__*/React$1.createElement(BackButton$1, {
|
|
41920
41935
|
onClick: onBack
|
|
41921
41936
|
}, /*#__PURE__*/React$1.createElement(ArrowLeftIcon, null)), /*#__PURE__*/React$1.createElement(BackTitle$1, null, "All Vendors")), /*#__PURE__*/React$1.createElement(SelectionTitle$1, null, vendor.name), /*#__PURE__*/React$1.createElement(AddButtonContainer, null, /*#__PURE__*/React$1.createElement(LinkButton, {
|
|
@@ -41927,15 +41942,16 @@ const NewSubitemList = props => {
|
|
|
41927
41942
|
text: "Add Package",
|
|
41928
41943
|
type: "primary"
|
|
41929
41944
|
})), /*#__PURE__*/React$1.createElement(List, null, vendorItems.map((item, idx) => /*#__PURE__*/React$1.createElement(Item$1, {
|
|
41945
|
+
key: idx
|
|
41946
|
+
}, /*#__PURE__*/React$1.createElement(PaperPlane, null), /*#__PURE__*/React$1.createElement(Container, {
|
|
41930
41947
|
onClick: e => {
|
|
41931
41948
|
setSelectedPackage(item);
|
|
41932
41949
|
handleSubitemDetail(item);
|
|
41933
|
-
}
|
|
41934
|
-
|
|
41935
|
-
}, /*#__PURE__*/React$1.createElement(PaperPlane, null), /*#__PURE__*/React$1.createElement(Container, null, item.brands && /*#__PURE__*/React$1.createElement(Title$2, null, item.brands), item.component && /*#__PURE__*/React$1.createElement(ComponentContainer, null, item.component[0])), /*#__PURE__*/React$1.createElement(Chevron, null, /*#__PURE__*/React$1.createElement(ArrowRightFullIcon, null)), /*#__PURE__*/React$1.createElement(Trash, {
|
|
41950
|
+
}
|
|
41951
|
+
}, item.brands && /*#__PURE__*/React$1.createElement(Title$2, null, item.brands), item.component && /*#__PURE__*/React$1.createElement(ComponentContainer, null, item.component[0]), /*#__PURE__*/React$1.createElement(Chevron, null, /*#__PURE__*/React$1.createElement(ArrowRightFullIcon, null))), /*#__PURE__*/React$1.createElement(Trash, {
|
|
41936
41952
|
className: "trash-icon",
|
|
41937
41953
|
onClick: e => {
|
|
41938
|
-
|
|
41954
|
+
onDeletePackage(item);
|
|
41939
41955
|
}
|
|
41940
41956
|
}, /*#__PURE__*/React$1.createElement("svg", {
|
|
41941
41957
|
width: "14",
|
|
@@ -42082,11 +42098,9 @@ const NegotiatedTextarea = styled.textarea`
|
|
|
42082
42098
|
width: 90%;
|
|
42083
42099
|
min-height: 220px;
|
|
42084
42100
|
margin-top: 8px;
|
|
42085
|
-
|
|
42086
42101
|
border: 1px solid #e3e4e5;
|
|
42087
42102
|
border-radius: 12px;
|
|
42088
42103
|
padding: 16px;
|
|
42089
|
-
font-family: Poppins;
|
|
42090
42104
|
font-size: 15px;
|
|
42091
42105
|
resize: vertical;
|
|
42092
42106
|
background: #fff;
|
|
@@ -42114,7 +42128,7 @@ const NewSubitem = ({
|
|
|
42114
42128
|
const [negotiatedComponent, setNegotiatedComponent] = useState("Scale");
|
|
42115
42129
|
|
|
42116
42130
|
// Form state
|
|
42117
|
-
const isApplyEnabled = negotiatedBrands.trim().length >
|
|
42131
|
+
const isApplyEnabled = negotiatedBrands.trim().length > 2;
|
|
42118
42132
|
useEffect(() => {
|
|
42119
42133
|
if (!packageObject) return;
|
|
42120
42134
|
if (!packageObject.brands) return;
|
|
@@ -42151,13 +42165,7 @@ const NewSubitem = ({
|
|
|
42151
42165
|
onChange: e => setNegotiatedBrands(e.target.value),
|
|
42152
42166
|
required: true,
|
|
42153
42167
|
placeholder: "Specify by text the participated brands, divided by commas"
|
|
42154
|
-
})), /*#__PURE__*/React$1.createElement(NegotiatedContainer, null, /*#__PURE__*/React$1.createElement(AddNegotiatedBrand, {
|
|
42155
|
-
style: {
|
|
42156
|
-
fontWeight: 500,
|
|
42157
|
-
fontFamily: "Poppins",
|
|
42158
|
-
fontSize: 15
|
|
42159
|
-
}
|
|
42160
|
-
}, "Component ", /*#__PURE__*/React$1.createElement("span", {
|
|
42168
|
+
})), /*#__PURE__*/React$1.createElement(NegotiatedContainer, null, /*#__PURE__*/React$1.createElement(AddNegotiatedBrand, null, "Component ", /*#__PURE__*/React$1.createElement("span", {
|
|
42161
42169
|
style: {
|
|
42162
42170
|
color: "red"
|
|
42163
42171
|
}
|
|
@@ -50844,1038 +50852,18 @@ const ItemManagerPanel = _ref => {
|
|
|
50844
50852
|
height = "100%",
|
|
50845
50853
|
onSendForms = () => {},
|
|
50846
50854
|
editMode = true,
|
|
50847
|
-
|
|
50848
|
-
|
|
50849
|
-
packages: [{
|
|
50850
|
-
brands: "Pepssi, Cola",
|
|
50851
|
-
component: "Scale"
|
|
50852
|
-
}]
|
|
50853
|
-
}, {
|
|
50854
|
-
name: "4C FOODS CORP",
|
|
50855
|
-
packages: [{
|
|
50856
|
-
brands: "Tide, Ariel",
|
|
50857
|
-
component: "Scale"
|
|
50858
|
-
}]
|
|
50859
|
-
}, {
|
|
50860
|
-
name: "8 TRACK FOODS INC",
|
|
50861
|
-
packages: null
|
|
50862
|
-
}, {
|
|
50863
|
-
name: "88 ACRES",
|
|
50864
|
-
packages: null
|
|
50865
|
-
}, {
|
|
50866
|
-
name: "8TH AVENUE FOOD & PROVISIONS INC",
|
|
50867
|
-
packages: null
|
|
50868
|
-
}, {
|
|
50869
|
-
name: "A GAME BEVERAGES LLC",
|
|
50870
|
-
packages: null
|
|
50871
|
-
}, {
|
|
50872
|
-
name: "A LOACKER LTD",
|
|
50873
|
-
packages: null
|
|
50874
|
-
}, {
|
|
50875
|
-
name: "A P DEAUVILLE",
|
|
50876
|
-
packages: null
|
|
50877
|
-
}, {
|
|
50878
|
-
name: "AB WORLD FOODS",
|
|
50879
|
-
packages: null
|
|
50880
|
-
}, {
|
|
50881
|
-
name: "ABBOTT LABS INC",
|
|
50882
|
-
packages: null
|
|
50883
|
-
}, {
|
|
50884
|
-
name: "ABBVIE",
|
|
50885
|
-
packages: null
|
|
50886
|
-
}, {
|
|
50887
|
-
name: "ABF",
|
|
50888
|
-
packages: null
|
|
50889
|
-
}, {
|
|
50890
|
-
name: "AC FOODS",
|
|
50891
|
-
packages: null
|
|
50892
|
-
}, {
|
|
50893
|
-
name: "ACH FOODS",
|
|
50894
|
-
packages: null
|
|
50895
|
-
}, {
|
|
50896
|
-
name: "ACME SMOKED FISH",
|
|
50897
|
-
packages: null
|
|
50898
|
-
}, {
|
|
50899
|
-
name: "ADVANCEPIERRE FOODS",
|
|
50900
|
-
packages: null
|
|
50901
|
-
}, {
|
|
50902
|
-
name: "ADVANTAGE SOLUTIONS",
|
|
50903
|
-
packages: null
|
|
50904
|
-
}, {
|
|
50905
|
-
name: "AGRI MARK FARMERS CO OP",
|
|
50906
|
-
packages: null
|
|
50907
|
-
}, {
|
|
50908
|
-
name: "AGROS NOVA LTD",
|
|
50909
|
-
packages: null
|
|
50910
|
-
}, {
|
|
50911
|
-
name: "AHIMSA COMPANIES",
|
|
50912
|
-
packages: null
|
|
50913
|
-
}, {
|
|
50914
|
-
name: "AINSWORTH",
|
|
50915
|
-
packages: null
|
|
50916
|
-
}, {
|
|
50917
|
-
name: "AJ LETIZIO-TWO RIVERS",
|
|
50918
|
-
packages: null
|
|
50919
|
-
}, {
|
|
50920
|
-
name: "AJINOMOTO CO INC",
|
|
50921
|
-
packages: null
|
|
50922
|
-
}, {
|
|
50923
|
-
name: "ALANRIC FOOD DIST INC",
|
|
50924
|
-
packages: null
|
|
50925
|
-
}, {
|
|
50926
|
-
name: "ALBANESE CONFECTIONERY GRP INC",
|
|
50927
|
-
packages: null
|
|
50928
|
-
}, {
|
|
50929
|
-
name: "ALCON EYE CARE",
|
|
50930
|
-
packages: null
|
|
50931
|
-
}, {
|
|
50932
|
-
name: "ALEN USA",
|
|
50933
|
-
packages: null
|
|
50934
|
-
}, {
|
|
50935
|
-
name: "ALEXIA FOODS",
|
|
50936
|
-
packages: null
|
|
50937
|
-
}, {
|
|
50938
|
-
name: "ALFRED RITTER GMBH & CO KG",
|
|
50939
|
-
packages: null
|
|
50940
|
-
}, {
|
|
50941
|
-
name: "ALKALINE88 LLC",
|
|
50942
|
-
packages: null
|
|
50943
|
-
}, {
|
|
50944
|
-
name: "ALOHA",
|
|
50945
|
-
packages: null
|
|
50946
|
-
}, {
|
|
50947
|
-
name: "ALPHA FOODS INC",
|
|
50948
|
-
packages: null
|
|
50949
|
-
}, {
|
|
50950
|
-
name: "ALTER ECO",
|
|
50951
|
-
packages: null
|
|
50952
|
-
}, {
|
|
50953
|
-
name: "ALWAYS FRESH FARMS",
|
|
50954
|
-
packages: null
|
|
50955
|
-
}, {
|
|
50956
|
-
name: "AMERICAN BEVERAGE MARKETERS",
|
|
50957
|
-
packages: null
|
|
50958
|
-
}, {
|
|
50959
|
-
name: "AMERICAN GREETINGS CORP",
|
|
50960
|
-
packages: null
|
|
50961
|
-
}, {
|
|
50962
|
-
name: "AMERICAN HALAL CO INC",
|
|
50963
|
-
packages: null
|
|
50964
|
-
}, {
|
|
50965
|
-
name: "AMERICAN LICORICE CO",
|
|
50966
|
-
packages: null
|
|
50967
|
-
}, {
|
|
50968
|
-
name: "AMERICAN PET NUTRITION INC",
|
|
50969
|
-
packages: null
|
|
50970
|
-
}, {
|
|
50971
|
-
name: "AMOROSOS BAKERY",
|
|
50972
|
-
packages: null
|
|
50973
|
-
}, {
|
|
50974
|
-
name: "AMPLIFY SNACKS",
|
|
50975
|
-
packages: null
|
|
50976
|
-
}, {
|
|
50977
|
-
name: "AMYS KITCHEN INC",
|
|
50978
|
-
packages: null
|
|
50979
|
-
}, {
|
|
50980
|
-
name: "ANDERSON MAPLE SYRUP CO",
|
|
50981
|
-
packages: null
|
|
50982
|
-
}, {
|
|
50983
|
-
name: "ANDRE PROST INC",
|
|
50984
|
-
packages: null
|
|
50985
|
-
}, {
|
|
50986
|
-
name: "ANDROS FOODS USA INC",
|
|
50987
|
-
packages: null
|
|
50988
|
-
}, {
|
|
50989
|
-
name: "ANDYS SEASONING INC",
|
|
50990
|
-
packages: null
|
|
50991
|
-
}, {
|
|
50992
|
-
name: "ANIMATED BRANDS",
|
|
50993
|
-
packages: null
|
|
50994
|
-
}, {
|
|
50995
|
-
name: "APPLE & EVE INC",
|
|
50996
|
-
packages: null
|
|
50997
|
-
}, {
|
|
50998
|
-
name: "AQUA VITEA LLC",
|
|
50999
|
-
packages: null
|
|
51000
|
-
}, {
|
|
51001
|
-
name: "ARCA CONTINENTAL",
|
|
51002
|
-
packages: null
|
|
51003
|
-
}, {
|
|
51004
|
-
name: "ARIZONA BEVERAGES",
|
|
51005
|
-
packages: null
|
|
51006
|
-
}, {
|
|
51007
|
-
name: "ARIZONA CANNING",
|
|
51008
|
-
packages: null
|
|
51009
|
-
}, {
|
|
51010
|
-
name: "ARTISAN CHEF MANUFACTURING CO",
|
|
51011
|
-
packages: null
|
|
51012
|
-
}, {
|
|
51013
|
-
name: "ARTISAN TROPIC",
|
|
51014
|
-
packages: null
|
|
51015
|
-
}, {
|
|
51016
|
-
name: "ASHOC",
|
|
51017
|
-
packages: null
|
|
51018
|
-
}, {
|
|
51019
|
-
name: "ASPIRE BVRG CO",
|
|
51020
|
-
packages: null
|
|
51021
|
-
}, {
|
|
51022
|
-
name: "ASR GRP",
|
|
51023
|
-
packages: null
|
|
51024
|
-
}, {
|
|
51025
|
-
name: "ASSOCIATED BRITISH FOODS PLC",
|
|
51026
|
-
packages: null
|
|
51027
|
-
}, {
|
|
51028
|
-
name: "ATEECO INC",
|
|
51029
|
-
packages: null
|
|
51030
|
-
}, {
|
|
51031
|
-
name: "ATHENS BAKING CO LLC",
|
|
51032
|
-
packages: null
|
|
51033
|
-
}, {
|
|
51034
|
-
name: "ATK FOODS",
|
|
51035
|
-
packages: null
|
|
51036
|
-
}, {
|
|
51037
|
-
name: "ATLANTIC NATURAL FOODS LLC",
|
|
51038
|
-
packages: null
|
|
51039
|
-
}, {
|
|
51040
|
-
name: "AUGUSTAS CREATIONS",
|
|
51041
|
-
packages: null
|
|
51042
|
-
}, {
|
|
51043
|
-
name: "AUNT KITTYS FOODS",
|
|
51044
|
-
packages: null
|
|
51045
|
-
}, {
|
|
51046
|
-
name: "AUNT SUES RAW HONEY",
|
|
51047
|
-
packages: null
|
|
51048
|
-
}, {
|
|
51049
|
-
name: "AVOCADOS FROM MEXICO",
|
|
51050
|
-
packages: null
|
|
51051
|
-
}, {
|
|
51052
|
-
name: "B&B PECAN PROCESSORS",
|
|
51053
|
-
packages: null
|
|
51054
|
-
}, {
|
|
51055
|
-
name: "B&G FOODS INC",
|
|
51056
|
-
packages: null
|
|
51057
|
-
}, {
|
|
51058
|
-
name: "B.S.A. INTERNATIONAL S.A.",
|
|
51059
|
-
packages: null
|
|
51060
|
-
}, {
|
|
51061
|
-
name: "B2Z PRODS INC",
|
|
51062
|
-
packages: null
|
|
51063
|
-
}, {
|
|
51064
|
-
name: "BACHANS SPECIALTY FOODS LLC",
|
|
51065
|
-
packages: null
|
|
51066
|
-
}, {
|
|
51067
|
-
name: "BACK TO NATURE",
|
|
51068
|
-
packages: null
|
|
51069
|
-
}, {
|
|
51070
|
-
name: "BADIA SPICES INC",
|
|
51071
|
-
packages: null
|
|
51072
|
-
}, {
|
|
51073
|
-
name: "BAKER MILLS",
|
|
51074
|
-
packages: null
|
|
51075
|
-
}, {
|
|
51076
|
-
name: "BALL CORP",
|
|
51077
|
-
packages: null
|
|
51078
|
-
}, {
|
|
51079
|
-
name: "BANG ENERGY",
|
|
51080
|
-
packages: null
|
|
51081
|
-
}, {
|
|
51082
|
-
name: "BANTAM BAGELS",
|
|
51083
|
-
packages: null
|
|
51084
|
-
}, {
|
|
51085
|
-
name: "BARCEL",
|
|
51086
|
-
packages: null
|
|
51087
|
-
}, {
|
|
51088
|
-
name: "BARD VALLEY MEDJOOL DATE",
|
|
51089
|
-
packages: null
|
|
51090
|
-
}, {
|
|
51091
|
-
name: "BARILLA AMERICA INC BARILLA GER FRATELLI",
|
|
51092
|
-
packages: null
|
|
51093
|
-
}, {
|
|
51094
|
-
name: "BARKMAN HONEY LLC",
|
|
51095
|
-
packages: null
|
|
51096
|
-
}, {
|
|
51097
|
-
name: "BARNIES COFFEE KITCHEN",
|
|
51098
|
-
packages: null
|
|
51099
|
-
}, {
|
|
51100
|
-
name: "BAR-S FOODS",
|
|
51101
|
-
packages: null
|
|
51102
|
-
}, {
|
|
51103
|
-
name: "BAY VALLEY FOODS",
|
|
51104
|
-
packages: null
|
|
51105
|
-
}, {
|
|
51106
|
-
name: "BAYER AG",
|
|
51107
|
-
packages: null
|
|
51108
|
-
}, {
|
|
51109
|
-
name: "BAZOOKA CANDY BRANDS",
|
|
51110
|
-
packages: null
|
|
51111
|
-
}, {
|
|
51112
|
-
name: "BEANITOS",
|
|
51113
|
-
packages: null
|
|
51114
|
-
}, {
|
|
51115
|
-
name: "BEECH-NUT",
|
|
51116
|
-
packages: null
|
|
51117
|
-
}, {
|
|
51118
|
-
name: "BEIERSDORF INC",
|
|
51119
|
-
packages: null
|
|
51120
|
-
}, {
|
|
51121
|
-
name: "BEL BRANDS",
|
|
51122
|
-
packages: null
|
|
51123
|
-
}, {
|
|
51124
|
-
name: "BELGIOIOSO CHEESE",
|
|
51125
|
-
packages: null
|
|
51126
|
-
}, {
|
|
51127
|
-
name: "BELL & EVANS CO",
|
|
51128
|
-
packages: null
|
|
51129
|
-
}, {
|
|
51130
|
-
name: "BELL CARTER FOODS INC",
|
|
51131
|
-
packages: null
|
|
51132
|
-
}, {
|
|
51133
|
-
name: "BELLISIO FOODS",
|
|
51134
|
-
packages: null
|
|
51135
|
-
}, {
|
|
51136
|
-
name: "BERKSHIRE HATHAWAY INC",
|
|
51137
|
-
packages: null
|
|
51138
|
-
}, {
|
|
51139
|
-
name: "BERNATELLOS PIZZA INC",
|
|
51140
|
-
packages: null
|
|
51141
|
-
}, {
|
|
51142
|
-
name: "BETTER FOODS JEYER LLC",
|
|
51143
|
-
packages: null
|
|
51144
|
-
}, {
|
|
51145
|
-
name: "BETTYS & TAYLORS OF HARROGATE",
|
|
51146
|
-
packages: null
|
|
51147
|
-
}, {
|
|
51148
|
-
name: "BEVCO",
|
|
51149
|
-
packages: null
|
|
51150
|
-
}, {
|
|
51151
|
-
name: "BEYOND BETTER FOODS LLC",
|
|
51152
|
-
packages: null
|
|
51153
|
-
}, {
|
|
51154
|
-
name: "BEYOND MEAT INC",
|
|
51155
|
-
packages: null
|
|
51156
|
-
}, {
|
|
51157
|
-
name: "BIC USA INC",
|
|
51158
|
-
packages: null
|
|
51159
|
-
}, {
|
|
51160
|
-
name: "BIC WORLD",
|
|
51161
|
-
packages: null
|
|
51162
|
-
}, {
|
|
51163
|
-
name: "BIG EASY BLENDS LLC",
|
|
51164
|
-
packages: null
|
|
51165
|
-
}, {
|
|
51166
|
-
name: "BIG HEART PET",
|
|
51167
|
-
packages: null
|
|
51168
|
-
}, {
|
|
51169
|
-
name: "BIG MOZZ INC",
|
|
51170
|
-
packages: null
|
|
51171
|
-
}, {
|
|
51172
|
-
name: "BIG RUSS BEER CHEESE",
|
|
51173
|
-
packages: null
|
|
51174
|
-
}, {
|
|
51175
|
-
name: "BIG SHOW FOODS INC",
|
|
51176
|
-
packages: null
|
|
51177
|
-
}, {
|
|
51178
|
-
name: "BIG TREE FARMS",
|
|
51179
|
-
packages: null
|
|
51180
|
-
}, {
|
|
51181
|
-
name: "BING BEVERAGE",
|
|
51182
|
-
packages: null
|
|
51183
|
-
}, {
|
|
51184
|
-
name: "BIOSTEEL",
|
|
51185
|
-
packages: null
|
|
51186
|
-
}, {
|
|
51187
|
-
name: "BITCHIN SAUCE",
|
|
51188
|
-
packages: null
|
|
51189
|
-
}, {
|
|
51190
|
-
name: "BLACK RIFLE COFFEE CO",
|
|
51191
|
-
packages: null
|
|
51192
|
-
}, {
|
|
51193
|
-
name: "BLACKBEARD BEVERAGE",
|
|
51194
|
-
packages: null
|
|
51195
|
-
}, {
|
|
51196
|
-
name: "BLACKHAWK",
|
|
51197
|
-
packages: null
|
|
51198
|
-
}, {
|
|
51199
|
-
name: "BLUE DIAMOND GROWERS",
|
|
51200
|
-
packages: null
|
|
51201
|
-
}, {
|
|
51202
|
-
name: "BLUE DOG BAKERY",
|
|
51203
|
-
packages: null
|
|
51204
|
-
}, {
|
|
51205
|
-
name: "BLUE NORTHERN FOODS",
|
|
51206
|
-
packages: null
|
|
51207
|
-
}, {
|
|
51208
|
-
name: "BLUE RHINO",
|
|
51209
|
-
packages: null
|
|
51210
|
-
}, {
|
|
51211
|
-
name: "BLUEBERRY COUNCIL",
|
|
51212
|
-
packages: null
|
|
51213
|
-
}, {
|
|
51214
|
-
name: "BLUETRITON BRANDS",
|
|
51215
|
-
packages: null
|
|
51216
|
-
}, {
|
|
51217
|
-
name: "BNRG",
|
|
51218
|
-
packages: null
|
|
51219
|
-
}, {
|
|
51220
|
-
name: "BOARDWALK FROZEN TREATS LLC",
|
|
51221
|
-
packages: null
|
|
51222
|
-
}, {
|
|
51223
|
-
name: "BOBS RED MILL NTRL FOODS",
|
|
51224
|
-
packages: null
|
|
51225
|
-
}, {
|
|
51226
|
-
name: "BODYARMOR",
|
|
51227
|
-
packages: null
|
|
51228
|
-
}, {
|
|
51229
|
-
name: "BOLTHOUSE",
|
|
51230
|
-
packages: null
|
|
51231
|
-
}, {
|
|
51232
|
-
name: "BONA",
|
|
51233
|
-
packages: null
|
|
51234
|
-
}, {
|
|
51235
|
-
name: "BONOLIO",
|
|
51236
|
-
packages: null
|
|
51237
|
-
}, {
|
|
51238
|
-
name: "BORDEN",
|
|
51239
|
-
packages: null
|
|
51240
|
-
}, {
|
|
51241
|
-
name: "BORGES USA STAR FINE FOODS INC",
|
|
51242
|
-
packages: null
|
|
51243
|
-
}, {
|
|
51244
|
-
name: "BOTANICAL FOODS CO",
|
|
51245
|
-
packages: null
|
|
51246
|
-
}, {
|
|
51247
|
-
name: "BOTTICELLI FOOD CORP",
|
|
51248
|
-
packages: null
|
|
51249
|
-
}, {
|
|
51250
|
-
name: "BOWERY FARMING",
|
|
51251
|
-
packages: null
|
|
51252
|
-
}, {
|
|
51253
|
-
name: "BOWMAN ANDROS",
|
|
51254
|
-
packages: null
|
|
51255
|
-
}, {
|
|
51256
|
-
name: "BOYLAN BOTTLING CO INC",
|
|
51257
|
-
packages: null
|
|
51258
|
-
}, {
|
|
51259
|
-
name: "BRADSHAW HOME",
|
|
51260
|
-
packages: null
|
|
51261
|
-
}, {
|
|
51262
|
-
name: "BRAGG LIVE FOOD PRODS INC",
|
|
51263
|
-
packages: null
|
|
51264
|
-
}, {
|
|
51265
|
-
name: "BRASWELL FOODS",
|
|
51266
|
-
packages: null
|
|
51267
|
-
}, {
|
|
51268
|
-
name: "BREW DR",
|
|
51269
|
-
packages: null
|
|
51270
|
-
}, {
|
|
51271
|
-
name: "BRIDGFORD FOODS CORP",
|
|
51272
|
-
packages: null
|
|
51273
|
-
}, {
|
|
51274
|
-
name: "BRIGHT FARMS INC",
|
|
51275
|
-
packages: null
|
|
51276
|
-
}, {
|
|
51277
|
-
name: "BRITVIC WORLDWIDE BRANDS LTD",
|
|
51278
|
-
packages: null
|
|
51279
|
-
}, {
|
|
51280
|
-
name: "BROWNE DRUG COMPANY",
|
|
51281
|
-
packages: null
|
|
51282
|
-
}, {
|
|
51283
|
-
name: "BROWNIE BRITTLE",
|
|
51284
|
-
packages: null
|
|
51285
|
-
}, {
|
|
51286
|
-
name: "BRU BOTTLING INC",
|
|
51287
|
-
packages: null
|
|
51288
|
-
}, {
|
|
51289
|
-
name: "BRYNWOOD PARTNERS",
|
|
51290
|
-
packages: null
|
|
51291
|
-
}, {
|
|
51292
|
-
name: "BS GRILLIN COMPANY",
|
|
51293
|
-
packages: null
|
|
51294
|
-
}, {
|
|
51295
|
-
name: "BUBBAS SWEET NECTAR",
|
|
51296
|
-
packages: null
|
|
51297
|
-
}, {
|
|
51298
|
-
name: "BUDDY FRUITS",
|
|
51299
|
-
packages: null
|
|
51300
|
-
}, {
|
|
51301
|
-
name: "BUMBLE BEE SEAFOOD CO.",
|
|
51302
|
-
packages: null
|
|
51303
|
-
}, {
|
|
51304
|
-
name: "BUONA FOODS INC",
|
|
51305
|
-
packages: null
|
|
51306
|
-
}, {
|
|
51307
|
-
name: "BUSH BROTHERS & CO",
|
|
51308
|
-
packages: null
|
|
51309
|
-
}, {
|
|
51310
|
-
name: "BUTLER HOME PRODUCTS",
|
|
51311
|
-
packages: null
|
|
51312
|
-
}, {
|
|
51313
|
-
name: "BUTTERBALL",
|
|
51314
|
-
packages: null
|
|
51315
|
-
}, {
|
|
51316
|
-
name: "BUTTERFLY EQUITY",
|
|
51317
|
-
packages: null
|
|
51318
|
-
}, {
|
|
51319
|
-
name: "CA FORTUNE",
|
|
51320
|
-
packages: null
|
|
51321
|
-
}, {
|
|
51322
|
-
name: "CA WALNUT COUNCIL",
|
|
51323
|
-
packages: null
|
|
51324
|
-
}, {
|
|
51325
|
-
name: "CAB ENTERPRISES",
|
|
51326
|
-
packages: null
|
|
51327
|
-
}, {
|
|
51328
|
-
name: "CABOT CREAMERY INC",
|
|
51329
|
-
packages: null
|
|
51330
|
-
}, {
|
|
51331
|
-
name: "CACIQUE FOODS LLC",
|
|
51332
|
-
packages: null
|
|
51333
|
-
}, {
|
|
51334
|
-
name: "CALABRO CHEESE CORP",
|
|
51335
|
-
packages: null
|
|
51336
|
-
}, {
|
|
51337
|
-
name: "CALBEE NORTH AMERICA LLC",
|
|
51338
|
-
packages: null
|
|
51339
|
-
}, {
|
|
51340
|
-
name: "CALICO BRANDS INC",
|
|
51341
|
-
packages: null
|
|
51342
|
-
}, {
|
|
51343
|
-
name: "CALIFIA FARMS LLC",
|
|
51344
|
-
packages: null
|
|
51345
|
-
}, {
|
|
51346
|
-
name: "CALIFORNIA GRAPE COMMISSION",
|
|
51347
|
-
packages: null
|
|
51348
|
-
}, {
|
|
51349
|
-
name: "CALIFORNIA OLIVE RANCH INC",
|
|
51350
|
-
packages: null
|
|
51351
|
-
}, {
|
|
51352
|
-
name: "CALIFORNIA TABLE GRAPE COMMISSION",
|
|
51353
|
-
packages: null
|
|
51354
|
-
}, {
|
|
51355
|
-
name: "CALISE SONS BAKERY INC",
|
|
51356
|
-
packages: null
|
|
51357
|
-
}, {
|
|
51358
|
-
name: "CAMELLIA",
|
|
51359
|
-
packages: null
|
|
51360
|
-
}, {
|
|
51361
|
-
name: "CAMERONS COFFEE",
|
|
51362
|
-
packages: null
|
|
51363
|
-
}, {
|
|
51364
|
-
name: "CAMPBELL SOUP CO",
|
|
51365
|
-
packages: null
|
|
51366
|
-
}, {
|
|
51367
|
-
name: "CAPE COD CAFE",
|
|
51368
|
-
packages: null
|
|
51369
|
-
}, {
|
|
51370
|
-
name: "CAPE COD SELECT",
|
|
51371
|
-
packages: null
|
|
51372
|
-
}, {
|
|
51373
|
-
name: "CAPITAL CITY PRODUCE",
|
|
51374
|
-
packages: null
|
|
51375
|
-
}, {
|
|
51376
|
-
name: "CARBONE FINE FOOD LLC",
|
|
51377
|
-
packages: null
|
|
51378
|
-
}, {
|
|
51379
|
-
name: "CARGILL INC",
|
|
51380
|
-
packages: null
|
|
51381
|
-
}, {
|
|
51382
|
-
name: "CARL BUDDIG & CO",
|
|
51383
|
-
packages: null
|
|
51384
|
-
}, {
|
|
51385
|
-
name: "CARLYLE GROUP LP",
|
|
51386
|
-
packages: null
|
|
51387
|
-
}, {
|
|
51388
|
-
name: "CARMICHAELS HONEY LLC",
|
|
51389
|
-
packages: null
|
|
51390
|
-
}, {
|
|
51391
|
-
name: "CAROLINA BREWERY",
|
|
51392
|
-
packages: null
|
|
51393
|
-
}, {
|
|
51394
|
-
name: "CAROLINA NUT COMPANY",
|
|
51395
|
-
packages: null
|
|
51396
|
-
}, {
|
|
51397
|
-
name: "CARTERS",
|
|
51398
|
-
packages: null
|
|
51399
|
-
}, {
|
|
51400
|
-
name: "CASA VISCO",
|
|
51401
|
-
packages: null
|
|
51402
|
-
}, {
|
|
51403
|
-
name: "CASARO",
|
|
51404
|
-
packages: null
|
|
51405
|
-
}, {
|
|
51406
|
-
name: "CASCADIAN",
|
|
51407
|
-
packages: null
|
|
51408
|
-
}, {
|
|
51409
|
-
name: "CASPERS ICE CREAM CO INC",
|
|
51410
|
-
packages: null
|
|
51411
|
-
}, {
|
|
51412
|
-
name: "CATALINA SNACKS INC",
|
|
51413
|
-
packages: null
|
|
51414
|
-
}, {
|
|
51415
|
-
name: "CAULIPOWER",
|
|
51416
|
-
packages: null
|
|
51417
|
-
}, {
|
|
51418
|
-
name: "CEC ENTERTAINMENT INC",
|
|
51419
|
-
packages: null
|
|
51420
|
-
}, {
|
|
51421
|
-
name: "CEDARS MEDITERRANEAN FOODS INC",
|
|
51422
|
-
packages: null
|
|
51423
|
-
}, {
|
|
51424
|
-
name: "CELSIUS HOLDINGS",
|
|
51425
|
-
packages: null
|
|
51426
|
-
}, {
|
|
51427
|
-
name: "CENTRAL GARDEN & PET",
|
|
51428
|
-
packages: null
|
|
51429
|
-
}, {
|
|
51430
|
-
name: "CENTURY SNACKS LLC",
|
|
51431
|
-
packages: null
|
|
51432
|
-
}, {
|
|
51433
|
-
name: "CERELIA BAKERY USA",
|
|
51434
|
-
packages: null
|
|
51435
|
-
}, {
|
|
51436
|
-
name: "CEVES BEVERAGES",
|
|
51437
|
-
packages: null
|
|
51438
|
-
}, {
|
|
51439
|
-
name: "CF SAUER COMPANY",
|
|
51440
|
-
packages: null
|
|
51441
|
-
}, {
|
|
51442
|
-
name: "CHALLENGE DAIRY PRODS INC",
|
|
51443
|
-
packages: null
|
|
51444
|
-
}, {
|
|
51445
|
-
name: "CHAMELEON COLD BREW LLC",
|
|
51446
|
-
packages: null
|
|
51447
|
-
}, {
|
|
51448
|
-
name: "CHARLES & ALICE INC",
|
|
51449
|
-
packages: null
|
|
51450
|
-
}, {
|
|
51451
|
-
name: "CHARLESTON BVRG CO LLC",
|
|
51452
|
-
packages: null
|
|
51453
|
-
}, {
|
|
51454
|
-
name: "CHAROEN POKPHAND",
|
|
51455
|
-
packages: null
|
|
51456
|
-
}, {
|
|
51457
|
-
name: "CHATTEM",
|
|
51458
|
-
packages: null
|
|
51459
|
-
}, {
|
|
51460
|
-
name: "CHEDDIES",
|
|
51461
|
-
packages: null
|
|
51462
|
-
}, {
|
|
51463
|
-
name: "CHEFLER FOODS",
|
|
51464
|
-
packages: null
|
|
51465
|
-
}, {
|
|
51466
|
-
name: "CHELSEA MILLING CO",
|
|
51467
|
-
packages: null
|
|
51468
|
-
}, {
|
|
51469
|
-
name: "CHERIBUNDI INC",
|
|
51470
|
-
packages: null
|
|
51471
|
-
}, {
|
|
51472
|
-
name: "CHICKEN OF THE SEA",
|
|
51473
|
-
packages: null
|
|
51474
|
-
}, {
|
|
51475
|
-
name: "CHILEAN CHERRIES",
|
|
51476
|
-
packages: null
|
|
51477
|
-
}, {
|
|
51478
|
-
name: "CHIQUITA BRANDS LLC",
|
|
51479
|
-
packages: null
|
|
51480
|
-
}, {
|
|
51481
|
-
name: "CHO AMERICA",
|
|
51482
|
-
packages: null
|
|
51483
|
-
}, {
|
|
51484
|
-
name: "CHOBANI INC",
|
|
51485
|
-
packages: null
|
|
51486
|
-
}, {
|
|
51487
|
-
name: "CHOCOLAT FREY AG",
|
|
51488
|
-
packages: null
|
|
51489
|
-
}, {
|
|
51490
|
-
name: "CHOICE CANNING CO",
|
|
51491
|
-
packages: null
|
|
51492
|
-
}, {
|
|
51493
|
-
name: "CHOLULA BRANDS",
|
|
51494
|
-
packages: null
|
|
51495
|
-
}, {
|
|
51496
|
-
name: "CHURCH & DWIGHT CO INC",
|
|
51497
|
-
packages: null
|
|
51498
|
-
}, {
|
|
51499
|
-
name: "CINCINNATI SEAFOOD IMP",
|
|
51500
|
-
packages: null
|
|
51501
|
-
}, {
|
|
51502
|
-
name: "CITRUS WORLD INC",
|
|
51503
|
-
packages: null
|
|
51504
|
-
}, {
|
|
51505
|
-
name: "CJ CHEILJEDANG CORP",
|
|
51506
|
-
packages: null
|
|
51507
|
-
}, {
|
|
51508
|
-
name: "CJ FOODS INC",
|
|
51509
|
-
packages: null
|
|
51510
|
-
}, {
|
|
51511
|
-
name: "CLASSIC COOKING INC",
|
|
51512
|
-
packages: null
|
|
51513
|
-
}, {
|
|
51514
|
-
name: "CLAVEL CORP",
|
|
51515
|
-
packages: null
|
|
51516
|
-
}, {
|
|
51517
|
-
name: "CLEAN CAUSE",
|
|
51518
|
-
packages: null
|
|
51519
|
-
}, {
|
|
51520
|
-
name: "CLEARLY CANADIAN BVRG CORP",
|
|
51521
|
-
packages: null
|
|
51522
|
-
}, {
|
|
51523
|
-
name: "CLEMENS FOOD GRP",
|
|
51524
|
-
packages: null
|
|
51525
|
-
}, {
|
|
51526
|
-
name: "CLEVELAND KITCHEN",
|
|
51527
|
-
packages: null
|
|
51528
|
-
}, {
|
|
51529
|
-
name: "CLIF BAR & CO",
|
|
51530
|
-
packages: null
|
|
51531
|
-
}, {
|
|
51532
|
-
name: "CLOROX CO",
|
|
51533
|
-
packages: null
|
|
51534
|
-
}, {
|
|
51535
|
-
name: "COBRAM ESTATE PTY LTD",
|
|
51536
|
-
packages: null
|
|
51537
|
-
}, {
|
|
51538
|
-
name: "COCA COLA CO",
|
|
51539
|
-
packages: null
|
|
51540
|
-
}, {
|
|
51541
|
-
name: "COLAVITA USA",
|
|
51542
|
-
packages: null
|
|
51543
|
-
}, {
|
|
51544
|
-
name: "COLGATE PALMOLIVE CO",
|
|
51545
|
-
packages: null
|
|
51546
|
-
}, {
|
|
51547
|
-
name: "COMBE INC",
|
|
51548
|
-
packages: null
|
|
51549
|
-
}, {
|
|
51550
|
-
name: "COMMUNITY COFFEE CO INC",
|
|
51551
|
-
packages: null
|
|
51552
|
-
}, {
|
|
51553
|
-
name: "COMPLETELY FRESH FOODS",
|
|
51554
|
-
packages: null
|
|
51555
|
-
}, {
|
|
51556
|
-
name: "CONAGRA BRANDS",
|
|
51557
|
-
packages: null
|
|
51558
|
-
}, {
|
|
51559
|
-
name: "CONAIR CORP",
|
|
51560
|
-
packages: null
|
|
51561
|
-
}, {
|
|
51562
|
-
name: "CONCORD PREMIUM MEATS",
|
|
51563
|
-
packages: null
|
|
51564
|
-
}, {
|
|
51565
|
-
name: "CONGO BRANDS",
|
|
51566
|
-
packages: null
|
|
51567
|
-
}, {
|
|
51568
|
-
name: "CONSERVE ITALIA",
|
|
51569
|
-
packages: null
|
|
51570
|
-
}, {
|
|
51571
|
-
name: "CONSORZIO CASALASCO DEL POMODORO",
|
|
51572
|
-
packages: null
|
|
51573
|
-
}, {
|
|
51574
|
-
name: "CONSTELLATION BRANDS INC",
|
|
51575
|
-
packages: null
|
|
51576
|
-
}, {
|
|
51577
|
-
name: "CONTINENTAL MILLS",
|
|
51578
|
-
packages: null
|
|
51579
|
-
}, {
|
|
51580
|
-
name: "COOPER STREET COOKIES LLC",
|
|
51581
|
-
packages: null
|
|
51582
|
-
}, {
|
|
51583
|
-
name: "COPPER MOON COFFEE LLC",
|
|
51584
|
-
packages: null
|
|
51585
|
-
}, {
|
|
51586
|
-
name: "CORE NUTRITION LLC",
|
|
51587
|
-
packages: null
|
|
51588
|
-
}, {
|
|
51589
|
-
name: "CORMAN USA INC",
|
|
51590
|
-
packages: null
|
|
51591
|
-
}, {
|
|
51592
|
-
name: "COTY",
|
|
51593
|
-
packages: null
|
|
51594
|
-
}, {
|
|
51595
|
-
name: "CR BRANDS INC",
|
|
51596
|
-
packages: null
|
|
51597
|
-
}, {
|
|
51598
|
-
name: "CRAVE BETTER FOODS LLC",
|
|
51599
|
-
packages: null
|
|
51600
|
-
}, {
|
|
51601
|
-
name: "CREATIVE SNACKS",
|
|
51602
|
-
packages: null
|
|
51603
|
-
}, {
|
|
51604
|
-
name: "CRISPY GREEN INC",
|
|
51605
|
-
packages: null
|
|
51606
|
-
}, {
|
|
51607
|
-
name: "CROFTERS FOOD LTD",
|
|
51608
|
-
packages: null
|
|
51609
|
-
}, {
|
|
51610
|
-
name: "CROSSINGWELL CONSUMER HEALTH",
|
|
51611
|
-
packages: null
|
|
51612
|
-
}, {
|
|
51613
|
-
name: "CRYSTAL FARMS",
|
|
51614
|
-
packages: null
|
|
51615
|
-
}, {
|
|
51616
|
-
name: "CSM BAKERY PRODS NORTH AMERICA",
|
|
51617
|
-
packages: null
|
|
51618
|
-
}, {
|
|
51619
|
-
name: "CUMBERLAND PACKING CORP",
|
|
51620
|
-
packages: null
|
|
51621
|
-
}, {
|
|
51622
|
-
name: "CURATION FOODS INC",
|
|
51623
|
-
packages: null
|
|
51624
|
-
}, {
|
|
51625
|
-
name: "CUSTOM BAKEHOUSE",
|
|
51626
|
-
packages: null
|
|
51627
|
-
}, {
|
|
51628
|
-
name: "CVC CAPITAL PARTNERS",
|
|
51629
|
-
packages: null
|
|
51630
|
-
}, {
|
|
51631
|
-
name: "DAILY HARVEST",
|
|
51632
|
-
packages: null
|
|
51633
|
-
}, {
|
|
51634
|
-
name: "DAIRY FARMERS OF AMERICA",
|
|
51635
|
-
packages: null
|
|
51636
|
-
}, {
|
|
51637
|
-
name: "DAISY BRAND",
|
|
51638
|
-
packages: null
|
|
51639
|
-
}, {
|
|
51640
|
-
name: "DAIYA FOODS INC",
|
|
51641
|
-
packages: null
|
|
51642
|
-
}, {
|
|
51643
|
-
name: "DAKOTA GROWERS PASTA COMPANY",
|
|
51644
|
-
packages: null
|
|
51645
|
-
}, {
|
|
51646
|
-
name: "DAN OS SEASONING",
|
|
51647
|
-
packages: null
|
|
51648
|
-
}, {
|
|
51649
|
-
name: "DANSONS INC",
|
|
51650
|
-
packages: null
|
|
51651
|
-
}, {
|
|
51652
|
-
name: "DAYKA & HACKETT LLC",
|
|
51653
|
-
packages: null
|
|
51654
|
-
}, {
|
|
51655
|
-
name: "DD & B SOLUTIONS LLC",
|
|
51656
|
-
packages: null
|
|
51657
|
-
}, {
|
|
51658
|
-
name: "DE NIGRIS",
|
|
51659
|
-
packages: null
|
|
51660
|
-
}, {
|
|
51661
|
-
name: "DEAN FOODS",
|
|
51662
|
-
packages: null
|
|
51663
|
-
}, {
|
|
51664
|
-
name: "DECAS CRANBERRY PRODS INC",
|
|
51665
|
-
packages: null
|
|
51666
|
-
}, {
|
|
51667
|
-
name: "DECAS FARMS",
|
|
51668
|
-
packages: null
|
|
51669
|
-
}, {
|
|
51670
|
-
name: "DEEP FOODS INC",
|
|
51671
|
-
packages: null
|
|
51672
|
-
}, {
|
|
51673
|
-
name: "DEL GROSSO FOODS INC",
|
|
51674
|
-
packages: null
|
|
51675
|
-
}, {
|
|
51676
|
-
name: "DEL MONTE FRESH PRODUCE INC",
|
|
51677
|
-
packages: null
|
|
51678
|
-
}, {
|
|
51679
|
-
name: "DEL REAL FOODS",
|
|
51680
|
-
packages: null
|
|
51681
|
-
}, {
|
|
51682
|
-
name: "DEL SOL FOOD CO",
|
|
51683
|
-
packages: null
|
|
51684
|
-
}, {
|
|
51685
|
-
name: "DELIZZA PATISSERIE NV",
|
|
51686
|
-
packages: null
|
|
51687
|
-
}, {
|
|
51688
|
-
name: "DEMAKES ENT INC",
|
|
51689
|
-
packages: null
|
|
51690
|
-
}, {
|
|
51691
|
-
name: "DEMETS",
|
|
51692
|
-
packages: null
|
|
51693
|
-
}, {
|
|
51694
|
-
name: "DEOLEO",
|
|
51695
|
-
packages: null
|
|
51696
|
-
}, {
|
|
51697
|
-
name: "DEWAFLEBAKKERS",
|
|
51698
|
-
packages: null
|
|
51699
|
-
}, {
|
|
51700
|
-
name: "DEWEYS BAKERY",
|
|
51701
|
-
packages: null
|
|
51702
|
-
}, {
|
|
51703
|
-
name: "DIABOLO BEVERAGES",
|
|
51704
|
-
packages: null
|
|
51705
|
-
}, {
|
|
51706
|
-
name: "DIAMOND FOODS LLC",
|
|
51707
|
-
packages: null
|
|
51708
|
-
}, {
|
|
51709
|
-
name: "DIANAS BANANAS INC",
|
|
51710
|
-
packages: null
|
|
51711
|
-
}, {
|
|
51712
|
-
name: "DIANES KITCHEN",
|
|
51713
|
-
packages: null
|
|
51714
|
-
}, {
|
|
51715
|
-
name: "DIEFFENBACHS POTATO CHIPS INC",
|
|
51716
|
-
packages: null
|
|
51717
|
-
}, {
|
|
51718
|
-
name: "DIETZ & WATSON INC",
|
|
51719
|
-
packages: null
|
|
51720
|
-
}, {
|
|
51721
|
-
name: "DOLE FOOD CO INC",
|
|
51722
|
-
packages: null
|
|
51723
|
-
}, {
|
|
51724
|
-
name: "DOLE INTL HOLDINGS INC",
|
|
51725
|
-
packages: null
|
|
51726
|
-
}, {
|
|
51727
|
-
name: "DONGWON IND",
|
|
51728
|
-
packages: null
|
|
51729
|
-
}, {
|
|
51730
|
-
name: "DOT FOODS",
|
|
51731
|
-
packages: null
|
|
51732
|
-
}, {
|
|
51733
|
-
name: "DR BRONNERS MAGIC SOAPS",
|
|
51734
|
-
packages: null
|
|
51735
|
-
}, {
|
|
51736
|
-
name: "DR HAROLD KATZ LLC",
|
|
51737
|
-
packages: null
|
|
51738
|
-
}, {
|
|
51739
|
-
name: "DR OETKER USA",
|
|
51740
|
-
packages: null
|
|
51741
|
-
}, {
|
|
51742
|
-
name: "DR PRAEGERS SENSIBLE FOODS",
|
|
51743
|
-
packages: null
|
|
51744
|
-
}, {
|
|
51745
|
-
name: "DRIP DROP INC",
|
|
51746
|
-
packages: null
|
|
51747
|
-
}, {
|
|
51748
|
-
name: "DRISCOLL STRAWBERRY ASSN INC",
|
|
51749
|
-
packages: null
|
|
51750
|
-
}, {
|
|
51751
|
-
name: "DUBRETON INC",
|
|
51752
|
-
packages: null
|
|
51753
|
-
}, {
|
|
51754
|
-
name: "DUDA FARM FRESH FOODS",
|
|
51755
|
-
packages: null
|
|
51756
|
-
}, {
|
|
51757
|
-
name: "DUDE PRODS",
|
|
51758
|
-
packages: null
|
|
51759
|
-
}, {
|
|
51760
|
-
name: "DUKE FOODS",
|
|
51761
|
-
packages: null
|
|
51762
|
-
}, {
|
|
51763
|
-
name: "DURACELL",
|
|
51764
|
-
packages: null
|
|
51765
|
-
}, {
|
|
51766
|
-
name: "DURAFLAME INC",
|
|
51767
|
-
packages: null
|
|
51768
|
-
}, {
|
|
51769
|
-
name: "DYLA LLC",
|
|
51770
|
-
packages: null
|
|
51771
|
-
}, {
|
|
51772
|
-
name: "EAGLE BRANDS",
|
|
51773
|
-
packages: null
|
|
51774
|
-
}, {
|
|
51775
|
-
name: "EAGLE FAMILY FOODS INC",
|
|
51776
|
-
packages: null
|
|
51777
|
-
}, {
|
|
51778
|
-
name: "EARTHLY TREATS",
|
|
51779
|
-
packages: null
|
|
51780
|
-
}, {
|
|
51781
|
-
name: "EARTHS OWN FOOD",
|
|
51782
|
-
packages: null
|
|
51783
|
-
}, {
|
|
51784
|
-
name: "EAST COAST FRESH CUTS",
|
|
51785
|
-
packages: null
|
|
51786
|
-
}, {
|
|
51787
|
-
name: "EAST WEST TEA CO LLC",
|
|
51788
|
-
packages: null
|
|
51789
|
-
}, {
|
|
51790
|
-
name: "EAT THE CHANGE INC",
|
|
51791
|
-
packages: null
|
|
51792
|
-
}, {
|
|
51793
|
-
name: "EBRO FOODS INC",
|
|
51794
|
-
packages: null
|
|
51795
|
-
}, {
|
|
51796
|
-
name: "ECO SOUL",
|
|
51797
|
-
packages: null
|
|
51798
|
-
}, {
|
|
51799
|
-
name: "EDGEWELL PERSONAL CARE",
|
|
51800
|
-
packages: null
|
|
51801
|
-
}, {
|
|
51802
|
-
name: "EGGLANDS BEST LLC",
|
|
51803
|
-
packages: null
|
|
51804
|
-
}, {
|
|
51805
|
-
name: "EGGLIFE FOODS",
|
|
51806
|
-
packages: null
|
|
51807
|
-
}, {
|
|
51808
|
-
name: "EGGLIFE LLC",
|
|
51809
|
-
packages: null
|
|
51810
|
-
}, {
|
|
51811
|
-
name: "EKATERRA",
|
|
51812
|
-
packages: null
|
|
51813
|
-
}, {
|
|
51814
|
-
name: "EL TERRIFICO TAMALE",
|
|
51815
|
-
packages: null
|
|
51816
|
-
}, {
|
|
51817
|
-
name: "ELEEO BRANDS LLC",
|
|
51818
|
-
packages: null
|
|
51819
|
-
}, {
|
|
51820
|
-
name: "ELIDA",
|
|
51821
|
-
packages: null
|
|
51822
|
-
}, {
|
|
51823
|
-
name: "EMERGY INC",
|
|
51824
|
-
packages: null
|
|
51825
|
-
}, {
|
|
51826
|
-
name: "EMERSON HEALTHCARE",
|
|
51827
|
-
packages: null
|
|
51828
|
-
}, {
|
|
51829
|
-
name: "EMPIRE",
|
|
51830
|
-
packages: null
|
|
51831
|
-
}, {
|
|
51832
|
-
name: "EMPRESAS TAJIN",
|
|
51833
|
-
packages: null
|
|
51834
|
-
}, {
|
|
51835
|
-
name: "ENDANGERED SPECIES CHOCOLATE LLC",
|
|
51836
|
-
packages: null
|
|
51837
|
-
}, {
|
|
51838
|
-
name: "ENERGIZER HOLDINGS INC",
|
|
51839
|
-
packages: null
|
|
51840
|
-
}, {
|
|
51841
|
-
name: "ENJOY LIFE",
|
|
51842
|
-
packages: null
|
|
51843
|
-
}, {
|
|
51844
|
-
name: "ENVIROCON TECH INC",
|
|
51845
|
-
packages: null
|
|
51846
|
-
}, {
|
|
51847
|
-
name: "EPICUREAN",
|
|
51848
|
-
packages: null
|
|
51849
|
-
}, {
|
|
51850
|
-
name: "EQT",
|
|
51851
|
-
packages: null
|
|
51852
|
-
}, {
|
|
51853
|
-
name: "ETERNAL BVRG",
|
|
51854
|
-
packages: null
|
|
51855
|
-
}, {
|
|
51856
|
-
name: "EVANS FOOD GROUP LTD",
|
|
51857
|
-
packages: null
|
|
51858
|
-
}, {
|
|
51859
|
-
name: "EVERGREEN ENT INC",
|
|
51860
|
-
packages: null
|
|
51861
|
-
}, {
|
|
51862
|
-
name: "EVIVE",
|
|
51863
|
-
packages: null
|
|
51864
|
-
}, {
|
|
51865
|
-
name: "EZAKI GLICO USA - POCKY",
|
|
51866
|
-
packages: null
|
|
51867
|
-
}],
|
|
50855
|
+
disabledSendForms = false,
|
|
50856
|
+
itemAndPackage = [],
|
|
51868
50857
|
setItemAndPackage,
|
|
51869
50858
|
linkColor = "#212121",
|
|
51870
50859
|
backgroundColor = 'white',
|
|
51871
50860
|
onDelete = () => {}
|
|
51872
50861
|
} = _ref;
|
|
51873
|
-
const [screen, setScreen] = useState(
|
|
50862
|
+
const [screen, setScreen] = useState("initial");
|
|
51874
50863
|
const [selectedVendor, setSelectedVendor] = useState(null);
|
|
51875
50864
|
const [selectedPackage, setSelectedPackage] = useState(null);
|
|
51876
|
-
const handleShowVendorSelection = () => setScreen("list");
|
|
51877
|
-
const handleBackToList = () => setScreen("subitem");
|
|
51878
50865
|
const handleVendorClick = vendor => {
|
|
50866
|
+
// console.log("Vendor clicked:", vendor);
|
|
51879
50867
|
setSelectedVendor(vendor);
|
|
51880
50868
|
setScreen("subitem");
|
|
51881
50869
|
};
|
|
@@ -51905,8 +50893,12 @@ const ItemManagerPanel = _ref => {
|
|
|
51905
50893
|
const handleBackToDefault = () => {
|
|
51906
50894
|
setScreen("");
|
|
51907
50895
|
};
|
|
51908
|
-
const
|
|
51909
|
-
|
|
50896
|
+
const onDeleteVendor = vendor => {
|
|
50897
|
+
const updatedItemAndPackage = itemAndPackage.filter(item => item.name !== vendor.name);
|
|
50898
|
+
setItemAndPackage([...updatedItemAndPackage, {
|
|
50899
|
+
name: vendor.name,
|
|
50900
|
+
packages: null
|
|
50901
|
+
}]);
|
|
51910
50902
|
};
|
|
51911
50903
|
if (screen === "subitem") {
|
|
51912
50904
|
return /*#__PURE__*/React$1.createElement(Card, {
|
|
@@ -51916,10 +50908,12 @@ const ItemManagerPanel = _ref => {
|
|
|
51916
50908
|
}, /*#__PURE__*/React$1.createElement(NewSubitemList, {
|
|
51917
50909
|
linkColor: linkColor,
|
|
51918
50910
|
setSelectedPackage: setSelectedPackage,
|
|
50911
|
+
setItemAndPackage: setItemAndPackage,
|
|
51919
50912
|
vendor: selectedVendor,
|
|
51920
50913
|
itemAndPackage: itemAndPackage,
|
|
51921
|
-
onBack:
|
|
51922
|
-
|
|
50914
|
+
onBack: () => setScreen("initial"),
|
|
50915
|
+
onTrashClick: () => onDeleteInner(selectedVendor),
|
|
50916
|
+
handleSubitemDetail: () => setScreen("subitemdetail")
|
|
51923
50917
|
}));
|
|
51924
50918
|
}
|
|
51925
50919
|
if (screen === "confirmation") {
|
|
@@ -51959,7 +50953,7 @@ const ItemManagerPanel = _ref => {
|
|
|
51959
50953
|
vendor: selectedVendor,
|
|
51960
50954
|
itemAndPackage: itemAndPackage,
|
|
51961
50955
|
addNewPackage: addNewPackage,
|
|
51962
|
-
onBack:
|
|
50956
|
+
onBack: () => setScreen("subitem")
|
|
51963
50957
|
}));
|
|
51964
50958
|
}
|
|
51965
50959
|
if (screen === "list") {
|
|
@@ -51973,47 +50967,49 @@ const ItemManagerPanel = _ref => {
|
|
|
51973
50967
|
onVendorClick: handleVendorClick
|
|
51974
50968
|
}));
|
|
51975
50969
|
}
|
|
51976
|
-
|
|
51977
|
-
|
|
51978
|
-
|
|
51979
|
-
|
|
51980
|
-
|
|
51981
|
-
|
|
51982
|
-
|
|
51983
|
-
|
|
51984
|
-
|
|
51985
|
-
|
|
51986
|
-
|
|
51987
|
-
|
|
51988
|
-
|
|
51989
|
-
|
|
51990
|
-
|
|
51991
|
-
|
|
51992
|
-
|
|
51993
|
-
|
|
51994
|
-
|
|
51995
|
-
|
|
51996
|
-
|
|
51997
|
-
|
|
51998
|
-
|
|
51999
|
-
|
|
52000
|
-
|
|
52001
|
-
|
|
52002
|
-
|
|
52003
|
-
|
|
52004
|
-
|
|
52005
|
-
|
|
52006
|
-
|
|
52007
|
-
|
|
52008
|
-
|
|
52009
|
-
|
|
52010
|
-
|
|
52011
|
-
|
|
52012
|
-
|
|
52013
|
-
|
|
52014
|
-
|
|
52015
|
-
|
|
52016
|
-
|
|
50970
|
+
if (screen === "initial") {
|
|
50971
|
+
return /*#__PURE__*/React$1.createElement(Card, {
|
|
50972
|
+
width: width,
|
|
50973
|
+
height: height,
|
|
50974
|
+
backgroundColor: backgroundColor
|
|
50975
|
+
}, /*#__PURE__*/React$1.createElement(Container$1, null, /*#__PURE__*/React$1.createElement(TitleContainer, null, /*#__PURE__*/React$1.createElement(SectionTitle$1, null, "Vendors"), /*#__PURE__*/React$1.createElement(SubtitleContainer, null, /*#__PURE__*/React$1.createElement(Subtitle$1, null, itemAndPackage.filter(item => item.packages !== null).length.toString(), " ", "Vendors", " "), /*#__PURE__*/React$1.createElement("span", null, "\xB7"), /*#__PURE__*/React$1.createElement(Subtitle$1, null, itemAndPackage.filter(item => item.packages !== null).reduce((acc, item) => acc + (item.packages ? item.packages.length : 0), 0), " ", "Packages"))), editMode && /*#__PURE__*/React$1.createElement(ButtonContainer$1, null, /*#__PURE__*/React$1.createElement(Button$1, {
|
|
50976
|
+
leftIcon: "Fly",
|
|
50977
|
+
onClick: () => setScreen("confirmation"),
|
|
50978
|
+
rightIcon: "none",
|
|
50979
|
+
disabled: disabledSendForms,
|
|
50980
|
+
size: "small",
|
|
50981
|
+
text: "Send Forms",
|
|
50982
|
+
type: "secondary",
|
|
50983
|
+
borderRadius: "8px"
|
|
50984
|
+
}), /*#__PURE__*/React$1.createElement(Subtitle$1, null, itemAndPackage.filter(item => item.packages !== null).length.toString(), " ", "Vendors", " "))), /*#__PURE__*/React$1.createElement(AddButtonContainer$1, null, /*#__PURE__*/React$1.createElement(LinkButton, {
|
|
50985
|
+
leftIcon: "Plus",
|
|
50986
|
+
onClick: () => setScreen("list"),
|
|
50987
|
+
rightIcon: "none",
|
|
50988
|
+
size: "small",
|
|
50989
|
+
text: "First Vendor",
|
|
50990
|
+
type: "primary",
|
|
50991
|
+
textColor: linkColor
|
|
50992
|
+
})), /*#__PURE__*/React$1.createElement(VendorList$2, null, itemAndPackage.filter(item => item.packages !== null).map((item, idx) => /*#__PURE__*/React$1.createElement(VendorItem$1, {
|
|
50993
|
+
key: idx
|
|
50994
|
+
}, /*#__PURE__*/React$1.createElement(DotContainer, null, item.packages.length === 0 && /*#__PURE__*/React$1.createElement(RedDot, null)), /*#__PURE__*/React$1.createElement(LineContainer, {
|
|
50995
|
+
onClick: e => {
|
|
50996
|
+
handleVendorClick(item);
|
|
50997
|
+
}
|
|
50998
|
+
}, /*#__PURE__*/React$1.createElement(VendorNameAndPackagesContainer$1, null, /*#__PURE__*/React$1.createElement(VendorName$2, null, item.name), item.packages.length === 0 && /*#__PURE__*/React$1.createElement(Subtitle$1, null, "No Packages"), item.packages.length > 0 && /*#__PURE__*/React$1.createElement(Subtitle$1, null, item.packages.length, " Packages Sent")), /*#__PURE__*/React$1.createElement(VendorChevron$1, null, /*#__PURE__*/React$1.createElement(ArrowRightFullIcon, null))), /*#__PURE__*/React$1.createElement(Trash$1, {
|
|
50999
|
+
className: "trash-icon",
|
|
51000
|
+
onClick: () => {
|
|
51001
|
+
onDeleteVendor(item);
|
|
51002
|
+
}
|
|
51003
|
+
}, /*#__PURE__*/React$1.createElement("svg", {
|
|
51004
|
+
width: "14",
|
|
51005
|
+
height: "18",
|
|
51006
|
+
viewBox: "0 0 14 18",
|
|
51007
|
+
fill: "none",
|
|
51008
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
51009
|
+
}, /*#__PURE__*/React$1.createElement("path", {
|
|
51010
|
+
d: "M1 16C1 17.1 1.9 18 3 18H11C12.1 18 13 17.1 13 16V4H1V16ZM14 1H10.5L9.5 0H4.5L3.5 1H0V3H14V1Z"
|
|
51011
|
+
})))))));
|
|
51012
|
+
}
|
|
52017
51013
|
};
|
|
52018
51014
|
|
|
52019
51015
|
const Overlay = styled.div`
|
|
@@ -52098,13 +51094,13 @@ const scrollableStyles = `
|
|
|
52098
51094
|
const DropdownContainer = styled.div`
|
|
52099
51095
|
position: relative;
|
|
52100
51096
|
width: ${props => props.width || '100%'};
|
|
52101
|
-
min-width: 320px;
|
|
51097
|
+
/* min-width: 320px; */
|
|
52102
51098
|
max-width: 600px;
|
|
52103
51099
|
font-family: "Poppins", sans-serif;
|
|
52104
51100
|
`;
|
|
52105
51101
|
const DropdownButton = styled.button`
|
|
52106
51102
|
width: 100%;
|
|
52107
|
-
min-width: 320px;
|
|
51103
|
+
/* min-width: 320px; */
|
|
52108
51104
|
max-width: 600px;
|
|
52109
51105
|
background: #fff;
|
|
52110
51106
|
border: 1px solid #8B8989;
|
|
@@ -52130,7 +51126,7 @@ const DropdownList = styled.ul`
|
|
|
52130
51126
|
margin: 0;
|
|
52131
51127
|
padding: 8px 0;
|
|
52132
51128
|
width: ${props => props.width || '100%'};
|
|
52133
|
-
min-width: 320px;
|
|
51129
|
+
/* min-width: 320px; */
|
|
52134
51130
|
max-width: 600px;
|
|
52135
51131
|
max-height: ${props => props.dropdownMaxHeight || '400px'};
|
|
52136
51132
|
overflow-y: auto;
|
|
@@ -52195,7 +51191,7 @@ styled.div`
|
|
|
52195
51191
|
box-shadow: 0 2px 12px rgba(0,0,0,0.12);
|
|
52196
51192
|
padding: 8px 12px;
|
|
52197
51193
|
font-size: 13px;
|
|
52198
|
-
max-width: 320px;
|
|
51194
|
+
/* max-width: 320px; */
|
|
52199
51195
|
white-space: pre-line;
|
|
52200
51196
|
`;
|
|
52201
51197
|
|
|
@@ -52236,17 +51232,17 @@ const FieldRow = styled.div`
|
|
|
52236
51232
|
border-bottom: 1px solid #D9D9D9;
|
|
52237
51233
|
`;
|
|
52238
51234
|
const Label = styled.label`
|
|
52239
|
-
font-size:
|
|
52240
|
-
color: #
|
|
52241
|
-
min-width: 38px;
|
|
51235
|
+
font-size: 14px;
|
|
51236
|
+
color: #212121;
|
|
52242
51237
|
`;
|
|
52243
51238
|
const Input = styled.input`
|
|
52244
|
-
width:
|
|
51239
|
+
width: 64px;
|
|
52245
51240
|
padding: 7px 8px;
|
|
52246
51241
|
border-radius: 7px;
|
|
52247
|
-
border:
|
|
52248
|
-
font-size:
|
|
51242
|
+
border: 1px solid #ccc;
|
|
51243
|
+
font-size: 14px;
|
|
52249
51244
|
outline: none;
|
|
51245
|
+
box-sizing: border-box;
|
|
52250
51246
|
background-color: #F7F8FA;
|
|
52251
51247
|
transition: border 0.18s;
|
|
52252
51248
|
${props => props.error && `
|
|
@@ -52305,7 +51301,10 @@ const OverlayTemplateDialog = ({
|
|
|
52305
51301
|
const [touched, setTouched] = useState(() => params.map(() => false));
|
|
52306
51302
|
if (!open) return null;
|
|
52307
51303
|
const errors = fields.map((val, idx) => touched[idx] ? validateField(val, params[idx]) : null);
|
|
52308
|
-
|
|
51304
|
+
|
|
51305
|
+
// Check if all fields are filled and valid
|
|
51306
|
+
const allFieldsFilled = fields.every(field => field !== '' && field !== null && field !== undefined);
|
|
51307
|
+
const isValid = allFieldsFilled && errors.every(e => !e);
|
|
52309
51308
|
const handleChange = (idx, val) => {
|
|
52310
51309
|
setFields(prev => prev.map((f, i) => i === idx ? val : f));
|
|
52311
51310
|
};
|
|
@@ -52329,10 +51328,16 @@ const OverlayTemplateDialog = ({
|
|
|
52329
51328
|
if (isValid) onApply(fields);
|
|
52330
51329
|
}
|
|
52331
51330
|
}, /*#__PURE__*/React$1.createElement(FieldRow, null, params.map((param, idx) => /*#__PURE__*/React$1.createElement(React$1.Fragment, {
|
|
52332
|
-
key: param.label
|
|
51331
|
+
key: `${param.label}-${idx}`
|
|
52333
51332
|
}, /*#__PURE__*/React$1.createElement(Label, {
|
|
52334
51333
|
htmlFor: `param-${idx}`
|
|
52335
|
-
}, param.label), /*#__PURE__*/React$1.createElement(
|
|
51334
|
+
}, param.label), /*#__PURE__*/React$1.createElement("div", {
|
|
51335
|
+
style: {
|
|
51336
|
+
display: 'flex',
|
|
51337
|
+
alignItems: 'center',
|
|
51338
|
+
gap: '4px'
|
|
51339
|
+
}
|
|
51340
|
+
}, /*#__PURE__*/React$1.createElement(Input, {
|
|
52336
51341
|
id: `param-${idx}`,
|
|
52337
51342
|
type: "number",
|
|
52338
51343
|
value: fields[idx],
|
|
@@ -52341,6 +51346,20 @@ const OverlayTemplateDialog = ({
|
|
|
52341
51346
|
onBlur: () => handleBlur(idx),
|
|
52342
51347
|
min: 0,
|
|
52343
51348
|
max: param.type === 'percent' ? 100 : undefined
|
|
51349
|
+
}), param.suffix && /*#__PURE__*/React$1.createElement("span", {
|
|
51350
|
+
style: {
|
|
51351
|
+
color: '#212121',
|
|
51352
|
+
fontSize: '14px',
|
|
51353
|
+
whiteSpace: 'nowrap'
|
|
51354
|
+
}
|
|
51355
|
+
}, param.suffix)), errors[idx] && /*#__PURE__*/React$1.createElement("span", {
|
|
51356
|
+
style: {
|
|
51357
|
+
color: 'red',
|
|
51358
|
+
fontSize: '12px',
|
|
51359
|
+
gridColumn: '1 / -1',
|
|
51360
|
+
marginTop: '-8px',
|
|
51361
|
+
marginBottom: '8px'
|
|
51362
|
+
}
|
|
52344
51363
|
})))), /*#__PURE__*/React$1.createElement(Actions, null, /*#__PURE__*/React$1.createElement(Button$1, {
|
|
52345
51364
|
text: "Cancel",
|
|
52346
51365
|
borderRadius: "8px",
|
|
@@ -52355,15 +51374,13 @@ const OverlayTemplateDialog = ({
|
|
|
52355
51374
|
}), /*#__PURE__*/React$1.createElement(Button$1, {
|
|
52356
51375
|
text: "Apply",
|
|
52357
51376
|
borderRadius: "8px",
|
|
52358
|
-
backgroundColor:
|
|
51377
|
+
backgroundColor: buttonColor,
|
|
52359
51378
|
textColor: "#fff",
|
|
52360
|
-
borderColor:
|
|
51379
|
+
borderColor: buttonColor,
|
|
52361
51380
|
hoverTextColor: "#fff",
|
|
52362
|
-
hoverBackgroundColor:
|
|
52363
|
-
hoverBorderColor:
|
|
51381
|
+
hoverBackgroundColor: buttonHoverColor,
|
|
51382
|
+
hoverBorderColor: buttonHoverColor,
|
|
52364
51383
|
disabledTextColor: "#fff",
|
|
52365
|
-
disabledBackgroundColor: buttonColor,
|
|
52366
|
-
disabledBorderColor: buttonColor,
|
|
52367
51384
|
fontSize: "16px",
|
|
52368
51385
|
padding: "8px 22px",
|
|
52369
51386
|
disabled: !isValid,
|
|
@@ -52379,7 +51396,8 @@ OverlayTemplateDialog.propTypes = {
|
|
|
52379
51396
|
template: PropTypes.object,
|
|
52380
51397
|
params: PropTypes.arrayOf(PropTypes.shape({
|
|
52381
51398
|
label: PropTypes.string.isRequired,
|
|
52382
|
-
type: PropTypes.oneOf(['number', 'percent']).isRequired
|
|
51399
|
+
type: PropTypes.oneOf(['number', 'percent']).isRequired,
|
|
51400
|
+
suffix: PropTypes.string
|
|
52383
51401
|
})).isRequired,
|
|
52384
51402
|
buttonColor: PropTypes.string,
|
|
52385
51403
|
buttonHoverColor: PropTypes.string
|
|
@@ -52405,6 +51423,7 @@ const OverlayDropdown = _ref => {
|
|
|
52405
51423
|
const [hoveredText, setHoveredText] = useState(null);
|
|
52406
51424
|
const [templateDialog, setTemplateDialog] = useState(null);
|
|
52407
51425
|
const [dropdownPosition, setDropdownPosition] = useState('below');
|
|
51426
|
+
const [lastDefinedGroup, setLastDefinedGroup] = useState(null);
|
|
52408
51427
|
const buttonRef = useRef(null);
|
|
52409
51428
|
const dropdownRef = useRef(null);
|
|
52410
51429
|
const containerRef = useRef(null);
|
|
@@ -52447,9 +51466,19 @@ const OverlayDropdown = _ref => {
|
|
|
52447
51466
|
}
|
|
52448
51467
|
}, [open, dropdownMaxHeight]);
|
|
52449
51468
|
|
|
51469
|
+
// Combine original data with "Last defined by you" group
|
|
51470
|
+
const getDataWithLastDefined = () => {
|
|
51471
|
+
const combinedData = [...data];
|
|
51472
|
+
if (lastDefinedGroup) {
|
|
51473
|
+
combinedData.unshift(lastDefinedGroup);
|
|
51474
|
+
}
|
|
51475
|
+
return combinedData;
|
|
51476
|
+
};
|
|
51477
|
+
|
|
52450
51478
|
// Find selected item across all groups
|
|
52451
51479
|
const findSelectedItem = () => {
|
|
52452
|
-
|
|
51480
|
+
const allData = getDataWithLastDefined();
|
|
51481
|
+
for (const group of allData) {
|
|
52453
51482
|
if (group.items) {
|
|
52454
51483
|
const found = group.items.find(item => item.value === value);
|
|
52455
51484
|
if (found) return found;
|
|
@@ -52465,33 +51494,112 @@ const OverlayDropdown = _ref => {
|
|
|
52465
51494
|
if (text.length > 66) return text.slice(0, 66) + '...';
|
|
52466
51495
|
return text;
|
|
52467
51496
|
};
|
|
52468
|
-
|
|
52469
|
-
// Template parameters for templateType === 2
|
|
52470
51497
|
const getTemplateParams = label => {
|
|
51498
|
+
if (!label) return [];
|
|
51499
|
+
|
|
51500
|
+
// Pattern 1: "Buy X & Get Y% Off" - X and Y must be standalone capital letters
|
|
51501
|
+
// Using word boundaries for better browser compatibility
|
|
51502
|
+
const buyGetOffPattern = /^(.*?)\bX\b(.*?)\bY\b(.*)$/;
|
|
51503
|
+
const buyGetOffMatch = label.match(buyGetOffPattern);
|
|
51504
|
+
if (buyGetOffMatch) {
|
|
51505
|
+
const [, beforeX, betweenXY, afterY] = buyGetOffMatch;
|
|
51506
|
+
return [{
|
|
51507
|
+
label: beforeX.trim(),
|
|
51508
|
+
// "Buy "
|
|
51509
|
+
type: 'number',
|
|
51510
|
+
suffix: ''
|
|
51511
|
+
}, {
|
|
51512
|
+
label: betweenXY.trim(),
|
|
51513
|
+
// " & Get "
|
|
51514
|
+
type: 'number',
|
|
51515
|
+
suffix: afterY.trim() // " % Off"
|
|
51516
|
+
}];
|
|
51517
|
+
}
|
|
51518
|
+
|
|
51519
|
+
// Pattern 2: Single variable patterns - X or Y must be standalone capital letters
|
|
51520
|
+
const singleVariablePattern = /^(.*?)\b([XY])\b(.*)$/;
|
|
51521
|
+
const singleVariableMatch = label.match(singleVariablePattern);
|
|
51522
|
+
if (singleVariableMatch) {
|
|
51523
|
+
const [, beforeVar, variable, afterVar] = singleVariableMatch;
|
|
51524
|
+
return [{
|
|
51525
|
+
label: beforeVar.trim(),
|
|
51526
|
+
// "Buy "
|
|
51527
|
+
type: 'number',
|
|
51528
|
+
suffix: afterVar.trim() // " of item(s), Get Free Item"
|
|
51529
|
+
}];
|
|
51530
|
+
}
|
|
51531
|
+
|
|
51532
|
+
// Fallback: if no pattern matches, treat as single input
|
|
52471
51533
|
return [{
|
|
52472
|
-
label: 'Value
|
|
52473
|
-
type: 'number'
|
|
52474
|
-
|
|
52475
|
-
label: 'Value 2',
|
|
52476
|
-
type: 'number'
|
|
51534
|
+
label: 'Value',
|
|
51535
|
+
type: 'number',
|
|
51536
|
+
suffix: ''
|
|
52477
51537
|
}];
|
|
52478
51538
|
};
|
|
51539
|
+
const generateFinalSentence = (template, values) => {
|
|
51540
|
+
let sentence = template.label;
|
|
51541
|
+
|
|
51542
|
+
// Pattern 1: "Buy X & Get Y% Off" - X and Y must be standalone capital letters
|
|
51543
|
+
const buyGetOffPattern = /^(.*?)\bX\b(.*?)\bY\b(.*)$/;
|
|
51544
|
+
const buyGetOffMatch = sentence.match(buyGetOffPattern);
|
|
51545
|
+
if (buyGetOffMatch && values.length >= 2) {
|
|
51546
|
+
const [, beforeX, betweenXY, afterY] = buyGetOffMatch;
|
|
51547
|
+
return beforeX + values[0] + betweenXY + values[1] + afterY;
|
|
51548
|
+
}
|
|
51549
|
+
|
|
51550
|
+
// Pattern 2: Single variable patterns - X or Y must be standalone capital letters
|
|
51551
|
+
const singleVariablePattern = /^(.*?)\b([XY])\b(.*)$/;
|
|
51552
|
+
const singleVariableMatch = sentence.match(singleVariablePattern);
|
|
51553
|
+
if (singleVariableMatch && values.length >= 1) {
|
|
51554
|
+
const [, beforeVar, variable, afterVar] = singleVariableMatch;
|
|
51555
|
+
return beforeVar + values[0] + afterVar;
|
|
51556
|
+
}
|
|
51557
|
+
|
|
51558
|
+
// Fallback
|
|
51559
|
+
return sentence;
|
|
51560
|
+
};
|
|
52479
51561
|
const handleTemplateApply = fields => {
|
|
52480
51562
|
if (templateDialog && onSelectClick) {
|
|
52481
|
-
const
|
|
51563
|
+
const finalSentence = generateFinalSentence(templateDialog.item, fields);
|
|
51564
|
+
|
|
51565
|
+
// Create new item for "Last defined by you" group
|
|
51566
|
+
const newItem = {
|
|
52482
51567
|
...templateDialog.item,
|
|
51568
|
+
label: finalSentence,
|
|
51569
|
+
value: `last_defined_${Date.now()}`,
|
|
51570
|
+
// Unique value
|
|
52483
51571
|
overlayCode: templateDialog.group.overlayCode,
|
|
52484
51572
|
overlayName: templateDialog.group.overlayName,
|
|
52485
51573
|
templateType: templateDialog.group.templateType,
|
|
52486
51574
|
appliedValues: fields
|
|
52487
51575
|
};
|
|
51576
|
+
|
|
51577
|
+
// Update "Last defined by you" group - add to existing or create new
|
|
51578
|
+
if (lastDefinedGroup) {
|
|
51579
|
+
// Add to existing group
|
|
51580
|
+
setLastDefinedGroup({
|
|
51581
|
+
...lastDefinedGroup,
|
|
51582
|
+
items: [newItem, ...lastDefinedGroup.items] // Add new item at the beginning
|
|
51583
|
+
});
|
|
51584
|
+
} else {
|
|
51585
|
+
// Create new group
|
|
51586
|
+
setLastDefinedGroup({
|
|
51587
|
+
overlayCode: 'last_defined',
|
|
51588
|
+
overlayName: 'Last defined by you',
|
|
51589
|
+
templateType: 1,
|
|
51590
|
+
items: [newItem]
|
|
51591
|
+
});
|
|
51592
|
+
}
|
|
52488
51593
|
setTemplateDialog(null);
|
|
52489
|
-
|
|
51594
|
+
|
|
51595
|
+
// Select the new item
|
|
51596
|
+
onSelectClick(newItem);
|
|
52490
51597
|
}
|
|
52491
51598
|
};
|
|
52492
51599
|
const toggleDropdown = () => {
|
|
52493
51600
|
setOpen(prev => !prev);
|
|
52494
51601
|
};
|
|
51602
|
+
const dataToRender = getDataWithLastDefined();
|
|
52495
51603
|
return /*#__PURE__*/React$1.createElement(DropdownContainer, {
|
|
52496
51604
|
width: width,
|
|
52497
51605
|
ref: containerRef
|
|
@@ -52522,7 +51630,7 @@ const OverlayDropdown = _ref => {
|
|
|
52522
51630
|
dropdownMaxHeight: dropdownMaxHeight,
|
|
52523
51631
|
width: width,
|
|
52524
51632
|
position: dropdownPosition
|
|
52525
|
-
},
|
|
51633
|
+
}, dataToRender.map((group, groupIndex) => group.items && group.items.length > 0 && /*#__PURE__*/React$1.createElement("div", {
|
|
52526
51634
|
key: group.overlayCode
|
|
52527
51635
|
}, /*#__PURE__*/React$1.createElement(SectionTitle, null, group.overlayName), group.items.map(item => /*#__PURE__*/React$1.createElement(DropdownItem, {
|
|
52528
51636
|
key: item.value,
|