import createPlugin from 'tailwindcss/plugin';
import { createComponent, registerComponents } from '@graphprotocol/gds-css';
import gdsTailwindPlugin from '@graphprotocol/gds-css/tailwind-plugin';
import { AddressMeta } from "./components/Address.meta.js";
import { AvatarMeta } from "./components/Avatar.meta.js";
import { AvatarGroupMeta } from "./components/AvatarGroup.meta.js";
import { AddonMeta } from "./components/base/Addon.meta.js";
import { CheckableMeta } from "./components/base/Checkable.meta.js";
import { FieldMeta } from "./components/base/Field.meta.js";
import { TransitionMeta } from "./components/base/Transition.meta.js";
import { BreadcrumbsItemMeta, BreadcrumbsMeta } from "./components/Breadcrumbs.meta.js";
import { ButtonMeta } from "./components/Button.meta.js";
import { ButtonGroupMeta } from "./components/ButtonGroup.meta.js";
import { CardMeta } from "./components/Card.meta.js";
import { CheckboxMeta } from "./components/Checkbox.meta.js";
import { ChipGroupMeta, ChipMeta } from "./components/Chip.meta.js";
import { ClusterMeta } from "./components/Cluster.meta.js";
import { CodeBlockMeta, CodeBlockTabsMeta } from "./components/CodeBlock.meta.js";
import { CodeInlineMeta } from "./components/CodeInline.meta.js";
import { CopyButtonMeta } from "./components/CopyButton.meta.js";
import { CurrencyInputMeta } from "./components/CurrencyInput.meta.js";
import { DescriptionListItemMeta, DescriptionListMeta } from "./components/DescriptionList.meta.js";
import { DividerMeta } from "./components/Divider.meta.js";
import { IconMeta } from "./components/Icon.meta.js";
import { InputMeta } from "./components/Input.meta.js";
import { KeyboardMeta } from "./components/Keyboard.meta.js";
import { LabelMeta } from "./components/Label.meta.js";
import { LinkMeta } from "./components/Link.meta.js";
import { MenuItemMeta, MenuMeta } from "./components/Menu.meta.js";
import { ModalMeta } from "./components/Modal.meta.js";
import { OTCInputMeta } from "./components/OTCInput.meta.js";
import { PaneContainerMeta, PaneMeta } from "./components/Pane.meta.js";
import { RadioMeta } from "./components/Radio.meta.js";
import { SearchMeta } from "./components/Search.meta.js";
import { SegmentedControlMeta, SegmentedControlOptionMeta, } from "./components/SegmentedControl.meta.js";
import { StatusMeta } from "./components/Status.meta.js";
import { StepperMeta } from "./components/Stepper.meta.js";
import { SwitchMeta } from "./components/Switch.meta.js";
import { TabSetTabMeta, TabSetTabsMeta } from "./components/TabSet.meta.js";
import { TagMeta } from "./components/Tag.meta.js";
import { TextAreaMeta } from "./components/TextArea.meta.js";
import { ToggleButtonMeta } from "./components/ToggleButton.meta.js";
import { TooltipMeta } from "./components/Tooltip.meta.js";
/**
 * Register a dummy component for two reasons:
 *
 * - Define the order in which `@prop-*` variants are generated, and thus sorted by the Prettier
 *   extension (i.e. without this, if the first component with a `size` prop only had `small` and
 *   `medium` values, `xsmall` would be sorted after them).
 * - Allow the Tailwind IntelliSense extension to list `@prop-*` variants even though a modifier is
 *   technically required for them to be valid (one without a modifier will use the dummy
 *   component).
 */
const DummyComponent = createComponent('Dummy', {
    cssProps: {
        variant: {
            type: 'values',
            values: ['inverse', 'primary', 'secondary', 'tertiary', 'danger', 'naked', 'enclosed'],
        },
        size: {
            type: 'values',
            values: ['2xsmall', 'xsmall', 'small', 'medium', 'large', 'xlarge', '2xlarge'],
        },
    },
});
const gdsTailwindPluginWithComponents = createPlugin((api) => {
    registerComponents([
        DummyComponent,
        AddressMeta,
        AddonMeta,
        AvatarMeta,
        AvatarGroupMeta,
        BreadcrumbsItemMeta,
        BreadcrumbsMeta,
        ButtonMeta,
        ButtonGroupMeta,
        CardMeta,
        CheckableMeta,
        CheckboxMeta,
        ChipMeta,
        ChipGroupMeta,
        ClusterMeta,
        CodeBlockMeta,
        CodeBlockTabsMeta,
        CodeInlineMeta,
        CopyButtonMeta,
        CurrencyInputMeta,
        DescriptionListItemMeta,
        DescriptionListMeta,
        DividerMeta,
        FieldMeta,
        IconMeta,
        InputMeta,
        KeyboardMeta,
        LabelMeta,
        LinkMeta,
        MenuItemMeta,
        MenuMeta,
        ModalMeta,
        OTCInputMeta,
        PaneContainerMeta,
        PaneMeta,
        RadioMeta,
        SearchMeta,
        SegmentedControlMeta,
        SegmentedControlOptionMeta,
        StatusMeta,
        StepperMeta,
        SwitchMeta,
        TabSetTabMeta,
        TabSetTabsMeta,
        TagMeta,
        TextAreaMeta,
        ToggleButtonMeta,
        TooltipMeta,
        TransitionMeta,
    ]);
    gdsTailwindPlugin.handler(api);
});
export default gdsTailwindPluginWithComponents;
//# sourceMappingURL=tailwind-plugin.js.map