// Copyright 2014 The Cobalt Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "cobalt/cssom/keyword_names.h"

namespace cobalt {
namespace cssom {

const char kAbsoluteKeywordName[] = "absolute";
const char kAlternateKeywordName[] = "alternate";
const char kAlternateReverseKeywordName[] = "alternate-reverse";
const char kAquaKeywordName[] = "aqua";
const char kAtKeywordName[] = "at";
const char kAutoKeywordName[] = "auto";
const char kBackwardsKeywordName[] = "backwards";
const char kBaselineKeywordName[] = "baseline";
const char kBlackKeywordName[] = "black";
const char kBlockKeywordName[] = "block";
const char kBlueKeywordName[] = "blue";
const char kBoldKeywordName[] = "bold";
const char kBothKeywordName[] = "both";
const char kBottomKeywordName[] = "bottom";
const char kBreakWordKeywordName[] = "break-word";
const char kCenterKeywordName[] = "center";
const char kCircleKeywordName[] = "circle";
const char kClipKeywordName[] = "clip";
const char kClosestCornerKeywordName[] = "closest-corner";
const char kClosestSideKeywordName[] = "closest-side";
const char kContainKeywordName[] = "contain";
const char kCoverKeywordName[] = "cover";
const char kCurrentColorKeywordName[] = "currentColor";
const char kCursiveKeywordName[] = "cursive";
const char kEaseInKeywordName[] = "ease-in";
const char kEaseInOutKeywordName[] = "ease-in-out";
const char kEaseKeywordName[] = "ease";
const char kEaseOutKeywordName[] = "ease-out";
const char kEllipseKeywordName[] = "ellipse";
const char kEllipsisKeywordName[] = "ellipsis";
const char kEndKeywordName[] = "end";
const char kEquirectangularKeywordName[] = "equirectangular";
const char kFantasyKeywordName[] = "fantasy";
const char kFarthestCornerKeywordName[] = "farthest-corner";
const char kFarthestSideKeywordName[] = "farthest-side";
const char kFixedKeywordName[] = "fixed";
const char kForwardsKeywordName[] = "forwards";
const char kFromKeywordName[] = "from";
const char kFuchsiaKeywordName[] = "fuchsia";
const char kGrayKeywordName[] = "gray";
const char kGreenKeywordName[] = "green";
const char kHiddenKeywordName[] = "hidden";
const char kInfiniteKeywordName[] = "infinite";
const char kInheritKeywordName[] = "inherit";
const char kInitialKeywordName[] = "initial";
const char kInlineBlockKeywordName[] = "inline-block";
const char kInlineKeywordName[] = "inline";
const char kInsetKeywordName[] = "inset";
const char kItalicKeywordName[] = "italic";
const char kLeftKeywordName[] = "left";
const char kLimeKeywordName[] = "lime";
const char kLinearKeywordName[] = "linear";
const char kLineThroughKeywordName[] = "line-through";
const char kMaroonKeywordName[] = "maroon";
const char kMiddleKeywordName[] = "middle";
const char kMonoscopicKeywordName[] = "monoscopic";
const char kMonospaceKeywordName[] = "monospace";
const char kNavyKeywordName[] = "navy";
const char kNoneKeywordName[] = "none";
const char kNoRepeatKeywordName[] = "no-repeat";
const char kNormalKeywordName[] = "normal";
const char kNoWrapKeywordName[] = "nowrap";
const char kObliqueKeywordName[] = "oblique";
const char kOliveKeywordName[] = "olive";
const char kPreKeywordName[] = "pre";
const char kPreLineKeywordName[] = "pre-line";
const char kPreWrapKeywordName[] = "pre-wrap";
const char kPurpleKeywordName[] = "purple";
const char kRectangularKeywordName[] = "rectangular";
const char kRedKeywordName[] = "red";
const char kRelativeKeywordName[] = "relative";
const char kRepeatKeywordName[] = "repeat";
const char kRepeatXKeywordName[] = "repeat-x";
const char kRepeatYKeywordName[] = "repeat-y";
const char kReverseKeywordName[] = "reverse";
const char kRightKeywordName[] = "right";
const char kSansSerifKeywordName[] = "sans-serif";
const char kSerifKeywordName[] = "serif";
const char kSilverKeywordName[] = "silver";
const char kSolidKeywordName[] = "solid";
const char kStartKeywordName[] = "start";
const char kStaticKeywordName[] = "static";
const char kStepEndKeywordName[] = "step-end";
const char kStepStartKeywordName[] = "step-start";
const char kStereoscopicLeftRightKeywordName[] = "stereoscopic-left-right";
const char kStereoscopicTopBottomKeywordName[] = "stereoscopic-top-bottom";
const char kTealKeywordName[] = "teal";
const char kToKeywordName[] = "to";
const char kTopKeywordName[] = "top";
const char kTransparentKeywordName[] = "transparent";
const char kUppercaseKeywordName[] = "uppercase";
const char kVisibleKeywordName[] = "visible";
const char kWhiteKeywordName[] = "white";
const char kYellowKeywordName[] = "yellow";

}  // namespace cssom
}  // namespace cobalt
