playbook_ui 14.9.0.pre.alpha.PLAY16264952 → 14.9.0.pre.alpha.pbntr700newresettodefaultprop4736

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +17 -61
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -2
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +0 -2
  5. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +3 -5
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +2 -0
  7. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +49 -53
  8. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom_rails.html.erb +36 -29
  9. data/app/pb_kits/playbook/pb_body/_body.scss +13 -14
  10. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +16 -22
  11. data/app/pb_kits/playbook/pb_bread_crumbs/docs/_bread_crumbs_default.jsx +0 -6
  12. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +1 -2
  13. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -1
  14. data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +26 -33
  15. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +6 -7
  16. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +0 -1
  17. data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +4 -9
  18. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.tsx +2 -2
  19. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.tsx +2 -2
  20. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +5 -0
  21. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +10 -0
  22. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +1 -0
  23. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +0 -5
  24. data/app/pb_kits/playbook/pb_file_upload/_file_upload.tsx +2 -7
  25. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +2 -8
  26. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +2 -1
  27. data/app/pb_kits/playbook/pb_link/_link.scss +3 -3
  28. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -11
  29. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +2 -16
  30. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +1 -1
  31. data/app/pb_kits/playbook/pb_pagination/_pagination.tsx +2 -2
  32. data/app/pb_kits/playbook/pb_select/_select.tsx +14 -20
  33. data/app/pb_kits/playbook/pb_select/docs/example.yml +0 -1
  34. data/app/pb_kits/playbook/pb_select/docs/index.js +0 -1
  35. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +4 -4
  36. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.html.erb +1 -1
  37. data/app/pb_kits/playbook/pb_stat_change/_stat_change.tsx +36 -44
  38. data/app/pb_kits/playbook/pb_stat_change/stat_change.html.erb +4 -4
  39. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -5
  40. data/app/pb_kits/playbook/pb_table/docs/index.js +0 -5
  41. data/app/pb_kits/playbook/pb_table/index.ts +26 -100
  42. data/app/pb_kits/playbook/pb_table/styles/_all.scss +1 -2
  43. data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +1 -106
  44. data/app/pb_kits/playbook/pb_table/table.html.erb +1 -1
  45. data/app/pb_kits/playbook/pb_table/table.rb +2 -17
  46. data/app/pb_kits/playbook/pb_title/_title.scss +5 -6
  47. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +0 -13
  48. data/app/pb_kits/playbook/tokens/_titles.scss +8 -0
  49. data/app/pb_kits/playbook/utilities/_hover.scss +2 -11
  50. data/app/pb_kits/playbook/utilities/globalProps.ts +0 -2
  51. data/app/pb_kits/playbook/utilities/test/globalProps/hover.test.js +0 -15
  52. data/dist/chunks/_typeahead-DU1QgR52.js +22 -0
  53. data/dist/chunks/_weekday_stacked-BLOmRNnB.js +45 -0
  54. data/dist/chunks/lib-Ce7MLbJk.js +29 -0
  55. data/dist/chunks/{pb_form_validation-D37k10a0.js → pb_form_validation-kPWA1Z2g.js} +1 -1
  56. data/dist/chunks/vendor.js +1 -1
  57. data/dist/menu.yml +1 -1
  58. data/dist/playbook-doc.js +1 -1
  59. data/dist/playbook-rails-react-bindings.js +1 -1
  60. data/dist/playbook-rails.js +1 -1
  61. data/dist/playbook.css +1 -1
  62. data/lib/playbook/hover.rb +1 -7
  63. data/lib/playbook/version.rb +1 -1
  64. metadata +6 -27
  65. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.jsx +0 -50
  66. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.md +0 -1
  67. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx +0 -57
  68. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.md +0 -5
  69. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_pagination_mock_data.json +0 -5600
  70. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_form.jsx +0 -138
  71. data/app/pb_kits/playbook/pb_select/docs/_select_form.jsx +0 -109
  72. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.html.erb +0 -95
  73. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.jsx +0 -75
  74. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.md +0 -1
  75. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.jsx +0 -108
  76. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.md +0 -2
  77. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.jsx +0 -94
  78. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.md +0 -0
  79. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.jsx +0 -83
  80. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.md +0 -3
  81. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.jsx +0 -120
  82. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.md +0 -1
  83. data/app/pb_kits/playbook/pb_table/styles/_collapsible.scss +0 -35
  84. data/app/pb_kits/playbook/utilities/hookFormProps.ts +0 -22
  85. data/app/pb_kits/playbook/utilities/withReactHookForm.tsx +0 -64
  86. data/dist/chunks/_typeahead-BqHgiHoJ.js +0 -22
  87. data/dist/chunks/_weekday_stacked-BAk0aNPW.js +0 -45
  88. data/dist/chunks/lib-CuCy3_xO.js +0 -29
@@ -1,11 +1,9 @@
1
1
  import React, { useEffect, useRef } from 'react'
2
- import { FieldValues } from 'react-hook-form'
3
2
  import Body from '../pb_body/_body'
4
3
  import Icon from '../pb_icon/_icon'
5
4
  import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
6
5
  import classnames from 'classnames'
7
6
  import { globalProps, GlobalProps } from '../utilities/globalProps'
8
- import { withReactHookForm, WithReactHookFormProps } from '../utilities/withReactHookForm'
9
7
 
10
8
  type CheckboxProps = {
11
9
  aria?: {[key: string]: string},
@@ -15,7 +13,7 @@ type CheckboxProps = {
15
13
  dark?: boolean,
16
14
  data?: {[key: string]: string},
17
15
  disabled?: boolean,
18
- error?: boolean | string,
16
+ error?: boolean,
19
17
  htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
20
18
  id?: string,
21
19
  indeterminate?: boolean,
@@ -26,26 +24,27 @@ type CheckboxProps = {
26
24
  value?: string,
27
25
  } & GlobalProps
28
26
 
29
- const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(({
30
- aria = {},
31
- checked = false,
32
- children,
33
- className,
34
- dark = false,
35
- data = {},
36
- disabled = false,
37
- error = false,
38
- htmlOptions = {},
39
- id,
40
- indeterminate = false,
41
- name = '',
42
- onChange = () => { void 0 },
43
- tabIndex,
44
- text = '',
45
- value = '',
46
- ...props
47
- }, ref) => {
48
- const checkRef = useRef<HTMLInputElement>(null)
27
+ const Checkbox = (props: CheckboxProps): React.ReactElement => {
28
+ const {
29
+ aria = {},
30
+ checked = false,
31
+ children,
32
+ className,
33
+ dark = false,
34
+ data = {},
35
+ disabled = false,
36
+ error = false,
37
+ htmlOptions = {},
38
+ id,
39
+ indeterminate = false,
40
+ name = '',
41
+ onChange = () => { void 0 },
42
+ tabIndex,
43
+ text = '',
44
+ value = '',
45
+ } = props
46
+
47
+ const checkRef = useRef(null)
49
48
  const ariaProps = buildAriaProps(aria)
50
49
  const dataProps = buildDataProps(data)
51
50
  const htmlProps = buildHtmlProps(htmlOptions)
@@ -69,12 +68,11 @@ const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(({
69
68
  else
70
69
  return (
71
70
  <input
72
- {...props}
73
71
  defaultChecked={checked}
74
72
  disabled={disabled}
75
73
  name={name}
76
74
  onChange={onChange}
77
- ref={ref || checkRef}
75
+ ref={checkRef}
78
76
  tabIndex={tabIndex}
79
77
  type="checkbox"
80
78
  value={value}
@@ -114,18 +112,13 @@ const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(({
114
112
  <Body
115
113
  className="pb_checkbox_label"
116
114
  dark={dark}
117
- status={typeof error === 'string' ? 'negative' : null}
115
+ status={error ? 'negative' : null}
118
116
  variant={null}
119
117
  >
120
118
  {text}
121
119
  </Body>
122
120
  </label>
123
121
  )
124
- })
125
-
126
- Checkbox.displayName = 'Checkbox'
127
-
128
- export type CheckboxWithHookFormProps<T extends FieldValues = FieldValues> = CheckboxProps & WithReactHookFormProps<T>
122
+ }
129
123
 
130
- const CheckboxWithHookForm = withReactHookForm(Checkbox)
131
- export default CheckboxWithHookForm
124
+ export default Checkbox
@@ -9,13 +9,12 @@ examples:
9
9
  - checkbox_disabled: Disabled Checkbox
10
10
 
11
11
  react:
12
- - checkbox_default: Default
13
- - checkbox_checked: Load as checked
14
- - checkbox_custom: Custom Checkbox
15
- - checkbox_error: Default w/ Error
16
- - checkbox_indeterminate: Indeterminate Checkbox
17
- - checkbox_disabled: Disabled Checkbox
18
- - checkbox_form: Checkbox Form
12
+ - checkbox_default: Default
13
+ - checkbox_checked: Load as checked
14
+ - checkbox_custom: Custom Checkbox
15
+ - checkbox_error: Default w/ Error
16
+ - checkbox_indeterminate: Indeterminate Checkbox
17
+ - checkbox_disabled: Disabled Checkbox
19
18
 
20
19
  swift:
21
20
  - checkbox_default_swift: Default
@@ -4,4 +4,3 @@ export { default as CheckboxError } from './_checkbox_error.jsx'
4
4
  export { default as CheckboxChecked } from './_checkbox_checked.jsx'
5
5
  export { default as CheckboxIndeterminate } from './_checkbox_indeterminate.jsx'
6
6
  export { default as CheckboxDisabled } from './_checkbox_disabled.jsx'
7
- export { default as CheckboxForm } from './_checkbox_form.jsx'
@@ -2,7 +2,7 @@ import React, { useEffect, ReactElement } from 'react'
2
2
  import classnames from 'classnames'
3
3
  import useCollapsible from './useCollapsible'
4
4
 
5
- import { globalProps, globalInlineProps, GlobalProps } from '../utilities/globalProps'
5
+ import { globalProps, globalInlineProps } from '../utilities/globalProps'
6
6
  import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
7
7
 
8
8
  import CollapsibleContent from './child_kits/CollapsibleContent'
@@ -32,7 +32,6 @@ type CollapsibleProps = {
32
32
  onClick?: ()=> void,
33
33
  htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
34
34
  id?: string,
35
- tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div' | 'tr' | 'th' | 'td' | 'thead' | 'col',
36
35
  }
37
36
 
38
37
  const Collapsible = ({
@@ -48,9 +47,8 @@ const Collapsible = ({
48
47
  onIconClick,
49
48
  onClick,
50
49
  id,
51
- tag = 'div',
52
50
  ...props
53
- }: CollapsibleProps & GlobalProps): React.ReactElement => {
51
+ }: CollapsibleProps): React.ReactElement => {
54
52
  const [isCollapsed, toggle, setIsCollapsed] = useCollapsible(collapsed)
55
53
 
56
54
  useEffect(()=> {
@@ -78,12 +76,9 @@ const Collapsible = ({
78
76
  className
79
77
  )
80
78
  const dynamicInlineProps = globalInlineProps(props)
81
-
82
- const Tag: React.ReactElement | any = `${tag}`;
83
-
84
79
  return (
85
80
  <CollapsibleContext.Provider value={{ collapsed: isCollapsed, toggle, icon, iconSize, iconColor, onIconClick, onClick }}>
86
- <Tag
81
+ <div
87
82
  {...ariaProps}
88
83
  {...dataProps}
89
84
  {...htmlProps}
@@ -101,7 +96,7 @@ const Collapsible = ({
101
96
  <CollapsibleContent {...contentProps}>
102
97
  {contentChildren}
103
98
  </CollapsibleContent>
104
- </Tag>
99
+ </div>
105
100
  </CollapsibleContext.Provider>
106
101
  )
107
102
  }
@@ -1,7 +1,7 @@
1
1
  import classnames from 'classnames'
2
2
  import React, { useContext, useRef, useEffect } from 'react'
3
3
  import { buildCss } from '../../utilities/props'
4
- import { globalProps, GlobalProps } from '../../utilities/globalProps'
4
+ import { globalProps } from '../../utilities/globalProps'
5
5
  import { hideElement, showElement } from '../_helper_functions'
6
6
 
7
7
  import CollapsibleContext from '../context'
@@ -15,7 +15,7 @@ const CollapsibleContent = ({
15
15
  children,
16
16
  className,
17
17
  ...props
18
- }: CollapsibleContentProps & GlobalProps): React.ReactElement => {
18
+ }: CollapsibleContentProps): React.ReactElement => {
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)
@@ -3,7 +3,7 @@
3
3
  import classnames from 'classnames'
4
4
  import React, { useContext } from 'react'
5
5
  import { buildCss } from '../../utilities/props'
6
- import { globalProps, GlobalProps } from '../../utilities/globalProps'
6
+ import { globalProps } from '../../utilities/globalProps'
7
7
 
8
8
  import Flex from '../../pb_flex/_flex'
9
9
  import FlexItem from '../../pb_flex/_flex_item'
@@ -25,7 +25,7 @@ const CollapsibleMain = ({
25
25
  className,
26
26
  cursor = 'pointer',
27
27
  ...props
28
- }: CollapsibleMainProps & GlobalProps): React.ReactElement=> {
28
+ }: CollapsibleMainProps): React.ReactElement=> {
29
29
  const {collapsed, toggle, icon, iconSize, iconColor, onIconClick, onClick}: any = useContext(CollapsibleContext)
30
30
  const mainCSS = buildCss('pb_collapsible_main_kit')
31
31
  const mainSpacing = globalProps(props, { cursor })
@@ -40,6 +40,8 @@ module Playbook
40
40
  default: {}
41
41
  prop :input_data, type: Playbook::Props::HashProp,
42
42
  default: {}
43
+ prop :input_options, type: Playbook::Props::HashProp,
44
+ default: {}
43
45
  prop :max_date, type: Playbook::Props::String
44
46
  prop :min_date, type: Playbook::Props::String
45
47
  prop :name, type: Playbook::Props::String
@@ -55,6 +57,8 @@ module Playbook
55
57
  prop :position, type: Playbook::Props::String,
56
58
  default: "auto"
57
59
  prop :position_element, type: Playbook::Props::String
60
+ prop :reset_to_default, type: Playbook::Props::Boolean,
61
+ default: false
58
62
  prop :scroll_container, type: Playbook::Props::String
59
63
  prop :selection_type, type: Playbook::Props::Enum,
60
64
  values: %w[week month quickpick none],
@@ -98,6 +102,7 @@ module Playbook
98
102
  plugins: plugins,
99
103
  position: position,
100
104
  positionElement: position_element,
105
+ resetToDefault: reset_to_default,
101
106
  required: required,
102
107
  selectionType: selection_type,
103
108
  showTimezone: show_timezone,
@@ -24,9 +24,11 @@ type DatePickerConfig = {
24
24
  required: boolean,
25
25
  hideIcon?: boolean;
26
26
  inLine?: boolean,
27
+ inputValue: string,
27
28
  onChange: (dateStr: string, selectedDates: Date[]) => void,
28
29
  selectionType?: "month" | "week" | "quickpick" | "",
29
30
  onClose: (dateStr: Date[] | string, selectedDates: Date[] | string) => void,
31
+ resetToDefault?: boolean,
30
32
  showTimezone?: boolean,
31
33
  staticPosition: boolean,
32
34
  thisRangesEndToday?: boolean,
@@ -50,6 +52,7 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
50
52
  disableWeekdays,
51
53
  enableTime,
52
54
  format,
55
+ inputValue,
53
56
  maxDate,
54
57
  minDate,
55
58
  mode,
@@ -59,6 +62,7 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
59
62
  plugins,
60
63
  position = "auto",
61
64
  positionElement,
65
+ resetToDefault,
62
66
  required,
63
67
  selectionType,
64
68
  showTimezone,
@@ -242,6 +246,12 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
242
246
  picker.changeYear(Number(e.target.value))
243
247
  })
244
248
 
249
+ // add data atrribute for reset to default
250
+ const element = document.querySelector(`#${pickerId}`);
251
+ if (resetToDefault && defaultDate && element) {
252
+ element.setAttribute("data-pb-date-picker", defaultDate?.toString());
253
+ }
254
+
245
255
  // Reverse month and year dropdown reset on form.reset()
246
256
  if (picker.input.form) {
247
257
  picker.input.form.addEventListener('reset', () => {
@@ -2,6 +2,7 @@ examples:
2
2
 
3
3
  rails:
4
4
  - date_picker_default: Default
5
+ - date_picker_reset_to_default: Reset to Default
5
6
  - date_picker_hide_icon: Hide Input Icon
6
7
  - date_picker_default_date: Default Date
7
8
  - date_picker_allow_input: Allow Input
@@ -11,8 +11,3 @@
11
11
  }
12
12
  }
13
13
 
14
- .dark [class*='pb_file_upload_kit'] {
15
- [class*='pb_card_kit'] {
16
- border: 1px $text_dk_lighter dashed;
17
- }
18
- }
@@ -13,7 +13,6 @@ type FileUploadProps = {
13
13
  accept?: string[],
14
14
  className?: string,
15
15
  customMessage?: string,
16
- dark?: boolean,
17
16
  data?: {[key: string]: string | number},
18
17
  htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
19
18
  acceptedFilesDescription?: string,
@@ -32,7 +31,6 @@ const FileUpload = (props: FileUploadProps): React.ReactElement => {
32
31
  acceptedFilesDescription = '',
33
32
  className,
34
33
  customMessage,
35
- dark = false,
36
34
  data = {},
37
35
  htmlOptions = {},
38
36
  maxSize,
@@ -96,12 +94,9 @@ const FileUpload = (props: FileUploadProps): React.ReactElement => {
96
94
  {...htmlProps}
97
95
  {...getRootProps()}
98
96
  >
99
- <Card dark={dark}>
97
+ <Card>
100
98
  <input {...getInputProps()} />
101
- <Body
102
- color="light"
103
- dark={dark}
104
- >
99
+ <Body color="light">
105
100
  {isDragActive ?
106
101
  <p>{'Drop the files here ...'}</p>
107
102
  :
@@ -5,17 +5,11 @@
5
5
  id: object.id,
6
6
  **combined_html_options) do %>
7
7
  <%= pb_rails("form_group", props: {cursor: "pointer", full_width: object.full_width}) do %>
8
- <label
9
- for="upload-<%= object.id %>"
10
- class="pb_button_kit_secondary_inline_enabled <%= 'dark' if object.dark %>"
11
- >
12
- <%= "#{object.label}" %>
13
- </label>
8
+ <label for="upload-<%= object.id %>" class="pb_button_kit_secondary_inline_enabled"><%= "#{object.label}" %></label>
14
9
  <%= pb_rails("text_input", props: {
15
10
  type: "file",
16
- dark: object.dark,
17
11
  input_options: {
18
- id: "upload-#{object.id}",
12
+ id: "upload-#{object.id}",
19
13
  classname: "cursor_pointer",
20
14
  }.merge(object.input_options)
21
15
  }) %>
@@ -45,11 +45,12 @@
45
45
  class: "checkbox-class"
46
46
  %>
47
47
  <%= form.date_picker :example_date_picker_1, props: { label: true } %>
48
+ <%= form.date_picker :example_date_picker_2, props: { label: true, reset_to_default: true, default_date: "06/09/1994" } %>
48
49
  <%= form.star_rating_field :example_star_rating, props: { variant: "interactive", label: true } %>
49
50
 
50
51
  <%= form.actions do |action| %>
51
52
  <%= action.submit %>
52
- <%= action.button props: { type: "reset", text: "Cancel", variant: "secondary" } %>
53
+ <%= action.button props: { type: "reset", text: "Cancel", variant: "secondary", onclick: "resetDates()" } %>
53
54
  <% end %>
54
55
  <% end %>
55
56
 
@@ -17,7 +17,7 @@
17
17
  outline-offset: 2px;
18
18
  }
19
19
  &:visited {
20
- color: darken($primary_action, 10%);
20
+ color: $data_3;
21
21
  }
22
22
  &.dark {
23
23
  @include pb_link($active_dark);
@@ -34,7 +34,7 @@
34
34
  }
35
35
 
36
36
  &:visited {
37
- color: darken($primary_action, 10%);
37
+ color: $data_3;
38
38
  }
39
39
  }
40
40
  }
@@ -48,7 +48,7 @@
48
48
  }
49
49
 
50
50
  &:visited {
51
- color: darken($primary_action, 10%);
51
+ color: $data_3;
52
52
  }
53
53
  }
54
54
  }
@@ -19,16 +19,6 @@
19
19
  font-weight: $bolder;
20
20
  }
21
21
  }
22
- }
23
- }
24
-
25
- .dark & {
26
- [class*=pb_nav_list_kit_item][class*=pb_nav_list_item] {
27
- &[class*=_link] {
28
- &[class*=_active] {
29
- box-shadow: 0 2px 10px 0 $shadow_dark;
30
- }
31
- }
32
- }
22
+ }
33
23
  }
34
24
  }
@@ -223,7 +223,6 @@
223
223
  }
224
224
  }
225
225
  [class*="pb_collapsible_nav_item"][class*="pb_nav_list_item_link_collapsible"][class*="pb_nav_list_kit_item"] {
226
- box-shadow: unset !important;
227
226
  .pb_nav_list_item_text_collapsible {
228
227
  color: $white !important;
229
228
  }
@@ -241,17 +240,11 @@
241
240
 
242
241
  .pb_collapsible_main_kit:hover {
243
242
  background-color: mix($white, $card_dark, 20%);
244
- .pb_nav_list_item_text_collapsible {
245
- color: $white !important;
246
- }
247
- }
248
-
249
- .pb_collapsible_main_kit {
243
+ .pb_nav_list_item_text_collapsible,
250
244
  svg {
251
- color: $text_dk_default !important;
245
+ color: $white !important;
252
246
  }
253
247
  }
254
-
255
248
  .icon_wrapper:hover {
256
249
  background-color: mix($white, $card_dark, 40%);
257
250
  }
@@ -263,13 +256,6 @@
263
256
  }
264
257
  }
265
258
  }
266
-
267
- &[class*="_active"] {
268
- > .pb_collapsible_main_kit {
269
- background-color: $primary;
270
- box-shadow: 0 2px 10px 0 $shadow_dark;
271
- }
272
- }
273
259
  }
274
260
  }
275
261
  }
@@ -115,7 +115,7 @@ $selector: ".pb_nav_list";
115
115
  }
116
116
  [class*="_item_text"],
117
117
  [class*="_item_icon"] {
118
- color: $text_dk_light !important;
118
+ color: $text_dk_lighter !important;
119
119
  }
120
120
  &[class*="_link"] {
121
121
  &:hover {
@@ -1,6 +1,6 @@
1
1
  import React, { useState } from "react";
2
2
  import classnames from 'classnames'
3
- import { GlobalProps, globalProps } from '../utilities/globalProps'
3
+ import { globalProps } from '../utilities/globalProps'
4
4
  import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
5
5
  import Icon from '../pb_icon/_icon';
6
6
 
@@ -14,7 +14,7 @@ type PaginationProps = {
14
14
  onChange?: (pageNumber: number) => void;
15
15
  range?: number;
16
16
  total?: number;
17
- } & GlobalProps;
17
+ };
18
18
 
19
19
  const Pagination = ( props: PaginationProps) => {
20
20
  const {
@@ -1,12 +1,10 @@
1
- import React from 'react'
1
+ import React, { forwardRef } from 'react'
2
2
  import classnames from 'classnames'
3
- import { FieldValues } from 'react-hook-form'
4
3
 
5
4
  import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
6
5
  import { globalProps, GlobalProps, domSafeProps } from '../utilities/globalProps'
7
6
  import type { InputCallback } from '../types'
8
7
  import { getAllIcons } from "../utilities/icons/allicons"
9
- import { withReactHookForm, WithReactHookFormProps } from '../utilities/withReactHookForm'
10
8
 
11
9
  import Body from '../pb_body/_body'
12
10
  import Caption from '../pb_caption/_caption'
@@ -32,12 +30,11 @@ type SelectProps = {
32
30
  includeBlank?: string,
33
31
  inline?: boolean,
34
32
  label?: string,
35
- margin?: string,
36
- marginBottom?: string,
37
- marginTop?: string,
33
+ margin: string,
34
+ marginBottom: string,
38
35
  multiple?: boolean,
39
36
  name?: string,
40
- onChange?: InputCallback<HTMLSelectElement>,
37
+ onChange: InputCallback<HTMLSelectElement>,
41
38
  options: SelectOption[],
42
39
  required?: boolean,
43
40
  showArrow?: boolean,
@@ -54,7 +51,7 @@ const createOptions = (options: SelectOption[]) => options.map((option, index) =
54
51
  </option>
55
52
  ))
56
53
 
57
- const Select = React.forwardRef<HTMLSelectElement, SelectProps>(({
54
+ const Select = ({
58
55
  aria = {},
59
56
  blankSelection,
60
57
  children,
@@ -68,13 +65,13 @@ const Select = React.forwardRef<HTMLSelectElement, SelectProps>(({
68
65
  inline = false,
69
66
  multiple = false,
70
67
  name,
71
- onChange,
68
+ onChange = () => undefined,
72
69
  options = [],
73
70
  required = false,
74
71
  showArrow = false,
75
72
  value,
76
73
  ...props
77
- }, ref) => {
74
+ }: SelectProps, ref: React.LegacyRef<HTMLSelectElement>) => {
78
75
  const ariaProps = buildAriaProps(aria)
79
76
  const dataProps = buildDataProps(data)
80
77
  const htmlProps = buildHtmlProps(htmlOptions)
@@ -94,14 +91,14 @@ const Select = React.forwardRef<HTMLSelectElement, SelectProps>(({
94
91
  compactClass
95
92
  );
96
93
 
97
- const icons = getAllIcons()
98
- const angleDown = icons?.angleDown?.icon
94
+ const angleDown = getAllIcons()["angleDown"].icon as unknown as { [key: string]: SVGElement }
99
95
 
100
96
  const selectWrapperClass = classnames(buildCss('pb_select_kit_wrapper'), { error }, className)
101
97
  const selectBody =(() =>{
102
98
  if (children) return children
103
99
  return (
104
100
  <select
101
+ {...htmlOptions}
105
102
  {...domSafeProps(props)}
106
103
  disabled={disabled}
107
104
  id={name}
@@ -138,12 +135,14 @@ const Select = React.forwardRef<HTMLSelectElement, SelectProps>(({
138
135
  htmlFor={name}
139
136
  >
140
137
  {selectBody}
141
- { multiple !== true && angleDown &&
138
+ { multiple !== true ?
142
139
  <Icon
143
140
  className="pb_select_kit_caret svg-inline--fa"
144
141
  customIcon={angleDown}
145
142
  fixedWidth
146
143
  />
144
+ :
145
+ null
147
146
  }
148
147
  {error &&
149
148
  <Body
@@ -154,11 +153,6 @@ const Select = React.forwardRef<HTMLSelectElement, SelectProps>(({
154
153
  </label>
155
154
  </div>
156
155
  )
157
- })
158
-
159
- Select.displayName = 'Select'
160
-
161
- export type SelectWithHookFormProps<T extends FieldValues = FieldValues> = SelectProps & WithReactHookFormProps<T>
156
+ }
162
157
 
163
- const SelectWithHookForm = withReactHookForm(Select)
164
- export default SelectWithHookForm
158
+ export default forwardRef(Select)
@@ -30,7 +30,6 @@ examples:
30
30
  - select_inline_show_arrow: Select Inline (Always Show Arrow)
31
31
  - select_inline_compact: Select Inline Compact
32
32
  - select_multiple: Select Multiple
33
- - select_form: Form
34
33
 
35
34
  swift:
36
35
  - select_default_swift: Default
@@ -10,4 +10,3 @@ export { default as SelectInline } from './_select_inline.jsx'
10
10
  export { default as SelectInlineShowArrow } from './_select_inline_show_arrow.jsx'
11
11
  export { default as SelectInlineCompact } from './_select_inline_compact.jsx'
12
12
  export { default as SelectMultiple } from './_select_multiple.jsx'
13
- export { default as SelectForm } from './_select_form.jsx'
@@ -151,7 +151,7 @@ $pb_selectable_paddings: (
151
151
  input[type="radio"] {
152
152
  &:checked ~ label {
153
153
  border-width: $pb_card_border_width;
154
- outline: 1px solid $primary_action_dark;
154
+ outline: 1px solid $primary;
155
155
  }
156
156
  }
157
157
  }
@@ -161,11 +161,11 @@ $pb_selectable_paddings: (
161
161
  color: $white;
162
162
  > label {
163
163
  @include pb_card_dark;
164
- background: $bg_dark_card;
164
+ background: transparent;
165
165
 
166
166
  .pb_selectable_card_circle {
167
167
  border-color: $bg_dark;
168
- background: $primary_action_dark;
168
+ background: $primary-action;
169
169
  }
170
170
  }
171
171
 
@@ -173,7 +173,7 @@ $pb_selectable_paddings: (
173
173
  input[type="radio"] {
174
174
  &:checked ~ label {
175
175
  @include pb_card_selected_dark;
176
- background: $bg_dark_card;
176
+ background: transparent;
177
177
  }
178
178
  }
179
179
 
@@ -35,7 +35,7 @@
35
35
  <% end %>
36
36
  <% else %>
37
37
  <% if content.nil? %>
38
- <%= pb_rails("body", props: { text: object.text, dark: object.dark }) %>
38
+ <%= pb_rails("body", props: { text: object.text }) %>
39
39
  <% else %>
40
40
  <%= content %>
41
41
  <% end %>