{"version":3,"sources":["jsdelivr-header.js","/npm/github-user-list@1.0.0-alpha.1/src/components/Button/Button.tsx","/npm/github-user-list@1.0.0-alpha.1/src/components/Button/index.ts","/npm/github-user-list@1.0.0-alpha.1/src/Button.ts","/npm/github-user-list@1.0.0-alpha.1/src/components/GitHubUserList/Form.tsx","/npm/github-user-list@1.0.0-alpha.1/src/components/GitHubUserList/Card.tsx","/npm/github-user-list@1.0.0-alpha.1/src/components/GitHubUserList/CardList.tsx","/npm/github-user-list@1.0.0-alpha.1/src/components/GitHubUserList/GitHubUserList.tsx","/npm/github-user-list@1.0.0-alpha.1/src/components/GitHubUserList/index.ts","/npm/github-user-list@1.0.0-alpha.1/src/GitHubUserList.ts","/npm/github-user-list@1.0.0-alpha.1/src/index.ts"],"names":[],"mappings":"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","file":"/npm/github-user-list@1.0.0-alpha.1/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/github-user-list@1.0.0-alpha.1/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import * as React from 'react';\r\n//import './Button.styles.scss'\r\n\r\nexport class Button extends React.PureComponent {\r\n  doThing(val: any): void {\r\n    console.log('click event:', val);\r\n  }\r\n\r\n  public render(): JSX.Element {\r\n    const props = this.props;\r\n\r\n    return (\r\n      <button\r\n        // styleName=\"root\"\r\n        onClick={this.doThing}\r\n      >\r\n        {this.props.children}\r\n      </button>\r\n    );\r\n  }\r\n}\r\n\r\nexport default Button;\r\n","export * from './Button';\r\n","export * from './components/Button/index';","import * as React from 'react';\r\nimport axios from 'axios';\r\nimport { DefaultButton, PrimaryButton } from 'office-ui-fabric-react/lib/Button';\r\nimport { TextField } from 'office-ui-fabric-react/lib/TextField';\r\n\r\n// See Axios cheat sheet @ https://kapeli.com/cheat_sheets/Axios.docset/Contents/Resources/Documents/index\r\n\r\n// TODO: Learn flexbox; how can we achieve to have TextField use all available horizontal space?\r\n// -Steven Volckaert. June 8, 2018.\r\n// TODO Delegate data retrieval to a service / service proxy class. See Redux?\r\n// -Steven Volckaert. June 8, 2018.\r\n\r\ninterface IFormProps {\r\n  OnClearButtonClicked: any;\r\n  onDataLoaded: any;\r\n}\r\n\r\nexport class Form extends React.PureComponent<IFormProps> {\r\n  state = { userName: '' };\r\n\r\n  onSubmit = (event: any) => {\r\n    event.preventDefault();\r\n\r\n    console.log(`HTTP GET GitHub user '${this.state.userName}'...`);\r\n    axios\r\n      .get(`https://api.github.com/users/${this.state.userName}`)\r\n      .then(response => {\r\n        this.setState({ userName: '' });\r\n        this.props.onDataLoaded(response.data);\r\n      })\r\n      .catch(error => {\r\n        // console.log(error);\r\n        // TODO Show an appropriate error message below TextField. See Office UI Fabric docs on\r\n        // TextField on how to do this. -Steven Volckaert. June 8, 2018\r\n      });\r\n  };\r\n\r\n  render() {\r\n    return (\r\n      <form className=\"singleLineForm\" onSubmit={this.onSubmit}>\r\n        <TextField\r\n          placeholder=\"GitHub user name\"\r\n          value={this.state.userName}\r\n          ariaLabel=\"Please enter text here\"\r\n          onChanged={newValue => this.setState({ userName: newValue })}\r\n        />\r\n        <PrimaryButton type=\"submit\" text=\"Add card\" style={{ marginLeft: 8 }} />\r\n        <DefaultButton\r\n          text=\"Clear list\"\r\n          onClick={this.props.OnClearButtonClicked}\r\n          style={{ marginLeft: 8 }}\r\n        />\r\n      </form>\r\n    );\r\n  }\r\n}\r\n","import * as React from 'react';\r\n\r\n// TODO Experiment with a separate LESS / SASS file per component. -Steven Volckaert. June 8, 2018.\r\n\r\nexport interface ICardProps {\r\n  id: number;\r\n  login: string;\r\n  avatar_url: string;\r\n  company: string;\r\n  name: string;\r\n}\r\n\r\nexport const Card = (props: ICardProps) => (\r\n  <div style={{ margin: '1em' }}>\r\n    <img width=\"75\" src={props.avatar_url} />\r\n    <div style={{ display: 'inline-block', marginLeft: 16, verticalAlign: 'top' }}>\r\n      <div style={{ fontSize: '1.25em', fontWeight: 'bold' }}>\r\n        {props.name != null ? props.name : <i>No name set</i>}\r\n      </div>\r\n      <div>\r\n        <span>User name: </span>\r\n        <i>'{props.login}'</i>\r\n      </div>\r\n      <div>\r\n        <span>Works for: </span>\r\n        {props.company != null ? props.company : <i>No company set</i>}\r\n      </div>\r\n    </div>\r\n  </div>\r\n);\r\n","import * as React from 'react';\r\nimport { Card, ICardProps } from './Card';\r\n\r\ninterface CardListProps {\r\n  cards: ICardProps[];\r\n}\r\n\r\nexport const CardList = (props: CardListProps) => (\r\n  <div>{props.cards.map(x => <Card key={x.id} {...x} />)}</div>\r\n);\r\n","import * as React from 'react';\r\nimport { List } from 'linqts';\r\nimport { Form } from './Form';\r\nimport { CardList } from './CardList';\r\nimport { ICardProps } from './Card';\r\n\r\n// TODO Consider linq-collections instead of linqts.\r\n// https://www.npmjs.com/package/linq-collections -Steven Volckaert. June 8, 2018.\r\n\r\ninterface IGitHubUserListProps {}\r\n\r\ninterface IGitHubUserListState {\r\n  cards: ICardProps[];\r\n}\r\n\r\nexport class GitHubUserList extends React.PureComponent<\r\n  IGitHubUserListProps,\r\n  IGitHubUserListState\r\n> {\r\n  state = {\r\n    cards: [\r\n      {\r\n        id: 9107183,\r\n        login: 'stevenvolckaert',\r\n        name: 'Steven Volckaert',\r\n        avatar_url: 'https://avatars0.githubusercontent.com/u/9107183?v=4',\r\n        company: ''\r\n      },\r\n      {\r\n        id: 8445,\r\n        login: 'zpao',\r\n        name: \"Paul O'Shannessy\",\r\n        avatar_url: 'https://avatars0.githubusercontent.com/u/8445?v=4',\r\n        company: 'Facebook'\r\n      }\r\n    ]\r\n  };\r\n\r\n  addCard = (cardData: any) => {\r\n    var cardList = new List<ICardProps>(this.state.cards);\r\n\r\n    if (cardList.Any(x => x != null && x.id == cardData.id)) return;\r\n\r\n    this.setState(prevState => ({\r\n      cards: [...prevState.cards, cardData]\r\n    }));\r\n  };\r\n\r\n  clearCards = () => {\r\n    this.setState({ cards: [] });\r\n  };\r\n\r\n  render() {\r\n    return (\r\n      <div>\r\n        <h2>GitHubUserList</h2>\r\n        <Form onDataLoaded={this.addCard} OnClearButtonClicked={this.clearCards} />\r\n        <CardList cards={this.state.cards} />\r\n      </div>\r\n    );\r\n  }\r\n}\r\n","export * from './GitHubUserList';\r\n","export * from './components/GitHubUserList';","export * from './Button';\r\nexport * from './GitHubUserList';\r\n"]}