playbook_ui 2.9.0 → 2.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/helpers/playbook/pb_doc_helper.rb +5 -1
  4. data/app/pb_kits/playbook/index.js +73 -0
  5. data/app/pb_kits/playbook/packs/examples.js +24 -0
  6. data/app/pb_kits/playbook/packs/kits.js +8 -0
  7. data/app/pb_kits/playbook/packs/pb_badge.js +4 -0
  8. data/app/pb_kits/playbook/packs/pb_checkbox.js +4 -0
  9. data/app/pb_kits/playbook/packs/pb_date_range_inline.js +4 -0
  10. data/app/pb_kits/playbook/packs/pb_date_year_stacked.js +4 -0
  11. data/app/pb_kits/playbook/packs/pb_distribution_bar.js +4 -0
  12. data/app/pb_kits/playbook/packs/pb_fixed_confirmation_toast.js +4 -0
  13. data/app/pb_kits/playbook/packs/pb_home_address_street.js +4 -0
  14. data/app/pb_kits/playbook/packs/pb_loading_inline.js +4 -0
  15. data/app/pb_kits/playbook/packs/site_styles/_kit_style_index.scss +8 -0
  16. data/app/pb_kits/playbook/pb_badge/_badge.html.erb +6 -0
  17. data/app/pb_kits/playbook/pb_badge/_badge.jsx +34 -0
  18. data/app/pb_kits/playbook/pb_badge/_badge.scss +37 -0
  19. data/app/pb_kits/playbook/pb_badge/badge.rb +65 -0
  20. data/app/pb_kits/playbook/pb_badge/docs/_badge_colors.html.erb +107 -0
  21. data/app/pb_kits/playbook/pb_badge/docs/_badge_colors.jsx +82 -0
  22. data/app/pb_kits/playbook/pb_badge/docs/_badge_default.html.erb +16 -0
  23. data/app/pb_kits/playbook/pb_badge/docs/_badge_default.jsx +20 -0
  24. data/app/pb_kits/playbook/pb_badge/docs/_badge_rounded.html.erb +19 -0
  25. data/app/pb_kits/playbook/pb_badge/docs/_badge_rounded.jsx +20 -0
  26. data/app/pb_kits/playbook/pb_badge/docs/example.yml +10 -0
  27. data/app/pb_kits/playbook/pb_badge/docs/index.js +3 -0
  28. data/app/pb_kits/playbook/pb_caption/_caption.html.erb +1 -1
  29. data/app/pb_kits/playbook/pb_caption/_caption.scss +2 -2
  30. data/app/pb_kits/playbook/pb_caption/caption.rb +24 -56
  31. data/app/pb_kits/playbook/pb_checkbox/_checkbox.html.erb +10 -0
  32. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +42 -0
  33. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +66 -0
  34. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +94 -0
  35. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark.html.erb +1 -0
  36. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_default.html.erb +1 -0
  37. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_default.jsx +17 -0
  38. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +8 -0
  39. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
  40. data/app/pb_kits/playbook/pb_date/date.rb +14 -23
  41. data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +3 -3
  42. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.html.erb +22 -0
  43. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +54 -0
  44. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +3 -0
  45. data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.rb +55 -0
  46. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.html.erb +1 -0
  47. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.jsx +12 -0
  48. data/app/pb_kits/playbook/pb_date_range_inline/docs/example.yml +9 -0
  49. data/app/pb_kits/playbook/pb_date_range_inline/docs/index.js +1 -0
  50. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.html.erb +7 -0
  51. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +51 -0
  52. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -0
  53. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.rb +75 -0
  54. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_dark.html.erb +5 -0
  55. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_dark.jsx +14 -0
  56. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_default.html.erb +5 -0
  57. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_default.jsx +14 -0
  58. data/app/pb_kits/playbook/pb_date_year_stacked/docs/example.yml +9 -0
  59. data/app/pb_kits/playbook/pb_date_year_stacked/docs/index.js +2 -0
  60. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.html.erb +8 -0
  61. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +52 -0
  62. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +31 -0
  63. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +56 -0
  64. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_default.html.erb +9 -0
  65. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_default.jsx +24 -0
  66. data/app/pb_kits/playbook/pb_distribution_bar/docs/example.yml +9 -0
  67. data/app/pb_kits/playbook/pb_distribution_bar/docs/index.js +1 -0
  68. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.html.erb +7 -0
  69. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +58 -0
  70. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +27 -0
  71. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.html.erb +18 -0
  72. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.jsx +26 -0
  73. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +9 -0
  74. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +1 -0
  75. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +74 -0
  76. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.html.erb +25 -0
  77. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +64 -0
  78. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.scss +20 -0
  79. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_dark.html.erb +9 -0
  80. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_dark.jsx +18 -0
  81. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_default.html.erb +8 -0
  82. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_default.jsx +17 -0
  83. data/app/pb_kits/playbook/pb_home_address_street/docs/example.yml +11 -0
  84. data/app/pb_kits/playbook/pb_home_address_street/docs/index.js +2 -0
  85. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +80 -0
  86. data/app/pb_kits/playbook/pb_kit/dateTime.js +45 -0
  87. data/app/pb_kits/playbook/pb_kit/pb_date_time.rb +68 -0
  88. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.html.erb +6 -0
  89. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.jsx +31 -0
  90. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +19 -0
  91. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_dark.html.erb +13 -0
  92. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_dark.jsx +14 -0
  93. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_light.html.erb +9 -0
  94. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_light.jsx +14 -0
  95. data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +11 -0
  96. data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +2 -0
  97. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.rb +67 -0
  98. data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +3 -3
  99. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.html.erb +3 -3
  100. data/app/pb_kits/playbook/pb_time/time.rb +16 -29
  101. data/app/pb_kits/playbook/pb_toggle/toggle.rb +2 -0
  102. data/app/pb_kits/playbook/props.rb +45 -0
  103. data/app/pb_kits/playbook/props/base.rb +27 -0
  104. data/app/pb_kits/playbook/props/boolean.rb +11 -0
  105. data/app/pb_kits/playbook/props/enum.rb +16 -0
  106. data/app/pb_kits/playbook/props/hash.rb +11 -0
  107. data/app/pb_kits/playbook/props/string.rb +8 -0
  108. data/app/pb_kits/playbook/tokens/_colors.scss +2 -1
  109. data/app/pb_kits/playbook/tokens/_transition.scss +1 -0
  110. data/lib/playbook/engine.rb +0 -1
  111. data/lib/playbook/version.rb +1 -1
  112. metadata +148 -22
  113. data/app/pb_kits/playbook/packs/index.js +0 -67
  114. data/lib/tasks/db.rake +0 -10
  115. data/stories/basic.js +0 -18
  116. data/stories/complex.js +0 -15
  117. data/stories/form.js +0 -2
  118. data/stories/index.js +0 -29
@@ -0,0 +1,82 @@
1
+ import React from "react"
2
+ import Badge from "../_badge.jsx"
3
+
4
+ function BadgeColors() {
5
+ return (
6
+ <div>
7
+ <div>
8
+ <Badge text="+1" variant="primary" rounded />
9
+
10
+ &nbsp;
11
+
12
+ <Badge text="+4" variant="primary" />
13
+
14
+ &nbsp;
15
+
16
+ <Badge text="+1000" variant="primary" />
17
+ </div>
18
+
19
+ <div>
20
+ <Badge text="+1" variant="success" rounded />
21
+
22
+ &nbsp;
23
+
24
+ <Badge text="+4" variant="success" />
25
+
26
+ &nbsp;
27
+
28
+ <Badge text="+1000" variant="success" />
29
+ </div>
30
+
31
+ <div>
32
+ <Badge text="+1" variant="warning" rounded />
33
+
34
+ &nbsp;
35
+
36
+ <Badge text="+4" variant="warning" />
37
+
38
+ &nbsp;
39
+
40
+ <Badge text="+1000" variant="warning" />
41
+ </div>
42
+
43
+ <div>
44
+ <Badge text="+1" variant="error" rounded />
45
+
46
+ &nbsp;
47
+
48
+ <Badge text="+4" variant="error" />
49
+
50
+ &nbsp;
51
+
52
+ <Badge text="+1000" variant="error" />
53
+ </div>
54
+
55
+ <div>
56
+ <Badge text="+1" variant="info" rounded />
57
+
58
+ &nbsp;
59
+
60
+ <Badge text="+4" variant="info" />
61
+
62
+ &nbsp;
63
+
64
+ <Badge text="+1000" variant="info" />
65
+ </div>
66
+
67
+ <div>
68
+ <Badge text="+1" variant="neutral" rounded />
69
+
70
+ &nbsp;
71
+
72
+ <Badge text="+4" variant="neutral" />
73
+
74
+ &nbsp;
75
+
76
+ <Badge text="+1000" variant="neutral" />
77
+ </div>
78
+ </div>
79
+ )
80
+ }
81
+
82
+ export default BadgeColors;
@@ -0,0 +1,16 @@
1
+ <div>
2
+ <%= pb_rails("badge", props: {
3
+ text: "+1",
4
+ variant: "primary"
5
+ }) %>
6
+
7
+ <%= pb_rails("badge", props: {
8
+ text: "+4",
9
+ variant: "primary"
10
+ }) %>
11
+
12
+ <%= pb_rails("badge", props: {
13
+ text: "+1000",
14
+ variant: "primary"
15
+ }) %>
16
+ </div>
@@ -0,0 +1,20 @@
1
+ import React from "react"
2
+ import Badge from "../_badge.jsx"
3
+
4
+ function BadgeDefault() {
5
+ return (
6
+ <div>
7
+ <Badge text="+1" variant="primary" />
8
+
9
+ &nbsp;
10
+
11
+ <Badge text="+4" variant="primary" />
12
+
13
+ &nbsp;
14
+
15
+ <Badge text="+1000" variant="primary" />
16
+ </div>
17
+ )
18
+ }
19
+
20
+ export default BadgeDefault;
@@ -0,0 +1,19 @@
1
+ <div>
2
+ <%= pb_rails("badge", props: {
3
+ text: "+1",
4
+ variant: "primary",
5
+ rounded: true
6
+ }) %>
7
+
8
+ <%= pb_rails("badge", props: {
9
+ text: "+4",
10
+ variant: "primary",
11
+ rounded: true
12
+ }) %>
13
+
14
+ <%= pb_rails("badge", props: {
15
+ text: "+1000",
16
+ variant: "primary",
17
+ rounded: true
18
+ }) %>
19
+ </div>
@@ -0,0 +1,20 @@
1
+ import React from "react"
2
+ import Badge from "../_badge.jsx"
3
+
4
+ function BadgeRounded() {
5
+ return (
6
+ <div>
7
+ <Badge text="+1" variant="primary" rounded />
8
+
9
+ &nbsp;
10
+
11
+ <Badge text="+4" variant="primary" rounded />
12
+
13
+ &nbsp;
14
+
15
+ <Badge text="+1000" variant="primary" rounded />
16
+ </div>
17
+ )
18
+ }
19
+
20
+ export default BadgeRounded;
@@ -0,0 +1,10 @@
1
+ examples:
2
+ rails:
3
+ - badge_default: Rectangle
4
+ - badge_rounded: Rounded
5
+ - badge_colors: Colors
6
+
7
+ react:
8
+ - badge_default: Rectangle
9
+ - badge_rounded: Rounded
10
+ - badge_colors: Colors
@@ -0,0 +1,3 @@
1
+ export {default as BadgeDefault} from './_badge_default.jsx';
2
+ export {default as BadgeRounded} from './_badge_rounded.jsx';
3
+ export {default as BadgeColors} from './_badge_colors.jsx';
@@ -1,5 +1,5 @@
1
1
  <%= content_tag(object.tag, object.text,
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) %>
@@ -3,11 +3,11 @@
3
3
  [class^=pb_caption_kit] {
4
4
  @include caption;
5
5
 
6
- &[class*=_lg] {
6
+ &[class*=_lg] {
7
7
  @include caption_lg;
8
8
  }
9
9
 
10
- &[class*=_dark] {
10
+ &[class*=_dark] {
11
11
  @include caption_dark;
12
12
  }
13
13
  }
@@ -2,72 +2,40 @@
2
2
 
3
3
  module Playbook
4
4
  module PbCaption
5
- class Caption < Playbook::PbKit::Base
6
- PROPS = %i[configured_aria
7
- configured_classname
8
- configured_dark
9
- configured_data
10
- configured_id
11
- configured_large
12
- configured_tag
13
- configured_text].freeze
14
-
15
- def initialize(aria: default_configuration,
16
- classname: default_configuration,
17
- dark: default_configuration,
18
- data: default_configuration,
19
- id: default_configuration,
20
- large: default_configuration,
21
- tag: default_configuration,
22
- text: default_configuration)
23
- self.configured_aria = aria
24
- self.configured_classname = classname
25
- self.configured_dark = dark
26
- self.configured_data = data
27
- self.configured_id = id
28
- self.configured_large = large
29
- self.configured_tag = tag
30
- self.configured_text = text
5
+ class Caption
6
+ include Playbook::Props
7
+
8
+ prop :dark, type: Playbook::Props::Boolean, default: false
9
+ prop :large, type: Playbook::Props::Boolean, default: false
10
+ prop :tag, type: Playbook::Props::Enum,
11
+ values: %w[h1 h2 h3 h4 h5 h6 p span div],
12
+ default: "div"
13
+ prop :text, default: "Caption"
14
+
15
+ def classname
16
+ [
17
+ [
18
+ "pb_caption_kit",
19
+ large_class,
20
+ dark_class,
21
+ ].compact.join("_"),
22
+ prop(:classname),
23
+ ].join(" ")
31
24
  end
32
25
 
33
- def tag
34
- tag_options = %w[h1 h2 h3 h4 h5 h6 p span div]
35
- one_of_value(configured_tag, tag_options, "div")
26
+ def to_partial_path
27
+ "pb_caption/caption"
36
28
  end
37
29
 
38
- def text
39
- default_value(configured_text, "Caption")
40
- end
30
+ private
41
31
 
42
32
  def large_class
43
- true_value(configured_large, "lg", nil)
33
+ large ? "lg" : nil
44
34
  end
45
35
 
46
36
  def dark_class
47
- true_value(configured_dark, "dark", nil)
48
- end
49
-
50
- def kit_class
51
- caption_options = [
52
- "pb_caption_kit",
53
- large_class,
54
- dark_class,
55
- ]
56
- caption_options.reject(&:nil?).join("_")
57
- end
58
-
59
- def to_partial_path
60
- "pb_caption/caption"
61
- end
62
-
63
- private
64
-
65
- DEFAULT = Object.new
66
- private_constant :DEFAULT
67
- def default_configuration
68
- DEFAULT
37
+ dark ? "dark" : nil
69
38
  end
70
- attr_accessor(*PROPS)
71
39
  end
72
40
  end
73
41
  end
@@ -0,0 +1,10 @@
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
+
10
+ <% end %>
@@ -0,0 +1,42 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+
5
+ type CheckboxProps = {
6
+ dark?: Boolean,
7
+ tag: String,
8
+ label: String,
9
+ name:String,
10
+ value:String,
11
+ checked?: Boolean,
12
+ }
13
+
14
+ const Checkbox = ({
15
+ dark=false,
16
+ tag='label',
17
+ label,
18
+ name='',
19
+ value='',
20
+ checked=false,
21
+ }: CheckboxProps) => {
22
+
23
+ const Tag = `${tag}`
24
+
25
+ return (
26
+ <Tag
27
+ className={
28
+ `pb_checkbox_kit` +
29
+ (dark === true ? '_dark' : '')
30
+ }
31
+ > <input type="checkbox" name={name} value={value} defaultChecked={checked}/>
32
+ <span className="pb_checkbox_checkmark">
33
+ <i className="far fa-check check_icon"></i>
34
+ </span>
35
+ <span className="pb_checkbox_label">
36
+ {label}
37
+ </span>
38
+ </Tag>
39
+ )
40
+ }
41
+
42
+ export default Checkbox
@@ -0,0 +1,66 @@
1
+ @import "../tokens/colors";
2
+ $transition: $transition_cubic;
3
+
4
+ [class^=pb_checkbox_kit] {
5
+ .pb_checkbox_label {
6
+ display: block;
7
+ position: relative;
8
+ padding-left: $space_lg;
9
+ cursor: pointer;
10
+ font-size: $text_lt_default;
11
+ user-select: none;
12
+ }
13
+ .pb_checkbox_checkmark {
14
+ position: absolute;
15
+ height: 22px;
16
+ width: 22px;
17
+ border: solid $border_light 2px;
18
+ border-radius: $border_rad_light;
19
+ .check_icon{
20
+ opacity: 0;
21
+ position: relative;
22
+ top: -2px;
23
+ left: 1px;
24
+ height: 16px;
25
+ width:16px;
26
+ color: $white;
27
+
28
+ }
29
+ }
30
+
31
+ &:hover input ~ .pb_checkbox_checkmark {
32
+ border-color: $primary_action;
33
+ }
34
+
35
+ input {
36
+ position: absolute;
37
+ opacity: 0;
38
+ cursor: pointer;
39
+ height: 0;
40
+ width: 0;
41
+ display: none;
42
+ &:checked ~ .pb_checkbox_checkmark {
43
+ background-color: $primary_action;
44
+ border-color: $primary_action;
45
+ }
46
+ &:checked ~ .pb_checkbox_checkmark {
47
+ display: block;
48
+ .check_icon{
49
+ opacity: $opacity_10;
50
+ }
51
+ }
52
+ }
53
+
54
+
55
+
56
+ &[class*=_dark] {
57
+ input:checked ~ .pb_checkbox_checkmark {
58
+ background-color: $primary_action_dk;
59
+ border-color: $primary_action_dk;
60
+ }
61
+
62
+ &:hover .pb_checkbox_checkmark {
63
+ border-color: $primary_action_dk;
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
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
16
+
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
36
+
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
53
+
54
+ def value
55
+ default_value(configured_value, "")
56
+ end
57
+
58
+ def name
59
+ default_value(configured_name, "")
60
+ end
61
+
62
+ def checked
63
+ true_value(configured_checked, "checked='true'",nil)
64
+ end
65
+
66
+ def checked_class
67
+ checked ? "on" : "off"
68
+ end
69
+
70
+
71
+ 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
90
+ end
91
+ attr_accessor(*PROPS)
92
+ end
93
+ end
94
+ end