UNPKG

@oslokommune/punkt-elements

Version:

Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo

89 lines (81 loc) 2.74 kB
import type { TemplateResult } from 'lit' import type { 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[] }