playbook_ui 15.0.0.pre.alpha.PLAY2316advancedtablerightsidedoubleborder10726 → 15.0.0.pre.alpha.PLAY2361datepickerarrownav10322

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 (192) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -3
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +11 -24
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/VirtualizedTableView.tsx +7 -7
  5. data/app/pb_kits/playbook/pb_advanced_table/Utilities/RowUtils.ts +2 -7
  6. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +13 -67
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_vertical_border.html.erb +2 -4
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_vertical_border.jsx +9 -12
  9. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +1 -0
  10. data/app/pb_kits/playbook/pb_card/_card.scss +4 -12
  11. data/app/pb_kits/playbook/pb_card/_card.tsx +3 -3
  12. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +0 -10
  13. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.html.erb +0 -3
  14. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.jsx +0 -8
  15. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.tsx +0 -2
  16. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +0 -1
  17. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +0 -1
  18. data/app/pb_kits/playbook/pb_contact/_contact.tsx +0 -5
  19. data/app/pb_kits/playbook/pb_contact/contact.rb +0 -4
  20. data/app/pb_kits/playbook/pb_contact/contact.test.js +1 -21
  21. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.html.erb +1 -16
  22. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +0 -15
  23. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.html.erb +0 -6
  24. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.jsx +0 -6
  25. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +4 -6
  26. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +5 -37
  27. data/app/pb_kits/playbook/pb_dialog/_close_icon.tsx +1 -5
  28. data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +8 -6
  29. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +1 -1
  30. data/app/pb_kits/playbook/pb_dialog/dialogHelper.js +65 -0
  31. data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +2 -2
  32. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +0 -9
  33. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +3 -3
  34. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +0 -1
  35. data/app/pb_kits/playbook/pb_icon/_icon.tsx +2 -13
  36. data/app/pb_kits/playbook/pb_icon/icon.rb +1 -9
  37. data/app/pb_kits/playbook/pb_icon_button/_icon_button.tsx +0 -1
  38. data/app/pb_kits/playbook/pb_icon_button/icon_button.html.erb +1 -2
  39. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.html.erb +1 -1
  40. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +1 -3
  41. data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +0 -2
  42. data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +0 -1
  43. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +1 -1
  44. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.rb +0 -11
  45. data/app/pb_kits/playbook/pb_nav/_item.tsx +5 -19
  46. data/app/pb_kits/playbook/pb_nav/item.html.erb +2 -6
  47. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_breached.html.erb +3 -3
  48. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_common.html.erb +3 -3
  49. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_confirmation.html.erb +3 -3
  50. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.html.erb +3 -3
  51. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_strength_change.html.erb +3 -3
  52. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb +2 -2
  53. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +5 -13
  54. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_children.html.erb +0 -23
  55. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_children.jsx +7 -45
  56. data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +1 -4
  57. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +0 -3
  58. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +0 -3
  59. data/app/pb_kits/playbook/pb_text_input/docs/index.js +0 -1
  60. data/app/pb_kits/playbook/pb_text_input/text_input.rb +3 -2
  61. data/app/pb_kits/playbook/pb_text_input/text_input.test.js +0 -38
  62. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +8 -24
  63. data/app/pb_kits/playbook/pb_timestamp/docs/_time_stamp_default.md +1 -0
  64. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.html.erb +10 -0
  65. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx +9 -0
  66. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.html.erb +17 -3
  67. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +15 -0
  68. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.html.erb +2 -0
  69. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx +2 -0
  70. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.html.erb +14 -0
  71. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +14 -0
  72. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.html.erb +4 -0
  73. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.jsx +4 -0
  74. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx +1 -0
  75. data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +6 -18
  76. data/app/pb_kits/playbook/pb_timestamp/docs/index.js +0 -6
  77. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +7 -29
  78. data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +4 -69
  79. data/dist/chunks/{_line_graph-DeH7NK-i.js → _line_graph-DHO-uYxy.js} +1 -1
  80. data/dist/chunks/_typeahead-_kMvPVfz.js +6 -0
  81. data/dist/chunks/_weekday_stacked-B1esXFeA.js +37 -0
  82. data/dist/chunks/{lib-QZuu1ltS.js → lib-C43ywQsO.js} +1 -1
  83. data/dist/chunks/{pb_form_validation-CleM960_.js → pb_form_validation-Cqj3itLG.js} +1 -1
  84. data/dist/chunks/vendor.js +1 -1
  85. data/dist/menu.yml +1 -15
  86. data/dist/playbook-doc.js +2 -2
  87. data/dist/playbook-rails-react-bindings.js +1 -1
  88. data/dist/playbook-rails.js +1 -1
  89. data/dist/playbook.css +1 -1
  90. data/lib/playbook/engine.rb +1 -0
  91. data/lib/playbook/forms/builder/form_field_builder.rb +2 -37
  92. data/lib/playbook/kit_base.rb +2 -23
  93. data/lib/playbook/version.rb +1 -1
  94. metadata +28 -108
  95. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.md +0 -5
  96. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.html.erb +0 -5
  97. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.jsx +0 -24
  98. data/app/pb_kits/playbook/pb_pb_bar_graph/_pb_bar_graph.scss +0 -0
  99. data/app/pb_kits/playbook/pb_pb_bar_graph/_pb_bar_graph.tsx +0 -62
  100. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors.html.erb +0 -35
  101. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors.jsx +0 -49
  102. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors_rails.md +0 -1
  103. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors_react.md +0 -2
  104. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_default.html.erb +0 -38
  105. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_default.jsx +0 -51
  106. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.html.erb +0 -46
  107. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.jsx +0 -62
  108. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.md +0 -3
  109. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_horizontal.html.erb +0 -47
  110. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_horizontal.jsx +0 -60
  111. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend.html.erb +0 -25
  112. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend.jsx +0 -36
  113. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_non_clickable.jsx +0 -44
  114. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_position.html.erb +0 -100
  115. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_position.jsx +0 -126
  116. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_negative_numbers.html.erb +0 -32
  117. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_negative_numbers.jsx +0 -48
  118. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_secondary_y_axis.html.erb +0 -68
  119. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_secondary_y_axis.jsx +0 -81
  120. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.html.erb +0 -31
  121. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.jsx +0 -42
  122. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.md +0 -2
  123. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_stacked.html.erb +0 -35
  124. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_stacked.jsx +0 -51
  125. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/example.yml +0 -27
  126. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/index.js +0 -11
  127. data/app/pb_kits/playbook/pb_pb_bar_graph/pbBarGraphTheme.ts +0 -106
  128. data/app/pb_kits/playbook/pb_pb_bar_graph/pb_bar_graph.html.erb +0 -1
  129. data/app/pb_kits/playbook/pb_pb_bar_graph/pb_bar_graph.rb +0 -28
  130. data/app/pb_kits/playbook/pb_pb_bar_graph/pbbargraph.test.jsx +0 -31
  131. data/app/pb_kits/playbook/pb_pb_circle_chart/_pb_circle_chart.scss +0 -3
  132. data/app/pb_kits/playbook/pb_pb_circle_chart/_pb_circle_chart.tsx +0 -62
  133. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.html.erb +0 -31
  134. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.jsx +0 -81
  135. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.html.erb +0 -25
  136. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.jsx +0 -40
  137. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.md +0 -5
  138. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.html.erb +0 -27
  139. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.jsx +0 -39
  140. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.md +0 -5
  141. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.html.erb +0 -93
  142. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.jsx +0 -131
  143. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.md +0 -14
  144. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.html.erb +0 -42
  145. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.jsx +0 -58
  146. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.html.erb +0 -24
  147. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.jsx +0 -38
  148. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.html.erb +0 -22
  149. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.jsx +0 -33
  150. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.html.erb +0 -118
  151. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.jsx +0 -144
  152. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_live_data.jsx +0 -60
  153. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.html.erb +0 -24
  154. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.jsx +0 -42
  155. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.html.erb +0 -38
  156. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.jsx +0 -52
  157. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/example.yml +0 -29
  158. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/index.js +0 -11
  159. data/app/pb_kits/playbook/pb_pb_circle_chart/pbCircleChartTheme.ts +0 -88
  160. data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.html.erb +0 -1
  161. data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.rb +0 -28
  162. data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.test.jsx +0 -51
  163. data/app/pb_kits/playbook/pb_section_separator/section_separator.test.js +0 -165
  164. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.html.erb +0 -41
  165. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.jsx +0 -80
  166. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.md +0 -1
  167. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.md +0 -1
  168. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.md +0 -1
  169. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.md +0 -5
  170. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.html.erb +0 -12
  171. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.jsx +0 -25
  172. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.md +0 -1
  173. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.html.erb +0 -4
  174. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.jsx +0 -17
  175. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.md +0 -1
  176. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.html.erb +0 -18
  177. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.jsx +0 -44
  178. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.md +0 -1
  179. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.md +0 -1
  180. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.md +0 -5
  181. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.html.erb +0 -16
  182. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.jsx +0 -30
  183. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.md +0 -1
  184. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.html.erb +0 -16
  185. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.jsx +0 -30
  186. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.md +0 -1
  187. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.html.erb +0 -26
  188. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.jsx +0 -41
  189. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.md +0 -1
  190. data/dist/chunks/_typeahead-CCGp0OQe.js +0 -6
  191. data/dist/chunks/_weekday_stacked-Dy1jab6x.js +0 -37
  192. data/dist/chunks/componentRegistry-DzmmLR2x.js +0 -1
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "action_view/railtie"
4
+ require "webpacker/react"
4
5
  require "view_component"
5
6
 
6
7
  module Playbook
@@ -4,58 +4,23 @@ module Playbook
4
4
  module Forms
5
5
  class Builder
6
6
  class FormFieldBuilder < Module
7
- MASK_PATTERNS = {
8
- "currency" => '^\$\d{1,3}(?:,\d{3})*(?:\.\d{2})?$',
9
- "zip_code" => '\d{5}',
10
- "postal_code" => '\d{5}-\d{4}',
11
- "ssn" => '\d{3}-\d{2}-\d{4}',
12
- "credit_card" => '\d{4} \d{4} \d{4} \d{4}',
13
- "cvv" => '\d{3,4}',
14
- }.freeze
15
-
16
7
  def initialize(method_name, kit_name:)
17
8
  define_method method_name do |name, props: {}, **options, &block|
18
- props = props.dup
9
+ props[:label] = @template.label(@object_name, name) if props[:label] == true
19
10
  options = Hash(options)
20
11
 
21
12
  options[:skip_default_ids] = false unless options.key?(:skip_default_ids)
22
13
  options[:required] = true if props[:required]
23
14
  options[:placeholder] = props[:placeholder] || ""
24
- options[:type] = props[:type] if props.key?(:type)
25
- options[:value] = props[:value] if props.key?(:value)
26
- options[:disabled] = true if props.key?(:disabled) && props[:disabled]
27
- if props.key?(:disabled)
28
- cursor_style = props[:disabled] ? "not-allowed" : "pointer"
29
- existing_style = options[:style] || ""
30
-
31
- options[:style] =
32
- existing_style.empty? ? "cursor: #{cursor_style}" : "#{existing_style}; cursor: #{cursor_style}"
33
- end
34
- if props.key?(:autocomplete)
35
- options[:autocomplete] = props[:autocomplete] == true ? nil : (props[:autocomplete].presence || "off")
36
- end
37
- if props.key?(:mask) && props[:mask].present?
38
- options[:mask] = props[:mask]
39
- options[:data] = (options[:data] || {}).merge(pb_input_mask: true)
40
- options[:pattern] = MASK_PATTERNS[props[:mask]]
41
- end
42
15
 
43
16
  if props.key?(:validation)
44
17
  validation = props[:validation]
45
18
  options[:pattern] = validation[:pattern] if validation[:pattern].present?
46
- options[:data] = (options[:data] || {}).merge(message: validation[:message]) if validation[:message].present?
19
+ options[:data] = { message: validation[:message] } if validation[:message].present?
47
20
  end
48
21
 
49
22
  input = super(name, **options, &block)
50
23
 
51
- input_id = input[/\bid="([^"]+)"/, 1] || "#{@object_name}_#{name}"
52
-
53
- if props[:label] == true
54
- props[:label] = @template.label(@object_name, name)
55
- elsif props[:label].is_a?(String)
56
- props[:label] = @template.label_tag(input_id, props[:label])
57
- end
58
-
59
24
  @template.pb_rails(kit_name, props: props) do
60
25
  input
61
26
  end
@@ -122,7 +122,7 @@ module Playbook
122
122
  html_options.each do |key, value|
123
123
  if key == :style && value.is_a?(Hash)
124
124
  # Convert style hash to CSS string
125
- merged[:style] = value.map { |k, v| "#{k.to_s.tr('_', '-')}: #{v}" }.join("; ")
125
+ merged[:style] = value.map { |k, v| "#{k.to_s.gsub('_', '-')}: #{v}" }.join("; ")
126
126
  else
127
127
  merged[key] = value
128
128
  end
@@ -136,27 +136,6 @@ module Playbook
136
136
  merged.deep_merge(data_attributes)
137
137
  end
138
138
 
139
- # Custom react_component helper to replace Webpacker React
140
- # This will render a div with data attributes for the component name and props
141
- # The mounting script will look for these divs and mount the appropriate React components
142
- # Sister def in app/helpers/react_helper in playbook-website. Any changes here should be reflected there.
143
- def react_component(component_name, props = {}, html_options = {})
144
- # Convert props to JSON for the data attribute
145
- props_json = props.to_json
146
-
147
- # Build the HTML attributes
148
- html_attrs = {
149
- "data-pb-react-component" => component_name,
150
- "data-pb-react-props" => props_json,
151
- }
152
-
153
- # Merge with any additional HTML options
154
- html_attrs.merge!(html_options)
155
-
156
- # Return the div element
157
- content_tag(:div, "", html_attrs)
158
- end
159
-
160
139
  def global_inline_props
161
140
  {
162
141
  height: height,
@@ -193,7 +172,7 @@ module Playbook
193
172
  end
194
173
 
195
174
  def dynamic_inline_props
196
- styles = global_inline_props.map { |key, value| "#{key.to_s.tr('_', '-')}: #{value}" if inline_validator(key, value) }.compact
175
+ styles = global_inline_props.map { |key, value| "#{key.to_s.gsub('_', '-')}: #{value}" if inline_validator(key, value) }.compact
197
176
  styles.join("; ").presence
198
177
  end
199
178
 
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "15.0.0"
5
- VERSION = "15.0.0.pre.alpha.PLAY2316advancedtablerightsidedoubleborder10726"
5
+ VERSION = "15.0.0.pre.alpha.PLAY2361datepickerarrownav10322"
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.0.0.pre.alpha.PLAY2316advancedtablerightsidedoubleborder10726
4
+ version: 15.0.0.pre.alpha.PLAY2361datepickerarrownav10322
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-09-24 00:00:00.000000000 Z
12
+ date: 2025-09-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -53,6 +53,20 @@ dependencies:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: 5.2.4.5
56
+ - !ruby/object:Gem::Dependency
57
+ name: react-rails
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - '='
61
+ - !ruby/object:Gem::Version
62
+ version: 2.6.1
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - '='
68
+ - !ruby/object:Gem::Version
69
+ version: 2.6.1
56
70
  - !ruby/object:Gem::Dependency
57
71
  name: view_component
58
72
  requirement: !ruby/object:Gem::Requirement
@@ -68,19 +82,19 @@ dependencies:
68
82
  - !ruby/object:Gem::Version
69
83
  version: 2.83.0
70
84
  - !ruby/object:Gem::Dependency
71
- name: vite_rails
85
+ name: webpacker-react
72
86
  requirement: !ruby/object:Gem::Requirement
73
87
  requirements:
74
- - - ">="
88
+ - - "~>"
75
89
  - !ruby/object:Gem::Version
76
- version: '0'
90
+ version: 0.3.2
77
91
  type: :runtime
78
92
  prerelease: false
79
93
  version_requirements: !ruby/object:Gem::Requirement
80
94
  requirements:
81
- - - ">="
95
+ - - "~>"
82
96
  - !ruby/object:Gem::Version
83
- version: '0'
97
+ version: 0.3.2
84
98
  - !ruby/object:Gem::Dependency
85
99
  name: brakeman
86
100
  requirement: !ruby/object:Gem::Requirement
@@ -875,7 +889,6 @@ files:
875
889
  - app/pb_kits/playbook/pb_contact/contact.test.js
876
890
  - app/pb_kits/playbook/pb_contact/docs/_contact_default.html.erb
877
891
  - app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx
878
- - app/pb_kits/playbook/pb_contact/docs/_contact_default.md
879
892
  - app/pb_kits/playbook/pb_contact/docs/_contact_default_swift.md
880
893
  - app/pb_kits/playbook/pb_contact/docs/_contact_props_swift.md
881
894
  - app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.html.erb
@@ -1207,6 +1220,7 @@ files:
1207
1220
  - app/pb_kits/playbook/pb_dialog/dialog.html.erb
1208
1221
  - app/pb_kits/playbook/pb_dialog/dialog.rb
1209
1222
  - app/pb_kits/playbook/pb_dialog/dialog.test.jsx
1223
+ - app/pb_kits/playbook/pb_dialog/dialogHelper.js
1210
1224
  - app/pb_kits/playbook/pb_dialog/dialog_body.html.erb
1211
1225
  - app/pb_kits/playbook/pb_dialog/dialog_body.rb
1212
1226
  - app/pb_kits/playbook/pb_dialog/dialog_footer.html.erb
@@ -2077,8 +2091,6 @@ files:
2077
2091
  - app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_custom.jsx
2078
2092
  - app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_default.html.erb
2079
2093
  - app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_default.jsx
2080
- - app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.html.erb
2081
- - app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.jsx
2082
2094
  - app/pb_kits/playbook/pb_loading_inline/docs/example.yml
2083
2095
  - app/pb_kits/playbook/pb_loading_inline/docs/index.js
2084
2096
  - app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb
@@ -2402,71 +2414,6 @@ files:
2402
2414
  - app/pb_kits/playbook/pb_passphrase/passphrase.html.erb
2403
2415
  - app/pb_kits/playbook/pb_passphrase/passphrase.rb
2404
2416
  - app/pb_kits/playbook/pb_passphrase/passphrase.test.jsx
2405
- - app/pb_kits/playbook/pb_pb_bar_graph/_pb_bar_graph.scss
2406
- - app/pb_kits/playbook/pb_pb_bar_graph/_pb_bar_graph.tsx
2407
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors.html.erb
2408
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors.jsx
2409
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors_rails.md
2410
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors_react.md
2411
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_default.html.erb
2412
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_default.jsx
2413
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.html.erb
2414
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.jsx
2415
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.md
2416
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_horizontal.html.erb
2417
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_horizontal.jsx
2418
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend.html.erb
2419
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend.jsx
2420
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_non_clickable.jsx
2421
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_position.html.erb
2422
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_position.jsx
2423
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_negative_numbers.html.erb
2424
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_negative_numbers.jsx
2425
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_secondary_y_axis.html.erb
2426
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_secondary_y_axis.jsx
2427
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.html.erb
2428
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.jsx
2429
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.md
2430
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_stacked.html.erb
2431
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_stacked.jsx
2432
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/example.yml
2433
- - app/pb_kits/playbook/pb_pb_bar_graph/docs/index.js
2434
- - app/pb_kits/playbook/pb_pb_bar_graph/pbBarGraphTheme.ts
2435
- - app/pb_kits/playbook/pb_pb_bar_graph/pb_bar_graph.html.erb
2436
- - app/pb_kits/playbook/pb_pb_bar_graph/pb_bar_graph.rb
2437
- - app/pb_kits/playbook/pb_pb_bar_graph/pbbargraph.test.jsx
2438
- - app/pb_kits/playbook/pb_pb_circle_chart/_pb_circle_chart.scss
2439
- - app/pb_kits/playbook/pb_pb_circle_chart/_pb_circle_chart.tsx
2440
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.html.erb
2441
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.jsx
2442
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.html.erb
2443
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.jsx
2444
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.md
2445
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.html.erb
2446
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.jsx
2447
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.md
2448
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.html.erb
2449
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.jsx
2450
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.md
2451
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.html.erb
2452
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.jsx
2453
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.html.erb
2454
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.jsx
2455
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.html.erb
2456
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.jsx
2457
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.html.erb
2458
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.jsx
2459
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_live_data.jsx
2460
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.html.erb
2461
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.jsx
2462
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.html.erb
2463
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.jsx
2464
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/example.yml
2465
- - app/pb_kits/playbook/pb_pb_circle_chart/docs/index.js
2466
- - app/pb_kits/playbook/pb_pb_circle_chart/pbCircleChartTheme.ts
2467
- - app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.html.erb
2468
- - app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.rb
2469
- - app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.test.jsx
2470
2417
  - app/pb_kits/playbook/pb_person/_person.scss
2471
2418
  - app/pb_kits/playbook/pb_person/_person.tsx
2472
2419
  - app/pb_kits/playbook/pb_person/docs/_description.md
@@ -2757,7 +2704,6 @@ files:
2757
2704
  - app/pb_kits/playbook/pb_section_separator/docs/index.js
2758
2705
  - app/pb_kits/playbook/pb_section_separator/section_separator.html.erb
2759
2706
  - app/pb_kits/playbook/pb_section_separator/section_separator.rb
2760
- - app/pb_kits/playbook/pb_section_separator/section_separator.test.js
2761
2707
  - app/pb_kits/playbook/pb_select/_select.scss
2762
2708
  - app/pb_kits/playbook/pb_select/_select.tsx
2763
2709
  - app/pb_kits/playbook/pb_select/docs/_description.md
@@ -3165,9 +3111,6 @@ files:
3165
3111
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_add_on.html.erb
3166
3112
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_add_on.jsx
3167
3113
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_add_on_swift.md
3168
- - app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.html.erb
3169
- - app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.jsx
3170
- - app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.md
3171
3114
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_custom.html.erb
3172
3115
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_custom.jsx
3173
3116
  - app/pb_kits/playbook/pb_text_input/docs/_text_input_default.html.erb
@@ -3305,47 +3248,25 @@ files:
3305
3248
  - app/pb_kits/playbook/pb_timestamp/_timestamp.tsx
3306
3249
  - app/pb_kits/playbook/pb_timestamp/docs/_description.md
3307
3250
  - app/pb_kits/playbook/pb_timestamp/docs/_footer.md
3251
+ - app/pb_kits/playbook/pb_timestamp/docs/_time_stamp_default.md
3308
3252
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.html.erb
3309
3253
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx
3310
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.md
3311
3254
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align_swift.md
3312
3255
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.html.erb
3313
3256
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx
3314
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.md
3315
3257
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default_swift.md
3316
3258
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.html.erb
3317
3259
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx
3318
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.md
3319
3260
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed_swift.md
3320
3261
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_props_swift.md
3321
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.html.erb
3322
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.jsx
3323
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.md
3324
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.html.erb
3325
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.jsx
3326
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.md
3327
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.html.erb
3328
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.jsx
3329
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.md
3330
3262
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.html.erb
3331
3263
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx
3332
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.md
3333
3264
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones_swift.md
3334
3265
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.html.erb
3335
3266
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.jsx
3336
3267
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.md
3337
3268
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.html.erb
3338
3269
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx
3339
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.md
3340
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.html.erb
3341
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.jsx
3342
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.md
3343
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.html.erb
3344
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.jsx
3345
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.md
3346
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.html.erb
3347
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.jsx
3348
- - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.md
3349
3270
  - app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_swift.md
3350
3271
  - app/pb_kits/playbook/pb_timestamp/docs/example.yml
3351
3272
  - app/pb_kits/playbook/pb_timestamp/docs/index.js
@@ -3699,13 +3620,12 @@ files:
3699
3620
  - app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
3700
3621
  - app/pb_kits/playbook/utilities/text.ts
3701
3622
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3702
- - dist/chunks/_line_graph-DeH7NK-i.js
3703
- - dist/chunks/_typeahead-CCGp0OQe.js
3704
- - dist/chunks/_weekday_stacked-Dy1jab6x.js
3705
- - dist/chunks/componentRegistry-DzmmLR2x.js
3623
+ - dist/chunks/_line_graph-DHO-uYxy.js
3624
+ - dist/chunks/_typeahead-_kMvPVfz.js
3625
+ - dist/chunks/_weekday_stacked-B1esXFeA.js
3706
3626
  - dist/chunks/lazysizes-B7xYodB-.js
3707
- - dist/chunks/lib-QZuu1ltS.js
3708
- - dist/chunks/pb_form_validation-CleM960_.js
3627
+ - dist/chunks/lib-C43ywQsO.js
3628
+ - dist/chunks/pb_form_validation-Cqj3itLG.js
3709
3629
  - dist/chunks/vendor.js
3710
3630
  - dist/menu.yml
3711
3631
  - dist/playbook-doc.js
@@ -1,5 +0,0 @@
1
- The Contact kit automatically formats US phone numbers when the `contactType` / `contact_type` is one of: `home` (default), `work`, `cell`, `work-cell`, `wrong-phone`.
2
-
3
- - Use `email` to display emails.
4
- - Use `international` to display International phone numbers exactly as provided (no formatting applied).
5
- - Use `extension` to display four digit phone extensions.
@@ -1,5 +0,0 @@
1
- <%= pb_rails("loading_inline", props: {text: "Dotted Spinner", variant: "dotted"}) %>
2
-
3
- <br/>
4
-
5
- <%= pb_rails("loading_inline", props: {text: "Solid Spinner", variant: "solid"}) %>
@@ -1,24 +0,0 @@
1
- import React from 'react'
2
- import { LoadingInline } from 'playbook-ui'
3
-
4
- const LoadingInlineVariant = (props) => {
5
- return (
6
- <div>
7
- <LoadingInline
8
- text=" Dotted Spinner"
9
- variant="dotted"
10
- {...props}
11
- />
12
-
13
- <br />
14
-
15
- <LoadingInline
16
- text=" Solid Spinner"
17
- variant="solid"
18
- {...props}
19
- />
20
- </div>
21
- )
22
- }
23
-
24
- export default LoadingInlineVariant
@@ -1,62 +0,0 @@
1
- import React, { useMemo } from "react"
2
- import { globalProps } from "../utilities/globalProps";
3
- import { buildAriaProps, buildDataProps, buildHtmlProps } from "../utilities/props";
4
- import Highcharts from "highcharts"
5
- import HighchartsReact from "highcharts-react-official"
6
-
7
- import pbBarGraphTheme from "./pbBarGraphTheme"
8
-
9
- import classnames from "classnames";
10
-
11
- type PbBarGraphProps = {
12
-
13
- options: Record<string, unknown>
14
- className?: string
15
- aria?: { [key: string]: string };
16
- data?: { [key: string]: string };
17
- id: string;
18
- htmlOptions?: {[key: string]: string | number | boolean | (() => void)};
19
- }
20
-
21
- const PbBarGraph = ({
22
- aria = {},
23
- data = {},
24
- id,
25
- htmlOptions = {},
26
- options,
27
- className = "pb_pb_bar_graph",
28
- }: PbBarGraphProps): React.ReactElement => {
29
-
30
- const ariaProps = buildAriaProps(aria);
31
- const dataProps = buildDataProps(data)
32
- const htmlProps = buildHtmlProps(htmlOptions);
33
-
34
- const mergedOptions = useMemo(() => {
35
- if (!options || typeof options !== "object") {
36
- // eslint-disable-next-line no-console
37
- console.error("❌ Invalid options passed to <BarGraph />", options)
38
- return {}
39
- }
40
-
41
- return Highcharts.merge({}, pbBarGraphTheme, options)
42
- }, [options])
43
-
44
- return (
45
-
46
- <div>
47
- <HighchartsReact
48
- containerProps={{
49
- className: classnames(globalProps, className),
50
- id: id,
51
- ...ariaProps,
52
- ...dataProps,
53
- ...htmlProps
54
- }}
55
- highcharts={Highcharts}
56
- options={mergedOptions}
57
- />
58
- </div>
59
- )
60
- }
61
-
62
- export default PbBarGraph
@@ -1,35 +0,0 @@
1
- <% chart_data = [{
2
- name: 'Installation',
3
- data: [1475,200,3000,654,656]
4
- }, {
5
- name: 'Manufacturing',
6
- data: [4434,524,2320,440,500]
7
- }, {
8
- name: 'Sales & Distribution',
9
- data: [3387,743,1344,434,440,]
10
- }, {
11
- name: 'Project Development',
12
- data: [3227,878,999,780,1000]
13
- }, {
14
- name: 'Other',
15
- data: [1111,677,3245,500,200]
16
- }] %>
17
-
18
- <% chart_options = {
19
- series: chart_data,
20
- title: {
21
- text: "Bar Graph with Custom Data Colors",
22
- },
23
- xAxis: {
24
- categories: ["Jan", "Feb", "Mar", "Apr", "May"],
25
- },
26
- yAxis: {
27
- title: {
28
- text: "Number of Employees",
29
- },
30
- },
31
- colors: ['#1CA05C', '#FD804C', '#144075', '#00C4D7', '#DA0014'],
32
- }
33
- %>
34
-
35
- <%= pb_rails("pb_bar_graph", props: {options: chart_options}) %>
@@ -1,49 +0,0 @@
1
- import React from 'react'
2
- import { PbBarGraph } from 'playbook-ui'
3
- import colors from '../../tokens/exports/_colors.module.scss'
4
-
5
- const chartData = [{
6
- name: 'Installation',
7
- data: [1475, 200, 3000, 654, 656],
8
- }, {
9
- name: 'Manufacturing',
10
- data: [4434, 524, 2320, 440, 500],
11
- }, {
12
- name: 'Sales & Distribution',
13
- data: [3387, 743, 1344, 434, 440],
14
- }, {
15
- name: 'Project Development',
16
- data: [3227, 878, 999, 780, 1000],
17
- }, {
18
- name: 'Other',
19
- data: [1111, 677, 3245, 500, 200],
20
- }]
21
-
22
- const chartOptions = {
23
- series: chartData,
24
- title: {
25
- text: "Bar Graph with Custom Data Colors",
26
- },
27
- xAxis: {
28
- categories: ["Jan", "Feb", "Mar", "Apr", "May"],
29
- },
30
- yAxis: {
31
- title: {
32
- text: "Number of Employees",
33
- },
34
- },
35
- colors: [colors.data_4, colors.data_5, colors.data_6, colors.data_7, colors.data_8],
36
- }
37
-
38
- const PbBarGraphColors = () => {
39
-
40
- return (
41
- <div>
42
- <PbBarGraph
43
- options={chartOptions}
44
- />
45
- </div>
46
- )
47
- }
48
-
49
- export default PbBarGraphColors
@@ -1 +0,0 @@
1
- Custom data colors allow for color customization to match the needs of business requirements. To accomplish this, you can use hex values.
@@ -1,2 +0,0 @@
1
- Custom data colors allow for color customization to match the needs of business requirements.
2
- You can use Playbook's color tokens or use hex values.
@@ -1,38 +0,0 @@
1
- <% chart_data = [{
2
- name: 'Installation',
3
- data: [1475,200,3000,654,656]
4
- }, {
5
- name: 'Manufacturing',
6
- data: [4434,524,2320,440,500]
7
- }, {
8
- name: 'Sales & Distribution',
9
- data: [3387,743,1344,434,440,]
10
- }, {
11
- name: 'Project Development',
12
- data: [3227,878,999,780,1000]
13
- }, {
14
- name: 'Other',
15
- data: [1111,677,3245,500,200]
16
- }] %>
17
-
18
-
19
- <% chart_options = {
20
- series: chart_data,
21
- title: {
22
- text: 'Solar Employment Growth by Sector, 2010-2016',
23
- },
24
- subtitle: {
25
- text: 'Source: thesolarfoundation.com',
26
- },
27
- xAxis: {
28
- categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
29
- },
30
- yAxis: {
31
- title: {
32
- text: 'Number of Employees',
33
- },
34
- },
35
- }
36
- %>
37
-
38
- <%= pb_rails("pb_bar_graph", props: {options: chart_options}) %>
@@ -1,51 +0,0 @@
1
- import React from 'react'
2
- import { PbBarGraph } from 'playbook-ui'
3
-
4
- const chartData = [{
5
- name: 'Installation',
6
- data: [1475, 200, 3000, 654, 656],
7
- }, {
8
- name: 'Manufacturing',
9
- data: [4434, 524, 2320, 440, 500],
10
- }, {
11
- name: 'Sales & Distribution',
12
- data: [3387, 743, 1344, 434, 440],
13
- }, {
14
- name: 'Project Development',
15
- data: [3227, 878, 999, 780, 1000],
16
- }, {
17
- name: 'Other',
18
- data: [1111, 677, 3245, 500, 200],
19
- }]
20
-
21
- const chartOptions = {
22
- series: chartData,
23
- title: {
24
- text: 'Solar Employment Growth by Sector, 2010-2016',
25
- },
26
- subtitle: {
27
- text: 'Source: thesolarfoundation.com',
28
- },
29
- xAxis: {
30
- categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
31
- },
32
- yAxis: {
33
- title: {
34
- text: 'Number of Employees',
35
- },
36
- },
37
- }
38
-
39
- const PbBarGraphDefault = (props) => {
40
-
41
- return (
42
- <div>
43
- <PbBarGraph
44
- {...props}
45
- options={chartOptions}
46
- />
47
- </div>
48
- )
49
- }
50
-
51
- export default PbBarGraphDefault