{
  "version": 3,
  "sources": ["../../src/palette-edit/index.tsx"],
  "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useRef, useEffect, useCallback, useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexBlock, FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { Item, ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport { PaletteActionsContainer, PaletteEditStyles, PaletteHeading, IndicatorStyled, NameContainer, NameInputControl, DoneButton, RemoveButton, PaletteEditContents } from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { kebabCase } from '../utils/strings';\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nconst DEFAULT_COLOR = '#000';\nfunction NameInput({\n  value,\n  onChange,\n  label\n}) {\n  return /*#__PURE__*/_jsx(NameInputControl, {\n    size: \"compact\",\n    label: label,\n    hideLabelFromVision: true,\n    value: value,\n    onChange: onChange\n  });\n}\n\n/*\n * Deduplicates the slugs of the provided elements.\n */\nexport function deduplicateElementSlugs(elements) {\n  const slugCounts = {};\n  return elements.map(element => {\n    let newSlug;\n    const {\n      slug\n    } = element;\n    slugCounts[slug] = (slugCounts[slug] || 0) + 1;\n    if (slugCounts[slug] > 1) {\n      newSlug = `${slug}-${slugCounts[slug] - 1}`;\n    }\n    return {\n      ...element,\n      slug: newSlug ?? slug\n    };\n  });\n}\n\n/**\n * Returns a name and slug for a palette item. The name takes the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param elements   An array of color palette items.\n * @param slugPrefix The slug prefix used to match the element slug.\n *\n * @return A name and slug for the new palette item.\n */\nexport function getNameAndSlugForPosition(elements, slugPrefix) {\n  const nameRegex = new RegExp(`^${slugPrefix}color-([\\\\d]+)$`);\n  const position = elements.reduce((previousValue, currentValue) => {\n    if (typeof currentValue?.slug === 'string') {\n      const matches = currentValue?.slug.match(nameRegex);\n      if (matches) {\n        const id = parseInt(matches[1], 10);\n        if (id >= previousValue) {\n          return id + 1;\n        }\n      }\n    }\n    return previousValue;\n  }, 1);\n  return {\n    name: sprintf(/* translators: %d: is an id for a custom color */\n    __('Color %d'), position),\n    slug: `${slugPrefix}color-${position}`\n  };\n}\nfunction ColorPickerPopover({\n  isGradient,\n  element,\n  onChange,\n  popoverProps: receivedPopoverProps,\n  onClose = () => {}\n}) {\n  const popoverProps = useMemo(() => ({\n    shift: true,\n    offset: 20,\n    // Disabling resize as it would otherwise cause the popover to show\n    // scrollbars while dragging the color picker's handle close to the\n    // popover edge.\n    resize: false,\n    placement: 'left-start',\n    ...receivedPopoverProps,\n    className: clsx('components-palette-edit__popover', receivedPopoverProps?.className)\n  }), [receivedPopoverProps]);\n  return /*#__PURE__*/_jsxs(Popover, {\n    ...popoverProps,\n    onClose: onClose,\n    children: [!isGradient && /*#__PURE__*/_jsx(ColorPicker, {\n      color: element.color,\n      enableAlpha: true,\n      onChange: newColor => {\n        onChange({\n          ...element,\n          color: newColor\n        });\n      }\n    }), isGradient && /*#__PURE__*/_jsx(\"div\", {\n      className: \"components-palette-edit__popover-gradient-picker\",\n      children: /*#__PURE__*/_jsx(CustomGradientPicker, {\n        __experimentalIsRenderedInSidebar: true,\n        value: element.gradient,\n        onChange: newGradient => {\n          onChange({\n            ...element,\n            gradient: newGradient\n          });\n        }\n      })\n    })]\n  });\n}\nfunction Option({\n  canOnlyChangeValues,\n  element,\n  onChange,\n  onRemove,\n  popoverProps: receivedPopoverProps,\n  slugPrefix,\n  isGradient\n}) {\n  const value = isGradient ? element.gradient : element.color;\n  const [isEditingColor, setIsEditingColor] = useState(false);\n\n  // Use internal state instead of a ref to make sure that the component\n  // re-renders when the popover's anchor updates.\n  const [popoverAnchor, setPopoverAnchor] = useState(null);\n  const popoverProps = useMemo(() => ({\n    ...receivedPopoverProps,\n    // Use the custom palette color item as the popover anchor.\n    anchor: popoverAnchor\n  }), [popoverAnchor, receivedPopoverProps]);\n  return /*#__PURE__*/_jsxs(Item, {\n    ref: setPopoverAnchor,\n    size: \"small\",\n    children: [/*#__PURE__*/_jsxs(HStack, {\n      justify: \"flex-start\",\n      children: [/*#__PURE__*/_jsx(Button, {\n        size: \"small\",\n        onClick: () => {\n          setIsEditingColor(true);\n        },\n        \"aria-label\": sprintf(\n        // translators: %s is a color or gradient name, e.g. \"Red\".\n        __('Edit: %s'), element.name.trim().length ? element.name : value || ''),\n        style: {\n          padding: 0\n        },\n        children: /*#__PURE__*/_jsx(IndicatorStyled, {\n          colorValue: value\n        })\n      }), /*#__PURE__*/_jsx(FlexBlock, {\n        children: !canOnlyChangeValues ? /*#__PURE__*/_jsx(NameInput, {\n          label: isGradient ? __('Gradient name') : __('Color name'),\n          value: element.name,\n          onChange: nextName => onChange({\n            ...element,\n            name: nextName,\n            slug: slugPrefix + kebabCase(nextName ?? '')\n          })\n        }) : /*#__PURE__*/_jsx(NameContainer, {\n          children: element.name.trim().length ? element.name : /* Fall back to non-breaking space to maintain height */\n          '\\u00A0'\n        })\n      }), !canOnlyChangeValues && /*#__PURE__*/_jsx(FlexItem, {\n        children: /*#__PURE__*/_jsx(RemoveButton, {\n          size: \"small\",\n          icon: lineSolid,\n          label: sprintf(\n          // translators: %s is a color or gradient name, e.g. \"Red\".\n          __('Remove color: %s'), element.name.trim().length ? element.name : value || ''),\n          onClick: onRemove\n        })\n      })]\n    }), isEditingColor && /*#__PURE__*/_jsx(ColorPickerPopover, {\n      isGradient: isGradient,\n      onChange: onChange,\n      element: element,\n      popoverProps: popoverProps,\n      onClose: () => setIsEditingColor(false)\n    })]\n  });\n}\nfunction PaletteEditListView({\n  elements,\n  onChange,\n  canOnlyChangeValues,\n  slugPrefix,\n  isGradient,\n  popoverProps,\n  addColorRef\n}) {\n  // When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n  const elementsReferenceRef = useRef(undefined);\n  useEffect(() => {\n    elementsReferenceRef.current = elements;\n  }, [elements]);\n  const debounceOnChange = useDebounce(updatedElements => onChange(deduplicateElementSlugs(updatedElements)), 100);\n  return /*#__PURE__*/_jsx(VStack, {\n    spacing: 3,\n    children: /*#__PURE__*/_jsx(ItemGroup, {\n      isRounded: true,\n      isBordered: true,\n      isSeparated: true,\n      children: elements.map((element, index) => /*#__PURE__*/_jsx(Option, {\n        isGradient: isGradient,\n        canOnlyChangeValues: canOnlyChangeValues,\n        element: element,\n        onChange: newElement => {\n          debounceOnChange(elements.map((currentElement, currentIndex) => {\n            if (currentIndex === index) {\n              return newElement;\n            }\n            return currentElement;\n          }));\n        },\n        onRemove: () => {\n          const newElements = elements.filter((_currentElement, currentIndex) => {\n            if (currentIndex === index) {\n              return false;\n            }\n            return true;\n          });\n          onChange(newElements.length ? newElements : undefined);\n          addColorRef.current?.focus();\n        },\n        slugPrefix: slugPrefix,\n        popoverProps: popoverProps\n      }, index))\n    })\n  });\n}\nconst EMPTY_ARRAY = [];\n\n/**\n * Allows editing a palette of colors or gradients.\n *\n * ```jsx\n * import { PaletteEdit } from '@wordpress/components';\n * const MyPaletteEdit = () => {\n *   const [ controlledColors, setControlledColors ] = useState( colors );\n *\n *   return (\n *     <PaletteEdit\n *       colors={ controlledColors }\n *       onChange={ ( newColors?: Color[] ) => {\n *         setControlledColors( newColors );\n *       } }\n *       paletteLabel=\"Here is a label\"\n *     />\n *   );\n * };\n * ```\n */\nexport function PaletteEdit({\n  gradients,\n  colors = EMPTY_ARRAY,\n  onChange,\n  paletteLabel,\n  paletteLabelHeadingLevel = 2,\n  emptyMessage,\n  canOnlyChangeValues,\n  canReset,\n  slugPrefix = '',\n  popoverProps\n}) {\n  const isGradient = !!gradients;\n  const elements = isGradient ? gradients : colors;\n  const [isEditing, setIsEditing] = useState(false);\n  const [editingElement, setEditingElement] = useState(null);\n  const isAdding = isEditing && !!editingElement && elements[editingElement] && !elements[editingElement].slug;\n  const elementsLength = elements.length;\n  const hasElements = elementsLength > 0;\n  const debounceOnChange = useDebounce(onChange, 100);\n  const onSelectPaletteItem = useCallback((value, newEditingElementIndex) => {\n    const selectedElement = newEditingElementIndex === undefined ? undefined : elements[newEditingElementIndex];\n    const key = isGradient ? 'gradient' : 'color';\n    // Ensures that the index returned matches a known element value.\n    if (!!selectedElement && selectedElement[key] === value) {\n      setEditingElement(newEditingElementIndex);\n    } else {\n      setIsEditing(true);\n    }\n  }, [isGradient, elements]);\n  const addColorRef = useRef(null);\n  return /*#__PURE__*/_jsxs(PaletteEditStyles, {\n    children: [/*#__PURE__*/_jsxs(HStack, {\n      children: [/*#__PURE__*/_jsx(PaletteHeading, {\n        level: paletteLabelHeadingLevel,\n        children: paletteLabel\n      }), /*#__PURE__*/_jsxs(PaletteActionsContainer, {\n        children: [hasElements && isEditing && /*#__PURE__*/_jsx(DoneButton, {\n          size: \"small\",\n          onClick: () => {\n            setIsEditing(false);\n            setEditingElement(null);\n          },\n          children: __('Done')\n        }), !canOnlyChangeValues && /*#__PURE__*/_jsx(Button, {\n          ref: addColorRef,\n          size: \"small\",\n          isPressed: isAdding,\n          icon: plus,\n          label: isGradient ? __('Add gradient') : __('Add color'),\n          onClick: () => {\n            const {\n              name,\n              slug\n            } = getNameAndSlugForPosition(elements, slugPrefix);\n            if (!!gradients) {\n              onChange([...gradients, {\n                gradient: DEFAULT_GRADIENT,\n                name,\n                slug\n              }]);\n            } else {\n              onChange([...colors, {\n                color: DEFAULT_COLOR,\n                name,\n                slug\n              }]);\n            }\n            setIsEditing(true);\n            setEditingElement(elements.length);\n          }\n        }), hasElements && (!isEditing || !canOnlyChangeValues || canReset) && /*#__PURE__*/_jsx(DropdownMenu, {\n          icon: moreVertical,\n          label: isGradient ? __('Gradient options') : __('Color options'),\n          toggleProps: {\n            size: 'small'\n          },\n          children: ({\n            onClose\n          }) => /*#__PURE__*/_jsx(_Fragment, {\n            children: /*#__PURE__*/_jsxs(NavigableMenu, {\n              role: \"menu\",\n              children: [!isEditing && /*#__PURE__*/_jsx(Button, {\n                __next40pxDefaultSize: true,\n                variant: \"tertiary\",\n                onClick: () => {\n                  setIsEditing(true);\n                  onClose();\n                },\n                className: \"components-palette-edit__menu-button\",\n                children: __('Show details')\n              }), !canOnlyChangeValues && /*#__PURE__*/_jsx(Button, {\n                __next40pxDefaultSize: true,\n                variant: \"tertiary\",\n                onClick: () => {\n                  setEditingElement(null);\n                  setIsEditing(false);\n                  onChange();\n                  onClose();\n                },\n                className: \"components-palette-edit__menu-button\",\n                children: isGradient ? __('Remove all gradients') : __('Remove all colors')\n              }), canReset && /*#__PURE__*/_jsx(Button, {\n                __next40pxDefaultSize: true,\n                className: \"components-palette-edit__menu-button\",\n                variant: \"tertiary\",\n                onClick: () => {\n                  setEditingElement(null);\n                  onChange();\n                  onClose();\n                },\n                children: isGradient ? __('Reset gradient') : __('Reset colors')\n              })]\n            })\n          })\n        })]\n      })]\n    }), hasElements && /*#__PURE__*/_jsxs(PaletteEditContents, {\n      children: [isEditing && /*#__PURE__*/_jsx(PaletteEditListView, {\n        canOnlyChangeValues: canOnlyChangeValues,\n        elements: elements\n        // @ts-expect-error TODO: Don't know how to resolve\n        ,\n        onChange: onChange,\n        slugPrefix: slugPrefix,\n        isGradient: isGradient,\n        popoverProps: popoverProps,\n        addColorRef: addColorRef\n      }), !isEditing && editingElement !== null && /*#__PURE__*/_jsx(ColorPickerPopover, {\n        isGradient: isGradient,\n        onClose: () => setEditingElement(null),\n        onChange: newElement => {\n          debounceOnChange(\n          // @ts-expect-error TODO: Don't know how to resolve\n          elements.map((currentElement, currentIndex) => {\n            if (currentIndex === editingElement) {\n              return newElement;\n            }\n            return currentElement;\n          }));\n        },\n        element: elements[editingElement ?? -1],\n        popoverProps: popoverProps\n      }), !isEditing && (isGradient ? /*#__PURE__*/_jsx(GradientPicker, {\n        gradients: gradients,\n        onChange: onSelectPaletteItem,\n        clearable: false,\n        disableCustomGradients: true\n      }) : /*#__PURE__*/_jsx(ColorPalette, {\n        colors: colors,\n        onChange: onSelectPaletteItem,\n        clearable: false,\n        disableCustomColors: true\n      }))]\n    }), !hasElements && emptyMessage && /*#__PURE__*/_jsx(PaletteEditContents, {\n      children: emptyMessage\n    })]\n  });\n}\nexport default PaletteEdit;"],
  "mappings": "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",
  "names": ["_jsx", "clsx", "_jsxs", "Popover", "CustomGradientPicker", "Button", "DropdownMenu", "_Fragment", "GradientPicker", "ColorPalette"]
}
