GridLi.js 951 B

123456789101112131415161718192021222324
  1. const { h } = require('preact')
  2. // it could be a <li><button class="fake-checkbox"/> <button/></li>
  3. module.exports = (props) => {
  4. return (
  5. <li class={props.className} title={props.isDisabled ? props.restrictionReason : null}>
  6. <div aria-hidden class={`uppy-ProviderBrowserItem-fakeCheckbox ${props.isChecked ? 'uppy-ProviderBrowserItem-fakeCheckbox--is-checked' : ''}`} />
  7. <button
  8. type="button"
  9. class="uppy-u-reset uppy-ProviderBrowserItem-inner"
  10. onclick={props.toggleCheckbox}
  11. role="option"
  12. aria-label={props.isChecked ? props.i18n('unselectFileNamed', { name: props.title }) : props.i18n('selectFileNamed', { name: props.title })}
  13. aria-selected={props.isChecked}
  14. aria-disabled={props.isDisabled}
  15. disabled={props.isDisabled}
  16. data-uppy-super-focusable
  17. >
  18. {props.itemIconEl}
  19. {props.showTitles && props.title}
  20. </button>
  21. </li>
  22. )
  23. }