@mcf/lib-ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/.browserslistrc +3 -0
  2. package/.gitmodules +3 -0
  3. package/.prettierrc.yaml +10 -0
  4. package/README.md +143 -0
  5. package/dist/@types/Component/BaseButton/BaseButton.d.ts +16 -0
  6. package/dist/@types/Component/BaseButton/index.d.ts +1 -0
  7. package/dist/@types/Component/CheckBox/CheckBox.d.ts +11 -0
  8. package/dist/@types/Component/CheckBox/index.d.ts +1 -0
  9. package/dist/@types/Component/ConfirmationBox/ConfirmationBox.d.ts +18 -0
  10. package/dist/@types/Component/ConfirmationBox/index.d.ts +1 -0
  11. package/dist/@types/Component/Dropdown/Dropdown.d.ts +69 -0
  12. package/dist/@types/Component/Dropdown/index.d.ts +1 -0
  13. package/dist/@types/Component/RadioButtonGroup/RadioButtonGroup.d.ts +29 -0
  14. package/dist/@types/Component/RadioButtonGroup/index.d.ts +1 -0
  15. package/dist/@types/Component/ReactFileReader/ReactFileReader.d.ts +31 -0
  16. package/dist/@types/Component/ReactFileReader/index.d.ts +1 -0
  17. package/dist/@types/Component/StickyHeader/StickyHeader.d.ts +33 -0
  18. package/dist/@types/Component/StickyHeader/index.d.ts +1 -0
  19. package/dist/@types/Component/TextArea/TextArea.d.ts +20 -0
  20. package/dist/@types/Component/TextArea/index.d.ts +1 -0
  21. package/dist/@types/Component/TextInput/TextInput.d.ts +24 -0
  22. package/dist/@types/Component/TextInput/index.d.ts +1 -0
  23. package/dist/@types/Component/Toggle/Toggle.d.ts +6 -0
  24. package/dist/@types/Component/Toggle/index.d.ts +1 -0
  25. package/dist/@types/Component/TypeAhead/TypeAhead.d.ts +44 -0
  26. package/dist/@types/Component/TypeAhead/index.d.ts +1 -0
  27. package/dist/@types/Component/index.d.ts +11 -0
  28. package/dist/@types/Example/ReactFileReader/ReactFileReader.story.d.ts +1 -0
  29. package/dist/@types/Example/ReactFileReader/index.d.ts +14 -0
  30. package/dist/@types/storyguide/Buttons/BaseButton.d.ts +17 -0
  31. package/dist/@types/storyguide/JobCard/Bookmark/BookmarkButton.d.ts +6 -0
  32. package/dist/@types/storyguide/JobCard/CompanyInfo.d.ts +2 -0
  33. package/dist/@types/storyguide/JobCard/JobBenefit.d.ts +2 -0
  34. package/dist/@types/storyguide/JobCard/JobCard.d.ts +2 -0
  35. package/dist/@types/storyguide/JobCard/JobInfo.d.ts +2 -0
  36. package/dist/@types/storyguide/JobCard/JobLastPostedDate.d.ts +2 -0
  37. package/dist/@types/storyguide/JobCard/JobPostStatus.d.ts +2 -0
  38. package/dist/@types/storyguide/JobCard/JobSkillInfo.d.ts +2 -0
  39. package/dist/@types/storyguide/JobCard/JobSponsor.d.ts +2 -0
  40. package/dist/@types/storyguide/JobCard/JobTitle.d.ts +2 -0
  41. package/dist/@types/storyguide/JobCard/SalaryInfo.d.ts +2 -0
  42. package/dist/@types/storyguide/Skills/Score.d.ts +6 -0
  43. package/dist/@types/storyguide/Skills/Scorebar.d.ts +6 -0
  44. package/dist/@types/storyguide/Skills/SkillPill.d.ts +7 -0
  45. package/dist/@types/storyguide/Text/Font.d.ts +12 -0
  46. package/dist/@types/storyguide/Text/TextSize.d.ts +4 -0
  47. package/dist/index.js +2 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/main.css +44 -0
  50. package/jest.config.js +182 -0
  51. package/package.json +114 -0
  52. package/postcss.config.js +11 -0
  53. package/renovate.json +1 -0
  54. package/scripts/deploy/to-mcfui.gds-gov.tech.sh +44 -0
  55. package/scripts/set-npm-version.js +41 -0
  56. package/serve-static.js +9 -0
  57. package/sonar-project.properties +16 -0
  58. package/test/helpers/enzyme.ts +4 -0
  59. package/test/helpers/index.ts +1 -0
  60. package/tsconfig.jest.json +6 -0
  61. package/tsconfig.json +23 -0
  62. package/tslint.json +17 -0
@@ -0,0 +1,3 @@
1
+ > 1%
2
+ last 2 versions
3
+ Firefox ESR
package/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "scripts/versioning"]
2
+ path = scripts/versioning
3
+ url = https://github.com/zephinzer/version-tagging-scripts.git
@@ -0,0 +1,10 @@
1
+ printWidth: 120
2
+ tabWidth: 2
3
+ useTabs: false
4
+ semi: true
5
+ singleQuote: true
6
+ trailingComma: all
7
+ bracketSpacing: false
8
+ arrowParens: always
9
+ parser: typescript
10
+ requirePragma: false
package/README.md ADDED
@@ -0,0 +1,143 @@
1
+ # MCF UI Components
2
+ User Interface (UI) components for use in the MCF project.
3
+
4
+ > **WIP**: we're working on open-sourcing this!
5
+
6
+ ## Usage
7
+ Install this package through NPM:
8
+
9
+ ```bash
10
+ # for NPM
11
+ npm i https://gitlab.com/mycf.sg/lib-ui.git#2.0.114 tachyons
12
+ ```
13
+
14
+ Call it from your code with:
15
+
16
+ ```javascript
17
+ import {...} from '@govtech/mcf-mcfui';
18
+ ```
19
+
20
+ Where `...` is the component name.
21
+
22
+ You also need to load or import tachyons *once* somewhere in your project.
23
+
24
+ ```javascript
25
+ import 'tachyons/src/tachyons.css';
26
+ ```
27
+
28
+ You eventually need to import the default style provided *once* somewhere in your project
29
+
30
+ ```javascript
31
+ import '@govtechsg/mcf-mcfui/dist/main.css';
32
+ ```
33
+ This step is optional. You can provide your own style using CSS variables. Using CSS variables make it easy to configure yourself the style of your components at the application level or at a component level.
34
+
35
+ List of CSS variables overridable (default only if you use the provided style):
36
+ - colors:
37
+ - `--primary`: default to `var(--purple)`
38
+ - `--light-primary`: default to `#e3d7f4`
39
+ - `--gray`: default to `gray`
40
+ - `--white`: default to `white`
41
+ - `--dark-primary`: default to `#552895`
42
+ - `--secondary`: default to `#D6008F`
43
+ - `--dark-secondary`: default to `#c10081`
44
+ - `--danger`: default to `#EF4456`
45
+ - `--dark-danger`: default to `#eb142a`;
46
+ - borders:
47
+ - `--borderstyle`: default to `1px solid var(--black-20)`
48
+ - sizes:
49
+ - `--font-size-1`: default to `3rem`
50
+ - `--font-size-2`: default to `2.25rem`
51
+ - `--font-size-3`: default to `1.5rem`
52
+ - `--font-size-4`: default to `1.25rem`
53
+ - `--font-size-5`: default to `1rem`
54
+ - `--font-size-6`: default to `.875rem`
55
+ - `--font-size-2-5`: default to `calc(((var(--font-size-2) + var(--font-size-3)) / 2))`
56
+ - `--font-size-3-5`: default to `calc(((var(--font-size-4) + var(--font-size-4)) / 2))`
57
+ - `--font-size-4-5`: default to `calc(((var(--font-size-4) + var(--font-size-5)) / 2))`
58
+ - `--font-size-5-5`: default to `calc(((var(--font-size-5) + var(--font-size-6)) / 2))`
59
+ - `--iconsize`: default to `40px`
60
+ - `--icongap`: default to `0px`
61
+ - `--radio-button-outer-circle`: default to `16px`
62
+ - `--radio-button-inner-circle`: default to `8px`
63
+
64
+
65
+ ## Components
66
+
67
+ - [Dropdown](./src/Component/Dropdown/README.md)
68
+ - [Toggle](./src/Component/Toggle/README.md)
69
+ - [RadioButtonGroup](./src/Component/RadioButtonGroup/README.md)
70
+
71
+ ## Quick Links
72
+ NPM: https://www.npmjs.com/package/@govtechsg/mcf-mcfui
73
+ Base Images: https://hub.docker.com/r/govtechsg/mcf-mcfui-base/
74
+ Dependency Images: https://hub.docker.com/r/govtechsg/mcf-mcfui-dependencies/
75
+ Application Images: https://hub.docker.com/r/govtechsg/mcf-mcfui/
76
+ Demo: https://mcfui.gds-gov.tech
77
+
78
+ ## Contributing
79
+
80
+ ### Get Started
81
+ Clone this repository and run the following to get started:
82
+
83
+ ```bash
84
+ yarn install
85
+ yarn start # runs a storybook server at http://localhost:9001
86
+ ```
87
+
88
+ ### Development
89
+ Component code is stored in `./src`. See the `./src/Example/Text` for an example.
90
+
91
+ Make sure to build before submitting a merge request:
92
+
93
+ ```bash
94
+ yarn build
95
+
96
+ # or
97
+ yarn build-watch
98
+ ```
99
+
100
+ Use `yarn link` to test drive your changes in lib-ui with another project. Run `yarn link` in this repo and follow the instructions. Likewise, run `yarn unlink` in this repo and follow the instructions to unlink.
101
+
102
+ ### Testing
103
+ To run tests:
104
+
105
+ ```bash
106
+ yarn test
107
+ ```
108
+
109
+ To run tests in development with file watching:
110
+
111
+ ```bash
112
+ yarn test-watch
113
+ ```
114
+
115
+ To run lints:
116
+
117
+ ```bash
118
+ yarn lint
119
+ yarn lint-fix
120
+ ```
121
+
122
+ ### Documentation
123
+ 1. Add the component to the [Catalog](#catalog) section above linking to `[2]`.
124
+ 2. Add a `README.md` in the component directory which describes the component behaviour and it's available props.
125
+
126
+ ### Pipeline
127
+ The Pipeline runs only in the `master` branch.
128
+
129
+ The following release tags are available for use in your commit message to denote a type of release:
130
+
131
+ - `[rebuild]`: rebuilds all containers regardless of whether we already have them
132
+ - `[release]`: performs a release by bumping the version in `./package.json` to the same as that of the latest Git tag
133
+ - `[major]`: performs a major version bump (X.y.z -> Y.0.0, Y = X + 1)
134
+ - `[minor]`: performs a major version bump (x.Y.z -> x.Z.0, Z = Y + 1)
135
+
136
+ By default, every push to `master` will result in a patch version bump.
137
+
138
+ When both a `"[release]"` and a `"[major]"` or `"[minor]"` is present in the commit message, the version is bumped first before the release happens, so the `package.json` will contain the version **AFTER** the
139
+
140
+ ### Merge Request
141
+ On passing of the pipeline, submit a Merge/Pull Request to the `master` branch and wait for the code to be reviewed and merged in.
142
+
143
+ # 🍻
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export declare enum TYPE {
3
+ ACTION = "action",
4
+ DANGER = "danger",
5
+ DEFAULT = "default",
6
+ SUCCESS = "success"
7
+ }
8
+ export interface IBaseButtonProps {
9
+ children: any;
10
+ disabled?: boolean;
11
+ isFullWidth?: boolean;
12
+ onClick?: () => void;
13
+ type?: TYPE;
14
+ id?: string;
15
+ }
16
+ export declare const BaseButton: React.SFC<IBaseButtonProps>;
@@ -0,0 +1 @@
1
+ export * from './BaseButton';
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export interface ICheckBoxProps {
3
+ id: string;
4
+ input: {
5
+ value?: boolean;
6
+ onChange: (isChecked: boolean) => void;
7
+ };
8
+ label: React.ReactElement<{}> | string;
9
+ disabled?: boolean;
10
+ }
11
+ export declare const CheckBox: React.SFC<ICheckBoxProps>;
@@ -0,0 +1 @@
1
+ export * from './CheckBox';
@@ -0,0 +1,18 @@
1
+ import React, { Component } from 'react';
2
+ import { TYPE } from '~/Component/BaseButton/BaseButton';
3
+ export interface IConfirmationBoxProps {
4
+ text: string;
5
+ buttonType?: TYPE;
6
+ buttonText: string;
7
+ cancelText: string;
8
+ handleSubmit: () => void;
9
+ handleReset: () => void;
10
+ container?: HTMLElement;
11
+ }
12
+ export declare class ConfirmationBox extends Component<IConfirmationBoxProps, {}> {
13
+ private el;
14
+ constructor(props: IConfirmationBoxProps);
15
+ componentDidMount(): void;
16
+ componentWillUnmount(): void;
17
+ render(): React.ReactPortal;
18
+ }
@@ -0,0 +1 @@
1
+ export * from './ConfirmationBox';
@@ -0,0 +1,69 @@
1
+ import React from 'react';
2
+ import 'react-select-plus/dist/react-select-plus.css';
3
+ export interface IDropdownProps {
4
+ id?: string;
5
+ data: any[];
6
+ label?: string;
7
+ subtitle?: string;
8
+ className?: string;
9
+ labelKey?: string;
10
+ loadData?: () => void;
11
+ name?: string;
12
+ onChange?: (values: any) => void;
13
+ onInputChange?: (value: string) => void;
14
+ onEnterKeyDown?: () => void;
15
+ options?: {
16
+ async?: boolean;
17
+ maxLength?: number;
18
+ multi?: boolean;
19
+ };
20
+ input?: {
21
+ value?: string;
22
+ onChange?: (value: any) => void;
23
+ onBlur?: () => void;
24
+ };
25
+ meta?: {
26
+ error?: string;
27
+ touched?: boolean;
28
+ };
29
+ searchable?: boolean;
30
+ noResultsText?: string;
31
+ value?: any;
32
+ valueKey?: string;
33
+ placeholder?: string;
34
+ clearable?: boolean;
35
+ onFocus?: () => void;
36
+ onBlur?: () => void;
37
+ }
38
+ export interface IDropdownState {
39
+ value: string | string[] | null;
40
+ }
41
+ export declare class Dropdown extends React.Component<IDropdownProps, IDropdownState> {
42
+ static defaultProps: {
43
+ labelKey: string;
44
+ meta: {};
45
+ options: {
46
+ async: boolean;
47
+ maxLength: number;
48
+ multi: boolean;
49
+ };
50
+ valueKey: string;
51
+ };
52
+ static getDerivedStateFromProps(nextProps: IDropdownProps): {
53
+ value: string | null;
54
+ };
55
+ private static computeValue;
56
+ selectRef: any;
57
+ constructor(props: IDropdownProps);
58
+ render(): JSX.Element | null;
59
+ onInputChange(inputValue: string): void;
60
+ onInputKeyDown(e: {
61
+ keyCode: number;
62
+ preventDefault: () => void;
63
+ }): void;
64
+ onChange(selectedItem: {
65
+ [s: string]: string;
66
+ }): void;
67
+ onChangeMulti(selectedItems: string[]): void;
68
+ loadOptions(input: string, callback: (a: any, b: any) => void): void;
69
+ }
@@ -0,0 +1 @@
1
+ export * from './Dropdown';
@@ -0,0 +1,29 @@
1
+ import React, { ChangeEvent } from 'react';
2
+ export interface IRadioButtonGroupProps {
3
+ children: (a: any, inputProps: IInput, c?: any, d?: any) => JSX.Element;
4
+ data: Array<{
5
+ item: any;
6
+ value: string | number;
7
+ label: string;
8
+ }>;
9
+ initialValue?: string;
10
+ name: string;
11
+ onValueSelected?: (value: string | number) => void;
12
+ }
13
+ export interface IRadioButtonGroupState {
14
+ selectedValue: string | number;
15
+ }
16
+ export interface IInput {
17
+ id?: string;
18
+ isChecked: boolean;
19
+ label: any;
20
+ name?: string;
21
+ onChange: (event: ChangeEvent<HTMLInputElement>) => void;
22
+ value: string | number;
23
+ }
24
+ export declare class RadioButtonGroup extends React.Component<IRadioButtonGroupProps, IRadioButtonGroupState> {
25
+ static defaultProps: Partial<IRadioButtonGroupProps>;
26
+ constructor(props: IRadioButtonGroupProps);
27
+ render(): JSX.Element[];
28
+ private handleOnValueSelected;
29
+ }
@@ -0,0 +1 @@
1
+ export * from './RadioButtonGroup';
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ export interface IReactFileReaderProps {
3
+ children?: React.ReactNode;
4
+ elementId?: string;
5
+ fileTypes?: string | string[];
6
+ handleFiles: (result: IReactFileReaderResult) => void;
7
+ hasMultipleFiles?: boolean;
8
+ isBase64?: boolean;
9
+ isDisabled?: boolean;
10
+ }
11
+ export interface IReactFileReaderDefaultProps {
12
+ fileTypes: string | string[];
13
+ hasMultipleFiles: boolean;
14
+ isBase64: boolean;
15
+ isDisabled: boolean;
16
+ }
17
+ export declare type FileReaderResult = string | ArrayBuffer | null;
18
+ export interface IReactFileReaderResult {
19
+ base64: FileReaderResult[] | null;
20
+ fileList: FileList | null;
21
+ }
22
+ export declare class ReactFileReader extends React.Component<IReactFileReaderProps> {
23
+ static defaultProps: IReactFileReaderDefaultProps;
24
+ private fileInput;
25
+ render(): JSX.Element;
26
+ private setFileInput;
27
+ private clickInput;
28
+ private onChangeHandler;
29
+ private convertFilesToBase64;
30
+ private getBase64;
31
+ }
@@ -0,0 +1 @@
1
+ export * from './ReactFileReader';
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import 'scrolling-element';
3
+ export declare const MINIMUN_SCROLL_HEIGHT_THRESHOLD = 1.5;
4
+ export declare const FLOATABLE_THRESHOLD = 2;
5
+ export declare const CLEAR_FLOATABLE_THRESHOLD = 3;
6
+ export declare enum DISPLAY_STATES {
7
+ STATIC = "STATIC",
8
+ STICKY = "STICKY"
9
+ }
10
+ export interface IBrowserScrollState {
11
+ scrollTop: number;
12
+ scrollHeight: number;
13
+ screenHeight: number;
14
+ computedHeight: number;
15
+ }
16
+ export declare const TRANSITIONS: {
17
+ [K in DISPLAY_STATES]: (_: IBrowserScrollState) => DISPLAY_STATES;
18
+ };
19
+ export interface IStickyHeaderProps {
20
+ children: any;
21
+ }
22
+ export interface IStickyHeaderState {
23
+ display: DISPLAY_STATES;
24
+ }
25
+ export declare class StickyHeader extends React.Component<IStickyHeaderProps, IStickyHeaderState> {
26
+ private navigationMenuRef;
27
+ private throttledScrollHandler;
28
+ constructor(props: IStickyHeaderProps);
29
+ componentDidMount(): void;
30
+ componentWillUnmount(): void;
31
+ render(): JSX.Element;
32
+ private getHeight;
33
+ }
@@ -0,0 +1 @@
1
+ export * from './StickyHeader';
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ interface IBaseProps {
3
+ input: {
4
+ onChange: (value: string) => void;
5
+ value?: string;
6
+ };
7
+ label: string;
8
+ placeholder: string;
9
+ }
10
+ interface ITextAreaWithCounterProps extends IBaseProps {
11
+ hasCounter: boolean;
12
+ maxLength: number;
13
+ }
14
+ interface ITextAreaWithoutCounterProps extends IBaseProps {
15
+ hasCounter?: undefined;
16
+ maxLength?: undefined;
17
+ }
18
+ export declare type ITextAreaProps = ITextAreaWithCounterProps | ITextAreaWithoutCounterProps;
19
+ export declare const TextArea: React.SFC<ITextAreaProps>;
20
+ export {};
@@ -0,0 +1 @@
1
+ export * from './TextArea';
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ export interface ITextInputProps {
3
+ input?: {
4
+ onBlur: (event?: React.FocusEvent<HTMLInputElement>) => void;
5
+ onChange: (event: React.ChangeEvent<HTMLInputElement> | any) => void;
6
+ onFocus: (event?: React.FocusEvent<HTMLInputElement>) => void;
7
+ value: any;
8
+ };
9
+ meta?: {
10
+ error?: string;
11
+ touched?: boolean;
12
+ };
13
+ label?: string;
14
+ subtitle?: string;
15
+ placeholder: string;
16
+ type?: string;
17
+ maxLength?: number;
18
+ id: string;
19
+ containerClassName?: string;
20
+ readOnly?: boolean;
21
+ pattern?: string;
22
+ step?: number | string;
23
+ }
24
+ export declare const TextInput: React.SFC<ITextInputProps>;
@@ -0,0 +1 @@
1
+ export * from './TextInput';
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface IToggleProps {
3
+ initialState?: boolean;
4
+ changeHandler: (event: React.ChangeEvent<HTMLInputElement>) => void;
5
+ }
6
+ export declare const Toggle: React.SFC<IToggleProps>;
@@ -0,0 +1 @@
1
+ export * from './Toggle';
@@ -0,0 +1,44 @@
1
+ import { Component } from 'react';
2
+ export interface ITypeAheadProps {
3
+ autoComplete?: string;
4
+ data?: any[];
5
+ id?: string;
6
+ label: string;
7
+ resultsLength?: number;
8
+ placeholder: string;
9
+ targetKey: string;
10
+ valueKey: string;
11
+ input: {
12
+ className: string;
13
+ onChange: (event: {
14
+ newValue: string;
15
+ } | null | string) => void;
16
+ onBlur: () => void;
17
+ };
18
+ subtitle?: string;
19
+ meta?: {
20
+ error?: string;
21
+ touched?: boolean;
22
+ };
23
+ }
24
+ export interface ITypeAheadState {
25
+ value: string;
26
+ suggestions: any[];
27
+ }
28
+ export declare class TypeAhead extends Component<ITypeAheadProps, ITypeAheadState> {
29
+ static defaultProps: Partial<ITypeAheadProps>;
30
+ static propTypes: any;
31
+ private static getInitialValue;
32
+ constructor(props: ITypeAheadProps);
33
+ render(): JSX.Element;
34
+ private getSuggestions;
35
+ private renderSuggestion;
36
+ private getSuggestionValue;
37
+ private onChange;
38
+ private onBlur;
39
+ private onKeyDown;
40
+ private onSuggestionsFetchRequested;
41
+ private onSuggestionsClearRequested;
42
+ private onSuggestionSelected;
43
+ private renderInputComponent;
44
+ }
@@ -0,0 +1 @@
1
+ export * from './TypeAhead';
@@ -0,0 +1,11 @@
1
+ export * from './BaseButton';
2
+ export * from './CheckBox';
3
+ export * from './ConfirmationBox';
4
+ export * from './Dropdown';
5
+ export * from './RadioButtonGroup';
6
+ export * from './ReactFileReader';
7
+ export * from './StickyHeader';
8
+ export * from './TextArea';
9
+ export * from './TextInput';
10
+ export * from './Toggle';
11
+ export * from './TypeAhead';
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { IReactFileReaderResult } from '../../Component/index';
3
+ interface IExampleReactFileReaderState {
4
+ results: {
5
+ [key: string]: IReactFileReaderResult;
6
+ };
7
+ }
8
+ export declare class ExampleReactFileReader extends React.Component<{}, IExampleReactFileReaderState> {
9
+ state: Readonly<IExampleReactFileReaderState>;
10
+ render(): JSX.Element;
11
+ private renderReactFileReader;
12
+ private showFileResult;
13
+ }
14
+ export default ExampleReactFileReader;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export declare function BaseButton(props: {
3
+ className: any;
4
+ text: React.ReactNode;
5
+ }): JSX.Element;
6
+ export declare function IconButton(props: {
7
+ className: any;
8
+ text: React.ReactNode;
9
+ }): JSX.Element;
10
+ export declare function IconButtonwWord(props: {
11
+ className: any;
12
+ text: React.ReactNode;
13
+ }): JSX.Element;
14
+ export declare function FloatingActionButton(props: {
15
+ className: any;
16
+ text: React.ReactNode;
17
+ }): JSX.Element;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface IBookmarkedButtonProps {
3
+ selected?: boolean;
4
+ onClick?: (event: React.MouseEvent<HTMLElement>) => any;
5
+ }
6
+ export declare const BookmarkButton: React.FunctionComponent<IBookmarkedButtonProps>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function CompanyInfo(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function JobBenefit(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const Company: React.FunctionComponent;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function JobInfo(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function JobLastPostedDate(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function JobPostStatus(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function JobSkillInfo(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function JobSponsor(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function JobTitle(): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function SalaryInfo(): JSX.Element;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare const CARD_LABEL: {
3
+ NO_SKILL_INFO: string;
4
+ SKILLS_MATCHED: string;
5
+ };
6
+ export declare const Score: React.FunctionComponent;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare const CARD_LABEL: {
3
+ NO_SKILL_INFO: string;
4
+ SKILLS_MATCHED: string;
5
+ };
6
+ export declare function Scorebar(): JSX.Element;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export interface ISkillButtonProps {
3
+ label: string;
4
+ selected?: boolean;
5
+ onClick?: (event: React.MouseEvent<HTMLElement>) => any;
6
+ }
7
+ export declare const SkillButton: React.FunctionComponent<ISkillButtonProps>;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export default function TextHeadLine(props: {
3
+ className: any;
4
+ }): JSX.Element;
5
+ export declare function FontFamily(props: {
6
+ text: React.ReactNode;
7
+ }): JSX.Element;
8
+ export declare function FontStyle(props: {
9
+ className: any;
10
+ code: React.ReactNode;
11
+ text: React.ReactNode;
12
+ }): JSX.Element;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export default function TextSize(props: {
3
+ className: React.ReactNode;
4
+ }): JSX.Element;