summaryrefslogtreecommitdiff
path: root/node_modules/css-declaration-sorter/src/main.d.ts
blob: 257704b62c931c7dd110fa50148fb1ab02aed1ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import type { PluginCreator } from 'postcss';

declare const cssDeclarationSorter: PluginCreator<{
  /**
  Provide the name of one of the built-in sort orders or a comparison function that is passed to `Array.sort`.

  @default 'alphabetical'
  */
  order?: SortOrder | SortFunction | undefined;

  /**
  To prevent breaking legacy CSS where shorthand declarations override longhand declarations. For example `animation-name: some; animation: greeting;` will be kept in this order.

  @default false
  */
  keepOverrides?: boolean;
}>;

export = cssDeclarationSorter;

type SortOrder = 'alphabetical' | 'concentric-css' | 'smacss';

/**
 * This function receives two declaration property names and is expected
 * to return -1, 0 or 1 depending on the wanted order.
 */
type SortFunction = (propertyNameA: string, propertyNameB: string) => -1 | 0 | 1;