<img-input>
Form control for image linking and uploading.
nopreview
attribute to disable)ElementInternals
to work like a built-in form elementmultiple
attribute?autofocus
, placeholder
etc)Basic
<img-input></img-input>
By default, the preview is shown in the same element as the input.
There are two ways to customize this: using the preview
slot, or the preview
attribute.
You can set the preview
attribute to none
for no preview:
<img-input preview="none"></img-input>
You can also set it to a CSS selector pointing to another element:
<img-input preview="#preview"></img-input>
<img id="preview">
Alternatively, you can use the preview
slot to provide your own <img>
element:
<img-input>
<img slot="preview">
</img-input>
Please note that if the preview
attribute is set, the preview
slot will be ignored.
The attribute can be dynamic as well:
<img-input></img-input>
<button onclick="this.previousElementSibling.preview =
this.previousElementSibling.preview === 'none' ? '' : 'none'">
Toggle preview
</button>
input
, location
- The input element used for URL or filenamedropzone
The drop zonebutton
, browse-button
- The button used to open the file browserpreview
- The preview imageinput
to replace the default input elementbrowse
to replace the default “Browse…” buttonpreview
to replace the default preview imageJust include the component's JS file and you're good:
<script src="https://nudeui.com/img-input/img-input.js" type="module"></script>
In case you want to link to local files: CSS is fetched automatically, and assumed to be in the same directory as the JS file.