playbook_ui 10.19.0 → 10.21.0.pre.alpha.lightbox

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/data/menu.yml +1 -0
  4. data/app/pb_kits/playbook/index.js +2 -1
  5. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +1 -1
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +2 -2
  7. data/app/pb_kits/playbook/pb_avatar/avatar.rb +1 -1
  8. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +1 -1
  9. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +4 -0
  10. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +1 -0
  11. data/app/pb_kits/playbook/pb_body/_body.jsx +3 -1
  12. data/app/pb_kits/playbook/pb_button/_button.jsx +3 -3
  13. data/app/pb_kits/playbook/pb_button/_button.scss +18 -1
  14. data/app/pb_kits/playbook/pb_button/button.rb +11 -3
  15. data/app/pb_kits/playbook/pb_button/button.test.js +13 -0
  16. data/app/pb_kits/playbook/pb_button/docs/_button_size.html.erb +3 -0
  17. data/app/pb_kits/playbook/pb_button/docs/_button_size.jsx +26 -0
  18. data/app/pb_kits/playbook/pb_button/docs/_button_size.md +1 -0
  19. data/app/pb_kits/playbook/pb_button/docs/example.yml +2 -0
  20. data/app/pb_kits/playbook/pb_button/docs/index.js +1 -0
  21. data/app/pb_kits/playbook/pb_caption/_caption.jsx +2 -1
  22. data/app/pb_kits/playbook/pb_caption/_caption.scss +7 -0
  23. data/app/pb_kits/playbook/pb_caption/caption.rb +5 -2
  24. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.jsx +3 -0
  25. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +1 -0
  26. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.js +215 -0
  27. data/app/pb_kits/playbook/pb_date/_date.jsx +1 -1
  28. data/app/pb_kits/playbook/pb_date/date.html.erb +1 -1
  29. data/app/pb_kits/playbook/pb_file_upload/_file_upload.jsx +17 -10
  30. data/app/pb_kits/playbook/pb_file_upload/fileupload.test.js +40 -0
  31. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +3 -0
  32. data/app/pb_kits/playbook/pb_gauge/gauge.rb +1 -0
  33. data/app/pb_kits/playbook/pb_image/_image.jsx +1 -1
  34. data/app/pb_kits/playbook/pb_image/_image.scss +3 -3
  35. data/app/pb_kits/playbook/pb_image/image.rb +1 -1
  36. data/app/pb_kits/playbook/pb_image/image.test.js +1 -1
  37. data/app/pb_kits/playbook/pb_lightbox/Carousel/Slide.jsx +55 -0
  38. data/app/pb_kits/playbook/pb_lightbox/Carousel/Slides.jsx +54 -0
  39. data/app/pb_kits/playbook/pb_lightbox/Carousel/Thumbnail.jsx +39 -0
  40. data/app/pb_kits/playbook/pb_lightbox/Carousel/Thumbnails.jsx +82 -0
  41. data/app/pb_kits/playbook/pb_lightbox/Carousel/index.jsx +59 -0
  42. data/app/pb_kits/playbook/pb_lightbox/Carousel/styles.scss +110 -0
  43. data/app/pb_kits/playbook/pb_lightbox/Carousel/useSlides.js +66 -0
  44. data/app/pb_kits/playbook/pb_lightbox/_lightbox.jsx +112 -0
  45. data/app/pb_kits/playbook/pb_lightbox/_lightbox_context.jsx +3 -0
  46. data/app/pb_kits/playbook/pb_lightbox/_lightbox_header.jsx +71 -0
  47. data/app/pb_kits/playbook/pb_lightbox/_lightbox_header_icon.jsx +26 -0
  48. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_compound_component.jsx +95 -0
  49. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_default.jsx +64 -0
  50. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_default.md +1 -0
  51. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_multiple.jsx +64 -0
  52. data/app/pb_kits/playbook/pb_lightbox/docs/example.yml +7 -0
  53. data/app/pb_kits/playbook/pb_lightbox/docs/index.js +3 -0
  54. data/app/pb_kits/playbook/pb_lightbox/hooks/useVisibility.js +21 -0
  55. data/app/pb_kits/playbook/pb_lightbox/hooks/useWindowSize.js +25 -0
  56. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +90 -0
  57. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +30 -0
  58. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +4 -0
  59. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +1 -0
  60. data/app/pb_kits/playbook/pb_popover/_popover.jsx +2 -4
  61. data/app/pb_kits/playbook/pb_popover/docs/_popover_close.html.erb +7 -7
  62. data/app/pb_kits/playbook/pb_popover/index.js +4 -9
  63. data/app/pb_kits/playbook/pb_popover/popover.html.erb +1 -1
  64. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.jsx +4 -0
  65. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +2 -2
  66. data/app/pb_kits/playbook/pb_text_input/text_input.test.js +14 -0
  67. data/app/pb_kits/playbook/pb_title/_title.jsx +2 -1
  68. data/app/pb_kits/playbook/pb_title/title.rb +5 -2
  69. data/app/pb_kits/playbook/playbook-doc.js +2 -0
  70. data/app/pb_kits/playbook/plugins/pb_chart.js +8 -4
  71. data/lib/playbook/version.rb +2 -2
  72. metadata +30 -4
@@ -1,23 +1,23 @@
1
1
  <%= pb_rails("flex", props: {classname: "flex-container", spacing: "between"}) do %>
2
2
  <span>
3
- <%= pb_rails("button", props: { text: "Click Inside", variant: "secondary", id: 'inside-popover-1' }) %>
3
+ <%= pb_rails("button", props: { text: "Click Inside", variant: "secondary", id: "inside-popover-1" }) %>
4
4
  <%= pb_rails("popover", props: {
5
5
  close_on_click: "inside",
6
6
  trigger_element_id: "inside-popover-1",
7
7
  tooltip_id: "inside-tooltip-1",
8
- position: 'bottom',
8
+ position: "bottom",
9
9
  offset: true
10
10
  }) do %>
11
11
  Click on me!
12
12
  <% end %>
13
13
  </span>
14
14
  <span>
15
- <%= pb_rails("button", props: { text: "Click Outside", variant: "secondary", id: 'outside-popover-1' }) %>
15
+ <%= pb_rails("button", props: { text: "Click Outside", variant: "secondary", id: "outside-popover-1" }) %>
16
16
  <%= pb_rails("popover", props: {
17
17
  close_on_click: "outside",
18
18
  trigger_element_id: "outside-popover-1",
19
19
  tooltip_id: "outside-tooltip-1",
20
- position: 'left',
20
+ position: "left",
21
21
  offset: true
22
22
  }) do %>
23
23
  Click anywhere but me!
@@ -27,16 +27,16 @@
27
27
  <%= pb_rails("button", props: {
28
28
  text: "Click Anywhere",
29
29
  variant: "secondary",
30
- id: 'any-popover-1'
30
+ id: "any-popover-1"
31
31
  }) %>
32
32
  <%= pb_rails("popover", props: {
33
33
  close_on_click: "any",
34
34
  trigger_element_id: "any-popover-1",
35
35
  tooltip_id: "any-tooltip-1",
36
- position: 'top',
36
+ position: "top",
37
37
  offset: true
38
38
  }) do %>
39
39
  Click anything!
40
40
  <% end %>
41
41
  </span>
42
- <% end %>
42
+ <% end %>
@@ -36,15 +36,14 @@ export default class PbPopover extends PbEnhancedElement {
36
36
  }
37
37
 
38
38
  setTimeout(() => {
39
- this.popper.update()
40
39
  this.toggleTooltip()
40
+ this.popper.update()
41
41
  }, 0)
42
42
  })
43
43
  }
44
44
 
45
45
  checkCloseTooltip() {
46
46
  document.querySelector('body').addEventListener('click', ({ target }) => {
47
- const isTriggerElement = target.closest(`#${this.triggerElementId}`) !== null
48
47
  const isTooltipElement = target.closest(`#${this.tooltipId}`) !== null
49
48
 
50
49
  switch (this.closeOnClick) {
@@ -52,21 +51,17 @@ export default class PbPopover extends PbEnhancedElement {
52
51
  this.hideTooltip()
53
52
  break
54
53
  case 'outside':
55
- if (isTooltipElement) {
56
- this.checkCloseTooltip()
57
- } else {
54
+ if (!isTooltipElement) {
58
55
  this.hideTooltip()
59
56
  }
60
57
  break
61
58
  case 'inside':
62
- if (isTooltipElement || isTriggerElement) {
59
+ if (isTooltipElement) {
63
60
  this.hideTooltip()
64
- } else {
65
- this.checkCloseTooltip()
66
61
  }
67
62
  break
68
63
  }
69
- }, { once: true })
64
+ }, true)
70
65
  }
71
66
 
72
67
  hideTooltip() {
@@ -3,7 +3,7 @@
3
3
  class: object.classname,
4
4
  data: object.data,
5
5
  id: object.id) do %>
6
- <div class="pb_popover_tooltip" id="<%= object.tooltip_id %>" role="tooltip" style="<%= object.z_index_helper %>">
6
+ <div class="pb_popover_tooltip hide" id="<%= object.tooltip_id %>" role="tooltip" style="<%= object.z_index_helper %>">
7
7
  <div class="pb_popover_body <%= object.width_height_class_helper %> <%= object.popover_spacing_helper %>" style="<%= object.width_height_helper %>">
8
8
  <%= content.presence %>
9
9
  </div>
@@ -129,6 +129,10 @@ const RichTextEditor = (props: RichTextEditorProps) => {
129
129
  trixRef.current.addEventListener('click', handleClick)
130
130
  }, [])
131
131
 
132
+ useEffect(() => {
133
+ trixRef.current.editor.loadHTML(value)
134
+ }, [value])
135
+
132
136
  const RichTextEditorClass = 'pb_rich_text_editor_kit'
133
137
  const SimpleClass = simple ? 'simple' : ''
134
138
  const FocusClass = focus ? 'focus-editor-targets' : ''
@@ -4,12 +4,12 @@
4
4
 
5
5
 
6
6
  [class^=pb_text_input_kit] {
7
+ margin-bottom: $space_sm;
7
8
  .pb_text_input_kit_label {
8
9
  margin-bottom: $space_xs;
9
10
  display: block;
10
11
  }
11
12
  .text_input_wrapper {
12
- margin-bottom: $space_sm;
13
13
  display: block;
14
14
  input::placeholder,
15
15
  .text_input .placeholder {
@@ -169,7 +169,7 @@
169
169
  &-card {
170
170
  height: 45px;
171
171
  margin: 0;
172
- padding: 0 !important;
172
+ padding: 0;
173
173
  align-items: center;
174
174
  justify-content: center;
175
175
  width: 45px;
@@ -75,3 +75,17 @@ test('returns additional class name', () => {
75
75
  const kit = screen.getByTestId(testId)
76
76
  expect(kit).toHaveClass(`${kitClass} dark error`)
77
77
  })
78
+
79
+ test('returns additional class name', () => {
80
+ render(
81
+ <TextInput
82
+ data={{ testid: testId }}
83
+ label="First Name"
84
+ marginBottom="lg"
85
+ placeholder="Enter first name"
86
+ />
87
+ )
88
+
89
+ const kit = screen.getByTestId(testId)
90
+ expect(kit).toHaveClass(`${kitClass} mb_lg`)
91
+ })
@@ -30,12 +30,13 @@ const Title = (props: TitleProps) => {
30
30
  size = 3,
31
31
  tag = 'h3',
32
32
  text,
33
+ variant = null,
33
34
  } = props
34
35
 
35
36
  const ariaProps = buildAriaProps(aria)
36
37
  const dataProps = buildDataProps(data)
37
38
  const classes = classnames(
38
- buildCss('pb_title_kit', size, color),
39
+ buildCss('pb_title_kit', size, variant, color),
39
40
  globalProps(props),
40
41
  className,
41
42
  )
@@ -13,10 +13,13 @@ module Playbook
13
13
  values: %w[h1 h2 h3 h4 h5 h6 p div span],
14
14
  default: "h3"
15
15
  prop :text
16
- prop :variant, deprecated: true
16
+ prop :variant, type: Playbook::Props::Enum,
17
+ values: [nil, "link"],
18
+ default: nil,
19
+ deprecated: true
17
20
 
18
21
  def classname
19
- generate_classname("pb_title_kit", size, color)
22
+ generate_classname("pb_title_kit", size, variant, color)
20
23
  end
21
24
  end
22
25
  end
@@ -51,6 +51,7 @@ import * as LabelPill from 'pb_label_pill/docs'
51
51
  import * as LabelValue from 'pb_label_value/docs'
52
52
  import * as Layout from 'pb_layout/docs'
53
53
  import * as LegendDocs from 'pb_legend/docs'
54
+ import * as Lightbox from 'pb_lightbox/docs'
54
55
  import * as LineGraphDocs from 'pb_line_graph/docs'
55
56
  import * as List from 'pb_list/docs'
56
57
  import * as LoadingInline from 'pb_loading_inline/docs'
@@ -145,6 +146,7 @@ WebpackerReact.setup({
145
146
  ...LabelValue,
146
147
  ...Layout,
147
148
  ...LegendDocs,
149
+ ...Lightbox,
148
150
  ...LineGraphDocs,
149
151
  ...List,
150
152
  ...LoadingInline,
@@ -1,6 +1,7 @@
1
1
  import Highcharts from 'highcharts'
2
2
 
3
3
  import { highchartsTheme } from '../pb_dashboard/pbChartsLightTheme'
4
+ import { highchartsDarkTheme } from '../pb_dashboard/pbChartsDarkTheme'
4
5
  import colors from '../tokens/exports/_colors.scss'
5
6
 
6
7
  import pie from 'highcharts/modules/variable-pie'
@@ -67,10 +68,14 @@ class pbChart {
67
68
  }
68
69
  }
69
70
 
71
+ setupTheme() {
72
+ this.options.dark ? Highcharts.setOptions(highchartsDarkTheme) : Highcharts.setOptions(highchartsTheme)
73
+ }
74
+
70
75
  setupGauge(options) {
71
76
  highchartsMore(Highcharts)
72
77
  solidGauge(Highcharts)
73
- Highcharts.setOptions(highchartsTheme)
78
+ this.setupTheme()
74
79
 
75
80
  Highcharts.chart(this.defaults.id, {
76
81
  chart: {
@@ -140,7 +145,7 @@ class pbChart {
140
145
  }
141
146
 
142
147
  setupPieChart(options) {
143
- Highcharts.setOptions(highchartsTheme)
148
+ this.setupTheme()
144
149
  Highcharts.chart(this.defaults.id, {
145
150
  title: {
146
151
  text: this.defaults.title,
@@ -187,8 +192,7 @@ class pbChart {
187
192
  }
188
193
 
189
194
  setupChart(options) {
190
- Highcharts.setOptions(highchartsTheme)
191
-
195
+ this.setupTheme()
192
196
  const configOptions = {
193
197
  title: {
194
198
  text: this.defaults.title,
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- PREVIOUS_VERSION = "10.18.0"
5
- VERSION = "10.19.0"
4
+ PREVIOUS_VERSION = "10.19.0"
5
+ VERSION = "10.21.0.pre.alpha.lightbox"
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: 10.19.0
4
+ version: 10.21.0.pre.alpha.lightbox
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: 2022-01-31 00:00:00.000000000 Z
12
+ date: 2022-02-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -426,6 +426,9 @@ files:
426
426
  - app/pb_kits/playbook/pb_button/docs/_button_loading.md
427
427
  - app/pb_kits/playbook/pb_button/docs/_button_options.html.erb
428
428
  - app/pb_kits/playbook/pb_button/docs/_button_options.jsx
429
+ - app/pb_kits/playbook/pb_button/docs/_button_size.html.erb
430
+ - app/pb_kits/playbook/pb_button/docs/_button_size.jsx
431
+ - app/pb_kits/playbook/pb_button/docs/_button_size.md
429
432
  - app/pb_kits/playbook/pb_button/docs/_footer.md
430
433
  - app/pb_kits/playbook/pb_button/docs/example.yml
431
434
  - app/pb_kits/playbook/pb_button/docs/index.js
@@ -602,6 +605,7 @@ files:
602
605
  - app/pb_kits/playbook/pb_currency/docs/example.yml
603
606
  - app/pb_kits/playbook/pb_currency/docs/index.js
604
607
  - app/pb_kits/playbook/pb_dashboard/commonSettings.js
608
+ - app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.js
605
609
  - app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js
606
610
  - app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx
607
611
  - app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss
@@ -804,6 +808,7 @@ files:
804
808
  - app/pb_kits/playbook/pb_file_upload/docs/_file_upload_default.jsx
805
809
  - app/pb_kits/playbook/pb_file_upload/docs/example.yml
806
810
  - app/pb_kits/playbook/pb_file_upload/docs/index.js
811
+ - app/pb_kits/playbook/pb_file_upload/fileupload.test.js
807
812
  - app/pb_kits/playbook/pb_filter/Filter/CurrentFilters.jsx
808
813
  - app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx
809
814
  - app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx
@@ -1176,6 +1181,27 @@ files:
1176
1181
  - app/pb_kits/playbook/pb_legend/legend.html.erb
1177
1182
  - app/pb_kits/playbook/pb_legend/legend.rb
1178
1183
  - app/pb_kits/playbook/pb_legend/legend.test.js
1184
+ - app/pb_kits/playbook/pb_lightbox/Carousel/Slide.jsx
1185
+ - app/pb_kits/playbook/pb_lightbox/Carousel/Slides.jsx
1186
+ - app/pb_kits/playbook/pb_lightbox/Carousel/Thumbnail.jsx
1187
+ - app/pb_kits/playbook/pb_lightbox/Carousel/Thumbnails.jsx
1188
+ - app/pb_kits/playbook/pb_lightbox/Carousel/index.jsx
1189
+ - app/pb_kits/playbook/pb_lightbox/Carousel/styles.scss
1190
+ - app/pb_kits/playbook/pb_lightbox/Carousel/useSlides.js
1191
+ - app/pb_kits/playbook/pb_lightbox/_lightbox.jsx
1192
+ - app/pb_kits/playbook/pb_lightbox/_lightbox_context.jsx
1193
+ - app/pb_kits/playbook/pb_lightbox/_lightbox_header.jsx
1194
+ - app/pb_kits/playbook/pb_lightbox/_lightbox_header_icon.jsx
1195
+ - app/pb_kits/playbook/pb_lightbox/docs/_lightbox_compound_component.jsx
1196
+ - app/pb_kits/playbook/pb_lightbox/docs/_lightbox_default.jsx
1197
+ - app/pb_kits/playbook/pb_lightbox/docs/_lightbox_default.md
1198
+ - app/pb_kits/playbook/pb_lightbox/docs/_lightbox_multiple.jsx
1199
+ - app/pb_kits/playbook/pb_lightbox/docs/example.yml
1200
+ - app/pb_kits/playbook/pb_lightbox/docs/index.js
1201
+ - app/pb_kits/playbook/pb_lightbox/hooks/useVisibility.js
1202
+ - app/pb_kits/playbook/pb_lightbox/hooks/useWindowSize.js
1203
+ - app/pb_kits/playbook/pb_lightbox/lightbox.scss
1204
+ - app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx
1179
1205
  - app/pb_kits/playbook/pb_line_graph/_line_graph.jsx
1180
1206
  - app/pb_kits/playbook/pb_line_graph/_line_graph.scss
1181
1207
  - app/pb_kits/playbook/pb_line_graph/docs/_description.md
@@ -2130,9 +2156,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
2130
2156
  version: '0'
2131
2157
  required_rubygems_version: !ruby/object:Gem::Requirement
2132
2158
  requirements:
2133
- - - ">="
2159
+ - - ">"
2134
2160
  - !ruby/object:Gem::Version
2135
- version: '0'
2161
+ version: 1.3.1
2136
2162
  requirements: []
2137
2163
  rubygems_version: 3.1.6
2138
2164
  signing_key: