playbook_ui 9.4.0.alpha.user.kit.bug → 9.4.0.pre.alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +1 -2
  3. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +2 -3
  4. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.jsx +9 -67
  5. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +45 -11
  6. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.html.erb +17 -6
  7. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +12 -5
  8. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_bold.html.erb +5 -0
  9. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_bold.jsx +38 -0
  10. data/app/pb_kits/playbook/pb_date_stacked/docs/example.yml +3 -1
  11. data/app/pb_kits/playbook/pb_date_stacked/docs/index.js +1 -0
  12. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +32 -16
  13. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +23 -4
  14. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +12 -8
  15. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.rb +9 -2
  16. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.test.js +35 -0
  17. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default.html.erb +8 -1
  18. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default.jsx +19 -1
  19. data/app/pb_kits/playbook/pb_dialog/dialog.test.jsx +1 -1
  20. data/app/pb_kits/playbook/pb_flex/_flex.jsx +6 -1
  21. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +1 -1
  22. data/app/pb_kits/playbook/pb_nav/docs/_block_nav.html.erb +5 -41
  23. data/app/pb_kits/playbook/pb_nav/docs/_block_nav.jsx +6 -44
  24. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +7 -3
  25. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +2 -2
  26. data/lib/playbook/version.rb +1 -1
  27. metadata +7 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d58bd43051948ed88cd448d6a1af339b38f5b53ec707cd6d49b10cb227cc8d5
4
- data.tar.gz: 33d5becc70eebf7f7ed08f452ff2b3422d1891d93829e529ef59e2425dca64a7
3
+ metadata.gz: 296e300fbad4165862a5e90a0c0547bac04ce6f8c751e855df8ce1c66922a7b0
4
+ data.tar.gz: c9cb628349bda60acc99bb903a45d54166b8f56b46793e8933c02c7b003fa1bb
5
5
  SHA512:
6
- metadata.gz: d7731ea2e841c7520aaed03654f9983fff519785df5622292b5a47be9ebfd0de6119c7d47378e3c35a5077ca576b68c26cb4bf5967847f6a89e6dd530a8093bb
7
- data.tar.gz: 3c118b92821665486442b8eb870d2807f9bf64ed6cbfd62d017c667e8b6df11b76fb173e70fdc0551fd2bb54f82b5572ae33527748d3ad09dff88c96ee9865c1
6
+ metadata.gz: 189cb41e0c3d0b1bc98b9c533eb2f3600486adcbdc32b57e891e1ee00ded94f8b4476a2f773da06f29cf2711c8f4379692938d973449309fa0e39ffbe465b736
7
+ data.tar.gz: 6e4f0849cf6d2ec1e93e074d1c2a06ef3ad92f3599911395cd3b73a27c82399afc146e969721dc28836f56f67e2e9357dd59da9295247fd446dd32bc0e8ce5d7
@@ -53,10 +53,9 @@ const Checkbox = (props: CheckboxProps) => {
53
53
 
54
54
  useEffect(() => {
55
55
  if (checkRef.current) {
56
- checkRef.current.checked = checked
57
56
  checkRef.current.indeterminate = indeterminate
58
57
  }
59
- }, [indeterminate, checked])
58
+ }, [indeterminate])
60
59
 
61
60
  return (
62
61
  <label
@@ -4,13 +4,12 @@
4
4
  $transition: $transition_cubic;
5
5
 
6
6
  [class^=pb_checkbox_kit] {
7
- cursor: pointer;
8
7
  display: inline-flex;
9
- vertical-align: middle;
8
+ cursor: pointer;
10
9
  .pb_checkbox_label {
10
+ padding-left: $space_xs;
11
11
  cursor: pointer;
12
12
  font-size: $text_lt_default;
13
- padding-left: $space_xs;
14
13
  user-select: none;
15
14
  }
16
15
 
@@ -1,73 +1,15 @@
1
- import React, { useState } from 'react'
2
- import { Checkbox, Table } from '../..'
1
+ import React from 'react'
2
+ import { Checkbox } from '../..'
3
3
 
4
4
  const CheckboxIndeterminate = (props) => {
5
- const [checkboxes, setCheckboxes] = useState([
6
- { name: 'Coffee', checked: false },
7
- { name: 'Ice Cream', checked: false },
8
- { name: 'Chocolate', checked: true },
9
- ])
10
-
11
- const isAllChecked = !checkboxes.find((checkbox) => !checkbox.checked)
12
- const isNoneChecked = !checkboxes.find((checkbox) => checkbox.checked)
13
-
14
- const processCheckboxes = (checked) =>
15
- checkboxes.slice(0).map((checkbox) => {
16
- checkbox.checked = checked
17
- return checkbox
18
- })
19
-
20
- const onToggleAll = () => {
21
- setCheckboxes(
22
- isNoneChecked ? processCheckboxes(true) : processCheckboxes(false)
23
- )
24
- }
25
-
26
- const updateCheckboxes = (checkbox, index) => {
27
- const newCheckboxes = checkboxes.slice(0)
28
- newCheckboxes[index].checked = !checkbox.checked
29
- setCheckboxes(newCheckboxes)
30
- }
31
-
32
5
  return (
33
- <Table
34
- container={false}
35
- size="md"
36
- >
37
- <thead>
38
- <tr>
39
- <th>
40
- <Checkbox
41
- checked={isAllChecked}
42
- indeterminate={!isAllChecked && !isNoneChecked}
43
- name="checkbox-name"
44
- onChange={onToggleAll}
45
- text={isNoneChecked ? 'Check All' : 'Uncheck All'}
46
- value="check-box value"
47
- {...props}
48
- />
49
- </th>
50
- </tr>
51
- </thead>
52
- <tbody>
53
- {checkboxes.map((checkbox, index) => (
54
- <tr key={index}>
55
- <td>
56
- <Checkbox
57
- checked={checkbox.checked}
58
- name={checkbox.name}
59
- onChange={() => {
60
- updateCheckboxes(checkbox, index)
61
- }}
62
- text={checkbox.name}
63
- value="check-box value"
64
- {...props}
65
- />
66
- </td>
67
- </tr>
68
- ))}
69
- </tbody>
70
- </Table>
6
+ <Checkbox
7
+ indeterminate
8
+ name="checkbox-name"
9
+ text="Indeterminate State"
10
+ value="check-box value"
11
+ {...props}
12
+ />
71
13
  )
72
14
  }
73
15
 
@@ -9,6 +9,7 @@ import { globalProps } from '../utilities/globalProps.js'
9
9
 
10
10
  type DateStackedProps = {
11
11
  align?: "left" | "center" | "right",
12
+ bold?: boolean,
12
13
  className?: string | array<string>,
13
14
  dark?: boolean,
14
15
  data?: string,
@@ -26,6 +27,7 @@ const sizes = {
26
27
  const DateStacked = (props: DateStackedProps) => {
27
28
  const {
28
29
  align = 'left',
30
+ bold = false,
29
31
  reverse = false,
30
32
  className,
31
33
  dark = false,
@@ -46,19 +48,51 @@ const DateStacked = (props: DateStackedProps) => {
46
48
  const inputYear = dateTimestamp.toYear().toString()
47
49
 
48
50
  return (
49
- <div className={classes}>
50
- <div className="pb_date_stacked_day_month">
51
- <Caption text={dateTimestamp.toMonth().toUpperCase()} />
52
- <Title
53
- dark={dark}
54
- size={sizes[size]}
55
- text={dateTimestamp.toDay()}
56
- />
57
- </div>
58
- <If condition={currentYear != inputYear}>
59
- <Caption size="xs">{inputYear}</Caption>
51
+
52
+ <div>
53
+ <If condition={bold == false}>
54
+
55
+ <div className={classes}>
56
+ <div className="pb_date_stacked_day_month">
57
+ <Caption text={dateTimestamp.toMonth().toUpperCase()} />
58
+ <Title
59
+ dark={dark}
60
+ size={sizes[size]}
61
+ text={dateTimestamp.toDay()}
62
+ />
63
+ </div>
64
+ <If condition={currentYear != inputYear}>
65
+ <Caption size="xs">{inputYear}</Caption>
66
+ </If>
67
+ </div>
68
+ <Else />
69
+ <>
70
+ <div className={classes}>
71
+ <div className="pb_date_stacked_day_month">
72
+
73
+ <Title
74
+ bold
75
+ dark={dark}
76
+ size="4"
77
+ text={dateTimestamp.toMonth()}
78
+ />
79
+ <Title
80
+ bold
81
+ dark={dark}
82
+ size="4"
83
+ text={dateTimestamp.toDay()}
84
+ />
85
+ <If condition={currentYear != inputYear}>
86
+ <Title size="4">{inputYear}</Title>
87
+ </If>
88
+ </div>
89
+
90
+ </div>
91
+
92
+ </>
60
93
  </If>
61
94
  </div>
95
+
62
96
  )
63
97
  }
64
98
 
@@ -3,11 +3,22 @@
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
5
 
6
- <div class="pb_date_stacked_day_month">
7
- <%= pb_rails("caption", props: { text: object.month }) %>
8
- <%= pb_rails("title", props: { text: object.day , size: object.title_size }) do %>
9
- <% end %>
10
- </div>
11
- <%= pb_rails("caption", props: { text: object.year, size:"xs" }) %>
6
+ <% if object.bold == false %>
7
+
8
+ <div class="pb_date_stacked_day_month">
9
+ <%= pb_rails("caption", props: { text: object.month }) %>
10
+ <%= pb_rails("title", props: { text: object.day , size: object.title_size }) do %><% end %>
11
+ <%= pb_rails("caption", props: { text: object.year, size:"xs" }) %>
12
+ </div>
13
+
14
+ <% else %>
15
+ <div class="pb_date_stacked_day_month">
16
+ <%= pb_rails("title", props: { text: object.month, size: 4 }) %>
17
+ <%= pb_rails("title", props: { text: object.day, size: 4 }) do %><% end %>
18
+ <%= pb_rails("title", props: { text: object.year, size:4 }) %>
19
+
20
+ </div>
21
+
22
+ <% end %>
12
23
 
13
24
  <% end %>
@@ -14,9 +14,11 @@ module Playbook
14
14
  default: false
15
15
  prop :dark, type: Playbook::Props::Boolean,
16
16
  default: false
17
+ prop :bold, type: Playbook::Props::Boolean,
18
+ default: false
17
19
 
18
20
  def classname
19
- generate_classname("pb_date_stacked_kit", align, size, reverse_class, dark_class)
21
+ generate_classname("pb_date_stacked_kit", align, size, bold, reverse_class, dark_class)
20
22
  end
21
23
 
22
24
  def title_size
@@ -31,10 +33,7 @@ module Playbook
31
33
  end
32
34
 
33
35
  def month
34
- month = Playbook::PbKit::PbDateTime.new(date)
35
- content_tag(:time, datetime: month.to_iso) do
36
- "#{month.to_month}"
37
- end
36
+ pb_date_time.to_month.capitalize
38
37
  end
39
38
 
40
39
  def year
@@ -48,8 +47,16 @@ module Playbook
48
47
  end
49
48
  end
50
49
 
50
+ def bold_class
51
+ bold ? "bold" : nil
52
+ end
53
+
51
54
  private
52
55
 
56
+ def pb_date_time
57
+ Playbook::PbKit::PbDateTime.new(date)
58
+ end
59
+
53
60
  def reverse_class
54
61
  reverse ? "reverse" : nil
55
62
  end
@@ -0,0 +1,5 @@
1
+ <%= pb_rails("date_stacked", props: { date: DateTime.now, align: "left", bold: true }) %>
2
+ <br>
3
+ <%= pb_rails("date_stacked", props: { date: Date.new(2018, 03, 20), align: "center", bold: true }) %>
4
+ <br>
5
+ <%= pb_rails("date_stacked", props: { date: DateTime.now, align: "right", bold: true }) %>
@@ -0,0 +1,38 @@
1
+ import React from 'react'
2
+ import DateStacked from '../_date_stacked.jsx'
3
+
4
+ const DateStackedBold = (props) => {
5
+ return (
6
+ <div>
7
+ <DateStacked
8
+ align="left"
9
+ bold
10
+ date={new Date()}
11
+ {...props}
12
+ />
13
+
14
+ <br />
15
+
16
+ <DateStacked
17
+ align="center"
18
+ bold
19
+ date={new Date('20 Mar 2018')}
20
+ {...props}
21
+ />
22
+
23
+ <br />
24
+
25
+ <DateStacked
26
+ align="right"
27
+ bold
28
+ date={new Date()}
29
+ {...props}
30
+ />
31
+
32
+ <br />
33
+
34
+ </div>
35
+ )
36
+ }
37
+
38
+ export default DateStackedBold
@@ -6,10 +6,12 @@ examples:
6
6
  - date_stacked_reverse: Day & Month Reverse
7
7
  - date_stacked_sizes: Sizes
8
8
  - date_stacked_align: Alignment
9
+ - date_stacked_bold: Bold
10
+
9
11
 
10
12
  react:
11
13
  - date_stacked_default: Default
12
14
  - date_stacked_not_current_year: Not Current Year
13
15
  - date_stacked_reverse: Day & Month Reverse
14
16
  - date_stacked_sizes: Sizes
15
- - date_stacked_align: Alignment
17
+ - date_stacked_bold: Bold
@@ -1,3 +1,4 @@
1
+ export { default as DateStackedBold } from './_date_stacked_bold.jsx'
1
2
  export { default as DateStackedDefault } from './_date_stacked_default.jsx'
2
3
  export { default as DateStackedNotCurrentYear } from './_date_stacked_not_current_year.jsx'
3
4
  export { default as DateStackedReverse } from './_date_stacked_reverse.jsx'
@@ -1,43 +1,59 @@
1
+
1
2
  /* @flow */
2
3
 
3
4
  import React from 'react'
4
- import { DateStacked, Flex, FlexItem, TimeStacked } from '../'
5
- import { buildDataProps } from '../utilities/props'
6
- import { globalProps } from '../utilities/globalProps.js'
5
+ import { buildCss } from '../utilities/props'
6
+ import { deprecatedProps, globalProps } from '../utilities/globalProps.js'
7
+
8
+ import { DateStacked, Flex, FlexItem, SectionSeparator, TimeStacked } from '../'
7
9
 
8
10
  type DateTimeStackedProps = {
9
- data?: string,
10
11
  id?: string,
11
- date: date,
12
+ date: string,
13
+ datetime: string,
12
14
  dark: boolean,
15
+ timeZone?: string,
13
16
  }
14
17
 
15
18
  const DateTimeStacked = (props: DateTimeStackedProps) => {
16
- const { date, data = {}, dark } = props,
17
- dataProps = buildDataProps(data)
19
+ if (props.date) deprecatedProps('Date Time Stacked', ['date'])
20
+
21
+ const {
22
+ date,
23
+ datetime,
24
+ dark,
25
+ timeZone = 'America/New_York',
26
+ } = props
27
+
28
+ const classes = buildCss('pb_date_time_stacked_kit', globalProps(props))
18
29
 
19
30
  return (
20
31
  <Flex
21
- className={globalProps(props)}
22
- orientation="row"
23
- vertical="center"
24
- {...dataProps}
32
+ inline="flex-container"
33
+ vertical="stretch"
34
+ {...props}
25
35
  >
26
36
  <FlexItem>
27
37
  <DateStacked
28
38
  align="right"
39
+ bold
29
40
  dark={dark}
30
- date={date}
31
- reverse
32
- size="sm"
41
+ date={date || datetime}
42
+ timeZone={timeZone}
33
43
  />
34
44
  </FlexItem>
45
+
46
+ <SectionSeparator
47
+ className="date-time-padding"
48
+ orientation="vertical"
49
+ />
35
50
  <FlexItem>
36
51
  <TimeStacked
37
- className="pb_date_time_stacked_kit"
52
+ className={classes}
38
53
  dark={dark}
54
+ date={date || datetime}
39
55
  tag="caption"
40
- time={date}
56
+ timeZone={timeZone}
41
57
  />
42
58
  </FlexItem>
43
59
  </Flex>
@@ -1,6 +1,25 @@
1
- @import "../pb_title/title";
2
- @import "../pb_body/body";
1
+ [class^=pb_date_time_stacked] {
2
+
3
+ [class^=padding_month] {
4
+ padding-bottom: ($space_xs + 2) !important;
5
+ }
6
+
7
+ [class^=padding_day] {
8
+ padding-bottom: ($space_xs + 2) !important;
9
+ }
10
+
11
+ &[class*=_dark] {
12
+ & > * [class^=pb_title_kit] {
13
+ color: $text_dk_default;
14
+ }
15
+ & > * [class^=pb_caption_kit] {
16
+ color: $text_dk_light;
17
+ }
18
+ }
3
19
 
4
- .pb_date_time_stacked_kit {
5
- padding-left: $space-xs;
6
20
  }
21
+ .date-time-padding {
22
+ padding-right: ($space_xs / 2);
23
+ padding-left: ($space_xs / 2);
24
+ }
25
+
@@ -1,13 +1,17 @@
1
1
  <%= content_tag(:div,
2
2
  id: object.id,
3
3
  data: object.data,
4
- class: object.classname) do %>
5
- <%= pb_rails("flex", props: { orientation: "row", vertical: "center" }) do %>
6
- <%= pb_rails("flex/flex_item") do %>
7
- <%= pb_rails("date_stacked", props: { align: "right", date: object.date, reverse: true, size: "sm", dark: object.dark }) %>
4
+ class: object.classname,
5
+ aria: object.aria) do %>
6
+
7
+ <%= pb_rails("flex", props: {classname: "flex-container", vertical: "stretch"}) do %>
8
+ <%= pb_rails("body", props: {classname: "flex-item"}) do %>
9
+ <%= pb_rails("date_stacked", props: { date: object.date_time_value, size: "sm", align: "right", bold: true, dark: object.dark }) %>
8
10
  <% end %>
9
- <%= pb_rails("flex/flex_item") do %>
10
- <%= pb_rails("time_stacked", props: { classname: "pb_date_time_stacked_kit", time: object.date, tag: "caption" }) %>
11
+ <%= pb_rails("section_separator", props: { orientation: "vertical", classname: "date-time-padding" }) %>
12
+ <%= pb_rails("body", props: {classname: "flex-item"}) do %>
13
+ <%= pb_rails("time_stacked", props: { time: object.date_time_value, dark: object.dark, timezone: object.timezone }) %>
11
14
  <% end %>
12
- <% end %>
13
- <% end %>
15
+ <% end %>
16
+
17
+ <% end %>
@@ -3,10 +3,17 @@
3
3
  module Playbook
4
4
  module PbDateTimeStacked
5
5
  class DateTimeStacked < Playbook::KitBase
6
- prop :date, type: Playbook::Props::Date,
6
+ prop :date, deprecated: true
7
+ prop :date_time, type: Playbook::Props::Date,
7
8
  default: ::DateTime.current
8
9
  prop :dark, type: Playbook::Props::Boolean,
9
10
  default: false
11
+ prop :timezone, type: Playbook::Props::String,
12
+ default: "America/New_York"
13
+
14
+ def date_time_value
15
+ date || date_time
16
+ end
10
17
  end
11
18
  end
12
- end
19
+ end
@@ -0,0 +1,35 @@
1
+ import { ensureAccessible, renderKit } from '../utilities/test-utils'
2
+ import { DateTimeStacked } from '../'
3
+
4
+ /* eslint-disable jsx-control-statements/jsx-jcs-no-undef */
5
+
6
+ const props = {
7
+ data: { testid: 'datetimestacked' },
8
+ datetime: new Date('Wed Mar 31 2021 12:00:00 GMT-0500'),
9
+ }
10
+
11
+ test('Kit renders date time', () => {
12
+ const kit = renderKit(DateTimeStacked, props)
13
+ expect(kit).toBeInTheDocument()
14
+ })
15
+
16
+ it('Should be accessible', async () => {
17
+ ensureAccessible(DateTimeStacked, props)
18
+ })
19
+
20
+ test('renders time in default timezone', () => {
21
+ const kit = renderKit(DateTimeStacked, props)
22
+ expect(kit).toHaveTextContent(/Mar311:00pEDT/i)
23
+ })
24
+
25
+ test('renders time in timezone', () => {
26
+ props.timeZone = 'Asia/Tokyo'
27
+ const kit = renderKit(DateTimeStacked, props)
28
+ expect(kit).toHaveTextContent(/Mar312:00aJST/i)
29
+ })
30
+
31
+ test('renders time in timezone', () => {
32
+ props.timeZone = 'America/Denver'
33
+ const kit = renderKit(DateTimeStacked, props)
34
+ expect(kit).toHaveTextContent(/Mar3111:00aMDT/i)
35
+ })
@@ -1 +1,8 @@
1
- <%= pb_rails("date_time_stacked") %>
1
+ <%= pb_rails("date_time_stacked", props: { date_time: DateTime.now }) %>
2
+ <br>
3
+ <%= pb_rails("date_time_stacked", props: { date_time: Date.new(2018, 03, 20) }) %>
4
+ <br>
5
+ <%= pb_rails("date_time_stacked", props: { date_time: DateTime.now, timezone: "Asia/Tokyo" }) %>
6
+ <br>
7
+ <%= pb_rails("date_time_stacked", props: { date_time: DateTime.now, timezone: "America/Denver" }) %>
8
+
@@ -4,10 +4,28 @@ import { DateTimeStacked } from '../../'
4
4
  const DateTimeStackedDefault = (props) => (
5
5
  <div>
6
6
  <DateTimeStacked
7
- date={new Date()}
7
+ datetime={new Date()}
8
8
  {...props}
9
9
  />
10
+ <br />
11
+ <DateTimeStacked
12
+ datetime={new Date()}
13
+ timeZone="Asia/Tokyo"
14
+
15
+ {...props}
16
+ />
17
+ <br />
18
+ <DateTimeStacked
19
+ datetime={new Date()}
20
+ timeZone="America/Denver"
21
+
22
+ {...props}
23
+ />
24
+
10
25
  </div>
11
26
  )
12
27
 
13
28
  export default DateTimeStackedDefault
29
+
30
+ // *Development Note* - We are reviewing this kit for a potential name change due to naming collisions when `new Date()` is used.
31
+ // To avoid this bug, please use name spacing as shown in the code examples. ie `import { Date as AliasedComponentName } from '../../'
@@ -9,7 +9,7 @@ import { Dialog } from '../'
9
9
  - https://jestjs.io/docs/en/using-matchers
10
10
  */
11
11
 
12
- test('generated scaffold test - update me', () => {
12
+ test('Kit renders Dialog', () => {
13
13
  const testId = 'test1'
14
14
 
15
15
  render(
@@ -2,11 +2,12 @@
2
2
 
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
- import { buildCss } from '../utilities/props'
5
+ import { buildCss, buildDataProps } from '../utilities/props'
6
6
  import { globalProps } from '../utilities/globalProps.js'
7
7
  type FlexProps = {
8
8
  children: array<React.ReactNode> | React.ReactNode,
9
9
  className?: string,
10
+ data?: object,
10
11
  horizontal?: "left" | "center" | "right" | "stretch" | "none",
11
12
  justify?: "start" | "center" | "end" | "around" | "between" | "evenly" | "none",
12
13
  id?: string,
@@ -27,6 +28,7 @@ const Flex = (props: FlexProps) => {
27
28
  align = 'none',
28
29
  children,
29
30
  className,
31
+ data = {},
30
32
  inline = false,
31
33
  horizontal = 'left',
32
34
  justify = 'none',
@@ -51,6 +53,8 @@ const Flex = (props: FlexProps) => {
51
53
  const columnGapClass = columnGap !== 'none' ? `columnGap_${columnGap}` : ''
52
54
  const wrapClass = wrap === true ? 'wrap' : ''
53
55
  const reverseClass = reverse === true ? 'reverse' : ''
56
+ const dataProps = buildDataProps(data)
57
+
54
58
  return (
55
59
  <div
56
60
  className={classnames(
@@ -70,6 +74,7 @@ const Flex = (props: FlexProps) => {
70
74
  globalProps(props),
71
75
  className
72
76
  )}
77
+ {...dataProps}
73
78
  >
74
79
  {children}
75
80
  </div>
@@ -16,7 +16,7 @@ $selector: ".pb_nav_list";
16
16
  list-style: none;
17
17
  }
18
18
 
19
- [class*=pb_nav_list_title] {
19
+ [class*=_title] {
20
20
  padding: 0 $space_md $space_sm;
21
21
  }
22
22
 
@@ -1,42 +1,6 @@
1
- <%= pb_rails("nav", props: {title: "Users", link: "#"}) do %>
2
- <%= pb_rails("nav/item", props: { link: "#", active: true }) do%>
3
- <%= pb_rails("user", props: {
4
- name: "Anna Black",
5
- territory: "PHL",
6
- title: "Remodeling Consultant",
7
- orientation: "horizontal",
8
- align: "left",
9
- avatar_url: "https://randomuser.me/api/portraits/women/44.jpg"
10
- }) %>
11
- <% end %>
12
- <%= pb_rails("nav/item", props: { link: "#" }) do%>
13
- <%= pb_rails("user", props: {
14
- name: "Julie Hamilton",
15
- territory: "PHL",
16
- title: "Inside Sales Agent",
17
- orientation: "horizontal",
18
- align: "left",
19
- avatar_url: "https://randomuser.me/api/portraits/women/45.jpg"
20
- }) %>
21
- <% end %>
22
- <%= pb_rails("nav/item", props: { link: "#" }) do%>
23
- <%= pb_rails("user", props: {
24
- name: "Dennis Wilks",
25
- territory: "PHL",
26
- title: "Senior Remodeling Consultant",
27
- orientation: "horizontal",
28
- align: "left",
29
- avatar_url: "https://randomuser.me/api/portraits/men/44.jpg"
30
- }) %>
31
- <% end %>
32
- <%= pb_rails("nav/item", props: { link: "#" }) do%>
33
- <%= pb_rails("user", props: {
34
- name: "Ronnie Martin",
35
- territory: "PHL",
36
- title: "Customer Development Representative",
37
- orientation: "horizontal",
38
- align: "left",
39
- avatar_url: "https://randomuser.me/api/portraits/men/46.jpg"
40
- }) %>
41
- <% end %>
1
+ <%= pb_rails("nav", props: {title: "Menu", link: "#"}) do %>
2
+ <%= pb_rails("nav/item", props: { link: "#", active: true }) do%>Photos<% end %>
3
+ <%= pb_rails("nav/item", props: { link: "#" }) do%>Music<% end %>
4
+ <%= pb_rails("nav/item", props: { link: "#" }) do%>Video<% end %>
5
+ <%= pb_rails("nav/item", props: { link: "#" }) do%>Files<% end %>
42
6
  <% end %>
@@ -1,12 +1,12 @@
1
1
  import React from 'react'
2
- import { Nav, User } from '../../'
2
+ import { Nav } from '../../'
3
3
  import NavItem from '../_item.jsx'
4
4
 
5
5
  const BlockNav = (props) => {
6
6
  return (
7
7
  <Nav
8
8
  link="#"
9
- title="Users"
9
+ title="Menu"
10
10
  {...props}
11
11
  >
12
12
  <NavItem
@@ -14,49 +14,11 @@ const BlockNav = (props) => {
14
14
  link="#"
15
15
  {...props}
16
16
  >
17
- <User
18
- align="left"
19
- avatarUrl="https://randomuser.me/api/portraits/women/44.jpg"
20
- name="Anna Black"
21
- orientation="horizontal"
22
- territory="PHL"
23
- title="Remodeling Consultant"
24
- {...props}
25
- />
26
- </NavItem>
27
- <NavItem link="#">
28
- <User
29
- align="left"
30
- avatarUrl="https://randomuser.me/api/portraits/women/45.jpg"
31
- name="Julie Hamilton"
32
- orientation="horizontal"
33
- territory="PHL"
34
- title="Inside Sales Agent"
35
- {...props}
36
- />
37
- </NavItem>
38
- <NavItem link="#">
39
- <User
40
- align="left"
41
- avatarUrl="https://randomuser.me/api/portraits/men/44.jpg"
42
- name="Dennis Wilks"
43
- orientation="horizontal"
44
- territory="PHL"
45
- title="Senior Remodeling Consultant"
46
- {...props}
47
- />
48
- </NavItem>
49
- <NavItem link="#">
50
- <User
51
- align="left"
52
- avatarUrl="https://randomuser.me/api/portraits/men/46.jpg"
53
- name="Ronnie Martin"
54
- orientation="horizontal"
55
- territory="PHL"
56
- title="Customer Development Representative"
57
- {...props}
58
- />
17
+ {'Photos'}
59
18
  </NavItem>
19
+ <NavItem link="#">{'Music'}</NavItem>
20
+ <NavItem link="#">{'Video'}</NavItem>
21
+ <NavItem link="#">{'Files'}</NavItem>
60
22
  </Nav>
61
23
  )
62
24
  }
@@ -38,9 +38,13 @@ const SectionSeparator = (props: SectionSeparatorProps) => {
38
38
  className={classes}
39
39
  id={id}
40
40
  >
41
- <span>
42
- <Caption text={text} />
43
- </span>
41
+
42
+ <If condition={text}>
43
+ <span>
44
+ <Caption text={text} />
45
+ </span>
46
+ </If>
47
+
44
48
  </div>
45
49
  )
46
50
  }
@@ -3,10 +3,10 @@
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
5
 
6
- <%= pb_rails("body", props: { color: "light", classname: "pb_time_stacked time-spacing" }) do %>
6
+ <%= pb_rails("body", props: { color: "light", dark: object.dark, classname: "pb_time_stacked time-spacing" }) do %>
7
7
  <time>
8
8
  <%= object.format_time_string %>
9
- <%= pb_rails("caption", props: { color: "light", tag: "span", text: object.pb_date_time.to_timezone.upcase, classname: "pb_time_stacked" }) %>
9
+ <%= pb_rails("caption", props: { color: "light", tag: "span", text: object.pb_date_time.to_timezone.upcase, dark: object.dark, classname: "pb_time_stacked" }) %>
10
10
  </time>
11
11
  <% end %>
12
12
  <% end %>
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- VERSION = "9.4.0.alpha.user.kit.bug"
4
+ VERSION = "9.4.0.pre.alpha1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.4.0.alpha.user.kit.bug
4
+ version: 9.4.0.pre.alpha1
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: 2021-04-14 00:00:00.000000000 Z
12
+ date: 2021-04-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -809,6 +809,8 @@ files:
809
809
  - app/pb_kits/playbook/pb_date_stacked/date_stacked.rb
810
810
  - app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_align.html.erb
811
811
  - app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_align.jsx
812
+ - app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_bold.html.erb
813
+ - app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_bold.jsx
812
814
  - app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_default.html.erb
813
815
  - app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_default.jsx
814
816
  - app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_not_current_year.html.erb
@@ -838,6 +840,7 @@ files:
838
840
  - app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss
839
841
  - app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb
840
842
  - app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.rb
843
+ - app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.test.js
841
844
  - app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default.html.erb
842
845
  - app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default.jsx
843
846
  - app/pb_kits/playbook/pb_date_time_stacked/docs/example.yml
@@ -2107,7 +2110,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2107
2110
  - !ruby/object:Gem::Version
2108
2111
  version: 1.3.1
2109
2112
  requirements: []
2110
- rubygems_version: 3.1.4
2113
+ rubyforge_project:
2114
+ rubygems_version: 2.7.3
2111
2115
  signing_key:
2112
2116
  specification_version: 4
2113
2117
  summary: Playbook Design System