Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 43x 43x 43x 43x 43x 43x 43x 43x 43x 43x 43x 43x 43x 43x 43x 43x 43x | import {InputText} from '../primereact/index.js';
import type {IWidgetProps} from '@feasibleone/blong';
import {Button} from '../components/Button/Button.js';
export function TextWidget({
id,
name,
schema,
value,
onChange,
onBlur,
error,
readOnly,
disabled,
}: IWidgetProps) {
const strValue = value == null ? '' : String(value);
const {copy} = schema.widget ?? {};
const copyToClipboard = () => void navigator.clipboard.writeText(strValue);
return (
<span className="blong-input-wrapper w-full">
<InputText
id={id ?? name}
name={name}
value={strValue}
onChange={e => onChange(e.target.value || null)}
onBlur={onBlur}
readOnly={readOnly}
disabled={disabled}
className={`blong-input w-full ${error ? 'p-invalid' : ''}`}
maxLength={schema.maxLength}
/>
{copy && strValue && (
<Button
icon="pi pi-copy"
className="p-button-text p-button-sm blong-input-copy"
onClick={copyToClipboard}
type="button"
tooltip="Copy"
/>
)}
</span>
);
}
|