@spark-ui/components 10.20.9 → 10.20.10

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.
@@ -21,6 +21,7 @@ interface ComboboxContextState extends DownshiftState {
21
21
  filteredItemsMap: ItemsMap;
22
22
  highlightedItem: ComboboxItem | undefined;
23
23
  hasPopover: boolean;
24
+ areSelectedItemsInTrigger: boolean;
24
25
  multiple: boolean;
25
26
  disabled: boolean;
26
27
  readOnly: boolean;
@@ -28,6 +29,7 @@ interface ComboboxContextState extends DownshiftState {
28
29
  state?: 'error' | 'alert' | 'success';
29
30
  lastInteractionType: 'mouse' | 'keyboard';
30
31
  setHasPopover: Dispatch<SetStateAction<boolean>>;
32
+ setAreSelectedItemsInTrigger: Dispatch<SetStateAction<boolean>>;
31
33
  setLastInteractionType: (type: 'mouse' | 'keyboard') => void;
32
34
  setOnInputValueChange: Dispatch<SetStateAction<((v: string) => void) | null>>;
33
35
  innerInputRef: RefObject<HTMLInputElement | null>;
@@ -21,6 +21,7 @@ interface ComboboxContextState extends DownshiftState {
21
21
  filteredItemsMap: ItemsMap;
22
22
  highlightedItem: ComboboxItem | undefined;
23
23
  hasPopover: boolean;
24
+ areSelectedItemsInTrigger: boolean;
24
25
  multiple: boolean;
25
26
  disabled: boolean;
26
27
  readOnly: boolean;
@@ -28,6 +29,7 @@ interface ComboboxContextState extends DownshiftState {
28
29
  state?: 'error' | 'alert' | 'success';
29
30
  lastInteractionType: 'mouse' | 'keyboard';
30
31
  setHasPopover: Dispatch<SetStateAction<boolean>>;
32
+ setAreSelectedItemsInTrigger: Dispatch<SetStateAction<boolean>>;
31
33
  setLastInteractionType: (type: 'mouse' | 'keyboard') => void;
32
34
  setOnInputValueChange: Dispatch<SetStateAction<((v: string) => void) | null>>;
33
35
  innerInputRef: RefObject<HTMLInputElement | null>;
@@ -1622,6 +1622,7 @@ var ComboboxProvider = ({
1622
1622
  const [hasPopover, setHasPopover] = (0, import_react7.useState)(
1623
1623
  hasChildComponent(children, "Combobox.Popover")
1624
1624
  );
1625
+ const [areSelectedItemsInTrigger, setAreSelectedItemsInTrigger] = (0, import_react7.useState)(false);
1625
1626
  const [lastInteractionType, setLastInteractionType] = (0, import_react7.useState)("mouse");
1626
1627
  (0, import_react7.useEffect)(() => {
1627
1628
  setFilteredItems(shouldFilterItems ? getFilteredItemsMap(itemsMap, inputValue) : itemsMap);
@@ -1756,6 +1757,8 @@ var ComboboxProvider = ({
1756
1757
  multiple,
1757
1758
  disabled,
1758
1759
  readOnly,
1760
+ areSelectedItemsInTrigger,
1761
+ setAreSelectedItemsInTrigger,
1759
1762
  hasPopover,
1760
1763
  setHasPopover,
1761
1764
  state,
@@ -2009,7 +2012,7 @@ var Input = ({
2009
2012
  },
2010
2013
  ref: inputRef
2011
2014
  });
2012
- const hasPlaceholder = ctx.multiple ? ctx.selectedItems.length === 0 : ctx.selectedItem === null;
2015
+ const hasPlaceholder = ctx.multiple ? !ctx.areSelectedItemsInTrigger || ctx.selectedItems.length === 0 : ctx.selectedItem === null;
2013
2016
  function mergeHandlers(handlerA, handlerB) {
2014
2017
  return (event) => {
2015
2018
  handlerA?.(event);
@@ -2486,6 +2489,10 @@ var Trigger2 = ({ className, children, ref: forwardedRef }) => {
2486
2489
  }
2487
2490
  };
2488
2491
  useWidthIncreaseCallback(scrollableAreaRef, scrollToRight);
2492
+ const hasSelectedItems = !!selectedItems;
2493
+ (0, import_react16.useEffect)(() => {
2494
+ ctx.setAreSelectedItemsInTrigger(hasSelectedItems);
2495
+ }, [hasSelectedItems]);
2489
2496
  (0, import_react16.useEffect)(() => {
2490
2497
  const resizeObserver = new ResizeObserver(scrollToRight);
2491
2498
  if (scrollableAreaRef.current) {