function LayerPanelHeaderFactory()

in src/components/side-panel/layer-panel/layer-panel-header.js [138:207]


function LayerPanelHeaderFactory(LayerTitleSection) {
  const LayerPanelHeader = ({
    isConfigActive,
    isDragNDropEnabled,
    isVisible,
    label,
    layerId,
    layerType,
    labelRCGColorValues,
    onToggleVisibility,
    onUpdateLayerLabel,
    onToggleEnableConfig,
    onRemoveLayer,
    showRemoveLayer
  }) => (
    <StyledLayerPanelHeader
      className={classnames('layer-panel__header', {
        'sort--handle': !isConfigActive
      })}
      active={isConfigActive}
      labelRCGColorValues={labelRCGColorValues}
      onClick={onToggleEnableConfig}
    >
      <HeaderLabelSection className="layer-panel__header__content">
        {isDragNDropEnabled && (
          <DragHandle className="layer__drag-handle">
            <VertDots height="20px" />
          </DragHandle>
        )}
        <LayerTitleSection
          layerId={layerId}
          label={label}
          onUpdateLayerLabel={onUpdateLayerLabel}
          layerType={layerType}
        />
      </HeaderLabelSection>
      <HeaderActionSection className="layer-panel__header__actions">
        {showRemoveLayer ? (
          <PanelHeaderAction
            className="layer__remove-layer"
            id={layerId}
            tooltip={'tooltip.removeLayer'}
            onClick={onRemoveLayer}
            tooltipType="error"
            IconComponent={Trash}
          />
        ) : null}
        <PanelHeaderAction
          className="layer__visibility-toggle"
          id={layerId}
          tooltip={isVisible ? 'tooltip.hideLayer' : 'tooltip.showLayer'}
          onClick={onToggleVisibility}
          IconComponent={isVisible ? EyeSeen : EyeUnseen}
        />
        <PanelHeaderAction
          className="layer__enable-config"
          id={layerId}
          tooltip={'tooltip.layerSettings'}
          onClick={onToggleEnableConfig}
          IconComponent={ArrowDown}
        />
      </HeaderActionSection>
    </StyledLayerPanelHeader>
  );

  LayerPanelHeader.propTypes = propTypes;
  LayerPanelHeader.defaultProps = defaultProps;

  return LayerPanelHeader;
}