@optimum-intelligence/opti-ui 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +23 -0
- package/README.md +161 -2
- package/dist/components/accordion/Accordion.d.ts +17 -0
- package/dist/components/accordion/Accordion.js +204 -0
- package/dist/components/accordion/Accordion.js.map +1 -0
- package/dist/components/alert/Alert.d.ts +18 -0
- package/dist/components/alert/Alert.js +164 -0
- package/dist/components/alert/Alert.js.map +1 -0
- package/dist/components/app-shell/AppShell.d.ts +97 -0
- package/dist/components/app-shell/AppShell.js +689 -0
- package/dist/components/app-shell/AppShell.js.map +1 -0
- package/dist/components/avatar/Avatar.d.ts +21 -0
- package/dist/components/avatar/Avatar.js +190 -0
- package/dist/components/avatar/Avatar.js.map +1 -0
- package/dist/components/badge/Badge.d.ts +16 -0
- package/dist/components/badge/Badge.js +94 -0
- package/dist/components/badge/Badge.js.map +1 -0
- package/dist/components/breadcrumbs/Breadcrumbs.d.ts +18 -0
- package/dist/components/breadcrumbs/Breadcrumbs.js +154 -0
- package/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -0
- package/dist/components/button/Button.d.ts +23 -0
- package/dist/components/button/Button.js +159 -0
- package/dist/components/button/Button.js.map +1 -0
- package/dist/components/calendar/Calendar.d.ts +59 -0
- package/dist/components/calendar/Calendar.js +709 -0
- package/dist/components/calendar/Calendar.js.map +1 -0
- package/dist/components/calendar/date-utils.d.ts +32 -0
- package/dist/components/calendar/date-utils.js +112 -0
- package/dist/components/calendar/date-utils.js.map +1 -0
- package/dist/components/card/Card.d.ts +42 -0
- package/dist/components/card/Card.js +82 -0
- package/dist/components/card/Card.js.map +1 -0
- package/dist/components/choice/Choice.d.ts +32 -0
- package/dist/components/choice/Choice.js +371 -0
- package/dist/components/choice/Choice.js.map +1 -0
- package/dist/components/collapsible/Collapsible.d.ts +15 -0
- package/dist/components/collapsible/Collapsible.js +155 -0
- package/dist/components/collapsible/Collapsible.js.map +1 -0
- package/dist/components/combobox/Combobox.d.ts +68 -0
- package/dist/components/combobox/Combobox.js +752 -0
- package/dist/components/combobox/Combobox.js.map +1 -0
- package/dist/components/command-palette/CommandPalette.d.ts +52 -0
- package/dist/components/command-palette/CommandPalette.js +328 -0
- package/dist/components/command-palette/CommandPalette.js.map +1 -0
- package/dist/components/data-table/DataTable.d.ts +111 -0
- package/dist/components/data-table/DataTable.js +444 -0
- package/dist/components/data-table/DataTable.js.map +1 -0
- package/dist/components/date-picker/DatePicker.d.ts +50 -0
- package/dist/components/date-picker/DatePicker.js +485 -0
- package/dist/components/date-picker/DatePicker.js.map +1 -0
- package/dist/components/date-picker/DateRangePicker.d.ts +39 -0
- package/dist/components/date-picker/DateRangePicker.js +339 -0
- package/dist/components/date-picker/DateRangePicker.js.map +1 -0
- package/dist/components/date-picker/PickerField.d.ts +38 -0
- package/dist/components/date-picker/PickerField.js +238 -0
- package/dist/components/date-picker/PickerField.js.map +1 -0
- package/dist/components/dialog/Dialog.d.ts +70 -0
- package/dist/components/dialog/Dialog.js +354 -0
- package/dist/components/dialog/Dialog.js.map +1 -0
- package/dist/components/drawer/Drawer.d.ts +39 -0
- package/dist/components/drawer/Drawer.js +225 -0
- package/dist/components/drawer/Drawer.js.map +1 -0
- package/dist/components/empty-state/EmptyState.d.ts +12 -0
- package/dist/components/empty-state/EmptyState.js +116 -0
- package/dist/components/empty-state/EmptyState.js.map +1 -0
- package/dist/components/field/Field.d.ts +36 -0
- package/dist/components/field/Field.js +337 -0
- package/dist/components/field/Field.js.map +1 -0
- package/dist/components/file-upload/FileUpload.d.ts +91 -0
- package/dist/components/file-upload/FileUpload.js +714 -0
- package/dist/components/file-upload/FileUpload.js.map +1 -0
- package/dist/components/input/Input.d.ts +49 -0
- package/dist/components/input/Input.js +538 -0
- package/dist/components/input/Input.js.map +1 -0
- package/dist/components/link/Link.d.ts +17 -0
- package/dist/components/link/Link.js +91 -0
- package/dist/components/link/Link.js.map +1 -0
- package/dist/components/menu/Menu.d.ts +79 -0
- package/dist/components/menu/Menu.js +615 -0
- package/dist/components/menu/Menu.js.map +1 -0
- package/dist/components/number-field/NumberField.d.ts +16 -0
- package/dist/components/number-field/NumberField.js +188 -0
- package/dist/components/number-field/NumberField.js.map +1 -0
- package/dist/components/pagination/Pagination.d.ts +34 -0
- package/dist/components/pagination/Pagination.js +244 -0
- package/dist/components/pagination/Pagination.js.map +1 -0
- package/dist/components/popover/Popover.d.ts +22 -0
- package/dist/components/popover/Popover.js +186 -0
- package/dist/components/popover/Popover.js.map +1 -0
- package/dist/components/preview-card/PreviewCard.d.ts +20 -0
- package/dist/components/preview-card/PreviewCard.js +114 -0
- package/dist/components/preview-card/PreviewCard.js.map +1 -0
- package/dist/components/progress/Progress.d.ts +20 -0
- package/dist/components/progress/Progress.js +169 -0
- package/dist/components/progress/Progress.js.map +1 -0
- package/dist/components/scroll-area/ScrollArea.d.ts +8 -0
- package/dist/components/scroll-area/ScrollArea.js +112 -0
- package/dist/components/scroll-area/ScrollArea.js.map +1 -0
- package/dist/components/search-input/SearchInput.d.ts +14 -0
- package/dist/components/search-input/SearchInput.js +114 -0
- package/dist/components/search-input/SearchInput.js.map +1 -0
- package/dist/components/select/Select.d.ts +66 -0
- package/dist/components/select/Select.js +601 -0
- package/dist/components/select/Select.js.map +1 -0
- package/dist/components/separator/Separator.d.ts +4 -0
- package/dist/components/separator/Separator.js +46 -0
- package/dist/components/separator/Separator.js.map +1 -0
- package/dist/components/skeleton/Skeleton.d.ts +16 -0
- package/dist/components/skeleton/Skeleton.js +135 -0
- package/dist/components/skeleton/Skeleton.js.map +1 -0
- package/dist/components/slider/Slider.d.ts +11 -0
- package/dist/components/slider/Slider.js +107 -0
- package/dist/components/slider/Slider.js.map +1 -0
- package/dist/components/spinner/Spinner.d.ts +9 -0
- package/dist/components/spinner/Spinner.js +78 -0
- package/dist/components/spinner/Spinner.js.map +1 -0
- package/dist/components/stack/Stack.d.ts +23 -0
- package/dist/components/stack/Stack.js +79 -0
- package/dist/components/stack/Stack.js.map +1 -0
- package/dist/components/stat-card/StatCard.d.ts +22 -0
- package/dist/components/stat-card/StatCard.js +153 -0
- package/dist/components/stat-card/StatCard.js.map +1 -0
- package/dist/components/stepper/Stepper.d.ts +30 -0
- package/dist/components/stepper/Stepper.js +131 -0
- package/dist/components/stepper/Stepper.js.map +1 -0
- package/dist/components/table/Table.d.ts +53 -0
- package/dist/components/table/Table.js +221 -0
- package/dist/components/table/Table.js.map +1 -0
- package/dist/components/tabs/Tabs.d.ts +19 -0
- package/dist/components/tabs/Tabs.js +183 -0
- package/dist/components/tabs/Tabs.js.map +1 -0
- package/dist/components/tag/Tag.d.ts +22 -0
- package/dist/components/tag/Tag.js +121 -0
- package/dist/components/tag/Tag.js.map +1 -0
- package/dist/components/toast/Toast.d.ts +34 -0
- package/dist/components/toast/Toast.js +187 -0
- package/dist/components/toast/Toast.js.map +1 -0
- package/dist/components/toggle/Toggle.d.ts +31 -0
- package/dist/components/toggle/Toggle.js +197 -0
- package/dist/components/toggle/Toggle.js.map +1 -0
- package/dist/components/toolbar/Toolbar.d.ts +21 -0
- package/dist/components/toolbar/Toolbar.js +239 -0
- package/dist/components/toolbar/Toolbar.js.map +1 -0
- package/dist/components/tooltip/Tooltip.d.ts +33 -0
- package/dist/components/tooltip/Tooltip.js +182 -0
- package/dist/components/tooltip/Tooltip.js.map +1 -0
- package/dist/components/typography/Typography.d.ts +32 -0
- package/dist/components/typography/Typography.js +183 -0
- package/dist/components/typography/Typography.js.map +1 -0
- package/dist/fonts.css +3 -0
- package/dist/icons/index.d.ts +125 -0
- package/dist/icons/index.js +174 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +53 -0
- package/dist/index.js +56 -0
- package/dist/opti-ui.css +5365 -0
- package/dist/theme/ThemeProvider.d.ts +22 -0
- package/dist/theme/ThemeProvider.js +115 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/index.d.ts +2 -0
- package/dist/utils/cx.d.ts +10 -0
- package/dist/utils/cx.js +18 -0
- package/dist/utils/cx.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/portal.d.ts +8 -0
- package/dist/utils/portal.js +16 -0
- package/dist/utils/portal.js.map +1 -0
- package/dist/utils/primitive.d.ts +13 -0
- package/dist/utils/primitive.js +61 -0
- package/dist/utils/primitive.js.map +1 -0
- package/dist/utils/search.d.ts +4 -0
- package/dist/utils/search.js +15 -0
- package/dist/utils/search.js.map +1 -0
- package/package.json +71 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUpload.js","names":["React","cx","CircleCheckIcon","FileIcon","UploadIcon","XIcon","IconButton","Progress","FileRejection","file","File","reason","formatFileSize","bytes","locale","units","value","unit","length","digits","Intl","NumberFormat","maximumFractionDigits","format","accepts","accept","tokens","split","map","token","trim","toLowerCase","filter","Boolean","name","type","some","startsWith","endsWith","slice","setInputFiles","input","HTMLInputElement","files","DataTransfer","transfer","items","add","DropzoneProps","Omit","LabelHTMLAttributes","HTMLLabelElement","ref","Ref","onFiles","onReject","rejections","multiple","maxSize","disabled","invalid","size","icon","ReactNode","title","hint","inputProps","ComponentProps","Dropzone","t0","$","_c","children","className","props","t1","undefined","dragging","setDragging","useState","inputRef","useRef","t2","t3","current","useEffect","t4","list","accepted","rejected","Array","from","push","take","hasFiles","_temp","t5","t6","t7","t8","t9","event_0","event","t10","t11","Symbol","for","event_1","preventDefault","event_2","currentTarget","contains","relatedTarget","Node","t12","event_3","dataTransfer","t13","t14","t15","t16","event_4","target","t17","t18","t19","t20","t21","t22","t23","t24","types","includes","FileItemStatus","FileItemProps","HTMLAttributes","HTMLDivElement","status","progress","error","onRemove","removeLabel","actions","FileItem","uploading","Math","round","meta","join","FileUploadLabels","remove","defaultLabels","sameFile","a","b","lastModified","FileUploadProps","Pick","defaultValue","onValueChange","maxFiles","fileState","label","description","required","id","labels","Partial","FileUpload","idProp","text","inner","setInner","generatedId","useId","descriptionId","errorId","describedBy","next","commit","added","fresh","existing","room","max","_temp2","file_1","index","_","position","file_0","_c"],"sources":["../../../src/components/file-upload/FileUpload.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cx } from '../../utils/cx';\nimport { CircleCheckIcon, FileIcon, UploadIcon, XIcon } from '../../icons';\nimport { IconButton } from '../button/Button';\nimport { Progress } from '../progress/Progress';\n\nexport interface FileRejection {\n file: File;\n /** `type`: not matched by `accept`. `size`: larger than `maxSize`. `count`: over the file limit. */\n reason: 'type' | 'size' | 'count';\n}\n\n/** `1536` → `\"1.5 KB\"`. */\nexport function formatFileSize(bytes: number, locale?: string): string {\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n let value = bytes;\n let unit = 0;\n while (value >= 1024 && unit < units.length - 1) {\n value /= 1024;\n unit += 1;\n }\n const digits = unit > 0 && value < 10 ? 1 : 0;\n return `${new Intl.NumberFormat(locale, { maximumFractionDigits: digits }).format(value)} ${units[unit]}`;\n}\n\n// Dropped files bypass the input's `accept`, so it is checked here too.\nfunction accepts(file: File, accept?: string): boolean {\n const tokens = (accept ?? '')\n .split(',')\n .map((token) => token.trim().toLowerCase())\n .filter(Boolean);\n if (!tokens.length) return true;\n const [name, type] = [file.name.toLowerCase(), file.type.toLowerCase()];\n return tokens.some((token) =>\n token.startsWith('.') ? name.endsWith(token) : token.endsWith('/*') ? type.startsWith(token.slice(0, -1)) : type === token,\n );\n}\n\nfunction setInputFiles(input: HTMLInputElement | null, files: File[] | undefined) {\n if (!input) return;\n if (!files?.length || typeof DataTransfer === 'undefined') {\n input.value = '';\n return;\n }\n const transfer = new DataTransfer();\n for (const file of files) transfer.items.add(file);\n input.files = transfer.files;\n}\n\nexport interface DropzoneProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'title'> {\n ref?: React.Ref<HTMLLabelElement>;\n /** Called with the picked or dropped files that pass `accept` and `maxSize`. */\n onFiles?: (files: File[]) => void;\n /** Called with the files that were turned away, and why. */\n onReject?: (rejections: FileRejection[]) => void;\n /** Allowed types, as for `<input accept>`: `\".pdf,image/*\"`. */\n accept?: string;\n multiple?: boolean;\n /** Largest allowed file, in bytes. */\n maxSize?: number;\n /**\n * The current selection. It is kept in the native input, so the files submit\n * with a form and `required` validates. Without it the input is emptied after each pick.\n */\n files?: File[];\n disabled?: boolean;\n invalid?: boolean;\n /** `sm` is a single compact row. */\n size?: 'sm' | 'md';\n icon?: React.ReactNode;\n title?: React.ReactNode;\n /** Secondary line, e.g. the allowed types and size. */\n hint?: React.ReactNode;\n /** Props for the file input (name, id, required, aria-*…). */\n inputProps?: Omit<React.ComponentProps<'input'>, 'ref' | 'type'>;\n}\n\n/** Drop target that also opens the file browser on click, Enter or Space. */\nexport function Dropzone({\n onFiles,\n onReject,\n accept,\n multiple,\n maxSize,\n files,\n disabled,\n invalid,\n size = 'md',\n icon,\n title,\n hint,\n inputProps,\n className,\n children,\n ref,\n ...props\n}: DropzoneProps) {\n const [dragging, setDragging] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n React.useEffect(() => {\n setInputFiles(inputRef.current, files);\n }, [files]);\n\n const take = (list: FileList | null) => {\n const accepted: File[] = [];\n const rejected: FileRejection[] = [];\n for (const file of Array.from(list ?? [])) {\n if (!accepts(file, accept)) rejected.push({ file, reason: 'type' });\n else if (maxSize != null && file.size > maxSize) rejected.push({ file, reason: 'size' });\n else if (!multiple && accepted.length) rejected.push({ file, reason: 'count' });\n else accepted.push(file);\n }\n // Restore the selection (or empty the input, so the same file can be picked again).\n setInputFiles(inputRef.current, files);\n if (accepted.length) onFiles?.(accepted);\n if (rejected.length) onReject?.(rejected);\n };\n\n const hasFiles = (event: React.DragEvent) => event.dataTransfer.types.includes('Files');\n\n return (\n <label\n ref={ref}\n {...props}\n className={cx('oui-dropzone', className)}\n data-size={size}\n data-dragging={dragging ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n data-invalid={invalid ? '' : undefined}\n onDragEnter={(event) => {\n if (!disabled && hasFiles(event)) setDragging(true);\n }}\n onDragOver={(event) => {\n if (hasFiles(event)) event.preventDefault();\n }}\n onDragLeave={(event) => {\n if (!event.currentTarget.contains(event.relatedTarget as Node | null)) setDragging(false);\n }}\n onDrop={(event) => {\n if (!hasFiles(event)) return;\n event.preventDefault();\n setDragging(false);\n if (!disabled) take(event.dataTransfer.files);\n }}\n >\n <input\n {...inputProps}\n ref={inputRef}\n type=\"file\"\n className={cx('oui-dropzone__input', inputProps?.className)}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n aria-invalid={invalid || undefined}\n onChange={(event) => take(event.target.files)}\n />\n <span className=\"oui-dropzone__icon\">{icon ?? <UploadIcon />}</span>\n <span className=\"oui-dropzone__text\">\n <span className=\"oui-dropzone__title\">\n {title ?? (multiple ? 'Drop files here or click to browse' : 'Drop a file here or click to browse')}\n </span>\n {hint != null && <span className=\"oui-dropzone__hint\">{hint}</span>}\n </span>\n {children}\n </label>\n );\n}\n\nexport type FileItemStatus = 'idle' | 'uploading' | 'success' | 'error';\n\nexport interface FileItemProps extends React.HTMLAttributes<HTMLDivElement> {\n ref?: React.Ref<HTMLDivElement>;\n name: string;\n /** Size in bytes. */\n size?: number;\n icon?: React.ReactNode;\n status?: FileItemStatus;\n /** Upload progress from 0 to 100, shown while `uploading`. `null` is indeterminate. */\n progress?: number | null;\n /** Message shown in place of the size when `status` is `error`. */\n error?: React.ReactNode;\n /** Adds the remove button. */\n onRemove?: () => void;\n removeLabel?: string;\n /** Extra controls before the remove button (download, preview…). */\n actions?: React.ReactNode;\n /** BCP 47 locale for the size. */\n locale?: string;\n}\n\n/** One file in a list: name, size, upload progress or error, and a remove button. */\nexport function FileItem({\n name,\n size,\n icon,\n status = 'idle',\n progress = null,\n error,\n onRemove,\n removeLabel,\n actions,\n locale,\n className,\n ref,\n ...props\n}: FileItemProps) {\n const uploading = status === 'uploading';\n const meta = [\n size != null && formatFileSize(size, locale),\n uploading && progress != null && `${Math.round(progress)}%`,\n ].filter(Boolean);\n return (\n <div ref={ref} className={cx('oui-file-item', className)} data-status={status} {...props}>\n <span className=\"oui-file-item__icon\">{icon ?? <FileIcon />}</span>\n <div className=\"oui-file-item__body\">\n <span className=\"oui-file-item__name\" title={name}>\n {name}\n </span>\n {status === 'error' && error ? (\n <span className=\"oui-file-item__meta\" role=\"alert\">\n {error}\n </span>\n ) : (\n meta.length > 0 && <span className=\"oui-file-item__meta\">{meta.join(' · ')}</span>\n )}\n {uploading && <Progress size=\"sm\" value={progress} aria-label={name} />}\n </div>\n {status === 'success' && <CircleCheckIcon className=\"oui-file-item__done\" />}\n {actions}\n {onRemove && (\n <IconButton size=\"sm\" aria-label={removeLabel ?? `Remove ${name}`} onClick={onRemove}>\n <XIcon />\n </IconButton>\n )}\n </div>\n );\n}\n\nexport interface FileUploadLabels {\n remove: (name: string) => string;\n}\n\nconst defaultLabels: FileUploadLabels = { remove: (name) => `Remove ${name}` };\n\nconst sameFile = (a: File, b: File) => a.name === b.name && a.size === b.size && a.lastModified === b.lastModified;\n\nexport interface FileUploadProps\n extends Pick<DropzoneProps, 'accept' | 'multiple' | 'maxSize' | 'onReject' | 'size' | 'icon' | 'title' | 'hint'> {\n ref?: React.Ref<HTMLLabelElement>;\n value?: File[];\n defaultValue?: File[];\n onValueChange?: (files: File[]) => void;\n /** Most files allowed when `multiple`. */\n maxFiles?: number;\n /** Upload state of a file, for showing progress and errors in the list. */\n fileState?: (file: File) => Pick<FileItemProps, 'status' | 'progress' | 'error'> | undefined;\n label?: React.ReactNode;\n description?: React.ReactNode;\n /** Error message. When set, the field is marked invalid. */\n error?: React.ReactNode;\n required?: boolean;\n disabled?: boolean;\n /** Submits the files with a form under this name. */\n name?: string;\n id?: string;\n className?: string;\n /** BCP 47 locale for file sizes. */\n locale?: string;\n /** Override texts for localisation. */\n labels?: Partial<FileUploadLabels>;\n}\n\n/**\n * File field: a dropzone plus the list of chosen files. It only collects\n * `File` objects; upload them yourself and report progress through `fileState`.\n */\nexport function FileUpload({\n value,\n defaultValue,\n onValueChange,\n accept,\n multiple,\n maxSize,\n maxFiles,\n onReject,\n fileState,\n size,\n icon,\n title,\n hint,\n label,\n description,\n error,\n required,\n disabled,\n name,\n id: idProp,\n className,\n locale,\n labels,\n ref,\n}: FileUploadProps) {\n const text = { ...defaultLabels, ...labels };\n const [inner, setInner] = React.useState(defaultValue ?? []);\n const files = value ?? inner;\n const generatedId = React.useId();\n const id = idProp ?? generatedId;\n const descriptionId = description != null ? `${id}-description` : null;\n const errorId = error ? `${id}-error` : null;\n const describedBy = cx(descriptionId, errorId) || undefined;\n\n const commit = (next: File[]) => {\n setInner(next);\n onValueChange?.(next);\n };\n\n const add = (added: File[]) => {\n if (!multiple) {\n commit(added.slice(0, 1));\n return;\n }\n const fresh = added.filter((file) => !files.some((existing) => sameFile(existing, file)));\n const room = maxFiles == null ? fresh.length : Math.max(0, maxFiles - files.length);\n if (fresh.length > room) onReject?.(fresh.slice(room).map((file) => ({ file, reason: 'count' })));\n if (room > 0 && fresh.length > 0) commit([...files, ...fresh.slice(0, room)]);\n };\n\n return (\n <div\n className={cx('oui-field', 'oui-file-upload', className)}\n data-disabled={disabled || undefined}\n data-invalid={error ? '' : undefined}\n >\n {label != null && (\n <label htmlFor={id} className=\"oui-field__label\">\n {label}\n {required && (\n <span className=\"oui-field__required\" aria-hidden>\n *\n </span>\n )}\n </label>\n )}\n <Dropzone\n ref={ref}\n files={files}\n onFiles={add}\n onReject={onReject}\n accept={accept}\n multiple={multiple}\n maxSize={maxSize}\n disabled={disabled}\n invalid={Boolean(error)}\n size={size}\n icon={icon}\n title={title}\n hint={hint}\n inputProps={{ id, name, required, 'aria-describedby': describedBy }}\n />\n {files.length > 0 && (\n <ul className=\"oui-file-upload__list\">\n {files.map((file, index) => (\n <li key={`${file.name}-${file.size}-${file.lastModified}`}>\n <FileItem\n name={file.name}\n size={file.size}\n locale={locale}\n removeLabel={text.remove(file.name)}\n onRemove={disabled ? undefined : () => commit(files.filter((_, position) => position !== index))}\n {...fileState?.(file)}\n />\n </li>\n ))}\n </ul>\n )}\n {description != null && (\n <p id={`${id}-description`} className=\"oui-field__description\">\n {description}\n </p>\n )}\n {error && (\n <div id={`${id}-error`} className=\"oui-field__error\">\n {error}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Input as BaseInput } from '@base-ui/react/input';
|
|
3
|
+
import { Field } from '../field/Field';
|
|
4
|
+
export type ControlSize = 'sm' | 'md' | 'lg';
|
|
5
|
+
export interface InputProps extends Omit<BaseInput.Props, 'size'> {
|
|
6
|
+
size?: ControlSize;
|
|
7
|
+
/** Icon or text rendered inside the box, before the value. */
|
|
8
|
+
startAdornment?: React.ReactNode;
|
|
9
|
+
/** Icon, text or button rendered inside the box, after the value. */
|
|
10
|
+
endAdornment?: React.ReactNode;
|
|
11
|
+
}
|
|
12
|
+
export declare function Input({ size, startAdornment, endAdornment, className, ref, ...props }: InputProps): React.JSX.Element;
|
|
13
|
+
export interface PasswordInputProps extends Omit<InputProps, 'type' | 'endAdornment'> {
|
|
14
|
+
/** Whether the value is shown as plain text. */
|
|
15
|
+
visible?: boolean;
|
|
16
|
+
defaultVisible?: boolean;
|
|
17
|
+
onVisibleChange?: (visible: boolean) => void;
|
|
18
|
+
/** Accessible name of the show/hide button. */
|
|
19
|
+
toggleLabel?: string;
|
|
20
|
+
}
|
|
21
|
+
/** Password input with a button that reveals the value. */
|
|
22
|
+
export declare function PasswordInput({ visible, defaultVisible, onVisibleChange, toggleLabel, ...props }: PasswordInputProps): React.JSX.Element;
|
|
23
|
+
export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
24
|
+
ref?: React.Ref<HTMLTextAreaElement>;
|
|
25
|
+
/** Grow with content up to `maxRows` (uses CSS field-sizing where supported). */
|
|
26
|
+
autoResize?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare function Textarea({ autoResize, className, rows, ref, ...props }: TextareaProps): React.JSX.Element;
|
|
29
|
+
interface FieldShellProps {
|
|
30
|
+
label?: React.ReactNode;
|
|
31
|
+
description?: React.ReactNode;
|
|
32
|
+
/** Error message. When set, the field is marked invalid. */
|
|
33
|
+
error?: React.ReactNode;
|
|
34
|
+
required?: boolean;
|
|
35
|
+
/** Props for the wrapping Field.Root. */
|
|
36
|
+
fieldProps?: Omit<React.ComponentProps<typeof Field.Root>, 'children'>;
|
|
37
|
+
}
|
|
38
|
+
export interface TextFieldProps extends InputProps, FieldShellProps {
|
|
39
|
+
}
|
|
40
|
+
/** Labelled input with description and error message. */
|
|
41
|
+
export declare function TextField({ label, description, error, required, fieldProps, name, disabled, ref, ...props }: TextFieldProps): React.JSX.Element;
|
|
42
|
+
export interface PasswordFieldProps extends PasswordInputProps, FieldShellProps {
|
|
43
|
+
}
|
|
44
|
+
/** Labelled password input with description and error message. */
|
|
45
|
+
export declare function PasswordField({ label, description, error, required, fieldProps, name, disabled, ref, ...props }: PasswordFieldProps): React.JSX.Element;
|
|
46
|
+
export interface TextareaFieldProps extends TextareaProps, FieldShellProps {
|
|
47
|
+
}
|
|
48
|
+
export declare function TextareaField({ label, description, error, required, fieldProps, name, disabled, ref, ...props }: TextareaFieldProps): React.JSX.Element;
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cx, withClass } from "../../utils/cx.js";
|
|
3
|
+
import { EyeIcon, EyeOffIcon } from "../../icons/index.js";
|
|
4
|
+
import { IconButton } from "../button/Button.js";
|
|
5
|
+
import { Field as Field$1 } from "../field/Field.js";
|
|
6
|
+
import { c } from "react/compiler-runtime";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { Field } from "@base-ui/react/field";
|
|
10
|
+
import { Input } from "@base-ui/react/input";
|
|
11
|
+
//#region src/components/input/Input.tsx
|
|
12
|
+
function Input$1(t0) {
|
|
13
|
+
const $ = c(25);
|
|
14
|
+
let className;
|
|
15
|
+
let endAdornment;
|
|
16
|
+
let props;
|
|
17
|
+
let ref;
|
|
18
|
+
let startAdornment;
|
|
19
|
+
let t1;
|
|
20
|
+
if ($[0] !== t0) {
|
|
21
|
+
({size: t1, startAdornment, endAdornment, className, ref, ...props} = t0);
|
|
22
|
+
$[0] = t0;
|
|
23
|
+
$[1] = className;
|
|
24
|
+
$[2] = endAdornment;
|
|
25
|
+
$[3] = props;
|
|
26
|
+
$[4] = ref;
|
|
27
|
+
$[5] = startAdornment;
|
|
28
|
+
$[6] = t1;
|
|
29
|
+
} else {
|
|
30
|
+
className = $[1];
|
|
31
|
+
endAdornment = $[2];
|
|
32
|
+
props = $[3];
|
|
33
|
+
ref = $[4];
|
|
34
|
+
startAdornment = $[5];
|
|
35
|
+
t1 = $[6];
|
|
36
|
+
}
|
|
37
|
+
const size = t1 === void 0 ? "md" : t1;
|
|
38
|
+
const grouped = startAdornment != null || endAdornment != null;
|
|
39
|
+
let t2;
|
|
40
|
+
if ($[7] !== className) {
|
|
41
|
+
t2 = withClass("oui-input", className);
|
|
42
|
+
$[7] = className;
|
|
43
|
+
$[8] = t2;
|
|
44
|
+
} else t2 = $[8];
|
|
45
|
+
const t3 = grouped || void 0;
|
|
46
|
+
let t4;
|
|
47
|
+
if ($[9] !== props || $[10] !== ref || $[11] !== size || $[12] !== t2 || $[13] !== t3) {
|
|
48
|
+
t4 = /* @__PURE__ */ jsx(Input, {
|
|
49
|
+
ref,
|
|
50
|
+
className: t2,
|
|
51
|
+
"data-size": size,
|
|
52
|
+
"data-grouped": t3,
|
|
53
|
+
...props
|
|
54
|
+
});
|
|
55
|
+
$[9] = props;
|
|
56
|
+
$[10] = ref;
|
|
57
|
+
$[11] = size;
|
|
58
|
+
$[12] = t2;
|
|
59
|
+
$[13] = t3;
|
|
60
|
+
$[14] = t4;
|
|
61
|
+
} else t4 = $[14];
|
|
62
|
+
const input = t4;
|
|
63
|
+
if (!grouped) return input;
|
|
64
|
+
const t5 = props.disabled || void 0;
|
|
65
|
+
let t6;
|
|
66
|
+
if ($[15] !== startAdornment) {
|
|
67
|
+
t6 = startAdornment != null && /* @__PURE__ */ jsx("span", {
|
|
68
|
+
className: "oui-input-group__adornment",
|
|
69
|
+
children: startAdornment
|
|
70
|
+
});
|
|
71
|
+
$[15] = startAdornment;
|
|
72
|
+
$[16] = t6;
|
|
73
|
+
} else t6 = $[16];
|
|
74
|
+
let t7;
|
|
75
|
+
if ($[17] !== endAdornment) {
|
|
76
|
+
t7 = endAdornment != null && /* @__PURE__ */ jsx("span", {
|
|
77
|
+
className: "oui-input-group__adornment",
|
|
78
|
+
children: endAdornment
|
|
79
|
+
});
|
|
80
|
+
$[17] = endAdornment;
|
|
81
|
+
$[18] = t7;
|
|
82
|
+
} else t7 = $[18];
|
|
83
|
+
let t8;
|
|
84
|
+
if ($[19] !== input || $[20] !== size || $[21] !== t5 || $[22] !== t6 || $[23] !== t7) {
|
|
85
|
+
t8 = /* @__PURE__ */ jsxs("span", {
|
|
86
|
+
className: "oui-input-group",
|
|
87
|
+
"data-size": size,
|
|
88
|
+
"data-disabled": t5,
|
|
89
|
+
children: [
|
|
90
|
+
t6,
|
|
91
|
+
input,
|
|
92
|
+
t7
|
|
93
|
+
]
|
|
94
|
+
});
|
|
95
|
+
$[19] = input;
|
|
96
|
+
$[20] = size;
|
|
97
|
+
$[21] = t5;
|
|
98
|
+
$[22] = t6;
|
|
99
|
+
$[23] = t7;
|
|
100
|
+
$[24] = t8;
|
|
101
|
+
} else t8 = $[24];
|
|
102
|
+
return t8;
|
|
103
|
+
}
|
|
104
|
+
/** Password input with a button that reveals the value. */
|
|
105
|
+
function PasswordInput(t0) {
|
|
106
|
+
const $ = c(21);
|
|
107
|
+
let onVisibleChange;
|
|
108
|
+
let props;
|
|
109
|
+
let t1;
|
|
110
|
+
let t2;
|
|
111
|
+
let visible;
|
|
112
|
+
if ($[0] !== t0) {
|
|
113
|
+
({visible, defaultVisible: t1, onVisibleChange, toggleLabel: t2, ...props} = t0);
|
|
114
|
+
$[0] = t0;
|
|
115
|
+
$[1] = onVisibleChange;
|
|
116
|
+
$[2] = props;
|
|
117
|
+
$[3] = t1;
|
|
118
|
+
$[4] = t2;
|
|
119
|
+
$[5] = visible;
|
|
120
|
+
} else {
|
|
121
|
+
onVisibleChange = $[1];
|
|
122
|
+
props = $[2];
|
|
123
|
+
t1 = $[3];
|
|
124
|
+
t2 = $[4];
|
|
125
|
+
visible = $[5];
|
|
126
|
+
}
|
|
127
|
+
const defaultVisible = t1 === void 0 ? false : t1;
|
|
128
|
+
const toggleLabel = t2 === void 0 ? "Show password" : t2;
|
|
129
|
+
const [inner, setInner] = React.useState(defaultVisible);
|
|
130
|
+
const shown = visible ?? inner;
|
|
131
|
+
const t3 = shown ? "text" : "password";
|
|
132
|
+
let t4;
|
|
133
|
+
if ($[6] !== onVisibleChange || $[7] !== shown) {
|
|
134
|
+
t4 = () => {
|
|
135
|
+
setInner(!shown);
|
|
136
|
+
onVisibleChange?.(!shown);
|
|
137
|
+
};
|
|
138
|
+
$[6] = onVisibleChange;
|
|
139
|
+
$[7] = shown;
|
|
140
|
+
$[8] = t4;
|
|
141
|
+
} else t4 = $[8];
|
|
142
|
+
let t5;
|
|
143
|
+
if ($[9] !== shown) {
|
|
144
|
+
t5 = shown ? /* @__PURE__ */ jsx(EyeOffIcon, {}) : /* @__PURE__ */ jsx(EyeIcon, {});
|
|
145
|
+
$[9] = shown;
|
|
146
|
+
$[10] = t5;
|
|
147
|
+
} else t5 = $[10];
|
|
148
|
+
let t6;
|
|
149
|
+
if ($[11] !== props.disabled || $[12] !== shown || $[13] !== t4 || $[14] !== t5 || $[15] !== toggleLabel) {
|
|
150
|
+
t6 = /* @__PURE__ */ jsx(IconButton, {
|
|
151
|
+
size: "sm",
|
|
152
|
+
"aria-label": toggleLabel,
|
|
153
|
+
"aria-pressed": shown,
|
|
154
|
+
disabled: props.disabled,
|
|
155
|
+
onClick: t4,
|
|
156
|
+
children: t5
|
|
157
|
+
});
|
|
158
|
+
$[11] = props.disabled;
|
|
159
|
+
$[12] = shown;
|
|
160
|
+
$[13] = t4;
|
|
161
|
+
$[14] = t5;
|
|
162
|
+
$[15] = toggleLabel;
|
|
163
|
+
$[16] = t6;
|
|
164
|
+
} else t6 = $[16];
|
|
165
|
+
let t7;
|
|
166
|
+
if ($[17] !== props || $[18] !== t3 || $[19] !== t6) {
|
|
167
|
+
t7 = /* @__PURE__ */ jsx(Input$1, {
|
|
168
|
+
autoCapitalize: "off",
|
|
169
|
+
spellCheck: false,
|
|
170
|
+
...props,
|
|
171
|
+
type: t3,
|
|
172
|
+
endAdornment: t6
|
|
173
|
+
});
|
|
174
|
+
$[17] = props;
|
|
175
|
+
$[18] = t3;
|
|
176
|
+
$[19] = t6;
|
|
177
|
+
$[20] = t7;
|
|
178
|
+
} else t7 = $[20];
|
|
179
|
+
return t7;
|
|
180
|
+
}
|
|
181
|
+
function Textarea(t0) {
|
|
182
|
+
const $ = c(16);
|
|
183
|
+
let autoResize;
|
|
184
|
+
let className;
|
|
185
|
+
let props;
|
|
186
|
+
let ref;
|
|
187
|
+
let t1;
|
|
188
|
+
if ($[0] !== t0) {
|
|
189
|
+
({autoResize, className, rows: t1, ref, ...props} = t0);
|
|
190
|
+
$[0] = t0;
|
|
191
|
+
$[1] = autoResize;
|
|
192
|
+
$[2] = className;
|
|
193
|
+
$[3] = props;
|
|
194
|
+
$[4] = ref;
|
|
195
|
+
$[5] = t1;
|
|
196
|
+
} else {
|
|
197
|
+
autoResize = $[1];
|
|
198
|
+
className = $[2];
|
|
199
|
+
props = $[3];
|
|
200
|
+
ref = $[4];
|
|
201
|
+
t1 = $[5];
|
|
202
|
+
}
|
|
203
|
+
const rows = t1 === void 0 ? 3 : t1;
|
|
204
|
+
const t2 = ref;
|
|
205
|
+
let t3;
|
|
206
|
+
if ($[6] !== rows) {
|
|
207
|
+
t3 = /* @__PURE__ */ jsx("textarea", { rows });
|
|
208
|
+
$[6] = rows;
|
|
209
|
+
$[7] = t3;
|
|
210
|
+
} else t3 = $[7];
|
|
211
|
+
let t4;
|
|
212
|
+
if ($[8] !== className) {
|
|
213
|
+
t4 = cx("oui-input", "oui-textarea", className);
|
|
214
|
+
$[8] = className;
|
|
215
|
+
$[9] = t4;
|
|
216
|
+
} else t4 = $[9];
|
|
217
|
+
const t5 = autoResize || void 0;
|
|
218
|
+
const t6 = props;
|
|
219
|
+
let t7;
|
|
220
|
+
if ($[10] !== t2 || $[11] !== t3 || $[12] !== t4 || $[13] !== t5 || $[14] !== t6) {
|
|
221
|
+
t7 = /* @__PURE__ */ jsx(Field.Control, {
|
|
222
|
+
ref: t2,
|
|
223
|
+
render: t3,
|
|
224
|
+
className: t4,
|
|
225
|
+
"data-auto-resize": t5,
|
|
226
|
+
...t6
|
|
227
|
+
});
|
|
228
|
+
$[10] = t2;
|
|
229
|
+
$[11] = t3;
|
|
230
|
+
$[12] = t4;
|
|
231
|
+
$[13] = t5;
|
|
232
|
+
$[14] = t6;
|
|
233
|
+
$[15] = t7;
|
|
234
|
+
} else t7 = $[15];
|
|
235
|
+
return t7;
|
|
236
|
+
}
|
|
237
|
+
/** Labelled input with description and error message. */
|
|
238
|
+
function TextField(t0) {
|
|
239
|
+
const $ = c(30);
|
|
240
|
+
let description;
|
|
241
|
+
let disabled;
|
|
242
|
+
let error;
|
|
243
|
+
let fieldProps;
|
|
244
|
+
let label;
|
|
245
|
+
let name;
|
|
246
|
+
let props;
|
|
247
|
+
let ref;
|
|
248
|
+
let required;
|
|
249
|
+
if ($[0] !== t0) {
|
|
250
|
+
({label, description, error, required, fieldProps, name, disabled, ref, ...props} = t0);
|
|
251
|
+
$[0] = t0;
|
|
252
|
+
$[1] = description;
|
|
253
|
+
$[2] = disabled;
|
|
254
|
+
$[3] = error;
|
|
255
|
+
$[4] = fieldProps;
|
|
256
|
+
$[5] = label;
|
|
257
|
+
$[6] = name;
|
|
258
|
+
$[7] = props;
|
|
259
|
+
$[8] = ref;
|
|
260
|
+
$[9] = required;
|
|
261
|
+
} else {
|
|
262
|
+
description = $[1];
|
|
263
|
+
disabled = $[2];
|
|
264
|
+
error = $[3];
|
|
265
|
+
fieldProps = $[4];
|
|
266
|
+
label = $[5];
|
|
267
|
+
name = $[6];
|
|
268
|
+
props = $[7];
|
|
269
|
+
ref = $[8];
|
|
270
|
+
required = $[9];
|
|
271
|
+
}
|
|
272
|
+
const t1 = error ? true : void 0;
|
|
273
|
+
let t2;
|
|
274
|
+
if ($[10] !== label || $[11] !== required) {
|
|
275
|
+
t2 = label && /* @__PURE__ */ jsx(Field$1.Label, {
|
|
276
|
+
required,
|
|
277
|
+
children: label
|
|
278
|
+
});
|
|
279
|
+
$[10] = label;
|
|
280
|
+
$[11] = required;
|
|
281
|
+
$[12] = t2;
|
|
282
|
+
} else t2 = $[12];
|
|
283
|
+
let t3;
|
|
284
|
+
if ($[13] !== props || $[14] !== ref || $[15] !== required) {
|
|
285
|
+
t3 = /* @__PURE__ */ jsx(Input$1, {
|
|
286
|
+
ref,
|
|
287
|
+
required,
|
|
288
|
+
...props
|
|
289
|
+
});
|
|
290
|
+
$[13] = props;
|
|
291
|
+
$[14] = ref;
|
|
292
|
+
$[15] = required;
|
|
293
|
+
$[16] = t3;
|
|
294
|
+
} else t3 = $[16];
|
|
295
|
+
let t4;
|
|
296
|
+
if ($[17] !== description) {
|
|
297
|
+
t4 = description && /* @__PURE__ */ jsx(Field$1.Description, { children: description });
|
|
298
|
+
$[17] = description;
|
|
299
|
+
$[18] = t4;
|
|
300
|
+
} else t4 = $[18];
|
|
301
|
+
let t5;
|
|
302
|
+
if ($[19] !== error) {
|
|
303
|
+
t5 = error ? /* @__PURE__ */ jsx(Field$1.Error, {
|
|
304
|
+
match: true,
|
|
305
|
+
children: error
|
|
306
|
+
}) : /* @__PURE__ */ jsx(Field$1.Error, {});
|
|
307
|
+
$[19] = error;
|
|
308
|
+
$[20] = t5;
|
|
309
|
+
} else t5 = $[20];
|
|
310
|
+
let t6;
|
|
311
|
+
if ($[21] !== disabled || $[22] !== fieldProps || $[23] !== name || $[24] !== t1 || $[25] !== t2 || $[26] !== t3 || $[27] !== t4 || $[28] !== t5) {
|
|
312
|
+
t6 = /* @__PURE__ */ jsxs(Field$1.Root, {
|
|
313
|
+
name,
|
|
314
|
+
disabled,
|
|
315
|
+
invalid: t1,
|
|
316
|
+
...fieldProps,
|
|
317
|
+
children: [
|
|
318
|
+
t2,
|
|
319
|
+
t3,
|
|
320
|
+
t4,
|
|
321
|
+
t5
|
|
322
|
+
]
|
|
323
|
+
});
|
|
324
|
+
$[21] = disabled;
|
|
325
|
+
$[22] = fieldProps;
|
|
326
|
+
$[23] = name;
|
|
327
|
+
$[24] = t1;
|
|
328
|
+
$[25] = t2;
|
|
329
|
+
$[26] = t3;
|
|
330
|
+
$[27] = t4;
|
|
331
|
+
$[28] = t5;
|
|
332
|
+
$[29] = t6;
|
|
333
|
+
} else t6 = $[29];
|
|
334
|
+
return t6;
|
|
335
|
+
}
|
|
336
|
+
/** Labelled password input with description and error message. */
|
|
337
|
+
function PasswordField(t0) {
|
|
338
|
+
const $ = c(31);
|
|
339
|
+
let description;
|
|
340
|
+
let disabled;
|
|
341
|
+
let error;
|
|
342
|
+
let fieldProps;
|
|
343
|
+
let label;
|
|
344
|
+
let name;
|
|
345
|
+
let props;
|
|
346
|
+
let ref;
|
|
347
|
+
let required;
|
|
348
|
+
if ($[0] !== t0) {
|
|
349
|
+
({label, description, error, required, fieldProps, name, disabled, ref, ...props} = t0);
|
|
350
|
+
$[0] = t0;
|
|
351
|
+
$[1] = description;
|
|
352
|
+
$[2] = disabled;
|
|
353
|
+
$[3] = error;
|
|
354
|
+
$[4] = fieldProps;
|
|
355
|
+
$[5] = label;
|
|
356
|
+
$[6] = name;
|
|
357
|
+
$[7] = props;
|
|
358
|
+
$[8] = ref;
|
|
359
|
+
$[9] = required;
|
|
360
|
+
} else {
|
|
361
|
+
description = $[1];
|
|
362
|
+
disabled = $[2];
|
|
363
|
+
error = $[3];
|
|
364
|
+
fieldProps = $[4];
|
|
365
|
+
label = $[5];
|
|
366
|
+
name = $[6];
|
|
367
|
+
props = $[7];
|
|
368
|
+
ref = $[8];
|
|
369
|
+
required = $[9];
|
|
370
|
+
}
|
|
371
|
+
const t1 = error ? true : void 0;
|
|
372
|
+
let t2;
|
|
373
|
+
if ($[10] !== label || $[11] !== required) {
|
|
374
|
+
t2 = label && /* @__PURE__ */ jsx(Field$1.Label, {
|
|
375
|
+
required,
|
|
376
|
+
children: label
|
|
377
|
+
});
|
|
378
|
+
$[10] = label;
|
|
379
|
+
$[11] = required;
|
|
380
|
+
$[12] = t2;
|
|
381
|
+
} else t2 = $[12];
|
|
382
|
+
let t3;
|
|
383
|
+
if ($[13] !== disabled || $[14] !== props || $[15] !== ref || $[16] !== required) {
|
|
384
|
+
t3 = /* @__PURE__ */ jsx(PasswordInput, {
|
|
385
|
+
ref,
|
|
386
|
+
required,
|
|
387
|
+
disabled,
|
|
388
|
+
...props
|
|
389
|
+
});
|
|
390
|
+
$[13] = disabled;
|
|
391
|
+
$[14] = props;
|
|
392
|
+
$[15] = ref;
|
|
393
|
+
$[16] = required;
|
|
394
|
+
$[17] = t3;
|
|
395
|
+
} else t3 = $[17];
|
|
396
|
+
let t4;
|
|
397
|
+
if ($[18] !== description) {
|
|
398
|
+
t4 = description && /* @__PURE__ */ jsx(Field$1.Description, { children: description });
|
|
399
|
+
$[18] = description;
|
|
400
|
+
$[19] = t4;
|
|
401
|
+
} else t4 = $[19];
|
|
402
|
+
let t5;
|
|
403
|
+
if ($[20] !== error) {
|
|
404
|
+
t5 = error ? /* @__PURE__ */ jsx(Field$1.Error, {
|
|
405
|
+
match: true,
|
|
406
|
+
children: error
|
|
407
|
+
}) : /* @__PURE__ */ jsx(Field$1.Error, {});
|
|
408
|
+
$[20] = error;
|
|
409
|
+
$[21] = t5;
|
|
410
|
+
} else t5 = $[21];
|
|
411
|
+
let t6;
|
|
412
|
+
if ($[22] !== disabled || $[23] !== fieldProps || $[24] !== name || $[25] !== t1 || $[26] !== t2 || $[27] !== t3 || $[28] !== t4 || $[29] !== t5) {
|
|
413
|
+
t6 = /* @__PURE__ */ jsxs(Field$1.Root, {
|
|
414
|
+
name,
|
|
415
|
+
disabled,
|
|
416
|
+
invalid: t1,
|
|
417
|
+
...fieldProps,
|
|
418
|
+
children: [
|
|
419
|
+
t2,
|
|
420
|
+
t3,
|
|
421
|
+
t4,
|
|
422
|
+
t5
|
|
423
|
+
]
|
|
424
|
+
});
|
|
425
|
+
$[22] = disabled;
|
|
426
|
+
$[23] = fieldProps;
|
|
427
|
+
$[24] = name;
|
|
428
|
+
$[25] = t1;
|
|
429
|
+
$[26] = t2;
|
|
430
|
+
$[27] = t3;
|
|
431
|
+
$[28] = t4;
|
|
432
|
+
$[29] = t5;
|
|
433
|
+
$[30] = t6;
|
|
434
|
+
} else t6 = $[30];
|
|
435
|
+
return t6;
|
|
436
|
+
}
|
|
437
|
+
function TextareaField(t0) {
|
|
438
|
+
const $ = c(30);
|
|
439
|
+
let description;
|
|
440
|
+
let disabled;
|
|
441
|
+
let error;
|
|
442
|
+
let fieldProps;
|
|
443
|
+
let label;
|
|
444
|
+
let name;
|
|
445
|
+
let props;
|
|
446
|
+
let ref;
|
|
447
|
+
let required;
|
|
448
|
+
if ($[0] !== t0) {
|
|
449
|
+
({label, description, error, required, fieldProps, name, disabled, ref, ...props} = t0);
|
|
450
|
+
$[0] = t0;
|
|
451
|
+
$[1] = description;
|
|
452
|
+
$[2] = disabled;
|
|
453
|
+
$[3] = error;
|
|
454
|
+
$[4] = fieldProps;
|
|
455
|
+
$[5] = label;
|
|
456
|
+
$[6] = name;
|
|
457
|
+
$[7] = props;
|
|
458
|
+
$[8] = ref;
|
|
459
|
+
$[9] = required;
|
|
460
|
+
} else {
|
|
461
|
+
description = $[1];
|
|
462
|
+
disabled = $[2];
|
|
463
|
+
error = $[3];
|
|
464
|
+
fieldProps = $[4];
|
|
465
|
+
label = $[5];
|
|
466
|
+
name = $[6];
|
|
467
|
+
props = $[7];
|
|
468
|
+
ref = $[8];
|
|
469
|
+
required = $[9];
|
|
470
|
+
}
|
|
471
|
+
const t1 = error ? true : void 0;
|
|
472
|
+
let t2;
|
|
473
|
+
if ($[10] !== label || $[11] !== required) {
|
|
474
|
+
t2 = label && /* @__PURE__ */ jsx(Field$1.Label, {
|
|
475
|
+
required,
|
|
476
|
+
children: label
|
|
477
|
+
});
|
|
478
|
+
$[10] = label;
|
|
479
|
+
$[11] = required;
|
|
480
|
+
$[12] = t2;
|
|
481
|
+
} else t2 = $[12];
|
|
482
|
+
let t3;
|
|
483
|
+
if ($[13] !== props || $[14] !== ref || $[15] !== required) {
|
|
484
|
+
t3 = /* @__PURE__ */ jsx(Textarea, {
|
|
485
|
+
ref,
|
|
486
|
+
required,
|
|
487
|
+
...props
|
|
488
|
+
});
|
|
489
|
+
$[13] = props;
|
|
490
|
+
$[14] = ref;
|
|
491
|
+
$[15] = required;
|
|
492
|
+
$[16] = t3;
|
|
493
|
+
} else t3 = $[16];
|
|
494
|
+
let t4;
|
|
495
|
+
if ($[17] !== description) {
|
|
496
|
+
t4 = description && /* @__PURE__ */ jsx(Field$1.Description, { children: description });
|
|
497
|
+
$[17] = description;
|
|
498
|
+
$[18] = t4;
|
|
499
|
+
} else t4 = $[18];
|
|
500
|
+
let t5;
|
|
501
|
+
if ($[19] !== error) {
|
|
502
|
+
t5 = error ? /* @__PURE__ */ jsx(Field$1.Error, {
|
|
503
|
+
match: true,
|
|
504
|
+
children: error
|
|
505
|
+
}) : /* @__PURE__ */ jsx(Field$1.Error, {});
|
|
506
|
+
$[19] = error;
|
|
507
|
+
$[20] = t5;
|
|
508
|
+
} else t5 = $[20];
|
|
509
|
+
let t6;
|
|
510
|
+
if ($[21] !== disabled || $[22] !== fieldProps || $[23] !== name || $[24] !== t1 || $[25] !== t2 || $[26] !== t3 || $[27] !== t4 || $[28] !== t5) {
|
|
511
|
+
t6 = /* @__PURE__ */ jsxs(Field$1.Root, {
|
|
512
|
+
name,
|
|
513
|
+
disabled,
|
|
514
|
+
invalid: t1,
|
|
515
|
+
...fieldProps,
|
|
516
|
+
children: [
|
|
517
|
+
t2,
|
|
518
|
+
t3,
|
|
519
|
+
t4,
|
|
520
|
+
t5
|
|
521
|
+
]
|
|
522
|
+
});
|
|
523
|
+
$[21] = disabled;
|
|
524
|
+
$[22] = fieldProps;
|
|
525
|
+
$[23] = name;
|
|
526
|
+
$[24] = t1;
|
|
527
|
+
$[25] = t2;
|
|
528
|
+
$[26] = t3;
|
|
529
|
+
$[27] = t4;
|
|
530
|
+
$[28] = t5;
|
|
531
|
+
$[29] = t6;
|
|
532
|
+
} else t6 = $[29];
|
|
533
|
+
return t6;
|
|
534
|
+
}
|
|
535
|
+
//#endregion
|
|
536
|
+
export { Input$1 as Input, PasswordField, PasswordInput, TextField, Textarea, TextareaField };
|
|
537
|
+
|
|
538
|
+
//# sourceMappingURL=Input.js.map
|