playbook_ui 6.3.1 → 6.5.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/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/data/menu.yml +1 -0
  4. data/app/pb_kits/playbook/index.js +2 -0
  5. data/app/pb_kits/playbook/packs/examples.js +2 -1
  6. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +0 -1
  7. data/app/pb_kits/playbook/pb_button/_button.jsx +1 -0
  8. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +32 -18
  9. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +3 -7
  10. data/app/pb_kits/playbook/pb_button/docs/_button_default_dark.jsx +3 -0
  11. data/app/pb_kits/playbook/pb_button/docs/_button_link.jsx +2 -0
  12. data/app/pb_kits/playbook/pb_button/docs/_button_loading.jsx +2 -0
  13. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +16 -8
  14. data/app/pb_kits/playbook/pb_caption/_caption.jsx +3 -1
  15. data/app/pb_kits/playbook/pb_caption/_caption.scss +3 -0
  16. data/app/pb_kits/playbook/pb_caption/caption.rb +4 -1
  17. data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.html.erb +1 -0
  18. data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.jsx +16 -0
  19. data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.md +3 -0
  20. data/app/pb_kits/playbook/pb_caption/docs/example.yml +2 -0
  21. data/app/pb_kits/playbook/pb_caption/docs/index.js +1 -0
  22. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -0
  23. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +12 -6
  24. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.html.erb +2 -1
  25. data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +39 -0
  26. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +146 -0
  27. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +33 -0
  28. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +85 -0
  29. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +171 -0
  30. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.html.erb +4 -0
  31. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.jsx +13 -0
  32. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +1 -0
  33. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx +12 -0
  34. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +24 -0
  35. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +30 -0
  36. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.html.erb +43 -0
  37. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.jsx +48 -0
  38. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +4 -0
  39. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx +13 -0
  40. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +19 -0
  41. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +25 -0
  42. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.md +1 -0
  43. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hide_icon.html.erb +4 -0
  44. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hide_icon.jsx +13 -0
  45. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.html.erb +37 -0
  46. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.jsx +37 -0
  47. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.md +1 -0
  48. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.html.erb +26 -0
  49. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.jsx +32 -0
  50. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.md +3 -0
  51. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.html.erb +9 -0
  52. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.jsx +17 -0
  53. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.md +1 -0
  54. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb +14 -0
  55. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.jsx +22 -0
  56. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +4 -0
  57. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +13 -0
  58. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.html.erb +4 -0
  59. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.jsx +13 -0
  60. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.md +1 -0
  61. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.html.erb +7 -0
  62. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.jsx +16 -0
  63. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.md +1 -0
  64. data/app/pb_kits/playbook/pb_date_picker/docs/_description.md +7 -0
  65. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +35 -0
  66. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +14 -0
  67. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_calendar_input_icon.scss +32 -0
  68. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_day_styles.scss +53 -0
  69. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_flatpickr_styles.scss +785 -0
  70. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_header_styles.scss +108 -0
  71. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_overrides.scss +44 -0
  72. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_dark.jsx +1 -1
  73. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default.jsx +1 -1
  74. data/app/pb_kits/playbook/pb_filter/_filter.scss +1 -1
  75. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -0
  76. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -0
  77. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +2 -0
  78. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +2 -0
  79. data/app/pb_kits/playbook/pb_form/form_builder.rb +1 -0
  80. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +20 -0
  81. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +5 -2
  82. data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.html.erb +3 -1
  83. data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.jsx +7 -5
  84. data/app/pb_kits/playbook/pb_nav/_horizontal_nav.scss +6 -4
  85. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +18 -14
  86. data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +2 -2
  87. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +0 -1
  88. data/app/pb_kits/playbook/pb_radio/_radio.scss +9 -4
  89. data/app/pb_kits/playbook/pb_select/_select.scss +8 -4
  90. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -3
  91. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +35 -37
  92. data/app/pb_kits/playbook/pb_table/styles/_hover.scss +15 -12
  93. data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +6 -4
  94. data/app/pb_kits/playbook/pb_table/styles/_table-dark.scss +6 -4
  95. data/app/pb_kits/playbook/pb_table/table.rb +3 -3
  96. data/app/pb_kits/playbook/pb_text_input/_text_input.html.erb +1 -0
  97. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +21 -17
  98. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +4 -4
  99. data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -0
  100. data/app/pb_kits/playbook/pb_time/_time.jsx +7 -5
  101. data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +0 -2
  102. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +1 -3
  103. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +0 -3
  104. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +59 -0
  105. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.md +11 -0
  106. data/app/pb_kits/playbook/pb_time/docs/example.yml +1 -0
  107. data/app/pb_kits/playbook/pb_time/docs/index.js +1 -0
  108. data/app/pb_kits/playbook/pb_title/_title.jsx +1 -1
  109. data/app/pb_kits/playbook/pb_title/_title.scss +5 -5
  110. data/app/pb_kits/playbook/pb_title/docs/_title_variants.html.erb +1 -0
  111. data/app/pb_kits/playbook/pb_title/docs/_title_variants.jsx +17 -0
  112. data/app/pb_kits/playbook/pb_title/docs/_title_variants.md +3 -0
  113. data/app/pb_kits/playbook/pb_title/docs/example.yml +2 -0
  114. data/app/pb_kits/playbook/pb_title/docs/index.js +1 -0
  115. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +4 -2
  116. data/app/pb_kits/playbook/vendor.js +6 -0
  117. data/lib/playbook/version.rb +1 -1
  118. metadata +59 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 18865e3e500c379cda9c48bca36f73691ffb01cc29c03fc2d758612bcec45c33
4
- data.tar.gz: 60795da94ab1b4c14909ac9f6028470866af82b02b7a22b26a9223a7a2585c46
3
+ metadata.gz: 5a55e48ca8ae05485ef1443fa53c0ec9aa3e8ec8b0440f5f3a76517836f12b72
4
+ data.tar.gz: a37c2427c4d7ba65f8a58d119544030af41d3ab2450dba05a314b9ba906394b7
5
5
  SHA512:
6
- metadata.gz: eab31af5787a1bfef070b228d13a7369b7d1f4037e11b81798d34eebbfcba3dd476290730214e999f0a8c8583f8c2c93abae6ac1921b92da74e7db35cb987b00
7
- data.tar.gz: '08c04a8e5cffe38491eb21971596f1003708b5a04c1bd7e18f2bedbc42c8b4cb955da9ac60af293e12e42cf57e7b55918b9936a30c7c8a91df460cbd3d41c833'
6
+ metadata.gz: 6ffe757fc8fe8546fdf46e14924c0f73df7a01070933dc715e707d22af58fe158276313af9dd3cd9ef1694faa0f5979cfba0b6c6acae8c50cce61eff66b151ec
7
+ data.tar.gz: 404dcd5a6dbd49fc5287bced646df7135c85c1ea56c37253645b6f9998e459e2c690acb0e7c2cc52137dd06e4958271b586c5a9d689dcf29f4232d091ff9536b
@@ -15,6 +15,7 @@
15
15
  @import 'pb_currency/currency';
16
16
  @import 'pb_dashboard_value/dashboard_value';
17
17
  @import 'pb_date/date';
18
+ @import 'pb_date_picker/date_picker';
18
19
  @import 'pb_date_range_inline/date_range_inline';
19
20
  @import 'pb_date_range_stacked/date_range_stacked';
20
21
  @import 'pb_date_stacked/date_stacked';
@@ -25,6 +25,7 @@ kits:
25
25
  - fixed_confirmation_toast
26
26
  - flex
27
27
  - forms:
28
+ - date_picker
28
29
  - file_upload
29
30
  - form
30
31
  - form_pill
@@ -14,6 +14,7 @@ export Contact from './pb_contact/_contact.jsx'
14
14
  export Currency from './pb_currency/_currency.jsx'
15
15
  export DashboardValue from './pb_dashboard_value/_dashboard_value.jsx'
16
16
  export Date from './pb_date/_date.jsx'
17
+ export DatePicker from './pb_date_picker/_date_picker.jsx'
17
18
  export DateRangeInline from './pb_date_range_inline/_date_range_inline.jsx'
18
19
  export DateRangeStacked from './pb_date_range_stacked/_date_range_stacked.jsx'
19
20
  export DateStacked from './pb_date_stacked/_date_stacked.jsx'
@@ -91,6 +92,7 @@ export dashboardValueSettings from './pb_dashboard_value/dashboardValueSettings'
91
92
 
92
93
  // Other JS/Plugins
93
94
  export pbChart from './plugins/pb_chart.js'
95
+ export datePickerHelper from './pb_date_picker/date_picker_helper.js'
94
96
  export PbTypeahead from './pb_typeahead'
95
97
  export PbPopover from './pb_popover'
96
98
  export PbTable from './pb_table'
@@ -28,6 +28,7 @@ import * as Contact from 'pb_contact/docs'
28
28
  import * as Currency from 'pb_currency/docs'
29
29
  import * as DashboardValue from 'pb_dashboard_value/docs'
30
30
  import * as Date from 'pb_date/docs'
31
+ import * as DatePicker from 'pb_date_picker/docs'
31
32
  import * as DateRangeInline from 'pb_date_range_inline/docs'
32
33
  import * as DateRangeStacked from 'pb_date_range_stacked/docs'
33
34
  import * as DateStacked from 'pb_date_stacked/docs'
@@ -108,6 +109,7 @@ WebpackerReact.setup({
108
109
  ...Currency,
109
110
  ...DashboardValue,
110
111
  ...Date,
112
+ ...DatePicker,
111
113
  ...DateRangeInline,
112
114
  ...DateRangeStacked,
113
115
  ...DateStacked,
@@ -172,4 +174,3 @@ WebpackerReact.setup({
172
174
  ...UserBadge,
173
175
  ...WeekdayStacked,
174
176
  })
175
-
@@ -114,7 +114,6 @@
114
114
  background: $bg_dark;
115
115
 
116
116
  .pb--kit-example {
117
- color: $white;
118
117
 
119
118
  &::after {
120
119
  background: $border-dark;
@@ -97,6 +97,7 @@ const Button = (props: ButtonPropTypes) => {
97
97
  <span className="pb_button_content">
98
98
  <If condition={icon !== null}>
99
99
  <i className={`pb_icon_kit far fa-${icon} fa-fw`} />
100
+ {' '}
100
101
  </If>
101
102
  <span>{text || children}</span>
102
103
  </span>
@@ -10,7 +10,8 @@ $pb_button_size: 40px;
10
10
  $pb_button_v_padding: 7px;
11
11
  $pb_button_h_padding: 34px;
12
12
  $pb_button_hover_darken: 4%;
13
- $pb_button_border_width: 1px;
13
+ $pb_button_border_width: 0px;
14
+
14
15
 
15
16
  @mixin pb_button($bg: $primary_action, $color: $text_dk_default, $border: transparent) {
16
17
  text-rendering: optimizeLegibility;
@@ -47,16 +48,17 @@ $pb_button_border_width: 1px;
47
48
  visibility: visible;
48
49
  }
49
50
 
50
- &:hover {
51
+ &:hover, &:focus {
51
52
  outline: none;
53
+
52
54
  }
53
55
 
54
- &:active,
55
- &:focus {
56
+ &:active {
56
57
  outline: none;
57
58
  border-width: $pb_button_border_width;
58
59
  border-color: darken($bg, $pb_button_hover_darken);
59
60
  }
61
+
60
62
  };
61
63
 
62
64
  @mixin pb_button_hover($bg: darken($primary_action, $pb_button_hover_darken)){
@@ -67,8 +69,10 @@ $pb_button_border_width: 1px;
67
69
  @mixin pb_button_primary {
68
70
  @include pb_button;
69
71
 
70
- &:hover {
71
- @include pb_button_hover;
72
+ @media (hover:hover) {
73
+ &:hover {
74
+ @include pb_button_hover;
75
+ }
72
76
  }
73
77
  }
74
78
 
@@ -76,17 +80,21 @@ $pb_button_border_width: 1px;
76
80
  @mixin pb_button_secondary {
77
81
  @include pb_button(rgba($primary_action, 0.05), $primary_action);
78
82
 
79
- &:hover {
80
- @include pb_button_hover(rgba($primary_action, $opacity_3));
81
- }
83
+ @media (hover:hover) {
84
+ &:hover {
85
+ @include pb_button_hover(rgba($primary_action, $opacity_3));
86
+ }
87
+ }
82
88
  }
83
89
 
84
90
  // Link =========================
85
91
  @mixin pb_button_link {
86
92
  @include pb_button($transparent, $primary_action);
87
93
 
88
- &:hover {
89
- @include pb_button_hover($transparent);
94
+ @media (hover:hover) {
95
+ &:hover {
96
+ @include pb_button_hover($transparent);
97
+ }
90
98
  }
91
99
  }
92
100
 
@@ -120,8 +128,10 @@ $pb_button_border_width: 1px;
120
128
  @mixin pb_button_primary_dark{
121
129
  @include pb_button($primary_action);
122
130
 
123
- &:hover {
124
- @include pb_button_hover($bg: darken($primary_action, $pb_button_hover_darken));
131
+ @media (hover:hover) {
132
+ &:hover {
133
+ @include pb_button_hover($bg: darken($primary_action, $pb_button_hover_darken));
134
+ }
125
135
  }
126
136
  }
127
137
 
@@ -129,17 +139,21 @@ $pb_button_border_width: 1px;
129
139
  @mixin pb_button_secondary_dark{
130
140
  @include pb_button(rgba($white, 0.2), $white);
131
141
 
132
- &:hover {
133
- @include pb_button_hover(rgba($primary_action, $opacity_2));
142
+ @media (hover:hover) {
143
+ &:hover {
144
+ @include pb_button_hover(rgba($primary_action, $opacity_2));
145
+ }
134
146
  }
135
147
  }
136
148
 
137
149
  // Dark Link =============
138
150
  @mixin pb_button_link_dark {
139
- @include pb_button($transparent, $primary_action);
151
+ @include pb_button($transparent, $white);
140
152
 
141
- &:hover {
142
- @include pb_button_hover($transparent);
153
+ @media (hover:hover) {
154
+ &:hover {
155
+ @include pb_button_hover($transparent);
156
+ }
143
157
  }
144
158
  }
145
159
 
@@ -4,26 +4,22 @@ import { Button } from '../../'
4
4
  const ButtonDefault = () => (
5
5
  <div>
6
6
  <Button
7
- dark
8
- marginRight="xl"
9
7
  onClick={() => alert('button clicked!')}
10
8
  text="Button Primary"
11
9
  />
10
+ {' '}
12
11
  <Button
13
12
  onClick={() => alert('button clicked!')}
14
13
  text="Button Secondary"
15
14
  variant="secondary"
16
15
  />
16
+ {' '}
17
17
  <Button
18
18
  onClick={() => alert('button clicked!')}
19
19
  text="Button Link"
20
20
  variant="link"
21
21
  />
22
- <Button
23
- disabled
24
- onClick={() => alert('button clicked!')}
25
- text="Button Disabled"
26
- />
22
+ {' '}
27
23
  <Button
28
24
  disabled
29
25
  onClick={() => alert('button clicked!')}
@@ -7,16 +7,19 @@ const ButtonDefaultDark = () => (
7
7
  dark
8
8
  text="Button Primary"
9
9
  />
10
+ {' '}
10
11
  <Button
11
12
  dark
12
13
  text="Button Secondary"
13
14
  variant="secondary"
14
15
  />
16
+ {' '}
15
17
  <Button
16
18
  dark
17
19
  text="Button Link"
18
20
  variant="link"
19
21
  />
22
+ {' '}
20
23
  <Button
21
24
  dark
22
25
  disabled
@@ -7,11 +7,13 @@ const ButtonLink = () => (
7
7
  link="https://google.com"
8
8
  text="A Tag Button"
9
9
  />
10
+ {' '}
10
11
  <Button
11
12
  link="https://google.com"
12
13
  newWindow
13
14
  text="Open in New Window"
14
15
  />
16
+ {' '}
15
17
  <Button
16
18
  disabled
17
19
  link="https://google.com"
@@ -7,11 +7,13 @@ const ButtonLoading = () => (
7
7
  loading
8
8
  text="Button Primary"
9
9
  />
10
+ {' '}
10
11
  <Button
11
12
  loading
12
13
  text="Button Secondary"
13
14
  variant="secondary"
14
15
  />
16
+ {' '}
15
17
  <Button
16
18
  loading
17
19
  text="A Tag Button Disabled"
@@ -13,13 +13,17 @@
13
13
  & > [class^=pb_button] {
14
14
  margin-right: $space-xs;
15
15
 
16
- &:hover {
17
- background-color:darken($royal, 20%);
16
+ @media (hover:hover) {
17
+ &:hover {
18
+ background-color:darken($royal, 20%);
19
+ }
18
20
  }
19
21
 
20
22
  &[class*=secondary] {
21
- &:hover {
22
- background-color:rgba($primary_action, $opacity_3)
23
+ @media (hover:hover) {
24
+ &:hover {
25
+ background-color:rgba($primary_action, $opacity_3)
26
+ }
23
27
  }
24
28
  }
25
29
 
@@ -42,13 +46,17 @@
42
46
  width: 100%;
43
47
  margin-bottom: $space-xs;
44
48
 
45
- &:hover {
46
- background-color:darken($royal, 20%);
49
+ @media (hover:hover) {
50
+ &:hover {
51
+ background-color:darken($royal, 20%);
52
+ }
47
53
  }
48
54
 
49
55
  &[class*=secondary] {
50
- &:hover {
51
- background-color:rgba($primary_action, $opacity_3)
56
+ @media (hover:hover) {
57
+ &:hover {
58
+ background-color:rgba($primary_action, $opacity_3)
59
+ }
52
60
  }
53
61
  }
54
62
 
@@ -14,6 +14,7 @@ type CaptionProps = {
14
14
  size?: "xs" | "sm" | "md" | "lg" | "xl",
15
15
  tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span" | "div",
16
16
  text?: string,
17
+ variant?: null | "link",
17
18
  }
18
19
 
19
20
  const Caption = (props: CaptionProps) => {
@@ -26,13 +27,14 @@ const Caption = (props: CaptionProps) => {
26
27
  size = 'md',
27
28
  tag = 'div',
28
29
  text,
30
+ variant = null,
29
31
  } = props
30
32
  const Tag = `${tag}`
31
33
 
32
34
  const ariaProps = buildAriaProps(aria)
33
35
  const dataProps = buildDataProps(data)
34
36
  const css = classnames(
35
- buildCss('pb_caption_kit', size),
37
+ buildCss('pb_caption_kit', size, variant),
36
38
  className,
37
39
  globalProps(props)
38
40
  )
@@ -9,6 +9,9 @@
9
9
 
10
10
  &[class^=pb_caption_kit_xs] {
11
11
  @include caption_xs;
12
+ &[class*=_link] {
13
+ color: $primary;
14
+ }
12
15
  }
13
16
  &[class*=dark]{
14
17
  @include caption_dark
@@ -14,9 +14,12 @@ module Playbook
14
14
  values: %w[h1 h2 h3 h4 h5 h6 p span div],
15
15
  default: "div"
16
16
  prop :text
17
+ prop :variant, type: Playbook::Props::Enum,
18
+ values: [nil, "link"],
19
+ default: nil
17
20
 
18
21
  def classname
19
- generate_classname("pb_caption_kit", size)
22
+ generate_classname("pb_caption_kit", size, variant)
20
23
  end
21
24
  end
22
25
  end
@@ -0,0 +1 @@
1
+ <%= pb_rails("caption", props: { text: "Subcaption (link)", size: 'xs', variant: "link" }) %>
@@ -0,0 +1,16 @@
1
+ import React from 'react'
2
+ import { Caption } from '../../'
3
+
4
+ const CaptionVariants = () => {
5
+ return (
6
+ <div>
7
+ <Caption
8
+ size="xs"
9
+ text="Subcaption (link)"
10
+ variant="link"
11
+ />
12
+ </div>
13
+ )
14
+ }
15
+
16
+ export default CaptionVariants
@@ -0,0 +1,3 @@
1
+ Wrap anchor tags around the kit to make it clickable.
2
+
3
+ Link variant can only be applied to size `xs`.
@@ -1,7 +1,9 @@
1
1
  examples:
2
2
  rails:
3
3
  - caption_light: Light UI
4
+ - caption_variants: Variants
4
5
  - caption_dark: Dark UI
5
6
  react:
6
7
  - caption_light: Light UI
8
+ - caption_variants: Variants
7
9
  - caption_dark: Dark UI
@@ -1,2 +1,3 @@
1
1
  export { default as CaptionDark } from './_caption_dark.jsx'
2
2
  export { default as CaptionLight } from './_caption_light.jsx'
3
+ export { default as CaptionVariants } from './_caption_variants.jsx'
@@ -53,6 +53,7 @@ $pb_card_padding:(
53
53
  }
54
54
 
55
55
  @mixin pb_card_dark {
56
+ color: $white;
56
57
  @include pb_card($card_dark, $border_dark);
57
58
  }
58
59
 
@@ -1,8 +1,10 @@
1
1
  @import "../tokens/colors";
2
+ @import "../tokens/transition";
2
3
  $transition: $transition_cubic;
3
4
 
4
5
  [class^=pb_checkbox_kit] {
5
6
  display: inline-flex;
7
+ cursor: pointer;
6
8
  .pb_checkbox_label {
7
9
  padding-left: $space_xs;
8
10
  cursor: pointer;
@@ -15,7 +17,8 @@ $transition: $transition_cubic;
15
17
  width: 22px;
16
18
  border: solid $border_light 2px;
17
19
  border-radius: $border_rad_light;
18
- .check_icon{
20
+ transition: background $transition_default ease, border-color $transition_default ease;
21
+ .check_icon {
19
22
  opacity: 0;
20
23
  position: relative;
21
24
  top: -2px;
@@ -26,9 +29,10 @@ $transition: $transition_cubic;
26
29
 
27
30
  }
28
31
  }
29
-
30
- &:hover input ~ .pb_checkbox_checkmark {
31
- border-color: $primary_action;
32
+ @media (hover:hover) {
33
+ &:hover input ~ .pb_checkbox_checkmark {
34
+ border-color: $primary_action;
35
+ }
32
36
  }
33
37
 
34
38
  input {
@@ -58,8 +62,10 @@ $transition: $transition_cubic;
58
62
  border-color: $primary_action;
59
63
  }
60
64
 
61
- &:hover .pb_checkbox_checkmark {
62
- border-color: $primary_action;
65
+ @media (hover:hover) {
66
+ &:hover .pb_checkbox_checkmark {
67
+ border-color: $primary_action;
68
+ }
63
69
  }
64
70
 
65
71
  &.error {