jsx-slack icon indicating copy to clipboard operation
jsx-slack copied to clipboard

`<FileInput>` / `<Input type="file">` input component for the file input element

Open yhatt opened this issue 1 year ago • 0 comments

The <FileInput> component provides the file input to <Modal>.

<Modal title="Send resume">
  <FileInput
    label="Resume"
    actionId="resume"
    accept=".pdf,.doc,.docx"
    required
    hint="Attach your resume"
  />
</Modal>

For HTML compatibility, <input type="file" /> is also working. It provides a better interface for web developers.

<Modal title="Post">
  <input label="Title" name="title" required maxLength={200} />
  <textarea label="Message" name="message" required maxLength={2000} />
  <input type="file" label="Attachments" name="attachments" multiple />
  <input type="submit" value="Send" />
</Modal>

Resolves #305.

[!WARNING] Setting MIME types as accept prop are not supported because the Slack platform does not support all file types covered by MIME.

ToDo

  • [x] Implementation
    • [x] <FileInput>
    • [x] <Input type="file">
  • [x] Tests
  • [ ] Docs
  • [ ] REPL

yhatt avatar Feb 11 '24 13:02 yhatt