playbook_ui 14.14.0.pre.alpha.play1853typeaheadreacthookform6461 → 14.14.0.pre.alpha.play1868dependencyremovallodash6286

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_card/_card.tsx +2 -1
  3. data/app/pb_kits/playbook/pb_currency/_currency.tsx +31 -46
  4. data/app/pb_kits/playbook/pb_currency/currency.html.erb +8 -15
  5. data/app/pb_kits/playbook/pb_currency/currency.rb +2 -17
  6. data/app/pb_kits/playbook/pb_currency/docs/example.yml +0 -2
  7. data/app/pb_kits/playbook/pb_currency/docs/index.js +1 -2
  8. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +8 -32
  9. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +1 -20
  10. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -5
  11. data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +12 -20
  12. data/app/pb_kits/playbook/pb_drawer/drawer.rb +1 -49
  13. data/app/pb_kits/playbook/pb_filter/Filter/CurrentFilters.tsx +4 -4
  14. data/app/pb_kits/playbook/pb_filter/Filter/FilterSingle.tsx +2 -2
  15. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  16. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +0 -13
  17. data/app/pb_kits/playbook/pb_overlay/_overlay.tsx +1 -7
  18. data/app/pb_kits/playbook/pb_overlay/docs/example.yml +0 -3
  19. data/app/pb_kits/playbook/pb_overlay/docs/index.js +0 -1
  20. data/app/pb_kits/playbook/pb_overlay/overlay.html.erb +3 -5
  21. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -16
  22. data/app/pb_kits/playbook/pb_overlay/overlay.test.jsx +0 -12
  23. data/app/pb_kits/playbook/pb_select/select.rb +0 -8
  24. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +3 -0
  25. data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +0 -2
  26. data/app/pb_kits/playbook/pb_tooltip/index.js +1 -1
  27. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +2 -10
  28. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +5 -4
  29. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +6 -17
  30. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_custom_options.jsx +1 -1
  31. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +1 -1
  32. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -1
  33. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +0 -1
  34. data/app/pb_kits/playbook/utilities/object.ts +82 -1
  35. data/dist/chunks/_typeahead-CHxdYnAw.js +36 -0
  36. data/dist/chunks/_weekday_stacked-D2tZHCNS.js +45 -0
  37. data/dist/chunks/{lib-Fr78pbpF.js → lib-CrrD678a.js} +2 -2
  38. data/dist/chunks/{pb_form_validation-CN51bfsD.js → pb_form_validation-BbWhQeoO.js} +1 -1
  39. data/dist/chunks/vendor.js +1 -1
  40. data/dist/menu.yml +2 -2
  41. data/dist/playbook-doc.js +1 -1
  42. data/dist/playbook-rails-react-bindings.js +1 -1
  43. data/dist/playbook-rails.js +1 -1
  44. data/dist/playbook.css +1 -1
  45. data/lib/playbook/version.rb +1 -1
  46. metadata +6 -32
  47. data/app/pb_kits/playbook/pb_currency/docs/_currency_null_display.html.erb +0 -22
  48. data/app/pb_kits/playbook/pb_currency/docs/_currency_null_display.jsx +0 -34
  49. data/app/pb_kits/playbook/pb_currency/docs/_currency_null_display_rails.md +0 -1
  50. data/app/pb_kits/playbook/pb_currency/docs/_currency_null_display_react.md +0 -1
  51. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +0 -8
  52. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +0 -33
  53. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +0 -0
  54. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +0 -24
  55. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +0 -21
  56. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +0 -1
  57. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +0 -49
  58. data/app/pb_kits/playbook/pb_drawer/index.js +0 -257
  59. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_hide_scroll_bar.html.erb +0 -11
  60. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_hide_scroll_bar.jsx +0 -37
  61. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_hide_scroll_bar_rails.md +0 -1
  62. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_hide_scroll_bar_react.md +0 -1
  63. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.html.erb +0 -11
  64. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.md +0 -1
  65. data/app/pb_kits/playbook/pb_overlay/index.js +0 -61
  66. data/app/pb_kits/playbook/pb_select/index.js +0 -38
  67. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay_rails.html.erb +0 -39
  68. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay_rails.md +0 -3
  69. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_interaction.html.erb +0 -26
  70. data/app/pb_kits/playbook/pb_tooltip/floating_ui.js +0 -282
  71. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.jsx +0 -66
  72. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.md +0 -1
  73. data/dist/chunks/_typeahead-CFU6u471.js +0 -36
  74. data/dist/chunks/_weekday_stacked-B0sOSO9C.js +0 -45
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "14.14.0"
5
- VERSION = "14.14.0.pre.alpha.play1853typeaheadreacthookform6461"
5
+ VERSION = "14.14.0.pre.alpha.play1868dependencyremovallodash6286"
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: 14.14.0.pre.alpha.play1853typeaheadreacthookform6461
4
+ version: 14.14.0.pre.alpha.play1868dependencyremovallodash6286
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-03-04 00:00:00.000000000 Z
12
+ date: 2025-02-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -825,10 +825,6 @@ files:
825
825
  - app/pb_kits/playbook/pb_currency/docs/_currency_negative.jsx
826
826
  - app/pb_kits/playbook/pb_currency/docs/_currency_no_symbol.html.erb
827
827
  - app/pb_kits/playbook/pb_currency/docs/_currency_no_symbol.jsx
828
- - app/pb_kits/playbook/pb_currency/docs/_currency_null_display.html.erb
829
- - app/pb_kits/playbook/pb_currency/docs/_currency_null_display.jsx
830
- - app/pb_kits/playbook/pb_currency/docs/_currency_null_display_rails.md
831
- - app/pb_kits/playbook/pb_currency/docs/_currency_null_display_react.md
832
828
  - app/pb_kits/playbook/pb_currency/docs/_currency_props_swift.md
833
829
  - app/pb_kits/playbook/pb_currency/docs/_currency_size.html.erb
834
830
  - app/pb_kits/playbook/pb_currency/docs/_currency_size.jsx
@@ -1202,21 +1198,14 @@ files:
1202
1198
  - app/pb_kits/playbook/pb_drawer/_drawer.tsx
1203
1199
  - app/pb_kits/playbook/pb_drawer/_drawer_context.tsx
1204
1200
  - app/pb_kits/playbook/pb_drawer/context.ts
1205
- - app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb
1206
1201
  - app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx
1207
- - app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb
1208
1202
  - app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx
1209
- - app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb
1210
1203
  - app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx
1211
1204
  - app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb
1212
1205
  - app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx
1213
- - app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb
1214
1206
  - app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx
1215
1207
  - app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md
1216
- - app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb
1217
1208
  - app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx
1218
- - app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md
1219
- - app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb
1220
1209
  - app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx
1221
1210
  - app/pb_kits/playbook/pb_drawer/docs/example.yml
1222
1211
  - app/pb_kits/playbook/pb_drawer/docs/index.js
@@ -1225,7 +1214,6 @@ files:
1225
1214
  - app/pb_kits/playbook/pb_drawer/drawer.test.jsx
1226
1215
  - app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx
1227
1216
  - app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx
1228
- - app/pb_kits/playbook/pb_drawer/index.js
1229
1217
  - app/pb_kits/playbook/pb_dropdown/_dropdown.scss
1230
1218
  - app/pb_kits/playbook/pb_dropdown/_dropdown.tsx
1231
1219
  - app/pb_kits/playbook/pb_dropdown/context/index.tsx
@@ -2127,23 +2115,16 @@ files:
2127
2115
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_default.html.erb
2128
2116
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_default.jsx
2129
2117
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_default.md
2130
- - app/pb_kits/playbook/pb_overlay/docs/_overlay_hide_scroll_bar.html.erb
2131
- - app/pb_kits/playbook/pb_overlay/docs/_overlay_hide_scroll_bar.jsx
2132
- - app/pb_kits/playbook/pb_overlay/docs/_overlay_hide_scroll_bar_rails.md
2133
- - app/pb_kits/playbook/pb_overlay/docs/_overlay_hide_scroll_bar_react.md
2134
2118
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_multi_directional.html.erb
2135
2119
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_multi_directional.jsx
2136
2120
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_multi_directional.md
2137
2121
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_toggle.html.erb
2138
2122
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_toggle.jsx
2139
2123
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_toggle.md
2140
- - app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.html.erb
2141
2124
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.jsx
2142
- - app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.md
2143
2125
  - app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional_react.md
2144
2126
  - app/pb_kits/playbook/pb_overlay/docs/example.yml
2145
2127
  - app/pb_kits/playbook/pb_overlay/docs/index.js
2146
- - app/pb_kits/playbook/pb_overlay/index.js
2147
2128
  - app/pb_kits/playbook/pb_overlay/overlay.html.erb
2148
2129
  - app/pb_kits/playbook/pb_overlay/overlay.rb
2149
2130
  - app/pb_kits/playbook/pb_overlay/overlay.test.jsx
@@ -2502,7 +2483,6 @@ files:
2502
2483
  - app/pb_kits/playbook/pb_select/docs/_select_value_text_same.jsx
2503
2484
  - app/pb_kits/playbook/pb_select/docs/example.yml
2504
2485
  - app/pb_kits/playbook/pb_select/docs/index.js
2505
- - app/pb_kits/playbook/pb_select/index.js
2506
2486
  - app/pb_kits/playbook/pb_select/select.html.erb
2507
2487
  - app/pb_kits/playbook/pb_select/select.rb
2508
2488
  - app/pb_kits/playbook/pb_select/select.test.js
@@ -3099,12 +3079,9 @@ files:
3099
3079
  - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default_react.md
3100
3080
  - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay.jsx
3101
3081
  - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay.md
3102
- - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay_rails.html.erb
3103
- - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay_rails.md
3104
3082
  - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon.erb
3105
3083
  - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon.jsx
3106
3084
  - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon.md
3107
- - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_interaction.html.erb
3108
3085
  - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_interaction.jsx
3109
3086
  - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_interaction.md
3110
3087
  - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_margin.jsx
@@ -3118,7 +3095,6 @@ files:
3118
3095
  - app/pb_kits/playbook/pb_tooltip/docs/_tooltip_with_icon_circle.html.erb
3119
3096
  - app/pb_kits/playbook/pb_tooltip/docs/example.yml
3120
3097
  - app/pb_kits/playbook/pb_tooltip/docs/index.js
3121
- - app/pb_kits/playbook/pb_tooltip/floating_ui.js
3122
3098
  - app/pb_kits/playbook/pb_tooltip/index.js
3123
3099
  - app/pb_kits/playbook/pb_tooltip/tooltip.html.erb
3124
3100
  - app/pb_kits/playbook/pb_tooltip/tooltip.rb
@@ -3174,8 +3150,6 @@ files:
3174
3150
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_margin_bottom.jsx
3175
3151
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.html.erb
3176
3152
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.jsx
3177
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.jsx
3178
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.md
3179
3153
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb
3180
3154
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx
3181
3155
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md
@@ -3373,11 +3347,11 @@ files:
3373
3347
  - app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
3374
3348
  - app/pb_kits/playbook/utilities/text.ts
3375
3349
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3376
- - dist/chunks/_typeahead-CFU6u471.js
3377
- - dist/chunks/_weekday_stacked-B0sOSO9C.js
3350
+ - dist/chunks/_typeahead-CHxdYnAw.js
3351
+ - dist/chunks/_weekday_stacked-D2tZHCNS.js
3378
3352
  - dist/chunks/lazysizes-B7xYodB-.js
3379
- - dist/chunks/lib-Fr78pbpF.js
3380
- - dist/chunks/pb_form_validation-CN51bfsD.js
3353
+ - dist/chunks/lib-CrrD678a.js
3354
+ - dist/chunks/pb_form_validation-BbWhQeoO.js
3381
3355
  - dist/chunks/vendor.js
3382
3356
  - dist/menu.yml
3383
3357
  - dist/playbook-doc.js
@@ -1,22 +0,0 @@
1
- <%= pb_rails("currency", props: {
2
- amount: "",
3
- label: "Nil",
4
- margin_bottom: "md",
5
- null_display: "--",
6
- size: "sm"
7
- }) %>
8
-
9
- <%= pb_rails("currency", props: {
10
- amount: "",
11
- label: "Nil",
12
- margin_bottom: "md",
13
- null_display: "$0.00",
14
- size: "sm"
15
- }) %>
16
-
17
- <%= pb_rails("currency", props: {
18
- amount: "",
19
- label: "Nil",
20
- null_display: " ",
21
- size: "sm"
22
- }) %>
@@ -1,34 +0,0 @@
1
- import React from 'react'
2
- import { Currency } from 'playbook-ui'
3
-
4
- const CurrencyNullDisplay = (props) => {
5
- return (
6
- <>
7
- <Currency
8
- amount=""
9
- label="Null"
10
- marginBottom="md"
11
- nullDisplay="--"
12
- {...props}
13
- />
14
-
15
- <Currency
16
- amount=""
17
- label="Null"
18
- marginBottom="md"
19
- nullDisplay="$0.00"
20
- {...props}
21
- />
22
-
23
- <Currency
24
- amount=""
25
- label="Null"
26
- marginBottom="md"
27
- nullDisplay=" "
28
- {...props}
29
- />
30
- </>
31
- )
32
- }
33
-
34
- export default CurrencyNullDisplay
@@ -1 +0,0 @@
1
- To customize how the `amount` field appears when it is empty, use the `null_display` prop and set it to the desired value you want to display.
@@ -1 +0,0 @@
1
- To customize how the `amount` field appears when it is empty, use the `nullDisplay` prop and set it to the desired value you want to display.
@@ -1,8 +0,0 @@
1
- <%= pb_rails("button", props: { text: "Push Drawer", margin_right: "sm", data: {"open-drawer": "drawer-3"} }) %>
2
-
3
- <%= pb_rails("drawer", props: {
4
- id:"drawer-3",
5
- behavior: "push"
6
- }) do %>
7
- Test me (Push Behavior)
8
- <% end %>
@@ -1,33 +0,0 @@
1
- <%= pb_rails("flex") do %>
2
- <%= pb_rails("button", props: { text: "Drawer with border right", margin_right: "sm", data: {"open-drawer": "drawer-12"} }) %>
3
-
4
- <%= pb_rails("drawer", props: {
5
- id:"drawer-12",
6
- overlay: false,
7
- border: "right"
8
- }) do %>
9
- Test me (Border Right)
10
- <% end %>
11
-
12
-
13
- <%= pb_rails("button", props: { text: "Drawer with border left", margin_right: "sm", data: {"open-drawer": "drawer-13"} }) %>
14
-
15
- <%= pb_rails("drawer", props: {
16
- id:"drawer-13",
17
- overlay: false,
18
- border: "left"
19
- }) do %>
20
- Test me (Border Left)
21
- <% end %>
22
-
23
- <%= pb_rails("button", props: { text: "Drawer with border full", data: {"open-drawer": "drawer-14"} }) %>
24
-
25
- <%= pb_rails("drawer", props: {
26
- id:"drawer-14",
27
- overlay: false,
28
- border: "full"
29
- }) do %>
30
- Test me (Border Full)
31
- <% end %>
32
- <% end %>
33
-
@@ -1,24 +0,0 @@
1
- <%= pb_rails("button", props: { padding: "xs", margin_right: "sm", data: {"open-drawer": "drawer-4"} }) do %>
2
- <%= pb_rails("icon", props: { icon: "bars", size: "2x" }) %>
3
- <% end %>
4
-
5
- <%= pb_rails("drawer", props: {
6
- id:"drawer-4",
7
- within_element: true,
8
- placement: "bottom",
9
- breakpoint: "md",
10
- size: "full"
11
- }) do %>
12
- <%= pb_rails("nav", props: { display: {xl: "none", lg: "none", md: "none", sm: "block" } }) do %>
13
- <%= pb_rails("nav/item", props: { text: "Photos", link: "#" }) %>
14
- <%= pb_rails("nav/item", props: { text: "Music", link: "#" }) %>
15
- <%= pb_rails("nav/item", props: { text: "Video", link: "#", active: true }) %>
16
- <%= pb_rails("nav/item", props: { text: "Files", link: "#" }) %>
17
- <% end %>
18
- <%= pb_rails("nav", props: { display: {md: "block", sm: "none", xs: "none" }, orientation: "horizontal" }) do %>
19
- <%= pb_rails("nav/item", props: { text: "About", link: "#" }) %>
20
- <%= pb_rails("nav/item", props: { text: "Case Studies", link: "#", active: true }) %>
21
- <%= pb_rails("nav/item", props: { text: "Service ", link: "#" }) %>
22
- <%= pb_rails("nav/item", props: { text: "Contacts", link: "#" }) %>
23
- <% end %>
24
- <% end %>
@@ -1,21 +0,0 @@
1
- <%= pb_rails("flex") do %>
2
- <%= pb_rails("button", props: { text: "No Overlay Drawer", margin_right: "sm", data: {"open-drawer": "drawer-10"} }) %>
3
-
4
- <%= pb_rails("drawer", props: {
5
- id:"drawer-10",
6
- overlay: false
7
- }) do %>
8
- Test me (No Overlay)
9
- <% end %>
10
-
11
-
12
- <%= pb_rails("button", props: { text: "Overlay Drawer", data: {"open-drawer": "drawer-11"} }) %>
13
-
14
- <%= pb_rails("drawer", props: {
15
- id:"drawer-11",
16
- placement: "right"
17
- }) do %>
18
- Test me (Has Overlay)
19
- <% end %>
20
- <% end %>
21
-
@@ -1 +0,0 @@
1
- Click the button to close the drawer when there is no overlay.
@@ -1,49 +0,0 @@
1
- <%= pb_rails("flex") do %>
2
- <%= pb_rails("button", props: { text: "XS Drawer", margin_right: "sm", data: {"open-drawer": "drawer-5"} }) %>
3
-
4
- <%= pb_rails("drawer", props: {
5
- id:"drawer-5",
6
- size: "xs"
7
- }) do %>
8
- XS
9
- <% end %>
10
-
11
- <%= pb_rails("button", props: { text: "SM Drawer", margin_right: "sm", data: {"open-drawer": "drawer-6"} }) %>
12
-
13
- <%= pb_rails("drawer", props: {
14
- id:"drawer-6",
15
- size: "sm",
16
- placement: "right"
17
- }) do %>
18
- This is a small drawer
19
- <% end %>
20
-
21
- <%= pb_rails("button", props: { text: "MD Drawer", margin_right: "sm", data: {"open-drawer": "drawer-7"} }) %>
22
-
23
- <%= pb_rails("drawer", props: {
24
- id:"drawer-7",
25
- size: "md"
26
- }) do %>
27
- This is a medium drawer
28
- <% end %>
29
-
30
- <%= pb_rails("button", props: { text: "LG Drawer", margin_right: "sm", data: {"open-drawer": "drawer-8"} }) %>
31
-
32
- <%= pb_rails("drawer", props: {
33
- id:"drawer-8",
34
- size: "lg",
35
- placement: "right"
36
- }) do %>
37
- This is a large drawer
38
- <% end %>
39
-
40
- <%= pb_rails("button", props: { text: "XL Drawer", margin_right: "sm", data: {"open-drawer": "drawer-9"} }) %>
41
-
42
- <%= pb_rails("drawer", props: {
43
- id:"drawer-9",
44
- size: "xl"
45
- }) do %>
46
- This is an extra large drawer
47
- <% end %>
48
- <% end %>
49
-
@@ -1,257 +0,0 @@
1
- import PbEnhancedElement from "../pb_enhanced_element"
2
-
3
- export default class PbDrawer extends PbEnhancedElement {
4
- static get selector() {
5
- return ".pb_drawer_wrapper"
6
- }
7
-
8
- connect() {
9
- this.handleToggleClick = this.handleToggleClick.bind(this)
10
- this.handleOutsideClick = this.handleOutsideClick.bind(this)
11
- this.handleResize = this.handleResize.bind(this)
12
-
13
- this._toggleTriggers = Array.from(document.querySelectorAll("[data-open-drawer]"))
14
- this._toggleTriggers.forEach(el => {
15
- el.addEventListener("click", this.handleToggleClick)
16
- })
17
-
18
- this._wrappers = Array.from(document.querySelectorAll(".pb_drawer_wrapper"))
19
- this._wrappers.forEach(el => {
20
- el.addEventListener("mousedown", this.handleOutsideClick)
21
- })
22
-
23
- this._withinElementDrawers = Array.from(
24
- document.querySelectorAll(".pb_drawer_within_element_rails[data-breakpoint]")
25
- )
26
-
27
- window.addEventListener("resize", this.handleResize)
28
- this.handleResize()
29
- }
30
-
31
- disconnect() {
32
- this._toggleTriggers.forEach(el => {
33
- el.removeEventListener("click", this.handleToggleClick)
34
- })
35
- this._wrappers.forEach(el => {
36
- el.removeEventListener("mousedown", this.handleOutsideClick)
37
- })
38
- window.removeEventListener("resize", this.handleResize)
39
- }
40
-
41
- getOverlay(wrapper) {
42
- if (wrapper.id && wrapper.id.startsWith("drawer-wrapper-")) {
43
- const overlayId = wrapper.id.replace("drawer-wrapper-", "drawer-overlay-")
44
- return document.getElementById(overlayId)
45
- }
46
- return wrapper.querySelector(".pb_drawer_overlay") || wrapper.querySelector(".pb_drawer_no_overlay")
47
- }
48
-
49
- handleToggleClick(event) {
50
- const trigger = event.currentTarget
51
- const drawerId = trigger.dataset.openDrawer
52
- const dialog = document.getElementById(drawerId)
53
- if (!dialog) return
54
-
55
- if (dialog.classList.contains("pb_drawer_within_element_rails")) {
56
- if (dialog.classList.contains("open")) {
57
- this.closeWithinElementDrawer(dialog)
58
- dialog.dataset.manualOpen = "false"
59
- } else {
60
- this.openWithinElementDrawer(dialog)
61
- dialog.dataset.manualOpen = "true"
62
- }
63
- return
64
- }
65
-
66
- const wrapperId = `drawer-wrapper-${drawerId}`
67
- const wrapper = document.getElementById(wrapperId)
68
- if (!wrapper) return
69
-
70
- if (wrapper !== this.element) return
71
-
72
- if (wrapper.classList.contains("open")) {
73
- this.closeDrawer(wrapper, dialog)
74
- wrapper.dataset.manualOpen = "false"
75
- } else {
76
- this.openDrawer(wrapper, dialog)
77
- wrapper.dataset.manualOpen = "true"
78
- }
79
- }
80
-
81
- openWithinElementDrawer(dialog) {
82
- if (dialog.classList.contains("open")) return
83
- dialog.style.maxHeight = "0px"
84
- dialog.offsetHeight
85
- dialog.classList.add("open")
86
- // Get trigger's height and add it to the final height
87
- const trigger = document.querySelector(`[data-open-drawer="${dialog.id}"]`)
88
- const triggerHeight = trigger ? trigger.offsetHeight : 0
89
- const finalHeight = (dialog.scrollHeight + triggerHeight) + "px"
90
- dialog.style.maxHeight = finalHeight
91
- dialog.addEventListener("transitionend", function handleOpenEnd(e) {
92
- if (e.propertyName === "max-height") {
93
- dialog.style.maxHeight = "none"
94
- dialog.removeEventListener("transitionend", handleOpenEnd)
95
- }
96
- })
97
- }
98
-
99
- closeWithinElementDrawer(dialog) {
100
- if (!dialog.classList.contains("open")) return
101
- const currentHeight = dialog.scrollHeight
102
- dialog.style.maxHeight = currentHeight + "px"
103
- dialog.offsetHeight
104
- dialog.classList.remove("open")
105
- dialog.style.maxHeight = "0px"
106
- dialog.addEventListener("transitionend", function handleCloseEnd(e) {
107
- if (e.propertyName === "max-height") {
108
- dialog.removeEventListener("transitionend", handleCloseEnd)
109
- dialog.style.maxHeight = "0px"
110
- }
111
- })
112
- }
113
-
114
- openDrawer(wrapper, dialog) {
115
- const behavior = wrapper.dataset.behavior
116
- const size = wrapper.dataset.size
117
- const placement = wrapper.dataset.placement
118
- this.handlePushOpen(behavior, size, placement)
119
-
120
- wrapper.style.display = ""
121
- const overlay = this.getOverlay(wrapper)
122
- if (overlay) overlay.style.display = ""
123
-
124
- wrapper.classList.add("open")
125
- dialog.classList.add("open")
126
- }
127
-
128
- closeDrawer(wrapper, dialog) {
129
- const behavior = wrapper.dataset.behavior
130
- this.handlePushClose(behavior)
131
-
132
- if (wrapper.className.includes("open")) wrapper.style.display = "none"
133
- const overlay = this.getOverlay(wrapper)
134
- if (overlay && wrapper.className.includes("open")) overlay.style.display = "none"
135
-
136
- wrapper.classList.remove("open")
137
- dialog.classList.remove("open")
138
- }
139
-
140
- handleOutsideClick(event) {
141
- const wrapper = event.currentTarget
142
- const dialog = wrapper.querySelector(".pb_drawer")
143
- const overlay = this.getOverlay(wrapper)
144
-
145
- if (dialog && dialog.classList.contains("pb_drawer_within_element_rails")) {
146
- return
147
- }
148
-
149
- if (wrapper.dataset.overlayClick === "overlay_close" && event.target === overlay) {
150
- this.closeDrawer(wrapper, dialog)
151
- event.stopPropagation()
152
- return
153
- }
154
-
155
- const dialogRect = dialog.getBoundingClientRect()
156
- const clickedOutside =
157
- event.clientX < dialogRect.left ||
158
- event.clientX > dialogRect.right ||
159
- event.clientY < dialogRect.top ||
160
- event.clientY > dialogRect.bottom
161
-
162
- if (clickedOutside) {
163
- this.closeDrawer(wrapper, dialog)
164
- event.stopPropagation()
165
- }
166
- }
167
-
168
- handleResize() {
169
- const breakpointValues = {
170
- none: 0,
171
- xs: 575,
172
- sm: 768,
173
- md: 992,
174
- lg: 1200,
175
- xl: 1400,
176
- }
177
-
178
- // Process wrappers
179
- this._wrappers.forEach(wrapper => {
180
- const bp = wrapper.dataset.breakpoint || "none"
181
- if (bp === "none") return
182
-
183
- const threshold = breakpointValues[bp] || 0
184
- const dialog = wrapper.querySelector(".pb_drawer")
185
- const trigger = dialog ? document.querySelector(`[data-open-drawer="${dialog.id}"]`) : null
186
-
187
- if (window.innerWidth >= threshold) {
188
- if (!wrapper.classList.contains("open")) {
189
- this.openDrawer(wrapper, dialog)
190
- }
191
- if (trigger) trigger.style.display = "none"
192
- } else {
193
- if (trigger) trigger.style.display = ""
194
- if (wrapper.classList.contains("open") && wrapper.dataset.manualOpen !== "true") {
195
- this.closeDrawer(wrapper, dialog)
196
- }
197
- }
198
- })
199
-
200
- // Process within element drawers
201
- this._withinElementDrawers.forEach(drawer => {
202
- const bp = drawer.dataset.breakpoint || "none"
203
- if (bp === "none") return
204
-
205
- const threshold = breakpointValues[bp] || 0
206
- const trigger = document.querySelector(`[data-open-drawer="${drawer.id}"]`)
207
-
208
- if (window.innerWidth >= threshold) {
209
- if (!drawer.classList.contains("open")) {
210
- this.openWithinElementDrawer(drawer)
211
- }
212
- if (trigger) trigger.style.display = "none"
213
- } else {
214
- if (trigger) trigger.style.display = ""
215
- if (drawer.classList.contains("open") && drawer.dataset.manualOpen !== "true") {
216
- this.closeWithinElementDrawer(drawer)
217
- }
218
- }
219
- })
220
- }
221
-
222
- handlePushOpen(behavior, size, placement) {
223
- if (behavior !== "push") return
224
-
225
- const sizeMap = {
226
- xl: "365px",
227
- lg: "300px",
228
- md: "250px",
229
- sm: "200px",
230
- xs: "64px",
231
- full: "100%",
232
- }
233
-
234
- const body = document.querySelector("body")
235
- if (!body) return
236
-
237
- if (placement === "left") {
238
- body.style.cssText = `margin-left: ${sizeMap[size]} !important; margin-right: '' !important;`
239
- } else if (placement === "right") {
240
- body.style.cssText = `margin-right: ${sizeMap[size]} !important; margin-left: '' !important;`
241
- }
242
- body.classList.add("PBDrawer__Body--open")
243
- }
244
-
245
- handlePushClose(behavior) {
246
- if (behavior !== "push") return
247
-
248
- const body = document.querySelector("body")
249
- if (!body) return
250
-
251
- if (body.classList.contains("PBDrawer__Body--open")) {
252
- body.classList.add("PBDrawer__Body--close")
253
- }
254
- body.style.cssText = ""
255
- body.classList.remove("PBDrawer__Body--open")
256
- }
257
- }
@@ -1,11 +0,0 @@
1
- <%= pb_rails("overlay", props: { layout: { "x": "xl" }, color: "card_light", scroll_bar_none: true }) do %>
2
- <%= pb_rails("flex", props: { column_gap: "lg", orientation: "row", overflow_x: "auto" }) do %>
3
- <% 15.times do %>
4
- <%= pb_rails("flex/flex_item") do %>
5
- <%= pb_rails("card") do %>
6
- Card content
7
- <% end %>
8
- <% end %>
9
- <% end %>
10
- <% end %>
11
- <% end %>
@@ -1,37 +0,0 @@
1
- import React from 'react'
2
- import {
3
- Overlay,
4
- Card,
5
- Flex,
6
- FlexItem,
7
- } from 'playbook-ui'
8
-
9
- const InlineCardsExample = () => {
10
- return (
11
- <Flex
12
- columnGap="lg"
13
- orientation="row"
14
- overflowX="auto"
15
- >
16
- {Array.from({ length: 15 }, (_, index) => (
17
- <FlexItem key={index}>
18
- <Card>{"Card Content"}</Card>
19
- </FlexItem>
20
- ))}
21
- </Flex>
22
- )
23
- }
24
-
25
- const OverlayHideScrollBar = () => (
26
- <>
27
- <Overlay
28
- color="card_light"
29
- layout={{"x": "xl"}}
30
- scrollBarNone
31
- >
32
- <InlineCardsExample />
33
- </Overlay>
34
- </>
35
- )
36
-
37
- export default OverlayHideScrollBar
@@ -1 +0,0 @@
1
- Pass the `scroll_bar_none` prop to hide the scrollbar from view. This is particularly helpful for small containers where the scrollbar may occupy too much space.
@@ -1 +0,0 @@
1
- Pass the `scrollBarNone` prop to hide the scrollbar from view. This is particularly helpful for small containers where the scrollbar may occupy too much space.