playbook_ui 12.32.0 → 12.33.0.pre.alpha.PLAY905reactionbuttons979

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/index.js +1 -1
  3. data/app/pb_kits/playbook/pb_background/_background.tsx +10 -1
  4. data/app/pb_kits/playbook/pb_background/background.html.erb +2 -1
  5. data/app/pb_kits/playbook/pb_background/background.rb +4 -2
  6. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -0
  7. data/app/pb_kits/playbook/pb_button/_button.scss +33 -0
  8. data/app/pb_kits/playbook/pb_button/_button.tsx +65 -26
  9. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +6 -6
  10. data/app/pb_kits/playbook/pb_button/button.html.erb +13 -0
  11. data/app/pb_kits/playbook/pb_button/button.rb +13 -2
  12. data/app/pb_kits/playbook/pb_button/docs/_button_reaction.html.erb +3 -0
  13. data/app/pb_kits/playbook/pb_button/docs/_button_reaction.jsx +38 -0
  14. data/app/pb_kits/playbook/pb_button/docs/example.yml +2 -0
  15. data/app/pb_kits/playbook/pb_button/docs/index.js +2 -1
  16. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +1 -1
  17. data/app/pb_kits/playbook/pb_date/_date.tsx +7 -8
  18. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +2 -2
  19. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +4 -4
  20. data/app/pb_kits/playbook/pb_date/docs/_date_unstyled.jsx +2 -2
  21. data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +5 -5
  22. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +45 -31
  23. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.tsx +5 -3
  24. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.tsx +24 -21
  25. data/app/pb_kits/playbook/pb_date_time/_date_time.tsx +1 -1
  26. data/app/pb_kits/playbook/pb_date_time/dateTime.test.js +1 -1
  27. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.tsx +2 -2
  28. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.test.js +1 -1
  29. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.tsx +6 -8
  30. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +321 -316
  31. data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +12 -9
  32. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +8 -8
  33. data/app/pb_kits/playbook/pb_dialog/dialogHelper.js +16 -15
  34. data/app/pb_kits/playbook/pb_icon/_icon.tsx +4 -2
  35. data/app/pb_kits/playbook/pb_icon/docs/_icon_fa_kit.html.erb +1 -0
  36. data/app/pb_kits/playbook/pb_icon/docs/_icon_fa_kit.jsx +21 -0
  37. data/app/pb_kits/playbook/pb_icon/docs/_icon_fa_kit.md +7 -0
  38. data/app/pb_kits/playbook/pb_icon/docs/example.yml +2 -0
  39. data/app/pb_kits/playbook/pb_icon/docs/index.js +1 -0
  40. data/app/pb_kits/playbook/pb_icon/icon.rb +1 -1
  41. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.tsx +14 -4
  42. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  43. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.tsx +12 -1
  44. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.html.erb +6 -0
  45. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.jsx +9 -0
  46. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +16 -12
  47. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.rb +2 -2
  48. data/app/pb_kits/playbook/pb_kit/dateTime.ts +139 -67
  49. data/app/pb_kits/playbook/pb_label_value/_label_value.tsx +52 -31
  50. data/app/pb_kits/playbook/pb_map/_map.scss +4 -0
  51. data/app/pb_kits/playbook/pb_message/_message.tsx +24 -24
  52. data/app/pb_kits/playbook/pb_time/_time.tsx +9 -11
  53. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.tsx +46 -49
  54. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.tsx +4 -6
  55. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +11 -11
  56. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.tsx +8 -11
  57. data/app/pb_kits/playbook/tokens/_colors.scss +4 -2
  58. data/app/pb_kits/playbook/utilities/_border_radius.scss +11 -1
  59. data/app/pb_kits/playbook/utilities/_line_height.scss +1 -2
  60. data/app/pb_kits/playbook/utilities/_shadow.scss +0 -1
  61. data/app/pb_kits/playbook/utilities/globalProps.ts +1 -1
  62. data/dist/playbook-rails.js +7 -7
  63. data/lib/playbook/version.rb +2 -2
  64. metadata +12 -8
  65. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +0 -120
@@ -3,7 +3,7 @@ import classnames from "classnames";
3
3
 
4
4
  import { globalProps } from "../utilities/globalProps";
5
5
  import { buildCss, buildDataProps } from "../utilities/props";
6
- import DateTime from "../pb_kit/dateTime";
6
+ import DateTime from '../pb_kit/dateTime';
7
7
 
8
8
  import Body from "../pb_body/_body";
9
9
  import Caption from "../pb_caption/_caption";
@@ -21,18 +21,16 @@ type DateRangeInlineProps = {
21
21
  endDate?: Date;
22
22
  };
23
23
 
24
- const dateTimestamp = (dateValue: Date | string, includeYear: boolean) => {
25
- const date = new DateTime({ value: dateValue });
24
+ const dateTimestamp = (dateValue: Date, includeYear: boolean) => {
26
25
  if (includeYear) {
27
- return `${date.toMonth()} ${date.toDay()}, ${date.toYear()}`;
26
+ return `${DateTime.toMonth(dateValue)} ${DateTime.toDay(dateValue)}, ${DateTime.toYear(dateValue)}`;
28
27
  } else {
29
- return `${date.toMonth()} ${date.toDay()}`;
28
+ return `${DateTime.toMonth(dateValue)} ${DateTime.toDay(dateValue)}`;
30
29
  }
31
30
  };
32
31
 
33
- const dateTimeIso = (dateValue: Date | string) => {
34
- const date = new DateTime({ value: dateValue });
35
- return date.toIso();
32
+ const dateTimeIso = (dateValue: Date) => {
33
+ return DateTime.toIso(dateValue);
36
34
  };
37
35
 
38
36
  const DateRangeInline = (props: DateRangeInlineProps) => {
@@ -52,14 +50,17 @@ const DateRangeInline = (props: DateRangeInlineProps) => {
52
50
  <>
53
51
  {icon && (
54
52
  <>
55
- <Body color="light" key={Math.random()} tag="span">
56
- <Icon
57
- className="pb_date_range_inline_icon"
58
- dark={dark}
59
- fixedWidth
60
- icon="calendar-alt"
61
- size={size}
53
+ <Body color="light"
54
+ key={Math.random()}
62
55
  tag="span"
56
+ >
57
+ <Icon
58
+ className="pb_date_range_inline_icon"
59
+ dark={dark}
60
+ fixedWidth
61
+ icon="calendar-alt"
62
+ size={size}
63
+ tag="span"
63
64
  />
64
65
  </Body>
65
66
  </>
@@ -78,7 +79,7 @@ const DateRangeInline = (props: DateRangeInlineProps) => {
78
79
 
79
80
  const dateRangeClasses = buildCss("pb_date_range_inline_kit", align);
80
81
  const dataProps = buildDataProps(data)
81
- const renderTime = (date: Date | string) => {
82
+ const renderTime = (date: Date) => {
82
83
  return (
83
84
  <time dateTime={dateTimeIso(date)}>
84
85
  {dateInCurrentYear() ? (
@@ -92,24 +93,30 @@ const DateRangeInline = (props: DateRangeInlineProps) => {
92
93
 
93
94
  return (
94
95
  <div
95
- {...dataProps}
96
- className={classnames(dateRangeClasses, globalProps(props), className)}
96
+ {...dataProps}
97
+ className={classnames(dateRangeClasses, globalProps(props), className)}
97
98
  >
98
99
  <div className="pb_date_range_inline_wrapper">
99
100
  {size == "xs" && (
100
101
  <>
101
102
  {iconContent()}
102
- <Caption dark={dark} tag="span">
103
+ <Caption dark={dark}
104
+ tag="span"
105
+ >
103
106
  {renderTime(startDate)}
104
107
  </Caption>
105
- <Caption dark={dark} tag="span">
108
+ <Caption dark={dark}
109
+ tag="span"
110
+ >
106
111
  <Icon
107
- className="pb_date_range_inline_arrow"
108
- fixedWidth
109
- icon="long-arrow-right"
112
+ className="pb_date_range_inline_arrow"
113
+ fixedWidth
114
+ icon="long-arrow-right"
110
115
  />
111
116
  </Caption>
112
- <Caption dark={dark} tag="span">
117
+ <Caption dark={dark}
118
+ tag="span"
119
+ >
113
120
  {renderTime(endDate)}
114
121
  </Caption>
115
122
  </>
@@ -118,18 +125,25 @@ const DateRangeInline = (props: DateRangeInlineProps) => {
118
125
  {size == "sm" && (
119
126
  <>
120
127
  {iconContent()}
121
- <Body dark={dark} tag="span">
128
+ <Body dark={dark}
129
+ tag="span"
130
+ >
122
131
  {renderTime(startDate)}
123
132
  </Body>
124
- <Body color="light" dark={dark} tag="span">
125
- <Icon
126
- className="pb_date_range_inline_arrow"
133
+ <Body color="light"
127
134
  dark={dark}
128
- fixedWidth
129
- icon="long-arrow-right"
135
+ tag="span"
136
+ >
137
+ <Icon
138
+ className="pb_date_range_inline_arrow"
139
+ dark={dark}
140
+ fixedWidth
141
+ icon="long-arrow-right"
130
142
  />
131
143
  </Body>
132
- <Body dark={dark} tag="span">
144
+ <Body dark={dark}
145
+ tag="span"
146
+ >
133
147
  {renderTime(endDate)}
134
148
  </Body>
135
149
  </>
@@ -14,9 +14,9 @@ type DateRangeStackedProps = {
14
14
  className?: string | string[],
15
15
  data?: string,
16
16
  dark?: boolean,
17
- endDate: string,
17
+ endDate: Date,
18
18
  id?: string,
19
- startDate: string,
19
+ startDate: Date,
20
20
  }
21
21
 
22
22
  const DateRangeStacked = (props: DateRangeStackedProps) => {
@@ -29,7 +29,9 @@ const DateRangeStacked = (props: DateRangeStackedProps) => {
29
29
  const dataProps = buildDataProps(data)
30
30
 
31
31
  return (
32
- <div {...dataProps} className={css}>
32
+ <div {...dataProps}
33
+ className={css}
34
+ >
33
35
  <Flex vertical="center">
34
36
  <FlexItem>
35
37
  <DateYearStacked
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
 
3
3
  import classnames from "classnames";
4
- import DateTime from "../pb_kit/dateTime";
5
4
  import { buildCss, buildDataProps } from "../utilities/props";
6
5
  import { globalProps } from "../utilities/globalProps";
6
+ import DateTime from '../pb_kit/dateTime';
7
7
 
8
8
  import Caption from "../pb_caption/_caption";
9
9
  import Title from "../pb_title/_title";
@@ -14,7 +14,7 @@ type DateStackedProps = {
14
14
  className?: string | string[];
15
15
  dark?: boolean;
16
16
  data?: string;
17
- date: string | Date;
17
+ date: Date;
18
18
  size?: "sm" | "md";
19
19
  id?: string;
20
20
  reverse?: boolean;
@@ -45,39 +45,42 @@ const DateStacked = (props: DateStackedProps) => {
45
45
  className
46
46
  );
47
47
 
48
- const currentYear = new Date().getFullYear().toString();
49
- const dateTimestamp = new DateTime({ value: date });
50
- const inputYear = dateTimestamp.toYear().toString();
48
+ const currentYear = new Date().getFullYear()
49
+ const inputYear = DateTime.toYear(date);
51
50
  const dataProps = buildDataProps(data)
52
51
 
53
52
  return (
54
53
  <>
55
54
  {bold == false ? (
56
- <div {...dataProps} className={classes}>
55
+ <div {...dataProps}
56
+ className={classes}
57
+ >
57
58
  <div className="pb_date_stacked_day_month">
58
- <Caption text={dateTimestamp.toMonth().toUpperCase()} />
59
+ <Caption text={DateTime.toMonth(date).toUpperCase()} />
59
60
  <Title
60
- dark={dark}
61
- size={sizes[size]}
62
- text={dateTimestamp.toDay()}
61
+ dark={dark}
62
+ size={sizes[size]}
63
+ text={DateTime.toDay(date).toString()}
63
64
  />
64
65
  </div>
65
66
  {currentYear != inputYear && <Caption size="xs">{inputYear}</Caption>}
66
67
  </div>
67
68
  ) : (
68
- <div {...dataProps} className={classes}>
69
+ <div {...dataProps}
70
+ className={classes}
71
+ >
69
72
  <div className="pb_date_stacked_day_month">
70
- <Title
71
- bold
72
- dark={dark}
73
- size="4"
74
- text={dateTimestamp.toMonth()}
73
+ <Title
74
+ bold
75
+ dark={dark}
76
+ size="4"
77
+ text={DateTime.toMonth(date)}
75
78
  />
76
- <Title
77
- bold
78
- dark={dark}
79
- size="4"
80
- text={dateTimestamp.toDay()}
79
+ <Title
80
+ bold
81
+ dark={dark}
82
+ size="4"
83
+ text={DateTime.toDay(date).toString()}
81
84
  />
82
85
  {currentYear != inputYear && <Title size="4">{inputYear}</Title>}
83
86
  </div>
@@ -13,7 +13,7 @@ type DateTimeProps = {
13
13
  aria?: { [key: string]: string; },
14
14
  className?: string,
15
15
  data?: { [key: string]: string; },
16
- datetime: string,
16
+ datetime: Date,
17
17
  id?: string,
18
18
  size?: "sm" | "md",
19
19
  showDayOfWeek: boolean,
@@ -89,7 +89,7 @@ describe('DateTime Kit', () => {
89
89
  const kit = screen.getByTestId(testId)
90
90
  const text = kit.querySelector('.pb_time_kit_md.ml_sm')
91
91
 
92
- expect(text.textContent).toEqual('2:00p JST')
92
+ expect(text.textContent).toEqual('2:00p GMT+9')
93
93
  })
94
94
  test('renders DatePicker size', () => {
95
95
  render(
@@ -12,8 +12,8 @@ import DateStacked from '../pb_date_stacked/_date_stacked'
12
12
 
13
13
  type DateTimeStackedProps = {
14
14
  id?: string,
15
- date: string,
16
- datetime: string,
15
+ date: Date,
16
+ datetime: Date,
17
17
  dark: boolean,
18
18
  timeZone?: string,
19
19
  }
@@ -34,7 +34,7 @@ test('renders time in default timezone', () => {
34
34
  test('renders time in timezone', () => {
35
35
  props.timeZone = 'Asia/Tokyo'
36
36
  const kit = renderKit(DateTimeStacked, props)
37
- expect(kit).toHaveTextContent(`${monthDayYear}2:00aJST`)
37
+ expect(kit).toHaveTextContent(`${monthDayYear}2:00aGMT+9`)
38
38
  })
39
39
 
40
40
  test('renders time in timezone', () => {
@@ -1,9 +1,9 @@
1
1
  import React from 'react'
2
2
  import classnames from 'classnames'
3
3
 
4
- import DateTime from '../pb_kit/dateTime'
5
4
  import { buildCss, buildDataProps } from '../utilities/props'
6
5
  import { globalProps } from '../utilities/globalProps'
6
+ import DateTime from '../pb_kit/dateTime';
7
7
 
8
8
  import Body from '../pb_body/_body'
9
9
  import Title from '../pb_title/_title'
@@ -13,13 +13,12 @@ type DateYearStackedProps = {
13
13
  className?: string | string[],
14
14
  dark?: boolean,
15
15
  data?: string,
16
- date: string,
16
+ date: Date,
17
17
  id?: string,
18
18
  }
19
19
 
20
20
  const DateYearStacked = (props: DateYearStackedProps) => {
21
21
  const { align = 'left', className, dark = false, date, data={} } = props
22
- const dateTimestamp = new DateTime({ value: date })
23
22
  const css = classnames(
24
23
  buildCss('pb_date_year_stacked', align),
25
24
  globalProps(props),
@@ -29,15 +28,14 @@ const DateYearStacked = (props: DateYearStackedProps) => {
29
28
 
30
29
  return (
31
30
  <div {...dataProps}
32
- className={css}>
31
+ className={css}
32
+ >
33
33
  <Title
34
34
  dark={dark}
35
35
  size={4}
36
- text={`${dateTimestamp.toDay()} ${dateTimestamp
37
- .toMonth()
38
- .toUpperCase()}`}
36
+ text={`${DateTime.toDay(date)} ${DateTime.toMonth(date).toUpperCase()}`}
39
37
  />
40
- <Body color="light">{dateTimestamp.toYear()}</Body>
38
+ <Body color="light">{DateTime.toYear(date)}</Body>
41
39
  </div>
42
40
  )
43
41
  }