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
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
+ }