UNPKG

@oslokommune/punkt-elements

Version:

Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo

71 lines (70 loc) 2.88 kB
import { TemplateResult } from 'lit'; import { IFileItem, IFileTransfer, IFileValidateDetail, IFilesChangedDetail, ITransferCancelledDetail, TFilesChangedReason, TFileUploadItemRenderer, TFileValidator, TFileUploadStrategy, TTransferProgress } from '../../shared-types'; export type TUploadStrategy = TFileUploadStrategy; export type { TFileUploadItemRenderer, TFilesChangedReason, TFileValidator, TTransferProgress }; export type TFileValidateDetail = IFileValidateDetail; export type TFileTransfer = IFileTransfer; export type TTransferCancelledDetail = ITransferCancelledDetail; export type TFilesChangedDetail = IFilesChangedDetail; export type FileItem = IFileItem; export type TFileComment = { text: string; timestamp: string; }; export type TQueueOperationLabel = string | ((file: FileItem) => string); export type TQueueOperationContext = { file: FileItem; inputName: string; disabled: boolean; isActive: boolean; activate: () => void; close: () => void; getAttribute: <T>(name: string) => T | undefined; setAttribute: (name: string, value: unknown) => void; }; export type TQueueItemOperation = { id: string; title: TQueueOperationLabel; ariaLabel?: TQueueOperationLabel; onClick?: (context: TQueueOperationContext) => void; renderInlineUI?: (context: TQueueOperationContext) => TemplateResult | null; renderExtendedUI?: (context: TQueueOperationContext) => TemplateResult | null; renderContent?: (context: TQueueOperationContext) => TemplateResult | null; renderHidden?: (context: TQueueOperationContext) => TemplateResult | null; }; export interface IPktFileUpload { id?: string; name?: string; label?: string; helptext?: string; required?: boolean; multiple?: boolean; disabled?: boolean; fullwidth?: boolean; uploadStrategy?: TUploadStrategy; itemRenderer?: TFileUploadItemRenderer; accept?: string; allowedFormats?: string[]; formatErrorMessage?: string; maxFileSize?: string | number; sizeErrorMessage?: string; onFileValidation?: TFileValidator; /** External error state (combined with internal validation errors). */ hasError?: boolean; /** External error message shown under the component. */ errorMessage?: string; /** Show "Valgfritt" tag in input-wrapper. */ optionalTag?: boolean; /** Show "Må fylles ut" tag in input-wrapper. */ requiredTag?: boolean; /** Trailing characters to keep when truncating long filenames. */ truncateTail?: number; /** Transfer states keyed by `fileId` (custom strategy progress/error/cancel rendering). */ transfers?: TFileTransfer[]; addCommentsEnabled?: boolean; renameFilesEnabled?: boolean; extraOperations?: TQueueItemOperation[]; enableImagePreview?: boolean; value?: FileItem[]; defaultValue?: FileItem[]; }