playbook_ui 2.9.1 → 2.9.2

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Button from '../_button.jsx'
2
+ import {Button} from '../../'
3
3
 
4
4
  const ButtonAccessibility = () => (
5
5
  <div>
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Button from '../_button.jsx'
2
+ import {Button} from '../../'
3
3
 
4
4
  const ButtonBlockContent = () => (
5
5
  <div>
@@ -1,9 +1,9 @@
1
1
  import React from 'react'
2
- import Button from '../_button.jsx'
2
+ import {Button} from '../../'
3
3
 
4
4
  const ButtonDefault = () => (
5
5
  <div>
6
- <Button text="Button Primary"/>
6
+ <Button text="Button Primary" />
7
7
  <Button
8
8
  text="Button Secondary"
9
9
  variant="secondary"
@@ -1,9 +1,9 @@
1
1
  import React from 'react'
2
- import Button from '../_button.jsx'
2
+ import {Button} from '../../'
3
3
 
4
4
  const ButtonDefaultDark = () => (
5
5
  <div>
6
- <Button text="Button Primary"/>
6
+ <Button text="Button Primary" />
7
7
  <Button
8
8
  text="Button Secondary"
9
9
  variant="secondary"
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Button from '../_button.jsx'
2
+ import {Button} from '../../'
3
3
 
4
4
  const ButtonFullWidth = () => (
5
5
  <div>
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Button from '../_button.jsx'
2
+ import {Button} from '../../'
3
3
 
4
4
  const ButtonLink = () => (
5
5
  <div>
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Button from '../_button.jsx'
2
+ import {Button} from '../../'
3
3
 
4
4
  const ButtonLoading = () => (
5
5
  <div>
@@ -0,0 +1 @@
1
+ <%= pb_rails("button", props: { text: "Button with options", value: "1234", type: "submit" }) %>
@@ -0,0 +1,14 @@
1
+ import React from 'react'
2
+ import Button from '../_button.jsx'
3
+
4
+ const ButtonOptions = () => (
5
+ <div>
6
+ <Button
7
+ htmlType="submit"
8
+ text="Button with options"
9
+ value="1234"
10
+ />
11
+ </div>
12
+ )
13
+
14
+ export default ButtonOptions
@@ -7,6 +7,7 @@ examples:
7
7
  - button_loading: Button Loading
8
8
  - button_block_content: Button Block Content
9
9
  - button_accessibility: Button Accessibility Options
10
+ - button_options: Button Additional Options
10
11
  react:
11
12
  - button_default: Button Variants
12
13
  - button_default_dark: Button Variants Dark
@@ -14,4 +15,5 @@ examples:
14
15
  - button_link: Button Links
15
16
  - button_loading: Button Loading
16
17
  - button_block_content: Button Block Content
17
- - button_accessibility: Button Accessibility Options
18
+ - button_accessibility: Button Accessibility Options
19
+ - button_options: Button Additional Options
@@ -5,3 +5,4 @@ export {default as ButtonLoading} from './_button_loading.jsx'
5
5
  export {default as ButtonBlockContent} from './_button_block_content.jsx'
6
6
  export {default as ButtonAccessibility} from './_button_accessibility.jsx'
7
7
  export {default as ButtonDefaultDark} from './_button_default_dark.jsx'
8
+ export {default as ButtonOptions} from './_button_options.jsx'
@@ -5,6 +5,8 @@ module Playbook
5
5
  class Caption
6
6
  include Playbook::Props
7
7
 
8
+ partial "pb_caption/caption"
9
+
8
10
  prop :dark, type: Playbook::Props::Boolean, default: false
9
11
  prop :large, type: Playbook::Props::Boolean, default: false
10
12
  prop :tag, type: Playbook::Props::Enum,
@@ -13,18 +15,7 @@ module Playbook
13
15
  prop :text, default: "Caption"
14
16
 
15
17
  def classname
16
- [
17
- [
18
- "pb_caption_kit",
19
- large_class,
20
- dark_class,
21
- ].compact.join("_"),
22
- prop(:classname),
23
- ].join(" ")
24
- end
25
-
26
- def to_partial_path
27
- "pb_caption/caption"
18
+ generate_classname("pb_caption_kit", large_class, dark_class)
28
19
  end
29
20
 
30
21
  private
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import Caption from "../_caption.jsx"
2
+ import {Caption} from '../../'
3
3
 
4
4
  function CaptionDark() {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import Caption from "../_caption.jsx"
2
+ import {Caption} from '../../'
3
3
 
4
4
  function CaptionLight() {
5
5
  return (
@@ -1,7 +1,9 @@
1
1
  <%= content_tag(:div,
2
2
  id: object.id,
3
3
  data: object.data,
4
- class: object.classname(object.kit_class),
4
+ class: object.classname,
5
5
  aria: object.aria) do %>
6
- <%= object.yield(context: self) %>
6
+ <% if object.block %>
7
+ <%= pb_rails("card/card_body", props: { padding: object.padding}) { capture(&object.block) } %>
8
+ <% end %>
7
9
  <% end %>
@@ -2,77 +2,32 @@
2
2
 
3
3
  module Playbook
4
4
  module PbCard
5
- class Card < Playbook::PbKit::Base
6
- PROPS = %i[configured_aria
7
- configured_classname
8
- configured_data
9
- configured_id
10
- configured_padding
11
- configured_selected
12
- configured_shadow
13
- block].freeze
5
+ class Card
6
+ include Playbook::Props
14
7
 
15
- def initialize(aria: default_configuration,
16
- classname: default_configuration,
17
- data: default_configuration,
18
- id: default_configuration,
19
- padding: default_configuration,
20
- selected: default_configuration,
21
- shadow: default_configuration,
22
- &block)
23
- self.configured_aria = aria
24
- self.configured_classname = classname
25
- self.configured_data = data
26
- self.configured_id = id
27
- self.configured_padding = padding
28
- self.configured_selected = selected
29
- self.configured_shadow = shadow
30
- self.block = block_given? ? block : nil
31
- end
32
-
33
- def selected_class
34
- true_value(configured_selected, "selected", "deselected")
35
- end
8
+ partial "pb_card/card"
36
9
 
37
- def shadow
38
- shadow_options = %w[none shallow default deep deeper deepest]
39
- one_of_value(configured_shadow, shadow_options, "none")
40
- end
41
-
42
- def shadow_class
43
- adjusted_value(shadow, "shadow_#{shadow}", nil)
44
- end
10
+ prop :selected, type: Playbook::Props::Boolean, default: false
11
+ prop :padding, type: Playbook::Props::Enum,
12
+ values: %w[none xs sm md lg xl],
13
+ default: "md"
14
+ prop :shadow, type: Playbook::Props::Enum,
15
+ values: %w[none shallow default deep deeper deepest],
16
+ default: "none"
45
17
 
46
- def yield(context:)
47
- unless block.nil?
48
- pb_card_body = Playbook::PbCard::CardBody.new(padding: configured_padding) do
49
- context.capture(&block)
50
- end
51
- ApplicationController.renderer.render(partial: pb_card_body, as: :object)
52
- end
18
+ def classname
19
+ generate_classname("pb_card_kit", selected_class, shadow_class)
53
20
  end
54
21
 
55
- def kit_class
56
- card_options = [
57
- "pb_card_kit",
58
- selected_class,
59
- shadow_class,
60
- ]
61
- card_options.reject(&:nil?).join("_")
62
- end
22
+ private
63
23
 
64
- def to_partial_path
65
- "pb_card/card"
24
+ def selected_class
25
+ selected ? "selected" : "deselected"
66
26
  end
67
27
 
68
- private
69
-
70
- DEFAULT = Object.new
71
- private_constant :DEFAULT
72
- def default_configuration
73
- DEFAULT
28
+ def shadow_class
29
+ shadow != "none" ? "shadow_#{shadow}" : nil
74
30
  end
75
- attr_accessor(*PROPS)
76
31
  end
77
32
  end
78
33
  end
@@ -2,57 +2,18 @@
2
2
 
3
3
  module Playbook
4
4
  module PbCard
5
- class CardBody < Playbook::PbKit::Base
6
- PROPS = %i[configured_aria
7
- configured_classname
8
- configured_data
9
- configured_id
10
- configured_padding
11
- block].freeze
5
+ class CardBody
6
+ include Playbook::Props
12
7
 
13
- def initialize(aria: default_configuration,
14
- classname: default_configuration,
15
- data: default_configuration,
16
- id: default_configuration,
17
- padding: default_configuration,
18
- &block)
19
- self.configured_aria = aria
20
- self.configured_classname = classname
21
- self.configured_data = data
22
- self.configured_id = id
23
- self.configured_padding = padding
24
- self.block = block_given? ? block : nil
25
- end
26
-
27
- def padding_class
28
- padding_options = %w[none xs sm md lg xl]
29
- one_of_value(configured_padding.to_s, padding_options, "md")
30
- end
31
-
32
- def yield(context:)
33
- context.capture(&block)
34
- end
35
-
36
- def kit_class
37
- card_body_options = [
38
- "pb_card_body_kit",
39
- padding_class,
40
- ]
41
- card_body_options.join("_")
42
- end
43
-
44
- def to_partial_path
45
- "pb_card/child_kits/card_body"
46
- end
8
+ partial "pb_card/child_kits/card_body"
47
9
 
48
- private
10
+ prop :padding, type: Playbook::Props::Enum,
11
+ values: %w[none xs sm md lg xl],
12
+ default: "md"
49
13
 
50
- DEFAULT = Object.new
51
- private_constant :DEFAULT
52
- def default_configuration
53
- DEFAULT
14
+ def classname
15
+ generate_classname("pb_card_body_kit", padding)
54
16
  end
55
- attr_accessor(*PROPS)
56
17
  end
57
18
  end
58
19
  end
@@ -1,7 +1,7 @@
1
1
  <%= content_tag(:div,
2
2
  id: object.id,
3
3
  data: object.data,
4
- class: object.classname(object.kit_class),
4
+ class: object.classname,
5
5
  aria: object.aria) do %>
6
- <%= object.yield(context: self) %>
6
+ <%= capture(&object.block) %>
7
7
  <% end %>
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Card from '../_card.jsx'
2
+ import {Card} from '../../'
3
3
 
4
4
  function CardContent() {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Card from '../_card.jsx'
2
+ import {Card} from '../../'
3
3
 
4
4
  function CardPadding() {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Card from '../_card.jsx'
2
+ import {Card} from '../../'
3
3
 
4
4
  function CardShadow() {
5
5
  return (
@@ -1,10 +1,9 @@
1
- <%= content_tag(:label, id: object.id, data: object.data, class: object.classname(object.kit_class)) do %>
2
- <input type="checkbox" value="<%=object.value%>" name="<%=object.name%>" <%=object.checked%>>
3
- <span class="pb_checkbox_checkmark">
4
- <%= object.icon %>
5
- </span>
6
- <span class="pb_checkbox_label">
7
- <%= object.text %>
8
- </span>
9
-
1
+ <%= content_tag(:label, id: object.id,
2
+ data: object.data,
3
+ class: object.classname) do %>
4
+ <input type="checkbox" value="<%=object.value%>" name="<%=object.name%>" <%= object.checked_html %>>
5
+ <span class="pb_checkbox_checkmark">
6
+ <%= pb_rails("icon", props: { icon: "check", id: "check_icon", classname: "check_icon", fixed_width: true}) if object.icon %>
7
+ </span>
8
+ <span class="pb_checkbox_label"><%= object.text %></span>
10
9
  <% end %>
@@ -2,93 +2,35 @@
2
2
 
3
3
  module Playbook
4
4
  module PbCheckbox
5
- class Checkbox < Playbook::PbKit::Base
6
- PROPS = %i[configured_classname
7
- configured_data
8
- configured_id
9
- configured_dark
10
- configured_text
11
- configured_value
12
- configured_name
13
- configured_checked
14
- configured_icon
15
- ].freeze
5
+ class Checkbox
6
+ include Playbook::Props
16
7
 
17
- def initialize(classname: default_configuration,
18
- data: default_configuration,
19
- id: default_configuration,
20
- dark: default_configuration,
21
- text: default_configuration,
22
- value: default_configuration,
23
- name: default_configuration,
24
- checked: default_configuration,
25
- icon: default_configuration
26
- )
27
- self.configured_classname = classname
28
- self.configured_data = data
29
- self.configured_id = id
30
- self.configured_dark = dark
31
- self.configured_text = text
32
- self.configured_value = value
33
- self.configured_name = name
34
- self.configured_checked = checked
35
- self.configured_icon = icon
8
+ partial "pb_checkbox/checkbox"
36
9
 
37
- end
38
-
39
- def to_partial_path
40
- "pb_checkbox/checkbox"
41
- end
42
-
43
- def icon
44
- if is_set? configured_icon
45
- pb_icon = Playbook::PbIcon::Icon.new(icon: "check", id: "check_icon", classname: "check_icon", fixed_width: true)
46
- ApplicationController.renderer.render(partial: pb_icon, as: :object)
47
- end
48
- end
49
-
50
- def text
51
- default_value(configured_text, "")
52
- end
10
+ prop :dark, type: Playbook::Props::Boolean, default: false
11
+ prop :checked, type: Playbook::Props::Boolean, default: false
12
+ prop :icon, type: Playbook::Props::Boolean, default: false
13
+ prop :text
14
+ prop :value
15
+ prop :name
53
16
 
54
- def value
55
- default_value(configured_value, "")
17
+ def checked_html
18
+ checked ? "checked='true'" : nil
56
19
  end
57
20
 
58
- def name
59
- default_value(configured_name, "")
21
+ def classname
22
+ generate_classname("pb_checkbox_kit", dark_class, checked_class)
60
23
  end
61
24
 
62
- def checked
63
- true_value(configured_checked, "checked='true'",nil)
64
- end
25
+ private
65
26
 
66
27
  def checked_class
67
28
  checked ? "on" : "off"
68
29
  end
69
30
 
70
-
71
31
  def dark_class
72
- true_value(configured_dark, "dark", nil)
73
- end
74
-
75
- def kit_class
76
- caption_options = [
77
- "pb_checkbox_kit",
78
- dark_class,
79
- checked_class
80
- ]
81
- caption_options.reject(&:nil?).join("_")
82
- end
83
-
84
- private
85
-
86
- DEFAULT = Object.new
87
- private_constant :DEFAULT
88
- def default_configuration
89
- DEFAULT
32
+ dark ? "dark" : nil
90
33
  end
91
- attr_accessor(*PROPS)
92
34
  end
93
35
  end
94
36
  end