playbook_ui 13.14.0.pre.alpha.play1120lintdatepicker1797 → 13.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -1
  3. data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +5 -5
  4. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.tsx +3 -3
  5. data/app/pb_kits/playbook/pb_background/_background.tsx +9 -9
  6. data/app/pb_kits/playbook/pb_badge/_badge.tsx +2 -2
  7. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +3 -3
  8. data/app/pb_kits/playbook/pb_body/_body.scss +5 -0
  9. data/app/pb_kits/playbook/pb_body/_body.tsx +9 -5
  10. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +20 -0
  11. data/app/pb_kits/playbook/pb_body/body.rb +8 -1
  12. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumb_item.tsx +4 -3
  13. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.tsx +3 -3
  14. data/app/pb_kits/playbook/pb_button/_button.tsx +37 -40
  15. data/app/pb_kits/playbook/pb_button/docs/_button_props_swift.md +0 -11
  16. data/app/pb_kits/playbook/pb_button/docs/example.yml +0 -1
  17. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.tsx +3 -3
  18. data/app/pb_kits/playbook/pb_caption/_caption.tsx +1 -1
  19. data/app/pb_kits/playbook/pb_card/_card.tsx +2 -2
  20. data/app/pb_kits/playbook/pb_card/docs/_card_background.jsx +4 -5
  21. data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +3 -3
  22. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +9 -9
  23. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.tsx +1 -1
  24. data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +7 -5
  25. data/app/pb_kits/playbook/pb_collapsible/_helper_functions.ts +2 -2
  26. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.tsx +4 -5
  27. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.tsx +12 -16
  28. data/app/pb_kits/playbook/pb_contact/_contact.tsx +3 -3
  29. data/app/pb_kits/playbook/pb_currency/_currency.tsx +2 -2
  30. data/app/pb_kits/playbook/pb_dashboard/pbChartsColorsHelper.ts +1 -1
  31. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +57 -4
  32. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +57 -4
  33. data/app/pb_kits/playbook/pb_dashboard/themeTypes.ts +16 -20
  34. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.tsx +1 -1
  35. data/app/pb_kits/playbook/pb_date/_date.tsx +7 -7
  36. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +1 -1
  37. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +33 -40
  38. data/app/pb_kits/playbook/pb_date_picker/plugins/quickPick.tsx +4 -4
  39. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +2 -2
  40. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.tsx +2 -2
  41. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.tsx +8 -8
  42. data/app/pb_kits/playbook/pb_date_time/_date_time.tsx +2 -2
  43. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.tsx +1 -1
  44. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.tsx +2 -2
  45. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +3 -6
  46. data/app/pb_kits/playbook/pb_detail/_detail.scss +2 -2
  47. data/app/pb_kits/playbook/pb_detail/_detail.tsx +5 -5
  48. data/app/pb_kits/playbook/pb_detail/detail.rb +1 -1
  49. data/app/pb_kits/playbook/pb_detail/detail.test.jsx +2 -2
  50. data/app/pb_kits/playbook/pb_dialog/_close_icon.tsx +2 -2
  51. data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +34 -42
  52. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_body.tsx +1 -1
  53. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_footer.tsx +5 -4
  54. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_header.tsx +4 -4
  55. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height.jsx +4 -8
  56. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height_placement.jsx +4 -8
  57. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.jsx +2 -4
  58. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_status.jsx +1 -1
  59. data/app/pb_kits/playbook/pb_dialog/docs/example.yml +0 -7
  60. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.tsx +5 -5
  61. data/app/pb_kits/playbook/pb_file_upload/_file_upload.tsx +1 -1
  62. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -1
  63. data/app/pb_kits/playbook/pb_flex/_flex.tsx +1 -1
  64. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +1 -1
  65. data/app/pb_kits/playbook/pb_form_group/_form_group.tsx +1 -1
  66. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +1 -1
  67. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +1 -1
  68. data/app/pb_kits/playbook/pb_hashtag/_hashtag.tsx +1 -1
  69. data/app/pb_kits/playbook/pb_highlight/_highlight.tsx +1 -1
  70. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +1 -1
  71. data/app/pb_kits/playbook/pb_icon/_icon.tsx +1 -1
  72. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.tsx +1 -1
  73. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.tsx +1 -1
  74. data/app/pb_kits/playbook/pb_icon_value/_icon_value.tsx +1 -1
  75. data/app/pb_kits/playbook/pb_image/_image.tsx +1 -1
  76. data/app/pb_kits/playbook/pb_label_pill/_label_pill.tsx +1 -1
  77. data/app/pb_kits/playbook/pb_label_value/_label_value.tsx +1 -1
  78. data/app/pb_kits/playbook/pb_layout/_layout.tsx +1 -1
  79. data/app/pb_kits/playbook/pb_legend/_legend.tsx +1 -1
  80. data/app/pb_kits/playbook/pb_lightbox/Header/_lightbox_header.tsx +1 -1
  81. data/app/pb_kits/playbook/pb_lightbox/_lightbox.tsx +1 -1
  82. data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +1 -1
  83. data/app/pb_kits/playbook/pb_list/_list.tsx +1 -1
  84. data/app/pb_kits/playbook/pb_list/_list_item.tsx +1 -1
  85. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +1 -1
  86. data/app/pb_kits/playbook/pb_map/_map.tsx +1 -1
  87. data/app/pb_kits/playbook/pb_message/_message.tsx +1 -1
  88. data/app/pb_kits/playbook/pb_message/_message_mention.tsx +1 -1
  89. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +1 -1
  90. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.tsx +1 -1
  91. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.tsx +1 -1
  92. data/app/pb_kits/playbook/pb_nav/_item.tsx +1 -1
  93. data/app/pb_kits/playbook/pb_nav/_nav.tsx +1 -1
  94. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  95. data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +1 -1
  96. data/app/pb_kits/playbook/pb_person/_person.tsx +1 -1
  97. data/app/pb_kits/playbook/pb_person/docs/example.yml +0 -4
  98. data/app/pb_kits/playbook/pb_person_contact/_person_contact.tsx +1 -1
  99. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +1 -1
  100. data/app/pb_kits/playbook/pb_pill/_pill.tsx +1 -1
  101. data/app/pb_kits/playbook/pb_popover/_popover.tsx +1 -1
  102. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.tsx +1 -1
  103. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.tsx +1 -1
  104. data/app/pb_kits/playbook/pb_progress_step/_progress_step.tsx +1 -1
  105. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.tsx +1 -1
  106. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  107. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +1 -1
  108. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +1 -1
  109. data/app/pb_kits/playbook/pb_select/_select.tsx +1 -1
  110. data/app/pb_kits/playbook/pb_select/docs/example.yml +0 -5
  111. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.tsx +1 -1
  112. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.tsx +1 -1
  113. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.tsx +1 -1
  114. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +1 -1
  115. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.tsx +1 -1
  116. data/app/pb_kits/playbook/pb_source/_source.tsx +1 -1
  117. data/app/pb_kits/playbook/pb_star_rating/_star_rating.tsx +1 -1
  118. data/app/pb_kits/playbook/pb_stat_change/_stat_change.tsx +1 -1
  119. data/app/pb_kits/playbook/pb_stat_value/_stat_value.tsx +1 -1
  120. data/app/pb_kits/playbook/pb_table/_table.tsx +1 -1
  121. data/app/pb_kits/playbook/pb_table/_table_row.tsx +1 -1
  122. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +1 -1
  123. data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +1 -1
  124. data/app/pb_kits/playbook/pb_time/_time.tsx +1 -1
  125. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.tsx +1 -1
  126. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.tsx +1 -1
  127. data/app/pb_kits/playbook/pb_timeline/_item.tsx +1 -1
  128. data/app/pb_kits/playbook/pb_timeline/_timeline.tsx +1 -1
  129. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +1 -1
  130. data/app/pb_kits/playbook/pb_title/_title.scss +5 -0
  131. data/app/pb_kits/playbook/pb_title/_title.tsx +5 -2
  132. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +19 -0
  133. data/app/pb_kits/playbook/pb_title/title.rb +9 -2
  134. data/app/pb_kits/playbook/pb_title_count/_title_count.tsx +1 -1
  135. data/app/pb_kits/playbook/pb_title_detail/_title_detail.tsx +1 -1
  136. data/app/pb_kits/playbook/pb_toggle/_toggle.tsx +1 -1
  137. data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +1 -1
  138. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +1 -1
  139. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +1 -1
  140. data/app/pb_kits/playbook/pb_user/_user.tsx +1 -1
  141. data/app/pb_kits/playbook/pb_user/docs/example.yml +0 -7
  142. data/app/pb_kits/playbook/pb_user_badge/_user_badge.tsx +1 -1
  143. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.tsx +1 -1
  144. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.tsx +1 -1
  145. data/app/pb_kits/playbook/utilities/globalProps.ts +2 -13
  146. data/app/pb_kits/playbook/utilities/props.ts +2 -2
  147. data/dist/playbook-rails.js +5 -5
  148. data/lib/playbook/classnames.rb +0 -1
  149. data/lib/playbook/kit_base.rb +0 -2
  150. data/lib/playbook/version.rb +2 -2
  151. metadata +7 -26
  152. data/app/pb_kits/playbook/pb_button/docs/_button_reaction_swift.md +0 -26
  153. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default_swift.md +0 -11
  154. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_props_table.md +0 -13
  155. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_sizes_swift.md +0 -18
  156. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_status_swift.md +0 -14
  157. data/app/pb_kits/playbook/pb_person/docs/_person_default_swift.md +0 -8
  158. data/app/pb_kits/playbook/pb_person/docs/_person_props_swift.md +0 -5
  159. data/app/pb_kits/playbook/pb_select/docs/_select_default_swift.md +0 -15
  160. data/app/pb_kits/playbook/pb_select/docs/_select_error_swift.md +0 -18
  161. data/app/pb_kits/playbook/pb_select/docs/_select_props_table.md +0 -8
  162. data/app/pb_kits/playbook/pb_user/docs/_user_horizontal_swift.md +0 -37
  163. data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +0 -10
  164. data/app/pb_kits/playbook/pb_user/docs/_user_size_swift.md +0 -35
  165. data/app/pb_kits/playbook/pb_user/docs/_user_text_only_swift.md +0 -27
  166. data/app/pb_kits/playbook/pb_user/docs/_user_vertical_size_swift.md +0 -35
  167. data/app/pb_kits/playbook/tokens/exports/exports.d.ts +0 -1
  168. data/app/pb_kits/playbook/utilities/_truncate.scss +0 -20
  169. data/app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js +0 -21
  170. data/lib/playbook/truncate.rb +0 -29
@@ -15,7 +15,7 @@ const CollapsibleContent = ({
15
15
  children,
16
16
  className,
17
17
  ...props
18
- }: CollapsibleContentProps): React.ReactElement => {
18
+ }: CollapsibleContentProps) => {
19
19
  const context: {[key: string]: boolean | string} = useContext(CollapsibleContext)
20
20
  const contentCSS = buildCss('pb_collapsible_content_kit')
21
21
  const contentSpacing = globalProps(props)
@@ -33,10 +33,9 @@ const CollapsibleContent = ({
33
33
  }, [context.collapsed]);
34
34
 
35
35
  return (
36
- <div className={classnames(contentCSS, contentSpacing, "toggle-content", className)}
37
- data-collapsible-content="true"
38
- ref={contentRef}
39
- >
36
+ <div ref={contentRef}
37
+ data-collapsible-content="true"
38
+ className={classnames(contentCSS, contentSpacing, "toggle-content", className)}>
40
39
  {children}
41
40
  </div>
42
41
  )
@@ -56,7 +56,7 @@ const ToggleIcon = ({ collapsed, icon, iconSize, iconColor, onIconClick }: IconP
56
56
  return icon
57
57
  }
58
58
 
59
- const handleIconClick = (e: React.MouseEvent<HTMLElement>) => {
59
+ const handleIconClick = (e:any) => {
60
60
  if (onIconClick) {
61
61
  e.stopPropagation();
62
62
  onIconClick()
@@ -67,25 +67,21 @@ const ToggleIcon = ({ collapsed, icon, iconSize, iconColor, onIconClick }: IconP
67
67
  <>
68
68
  {collapsed ? (
69
69
  <div
70
- className="icon_wrapper"
71
- key={icon ? showIcon(icon)[0] : "chevron-down"}
72
- onClick={(e)=> handleIconClick(e)}
73
- style={{ verticalAlign: "middle", color: color }}
70
+ className="icon_wrapper"
71
+ key={icon ? showIcon(icon)[0] : "chevron-down"}
72
+ style={{ verticalAlign: "middle", color: color }}
73
+ onClick={(e)=> handleIconClick(e)}
74
74
  >
75
- <Icon icon={icon ? showIcon(icon)[0] : "chevron-down"}
76
- size={iconSize}
77
- />
75
+ <Icon icon={icon ? showIcon(icon)[0] : "chevron-down"} size={iconSize} />
78
76
  </div>
79
77
  ) : (
80
78
  <div
81
- className="icon_wrapper"
82
- key={icon ? showIcon(icon)[1] : "chevron-up"}
83
- onClick={(e)=> handleIconClick(e)}
84
- style={{ verticalAlign: "middle", color: color }}
79
+ className="icon_wrapper"
80
+ key={icon ? showIcon(icon)[1] : "chevron-up"}
81
+ style={{ verticalAlign: "middle", color: color }}
82
+ onClick={(e)=> handleIconClick(e)}
85
83
  >
86
- <Icon icon={icon ? showIcon(icon)[1] : "chevron-up"}
87
- size={iconSize}
88
- />
84
+ <Icon icon={icon ? showIcon(icon)[1] : "chevron-up"} size={iconSize} />
89
85
  </div>
90
86
  )}
91
87
  </>
@@ -122,9 +118,9 @@ const CollapsibleMain = ({
122
118
  <FlexItem>
123
119
  <ToggleIcon
124
120
  collapsed={collapsed as () => void}
125
- icon={icon as string[] | string}
126
121
  iconColor={iconColor as IconColors}
127
122
  iconSize={iconSize as IconSizes}
123
+ icon={icon as string[] | string}
128
124
  onIconClick={onIconClick}
129
125
  />
130
126
  </FlexItem>
@@ -50,12 +50,12 @@ type ContactProps = {
50
50
  contactDetail?: string,
51
51
  contactType?: string,
52
52
  contactValue: string,
53
- data?: {[key: string]: string},
54
- htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
53
+ data?: object,
54
+ htmlOptions?: {[key: string]: string | number | boolean | Function},
55
55
  id?: string,
56
56
  }
57
57
 
58
- const Contact = (props: ContactProps): React.ReactElement => {
58
+ const Contact = (props: ContactProps) => {
59
59
  const {
60
60
  aria = {},
61
61
  className,
@@ -18,7 +18,7 @@ type CurrencyProps = {
18
18
  data?: {[key:string]:string},
19
19
  decimals?: 'default' | 'matching',
20
20
  emphasized?: boolean,
21
- htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
21
+ htmlOptions?: {[key: string]: string | number | boolean | Function},
22
22
  id?: string,
23
23
  label?: string,
24
24
  size?: 'sm' | 'md' | 'lg',
@@ -34,7 +34,7 @@ const sizes: {lg: 1, md: 3, sm: 4} = {
34
34
  sm: 4,
35
35
  }
36
36
 
37
- const Currency = (props: CurrencyProps): React.ReactElement => {
37
+ const Currency = (props: CurrencyProps) => {
38
38
  const {
39
39
  abbreviate = false,
40
40
  align = 'left',
@@ -2,7 +2,7 @@ import colors from "../tokens/exports/_colors.scss";
2
2
 
3
3
 
4
4
  // Map Data Color String Props to our SCSS Variables
5
- const mapColors = (array: string[]): string[] => {
5
+ const mapColors = (array: string[]) => {
6
6
  const regex = /(data)\-[1-8]/; //eslint-disable-line
7
7
 
8
8
  const newArray = array.map((item) => {
@@ -3,6 +3,9 @@ import typography from '../tokens/exports/_typography.scss'
3
3
 
4
4
  import { ThemeProps } from './themeTypes'
5
5
 
6
+ import Highcharts from 'highcharts'
7
+
8
+ const pbButtonHoverColor = '#004ebb'
6
9
  const highchartsDarkTheme: ThemeProps = {
7
10
  lang: {
8
11
  thousandsSep: ',',
@@ -19,7 +22,7 @@ const highchartsDarkTheme: ThemeProps = {
19
22
  chart: {
20
23
  borderWidth: 0,
21
24
  borderRadius: 0,
22
- plotBackgroundColor: undefined,
25
+ plotBackgroundColor: null,
23
26
  plotShadow: false,
24
27
  plotBorderWidth: 0,
25
28
  },
@@ -61,7 +64,7 @@ const highchartsDarkTheme: ThemeProps = {
61
64
  },
62
65
  },
63
66
  yAxis: {
64
- alternateGridColor: undefined,
67
+ alternateGridColor: null,
65
68
  minorTickInterval: null,
66
69
  gridLineColor: colors.border_dark,
67
70
  minorGridLineColor: colors.border_dark,
@@ -101,6 +104,11 @@ const highchartsDarkTheme: ThemeProps = {
101
104
  color: colors.text_dk_lighter,
102
105
  },
103
106
  },
107
+ labels: {
108
+ style: {
109
+ color: colors.primary,
110
+ },
111
+ },
104
112
  tooltip: {
105
113
  backgroundColor: {
106
114
  linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
@@ -122,15 +130,29 @@ const highchartsDarkTheme: ThemeProps = {
122
130
  // specific to gauge
123
131
  // unfilled gauge color
124
132
  pane: {
125
- background: [{
133
+ background: {
126
134
  borderColor: colors.border_dark,
127
- }],
135
+ },
128
136
  },
129
137
 
130
138
  plotOptions: {
131
139
  series: {
132
140
  borderColor: colors.bg_dark_card,
133
141
  borderWidth: 2,
142
+ type: 'area',
143
+ nullColor: colors.text_dk_lighter,
144
+ fillColor: {
145
+ linearGradient: {
146
+ x1: 0,
147
+ y1: 0,
148
+ x2: 0,
149
+ y2: 1,
150
+ },
151
+ stops: [
152
+ [0, Highcharts.getOptions().colors[0]],
153
+ [1, 'white'],
154
+ ],
155
+ },
134
156
  threshold: null,
135
157
  },
136
158
  // PIE STYLES
@@ -162,6 +184,15 @@ const highchartsDarkTheme: ThemeProps = {
162
184
  marker: {
163
185
  lineColor: colors.border_dark,
164
186
  },
187
+ area: {
188
+ shadow: false,
189
+ states: {
190
+ hover: {
191
+ lineWidth: 1,
192
+ },
193
+ },
194
+ threshold: null,
195
+ },
165
196
  },
166
197
 
167
198
  //TREEMAP CHART STYLES
@@ -179,6 +210,7 @@ const highchartsDarkTheme: ThemeProps = {
179
210
  colors.data_7,
180
211
  colors.data_8,
181
212
  ],
213
+ colorByPoint: true,
182
214
  dataLabels: {
183
215
  enabled: true,
184
216
  style: {
@@ -197,6 +229,27 @@ const highchartsDarkTheme: ThemeProps = {
197
229
  ],
198
230
  traverseUpButton: {
199
231
  position: { y: -50 },
232
+ text: '< Back',
233
+ theme: {
234
+ r: 4,
235
+ states: {
236
+ hover: {
237
+ style: {
238
+ fill: pbButtonHoverColor,
239
+ },
240
+ },
241
+ },
242
+ style: {
243
+ fill: colors.royal,
244
+ color: colors.white,
245
+ fontSize: `${typography.text_small}`,
246
+ fontWeight: typography.bold,
247
+ fontFamily: `${typography.font_family_base}`,
248
+ },
249
+ stroke: colors.royal,
250
+ height: 24,
251
+ width: 90,
252
+ },
200
253
  },
201
254
  },
202
255
  },
@@ -3,6 +3,9 @@ import typography from '../tokens/exports/_typography.scss'
3
3
 
4
4
  import { ThemeProps } from './themeTypes'
5
5
 
6
+ import Highcharts from 'highcharts'
7
+
8
+ const pbButtonHoverColor = '#004ebb'
6
9
  const highchartsTheme: ThemeProps = {
7
10
  lang: {
8
11
  thousandsSep: ',',
@@ -19,7 +22,7 @@ const highchartsTheme: ThemeProps = {
19
22
  chart: {
20
23
  borderWidth: 0,
21
24
  borderRadius: 0,
22
- plotBackgroundColor: undefined,
25
+ plotBackgroundColor: null,
23
26
  plotShadow: false,
24
27
  plotBorderWidth: 0,
25
28
  },
@@ -61,7 +64,7 @@ const highchartsTheme: ThemeProps = {
61
64
  },
62
65
  },
63
66
  yAxis: {
64
- alternateGridColor: undefined,
67
+ alternateGridColor: null,
65
68
  minorTickInterval: null,
66
69
  gridLineColor: colors.border_light,
67
70
  minorGridLineColor: colors.border_light,
@@ -101,6 +104,11 @@ const highchartsTheme: ThemeProps = {
101
104
  color: colors.text_lt_lighter,
102
105
  },
103
106
  },
107
+ labels: {
108
+ style: {
109
+ color: colors.primary,
110
+ },
111
+ },
104
112
  tooltip: {
105
113
  backgroundColor: {
106
114
  linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
@@ -122,13 +130,27 @@ const highchartsTheme: ThemeProps = {
122
130
  // specific to gauge
123
131
  // unfilled gauge color
124
132
  pane: {
125
- background: [{
133
+ background: {
126
134
  borderColor: colors.border_light,
127
- }],
135
+ },
128
136
  },
129
137
 
130
138
  plotOptions: {
131
139
  series: {
140
+ type: 'area',
141
+ nullColor: colors.text_lt_lighter,
142
+ fillColor: {
143
+ linearGradient: {
144
+ x1: 0,
145
+ y1: 0,
146
+ x2: 0,
147
+ y2: 1,
148
+ },
149
+ stops: [
150
+ [0, Highcharts.getOptions().colors[0]],
151
+ [1, 'white'],
152
+ ],
153
+ },
132
154
  threshold: null,
133
155
  },
134
156
  // PIE STYLES
@@ -160,6 +182,15 @@ const highchartsTheme: ThemeProps = {
160
182
  marker: {
161
183
  lineColor: '#333',
162
184
  },
185
+ area: {
186
+ shadow: false,
187
+ states: {
188
+ hover: {
189
+ lineWidth: 1,
190
+ },
191
+ },
192
+ threshold: null,
193
+ },
163
194
  },
164
195
 
165
196
  //TREEMAP CHART STYLES
@@ -177,6 +208,7 @@ const highchartsTheme: ThemeProps = {
177
208
  colors.data_7,
178
209
  colors.data_8,
179
210
  ],
211
+ colorByPoint: true,
180
212
  dataLabels: {
181
213
  enabled: true,
182
214
  style: {
@@ -195,6 +227,27 @@ const highchartsTheme: ThemeProps = {
195
227
  ],
196
228
  traverseUpButton: {
197
229
  position: { y: -50 },
230
+ text: '< Back',
231
+ theme: {
232
+ r: 4,
233
+ states: {
234
+ hover: {
235
+ style: {
236
+ fill: pbButtonHoverColor,
237
+ },
238
+ },
239
+ },
240
+ style: {
241
+ fill: colors.royal,
242
+ color: colors.white,
243
+ fontSize: `${typography.text_small}`,
244
+ fontWeight: typography.bold,
245
+ fontFamily: `${typography.font_family_base}`,
246
+ },
247
+ stroke: colors.royal,
248
+ height: 24,
249
+ width: 90,
250
+ },
198
251
  },
199
252
  },
200
253
  },
@@ -1,20 +1,16 @@
1
- import { Options, LegendOptions } from "highcharts";
2
- export interface ThemeProps
3
- extends Pick<
4
- Options,
5
- | "credits"
6
- | "chart"
7
- | "colors"
8
- | "lang"
9
- | "title"
10
- | "subtitle"
11
- | "xAxis"
12
- | "yAxis"
13
- | "legend"
14
- | "tooltip"
15
- | "pane"
16
- | "plotOptions"
17
- > {
18
- colorKey?: string;
19
- legend?: LegendOptions;
20
- }
1
+ export type ThemeProps = {
2
+ lang?: {[key: string]: string}
3
+ credits?: {[key: string]: boolean}
4
+ colors?: string[]
5
+ chart?: {[key: string]: any}
6
+ title?: {[key: string]: string | {}}
7
+ subtitle?: {[key: string]: string | {};}
8
+ xAxis?: {[key: string]: any;}
9
+ yAxis?: {[key: string]: any;}
10
+ legend?: {[key: string]: string | {};}
11
+ labels?: {[key: string]: {};}
12
+ tooltip?: {[key: string]: any;}
13
+ pane?: {[key: string]: {};}
14
+ plotOptions?: {[key: string]: any;}
15
+ colorKey?: string
16
+ }
@@ -12,7 +12,7 @@ type DashboardValueProps = {
12
12
  aria?: { [key: string]: string },
13
13
  className?: string,
14
14
  data?: { [key: string]: string },
15
- htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
15
+ htmlOptions?: {[key: string]: string | number | boolean | Function},
16
16
  id?: string,
17
17
  statChange?: {
18
18
  change? : 'increase' | 'decrease' | 'neutral',
@@ -15,7 +15,7 @@ type PbDateProps = {
15
15
  aria?: { [key: string]: string };
16
16
  className?: string;
17
17
  data?: { [key: string]: string };
18
- htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
18
+ htmlOptions?: { [key: string]: string | number | boolean | Function };
19
19
  id?: string;
20
20
  showDayOfWeek?: boolean;
21
21
  showIcon?: boolean;
@@ -24,7 +24,7 @@ type PbDateProps = {
24
24
  value: Date;
25
25
  };
26
26
 
27
- const PbDate = (props: PbDateProps): React.ReactElement => {
27
+ const PbDate = (props: PbDateProps) => {
28
28
  const {
29
29
  aria = {},
30
30
  alignment = "left",
@@ -57,11 +57,11 @@ const PbDate = (props: PbDateProps): React.ReactElement => {
57
57
 
58
58
  return (
59
59
  <div
60
- {...ariaProps}
61
- {...dataProps}
62
- {...htmlProps}
63
- className={classes}
64
- id={id}
60
+ {...ariaProps}
61
+ {...dataProps}
62
+ {...htmlProps}
63
+ className={classes}
64
+ id={id}
65
65
  >
66
66
  {unstyled
67
67
  ? <>
@@ -26,7 +26,7 @@ type DatePickerProps = {
26
26
  format?: string,
27
27
  hideIcon?: boolean,
28
28
  hideLabel?: boolean,
29
- htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
29
+ htmlOptions?: {[key: string]: string | number | boolean | Function},
30
30
  id?: string,
31
31
  inLine?: boolean,
32
32
  inputAria?: { [key: string]: string },
@@ -32,10 +32,6 @@ type DatePickerConfig = {
32
32
  } & Pick<BaseOptions, "allowInput" | "defaultDate" | "enableTime" | "maxDate" | "minDate" | "mode" | "plugins" | "position" | "positionElement" >
33
33
 
34
34
  const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HTMLElement) => {
35
- const noop = () => {
36
- // intentionally left empty as a no-op placeholder
37
- }
38
-
39
35
  const {
40
36
  allowInput,
41
37
  closeOnSelect = true,
@@ -49,8 +45,8 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
49
45
  maxDate,
50
46
  minDate,
51
47
  mode,
52
- onChange = noop,
53
- onClose = noop,
48
+ onChange = () => {},
49
+ onClose = () => {},
54
50
  pickerId,
55
51
  plugins,
56
52
  position = "auto",
@@ -76,11 +72,20 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
76
72
  return defaultDate
77
73
  }
78
74
  }
75
+ const disabledParser = () => {
76
+ const disabledArray=[]
77
+
78
+ disableDate && disableDate.length > 0 && disabledArray.push(...disableDate)
79
+ disableRange && disableRange.length > 0 && disabledArray.push(...disableRange)
80
+ disableWeekdays && disableWeekdays.length > 0 && disabledArray.push(...disabledWeekDays())
81
+
82
+ return disabledArray
83
+ }
79
84
 
80
85
  const disabledWeekDays = () => {
81
86
  return (
82
87
  [
83
- (date: any) => {
88
+ (date:any) => {
84
89
  const weekdayObj: {
85
90
  [day: string]: number
86
91
  } = {
@@ -105,16 +110,6 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
105
110
  ]
106
111
  )
107
112
  }
108
-
109
- const disabledParser = () => {
110
- const disabledArray=[]
111
-
112
- disableDate && disableDate.length > 0 && disabledArray.push(...disableDate)
113
- disableRange && disableRange.length > 0 && disabledArray.push(...disableRange)
114
- disableWeekdays && disableWeekdays.length > 0 && disabledArray.push(...disabledWeekDays())
115
-
116
- return disabledArray
117
- }
118
113
  const calendarResizer = () => {
119
114
  const cal = document.querySelector(`#cal-${pickerId}.open`) as HTMLElement
120
115
  const parentInput = cal.parentElement
@@ -130,46 +125,28 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
130
125
 
131
126
  const setPlugins = (thisRangesEndToday: boolean, customQuickPickDates: any) => {
132
127
  const pluginList = []
133
-
128
+
134
129
  // month and week selection
135
130
  if (selectionType === "month" || plugins.length > 0) {
136
131
  pluginList.push(monthSelectPlugin({ shorthand: true, dateFormat: 'F Y', altFormat: 'F Y' }))
137
132
  } else if ( selectionType === "week") {
138
133
  pluginList.push(weekSelect())
139
-
134
+
140
135
  } else if (selectionType === "quickpick") {
141
136
  //------- QUICKPICK VARIANT PLUGIN -------------//
142
137
  pluginList.push(quickPickPlugin(thisRangesEndToday, customQuickPickDates))
143
138
  }
144
-
139
+
145
140
  // time selection
146
141
  if (enableTime) pluginList.push(timeSelectPlugin({ caption: timeCaption, showTimezone: showTimezone}))
147
-
142
+
148
143
  return pluginList
149
144
  }
150
-
145
+
151
146
  const getDateFormat = () => {
152
147
  return enableTime ? `${format} ${timeFormat}` : format
153
148
  }
154
149
 
155
- // Attach / detach to / from scroll events
156
- const initialPicker = document.querySelector<HTMLElement & { [x: string]: any }>(`#${pickerId}`)._flatpickr
157
- const scrollEvent = () => {
158
- initialPicker._positionCalendar()
159
- }
160
- function attachToScroll(scrollParent: string | HTMLElement) {
161
- document.querySelectorAll(scrollParent as string)[0]?.addEventListener("scroll", scrollEvent, { passive: true })
162
- }
163
- function detachFromScroll(scrollParent: string | HTMLElement = document.body) {
164
- document.querySelectorAll(scrollParent as string)[0]?.removeEventListener("scroll", scrollEvent)
165
- }
166
-
167
- // two way binding
168
- const initialDropdown = document.querySelector<HTMLElement & { [x: string]: any }>(`#year-${pickerId}`)
169
- const yearChangeHook = () => {
170
- initialDropdown.value = initialPicker.currentYear
171
- }
172
-
173
150
  // ===========================================================
174
151
  // | Flatpickr initializer w/ config |
175
152
  // ===========================================================
@@ -216,6 +193,17 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
216
193
  const picker = document.querySelector<HTMLElement & { [x: string]: any }>(`#${pickerId}`)._flatpickr
217
194
  picker.innerContainer.parentElement.id = `cal-${pickerId}`
218
195
 
196
+ // Attach / detach to / from scroll events
197
+ const scrollEvent = () => {
198
+ picker._positionCalendar()
199
+ }
200
+ function attachToScroll(scrollParent: string | HTMLElement) {
201
+ document.querySelectorAll(scrollParent as string)[0]?.addEventListener("scroll", scrollEvent, { passive: true })
202
+ }
203
+ function detachFromScroll(scrollParent: string | HTMLElement = document.body) {
204
+ document.querySelectorAll(scrollParent as string)[0]?.removeEventListener("scroll", scrollEvent)
205
+ }
206
+
219
207
  // replace year selector with dropdown
220
208
  picker.yearElements[0].parentElement.innerHTML = `<select class="numInput cur-year" type="number" tabIndex="-1" aria-label="Year" id="year-${pickerId}"></select>`
221
209
 
@@ -254,6 +242,11 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
254
242
  })
255
243
  }
256
244
 
245
+ // two way binding
246
+ const yearChangeHook = () => {
247
+ dropdown.value = picker.currentYear
248
+ }
249
+
257
250
  // Adding dropdown icons to year and month selects
258
251
  dropdown.insertAdjacentHTML('afterend', '<i class="far fa-angle-down year-dropdown-icon" id="test-id"></i>')
259
252
  if (picker.monthElements[0].parentElement) {
@@ -53,8 +53,8 @@ const quickPickPlugin = (thisRangesEndToday: boolean, customQuickPickDates: cust
53
53
 
54
54
  const calculateDateRange = (timePeriod: string, amount: number): Date[] => {
55
55
  const endDate = new Date();
56
- const startDate = new Date();
57
-
56
+ let startDate = new Date();
57
+
58
58
  switch (timePeriod) {
59
59
  case 'days':
60
60
  startDate.setDate(endDate.getDate() - amount);
@@ -76,7 +76,7 @@ const quickPickPlugin = (thisRangesEndToday: boolean, customQuickPickDates: cust
76
76
  }
77
77
  return [startDate, endDate];
78
78
  };
79
-
79
+
80
80
 
81
81
  type rangesType = {
82
82
  [key: string]: Date[]
@@ -95,7 +95,7 @@ const quickPickPlugin = (thisRangesEndToday: boolean, customQuickPickDates: cust
95
95
  'Last year': [lastYearStartDate, lastYearEndDate]
96
96
  };
97
97
 
98
-
98
+
99
99
  if (customQuickPickDates && Object.keys(customQuickPickDates).length !== 0) {
100
100
  if (customQuickPickDates.dates.length && customQuickPickDates.override === false) {
101
101
  customQuickPickDates.dates.forEach((item) => {
@@ -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 | (() => any)};
19
+ htmlOptions?: {[key: string]: string | number | boolean | Function};
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): React.ReactElement => {
37
+ const DateRangeInline = (props: DateRangeInlineProps) => {
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 | (() => void)},
18
+ htmlOptions?: {[key: string]: string | number | boolean | Function},
19
19
  id?: string,
20
20
  startDate: Date,
21
21
  }
22
22
 
23
- const DateRangeStacked = (props: DateRangeStackedProps): React.ReactElement => {
23
+ const DateRangeStacked = (props: DateRangeStackedProps) => {
24
24
  const {
25
25
  className,
26
26
  dark = false,