UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

1 lines 14.3 kB
{"version":3,"file":"ng-zorro-antd-core-config.mjs","sources":["../../components/core/config/config.ts","../../components/core/config/config.service.ts","../../components/core/config/public-api.ts","../../components/core/config/ng-zorro-antd-core-config.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction } from '@angular/cdk/bidi';\nimport { InjectionToken, TemplateRef, Type } from '@angular/core';\nimport { SafeUrl } from '@angular/platform-browser';\n\nimport { ThemeType } from '@ant-design/icons-angular';\n\nimport { NzBreakpointEnum } from 'ng-zorro-antd/core/services';\nimport {\n NzSafeAny,\n NzShapeSCType,\n NzSizeDSType,\n NzSizeLDSType,\n NzSizeMDSType,\n NzTSType\n} from 'ng-zorro-antd/core/types';\n\nexport interface NzConfig {\n affix?: AffixConfig;\n select?: SelectConfig;\n alert?: AlertConfig;\n anchor?: AnchorConfig;\n avatar?: AvatarConfig;\n backTop?: BackTopConfig;\n badge?: BadgeConfig;\n button?: ButtonConfig;\n card?: CardConfig;\n carousel?: CarouselConfig;\n cascader?: CascaderConfig;\n codeEditor?: CodeEditorConfig;\n collapse?: CollapseConfig;\n collapsePanel?: CollapsePanelConfig;\n datePicker?: DatePickerConfig;\n descriptions?: DescriptionsConfig;\n drawer?: DrawerConfig;\n dropDown?: DropDownConfig;\n empty?: EmptyConfig;\n filterTrigger?: FilterTriggerConfig;\n form?: FormConfig;\n icon?: IconConfig;\n message?: MessageConfig;\n modal?: ModalConfig;\n notification?: NotificationConfig;\n pageHeader?: PageHeaderConfig;\n pagination?: PaginationConfig;\n progress?: ProgressConfig;\n rate?: RateConfig;\n space?: SpaceConfig;\n spin?: SpinConfig;\n switch?: SwitchConfig;\n table?: TableConfig;\n tabs?: TabsConfig;\n timePicker?: TimePickerConfig;\n tree?: TreeConfig;\n treeSelect?: TreeSelectConfig;\n typography?: TypographyConfig;\n image?: ImageConfig;\n popconfirm?: PopConfirmConfig;\n popover?: PopoverConfig;\n imageExperimental?: ImageExperimentalConfig;\n}\n\nexport interface SelectConfig {\n nzBorderless?: boolean;\n nzSuffixIcon?: TemplateRef<NzSafeAny> | string | null;\n nzBackdrop?: boolean;\n}\n\nexport interface AffixConfig {\n nzOffsetBottom?: number;\n nzOffsetTop?: number;\n}\n\nexport interface AlertConfig {\n nzCloseable?: boolean;\n nzShowIcon?: boolean;\n}\n\nexport interface AvatarConfig {\n nzShape?: NzShapeSCType;\n nzSize?: NzSizeLDSType | number;\n nzGap?: number;\n}\n\nexport interface AnchorConfig {\n nzBounds?: number;\n nzOffsetBottom?: number;\n nzOffsetTop?: number;\n nzShowInkInFixed?: boolean;\n}\n\nexport interface BackTopConfig {\n nzVisibilityHeight?: number;\n}\n\nexport interface BadgeConfig {\n nzColor?: number;\n nzOverflowCount?: number;\n nzShowZero?: number;\n}\n\nexport interface ButtonConfig {\n nzSize?: 'large' | 'default' | 'small';\n}\n\nexport interface CodeEditorConfig {\n assetsRoot?: string | SafeUrl;\n defaultEditorOption?: NzSafeAny;\n useStaticLoading?: boolean;\n\n onLoad?(): void;\n\n onFirstEditorInit?(): void;\n\n onInit?(): void;\n}\n\nexport interface CardConfig {\n nzSize?: NzSizeDSType;\n nzHoverable?: boolean;\n nzBordered?: boolean;\n nzBorderless?: boolean;\n}\n\nexport interface CarouselConfig {\n nzAutoPlay?: boolean;\n nzAutoPlaySpeed?: boolean;\n nzDots?: boolean;\n nzEffect?: 'scrollx' | 'fade' | string;\n nzEnableSwipe?: boolean;\n nzVertical?: boolean;\n}\n\nexport interface CascaderConfig {\n nzSize?: string;\n nzBackdrop?: boolean;\n}\n\nexport interface CollapseConfig {\n nzAccordion?: boolean;\n nzBordered?: boolean;\n nzGhost?: boolean;\n}\n\nexport interface CollapsePanelConfig {\n nzShowArrow?: boolean;\n}\n\nexport interface DatePickerConfig {\n nzSeparator?: string;\n nzSuffixIcon?: string | TemplateRef<NzSafeAny>;\n nzBackdrop?: boolean;\n}\n\nexport interface DescriptionsConfig {\n nzBordered?: boolean;\n nzColumn?: { [key in NzBreakpointEnum]?: number } | number;\n nzSize?: 'default' | 'middle' | 'small';\n nzColon?: boolean;\n}\n\nexport interface DrawerConfig {\n nzMask?: boolean;\n nzMaskClosable?: boolean;\n nzCloseOnNavigation?: boolean;\n nzDirection?: Direction;\n}\n\nexport interface DropDownConfig {\n nzBackdrop?: boolean;\n}\n\nexport interface EmptyConfig {\n nzDefaultEmptyContent?: Type<NzSafeAny> | TemplateRef<string> | string | undefined;\n}\n\nexport interface FilterTriggerConfig {\n nzBackdrop?: boolean;\n}\n\nexport interface FormConfig {\n nzNoColon?: boolean;\n nzAutoTips?: Record<string, Record<string, string>>;\n nzTooltipIcon?: string | { type: string; theme: ThemeType };\n}\n\nexport interface IconConfig {\n nzTheme?: 'fill' | 'outline' | 'twotone';\n nzTwotoneColor?: string;\n}\n\nexport interface MessageConfig {\n nzAnimate?: boolean;\n nzDuration?: number;\n nzMaxStack?: number;\n nzPauseOnHover?: boolean;\n nzTop?: number | string;\n nzDirection?: Direction;\n}\n\nexport interface ModalConfig {\n nzMask?: boolean;\n nzMaskClosable?: boolean;\n nzCloseOnNavigation?: boolean;\n nzDirection?: Direction;\n}\n\nexport interface NotificationConfig extends MessageConfig {\n nzTop?: string | number;\n nzBottom?: string | number;\n nzPlacement?: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';\n}\n\nexport interface PageHeaderConfig {\n nzGhost: boolean;\n}\n\nexport interface PaginationConfig {\n nzSize?: 'default' | 'small';\n nzPageSizeOptions?: number[];\n nzShowSizeChanger?: boolean;\n nzShowQuickJumper?: boolean;\n nzSimple?: boolean;\n}\n\nexport interface ProgressConfig {\n nzGapDegree?: number;\n nzGapPosition?: 'top' | 'right' | 'bottom' | 'left';\n nzShowInfo?: boolean;\n nzStrokeSwitch?: number;\n nzStrokeWidth?: number;\n nzSize?: 'default' | 'small';\n nzStrokeLinecap?: 'round' | 'square';\n nzStrokeColor?: string;\n}\n\nexport interface RateConfig {\n nzAllowClear?: boolean;\n nzAllowHalf?: boolean;\n}\n\nexport interface SpaceConfig {\n nzSize?: 'small' | 'middle' | 'large' | number;\n}\n\nexport interface SpinConfig {\n nzIndicator?: TemplateRef<NzSafeAny>;\n}\n\nexport interface SwitchConfig {\n nzSize: NzSizeDSType;\n}\n\nexport interface TableConfig {\n nzBordered?: boolean;\n nzSize?: NzSizeMDSType;\n nzShowQuickJumper?: boolean;\n nzLoadingIndicator?: TemplateRef<NzSafeAny>;\n nzShowSizeChanger?: boolean;\n nzSimple?: boolean;\n nzHideOnSinglePage?: boolean;\n}\n\nexport interface TabsConfig {\n nzAnimated?:\n | boolean\n | {\n inkBar: boolean;\n tabPane: boolean;\n };\n nzSize?: NzSizeLDSType;\n nzType?: 'line' | 'card';\n nzTabBarGutter?: number;\n nzShowPagination?: boolean;\n}\n\nexport interface TimePickerConfig {\n nzAllowEmpty?: boolean;\n nzClearText?: string;\n nzNowText?: string;\n nzOkText?: string;\n nzFormat?: string;\n nzHourStep?: number;\n nzMinuteStep?: number;\n nzSecondStep?: number;\n nzPopupClassName?: string;\n nzUse12Hours?: string;\n nzSuffixIcon?: string | TemplateRef<NzSafeAny>;\n nzBackdrop?: boolean;\n}\n\nexport interface TreeConfig {\n nzBlockNode?: boolean;\n nzShowIcon?: boolean;\n nzHideUnMatched?: boolean;\n}\n\nexport interface TreeSelectConfig {\n nzShowIcon?: string;\n nzShowLine?: boolean;\n nzDropdownMatchSelectWidth?: boolean;\n nzHideUnMatched?: boolean;\n nzSize?: 'large' | 'small' | 'default';\n nzBackdrop?: boolean;\n}\n\nexport interface TypographyConfig {\n nzEllipsisRows?: number;\n nzCopyTooltips?: [NzTSType, NzTSType] | null;\n nzCopyIcons: [NzTSType, NzTSType];\n nzEditTooltip?: null | NzTSType;\n nzEditIcon: NzTSType;\n}\n\nexport interface ImageConfig {\n nzFallback?: string;\n nzPlaceholder?: string;\n nzDisablePreview?: string;\n nzCloseOnNavigation?: boolean;\n nzDirection?: Direction;\n}\n\nexport interface ImageExperimentalConfig {\n nzFallback?: string;\n nzPlaceholder?: string;\n nzDisablePreview?: string;\n nzCloseOnNavigation?: boolean;\n nzDirection?: Direction;\n nzAutoSrcset?: boolean;\n nzSrcLoader?(params: { src: string; width: number }): string;\n}\n\nexport interface PopConfirmConfig {\n nzPopconfirmBackdrop?: boolean;\n nzAutofocus?: null | 'ok' | 'cancel';\n}\n\nexport interface PopoverConfig {\n nzPopoverBackdrop?: boolean;\n}\n\nexport type NzConfigKey = keyof NzConfig;\n\n/**\n * User should provide an object implements this interface to set global configurations.\n */\nexport const NZ_CONFIG = new InjectionToken<NzConfig>('nz-config');\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, mapTo } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzConfig, NzConfigKey, NZ_CONFIG } from './config';\n\nconst isDefined = function (value?: NzSafeAny): boolean {\n return value !== undefined;\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NzConfigService {\n private configUpdated$ = new Subject<keyof NzConfig>();\n\n /** Global config holding property. */\n private readonly config: NzConfig;\n\n constructor(@Optional() @Inject(NZ_CONFIG) defaultConfig?: NzConfig) {\n this.config = defaultConfig || {};\n }\n\n getConfig(): NzConfig {\n return this.config;\n }\n\n getConfigForComponent<T extends NzConfigKey>(componentName: T): NzConfig[T] {\n return this.config[componentName];\n }\n\n getConfigChangeEventForComponent(componentName: NzConfigKey): Observable<void> {\n return this.configUpdated$.pipe(\n filter(n => n === componentName),\n mapTo(undefined)\n );\n }\n\n set<T extends NzConfigKey>(componentName: T, value: NzConfig[T]): void {\n this.config[componentName] = { ...this.config[componentName], ...value };\n this.configUpdated$.next(componentName);\n }\n}\n\n/* eslint-disable no-invalid-this */\n\n/**\n * This decorator is used to decorate properties. If a property is decorated, it would try to load default value from\n * config.\n */\n// eslint-disable-next-line\nexport function WithConfig<T>() {\n return function ConfigDecorator(\n target: NzSafeAny,\n propName: NzSafeAny,\n originalDescriptor?: TypedPropertyDescriptor<T>\n ): NzSafeAny {\n const privatePropName = `$$__zorroConfigDecorator__${propName}`;\n\n Object.defineProperty(target, privatePropName, {\n configurable: true,\n writable: true,\n enumerable: false\n });\n\n return {\n get(): T | undefined {\n const originalValue = originalDescriptor?.get ? originalDescriptor.get.bind(this)() : this[privatePropName];\n const assignedByUser = (this.propertyAssignCounter?.[propName] || 0) > 1;\n const configValue = this.nzConfigService.getConfigForComponent(this._nzModuleName)?.[propName];\n if (assignedByUser && isDefined(originalValue)) {\n return originalValue;\n } else {\n return isDefined(configValue) ? configValue : originalValue;\n }\n },\n set(value?: T): void {\n // If the value is assigned, we consider the newly assigned value as 'assigned by user'.\n this.propertyAssignCounter = this.propertyAssignCounter || {};\n this.propertyAssignCounter[propName] = (this.propertyAssignCounter[propName] || 0) + 1;\n\n if (originalDescriptor?.set) {\n originalDescriptor.set.bind(this)(value!);\n } else {\n this[privatePropName] = value;\n }\n },\n configurable: true,\n enumerable: true\n };\n };\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './config.service';\nexport * from './config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}