playbook_ui 14.9.0.pre.alpha.PBNTR775formmatingmaskdefaultvalue5121 → 14.9.0.pre.alpha.PLAY1660reactdropzone5020

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/CollapsibleTrail.tsx +6 -1
  3. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +3 -11
  4. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +1 -1
  5. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +2 -2
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +2 -4
  8. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +0 -8
  9. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -2
  10. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.html.erb +0 -8
  11. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +0 -2
  12. data/app/pb_kits/playbook/pb_card/_card.tsx +7 -7
  13. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -1
  14. data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -21
  15. data/app/pb_kits/playbook/pb_card/docs/_card_header.jsx +0 -50
  16. data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
  17. data/app/pb_kits/playbook/pb_file_upload/_file_upload.tsx +24 -15
  18. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_accept.jsx +3 -1
  19. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_custom_description.jsx +4 -1
  20. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_max_size.jsx +1 -1
  21. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +2 -11
  22. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +1 -31
  23. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +3 -3
  24. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +5 -25
  25. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +1 -17
  26. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.html.erb +1 -17
  27. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.jsx +0 -15
  28. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.md +1 -2
  29. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +1 -15
  30. data/app/pb_kits/playbook/pb_table/_table.tsx +6 -6
  31. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.html.erb +48 -30
  32. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -2
  33. data/app/pb_kits/playbook/pb_table/index.ts +3 -5
  34. data/app/pb_kits/playbook/pb_table/styles/_scroll.scss +3 -28
  35. data/app/pb_kits/playbook/pb_table/styles/_sticky_columns.scss +1 -0
  36. data/app/pb_kits/playbook/pb_table/table.html.erb +1 -7
  37. data/app/pb_kits/playbook/pb_table/table.rb +0 -4
  38. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +1 -8
  39. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +46 -115
  40. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +2 -9
  41. data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +2 -3
  42. data/dist/chunks/_typeahead-CZ_5SxHq.js +36 -0
  43. data/dist/chunks/_weekday_stacked-D345GDEZ.js +45 -0
  44. data/dist/chunks/{lib-sMFo2JZy.js → lib-CuCy3_xO.js} +1 -1
  45. data/dist/chunks/{pb_form_validation-CgvjWbOK.js → pb_form_validation-D37k10a0.js} +1 -1
  46. data/dist/chunks/vendor.js +1 -1
  47. data/dist/playbook-doc.js +1 -1
  48. data/dist/playbook-rails-react-bindings.js +1 -1
  49. data/dist/playbook-rails.js +1 -1
  50. data/dist/playbook.css +1 -1
  51. data/lib/playbook/version.rb +1 -1
  52. metadata +6 -12
  53. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail_rails.html.erb +0 -36
  54. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail_rails.md +0 -1
  55. data/app/pb_kits/playbook/pb_form_group/_error_state_mixin.scss +0 -57
  56. data/app/pb_kits/playbook/pb_home_address_street/none_emphasis.html.erb +0 -32
  57. data/app/pb_kits/playbook/pb_home_address_street/none_emphasis.rb +0 -29
  58. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_rails.md +0 -1
  59. data/dist/chunks/_typeahead-DWFImMpi.js +0 -22
  60. data/dist/chunks/_weekday_stacked-UtPiOqYV.js +0 -45
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfe5e243fdd166f4333142e96b09c56088e5b1d265266ffa87e103a41fc8eaef
4
- data.tar.gz: 58a5bea3b1b81cc0fb06731f30aef7c5c02fbc2d7bfddc7175046d913355f325
3
+ metadata.gz: 9bd94a16e8f4921dfb9fc4dec855acde1e435ef517754f0622a861ee987a0d63
4
+ data.tar.gz: 8599257f054471735d29bad11278793ed971382e2910dbc50f30dd80b6f85cf2
5
5
  SHA512:
6
- metadata.gz: fb44317a418ce0d5042d883f6c7a5d1789cef28e04fa3819021e8ec853f8dc5db8dbf09b2fe925188356586e4a9707a6497e0102afaedec2f4c466d4603fad8a
7
- data.tar.gz: aada7d4698d5b7dfc3ba3528f295ba980eca79b85ed5d018e332e4ec473b0b021863c412fd2f49b6b9d0e02a4a527bdbe1ffa0160e62f9f2b2b25ccaaee982b1
6
+ metadata.gz: 07b3efaee6c1db4128f6225d25d89aac30a35d9747881aca6f065a58d83982fda6373244c2fc9cfce867701b75c2bfbaca56f8980ca3b51886abf2b773e3e84b
7
+ data.tar.gz: 41c4d23b85f2c20877f01bac703b5d50312b5a6e826c1fcc8cb1bb0f0810ce84c118f3334ca9f01489c99c84529b1f4c96df3e8762ce92cf4e8f8326f5a60732
@@ -3,13 +3,18 @@ import React from "react"
3
3
  //CollapsibleTrail component
4
4
  const CollapsibleTrail = ({ leftOffset }: { leftOffset: number }) => {
5
5
  const style: { [key: string]: string | number } = {
6
+ position: "absolute",
6
7
  left: `${leftOffset}em`,
8
+ top: 0,
9
+ bottom: 0,
10
+ width: "2px",
11
+ backgroundColor: "#E4E8F0",
7
12
  }
8
13
 
9
14
  return (
10
15
  <div
11
16
  className="collapsible-trail"
12
- style={style}
17
+ style={style}
13
18
  />
14
19
  )
15
20
  }
@@ -110,17 +110,9 @@
110
110
  height: auto;
111
111
  }
112
112
 
113
- .collapsible-trail {
114
- background-color: $border_light;
115
- position: absolute;
116
- top: 0;
117
- bottom: 0;
118
- width: 2px;
119
- }
120
-
121
113
  // Responsive Styles
122
114
  @media only screen and (max-width: $screen-xl-min) {
123
- &[class*="advanced-table-responsive-scroll"] {
115
+ &[class*="table-responsive-scroll"] {
124
116
  border-radius: 4px;
125
117
  box-shadow: 1px 0 0 0px $border_light,
126
118
  -1px 0 0 0px $border_light;
@@ -158,7 +150,7 @@
158
150
  }
159
151
  }
160
152
  @media only screen and (min-width: $screen-xl-min) {
161
- &[class*="advanced-table-responsive-scroll"] {
153
+ &[class*="table-responsive-scroll"] {
162
154
  overflow-x: visible;
163
155
  }
164
156
  }
@@ -208,7 +200,7 @@
208
200
  }
209
201
  // Dark Mode Responsive Styles
210
202
  @media only screen and (max-width: $screen-xl-min) {
211
- &[class*="advanced-table-responsive-scroll"] {
203
+ &[class*="table-responsive-scroll"] {
212
204
  border-radius: 4px;
213
205
  box-shadow: 1px 0 0 0px $border_dark,
214
206
  -1px 0 0 0px $border_dark;
@@ -240,7 +240,7 @@ const AdvancedTable = (props: AdvancedTableProps) => {
240
240
  const htmlProps = buildHtmlProps(htmlOptions)
241
241
  const classes = classnames(
242
242
  buildCss("pb_advanced_table"),
243
- `advanced-table-responsive-${responsive}`,
243
+ `table-responsive-${responsive}`,
244
244
  globalProps(props),
245
245
  className
246
246
  )
@@ -468,7 +468,7 @@ test("responsive prop functions as expected", () => {
468
468
  )
469
469
 
470
470
  const kit = screen.getByTestId(testId)
471
- expect(kit).toHaveClass("pb_advanced_table advanced-table-responsive-scroll")
471
+ expect(kit).toHaveClass("pb_advanced_table table-responsive-scroll")
472
472
  })
473
473
 
474
474
  test("responsive none prop functions as expected", () => {
@@ -483,7 +483,7 @@ test("responsive none prop functions as expected", () => {
483
483
  )
484
484
 
485
485
  const kit = screen.getByTestId(testId)
486
- expect(kit).toHaveClass("pb_advanced_table advanced-table-responsive-none")
486
+ expect(kit).toHaveClass("pb_advanced_table table-responsive-none")
487
487
  })
488
488
 
489
489
  test("customRenderer prop functions as expected", () => {
@@ -2,7 +2,6 @@ examples:
2
2
  rails:
3
3
  - advanced_table_beta: Default (Required Props)
4
4
  - advanced_table_beta_subrow_headers: SubRow Headers
5
- - advanced_table_collapsible_trail_rails: Collapsible Trail
6
5
  - advanced_table_beta_sort: Enable Sorting
7
6
  - advanced_table_custom_cell_rails: Custom Components for Cells
8
7
 
@@ -14,16 +14,14 @@ module Playbook
14
14
  default: "header"
15
15
  prop :subrow_headers, type: Playbook::Props::Array,
16
16
  default: []
17
- prop :collapsible_trail, type: Playbook::Props::Boolean,
18
- default: true
19
17
 
20
18
  def render_row_and_children(row, column_definitions, current_depth, first_parent_child)
21
19
  output = ActiveSupport::SafeBuffer.new
22
20
  is_first_child_of_subrow = current_depth.positive? && first_parent_child && subrow_headers[current_depth - 1].present?
23
21
 
24
- output << pb_rails("advanced_table/table_subrow_header", props: { row: row, column_definitions: column_definitions, depth: current_depth, subrow_header: subrow_headers[current_depth - 1], collapsible_trail: collapsible_trail }) if is_first_child_of_subrow && enable_toggle_expansion == "all"
22
+ output << pb_rails("advanced_table/table_subrow_header", props: { row: row, column_definitions: column_definitions, depth: current_depth, subrow_header: subrow_headers[current_depth - 1] }) if is_first_child_of_subrow && enable_toggle_expansion == "all"
25
23
 
26
- output << pb_rails("advanced_table/table_row", props: { id: id, row: row, column_definitions: column_definitions, depth: current_depth, collapsible_trail: collapsible_trail })
24
+ output << pb_rails("advanced_table/table_row", props: { id: id, row: row, column_definitions: column_definitions, depth: current_depth })
27
25
 
28
26
  if row[:children].present?
29
27
  output << content_tag(:div, class: "toggle-content", data: { advanced_table_content: row.object_id.to_s + id }) do
@@ -2,14 +2,6 @@
2
2
  <% object.column_definitions.each_with_index do |column, index| %>
3
3
  <%= pb_rails("table/table_cell", props: { tag:"div", classname:object.td_classname}) do %>
4
4
  <%= pb_rails("flex", props:{ align: "center", justify: index.zero? ? "start" : "end" }) do %>
5
- <% if collapsible_trail && index.zero? %>
6
- <% (1..depth).each do |i| %>
7
- <% additional_offset = i > 1 ? (i - 1) * 0.25 : 0 %>
8
- <% left_offset = i * 1.0 + additional_offset %>
9
- <div class="collapsible-trail" style="left: <%= left_offset %>em"></div>
10
- <% end %>
11
- <% end %>
12
-
13
5
  <div style="padding-left: <%= depth * 1.25 %>em">
14
6
  <%= pb_rails("flex", props:{align: "center", column_gap: "xs"}) do %>
15
7
  <% if index.zero? && object.row[:children].present? %>
@@ -9,8 +9,6 @@ module Playbook
9
9
  default: []
10
10
  prop :row
11
11
  prop :depth
12
- prop :collapsible_trail, type: Playbook::Props::Boolean,
13
- default: true
14
12
 
15
13
  def classname
16
14
  generate_classname("pb_table_tr", "bg-white", subrow_depth_classname, separator: " ")
@@ -6,14 +6,6 @@
6
6
  <% object.column_definitions.each_with_index do |column, index| %>
7
7
  <%= pb_rails("table/table_cell", props: { tag: "div", classname: object.td_classname}) do %>
8
8
  <%= pb_rails("flex", props:{ align: "center", justify: "start" }) do %>
9
- <% if collapsible_trail && index.zero? %>
10
- <% (1..depth).each do |i| %>
11
- <% additional_offset = i > 1 ? (i - 1) * 0.25 : 0 %>
12
- <% left_offset = i * 1.0 + additional_offset %>
13
- <div class="collapsible-trail" style="left: <%= left_offset %>em"></div>
14
- <% end %>
15
- <% end %>
16
-
17
9
  <div style="padding-left: <%= depth * 1.25 %>em">
18
10
  <%= pb_rails("flex", props:{align: "center", column_gap: "xs"}) do %>
19
11
  <% if index.zero? && object.row[:children].present? %>
@@ -12,8 +12,6 @@ module Playbook
12
12
  default: "header"
13
13
  prop :subrow_header, type: Playbook::Props::String,
14
14
  default: ""
15
- prop :collapsible_trail, type: Playbook::Props::Boolean,
16
- default: true
17
15
 
18
16
  def classname
19
17
  generate_classname("pb_table_tr", "bg-white", subrow_depth_classname, separator: " ")
@@ -6,7 +6,7 @@ import classnames from 'classnames'
6
6
 
7
7
  import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
8
8
  import { GlobalProps, globalProps, globalInlineProps } from '../utilities/globalProps'
9
- import type { ProductColors, CategoryColors, BackgroundColors, StatusColors } from '../types/colors'
9
+ import type { ProductColors, CategoryColors, BackgroundColors } from '../types/colors'
10
10
 
11
11
  import Icon from '../pb_icon/_icon'
12
12
  import Flex from '../pb_flex/_flex'
@@ -36,7 +36,7 @@ type CardPropTypes = {
36
36
  } & GlobalProps
37
37
 
38
38
  type CardHeaderProps = {
39
- headerColor?: BackgroundColors | ProductColors | CategoryColors | StatusColors | "none",
39
+ headerColor?: BackgroundColors | ProductColors | CategoryColors | "none",
40
40
  headerColorStriped?: boolean,
41
41
  children: React.ReactChild[] | React.ReactChild,
42
42
  className?: string,
@@ -127,12 +127,12 @@ const Card = (props: CardPropTypes): React.ReactElement => {
127
127
 
128
128
  const tagOptions = ['div', 'section', 'footer', 'header', 'article', 'aside', 'main', 'nav']
129
129
  const Tag = tagOptions.includes(tag) ? tag : 'div'
130
-
130
+
131
131
  return (
132
132
  <>
133
133
  {
134
134
  draggableItem ? (
135
- <Draggable.Item dragId={dragId}
135
+ <Draggable.Item dragId={dragId}
136
136
  key={dragId}
137
137
  >
138
138
  <Tag
@@ -140,14 +140,14 @@ const Card = (props: CardPropTypes): React.ReactElement => {
140
140
  {...dataProps}
141
141
  className={classnames(cardCss, globalProps(props), className)}
142
142
  {...restHtmlProps}
143
- style={mergedStyles}
143
+ style={mergedStyles}
144
144
  >
145
145
  {subComponentTags('Header')}
146
146
  {
147
147
  dragHandle ? (
148
148
  <Flex>
149
149
  <span className="card_draggable_handle">
150
- <Icon
150
+ <Icon
151
151
  icon="grip-dots-vertical"
152
152
  paddingRight="xs"
153
153
  verticalAlign="middle"
@@ -169,7 +169,7 @@ const Card = (props: CardPropTypes): React.ReactElement => {
169
169
  {...dataProps}
170
170
  className={classnames(cardCss, globalProps(props), className)}
171
171
  {...restHtmlProps}
172
- style={mergedStyles}
172
+ style={mergedStyles}
173
173
  >
174
174
  {subComponentTags('Header')}
175
175
  {nonHeaderChildren}
@@ -24,7 +24,7 @@ $additional_colors: (
24
24
  "neutral_subtle": $neutral_subtle,
25
25
  );
26
26
  $background_colors: map-merge($product_colors, $additional_colors);
27
- $pb_card_header_colors: map-merge(map-merge(map-merge($product_colors, $additional_colors), $category_colors), $status_colors);
27
+ $pb_card_header_colors: map-merge(map-merge($product_colors, $additional_colors), $category_colors);
28
28
 
29
29
  @mixin pb_card_selected($border_color: $primary) {
30
30
  border-color: $border_color;
@@ -67,24 +67,4 @@
67
67
  <%= pb_rails("card/card_body", props: { padding: "md", }) do %>
68
68
  Body
69
69
  <% end %>
70
- <% end %>
71
-
72
- <%= pb_rails("title", props: { text: "Status Colors", tag: "h4", size: 4, margin_bottom: "sm" }) %>
73
-
74
- <%= pb_rails("card", props: { padding: "none", header: true, margin_bottom: "sm"}) do %>
75
- <%= pb_rails("card/card_header", props: { padding: "sm", header_color: "success" }) do %>
76
- <%= pb_rails("body", props: { text: "Success", dark: true }) %>
77
- <% end %>
78
- <%= pb_rails("card/card_body", props: { padding: "md" }) do %>
79
- Body
80
- <% end %>
81
- <% end %>
82
-
83
- <%= pb_rails("card", props: { padding: "none", header: true, margin_bottom: "sm"}) do %>
84
- <%= pb_rails("card/card_header", props: { padding: "sm", header_color: "error" }) do %>
85
- <%= pb_rails("body", props: { text: "Error", dark: true }) %>
86
- <% end %>
87
- <%= pb_rails("card/card_body", props: { padding: "md" }) do %>
88
- Body
89
- <% end %>
90
- <% end %>
70
+ <% end %>
@@ -181,56 +181,6 @@ const CardHeader = (props) => {
181
181
  />
182
182
  </Card.Body>
183
183
  </Card>
184
-
185
- <Title
186
- {...props}
187
- marginBottom='sm'
188
- size={4}
189
- tag="h4"
190
- text="Status Colors"
191
- />
192
-
193
- <Card
194
- {...props}
195
- marginBottom='sm'
196
- padding="none"
197
- >
198
- <Card.Header
199
- headerColor="success"
200
- >
201
- <Body
202
- dark
203
- text="Success"
204
- />
205
- </Card.Header>
206
- <Card.Body>
207
- <Body
208
- {...props}
209
- text="Body"
210
- />
211
- </Card.Body>
212
- </Card>
213
-
214
- <Card
215
- {...props}
216
- marginBottom='sm'
217
- padding="none"
218
- >
219
- <Card.Header
220
- headerColor="error"
221
- >
222
- <Body
223
- dark
224
- text="Error"
225
- />
226
- </Card.Header>
227
- <Card.Body>
228
- <Body
229
- {...props}
230
- text="Body"
231
- />
232
- </Card.Body>
233
- </Card>
234
184
  </>
235
185
  )
236
186
  }
@@ -1 +1 @@
1
- Card headers pass category, product, status and background colors only. List of all category, product, status and background colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines/colors" target="_blank">here</a>.
1
+ Card headers pass category, product, and background colors only. List of all category, product, and background colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines/colors" target="_blank">here</a>.
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect, useCallback, useRef } from 'react'
2
- import { useDropzone, DropzoneInputProps, DropzoneRootProps } from 'react-dropzone'
2
+ import { useDropzone, DropzoneInputProps, DropzoneRootProps, FileRejection } from 'react-dropzone'
3
3
  import classnames from 'classnames'
4
4
 
5
5
  import { buildCss, buildDataProps, noop, buildHtmlProps } from '../utilities/props'
@@ -9,8 +9,10 @@ import type { Callback } from '../types'
9
9
  import Body from '../pb_body/_body'
10
10
  import Card from '../pb_card/_card'
11
11
 
12
+ import { isEmpty } from '../utilities/object'
13
+
12
14
  type FileUploadProps = {
13
- accept?: string[],
15
+ accept?: Record<string, string[]>,
14
16
  className?: string,
15
17
  customMessage?: string,
16
18
  dark?: boolean,
@@ -19,7 +21,7 @@ type FileUploadProps = {
19
21
  acceptedFilesDescription?: string,
20
22
  maxSize?: number,
21
23
  onFilesAccepted: Callback<File, File>,
22
- onFilesRejected: (error: string, files: File[]) => void,
24
+ onFilesRejected: (error: string, files: readonly FileRejection[]) => void,
23
25
  }
24
26
 
25
27
  const getFormattedFileSize = (fileSize: number): string => {
@@ -28,7 +30,7 @@ const getFormattedFileSize = (fileSize: number): string => {
28
30
 
29
31
  const FileUpload = (props: FileUploadProps): React.ReactElement => {
30
32
  const {
31
- accept = null,
33
+ accept = {},
32
34
  acceptedFilesDescription = '',
33
35
  className,
34
36
  customMessage,
@@ -48,30 +50,37 @@ const FileUpload = (props: FileUploadProps): React.ReactElement => {
48
50
  getRootProps: () => DropzoneRootProps & any;
49
51
  getInputProps: () => DropzoneInputProps & any;
50
52
  isDragActive: boolean;
51
- rejectedFiles: File[];
53
+ fileRejections: readonly FileRejection[];
52
54
  }
53
55
 
54
- const { getRootProps, getInputProps, isDragActive, rejectedFiles }: DropZoneProps = useDropzone({
56
+ const { getRootProps, getInputProps, isDragActive, fileRejections }: DropZoneProps = useDropzone({
55
57
  accept,
56
58
  maxSize,
57
59
  onDrop,
58
60
  })
59
61
 
60
- const prevRejected = useRef<File[] | null>(null);
62
+ const prevRejected = useRef<readonly FileRejection[] | null>(null);
61
63
 
62
- const maxFileSizeText = `Max file size is ${getFormattedFileSize(maxSize)}.`
64
+ let maxFileSizeText = ''
65
+ if (maxSize !== undefined) {
66
+ maxFileSizeText = `Max file size is ${getFormattedFileSize(maxSize)}.`
67
+ }
63
68
 
64
69
  useEffect(() => {
65
- if (rejectedFiles === prevRejected.current) return
66
- const isFileTooLarge = maxSize && rejectedFiles.length > 0 && rejectedFiles[0].size > maxSize;
70
+ if (fileRejections === prevRejected.current) return
71
+ const isFileTooLarge = maxSize && fileRejections.length > 0 && fileRejections[0].file.size > maxSize;
67
72
  if (isFileTooLarge) {
68
- onFilesRejected(`File size is too large! ${maxFileSizeText}`, rejectedFiles)
73
+ onFilesRejected(`File size is too large! ${maxFileSizeText}`, fileRejections)
69
74
  }
70
- prevRejected.current = rejectedFiles
71
- }, [maxFileSizeText, maxSize, onFilesRejected, rejectedFiles])
75
+ prevRejected.current = fileRejections
76
+ }, [maxFileSizeText, maxSize, onFilesRejected, fileRejections])
72
77
 
73
78
  const acceptedFileTypes = () => {
74
- return accept.map((fileType) => {
79
+ if (!accept) {
80
+ return []
81
+ }
82
+
83
+ return Object.keys(accept).map((fileType) => {
75
84
  if (fileType.startsWith('image/')) {
76
85
  return fileType.replace('image/', ' ')
77
86
  } else {
@@ -86,7 +95,7 @@ const FileUpload = (props: FileUploadProps): React.ReactElement => {
86
95
  const getDescription = () => {
87
96
  return customMessage
88
97
  ? customMessage
89
- : `Choose a file or drag it here.${accept === null ? '' : ` The accepted file types are: ${acceptedFilesDescription || acceptedFileTypes()}.`}${maxSize ? ` ${maxFileSizeText}` : ''}`;
98
+ : `Choose a file or drag it here.${isEmpty(accept) ? '' : ` The accepted file types are: ${acceptedFilesDescription || acceptedFileTypes()}.`}${maxSize ? ` ${maxFileSizeText}` : ''}`;
90
99
  }
91
100
 
92
101
  return (
@@ -28,7 +28,9 @@ const FileUploadAccept = (props) => {
28
28
  {...props}
29
29
  />
30
30
  <FileUpload
31
- accept={['image/svg+xml']}
31
+ accept={{
32
+ "image/svg+xml": [".svg", ".xml"],
33
+ }}
32
34
  onFilesAccepted={handleOnFilesAccepted}
33
35
  {...props}
34
36
  />
@@ -25,7 +25,10 @@ const FileUploadCustomDescription = (props) => {
25
25
  {...props}
26
26
  />
27
27
  <FileUpload
28
- accept={['application/pdf','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']}
28
+ accept={{
29
+ "application/pdf": [".pdf"],
30
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": [".xlsx"],
31
+ }}
29
32
  acceptedFilesDescription="Adobe (.pdf) and Microsoft (.xslx)"
30
33
  onFilesAccepted={handleOnFilesAccepted}
31
34
  {...props}
@@ -18,7 +18,7 @@ const AcceptedFilesList = ({ files }) => (
18
18
  const RejectedFilesList = ({ files }) => (
19
19
  <List>
20
20
  {files.map((file) => (
21
- <ListItem key={file.name}><Body color="error">{`${file.name} (file too large)`}</Body></ListItem>
21
+ <ListItem key={file.file.name}><Body color="error">{`${file.file.name} (file too large)`}</Body></ListItem>
22
22
  ))}
23
23
  </List>
24
24
  )
@@ -1,6 +1,3 @@
1
- @import "../tokens/spacing";
2
- @import "./error_state_mixin";
3
-
4
1
  [class^=pb_form_group_kit] {
5
2
  display: inline-flex;
6
3
  flex-direction: row;
@@ -15,12 +12,6 @@
15
12
  }
16
13
  }
17
14
 
18
- @include error-state-flex-start-selectors;
19
- @include error-state-center-selectors;
20
- @include error-state-flex-end-selectors;
21
- @include error-state-left-side-select-kit;
22
- @include error-state-right-side-select-kit;
23
-
24
15
  & [class^=pb_text_input_kit] .text_input_wrapper,
25
16
  & [class^=pb_date_picker_kit] .input_wrapper,
26
17
  & [class^=pb_select] {
@@ -36,7 +27,7 @@
36
27
  border-bottom-right-radius: 0;
37
28
  border-top-right-radius: 0;
38
29
  border-right-width: 0;
39
-
30
+
40
31
  &:focus {
41
32
  outline: $primary solid 1px;
42
33
  outline-offset: -1px;
@@ -159,7 +150,7 @@
159
150
  & > [class^=pb_selectable_card_kit] input[type="checkbox"]:not(:checked) ~ label, [class^=pb_selectable_card_kit] input[type="radio"]:not(:checked) ~ label {
160
151
  &:hover {
161
152
  border-right-color: $slate;
162
- }
153
+ }
163
154
  }
164
155
 
165
156
  & > [class^=pb_selectable_card_kit]:not(:first-child) label {
@@ -1,33 +1,12 @@
1
- @import "../tokens/colors";
2
-
3
1
  [class^=pb_gauge_kit] {
4
2
 
5
- .fix {
6
- fill: $text_lt_default;
7
- stroke: none;
8
-
9
- &[class*=dark] {
10
- fill: $text_dk_default;
11
- }
12
- }
13
-
14
3
  .suffix {
15
4
  fill: $text_lt_light;
16
- stroke: none;
17
5
  font: $regular $font_larger $font_family_base;
18
-
19
- &[class*=dark] {
20
- fill: $text_dk_light;
21
- }
22
6
  }
23
7
  .prefix {
24
8
  fill: $text_lt_light;
25
- stroke: none;
26
9
  font: $regular $font_base $font_family_base;
27
-
28
- &[class*=dark] {
29
- fill: $text_dk_light;
30
- }
31
10
  }
32
11
 
33
12
  rect.highcharts-background {
@@ -37,13 +16,4 @@
37
16
  .gauge-pane {
38
17
  stroke-linejoin: round;
39
18
  }
40
-
41
- &[class*=dark] {
42
- color: $text_dk_default;
43
-
44
- .pb_title_kit_size_1,
45
- .pb_caption_kit_xs {
46
- color: $text_dk_light;
47
- }
48
- }
49
- }
19
+ }
@@ -164,9 +164,9 @@ const Gauge = ({
164
164
  color: defaultColors.text_lt_default,
165
165
  enabled: true,
166
166
  format:
167
- `<span class="prefix${dark ? " dark" : ""}">${prefix}</span>` +
168
- `<span class="fix${dark ? " dark" : ""}">{y:,f}</span>` +
169
- `<span class="suffix${dark ? " dark" : ""}">${suffix}</span>`,
167
+ `<span class="prefix">${prefix}</span>` +
168
+ '<span class="fix">{y:,f}</span>' +
169
+ `<span class="suffix">${suffix}</span>`,
170
170
  style: {
171
171
  fontFamily: typography.font_family_base,
172
172
  fontWeight: typography.regular,