nitro_sg 3.0.1 → 3.0.2

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 (110) hide show
  1. checksums.yaml +4 -4
  2. data/components/Avatar/Avatar.jsx +96 -0
  3. data/components/Avatar/styles.scss +54 -0
  4. data/components/Avatar/styles.scss.flow +14 -0
  5. data/components/Badge/Badge.jsx +40 -0
  6. data/components/Badge/badges.scss +167 -0
  7. data/components/Badge/labels.scss +121 -0
  8. data/components/Badge/styles.scss +4 -0
  9. data/components/Badge/styles.scss.flow +38 -0
  10. data/components/Banner/Banner.jsx +54 -0
  11. data/components/Banner/styles.scss +75 -0
  12. data/components/Banner/styles.scss.flow +19 -0
  13. data/components/Button/Button.jsx +75 -0
  14. data/components/Card/Card.jsx +44 -0
  15. data/components/CircleButton/CircleButton.jsx +51 -0
  16. data/components/CircleButton/CircleButtonStory.jsx +25 -0
  17. data/components/CircleButton/styles.scss +33 -0
  18. data/components/CircleButton/styles.scss.flow +6 -0
  19. data/components/CollapsibleCard/CollapsibleCard.jsx +108 -0
  20. data/components/Color/Color.jsx +55 -0
  21. data/components/Color/styles.scss +6 -0
  22. data/components/Color/styles.scss.flow +5 -0
  23. data/components/ColorPickerInput/ColorPickerInput.jsx +99 -0
  24. data/components/ColorPickerInput/colorPickerInput.scss +10 -0
  25. data/components/ColorPickerInput/colorPickerInput.scss.flow +6 -0
  26. data/components/DOBInput/index.jsx +35 -0
  27. data/components/DOBInput/story.jsx +20 -0
  28. data/components/DOBInput/styles.scss +11 -0
  29. data/components/DOBInput/styles.scss.flow +7 -0
  30. data/components/DatePicker/DatePicker.jsx +156 -0
  31. data/components/DatePicker/styles.scss +6 -0
  32. data/components/DatePicker/styles.scss.flow +5 -0
  33. data/components/DateTimePicker/DateTimePicker.jsx +109 -0
  34. data/components/DateTimePicker/story-styles.scss +3 -0
  35. data/components/DateTimePicker/story-styles.scss.flow +5 -0
  36. data/components/DateTimePicker/styles.scss +1 -0
  37. data/components/DateTimePicker/styles.scss.flow +5 -0
  38. data/components/Errors/Errors.jsx +38 -0
  39. data/components/FileCard/FileCard.jsx +183 -0
  40. data/components/FileCard/styles.scss +81 -0
  41. data/components/FileCard/styles.scss.flow +12 -0
  42. data/components/Flip/Flip.jsx +50 -0
  43. data/components/Flip/styles.scss +41 -0
  44. data/components/Flip/styles.scss.flow +11 -0
  45. data/components/FlyoutPanel/FlyoutPanel.jsx +34 -0
  46. data/components/FlyoutPanel/flyout_panel.scss +33 -0
  47. data/components/FlyoutPanel/flyout_panel.scss.flow +11 -0
  48. data/components/Grade/Grade.jsx +55 -0
  49. data/components/Grade/grade.scss +39 -0
  50. data/components/Grade/grade.scss.flow +6 -0
  51. data/components/Highlight/Highlight.jsx +39 -0
  52. data/components/Highlight/styles.scss +24 -0
  53. data/components/Highlight/styles.scss.flow +17 -0
  54. data/components/Icon/Icon.jsx +54 -0
  55. data/components/IconToggle/IconToggle.jsx +56 -0
  56. data/components/Milestones/MilestoneItem.jsx +47 -0
  57. data/components/Milestones/Milestones.jsx +51 -0
  58. data/components/Milestones/milestones.scss +19 -0
  59. data/components/Milestones/milestones.scss.flow +7 -0
  60. data/components/Milestones/milestones_item.scss +157 -0
  61. data/components/Milestones/milestones_item.scss.flow +13 -0
  62. data/components/Milestones/milestones_variables.scss +11 -0
  63. data/components/MonogramAvatar/MonogramAvatar.jsx +91 -0
  64. data/components/MonogramAvatar/monogram_avatar.scss +54 -0
  65. data/components/MonogramAvatar/monogram_avatar.scss.flow +10 -0
  66. data/components/Panel/Panel.jsx +159 -0
  67. data/components/Panel/panel.scss +32 -0
  68. data/components/Panel/panel.scss.flow +12 -0
  69. data/components/PanelGroup/PanelGroup.jsx +121 -0
  70. data/components/PanelGroup/PanelGroup.scss +96 -0
  71. data/components/PanelGroup/PanelGroup.scss.flow +6 -0
  72. data/components/SearchCollectionSelect/SearchCollectionSelect.jsx +29 -0
  73. data/components/SearchCollectionSelect/searchCollectionSelect.scss +0 -0
  74. data/components/Spinner/Spinner.jsx +80 -0
  75. data/components/Spinner/spinner.scss +6 -0
  76. data/components/Spinner/spinner.scss.flow +5 -0
  77. data/components/StepMeter/StepMeter.jsx +75 -0
  78. data/components/StepMeter/step_meter.scss +120 -0
  79. data/components/StepMeter/step_meter.scss.flow +9 -0
  80. data/components/Survey/Survey.jsx +190 -0
  81. data/components/Survey/survey.scss +75 -0
  82. data/components/Survey/survey.scss.flow +11 -0
  83. data/components/Tab/Tab.jsx +70 -0
  84. data/components/Tab/tab.scss +25 -0
  85. data/components/Tab/tab.scss.flow +6 -0
  86. data/components/TabList/TabList.jsx +35 -0
  87. data/components/TabList/tabList.scss +5 -0
  88. data/components/TabList/tabList.scss.flow +5 -0
  89. data/components/Text/Text.jsx +53 -0
  90. data/components/Text/styles.scss +3 -0
  91. data/components/Text/styles.scss.flow +123 -0
  92. data/components/Text/text.scss +35 -0
  93. data/components/TextInput/TextInput.jsx +95 -0
  94. data/components/TextInput/form-control.scss +96 -0
  95. data/components/TextInput/styles.scss +3 -0
  96. data/components/TextInput/styles.scss.flow +7 -0
  97. data/components/TimePicker/TimePicker.jsx +218 -0
  98. data/components/TimePicker/styles.scss +1 -0
  99. data/components/TimePicker/styles.scss.flow +5 -0
  100. data/components/ToggleButton/ToggleButton.jsx +68 -0
  101. data/components/ToggleButton/toggleButton.scss +70 -0
  102. data/components/ToggleButton/toggleButton.scss.flow +14 -0
  103. data/components/UserStamp/UserStamp.jsx +40 -0
  104. data/components/UserStamp/styles.scss +6 -0
  105. data/components/UserStamp/styles.scss.flow +7 -0
  106. data/components/Wip/Wip.jsx +34 -0
  107. data/components/index.js +33 -0
  108. data/components/types.js +21 -0
  109. data/lib/nitro_sg/version.rb +1 -1
  110. metadata +108 -1
@@ -0,0 +1,33 @@
1
+ @import "base-mixins/_all.scss";
2
+ @import "base-variables/_all.scss";
3
+
4
+ .flyout-panel {
5
+ height: 100vh;
6
+ position: absolute;
7
+ top: 0;
8
+ z-index: 99999;
9
+ transition: all ease 0.5s;
10
+ background-color: $white;
11
+ border-left: 1px solid $gray-2;
12
+ box-shadow: $shadow-deep;
13
+
14
+ .scroll-inner-box {
15
+ height: 100%;
16
+ overflow: auto;
17
+ }
18
+
19
+ &.right {
20
+ right: -100%;
21
+ border-left: 1px solid $gray-2;
22
+ &.open {
23
+ right: 0;
24
+ }
25
+ }
26
+ &.left {
27
+ left: -100%;
28
+ border-right: 1px solid $gray-2;
29
+ &.open {
30
+ left: 0;
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,11 @@
1
+ // @flow
2
+ /* This file is automatically generated by css-modules-flow-types */
3
+ declare module.exports: {|
4
+ +'flyout-panel': string;
5
+ +'hidden-xxs': string;
6
+ +'left': string;
7
+ +'open': string;
8
+ +'right': string;
9
+ +'scroll-inner-box': string;
10
+ +'visible-xxs': string;
11
+ |};
@@ -0,0 +1,55 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import Icon from '../Icon/Icon'
5
+ import classnames from 'classnames'
6
+
7
+ import styles from './grade.scss'
8
+
9
+ type Props = {
10
+ className: string,
11
+ label: string,
12
+ grade: number,
13
+ starFullAt: number,
14
+ starEmptyAt: number,
15
+ }
16
+
17
+ const gradeToStarIconName = (grade: number, starFullAt: number, starEmptyAt: number): string => {
18
+ if (grade >= starFullAt) { return 'trophy-alt' }
19
+ if (grade <= starEmptyAt) { return 'star' }
20
+
21
+ return 'star-half'
22
+ }
23
+
24
+ class Grade extends React.Component<Props> {
25
+ static defaultProps = {
26
+ starFullAt: 10,
27
+ starEmptyAt: 0,
28
+ label: 'Grade'
29
+ }
30
+ props: Props
31
+
32
+ render() {
33
+ const { grade, label, starFullAt, starEmptyAt, className } = this.props
34
+ const classes = [
35
+ className,
36
+ styles.grade
37
+ ]
38
+
39
+ return (
40
+ <div className={classnames(classes)}>
41
+ <Icon
42
+ className={styles.star}
43
+ label=""
44
+ name={gradeToStarIconName(grade, starFullAt, starEmptyAt)}
45
+ />
46
+ <div>
47
+ <p>{grade}</p>
48
+ <label>{label}</label>
49
+ </div>
50
+ </div>
51
+ )
52
+ }
53
+ }
54
+
55
+ export default Grade
@@ -0,0 +1,39 @@
1
+ @import "base-variables/_colors.scss";
2
+ @import "base-variables/_spacing.sass";
3
+ @import "base-variables/_typography.sass";
4
+
5
+ .grade {
6
+ display: flex;
7
+ flex-direction: row;
8
+
9
+ .star {
10
+ font-size: $font-largest;
11
+ line-height: 36px;
12
+ margin-right: $space-base;
13
+ color: $ink-lighter;
14
+ }
15
+
16
+ div {
17
+ display: flex;
18
+ flex-direction: column;
19
+
20
+ p {
21
+ font-size: $font-large;
22
+ color: $ink-light;
23
+ font-weight: $bold;
24
+ margin: 0;
25
+ padding: 0;
26
+ line-height: $font-large + 2;
27
+ text-align: center;
28
+ }
29
+ label {
30
+ margin: 0;
31
+ padding: 0;
32
+ color: $ink-lightest;
33
+ text-transform: uppercase;
34
+ font-weight: $regular;
35
+ font-size: $font-smaller;
36
+ line-height: $font-smaller + 2;
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,6 @@
1
+ // @flow
2
+ /* This file is automatically generated by css-modules-flow-types */
3
+ declare module.exports: {|
4
+ +'grade': string;
5
+ +'star': string;
6
+ |};
@@ -0,0 +1,39 @@
1
+ /* @flow */
2
+ import styles from './styles.scss'
3
+ import React from 'react'
4
+ import classnames from 'classnames'
5
+
6
+ type Props = {
7
+
8
+ side: "top" | "bottom" | "left" | "right"| null,
9
+ color: "power-navy" | "power-navy-darker" | "power-red" | "power-gold" | "power-blue" | "power-green" | "power-royal",
10
+
11
+ }
12
+
13
+ export default class Highlight extends React.Component<Props> {
14
+ static defaultProps = {
15
+ side: "",
16
+ color: "",
17
+ }
18
+ props: Props
19
+ render() {
20
+ const {
21
+ side,
22
+ color,
23
+ } = this.props
24
+
25
+ const css = [
26
+ styles[`highlight-${side}`],
27
+ styles[`highlight-${color}`],
28
+ ]
29
+
30
+ return (
31
+ <div>
32
+ <span className={classnames(css,'well')} >{`I'm a ${side} highlight ${color}`}</span>
33
+ </div>
34
+
35
+
36
+
37
+ )
38
+ }
39
+ }
@@ -0,0 +1,24 @@
1
+ @import '../../sass-mixins/base-variables/colors';
2
+ @import '../../sass-mixins/base-mixins/all';
3
+ //highlight
4
+ $borderStyle: "solid";
5
+ $sides: "top" "right" "bottom" "left" ;
6
+ $borderWidth: 4px;
7
+
8
+ @mixin config-highlight-colors($prefix) {
9
+ @each $color in $power-colors {
10
+ .#{$prefix}-#{nth($color, 1)} {
11
+ border-color: #{nth($color,2)} !important;
12
+ }
13
+ }
14
+ }
15
+
16
+ @include config-highlight-colors("highlight");
17
+ @each $side in $sides {
18
+
19
+ .highlight-#{$side} {
20
+ border:0;
21
+ border-#{$side}-style: #{$borderStyle};
22
+ border-#{$side}-width: $borderWidth;
23
+ }
24
+ }
@@ -0,0 +1,17 @@
1
+ // @flow
2
+ /* This file is automatically generated by css-modules-flow-types */
3
+ declare module.exports: {|
4
+ +'hidden-xxs': string;
5
+ +'highlight-bottom': string;
6
+ +'highlight-left': string;
7
+ +'highlight-power-blue': string;
8
+ +'highlight-power-gold': string;
9
+ +'highlight-power-green': string;
10
+ +'highlight-power-navy': string;
11
+ +'highlight-power-navy-darker': string;
12
+ +'highlight-power-red': string;
13
+ +'highlight-power-royal': string;
14
+ +'highlight-right': string;
15
+ +'highlight-top': string;
16
+ +'visible-xxs': string;
17
+ |};
@@ -0,0 +1,54 @@
1
+ import React from "react"
2
+ import FontAwesome from "react-fontawesome"
3
+ import Text from '../Text/Text'
4
+
5
+ /**
6
+ * Icon renders a FontAwesome icon followed by a label.
7
+ *
8
+ * @param {string} name FontAwesome icon's name. For the icon 'fa-paperclip' for
9
+ * example, its name would be 'paperclip'.
10
+ * @param {string} label the text to use as a label.
11
+ * @param {string} size an optional FontAwesome icon size ('lg', '2x', '3x', etc).
12
+ * @param {func} onClick the function to be called when the React onClick event is triggered.
13
+ * @param {string} className class name is an option on the FontAwesome package that adds a class to the FontAwesome span.
14
+ * @param {string} title an optional title as a tooltip on mouse hover.
15
+ * @returns {ReactElement} JSX.
16
+ */
17
+
18
+ export default class Icon extends React.Component<Props> {
19
+ static defaultProps = {
20
+ label: "",
21
+ spin: false,
22
+ }
23
+ props: IconType
24
+ render() {
25
+ const {
26
+ name,
27
+ label,
28
+ size,
29
+ spin,
30
+ onClick,
31
+ className,
32
+ title
33
+ } = this.props
34
+ return (
35
+ <span
36
+ className="icon"
37
+ onClick={onClick}
38
+ title={title}
39
+ >
40
+ <FontAwesome
41
+ className={`far ${className}`}
42
+ name={name}
43
+ size={size}
44
+ spin={spin}
45
+ />
46
+ <If condition={label}>
47
+ <span className="ml-2" >
48
+ {label}
49
+ </span>
50
+ </If>
51
+ </span>
52
+ )
53
+ }
54
+ }
@@ -0,0 +1,56 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import Icon from '../Icon/Icon'
5
+
6
+
7
+ type Props = {
8
+ children?: Array<React.Node>,
9
+ className?: string,
10
+ iconOption1?:string,
11
+ iconOption2?:string,
12
+ size:string,
13
+ color:string,
14
+ }
15
+
16
+ export default class IconToggle extends React.Component<Props> {
17
+
18
+ static defaultProps = {
19
+ color: "text-sky",
20
+ className: "icon-toggle",
21
+ iconOption1:"minus-circle",
22
+ iconOption2:"plus-circle",
23
+ size:"text-larger",
24
+ }
25
+
26
+ props: Props
27
+
28
+ render() {
29
+ const{
30
+ className,
31
+ iconOption1,
32
+ iconOption2,
33
+ color,
34
+ size,
35
+ } = this.props
36
+
37
+
38
+ return (
39
+ <div>
40
+ <label className={`icon-toggle ${size} m-0`}>
41
+ <input className=""
42
+ type="checkbox"
43
+ />
44
+ <Icon className={`${className,color}`}
45
+ name={iconOption1}
46
+ title={`icon-1`}
47
+ />
48
+ <Icon className={`ml-4 ${className,color}`}
49
+ name={iconOption2}
50
+ title={`icon-2`}
51
+ />
52
+ </label>
53
+ </div>
54
+ )
55
+ }
56
+ }
@@ -0,0 +1,47 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import classnames from 'classnames'
5
+ import Icon from '../Icon/Icon'
6
+
7
+ import styles from './milestones_item.scss'
8
+
9
+ type Props = {
10
+ className: string,
11
+ name: string,
12
+ status: string,
13
+ background: string,
14
+ }
15
+
16
+
17
+ const statusToIconName = (status: string): string => {
18
+ if (status == 'done') { return 'check' }
19
+ if (status == 'started') { return 'dot-circle' }
20
+ return 'dot-circle'
21
+ }
22
+
23
+ export default class MilestoneItem extends React.Component<Props> {
24
+ static defaultProps = {
25
+ className: "",
26
+ background: "light"
27
+ }
28
+ props: Props
29
+ render() {
30
+ const {
31
+ className,
32
+ name,
33
+ status,
34
+ background,
35
+ } = this.props
36
+ const css = [
37
+ className,
38
+ styles[`milestone-item`],
39
+ styles[`background-${background}`],
40
+ styles[`status-${status}`],
41
+ ]
42
+ return <li className={classnames(css)}>
43
+ <Icon name={statusToIconName(status)} className={styles[`icon`]}/>
44
+ <span className={styles[`milestone-item-label`]}>{name}</span>
45
+ </li>
46
+ }
47
+ }
@@ -0,0 +1,51 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import classnames from 'classnames'
5
+
6
+ import MilestoneItem from './MilestoneItem'
7
+ import styles from './milestones.scss'
8
+
9
+ type Props = {
10
+ background: string,
11
+ className: string,
12
+ steps: any,
13
+ }
14
+
15
+ export default class Milestones extends React.Component<Props> {
16
+ static defaultProps = {
17
+ className: "",
18
+ background: "light"
19
+ }
20
+ props: Props
21
+
22
+ render() {
23
+ const {
24
+ background,
25
+ className,
26
+ steps,
27
+ } = this.props
28
+ const css = [
29
+ className,
30
+ styles[`milestones`],
31
+ ]
32
+ return (
33
+ <span className={classnames(css)}>
34
+ <ul>
35
+ {
36
+ [...steps].map((item, index) => {
37
+ return (
38
+ <MilestoneItem
39
+ background={background}
40
+ key={index}
41
+ name={item.name}
42
+ status={item.status}
43
+ />
44
+ )
45
+ })
46
+ }
47
+ </ul>
48
+ </span>
49
+ )
50
+ }
51
+ }