playbook_ui 3.3.0 → 3.4.0

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/index.js +1 -0
  4. data/app/pb_kits/playbook/kits/pb_legend.js +4 -0
  5. data/app/pb_kits/playbook/packs/examples.js +2 -0
  6. data/app/pb_kits/playbook/packs/kits.js +1 -0
  7. data/app/pb_kits/playbook/pb_card/card.rb +5 -0
  8. data/app/pb_kits/playbook/pb_card/docs/_card_shadow.html.erb +0 -12
  9. data/app/pb_kits/playbook/pb_legend/_legend.html.erb +10 -0
  10. data/app/pb_kits/playbook/pb_legend/_legend.jsx +47 -0
  11. data/app/pb_kits/playbook/pb_legend/_legend.scss +24 -0
  12. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark.html.erb +5 -0
  13. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark.jsx +21 -0
  14. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark_prefix.html.erb +1 -0
  15. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark_prefix.jsx +15 -0
  16. data/app/pb_kits/playbook/pb_legend/docs/_legend_default.html.erb +5 -0
  17. data/app/pb_kits/playbook/pb_legend/docs/_legend_default.jsx +20 -0
  18. data/app/pb_kits/playbook/pb_legend/docs/_legend_prefix.html.erb +1 -0
  19. data/app/pb_kits/playbook/pb_legend/docs/_legend_prefix.jsx +14 -0
  20. data/app/pb_kits/playbook/pb_legend/docs/example.yml +15 -0
  21. data/app/pb_kits/playbook/pb_legend/docs/index.js +4 -0
  22. data/app/pb_kits/playbook/pb_legend/legend.rb +30 -0
  23. data/app/pb_kits/playbook/pb_radio/_radio.jsx +1 -1
  24. data/app/pb_kits/playbook/pb_radio/docs/_radio_custom.html.erb +6 -12
  25. data/app/pb_kits/playbook/pb_radio/docs/_radio_custom.jsx +1 -1
  26. data/app/pb_kits/playbook/pb_radio/docs/_radio_dark.jsx +1 -0
  27. data/app/pb_kits/playbook/pb_radio/docs/_radio_default.jsx +1 -0
  28. data/app/pb_kits/playbook/pb_select/_select.scss +6 -0
  29. data/app/pb_kits/playbook/tokens/_colors.scss +11 -2
  30. data/app/pb_kits/playbook/tokens/_shadows.scss +11 -3
  31. data/app/views/playbook/pages/utilities.html.slim +1 -2
  32. data/lib/playbook/version.rb +1 -1
  33. metadata +17 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0624588df3f0146bc99a772eea3c4c8efc06b3a5299aea28ec1cdf3ad4320071'
4
- data.tar.gz: 76e97087be0d0b643a645e48d0ba6c020f5dbfb3c153ca7ff8f5004c45372e7e
3
+ metadata.gz: d3de5d9a00cdc38a2ec90eb57ad2be970b276298515313d3a6261a5f47a3c0a2
4
+ data.tar.gz: 91ee6b3c0ed79222fff3e11fc50875422a7c489b55a7ae467843791343b5af6c
5
5
  SHA512:
6
- metadata.gz: 343f4902e4562ca958b73ac21a3c2b8fb5549a9133d6d9ae134b0ad0194eb2f1be9df329563454af7be4dd792a35d956a30cb9a19d441bc6bbfb449ac2f2451a
7
- data.tar.gz: bbd5040560708a09b452103e13ddbbaa9ca6d4e669f06d3fdb129978034bdb5c68ce605c6d9897c3ba07311ca4957ec0d55315bfb78ff0042d610be57ebe2548
6
+ metadata.gz: f4c3280e29552ec18e6ede2d5f9428e8f4b81f47966d8d00ba9f606a0c3e840d2396dd4cb227db8a3a9b640dff07e730a9ca62fa96d4eda5f9dec6286b523a12
7
+ data.tar.gz: d746f05ed24a4322458f4f7989efa9ecd6a1021bf050efa3bc98d18e617f5e4cebafabee0052bf7d5152a97a1d94e17253726f86c2315a5dfcba4080b4893336
@@ -27,6 +27,7 @@
27
27
  @import 'pb_label_pill/label_pill';
28
28
  @import 'pb_label_value/label_value';
29
29
  @import 'pb_layout/layout';
30
+ @import 'pb_legend/legend';
30
31
  @import 'pb_line_graph/line_graph';
31
32
  @import 'pb_list/list';
32
33
  @import 'pb_loading_inline/loading_inline';
@@ -26,6 +26,7 @@ export Image from './pb_image/_image.jsx'
26
26
  export LabelPill from './pb_label_pill/_label_pill.jsx'
27
27
  export LabelValue from './pb_label_value/_label_value.jsx'
28
28
  export Layout from './pb_layout/_layout.jsx'
29
+ export Legend from './pb_legend/_legend.jsx'
29
30
  export LineGraph from './pb_line_graph/_line_graph.jsx'
30
31
  export List from './pb_list/_list.jsx'
31
32
  export ListItem from './pb_list/_list_item.jsx'
@@ -0,0 +1,4 @@
1
+ import Legend from '../pb_legend/_legend.jsx'
2
+
3
+ import WebpackerReact from 'webpacker-react'
4
+ WebpackerReact.setup({ Legend })
@@ -39,6 +39,7 @@ import * as image from 'pb_image/docs'
39
39
  import * as LabelPill from 'pb_label_pill/docs'
40
40
  import * as LabelValue from 'pb_label_value/docs'
41
41
  import * as layout from 'pb_layout/docs'
42
+ import * as Legend from 'pb_legend/docs'
42
43
  import * as LineGraph from 'pb_line_graph/docs'
43
44
  import * as list from 'pb_list/docs'
44
45
  import * as LoadingInline from 'pb_loading_inline/docs'
@@ -99,6 +100,7 @@ WebpackerReact.setup(image)
99
100
  WebpackerReact.setup(LabelPill)
100
101
  WebpackerReact.setup(LabelValue)
101
102
  WebpackerReact.setup(layout)
103
+ WebpackerReact.setup(Legend)
102
104
  WebpackerReact.setup(LineGraph)
103
105
  WebpackerReact.setup(list)
104
106
  WebpackerReact.setup(LoadingInline)
@@ -25,6 +25,7 @@ import '../kits/pb_image.js'
25
25
  import '../kits/pb_label_pill.js'
26
26
  import '../kits/pb_label_value.js'
27
27
  import '../kits/pb_layout.js'
28
+ import '../kits/pb_legend.js'
28
29
  import '../kits/pb_line_graph.js'
29
30
  import '../kits/pb_loading_inline.js'
30
31
  import '../kits/pb_message.js'
@@ -1,5 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # DEPRECATION NOTICE - DO NOT USE Shadow Shallow and Shadow Default!
4
+ # Shadow Options: Shallow and Default targed to be removed in release v4.0.0.
5
+ # [https://github.com/powerhome/playbook/issues/550]
6
+ # END DEPRECATION NOTICE
7
+
3
8
  module Playbook
4
9
  module PbCard
5
10
  class Card
@@ -4,18 +4,6 @@
4
4
 
5
5
  <br>
6
6
 
7
- <%= pb_rails("card", props: {shadow: "shallow"}) do %>
8
- Card content
9
- <% end %>
10
-
11
- <br>
12
-
13
- <%= pb_rails("card", props: {shadow: "default"}) do %>
14
- Card content
15
- <% end %>
16
-
17
- <br>
18
-
19
7
  <%= pb_rails("card", props: {shadow: "deep"}) do %>
20
8
  Card content
21
9
  <% end %>
@@ -0,0 +1,10 @@
1
+ <%= content_tag(:div, object.text,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname) do %>
5
+ <%= pb_rails("body", props: {color: object.body_color}) do %>
6
+ <span class="pb_legend_indicator_circle"></span>
7
+ <%= pb_rails("title", props: { dark: object.dark, text: object.prefix_text, tag: "span", size: 4 }) %>
8
+ <%= object.text %>
9
+ <% end %>
10
+ <% end %>
@@ -0,0 +1,47 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import { buildCss } from '../utilities/props'
5
+
6
+ import {
7
+ Body,
8
+ Title,
9
+ } from '../'
10
+
11
+ type LegendProps = {
12
+ color?: 'data_1' | 'data_2' | 'data_3' | 'data_4' | 'data_5' | 'data_6' | 'data_7',
13
+ dark?: Boolean,
14
+ prefixText?: String,
15
+ text: String,
16
+ }
17
+
18
+ const Legend = ({
19
+ color = 'data_1',
20
+ dark = false,
21
+ prefixText,
22
+ text,
23
+ }: LegendProps) => {
24
+ const darkClass = dark ? 'dark' : 'light'
25
+ const bodyCSS = buildCss('pb_legend_kit', color, darkClass)
26
+
27
+ return (
28
+ <div className={bodyCSS}>
29
+ <Body
30
+ color={dark ? 'lighter' : 'light'}
31
+ >
32
+ <span className="pb_legend_indicator_circle" />
33
+ <If condition={prefixText}>
34
+ <Title
35
+ dark={dark}
36
+ size={4}
37
+ tag="span"
38
+ text={` ${prefixText} `}
39
+ />
40
+ </If>
41
+ {` ${text} `}
42
+ </Body>
43
+ </div>
44
+ )
45
+ }
46
+
47
+ export default Legend
@@ -0,0 +1,24 @@
1
+ @import "../tokens/colors";
2
+ @import "../pb_body/body";
3
+
4
+ @mixin pb_button($color: $primary) {
5
+ display: inline-block;
6
+ width: 10px;
7
+ height: 10px;
8
+ border-radius: 5px;
9
+ background: $color;
10
+ }
11
+
12
+ @mixin indicator-colors($colors-list) {
13
+ @each $name, $color in $colors-list {
14
+ &[class*=#{$name}] {
15
+ .pb_legend_indicator_circle {
16
+ @include pb_button($color);
17
+ }
18
+ }
19
+ }
20
+ }
21
+
22
+ [class^=pb_legend_kit] {
23
+ @include indicator-colors($data_colors)
24
+ }
@@ -0,0 +1,5 @@
1
+ <% labels = %W[Windows Doors Roofing Siding Solar Gutters Insulation Other] %>
2
+
3
+ <% (1..7).each do |n| %>
4
+ <%= pb_rails("legend", props: { color: "data_#{n}", dark: true, text: "#{labels[n]}" }) %>
5
+ <% end %>
@@ -0,0 +1,21 @@
1
+ import React from 'react'
2
+ import { Legend } from '../../'
3
+
4
+ const products = ['Windows', 'Doors', 'Roofing', 'Siding', 'Solar Gutters', 'Insulation', 'Other']
5
+
6
+ const LegendDark = () => (
7
+ <div>
8
+ {
9
+ products.map((product, i) => (
10
+ <Legend
11
+ color={`data_${i + 1}`}
12
+ dark
13
+ key={`legend_${i + 1}`}
14
+ text={product}
15
+ />
16
+ ))
17
+ }
18
+ </div>
19
+ )
20
+
21
+ export default LegendDark
@@ -0,0 +1 @@
1
+ <%= pb_rails("legend", props: { dark: true, color: "data_3", prefix_text: "10", text: "Windows" }) %>
@@ -0,0 +1,15 @@
1
+ import React from 'react'
2
+ import { Legend } from '../..'
3
+
4
+ const LegendDarkPrefix = () => (
5
+ <div>
6
+ <Legend
7
+ color="data_3"
8
+ dark
9
+ prefixText="10"
10
+ text="Windows"
11
+ />
12
+ </div>
13
+ )
14
+
15
+ export default LegendDarkPrefix
@@ -0,0 +1,5 @@
1
+ <% labels = %W[Windows Doors Roofing Siding Solar Gutters Insulation Other] %>
2
+
3
+ <% (1..7).each do |n, i| %>
4
+ <%= pb_rails("legend", props: { color: "data_#{n}", text: "#{labels[n]}" }) %>
5
+ <% end %>
@@ -0,0 +1,20 @@
1
+ import React from 'react'
2
+ import { Legend } from '../../'
3
+
4
+ const products = ['Windows', 'Doors', 'Roofing', 'Siding', 'Solar Gutters', 'Insulation', 'Other']
5
+
6
+ const LegendDefault = () => (
7
+ <div>
8
+ {
9
+ products.map((product, i) => (
10
+ <Legend
11
+ color={`data_${i + 1}`}
12
+ key={`legend_${i + 1}`}
13
+ text={product}
14
+ />
15
+ ))
16
+ }
17
+ </div>
18
+ )
19
+
20
+ export default LegendDefault
@@ -0,0 +1 @@
1
+ <%= pb_rails("legend", props: { color: "data_3", prefix_text: "10", text: "Windows" }) %>
@@ -0,0 +1,14 @@
1
+ import React from 'react'
2
+ import { Legend } from '../..'
3
+
4
+ const LegendPrefix = () => (
5
+ <div>
6
+ <Legend
7
+ color="data_3"
8
+ prefixText="10"
9
+ text="Windows"
10
+ />
11
+ </div>
12
+ )
13
+
14
+ export default LegendPrefix
@@ -0,0 +1,15 @@
1
+ examples:
2
+
3
+ rails:
4
+ - legend_default: Default
5
+ - legend_prefix: With Prefix Text
6
+ - legend_dark: Dark Mode
7
+ - legend_dark_prefix: Dark Mode with Prefix Text
8
+
9
+
10
+ react:
11
+ - legend_default: Default
12
+ - legend_prefix: With Prefix Text
13
+ - legend_dark: Dark Mode
14
+ - legend_dark_prefix: Dark Mode with Prefix Text
15
+
@@ -0,0 +1,4 @@
1
+ export { default as LegendDefault } from './_legend_default.jsx'
2
+ export { default as LegendPrefix } from './_legend_prefix.jsx'
3
+ export { default as LegendDark } from './_legend_dark.jsx'
4
+ export { default as LegendDarkPrefix } from './_legend_dark_prefix.jsx'
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module PbLegend
5
+ class Legend
6
+ include Playbook::Props
7
+
8
+ partial "pb_legend/legend"
9
+
10
+ prop :color, type: Playbook::Props::Enum,
11
+ values: (1..7).map { |n| "data_#{n}" },
12
+ default: "data_1"
13
+
14
+ prop :dark, type: Playbook::Props::Boolean,
15
+ default: false
16
+
17
+ prop :prefix_text
18
+
19
+ prop :text, required: true
20
+
21
+ def body_color
22
+ dark ? "lighter" : "light"
23
+ end
24
+
25
+ def classname
26
+ generate_classname("pb_legend_kit", color, dark ? "dark" : "light")
27
+ end
28
+ end
29
+ end
30
+ end
@@ -42,8 +42,8 @@ const Radio = (props: RadioProps) => {
42
42
  {children}
43
43
  <Else />
44
44
  <input
45
+ checked={checked}
45
46
  data={data}
46
- defaultChecked={checked}
47
47
  name={name}
48
48
  onChange={onChange}
49
49
  text={text}
@@ -1,27 +1,21 @@
1
1
  <%= pb_rails("radio", props: {
2
- text: "Power",
3
- name: "group 1",
4
- value: "Power"
2
+ text: "Power"
5
3
  }) do %>
6
- <input type="radio" text="power" name="group 1" value="power">
4
+ <input type="radio" name="group 3" value="power" >
7
5
  <% end %>
8
6
 
9
7
  <br>
10
8
 
11
9
  <%= pb_rails("radio", props: {
12
- text: "Nitro",
13
- name: "group 1",
14
- value: "Power"
10
+ text: "Nitro"
15
11
  }) do %>
16
- <input type="radio" text="nitro" name="group 1" value="nitro">
12
+ <input type="radio" name="group 3" value="nitro" checked>
17
13
  <% end %>
18
14
 
19
15
  <br>
20
16
 
21
17
  <%= pb_rails("radio", props: {
22
- text: "Google",
23
- name: "group 1",
24
- value: "Google"
18
+ text: "Google"
25
19
  }) do %>
26
- <input type="radio" text="google" name="group 1" value="google">
20
+ <input type="radio"name="group 3" value="google">
27
21
  <% end %>
@@ -9,7 +9,6 @@ const RadioCustom = () => {
9
9
  label="Custom Power"
10
10
  >
11
11
  <input
12
- defaultChecked
13
12
  name="custom"
14
13
  type="radio"
15
14
  value="power"
@@ -21,6 +20,7 @@ const RadioCustom = () => {
21
20
  label="Custom Nitro"
22
21
  >
23
22
  <input
23
+ checked
24
24
  name="custom"
25
25
  type="radio"
26
26
  value="nitro"
@@ -12,6 +12,7 @@ const RadioDark = () => {
12
12
  />
13
13
  <br />
14
14
  <Radio
15
+ checked
15
16
  dark
16
17
  label="Nitro"
17
18
  name="Group1"
@@ -11,6 +11,7 @@ const RadioDefault = () => {
11
11
  />
12
12
  <br />
13
13
  <Radio
14
+ checked
14
15
  label="Nitro"
15
16
  name="Group2"
16
17
  value="Nitro"
@@ -16,6 +16,11 @@
16
16
  &:disabled ~ .pb_select_kit_caret {
17
17
  opacity: 0.5;
18
18
  }
19
+ color: transparent !important;
20
+ text-shadow: 0 0 0 $text_lt_default !important;
21
+ }
22
+ option {
23
+ color: $text_lt_default;
19
24
  }
20
25
  .pb_select_kit_label {
21
26
  margin-bottom: $space_xs;
@@ -33,6 +38,7 @@
33
38
  color: $text_lt_default;
34
39
  font-size: ($font_large + 3);
35
40
  transform: translateY(-50%);
41
+ pointer-events: none;
36
42
  }
37
43
  &[class*=_dark] {
38
44
  select {
@@ -103,8 +103,17 @@ $border_colors: (
103
103
  );
104
104
 
105
105
  // Shadow colors ----------------------
106
- $shadow_light: rgba($royal, $opacity_1);
107
- $shadow_dark: rgba($slate, $opacity_1);
106
+ $shadow_light: rgba(#3C6AAC, $opacity_2);
107
+
108
+ /*
109
+ DEPRECATED - DO NOT USE!
110
+ This targed to be removed in release v4.0.0.
111
+ [https://github.com/powerhome/playbook/issues/550]
112
+ */
113
+ $shadow_dark: rgba(#3C6AAC, $opacity_2);
114
+
115
+ /* END DEPRECATION */
116
+
108
117
  $shadow_colors: (
109
118
  shadow_light: $shadow_light,
110
119
  shadow_dark: $shadow_dark
@@ -2,11 +2,19 @@
2
2
  @import "opacity";
3
3
 
4
4
  $shadow_none: 0 0 0 0 transparent;
5
+
6
+ /*
7
+ DEPRECATED - DO NOT USE!
8
+ This targed to be removed in release v4.0.0.
9
+ [https://github.com/powerhome/playbook/issues/550]
10
+ */
5
11
  $shadow_shallow: 0 1px 1px 0 $shadow_light;
6
12
  $shadow_default: 0 1px 5px 0 $shadow_light;
7
- $shadow_deep: 0 2px 10px 0 $shadow_light;
8
- $shadow_deeper: 0 7px 18px 0 $shadow_light;
9
- $shadow_deepest: 0 31px 41px 0 rgba($shadow_light, $opacity_1), 0 2px 16px 0 rgba($shadow_light, 0.08);
13
+ /* END DEPRECATED */
14
+
15
+ $shadow_deep: 0 4px 10px 0 rgba($shadow_light, 0.16);
16
+ $shadow_deeper: 0 12px 28px 0 rgba($shadow_light, 0.18);
17
+ $shadow_deepest: 0 30px 38px 4px $shadow_light, 0 2px 14px 4px rgba($shadow_light, 0.1);
10
18
  $box_shadows: (
11
19
  shadow_none: $shadow_none,
12
20
  shadow_shallow: $shadow_shallow,
@@ -74,8 +74,7 @@ br
74
74
  // Shadow --------------------------
75
75
  = render :partial => "playbook/pages/utilities/pb_doc_color",
76
76
  locals:{ title: "Shadow",
77
- colors: [{name: "Shadow Light", variable: "shadow_light"},
78
- {name: "Shadow Dark", variable: "shadow_dark", dark: true}]}
77
+ colors: [{name: "Shadow Light", variable: "shadow_light"}]}
79
78
 
80
79
  // Products ------------------------
81
80
  = render :partial => "playbook/pages/utilities/pb_doc_color",
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- VERSION = "3.3.0"
4
+ VERSION = "3.4.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-01-02 00:00:00.000000000 Z
12
+ date: 2020-01-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -426,6 +426,7 @@ files:
426
426
  - app/pb_kits/playbook/kits/pb_label_pill.js
427
427
  - app/pb_kits/playbook/kits/pb_label_value.js
428
428
  - app/pb_kits/playbook/kits/pb_layout.js
429
+ - app/pb_kits/playbook/kits/pb_legend.js
429
430
  - app/pb_kits/playbook/kits/pb_line_graph.js
430
431
  - app/pb_kits/playbook/kits/pb_list.js
431
432
  - app/pb_kits/playbook/kits/pb_loading_inline.js
@@ -820,6 +821,20 @@ files:
820
821
  - app/pb_kits/playbook/pb_layout/docs/index.js
821
822
  - app/pb_kits/playbook/pb_layout/layout.rb
822
823
  - app/pb_kits/playbook/pb_layout/sidebar.rb
824
+ - app/pb_kits/playbook/pb_legend/_legend.html.erb
825
+ - app/pb_kits/playbook/pb_legend/_legend.jsx
826
+ - app/pb_kits/playbook/pb_legend/_legend.scss
827
+ - app/pb_kits/playbook/pb_legend/docs/_legend_dark.html.erb
828
+ - app/pb_kits/playbook/pb_legend/docs/_legend_dark.jsx
829
+ - app/pb_kits/playbook/pb_legend/docs/_legend_dark_prefix.html.erb
830
+ - app/pb_kits/playbook/pb_legend/docs/_legend_dark_prefix.jsx
831
+ - app/pb_kits/playbook/pb_legend/docs/_legend_default.html.erb
832
+ - app/pb_kits/playbook/pb_legend/docs/_legend_default.jsx
833
+ - app/pb_kits/playbook/pb_legend/docs/_legend_prefix.html.erb
834
+ - app/pb_kits/playbook/pb_legend/docs/_legend_prefix.jsx
835
+ - app/pb_kits/playbook/pb_legend/docs/example.yml
836
+ - app/pb_kits/playbook/pb_legend/docs/index.js
837
+ - app/pb_kits/playbook/pb_legend/legend.rb
823
838
  - app/pb_kits/playbook/pb_line_graph/_line_graph.html.erb
824
839
  - app/pb_kits/playbook/pb_line_graph/_line_graph.jsx
825
840
  - app/pb_kits/playbook/pb_line_graph/_line_graph.scss