sag_components 2.0.0-beta107 → 2.0.0-beta108

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.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: "tooltip-container"
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
- top: 100%;
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
- if (!hoverInputContainer && !hoverOptionsContainer) {
8706
- setIsFocused(false);
8707
- setShowOptions(false);
8708
- }
8709
- }, [hoverInputContainer, hoverOptionsContainer]);
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
- top: 100%;
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
- label,
23909
- hoverColor,
23910
- options,
23911
- selectedValue,
23912
- placeHolder,
23913
- onChange,
23914
- disabled,
23915
- width,
23916
- error,
23917
- errorMessage,
23918
- xIconShow,
23919
- labelColor,
23920
- showLabelOnTop
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;
@@ -41912,7 +41907,7 @@ const NewSubitemList = props => {
41912
41907
  onBack,
41913
41908
  handleSubitemDetail,
41914
41909
  itemAndPackage,
41915
- onTrashClick,
41910
+ onTrashClick = () => {},
41916
41911
  linkColor
41917
41912
  } = props;
41918
41913
  const vendorItems = itemAndPackage.find(i => i.name === vendor.name).packages || [];
@@ -42082,11 +42077,9 @@ const NegotiatedTextarea = styled.textarea`
42082
42077
  width: 90%;
42083
42078
  min-height: 220px;
42084
42079
  margin-top: 8px;
42085
-
42086
42080
  border: 1px solid #e3e4e5;
42087
42081
  border-radius: 12px;
42088
42082
  padding: 16px;
42089
- font-family: Poppins;
42090
42083
  font-size: 15px;
42091
42084
  resize: vertical;
42092
42085
  background: #fff;
@@ -42114,13 +42107,23 @@ const NewSubitem = ({
42114
42107
  const [negotiatedComponent, setNegotiatedComponent] = useState("Scale");
42115
42108
 
42116
42109
  // Form state
42117
- const isApplyEnabled = negotiatedBrands.trim().length > 0;
42110
+ const isApplyEnabled = negotiatedBrands.trim().length > 2;
42118
42111
  useEffect(() => {
42119
42112
  if (!packageObject) return;
42120
42113
  if (!packageObject.brands) return;
42121
42114
  setNegotiatedBrands(packageObject.brands);
42122
42115
  setNegotiatedComponent(packageObject.component);
42123
42116
  }, [packageObject]);
42117
+ useEffect(() => {
42118
+ // Log all props to the console
42119
+ console.log({
42120
+ packageObject,
42121
+ vendor,
42122
+ onBack,
42123
+ addNewPackage,
42124
+ linkColor
42125
+ });
42126
+ }, []);
42124
42127
  return /*#__PURE__*/React$1.createElement(NewSubitemContainer, null, /*#__PURE__*/React$1.createElement(Header, null, /*#__PURE__*/React$1.createElement(BackButton, {
42125
42128
  onClick: onBack
42126
42129
  }, /*#__PURE__*/React$1.createElement(ArrowLeftIcon, null)), /*#__PURE__*/React$1.createElement(BackTitle, null, vendor.name)), /*#__PURE__*/React$1.createElement(SelectionTitle, null, "Add Package"), /*#__PURE__*/React$1.createElement(ButtonsContainer, null, /*#__PURE__*/React$1.createElement(Button$1, {
@@ -42151,13 +42154,7 @@ const NewSubitem = ({
42151
42154
  onChange: e => setNegotiatedBrands(e.target.value),
42152
42155
  required: true,
42153
42156
  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", {
42157
+ })), /*#__PURE__*/React$1.createElement(NegotiatedContainer, null, /*#__PURE__*/React$1.createElement(AddNegotiatedBrand, null, "Component ", /*#__PURE__*/React$1.createElement("span", {
42161
42158
  style: {
42162
42159
  color: "red"
42163
42160
  }
@@ -50844,1038 +50841,17 @@ const ItemManagerPanel = _ref => {
50844
50841
  height = "100%",
50845
50842
  onSendForms = () => {},
50846
50843
  editMode = true,
50847
- itemAndPackage = [{
50848
- name: "3M",
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
- }],
50844
+ itemAndPackage = [],
51868
50845
  setItemAndPackage,
51869
50846
  linkColor = "#212121",
51870
50847
  backgroundColor = 'white',
51871
50848
  onDelete = () => {}
51872
50849
  } = _ref;
51873
- const [screen, setScreen] = useState(undefined); // 'list' | 'subitem'
50850
+ const [screen, setScreen] = useState("initial");
51874
50851
  const [selectedVendor, setSelectedVendor] = useState(null);
51875
50852
  const [selectedPackage, setSelectedPackage] = useState(null);
51876
- const handleShowVendorSelection = () => setScreen("list");
51877
- const handleBackToList = () => setScreen("subitem");
51878
50853
  const handleVendorClick = vendor => {
50854
+ // console.log("Vendor clicked:", vendor);
51879
50855
  setSelectedVendor(vendor);
51880
50856
  setScreen("subitem");
51881
50857
  };
@@ -51905,9 +50881,6 @@ const ItemManagerPanel = _ref => {
51905
50881
  const handleBackToDefault = () => {
51906
50882
  setScreen("");
51907
50883
  };
51908
- const handleSubitemDetail = () => {
51909
- setScreen("subitemdetail");
51910
- };
51911
50884
  if (screen === "subitem") {
51912
50885
  return /*#__PURE__*/React$1.createElement(Card, {
51913
50886
  width: width,
@@ -51918,8 +50891,9 @@ const ItemManagerPanel = _ref => {
51918
50891
  setSelectedPackage: setSelectedPackage,
51919
50892
  vendor: selectedVendor,
51920
50893
  itemAndPackage: itemAndPackage,
51921
- onBack: handleBackToList,
51922
- handleSubitemDetail: handleSubitemDetail
50894
+ onBack: () => setScreen("initial"),
50895
+ onTrashClick: () => onDeleteInner(selectedVendor),
50896
+ handleSubitemDetail: () => setScreen("subitemdetail")
51923
50897
  }));
51924
50898
  }
51925
50899
  if (screen === "confirmation") {
@@ -51959,7 +50933,7 @@ const ItemManagerPanel = _ref => {
51959
50933
  vendor: selectedVendor,
51960
50934
  itemAndPackage: itemAndPackage,
51961
50935
  addNewPackage: addNewPackage,
51962
- onBack: handleBackToList
50936
+ onBack: () => setScreen("subitem")
51963
50937
  }));
51964
50938
  }
51965
50939
  if (screen === "list") {
@@ -51973,47 +50947,48 @@ const ItemManagerPanel = _ref => {
51973
50947
  onVendorClick: handleVendorClick
51974
50948
  }));
51975
50949
  }
51976
-
51977
- // Default panel
51978
- return /*#__PURE__*/React$1.createElement(Card, {
51979
- width: width,
51980
- height: height,
51981
- backgroundColor: backgroundColor
51982
- }, /*#__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, {
51983
- leftIcon: "Fly",
51984
- onClick: () => setScreen("confirmation"),
51985
- rightIcon: "none",
51986
- size: "small",
51987
- text: "Send Forms",
51988
- type: "secondary",
51989
- borderRadius: "8px"
51990
- }), /*#__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, {
51991
- leftIcon: "Plus",
51992
- onClick: handleShowVendorSelection,
51993
- rightIcon: "none",
51994
- size: "small",
51995
- text: "First Vendor",
51996
- type: "primary",
51997
- textColor: linkColor
51998
- })), /*#__PURE__*/React$1.createElement(VendorList$2, null, itemAndPackage.filter(item => item.packages !== null).map((item, idx) => /*#__PURE__*/React$1.createElement(VendorItem$1, {
51999
- onClick: e => {
52000
- handleVendorClick(item);
52001
- },
52002
- key: idx
52003
- }, /*#__PURE__*/React$1.createElement(DotContainer, null, item.packages.length === 0 && /*#__PURE__*/React$1.createElement(RedDot, null)), /*#__PURE__*/React$1.createElement(LineContainer, null, /*#__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, {
52004
- className: "trash-icon",
52005
- onClick: e => {
52006
- onDelete(item);
52007
- }
52008
- }, /*#__PURE__*/React$1.createElement("svg", {
52009
- width: "14",
52010
- height: "18",
52011
- viewBox: "0 0 14 18",
52012
- fill: "none",
52013
- xmlns: "http://www.w3.org/2000/svg"
52014
- }, /*#__PURE__*/React$1.createElement("path", {
52015
- d: "M1 16C1 17.1 1.9 18 3 18H11C12.1 18 13 17.1 13 16V4H1V16ZM14 1H10.5L9.5 0H4.5L3.5 1H0V3H14V1Z"
52016
- })))))));
50950
+ if (screen === "initial") {
50951
+ return /*#__PURE__*/React$1.createElement(Card, {
50952
+ width: width,
50953
+ height: height,
50954
+ backgroundColor: backgroundColor
50955
+ }, /*#__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, {
50956
+ leftIcon: "Fly",
50957
+ onClick: () => setScreen("confirmation"),
50958
+ rightIcon: "none",
50959
+ size: "small",
50960
+ text: "Send Forms",
50961
+ type: "secondary",
50962
+ borderRadius: "8px"
50963
+ }), /*#__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, {
50964
+ leftIcon: "Plus",
50965
+ onClick: () => setScreen("list"),
50966
+ rightIcon: "none",
50967
+ size: "small",
50968
+ text: "First Vendor",
50969
+ type: "primary",
50970
+ textColor: linkColor
50971
+ })), /*#__PURE__*/React$1.createElement(VendorList$2, null, itemAndPackage.filter(item => item.packages !== null).map((item, idx) => /*#__PURE__*/React$1.createElement(VendorItem$1, {
50972
+ key: idx
50973
+ }, /*#__PURE__*/React$1.createElement(DotContainer, null, item.packages.length === 0 && /*#__PURE__*/React$1.createElement(RedDot, null)), /*#__PURE__*/React$1.createElement(LineContainer, {
50974
+ onClick: e => {
50975
+ handleVendorClick(item);
50976
+ }
50977
+ }, /*#__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, {
50978
+ className: "trash-icon",
50979
+ onClick: item => {
50980
+ onDelete(item);
50981
+ }
50982
+ }, /*#__PURE__*/React$1.createElement("svg", {
50983
+ width: "14",
50984
+ height: "18",
50985
+ viewBox: "0 0 14 18",
50986
+ fill: "none",
50987
+ xmlns: "http://www.w3.org/2000/svg"
50988
+ }, /*#__PURE__*/React$1.createElement("path", {
50989
+ d: "M1 16C1 17.1 1.9 18 3 18H11C12.1 18 13 17.1 13 16V4H1V16ZM14 1H10.5L9.5 0H4.5L3.5 1H0V3H14V1Z"
50990
+ })))))));
50991
+ }
52017
50992
  };
52018
50993
 
52019
50994
  const Overlay = styled.div`
@@ -52098,13 +51073,13 @@ const scrollableStyles = `
52098
51073
  const DropdownContainer = styled.div`
52099
51074
  position: relative;
52100
51075
  width: ${props => props.width || '100%'};
52101
- min-width: 320px;
51076
+ /* min-width: 320px; */
52102
51077
  max-width: 600px;
52103
51078
  font-family: "Poppins", sans-serif;
52104
51079
  `;
52105
51080
  const DropdownButton = styled.button`
52106
51081
  width: 100%;
52107
- min-width: 320px;
51082
+ /* min-width: 320px; */
52108
51083
  max-width: 600px;
52109
51084
  background: #fff;
52110
51085
  border: 1px solid #8B8989;
@@ -52130,7 +51105,7 @@ const DropdownList = styled.ul`
52130
51105
  margin: 0;
52131
51106
  padding: 8px 0;
52132
51107
  width: ${props => props.width || '100%'};
52133
- min-width: 320px;
51108
+ /* min-width: 320px; */
52134
51109
  max-width: 600px;
52135
51110
  max-height: ${props => props.dropdownMaxHeight || '400px'};
52136
51111
  overflow-y: auto;
@@ -52195,7 +51170,7 @@ styled.div`
52195
51170
  box-shadow: 0 2px 12px rgba(0,0,0,0.12);
52196
51171
  padding: 8px 12px;
52197
51172
  font-size: 13px;
52198
- max-width: 320px;
51173
+ /* max-width: 320px; */
52199
51174
  white-space: pre-line;
52200
51175
  `;
52201
51176
 
@@ -52236,17 +51211,17 @@ const FieldRow = styled.div`
52236
51211
  border-bottom: 1px solid #D9D9D9;
52237
51212
  `;
52238
51213
  const Label = styled.label`
52239
- font-size: 15px;
52240
- color: #222;
52241
- min-width: 38px;
51214
+ font-size: 14px;
51215
+ color: #212121;
52242
51216
  `;
52243
51217
  const Input = styled.input`
52244
- width: 60px;
51218
+ width: 64px;
52245
51219
  padding: 7px 8px;
52246
51220
  border-radius: 7px;
52247
- border: 1.5px solid #ccc;
52248
- font-size: 16px;
51221
+ border: 1px solid #ccc;
51222
+ font-size: 14px;
52249
51223
  outline: none;
51224
+ box-sizing: border-box;
52250
51225
  background-color: #F7F8FA;
52251
51226
  transition: border 0.18s;
52252
51227
  ${props => props.error && `
@@ -52305,7 +51280,10 @@ const OverlayTemplateDialog = ({
52305
51280
  const [touched, setTouched] = useState(() => params.map(() => false));
52306
51281
  if (!open) return null;
52307
51282
  const errors = fields.map((val, idx) => touched[idx] ? validateField(val, params[idx]) : null);
52308
- const isValid = errors.every(e => !e);
51283
+
51284
+ // Check if all fields are filled and valid
51285
+ const allFieldsFilled = fields.every(field => field !== '' && field !== null && field !== undefined);
51286
+ const isValid = allFieldsFilled && errors.every(e => !e);
52309
51287
  const handleChange = (idx, val) => {
52310
51288
  setFields(prev => prev.map((f, i) => i === idx ? val : f));
52311
51289
  };
@@ -52329,10 +51307,16 @@ const OverlayTemplateDialog = ({
52329
51307
  if (isValid) onApply(fields);
52330
51308
  }
52331
51309
  }, /*#__PURE__*/React$1.createElement(FieldRow, null, params.map((param, idx) => /*#__PURE__*/React$1.createElement(React$1.Fragment, {
52332
- key: param.label
51310
+ key: `${param.label}-${idx}`
52333
51311
  }, /*#__PURE__*/React$1.createElement(Label, {
52334
51312
  htmlFor: `param-${idx}`
52335
- }, param.label), /*#__PURE__*/React$1.createElement(Input, {
51313
+ }, param.label), /*#__PURE__*/React$1.createElement("div", {
51314
+ style: {
51315
+ display: 'flex',
51316
+ alignItems: 'center',
51317
+ gap: '4px'
51318
+ }
51319
+ }, /*#__PURE__*/React$1.createElement(Input, {
52336
51320
  id: `param-${idx}`,
52337
51321
  type: "number",
52338
51322
  value: fields[idx],
@@ -52341,6 +51325,20 @@ const OverlayTemplateDialog = ({
52341
51325
  onBlur: () => handleBlur(idx),
52342
51326
  min: 0,
52343
51327
  max: param.type === 'percent' ? 100 : undefined
51328
+ }), param.suffix && /*#__PURE__*/React$1.createElement("span", {
51329
+ style: {
51330
+ color: '#212121',
51331
+ fontSize: '14px',
51332
+ whiteSpace: 'nowrap'
51333
+ }
51334
+ }, param.suffix)), errors[idx] && /*#__PURE__*/React$1.createElement("span", {
51335
+ style: {
51336
+ color: 'red',
51337
+ fontSize: '12px',
51338
+ gridColumn: '1 / -1',
51339
+ marginTop: '-8px',
51340
+ marginBottom: '8px'
51341
+ }
52344
51342
  })))), /*#__PURE__*/React$1.createElement(Actions, null, /*#__PURE__*/React$1.createElement(Button$1, {
52345
51343
  text: "Cancel",
52346
51344
  borderRadius: "8px",
@@ -52355,15 +51353,13 @@ const OverlayTemplateDialog = ({
52355
51353
  }), /*#__PURE__*/React$1.createElement(Button$1, {
52356
51354
  text: "Apply",
52357
51355
  borderRadius: "8px",
52358
- backgroundColor: isValid ? buttonColor : buttonColor,
51356
+ backgroundColor: buttonColor,
52359
51357
  textColor: "#fff",
52360
- borderColor: isValid ? buttonColor : buttonColor,
51358
+ borderColor: buttonColor,
52361
51359
  hoverTextColor: "#fff",
52362
- hoverBackgroundColor: isValid ? buttonHoverColor : buttonHoverColor,
52363
- hoverBorderColor: isValid ? buttonHoverColor : buttonHoverColor,
51360
+ hoverBackgroundColor: buttonHoverColor,
51361
+ hoverBorderColor: buttonHoverColor,
52364
51362
  disabledTextColor: "#fff",
52365
- disabledBackgroundColor: buttonColor,
52366
- disabledBorderColor: buttonColor,
52367
51363
  fontSize: "16px",
52368
51364
  padding: "8px 22px",
52369
51365
  disabled: !isValid,
@@ -52379,7 +51375,8 @@ OverlayTemplateDialog.propTypes = {
52379
51375
  template: PropTypes.object,
52380
51376
  params: PropTypes.arrayOf(PropTypes.shape({
52381
51377
  label: PropTypes.string.isRequired,
52382
- type: PropTypes.oneOf(['number', 'percent']).isRequired
51378
+ type: PropTypes.oneOf(['number', 'percent']).isRequired,
51379
+ suffix: PropTypes.string
52383
51380
  })).isRequired,
52384
51381
  buttonColor: PropTypes.string,
52385
51382
  buttonHoverColor: PropTypes.string
@@ -52405,6 +51402,7 @@ const OverlayDropdown = _ref => {
52405
51402
  const [hoveredText, setHoveredText] = useState(null);
52406
51403
  const [templateDialog, setTemplateDialog] = useState(null);
52407
51404
  const [dropdownPosition, setDropdownPosition] = useState('below');
51405
+ const [lastDefinedGroup, setLastDefinedGroup] = useState(null);
52408
51406
  const buttonRef = useRef(null);
52409
51407
  const dropdownRef = useRef(null);
52410
51408
  const containerRef = useRef(null);
@@ -52447,9 +51445,19 @@ const OverlayDropdown = _ref => {
52447
51445
  }
52448
51446
  }, [open, dropdownMaxHeight]);
52449
51447
 
51448
+ // Combine original data with "Last defined by you" group
51449
+ const getDataWithLastDefined = () => {
51450
+ const combinedData = [...data];
51451
+ if (lastDefinedGroup) {
51452
+ combinedData.unshift(lastDefinedGroup);
51453
+ }
51454
+ return combinedData;
51455
+ };
51456
+
52450
51457
  // Find selected item across all groups
52451
51458
  const findSelectedItem = () => {
52452
- for (const group of data) {
51459
+ const allData = getDataWithLastDefined();
51460
+ for (const group of allData) {
52453
51461
  if (group.items) {
52454
51462
  const found = group.items.find(item => item.value === value);
52455
51463
  if (found) return found;
@@ -52465,33 +51473,112 @@ const OverlayDropdown = _ref => {
52465
51473
  if (text.length > 66) return text.slice(0, 66) + '...';
52466
51474
  return text;
52467
51475
  };
52468
-
52469
- // Template parameters for templateType === 2
52470
51476
  const getTemplateParams = label => {
51477
+ if (!label) return [];
51478
+
51479
+ // Pattern 1: "Buy X & Get Y% Off" - X and Y must be standalone capital letters
51480
+ // Using word boundaries for better browser compatibility
51481
+ const buyGetOffPattern = /^(.*?)\bX\b(.*?)\bY\b(.*)$/;
51482
+ const buyGetOffMatch = label.match(buyGetOffPattern);
51483
+ if (buyGetOffMatch) {
51484
+ const [, beforeX, betweenXY, afterY] = buyGetOffMatch;
51485
+ return [{
51486
+ label: beforeX.trim(),
51487
+ // "Buy "
51488
+ type: 'number',
51489
+ suffix: ''
51490
+ }, {
51491
+ label: betweenXY.trim(),
51492
+ // " & Get "
51493
+ type: 'number',
51494
+ suffix: afterY.trim() // " % Off"
51495
+ }];
51496
+ }
51497
+
51498
+ // Pattern 2: Single variable patterns - X or Y must be standalone capital letters
51499
+ const singleVariablePattern = /^(.*?)\b([XY])\b(.*)$/;
51500
+ const singleVariableMatch = label.match(singleVariablePattern);
51501
+ if (singleVariableMatch) {
51502
+ const [, beforeVar, variable, afterVar] = singleVariableMatch;
51503
+ return [{
51504
+ label: beforeVar.trim(),
51505
+ // "Buy "
51506
+ type: 'number',
51507
+ suffix: afterVar.trim() // " of item(s), Get Free Item"
51508
+ }];
51509
+ }
51510
+
51511
+ // Fallback: if no pattern matches, treat as single input
52471
51512
  return [{
52472
- label: 'Value 1',
52473
- type: 'number'
52474
- }, {
52475
- label: 'Value 2',
52476
- type: 'number'
51513
+ label: 'Value',
51514
+ type: 'number',
51515
+ suffix: ''
52477
51516
  }];
52478
51517
  };
51518
+ const generateFinalSentence = (template, values) => {
51519
+ let sentence = template.label;
51520
+
51521
+ // Pattern 1: "Buy X & Get Y% Off" - X and Y must be standalone capital letters
51522
+ const buyGetOffPattern = /^(.*?)\bX\b(.*?)\bY\b(.*)$/;
51523
+ const buyGetOffMatch = sentence.match(buyGetOffPattern);
51524
+ if (buyGetOffMatch && values.length >= 2) {
51525
+ const [, beforeX, betweenXY, afterY] = buyGetOffMatch;
51526
+ return beforeX + values[0] + betweenXY + values[1] + afterY;
51527
+ }
51528
+
51529
+ // Pattern 2: Single variable patterns - X or Y must be standalone capital letters
51530
+ const singleVariablePattern = /^(.*?)\b([XY])\b(.*)$/;
51531
+ const singleVariableMatch = sentence.match(singleVariablePattern);
51532
+ if (singleVariableMatch && values.length >= 1) {
51533
+ const [, beforeVar, variable, afterVar] = singleVariableMatch;
51534
+ return beforeVar + values[0] + afterVar;
51535
+ }
51536
+
51537
+ // Fallback
51538
+ return sentence;
51539
+ };
52479
51540
  const handleTemplateApply = fields => {
52480
51541
  if (templateDialog && onSelectClick) {
52481
- const result = {
51542
+ const finalSentence = generateFinalSentence(templateDialog.item, fields);
51543
+
51544
+ // Create new item for "Last defined by you" group
51545
+ const newItem = {
52482
51546
  ...templateDialog.item,
51547
+ label: finalSentence,
51548
+ value: `last_defined_${Date.now()}`,
51549
+ // Unique value
52483
51550
  overlayCode: templateDialog.group.overlayCode,
52484
51551
  overlayName: templateDialog.group.overlayName,
52485
51552
  templateType: templateDialog.group.templateType,
52486
51553
  appliedValues: fields
52487
51554
  };
51555
+
51556
+ // Update "Last defined by you" group - add to existing or create new
51557
+ if (lastDefinedGroup) {
51558
+ // Add to existing group
51559
+ setLastDefinedGroup({
51560
+ ...lastDefinedGroup,
51561
+ items: [newItem, ...lastDefinedGroup.items] // Add new item at the beginning
51562
+ });
51563
+ } else {
51564
+ // Create new group
51565
+ setLastDefinedGroup({
51566
+ overlayCode: 'last_defined',
51567
+ overlayName: 'Last defined by you',
51568
+ templateType: 1,
51569
+ items: [newItem]
51570
+ });
51571
+ }
52488
51572
  setTemplateDialog(null);
52489
- onSelectClick(result);
51573
+
51574
+ // Select the new item
51575
+ onSelectClick(newItem);
52490
51576
  }
52491
51577
  };
52492
51578
  const toggleDropdown = () => {
52493
51579
  setOpen(prev => !prev);
52494
51580
  };
51581
+ const dataToRender = getDataWithLastDefined();
52495
51582
  return /*#__PURE__*/React$1.createElement(DropdownContainer, {
52496
51583
  width: width,
52497
51584
  ref: containerRef
@@ -52522,7 +51609,7 @@ const OverlayDropdown = _ref => {
52522
51609
  dropdownMaxHeight: dropdownMaxHeight,
52523
51610
  width: width,
52524
51611
  position: dropdownPosition
52525
- }, data.map((group, groupIndex) => group.items && group.items.length > 0 && /*#__PURE__*/React$1.createElement("div", {
51612
+ }, dataToRender.map((group, groupIndex) => group.items && group.items.length > 0 && /*#__PURE__*/React$1.createElement("div", {
52526
51613
  key: group.overlayCode
52527
51614
  }, /*#__PURE__*/React$1.createElement(SectionTitle, null, group.overlayName), group.items.map(item => /*#__PURE__*/React$1.createElement(DropdownItem, {
52528
51615
  key: item.value,