playbook_ui 14.4.0.pre.alpha.PLAY1529removefaeasy3900 → 14.4.0.pre.alpha.PLAY1546highchartsbump3822

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/SortIconButton.tsx +4 -23
  3. data/app/pb_kits/playbook/pb_button/_button.tsx +2 -6
  4. data/app/pb_kits/playbook/pb_contact/_contact.tsx +5 -17
  5. data/app/pb_kits/playbook/pb_contact/contact.html.erb +6 -14
  6. data/app/pb_kits/playbook/pb_contact/contact.rb +0 -4
  7. data/app/pb_kits/playbook/pb_contact/contact.test.js +1 -1
  8. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +3 -4
  9. data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +1 -1
  10. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +0 -4
  11. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +3 -6
  12. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_inline.html.erb +1 -1
  13. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_header_styles.scss +2 -6
  14. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +0 -2
  15. data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +1 -1
  16. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +2 -10
  17. data/app/pb_kits/playbook/pb_filter/docs/_filter_max_height.html.erb +1 -5
  18. data/app/pb_kits/playbook/pb_filter/docs/_filter_max_width.html.erb +1 -5
  19. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.html.erb +1 -5
  20. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_sort.html.erb +1 -5
  21. data/app/pb_kits/playbook/pb_filter/docs/_filter_only.html.erb +1 -5
  22. data/app/pb_kits/playbook/pb_filter/docs/_filter_placement.html.erb +1 -5
  23. data/app/pb_kits/playbook/pb_filter/docs/_filter_single.html.erb +1 -5
  24. data/app/pb_kits/playbook/pb_map/_map_controls.tsx +1 -7
  25. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +4 -15
  26. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_page_change.jsx +1 -12
  27. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_page_change_react.md +1 -3
  28. data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +2 -10
  29. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.html.erb +13 -14
  30. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +4 -4
  31. data/app/pb_kits/playbook/pb_radio/_radio.tsx +33 -92
  32. data/app/pb_kits/playbook/pb_radio/docs/example.yml +0 -1
  33. data/app/pb_kits/playbook/pb_radio/docs/index.js +0 -1
  34. data/app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarDropdown.tsx +5 -12
  35. data/app/pb_kits/playbook/pb_select/_select.tsx +2 -5
  36. data/app/pb_kits/playbook/pb_select/select.html.erb +1 -1
  37. data/app/pb_kits/playbook/pb_select/select.rb +0 -4
  38. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +1 -0
  39. data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +13 -17
  40. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +1 -0
  41. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +0 -14
  42. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +0 -3
  43. data/app/pb_kits/playbook/pb_typeahead/components/Control.tsx +5 -6
  44. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -2
  45. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +0 -1
  46. data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +1 -2
  47. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +1 -6
  48. data/app/pb_kits/playbook/utilities/icons/allicons.tsx +13 -136
  49. data/dist/chunks/_typeahead-D7A7UtDj.js +22 -0
  50. data/dist/chunks/_weekday_stacked-cRBjVQjA.js +45 -0
  51. data/dist/chunks/lib-D2U4I1U6.js +16 -0
  52. data/dist/chunks/{pb_form_validation-D9zkwt2b.js → pb_form_validation-zV9OpdSt.js} +1 -1
  53. data/dist/chunks/vendor.js +1 -1
  54. data/dist/playbook-doc.js +1 -1
  55. data/dist/playbook-rails-react-bindings.js +1 -1
  56. data/dist/playbook-rails.js +1 -1
  57. data/dist/playbook.css +1 -1
  58. data/lib/playbook/pagination_renderer.rb +2 -10
  59. data/lib/playbook/version.rb +1 -1
  60. metadata +6 -11
  61. data/app/pb_kits/playbook/pb_radio/docs/_radio_custom_children.jsx +0 -59
  62. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_margin_bottom.html.erb +0 -88
  63. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_margin_bottom.jsx +0 -60
  64. data/app/pb_kits/playbook/utilities/icons/angle-down.svg +0 -3
  65. data/app/pb_kits/playbook/utilities/icons/envelope.svg +0 -3
  66. data/dist/chunks/_typeahead-DnWoIeq6.js +0 -22
  67. data/dist/chunks/_weekday_stacked-C5Ls9JLc.js +0 -45
  68. data/dist/chunks/lib-CEpcaI8y.js +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: daa69bf76ff90f75d1d1d7878399ac427ad72967559164f6690c483a9d2f9063
4
- data.tar.gz: 5947313b00c26ed61cf12e4c57ba2548ae879514608e1fbb36f83717b2a26608
3
+ metadata.gz: 6bd72cfd66776d778ac938b9a8ec226a1602efc6e7bc5866784d2482987d62c7
4
+ data.tar.gz: cca369aa47b32f074ee1fe1f79a2a40a39f2aad530281f075aaf9ff4e77141b4
5
5
  SHA512:
6
- metadata.gz: 46b261d11549358667e5add1185823ddc13006d05aa4700f4ed819bb55a1ed9a92876e38a89e3fbd263ebf342fd5b2684eab8d06b51bc79ac4b836b10da498c8
7
- data.tar.gz: 21f26ae6fc6bed185f7b48577bc0611820b93caf06b1b45b90bbce8e355a3edadfc3e1de746e808baccee7984c9e08c1e7adcfa9cd6b130299826ff0f7a6b352
6
+ metadata.gz: 2479effd762ab25da0d9613c637e8ee745b8fdb3c58d2e8e078ef356380eecdf15d625b4b97f03d9fd60458365328d4f1eecf81ad5f801c36281e7c0772fb4e4
7
+ data.tar.gz: c7d558d46052c0ebdccc46edafe1b3ace9e259dd242b2aaaaafa602639a2309302edf5f50e08e0f35551dc0c168d61720a396b6fa2ac0509cb60ab04f2dcb9d6
@@ -4,7 +4,6 @@ import { Header } from "@tanstack/react-table"
4
4
  import { GenericObject } from "../../types"
5
5
 
6
6
  import Icon from "../../pb_icon/_icon"
7
- import { getAllIcons } from "../../utilities/icons/allicons"
8
7
 
9
8
  import { displayIcon } from "../Utilities/IconHelpers"
10
9
 
@@ -12,39 +11,21 @@ type SortIconButtonProps = {
12
11
  header: Header<GenericObject, unknown>
13
12
  sortIcon?: string | string[]
14
13
  }
15
-
16
14
  export const SortIconButton = ({ header, sortIcon }: SortIconButtonProps) => {
17
15
 
18
- const firstIcon = displayIcon(sortIcon)[0]
19
- const secondIcon = displayIcon(sortIcon)[1]
20
- const upIcon = getAllIcons()["arrowUpShortWide"].icon as unknown as { [key: string]: SVGElement }
21
- const downIcon = getAllIcons()["arrowDownShortWide"].icon as unknown as { [key: string]: SVGElement }
22
-
23
16
  return (
24
17
  <>
25
18
  {header.column.getIsSorted() === "desc" ? (
26
19
  <div className="sort-button-icon"
27
- key={firstIcon}
20
+ key={displayIcon(sortIcon)[0]}
28
21
  >
29
- { firstIcon === "arrow-up-short-wide" ? (
30
- <Icon
31
- className="svg-inline--fa"
32
- customIcon={upIcon}
33
- /> ) : (
34
- <Icon icon={firstIcon} />
35
- )}
22
+ <Icon icon={displayIcon(sortIcon)[0]} />
36
23
  </div>
37
24
  ) : (
38
25
  <div className="sort-button-icon"
39
- key={secondIcon}
26
+ key={displayIcon(sortIcon)[1]}
40
27
  >
41
- { secondIcon === "arrow-down-short-wide" ? (
42
- <Icon
43
- className="svg-inline--fa"
44
- customIcon={downIcon}
45
- /> ) : (
46
- <Icon icon={secondIcon} />
47
- )}
28
+ <Icon icon={displayIcon(sortIcon)[1]} />
48
29
  </div>
49
30
  )}
50
31
  </>
@@ -116,15 +116,11 @@ const Button = (props: ButtonPropTypes): React.ReactElement => {
116
116
  const content = (
117
117
  <span className="pb_button_content">
118
118
  {icon && !iconRight && (
119
- <Icon className='button_with_icon'
120
- icon={icon}
121
- />
119
+ <i className={`pb_icon_kit far fa-${icon} fa-fw button_with_icon`} />
122
120
  )}
123
121
  <span>{text || children}</span>
124
122
  {icon && iconRight && (
125
- <Icon className='button_with_icon_right'
126
- icon={icon}
127
- />
123
+ <i className={`pb_icon_kit far fa-${icon} fa-fw button_with_icon_right`} />
128
124
  )}
129
125
  </span>
130
126
  )
@@ -7,7 +7,6 @@ import { globalProps } from '../utilities/globalProps'
7
7
  import Body from '../pb_body/_body'
8
8
  import Caption from '../pb_caption/_caption'
9
9
  import Icon from '../pb_icon/_icon'
10
- import { getAllIcons } from "../utilities/icons/allicons"
11
10
 
12
11
  const contactTypeMap: { [key: string]: string } = {
13
12
  'cell': 'mobile',
@@ -19,8 +18,6 @@ const contactTypeMap: { [key: string]: string } = {
19
18
  'wrong-phone': 'phone-slash',
20
19
  }
21
20
 
22
- const envelopeIcon = getAllIcons()["envelope"].icon as unknown as { [key: string]: SVGElement }
23
-
24
21
  const formatContact = (contactString: string, contactType: string) => {
25
22
  if (contactType === 'email') return contactString
26
23
 
@@ -94,20 +91,11 @@ const Contact = (props: ContactProps): React.ReactElement => {
94
91
  dark={dark}
95
92
  tag="span"
96
93
  >
97
- {contactType === 'email' ? (
98
- <Icon
99
- className="svg-inline--fa envelope"
100
- customIcon={envelopeIcon}
101
- dark={dark}
102
- fixedWidth
103
- />
104
- ) : (
105
- <Icon
106
- dark={dark}
107
- fixedWidth
108
- icon={contactTypeMap[contactType] || 'phone'}
109
- />
110
- )}
94
+ <Icon
95
+ dark={dark}
96
+ fixedWidth
97
+ icon={contactTypeMap[contactType] || 'phone'}
98
+ />
111
99
  {` ${formatContact(contactValue, contactType)} `}
112
100
  {contactDetail && (
113
101
  <Caption
@@ -4,20 +4,12 @@
4
4
  classname: "pb_contact_kit",
5
5
  color: "light",
6
6
  dark: object.dark
7
- }) do %>
8
- <% if contact_type == "email" %>
9
- <%= pb_rails("icon", props: {
10
- custom_icon: Playbook::Engine::root.join(envelope_path),
11
- fixed_width: true,
12
- dark: object.dark
13
- }) %>
14
- <% else %>
15
- <%= pb_rails("icon", props: {
16
- icon: object.contact_icon,
17
- fixed_width: true,
18
- dark: object.dark
19
- }) %>
20
- <% end %>
7
+ }) do %>
8
+ <%= pb_rails("icon", props: {
9
+ icon: object.contact_icon,
10
+ fixed_width: true,
11
+ dark: object.dark
12
+ }) %>
21
13
  <%= object.formatted_contact_value if object.contact_value %>
22
14
 
23
15
  <%= pb_rails("caption", props: {
@@ -44,10 +44,6 @@ module Playbook
44
44
  end
45
45
  end
46
46
 
47
- def envelope_path
48
- "app/pb_kits/playbook/utilities/icons/envelope.svg"
49
- end
50
-
51
47
  private
52
48
 
53
49
  def formatted_value
@@ -79,7 +79,7 @@ test('returns correct icon', () => {
79
79
  expect(screen.getByTestId('test-home').querySelector('.pb_icon_kit')).toHaveClass('fa-phone')
80
80
  expect(screen.getByTestId('test-work').querySelector('.pb_icon_kit')).toHaveClass('fa-phone-office')
81
81
  expect(screen.getByTestId('test-work-cell').querySelector('.pb_icon_kit')).toHaveClass('fa-phone-laptop')
82
- expect(screen.getByTestId('test-email').querySelector('.pb_custom_icon')).toHaveClass('envelope')
82
+ expect(screen.getByTestId('test-email').querySelector('.pb_icon_kit')).toHaveClass('fa-envelope')
83
83
  expect(screen.getByTestId('test-wrong-phone').querySelector('.pb_icon_kit')).toHaveClass('fa-phone-slash')
84
84
  expect(screen.getByTestId('test-wrong-type').querySelector('.pb_icon_kit')).toHaveClass('fa-phone')
85
85
  expect(screen.getByTestId('test-extension').querySelector('.pb_icon_kit')).toHaveClass('fa-phone-plus')
@@ -3,7 +3,6 @@ import classnames from 'classnames'
3
3
 
4
4
  import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
5
5
  import { deprecatedProps, globalProps, GlobalProps } from '../utilities/globalProps'
6
- import { getAllIcons } from "../utilities/icons/allicons"
7
6
 
8
7
  import datePickerHelper from './date_picker_helper'
9
8
  import Icon from '../pb_icon/_icon'
@@ -162,7 +161,7 @@ useEffect(() => {
162
161
  }
163
162
  return base
164
163
  }
165
- const angleDown = getAllIcons()["angleDown"].icon as unknown as { [key: string]: SVGElement }
164
+
166
165
 
167
166
  return (
168
167
  <div
@@ -232,8 +231,8 @@ useEffect(() => {
232
231
  id={`${pickerId}-angle-down`}
233
232
  >
234
233
  <Icon
235
- className="angle_down_icon svg-inline--fa"
236
- customIcon={angleDown}
234
+ className="angle_down_icon"
235
+ icon="angle-down"
237
236
  />
238
237
  </div>
239
238
  </div>
@@ -61,7 +61,7 @@
61
61
  >
62
62
  <%= pb_rails("icon", props: {
63
63
  classname: "angle_down_icon",
64
- custom_icon: Playbook::Engine::root.join(angle_down_path)
64
+ icon: "angle-down"
65
65
  }) %>
66
66
  </div>
67
67
  <% end %>
@@ -118,10 +118,6 @@ module Playbook
118
118
  class_string += error_class
119
119
  class_string
120
120
  end
121
-
122
- def angle_down_path
123
- "app/pb_kits/playbook/utilities/icons/angle-down.svg"
124
- end
125
121
  end
126
122
  end
127
123
  end
@@ -5,9 +5,6 @@ import monthSelectPlugin from 'flatpickr/dist/plugins/monthSelect'
5
5
  import weekSelect from "flatpickr/dist/plugins/weekSelect/weekSelect"
6
6
  import timeSelectPlugin from './plugins/timeSelect'
7
7
  import quickPickPlugin from './plugins/quickPick'
8
- import { getAllIcons } from '../utilities/icons/allicons';
9
-
10
- const angleDown = getAllIcons().angleDown.string
11
8
 
12
9
  const getPositionElement = (element: string | Element) => {
13
10
  return (typeof element === 'string') ? document.querySelectorAll(element)[0] : element
@@ -259,10 +256,10 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
259
256
  })
260
257
  }
261
258
 
262
- // Adding dropdown icons to year and month select
263
- dropdown.insertAdjacentHTML('afterend', `<i class="year-dropdown-icon">${angleDown}</i>`)
259
+ // Adding dropdown icons to year and month selects
260
+ dropdown.insertAdjacentHTML('afterend', '<i class="far fa-angle-down year-dropdown-icon" id="test-id"></i>')
264
261
  if (picker.monthElements[0].parentElement) {
265
- return picker.monthElements[0].insertAdjacentHTML('afterend', `<i class="month-dropdown-icon">${angleDown}</i>`)}
262
+ return picker.monthElements[0].insertAdjacentHTML('afterend', '<i class="far fa-angle-down month-dropdown-icon"></i>')}
266
263
  // if (picker.weekElements[0].parentElement){
267
264
  // return picker.weekElements[0].insertAdjacentHTML('afterend', '<i class="far fa-angle-down year-dropdown-icon" id="test-id"></i>')
268
265
  // }
@@ -14,4 +14,4 @@
14
14
  }
15
15
  fpInline.config.onChange.push(showAngleDownHandler)
16
16
  })
17
- <% end %>
17
+ <% end %>
@@ -76,11 +76,7 @@
76
76
  pointer-events: none;
77
77
  color: $text_lt_light;
78
78
  }
79
- .year-dropdown-icon svg, .month-dropdown-icon svg {
80
- width: 16px;
81
- margin-top: 6px;
82
- margin-left: -2px;
83
- }
79
+
84
80
  // Left - Right Arrow Styling
85
81
  .flatpickr-prev-month {
86
82
  display: flex;
@@ -117,4 +113,4 @@
117
113
  }
118
114
  }
119
115
  }
120
- }
116
+ }
@@ -187,8 +187,6 @@
187
187
 
188
188
  &_close_icon {
189
189
  cursor: pointer;
190
- font-size: $font_base;
191
- line-height: $lh_normal;
192
190
  }
193
191
 
194
192
  &_overlay {
@@ -2,7 +2,7 @@
2
2
  <%= pb_rails("flex", props: {classname:object.classname, spacing:"between", padding:"sm", align:"center"}) do %>
3
3
  <%= content.presence || object.title %>
4
4
 
5
- <button class="dialog-button-class pb_dialog_close_icon" type="button" data-close-dialog= <%= object.id %> >
5
+ <button class="dialog-button-class" type="button" data-close-dialog= <%= object.id %> >
6
6
  <%= pb_rails("icon", props: { custom_icon: Playbook::Engine::root.join(times_icon) }) %>
7
7
  </button>
8
8
  <% end %>
@@ -30,11 +30,7 @@
30
30
  <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
31
31
 
32
32
  <%= form.actions do |action| %>
33
- <%= action.submit props: {
34
- text: "Apply",
35
- data: {
36
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
37
- },}%>
33
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
38
34
  <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
39
35
  <% end %>
40
36
  <% end %>
@@ -68,11 +64,7 @@
68
64
  <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
69
65
 
70
66
  <%= form.actions do |action| %>
71
- <%= action.submit props: {
72
- text: "Apply",
73
- data: {
74
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
75
- },}%>
67
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
76
68
  <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
77
69
  <% end %>
78
70
  <% end %>
@@ -35,11 +35,7 @@
35
35
  <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: {max_width: "sm", label: true } %>
36
36
 
37
37
  <%= form.actions do |action| %>
38
- <%= action.submit props: {
39
- text: "Apply",
40
- data: {
41
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
42
- },}%>
38
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
43
39
  <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
44
40
  <% end %>
45
41
  <% end %>
@@ -30,11 +30,7 @@
30
30
  <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: {max_width: "sm", label: true } %>
31
31
 
32
32
  <%= form.actions do |action| %>
33
- <%= action.submit props: {
34
- text: "Apply",
35
- data: {
36
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
37
- },}%>
33
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
38
34
  <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
39
35
  <% end %>
40
36
  <% end %>
@@ -69,11 +69,7 @@
69
69
  <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
70
70
 
71
71
  <%= form.actions do |action| %>
72
- <%= action.submit props: {
73
- text: "Apply",
74
- data: {
75
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
76
- },}%>
72
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
77
73
  <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
78
74
  <% end %>
79
75
  <% end %>
@@ -24,11 +24,7 @@
24
24
  <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
25
25
 
26
26
  <%= form.actions do |action| %>
27
- <%= action.submit props: {
28
- text: "Apply",
29
- data: {
30
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
31
- },}%>
27
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
32
28
  <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
33
29
  <% end %>
34
30
  <% end %>
@@ -22,11 +22,7 @@
22
22
  <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
23
23
 
24
24
  <%= form.actions do |action| %>
25
- <%= action.submit props: {
26
- text: "Apply",
27
- data: {
28
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
29
- },}%>
25
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
30
26
  <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
31
27
  <% end %>
32
28
  <% end %>
@@ -23,11 +23,7 @@
23
23
  <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
24
24
 
25
25
  <%= form.actions do |action| %>
26
- <%= action.submit props: {
27
- text: "Apply",
28
- data: {
29
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
30
- },}%>
26
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
31
27
  <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
32
28
  <% end %>
33
29
  <% end %>
@@ -29,11 +29,7 @@
29
29
  <%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true } %>
30
30
 
31
31
  <%= form.actions do |action| %>
32
- <%= action.submit props: {
33
- text: "Apply",
34
- data: {
35
- disable_with: "pb_rails('icon', props: { icon: 'spinner', spin: true, fixed_width: true })Searching...".html_safe
36
- },}%>
32
+ <%= action.submit props: { text: "Apply", data: { disable_with: "<i class='far fa-spinner fa-spin mr-3'></i>Searching...".html_safe },}%>
37
33
  <%= action.button props: { type: "reset", text: "Clear", variant: "secondary" } %>
38
34
  <% end %>
39
35
  <% end %>
@@ -2,7 +2,6 @@ import React from "react";
2
2
  import Button from "../pb_button/_button";
3
3
  import Icon from "../pb_icon/_icon";
4
4
  import Flex from "../pb_flex/_flex";
5
- import { getAllIcons } from "../utilities/icons/allicons"
6
5
 
7
6
  type MapControlTypes = {
8
7
  zoomBtns?: boolean,
@@ -13,8 +12,6 @@ type MapControlTypes = {
13
12
  children?: React.ReactNode | React.ReactNode[]
14
13
  }
15
14
 
16
- const eyeIcon = getAllIcons()["eye"]
17
-
18
15
  const MapControls = ({
19
16
  zoomBtns,
20
17
  zoomInClick,
@@ -45,10 +42,7 @@ const MapControls = ({
45
42
  <Button className="map-flyto-button"
46
43
  onClick={flyToClick}
47
44
  >
48
- <Icon
49
- className="svg-inline--fa"
50
- customIcon={eyeIcon.icon as unknown as { [key: string]: SVGElement }}
51
- />
45
+ <Icon icon="eye" />
52
46
  </Button>
53
47
  ) : null}
54
48
  </>
@@ -88,9 +88,6 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
88
88
  item: []
89
89
  })
90
90
 
91
- const arrowDownElementId = `arrow_down_${id}`
92
- const arrowUpElementId = `arrow_up_${id}`
93
-
94
91
  const modifyRecursive = (tree: { [key: string]: any }[], check: boolean) => {
95
92
  if (!Array.isArray(tree)) {
96
93
  return
@@ -176,12 +173,7 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
176
173
  useEffect(() => {
177
174
  // Function to handle clicks outside the dropdown
178
175
  const handleClickOutside = (event: any) => {
179
- if (
180
- dropdownRef.current &&
181
- !dropdownRef.current.contains(event.target) &&
182
- event.target.id !== arrowDownElementId &&
183
- event.target.id !== arrowUpElementId
184
- ) {
176
+ if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
185
177
  setIsDropdownClosed(true)
186
178
  }
187
179
  }
@@ -268,6 +260,7 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
268
260
 
269
261
  // Handle click on input wrapper(entire div with pills, typeahead, etc) so it doesn't close when input or form pill is clicked
270
262
  const handleInputWrapperClick = (e: any) => {
263
+ e.stopPropagation()
271
264
  if (
272
265
  e.target.id === "multiselect_input" ||
273
266
  e.target.classList.contains("pb_form_pill_tag")
@@ -525,20 +518,16 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
525
518
  </div>
526
519
 
527
520
  {isDropdownClosed ? (
528
- <div id={arrowDownElementId}
529
- key="chevron-down">
521
+ <div key="chevron-down">
530
522
  <Icon
531
523
  icon="chevron-down"
532
- id={arrowDownElementId}
533
524
  size="xs"
534
525
  />
535
526
  </div>
536
527
  ) : (
537
- <div id={arrowUpElementId}
538
- key="chevron-up">
528
+ <div key="chevron-up">
539
529
  <Icon
540
530
  icon="chevron-up"
541
- id={arrowUpElementId}
542
531
  size="xs"
543
532
  />
544
533
  </div>
@@ -22,16 +22,6 @@ const PaginationPageChange = (props) => {
22
22
 
23
23
  return (
24
24
  <div className="App">
25
- <Pagination
26
- current={activePage}
27
- key={`pagination-top-${activePage}`}
28
- marginBottom="xs"
29
- onChange={onPageChange}
30
- range={5}
31
- total={totalPages}
32
- {...props}
33
- />
34
-
35
25
  <Table
36
26
  marginBottom="xs"
37
27
  responsive="none"
@@ -59,8 +49,7 @@ const PaginationPageChange = (props) => {
59
49
  </Table>
60
50
 
61
51
  <Pagination
62
- current={activePage}
63
- key={`pagination-bottom-${activePage}`}
52
+ current={1}
64
53
  onChange={onPageChange}
65
54
  range={5}
66
55
  total={totalPages}
@@ -1,3 +1 @@
1
- You can use the `onChange` prop to control the data of your table. This prop is callback function that will allow you control the state.
2
-
3
- To ensure synchronization between multiple pagination components on a single page, use unique, dynamic keys for each pagination instance. Each Pagination component should have its own dynamic key that reflects the current active page: this example uses `pagination-top-${activePage}` and `pagination-bottom-${activePage}`.
1
+ You can use the `onChange` prop to control the data of your table. This prop is callback function that will allow you control the state.
@@ -12,7 +12,6 @@ import Icon from '../pb_icon/_icon'
12
12
  import PbReactPopover from '../pb_popover/_popover'
13
13
  import TextInput from '../pb_text_input/_text_input'
14
14
  import { GenericObject } from "../types"
15
- import { getAllIcons } from "../utilities/icons/allicons"
16
15
 
17
16
  type PassphraseProps = {
18
17
  aria?: { [key: string]: string },
@@ -97,9 +96,6 @@ const Passphrase = (props: PassphraseProps): React.ReactElement => {
97
96
  />
98
97
  )
99
98
 
100
- const shieldIcon = getAllIcons()["shieldCheck"]
101
- const eyeIcon = getAllIcons()["eye"]
102
-
103
99
  return (
104
100
  <div
105
101
  {...ariaProps}
@@ -139,8 +135,7 @@ const Passphrase = (props: PassphraseProps): React.ReactElement => {
139
135
  size="xs"
140
136
  >
141
137
  <Icon
142
- className="svg-inline--fa"
143
- customIcon={shieldIcon.icon as unknown as { [key: string]: SVGElement }}
138
+ icon="shield-check"
144
139
  marginRight="xs"
145
140
  />
146
141
  {tip}
@@ -178,10 +173,7 @@ const Passphrase = (props: PassphraseProps): React.ReactElement => {
178
173
  color="light"
179
174
  dark={dark}
180
175
  >
181
- <Icon
182
- className="svg-inline--fa"
183
- customIcon={eyeIcon.icon as unknown as { [key: string]: SVGElement }}
184
- />
176
+ <Icon icon="eye" />
185
177
  </Body>
186
178
  </span>
187
179
  </div>
@@ -1,10 +1,8 @@
1
1
  <%= pb_rails("button", props: { variant: "secondary", id: 'list' }) do %>
2
2
  <%= pb_rails("flex", props: {align: "center"}) do %>
3
- Filter By
3
+ Filter By
4
4
  <%= pb_rails("flex/flex_item", props: {margin_left: "xxs"}) do %>
5
- <div id="arrow-icon" style="display: flex">
6
- <%= pb_rails("icon", props: { icon: "chevron-down", fixed_width: true }) %>
7
- </div>
5
+ <div id="arrow-icon" style="display: flex"></div>
8
6
  <% end %>
9
7
  <% end %>
10
8
  <% end %>
@@ -20,17 +18,18 @@
20
18
 
21
19
 
22
20
  <script type="text/javascript">
23
- const popoverButton = document.querySelector("#list")
24
- let buttonClicked = false
21
+ const button = document.querySelector("#list")
22
+ let buttonClicked = false
25
23
 
26
- const arrowDiv = document.querySelector("#arrow-icon")
24
+ const arrowDiv = document.querySelector("#arrow-icon")
25
+ arrowDiv.innerHTML = '<i class="far fa-angle-down"></i>'
27
26
 
28
- popoverButton.onclick = () => {
29
- buttonClicked = !buttonClicked
30
- if (buttonClicked) {
31
- arrowDiv.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="auto" height="auto" viewBox="0 0 31 25" fill="none" class="pb_custom_icon svg-inline--fa pb_icon_kit svg_fw" id="" data="{}" aria="{}" tabindex=""><path d="M14.2031 5.70312C14.625 5.28125 15.3281 5.28125 15.75 5.70312L24.7969 14.7031C25.2188 15.1719 25.2188 15.875 24.7969 16.2969C24.3281 16.7656 23.625 16.7656 23.2031 16.2969L15 8.09375L6.79688 16.2969C6.32812 16.7656 5.625 16.7656 5.20312 16.2969C4.73438 15.875 4.73438 15.1719 5.20312 14.75L14.2031 5.70312Z" fill="currentColor"/></svg>'
32
- } else {
33
- arrowDiv.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="auto" height="auto" viewBox="0 0 31 25" fill="none" class="pb_custom_icon svg-inline--fa pb_icon_kit svg_fw" id="" data="{}" aria="{}" tabindex=""><path d="M14.2031 19.2969L5.20312 10.2969C4.73438 9.875 4.73438 9.17188 5.20312 8.70312C5.625 8.28125 6.32812 8.28125 6.79688 8.70312L15 16.9531L23.2031 8.75C23.625 8.28125 24.3281 8.28125 24.7969 8.75C25.2188 9.17188 25.2188 9.875 24.7969 10.2969L15.75 19.2969C15.3281 19.7656 14.625 19.7656 14.2031 19.2969Z" fill="currentColor"/></svg>'
34
- }
27
+ button.onclick = () => {
28
+ buttonClicked = !buttonClicked
29
+ if (buttonClicked) {
30
+ arrowDiv.innerHTML = '<i class="far fa-angle-up"></i>'
31
+ } else {
32
+ arrowDiv.innerHTML = '<i class="far fa-angle-down"></i>'
35
33
  }
34
+ }
36
35
  </script>
@@ -26,10 +26,10 @@ const PopoverWithButton = (props) => {
26
26
  className={showPopover ? "fa-flip-vertical" : ""}
27
27
  display="inline_flex"
28
28
  >
29
- <Icon
30
- fixedWidth
31
- icon="angle-down"
32
- margin-left="xxs"
29
+ <Icon
30
+ fixedWidth
31
+ icon="angle-down"
32
+ margin-left="xxs"
33
33
  />
34
34
  </Flex>
35
35
  </Flex>