playbook_ui 5.2.0.pre.alpha3 → 5.3.0.pre.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -0
  3. data/app/assets/images/clark.jpg +0 -0
  4. data/app/assets/images/giant.jpg +0 -0
  5. data/app/assets/images/pb-caret.svg +1 -0
  6. data/app/assets/images/pb-check.svg +11 -0
  7. data/app/assets/images/pb.logo.svg +28 -0
  8. data/app/controllers/playbook/application_controller.rb +13 -0
  9. data/app/controllers/playbook/guides_controller.rb +11 -0
  10. data/app/controllers/playbook/pages_controller.rb +79 -0
  11. data/app/controllers/playbook/samples_controller.rb +40 -0
  12. data/app/pb_kits/playbook/_playbook.scss +1 -0
  13. data/app/pb_kits/playbook/data/menu.yml +4 -2
  14. data/app/pb_kits/playbook/index.js +1 -4
  15. data/app/pb_kits/playbook/packs/application.js +55 -0
  16. data/app/pb_kits/playbook/packs/examples.js +176 -0
  17. data/app/pb_kits/playbook/packs/main.scss +12 -0
  18. data/app/pb_kits/playbook/packs/samples.js +19 -0
  19. data/app/pb_kits/playbook/packs/site_styles/_samples.scss +72 -0
  20. data/app/pb_kits/playbook/packs/site_styles/_scaffold.scss +43 -0
  21. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +135 -0
  22. data/app/pb_kits/playbook/packs/site_styles/docs/_all.scss +10 -0
  23. data/app/pb_kits/playbook/packs/site_styles/docs/_bg_light_doc_example.scss +7 -0
  24. data/app/pb_kits/playbook/packs/site_styles/docs/_code_snippet.scss +531 -0
  25. data/app/pb_kits/playbook/packs/site_styles/docs/_color_utilities.scss +92 -0
  26. data/app/pb_kits/playbook/packs/site_styles/docs/_flex_examples.scss +15 -0
  27. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +190 -0
  28. data/app/pb_kits/playbook/packs/site_styles/docs/_kits_examples.scss +18 -0
  29. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +82 -0
  30. data/app/pb_kits/playbook/packs/site_styles/docs/_spacing_tokens.scss +72 -0
  31. data/app/pb_kits/playbook/pb_badge/_badge.html.erb +1 -0
  32. data/app/pb_kits/playbook/pb_badge/_badge.jsx +17 -4
  33. data/app/pb_kits/playbook/pb_card/_card.jsx +4 -1
  34. data/app/pb_kits/playbook/pb_card/_card.scss +4 -0
  35. data/app/pb_kits/playbook/pb_card/card.rb +8 -1
  36. data/app/pb_kits/playbook/pb_card/docs/_card_border_none.html.erb +7 -0
  37. data/app/pb_kits/playbook/pb_card/docs/_card_border_none.jsx +14 -0
  38. data/app/pb_kits/playbook/pb_card/docs/_card_border_none.md +1 -0
  39. data/app/pb_kits/playbook/pb_card/docs/example.yml +2 -0
  40. data/app/pb_kits/playbook/pb_card/docs/index.js +1 -0
  41. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +26 -0
  42. data/app/pb_kits/playbook/pb_filter/docs/_description.md +3 -0
  43. data/app/pb_kits/playbook/pb_filter/templates/_default.html.erb +1 -1
  44. data/app/pb_kits/playbook/pb_gauge/_gauge.html.erb +12 -0
  45. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +105 -0
  46. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +11 -0
  47. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.html.erb +11 -0
  48. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +17 -0
  49. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.html.erb +14 -0
  50. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +20 -0
  51. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.html.erb +15 -0
  52. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +23 -0
  53. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +25 -0
  54. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.html.erb +21 -0
  55. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +26 -0
  56. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +33 -0
  57. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +42 -0
  58. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.html.erb +14 -0
  59. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +20 -0
  60. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.html.erb +29 -0
  61. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +29 -0
  62. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +22 -0
  63. data/app/pb_kits/playbook/pb_gauge/docs/index.js +8 -0
  64. data/app/pb_kits/playbook/pb_gauge/gauge.rb +55 -0
  65. data/app/pb_kits/playbook/pb_layout/_footer.html.erb +6 -0
  66. data/app/pb_kits/playbook/pb_layout/_header.html.erb +6 -0
  67. data/app/pb_kits/playbook/pb_layout/_layout.jsx +33 -1
  68. data/app/pb_kits/playbook/pb_layout/_layout.scss +48 -3
  69. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection_detail.html.erb +19 -0
  70. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection_detail.jsx +54 -0
  71. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection_detail.md +1 -0
  72. data/app/pb_kits/playbook/pb_layout/docs/_layout_content.html.erb +28 -0
  73. data/app/pb_kits/playbook/pb_layout/docs/_layout_content.jsx +42 -0
  74. data/app/pb_kits/playbook/pb_layout/docs/example.yml +6 -0
  75. data/app/pb_kits/playbook/pb_layout/docs/index.js +3 -0
  76. data/app/pb_kits/playbook/pb_layout/footer.rb +19 -0
  77. data/app/pb_kits/playbook/pb_layout/header.rb +19 -0
  78. data/app/pb_kits/playbook/pb_layout/layout.rb +9 -4
  79. data/app/pb_kits/playbook/pb_popover/_popover.html.erb +2 -2
  80. data/app/pb_kits/playbook/pb_popover/_popover.jsx +3 -3
  81. data/app/pb_kits/playbook/pb_popover/_popover.scss +25 -21
  82. data/app/pb_kits/playbook/pb_popover/index.js +6 -1
  83. data/app/pb_kits/playbook/pb_radio/_radio.scss +4 -0
  84. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb +1 -1
  85. data/app/pb_kits/playbook/plugins/pb_chart.js +71 -0
  86. data/app/views/layouts/playbook/_mobile_hamburger.html.erb +2 -0
  87. data/app/views/layouts/playbook/_nav.html.erb +13 -0
  88. data/app/views/layouts/playbook/_sidebar.html.erb +52 -0
  89. data/app/views/layouts/playbook/application.html.slim +22 -0
  90. data/app/views/layouts/playbook/fullscreen.html.slim +10 -0
  91. data/app/views/layouts/playbook/grid.html.slim +10 -0
  92. data/app/views/layouts/playbook/samples.html.erb +18 -0
  93. data/app/views/playbook/guides/create_kit.html.slim +16 -0
  94. data/app/views/playbook/guides/create_kit/_file_naming.html.md +2 -0
  95. data/app/views/playbook/guides/create_kit/_generator.html.md +6 -0
  96. data/app/views/playbook/guides/create_kit/_kit_examples.html.md +2 -0
  97. data/app/views/playbook/guides/create_kit/_kit_rails.html.md +2 -0
  98. data/app/views/playbook/guides/create_kit/_kit_react.html.md +2 -0
  99. data/app/views/playbook/guides/create_kit/_layout.html.md +2 -0
  100. data/app/views/playbook/guides/create_kit/_view_objects.html.md +2 -0
  101. data/app/views/playbook/guides/create_kit/_writing_sass.md +10 -0
  102. data/app/views/playbook/guides/use_nitro.html.slim +6 -0
  103. data/app/views/playbook/guides/use_nitro/_local.html.md +2 -0
  104. data/app/views/playbook/guides/use_nitro/_nitro_components.html.md +2 -0
  105. data/app/views/playbook/guides/use_nitro/_versions.html.md +2 -0
  106. data/app/views/playbook/pages/fullscreen.html.slim +10 -0
  107. data/app/views/playbook/pages/grid.html.slim +2 -0
  108. data/app/views/playbook/pages/home.html.slim +4 -0
  109. data/app/views/playbook/pages/kit_category_show.html.erb +14 -0
  110. data/app/views/playbook/pages/kit_show.html.erb +33 -0
  111. data/app/views/playbook/pages/kits.html.erb +12 -0
  112. data/app/views/playbook/pages/principals/_getting_started.html.md +30 -0
  113. data/app/views/playbook/pages/principles.html.slim +3 -0
  114. data/app/views/playbook/pages/tokens.html.slim +15 -0
  115. data/app/views/playbook/pages/tokens/_pb_doc_spacing.html.slim +17 -0
  116. data/app/views/playbook/pages/utilities.html.slim +116 -0
  117. data/app/views/playbook/pages/utilities/_pb_doc_color.html.slim +15 -0
  118. data/app/views/playbook/samples/dashboards/index.html.erb +81 -0
  119. data/app/views/playbook/samples/dashboards/index.jsx +130 -0
  120. data/app/views/playbook/samples/filter_table/index.html.erb +348 -0
  121. data/app/views/playbook/samples/filter_table/index.jsx +433 -0
  122. data/app/views/playbook/samples/registration/index.html.erb +316 -0
  123. data/app/views/playbook/samples/registration/index.jsx +476 -0
  124. data/app/views/playbook/samples/sample_show.html.erb +36 -0
  125. data/lib/playbook/version.rb +1 -1
  126. data/lib/tasks/pb_release.rake +0 -3
  127. metadata +100 -3
  128. data/app/pb_kits/playbook/tokens/index.scss +0 -12
@@ -1,4 +1,5 @@
1
1
  <%= content_tag(:div,
2
+ aria: object.aria,
2
3
  id: object.id,
3
4
  data: object.data,
4
5
  class: object.classname) do %>
@@ -2,26 +2,37 @@
2
2
 
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
- import { buildCss } from '../utilities/props'
6
5
  import { spacing } from '../utilities/spacing.js'
7
6
 
7
+ import {
8
+ buildAriaProps,
9
+ buildCss,
10
+ buildDataProps,
11
+ } from '../utilities/props'
12
+
8
13
  type BadgeProps = {
14
+ aria?: object,
9
15
  className?: String,
10
16
  dark?: Boolean,
17
+ data?: object,
11
18
  id?: String,
12
- text?: String,
13
- variant?: "success" | "warning" | "error" | "info" | "neutral",
14
19
  rounded?: Boolean,
20
+ text?: String,
21
+ variant?: "error" | "info" | "neutral" | "primary" | "success" | "warning",
15
22
  }
16
23
  const Badge = (props: BadgeProps) => {
17
24
  const {
25
+ aria = {},
18
26
  className,
19
27
  dark = false,
28
+ data = {},
20
29
  id,
30
+ rounded = false,
21
31
  text,
22
32
  variant = 'neutral',
23
- rounded = false,
24
33
  } = props
34
+ const ariaProps = buildAriaProps(aria)
35
+ const dataProps = buildDataProps(data)
25
36
  const css = classnames(
26
37
  className,
27
38
  buildCss('pb_badge_kit', variant, {
@@ -33,6 +44,8 @@ const Badge = (props: BadgeProps) => {
33
44
 
34
45
  return (
35
46
  <div
47
+ {...ariaProps}
48
+ {...dataProps}
36
49
  className={css}
37
50
  id={id}
38
51
  >
@@ -16,6 +16,7 @@ type CardPropTypes = {
16
16
  selected?: Boolean,
17
17
  shadow?: "none" | "deep" | "deeper" | "deepest",
18
18
  dark?: Boolean,
19
+ borderNone?: Boolean,
19
20
  }
20
21
 
21
22
  type CardHeaderProps = {
@@ -62,9 +63,11 @@ const Card = (props: CardPropTypes) => {
62
63
  highlight = {},
63
64
  selected = false,
64
65
  shadow = 'none',
66
+ borderNone = false,
65
67
  } = props
66
68
  const bodyCSS = buildCss('pb_card_body_kit')
67
- const cardCss = buildCss('pb_card_kit', `shadow_${shadow}`, {
69
+ const borderCSS = borderNone == true ? 'border_none' : ''
70
+ const cardCss = buildCss('pb_card_kit', `shadow_${shadow}`, `${borderCSS}`, {
68
71
  dark: dark,
69
72
  selected,
70
73
  deselected: !selected,
@@ -16,6 +16,10 @@
16
16
  }
17
17
  }
18
18
 
19
+ &[class*=_border_none] {
20
+ border-width: 0px;
21
+ }
22
+
19
23
  [class^=pb_card_header_kit] {
20
24
  flex-grow: 0;
21
25
  flex-shrink: 0;
@@ -15,6 +15,8 @@ module Playbook
15
15
  default: {}
16
16
  prop :dark, type: Playbook::Props::Boolean,
17
17
  default: false
18
+ prop :border_none, type: Playbook::Props::Boolean,
19
+ default: false
18
20
 
19
21
  def classname
20
22
  generate_classname("pb_card_kit",
@@ -22,7 +24,8 @@ module Playbook
22
24
  shadow_class,
23
25
  highlight_position_class,
24
26
  highlight_color_class,
25
- dark_class)
27
+ dark_class,
28
+ border_class)
26
29
  end
27
30
 
28
31
  def body_padding
@@ -55,6 +58,10 @@ module Playbook
55
58
  def dark_class
56
59
  dark ? "dark" : nil
57
60
  end
61
+
62
+ def border_class
63
+ border_none == true ? "border_none" : nil
64
+ end
58
65
  end
59
66
  end
60
67
  end
@@ -0,0 +1,7 @@
1
+ <div class="bg-light-doc-example">
2
+
3
+ <%= pb_rails("card", props: { border_none: true }) do %>
4
+ Card content
5
+ <% end %>
6
+
7
+ </div>
@@ -0,0 +1,14 @@
1
+ import React from 'react'
2
+ import Card from '../_card.jsx'
3
+
4
+ const CardBorderNone = () => {
5
+ return (
6
+ <div className="bg-light-doc-example">
7
+
8
+ <Card borderNone>{'Card content'}</Card>
9
+
10
+ </div>
11
+ )
12
+ }
13
+
14
+ export default CardBorderNone
@@ -0,0 +1 @@
1
+ Remove card border <b>only</b> for dashboard cards.
@@ -9,6 +9,7 @@ examples:
9
9
  - card_shadow: Shadow Size
10
10
  - card_content: Content Size
11
11
  - card_separator: Separator Card
12
+ - card_border_none: No Border
12
13
  react:
13
14
  - card_light: Default
14
15
  - card_dark: Dark Cards
@@ -19,3 +20,4 @@ examples:
19
20
  - card_shadow: Shadow Size
20
21
  - card_content: Content Size
21
22
  - card_separator: Separator Card
23
+ - card_border_none: No Border
@@ -7,3 +7,4 @@ export { default as CardShadow } from './_card_shadow.jsx'
7
7
  export { default as CardContent } from './_card_content.jsx'
8
8
  export { default as CardSeparator } from './_card_separator.jsx'
9
9
  export { default as CardDark } from './_card_dark.jsx'
10
+ export { default as CardBorderNone } from './_card_border_none.jsx'
@@ -124,6 +124,13 @@ const highchartsTheme = {
124
124
  fontSize: typography.text_smaller,
125
125
  },
126
126
  },
127
+ // specific to gauge
128
+ // unfilled gauge color
129
+ pane: {
130
+ background: {
131
+ borderColor: colors.border_light,
132
+ },
133
+ },
127
134
 
128
135
  plotOptions: {
129
136
  series: {
@@ -144,6 +151,25 @@ const highchartsTheme = {
144
151
  threshold: null,
145
152
  },
146
153
 
154
+ // GAUGE STYLES
155
+ solidgauge: {
156
+ borderColor: colors.primary,
157
+ borderWidth: 20,
158
+ radius: 90,
159
+ innerRadius: '90%',
160
+ dataLabels: {
161
+ borderWidth: 0,
162
+ color: colors.text_lt_default,
163
+ enabled: true,
164
+ style: {
165
+ fontFamily: typography.font_family_base,
166
+ fontWeight: typography.regular,
167
+ fontSize: typography.heading_2,
168
+ },
169
+ y: -26,
170
+ },
171
+ },
172
+
147
173
  // PIE STYLES
148
174
  pie: {
149
175
  colors: [
@@ -0,0 +1,3 @@
1
+ **Note**
2
+ This kit can be implemented in a variety of ways.
3
+ To see examples of how to implement this kit in production visit the **/dev_docs/search** page in production.
@@ -7,7 +7,7 @@
7
7
  <% end %>
8
8
 
9
9
  <% if object.template != "sort_only"%>
10
- <%= pb_rails("popover", props: {close_on_click: "outside", trigger_element_id: "filter#{object.id}", tooltip_id: "filter-form#{object.id}", position: 'bottom', padding: 'none'}) do %>
10
+ <%= pb_rails("popover", props: {close_on_click: "outside", trigger_element_id: "filter#{object.id}", tooltip_id: "filter-form#{object.id}", position: 'bottom'}) do %>
11
11
  <%= capture(&object.children) %>
12
12
  <% end %>
13
13
  <%end%>
@@ -0,0 +1,12 @@
1
+ <%= content_tag(:div, "",
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname) %>
5
+ <% content_for :pb_js do %>
6
+ <%= javascript_tag do %>
7
+ window.addEventListener('DOMContentLoaded', function() {
8
+ new pbChart('.selector', <%= object.chart_options %>)
9
+ })
10
+ <% end %>
11
+ <% end %>
12
+
@@ -0,0 +1,105 @@
1
+ /* @flow */
2
+
3
+ import React, { useEffect, useRef } from 'react'
4
+ import { pbChart } from '../'
5
+ import { spacing } from '../utilities/spacing.js'
6
+ import classnames from 'classnames'
7
+ import Highcharts from 'highcharts'
8
+
9
+ import {
10
+ buildAriaProps,
11
+ buildCss,
12
+ buildDataProps,
13
+ } from '../utilities/props'
14
+
15
+ type GaugeProps = {
16
+ aria: Object,
17
+ className?: String,
18
+ chartData?: Array,
19
+ data?: Object,
20
+ fullCircle: Boolean,
21
+ height: String,
22
+ id?: String,
23
+ max: Number,
24
+ min: Number,
25
+ prefix: String,
26
+ showLabels: Boolean,
27
+ style: String,
28
+ suffix: String,
29
+ title: String,
30
+ tooltipHtml: String,
31
+ }
32
+
33
+ const Gauge = (props: GaugeProps) => {
34
+ const {
35
+ aria = {},
36
+ className,
37
+ chartData = [{ name: 'Name', value: 0 }],
38
+ data = {},
39
+ fullCircle = false,
40
+ height = null,
41
+ id,
42
+ max = 100,
43
+ min = 0,
44
+ prefix = '',
45
+ showLabels = false,
46
+ style = 'solidgauge',
47
+ suffix = '',
48
+ title = '',
49
+ tooltipHtml = '<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: ' + '<b>{point.y}</b>',
50
+ } = props
51
+
52
+ const ariaProps = buildAriaProps(aria)
53
+ const dataProps = buildDataProps(data)
54
+
55
+ const css = buildCss({
56
+ 'pb_gauge_kit': true,
57
+ })
58
+ // Runs first time component Renders
59
+ useEffect(() => {
60
+ chartData.forEach((obj) => {
61
+ obj.y = obj.value
62
+ delete obj.value
63
+ })
64
+
65
+ new pbChart('.selector', {
66
+ id: id,
67
+ chartData: chartData,
68
+ circumference: fullCircle ? [0, 360] : [-100, 100],
69
+ height: height,
70
+ min: min,
71
+ max: max,
72
+ prefix: prefix,
73
+ title: title,
74
+ suffix: suffix,
75
+ showLabels: showLabels,
76
+ style: style,
77
+ tooltipHtml: tooltipHtml,
78
+ type: 'gauge',
79
+ })
80
+ }, [])
81
+
82
+ const componentDidMount = useRef(false)
83
+ // Doesn't run the first time but runs every subsequent render
84
+ useEffect(() => {
85
+ if (componentDidMount.current) {
86
+ Highcharts.charts.forEach((chart) => {
87
+ if (chart.renderTo.id === id) {
88
+ chart.series[0].setData([chartData[0].value])
89
+ }
90
+ })
91
+ } else {
92
+ componentDidMount.current = true
93
+ }
94
+ })
95
+ return (
96
+ <div
97
+ {...ariaProps}
98
+ {...dataProps}
99
+ className={classnames(css, className, spacing(props))}
100
+ id={id}
101
+ />
102
+ )
103
+ }
104
+
105
+ export default Gauge
@@ -0,0 +1,11 @@
1
+ [class^=pb_gauge_kit] {
2
+
3
+ .suffix {
4
+ fill: $text_lt_light;
5
+ font: $regular $font_larger $font_family_base;
6
+ }
7
+ .prefix {
8
+ fill: $text_lt_light;
9
+ font: $regular $font_base $font_family_base;
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ <% data = [
2
+ {
3
+ name: 'Name',
4
+ value: 45,
5
+ }
6
+ ]%>
7
+
8
+ <%= pb_rails("gauge", props: {
9
+ id: "gauge-default",
10
+ chart_data: data,
11
+ }) %>
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+ import { Gauge } from '../../'
3
+
4
+ const data = [
5
+ { name: 'Point1', value: 45 },
6
+ ]
7
+
8
+ const GaugeDefault = () => (
9
+ <div>
10
+ <Gauge
11
+ chartData={data}
12
+ id="gauge-default"
13
+ />
14
+ </div>
15
+ )
16
+
17
+ export default GaugeDefault
@@ -0,0 +1,14 @@
1
+ <% data = [
2
+ {
3
+ name: 'Capacity',
4
+ value: 75,
5
+ }
6
+ ]%>
7
+
8
+ <%= pb_rails("gauge", props: {
9
+ id: "full-circle",
10
+ chart_data: data,
11
+ full_circle: true,
12
+ title: "Seating Capacity",
13
+ suffix: "%"
14
+ }) %>
@@ -0,0 +1,20 @@
1
+ import React from 'react'
2
+ import { Gauge } from '../../'
3
+
4
+ const data = [
5
+ { name: 'Capacity', value: 75 },
6
+ ]
7
+
8
+ const GaugeFullCircle = () => (
9
+ <div>
10
+ <Gauge
11
+ chartData={data}
12
+ fullCircle
13
+ id="gauge-full-circle"
14
+ suffix="%"
15
+ title="Seating Capacity"
16
+ />
17
+ </div>
18
+ )
19
+
20
+ export default GaugeFullCircle
@@ -0,0 +1,15 @@
1
+ <%= pb_rails("gauge", props: {
2
+ id: "gauge-height-px",
3
+ chart_data: [{ name: "Pixel Height", value: 400 }],
4
+ height: '400',
5
+ title: "Fixed Height in Pixels",
6
+ suffix: "px"
7
+ }) %>
8
+
9
+ <%= pb_rails("gauge", props: {
10
+ id: "gauge-height-percent",
11
+ chart_data: [{ name: "Percentage Height", value: 45 }],
12
+ height: '45%',
13
+ title: "Height as Percentage of Width",
14
+ suffix: "%"
15
+ }) %>
@@ -0,0 +1,23 @@
1
+ import React from 'react'
2
+ import { Gauge } from '../../'
3
+
4
+ const GaugeHeight = () => (
5
+ <div>
6
+ <Gauge
7
+ chartData={[ { name: 'Name', value: 400 } ]}
8
+ height="400"
9
+ id="gauge-height-px"
10
+ suffix="px"
11
+ title="Fixed Height in Pixels"
12
+ />
13
+ <Gauge
14
+ chartData={[ { name: 'Name', value: 45 } ]}
15
+ height="45%"
16
+ id="gauge-height-percent"
17
+ suffix="%"
18
+ title="Height as Percentage of Width"
19
+ />
20
+ </div>
21
+ )
22
+
23
+ export default GaugeHeight