[{"name":"TailwindCss.CheckedFunction","comment":" Predefined `CheckedFunction` instances so you do not have to define them yourself.\nThese are designed for use in your TailwindCss.\\* rules `Options`.\n\n@docs class, classList\n\nIf you want to define your own checked functions, these are the building blocks you need\n\n@docs CheckedFunctionArg, CheckedFunction\n\n","unions":[{"name":"CheckedFunctionArg","comment":" Declaratively extract literal arguments from functions.\nFor example to extract the class strings from the Html.Attributes.classList function\n\n       classList : List (String, Bool) -> Attribute msg\n\nyou would provide\n\n       ListArg ( TupleArg [ Just LiteralArg, Nothing ] )\n\n","args":[],"cases":[["LiteralArg",[]],["ListArg",["TailwindCss.CheckedFunction.CheckedFunctionArg"]],["TupleArg",["List.List (Maybe.Maybe TailwindCss.CheckedFunction.CheckedFunctionArg)"]]]}],"aliases":[{"name":"CheckedFunction","comment":" Which function should be checked (for TailwindCss Linting purposes)?\nYou need to provide the name of the function and an argument extractor\n(which arguments should be extracted and which parts of them).\n\nYou can look at the predefined functions in this module for examples.\nDeclaring a `moduleName` causes the function to only be matched if imported from the declared module.\n\nYou may need this if you have `class` functions from other modules that have nothing to do with css.\n\n","args":[],"type":"{ functionName : String.String, moduleName : Maybe.Maybe (List.List String.String), arguments : List.List (Maybe.Maybe TailwindCss.CheckedFunction.CheckedFunctionArg) }"}],"values":[{"name":"class","comment":" Check all usages of \"class\" functions, regardless from which module they are from\nand if they are used qualified (Html.Attributes.class) or unqualified (class).\nAssumes that the class functions get called with a single string literal argument.\n","type":"TailwindCss.CheckedFunction.CheckedFunction"},{"name":"classList","comment":" Check all usages of \"classList\" functions, regardless from which module they are from\nand if they are used qualified (Html.Attributes.classList) or unqualified (classList).\nAssumes that the class functions get called with a single list argument of (Bool, String) tuples.\n","type":"TailwindCss.CheckedFunction.CheckedFunction"}],"binops":[]},{"name":"TailwindCss.ConsistentClassOrder","comment":"\n\n@docs rule\n@docs Options, defaultOptions\n\n","unions":[],"aliases":[{"name":"Options","comment":" Options for the ConsistentClassOrder rule.\n\n    order:               should be generated from the postcss plugin\n    checkedFunctions:    a list of function calls to check for consistent class order\n\n","args":[],"type":"{ order : Dict.Dict String.String Basics.Int, checkedFunctions : List.List TailwindCss.CheckedFunction.CheckedFunction }"}],"values":[{"name":"defaultOptions","comment":" Provide required options and defaults the other options\n","type":"{ order : Dict.Dict String.String Basics.Int } -> TailwindCss.ConsistentClassOrder.Options"},{"name":"rule","comment":" Reports if a css class string does not adhere to the [recommended class order](https://tailwindcss.com/blog/automatic-class-sorting-with-prettier#how-classes-are-sorted)\n\n    config =\n        [ TailwindCss.ConsistentClassOrder.rule { order = classOrder, checkedFunctions = [checkClassFunction] }\n        ]\n\n    It is not recommended to define the `order` option manually. Instead you can use the [postcss-plugin](https://www.npmjs.com/package/elm-review-tailwindcss-postcss-plugin)\n    to generate the Elm code for you and then you can just import the `classOrder` in your `ReviewConfig.elm` file.\n\n\n## Fail\n\n    a =\n        class \"flex absolute\"\n\n\n## Success\n\n    a =\n        class \"absolute flex\"\n\n\n## When (not) to enable this rule\n\nThis rule is useful when you are using tailwindcss and the recommended class order helps you read and understand the code faster.\nThis rule is not useful when you are not using tailwindcss, you do not care in which order the classes are, or you disagree with the recommended order.\n\n\n## Try it out\n\nYou can try this rule out by adding the [postcss-plugin](https://www.npmjs.com/package/elm-review-tailwindcss-postcss-plugin) to your postcss.config.js\nand running the following command:\n\n```bash\nelm-review --template anmolitor/elm-review-tailwindcss/example --rules TailwindCss.ConsistentClassOrder\n```\n\nExecuting postcss (via your bundler for example) should generate the needed files in your /review directory\nso that the template compiles.\n\n","type":"TailwindCss.ConsistentClassOrder.Options -> Review.Rule.Rule"}],"binops":[]},{"name":"TailwindCss.NoCssConflict","comment":"\n\n@docs rule\n@docs Options, defaultOptions\n\n","unions":[],"aliases":[{"name":"Options","comment":" Options for the NoCssConflict rule.\n\n    props:               should be generated from the postcss plugin\n    checkedFunctions:    a list of function calls to check for css conflicts\n\n","args":[],"type":"{ props : Dict.Dict String.String (Set.Set String.String), checkedFunctions : List.List TailwindCss.CheckedFunction.CheckedFunction }"}],"values":[{"name":"defaultOptions","comment":" Provide required options and defaults the other options\n","type":"{ props : Dict.Dict String.String (Set.Set String.String) } -> TailwindCss.NoCssConflict.Options"},{"name":"rule","comment":" Reports if two classes in a class list modify the same css properties.\nThis avoids some weird behaviour like the order of classes in the stylesheet being relevant.\n\n    config =\n        [ TailwindCss.NoCssConflict.rule { props = classProps, checkedFunctions = [checkClassFunction] }\n        ]\n\n    It is not recommended to define the `props` option manually. Instead you can use the [postcss-plugin](https://www.npmjs.com/package/elm-review-tailwindcss-postcss-plugin)\n    to generate the Elm code for you and then you can just import the `classProps` in your `ReviewConfig.elm` file.\n\n\n## Fail\n\n    a =\n        class \"p-2 p-4 flex\"\n\n\n## Success\n\n    a =\n        \"p-2 flex\"\n\n\n## When (not) to enable this rule\n\nThis rule is useful when your CSS classes are generally really small and composable.\nThis rule is not useful when you want to override properties of other classes explicitely.\n\n\n## Try it out\n\nYou can try this rule out by running the following command:\n\n```bash\nelm-review --template anmolitor/elm-review-tailwindcss/example --rules TailwindCss.NoCssConflict\n```\n\n","type":"TailwindCss.NoCssConflict.Options -> Review.Rule.Rule"}],"binops":[]},{"name":"TailwindCss.NoUnknownClasses","comment":"\n\n@docs rule\n@docs Options, defaultOptions\n\n","unions":[],"aliases":[{"name":"Options","comment":" Options for the NoUnknownClasses rule.\n\n    order:               should be generated from the postcss plugin\n    checkedFunctions:    a list of function calls to check for unknown class usages\n\n","args":[],"type":"{ order : Dict.Dict String.String Basics.Int, checkedFunctions : List.List TailwindCss.CheckedFunction.CheckedFunction }"}],"values":[{"name":"defaultOptions","comment":" Provide required options and defaults the other options\n","type":"{ order : Dict.Dict String.String Basics.Int } -> TailwindCss.NoUnknownClasses.Options"},{"name":"rule","comment":" Reports if you are using classes in your Html that are not known to postcss.\n\n    config =\n        [ TailwindCss.NoUnknownClasses.rule { order = classOrder, checkedFunctions = [checkClassFunction] }\n        ]\n\n    It is not recommended to define the `order` option manually. Instead you can use the [postcss-plugin](https://www.npmjs.com/package/elm-review-tailwindcss-postcss-plugin)\n    to generate the Elm code for you and then you can just import the `classOrder` in your `ReviewConfig.elm` file.\n\n\n## Fail\n\n    a =\n        class \"flex absolute unknown-class\"\n\n\n## Success\n\n    a =\n        class \"flex absolute\"\n\n\n## When (not) to enable this rule\n\nThis rule is useful when you are using tailwindcss and all your styles are known at build-time.\nThis rule is not useful when you are not using tailwindcss, or you have stylesheets in your application that are injected at runtime.\n\n\n## Try it out\n\nYou can try this rule out by running the following command:\n\n```bash\nelm-review --template anmolitor/elm-review-tailwindcss/example --rules TailwindCss.NoUnknownClasses\n```\n\n","type":"TailwindCss.NoUnknownClasses.Options -> Review.Rule.Rule"}],"binops":[]}]