playbook_ui 7.4.0.pre.alpha6 → 7.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/github-brands.svg +1 -0
  3. data/app/assets/images/landing-background.svg +36 -0
  4. data/app/assets/images/landing-image.svg +203 -0
  5. data/app/assets/images/{pb.logo.svg → pb-logo.svg} +2 -2
  6. data/app/assets/images/pb-white-logo.svg +15 -0
  7. data/app/pb_kits/playbook/_playbook.scss +3 -1
  8. data/app/pb_kits/playbook/data/menu.yml +2 -2
  9. data/app/pb_kits/playbook/index.js +2 -2
  10. data/app/pb_kits/playbook/pb_background/_background.html.erb +14 -0
  11. data/app/pb_kits/playbook/pb_background/_background.jsx +63 -0
  12. data/app/pb_kits/playbook/pb_background/_background.scss +35 -0
  13. data/app/pb_kits/playbook/pb_background/background.rb +35 -0
  14. data/app/pb_kits/playbook/pb_background/docs/_background_dark.html.erb +3 -0
  15. data/app/pb_kits/playbook/pb_background/docs/_background_dark.jsx +13 -0
  16. data/app/pb_kits/playbook/pb_background/docs/_background_gradient.html.erb +3 -0
  17. data/app/pb_kits/playbook/pb_background/docs/_background_gradient.jsx +13 -0
  18. data/app/pb_kits/playbook/pb_background/docs/_background_image.html.erb +13 -0
  19. data/app/pb_kits/playbook/pb_background/docs/_background_image.jsx +30 -0
  20. data/app/pb_kits/playbook/pb_background/docs/_background_light.html.erb +3 -0
  21. data/app/pb_kits/playbook/pb_background/docs/_background_light.jsx +13 -0
  22. data/app/pb_kits/playbook/pb_background/docs/_background_white.html.erb +3 -0
  23. data/app/pb_kits/playbook/pb_background/docs/_background_white.jsx +14 -0
  24. data/app/pb_kits/playbook/pb_background/docs/_description.md +1 -0
  25. data/app/pb_kits/playbook/pb_background/docs/example.yml +15 -0
  26. data/app/pb_kits/playbook/pb_background/docs/index.js +6 -0
  27. data/app/pb_kits/playbook/pb_checkbox/_checkbox.html.erb +2 -3
  28. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +1 -2
  29. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +1 -4
  30. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_default.html.erb +2 -5
  31. data/app/pb_kits/playbook/pb_date/_date.html.erb +64 -8
  32. data/app/pb_kits/playbook/pb_date/_date.jsx +115 -66
  33. data/app/pb_kits/playbook/pb_date/_date.scss +30 -0
  34. data/app/pb_kits/playbook/pb_date/date.rb +20 -9
  35. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.html.erb +24 -0
  36. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +35 -0
  37. data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +21 -6
  38. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +43 -12
  39. data/app/pb_kits/playbook/pb_date/docs/_date_variants.html.erb +27 -0
  40. data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +43 -0
  41. data/app/pb_kits/playbook/pb_date/docs/example.yml +4 -0
  42. data/app/pb_kits/playbook/pb_date/docs/index.js +2 -0
  43. data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +19 -14
  44. data/app/pb_kits/playbook/pb_date_time/_date_time.html.erb +31 -0
  45. data/app/pb_kits/playbook/pb_date_time/_date_time.jsx +73 -0
  46. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +26 -0
  47. data/app/pb_kits/playbook/pb_date_time/date_time.rb +29 -0
  48. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_align.html.erb +17 -0
  49. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_align.jsx +35 -0
  50. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default.html.erb +20 -0
  51. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default.jsx +38 -0
  52. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_size.html.erb +26 -0
  53. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_size.jsx +75 -0
  54. data/app/pb_kits/playbook/pb_date_time/docs/_description.md +1 -0
  55. data/app/pb_kits/playbook/pb_date_time/docs/example.yml +11 -0
  56. data/app/pb_kits/playbook/pb_date_time/docs/index.js +3 -0
  57. data/app/pb_kits/playbook/pb_flex/_flex.jsx +1 -1
  58. data/app/pb_kits/playbook/pb_flex/_flex.scss +4 -0
  59. data/app/pb_kits/playbook/pb_flex/flex.rb +1 -1
  60. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +52 -1
  61. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  62. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +1 -1
  63. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +1 -1
  64. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +19 -1
  65. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +1 -1
  66. data/app/pb_kits/playbook/pb_list/_list.jsx +2 -9
  67. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +3 -1
  68. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +13 -4
  69. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.html.erb +1 -1
  70. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.jsx +5 -7
  71. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_custom_icon.html.erb +12 -0
  72. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker_click_events.jsx +48 -0
  73. data/app/pb_kits/playbook/pb_progress_step/docs/example.yml +2 -0
  74. data/app/pb_kits/playbook/pb_progress_step/docs/index.js +1 -0
  75. data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +5 -3
  76. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +6 -0
  77. data/app/pb_kits/playbook/pb_radio/_radio.jsx +3 -0
  78. data/app/pb_kits/playbook/pb_timestamp/_timestamp.html.erb +13 -1
  79. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +96 -20
  80. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +12 -1
  81. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.html.erb +69 -0
  82. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx +91 -0
  83. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.html.erb +21 -1
  84. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +31 -4
  85. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.html.erb +14 -0
  86. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx +27 -0
  87. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed_align.html.erb +54 -0
  88. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed_align.jsx +73 -0
  89. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.html.erb +59 -0
  90. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +74 -0
  91. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones_align.html.erb +177 -0
  92. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones_align.jsx +209 -0
  93. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.html.erb +35 -0
  94. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx +51 -0
  95. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_align.html.erb +123 -0
  96. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_align.jsx +146 -0
  97. data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +14 -0
  98. data/app/pb_kits/playbook/pb_timestamp/docs/index.js +7 -0
  99. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +67 -1
  100. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +46 -19
  101. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default.html.erb +46 -10
  102. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_white.html.erb +4 -4
  103. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +3 -2
  104. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +14 -2
  105. data/app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.jsx +20 -0
  106. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +8 -15
  107. data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +1 -6
  108. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +10 -4
  109. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md +20 -4
  110. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +4 -0
  111. data/lib/playbook/version.rb +1 -1
  112. metadata +60 -22
  113. data/app/assets/images/clark.jpg +0 -0
  114. data/app/assets/images/giant.jpg +0 -0
  115. data/app/pb_kits/playbook/pb_selectable_list/_item.jsx +0 -90
  116. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.html.erb +0 -11
  117. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.jsx +0 -47
  118. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +0 -17
  119. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list_item.html.erb +0 -18
  120. data/app/pb_kits/playbook/pb_selectable_list/docs/_description.md +0 -3
  121. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_checkbox.html.erb +0 -30
  122. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_checkbox.jsx +0 -32
  123. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_radio.html.erb +0 -30
  124. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_radio.jsx +0 -32
  125. data/app/pb_kits/playbook/pb_selectable_list/docs/example.yml +0 -12
  126. data/app/pb_kits/playbook/pb_selectable_list/docs/index.js +0 -2
  127. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.rb +0 -24
  128. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.rb +0 -28
Binary file
Binary file
@@ -1,90 +0,0 @@
1
- /* @flow */
2
- import React, { Node } from 'react'
3
- import classnames from 'classnames'
4
- import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
5
- import { globalProps } from '../utilities/globalProps.js'
6
- import { Checkbox, ListItem, Radio } from '..'
7
-
8
- type SelectableListItemProps = {
9
- aria?: object,
10
- children: array<Node> | Node,
11
- checked?: boolean,
12
- className?: string,
13
- data?: object,
14
- defaultChecked?: boolean,
15
- id?: string,
16
- label?: string,
17
- text?: string,
18
- name?: string,
19
- value?: string,
20
- variant?: string,
21
- onChange: (boolean)=>void,
22
- }
23
-
24
- const SelectableListItem = ({
25
- aria = {},
26
- checked = false,
27
- children,
28
- className,
29
- data = {},
30
- defaultChecked,
31
- id,
32
- label,
33
- text = '',
34
- name = '',
35
- value = '',
36
- variant = 'checkbox',
37
- onChange = () => {},
38
- ...props
39
- }: SelectableListItemProps) => {
40
- const ariaProps = buildAriaProps(aria)
41
- const dataProps = buildDataProps(data)
42
- const classes = classnames(
43
- buildCss('pb_selectable_list_item_kit'),
44
- globalProps(props),
45
- className
46
- )
47
-
48
- return (
49
- <ListItem {...props}>
50
- <div
51
- {...ariaProps}
52
- {...dataProps}
53
- className={classes}
54
- >
55
- <Choose>
56
- <When condition={variant == 'checkbox'}>
57
- <Checkbox
58
- checked={checked}
59
- id={id}
60
- name={name}
61
- onChange={onChange}
62
- // eslint suppressor, text is needed to display on screen
63
- text={label || (text && false)}
64
- type="checkbox"
65
- value={value}
66
- {...props}
67
- />
68
- {children}
69
- </When>
70
- <When condition={variant == 'radio'}>
71
- <Radio
72
- defaultChecked={defaultChecked}
73
- id={id}
74
- label={label}
75
- name={name}
76
- onChange={onChange}
77
- type="radio"
78
- value={value}
79
- {...props}
80
- />
81
- {children}
82
- </When>
83
- <Otherwise>{children}</Otherwise>
84
- </Choose>
85
- </div>
86
- </ListItem>
87
- )
88
- }
89
-
90
- export default SelectableListItem
@@ -1,11 +0,0 @@
1
- <%= content_tag(:div,
2
- aria: object.aria,
3
- class: object.classname,
4
- data: object.data,
5
- id: object.id) do %>
6
- <%= pb_rails("list") do %>
7
- <% object.items.each do |item| %>
8
- <%= pb_rails("selectable_list/selectable_list_item", props: item.merge(variant: object.variant) )%>
9
- <% end %>
10
- <% end %>
11
- <% end %>
@@ -1,47 +0,0 @@
1
- /* @flow */
2
- import React from 'react'
3
- import classnames from 'classnames'
4
- import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
5
- import { globalProps } from '../utilities/globalProps.js'
6
- import { List } from '..'
7
- import SelectableListItem from './_item.jsx'
8
-
9
- type SelectableListProps = {
10
- aria?: object,
11
- children?: Node,
12
- className?: string,
13
- data?: object,
14
- id?: string,
15
- variant?: 'checkbox' | 'radio',
16
- }
17
-
18
- const SelectableList = (props: SelectableListProps) => {
19
- const {
20
- aria = {},
21
- children,
22
- className,
23
- data = {},
24
- id,
25
- } = props
26
-
27
- const ariaProps = buildAriaProps(aria)
28
- const classes = classnames(buildCss('pb_selectable_list_kit'), globalProps(props), className)
29
- const dataProps = buildDataProps(data)
30
-
31
- return (
32
- <div
33
- {...ariaProps}
34
- {...dataProps}
35
- className={classes}
36
- id={id}
37
- >
38
- <List {...props}>
39
- {children}
40
- </List>
41
- </div>
42
- )
43
- }
44
-
45
- SelectableList.Item = SelectableListItem
46
-
47
- export default SelectableList
@@ -1,17 +0,0 @@
1
- @import "../tokens/colors";
2
- @import "../tokens/spacing";
3
-
4
- [class^=pb_selectable_list]{
5
- margin-bottom: 0px;
6
- [class^=pb_item_kit] {
7
- &:hover {
8
- background-color: $bg_light;
9
- }
10
- }
11
- [class^=pb_radio_kit] {
12
- margin-left: $space_xs;
13
- }
14
- [class^=pb_checkbox_kit] {
15
- margin-left: $space_xs;
16
- }
17
- }
@@ -1,18 +0,0 @@
1
- <%= content_tag(:li,
2
- aria: object.aria,
3
- class: object.classname,
4
- data: object.data,
5
- id: object.id) do %>
6
- <% puts object.variant %>
7
- <% if object.variant == "radio"%>
8
- <%= pb_rails("radio", props: { text: object.text, checked: object.checked, input_options: object.input_options } ) %>
9
- <% if object.children.present? %>
10
- <%= capture(&object.children) %>
11
- <% end %>
12
- <% else %>
13
- <%= pb_rails("checkbox", props: { text: object.text, checked: object.checked, input_options: object.input_options } ) %>
14
- <% if object.children.present? %>
15
- <%= capture(&object.children) %>
16
- <% end %>
17
- <% end %>
18
- <% end %>
@@ -1,3 +0,0 @@
1
- Selectable List Kit can take variants checkbox and radio. Regardless of which variant type, each selectable list item needs a `value`, `name`, and `id` (these props are `<input>` attributes).
2
-
3
- The Selectable List Item`id` prop will provide the `for` attribute to `<label>` in the kit, so no additional attributes are needed for the association between `<label>` and `<input>`.
@@ -1,30 +0,0 @@
1
- <%= pb_rails("selectable_list",
2
- props: {
3
- variant: "checkbox",
4
- items: [
5
- { text: "Mild",
6
- input_options: {
7
- value: "1",
8
- name: "checkbox-name-1",
9
- id: "checkbox-id-1",
10
- }
11
- },
12
- { text: "Medium",
13
- checked: true,
14
- input_options: {
15
- value: "2",
16
- name: "checkbox-name-2",
17
- id: "checkbox-id-2",
18
- }
19
- },
20
- { text: "Hot",
21
- input_options: {
22
- value: "3",
23
- name: "checkbox-name-3",
24
- id: "checkbox-id-3",
25
- }
26
- }
27
- ]
28
- }
29
- )
30
- %>
@@ -1,32 +0,0 @@
1
- import React from 'react'
2
- import { SelectableList } from '../..'
3
-
4
- const SelectableListDefault = () => {
5
- return (
6
- <div>
7
- <SelectableList variant="checkbox">
8
- <SelectableList.Item
9
- id="checkbox-id-1"
10
- label="Mild"
11
- name="checkbox-name-1"
12
- value="1"
13
- />
14
- <SelectableList.Item
15
- checked
16
- id="checkbox-id-2"
17
- label="Medium"
18
- name="checkbox-name-2"
19
- value="2"
20
- />
21
- <SelectableList.Item
22
- id="checkbox-id-3"
23
- label="Hot"
24
- name="checkbox-name-3"
25
- value="3"
26
- />
27
- </SelectableList>
28
- </div>
29
- )
30
- }
31
-
32
- export default SelectableListDefault
@@ -1,30 +0,0 @@
1
- <%= pb_rails("selectable_list",
2
- props: {
3
- variant: "radio",
4
- items: [
5
- { text: "Small",
6
- input_options: {
7
- value: "1",
8
- name: "radio-name",
9
- id: "radio-id-1",
10
- }
11
- },
12
- { text: "Medium",
13
- checked: true,
14
- input_options: {
15
- value: "2",
16
- name: "radio-name",
17
- id: "radio-id-2",
18
- }
19
- },
20
- { text: "Large",
21
- input_options: {
22
- value: "3",
23
- name: "radio-name",
24
- id: "radio-id-3",
25
- }
26
- }
27
- ]
28
- }
29
- )
30
- %>
@@ -1,32 +0,0 @@
1
- import React from 'react'
2
- import { SelectableList } from '../..'
3
-
4
- const SelectableListDefault = () => {
5
- return (
6
- <div>
7
- <SelectableList variant="radio">
8
- <SelectableList.Item
9
- id="radio-id-1"
10
- label="Small"
11
- name="radio"
12
- value="1"
13
- />
14
- <SelectableList.Item
15
- defaultChecked
16
- id="radio-id-2"
17
- label="Medium"
18
- name="radio"
19
- value="2"
20
- />
21
- <SelectableList.Item
22
- id="radio-id-3"
23
- label="Large"
24
- name="radio"
25
- value="3"
26
- />
27
- </SelectableList>
28
- </div>
29
- )
30
- }
31
-
32
- export default SelectableListDefault
@@ -1,12 +0,0 @@
1
- examples:
2
-
3
- rails:
4
- - selectable_list_checkbox: Default
5
- - selectable_list_radio: Radio variant
6
-
7
-
8
- react:
9
- - selectable_list_checkbox: Default
10
- - selectable_list_radio: Radio variant
11
-
12
-
@@ -1,2 +0,0 @@
1
- export { default as SelectableListCheckbox } from './_selectable_list_checkbox.jsx'
2
- export { default as SelectableListRadio } from './_selectable_list_radio.jsx'
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbSelectableList
5
- class SelectableList
6
- include Playbook::Props
7
-
8
- partial "pb_selectable_list/selectable_list"
9
-
10
- prop :variant, type: Playbook::Props::Enum,
11
- values: %w[radio checkbox],
12
- default: "checkbox"
13
-
14
- prop :text, type: Playbook::Props::String
15
-
16
- prop :items, type: Playbook::Props::Array,
17
- default: []
18
-
19
- def classname
20
- generate_classname("pb_selectable_list_kit")
21
- end
22
- end
23
- end
24
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbSelectableList
5
- class SelectableListItem
6
- include Playbook::Props
7
-
8
- prop :tabindex
9
-
10
- prop :checked, type: Playbook::Props::Boolean,
11
- default: false
12
- prop :name, type: Playbook::Props::String
13
- prop :text, type: Playbook::Props::String
14
- prop :value, type: Playbook::Props::String
15
- prop :variant, type: Playbook::Props::Enum,
16
- values: %w[radio checkbox],
17
- default: "radio"
18
- prop :input_options, type: Playbook::Props::Hash,
19
- default: {}
20
-
21
- partial "pb_selectable_list/selectable_list_item"
22
-
23
- def classname
24
- generate_classname("pb_selectable_list_item_kit")
25
- end
26
- end
27
- end
28
- end