nitro_sg 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e79466193f526688fdd762167de1c721c516494aa5cbb3186af49029ec5005e6
4
- data.tar.gz: 27f33998899cc1da38cbee6bd5929e43a671be6ebfa58df7a99c1675a2cb3db8
3
+ metadata.gz: 9db9a64a882dffe04b0dd364d646645e23b74855b98f451b05958bcb47d1035d
4
+ data.tar.gz: e1181e836210837b839cbd495d7be81909ee738777e56c27e38ae2702c5c361b
5
5
  SHA512:
6
- metadata.gz: ed5421acd09fa6802b6f2fdaac6e6e419017939b4119c0700ba5d83b3d737f7544ea3cf258368a70aa70a8f46c21d1e2c13f43bcc3f7b80e210e1170970fbab7
7
- data.tar.gz: 701e7d961454f629f9619f75f186cdce382557be07b5bde56721f70a2557eb0ae9f014ba497818640970ad463dff2a59de040b862ee64bbcbe1f1719c34745d0
6
+ metadata.gz: 2888c40402d84b7e590c9ccbf1487f2994f74cb106e65956d94d169153ee1f729d637291344ab1657cac4b95a19450f56d14acaf9fb62cb0b9512ad1ef147dec
7
+ data.tar.gz: c6328274a6f7081c518763581b9baec3367c2301e9f6d8ecfa6f0fb3c82016b2fce13e763fc33b0ac6b34d79885ac5e9a32d5d77ac2b098a9e3685361bc36dfe
@@ -0,0 +1,96 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import classnames from 'classnames/bind'
5
+
6
+ import {OverlayTrigger, Popover} from 'react-bootstrap'
7
+
8
+ import styles from './styles.scss'
9
+
10
+ export type AvatarSize = "smaller" | "small" | "base" | "large" | "larger"
11
+
12
+ type Props = {
13
+ alt: string,
14
+ disableLink: boolean,
15
+ showPopover: boolean,
16
+ size: "smaller" | "small" | "base" | "large" | "larger",
17
+ thumb: string,
18
+ url: string,
19
+ onError: () => void,
20
+ }
21
+
22
+ /**
23
+ * Avatar renders a user avatar thumbnail image. Upon click, it opens the orinal
24
+ * image on a new tab.
25
+ *
26
+ * @param {string} alt the text to display when hovering over the image.
27
+ * @param {bool} disableLink whether to disable the anchor link
28
+ * @param {bool} showPopover whether to show the popover image on hover
29
+ * @param {string} size the pre-defined avatar size.
30
+ * @param {string} thumb the avatar thumbnail image URL.
31
+ * @param {string} url the avatar original image URL.
32
+ * @returns {ReactElement} JSX.
33
+ */
34
+ export default class Avatar extends React.Component<Props> {
35
+ static defaultProps = {
36
+ alt: 'Avatar Image',
37
+ size: 'base',
38
+ showPopover: true,
39
+ }
40
+ props: Props
41
+ render() {
42
+ const {
43
+ alt,
44
+ disableLink,
45
+ showPopover,
46
+ size,
47
+ thumb,
48
+ url,
49
+ onError,
50
+ } = this.props
51
+ const imgCSS = [
52
+ "avatar",
53
+ styles[`avatar-${size}`],
54
+ ]
55
+ const popover = (
56
+ <Popover>
57
+ <img
58
+ className={classnames(imgCSS)}
59
+ src={url}
60
+ />
61
+ </Popover>
62
+ )
63
+ const image = (
64
+ <img alt={alt}
65
+ className={classnames(imgCSS, styles[`avatar-${size}-thumb`])}
66
+ onError={onError}
67
+ src={thumb}
68
+ />
69
+ )
70
+ const imgThumb = (
71
+ <If condition={disableLink}>
72
+ {image}
73
+ <Else/>
74
+ <a href={disableLink ? "javascript:void(0)" : url}
75
+ style={{maxHeight: 56}}
76
+ target="_blank"
77
+ >
78
+ {image}
79
+ </a>
80
+ </If>
81
+ )
82
+ if(showPopover) {
83
+ return (
84
+ <OverlayTrigger
85
+ overlay={popover}
86
+ placement="right"
87
+ trigger={['hover']}
88
+ >
89
+ {imgThumb}
90
+ </OverlayTrigger>
91
+ )
92
+ } else {
93
+ return imgThumb
94
+ }
95
+ }
96
+ }
@@ -0,0 +1,54 @@
1
+ // @import "base-variables/_spacing.sass";
2
+
3
+ .avatar {
4
+ &-smaller {
5
+ width: 90px;
6
+ height: 90px;
7
+ object-fit: cover;
8
+ &-thumb {
9
+ width: 30px;
10
+ height: 30px;
11
+ object-fit: cover;
12
+ }
13
+ }
14
+ &-small {
15
+ width: 140px;
16
+ height: 140px;
17
+ object-fit: cover;
18
+ &-thumb {
19
+ width: 60px;
20
+ height: 60px;
21
+ object-fit: cover;
22
+ }
23
+ }
24
+ &-base {
25
+ width: 200px;
26
+ height: 200px;
27
+ object-fit: cover;
28
+ &-thumb {
29
+ width: 90px;
30
+ height: 90px;
31
+ object-fit: cover;
32
+ }
33
+ }
34
+ &-large {
35
+ width: 270px;
36
+ height: 270px;
37
+ object-fit: cover;
38
+ &-thumb {
39
+ width: 115px;
40
+ height: 115px;
41
+ object-fit: cover;
42
+ }
43
+ }
44
+ &-larger {
45
+ width: 420px;
46
+ height: 420px;
47
+ object-fit: cover;
48
+ &-thumb {
49
+ width: 197px;
50
+ height: 197px;
51
+ object-fit: cover;
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,14 @@
1
+ // @flow
2
+ /* This file is automatically generated by css-modules-flow-types */
3
+ declare module.exports: {|
4
+ +'avatar-base': string;
5
+ +'avatar-base-thumb': string;
6
+ +'avatar-large': string;
7
+ +'avatar-large-thumb': string;
8
+ +'avatar-larger': string;
9
+ +'avatar-larger-thumb': string;
10
+ +'avatar-small': string;
11
+ +'avatar-small-thumb': string;
12
+ +'avatar-smaller': string;
13
+ +'avatar-smaller-thumb': string;
14
+ |};
@@ -0,0 +1,40 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import classnames from 'classnames'
5
+
6
+ import styles from './styles.scss'
7
+
8
+ type Props = {
9
+ children?: Array<React.Node>,
10
+ style: "primary" | "default" | "success" | "danger" | "warning" | "info" | "inverse",
11
+ className: string,
12
+ }
13
+
14
+ export default class Badge extends React.Component<Props> {
15
+ static defaultProps = {
16
+ children: <span>{`UR Special`}</span>,
17
+ style: "default",
18
+ className: "",
19
+ }
20
+ props: Props
21
+ render() {
22
+ const {
23
+ children,
24
+ className,
25
+ style,
26
+ } = this.props
27
+ const css = [
28
+ className,
29
+ styles.badge,
30
+ styles[`badge-${style}`],
31
+ ]
32
+ return (
33
+ <span
34
+ className={classnames(css)}
35
+ >
36
+ {children}
37
+ </span>
38
+ )
39
+ }
40
+ }
@@ -0,0 +1,167 @@
1
+ //== badges
2
+ //
3
+ //##
4
+
5
+ //** Default badge background color
6
+ $badge-default-bg: $gray-light !default;
7
+ //** Primary badge background color
8
+ $badge-primary-bg: $brand-primary !default;
9
+ //** Success badge background color
10
+ $badge-success-bg: $brand-success !default;
11
+ //** Info badge background color
12
+ $badge-info-bg: $brand-info !default;
13
+ //** Warning badge background color
14
+ $badge-warning-bg: $brand-warning !default;
15
+ //** Danger badge background color
16
+ $badge-danger-bg: $brand-danger !default;
17
+
18
+ //** Default badge text color
19
+ $badge-color: #fff !default;
20
+ //** Default text color of a linked badge
21
+ $badge-link-hover-color: #fff !default;
22
+
23
+
24
+
25
+
26
+
27
+
28
+ // badges
29
+
30
+ @mixin badge-variant($color) {
31
+ background-color: $color;
32
+ @include text-color($color, $more_contrast: true);
33
+ @if $color == $white {
34
+ border: 1px solid $border-color;
35
+ }
36
+
37
+ &[href] {
38
+ &:hover,
39
+ &:focus {
40
+ background-color: darken($color, 10%);
41
+ }
42
+ }
43
+ }
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+ //
52
+ // badges
53
+ // --------------------------------------------------
54
+
55
+
56
+
57
+ .badge, .pill {
58
+ display: inline;
59
+ padding: .15em .8em;
60
+ font-size: 75%;
61
+ font-weight: $bold;
62
+ @include smooth-font;
63
+ line-height: 1;
64
+ color: $badge-color;
65
+ background: $badge-default-bg;
66
+ text-align: center;
67
+ white-space: nowrap;
68
+ vertical-align: baseline;
69
+ border-radius: .25em;
70
+ border: 1px solid transparent;
71
+
72
+ table & {
73
+ font-size: $font-smaller;
74
+ }
75
+
76
+ // [converter] extracted a& to a.badge
77
+
78
+ // Empty badges collapse automatically (not available in IE8)
79
+ &:empty {
80
+ display: none;
81
+ }
82
+
83
+ // Quick fix for badges in buttons
84
+ .btn & {
85
+ position: relative;
86
+ top: -1px;
87
+ }
88
+ // Empty badges collapse automatically (not available in IE8)
89
+ &:empty {
90
+ display: none;
91
+ }
92
+
93
+ // Quick fix for badges in buttons
94
+ .btn & {
95
+ position: relative;
96
+ top: -1px;
97
+ }
98
+
99
+ .btn-xs &,
100
+ .btn-group-xs > .btn & {
101
+ top: 0;
102
+ padding: 1px 5px;
103
+ }
104
+
105
+ // [converter] extracted a& to a.badge
106
+
107
+ // Account for badges in navs
108
+ .list-group-item.active > &,
109
+ .nav-pills > .active > a > & {
110
+ color: $white;
111
+ background-color: $black-opacity-4;
112
+ }
113
+
114
+ .list-group-item > & {
115
+ float: right;
116
+ }
117
+
118
+ .list-group-item > & + & {
119
+ margin-right: 5px;
120
+ }
121
+
122
+ .nav-pills > li > a > & {
123
+ margin-left: 3px;
124
+ }
125
+
126
+
127
+ // Colors
128
+ // Contextual variations (linked badges get darker on :hover)
129
+
130
+ &-default {
131
+ @include badge-variant($white);
132
+ }
133
+ &-primary {
134
+ @include badge-variant($power-royal);
135
+ }
136
+ &-success {
137
+ @include badge-variant($power-green);
138
+ }
139
+ &-info {
140
+ @include badge-variant($medium-teal);
141
+ }
142
+ &-warning, &-bitter {
143
+ @include badge-variant($dark-orange);
144
+ }
145
+ &-danger {
146
+ @include badge-variant($power-red);
147
+ }
148
+ &-inverse {
149
+ @include badge-variant($ink);
150
+ }
151
+
152
+ }
153
+
154
+ .pill {
155
+ border-radius: $border-rad-mega;
156
+ line-height: 1.6em;
157
+ }
158
+
159
+ // Add hover effects, but only for links
160
+ a.badge, a.pill {
161
+ &:hover,
162
+ &:focus {
163
+ color: $badge-link-hover-color;
164
+ text-decoration: none;
165
+ cursor: pointer;
166
+ }
167
+ }
@@ -0,0 +1,121 @@
1
+ //== Labels
2
+ //
3
+ //##
4
+
5
+ //** Default label background color
6
+ $label-default-bg: $gray-light !default;
7
+ //** Primary label background color
8
+ $label-primary-bg: $brand-primary !default;
9
+ //** Success label background color
10
+ $label-success-bg: $brand-success !default;
11
+ //** Info label background color
12
+ $label-info-bg: $brand-info !default;
13
+ //** Warning label background color
14
+ $label-warning-bg: $brand-warning !default;
15
+ //** Danger label background color
16
+ $label-danger-bg: $brand-danger !default;
17
+
18
+ //** Default label text color
19
+ $label-color: #fff !default;
20
+ //** Default text color of a linked label
21
+ $label-link-hover-color: #fff !default;
22
+
23
+
24
+
25
+
26
+
27
+
28
+ // Labels
29
+
30
+ @mixin label-variant($color) {
31
+ background-color: $color;
32
+ @include text-color($color);
33
+ @if $color == $white {
34
+ border: 1px solid $border-color;
35
+ }
36
+
37
+ &[href] {
38
+ &:hover,
39
+ &:focus {
40
+ background-color: darken($color, 10%);
41
+ }
42
+ }
43
+ }
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+ //
52
+ // Labels
53
+ // --------------------------------------------------
54
+
55
+ .label {
56
+ display: inline;
57
+ padding: .15em .8em;
58
+ font-size: 75%;
59
+ font-weight: $bold;
60
+ @include smooth-font;
61
+ line-height: 1;
62
+ color: $label-color;
63
+ background: $label-default-bg;
64
+ text-align: center;
65
+ white-space: nowrap;
66
+ vertical-align: baseline;
67
+ border-radius: .25em;
68
+
69
+ table & {
70
+ @include smooth-font-off;
71
+ }
72
+
73
+
74
+ // Colors
75
+ // Contextual variations (linked badges get darker on :hover)
76
+
77
+ &-default {
78
+ @include label-variant($white);
79
+ }
80
+ &-primary {
81
+ @include label-variant($power-royal);
82
+ }
83
+ &-success {
84
+ @include label-variant($power-green);
85
+ }
86
+ &-info {
87
+ @include label-variant($medium-teal);
88
+ }
89
+ &-warning {
90
+ @include label-variant($dark-orange);
91
+ }
92
+ &-danger {
93
+ @include label-variant($power-red);
94
+ }
95
+ &-inverse {
96
+ @include label-variant($ink);
97
+ }
98
+
99
+
100
+
101
+ // Empty labels collapse automatically (not available in IE8)
102
+ &:empty {
103
+ display: none;
104
+ }
105
+
106
+ // Quick fix for labels in buttons
107
+ .btn & {
108
+ position: relative;
109
+ top: -1px;
110
+ }
111
+ }
112
+
113
+ // Add hover effects, but only for links
114
+ a.label {
115
+ &:hover,
116
+ &:focus {
117
+ color: $label-link-hover-color;
118
+ text-decoration: none;
119
+ cursor: pointer;
120
+ }
121
+ }