playbook_ui 7.4.0.pre.alpha6 → 7.4.0.pre.test2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +3 -1
  3. data/app/pb_kits/playbook/data/menu.yml +2 -2
  4. data/app/pb_kits/playbook/index.js +2 -2
  5. data/app/pb_kits/playbook/pb_background/_background.html.erb +14 -0
  6. data/app/pb_kits/playbook/pb_background/_background.jsx +63 -0
  7. data/app/pb_kits/playbook/pb_background/_background.scss +35 -0
  8. data/app/pb_kits/playbook/pb_background/background.rb +35 -0
  9. data/app/pb_kits/playbook/pb_background/docs/_background_dark.html.erb +3 -0
  10. data/app/pb_kits/playbook/pb_background/docs/_background_dark.jsx +13 -0
  11. data/app/pb_kits/playbook/pb_background/docs/_background_gradient.html.erb +3 -0
  12. data/app/pb_kits/playbook/pb_background/docs/_background_gradient.jsx +13 -0
  13. data/app/pb_kits/playbook/pb_background/docs/_background_image.html.erb +13 -0
  14. data/app/pb_kits/playbook/pb_background/docs/_background_image.jsx +30 -0
  15. data/app/pb_kits/playbook/pb_background/docs/_background_light.html.erb +3 -0
  16. data/app/pb_kits/playbook/pb_background/docs/_background_light.jsx +13 -0
  17. data/app/pb_kits/playbook/pb_background/docs/_background_white.html.erb +3 -0
  18. data/app/pb_kits/playbook/pb_background/docs/_background_white.jsx +14 -0
  19. data/app/pb_kits/playbook/pb_background/docs/_description.md +1 -0
  20. data/app/pb_kits/playbook/pb_background/docs/example.yml +15 -0
  21. data/app/pb_kits/playbook/pb_background/docs/index.js +6 -0
  22. data/app/pb_kits/playbook/pb_checkbox/_checkbox.html.erb +2 -3
  23. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +1 -2
  24. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +1 -4
  25. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_default.html.erb +2 -5
  26. data/app/pb_kits/playbook/pb_date/_date.html.erb +64 -8
  27. data/app/pb_kits/playbook/pb_date/_date.jsx +115 -66
  28. data/app/pb_kits/playbook/pb_date/_date.scss +30 -0
  29. data/app/pb_kits/playbook/pb_date/date.rb +20 -9
  30. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.html.erb +24 -0
  31. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +35 -0
  32. data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +21 -6
  33. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +43 -12
  34. data/app/pb_kits/playbook/pb_date/docs/_date_variants.html.erb +27 -0
  35. data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +43 -0
  36. data/app/pb_kits/playbook/pb_date/docs/example.yml +4 -0
  37. data/app/pb_kits/playbook/pb_date/docs/index.js +2 -0
  38. data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +19 -14
  39. data/app/pb_kits/playbook/pb_date_time/_date_time.html.erb +31 -0
  40. data/app/pb_kits/playbook/pb_date_time/_date_time.jsx +73 -0
  41. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +26 -0
  42. data/app/pb_kits/playbook/pb_date_time/date_time.rb +29 -0
  43. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_align.html.erb +17 -0
  44. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_align.jsx +35 -0
  45. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default.html.erb +20 -0
  46. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default.jsx +38 -0
  47. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_size.html.erb +26 -0
  48. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_size.jsx +75 -0
  49. data/app/pb_kits/playbook/pb_date_time/docs/_description.md +1 -0
  50. data/app/pb_kits/playbook/pb_date_time/docs/example.yml +11 -0
  51. data/app/pb_kits/playbook/pb_date_time/docs/index.js +3 -0
  52. data/app/pb_kits/playbook/pb_flex/_flex.jsx +1 -1
  53. data/app/pb_kits/playbook/pb_flex/_flex.scss +4 -0
  54. data/app/pb_kits/playbook/pb_flex/flex.rb +1 -1
  55. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +52 -1
  56. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  57. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +1 -1
  58. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +1 -1
  59. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +19 -1
  60. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +1 -1
  61. data/app/pb_kits/playbook/pb_list/_list.jsx +2 -9
  62. data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +2 -2
  63. data/app/pb_kits/playbook/pb_radio/_radio.jsx +3 -0
  64. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +46 -19
  65. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default.html.erb +46 -10
  66. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_white.html.erb +4 -4
  67. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +3 -2
  68. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +2 -0
  69. data/app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.jsx +19 -0
  70. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +7 -1
  71. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md +10 -1
  72. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +2 -0
  73. data/lib/playbook/version.rb +1 -1
  74. metadata +41 -20
  75. data/app/pb_kits/playbook/pb_selectable_list/_item.jsx +0 -90
  76. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.html.erb +0 -11
  77. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.jsx +0 -47
  78. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +0 -17
  79. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list_item.html.erb +0 -18
  80. data/app/pb_kits/playbook/pb_selectable_list/docs/_description.md +0 -3
  81. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_checkbox.html.erb +0 -30
  82. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_checkbox.jsx +0 -32
  83. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_radio.html.erb +0 -30
  84. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_radio.jsx +0 -32
  85. data/app/pb_kits/playbook/pb_selectable_list/docs/example.yml +0 -12
  86. data/app/pb_kits/playbook/pb_selectable_list/docs/index.js +0 -2
  87. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.rb +0 -24
  88. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.rb +0 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84234e5245ed8198a33015e8a1f990c70d38b788b41a951cbbb2d15150abae31
4
- data.tar.gz: a7dfea6cb2cfcff7daf6393c744d0e3a8b3959f314ee5d02ba0f376c996d253d
3
+ metadata.gz: edcd483154d0afd156eefc07b277386e923c18ebf81792ad5ff820edec18e49a
4
+ data.tar.gz: 5b226758e48f33b05fc5198f88d5b47f6f1083ffbd6fd2c391bf1b305c1e57a3
5
5
  SHA512:
6
- metadata.gz: 6c28070ae0ee1907e7f9b9543c3bba8fd3b781886dd05a522b73d633d3cc30db2e14f24e63eabdc74670a582adb33bf41d21f5aea14028287dfa7906d5a03c24
7
- data.tar.gz: 766165343399fac0c7a821488262d632a033dc48fc93867d9414a24eaa2ec2059b861015ef0013edee061164a47d2b55c3af123cdb107a84be83c70be47e4a01
6
+ metadata.gz: 3a0aa8bc5d8b1257b9026f4e33eb5b92fb4577b15369e99a22f42ca753fc65ab4b8b25323e81c31ad460f58e8b6b0071e22d8187ddf543444453c9157a61506c
7
+ data.tar.gz: b9f3b18987643f6a9ec374f68b8fc4ae866e1a5e57dde52529375da4c61fcb1555ca689473fde8c3eaef6104e8cd7ea16dc9b2b87bcfce03fceba961d69397dd
@@ -1,4 +1,5 @@
1
1
  @import "tokens/fonts";
2
+ @import "pb_background/background";
2
3
  @import "pb_body/body";
3
4
  @import "pb_button/button";
4
5
  @import 'pb_button_toolbar/button_toolbar';
@@ -17,6 +18,7 @@
17
18
  @import 'pb_dashboard_value/dashboard_value';
18
19
  @import 'pb_date/date';
19
20
  @import 'pb_date_picker/date_picker';
21
+ @import 'pb_date_time/date_time';
20
22
  @import 'pb_date_range_inline/date_range_inline';
21
23
  @import 'pb_date_range_stacked/date_range_stacked';
22
24
  @import 'pb_date_stacked/date_stacked';
@@ -62,7 +64,6 @@
62
64
  @import 'pb_selectable_card/selectable_card';
63
65
  @import 'pb_selectable_card_icon/selectable_card_icon';
64
66
  @import 'pb_selectable_icon/selectable_icon';
65
- @import 'pb_selectable_list/selectable_list';
66
67
  @import 'pb_source/source';
67
68
  @import 'pb_star_rating/star_rating';
68
69
  @import 'pb_stat_change/stat_change';
@@ -84,3 +85,4 @@
84
85
  @import 'pb_time_stacked/time_stacked';
85
86
  @import 'pb_weekday_stacked/weekday_stacked';
86
87
  @import './utilities/spacing';
88
+
@@ -7,6 +7,7 @@ samples:
7
7
  kits:
8
8
  - avatar
9
9
  - avatar_action_button
10
+ - background
10
11
  - buttons:
11
12
  - button
12
13
  - button_toolbar
@@ -20,7 +21,6 @@ kits:
20
21
  - gauge
21
22
  - legend
22
23
  - line_graph
23
-
24
24
  - filter
25
25
  - fixed_confirmation_toast
26
26
  - flex
@@ -34,7 +34,6 @@ kits:
34
34
  - selectable_card
35
35
  - selectable_card_icon
36
36
  - selectable_icon
37
- - selectable_list
38
37
  - text_input
39
38
  - textarea
40
39
  - typeahead
@@ -79,6 +78,7 @@ kits:
79
78
  - date_range_inline
80
79
  - date_range_stacked
81
80
  - date_stacked
81
+ - date_time
82
82
  - date_time_stacked
83
83
  - date_year_stacked
84
84
  - home_address_street
@@ -5,6 +5,7 @@ import 'lazysizes'
5
5
  // React Component JSX Imports from the React Kits
6
6
  export Avatar from './pb_avatar/_avatar.jsx'
7
7
  export AvatarActionButton from './pb_avatar_action_button/_avatar_action_button.jsx'
8
+ export Background from 'pb_background/_background.jsx'
8
9
  export Badge from './pb_badge/_badge.jsx'
9
10
  export BarGraph from './pb_bar_graph/_bar_graph.jsx'
10
11
  export Body from './pb_body/_body.jsx'
@@ -23,6 +24,7 @@ export DatePicker from './pb_date_picker/_date_picker.jsx'
23
24
  export DateRangeInline from './pb_date_range_inline/_date_range_inline.jsx'
24
25
  export DateRangeStacked from './pb_date_range_stacked/_date_range_stacked.jsx'
25
26
  export DateStacked from './pb_date_stacked/_date_stacked.jsx'
27
+ export DateTime from './pb_date_time/_date_time.jsx'
26
28
  export DateTimeStacked from './pb_date_time_stacked/_date_time_stacked.jsx'
27
29
  export DateYearStacked from './pb_date_year_stacked/_date_year_stacked.jsx'
28
30
  export DistributionBar from './pb_distribution_bar/_distribution_bar.jsx'
@@ -68,8 +70,6 @@ export Select from './pb_select/_select.jsx'
68
70
  export SelectableCard from './pb_selectable_card/_selectable_card.jsx'
69
71
  export SelectableCardIcon from './pb_selectable_card_icon/_selectable_card_icon.jsx'
70
72
  export SelectableIcon from './pb_selectable_icon/_selectable_icon.jsx'
71
- export SelectableList from './pb_selectable_list/_selectable_list.jsx'
72
- export SelectableListItem from './pb_selectable_list/_item.jsx'
73
73
  export Source from './pb_source/_source.jsx'
74
74
  export StarRating from './pb_star_rating/_star_rating.jsx'
75
75
  export StatChange from './pb_stat_change/_stat_change.jsx'
@@ -0,0 +1,14 @@
1
+ <%= content_tag(object.tag,
2
+ aria: object.aria,
3
+ data: object.data,
4
+ id: object.id) do %>
5
+ <% if object.image_url.present? %>
6
+ <div class="<%= object.classname %>" style="background-image: url(<%= object.image_url %>);">
7
+ <%= capture(&object.children) %>
8
+ </div>
9
+ <% else %>
10
+ <div class="<%= object.classname %>">
11
+ <%= capture(&object.children) %>
12
+ </div>
13
+ <% end %>
14
+ <% end %>
@@ -0,0 +1,63 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import classnames from 'classnames'
5
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
6
+ import { globalProps } from '../utilities/globalProps.js'
7
+
8
+ type BackgroundProps = {
9
+ aria?: object,
10
+ backgroundColor?: 'gradient' | 'dark' | 'light' | 'white',
11
+ children?: array<React.ReactNode> | React.ReactNode,
12
+ className?: string,
13
+ data?: object,
14
+ id?: string,
15
+ imageUrl?: string,
16
+ padding?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl',
17
+ tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div',
18
+ }
19
+
20
+ const Background = (props: BackgroundProps) => {
21
+ const {
22
+ aria = {},
23
+ backgroundColor = 'light',
24
+ children,
25
+ className,
26
+ data = {},
27
+ id,
28
+ imageUrl = '',
29
+ tag = 'div',
30
+ } = props
31
+
32
+ const ariaProps = buildAriaProps(aria)
33
+ const dataProps = buildDataProps(data)
34
+ const classes = classnames(buildCss('pb_background_kit'), globalProps(props), `pb_background_color_${backgroundColor}`, className)
35
+ const Tag = `${tag}`
36
+ const backgroundStyle = {
37
+ backgroundImage: `url(${imageUrl})`,
38
+ backgroundSize: 'cover',
39
+ }
40
+
41
+ return (
42
+ <Tag
43
+ {...ariaProps}
44
+ {...dataProps}
45
+ id={id}
46
+ >
47
+ <If condition={imageUrl}>
48
+ <div
49
+ className={classes + 'lazyload blur_up'}
50
+ style={backgroundStyle}
51
+ >
52
+ { children }
53
+ </div>
54
+ <Else />
55
+ <div className={classes}>
56
+ { children }
57
+ </div>
58
+ </If>
59
+ </Tag>
60
+ )
61
+ }
62
+
63
+ export default Background
@@ -0,0 +1,35 @@
1
+ @import "../tokens/colors";
2
+
3
+ $background_colors: (
4
+ "gradient": linear-gradient(135deg, $gradient_start 0%, $gradient_end 100%),
5
+ "dark": $bg_dark,
6
+ "light": $bg_light,
7
+ "white": $white,
8
+ );
9
+
10
+
11
+ [class^=pb_background_kit] {
12
+ max-width: 100%;
13
+ max-height: 100%;
14
+ background-size: cover;
15
+
16
+ @each $name, $color in $background_colors {
17
+ &.pb_background_color_#{$name} {
18
+ background: $color;
19
+ }
20
+ };
21
+
22
+ .blur_up {
23
+ -webkit-filter: blur(6px);
24
+ filter: blur(6px);
25
+ transition: filter 550ms, -webkit-filter 550ms;
26
+ }
27
+
28
+ .blur_up.lazyloaded {
29
+ -webkit-filter: blur(0);
30
+ filter: blur(0);
31
+ }
32
+
33
+
34
+
35
+ }
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module PbBackground
5
+ class Background
6
+ include Playbook::Props
7
+
8
+ partial "pb_background/background"
9
+
10
+ prop :background_color, type: Playbook::Props::Enum,
11
+ values: %w[gradient dark light white],
12
+ default: "light"
13
+ prop :image_url
14
+
15
+ prop :tag, type: Playbook::Props::Enum,
16
+ values: %w[h1 h2 h3 h4 h5 h6 p div span],
17
+ default: "div"
18
+
19
+
20
+ def classname
21
+ generate_classname("pb_background_kit", image_classname, background_color_classname, separator: " ")
22
+ end
23
+
24
+ private
25
+
26
+ def image_classname
27
+ image_url.present? ? "lazyload blur_up" : ""
28
+ end
29
+
30
+ def background_color_classname
31
+ !image_url.present? ? "pb_background_color_#{background_color}" : ""
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,3 @@
1
+ <%= pb_rails("background", props: { background_color: "dark", padding: "xl" }) do %>
2
+
3
+ <% end %>
@@ -0,0 +1,13 @@
1
+ import React from 'react'
2
+ import { Background } from '../..'
3
+
4
+ const BackgroundDark = () => (
5
+ <div>
6
+ <Background
7
+ backgroundColor="dark"
8
+ padding="xl"
9
+ />
10
+ </div>
11
+ )
12
+
13
+ export default BackgroundDark
@@ -0,0 +1,3 @@
1
+ <%= pb_rails("background", props: { background_color: "gradient", padding: "xl" }) do %>
2
+
3
+ <% end %>
@@ -0,0 +1,13 @@
1
+ import React from 'react'
2
+ import { Background } from '../..'
3
+
4
+ const BackgroundGradient = () => (
5
+ <div>
6
+ <Background
7
+ backgroundColor="gradient"
8
+ padding="xl"
9
+ />
10
+ </div>
11
+ )
12
+
13
+ export default BackgroundGradient
@@ -0,0 +1,13 @@
1
+ <%= pb_rails("background", props: { image_url: "https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1000&q=80", padding: "lg" }) do %>
2
+ <%= pb_rails("flex", props: { horizontal: "center", orientation: "column" }) do %>
3
+ <%= pb_rails("flex/flex_item") do %>
4
+ <%= pb_rails("title", props: { dark: true, size: 1, text: "Background Kit Image" })%>
5
+ <% end %>
6
+ <%= pb_rails("flex/flex_item", props: { padding: "lg" }) do %>
7
+ <%= pb_rails("card", props: { shadow: "deepest" }) do %>
8
+ We cannot seek achievement for ourselves and forget about progress and prosperity for our community... Our ambitions must be broad enough to include the aspirations and needs of others, for their sakes and for our own.
9
+ -Cesar Chavez
10
+ <% end %>
11
+ <% end %>
12
+ <% end %>
13
+ <% end %>
@@ -0,0 +1,30 @@
1
+ import React from 'react'
2
+ import { Background } from '../..'
3
+ import { Card, Flex, FlexItem, Title } from '../..'
4
+
5
+ const BackgroundImage = () => (
6
+ <div>
7
+ <Background imageUrl="https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1000&q=80">
8
+ <Flex
9
+ orientation="column"
10
+ vertical="center"
11
+ >
12
+ <FlexItem>
13
+ <Title
14
+ dark
15
+ padding="lg"
16
+ size={1}
17
+ text="Background Kit Image"
18
+ />
19
+ </FlexItem>
20
+ <FlexItem padding="lg">
21
+ <Card shadow="deepest">
22
+ {'We cannot seek achievement for ourselves and forget about progress and prosperity for our community... Our ambitions must be broad enough to include the aspirations and needs of others, for their sakes and for our own. - Cesar Chavez'}
23
+ </Card>
24
+ </FlexItem>
25
+ </Flex>
26
+ </Background>
27
+ </div>
28
+ )
29
+
30
+ export default BackgroundImage
@@ -0,0 +1,3 @@
1
+ <%= pb_rails("background", props: { background_color: "light", padding: "xl" }) do %>
2
+
3
+ <% end %>
@@ -0,0 +1,13 @@
1
+ import React from 'react'
2
+ import { Background } from '../..'
3
+
4
+ const BackgroundLight = () => (
5
+ <div>
6
+ <Background
7
+ backgroundColor="light"
8
+ padding="xl"
9
+ />
10
+ </div>
11
+ )
12
+
13
+ export default BackgroundLight
@@ -0,0 +1,3 @@
1
+ <%= pb_rails("background", props: { background_color: "white", padding: "xl" }) do %>
2
+
3
+ <% end %>
@@ -0,0 +1,14 @@
1
+ import React from 'react'
2
+ import { Background } from '../..'
3
+
4
+ const BackgroundWhite = () => (
5
+ <div>
6
+ <Background
7
+ backgroundColor="white"
8
+ className="blah"
9
+ />
10
+ </div>
11
+
12
+ )
13
+
14
+ export default BackgroundWhite
@@ -0,0 +1 @@
1
+ The background kit is used for adding a background to a page or to any container. Instead of adding a custom class to give something a background, you can now wrap the elements in the background kit and use the `background_color` prop to assign its color. The colors that you can choose from for the `background_color` prop are: gradient, dark, light, and white.
@@ -0,0 +1,15 @@
1
+ examples:
2
+
3
+ rails:
4
+ - background_light: Light
5
+ - background_white: White
6
+ - background_dark: Dark
7
+ - background_gradient: Gradient
8
+ - background_image: Image
9
+
10
+ react:
11
+ - background_light: Light
12
+ - background_white: White
13
+ - background_dark: Dark
14
+ - background_gradient: Gradient
15
+ - background_image: Image
@@ -0,0 +1,6 @@
1
+ export { default as BackgroundLight } from './_background_light.jsx'
2
+ export { default as BackgroundWhite } from './_background_white.jsx'
3
+ export { default as BackgroundDark } from './_background_dark.jsx'
4
+ export { default as BackgroundGradient } from './_background_gradient.jsx'
5
+ export { default as BackgroundImage } from './_background_image.jsx'
6
+
@@ -1,11 +1,10 @@
1
1
  <%= content_tag(:label, aria: object.aria,
2
2
  id: object.id,
3
3
  data: object.data,
4
- class: object.classname,
5
- for: object.for_attribute ) do %>
4
+ class: object.classname) do %>
6
5
  <% if object.children %>
7
6
  <%= capture(&object.children) %>
8
- <% else %>
7
+ <% else %>
9
8
  <%= object.input %>
10
9
  <% end %>
11
10
  <span class="pb_checkbox_checkmark">
@@ -51,14 +51,13 @@ const Checkbox = (props: CheckboxProps) => {
51
51
  {...ariaProps}
52
52
  {...dataProps}
53
53
  className={classes}
54
- htmlFor={id}
54
+ id={id}
55
55
  >
56
56
  <If condition={children}>
57
57
  {children}
58
58
  <Else />
59
59
  <input
60
60
  defaultChecked={checked}
61
- id={id}
62
61
  name={name}
63
62
  onChange={onChange}
64
63
  type="checkbox"
@@ -14,6 +14,7 @@ module Playbook
14
14
  prop :text
15
15
  prop :value
16
16
  prop :name
17
+
17
18
  prop :input_options, type: Playbook::Props::Hash,
18
19
  default: {}
19
20
  prop :required, type: Playbook::Props::Boolean,
@@ -33,10 +34,6 @@ module Playbook
33
34
  check_box_tag(name, value, checked, input_options)
34
35
  end
35
36
 
36
- def for_attribute
37
- input_options[:id]
38
- end
39
-
40
37
  def checkbox_label_status
41
38
  error ? "negative" : nil
42
39
  end
@@ -1,8 +1,5 @@
1
1
  <%= pb_rails("checkbox" , props: {
2
2
  text: "Checkbox Label",
3
- input_options: {
4
- value: "checkbox-value",
5
- name: "checkbox-name",
6
- id: "label-id",
7
- }
3
+ value: "checkbox-value",
4
+ name: "checkbox-name"
8
5
  }) %>
@@ -1,14 +1,70 @@
1
1
  <%= content_tag(:div,
2
2
  id: object.id,
3
3
  data: object.data,
4
- class: object.classname) do %>
5
- <% if object.size == "lg" %>
6
- <%= pb_rails("title", props: { text: object.lg_date, size: 3 }) %>
7
- <% elsif object.size == "sm" %>
8
- <%= pb_rails("icon", props: { icon: "calendar", fixed_width: true }) %>
9
- <%= pb_rails("title", props: { tag: "span", text: object.sm_date, size: 4 }) %>
4
+ class: object.classname,
5
+ aria: object.aria) do %>
6
+
7
+ <% if object.size == "md" %>
8
+ <!-- icon -->
9
+ <% if object.show_icon %>
10
+ <%= pb_rails("body", props: {
11
+ color: "light",
12
+ tag: "div",
13
+ }) do %>
14
+ <%= pb_rails("icon", props: { icon: "calendar-alt", fixed_width: true }) %>
15
+ <% end %>
16
+ <% end %>
17
+
18
+ <!-- day_of_week -->
19
+ <% if object.show_day_of_week %>
20
+ <%= pb_rails("title", props: { tag: "div", text: object.day_of_week, size: 4 }) %>
21
+ <%= pb_rails("body", props: {
22
+ text: "•",
23
+ color: "light",
24
+ tag: "div",
25
+ }) %>
26
+ <% end %>
27
+
28
+ <!-- month day, year -->
29
+
30
+ <%# if not current year %>
31
+ <% if object.year.to_s == DateTime.now.year.to_s %>
32
+ <%= pb_rails("title", props: { tag: "div", text: "#{object.month} #{object.day}", size: 4 }) %>
33
+ <%# if is current year %>
10
34
  <% else %>
11
- <%= pb_rails("title", props: { text: object.xs_date, size: 4 }) %>
35
+ <%= pb_rails("title", props: { tag: "div", text: "#{object.month} #{object.day}, #{object.year}", size: 4 }) %>
36
+ <% end %>
37
+
38
+ <% else %>
39
+
40
+ <!-- icon -->
41
+ <% if object.show_icon %>
42
+ <%= pb_rails("body", props: {
43
+ color: "light",
44
+ tag: "div",
45
+ }) do %>
46
+ <%= pb_rails("icon", props: { icon: "calendar-alt", fixed_width: true }) %>
47
+ <% end %>
48
+ <% end %>
49
+
50
+ <!-- day_of_week -->
51
+ <% if object.show_day_of_week %>
52
+ <%= pb_rails("caption", props: { tag: "div", text: object.day_of_week }) %>
53
+ <%= pb_rails("caption", props: {
54
+ text: "•",
55
+ color: "light",
56
+ tag: "div",
57
+ }) %>
58
+ <% end %>
59
+
60
+ <!-- month day, year -->
61
+
62
+ <%# if not current year %>
63
+ <% if object.year.to_s == DateTime.now.year.to_s %>
64
+ <%= pb_rails("caption", props: { tag: "span", text: "#{object.month} #{object.day}" }) %>
65
+ <%# if is current year %>
66
+ <% else %>
67
+ <%= pb_rails("caption", props: { tag: "span", text: "#{object.month} #{object.day}, #{object.year}" }) %>
68
+ <% end %>
12
69
  <% end %>
13
70
  <% end %>
14
-