playbook_ui 13.13.0.pre.alpha.play10221678 → 13.13.0.pre.alpha.play10821726

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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +5 -5
  3. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.tsx +3 -3
  4. data/app/pb_kits/playbook/pb_background/_background.tsx +9 -9
  5. data/app/pb_kits/playbook/pb_badge/_badge.tsx +2 -2
  6. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +3 -3
  7. data/app/pb_kits/playbook/pb_body/_body.tsx +4 -5
  8. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumb_item.tsx +3 -4
  9. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.tsx +3 -3
  10. data/app/pb_kits/playbook/pb_button/_button.tsx +40 -37
  11. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.tsx +3 -3
  12. data/app/pb_kits/playbook/pb_caption/_caption.tsx +1 -1
  13. data/app/pb_kits/playbook/pb_card/_card.tsx +2 -2
  14. data/app/pb_kits/playbook/pb_card/docs/_card_background.jsx +5 -4
  15. data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +3 -3
  16. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +9 -9
  17. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.tsx +1 -1
  18. data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +5 -7
  19. data/app/pb_kits/playbook/pb_collapsible/_helper_functions.ts +2 -2
  20. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.tsx +5 -4
  21. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.tsx +16 -12
  22. data/app/pb_kits/playbook/pb_contact/_contact.tsx +3 -3
  23. data/app/pb_kits/playbook/pb_contact/docs/_contact_default_swift.md +14 -0
  24. data/app/pb_kits/playbook/pb_contact/docs/_contact_props_swift.md +6 -0
  25. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail_swift.md +14 -0
  26. data/app/pb_kits/playbook/pb_contact/docs/example.yml +6 -0
  27. data/app/pb_kits/playbook/pb_currency/_currency.tsx +2 -2
  28. data/app/pb_kits/playbook/pb_dashboard/pbChartsColorsHelper.ts +1 -1
  29. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +4 -57
  30. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +4 -57
  31. data/app/pb_kits/playbook/pb_dashboard/themeTypes.ts +20 -16
  32. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.tsx +1 -1
  33. data/app/pb_kits/playbook/pb_date/_date.tsx +7 -7
  34. data/app/pb_kits/playbook/pb_date/docs/_date_alignment_swift.md +11 -0
  35. data/app/pb_kits/playbook/pb_date/docs/_date_default_swift.md +16 -0
  36. data/app/pb_kits/playbook/pb_date/docs/_date_props_swift.md +8 -0
  37. data/app/pb_kits/playbook/pb_date/docs/_date_unstyled_swift.md +11 -0
  38. data/app/pb_kits/playbook/pb_date/docs/_date_variants_swift.md +14 -0
  39. data/app/pb_kits/playbook/pb_date/docs/example.yml +7 -0
  40. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +1 -4
  41. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +0 -3
  42. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +10 -11
  43. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_react.jsx +2 -2
  44. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +0 -4
  45. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +0 -2
  46. data/app/pb_kits/playbook/pb_date_picker/plugins/quickPick.tsx +3 -69
  47. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +2 -2
  48. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.tsx +2 -2
  49. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.tsx +8 -8
  50. data/app/pb_kits/playbook/pb_date_time/_date_time.tsx +2 -2
  51. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.tsx +1 -1
  52. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.tsx +2 -2
  53. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +6 -3
  54. data/app/pb_kits/playbook/pb_detail/_detail.tsx +4 -4
  55. data/app/pb_kits/playbook/pb_dialog/_close_icon.tsx +2 -2
  56. data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +42 -34
  57. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_body.tsx +1 -1
  58. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_footer.tsx +4 -5
  59. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_header.tsx +4 -4
  60. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height.jsx +8 -4
  61. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height_placement.jsx +8 -4
  62. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.jsx +4 -2
  63. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_status.jsx +1 -1
  64. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.tsx +5 -5
  65. data/app/pb_kits/playbook/pb_file_upload/_file_upload.tsx +1 -1
  66. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -1
  67. data/app/pb_kits/playbook/pb_flex/_flex.tsx +1 -1
  68. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +1 -1
  69. data/app/pb_kits/playbook/pb_form_group/_form_group.tsx +1 -1
  70. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +1 -1
  71. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +1 -1
  72. data/app/pb_kits/playbook/pb_hashtag/_hashtag.tsx +1 -1
  73. data/app/pb_kits/playbook/pb_highlight/_highlight.tsx +1 -1
  74. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +1 -1
  75. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_default_swift.md +18 -0
  76. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis_swift.md +34 -0
  77. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_link_swift.md +18 -0
  78. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_modified_swift.md +13 -0
  79. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_props_swift.md +14 -0
  80. data/app/pb_kits/playbook/pb_home_address_street/docs/example.yml +6 -0
  81. data/app/pb_kits/playbook/pb_icon/_icon.tsx +1 -1
  82. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.tsx +1 -1
  83. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.tsx +1 -1
  84. data/app/pb_kits/playbook/pb_icon_value/_icon_value.tsx +1 -1
  85. data/app/pb_kits/playbook/pb_image/_image.tsx +1 -1
  86. data/app/pb_kits/playbook/pb_label_pill/_label_pill.tsx +1 -1
  87. data/app/pb_kits/playbook/pb_label_value/_label_value.tsx +1 -1
  88. data/app/pb_kits/playbook/pb_layout/_layout.tsx +1 -1
  89. data/app/pb_kits/playbook/pb_legend/_legend.tsx +1 -1
  90. data/app/pb_kits/playbook/pb_lightbox/Header/_lightbox_header.tsx +1 -1
  91. data/app/pb_kits/playbook/pb_lightbox/_lightbox.tsx +1 -1
  92. data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +1 -1
  93. data/app/pb_kits/playbook/pb_list/_list.tsx +1 -1
  94. data/app/pb_kits/playbook/pb_list/_list_item.tsx +1 -1
  95. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +1 -1
  96. data/app/pb_kits/playbook/pb_map/_map.tsx +1 -1
  97. data/app/pb_kits/playbook/pb_message/_message.tsx +1 -1
  98. data/app/pb_kits/playbook/pb_message/_message_mention.tsx +1 -1
  99. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +1 -1
  100. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.tsx +1 -1
  101. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.tsx +1 -1
  102. data/app/pb_kits/playbook/pb_nav/_item.tsx +1 -1
  103. data/app/pb_kits/playbook/pb_nav/_nav.tsx +1 -1
  104. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  105. data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +1 -1
  106. data/app/pb_kits/playbook/pb_person/_person.tsx +1 -1
  107. data/app/pb_kits/playbook/pb_person_contact/_person_contact.tsx +1 -1
  108. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +1 -1
  109. data/app/pb_kits/playbook/pb_pill/_pill.tsx +1 -1
  110. data/app/pb_kits/playbook/pb_popover/_popover.tsx +1 -1
  111. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.tsx +1 -1
  112. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.tsx +1 -1
  113. data/app/pb_kits/playbook/pb_progress_step/_progress_step.tsx +1 -1
  114. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.tsx +1 -1
  115. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  116. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +1 -1
  117. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +1 -1
  118. data/app/pb_kits/playbook/pb_select/_select.tsx +1 -1
  119. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.tsx +1 -1
  120. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.tsx +1 -1
  121. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.tsx +1 -1
  122. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +1 -1
  123. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.tsx +1 -1
  124. data/app/pb_kits/playbook/pb_source/_source.tsx +1 -1
  125. data/app/pb_kits/playbook/pb_star_rating/_star_rating.tsx +1 -1
  126. data/app/pb_kits/playbook/pb_stat_change/_stat_change.tsx +1 -1
  127. data/app/pb_kits/playbook/pb_stat_value/_stat_value.tsx +1 -1
  128. data/app/pb_kits/playbook/pb_table/_table.tsx +1 -1
  129. data/app/pb_kits/playbook/pb_table/_table_row.tsx +1 -1
  130. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +1 -1
  131. data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +1 -1
  132. data/app/pb_kits/playbook/pb_time/_time.tsx +1 -1
  133. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.tsx +1 -1
  134. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.tsx +1 -1
  135. data/app/pb_kits/playbook/pb_timeline/_item.tsx +1 -1
  136. data/app/pb_kits/playbook/pb_timeline/_timeline.tsx +1 -1
  137. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +1 -1
  138. data/app/pb_kits/playbook/pb_title/_title.tsx +1 -1
  139. data/app/pb_kits/playbook/pb_title_count/_title_count.tsx +1 -1
  140. data/app/pb_kits/playbook/pb_title_detail/_title_detail.tsx +1 -1
  141. data/app/pb_kits/playbook/pb_toggle/_toggle.tsx +1 -1
  142. data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +1 -1
  143. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +1 -1
  144. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +1 -1
  145. data/app/pb_kits/playbook/pb_user/_user.tsx +1 -1
  146. data/app/pb_kits/playbook/pb_user_badge/_user_badge.tsx +1 -1
  147. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.tsx +1 -1
  148. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.tsx +1 -1
  149. data/app/pb_kits/playbook/tokens/exports/exports.d.ts +1 -0
  150. data/app/pb_kits/playbook/utilities/props.ts +2 -2
  151. data/dist/menu.yml +240 -168
  152. data/dist/playbook-rails.js +4 -4
  153. data/lib/playbook/version.rb +1 -1
  154. metadata +16 -8
  155. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_custom.html.erb +0 -29
  156. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_custom.jsx +0 -34
  157. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_custom.md +0 -7
  158. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_custom_override.html.erb +0 -28
  159. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_custom_override.jsx +0 -34
  160. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_custom_override.md +0 -1
@@ -19,14 +19,9 @@ type pluginDataType = {
19
19
  rangesButtons: [] | any,
20
20
  }
21
21
 
22
- type customQuickPickDatesType = {
23
- override: boolean,
24
- dates: { label: string, value: string[] | { timePeriod: string, amount: number } }[],
25
- }
26
-
27
22
  let activeLabel = ""
28
23
 
29
- const quickPickPlugin = (thisRangesEndToday: boolean, customQuickPickDates: customQuickPickDatesType | undefined) => {
24
+ const quickPickPlugin = (thisRangesEndToday: boolean) => {
30
25
  return function (fp: FpTypes & any): any {
31
26
  const today = new Date()
32
27
  const yesterday = DateTime.getYesterdayDate(new Date())
@@ -51,38 +46,8 @@ const quickPickPlugin = (thisRangesEndToday: boolean, customQuickPickDates: cust
51
46
  const lastYearStartDate = DateTime.getPreviousYearStartDate(new Date())
52
47
  const lastYearEndDate = DateTime.getPreviousYearEndDate(new Date())
53
48
 
54
- const calculateDateRange = (timePeriod: string, amount: number): Date[] => {
55
- const endDate = new Date();
56
- let startDate = new Date();
57
-
58
- switch (timePeriod) {
59
- case 'days':
60
- startDate.setDate(endDate.getDate() - amount);
61
- break;
62
- case 'weeks':
63
- startDate.setDate(endDate.getDate() - (amount * 7));
64
- break;
65
- case 'months':
66
- startDate.setMonth(endDate.getMonth() - amount);
67
- break;
68
- case 'quarters':
69
- startDate.setMonth(endDate.getMonth() - (amount * 3));
70
- break;
71
- case 'years':
72
- startDate.setFullYear(endDate.getFullYear() - amount);
73
- break;
74
- default:
75
- throw new Error('Invalid time period');
76
- }
77
- return [startDate, endDate];
78
- };
79
-
80
-
81
- type rangesType = {
82
- [key: string]: Date[]
83
- };
84
-
85
- let ranges: rangesType = {
49
+ // variable that holds the ranges available
50
+ const ranges = {
86
51
  'Today': [today, today],
87
52
  'Yesterday': [yesterday, yesterday],
88
53
  'This week': [thisWeekStartDate, thisWeekEndDate],
@@ -93,47 +58,16 @@ const quickPickPlugin = (thisRangesEndToday: boolean, customQuickPickDates: cust
93
58
  'Last month': [lastMonthStartDate, lastMonthEndDate],
94
59
  'Last quarter': [lastQuarterStartDate, lastQuarterEndDate],
95
60
  'Last year': [lastYearStartDate, lastYearEndDate]
96
- };
97
-
98
-
99
- if (customQuickPickDates && Object.keys(customQuickPickDates).length !== 0) {
100
- if (customQuickPickDates.dates.length && customQuickPickDates.override === false) {
101
- customQuickPickDates.dates.forEach((item) => {
102
- if (Array.isArray(item.value)) {
103
- ranges[item.label] = item.value.map((dateStr: string) => new Date(dateStr));
104
- } else {
105
- ranges[item.label] = calculateDateRange(
106
- item.value.timePeriod,
107
- item.value.amount
108
- )
109
- }
110
- })
111
- } else if(customQuickPickDates.dates.length && customQuickPickDates.override !== false) {
112
- ranges = {}
113
- customQuickPickDates.dates.forEach((item) => {
114
- if (Array.isArray(item.value)) {
115
- ranges[item.label] = item.value.map((dateStr: string) => new Date(dateStr));
116
- } else {
117
- ranges[item.label] = calculateDateRange(
118
- item.value.timePeriod,
119
- item.value.amount
120
- )
121
- }
122
- })
123
- }
124
61
  }
125
62
 
126
-
127
63
  // creating the ul element for the nav dropdown and giving it classnames
128
64
  const rangesNav = document.createElement('ul');
129
65
 
130
-
131
66
  // creating the pluginData object that will hold the properties of this plugin
132
67
  const pluginData: pluginDataType = {
133
68
  ranges: ranges,
134
69
  rangesNav: rangesNav,
135
70
  rangesButtons: [],
136
-
137
71
  };
138
72
 
139
73
  /**
@@ -16,7 +16,7 @@ type DateRangeInlineProps = {
16
16
  align?: "left" | "center" | "vertical";
17
17
  size?: "sm" | "xs";
18
18
  dark?: boolean;
19
- htmlOptions?: {[key: string]: string | number | boolean | Function};
19
+ htmlOptions?: {[key: string]: string | number | boolean | (() => any)};
20
20
  icon?: boolean;
21
21
  startDate?: Date;
22
22
  endDate?: Date;
@@ -34,7 +34,7 @@ const dateTimeIso = (dateValue: Date) => {
34
34
  return DateTime.toIso(dateValue);
35
35
  };
36
36
 
37
- const DateRangeInline = (props: DateRangeInlineProps) => {
37
+ const DateRangeInline = (props: DateRangeInlineProps): React.ReactElement => {
38
38
  const {
39
39
  icon = false,
40
40
  dark = false,
@@ -15,12 +15,12 @@ type DateRangeStackedProps = {
15
15
  data?: string,
16
16
  dark?: boolean,
17
17
  endDate: Date,
18
- htmlOptions?: {[key: string]: string | number | boolean | Function},
18
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
19
19
  id?: string,
20
20
  startDate: Date,
21
21
  }
22
22
 
23
- const DateRangeStacked = (props: DateRangeStackedProps) => {
23
+ const DateRangeStacked = (props: DateRangeStackedProps): React.ReactElement => {
24
24
  const {
25
25
  className,
26
26
  dark = false,
@@ -15,7 +15,7 @@ type DateStackedProps = {
15
15
  dark?: boolean;
16
16
  data?: string;
17
17
  date: Date;
18
- htmlOptions?: { [key: string]: string | number | boolean | Function };
18
+ htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
19
19
  size?: "sm" | "md";
20
20
  id?: string;
21
21
  reverse?: boolean;
@@ -26,7 +26,7 @@ const sizes: {sm: 4, md: 3} = {
26
26
  md: 3,
27
27
  };
28
28
 
29
- const DateStacked = (props: DateStackedProps) => {
29
+ const DateStacked = (props: DateStackedProps): React.ReactElement => {
30
30
  const {
31
31
  align = "left",
32
32
  bold = false,
@@ -56,9 +56,9 @@ const DateStacked = (props: DateStackedProps) => {
56
56
  <>
57
57
  {bold == false ? (
58
58
  <div
59
- {...dataProps}
60
- {...htmlProps}
61
- className={classes}
59
+ {...dataProps}
60
+ {...htmlProps}
61
+ className={classes}
62
62
  >
63
63
  <div className="pb_date_stacked_day_month">
64
64
  <Caption text={DateTime.toMonth(date).toUpperCase()} />
@@ -72,9 +72,9 @@ const DateStacked = (props: DateStackedProps) => {
72
72
  </div>
73
73
  ) : (
74
74
  <div
75
- {...dataProps}
76
- {...htmlProps}
77
- className={classes}
75
+ {...dataProps}
76
+ {...htmlProps}
77
+ className={classes}
78
78
  >
79
79
  <div className="pb_date_stacked_day_month">
80
80
  <Title
@@ -14,7 +14,7 @@ type DateTimeProps = {
14
14
  className?: string,
15
15
  data?: { [key: string]: string; },
16
16
  datetime: Date,
17
- htmlOptions?: {[key: string]: string | number | boolean | Function},
17
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
18
18
  id?: string,
19
19
  size?: "sm" | "md",
20
20
  showDayOfWeek: boolean,
@@ -22,7 +22,7 @@ type DateTimeProps = {
22
22
  timeZone?: string
23
23
  }
24
24
 
25
- const DateTime = (props: DateTimeProps) => {
25
+ const DateTime = (props: DateTimeProps): React.ReactElement => {
26
26
  const {
27
27
  align = 'left',
28
28
  aria = {},
@@ -11,7 +11,7 @@ import TimeStacked from '../pb_time_stacked/_time_stacked'
11
11
  import DateStacked from '../pb_date_stacked/_date_stacked'
12
12
 
13
13
  type DateTimeStackedProps = {
14
- htmlOptions?: {[key: string]: string | number | boolean | Function},
14
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
15
15
  id?: string,
16
16
  date: Date,
17
17
  datetime: Date,
@@ -14,11 +14,11 @@ type DateYearStackedProps = {
14
14
  dark?: boolean,
15
15
  data?: string,
16
16
  date: Date,
17
- htmlOptions?: {[key: string]: string | number | boolean | Function},
17
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
18
18
  id?: string,
19
19
  }
20
20
 
21
- const DateYearStacked = (props: DateYearStackedProps) => {
21
+ const DateYearStacked = (props: DateYearStackedProps): React.ReactElement => {
22
22
  const {
23
23
  align = 'left',
24
24
  className,
@@ -21,7 +21,8 @@ describe("DateYearStacked Kit", () => {
21
21
  render(
22
22
  <DateYearStacked
23
23
  data={{ testid: testId }}
24
- date={new Date(Date.now())} />
24
+ date={new Date(Date.now())}
25
+ />
25
26
  );
26
27
 
27
28
  const kit = screen.getByTestId(testId);
@@ -32,7 +33,8 @@ describe("DateYearStacked Kit", () => {
32
33
  render(
33
34
  <DateYearStacked
34
35
  data={{ testid: testId }}
35
- date={new Date(Date.now())} />
36
+ date={new Date(Date.now())}
37
+ />
36
38
  );
37
39
 
38
40
  const kit = screen.getByTestId(testId);
@@ -44,7 +46,8 @@ describe("DateYearStacked Kit", () => {
44
46
  render(
45
47
  <DateYearStacked
46
48
  data={{ testid: testId }}
47
- date={new Date(Date.now())} />
49
+ date={new Date(Date.now())}
50
+ />
48
51
  );
49
52
 
50
53
  const kit = screen.getByTestId(testId);
@@ -11,13 +11,13 @@ type DetailProps = {
11
11
  color?: 'light' | 'default' | 'lighter' | 'link' | 'error' | 'success',
12
12
  dark?: boolean,
13
13
  data?: { [key: string]: string },
14
- htmlOptions?: {[key: string]: string | number | boolean | Function},
14
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
15
15
  id?: string,
16
16
  tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div',
17
17
  text?: string,
18
18
  } & GlobalProps
19
19
 
20
- const Detail = (props: DetailProps) => {
20
+ const Detail = (props: DetailProps): React.ReactElement => {
21
21
  const {
22
22
  aria = {},
23
23
  bold = false,
@@ -31,8 +31,8 @@ const Detail = (props: DetailProps) => {
31
31
  text= ''
32
32
  } = props
33
33
 
34
- const ariaProps: {[key: string]: any} = buildAriaProps(aria)
35
- const dataProps: {[key: string]: any} = buildDataProps(data)
34
+ const ariaProps: {[key: string]: string} = buildAriaProps(aria)
35
+ const dataProps: {[key: string]: string} = buildDataProps(data)
36
36
  const htmlProps = buildHtmlProps(htmlOptions);
37
37
  const isBold = bold ? "bold" : null
38
38
  const classes = classnames(
@@ -2,10 +2,10 @@ import React from 'react'
2
2
  import Icon from '../pb_icon/_icon'
3
3
 
4
4
  type CloseIconProps = {
5
- onClose: () => any,
5
+ onClose: () => void,
6
6
  }
7
7
 
8
- export const CloseIcon = (props: CloseIconProps) => {
8
+ export const CloseIcon = (props: CloseIconProps): React.ReactElement => {
9
9
  const { onClose } = props
10
10
  return (
11
11
  <div
@@ -25,8 +25,8 @@ type DialogProps = {
25
25
  className?: string;
26
26
  closeable: boolean;
27
27
  confirmButton?: string;
28
- data?: object;
29
- htmlOptions?: { [key: string]: string | number | boolean | Function };
28
+ data?: {[key: string]: string},
29
+ htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
30
30
  id?: string;
31
31
  fullHeight?: boolean;
32
32
  loading?: boolean;
@@ -45,7 +45,7 @@ type DialogProps = {
45
45
  trigger?: string;
46
46
  };
47
47
 
48
- const Dialog = (props: DialogProps) => {
48
+ const Dialog = (props: DialogProps): React.ReactElement => {
49
49
  const {
50
50
  aria = {},
51
51
  cancelButton,
@@ -59,9 +59,9 @@ const Dialog = (props: DialogProps) => {
59
59
  loading = false,
60
60
  fullHeight = false,
61
61
  opened,
62
- onCancel = () => {},
63
- onConfirm = () => {},
64
- onClose = () => {},
62
+ onCancel,
63
+ onConfirm,
64
+ onClose,
65
65
  placement = "center",
66
66
  portalClassName,
67
67
  shouldCloseOnOverlayClick = true,
@@ -168,22 +168,22 @@ const Dialog = (props: DialogProps) => {
168
168
  return (
169
169
  <DialogContext.Provider value={api}>
170
170
  <div
171
- {...ariaProps}
172
- {...dataProps}
173
- {...htmlProps}
174
- className={classes}
171
+ {...ariaProps}
172
+ {...dataProps}
173
+ {...htmlProps}
174
+ className={classes}
175
175
  >
176
176
  <Modal
177
- ariaHideApp={false}
178
- className={dialogClassNames}
179
- closeTimeoutMS={200}
180
- contentLabel="Minimal Modal Example"
181
- id={id}
182
- isOpen={modalIsOpened}
183
- onRequestClose={onClose}
184
- overlayClassName={overlayClassNames}
185
- portalClassName={portalClassName}
186
- shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}
177
+ ariaHideApp={false}
178
+ className={dialogClassNames}
179
+ closeTimeoutMS={200}
180
+ contentLabel="Minimal Modal Example"
181
+ id={id}
182
+ isOpen={modalIsOpened}
183
+ onRequestClose={onClose}
184
+ overlayClassName={overlayClassNames}
185
+ portalClassName={portalClassName}
186
+ shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}
187
187
  >
188
188
  <>
189
189
  {title && !status ? <Dialog.Header>{title}</Dialog.Header> : null}
@@ -193,33 +193,41 @@ const Dialog = (props: DialogProps) => {
193
193
  className="dialog_status_text_align"
194
194
  padding="md"
195
195
  >
196
- <Flex align="center" orientation="column">
196
+ <Flex align="center"
197
+ orientation="column"
198
+ >
197
199
  <IconCircle
198
- icon={sweetAlertStatus[status].icon}
199
- size={sweetAlertStatus[status].size}
200
- variant={sweetAlertStatus[status].variant}
200
+ icon={sweetAlertStatus[status].icon}
201
+ size={sweetAlertStatus[status].size}
202
+ variant={sweetAlertStatus[status].variant}
201
203
  />
202
- <Title marginTop="sm" size={3}>
204
+ <Title marginTop="sm"
205
+ size={3}
206
+ >
203
207
  {title}
204
208
  </Title>
205
- <Body marginTop="xs" text={text} />
209
+ <Body marginTop="xs"
210
+ text={text}
211
+ />
206
212
  </Flex>
207
213
  </Dialog.Body>
208
214
  )}
209
215
  {cancelButton && confirmButton ? (
210
216
  <Dialog.Footer>
211
217
  <Button
212
- loading={loading}
213
- onClick={onConfirm}
214
- htmlType="button"
215
- variant="primary">
218
+ htmlType="button"
219
+ loading={loading}
220
+ onClick={onConfirm}
221
+ variant="primary"
222
+ >
216
223
  {confirmButton}
217
224
  </Button>
218
225
  <Button
219
- id="cancel-button"
220
- onClick={onCancel}
221
- variant="link"
222
- htmlType="button">
226
+ htmlType="button"
227
+ id="cancel-button"
228
+ onClick={onCancel}
229
+ variant="link"
230
+ >
223
231
  {cancelButton}
224
232
  </Button>
225
233
  </Dialog.Footer>
@@ -10,7 +10,7 @@ type DialogBodyProps = {
10
10
  }
11
11
 
12
12
  // Body component
13
- const DialogBody = (props: DialogBodyProps) => {
13
+ const DialogBody = (props: DialogBodyProps): React.ReactElement => {
14
14
  const { children, className } = props
15
15
  const bodyCSS = buildCss("dialog_body")
16
16
  const bodySpacing = globalProps(props)
@@ -13,7 +13,7 @@ type DialogFooterProps = {
13
13
  children: React.ReactChild[] | React.ReactChild | string,
14
14
  className?: string,
15
15
  data?: {[key: string]: string},
16
- htmlOptions?: {[key: string]: string | number | boolean | Function},
16
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
17
17
  id?: string,
18
18
  padding?: string,
19
19
  paddingBottom?: string,
@@ -23,7 +23,7 @@ type DialogFooterProps = {
23
23
  } & GlobalProps
24
24
 
25
25
  // Footer component
26
- const DialogFooter = (props: DialogFooterProps) => {
26
+ const DialogFooter = (props: DialogFooterProps): React.ReactElement => {
27
27
  const {
28
28
  children,
29
29
  className,
@@ -38,13 +38,12 @@ const DialogFooter = (props: DialogFooterProps) => {
38
38
 
39
39
  return (
40
40
  <div
41
- {...htmlProps}
41
+ {...htmlProps}
42
42
  >
43
43
  {separator &&
44
44
  <SectionSeparator />
45
45
  }
46
- <div className="dialog-pseudo-footer">
47
- </div>
46
+ <div className="dialog-pseudo-footer" />
48
47
  <Flex
49
48
  className={classnames(footerCSS, footerSpacing, className)}
50
49
  spacing={spacing}
@@ -13,8 +13,8 @@ type DialogHeaderProps = {
13
13
  children: React.ReactNode[] | React.ReactNode | string,
14
14
  className?: string,
15
15
  closeable?: boolean,
16
- data?: object,
17
- htmlOptions?: {[key: string]: string | number | boolean | Function},
16
+ data?: {[key: string]: string},
17
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
18
18
  id?: string,
19
19
  padding?: string,
20
20
  separator?: boolean,
@@ -23,7 +23,7 @@ type DialogHeaderProps = {
23
23
  title?: string,
24
24
  } & GlobalProps
25
25
 
26
- const DialogHeader = (props: DialogHeaderProps) => {
26
+ const DialogHeader = (props: DialogHeaderProps): React.ReactElement => {
27
27
  const {
28
28
  aria = {},
29
29
  children,
@@ -56,7 +56,7 @@ const DialogHeader = (props: DialogHeaderProps) => {
56
56
  {children}
57
57
  {closeable &&
58
58
  <CloseIcon
59
- onClose={api.onClose}
59
+ onClose={api.onClose}
60
60
  />
61
61
  }
62
62
 
@@ -49,15 +49,18 @@ const DialogFullHeight = () => {
49
49
  <Flex wrap>
50
50
  <Button id="sm"
51
51
  marginRight="md"
52
- onClick={toggleHeaderSeparatorDialog}>
52
+ onClick={toggleHeaderSeparatorDialog}
53
+ >
53
54
  {"Small Dialog"}
54
55
  </Button>
55
56
  <Button marginRight="md"
56
- onClick={toggleFooterSeparatorDialog}>
57
+ onClick={toggleFooterSeparatorDialog}
58
+ >
57
59
  {"Medium Dialog"}
58
60
  </Button>
59
61
  <Button marginRight="md"
60
- onClick={toggleBothSeparatorsDialog}>
62
+ onClick={toggleBothSeparatorsDialog}
63
+ >
61
64
  {"Large Dialog"}
62
65
  </Button>
63
66
  </Flex>
@@ -89,7 +92,8 @@ const DialogFullHeight = () => {
89
92
  <Dialog.Footer>
90
93
  <Button onClick={toggle}>{"Send My Issue"}</Button>
91
94
  <Button onClick={toggle}
92
- variant="link">
95
+ variant="link"
96
+ >
93
97
  {"Back"}
94
98
  </Button>
95
99
  </Dialog.Footer>
@@ -48,15 +48,18 @@ const DialogFullHeightPlacement = () => {
48
48
  <Flex wrap>
49
49
  <Button id="sm"
50
50
  marginRight="md"
51
- onClick={toggleHeaderSeparatorDialog}>
51
+ onClick={toggleHeaderSeparatorDialog}
52
+ >
52
53
  {"Left Dialog"}
53
54
  </Button>
54
55
  <Button marginRight="xl"
55
- onClick={toggleFooterSeparatorDialog}>
56
+ onClick={toggleFooterSeparatorDialog}
57
+ >
56
58
  {"Center Dialog"}
57
59
  </Button>
58
60
  <Button marginRight="xl"
59
- onClick={toggleBothSeparatorsDialog}>
61
+ onClick={toggleBothSeparatorsDialog}
62
+ >
60
63
  {"Right Dialog"}
61
64
  </Button>
62
65
  </Flex>
@@ -88,7 +91,8 @@ const DialogFullHeightPlacement = () => {
88
91
  <Dialog.Footer>
89
92
  <Button onClick={toggle}>{"Send My Issue"}</Button>
90
93
  <Button onClick={toggle}
91
- variant="link">
94
+ variant="link"
95
+ >
92
96
  {"Back"}
93
97
  </Button>
94
98
  </Dialog.Footer>
@@ -16,10 +16,12 @@ const DialogScrollable = () => {
16
16
  return (
17
17
  <>
18
18
  <Button marginRight="md"
19
- onClick={toggleDialog1}>{'Open Dialog'}
19
+ onClick={toggleDialog1}
20
+ >{'Open Dialog'}
20
21
  </Button>
21
22
  <Button marginRight="md"
22
- onClick={toggleDialog2}>{'Open Full Height Dialog'}
23
+ onClick={toggleDialog2}
24
+ >{'Open Full Height Dialog'}
23
25
  </Button>
24
26
  <Dialog
25
27
  cancelButton="Cancel"
@@ -84,7 +84,7 @@ const DialogStatus = () => {
84
84
  <Flex
85
85
  rowGap="xs"
86
86
  wrap
87
- >
87
+ >
88
88
  <Button
89
89
  marginRight="md"
90
90
  onClick={toggleDefaultAlert}
@@ -7,13 +7,13 @@ type DistributionBarProps = {
7
7
  className?: string,
8
8
  colors: [],
9
9
  data?: string,
10
- htmlOptions?: {[key: string]: string | number | boolean | Function},
10
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
11
11
  id?: string,
12
12
  size?: "lg" | "sm",
13
13
  widths?: number[],
14
14
  }
15
15
 
16
- const normalizeCharacters = (widths: number[]) => {
16
+ const normalizeCharacters = (widths: number[]) => {
17
17
  return widths.map((width) => {
18
18
  return parseInt(width.toString().replace(/[^0-9.]/gi, ''))
19
19
  })
@@ -33,7 +33,7 @@ const barValues = (normalizedValues: number[], colors: []) => {
33
33
  })
34
34
  }
35
35
 
36
- const DistributionBar = (props: DistributionBarProps) => {
36
+ const DistributionBar = (props: DistributionBarProps): React.ReactElement => {
37
37
  const {
38
38
  htmlOptions = {},
39
39
  size = 'lg',
@@ -45,8 +45,8 @@ const DistributionBar = (props: DistributionBarProps) => {
45
45
 
46
46
  return (
47
47
  <div
48
- className={classnames(`pb_distribution_bar_${size}`, globalProps(props))}
49
- {...htmlProps}
48
+ className={classnames(`pb_distribution_bar_${size}`, globalProps(props))}
49
+ {...htmlProps}
50
50
  >
51
51
  {barValues(normalizedValues, colors)}
52
52
  </div>
@@ -14,7 +14,7 @@ type FileUploadProps = {
14
14
  className?: string,
15
15
  customMessage?: string,
16
16
  data?: {[key: string]: string | number},
17
- htmlOptions?: {[key: string]: string | number | boolean | Function},
17
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
18
18
  acceptedFilesDescription?: string,
19
19
  maxSize?: number,
20
20
  onFilesAccepted: Callback<File, File>,
@@ -21,7 +21,7 @@ type FixedConfirmationToastProps = {
21
21
  closeable?: boolean,
22
22
  data?: string,
23
23
  horizontal?: "right" | "left" | "center",
24
- htmlOptions?: {[key: string]: string | number | boolean | Function},
24
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
25
25
  id?: string,
26
26
  multiLine?: boolean,
27
27
  onClose?: () => void,
@@ -10,7 +10,7 @@ type FlexProps = {
10
10
  data?: object,
11
11
  horizontal?: "left" | "center" | "right" | "stretch" | "none",
12
12
  justify?: "start" | "center" | "end" | "around" | "between" | "evenly" | "none",
13
- htmlOptions?: {[key: string]: string | number | boolean | Function},
13
+ htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
14
14
  id?: string,
15
15
  inline?: boolean,
16
16
  orientation?: "row" | "column",
@@ -6,7 +6,7 @@ type FlexItemPropTypes = {
6
6
  children: React.ReactNode[] | React.ReactNode,
7
7
  fixedSize?: string,
8
8
  grow?: boolean,
9
- htmlOptions?: { [key: string]: string | number | boolean | Function },
9
+ htmlOptions?: { [key: string]: string | number | boolean | (() => void) },
10
10
  shrink?: boolean,
11
11
  className?: string,
12
12
  order?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'first' | 'none',