config.d.ts 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. /**
  2. * Use of this source code is governed by an MIT-style license that can be
  3. * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
  4. */
  5. import { Direction } from '@angular/cdk/bidi';
  6. import { EnvironmentProviders, InjectionToken, TemplateRef, Type } from '@angular/core';
  7. import { SafeUrl } from '@angular/platform-browser';
  8. import { ThemeType } from '@ant-design/icons-angular';
  9. import { NzBreakpointEnum } from 'ng-zorro-antd/core/services';
  10. import { NzSafeAny, NzShapeSCType, NzSizeDSType, NzSizeLDSType, NzSizeMDSType, NzTSType } from 'ng-zorro-antd/core/types';
  11. interface MonacoEnvironment {
  12. globalAPI?: boolean;
  13. baseUrl?: string;
  14. getWorker?(workerId: string, label: string): Promise<Worker> | Worker;
  15. getWorkerUrl?(workerId: string, label: string): string;
  16. }
  17. export interface NzConfig {
  18. affix?: AffixConfig;
  19. select?: SelectConfig;
  20. alert?: AlertConfig;
  21. anchor?: AnchorConfig;
  22. avatar?: AvatarConfig;
  23. backTop?: BackTopConfig;
  24. badge?: BadgeConfig;
  25. button?: ButtonConfig;
  26. card?: CardConfig;
  27. carousel?: CarouselConfig;
  28. cascader?: CascaderConfig;
  29. codeEditor?: CodeEditorConfig;
  30. collapse?: CollapseConfig;
  31. collapsePanel?: CollapsePanelConfig;
  32. datePicker?: DatePickerConfig;
  33. descriptions?: DescriptionsConfig;
  34. drawer?: DrawerConfig;
  35. dropDown?: DropDownConfig;
  36. empty?: EmptyConfig;
  37. filterTrigger?: FilterTriggerConfig;
  38. form?: FormConfig;
  39. icon?: IconConfig;
  40. message?: MessageConfig;
  41. modal?: ModalConfig;
  42. notification?: NotificationConfig;
  43. pageHeader?: PageHeaderConfig;
  44. pagination?: PaginationConfig;
  45. progress?: ProgressConfig;
  46. rate?: RateConfig;
  47. segmented?: SegmentedConfig;
  48. space?: SpaceConfig;
  49. spin?: SpinConfig;
  50. switch?: SwitchConfig;
  51. table?: TableConfig;
  52. tabs?: TabsConfig;
  53. timePicker?: TimePickerConfig;
  54. tree?: TreeConfig;
  55. treeSelect?: TreeSelectConfig;
  56. typography?: TypographyConfig;
  57. image?: ImageConfig;
  58. popconfirm?: PopConfirmConfig;
  59. popover?: PopoverConfig;
  60. imageExperimental?: ImageExperimentalConfig;
  61. theme?: Theme;
  62. prefixCls?: PrefixCls;
  63. }
  64. export interface PrefixCls {
  65. prefixCls?: string;
  66. iconPrefixCls?: string;
  67. }
  68. export interface Theme {
  69. primaryColor?: string;
  70. infoColor?: string;
  71. successColor?: string;
  72. processingColor?: string;
  73. errorColor?: string;
  74. warningColor?: string;
  75. [key: string]: string | undefined;
  76. }
  77. export interface SelectConfig {
  78. nzBorderless?: boolean;
  79. nzSuffixIcon?: TemplateRef<NzSafeAny> | string | null;
  80. nzBackdrop?: boolean;
  81. nzOptionHeightPx?: number;
  82. }
  83. export interface AffixConfig {
  84. nzOffsetBottom?: number;
  85. nzOffsetTop?: number;
  86. }
  87. export interface AlertConfig {
  88. nzCloseable?: boolean;
  89. nzShowIcon?: boolean;
  90. }
  91. export interface AvatarConfig {
  92. nzShape?: NzShapeSCType;
  93. nzSize?: NzSizeLDSType | number;
  94. nzGap?: number;
  95. }
  96. export interface AnchorConfig {
  97. nzBounds?: number;
  98. nzOffsetBottom?: number;
  99. nzOffsetTop?: number;
  100. nzShowInkInFixed?: boolean;
  101. }
  102. export interface BackTopConfig {
  103. nzVisibilityHeight?: number;
  104. }
  105. export interface BadgeConfig {
  106. nzColor?: number;
  107. nzOverflowCount?: number;
  108. nzShowZero?: number;
  109. }
  110. export interface ButtonConfig {
  111. nzSize?: 'large' | 'default' | 'small';
  112. }
  113. export interface CodeEditorConfig {
  114. assetsRoot?: string | SafeUrl;
  115. extraConfig?: NzSafeAny;
  116. defaultEditorOption?: NzSafeAny;
  117. useStaticLoading?: boolean;
  118. monacoEnvironment?: MonacoEnvironment;
  119. onLoad?(): void;
  120. onFirstEditorInit?(): void;
  121. onInit?(): void;
  122. }
  123. export interface CardConfig {
  124. nzSize?: NzSizeDSType;
  125. nzHoverable?: boolean;
  126. nzBordered?: boolean;
  127. }
  128. export interface CarouselConfig {
  129. nzAutoPlay?: boolean;
  130. nzAutoPlaySpeed?: boolean;
  131. nzDots?: boolean;
  132. nzEffect?: 'scrollx' | 'fade' | string;
  133. nzEnableSwipe?: boolean;
  134. nzVertical?: boolean;
  135. nzLoop?: boolean;
  136. }
  137. export interface CascaderConfig {
  138. nzSize?: string;
  139. nzBackdrop?: boolean;
  140. }
  141. export interface CollapseConfig {
  142. nzAccordion?: boolean;
  143. nzBordered?: boolean;
  144. nzGhost?: boolean;
  145. }
  146. export interface CollapsePanelConfig {
  147. nzShowArrow?: boolean;
  148. }
  149. export interface DatePickerConfig {
  150. nzSeparator?: string;
  151. nzSuffixIcon?: string | TemplateRef<NzSafeAny>;
  152. nzBackdrop?: boolean;
  153. }
  154. export interface DescriptionsConfig {
  155. nzBordered?: boolean;
  156. nzColumn?: Partial<Record<NzBreakpointEnum, number>> | number;
  157. nzSize?: 'default' | 'middle' | 'small';
  158. nzColon?: boolean;
  159. }
  160. export interface DrawerConfig {
  161. nzMask?: boolean;
  162. nzMaskClosable?: boolean;
  163. nzCloseOnNavigation?: boolean;
  164. nzDirection?: Direction;
  165. }
  166. export interface DropDownConfig {
  167. nzBackdrop?: boolean;
  168. }
  169. export interface EmptyConfig {
  170. nzDefaultEmptyContent?: Type<NzSafeAny> | TemplateRef<string> | string | undefined;
  171. }
  172. export interface FilterTriggerConfig {
  173. nzBackdrop?: boolean;
  174. }
  175. export interface FormConfig {
  176. nzNoColon?: boolean;
  177. nzAutoTips?: Record<string, Record<string, string>>;
  178. nzTooltipIcon?: string | {
  179. type: string;
  180. theme: ThemeType;
  181. };
  182. }
  183. export interface IconConfig {
  184. nzTheme?: 'fill' | 'outline' | 'twotone';
  185. nzTwotoneColor?: string;
  186. }
  187. export interface MessageConfig {
  188. nzAnimate?: boolean;
  189. nzDuration?: number;
  190. nzMaxStack?: number;
  191. nzPauseOnHover?: boolean;
  192. nzTop?: number | string;
  193. nzDirection?: Direction;
  194. }
  195. export interface ModalConfig {
  196. nzMask?: boolean;
  197. nzMaskClosable?: boolean;
  198. nzCloseOnNavigation?: boolean;
  199. nzDirection?: Direction;
  200. }
  201. export interface NotificationConfig extends MessageConfig {
  202. nzTop?: string | number;
  203. nzBottom?: string | number;
  204. nzPlacement?: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'top' | 'bottom';
  205. }
  206. export interface PageHeaderConfig {
  207. nzGhost: boolean;
  208. }
  209. export interface PaginationConfig {
  210. nzSize?: 'default' | 'small';
  211. nzPageSizeOptions?: number[];
  212. nzShowSizeChanger?: boolean;
  213. nzShowQuickJumper?: boolean;
  214. nzSimple?: boolean;
  215. }
  216. export interface ProgressConfig {
  217. nzGapDegree?: number;
  218. nzGapPosition?: 'top' | 'right' | 'bottom' | 'left';
  219. nzShowInfo?: boolean;
  220. nzStrokeSwitch?: number;
  221. nzStrokeWidth?: number;
  222. nzSize?: 'default' | 'small';
  223. nzStrokeLinecap?: 'round' | 'square';
  224. nzStrokeColor?: string;
  225. }
  226. export interface RateConfig {
  227. nzAllowClear?: boolean;
  228. nzAllowHalf?: boolean;
  229. }
  230. export interface SegmentedConfig {
  231. nzSize?: NzSizeLDSType;
  232. }
  233. export interface SpaceConfig {
  234. nzSize?: 'small' | 'middle' | 'large' | number;
  235. }
  236. export interface SpinConfig {
  237. nzIndicator?: TemplateRef<NzSafeAny>;
  238. }
  239. export interface SwitchConfig {
  240. nzSize: NzSizeDSType;
  241. }
  242. export interface TableConfig {
  243. nzBordered?: boolean;
  244. nzSize?: NzSizeMDSType;
  245. nzShowQuickJumper?: boolean;
  246. nzLoadingIndicator?: TemplateRef<NzSafeAny>;
  247. nzShowSizeChanger?: boolean;
  248. nzSimple?: boolean;
  249. nzHideOnSinglePage?: boolean;
  250. /**
  251. * @see {@link NzTableSortOrder}
  252. */
  253. nzSortDirections?: Array<string | 'ascend' | 'descend' | null>;
  254. }
  255. export interface TabsConfig {
  256. nzAnimated?: boolean | {
  257. inkBar: boolean;
  258. tabPane: boolean;
  259. };
  260. nzSize?: NzSizeLDSType;
  261. nzType?: 'line' | 'card';
  262. nzTabBarGutter?: number;
  263. nzShowPagination?: boolean;
  264. }
  265. export interface TimePickerConfig {
  266. nzAllowEmpty?: boolean;
  267. nzClearText?: string;
  268. nzNowText?: string;
  269. nzOkText?: string;
  270. nzFormat?: string;
  271. nzHourStep?: number;
  272. nzMinuteStep?: number;
  273. nzSecondStep?: number;
  274. nzPopupClassName?: string;
  275. nzUse12Hours?: string;
  276. nzSuffixIcon?: string | TemplateRef<NzSafeAny>;
  277. nzBackdrop?: boolean;
  278. }
  279. export interface TreeConfig {
  280. nzBlockNode?: boolean;
  281. nzShowIcon?: boolean;
  282. nzHideUnMatched?: boolean;
  283. }
  284. export interface TreeSelectConfig {
  285. nzShowIcon?: string;
  286. nzShowLine?: boolean;
  287. nzDropdownMatchSelectWidth?: boolean;
  288. nzHideUnMatched?: boolean;
  289. nzSize?: 'large' | 'small' | 'default';
  290. nzBackdrop?: boolean;
  291. }
  292. export interface TypographyConfig {
  293. nzEllipsisRows?: number;
  294. nzCopyTooltips?: [NzTSType, NzTSType] | null;
  295. nzCopyIcons: [NzTSType, NzTSType];
  296. nzEditTooltip?: null | NzTSType;
  297. nzEditIcon: NzTSType;
  298. }
  299. export interface ImageConfig {
  300. nzFallback?: string;
  301. nzPlaceholder?: string;
  302. nzDisablePreview?: string;
  303. nzCloseOnNavigation?: boolean;
  304. nzDirection?: Direction;
  305. nzScaleStep?: number;
  306. }
  307. export interface ImageExperimentalConfig {
  308. nzFallback?: string;
  309. nzPlaceholder?: string;
  310. nzDisablePreview?: string;
  311. nzCloseOnNavigation?: boolean;
  312. nzDirection?: Direction;
  313. nzAutoSrcset?: boolean;
  314. nzSrcLoader?(params: {
  315. src: string;
  316. width: number;
  317. }): string;
  318. }
  319. export interface PopConfirmConfig {
  320. nzPopconfirmBackdrop?: boolean;
  321. nzAutofocus?: null | 'ok' | 'cancel';
  322. }
  323. export interface PopoverConfig {
  324. nzPopoverBackdrop?: boolean;
  325. }
  326. export type NzConfigKey = keyof NzConfig;
  327. /**
  328. * User should provide an object implements this interface to set global configurations.
  329. */
  330. export declare const NZ_CONFIG: InjectionToken<NzConfig>;
  331. export declare function provideNzConfig(config: NzConfig): EnvironmentProviders;
  332. export {};