playbook_ui 7.0.1.pre.alpha15 → 7.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/data/menu.yml +3 -4
  3. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +1 -0
  4. data/app/pb_kits/playbook/pb_body/body.rb +1 -1
  5. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +0 -1
  6. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +3 -3
  7. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +90 -82
  8. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.rb +2 -4
  9. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.html.erb +7 -17
  10. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.jsx +9 -32
  11. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.html.erb +7 -18
  12. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.jsx +9 -37
  13. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.html.erb +11 -0
  14. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.jsx +29 -0
  15. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.html.erb +11 -0
  16. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.jsx +34 -0
  17. data/app/pb_kits/playbook/pb_button_toolbar/docs/example.yml +7 -3
  18. data/app/pb_kits/playbook/pb_button_toolbar/docs/index.js +2 -0
  19. data/app/pb_kits/playbook/pb_caption/_caption.html.erb +5 -7
  20. data/app/pb_kits/playbook/pb_caption/docs/example.yml +0 -2
  21. data/app/pb_kits/playbook/pb_caption/docs/index.js +0 -1
  22. data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +2 -1
  23. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +3 -1
  24. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +2 -3
  25. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +32 -34
  26. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.html.erb +4 -0
  27. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.jsx +13 -0
  28. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.md +1 -0
  29. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.html.erb +4 -0
  30. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.jsx +13 -0
  31. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +2 -1
  32. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +2 -1
  33. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +0 -4
  34. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +0 -4
  35. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.html.erb +9 -9
  36. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.jsx +8 -8
  37. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.md +1 -3
  38. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +0 -1
  39. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +0 -1
  40. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +4 -0
  41. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +2 -0
  42. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.html.erb +14 -8
  43. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +39 -122
  44. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +2 -33
  45. data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.rb +9 -44
  46. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.html.erb +1 -14
  47. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.jsx +1 -45
  48. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.html.erb +2 -3
  49. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +15 -29
  50. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +0 -10
  51. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.html.erb +1 -2
  52. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.jsx +2 -1
  53. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.html.erb +1 -1
  54. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.jsx +1 -1
  55. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.html.erb +1 -1
  56. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.jsx +1 -1
  57. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +0 -2
  58. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +0 -1
  59. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +1 -7
  60. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -1
  61. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  62. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +3 -3
  63. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +3 -3
  64. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +0 -1
  65. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +1 -0
  66. data/app/pb_kits/playbook/pb_popover/_popover.scss +4 -6
  67. data/app/pb_kits/playbook/pb_popover/index.js +1 -3
  68. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +0 -3
  69. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +33 -168
  70. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.html.erb +1 -3
  71. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.jsx +8 -10
  72. data/app/pb_kits/playbook/pb_progress_step/docs/_description.md +1 -1
  73. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.html.erb +16 -14
  74. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.jsx +3 -6
  75. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker.html.erb +1 -17
  76. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker.jsx +1 -17
  77. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_vertical.jsx +3 -10
  78. data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +1 -11
  79. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +1 -1
  80. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -12
  81. data/app/pb_kits/playbook/pb_table/docs/index.js +0 -6
  82. data/app/pb_kits/playbook/pb_time/_time.html.erb +20 -17
  83. data/app/pb_kits/playbook/pb_time/_time.jsx +27 -40
  84. data/app/pb_kits/playbook/pb_time/_time.scss +24 -4
  85. data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +1 -4
  86. data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +11 -11
  87. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +1 -13
  88. data/app/pb_kits/playbook/pb_time/docs/_time_sizes.jsx +1 -4
  89. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +1 -3
  90. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +2 -7
  91. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +5 -5
  92. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +0 -1
  93. data/app/pb_kits/playbook/pb_toggle/toggle.rb +1 -4
  94. data/app/pb_kits/playbook/pb_typeahead/_typeahead.html.erb +20 -24
  95. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +1 -19
  96. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +1 -8
  97. data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +13 -21
  98. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb +1 -1
  99. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_context_dark.html.erb +1 -1
  100. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +3 -0
  101. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_summary.jsx +45 -0
  102. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +3 -0
  103. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_summary.jsx +27 -0
  104. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -3
  105. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +1 -24
  106. data/app/pb_kits/playbook/react_rails_kits.js +0 -1
  107. data/app/pb_kits/playbook/vendor.js +0 -3
  108. data/lib/playbook/version.rb +1 -1
  109. metadata +15 -35
  110. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +0 -57
  111. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +0 -27
  112. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.html.erb +0 -11
  113. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.jsx +0 -28
  114. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.md +0 -1
  115. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_close.html.erb +0 -21
  116. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_close.jsx +0 -38
  117. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/index.js +0 -18
  118. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.html.erb +0 -34
  119. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.jsx +0 -68
  120. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.md +0 -2
  121. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.html.erb +0 -61
  122. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.jsx +0 -89
  123. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.md +0 -1
  124. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.html.erb +0 -34
  125. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.jsx +0 -68
  126. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.md +0 -2
  127. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.html.erb +0 -43
  128. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.jsx +0 -80
  129. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.md +0 -1
  130. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.html.erb +0 -34
  131. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.jsx +0 -63
  132. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.md +0 -1
  133. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_options.html.erb +0 -10
  134. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +0 -25
  135. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md +0 -8
  136. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.html.erb +0 -30
  137. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.md +0 -11
  138. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.html.erb +0 -25
  139. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.md +0 -1
  140. data/lib/tasks/changelog.rake +0 -14
@@ -0,0 +1,11 @@
1
+ <div class="pb--doc-demo-row">
2
+ <div>
3
+ <%= pb_rails("button_toolbar", props: { orientation: "vertical", connected: true }) do %>
4
+ <%= pb_rails("button", props: { text: "Field" }) %>
5
+ <%= pb_rails("button", props: { text: "Retail"}) %>
6
+ <%= pb_rails("button", props: { text: "Event"}) %>
7
+ <%= pb_rails("button", props: { text: "Training"}) %>
8
+ <%= pb_rails("button", props: { text: "Not Working"}) %>
9
+ <% end %>
10
+ </div>
11
+ </div>
@@ -0,0 +1,29 @@
1
+ import React from 'react'
2
+ import { Button, ButtonToolbar } from '../..'
3
+
4
+ const ButtonToolbarVertical = () => (
5
+ <div>
6
+ <ButtonToolbar
7
+ connected
8
+ orientation="vertical"
9
+ >
10
+ <Button
11
+ text="Field"
12
+ />
13
+ <Button
14
+ text="Retail"
15
+ />
16
+ <Button
17
+ text="Event"
18
+ />
19
+ <Button
20
+ text="Training"
21
+ />
22
+ <Button
23
+ text="Not Working"
24
+ />
25
+ </ButtonToolbar>
26
+ </div>
27
+ )
28
+
29
+ export default ButtonToolbarVertical
@@ -0,0 +1,11 @@
1
+ <div class="pb--doc-demo-row">
2
+ <div>
3
+ <%= pb_rails("button_toolbar", props: { orientation: "vertical", connected: true }) do %>
4
+ <%= pb_rails("button", props: { text: "Field", variant: "secondary" }) %>
5
+ <%= pb_rails("button", props: { text: "Retail", variant: "secondary" }) %>
6
+ <%= pb_rails("button", props: { text: "Event", variant: "secondary" }) %>
7
+ <%= pb_rails("button", props: { text: "Training", variant: "secondary" }) %>
8
+ <%= pb_rails("button", props: { text: "Not Working", variant: "secondary" }) %>
9
+ <% end %>
10
+ </div>
11
+ </div>
@@ -0,0 +1,34 @@
1
+ import React from 'react'
2
+ import { Button, ButtonToolbar } from '../..'
3
+
4
+ const ButtonToolbarVerticalSecondary = () => (
5
+ <div>
6
+ <ButtonToolbar
7
+ connected
8
+ orientation="vertical"
9
+ >
10
+ <Button
11
+ text="Field"
12
+ variant="secondary"
13
+ />
14
+ <Button
15
+ text="Retail"
16
+ variant="secondary"
17
+ />
18
+ <Button
19
+ text="Event"
20
+ variant="secondary"
21
+ />
22
+ <Button
23
+ text="Training"
24
+ variant="secondary"
25
+ />
26
+ <Button
27
+ text="Not Working"
28
+ variant="secondary"
29
+ />
30
+ </ButtonToolbar>
31
+ </div>
32
+ )
33
+
34
+ export default ButtonToolbarVerticalSecondary
@@ -1,11 +1,15 @@
1
1
  examples:
2
2
 
3
3
  rails:
4
- - button_toolbar_default: Default
5
- - button_toolbar_secondary: Secondary
4
+ - button_toolbar_default: Horizontal Button Toolbar
5
+ - button_toolbar_vertical: Vertical Button Toolbar
6
+ - button_toolbar_secondary: Horizontal Secondary Button Toolbar
7
+ - button_toolbar_vertical_secondary: Vertical Secondary Button Toolbar
6
8
 
7
9
 
8
10
  react:
9
11
  - button_toolbar_default: Default
10
- - button_toolbar_secondary: Secondary
12
+ - button_toolbar_vertical: Vertical Button Toolbar
13
+ - button_toolbar_secondary: Horizontal Secondary Button Toolbar
14
+ - button_toolbar_vertical_secondary: Vertical Secondary Button Toolbar
11
15
 
@@ -1,2 +1,4 @@
1
1
  export { default as ButtonToolbarDefault } from './_button_toolbar_default.jsx'
2
+ export { default as ButtonToolbarVertical } from './_button_toolbar_vertical.jsx'
2
3
  export { default as ButtonToolbarSecondary } from './_button_toolbar_secondary.jsx'
4
+ export { default as ButtonToolbarVerticalSecondary } from './_button_toolbar_vertical_secondary.jsx'
@@ -1,7 +1,5 @@
1
- <%= content_tag(object.tag,
2
- aria: object.aria,
3
- id: object.id,
4
- data: object.data,
5
- class: object.classname) do %>
6
- <%= object.children.present? ? capture(&object.children) : object.text %>
7
- <% end %>
1
+ <%= content_tag(object.tag, object.text,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname,
5
+ aria: object.aria) %>
@@ -1,7 +1,5 @@
1
1
  examples:
2
2
  rails:
3
3
  - caption_light: Default
4
- - caption_block: Block
5
4
  react:
6
5
  - caption_light: Default
7
- - caption_block: Block
@@ -1,3 +1,2 @@
1
1
  export { default as CaptionLight } from './_caption_light.jsx'
2
2
  export { default as CaptionVariants } from './_caption_variants.jsx'
3
- export { default as CaptionBlock } from './_caption_block.jsx'
@@ -15,7 +15,8 @@
15
15
  label: object.hide_label ? nil : object.label,
16
16
  name: object.name,
17
17
  placeholder: object.placeholder,
18
- required: object.required
18
+ required: object.required,
19
+ type: object.type
19
20
  }) %>
20
21
  <% if !object.hide_icon %>
21
22
  <div
@@ -62,7 +62,8 @@ const DatePicker = (props: DatePickerProps) => {
62
62
  name,
63
63
  onChange = () => {},
64
64
  pickerId,
65
- placeholder = 'Select Date',
65
+ placeholder,
66
+ type,
66
67
  yearRange = [ 1900, 2100 ],
67
68
  } = props
68
69
 
@@ -127,6 +128,7 @@ const DatePicker = (props: DatePickerProps) => {
127
128
  label={hideLabel ? null : label}
128
129
  name={name}
129
130
  placeholder={placeholder}
131
+ type={type}
130
132
  />
131
133
  <If condition={!hideIcon}>
132
134
  <div
@@ -41,10 +41,10 @@ module Playbook
41
41
  default: "single"
42
42
  prop :picker_id, type: Playbook::Props::String,
43
43
  required: true
44
- prop :placeholder, type: Playbook::Props::String,
45
- default: "Select Date"
44
+ prop :placeholder, type: Playbook::Props::String
46
45
  prop :required, type: Playbook::Props::Boolean,
47
46
  default: false
47
+ prop :type, type: Playbook::Props::String
48
48
  prop :year_range, type: Playbook::Props::Array,
49
49
  default: [1900, 2100]
50
50
 
@@ -65,7 +65,6 @@ module Playbook
65
65
  minDate: min_date,
66
66
  mode: mode,
67
67
  pickerId: picker_id,
68
- required: required,
69
68
  yearRange: year_range,
70
69
  }.to_json.html_safe
71
70
  end
@@ -11,9 +11,8 @@ const datePickerHelper = (config) => {
11
11
  maxDate,
12
12
  minDate,
13
13
  mode,
14
- onChange = () => {},
14
+ onChange,
15
15
  pickerId,
16
- required,
17
16
  yearRange,
18
17
  } = config
19
18
 
@@ -22,10 +21,20 @@ const datePickerHelper = (config) => {
22
21
  // ===========================================================
23
22
 
24
23
  const defaultDateGetter = () => {
25
- if (defaultDate === '') {
26
- return null
27
- } else {
28
- return defaultDate
24
+ if (defaultDate !== '') {
25
+ if (defaultDate === 'blank') {
26
+ return ''
27
+ } else {
28
+ return defaultDate
29
+ }
30
+ }
31
+ if (mode === 'single' && defaultDate === '') {
32
+ return new Date()
33
+ } else if (mode === 'range' && defaultDate === '') {
34
+ const today = new Date()
35
+ const tomorrow = new Date(today)
36
+ tomorrow.setDate(tomorrow.getDate() + 1)
37
+ return [today, tomorrow]
29
38
  }
30
39
  }
31
40
  const disabledParser = () => {
@@ -94,9 +103,7 @@ const datePickerHelper = (config) => {
94
103
  onChange: [(selectedDates, dateStr) => {
95
104
  onChange(dateStr, selectedDates)
96
105
  }],
97
- onYearChange: [() => {
98
- yearChangeHook()
99
- }],
106
+ onYearChange: [],
100
107
  prevArrow: '<i class="far fa-angle-left"></i>',
101
108
  static: true,
102
109
  })
@@ -118,7 +125,7 @@ const datePickerHelper = (config) => {
118
125
  years += `<option value="${year}">${year}</option>`
119
126
  }
120
127
 
121
- // variablize each dropdown selector
128
+ // variablize each dropdown selecttor
122
129
  const dropdown = document.querySelector(`#year-${pickerId}`)
123
130
 
124
131
  // inject year options into dropdown and assign it the flatpickr's current year value
@@ -130,42 +137,33 @@ const datePickerHelper = (config) => {
130
137
  picker.changeYear(Number(e.target.value))
131
138
  })
132
139
 
133
- // Reverse month and year dropdown reset on form.reset()
134
- if (picker.input.form) {
135
- picker.input.form.addEventListener('reset', () => {
136
- // Code block triggers after form.reset() is called and executed
137
- setTimeout(() => {
138
- dropdown.value = picker.currentYear
139
- picker.monthsDropdownContainer.value = picker.currentMonth
140
-
141
- /* Reset date picker to default value on form.reset() */
142
- if (defaultDate){
143
- picker.setDate(defaultDate)
144
- yearChangeHook()
145
- }
146
- }, 0)
147
- })
148
- }
149
-
150
140
  // two way binding
151
141
  const yearChangeHook = () => {
152
142
  dropdown.value = picker.currentYear
153
143
  }
144
+ picker.config.onYearChange.push(yearChangeHook)
154
145
 
155
146
  // Adding dropdown icons to year and month selects
156
147
  picker.monthElements[0].insertAdjacentHTML('afterend', '<i class="far fa-angle-down month-dropdown-icon"></i>')
157
148
  dropdown.insertAdjacentHTML('afterend', '<i class="far fa-angle-down year-dropdown-icon" id="test-id"></i>')
158
149
 
159
- // Remove readonly attribute for validation and or text input
150
+ // Set input value attribute on page load
151
+ picker.input.setAttribute('value', picker.input.value)
152
+ // logic for updating value when typing
153
+ document.querySelector(`#${pickerId}`).addEventListener('input', (e) => {
154
+ picker.input.setAttribute('value', e.target.value)
155
+ const variant = picker.config.mode
156
+ if (variant === 'single' && e.target.value.split('').length === 10) {
157
+ picker.setDate(e.target.value)
158
+ dropdown.value = picker.currentYear
159
+ } else if (variant === 'range' && e.target.value.split('').length === 24) {
160
+ picker.setDate(e.target.value)
161
+ dropdown.value = picker.currentYear
162
+ }
163
+ })
160
164
  if (allowInput){
161
165
  picker.input.removeAttribute('readonly')
162
166
  }
163
- if (required){
164
- picker.input.removeAttribute('readonly')
165
- picker.input.addEventListener('keydown', (e) => e.preventDefault())
166
- picker.input.style.caretColor = 'transparent'
167
- picker.input.style.cursor = 'pointer'
168
- }
169
167
  }
170
168
 
171
169
  export default datePickerHelper
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("date_picker", props: {
2
+ allow_input: true,
3
+ picker_id: "date-picker-read-only"
4
+ }) %>
@@ -0,0 +1,13 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../..'
3
+
4
+ const DatePickerAllowInput = () => (
5
+ <div>
6
+ <DatePicker
7
+ allowInput
8
+ pickerId="date-picker-read-only"
9
+ />
10
+ </div>
11
+ )
12
+
13
+ export default DatePickerAllowInput
@@ -0,0 +1 @@
1
+ By default the date picker input can only be modified by picking a date on the calendar. This prop allows your users to manually type in the date.
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("date_picker", props: {
2
+ dark: true,
3
+ picker_id: "date-picker-dark"
4
+ }) %>
@@ -0,0 +1,13 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../../'
3
+
4
+ const DatePickerDark = () => (
5
+ <div>
6
+ <DatePicker
7
+ dark
8
+ pickerId="date-picker-dark"
9
+ />
10
+ </div>
11
+ )
12
+
13
+ export default DatePickerDark
@@ -18,6 +18,7 @@
18
18
  }) %>
19
19
 
20
20
  <%= pb_rails("date_picker", props: {
21
- label: "Default Behavior",
21
+ default_date: "blank",
22
+ label: "Blank",
22
23
  picker_id: "date-picker-default-date4"
23
24
  }) %>
@@ -20,7 +20,8 @@ const DatePickerDefaultDate = () => (
20
20
  pickerId="date-picker-default-date3"
21
21
  />
22
22
  <DatePicker
23
- label="Default Behavior"
23
+ defaultDate="blank"
24
+ label="Blank"
24
25
  pickerId="date-picker-default-date4"
25
26
  />
26
27
  </div>
@@ -1,23 +1,19 @@
1
1
  <%= pb_rails("date_picker", props: {
2
- default_date: (Date.today).httpdate,
3
2
  format: "m-d-Y",
4
3
  picker_id: "date-picker-format1"
5
4
  }) %>
6
5
 
7
6
  <%= pb_rails("date_picker", props: {
8
- default_date: (Date.today).httpdate,
9
7
  format: "m/d/y",
10
8
  picker_id: "date-picker-format2"
11
9
  }) %>
12
10
 
13
11
  <%= pb_rails("date_picker", props: {
14
- default_date: (Date.today).httpdate,
15
12
  format: "n-j-y",
16
13
  picker_id: "date-picker-format3"
17
14
  }) %>
18
15
 
19
16
  <%= pb_rails("date_picker", props: {
20
- default_date: (Date.today).httpdate,
21
17
  format: "Y-d-m",
22
18
  picker_id: "date-picker-format4"
23
19
  }) %>
@@ -4,22 +4,18 @@ import { DatePicker } from '../../'
4
4
  const DatePickerFormat = () => (
5
5
  <div>
6
6
  <DatePicker
7
- defaultDate={new Date()}
8
7
  format="m-d-Y"
9
8
  pickerId="date-picker-format1"
10
9
  />
11
10
  <DatePicker
12
- defaultDate={new Date()}
13
11
  format="m/d/y"
14
12
  pickerId="date-picker-format2"
15
13
  />
16
14
  <DatePicker
17
- defaultDate={new Date()}
18
15
  format="n-j-y"
19
16
  pickerId="date-picker-format3"
20
17
  />
21
18
  <DatePicker
22
- defaultDate={new Date()}
23
19
  format="Y-d-m"
24
20
  pickerId="date-picker-format4"
25
21
  />
@@ -1,26 +1,26 @@
1
1
  <%= pb_rails("date_picker", props: {
2
2
  input_aria: { label: "input-field" },
3
3
  input_data: { key: "value", key2: "value2" },
4
- label: "Aria, Name, and Data Attributes",
5
4
  name: "date-field",
6
5
  picker_id: "date-picker-input1",
6
+ type: "date"
7
7
  }) %>
8
8
 
9
9
  <%= pb_rails("date_picker", props: {
10
- label: "Custom Placeholder",
10
+ default_date: "blank",
11
11
  picker_id: "date-picker-input2",
12
- placeholder: "custom-placeholder",
12
+ placeholder: "Select Date",
13
13
  }) %>
14
14
 
15
15
  <%= pb_rails("date_picker", props: {
16
- label: "Blank Placeholder",
16
+ default_date: "blank",
17
+ disable_input: true,
17
18
  picker_id: "date-picker-input3",
18
- placeholder: ""
19
+ placeholder: "Disabled Input"
19
20
  }) %>
20
21
 
21
22
  <%= pb_rails("date_picker", props: {
22
- disable_input: true,
23
- label: "Disable Input",
24
- picker_id: "date-picker-input4",
25
- placeholder: "Disabled Input"
23
+ dark: true,
24
+ hide_label: true,
25
+ picker_id: "date-picker-input4"
26
26
  }) %>