playbook_ui 15.3.0.pre.alpha.PLAY258611978 → 15.3.0.pre.alpha.PLAY260211773

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 (92) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +5 -4
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color.md +1 -1
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color_rails.md +1 -1
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns_and_header.md +1 -1
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +1 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_react.md +1 -1
  8. data/app/pb_kits/playbook/pb_background/docs/_background_category.md +1 -1
  9. data/app/pb_kits/playbook/pb_card/docs/_card_background.md +1 -1
  10. data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
  11. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.md +1 -1
  12. data/app/pb_kits/playbook/pb_card/docs/_card_light.md +1 -1
  13. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +0 -2
  14. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +4 -16
  15. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +1 -2
  16. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +1 -2
  17. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.md +1 -1
  18. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +0 -1
  19. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +6 -111
  20. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options_react.md +1 -1
  21. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -5
  22. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +1 -5
  23. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +2 -148
  24. data/app/pb_kits/playbook/pb_filter/docs/_filter_max_width.md +1 -1
  25. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_rails.md +1 -1
  26. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_react.md +1 -1
  27. data/app/pb_kits/playbook/pb_icon/docs/_icon_color.md +1 -1
  28. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color.md +1 -1
  29. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.html.erb +14 -7
  30. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.jsx +15 -6
  31. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.md +1 -1
  32. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_item_spacing.md +1 -1
  33. data/app/pb_kits/playbook/pb_nav/docs/_nav_with_spacing_control.md +1 -1
  34. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_layout.md +1 -1
  35. data/app/pb_kits/playbook/pb_pill/docs/_description.md +1 -1
  36. data/app/pb_kits/playbook/pb_popover/_popover.tsx +34 -69
  37. data/app/pb_kits/playbook/pb_popover/docs/example.yml +0 -1
  38. data/app/pb_kits/playbook/pb_popover/docs/index.js +0 -1
  39. data/app/pb_kits/playbook/pb_popover/popover.test.js +0 -80
  40. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_description.md +1 -1
  41. data/app/pb_kits/playbook/pb_section_separator/docs/_description.md +1 -1
  42. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +0 -29
  43. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius_rails.md +1 -1
  44. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius_react.md +1 -1
  45. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.md +1 -1
  46. data/app/pb_kits/playbook/pb_table/docs/_table_side_highlight.md +1 -1
  47. data/app/pb_kits/playbook/pb_table/docs/_table_sm.md +1 -1
  48. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -2
  49. data/app/pb_kits/playbook/pb_table/docs/index.js +0 -1
  50. data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -2
  51. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +0 -41
  52. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +9 -23
  53. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default_options.html.erb +1 -67
  54. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default_value.jsx +6 -68
  55. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md +1 -1
  56. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -2
  57. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -2
  58. data/dist/chunks/{_line_graph-BokgW0SI.js → _line_graph-DdZxz7Mk.js} +1 -1
  59. data/dist/chunks/_typeahead-KEbTTXol.js +6 -0
  60. data/dist/chunks/_weekday_stacked-uS4ALvGc.js +37 -0
  61. data/dist/chunks/{lib-BXBHAZMY.js → lib-CGxXTQ75.js} +1 -1
  62. data/dist/chunks/{pb_form_validation-BZppqQZM.js → pb_form_validation-DebqlUKZ.js} +1 -1
  63. data/dist/chunks/vendor.js +1 -1
  64. data/dist/playbook-doc.js +2 -2
  65. data/dist/playbook-rails-react-bindings.js +1 -1
  66. data/dist/playbook-rails.js +1 -1
  67. data/dist/playbook.css +1 -1
  68. data/lib/playbook/version.rb +1 -1
  69. metadata +8 -28
  70. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_and_dropdown_range..md +0 -14
  71. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_and_dropdown_range.jsx +0 -38
  72. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick.jsx +0 -18
  73. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick.md +0 -4
  74. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_default_dates.jsx +0 -18
  75. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_default_dates.md +0 -1
  76. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_range_end.jsx +0 -19
  77. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_range_end.md +0 -1
  78. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_with_date_pickers.jsx +0 -38
  79. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_with_date_pickers.md +0 -14
  80. data/app/pb_kits/playbook/pb_dropdown/quickpick/index.ts +0 -60
  81. data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to.jsx +0 -68
  82. data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to_react.md +0 -1
  83. data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible.html.erb +0 -63
  84. data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible.jsx +0 -89
  85. data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_rails.md +0 -4
  86. data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_react.md +0 -3
  87. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_options.html.erb +0 -64
  88. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_options.jsx +0 -70
  89. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_options.md +0 -1
  90. data/dist/chunks/_typeahead-BR-uKbcO.js +0 -6
  91. data/dist/chunks/_weekday_stacked-n_2SPgc2.js +0 -37
  92. /data/app/pb_kits/playbook/pb_popover/docs/{_popover_append_to_rails.md → _popover_append_to.md} +0 -0
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "15.3.0"
5
- VERSION = "15.3.0.pre.alpha.PLAY258611978"
5
+ VERSION = "15.3.0.pre.alpha.PLAY260211773"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.3.0.pre.alpha.PLAY258611978
4
+ version: 15.3.0.pre.alpha.PLAY260211773
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2025-11-03 00:00:00.000000000 Z
12
+ date: 2025-10-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -1003,8 +1003,6 @@ files:
1003
1003
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.html.erb
1004
1004
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.jsx
1005
1005
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.md
1006
- - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_and_dropdown_range..md
1007
- - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_and_dropdown_range.jsx
1008
1006
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_anti_patterns.html.erb
1009
1007
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb
1010
1008
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx
@@ -1368,14 +1366,6 @@ files:
1368
1366
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.jsx
1369
1367
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.html.erb
1370
1368
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.jsx
1371
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick.jsx
1372
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick.md
1373
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_default_dates.jsx
1374
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_default_dates.md
1375
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_range_end.jsx
1376
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_range_end.md
1377
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_with_date_pickers.jsx
1378
- - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_with_date_pickers.md
1379
1369
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_separators_hidden.html.erb
1380
1370
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_separators_hidden.jsx
1381
1371
  - app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.jsx
@@ -1440,7 +1430,6 @@ files:
1440
1430
  - app/pb_kits/playbook/pb_dropdown/hooks/useHandleOnKeydown.tsx
1441
1431
  - app/pb_kits/playbook/pb_dropdown/index.js
1442
1432
  - app/pb_kits/playbook/pb_dropdown/keyboard_accessibility.js
1443
- - app/pb_kits/playbook/pb_dropdown/quickpick/index.ts
1444
1433
  - app/pb_kits/playbook/pb_dropdown/scss_partials/_dropdown_animation.scss
1445
1434
  - app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownContainer.tsx
1446
1435
  - app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx
@@ -2649,9 +2638,7 @@ files:
2649
2638
  - app/pb_kits/playbook/pb_popover/docs/_popover_actionable_content.html.erb
2650
2639
  - app/pb_kits/playbook/pb_popover/docs/_popover_actionable_content.jsx
2651
2640
  - app/pb_kits/playbook/pb_popover/docs/_popover_append_to.html.erb
2652
- - app/pb_kits/playbook/pb_popover/docs/_popover_append_to.jsx
2653
- - app/pb_kits/playbook/pb_popover/docs/_popover_append_to_rails.md
2654
- - app/pb_kits/playbook/pb_popover/docs/_popover_append_to_react.md
2641
+ - app/pb_kits/playbook/pb_popover/docs/_popover_append_to.md
2655
2642
  - app/pb_kits/playbook/pb_popover/docs/_popover_close.html.erb
2656
2643
  - app/pb_kits/playbook/pb_popover/docs/_popover_close.jsx
2657
2644
  - app/pb_kits/playbook/pb_popover/docs/_popover_default.html.erb
@@ -3191,10 +3178,6 @@ files:
3191
3178
  - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.md
3192
3179
  - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.html.erb
3193
3180
  - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.md
3194
- - app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible.html.erb
3195
- - app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible.jsx
3196
- - app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_rails.md
3197
- - app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_react.md
3198
3181
  - app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless.html.erb
3199
3182
  - app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless.jsx
3200
3183
  - app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless_rails.md
@@ -3588,9 +3571,6 @@ files:
3588
3571
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
3589
3572
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.jsx
3590
3573
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_menu_list.jsx
3591
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_options.html.erb
3592
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_options.jsx
3593
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_options.md
3594
3574
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb
3595
3575
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx
3596
3576
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default_options.html.erb
@@ -3811,13 +3791,13 @@ files:
3811
3791
  - app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
3812
3792
  - app/pb_kits/playbook/utilities/text.ts
3813
3793
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3814
- - dist/chunks/_line_graph-BokgW0SI.js
3815
- - dist/chunks/_typeahead-BR-uKbcO.js
3816
- - dist/chunks/_weekday_stacked-n_2SPgc2.js
3794
+ - dist/chunks/_line_graph-DdZxz7Mk.js
3795
+ - dist/chunks/_typeahead-KEbTTXol.js
3796
+ - dist/chunks/_weekday_stacked-uS4ALvGc.js
3817
3797
  - dist/chunks/componentRegistry-DzmmLR2x.js
3818
3798
  - dist/chunks/lazysizes-B7xYodB-.js
3819
- - dist/chunks/lib-BXBHAZMY.js
3820
- - dist/chunks/pb_form_validation-BZppqQZM.js
3799
+ - dist/chunks/lib-CGxXTQ75.js
3800
+ - dist/chunks/pb_form_validation-DebqlUKZ.js
3821
3801
  - dist/chunks/vendor.js
3822
3802
  - dist/menu.yml
3823
3803
  - dist/playbook-doc.js
@@ -1,14 +0,0 @@
1
- You can link a Dropdown (`quickpick` variant) to standard DatePickers using the following props:
2
-
3
- **For the Dropdown**:
4
- `controlsStartId`: ID of the DatePicker that should receive the start date.
5
-
6
- `controlsEndId`: ID of the DatePicker that should receive the end date.
7
-
8
- When a quickpick option like “This Year” is selected, it automatically populates the linked start and end inputs.
9
-
10
- **For the Start/End DatePickers**:
11
- `syncStartWith`: ID of the quickpick this start date is synced to.
12
- `syncEndWith`: ID of the quickpick this end date is synced to.
13
-
14
- When a user manually edits the start or end date, it clears the selected quickpick to prevent conflicting values.
@@ -1,38 +0,0 @@
1
- import React from "react";
2
- import Dropdown from "../../pb_dropdown/_dropdown";
3
- import DatePicker from "../../pb_date_picker/_date_picker";
4
-
5
- const DatePickerAndDropdownRange = (props) => {
6
- return (
7
- <>
8
- <Dropdown
9
- controlsEndId="end-date-picker1"
10
- controlsStartId="start-date-picker1"
11
- id="dropdown-as-quickpick"
12
- label="Date Range"
13
- marginBottom="sm"
14
- placeholder="Select a Date Range"
15
- variant="quickpick"
16
- {...props}
17
- />
18
-
19
- <DatePicker
20
- label="Start Date"
21
- pickerId="start-date-picker1"
22
- placeholder="Select a Start Date"
23
- syncStartWith="dropdown-as-quickpick"
24
- {...props}
25
- />
26
-
27
- <DatePicker
28
- label="End Date"
29
- pickerId="end-date-picker1"
30
- placeholder="Select an End Date"
31
- syncEndWith="dropdown-as-quickpick"
32
- {...props}
33
- />
34
- </>
35
- );
36
- };
37
-
38
- export default DatePickerAndDropdownRange;
@@ -1,18 +0,0 @@
1
- import React from 'react'
2
- import Dropdown from '../../pb_dropdown/_dropdown'
3
-
4
- const DropdownQuickpick = (props) => {
5
-
6
- return (
7
- <div>
8
- <Dropdown
9
- label="Date Range"
10
- onSelect={(selectedItem) => console.log(selectedItem)}
11
- variant="quickpick"
12
- {...props}
13
- />
14
- </div>
15
- )
16
- }
17
-
18
- export default DropdownQuickpick
@@ -1,4 +0,0 @@
1
- The QuickPick variant provides predefined date based options when `variant="quickpick"` is used.
2
-
3
- Open the Dropdown above to see the default options.
4
-
@@ -1,18 +0,0 @@
1
- import React from 'react'
2
- import Dropdown from '../../pb_dropdown/_dropdown'
3
-
4
- const DropdownQuickpickDefaultDates = (props) => {
5
-
6
- return (
7
- <div>
8
- <Dropdown
9
- defaultValue="This Year"
10
- label="Date Range"
11
- variant="quickpick"
12
- {...props}
13
- />
14
- </div>
15
- )
16
- }
17
-
18
- export default DropdownQuickpickDefaultDates
@@ -1 +0,0 @@
1
- To set a default value for the Dropdown, you can use the label of the range you want set as default, for example "This Year", "Today", etc.
@@ -1,19 +0,0 @@
1
- import React from 'react'
2
- import Dropdown from '../../pb_dropdown/_dropdown'
3
-
4
- const DropdownQuickpickRangeEnd = (props) => {
5
-
6
- return (
7
- <div>
8
- <Dropdown
9
- label="Date Range"
10
- onSelect={(selectedItem) => console.log(selectedItem)}
11
- rangeEndsToday
12
- variant="quickpick"
13
- {...props}
14
- />
15
- </div>
16
- )
17
- }
18
-
19
- export default DropdownQuickpickRangeEnd
@@ -1 +0,0 @@
1
- The optional `rangeEndsToday` prop can be used with the quickpick variant to set end date on all ranges that start with 'this' to today's date. For instance, by default 'This Year' will set end day to 12/31/(current year), but if `rangeEndsToday` prop is used, end date on that range will be today's date.
@@ -1,38 +0,0 @@
1
- import React from "react";
2
- import Dropdown from "../../pb_dropdown/_dropdown";
3
- import DatePicker from "../../pb_date_picker/_date_picker";
4
-
5
- const DropdownQuickpickWithDatePickers = (props) => {
6
- return (
7
- <>
8
- <Dropdown
9
- controlsEndId="end-date-picker"
10
- controlsStartId="start-date-picker"
11
- id="dropdown-quickpick"
12
- label="Range"
13
- marginBottom="sm"
14
- placeholder="Select a Date Range"
15
- variant="quickpick"
16
- {...props}
17
- />
18
-
19
- <DatePicker
20
- label="Start Date"
21
- pickerId="start-date-picker"
22
- placeholder="Select a Start Date"
23
- syncStartWith="dropdown-quickpick"
24
- {...props}
25
- />
26
-
27
- <DatePicker
28
- label="End Date"
29
- pickerId="end-date-picker"
30
- placeholder="Select an End Date"
31
- syncEndWith="dropdown-quickpick"
32
- {...props}
33
- />
34
- </>
35
- );
36
- };
37
-
38
- export default DropdownQuickpickWithDatePickers;
@@ -1,14 +0,0 @@
1
- You can link a Dropdown (`quickpick` variant) to standard DatePickers using the following props:
2
-
3
- **For the Dropdown**:
4
- `controlsStartId`: ID of the DatePicker that should receive the start date.
5
-
6
- `controlsEndId`: ID of the DatePicker that should receive the end date.
7
-
8
- When a quickpick option like “This Year” is selected, it automatically populates the linked start and end inputs.
9
-
10
- **For the Start/End DatePickers**:
11
- `syncStartWith`: ID of the quickpick this start date is synced to.
12
- `syncEndWith`: ID of the quickpick this end date is synced to.
13
-
14
- When a user manually edits the start or end date, it clears the selected quickpick to prevent conflicting values.
@@ -1,60 +0,0 @@
1
- // QuickPick default options for Dropdown
2
- // This provides date range options similar to the DatePicker QuickPick functionality
3
-
4
- import DateTime from '../../pb_kit/dateTime';
5
-
6
- type QuickPickOption = {
7
- label: string;
8
- value: Date[];
9
- formattedStartDate?: string;
10
- formattedEndDate?: string;
11
- id?: string;
12
- };
13
-
14
- // Helper to get QuickPick options with date ranges
15
- const getQuickPickOptions = (rangeEndsToday = false): QuickPickOption[] => {
16
- const today = new Date();
17
- const yesterday = DateTime.getYesterdayDate(new Date());
18
-
19
- const thisWeekStartDate = DateTime.getFirstDayOfWeek(new Date());
20
- const thisWeekEndDate = rangeEndsToday ? new Date() : DateTime.getLastDayOfWeek(new Date());
21
- const lastWeekStartDate = DateTime.getPreviousWeekStartDate(new Date());
22
- const lastWeekEndDate = DateTime.getPreviousWeekEndDate(new Date());
23
-
24
- const thisMonthStartDate = DateTime.getMonthStartDate(new Date());
25
- const thisMonthEndDate = rangeEndsToday ? new Date() : DateTime.getMonthEndDate(new Date());
26
- const lastMonthStartDate = DateTime.getPreviousMonthStartDate(new Date());
27
- const lastMonthEndDate = DateTime.getPreviousMonthEndDate(new Date());
28
-
29
- const thisQuarterStartDate = DateTime.getQuarterStartDate(new Date());
30
- const thisQuarterEndDate = rangeEndsToday ? new Date() : DateTime.getQuarterEndDate(new Date());
31
- const lastQuarterStartDate = DateTime.getPreviousQuarterStartDate(new Date());
32
- const lastQuarterEndDate = DateTime.getPreviousQuarterEndDate(new Date());
33
-
34
- const thisYearStartDate = DateTime.getYearStartDate(new Date());
35
- const thisYearEndDate = rangeEndsToday ? new Date() : DateTime.getYearEndDate(new Date());
36
- const lastYearStartDate = DateTime.getPreviousYearStartDate(new Date());
37
- const lastYearEndDate = DateTime.getPreviousYearEndDate(new Date());
38
-
39
- const formatDate = (date: Date) => {
40
- const day = String(date.getDate()).padStart(2, "0")
41
- const month = String(date.getMonth() + 1).padStart(2, "0")
42
- const year = date.getFullYear()
43
-
44
- return `${month}/${day}/${year}`
45
- }
46
- return [
47
- { label: 'Today', value: [today, today], id: 'quickpick-today' },
48
- { label: 'Yesterday', value: [yesterday, yesterday], formattedStartDate: `${formatDate(yesterday)}`, formattedEndDate: `${formatDate(yesterday)}`, id: 'quickpick-yesterday' },
49
- { label: 'This Week', value: [thisWeekStartDate, thisWeekEndDate], formattedStartDate: `${formatDate(thisWeekStartDate)}`, formattedEndDate: `${formatDate(thisWeekEndDate)}`, id: 'quickpick-this-week' },
50
- { label: 'This Month', value: [thisMonthStartDate, thisMonthEndDate], formattedStartDate: `${formatDate(thisMonthStartDate)}`, formattedEndDate: `${formatDate(thisMonthEndDate)}`, id: 'quickpick-this-month' },
51
- { label: 'This Quarter', value: [thisQuarterStartDate, thisQuarterEndDate], formattedStartDate: `${formatDate(thisQuarterStartDate)}`, formattedEndDate: `${formatDate(thisQuarterEndDate)}`, id: 'quickpick-this-quarter' },
52
- { label: 'This Year', value: [thisYearStartDate, thisYearEndDate], formattedStartDate: `${formatDate(thisYearStartDate)}`, formattedEndDate: `${formatDate(thisYearEndDate)}`, id: 'quickpick-this-year' },
53
- { label: 'Last Week', value: [lastWeekStartDate, lastWeekEndDate], formattedStartDate: `${formatDate(lastWeekStartDate)}`, formattedEndDate: `${formatDate(lastWeekEndDate)}`, id: 'quickpick-last-week' },
54
- { label: 'Last Month', value: [lastMonthStartDate, lastMonthEndDate], formattedStartDate: `${formatDate(lastMonthStartDate)}`, formattedEndDate: `${formatDate(lastMonthEndDate)}`, id: 'quickpick-last-month' },
55
- { label: 'Last Quarter', value: [lastQuarterStartDate, lastQuarterEndDate], formattedStartDate: `${formatDate(lastQuarterStartDate)}`, formattedEndDate: `${formatDate(lastQuarterEndDate)}`, id: 'quickpick-last-quarter' },
56
- { label: 'Last Year', value: [lastYearStartDate, lastYearEndDate], formattedStartDate: `${formatDate(lastYearStartDate)}`, formattedEndDate: `${formatDate(lastYearEndDate)}`, id: 'quickpick-last-year' },
57
- ];
58
- };
59
-
60
- export default getQuickPickOptions
@@ -1,68 +0,0 @@
1
- import React, { useState } from "react";
2
- import { PbReactPopover, CircleIconButton, Body, Flex } from "playbook-ui";
3
-
4
- const PopoverAppendTo = (props) => {
5
- const [showParentPopover, setShowParentPopover] = useState(false);
6
- const [showSelectorPopover, setShowSelectorPopover] = useState(false);
7
-
8
- const parentPopoverReference = (
9
- <CircleIconButton
10
- icon="info"
11
- onClick={() => setShowParentPopover(!showParentPopover)}
12
- variant="secondary"
13
- />
14
- );
15
-
16
- const selectorPopoverReference = (
17
- <CircleIconButton
18
- icon="info"
19
- onClick={() => setShowSelectorPopover(!showSelectorPopover)}
20
- variant="secondary"
21
- />
22
- );
23
-
24
- return (
25
- <>
26
- <Flex
27
- marginBottom="md"
28
- orientation="row"
29
- vertical="center"
30
- {...props}
31
- >
32
- <Body text="Click info for more details" />
33
- &nbsp;
34
- <PbReactPopover
35
- appendTo="parent"
36
- offset
37
- placement="top"
38
- reference={parentPopoverReference}
39
- show={showParentPopover}
40
- {...props}
41
- >
42
- {'I\'m a popover. I have been appended to my parent element.'}
43
- </PbReactPopover>
44
- </Flex>
45
-
46
- <Flex
47
- orientation="row"
48
- vertical="center"
49
- {...props}
50
- >
51
- <Body text="Click info for more details" />
52
- &nbsp;
53
- <PbReactPopover
54
- appendTo=".kit-show-wrapper"
55
- offset
56
- placement="top"
57
- reference={selectorPopoverReference}
58
- show={showSelectorPopover}
59
- {...props}
60
- >
61
- {'I\'m a popover. I have been appended to the .kit-show-wrapper.'}
62
- </PbReactPopover>
63
- </Flex>
64
- </>
65
- );
66
- };
67
-
68
- export default PopoverAppendTo;
@@ -1 +0,0 @@
1
- By default, the popover tooltip attaches to the `<body>`. To attach it elsewhere, use the `appendTo` prop. Set it to `"parent"` to place the tooltip inside its parent element, or pass any CSS selector (`#id` or `.class`) to specify a custom container.
@@ -1,63 +0,0 @@
1
- <% content = capture do %>
2
- <%= pb_rails("card", props: { border_none: true, border_radius: "none", padding: "md" }) do %>
3
- <%= pb_rails("body", props: { text: "Nested content inside a Table Row" }) %>
4
- <% end %>
5
- <% end %>
6
-
7
- <%= pb_rails("table", props: { size: "sm" }) do %>
8
- <%= pb_rails("table/table_head") do %>
9
- <%= pb_rails("table/table_row") do %>
10
- <%= pb_rails("table/table_header", props: { text: "Column 1"}) %>
11
- <%= pb_rails("table/table_header", props: { text: "Column 2"}) %>
12
- <%= pb_rails("table/table_header", props: { text: "Column 3"}) %>
13
- <%= pb_rails("table/table_header", props: { text: "Column 4"}) %>
14
- <%= pb_rails("table/table_header", props: { text: "Column 5"}) %>
15
- <%= pb_rails("table/table_header", props: { text: ""}) %>
16
- <% end %>
17
- <% end %>
18
- <%= pb_rails("table/table_body") do %>
19
- <%= pb_rails("table/table_row", props: { collapsible: true, collapsible_content: content, collapsible_side_highlight: true, id: "11" }) do %>
20
- <%= pb_rails("table/table_cell", props: { text: "Value 1", html_options: { onclick: "toggleArrows()" }}) %>
21
- <%= pb_rails("table/table_cell", props: { text: "Value 2", html_options: { onclick: "toggleArrows()" }}) %>
22
- <%= pb_rails("table/table_cell", props: { text: "Value 3", html_options: { onclick: "toggleArrows()" }}) %>
23
- <%= pb_rails("table/table_cell", props: { text: "Value 4", html_options: { onclick: "toggleArrows()" }}) %>
24
- <%= pb_rails("table/table_cell", props: { text: "Value 5", html_options: { onclick: "toggleArrows()" }}) %>
25
- <%= pb_rails("table/table_cell", props: { text_align: "right", html_options: { onclick: "toggleArrows()" }}) do %>
26
- <%= pb_rails("icon", props: {id: "chevron-icon-down", icon: "chevron-down", fixed_width: true, color: "primary" }) %>
27
- <%= pb_rails("icon", props: {id: "chevron-icon-up", icon: "chevron-up", fixed_width: true, color: "primary" }) %>
28
- <% end %>
29
- <% end %>
30
- <%= pb_rails("table/table_row") do %>
31
- <%= pb_rails("table/table_cell", props: { text: "Value 1"}) %>
32
- <%= pb_rails("table/table_cell", props: { text: "Value 2"}) %>
33
- <%= pb_rails("table/table_cell", props: { text: "Value 3"}) %>
34
- <%= pb_rails("table/table_cell", props: { text: "Value 4"}) %>
35
- <%= pb_rails("table/table_cell", props: { text: "Value 5"}) %>
36
- <%= pb_rails("table/table_cell", props: { text: ""}) %>
37
- <% end %>
38
- <%= pb_rails("table/table_row") do %>
39
- <%= pb_rails("table/table_cell", props: { text: "Value 1"}) %>
40
- <%= pb_rails("table/table_cell", props: { text: "Value 2"}) %>
41
- <%= pb_rails("table/table_cell", props: { text: "Value 3"}) %>
42
- <%= pb_rails("table/table_cell", props: { text: "Value 4"}) %>
43
- <%= pb_rails("table/table_cell", props: { text: "Value 5"}) %>
44
- <%= pb_rails("table/table_cell", props: { text: ""}) %>
45
- <% end %>
46
- <% end %>
47
- <% end %>
48
-
49
- <script>
50
- const downArrow = document.getElementById("chevron-icon-down");
51
- const upArrow = document.getElementById("chevron-icon-up");
52
-
53
- upArrow.style.display = upArrow.style.display === 'none' ? 'inline-block' : 'none';
54
-
55
- function toggleArrows() {
56
- if (downArrow) {
57
- downArrow.style.display = downArrow.style.display === 'none' ? 'inline-block' : 'none';
58
- }
59
- if (upArrow) {
60
- upArrow.style.display = upArrow.style.display === 'none' ? 'inline-block' : 'none';
61
- }
62
- }
63
- </script>
@@ -1,89 +0,0 @@
1
- import React, { useState } from 'react'
2
- import Table from '../_table'
3
- import Icon from '../../pb_icon/_icon'
4
- import Card from '../../pb_card/_card'
5
- import Body from '../../pb_body/_body'
6
-
7
- const TableWithDynamicCollapsible = (props) => {
8
-
9
- const [isOpen, setIsOpen] = useState(false);
10
-
11
- const handleToggleArrows = () => {
12
- setIsOpen(!isOpen)
13
- }
14
-
15
- const Content = () => {
16
- return (
17
- <Card
18
- borderNone
19
- borderRadius="none"
20
- padding="md"
21
- {...props}
22
- >
23
- <Body {...props}>Nested content inside a Table Row</Body>
24
- </Card>
25
- );
26
- };
27
-
28
- return (
29
- <Table
30
- size="sm"
31
- {...props}
32
- >
33
- <Table.Head>
34
- <Table.Row>
35
- <Table.Header>{'Column 1'}</Table.Header>
36
- <Table.Header>{'Column 2'}</Table.Header>
37
- <Table.Header>{'Column 3'}</Table.Header>
38
- <Table.Header>{'Column 4'}</Table.Header>
39
- <Table.Header>{'Column 5'}</Table.Header>
40
- <Table.Header>{''}</Table.Header>
41
- </Table.Row>
42
-
43
- </Table.Head>
44
- <Table.Body>
45
-
46
- <Table.Row collapsible
47
- collapsibleContent={<Content />}
48
- {...props}
49
- >
50
- <Table.Cell htmlOptions={{ onClick: handleToggleArrows }}>{'Value 1'}</Table.Cell>
51
- <Table.Cell htmlOptions={{ onClick: handleToggleArrows }}>{'Value 2'}</Table.Cell>
52
- <Table.Cell htmlOptions={{ onClick: handleToggleArrows }}>{'Value 3'}</Table.Cell>
53
- <Table.Cell htmlOptions={{ onClick: handleToggleArrows }}>{'Value 4'}</Table.Cell>
54
- <Table.Cell htmlOptions={{ onClick: handleToggleArrows }}>{'Value 5'}</Table.Cell>
55
- <Table.Cell
56
- htmlOptions={{ onClick: handleToggleArrows }}
57
- textAlign="right"
58
- >
59
- {
60
- <Icon
61
- color="primary"
62
- fixedWidth
63
- icon={isOpen ? 'chevron-up' : 'chevron-down'}
64
- />}
65
- </Table.Cell>
66
-
67
- </Table.Row>
68
- <Table.Row>
69
- <Table.Cell>{'Value 1'}</Table.Cell>
70
- <Table.Cell>{'Value 2'}</Table.Cell>
71
- <Table.Cell>{'Value 3'}</Table.Cell>
72
- <Table.Cell>{'Value 4'}</Table.Cell>
73
- <Table.Cell>{'Value 5'}</Table.Cell>
74
- <Table.Cell>{''}</Table.Cell>
75
- </Table.Row>
76
- <Table.Row>
77
- <Table.Cell>{'Value 1'}</Table.Cell>
78
- <Table.Cell>{'Value 2'}</Table.Cell>
79
- <Table.Cell>{'Value 3'}</Table.Cell>
80
- <Table.Cell>{'Value 4'}</Table.Cell>
81
- <Table.Cell>{'Value 5'}</Table.Cell>
82
- <Table.Cell>{''}</Table.Cell>
83
- </Table.Row>
84
- </Table.Body>
85
- </Table>
86
- )
87
- }
88
-
89
- export default TableWithDynamicCollapsible
@@ -1,4 +0,0 @@
1
- The `collapsible` prop can be used on any Table Row to add a collapsible area. Use the additional `collapsible_content` prop to add any content to the collapsible Row.
2
- Please be aware that you will need to pass in an `id` to any table rows you want to be collapsible. Make sure every `id` is unique if you are using multipe collapsibles.
3
-
4
- Follow this example to make the icons dynamic following the state of the collapsible.
@@ -1,3 +0,0 @@
1
- The `collapsible` prop can be used on any Table Row to add a collapsible area. Use the additional `collapsibleContent` prop to add any content to the collapsible Row.
2
-
3
- Follow this example to make the icons dynamic following the state of the collapsible.
@@ -1,64 +0,0 @@
1
- <%
2
- grouped_options = [
3
- {
4
- label: "Warm Colors",
5
- options: [
6
- { label: "Red", value: "#FF0000" },
7
- { label: "Orange", value: "#FFA500" },
8
- { label: "Yellow", value: "#FFFF00" },
9
- { label: "Coral", value: "#FF7F50" },
10
- { label: "Gold", value: "#FFD700" }
11
- ]
12
- },
13
- {
14
- label: "Cool Colors",
15
- options: [
16
- { label: "Blue", value: "#0000FF" },
17
- { label: "Teal", value: "#008080" },
18
- { label: "Cyan", value: "#00FFFF" },
19
- { label: "Navy", value: "#000080" },
20
- { label: "Turquoise", value: "#40E0D0" }
21
- ]
22
- },
23
- {
24
- label: "Neutrals",
25
- options: [
26
- { label: "White", value: "#FFFFFF" },
27
- { label: "Black", value: "#000000" },
28
- { label: "Gray", value: "#808080" },
29
- { label: "Beige", value: "#F5F5DC" },
30
- { label: "Silver", value: "#C0C0C0" }
31
- ]
32
- },
33
- {
34
- label: "Earth Tones",
35
- options: [
36
- { label: "Brown", value: "#A52A2A" },
37
- { label: "Olive", value: "#808000" },
38
- { label: "Forest Green", value: "#228B22" },
39
- { label: "Tan", value: "#D2B48C" },
40
- { label: "Maroon", value: "#800000" }
41
- ]
42
- },
43
- {
44
- label: "Fun Shades",
45
- options: [
46
- { label: "Pink", value: "#FFC0CB" },
47
- { label: "Magenta", value: "#FF00FF" },
48
- { label: "Lime", value: "#00FF00" },
49
- { label: "Purple", value: "#800080" },
50
- { label: "Indigo", value: "#4B0082" }
51
- ]
52
- }
53
- ]
54
- %>
55
- <br />
56
- <%= pb_rails("typeahead", props: {
57
- id: "typeahead-custom-options",
58
- options: grouped_options,
59
- label: "Colors",
60
- name: :foo,
61
- placeholder: "Select a Color...",
62
- is_multi: false
63
- })
64
- %>