/*
 * Copyright 2021 Palantir Technologies, Inc. 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.
 */

import * as React from "react";

import { Intent, Tag } from "@blueprintjs/core";

import { ExampleCard } from "./ExampleCard";

const WIDTH = 200;
export class TagExample extends React.PureComponent {
    private onRemove = () => {
        return;
    };

    public render() {
        return (
            <div className="example-row">
                <ExampleCard label="Tag" subLabel="Default" width={WIDTH} horizontal={true}>
                    <div className="tag-container">
                        {Object.values(Intent).map(intent => (
                            <Tag
                                key={`${intent}-button`}
                                intent={intent as Intent}
                                interactive={true}
                                onRemove={this.onRemove}
                            >
                                Tag
                            </Tag>
                        ))}
                    </div>
                    <div className="tag-container">
                        {Object.values(Intent).map(intent => (
                            <Tag key={`${intent}-button`} intent={intent as Intent} interactive={false}>
                                Tag
                            </Tag>
                        ))}
                    </div>
                </ExampleCard>
                <ExampleCard label="Tag" subLabel="Minimal" width={WIDTH} horizontal={true}>
                    <div className="tag-container">
                        {Object.values(Intent).map(intent => (
                            <Tag
                                key={`${intent}-button`}
                                minimal={true}
                                intent={intent as Intent}
                                interactive={true}
                                onRemove={this.onRemove}
                            >
                                Tag
                            </Tag>
                        ))}
                    </div>
                    <div className="tag-container">
                        {Object.values(Intent).map(intent => (
                            <Tag key={`${intent}-button`} minimal={true} intent={intent as Intent} interactive={false}>
                                Tag
                            </Tag>
                        ))}
                    </div>
                </ExampleCard>
            </div>
        );
    }
}
