playbook_ui 2.9.1 → 2.9.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 (197) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/index.js +51 -9
  3. data/app/pb_kits/playbook/{packs → kits}/pb_avatar.js +1 -1
  4. data/app/pb_kits/playbook/{packs → kits}/pb_badge.js +1 -1
  5. data/app/pb_kits/playbook/{packs → kits}/pb_bar_graph.js +1 -1
  6. data/app/pb_kits/playbook/{packs → kits}/pb_body.js +1 -1
  7. data/app/pb_kits/playbook/{packs → kits}/pb_button.js +1 -1
  8. data/app/pb_kits/playbook/{packs → kits}/pb_caption.js +1 -1
  9. data/app/pb_kits/playbook/{packs → kits}/pb_card.js +1 -1
  10. data/app/pb_kits/playbook/{packs → kits}/pb_checkbox.js +1 -1
  11. data/app/pb_kits/playbook/{packs → kits}/pb_currency.js +1 -1
  12. data/app/pb_kits/playbook/{packs → kits}/pb_dashboard_value.js +1 -1
  13. data/app/pb_kits/playbook/{packs → kits}/pb_date.js +1 -1
  14. data/app/pb_kits/playbook/{packs → kits}/pb_date_range_inline.js +1 -1
  15. data/app/pb_kits/playbook/{packs → kits}/pb_date_year_stacked.js +1 -1
  16. data/app/pb_kits/playbook/{packs → kits}/pb_distribution_bar.js +1 -1
  17. data/app/pb_kits/playbook/kits/pb_fixed_confirmation_toast.js +4 -0
  18. data/app/pb_kits/playbook/kits/pb_hashtag.js +4 -0
  19. data/app/pb_kits/playbook/{packs → kits}/pb_home_address_street.js +1 -1
  20. data/app/pb_kits/playbook/{packs → kits}/pb_icon.js +1 -1
  21. data/app/pb_kits/playbook/{packs → kits}/pb_icon_circle.js +1 -1
  22. data/app/pb_kits/playbook/{packs → kits}/pb_icon_value.js +1 -1
  23. data/app/pb_kits/playbook/{packs → kits}/pb_image.js +1 -1
  24. data/app/pb_kits/playbook/{packs → kits}/pb_input.js +1 -1
  25. data/app/pb_kits/playbook/{packs → kits}/pb_label_pill.js +1 -1
  26. data/app/pb_kits/playbook/{packs → kits}/pb_label_value.js +1 -1
  27. data/app/pb_kits/playbook/{packs → kits}/pb_layout.js +1 -1
  28. data/app/pb_kits/playbook/{packs → kits}/pb_line_graph.js +1 -1
  29. data/app/pb_kits/playbook/{packs → kits}/pb_list.js +1 -1
  30. data/app/pb_kits/playbook/{packs → kits}/pb_loading_inline.js +1 -1
  31. data/app/pb_kits/playbook/{packs → kits}/pb_message.js +1 -1
  32. data/app/pb_kits/playbook/{packs → kits}/pb_online_status.js +1 -1
  33. data/app/pb_kits/playbook/{packs → kits}/pb_owner.js +1 -1
  34. data/app/pb_kits/playbook/{packs → kits}/pb_owner_phone.js +1 -1
  35. data/app/pb_kits/playbook/{packs → kits}/pb_phone.js +1 -1
  36. data/app/pb_kits/playbook/{packs → kits}/pb_pill.js +1 -1
  37. data/app/pb_kits/playbook/{packs → kits}/pb_progress_simple.js +1 -1
  38. data/app/pb_kits/playbook/{packs → kits}/pb_section_separator.js +1 -1
  39. data/app/pb_kits/playbook/{packs → kits}/pb_source.js +1 -1
  40. data/app/pb_kits/playbook/{packs → kits}/pb_star_rating.js +1 -1
  41. data/app/pb_kits/playbook/{packs → kits}/pb_stat_change.js +1 -1
  42. data/app/pb_kits/playbook/{packs → kits}/pb_stat_value.js +1 -1
  43. data/app/pb_kits/playbook/kits/pb_table.js +16 -0
  44. data/app/pb_kits/playbook/{packs → kits}/pb_time.js +1 -1
  45. data/app/pb_kits/playbook/{packs → kits}/pb_timestamp.js +1 -1
  46. data/app/pb_kits/playbook/{packs → kits}/pb_title.js +1 -1
  47. data/app/pb_kits/playbook/{packs → kits}/pb_title_count.js +1 -1
  48. data/app/pb_kits/playbook/{packs → kits}/pb_title_detail.js +1 -1
  49. data/app/pb_kits/playbook/{packs → kits}/pb_toggle.js +1 -1
  50. data/app/pb_kits/playbook/{packs → kits}/pb_user.js +1 -1
  51. data/app/pb_kits/playbook/{packs → kits}/pb_user_badge.js +1 -1
  52. data/app/pb_kits/playbook/{packs → kits}/pb_vertical_nav.js +1 -1
  53. data/app/pb_kits/playbook/packs/examples.js +3 -0
  54. data/app/pb_kits/playbook/packs/kits.js +49 -48
  55. data/app/pb_kits/playbook/packs/site_styles/_kit_style_index.scss +1 -0
  56. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +1 -1
  57. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +1 -1
  58. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_monogram.jsx +1 -1
  59. data/app/pb_kits/playbook/pb_badge/_badge.html.erb +1 -1
  60. data/app/pb_kits/playbook/pb_badge/badge.rb +12 -50
  61. data/app/pb_kits/playbook/pb_badge/docs/_badge_colors.html.erb +0 -1
  62. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +1 -1
  63. data/app/pb_kits/playbook/pb_bar_graph/barGraphSettings.js +26 -19
  64. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +1 -1
  65. data/app/pb_kits/playbook/pb_body/docs/_body_block.jsx +1 -1
  66. data/app/pb_kits/playbook/pb_body/docs/_body_dark.jsx +1 -1
  67. data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +1 -1
  68. data/app/pb_kits/playbook/pb_button/_button.html.erb +5 -2
  69. data/app/pb_kits/playbook/pb_button/_button.jsx +10 -1
  70. data/app/pb_kits/playbook/pb_button/button.rb +14 -0
  71. data/app/pb_kits/playbook/pb_button/docs/_button_accessibility.jsx +1 -1
  72. data/app/pb_kits/playbook/pb_button/docs/_button_block_content.jsx +1 -1
  73. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +2 -2
  74. data/app/pb_kits/playbook/pb_button/docs/_button_default_dark.jsx +2 -2
  75. data/app/pb_kits/playbook/pb_button/docs/_button_full_width.jsx +1 -1
  76. data/app/pb_kits/playbook/pb_button/docs/_button_link.jsx +1 -1
  77. data/app/pb_kits/playbook/pb_button/docs/_button_loading.jsx +1 -1
  78. data/app/pb_kits/playbook/pb_button/docs/_button_options.html.erb +1 -0
  79. data/app/pb_kits/playbook/pb_button/docs/_button_options.jsx +14 -0
  80. data/app/pb_kits/playbook/pb_button/docs/example.yml +3 -1
  81. data/app/pb_kits/playbook/pb_button/docs/index.js +1 -0
  82. data/app/pb_kits/playbook/pb_caption/caption.rb +3 -12
  83. data/app/pb_kits/playbook/pb_caption/docs/_caption_dark.jsx +1 -1
  84. data/app/pb_kits/playbook/pb_caption/docs/_caption_light.jsx +1 -1
  85. data/app/pb_kits/playbook/pb_card/_card.html.erb +4 -2
  86. data/app/pb_kits/playbook/pb_card/card.rb +17 -62
  87. data/app/pb_kits/playbook/pb_card/card_body.rb +8 -47
  88. data/app/pb_kits/playbook/pb_card/child_kits/_card_body.html.erb +2 -2
  89. data/app/pb_kits/playbook/pb_card/docs/_card_content.jsx +1 -1
  90. data/app/pb_kits/playbook/pb_card/docs/_card_padding.jsx +1 -1
  91. data/app/pb_kits/playbook/pb_card/docs/_card_shadow.jsx +1 -1
  92. data/app/pb_kits/playbook/pb_checkbox/_checkbox.html.erb +8 -9
  93. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +15 -73
  94. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_checked.html.erb +7 -0
  95. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark.html.erb +5 -1
  96. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark.jsx +17 -0
  97. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_default.html.erb +6 -1
  98. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_default.jsx +4 -5
  99. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +5 -4
  100. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
  101. data/app/pb_kits/playbook/pb_currency/_currency.jsx +5 -3
  102. data/app/pb_kits/playbook/pb_currency/docs/_currency_default.jsx +1 -1
  103. data/app/pb_kits/playbook/pb_currency/docs/_currency_large.jsx +1 -1
  104. data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +22 -5
  105. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +6 -3
  106. data/app/pb_kits/playbook/pb_dashboard_value/docs/_dashboard_value_align.jsx +1 -1
  107. data/app/pb_kits/playbook/pb_dashboard_value/docs/_dashboard_value_default.jsx +1 -1
  108. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +1 -1
  109. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.html.erb +3 -3
  110. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +9 -11
  111. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +1 -1
  112. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +14 -43
  113. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_default.html.erb +2 -2
  114. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_default.jsx +2 -2
  115. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +5 -2
  116. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.jsx +1 -1
  117. data/app/pb_kits/playbook/pb_hashtag/_hashtag.html.erb +10 -0
  118. data/app/pb_kits/playbook/pb_hashtag/_hashtag.jsx +41 -0
  119. data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -0
  120. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_default.html.erb +9 -0
  121. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_default.jsx +28 -0
  122. data/app/pb_kits/playbook/pb_hashtag/docs/example.yml +8 -0
  123. data/app/pb_kits/playbook/pb_hashtag/docs/index.js +1 -0
  124. data/app/pb_kits/playbook/pb_hashtag/hashtag.rb +76 -0
  125. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +4 -3
  126. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_dark.jsx +1 -1
  127. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_default.jsx +1 -1
  128. data/app/pb_kits/playbook/pb_icon/docs/_icon_animate.jsx +1 -1
  129. data/app/pb_kits/playbook/pb_icon/docs/_icon_border.jsx +1 -1
  130. data/app/pb_kits/playbook/pb_icon/docs/_icon_default.jsx +1 -1
  131. data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.jsx +1 -1
  132. data/app/pb_kits/playbook/pb_icon/docs/_icon_flip.jsx +1 -1
  133. data/app/pb_kits/playbook/pb_icon/docs/_icon_pull.jsx +1 -1
  134. data/app/pb_kits/playbook/pb_icon/docs/_icon_rotate.jsx +1 -1
  135. data/app/pb_kits/playbook/pb_icon/docs/_icon_sizes.jsx +1 -1
  136. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_default.jsx +2 -2
  137. data/app/pb_kits/playbook/pb_icon_value/docs/_icon_value_default.jsx +2 -2
  138. data/app/pb_kits/playbook/pb_image/docs/_default_image.jsx +2 -2
  139. data/app/pb_kits/playbook/pb_input/_input.jsx +10 -10
  140. data/app/pb_kits/playbook/pb_input/docs/_input_default.jsx +2 -2
  141. data/app/pb_kits/playbook/pb_label_pill/docs/_label_pill_default.jsx +2 -2
  142. data/app/pb_kits/playbook/pb_label_value/_label_value.jsx +5 -5
  143. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_default.jsx +2 -2
  144. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +3 -3
  145. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +1 -1
  146. data/app/pb_kits/playbook/pb_line_graph/lineGraphSettings.js +26 -12
  147. data/app/pb_kits/playbook/pb_list/docs/_list_default.jsx +4 -2
  148. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.jsx +5 -2
  149. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_dark.jsx +1 -1
  150. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_light.jsx +1 -1
  151. data/app/pb_kits/playbook/pb_message/docs/_message_default.jsx +2 -2
  152. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.jsx +2 -2
  153. data/app/pb_kits/playbook/pb_owner/docs/_owner_default.jsx +1 -1
  154. data/app/pb_kits/playbook/pb_owner_phone/docs/_owner_phone_default.jsx +2 -2
  155. data/app/pb_kits/playbook/pb_phone/docs/_phone_default.jsx +2 -2
  156. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_default.jsx +1 -1
  157. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_default.jsx +1 -1
  158. data/app/pb_kits/playbook/pb_source/docs/_source_default.jsx +1 -1
  159. data/app/pb_kits/playbook/pb_star_rating/docs/_star_rating_default.jsx +2 -2
  160. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +5 -2
  161. data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_default.jsx +1 -1
  162. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +1 -1
  163. data/app/pb_kits/playbook/pb_stat_value/docs/_stat_value_default.jsx +1 -1
  164. data/app/pb_kits/playbook/pb_table/_table.jsx +1 -0
  165. data/app/pb_kits/playbook/pb_table/docs/_table_container.jsx +1 -1
  166. data/app/pb_kits/playbook/pb_table/docs/_table_container_dark.jsx +1 -1
  167. data/app/pb_kits/playbook/pb_table/docs/_table_dark.jsx +1 -1
  168. data/app/pb_kits/playbook/pb_table/docs/_table_disable_hover.jsx +1 -1
  169. data/app/pb_kits/playbook/pb_table/docs/_table_lg.jsx +1 -1
  170. data/app/pb_kits/playbook/pb_table/docs/_table_md.jsx +1 -1
  171. data/app/pb_kits/playbook/pb_table/docs/_table_multiline.jsx +1 -1
  172. data/app/pb_kits/playbook/pb_table/docs/_table_single_line.jsx +1 -1
  173. data/app/pb_kits/playbook/pb_table/docs/_table_sm.jsx +1 -1
  174. data/app/pb_kits/playbook/pb_table/docs/example.yml +10 -10
  175. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +1 -1
  176. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +2 -2
  177. data/app/pb_kits/playbook/pb_title/docs/_title_dark.jsx +1 -1
  178. data/app/pb_kits/playbook/pb_title/docs/_title_light.jsx +1 -1
  179. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_default.jsx +1 -1
  180. data/app/pb_kits/playbook/pb_title_detail/docs/_title_detail_default.jsx +1 -1
  181. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.jsx +2 -2
  182. data/app/pb_kits/playbook/pb_user/docs/_user_default.jsx +1 -1
  183. data/app/pb_kits/playbook/pb_user_badge/docs/_user_badge_default.jsx +1 -1
  184. data/app/pb_kits/playbook/pb_vertical_nav/_vertical_nav.jsx +9 -9
  185. data/app/pb_kits/playbook/pb_vertical_nav/docs/_default_nav.jsx +1 -1
  186. data/app/pb_kits/playbook/props.rb +18 -3
  187. data/app/pb_kits/playbook/props/enum.rb +2 -0
  188. data/app/pb_kits/playbook/props/number_array.rb +14 -0
  189. data/app/pb_kits/playbook/tokens/_colors.scss +2 -2
  190. data/lib/generators/kit/kit_generator.rb +1 -1
  191. data/lib/generators/kit/templates/kit_example_react.erb.tt +2 -2
  192. data/lib/generators/kit/templates/kit_jsx.erb.tt +5 -0
  193. data/lib/generators/kit/templates/kit_pack.erb.tt +1 -1
  194. data/lib/playbook/version.rb +1 -1
  195. metadata +65 -51
  196. data/app/pb_kits/playbook/packs/pb_fixed_confirmation_toast.js +0 -4
  197. data/app/pb_kits/playbook/packs/pb_table.js +0 -16
@@ -0,0 +1,7 @@
1
+ <%= pb_rails("checkbox" , props: {
2
+ text: "Checked Checkbox",
3
+ value: "checkbox-value",
4
+ checked: true,
5
+ icon: true,
6
+ name: "checkbox-name"
7
+ }) %>
@@ -1 +1,5 @@
1
- <%= pb_rails("checkbox", props: {text:"Checkbox Label" , icon:"check", dark: true}) %>
1
+ <%= pb_rails("checkbox", props: {
2
+ text: "Checkbox Label" ,
3
+ icon: true,
4
+ dark: true
5
+ }) %>
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+ import {Checkbox} from '../../'
3
+
4
+ function CheckboxDark() {
5
+ return (
6
+ <div>
7
+ <Checkbox
8
+ dark
9
+ label='Checkbox label'
10
+ name='default name'
11
+ value='default value'
12
+ />
13
+ </div>
14
+ )
15
+ }
16
+
17
+ export default CheckboxDark;
@@ -1 +1,6 @@
1
- <%= pb_rails("checkbox" , props:{ text:"Checkbox Label", value:"checkbox-value", icon:"check", name:"checkbox-name" }) %>
1
+ <%= pb_rails("checkbox" , props: {
2
+ text: "Checkbox Label",
3
+ value: "checkbox-value",
4
+ icon: true,
5
+ name: "checkbox-name"
6
+ }) %>
@@ -1,14 +1,13 @@
1
- import React from "react"
2
- import Checkbox from "../_checkbox.jsx"
1
+ import React from 'react'
2
+ import {Checkbox} from '../../'
3
3
 
4
4
  function CheckboxDefault() {
5
5
  return (
6
6
  <div>
7
7
  <Checkbox
8
-
9
8
  label='Checkbox label'
10
- name="default name"
11
- value="default value"
9
+ name='default name'
10
+ value='default value'
12
11
  />
13
12
  </div>
14
13
  )
@@ -1,8 +1,9 @@
1
1
  examples:
2
-
3
2
  rails:
4
- - checkbox_default: Default
5
- - checkbox_dark: Dark
3
+ - checkbox_default: Default
4
+ - checkbox_checked: Load as checked
5
+ - checkbox_dark: Dark
6
6
 
7
7
  react:
8
- - checkbox_default: Default
8
+ - checkbox_default: Default
9
+ - checkbox_dark: Dark
@@ -1 +1,2 @@
1
1
  export {default as CheckboxDefault} from './_checkbox_default.jsx';
2
+ export {default as CheckboxDark} from './_checkbox_dark.jsx';
@@ -3,9 +3,11 @@
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
5
 
6
- import Body from '../pb_body/_body.jsx'
7
- import Caption from '../pb_caption/_caption.jsx'
8
- import Title from '../pb_title/_title.jsx'
6
+ import {
7
+ Body,
8
+ Caption,
9
+ Title,
10
+ } from '../'
9
11
 
10
12
  type CurrencyProps = {
11
13
  align?: 'left' | 'center' | 'right',
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import Currency from "../_currency.jsx"
2
+ import {Currency} from "../../"
3
3
 
4
4
  function CurrencyDefault() {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import Currency from "../_currency.jsx"
2
+ import {Currency} from "../../"
3
3
 
4
4
  function CurrencyDefault() {
5
5
  return (
@@ -1,8 +1,8 @@
1
1
  import colors from "../tokens/_colors.scss"
2
2
  import typography from "../tokens/_typography.scss";
3
3
 
4
- const applyCustomColors = function(highchart) {
5
- var data_colors = [
4
+ const applyCustomSeriesColors = function(highchart) {
5
+ const data_colors = [
6
6
  colors.data_1,
7
7
  colors.data_2,
8
8
  colors.data_3,
@@ -13,10 +13,27 @@ const applyCustomColors = function(highchart) {
13
13
  ];
14
14
 
15
15
  highchart.series.forEach(function(item, index) {
16
- var selected_color = data_colors[index % data_colors.length];
16
+ const selected_color = data_colors[index];
17
17
  item.color = selected_color;
18
+
18
19
  item.data.forEach(function(data_item) {
19
- data_item.color = selected_color;
20
+ if(data_item.color){
21
+ data_item.color = selected_color;
22
+ }
23
+
24
+ if(!data_item.marker) return;
25
+
26
+ if(data_item.marker.lineColor){
27
+ data_item.marker.lineColor = selected_color;
28
+ }
29
+
30
+ if(data_item.marker.states.hover !== undefined){
31
+ data_item.marker.states.hover.lineColor = selected_color;
32
+ }
33
+
34
+ if(data_item.marker.states.select.lineColor){
35
+ data_item.marker.states.select.lineColor = selected_color;
36
+ }
20
37
  });
21
38
  });
22
39
  };
@@ -75,7 +92,7 @@ const styleLegend = function(highchart) {
75
92
 
76
93
  // Exportable Global Styles Function
77
94
  const commonSettings = function(highchart) {
78
- applyCustomColors(highchart);
95
+ applyCustomSeriesColors(highchart);
79
96
  styleAxis(highchart);
80
97
  styleChartContainer(highchart);
81
98
  styleLegend(highchart);
@@ -2,9 +2,12 @@
2
2
 
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
- import Body from '../pb_body/_body.jsx'
6
- import StatChange from '../pb_stat_change/_stat_change.jsx'
7
- import StatValue from '../pb_stat_value/_stat_value.jsx'
5
+
6
+ import {
7
+ Body,
8
+ StatChange,
9
+ StatValue,
10
+ } from '../'
8
11
 
9
12
  type DashboardValueProps = {
10
13
  align?: 'left' | 'center' | 'right',
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import DashboardValue from "../_dashboard_value.jsx"
2
+ import {DashboardValue} from "../../"
3
3
 
4
4
  function DashboardValueAlign() {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import DashboardValue from "../_dashboard_value.jsx"
2
+ import {DashboardValue} from "../../"
3
3
 
4
4
  function DashboardValueDefault() {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import Date from "../_date.jsx"
2
+ import Date from "../../"
3
3
 
4
4
  function DateDefault() {
5
5
  return (
@@ -1,8 +1,8 @@
1
1
  <%= content_tag(:figure,
2
2
  id: object.id,
3
3
  data: object.data,
4
- class: object.classname("pb_distribution_bar_#{object.size}")) do %>
5
- <% object.values.each do |value| %>
6
- <div class="pb_distribution_value" style="width:<%=value%>%"></div>
4
+ class: object.classname) do %>
5
+ <% object.widths_to_percentages.each do |percentage| %>
6
+ <div class="pb_distribution_width" style="width:<%= percentage %>%"></div>
7
7
  <% end %>
8
8
  <% end %>
@@ -8,39 +8,37 @@ type DistributionBarProps = {
8
8
  data?: String,
9
9
  id?: String,
10
10
  size?: 'lg' | 'sm',
11
- values?: Array<Number>,
11
+ widths?: Array<Number>,
12
12
  }
13
13
 
14
- const normalizeCharacters = (values) => {
15
- return values.map( value => {
16
- return parseInt(value.toString().replace(/[^0-9.]/gi, ''))
14
+ const normalizeCharacters = (widths) => {
15
+ return widths.map(width => {
16
+ return parseInt(width.toString().replace(/[^0-9.]/gi, ''))
17
17
  })
18
18
  }
19
19
 
20
20
  const barValues = (normalizedValues) => {
21
21
  let arrSum = value => value.reduce((a,b) => (a + b), 0)
22
- let valueSum = arrSum(normalizedValues)
22
+ let widthSum = arrSum(normalizedValues)
23
23
  return normalizedValues.map((value,i) => {
24
24
  return(
25
25
  <div
26
26
  key={i}
27
- className={`pb_distribution_value`}
28
- style={{width:`${value*100/valueSum}%`}}
27
+ className={`pb_distribution_width`}
28
+ style={{width:`${value*100/widthSum}%`}}
29
29
  />
30
30
  )
31
31
  })
32
32
  }
33
33
 
34
-
35
-
36
34
  const DistributionBar = ({
37
35
  className,
38
36
  data,
39
37
  id,
40
38
  size='lg',
41
- values=[1]
39
+ widths=[1]
42
40
  }: DistributionBarProps) => {
43
- const normalizedValues = normalizeCharacters(values)
41
+ const normalizedValues = normalizeCharacters(widths)
44
42
 
45
43
  return(
46
44
  <div className={`pb_distribution_bar_${size}`}>
@@ -5,7 +5,7 @@
5
5
  $small_bar: 8px;
6
6
  $large_bar: 36px;
7
7
  display: flex;
8
- .pb_distribution_value {
8
+ .pb_distribution_width {
9
9
  height: 100%;
10
10
  display: inline-block;
11
11
  @for $i from 1 through length($bar_colors) {
@@ -2,54 +2,25 @@
2
2
 
3
3
  module Playbook
4
4
  module PbDistributionBar
5
- class DistributionBar < Playbook::PbKit::Base
6
- PROPS = %i[configured_classname
7
- configured_data
8
- configured_id
9
- configured_size
10
- configured_values].freeze
5
+ class DistributionBar
6
+ include Playbook::Props
11
7
 
12
- def initialize(classname: default_configuration,
13
- data: default_configuration,
14
- id: default_configuration,
15
- size: default_configuration,
16
- values: default_configuration)
17
- self.configured_classname = classname
18
- self.configured_data = data
19
- self.configured_id = id
20
- self.configured_size = size
21
- self.configured_values = values
22
- end
23
-
24
- def size
25
- size_options = %w[lg sm]
26
- one_of_value(configured_size, size_options, "lg")
27
- end
28
-
29
- def values
30
- default_value(values_to_percents, [1])
31
- end
8
+ partial "pb_distribution_bar/distribution_bar"
32
9
 
33
- def to_partial_path
34
- "pb_distribution_bar/distribution_bar"
35
- end
36
-
37
- private
38
-
39
- DEFAULT = Object.new
40
- private_constant :DEFAULT
41
- def default_configuration
42
- DEFAULT
43
- end
44
- attr_accessor(*PROPS)
10
+ prop :size, type: Playbook::Props::Enum,
11
+ values: %w[lg sm],
12
+ default: "lg"
13
+ prop :widths, type: Playbook::Props::NumberArray,
14
+ default: [1]
45
15
 
46
- def normalize_characters(value)
47
- return value.to_s.gsub(/(\d\.\d)|[^a-zA-Z\d]/, '\\1').to_i
16
+ def classname
17
+ generate_classname("pb_distribution_bar", size)
48
18
  end
49
19
 
50
- def values_to_percents
51
- normalized_values = configured_values.map(&method(:normalize_characters))
52
- normalized_values.map { |value| (value.to_f * 100 / normalized_values.sum ).round(2) }
20
+ def widths_to_percentages
21
+ widths.map do |width|
22
+ (width.to_f * 100 / widths.sum).round(2)
23
+ end
53
24
  end
54
25
  end
55
26
  end
@@ -1,9 +1,9 @@
1
1
  <%= pb_rails("distribution_bar", props: {
2
- values: [1,2,3,4,5,3,3,7]
2
+ widths: [1,2,3,4,5,3,3,7]
3
3
  }) %>
4
4
 
5
5
  <br><br>
6
6
  <%= pb_rails("distribution_bar", props: {
7
- values: [1,2,3,4,5,3,3,7],
7
+ widths: [1,2,3,4,5,3,3,7],
8
8
  size: "sm"
9
9
  }) %>
@@ -6,7 +6,7 @@ function DistributionBarDefault() {
6
6
  <React.Fragment>
7
7
  <div>
8
8
  <DistributionBar
9
- values={[1,2,3,4,5,3,3,7]}
9
+ widths={[1,2,3,4,5,3,3,7]}
10
10
  />
11
11
  </div>
12
12
  <br/>
@@ -14,7 +14,7 @@ function DistributionBarDefault() {
14
14
  <div>
15
15
  <DistributionBar
16
16
  size='sm'
17
- values={[1,2,3,4,5,3,3,7]}
17
+ widths={[1,2,3,4,5,3,3,7]}
18
18
  />
19
19
  </div>
20
20
  </React.Fragment>
@@ -3,8 +3,11 @@
3
3
 
4
4
  import React from 'react'
5
5
  import classnames from 'classnames'
6
- import Title from "../pb_title/_title.jsx"
7
- import Icon from "../pb_icon/_icon.jsx"
6
+
7
+ import {
8
+ Icon,
9
+ Title,
10
+ } from '../'
8
11
 
9
12
  type FixedConfirmationToastProps = {
10
13
  className?: String,
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import FixedConfirmationToast from "../_fixed_confirmation_toast.jsx"
2
+ import {FixedConfirmationToast} from "../../"
3
3
 
4
4
  function FixedConfirmationToastDefault() {
5
5
  return (
@@ -0,0 +1,10 @@
1
+ <%= content_tag(:div,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname(object.kit_class)) do %>
5
+
6
+ <%= link_to object.url do %>
7
+ <%= object.hashtag %>
8
+ <% end %>
9
+
10
+ <% end %>
@@ -0,0 +1,41 @@
1
+ /* @flow */
2
+ /* eslint-disable react/no-multi-comp, flowtype/space-before-type-colon */
3
+
4
+ import React from 'react'
5
+ import {Badge} from '../'
6
+
7
+ type HashtagProps = {
8
+ className?: String,
9
+ data?: String,
10
+ id?: String,
11
+ text?: String,
12
+ type: 'default' | 'home' | 'project',
13
+ url?: String,
14
+ }
15
+
16
+
17
+ const HashType = {
18
+ "home": "H#",
19
+ "project": "P#",
20
+ "default": "#"
21
+ }
22
+
23
+ const Hashtag = ({
24
+ className,
25
+ data,
26
+ id,
27
+ text,
28
+ type,
29
+ url
30
+ } : HashtagProps) => (
31
+
32
+
33
+
34
+ <div className={`pb_hashtag_kit_${type}`}>
35
+ <a href={url}>
36
+ <Badge variant="primary" text={HashType[type] + text}></Badge>
37
+ </a>
38
+ </div>
39
+ )
40
+
41
+ export default Hashtag