playbook_ui 13.5.0 → 13.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/pb_body/_body.tsx +1 -1
  4. data/app/pb_kits/playbook/pb_caption/_caption.tsx +1 -1
  5. data/app/pb_kits/playbook/pb_card/card.rb +1 -1
  6. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +1 -1
  7. data/app/pb_kits/playbook/pb_dashboard_value/dashboard_value.rb +2 -2
  8. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +1 -1
  9. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +2 -2
  10. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.tsx +1 -1
  11. data/app/pb_kits/playbook/pb_file_upload/file_upload.rb +1 -1
  12. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +0 -8
  13. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +1 -4
  14. data/app/pb_kits/playbook/pb_flex/flex_item.rb +1 -9
  15. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +6 -6
  16. data/app/pb_kits/playbook/pb_passphrase/passphrase.rb +1 -1
  17. data/app/pb_kits/playbook/pb_radio/radio.rb +1 -1
  18. data/app/pb_kits/playbook/pb_select/select.rb +1 -1
  19. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +1 -1
  20. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +1 -1
  21. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +1 -1
  22. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.rb +1 -1
  23. data/app/pb_kits/playbook/pb_source/source.rb +1 -1
  24. data/app/pb_kits/playbook/pb_table/docs/_table_header.html.erb +31 -27
  25. data/app/pb_kits/playbook/pb_table/docs/_table_header.md +8 -1
  26. data/app/pb_kits/playbook/pb_table/styles/_table_header.scss +20 -1
  27. data/app/pb_kits/playbook/pb_table/table_header.html.erb +23 -49
  28. data/app/pb_kits/playbook/pb_table/table_header.rb +34 -6
  29. data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -2
  30. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.tsx +1 -1
  31. data/app/pb_kits/playbook/pb_title/_title.tsx +1 -1
  32. data/app/pb_kits/playbook/pb_toggle/toggle.rb +1 -1
  33. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +1 -1
  34. data/app/pb_kits/playbook/tokens/_overflow.scss +10 -0
  35. data/app/pb_kits/playbook/utilities/_overflow.scss +22 -0
  36. data/app/pb_kits/playbook/utilities/globalProps.ts +23 -8
  37. data/dist/playbook-rails.js +1 -1
  38. data/lib/playbook/classnames.rb +1 -0
  39. data/lib/playbook/kit_base.rb +4 -2
  40. data/lib/playbook/overflow.rb +33 -0
  41. data/lib/playbook/props/base.rb +1 -1
  42. data/lib/playbook/props/hash.rb +1 -1
  43. data/lib/playbook/version.rb +2 -2
  44. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3fbde0c47559510e98e402f39e88e8eee92d920fe6316a10cf69edd6433c593d
4
- data.tar.gz: 528eb97cc4627c05a97fdc42c44e2b306481fe8467f9abf38dd135e95916c5a1
3
+ metadata.gz: 7172374694713ed870dd3d7801aba460bca488288c56a3d1894ae76455e22500
4
+ data.tar.gz: f3fd4ed95bcd7742f66dfeb9831777e9fed9a82fe258001f8b2f5a7dab3da54d
5
5
  SHA512:
6
- metadata.gz: 476c5d3b3afc10856fad58a4a417b9124a45bce23ac7af0987fb94e7e5987785786472c35b35a8fe8c1acb8db6c5c040c423f29886c26a0dd8ec7c7ea2baf072
7
- data.tar.gz: ae782bd74d7a7cf8ee5f88a804079742e28044fc0f7228b1243292711c1d40bf6c8f54c2ed004bc8994321183d35efe7e975c867a99e5baba781f939d8eb76e9
6
+ metadata.gz: 24f343c6fa7004493b0f18478b3f493f6f6167cfce5a98eacd413d74958dfb204e12e4e53ec809d9e7811d81a611de33fecf95d2c5ae527092e36660beca7178
7
+ data.tar.gz: 958ecce577a1c495085bdea636e656d67a6e805b45b635070d8d7713b623c9ccc09854662b08c06d2c5c21c5631d2370efc59b6596869f038afa73db32c83fca
@@ -113,5 +113,6 @@
113
113
  @import './utilities/border_radius';
114
114
  @import './utilities/hover';
115
115
  @import './utilities/text_align';
116
+ @import './utilities/overflow';
116
117
 
117
118
  @import 'pb_multi_level_select/multi_level_select';
@@ -24,7 +24,7 @@ type BodyProps = {
24
24
  } & GlobalProps
25
25
 
26
26
  const Body = (props: BodyProps): React.ReactElement => {
27
- if (props.variant) deprecatedProps("Body", ["status"]) //status prop is deprecated, use color instead please
27
+ if (props.variant) deprecatedProps() //status prop is deprecated, use color instead please
28
28
  const {
29
29
  aria = {},
30
30
  children,
@@ -17,7 +17,7 @@ type CaptionProps = {
17
17
  } & GlobalProps;
18
18
 
19
19
  const Caption = (props: CaptionProps): React.ReactElement => {
20
- if (props.variant) deprecatedProps('Title', ['variant']) //variant prop is deprecated, use color instead
20
+ if (props.variant) deprecatedProps() //variant prop is deprecated, use color instead
21
21
  const {
22
22
  aria = {},
23
23
  children,
@@ -4,7 +4,7 @@ module Playbook
4
4
  module PbCard
5
5
  class Card < Playbook::KitBase
6
6
  prop :selected, type: Playbook::Props::Boolean, default: false
7
- prop :highlight, type: Playbook::Props::Hash,
7
+ prop :highlight, type: Playbook::Props::HashProp,
8
8
  default: {}
9
9
  prop :tag, type: Playbook::Props::Enum,
10
10
  values: %w[div section footer header article aside main nav],
@@ -10,7 +10,7 @@ module Playbook
10
10
  prop :value
11
11
  prop :name
12
12
 
13
- prop :input_options, type: Playbook::Props::Hash,
13
+ prop :input_options, type: Playbook::Props::HashProp,
14
14
  default: {}
15
15
  prop :required, type: Playbook::Props::Boolean,
16
16
  default: false
@@ -6,10 +6,10 @@ module Playbook
6
6
  prop :align, type: Playbook::Props::Enum,
7
7
  values: %w[left center right],
8
8
  default: "left"
9
- prop :stat_change, type: Playbook::Props::Hash,
9
+ prop :stat_change, type: Playbook::Props::HashProp,
10
10
  default: {}
11
11
  prop :stat_label
12
- prop :stat_value, type: Playbook::Props::Hash,
12
+ prop :stat_value, type: Playbook::Props::HashProp,
13
13
  default: {}
14
14
 
15
15
  def formatted_stat_value
@@ -49,7 +49,7 @@ type DatePickerProps = {
49
49
  } & GlobalProps
50
50
 
51
51
  const DatePicker = (props: DatePickerProps): React.ReactElement => {
52
- if (props.plugins) deprecatedProps('Date Picker', ['plugins'])
52
+ if (props.plugins) deprecatedProps()
53
53
 
54
54
  const {
55
55
  allowInput = false,
@@ -34,9 +34,9 @@ module Playbook
34
34
  default: false
35
35
  prop :label, type: Playbook::Props::String,
36
36
  default: "Date Picker"
37
- prop :input_aria, type: Playbook::Props::Hash,
37
+ prop :input_aria, type: Playbook::Props::HashProp,
38
38
  default: {}
39
- prop :input_data, type: Playbook::Props::Hash,
39
+ prop :input_data, type: Playbook::Props::HashProp,
40
40
  default: {}
41
41
  prop :max_date, type: Playbook::Props::String
42
42
  prop :min_date, type: Playbook::Props::String
@@ -19,7 +19,7 @@ type DateTimeStackedProps = {
19
19
  }
20
20
 
21
21
  const DateTimeStacked = (props: DateTimeStackedProps): React.ReactElement => {
22
- if (props.date) deprecatedProps('Date Time Stacked', ['date'])
22
+ if (props.date) deprecatedProps()
23
23
 
24
24
  const {
25
25
  date,
@@ -18,7 +18,7 @@ module Playbook
18
18
  prop :full_width, type: Playbook::Props::Boolean,
19
19
  default: false
20
20
 
21
- prop :input_options, type: Playbook::Props::Hash,
21
+ prop :input_options, type: Playbook::Props::HashProp,
22
22
  default: {}
23
23
 
24
24
  def classname
@@ -44,14 +44,6 @@
44
44
  order: -1;
45
45
  }
46
46
 
47
- $overflow_values: auto, hidden, inherit, initial, scroll, visible;
48
-
49
- @each $value in $overflow_values {
50
- &.overflow_#{$value} {
51
- overflow: #{$value}
52
- }
53
- }
54
-
55
47
  @for $i from 0 through 12 {
56
48
  &[class*=_flex_#{$i}]{
57
49
  flex: $i;
@@ -8,7 +8,6 @@ type FlexItemPropTypes = {
8
8
  grow?: boolean,
9
9
  shrink?: boolean,
10
10
  className?: string,
11
- overflow?: "auto" | "hidden" | "initial" | "inherit" | "scroll" | "visible",
12
11
  order?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'first' | 'none',
13
12
  alignSelf?: "start" | "end" | "center" | "stretch" | null,
14
13
  displayFlex?: boolean
@@ -20,7 +19,6 @@ const FlexItem = (props: FlexItemPropTypes): React.ReactElement => {
20
19
  className,
21
20
  fixedSize,
22
21
  grow,
23
- overflow = null,
24
22
  shrink,
25
23
  flex = 'none',
26
24
  order = 'none',
@@ -30,7 +28,6 @@ const FlexItem = (props: FlexItemPropTypes): React.ReactElement => {
30
28
  const growClass = grow === true ? 'grow' : ''
31
29
  const displayFlexClass = displayFlex === true ? `display_flex_${displayFlex}` : ''
32
30
  const flexClass = flex !== 'none' ? `flex_${flex}` : ''
33
- const overflowClass = overflow ? `overflow_${overflow}` : ''
34
31
  const shrinkClass = shrink === true ? 'shrink' : ''
35
32
  const alignSelfClass = alignSelf ? `align_self_${alignSelf}` : ''
36
33
  const fixedStyle =
@@ -39,7 +36,7 @@ const FlexItem = (props: FlexItemPropTypes): React.ReactElement => {
39
36
 
40
37
  return (
41
38
  <div
42
- className={classnames(buildCss('pb_flex_item_kit', growClass, shrinkClass, flexClass, displayFlexClass), overflowClass, orderClass, alignSelfClass, globalProps(props), className)}
39
+ className={classnames(buildCss('pb_flex_item_kit', growClass, shrinkClass, flexClass, displayFlexClass), orderClass, alignSelfClass, globalProps(props), className)}
43
40
  style={fixedStyle}
44
41
  >
45
42
  {children}
@@ -9,10 +9,6 @@ module Playbook
9
9
  prop :shrink, type: Playbook::Props::Boolean,
10
10
  default: false
11
11
 
12
- prop :overflow, type: Playbook::Props::Enum,
13
- values: %w[auto hidden inherit initial scroll visible] + [nil],
14
- default: nil
15
-
16
12
  prop :align_self, type: Playbook::Props::Enum,
17
13
  values: %w[start center end stretch] + [nil],
18
14
  default: nil
@@ -21,7 +17,7 @@ module Playbook
21
17
  default: false
22
18
 
23
19
  def classname
24
- generate_classname("pb_flex_item_kit", fixed_size_class, grow_class, shrink_class, display_flex_class) + overflow_class + align_self_class
20
+ generate_classname("pb_flex_item_kit", fixed_size_class, grow_class, shrink_class, display_flex_class) + align_self_class
25
21
  end
26
22
 
27
23
  def style_value
@@ -46,10 +42,6 @@ module Playbook
46
42
  grow ? "grow" : nil
47
43
  end
48
44
 
49
- def overflow_class
50
- overflow ? " overflow_#{overflow}" : ""
51
- end
52
-
53
45
  def shrink_class
54
46
  shrink ? "shrink" : nil
55
47
  end
@@ -33,7 +33,7 @@
33
33
  margin: 0;
34
34
  }
35
35
  &[class*="_active"] {
36
- .pb_collapsible_main_kit {
36
+ >.pb_collapsible_main_kit {
37
37
  background-color: $active_light;
38
38
  }
39
39
  }
@@ -46,7 +46,7 @@
46
46
  }
47
47
  }
48
48
  &[class*="_active"] {
49
- .pb_collapsible_main_kit {
49
+ >.pb_collapsible_main_kit {
50
50
  background-color: mix($white, $card_dark, 20%);
51
51
  .pb_nav_list_item_text_collapsible,
52
52
  svg {
@@ -63,7 +63,7 @@
63
63
  .pb_collapsible_kit {
64
64
  &[class*="_active"] {
65
65
  background-color: unset;
66
- .pb_collapsible_main_kit {
66
+ >.pb_collapsible_main_kit {
67
67
  background-color: $primary;
68
68
  border-radius: $border_rad_heavier;
69
69
  .pb_nav_list_item_text_collapsible,
@@ -94,7 +94,7 @@
94
94
  &.dark {
95
95
  .pb_collapsible_kit {
96
96
  &[class*="_active"] {
97
- .pb_collapsible_main_kit {
97
+ >.pb_collapsible_main_kit {
98
98
  background-color: $primary;
99
99
  }
100
100
  .pb_nav_list_item_link {
@@ -112,7 +112,7 @@
112
112
  .pb_collapsible_kit {
113
113
  &[class*="_active"] {
114
114
  background-color: unset;
115
- .pb_collapsible_main_kit {
115
+ >.pb_collapsible_main_kit {
116
116
  background-color: $active_light;
117
117
  border-radius: $border_rad_heavier;
118
118
  .pb_nav_list_item_text_collapsible,
@@ -128,7 +128,7 @@
128
128
  &.dark {
129
129
  .pb_collapsible_kit {
130
130
  &[class*="_active"] {
131
- .pb_collapsible_main_kit {
131
+ >.pb_collapsible_main_kit {
132
132
  background-color: mix($white, $card_dark, 20%) !important;
133
133
  .pb_nav_list_item_text_collapsible,
134
134
  svg {
@@ -4,7 +4,7 @@ module Playbook
4
4
  module PbPassphrase
5
5
  class Passphrase < Playbook::KitBase
6
6
  prop :confirmation, type: Playbook::Props::Boolean, default: false
7
- prop :input_props, type: Playbook::Props::Hash, default: {}
7
+ prop :input_props, type: Playbook::Props::HashProp, default: {}
8
8
  prop :label
9
9
  prop :show_tips_below, type: Playbook::Props::Enum,
10
10
  values: %w[always xs sm md lg xl],
@@ -11,7 +11,7 @@ module Playbook
11
11
  default: false
12
12
  prop :error, type: Playbook::Props::Boolean,
13
13
  default: false
14
- prop :input_options, type: Playbook::Props::Hash,
14
+ prop :input_options, type: Playbook::Props::HashProp,
15
15
  default: {}
16
16
  prop :name, type: Playbook::Props::String,
17
17
  default: "radio_name"
@@ -6,7 +6,7 @@ require "action_view"
6
6
  module Playbook
7
7
  module PbSelect
8
8
  class Select < Playbook::KitBase
9
- prop :attributes, type: Playbook::Props::Hash,
9
+ prop :attributes, type: Playbook::Props::HashProp,
10
10
  default: {}
11
11
  prop :blank_selection
12
12
  prop :compact, type: Playbook::Props::Boolean, default: false
@@ -15,7 +15,7 @@ module Playbook
15
15
  default: true
16
16
  prop :input_id, type: Playbook::Props::String
17
17
 
18
- prop :input_options, type: Playbook::Props::Hash,
18
+ prop :input_options, type: Playbook::Props::HashProp,
19
19
  default: {}
20
20
  prop :name
21
21
  prop :text
@@ -23,7 +23,7 @@ module Playbook
23
23
  default: false
24
24
  prop :value
25
25
 
26
- prop :input_options, type: Playbook::Props::Hash,
26
+ prop :input_options, type: Playbook::Props::HashProp,
27
27
  default: {}
28
28
 
29
29
  def classname
@@ -21,7 +21,7 @@ module Playbook
21
21
  default: false
22
22
  prop :value
23
23
 
24
- prop :input_options, type: Playbook::Props::Hash,
24
+ prop :input_options, type: Playbook::Props::HashProp,
25
25
  default: {}
26
26
 
27
27
  # Conditional rendering for input field
@@ -12,7 +12,7 @@ module Playbook
12
12
  prop :variant, type: Playbook::Props::Enum,
13
13
  values: %w[radio checkbox],
14
14
  default: "radio"
15
- prop :input_options, type: Playbook::Props::Hash,
15
+ prop :input_options, type: Playbook::Props::HashProp,
16
16
  default: {}
17
17
 
18
18
  def classname
@@ -10,7 +10,7 @@ module Playbook
10
10
  prop :type, type: Playbook::Props::Enum,
11
11
  values: %w[user retail inbound outbound prospecting events referral],
12
12
  default: "inbound"
13
- prop :user, type: Playbook::Props::Hash, default: {}
13
+ prop :user, type: Playbook::Props::HashProp, default: {}
14
14
 
15
15
  def type_text
16
16
  if type == "user" || (type == "referral" && user.present?)
@@ -2,27 +2,31 @@
2
2
  <thead>
3
3
  <tr>
4
4
  <%= pb_rails("table/table_header", props: {
5
- id: "name",
6
- colspan: 2,
5
+ text: "Territory",
6
+ id: "territory",
7
7
  sort_menu: [
8
- { item: "Name", link: "?q[sorts]=name+desc", active: false, direction: "desc" },
9
- { item: "Name", link: "?q[sorts]=name+asc", active: true, direction: "asc" },
8
+ { item: "Territory", link: "?sort=territory_desc", active: params["sort"] == "territory_desc", direction: "desc" },
9
+ { item: "Territory", link: "?sort=territory_asc", active: params["sort"] == "territory_asc", direction: "asc" }
10
10
  ],
11
11
  }) %>
12
12
  <%= pb_rails("table/table_header", props: {
13
- text: "Age",
14
- id: "age",
13
+ id: "name",
14
+ text: "Full Name",
15
+ colspan: 2,
15
16
  sort_menu: [
16
- { item: "Age", link: "?q[sorts]=age+desc", active: false, direction: "desc" },
17
- { item: "Age", link: "?q[sorts]=age+asc", active: false, direction: "asc" },
17
+ { item: "First Name Descending", link: "?sort=firstname_desc", active: params["sort"] == "firstname_desc", direction: "desc" },
18
+ { item: "First Name Ascending", link: "?sort=firstname_asc", active: params["sort"] == "firstname_asc", direction: "asc" },
19
+ { item: "Last Name Descending", link: "?sort=lastname_desc", active: params["sort"] == "lastname_desc", direction: "desc" },
20
+ { item: "Last Name Ascending", link: "?sort=lastname_asc", active: params["sort"] == "lastname_asc", direction: "asc" }
18
21
  ],
19
22
  }) %>
20
23
  <%= pb_rails("table/table_header", props: {
21
- text: "Territory",
22
- id: "territory",
24
+ text: "Age",
25
+ id: "age",
26
+ sort_dropdown: true,
23
27
  sort_menu: [
24
- { item: "Territory", link: "?q[sorts]=territory+desc", active: false, direction: "desc" },
25
- { item: "Territory", link: "?q[sorts]=territory+asc", active: false, direction: "asc" },
28
+ { item: "Age Descending", link: "?sort=age_desc", active: params["sort"] == "age_desc", direction: "desc" },
29
+ { item: "Age Ascending", link: "?sort=age_asc", active: params["sort"] == "age_asc", direction: "asc" }
26
30
  ],
27
31
  }) %>
28
32
  <%= pb_rails("table/table_header", props: { text: "Job Title" }) %>
@@ -30,25 +34,25 @@
30
34
  </thead>
31
35
  <tbody>
32
36
  <tr>
33
- <td>Name 1</td>
34
- <td>Name 2</td>
35
- <td>Value 3</td>
36
- <td>Value 4</td>
37
- <td>Value 5</td>
37
+ <td>Ter 1</td>
38
+ <td>First Name 1</td>
39
+ <td>Last Name 1</td>
40
+ <td>Age 1</td>
41
+ <td>Job 1</td>
38
42
  </tr>
39
43
  <tr>
40
- <td>Name 1</td>
41
- <td>Name 2</td>
42
- <td>Value 3</td>
43
- <td>Value 4</td>
44
- <td>Value 5</td>
44
+ <td>Ter 2</td>
45
+ <td>First Name 2</td>
46
+ <td>Last Name 2</td>
47
+ <td>Age 2</td>
48
+ <td>Job 2</td>
45
49
  </tr>
46
50
  <tr>
47
- <td>Name 1</td>
48
- <td>Name 2</td>
49
- <td>Value 3</td>
50
- <td>Value 4</td>
51
- <td>Value 5</td>
51
+ <td>Ter 3</td>
52
+ <td>First Name 3</td>
53
+ <td>Last Name 3</td>
54
+ <td>Age 3</td>
55
+ <td>Job 3</td>
52
56
  </tr>
53
57
  </tbody>
54
58
  <% end %>
@@ -1 +1,8 @@
1
- A kit that produces a `<th>` tag. You can also use the `sort_menu` prop to make the header a sortable link, just like <a href="https://playbook.powerapp.cloud/kits/filter#sort-only" target="_blank">our filter kit.</a>
1
+ The `table_header` subcomponent creates `<th>` elements and optionally accepts:
2
+
3
+ * `colspan` (number) for setting column span
4
+ * `sort_menu` accepts sort options as an array of `item` objects.
5
+ presence of `sort_menu` enables the sort link within the header
6
+ * `sort_dropdown` (boolean) optionally declares that (true) clicking a header's sort link opens a dropdown of sort options, or (false) each sort link click cycles through available sort_menu items in the order they are passed
7
+ * passing a valid `colspan` will render sort options within a dropdown by default, without requiring `sort_dropdown` explicitly. Alternatively, the default sort dropdown can be prevented on headers with `colspan` by setting `sort_dropdown: false`, which reverts the column to sorting to multi-click default (each click of the sort link cycles through the available sort_menu items in the order they are passed)
8
+ * `id` (string) is required for headers that have a dropdown (for popover reference); otherwise they are optional
@@ -1,4 +1,3 @@
1
-
2
1
  $text_align_values: (
3
2
  start: start,
4
3
  end: end,
@@ -22,6 +21,15 @@ $text_align_values: (
22
21
  }
23
22
  }
24
23
 
24
+ .pb_th_link:hover {
25
+ background-color: rgba($primary, 0.03);
26
+ color: $primary !important;
27
+ }
28
+
29
+ .pb_th_link, .pb_th_nolink{
30
+ padding: $space_xxs;
31
+ }
32
+
25
33
  [class^=pb_table] {
26
34
  thead {
27
35
  [class^=pb_th_active] {
@@ -29,3 +37,14 @@ $text_align_values: (
29
37
  }
30
38
  }
31
39
  }
40
+
41
+ [class*="pb_table_header_dropdown"][class*="_vertical"] {
42
+ &[class*="_normal"] {
43
+ [class*="pb_nav_list_kit_item"][class*="pb_nav_list_item"] {
44
+ &[class*="_link"] {
45
+ border-left-width: 0px;
46
+ background-color: #fff !important;
47
+ }
48
+ }
49
+ }
50
+ }
@@ -4,61 +4,35 @@
4
4
  class: object.classname,
5
5
  data: object.data,
6
6
  id: "pb-th#{object.id}") do %>
7
- <% object.sort_menu.each do |item| %>
8
- <% if item[:active] == true %>
9
- <%= pb_rails("flex", props:{ align: object.align_content }) do %>
10
- <%= content.presence || content_tag(:span, item[:item], class: "pb_th_active") %>
11
- <span class="pb_th_active">
12
- <%= pb_rails("icon", props: { icon: object.sort_icon(item[:direction]),
13
- fixed_width: true,
14
- classname: "pb_th_active",
15
- padding_left: "xs" }) %>
16
- </span>
17
- <% end %>
18
- <% end %>
19
- <% end %>
20
- <% if object.sort_menu.all? { |item| item[:active] == false } %>
21
- <%= pb_rails("flex", props:{ align: object.align_content }) do %>
7
+ <% unless sorting_style? %>
8
+ <%= pb_rails("flex", props:{ align: object.align_content, justify: object.justify_sort_icon, classname: "pb_th_nolink" }) do %>
22
9
  <%= content.presence || object.text %>
23
- <%= pb_rails("icon", props: { icon: "arrow-up-arrow-down",
24
- fixed_width: true,
25
- padding_left: "xs" }) %>
26
10
  <% end %>
27
11
  <% else %>
28
- <%= content.presence || object.text %>
29
- <% end %>
30
- <% if object.sort_menu != [{}] && object.colspan > 1 %>
31
- <%= pb_rails("popover", props: { classname: "pb_filter_sort_menu",
32
- close_on_click: "outside",
33
- trigger_element_id: "pb-th#{object.id}",
34
- tooltip_id: "sort-filter-btn-tooltip#{object.id}",
35
- position: object.placement ,
36
- padding: 'none'}) do %>
37
- <%= pb_rails("list") do %>
38
- <% object.sort_menu.each do |item| %>
39
- <%= pb_rails("list/item") do %>
40
- <%= pb_rails("button", props: { variant: "link" ,
41
- classname: "p-0",
42
- text: item[:item],
43
- link: item[:link],
44
- icon: sort_icon(item[:direction]),
45
- icon_right: true }) %>
12
+ <%= link_to next_link, style: link_style do %>
13
+ <%= pb_rails("flex", props:{ align: object.align_content, justify: object.justify_sort_icon, classname: "pb_th_link" }) do %>
14
+ <%= content.presence || object.text %>
15
+ <% if sorting_style? %>
16
+ <%= pb_rails("icon", props: { icon: object.sort_icon(active_item[:direction], active_item[:active]),
17
+ fixed_width: true,
18
+ classname: active_item.any? ? "pb_th_active" : "",
19
+ padding_left: "xs" }) %>
20
+ <% end %>
21
+ <% end %>
22
+ <% end %>
23
+ <% if use_dropdown_select %>
24
+ <%= pb_rails("popover", props: { classname: "pb_filter_sort_menu",
25
+ close_on_click: "outside",
26
+ trigger_element_id: "pb-th#{object.id}",
27
+ tooltip_id: "sort-filter-btn-tooltip#{object.id}",
28
+ position: object.placement ,
29
+ padding: 'none'}) do %>
30
+ <%= pb_rails("nav", props: {classname: "pb_table_header_dropdown"}) do %>
31
+ <% object.sort_menu.each do |item| %>
32
+ <%= pb_rails("nav/item", props: { text: item[:item], link: item[:link], icon_right: sort_icon(item[:direction], item[:active]), active: item[:active] }) %>
46
33
  <% end %>
47
34
  <% end %>
48
35
  <% end %>
49
36
  <% end %>
50
37
  <% end %>
51
38
  <% end %>
52
- <% if object.sort_menu != [{}] && object.colspan == 1 %>
53
- <script>
54
- document.addEventListener("DOMContentLoaded", function() {
55
- var thId = `<%= "#pb-th#{object.id}" %>`
56
- var firstLink = `<%= next_link %>`
57
- var thElement = document.querySelector(thId);
58
-
59
- thElement.addEventListener("click", function() {
60
- window.location.href = firstLink;
61
- });
62
- });
63
- </script>
64
- <% end %>
@@ -9,15 +9,20 @@ module Playbook
9
9
  prop :align_content, type: Playbook::Props::Enum,
10
10
  values: %w[start center end stretch baseline none],
11
11
  default: "center"
12
+ prop :justify_sort_icon, type: Playbook::Props::Enum,
13
+ values: %w[start center end stretch around between evenly none],
14
+ default: "between"
12
15
  prop :colspan, type: Playbook::Props::Number,
13
16
  default: 1
14
17
  prop :placement, type: Playbook::Props::Enum,
15
18
  values: %w[top bottom left right top-start top-end bottom-start bottom-end right-start right-end left-start left-end],
16
- default: "bottom-start"
19
+ default: "bottom-end"
17
20
  prop :sort_menu, type: Playbook::Props::HashArray,
18
21
  default: [{}]
19
22
  prop :text, type: Playbook::Props::String,
20
23
  default: ""
24
+ prop :sort_dropdown, type: Playbook::Props::Boolean,
25
+ default: false
21
26
 
22
27
  def classname
23
28
  generate_classname("pb_table_header_kit", align_class)
@@ -30,23 +35,46 @@ module Playbook
30
35
  def next_link
31
36
  return sort_menu[0][:link] if sort_menu.all? { |item| item[:active] == false }
32
37
 
38
+ link = ""
39
+
33
40
  sort_menu.each_with_index do |item, index|
34
41
  if item[:active] == true
35
42
  next_index = (index + 1) % sort_menu.length
36
- sort_menu[next_index][:link]
43
+ link = sort_menu[next_index][:link]
37
44
  end
38
45
  end
46
+ link
47
+ end
48
+
49
+ def sorting_style?
50
+ sort_menu != [{}]
51
+ end
52
+
53
+ def use_dropdown_select
54
+ sort_menu != [{}] && (object.colspan > 1 || sort_dropdown)
39
55
  end
40
56
 
41
- def sort_icon(direction)
57
+ def sort_icon(direction, active)
42
58
  case direction
43
59
  when "asc"
44
- "sort-amount-up"
60
+ active ? "sort-amount-up" : ""
45
61
  when "desc"
46
- "sort-amount-down"
62
+ active ? "sort-amount-down" : ""
47
63
  else
48
- ""
64
+ "arrow-up-arrow-down"
65
+ end
66
+ end
67
+
68
+ def link_style
69
+ active_item.any? ? "" : "color: #687887;"
70
+ end
71
+
72
+ def active_item
73
+ active_item = {}
74
+ sort_menu.each do |item|
75
+ active_item = item if item[:active] == true
49
76
  end
77
+ active_item
50
78
  end
51
79
  end
52
80
  end
@@ -11,7 +11,7 @@ module Playbook
11
11
  prop :error
12
12
  prop :inline, type: Playbook::Props::Boolean,
13
13
  default: false
14
- prop :input_options, type: Playbook::Props::Hash,
14
+ prop :input_options, type: Playbook::Props::HashProp,
15
15
  default: {}
16
16
  prop :label
17
17
  prop :name
@@ -19,7 +19,7 @@ module Playbook
19
19
  prop :required, type: Playbook::Props::Boolean,
20
20
  default: false
21
21
  prop :type, default: "text"
22
- prop :validation, type: Playbook::Props::Hash,
22
+ prop :validation, type: Playbook::Props::HashProp,
23
23
  default: {}
24
24
  prop :value
25
25
  prop :add_on, type: Playbook::Props::NestedProps,
@@ -20,7 +20,7 @@ type TimeStackedProps = {
20
20
  }
21
21
 
22
22
  const TimeStackedDefault = (props: TimeStackedProps): React.ReactElement => {
23
- if (props.date) deprecatedProps('Time Stacked', ['date']) //date prop is deprecated, use time instead
23
+ if (props.date) deprecatedProps() //date prop is deprecated, use time instead
24
24
 
25
25
  const {
26
26
  align = 'left',
@@ -22,7 +22,7 @@ type TitleProps = {
22
22
  } & GlobalProps
23
23
 
24
24
  const Title = (props: TitleProps): React.ReactElement => {
25
- if (props.variant) deprecatedProps('Title', ['variant']) //variant prop is deprecated, use color instead
25
+ if (props.variant) deprecatedProps() //variant prop is deprecated, use color instead
26
26
  const {
27
27
  aria = {},
28
28
  children,
@@ -5,7 +5,7 @@ require "action_view"
5
5
  module Playbook
6
6
  module PbToggle
7
7
  class Toggle < Playbook::KitBase
8
- prop :input_options, type: Playbook::Props::Hash,
8
+ prop :input_options, type: Playbook::Props::HashProp,
9
9
  default: {}
10
10
 
11
11
  prop :checked, type: Playbook::Props::Boolean,
@@ -19,7 +19,7 @@ module Playbook
19
19
  prop :name
20
20
  prop :options, type: Playbook::Props::HashArray,
21
21
  default: []
22
- prop :input_options, type: Playbook::Props::Hash,
22
+ prop :input_options, type: Playbook::Props::HashProp,
23
23
  default: {}
24
24
 
25
25
  prop :is_multi, type: Playbook::Props::Boolean,
@@ -0,0 +1,10 @@
1
+ $visible: visible !default;
2
+ $hidden: hidden !default;
3
+ $scroll: scroll !default;
4
+ $auto: auto !default;
5
+ $overflow: (
6
+ visible: $visible,
7
+ hidden: $hidden,
8
+ scroll: $scroll,
9
+ auto: $auto,
10
+ );
@@ -0,0 +1,22 @@
1
+ @import "../tokens/overflow";
2
+
3
+ $overflow_classes: (
4
+ visible: $visible,
5
+ hidden: $hidden,
6
+ scroll: $scroll,
7
+ auto: $auto,
8
+ );
9
+
10
+ $variants: (
11
+ overflow_x: "overflow-x",
12
+ overflow_y: "overflow-y",
13
+ overflow: "overflow",
14
+ );
15
+
16
+ @each $variant_name, $variant_property in $variants {
17
+ @each $class_name, $overflow_value in $overflow_classes {
18
+ .#{$variant_name}_#{$class_name} {
19
+ #{$variant_property}: #{$overflow_value} !important;
20
+ }
21
+ }
22
+ }
@@ -128,6 +128,13 @@ type TextAlign = {
128
128
  textAlign?: "start" | "end" | "left" | "right" | "center" | "justify" | "justifyAll" | "matchParent",
129
129
  }
130
130
 
131
+ type OverflowTypes = "scroll" | "visible" | "hidden" | "auto"
132
+ type Overflow = {
133
+ overflowX?: OverflowTypes,
134
+ overflowY?: OverflowTypes,
135
+ overflow?: OverflowTypes
136
+ }
137
+
131
138
  type ZIndexType = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
132
139
  type ZIndexResponsiveType = {[key: string]: ZIndexType}
133
140
  type ZIndex = {
@@ -138,7 +145,7 @@ type ZIndex = {
138
145
  export type GlobalProps = AlignContent & AlignItems & AlignSelf &
139
146
  BorderRadius & Cursor & Dark & Display & DisplaySizes & Flex & FlexDirection &
140
147
  FlexGrow & FlexShrink & FlexWrap & JustifyContent & JustifySelf &
141
- LineHeight & Margin & MaxWidth & NumberSpacing & Order & Padding &
148
+ LineHeight & Margin & MaxWidth & NumberSpacing & Order & Overflow & Padding &
142
149
  Position & Shadow & TextAlign & ZIndex & { hover?: string };
143
150
 
144
151
  const getResponsivePropClasses = (prop: {[key: string]: string}, classPrefix: string) => {
@@ -255,6 +262,14 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
255
262
  css += borderRadius ? `border_radius_${borderRadius} ` : ''
256
263
  return css
257
264
  },
265
+ overflowProps: ({ overflow, overflowX, overflowY }: Overflow) => {
266
+ let css = ''
267
+ css += overflow ? `overflow_${overflow}` : ''
268
+ css += overflowX ? `overflow_x_${overflowX}` : ''
269
+ css += overflowY ? `overflow_y_${overflowY}` : ''
270
+ return css
271
+ },
272
+
258
273
  darkProps: ({ dark }: Dark) => dark ? 'dark' : '',
259
274
  numberSpacingProps: ({ numberSpacing }: NumberSpacing) => {
260
275
  let css = ''
@@ -417,13 +432,13 @@ export const globalProps = (props: GlobalProps, defaultProps: DefaultProps = {})
417
432
  }
418
433
 
419
434
 
420
- export const deprecatedProps = (kit: string, props: string[] = []): void => {
421
- if (process.env.NODE_ENV === 'development') {
422
- /* eslint no-console: ["error", { allow: ["warn", "error"] }] */
423
- props.forEach((prop) => {
424
- console.warn(`${kit} Kit: The prop '${prop}' is deprecated and will be removed in a future release!`)
425
- })
426
- }
435
+ export const deprecatedProps = (): void => {
436
+ // if (process.env.NODE_ENV === 'development') {
437
+ // /* eslint no-console: ["error", { allow: ["warn", "error"] }] */
438
+ // props.forEach((prop) => {
439
+ // console.warn(`${kit} Kit: The prop '${prop}' is deprecated and will be removed in a future release!`)
440
+ // })
441
+ // }
427
442
  }
428
443
 
429
444
  export const domSafeProps = (props: {[key: string]: string}): {[key: string]: string} => {
@@ -3,7 +3,7 @@
3
3
  Copyright (c) 2018 Jed Watson.
4
4
  Licensed under the MIT License (MIT), see
5
5
  http://jedwatson.github.io/classnames
6
- */!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var t=[],e=0;e<arguments.length;e++){var i=arguments[e];if(i){var o=typeof i;if("string"===o||"number"===o)t.push(i);else if(Array.isArray(i)){if(i.length){var a=r.apply(null,i);a&&t.push(a)}}else if("object"===o){if(i.toString!==Object.prototype.toString&&!i.toString.toString().includes("[native code]")){t.push(i.toString());continue}for(var s in i)n.call(i,s)&&i[s]&&t.push(s)}}}return t.join(" ")}t.exports?(r.default=r,t.exports=r):void 0===(i=function(){return r}.apply(e,[]))||(t.exports=i)}()},function(t,e,n){"use strict";function i(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}n.d(e,"a",(function(){return i}))},function(t,e,n){"use strict";n.d(e,"c",(function(){return c})),n.d(e,"a",(function(){return u})),n.d(e,"b",(function(){return h}));var i=n(22),r=n(54),o=[0,1];function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,r,o,a,s=[],l=!0,d=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==e);l=!0);}catch(t){d=!0,r=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw r}}return s}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var l=function(t,e){return Object.keys(t).map((function(n){var i="string"==typeof t[n]?Object(r.a)(t[n]):t[n];return"".concat(e,"_").concat(n,"_").concat(i)})).join(" ")},d={hoverProps:function(t){var e=t.hover,n="";return e?(n+=e.shadow?"hover_shadow_".concat(e.shadow," "):"",n+=e.background?"hover_background_".concat(e.background," "):"",n+=e.scale?"hover_scale_".concat(e.scale," "):"",n+=e.color?"hover_color_".concat(e.color," "):""):n},spacingProps:function(t){var e=t.marginRight,n=t.marginLeft,i=t.marginTop,r=t.marginBottom,o=t.marginX,s=t.marginY,l=t.margin,d=t.paddingRight,c=t.paddingLeft,u=t.paddingTop,h=t.paddingBottom,p=t.paddingX,f=t.paddingY,g=t.padding,m="",v={marginRight:e,marginLeft:n,marginTop:i,marginBottom:r,marginX:o,marginY:s,margin:l,paddingRight:d,paddingLeft:c,paddingTop:u,paddingBottom:h,paddingX:p,paddingY:f,padding:g},y=["xs","sm","md","lg","xl"];function b(t){return{marginRight:"mr",marginLeft:"ml",marginTop:"mt",marginBottom:"mb",marginX:"mx",marginY:"my",margin:"m",paddingRight:"pr",paddingLeft:"pl",paddingTop:"pt",paddingBottom:"pb",paddingX:"px",paddingY:"py",padding:"p"}[t]}return Object.entries(v).forEach((function(t){var e=a(t,2),n=e[0],i=e[1];if(i)if("object"==typeof i)m+=function(t,e){var n="",i=t.break||"on",r=t.default||null;return Object.entries(t).forEach((function(t){var r=a(t,2),o=r[0],s=r[1];y.includes(o)&&(n+="break_".concat(i,"_").concat(o,":").concat(e,"_").concat(s," "))})),r&&(n+="".concat(e,"_").concat(r," ")),n}(i,b(n));else{var r=b(n);m+="".concat(r,"_").concat(i," ")}})),m.trim()},borderRadiusProps:function(t){var e=t.borderRadius,n="";return n+=e?"border_radius_".concat(e," "):""},darkProps:function(t){return t.dark?"dark":""},numberSpacingProps:function(t){var e=t.numberSpacing,n="";return n+=e?"ns_".concat(e," "):""},maxWidthProps:function(t){var e=t.maxWidth,n="";return n+=e?"max_width_".concat(e," "):""},zIndexProps:function(t){var e="";return Object.entries(t).forEach((function(t){"zIndex"==t[0]&&("number"==typeof t[1]?e+="z_index_".concat(t[1]," "):"object"==typeof t[1]&&Object.entries(t[1]).forEach((function(t){e+="z_index_".concat(t[0],"_").concat(t[1]," ")})))})),e},shadowProps:function(t){var e=t.shadow,n="";return n+=e?"shadow_".concat(e," "):""},lineHeightProps:function(t){var e=t.lineHeight,n="";return n+=e?"line_height_".concat(e," "):""},displayProps:function(t){var e="";return Object.entries(t).forEach((function(t){"display"==t[0]&&("string"==typeof t[1]?e+="display_".concat(t[1]," "):"object"==typeof t[1]&&Object.entries(t[1]).forEach((function(t){e+="display_".concat(t[0],"_").concat(t[1]," ")})))})),e},cursorProps:function(t){var e=t.cursor,n="";return n+=e?"cursor_".concat(Object(r.a)(e)):""},alignContentProps:function(t){var e=t.alignContent;return"object"==typeof e?l(e,"align_content"):e?"align_content_".concat(Object(r.a)(e)):""},alignItemsProps:function(t){var e=t.alignItems;return"object"==typeof e?l(e,"align_items"):e?"align_items_".concat(Object(r.a)(e)):""},alignSelfProps:function(t){var e=t.alignSelf;return"object"==typeof e?l(e,"align_self"):e?"align_self_".concat(e):""},flexDirectionProps:function(t){var e=t.flexDirection;return"object"==typeof e?l(e,"flex_direction"):e?"flex_direction_".concat(Object(r.a)(e)):""},flexWrapProps:function(t){var e=t.flexWrap;return"object"==typeof e?l(e,"flex_wrap"):e?"flex_wrap_".concat(Object(r.a)(e)):""},flexProps:function(t){var e=t.flex;return"object"==typeof e?l(e,"flex"):e?"flex_".concat(e):""},flexGrowProps:function(t){var e=t.flexGrow;return"object"==typeof e?l(e,"flex_grow"):o.includes(e)?"flex_grow_".concat(e):""},flexShrinkProps:function(t){var e=t.flexShrink;return"object"==typeof e?l(e,"flex_shrink"):o.includes(e)?"flex_shrink_".concat(e):""},justifyContentProps:function(t){var e=t.justifyContent;return"object"==typeof e?l(e,"justify_content"):e?"justify_content_".concat(Object(r.a)(e)):""},justifySelfProps:function(t){var e=t.justifySelf;return"object"==typeof e?l(e,"justify_self"):e?"justify_self_".concat(e):""},orderProps:function(t){var e=t.order;return"object"==typeof e?l(e,"flex_order"):e?"flex_order_".concat(e):""},positionProps:function(t){var e=t.position,n="";return n+=e&&"static"!==e?"position_".concat(e):""},textAlignProps:function(t){var e=t.textAlign;return"object"==typeof e?l(e,"text_align"):e?"text_align_".concat(e," "):""}},c=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object.assign(Object.assign({},t),e);return Object.keys(d).map((function(t){return d[t](n)})).filter((function(t){return(null==t?void 0:t.length)>0})).join(" ")},u=function(t){},h=function(t){return Object(i.omit)(t,["marginRight","marginLeft","marginTop","marginBottom","marginX","marginY","margin","paddingRight","paddingLeft","paddingTop","paddingBottom","paddingX","paddingY","padding","dark"])}},function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var i=n(147);function r(t,e,n){return(e=Object(i.a)(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5);function d(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var c={horizontal:"fa-flip-horizontal",vertical:"fa-flip-vertical",both:"fa-flip-horizontal fa-flip-vertical",none:""};e.a=function(t){var e,n=t.aria,i=void 0===n?{}:n,o=t.border,u=void 0!==o&&o,h=t.className,p=t.customIcon,f=t.data,g=void 0===f?{}:f,m=t.fixedWidth,v=void 0===m||m,y=t.flip,b=void 0===y?"none":y,x=t.icon,_=t.id,O=t.inverse,w=void 0!==O&&O,C=t.listItem,$=void 0!==C&&C,k=t.pull,E=t.pulse,S=void 0!==E&&E,j=t.rotation,A=t.size,M=t.fontStyle,D=void 0===M?"far":M,P=t.spin,T=(d(e={"fa-border":u,"fa-fw":v,"fa-inverse":w,"fa-li":$,"fa-pulse":S,"fa-spin":void 0!==P&&P},"fa-".concat(A),A),d(e,"fa-pull-".concat(k),k),d(e,"fa-rotate-".concat(j),j),e);p||(T["fa-".concat(x)]=x);var L=a()(c[b],"pb_icon_kit",p?"":D,T,Object(l.c)(t),h),I=a()("pb_icon_kit_emoji",Object(l.c)(t),h);!i.label&&(i.label="".concat(x," icon"));var N=Object(s.a)(i),R=Object(s.c)(g);return r.a.createElement(r.a.Fragment,null,function(t){return t?r.a.createElement(r.a.Fragment,null,r.a.cloneElement(t,Object.assign(Object.assign({},R),{className:L,id:_}))):/^((?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEDC-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8])|\uFE0F)+$/.test(x)?r.a.createElement(r.a.Fragment,null,r.a.createElement("span",Object.assign({},R,{className:I,id:_}),x)):r.a.createElement(r.a.Fragment,null,r.a.createElement("i",Object.assign({},R,{className:L,id:_})),r.a.createElement("span",Object.assign({},N,{hidden:!0})))}(p))}},function(t,e,n){t.exports={windows:"#003DB2",siding:"#6000AC",doors:"#B85C00",solar:"#007E8F",roofing:"#760B24",gutters:"#008540",insulation:"#96006C",product_1_background:"#003DB2",product_1_highlight:"#0057FF",product_2_background:"#6000AC",product_2_highlight:"#8200E9",product_3_background:"#B85C00",product_3_highlight:"#CE7500",product_4_background:"#007E8F",product_4_highlight:"#00B9D2",product_5_background:"#760B24",product_5_highlight:"#B8032E",product_6_background:"#008540",product_6_highlight:"#00A851",product_7_background:"#96006C",product_7_highlight:"#CD0094",product_8_background:"#144075",product_8_highlight:"#1A569E",product_9_background:"#fcc419",product_9_highlight:"#ffd43b",product_10_background:"#20c997",product_10_highlight:"#38d9a9",success:"#1CA05C",success_secondary:"#24cb75",success_sm:"#157F48",success_subtle:"rgba(28,160,92,0.1)",warning:"#F9BB00",warning_secondary:"#ffcb2d",warning_subtle:"rgba(249,187,0,0.1)",error:"#DA0014",error_secondary:"#ff0e24",error_subtle:"rgba(218,0,20,0.1)",info:"#00C4D7",info_secondary:"#0be9ff",info_subtle:"rgba(0,196,215,0.1)",neutral:"#C1CDD6",neutral_secondary:"#e0e6ea",neutral_subtle:"rgba(193,205,214,0.1)",primary:"#0056CF",primary_secondary:"#036cff",data_1:"#0056CF",data_2:"#F9BB00",data_3:"#9E64E9",data_4:"#1CA05C",data_5:"#FD804C",data_6:"#144075",data_7:"#00C4D7",data_8:"#DA0014",shadow:"rgba(60,106,172,0.2)",shadow_dark:"#0a0527",royal:"#0056CF",purple:"#9E64E9",teal:"#00C4D7",red:"#DA0014","#ff0":"#F9BB00",green:"#1CA05C",orange:"#FD804C",default:"#93a8b8","#fff":"#fff",silver:"#F3F7FB",slate:"#C1CDD6",charcoal:"#242B42","#000":"#000",secondary:"#F9BB00",tertiary:"#9E64E9",bg_light:"#F3F7FB",bg_dark:"#0a0527",bg_dark_card:"#231E3D",card_light:"#fff",card_dark:"#231e3d",active_light:"#f7fbff",active_dark:"#0082ff",primary_action:"#0056CF",primary_action_dark:"#0082ff",hover_light:"#e0eaf5",hover_dark:"rgba(255,255,255,0.2)",border_light:"#E4E8F0",border_dark:"#3b3752",text_lt_default:"#242B42",text_lt_light:"#687887",text_lt_lighter:"#C1CDD6",text_dk_default:"#fff",text_dk_light:"rgba(255,255,255,0.6)",text_dk_lighter:"rgba(255,255,255,0.4)",category_1:"#0056CF",category_2:"#0CD2E5",category_3:"#F9BB00",category_4:"#14D595",category_5:"#A057FF",category_6:"#FF7034",category_7:"#97DA22",category_8:"#EA599F",category_9:"#0091FF",category_10:"#5027E4",category_11:"#DA0014",category_12:"#109922",category_13:"#058F9D",category_14:"#A33E6F",category_15:"#B2171C",category_16:"#0A5C49",category_17:"#325B91",category_18:"#BE4714",category_19:"navy",category_20:"#5C0E0A",category_21:"#040830",gradient_start:"#1C75F2",gradient_end:"#0056CF"}},function(t,e,n){t.exports={font_family_base:'"Proxima Nova","Helvetica Neue",Helvetica,Arial,sans_serif',text_jumbo:"36px",text_largest:"32px",text_larger:"28px",text_large:"20px",text_base:"16px",text_default:"16px",text_normal:"16px",text_medium:"16px",text_small:"14px",text_smaller:"12px",text_smallest:"11px",heading_1:"46px",heading_2:"34px",heading_3:"28px",heading_4:"16px",lighter:"100",light:"300",bold:"600",regular:"400"}},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5);e.a=function(t){var e=t.align,n=void 0===e?"none":e,i=t.children,o=t.className,d=t.data,c=void 0===d?{}:d,u=t.inline,h=void 0!==u&&u,p=t.horizontal,f=void 0===p?"left":p,g=t.justify,m=void 0===g?"none":g,v=t.orientation,y=void 0===v?"row":v,b=t.spacing,x=void 0===b?"none":b,_=t.gap,O=void 0===_?"none":_,w=t.rowGap,C=void 0===w?"none":w,$=t.columnGap,k=void 0===$?"none":$,E=t.reverse,S=void 0!==E&&E,j=t.vertical,A=void 0===j?"top":j,M=t.wrap,D=void 0!==M&&M,P=t.alignSelf,T=void 0===P?"none":P,L=void 0!==y?"orientation_".concat(y):"",I="justify_content_".concat("none"!==m?m:f),N="align_items_".concat("none"!==n?n:A),R=!0===h?"inline":"",F=void 0!==x?"spacing_".concat(x):"",B="none"!==O?"gap_".concat(O):"",z="none"!==C?"rowGap_".concat(C):"",W="none"!==k?"columnGap_".concat(k):"",H=!0===D?"wrap":"",Y=!0===S?"reverse":"",U="none"!==T?"align_self_".concat(T):"",G=Object(s.c)(c);return r.a.createElement("div",Object.assign({className:a()(Object(s.b)("pb_flex_kit",L,I,N,R,Y,H,F,B,z,W,U),Object(l.c)(t),o)},G),i)}},function(t,e,n){"use strict";n.d(e,"m",(function(){return i})),n.d(e,"c",(function(){return r})),n.d(e,"k",(function(){return o})),n.d(e,"f",(function(){return a})),n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return l})),n.d(e,"l",(function(){return d})),n.d(e,"e",(function(){return c})),n.d(e,"d",(function(){return u})),n.d(e,"o",(function(){return h})),n.d(e,"i",(function(){return p})),n.d(e,"j",(function(){return f})),n.d(e,"n",(function(){return g})),n.d(e,"h",(function(){return m})),n.d(e,"g",(function(){return v}));var i="top",r="bottom",o="right",a="left",s="auto",l=[i,r,o,a],d="start",c="end",u="clippingParents",h="viewport",p="popper",f="reference",g=l.reduce((function(t,e){return t.concat([e+"-"+d,e+"-"+c])}),[]),m=[].concat(l,[s]).reduce((function(t,e){return t.concat([e,e+"-"+d,e+"-"+c])}),[]),v=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"]},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5),d=n(125);e.a=function(t){t.variant&&Object(l.a)("Body",["status"]);var e=t.aria,n=void 0===e?{}:e,i=t.children,o=t.className,c=t.color,u=void 0===c?"":c,h=t.data,p=void 0===h?{}:h,f=t.highlightedText,g=void 0===f?[]:f,m=t.highlighting,v=void 0!==m&&m,y=t.id,b=void 0===y?"":y,x=t.status,_=void 0===x?null:x,O=t.tag,w=void 0===O?"div":O,C=t.text,$=void 0===C?"":C,k=t.truncate,E=void 0===k?null:k,S=t.variant,j=void 0===S?null:S,A=Object(s.a)(n),M=Object(s.c)(p),D=E?"truncate_".concat(E):"",P=a()(Object(s.b)("pb_body_kit",u,j,_,D),Object(l.c)(t),o),T="".concat(w);return r.a.createElement(T,Object.assign({},A,M,{className:P,id:b}),v&&r.a.createElement(d.a,{highlightedText:g,text:$},i),!v&&($||i))}},function(t,e,n){t.exports=n(221)()},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5);e.a=function(t){t.variant&&Object(l.a)("Title",["variant"]);var e,n=t.aria,i=void 0===n?{}:n,o=t.children,d=t.className,c=t.color,u=t.data,h=void 0===u?{}:u,p=t.id,f=t.size,g=void 0===f?3:f,m=t.bold,v=void 0===m||m,y=t.tag,b=void 0===y?"h3":y,x=t.text,_=t.truncate,O=void 0===_?null:_,w=t.variant,C=void 0===w?null:w,$=Object(s.a)(i),k=Object(s.c)(h),E=v?"":"thin",S=O?"truncate_".concat(O):null,j="number"==typeof g||"string"==typeof g,A=a()(Object(s.b)("pb_title_kit",j?"size_".concat(g):"",C,c,E,S),Object(l.c)(t),(e="",j||Object.entries(g).forEach((function(t){e+="pb_title_kit_".concat(t[0],"_").concat(t[1]," ")})),e.trim()),d),M="".concat(b);return r.a.createElement(M,Object.assign({},$,k,{className:A,id:p}),x||o)}},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5);e.a=function(t){var e=t.children,n=t.className,i=t.fixedSize,o=t.grow,d=t.overflow,c=void 0===d?null:d,u=t.shrink,h=t.flex,p=void 0===h?"none":h,f=t.order,g=void 0===f?"none":f,m=t.alignSelf,v=t.displayFlex,y=!0===o?"grow":"",b=!0===v?"display_flex_".concat(v):"",x="none"!==p?"flex_".concat(p):"",_=c?"overflow_".concat(c):"",O=!0===u?"shrink":"",w=m?"align_self_".concat(m):"",C=void 0!==i?{flexBasis:"".concat(i)}:null,$="none"!==g?"order_".concat(g):null;return r.a.createElement("div",{className:a()(Object(s.b)("pb_flex_item_kit",y,O,x,b),_,$,w,Object(l.c)(t),n),style:C},e)}},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5);e.a=function(t){t.variant&&Object(l.a)("Title",["variant"]);var e=t.aria,n=void 0===e?{}:e,i=t.children,o=t.className,d=t.color,c=t.data,u=void 0===c?{}:c,h=t.id,p=t.size,f=void 0===p?"md":p,g=t.tag,m=void 0===g?"div":g,v=t.text,y=t.variant,b=void 0===y?null:y,x=["h1","h2","h3","h4","h5","h6","p","span","div","caption"].includes(m)?m:"div",_=Object(s.a)(n),O=Object(s.c)(u),w=a()(Object(s.b)("pb_caption_kit",f,b,d),Object(l.c)(t),o);return r.a.createElement(x,Object.assign({},_,O,{className:w,id:h}),v||i)}},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(22),a=n(3),s=n.n(a),l=n(2),d=n(5);function c(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var u=function(t){var e,n,i=t.aria,a=void 0===i?{}:i,u=t.background,h=void 0===u?"none":u,p=t.borderNone,f=void 0!==p&&p,g=t.borderRadius,m=void 0===g?"md":g,v=t.children,y=t.className,b=t.data,x=void 0===b?{}:b,_=t.highlight,O=void 0===_?{}:_,w=t.selected,C=void 0!==w&&w,$=t.tag,k=void 0===$?"div":$,E=1==f?"border_none":"",S=1==C?"selected":"deselected",j="none"==h?"":"background_".concat(h),A=Object(l.b)("pb_card_kit",S,E,"border_radius_".concat(m),j,(c(e={},"highlight_".concat(O.position),O.position),c(e,"highlight_".concat(O.color),O.color),e)),M=Object(l.a)(a),D=Object(l.c)(x),P=r.a.Children.toArray(v),T=P.filter((function(t){return"Header"!==Object(o.get)(t,"type.displayName")})),L=["div","section","footer","header","article","aside","main","nav"].includes(k)?k:"div";return r.a.createElement(L,Object.assign({},M,D,{className:s()(A,Object(d.c)(t),y)}),(n="Header",P.filter((function(t){return Object(o.get)(t,"type.displayName")===n})).map((function(t,e){if(r.a.isValidElement(t))return r.a.cloneElement(t,{key:"".concat(n.toLowerCase(),"-").concat(e)})}))),T)};u.Header=function(t){var e=t.children,n=t.className,i=t.headerColor,o=void 0===i?"category_1":i,a=t.headerColorStriped,c=void 0!==a&&a,u=Object(l.b)("pb_card_header_kit","".concat(o),c?"striped":""),h=Object(d.c)(t);return r.a.createElement("div",{className:s()(u,h,n)},e)},u.Body=function(t){var e=t.children,n=t.className,i=Object(l.b)("pb_card_body_kit"),o=Object(d.c)(t);return r.a.createElement("div",{className:s()(i,o,n)},e)},e.a=u},function(t,e,n){"use strict";var i=["SU","M","T","W","TH","F","S"],r=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a=function(t){return"string"!=typeof t||t.includes("T")?new Date(t):new Date(t.replace(/-/g,"/"))},s=function(t,e){return e?new Date(a(t).toLocaleString("en-US",{timeZone:e})).getDate():a(t).getDate()},l=function(t){return a(t).getMonth()+1},d=function(t,e){var n=a(t);return e?n.toLocaleTimeString("en-US",{timeZone:e,timeStyle:"short"}).split(" ")[0]:n.toLocaleTimeString("en-US",{timeStyle:"short"}).split(" ")[0]},c=function(t,e){var n=a(t);return e?n.toLocaleString("en-US",{timeZone:e,hour12:!0}).slice(-2).charAt(0).toLocaleLowerCase():n.toLocaleString("en-US",{hour12:!0}).slice(-2).charAt(0).toLocaleLowerCase()},u=function(t){var e=a(t),n=e.getDay(),i=new Date(e.setHours(0,0,0)),r=0===n?6:n-1;return i.setDate(e.getDate()-r),i},h=function(t){var e=a(t),n=e.getDay(),i=new Date(e.setHours(23,59,59,0)),r=0===n?0:7-n;return i.setDate(e.getDate()+r),i},p=function(t){var e=a(t);return new Date(e.getFullYear(),e.getMonth(),1)},f=function(t){var e=a(t);return new Date(e.getFullYear(),e.getMonth()+1,0,23,59,59)},g=function(t){var e=a(t),n=Math.floor(e.getMonth()/3);return new Date(e.getFullYear(),3*n,1)},m=function(t){var e=a(t),n=Math.floor(e.getMonth()/3),i=new Date(e.getFullYear(),3*(n+1),1);return new Date(i.getTime()-1)},v=function(t){var e=a(t);return new Date(e.getFullYear(),0,1)},y=function(t){var e=a(t);return new Date(e.getFullYear(),11,31,23,59,59)};e.a={toMinute:function(t,e){var n=a(t);return e?n.toLocaleTimeString("en-US",{timeZone:e,hour:"2-digit",minute:"2-digit"}).slice(3,5):n.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"}).slice(3,5)},toHour:function(t,e){var n=a(t);return e?n.toLocaleTimeString("en-US",{timeZone:e,hour:"numeric"}).split(" ")[0]:n.toLocaleTimeString("en-US",{hour:"numeric"}).split(" ")[0]},toDay:s,toDayAbbr:function(t){var e=a(t);return i[e.getDay()]},toWeekday:function(t){var e=a(t);return r[e.getDay()]},toMonth:function(t,e){if(e){var n=new Date(a(t).toLocaleString("en-US",{timeZone:e}));return o[n.getMonth()]}var i=a(t);return o[i.getMonth()]},toMonthNum:l,toYear:function(t,e){return e?new Date(a(t).toLocaleString("en-US",{timeZone:e})).getFullYear():a(t).getFullYear()},toTime:d,toMeridiem:c,toTimeZone:function(t,e){var n=a(t);return e?n.toLocaleString("en-US",{timeZone:e,timeZoneName:"short"}).split(" ")[3]:n.toLocaleString("en-US",{timeZoneName:"short"}).split(" ")[3]},toTimeWithMeridiem:function(t,e){var n=a(t);return"".concat(d(n,e)).concat(c(n,e))},toIso:function(t){return a(t).toISOString()},fromNow:function(t){for(var e=new Date,n=a(t),i=n.getTime(),r=e.getTime()-i,o=e.getFullYear()-n.getFullYear(),s="".concat(o,1===o?" year ago":" years ago"),l=0,d=[{min:0,max:45e3,value:"a few seconds ago"},{min:45e3,max:9e4,value:"a minute ago"},{min:9e4,max:267e4,value:"".concat(Math.round(r/6e4)," minutes ago")},{min:267e4,max:54e5,value:"an hour ago"},{min:54e5,max:774e5,value:"".concat(Math.round(r/36e5)," hours ago")},{min:774e5,max:1296e5,value:"a day ago"},{min:1296e5,max:22032e5,value:"".concat(Math.round(r/864e5)," days ago")},{min:22032e5,max:3888e6,value:"a month ago"},{min:3888e6,max:2756e7,value:"".concat(function(){var t=12*o;return t-=n.getMonth(),t+=e.getMonth()}()," months ago")}];l<d.length;l++){var c=d[l],u=c.min,h=c.max,p=c.value;if(r>=u&&r<h){s=p;break}}return s},toCustomFormat:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"month_day",n=a(t);return"month_day"==e?"".concat(l(n),"/").concat(s(n)):"".concat(n.toLocaleString("en-US",{month:"short"})," ").concat(s(n))},getYesterdayDate:function(t){var e=a(t),n=new Date;return n.setDate(e.getDate()-1),n},getFirstDayOfWeek:u,getLastDayOfWeek:h,getPreviousWeekStartDate:function(t){var e=u(t);return new Date(e.getFullYear(),e.getMonth(),e.getDate()-7)},getPreviousWeekEndDate:function(t){var e=h(t);return new Date(e.getFullYear(),e.getMonth(),e.getDate()-7,e.getHours(),e.getMinutes(),e.getSeconds())},getMonthStartDate:p,getMonthEndDate:f,getPreviousMonthStartDate:function(t){var e=p(t);return new Date(e.getFullYear(),e.getMonth()-1,e.getDate())},getPreviousMonthEndDate:function(t){var e=f(t);return new Date(e.getFullYear(),e.getMonth()-1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())},getQuarterStartDate:g,getQuarterEndDate:m,getPreviousQuarterStartDate:function(t){var e=g(t);return new Date(e.getFullYear(),e.getMonth()-3,e.getDate())},getPreviousQuarterEndDate:function(t){var e=m(t);return new Date(e.getFullYear(),e.getMonth()-3,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())},getYearStartDate:v,getYearEndDate:y,getPreviousYearStartDate:function(t){var e=v(t);return new Date(e.getFullYear()-1,e.getMonth(),e.getDate())},getPreviousYearEndDate:function(t){var e=y(t);return new Date(e.getFullYear()-1,e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())}}},,function(t,e,n){"use strict";n.d(e,"a",(function(){return h})),n.d(e,"b",(function(){return k})),n.d(e,"c",(function(){return _})),n.d(e,"d",(function(){return O}));var i=n(145);var r=n(0),o=n(116);n(251);function a(t,e,n){var i="";return n.split(" ").forEach((function(n){void 0!==t[n]?e.push(t[n]):i+=n+" "})),i}var s=function(t,e,n){var i=t.key+"-"+e.name;if(!1===n&&void 0===t.registered[i]&&(t.registered[i]=e.styles),void 0===t.inserted[e.name]){var r=e;do{t.insert("."+i,r,t.sheet,!0);r=r.next}while(void 0!==r)}},l=n(85),d=Object.prototype.hasOwnProperty,c=Object(r.createContext)("undefined"!=typeof HTMLElement?Object(o.a)():null),u=Object(r.createContext)({}),h=c.Provider,p=function(t){var e=function(e,n){return Object(r.createElement)(c.Consumer,null,(function(i){return t(e,i,n)}))};return Object(r.forwardRef)(e)},f="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",g=function(t,e){var n={};for(var i in e)d.call(e,i)&&(n[i]=e[i]);return n[f]=t,n},m=function(){return null},v=function(t,e,n,i){var o=null===n?e.css:e.css(n);"string"==typeof o&&void 0!==t.registered[o]&&(o=t.registered[o]);var c=e[f],u=[o],h="";"string"==typeof e.className?h=a(t.registered,u,e.className):null!=e.className&&(h=e.className+" ");var p=Object(l.a)(u);s(t,p,"string"==typeof c);h+=t.key+"-"+p.name;var g={};for(var v in e)d.call(e,v)&&"css"!==v&&v!==f&&(g[v]=e[v]);g.ref=i,g.className=h;var y=Object(r.createElement)(c,g),b=Object(r.createElement)(m,null);return Object(r.createElement)(r.Fragment,null,b,y)},y=p((function(t,e,n){return"function"==typeof t.css?Object(r.createElement)(u.Consumer,null,(function(i){return v(e,t,i,n)})):v(e,t,null,n)}));var b=n(146),x=n(60),_=function(t,e){var n=arguments;if(null==e||!d.call(e,"css"))return r.createElement.apply(void 0,n);var i=n.length,o=new Array(i);o[0]=y,o[1]=g(t,e);for(var a=2;a<i;a++)o[a]=n[a];return r.createElement.apply(null,o)},O=(r.Component,function(){var t=x.a.apply(void 0,arguments),e="animation-"+t.name;return{name:e,styles:"@keyframes "+e+"{"+t.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}),w=function t(e){for(var n=e.length,i=0,r="";i<n;i++){var o=e[i];if(null!=o){var a=void 0;switch(typeof o){case"boolean":break;case"object":if(Array.isArray(o))a=t(o);else for(var s in a="",o)o[s]&&s&&(a&&(a+=" "),a+=s);break;default:a=o}a&&(r&&(r+=" "),r+=a)}}return r};function C(t,e,n){var i=[],r=a(t,i,n);return i.length<2?n:r+e(i)}var $=function(){return null},k=p((function(t,e){return Object(r.createElement)(u.Consumer,null,(function(n){var i=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];var r=Object(l.a)(n,e.registered);return s(e,r,!1),e.key+"-"+r.name},o={css:i,cx:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return C(e.registered,i,w(n))},theme:n},a=t.children(o);var d=Object(r.createElement)($,null);return Object(r.createElement)(r.Fragment,null,d,a)}))}))},function(t,e,n){"use strict";function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}n.d(e,"a",(function(){return i}))},function(t,e,n){(function(t,i){var r;
6
+ */!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var t=[],e=0;e<arguments.length;e++){var i=arguments[e];if(i){var o=typeof i;if("string"===o||"number"===o)t.push(i);else if(Array.isArray(i)){if(i.length){var a=r.apply(null,i);a&&t.push(a)}}else if("object"===o){if(i.toString!==Object.prototype.toString&&!i.toString.toString().includes("[native code]")){t.push(i.toString());continue}for(var s in i)n.call(i,s)&&i[s]&&t.push(s)}}}return t.join(" ")}t.exports?(r.default=r,t.exports=r):void 0===(i=function(){return r}.apply(e,[]))||(t.exports=i)}()},function(t,e,n){"use strict";function i(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}n.d(e,"a",(function(){return i}))},function(t,e,n){"use strict";n.d(e,"c",(function(){return c})),n.d(e,"a",(function(){return u})),n.d(e,"b",(function(){return h}));var i=n(22),r=n(54),o=[0,1];function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var i,r,o,a,s=[],l=!0,d=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==e);l=!0);}catch(t){d=!0,r=t}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw r}}return s}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}var l=function(t,e){return Object.keys(t).map((function(n){var i="string"==typeof t[n]?Object(r.a)(t[n]):t[n];return"".concat(e,"_").concat(n,"_").concat(i)})).join(" ")},d={hoverProps:function(t){var e=t.hover,n="";return e?(n+=e.shadow?"hover_shadow_".concat(e.shadow," "):"",n+=e.background?"hover_background_".concat(e.background," "):"",n+=e.scale?"hover_scale_".concat(e.scale," "):"",n+=e.color?"hover_color_".concat(e.color," "):""):n},spacingProps:function(t){var e=t.marginRight,n=t.marginLeft,i=t.marginTop,r=t.marginBottom,o=t.marginX,s=t.marginY,l=t.margin,d=t.paddingRight,c=t.paddingLeft,u=t.paddingTop,h=t.paddingBottom,p=t.paddingX,f=t.paddingY,g=t.padding,m="",v={marginRight:e,marginLeft:n,marginTop:i,marginBottom:r,marginX:o,marginY:s,margin:l,paddingRight:d,paddingLeft:c,paddingTop:u,paddingBottom:h,paddingX:p,paddingY:f,padding:g},y=["xs","sm","md","lg","xl"];function b(t){return{marginRight:"mr",marginLeft:"ml",marginTop:"mt",marginBottom:"mb",marginX:"mx",marginY:"my",margin:"m",paddingRight:"pr",paddingLeft:"pl",paddingTop:"pt",paddingBottom:"pb",paddingX:"px",paddingY:"py",padding:"p"}[t]}return Object.entries(v).forEach((function(t){var e=a(t,2),n=e[0],i=e[1];if(i)if("object"==typeof i)m+=function(t,e){var n="",i=t.break||"on",r=t.default||null;return Object.entries(t).forEach((function(t){var r=a(t,2),o=r[0],s=r[1];y.includes(o)&&(n+="break_".concat(i,"_").concat(o,":").concat(e,"_").concat(s," "))})),r&&(n+="".concat(e,"_").concat(r," ")),n}(i,b(n));else{var r=b(n);m+="".concat(r,"_").concat(i," ")}})),m.trim()},borderRadiusProps:function(t){var e=t.borderRadius,n="";return n+=e?"border_radius_".concat(e," "):""},overflowProps:function(t){var e=t.overflow,n=t.overflowX,i=t.overflowY,r="";return r+=e?"overflow_".concat(e):"",r+=n?"overflow_x_".concat(n):"",r+=i?"overflow_y_".concat(i):""},darkProps:function(t){return t.dark?"dark":""},numberSpacingProps:function(t){var e=t.numberSpacing,n="";return n+=e?"ns_".concat(e," "):""},maxWidthProps:function(t){var e=t.maxWidth,n="";return n+=e?"max_width_".concat(e," "):""},zIndexProps:function(t){var e="";return Object.entries(t).forEach((function(t){"zIndex"==t[0]&&("number"==typeof t[1]?e+="z_index_".concat(t[1]," "):"object"==typeof t[1]&&Object.entries(t[1]).forEach((function(t){e+="z_index_".concat(t[0],"_").concat(t[1]," ")})))})),e},shadowProps:function(t){var e=t.shadow,n="";return n+=e?"shadow_".concat(e," "):""},lineHeightProps:function(t){var e=t.lineHeight,n="";return n+=e?"line_height_".concat(e," "):""},displayProps:function(t){var e="";return Object.entries(t).forEach((function(t){"display"==t[0]&&("string"==typeof t[1]?e+="display_".concat(t[1]," "):"object"==typeof t[1]&&Object.entries(t[1]).forEach((function(t){e+="display_".concat(t[0],"_").concat(t[1]," ")})))})),e},cursorProps:function(t){var e=t.cursor,n="";return n+=e?"cursor_".concat(Object(r.a)(e)):""},alignContentProps:function(t){var e=t.alignContent;return"object"==typeof e?l(e,"align_content"):e?"align_content_".concat(Object(r.a)(e)):""},alignItemsProps:function(t){var e=t.alignItems;return"object"==typeof e?l(e,"align_items"):e?"align_items_".concat(Object(r.a)(e)):""},alignSelfProps:function(t){var e=t.alignSelf;return"object"==typeof e?l(e,"align_self"):e?"align_self_".concat(e):""},flexDirectionProps:function(t){var e=t.flexDirection;return"object"==typeof e?l(e,"flex_direction"):e?"flex_direction_".concat(Object(r.a)(e)):""},flexWrapProps:function(t){var e=t.flexWrap;return"object"==typeof e?l(e,"flex_wrap"):e?"flex_wrap_".concat(Object(r.a)(e)):""},flexProps:function(t){var e=t.flex;return"object"==typeof e?l(e,"flex"):e?"flex_".concat(e):""},flexGrowProps:function(t){var e=t.flexGrow;return"object"==typeof e?l(e,"flex_grow"):o.includes(e)?"flex_grow_".concat(e):""},flexShrinkProps:function(t){var e=t.flexShrink;return"object"==typeof e?l(e,"flex_shrink"):o.includes(e)?"flex_shrink_".concat(e):""},justifyContentProps:function(t){var e=t.justifyContent;return"object"==typeof e?l(e,"justify_content"):e?"justify_content_".concat(Object(r.a)(e)):""},justifySelfProps:function(t){var e=t.justifySelf;return"object"==typeof e?l(e,"justify_self"):e?"justify_self_".concat(e):""},orderProps:function(t){var e=t.order;return"object"==typeof e?l(e,"flex_order"):e?"flex_order_".concat(e):""},positionProps:function(t){var e=t.position,n="";return n+=e&&"static"!==e?"position_".concat(e):""},textAlignProps:function(t){var e=t.textAlign;return"object"==typeof e?l(e,"text_align"):e?"text_align_".concat(e," "):""}},c=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object.assign(Object.assign({},t),e);return Object.keys(d).map((function(t){return d[t](n)})).filter((function(t){return(null==t?void 0:t.length)>0})).join(" ")},u=function(){},h=function(t){return Object(i.omit)(t,["marginRight","marginLeft","marginTop","marginBottom","marginX","marginY","margin","paddingRight","paddingLeft","paddingTop","paddingBottom","paddingX","paddingY","padding","dark"])}},function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var i=n(147);function r(t,e,n){return(e=Object(i.a)(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5);function d(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var c={horizontal:"fa-flip-horizontal",vertical:"fa-flip-vertical",both:"fa-flip-horizontal fa-flip-vertical",none:""};e.a=function(t){var e,n=t.aria,i=void 0===n?{}:n,o=t.border,u=void 0!==o&&o,h=t.className,p=t.customIcon,f=t.data,g=void 0===f?{}:f,m=t.fixedWidth,v=void 0===m||m,y=t.flip,b=void 0===y?"none":y,x=t.icon,_=t.id,O=t.inverse,w=void 0!==O&&O,C=t.listItem,$=void 0!==C&&C,k=t.pull,E=t.pulse,S=void 0!==E&&E,j=t.rotation,A=t.size,M=t.fontStyle,D=void 0===M?"far":M,P=t.spin,T=(d(e={"fa-border":u,"fa-fw":v,"fa-inverse":w,"fa-li":$,"fa-pulse":S,"fa-spin":void 0!==P&&P},"fa-".concat(A),A),d(e,"fa-pull-".concat(k),k),d(e,"fa-rotate-".concat(j),j),e);p||(T["fa-".concat(x)]=x);var L=a()(c[b],"pb_icon_kit",p?"":D,T,Object(l.c)(t),h),I=a()("pb_icon_kit_emoji",Object(l.c)(t),h);!i.label&&(i.label="".concat(x," icon"));var N=Object(s.a)(i),R=Object(s.c)(g);return r.a.createElement(r.a.Fragment,null,function(t){return t?r.a.createElement(r.a.Fragment,null,r.a.cloneElement(t,Object.assign(Object.assign({},R),{className:L,id:_}))):/^((?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEDC-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8])|\uFE0F)+$/.test(x)?r.a.createElement(r.a.Fragment,null,r.a.createElement("span",Object.assign({},R,{className:I,id:_}),x)):r.a.createElement(r.a.Fragment,null,r.a.createElement("i",Object.assign({},R,{className:L,id:_})),r.a.createElement("span",Object.assign({},N,{hidden:!0})))}(p))}},function(t,e,n){t.exports={windows:"#003DB2",siding:"#6000AC",doors:"#B85C00",solar:"#007E8F",roofing:"#760B24",gutters:"#008540",insulation:"#96006C",product_1_background:"#003DB2",product_1_highlight:"#0057FF",product_2_background:"#6000AC",product_2_highlight:"#8200E9",product_3_background:"#B85C00",product_3_highlight:"#CE7500",product_4_background:"#007E8F",product_4_highlight:"#00B9D2",product_5_background:"#760B24",product_5_highlight:"#B8032E",product_6_background:"#008540",product_6_highlight:"#00A851",product_7_background:"#96006C",product_7_highlight:"#CD0094",product_8_background:"#144075",product_8_highlight:"#1A569E",product_9_background:"#fcc419",product_9_highlight:"#ffd43b",product_10_background:"#20c997",product_10_highlight:"#38d9a9",success:"#1CA05C",success_secondary:"#24cb75",success_sm:"#157F48",success_subtle:"rgba(28,160,92,0.1)",warning:"#F9BB00",warning_secondary:"#ffcb2d",warning_subtle:"rgba(249,187,0,0.1)",error:"#DA0014",error_secondary:"#ff0e24",error_subtle:"rgba(218,0,20,0.1)",info:"#00C4D7",info_secondary:"#0be9ff",info_subtle:"rgba(0,196,215,0.1)",neutral:"#C1CDD6",neutral_secondary:"#e0e6ea",neutral_subtle:"rgba(193,205,214,0.1)",primary:"#0056CF",primary_secondary:"#036cff",data_1:"#0056CF",data_2:"#F9BB00",data_3:"#9E64E9",data_4:"#1CA05C",data_5:"#FD804C",data_6:"#144075",data_7:"#00C4D7",data_8:"#DA0014",shadow:"rgba(60,106,172,0.2)",shadow_dark:"#0a0527",royal:"#0056CF",purple:"#9E64E9",teal:"#00C4D7",red:"#DA0014","#ff0":"#F9BB00",green:"#1CA05C",orange:"#FD804C",default:"#93a8b8","#fff":"#fff",silver:"#F3F7FB",slate:"#C1CDD6",charcoal:"#242B42","#000":"#000",secondary:"#F9BB00",tertiary:"#9E64E9",bg_light:"#F3F7FB",bg_dark:"#0a0527",bg_dark_card:"#231E3D",card_light:"#fff",card_dark:"#231e3d",active_light:"#f7fbff",active_dark:"#0082ff",primary_action:"#0056CF",primary_action_dark:"#0082ff",hover_light:"#e0eaf5",hover_dark:"rgba(255,255,255,0.2)",border_light:"#E4E8F0",border_dark:"#3b3752",text_lt_default:"#242B42",text_lt_light:"#687887",text_lt_lighter:"#C1CDD6",text_dk_default:"#fff",text_dk_light:"rgba(255,255,255,0.6)",text_dk_lighter:"rgba(255,255,255,0.4)",category_1:"#0056CF",category_2:"#0CD2E5",category_3:"#F9BB00",category_4:"#14D595",category_5:"#A057FF",category_6:"#FF7034",category_7:"#97DA22",category_8:"#EA599F",category_9:"#0091FF",category_10:"#5027E4",category_11:"#DA0014",category_12:"#109922",category_13:"#058F9D",category_14:"#A33E6F",category_15:"#B2171C",category_16:"#0A5C49",category_17:"#325B91",category_18:"#BE4714",category_19:"navy",category_20:"#5C0E0A",category_21:"#040830",gradient_start:"#1C75F2",gradient_end:"#0056CF"}},function(t,e,n){t.exports={font_family_base:'"Proxima Nova","Helvetica Neue",Helvetica,Arial,sans_serif',text_jumbo:"36px",text_largest:"32px",text_larger:"28px",text_large:"20px",text_base:"16px",text_default:"16px",text_normal:"16px",text_medium:"16px",text_small:"14px",text_smaller:"12px",text_smallest:"11px",heading_1:"46px",heading_2:"34px",heading_3:"28px",heading_4:"16px",lighter:"100",light:"300",bold:"600",regular:"400"}},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5);e.a=function(t){var e=t.align,n=void 0===e?"none":e,i=t.children,o=t.className,d=t.data,c=void 0===d?{}:d,u=t.inline,h=void 0!==u&&u,p=t.horizontal,f=void 0===p?"left":p,g=t.justify,m=void 0===g?"none":g,v=t.orientation,y=void 0===v?"row":v,b=t.spacing,x=void 0===b?"none":b,_=t.gap,O=void 0===_?"none":_,w=t.rowGap,C=void 0===w?"none":w,$=t.columnGap,k=void 0===$?"none":$,E=t.reverse,S=void 0!==E&&E,j=t.vertical,A=void 0===j?"top":j,M=t.wrap,D=void 0!==M&&M,P=t.alignSelf,T=void 0===P?"none":P,L=void 0!==y?"orientation_".concat(y):"",I="justify_content_".concat("none"!==m?m:f),N="align_items_".concat("none"!==n?n:A),R=!0===h?"inline":"",F=void 0!==x?"spacing_".concat(x):"",B="none"!==O?"gap_".concat(O):"",z="none"!==C?"rowGap_".concat(C):"",W="none"!==k?"columnGap_".concat(k):"",H=!0===D?"wrap":"",Y=!0===S?"reverse":"",U="none"!==T?"align_self_".concat(T):"",G=Object(s.c)(c);return r.a.createElement("div",Object.assign({className:a()(Object(s.b)("pb_flex_kit",L,I,N,R,Y,H,F,B,z,W,U),Object(l.c)(t),o)},G),i)}},function(t,e,n){"use strict";n.d(e,"m",(function(){return i})),n.d(e,"c",(function(){return r})),n.d(e,"k",(function(){return o})),n.d(e,"f",(function(){return a})),n.d(e,"a",(function(){return s})),n.d(e,"b",(function(){return l})),n.d(e,"l",(function(){return d})),n.d(e,"e",(function(){return c})),n.d(e,"d",(function(){return u})),n.d(e,"o",(function(){return h})),n.d(e,"i",(function(){return p})),n.d(e,"j",(function(){return f})),n.d(e,"n",(function(){return g})),n.d(e,"h",(function(){return m})),n.d(e,"g",(function(){return v}));var i="top",r="bottom",o="right",a="left",s="auto",l=[i,r,o,a],d="start",c="end",u="clippingParents",h="viewport",p="popper",f="reference",g=l.reduce((function(t,e){return t.concat([e+"-"+d,e+"-"+c])}),[]),m=[].concat(l,[s]).reduce((function(t,e){return t.concat([e,e+"-"+d,e+"-"+c])}),[]),v=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"]},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5),d=n(125);e.a=function(t){t.variant&&Object(l.a)();var e=t.aria,n=void 0===e?{}:e,i=t.children,o=t.className,c=t.color,u=void 0===c?"":c,h=t.data,p=void 0===h?{}:h,f=t.highlightedText,g=void 0===f?[]:f,m=t.highlighting,v=void 0!==m&&m,y=t.id,b=void 0===y?"":y,x=t.status,_=void 0===x?null:x,O=t.tag,w=void 0===O?"div":O,C=t.text,$=void 0===C?"":C,k=t.truncate,E=void 0===k?null:k,S=t.variant,j=void 0===S?null:S,A=Object(s.a)(n),M=Object(s.c)(p),D=E?"truncate_".concat(E):"",P=a()(Object(s.b)("pb_body_kit",u,j,_,D),Object(l.c)(t),o),T="".concat(w);return r.a.createElement(T,Object.assign({},A,M,{className:P,id:b}),v&&r.a.createElement(d.a,{highlightedText:g,text:$},i),!v&&($||i))}},function(t,e,n){t.exports=n(221)()},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5);e.a=function(t){t.variant&&Object(l.a)();var e,n=t.aria,i=void 0===n?{}:n,o=t.children,d=t.className,c=t.color,u=t.data,h=void 0===u?{}:u,p=t.id,f=t.size,g=void 0===f?3:f,m=t.bold,v=void 0===m||m,y=t.tag,b=void 0===y?"h3":y,x=t.text,_=t.truncate,O=void 0===_?null:_,w=t.variant,C=void 0===w?null:w,$=Object(s.a)(i),k=Object(s.c)(h),E=v?"":"thin",S=O?"truncate_".concat(O):null,j="number"==typeof g||"string"==typeof g,A=a()(Object(s.b)("pb_title_kit",j?"size_".concat(g):"",C,c,E,S),Object(l.c)(t),(e="",j||Object.entries(g).forEach((function(t){e+="pb_title_kit_".concat(t[0],"_").concat(t[1]," ")})),e.trim()),d),M="".concat(b);return r.a.createElement(M,Object.assign({},$,k,{className:A,id:p}),x||o)}},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5);e.a=function(t){var e=t.children,n=t.className,i=t.fixedSize,o=t.grow,d=t.shrink,c=t.flex,u=void 0===c?"none":c,h=t.order,p=void 0===h?"none":h,f=t.alignSelf,g=t.displayFlex,m=!0===o?"grow":"",v=!0===g?"display_flex_".concat(g):"",y="none"!==u?"flex_".concat(u):"",b=!0===d?"shrink":"",x=f?"align_self_".concat(f):"",_=void 0!==i?{flexBasis:"".concat(i)}:null,O="none"!==p?"order_".concat(p):null;return r.a.createElement("div",{className:a()(Object(s.b)("pb_flex_item_kit",m,b,y,v),O,x,Object(l.c)(t),n),style:_},e)}},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(3),a=n.n(o),s=n(2),l=n(5);e.a=function(t){t.variant&&Object(l.a)();var e=t.aria,n=void 0===e?{}:e,i=t.children,o=t.className,d=t.color,c=t.data,u=void 0===c?{}:c,h=t.id,p=t.size,f=void 0===p?"md":p,g=t.tag,m=void 0===g?"div":g,v=t.text,y=t.variant,b=void 0===y?null:y,x=["h1","h2","h3","h4","h5","h6","p","span","div","caption"].includes(m)?m:"div",_=Object(s.a)(n),O=Object(s.c)(u),w=a()(Object(s.b)("pb_caption_kit",f,b,d),Object(l.c)(t),o);return r.a.createElement(x,Object.assign({},_,O,{className:w,id:h}),v||i)}},function(t,e,n){"use strict";var i=n(0),r=n.n(i),o=n(22),a=n(3),s=n.n(a),l=n(2),d=n(5);function c(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var u=function(t){var e,n,i=t.aria,a=void 0===i?{}:i,u=t.background,h=void 0===u?"none":u,p=t.borderNone,f=void 0!==p&&p,g=t.borderRadius,m=void 0===g?"md":g,v=t.children,y=t.className,b=t.data,x=void 0===b?{}:b,_=t.highlight,O=void 0===_?{}:_,w=t.selected,C=void 0!==w&&w,$=t.tag,k=void 0===$?"div":$,E=1==f?"border_none":"",S=1==C?"selected":"deselected",j="none"==h?"":"background_".concat(h),A=Object(l.b)("pb_card_kit",S,E,"border_radius_".concat(m),j,(c(e={},"highlight_".concat(O.position),O.position),c(e,"highlight_".concat(O.color),O.color),e)),M=Object(l.a)(a),D=Object(l.c)(x),P=r.a.Children.toArray(v),T=P.filter((function(t){return"Header"!==Object(o.get)(t,"type.displayName")})),L=["div","section","footer","header","article","aside","main","nav"].includes(k)?k:"div";return r.a.createElement(L,Object.assign({},M,D,{className:s()(A,Object(d.c)(t),y)}),(n="Header",P.filter((function(t){return Object(o.get)(t,"type.displayName")===n})).map((function(t,e){if(r.a.isValidElement(t))return r.a.cloneElement(t,{key:"".concat(n.toLowerCase(),"-").concat(e)})}))),T)};u.Header=function(t){var e=t.children,n=t.className,i=t.headerColor,o=void 0===i?"category_1":i,a=t.headerColorStriped,c=void 0!==a&&a,u=Object(l.b)("pb_card_header_kit","".concat(o),c?"striped":""),h=Object(d.c)(t);return r.a.createElement("div",{className:s()(u,h,n)},e)},u.Body=function(t){var e=t.children,n=t.className,i=Object(l.b)("pb_card_body_kit"),o=Object(d.c)(t);return r.a.createElement("div",{className:s()(i,o,n)},e)},e.a=u},function(t,e,n){"use strict";var i=["SU","M","T","W","TH","F","S"],r=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a=function(t){return"string"!=typeof t||t.includes("T")?new Date(t):new Date(t.replace(/-/g,"/"))},s=function(t,e){return e?new Date(a(t).toLocaleString("en-US",{timeZone:e})).getDate():a(t).getDate()},l=function(t){return a(t).getMonth()+1},d=function(t,e){var n=a(t);return e?n.toLocaleTimeString("en-US",{timeZone:e,timeStyle:"short"}).split(" ")[0]:n.toLocaleTimeString("en-US",{timeStyle:"short"}).split(" ")[0]},c=function(t,e){var n=a(t);return e?n.toLocaleString("en-US",{timeZone:e,hour12:!0}).slice(-2).charAt(0).toLocaleLowerCase():n.toLocaleString("en-US",{hour12:!0}).slice(-2).charAt(0).toLocaleLowerCase()},u=function(t){var e=a(t),n=e.getDay(),i=new Date(e.setHours(0,0,0)),r=0===n?6:n-1;return i.setDate(e.getDate()-r),i},h=function(t){var e=a(t),n=e.getDay(),i=new Date(e.setHours(23,59,59,0)),r=0===n?0:7-n;return i.setDate(e.getDate()+r),i},p=function(t){var e=a(t);return new Date(e.getFullYear(),e.getMonth(),1)},f=function(t){var e=a(t);return new Date(e.getFullYear(),e.getMonth()+1,0,23,59,59)},g=function(t){var e=a(t),n=Math.floor(e.getMonth()/3);return new Date(e.getFullYear(),3*n,1)},m=function(t){var e=a(t),n=Math.floor(e.getMonth()/3),i=new Date(e.getFullYear(),3*(n+1),1);return new Date(i.getTime()-1)},v=function(t){var e=a(t);return new Date(e.getFullYear(),0,1)},y=function(t){var e=a(t);return new Date(e.getFullYear(),11,31,23,59,59)};e.a={toMinute:function(t,e){var n=a(t);return e?n.toLocaleTimeString("en-US",{timeZone:e,hour:"2-digit",minute:"2-digit"}).slice(3,5):n.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"}).slice(3,5)},toHour:function(t,e){var n=a(t);return e?n.toLocaleTimeString("en-US",{timeZone:e,hour:"numeric"}).split(" ")[0]:n.toLocaleTimeString("en-US",{hour:"numeric"}).split(" ")[0]},toDay:s,toDayAbbr:function(t){var e=a(t);return i[e.getDay()]},toWeekday:function(t){var e=a(t);return r[e.getDay()]},toMonth:function(t,e){if(e){var n=new Date(a(t).toLocaleString("en-US",{timeZone:e}));return o[n.getMonth()]}var i=a(t);return o[i.getMonth()]},toMonthNum:l,toYear:function(t,e){return e?new Date(a(t).toLocaleString("en-US",{timeZone:e})).getFullYear():a(t).getFullYear()},toTime:d,toMeridiem:c,toTimeZone:function(t,e){var n=a(t);return e?n.toLocaleString("en-US",{timeZone:e,timeZoneName:"short"}).split(" ")[3]:n.toLocaleString("en-US",{timeZoneName:"short"}).split(" ")[3]},toTimeWithMeridiem:function(t,e){var n=a(t);return"".concat(d(n,e)).concat(c(n,e))},toIso:function(t){return a(t).toISOString()},fromNow:function(t){for(var e=new Date,n=a(t),i=n.getTime(),r=e.getTime()-i,o=e.getFullYear()-n.getFullYear(),s="".concat(o,1===o?" year ago":" years ago"),l=0,d=[{min:0,max:45e3,value:"a few seconds ago"},{min:45e3,max:9e4,value:"a minute ago"},{min:9e4,max:267e4,value:"".concat(Math.round(r/6e4)," minutes ago")},{min:267e4,max:54e5,value:"an hour ago"},{min:54e5,max:774e5,value:"".concat(Math.round(r/36e5)," hours ago")},{min:774e5,max:1296e5,value:"a day ago"},{min:1296e5,max:22032e5,value:"".concat(Math.round(r/864e5)," days ago")},{min:22032e5,max:3888e6,value:"a month ago"},{min:3888e6,max:2756e7,value:"".concat(function(){var t=12*o;return t-=n.getMonth(),t+=e.getMonth()}()," months ago")}];l<d.length;l++){var c=d[l],u=c.min,h=c.max,p=c.value;if(r>=u&&r<h){s=p;break}}return s},toCustomFormat:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"month_day",n=a(t);return"month_day"==e?"".concat(l(n),"/").concat(s(n)):"".concat(n.toLocaleString("en-US",{month:"short"})," ").concat(s(n))},getYesterdayDate:function(t){var e=a(t),n=new Date;return n.setDate(e.getDate()-1),n},getFirstDayOfWeek:u,getLastDayOfWeek:h,getPreviousWeekStartDate:function(t){var e=u(t);return new Date(e.getFullYear(),e.getMonth(),e.getDate()-7)},getPreviousWeekEndDate:function(t){var e=h(t);return new Date(e.getFullYear(),e.getMonth(),e.getDate()-7,e.getHours(),e.getMinutes(),e.getSeconds())},getMonthStartDate:p,getMonthEndDate:f,getPreviousMonthStartDate:function(t){var e=p(t);return new Date(e.getFullYear(),e.getMonth()-1,e.getDate())},getPreviousMonthEndDate:function(t){var e=f(t);return new Date(e.getFullYear(),e.getMonth()-1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())},getQuarterStartDate:g,getQuarterEndDate:m,getPreviousQuarterStartDate:function(t){var e=g(t);return new Date(e.getFullYear(),e.getMonth()-3,e.getDate())},getPreviousQuarterEndDate:function(t){var e=m(t);return new Date(e.getFullYear(),e.getMonth()-3,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())},getYearStartDate:v,getYearEndDate:y,getPreviousYearStartDate:function(t){var e=v(t);return new Date(e.getFullYear()-1,e.getMonth(),e.getDate())},getPreviousYearEndDate:function(t){var e=y(t);return new Date(e.getFullYear()-1,e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())}}},,function(t,e,n){"use strict";n.d(e,"a",(function(){return h})),n.d(e,"b",(function(){return k})),n.d(e,"c",(function(){return _})),n.d(e,"d",(function(){return O}));var i=n(145);var r=n(0),o=n(116);n(251);function a(t,e,n){var i="";return n.split(" ").forEach((function(n){void 0!==t[n]?e.push(t[n]):i+=n+" "})),i}var s=function(t,e,n){var i=t.key+"-"+e.name;if(!1===n&&void 0===t.registered[i]&&(t.registered[i]=e.styles),void 0===t.inserted[e.name]){var r=e;do{t.insert("."+i,r,t.sheet,!0);r=r.next}while(void 0!==r)}},l=n(85),d=Object.prototype.hasOwnProperty,c=Object(r.createContext)("undefined"!=typeof HTMLElement?Object(o.a)():null),u=Object(r.createContext)({}),h=c.Provider,p=function(t){var e=function(e,n){return Object(r.createElement)(c.Consumer,null,(function(i){return t(e,i,n)}))};return Object(r.forwardRef)(e)},f="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",g=function(t,e){var n={};for(var i in e)d.call(e,i)&&(n[i]=e[i]);return n[f]=t,n},m=function(){return null},v=function(t,e,n,i){var o=null===n?e.css:e.css(n);"string"==typeof o&&void 0!==t.registered[o]&&(o=t.registered[o]);var c=e[f],u=[o],h="";"string"==typeof e.className?h=a(t.registered,u,e.className):null!=e.className&&(h=e.className+" ");var p=Object(l.a)(u);s(t,p,"string"==typeof c);h+=t.key+"-"+p.name;var g={};for(var v in e)d.call(e,v)&&"css"!==v&&v!==f&&(g[v]=e[v]);g.ref=i,g.className=h;var y=Object(r.createElement)(c,g),b=Object(r.createElement)(m,null);return Object(r.createElement)(r.Fragment,null,b,y)},y=p((function(t,e,n){return"function"==typeof t.css?Object(r.createElement)(u.Consumer,null,(function(i){return v(e,t,i,n)})):v(e,t,null,n)}));var b=n(146),x=n(60),_=function(t,e){var n=arguments;if(null==e||!d.call(e,"css"))return r.createElement.apply(void 0,n);var i=n.length,o=new Array(i);o[0]=y,o[1]=g(t,e);for(var a=2;a<i;a++)o[a]=n[a];return r.createElement.apply(null,o)},O=(r.Component,function(){var t=x.a.apply(void 0,arguments),e="animation-"+t.name;return{name:e,styles:"@keyframes "+e+"{"+t.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}),w=function t(e){for(var n=e.length,i=0,r="";i<n;i++){var o=e[i];if(null!=o){var a=void 0;switch(typeof o){case"boolean":break;case"object":if(Array.isArray(o))a=t(o);else for(var s in a="",o)o[s]&&s&&(a&&(a+=" "),a+=s);break;default:a=o}a&&(r&&(r+=" "),r+=a)}}return r};function C(t,e,n){var i=[],r=a(t,i,n);return i.length<2?n:r+e(i)}var $=function(){return null},k=p((function(t,e){return Object(r.createElement)(u.Consumer,null,(function(n){var i=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];var r=Object(l.a)(n,e.registered);return s(e,r,!1),e.key+"-"+r.name},o={css:i,cx:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return C(e.registered,i,w(n))},theme:n},a=t.children(o);var d=Object(r.createElement)($,null);return Object(r.createElement)(r.Fragment,null,d,a)}))}))},function(t,e,n){"use strict";function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}n.d(e,"a",(function(){return i}))},function(t,e,n){(function(t,i){var r;
7
7
  /**
8
8
  * @license
9
9
  * Lodash <https://lodash.com/>
@@ -35,6 +35,7 @@ module Playbook
35
35
  hover_props,
36
36
  border_radius_props,
37
37
  text_align_props,
38
+ overflow_props,
38
39
  ].compact.join(" ")
39
40
  end
40
41
 
@@ -23,6 +23,7 @@ require "playbook/position"
23
23
  require "playbook/hover"
24
24
  require "playbook/border_radius"
25
25
  require "playbook/text_align"
26
+ require "playbook/overflow"
26
27
 
27
28
  module Playbook
28
29
  class KitBase < ViewComponent::Base
@@ -51,10 +52,11 @@ module Playbook
51
52
  include Playbook::Hover
52
53
  include Playbook::BorderRadius
53
54
  include Playbook::TextAlign
55
+ include Playbook::Overflow
54
56
 
55
57
  prop :id
56
- prop :data, type: Playbook::Props::Hash, default: {}
57
- prop :aria, type: Playbook::Props::Hash, default: {}
58
+ prop :data, type: Playbook::Props::HashProp, default: {}
59
+ prop :aria, type: Playbook::Props::HashProp, default: {}
58
60
  prop :children, type: Playbook::Props::Proc
59
61
 
60
62
  def object
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module Overflow
5
+ def self.included(base)
6
+ base.prop :overflow
7
+ base.prop :overflow_x
8
+ base.prop :overflow_y
9
+ end
10
+
11
+ def overflow_values
12
+ %w[visible hidden scroll auto]
13
+ end
14
+
15
+ def overflow_options
16
+ {
17
+ overflow: "overflow",
18
+ overflow_x: "overflow_x",
19
+ overflow_y: "overflow_y",
20
+ }
21
+ end
22
+
23
+ def overflow_props
24
+ selected_props = overflow_options.keys.select { |sk| try(sk) }
25
+ return nil unless selected_props.present?
26
+
27
+ selected_props.map do |k|
28
+ overflow_value = send(k)
29
+ "#{overflow_options[k]}_#{overflow_value}" if overflow_values.include? overflow_value
30
+ end.compact.join(" ")
31
+ end
32
+ end
33
+ end
@@ -20,7 +20,7 @@ module Playbook
20
20
  end
21
21
 
22
22
  def validate!(input_value)
23
- warn("#{kit} Kit: The prop '#{name}' is deprecated and will be removed in a future release!") if deprecated && input_value # TODO: add some color for pop
23
+ # warn("#{kit} Kit: The prop '#{name}' is deprecated and will be removed in a future release!") if deprecated && input_value # TODO: add some color for pop
24
24
 
25
25
  raise(Playbook::Props::Error, "#{kit} prop '#{name}' of type #{inspect.class} is required and needs a value") if required && input_value.nil?
26
26
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Playbook
4
4
  module Props
5
- class Hash < Playbook::Props::Base
5
+ class HashProp < Playbook::Props::Base
6
6
  def validate(value)
7
7
  value.is_a?(::Hash)
8
8
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- PREVIOUS_VERSION = "13.4.0"
5
- VERSION = "13.5.0"
4
+ PREVIOUS_VERSION = "13.5.0"
5
+ VERSION = "13.6.0"
6
6
  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: 13.5.0
4
+ version: 13.6.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: 2023-09-15 00:00:00.000000000 Z
12
+ date: 2023-09-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -2496,6 +2496,7 @@ files:
2496
2496
  - app/pb_kits/playbook/tokens/_display.scss
2497
2497
  - app/pb_kits/playbook/tokens/_line_height.scss
2498
2498
  - app/pb_kits/playbook/tokens/_opacity.scss
2499
+ - app/pb_kits/playbook/tokens/_overflow.scss
2499
2500
  - app/pb_kits/playbook/tokens/_positioning.scss
2500
2501
  - app/pb_kits/playbook/tokens/_scale.scss
2501
2502
  - app/pb_kits/playbook/tokens/_screen_sizes.scss
@@ -2528,6 +2529,7 @@ files:
2528
2529
  - app/pb_kits/playbook/utilities/_max_width.scss
2529
2530
  - app/pb_kits/playbook/utilities/_mixins.scss
2530
2531
  - app/pb_kits/playbook/utilities/_number_spacing.scss
2532
+ - app/pb_kits/playbook/utilities/_overflow.scss
2531
2533
  - app/pb_kits/playbook/utilities/_positioning.scss
2532
2534
  - app/pb_kits/playbook/utilities/_shadow.scss
2533
2535
  - app/pb_kits/playbook/utilities/_spacing.scss
@@ -2596,6 +2598,7 @@ files:
2596
2598
  - lib/playbook/line_height.rb
2597
2599
  - lib/playbook/number_spacing.rb
2598
2600
  - lib/playbook/order.rb
2601
+ - lib/playbook/overflow.rb
2599
2602
  - lib/playbook/pagination_renderer.rb
2600
2603
  - lib/playbook/pb_doc_helper.rb
2601
2604
  - lib/playbook/pb_forms_helper.rb