Sha256: 7b2b5ca1cf6a9258c638d48675e6ac91fa847aaca16c8f3737cdea8c401f9a1f

Contents?: true

Size: 1.23 KB

Versions: 669

Compression:

Stored size: 1.23 KB

Contents

import React from 'react'
import { Typeahead } from 'playbook-ui'

/**
 *
 * @const filterResults
 * @ignore
 * @returns {[Object]} - a custom mapping of objects, minimally containing
 * `value` and `label` among other possible fields
 * @summary - for doc example purposes only
 */

const filterResults = (results) =>
  results.items.map((result) => {
    return {
      label: result.login,
      value: result.id,
    }
  })

/**
*
* @const promiseOptions
* @ignore
* @returns {Promise} - fetch API data results from Typeahead input text
* @see - https://react-select.com/home#async
* @summary - for doc example purposes only
*/

const promiseOptions = (inputValue) =>
  new Promise((resolve) => {
    if (inputValue) {
      fetch(`https://api.github.com/search/users?q=${inputValue}`)
        .then((response) => response.json())
        .then((results) => {
          resolve(results.items ? filterResults(results) : [])
        })
    } else {
      resolve([])
    }
  })

const TypeaheadAsyncCreateable = (props) => {
  return (
    <Typeahead
        async
        createable
        isMulti
        label="Existing or User Created Options"
        loadOptions={promiseOptions}
        {...props}
    />
  )
}

export default TypeaheadAsyncCreateable

Version data entries

669 entries across 669 versions & 2 rubygems

Version Path
playbook_ui_docs-14.8.0.pre.alpha.PLAY1649rolloutheightglobalprops4635 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui-14.8.0.pre.alpha.PLAY1649rolloutheightglobalprops4635 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui_docs-14.9.0.pre.rc.8 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui-14.9.0.pre.rc.8 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui_docs-14.8.0.pre.alpha.PLAY1598floatinguiupgrade4617 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui-14.8.0.pre.alpha.PLAY1598floatinguiupgrade4617 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui_docs-14.9.0.pre.rc.7 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui-14.9.0.pre.rc.7 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui_docs-14.9.0.pre.rc.6 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui-14.9.0.pre.rc.6 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui_docs-14.9.0.pre.rc.5 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui-14.9.0.pre.rc.5 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui_docs-14.8.0.pre.alpha.pbntr661createstickyleftprop4612 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui-14.8.0.pre.alpha.pbntr661createstickyleftprop4612 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui_docs-14.8.0.pre.alpha.play1648heightglobalprops4606 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui-14.8.0.pre.alpha.play1648heightglobalprops4606 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui_docs-14.9.0.pre.rc.4 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui-14.9.0.pre.rc.4 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui_docs-14.9.0.pre.rc.3 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
playbook_ui-14.9.0.pre.rc.3 app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx