playbook_ui 16.3.0.pre.alpha.fixdatepickermonthsdropdownreset14888 → 16.3.0.pre.alpha.play274314771

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/index.js +29 -48
  3. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -6
  4. data/app/pb_kits/playbook/pb_collapsible/index.js +26 -15
  5. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +1 -3
  6. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.jsx +1 -0
  7. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default.html.erb +9 -18
  8. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default.jsx +5 -24
  9. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height_placement.jsx +2 -2
  10. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +0 -3
  11. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +0 -1
  12. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -1
  13. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +0 -4
  14. data/app/pb_kits/playbook/pb_dropdown/index.js +46 -94
  15. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +14 -19
  16. data/app/pb_kits/playbook/pb_multi_level_select/_helper_functions.tsx +1 -1
  17. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +15 -24
  18. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.jsx +19 -0
  19. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.jsx +0 -52
  20. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx +23 -0
  21. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.jsx +20 -0
  22. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.jsx +34 -0
  23. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.md +1 -0
  24. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +49 -0
  25. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx +26 -0
  26. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.md +3 -0
  27. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx +17 -0
  28. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.jsx +19 -0
  29. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.jsx +46 -0
  30. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +9 -0
  31. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +9 -0
  32. data/app/pb_kits/playbook/pb_rich_text_editor/inlineFocus.ts +4 -5
  33. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +1 -4
  34. data/dist/chunks/{_pb_line_graph-D6s5rymw.js → _pb_line_graph-BI5wY8Wj.js} +1 -1
  35. data/dist/chunks/_typeahead-BBTOlWn7.js +1 -0
  36. data/dist/chunks/{globalProps-Ds_6HBhX.js → globalProps-Bn1WUHLp.js} +1 -1
  37. data/dist/chunks/{lib-BaO72ugL.js → lib-qwWYiGtH.js} +1 -1
  38. data/dist/chunks/vendor.js +4 -4
  39. data/dist/menu.yml +0 -1
  40. data/dist/playbook-rails-react-bindings.js +1 -1
  41. data/dist/playbook-rails.js +1 -1
  42. data/dist/playbook.css +1 -1
  43. data/lib/playbook/version.rb +1 -1
  44. metadata +17 -9
  45. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_closing_options_rails.html.erb +0 -16
  46. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_closing_options_rails.md +0 -1
  47. data/app/pb_kits/playbook/utilities/domHelpers.ts +0 -50
  48. data/dist/chunks/_typeahead-Bh0RF1X-.js +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3f5c3e22d3872b4b287c759a888ebc1b7d3ee7b9eeeb50d1262033cdb041231b
4
- data.tar.gz: 7e6dca0282b5a4cb6faf9b9e30916259cf976d44b2bd283d689c0378738e881a
3
+ metadata.gz: 3ddd7f3e4ea23c36481d2c86c6c225b12f374da8dabd1920092b73f8de3dacd9
4
+ data.tar.gz: cfec86cf912e4340e25b9e9c6d7193f34422b78b3ec2bd9447d2d71d140534f7
5
5
  SHA512:
6
- metadata.gz: e6d79cf66190fe54c8d4c53d72b7afbc5cc37ffde9212d51ad9492c0d1ee52e294aeb9f7386f701d34f5a63a1a97282cbcaf56a65e1e0543ee7968fbd47b8487
7
- data.tar.gz: 33fdb0d49f3577c1d2002b104e4df03e64c7ebe032e8b7f5c511c438e6fb1b9dec79c4fa3ee51c65638930ea5a2e98ee6af99d49c32c4def1d7c98f352454a69
6
+ metadata.gz: caae25a59bcb8c663dda62594ea096c85e14345a395536592384fe693b04fd5beb414d326920f7a1d3d914d2b6b014abf5e9d07b97c6c766c70731daa3c51b40
7
+ data.tar.gz: 3748d9efc6844631946106421191872b06c2e5ad6d0d38aa19d2947cc9abb4083cfb086b1d4a212b498ca39a8a0eea8cd32b817764127033bacf2a84480661bf
@@ -1,6 +1,5 @@
1
1
  import PbEnhancedElement from "../pb_enhanced_element";
2
2
  import { updateSelectionActionBar } from "./advanced_table_action_bar";
3
- import { setArrowVisibility, toggleVisibility } from "../utilities/domHelpers";
4
3
 
5
4
  const ADVANCED_TABLE_SELECTOR = "[data-advanced-table]";
6
5
  const DOWN_ARROW_SELECTOR = "#advanced-table_open_icon";
@@ -21,18 +20,10 @@ export default class PbAdvancedTable extends PbEnhancedElement {
21
20
  this.childRowsMap = new Map();
22
21
  }
23
22
 
24
- get table() {
25
- return this.cachedTable || (this.cachedTable = this.element.closest("table"));
26
- }
27
-
28
- get mainTable() {
29
- return this.cachedMainTable || (this.cachedMainTable = this.element.closest(".pb_advanced_table"));
30
- }
31
-
32
23
  // Fetch and cache child rows for a given parent row ID
33
24
  childRowsFor(parentId) {
34
25
  if (!this.childRowsMap.has(parentId)) {
35
- const table = this.table;
26
+ const table = this.element.closest("table");
36
27
  const rows = Array.from(
37
28
  table.querySelectorAll(`tr[data-row-parent="${parentId}"]`)
38
29
  );
@@ -42,8 +33,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
42
33
  }
43
34
 
44
35
  updateTableSelectedRowsAttribute() {
45
- const mainTable = this.mainTable;
46
- if (!mainTable) return;
36
+ const mainTable = this.element.closest(".pb_advanced_table");
47
37
  mainTable.dataset.selectedRows = JSON.stringify(
48
38
  Array.from(PbAdvancedTable.selectedRows)
49
39
  );
@@ -51,8 +41,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
51
41
 
52
42
  // Recalculate selected count based on all checked checkboxes
53
43
  recalculateSelectedCount() {
54
- const table = this.table;
55
- if (!table) return;
44
+ const table = this.element.closest("table");
56
45
 
57
46
  // Get all checkboxes that could be part of the selection
58
47
  // This includes row checkboxes and any parent checkboxes that might be programmatically checked
@@ -106,7 +95,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
106
95
  });
107
96
 
108
97
  this.updateTableSelectedRowsAttribute();
109
- updateSelectionActionBar(this.mainTable, PbAdvancedTable.selectedRows.size);
98
+ updateSelectionActionBar(table.closest(".pb_advanced_table"), PbAdvancedTable.selectedRows.size);
110
99
 
111
100
  // Sync header select-all state
112
101
  if (selectAllCheckbox) {
@@ -150,7 +139,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
150
139
 
151
140
  this.updateTableSelectedRowsAttribute();
152
141
 
153
- const table = this.table;
142
+ const table = checkbox.closest("table");
154
143
  const selectAllCheckbox = table.querySelector("#select-all-rows");
155
144
 
156
145
  if (selectAllCheckbox) {
@@ -164,7 +153,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
164
153
  );
165
154
  selectAllInput.checked = allChecked;
166
155
  }
167
- updateSelectionActionBar(this.mainTable, PbAdvancedTable.selectedRows.size);
156
+ updateSelectionActionBar(table.closest(".pb_advanced_table"), PbAdvancedTable.selectedRows.size);
168
157
  }
169
158
 
170
159
  get target() {
@@ -172,11 +161,10 @@ export default class PbAdvancedTable extends PbEnhancedElement {
172
161
  }
173
162
 
174
163
  connect() {
175
- const table = this.table;
176
- if (!table) return;
164
+ const table = this.element.closest("table");
177
165
 
178
166
  this.hideCloseIcon();
179
- const mainTable = this.mainTable;
167
+ const mainTable = this.element.closest(".pb_advanced_table");
180
168
 
181
169
  // This so it is hidden on first render
182
170
  if (mainTable) {
@@ -283,7 +271,9 @@ export default class PbAdvancedTable extends PbEnhancedElement {
283
271
  }
284
272
 
285
273
  // Find direct child rows
286
- const childRows = this.childRowsFor(toggleBtn.id);
274
+ const childRows = Array.from(
275
+ table.querySelectorAll(`[data-row-parent="${toggleBtn.id}"]`)
276
+ );
287
277
  this.toggleElement(childRows);
288
278
 
289
279
  // Restore original element context
@@ -294,8 +284,7 @@ export default class PbAdvancedTable extends PbEnhancedElement {
294
284
  }
295
285
 
296
286
  addBorderRadiusOnLastVisibleRow() {
297
- const parentElement = this.mainTable;
298
- if (!parentElement) return;
287
+ const parentElement = this.element.closest(".pb_advanced_table");
299
288
 
300
289
  const table = document.getElementById(parentElement.id);
301
290
 
@@ -327,9 +316,11 @@ export default class PbAdvancedTable extends PbEnhancedElement {
327
316
  elements.forEach((elem) => {
328
317
  elem.style.display = "table-row";
329
318
  elem.classList.add("is-visible");
330
- const childRowsAll = this.table.querySelectorAll(
331
- `[data-advanced-table-content^="${elem.dataset.advancedTableContent}-"]`
332
- );
319
+ const childRowsAll = this.element
320
+ .closest("table")
321
+ .querySelectorAll(
322
+ `[data-advanced-table-content^="${elem.dataset.advancedTableContent}-"]`
323
+ );
333
324
 
334
325
  childRowsAll.forEach((childRow) => {
335
326
  const dataContent = childRow.dataset.advancedTableContent;
@@ -391,7 +382,8 @@ export default class PbAdvancedTable extends PbEnhancedElement {
391
382
  const currentDepth = parseInt(elem.dataset.rowDepth);
392
383
  if (childrenArray.length > currentDepth) {
393
384
  // Find the child rows corresponding to this parent row
394
- const childRows = this.table
385
+ const childRows = this.element
386
+ .closest("table")
395
387
  .querySelectorAll(
396
388
  `[data-advanced-table-content^="${elem.dataset.advancedTableContent}-"]`
397
389
  );
@@ -409,39 +401,28 @@ export default class PbAdvancedTable extends PbEnhancedElement {
409
401
 
410
402
  const isVisible = elements[0].classList.contains("is-visible");
411
403
 
412
- const isExpanded = toggleVisibility({
413
- isVisible,
414
- onHide: () => this.hideElement(elements),
415
- onShow: () => this.showElement(elements),
416
- });
417
-
418
- isExpanded ? this.displayUpArrow() : this.displayDownArrow();
404
+ isVisible ? this.hideElement(elements) : this.showElement(elements);
405
+ isVisible ? this.displayDownArrow() : this.displayUpArrow();
419
406
 
420
407
  const row = this.element.closest("tr");
421
408
  if (row) {
422
- row.classList.toggle("bg-silver", isExpanded);
423
- row.classList.toggle("pb-bg-row-white", !isExpanded);
409
+ row.classList.toggle("bg-silver", !isVisible);
410
+ row.classList.toggle("pb-bg-row-white", isVisible);
424
411
  }
425
412
 
426
413
  this.addBorderRadiusOnLastVisibleRow();
427
414
  }
428
415
 
429
416
  displayDownArrow() {
430
- setArrowVisibility({
431
- rootElement: this.element,
432
- downSelector: DOWN_ARROW_SELECTOR,
433
- upSelector: UP_ARROW_SELECTOR,
434
- showDownArrow: true,
435
- });
417
+ this.element.querySelector(DOWN_ARROW_SELECTOR).style.display =
418
+ "inline-block";
419
+ this.element.querySelector(UP_ARROW_SELECTOR).style.display = "none";
436
420
  }
437
421
 
438
422
  displayUpArrow() {
439
- setArrowVisibility({
440
- rootElement: this.element,
441
- downSelector: DOWN_ARROW_SELECTOR,
442
- upSelector: UP_ARROW_SELECTOR,
443
- showDownArrow: false,
444
- });
423
+ this.element.querySelector(UP_ARROW_SELECTOR).style.display =
424
+ "inline-block";
425
+ this.element.querySelector(DOWN_ARROW_SELECTOR).style.display = "none";
445
426
  }
446
427
 
447
428
  static handleToggleAllHeaders(element) {
@@ -57,7 +57,7 @@ $pb_button_border_width: 0px;
57
57
  }
58
58
 
59
59
  .loading-icon {
60
- position: static;
60
+ position: absolute;
61
61
  display: none;
62
62
  }
63
63
  .pb_button_content {
@@ -158,15 +158,10 @@ $pb_button_border_width: 0px;
158
158
  // Loading =====================
159
159
  @mixin pb_button_loading($loading: false) {
160
160
  @if $loading == true {
161
- display: inline-grid;
162
- place-items: center;
163
-
164
161
  .loading-icon {
165
- grid-area: 1 / 1;
166
162
  display: block;
167
163
  }
168
164
  .pb_button_content {
169
- grid-area: 1 / 1;
170
165
  visibility: hidden;
171
166
  }
172
167
  }
@@ -1,5 +1,4 @@
1
1
  import PbEnhancedElement from '../pb_enhanced_element'
2
- import { getElementHeight, setArrowVisibility, toggleVisibility } from '../utilities/domHelpers'
3
2
 
4
3
  const MAIN_SELECTOR = '[data-collapsible-main]'
5
4
  const CONTENT_SELECTOR = '[data-collapsible-content]'
@@ -44,7 +43,15 @@ export default class PbCollapsible extends PbEnhancedElement {
44
43
  }
45
44
 
46
45
  showElement(elem) {
47
- const height = getElementHeight(elem)
46
+ // Get the natural height of the element
47
+ const getHeight = () => {
48
+ elem.style.display = 'block'
49
+ const height = elem.scrollHeight + 'px' // Get it's height
50
+ elem.style.display = '' // Hide it again
51
+ return height
52
+ }
53
+
54
+ const height = getHeight()
48
55
  elem.classList.add('is-visible')
49
56
  elem.style.height = height // Update the max-height
50
57
  elem.style.overflow = "hidden"
@@ -75,22 +82,26 @@ export default class PbCollapsible extends PbEnhancedElement {
75
82
  }
76
83
 
77
84
  toggleElement(elem) {
78
- const isExpanded = toggleVisibility({
79
- isVisible: elem.classList.contains('is-visible'),
80
- onHide: () => this.hideElement(elem),
81
- onShow: () => this.showElement(elem),
82
- })
83
-
84
- isExpanded ? this.displayUpArrow() : this.displayDownArrow()
85
+ if (elem.classList.contains('is-visible')) {
86
+ this.hideElement(elem)
87
+ this.displayDownArrow()
88
+ return
89
+ }
90
+ // Otherwise, show it
91
+ this.showElement(elem)
92
+ this.displayUpArrow()
85
93
  }
86
94
 
87
95
  toggleArrows(showDownArrow) {
88
- setArrowVisibility({
89
- rootElement: this.element,
90
- downSelector: DOWN_ARROW_SELECTOR,
91
- upSelector: UP_ARROW_SELECTOR,
92
- showDownArrow,
93
- })
96
+ const downArrow = this.element.querySelector(DOWN_ARROW_SELECTOR);
97
+ const upArrow = this.element.querySelector(UP_ARROW_SELECTOR);
98
+
99
+ if (downArrow) {
100
+ downArrow.style.display = showDownArrow ? 'inline-block' : 'none';
101
+ }
102
+ if (upArrow) {
103
+ upArrow.style.display = showDownArrow ? 'none' : 'inline-block';
104
+ }
94
105
  }
95
106
 
96
107
  displayDownArrow() {
@@ -535,9 +535,7 @@ const datePickerHelper = (config: DatePickerConfig, scrollContainer: string | HT
535
535
  // Code block triggers after form.reset() is called and executed
536
536
  setTimeout(() => {
537
537
  dropdown.value = picker.currentYear
538
- if (picker.monthsDropdownContainer) {
539
- picker.monthsDropdownContainer.value = picker.currentMonth
540
- }
538
+ picker.monthsDropdownContainer.value = picker.currentMonth
541
539
 
542
540
  /* Reset date picker to default value on form.reset() */
543
541
  if (defaultDate){
@@ -30,6 +30,7 @@ const DialogCompound = () => {
30
30
  label="Description"
31
31
  rows={4}
32
32
  />
33
+ <Caption marginBottom="xs">{'Description'}</Caption>
33
34
  <br />
34
35
  <Caption>
35
36
  {
@@ -1,20 +1,11 @@
1
1
  <%= pb_rails("button", props: { text: "Open Dialog", data: {"open-dialog": "dialog-1"} }) %>
2
2
 
3
- <%= pb_rails("dialog", props: {
4
- id:"dialog-1",
5
- size: "md",
6
- title: "Header Title is the Title Prop"
7
- }) do %>
8
- <%= pb_rails("dialog/dialog_body") do %>
9
- <%= pb_rails("button", props: { aria: { label: "Loading" }, loading: true, margin_right: "lg", text: "Button Primary" }) %>
10
- <div style="height: 800px; background-color: lightgray;"></div>
11
- <%= pb_rails("button", props: { loading: true, text: "Loading..." }) %>
12
- <% end %>
13
-
14
- <%= pb_rails("dialog/dialog_footer") do %>
15
- <%= pb_rails("flex", props: { spacing: "between", padding_x: "md", padding_bottom: "md", padding: "sm" }) do %>
16
- <%= pb_rails("button", props: { loading: true, text: "Send My Issue" }) %>
17
- <%= pb_rails("button", props: { text: "Back", variant: "link", data: {"close-dialog": "dialog-1"} }) %>
18
- <% end %>
19
- <% end %>
20
- <% end %>
3
+ <%= pb_rails("dialog", props: {
4
+ id:"dialog-1",
5
+ size: "sm",
6
+ title: "Header Title is the Title Prop",
7
+ text: "Hello Body Text, Nice to meet ya.",
8
+ cancel_button: "Cancel Button",
9
+ confirm_button: "Okay",
10
+ confirm_button_id: "confirm-button-1"
11
+ }) %>
@@ -12,35 +12,16 @@ const DialogDefault = () => {
12
12
  <>
13
13
  <Button onClick={open}>{'Open Dialog'}</Button>
14
14
  <Dialog
15
+ cancelButton="Cancel Button"
16
+ confirmButton="Okay"
15
17
  onCancel={close}
16
18
  onClose={close}
17
19
  onConfirm={close}
18
20
  opened={isOpen}
19
- size="md"
21
+ size="sm"
22
+ text="Hello Body Text, Nice to meet ya."
20
23
  title="Header Title is the Title Prop"
21
- >
22
- <Dialog.Body>
23
- <Button
24
- aria={{ label: 'Loading' }}
25
- loading
26
- text="Button Primary"
27
- />
28
- <div style={{height: '800px', backgroundColor: 'lightgray'}} />
29
- <Button
30
- loading
31
- text="Loading..."
32
- />
33
- </Dialog.Body>
34
- <Dialog.Footer>
35
- <Button
36
- loading
37
- text="Send My Issue"
38
- />
39
- <Button variant="link">
40
- {"Back"}
41
- </Button>
42
- </Dialog.Footer>
43
- </Dialog>
24
+ />
44
25
  </>
45
26
  )
46
27
  }
@@ -5,7 +5,7 @@ import Button from '../../pb_button/_button'
5
5
  import Dialog from '../../pb_dialog/_dialog'
6
6
  import Flex from '../../pb_flex/_flex'
7
7
  import Caption from '../../pb_caption/_caption'
8
- import Textarea from "../../pb_textarea/_textarea";
8
+ import Textarea from "../../pb_textarea";
9
9
  import Typeahead from '../../pb_typeahead/_typeahead'
10
10
 
11
11
  const useDialog = (visible = false) => {
@@ -77,7 +77,7 @@ const DialogFullHeightPlacement = () => {
77
77
  </Dialog.Header>
78
78
  <Dialog.Body>
79
79
  <Textarea
80
- id={`default-example-2-${index}`}
80
+ id="default-example-2"
81
81
  label="Description"
82
82
  rows={4}
83
83
  />
@@ -15,9 +15,6 @@
15
15
  .pb_dropdown_quickpick,
16
16
  .pb_dropdown_default_separators_hidden,
17
17
  .pb_dropdown_subtle_separators_hidden {
18
- label {
19
- display: block !important;
20
- }
21
18
  .dropdown_wrapper {
22
19
  .dropdown_trigger_wrapper,
23
20
  .dropdown_trigger_wrapper_focus,
@@ -441,7 +441,6 @@ let Dropdown = (props: DropdownProps, ref: any): React.ReactElement | null => {
441
441
  value={{
442
442
  activeStyle,
443
443
  autocomplete,
444
- blankSelection,
445
444
  clearable,
446
445
  dropdownContainerRef,
447
446
  error,
@@ -25,7 +25,6 @@ examples:
25
25
  - dropdown_separators_hidden: Separators Hidden
26
26
  - dropdown_with_clearable: Clearable
27
27
  - dropdown_with_constrain_height_rails: Constrain Height
28
- - dropdown_closing_options_rails: Closing Options
29
28
  - dropdown_quickpick_rails: Quick Pick Variant
30
29
  - dropdown_quickpick_range_end_rails: Quick Pick Variant (Range Ends Today)
31
30
  - dropdown_quickpick_default_dates: Quick Pick Variant (Default Dates)
@@ -39,9 +39,6 @@ module Playbook
39
39
  default: ""
40
40
  prop :clearable, type: Playbook::Props::Boolean,
41
41
  default: true
42
- prop :close_on_click, type: Playbook::Props::Enum,
43
- values: %w[outside inside any],
44
- default: "any"
45
42
  prop :start_date_id, type: Playbook::Props::String,
46
43
  default: "start_date_id"
47
44
  prop :start_date_name, type: Playbook::Props::String,
@@ -62,7 +59,6 @@ module Playbook
62
59
  pb_dropdown_multi_select: multi_select,
63
60
  pb_dropdown_variant: variant,
64
61
  pb_dropdown_clearable: clearable,
65
- pb_dropdown_close_on_click: close_on_click,
66
62
  form_pill_props: form_pill_props.to_json,
67
63
  start_date_id: variant == "quickpick" ? start_date_id : nil,
68
64
  end_date_id: variant == "quickpick" ? end_date_id : nil,