playbook_ui 13.22.0 → 13.23.0.pre.alpha.PLAY1284investigation2657

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +8 -4
  3. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +1 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail.jsx +1 -1
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.jsx +1 -1
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.jsx +6 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.md +2 -0
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx +1 -1
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort.jsx +1 -1
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_control.jsx +1 -1
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_subrow_headers.jsx +1 -1
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_options.jsx +1 -1
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +1 -1
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data.json +278 -0
  15. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -1
  16. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +1 -6
  17. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +28 -7
  18. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +2 -0
  19. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.html.erb +26 -0
  20. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +36 -0
  21. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +3 -0
  22. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +2 -0
  23. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +1 -0
  24. data/app/pb_kits/playbook/pb_body/_body.scss +3 -3
  25. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +0 -7
  26. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +0 -7
  27. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +7 -0
  28. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +7 -0
  29. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +2 -2
  30. data/app/pb_kits/playbook/pb_dialog/dialog_footer.html.erb +1 -1
  31. data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +2 -2
  32. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.html.erb +2 -0
  33. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +34 -0
  34. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.html.erb +17 -1
  35. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +18 -2
  36. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +14 -0
  37. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.tsx +1 -1
  38. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes.html.erb +5 -0
  39. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes.jsx +6 -0
  40. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  41. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.test.js +1 -0
  42. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.rb +0 -2
  43. data/app/pb_kits/playbook/pb_list/list.rb +0 -2
  44. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.md +2 -2
  45. data/app/pb_kits/playbook/pb_multi_level_select/docs/{_multi_level_select_selected_ids.jsx → _multi_level_select_selected_ids_react.jsx} +2 -2
  46. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.md +5 -0
  47. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +1 -1
  48. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -1
  49. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +1 -10
  50. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  51. data/app/pb_kits/playbook/pb_online_status/_online_status_mixins.scss +7 -13
  52. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.html.erb +6 -9
  53. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.jsx +18 -7
  54. data/app/pb_kits/playbook/pb_online_status/online_status.rb +1 -1
  55. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default.html.erb +2 -1
  56. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.html.erb +2 -2
  57. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +39 -6
  58. data/app/pb_kits/playbook/pb_toggle/_toggle.tsx +17 -12
  59. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.html.erb +11 -0
  60. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.jsx +21 -0
  61. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +3 -1
  62. data/app/pb_kits/playbook/pb_toggle/docs/index.js +1 -0
  63. data/app/pb_kits/playbook/pb_toggle/toggle.rb +2 -1
  64. data/app/pb_kits/playbook/pb_toggle/toggle.test.js +7 -0
  65. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +27 -19
  66. data/app/pb_kits/playbook/pb_typeahead/components/MenuList.tsx +4 -2
  67. data/app/pb_kits/playbook/pb_typeahead/components/index.tsx +19 -0
  68. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_menu_list.jsx +51 -0
  69. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +1 -1
  70. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +1 -0
  71. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -0
  72. data/app/pb_kits/playbook/utilities/_positioning.scss +23 -10
  73. data/app/pb_kits/playbook/utilities/globalProps.ts +26 -8
  74. data/dist/menu.yml +4 -0
  75. data/dist/playbook-rails.js +7 -7
  76. data/lib/playbook/bottom.rb +6 -3
  77. data/lib/playbook/kit_base.rb +21 -1
  78. data/lib/playbook/left.rb +6 -3
  79. data/lib/playbook/pb_doc_helper.rb +1 -1
  80. data/lib/playbook/position_props_css.rb +17 -0
  81. data/lib/playbook/props/percentage.rb +2 -2
  82. data/lib/playbook/right.rb +6 -3
  83. data/lib/playbook/top.rb +6 -3
  84. data/lib/playbook/version.rb +2 -2
  85. metadata +22 -41
  86. data/app/pb_kits/playbook/pb_advanced_table/docs/_mock_data.js +0 -278
@@ -1,7 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "playbook/position_props_css"
4
+
3
5
  module Playbook
4
6
  module Bottom
7
+ include Playbook::PositionPropsCss
8
+
5
9
  def self.included(base)
6
10
  base.prop :bottom
7
11
  end
@@ -24,9 +28,8 @@ module Playbook
24
28
 
25
29
  selected_props.map do |k|
26
30
  value = send(k)
27
- return nil unless bottom_values.include? value
28
-
29
- "bottom_#{value}"
31
+ css = positioning_css("bottom", value) if bottom.present?
32
+ css
30
33
  end.compact.join(" ")
31
34
  end
32
35
  end
@@ -31,6 +31,8 @@ require "playbook/right"
31
31
  require "playbook/bottom"
32
32
 
33
33
  module Playbook
34
+ include ActionView::Helpers
35
+
34
36
  class KitBase < ViewComponent::Base
35
37
  include Playbook::PbKitHelper
36
38
  include Playbook::Props
@@ -78,8 +80,26 @@ module Playbook
78
80
  default_html_options.merge(html_options.deep_merge(data_attributes))
79
81
  end
80
82
 
83
+ # rubocop:disable Style/OptionalBooleanParameter
84
+ def pb_content_tag(name, content_or_options_with_block = nil, options = {}, escape = true, &block)
85
+ combined_options = options
86
+ .merge(combined_html_options)
87
+ .merge(default_options.merge(content_or_options_with_block))
88
+ content_tag(name, combined_options, options, escape, &block)
89
+ end
90
+ # rubocop:enable Style/OptionalBooleanParameter
91
+
81
92
  private
82
93
 
94
+ def default_options
95
+ {
96
+ id: id,
97
+ data: data,
98
+ class: classname,
99
+ aria: aria,
100
+ }
101
+ end
102
+
83
103
  def default_html_options
84
104
  {}
85
105
  end
@@ -88,7 +108,7 @@ module Playbook
88
108
  {
89
109
  data: data,
90
110
  aria: aria,
91
- }.transform_keys { |key| key.to_s.gsub("_", "-") }
111
+ }.transform_keys { |key| key.to_s.tr("_", "-").to_sym }
92
112
  end
93
113
  end
94
114
  end
data/lib/playbook/left.rb CHANGED
@@ -1,7 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "playbook/position_props_css"
4
+
3
5
  module Playbook
4
6
  module Left
7
+ include Playbook::PositionPropsCss
8
+
5
9
  def self.included(base)
6
10
  base.prop :left
7
11
  end
@@ -24,9 +28,8 @@ module Playbook
24
28
 
25
29
  selected_props.map do |k|
26
30
  value = send(k)
27
- return nil unless left_values.include? value
28
-
29
- "left_#{value}"
31
+ css = positioning_css("left", value) if left.present?
32
+ css
30
33
  end.compact.join(" ")
31
34
  end
32
35
  end
@@ -73,7 +73,7 @@ module Playbook
73
73
  #{pb_kit(kit: kit, type: type, show_code: code, limit_examples: limit_examples, dark_mode: dark_mode)}</div>")
74
74
  title + ui
75
75
  end
76
- # rubocop:enable Style/OptionalBooleanParameter
76
+ # rubocop:enable Style/OptionalBooleanParameter
77
77
 
78
78
  private
79
79
 
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module PositionPropsCss
5
+ POSITION_VALUES = %w[0 xxs xs sm md lg xl auto initial inherit].freeze
6
+
7
+ def positioning_css(property, value)
8
+ if value.is_a?(String)
9
+ "#{property}_#{value}"
10
+ elsif value.is_a?(Hash) && value.key?(:inset)
11
+ "#{property}_#{value[:value]}_inset"
12
+ elsif value.is_a?(Hash)
13
+ "#{property}_#{value[:value]}"
14
+ end
15
+ end
16
+ end
17
+ end
@@ -10,9 +10,9 @@ module Playbook
10
10
  private
11
11
 
12
12
  def numeric_in_range?(value)
13
- (value.is_a?(::Numeric) &&
13
+ value.is_a?(::Numeric) &&
14
14
  value <= 100 &&
15
- value >= 0)
15
+ value >= 0
16
16
  end
17
17
  end
18
18
  end
@@ -1,7 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "playbook/position_props_css"
4
+
3
5
  module Playbook
4
6
  module Right
7
+ include Playbook::PositionPropsCss
8
+
5
9
  def self.included(base)
6
10
  base.prop :right
7
11
  end
@@ -24,9 +28,8 @@ module Playbook
24
28
 
25
29
  selected_props.map do |k|
26
30
  value = send(k)
27
- return nil unless right_values.include? value
28
-
29
- "right_#{value}"
31
+ css = positioning_css("right", value) if right.present?
32
+ css
30
33
  end.compact.join(" ")
31
34
  end
32
35
  end
data/lib/playbook/top.rb CHANGED
@@ -1,7 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "playbook/position_props_css"
4
+
3
5
  module Playbook
4
6
  module Top
7
+ include Playbook::PositionPropsCss
8
+
5
9
  def self.included(base)
6
10
  base.prop :top
7
11
  end
@@ -24,9 +28,8 @@ module Playbook
24
28
 
25
29
  selected_props.map do |k|
26
30
  value = send(k)
27
- return nil unless top_values.include? value
28
-
29
- "top_#{value}"
31
+ css = positioning_css("top", value) if top.present?
32
+ css
30
33
  end.compact.join(" ")
31
34
  end
32
35
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- PREVIOUS_VERSION = "13.21.0"
5
- VERSION = "13.22.0"
4
+ PREVIOUS_VERSION = "13.23.0"
5
+ VERSION = "13.23.0.pre.alpha.PLAY1284investigation2657"
6
6
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 13.22.0
4
+ version: 13.23.0.pre.alpha.PLAY1284investigation2657
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
8
8
  - Power Devs
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-03-27 00:00:00.000000000 Z
12
+ date: 2024-04-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -99,14 +99,14 @@ dependencies:
99
99
  name: byebug
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '='
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: 11.0.0
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '='
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: 11.0.0
112
112
  - !ruby/object:Gem::Dependency
@@ -175,16 +175,16 @@ dependencies:
175
175
  name: rubocop
176
176
  requirement: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - '='
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
- version: 1.23.0
180
+ version: '0'
181
181
  type: :development
182
182
  prerelease: false
183
183
  version_requirements: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - '='
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
- version: 1.23.0
187
+ version: '0'
188
188
  - !ruby/object:Gem::Dependency
189
189
  name: rubocop-performance
190
190
  requirement: !ruby/object:Gem::Requirement
@@ -199,34 +199,6 @@ dependencies:
199
199
  - - "~>"
200
200
  - !ruby/object:Gem::Version
201
201
  version: 1.11.5
202
- - !ruby/object:Gem::Dependency
203
- name: spring
204
- requirement: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - '='
207
- - !ruby/object:Gem::Version
208
- version: 2.0.2
209
- type: :development
210
- prerelease: false
211
- version_requirements: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - '='
214
- - !ruby/object:Gem::Version
215
- version: 2.0.2
216
- - !ruby/object:Gem::Dependency
217
- name: spring-watcher-listen
218
- requirement: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - '='
221
- - !ruby/object:Gem::Version
222
- version: 2.0.1
223
- type: :development
224
- prerelease: false
225
- version_requirements: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - '='
228
- - !ruby/object:Gem::Version
229
- version: 2.0.1
230
202
  - !ruby/object:Gem::Dependency
231
203
  name: tzinfo-data
232
204
  requirement: !ruby/object:Gem::Requirement
@@ -310,8 +282,8 @@ files:
310
282
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx
311
283
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.md
312
284
  - app/pb_kits/playbook/pb_advanced_table/docs/_description.md
313
- - app/pb_kits/playbook/pb_advanced_table/docs/_mock_data.js
314
285
  - app/pb_kits/playbook/pb_advanced_table/docs/_mock_data_inline_loading.js
286
+ - app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data.json
315
287
  - app/pb_kits/playbook/pb_advanced_table/docs/example.yml
316
288
  - app/pb_kits/playbook/pb_advanced_table/docs/index.js
317
289
  - app/pb_kits/playbook/pb_advanced_table/scss_partials/_chrome_styles.scss
@@ -434,6 +406,9 @@ files:
434
406
  - app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.html.erb
435
407
  - app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx
436
408
  - app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md
409
+ - app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.html.erb
410
+ - app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx
411
+ - app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md
437
412
  - app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.html.erb
438
413
  - app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx
439
414
  - app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.md
@@ -1635,8 +1610,9 @@ files:
1635
1610
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.jsx
1636
1611
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.md
1637
1612
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.html.erb
1638
- - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.jsx
1639
1613
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.md
1614
+ - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.jsx
1615
+ - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.md
1640
1616
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.html.erb
1641
1617
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.jsx
1642
1618
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.md
@@ -2557,6 +2533,8 @@ files:
2557
2533
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_default.html.erb
2558
2534
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_default.jsx
2559
2535
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_default_swift.md
2536
+ - app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.html.erb
2537
+ - app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.jsx
2560
2538
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_name.html.erb
2561
2539
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_name.jsx
2562
2540
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_name_swift.md
@@ -2627,10 +2605,12 @@ files:
2627
2605
  - app/pb_kits/playbook/pb_typeahead/components/Option.tsx
2628
2606
  - app/pb_kits/playbook/pb_typeahead/components/Placeholder.tsx
2629
2607
  - app/pb_kits/playbook/pb_typeahead/components/ValueContainer.tsx
2608
+ - app/pb_kits/playbook/pb_typeahead/components/index.tsx
2630
2609
  - app/pb_kits/playbook/pb_typeahead/docs/_description.md
2631
2610
  - app/pb_kits/playbook/pb_typeahead/docs/_footer.md
2632
2611
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx
2633
2612
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.jsx
2613
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_menu_list.jsx
2634
2614
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb
2635
2615
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx
2636
2616
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.html.erb
@@ -2857,6 +2837,7 @@ files:
2857
2837
  - lib/playbook/pb_forms_helper.rb
2858
2838
  - lib/playbook/pb_kit_helper.rb
2859
2839
  - lib/playbook/position.rb
2840
+ - lib/playbook/position_props_css.rb
2860
2841
  - lib/playbook/props.rb
2861
2842
  - lib/playbook/props/array.rb
2862
2843
  - lib/playbook/props/base.rb
@@ -2885,7 +2866,7 @@ homepage: https://playbook.powerapp.cloud/
2885
2866
  licenses:
2886
2867
  - ISC
2887
2868
  metadata: {}
2888
- post_install_message:
2869
+ post_install_message:
2889
2870
  rdoc_options: []
2890
2871
  require_paths:
2891
2872
  - lib
@@ -2901,7 +2882,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2901
2882
  version: '0'
2902
2883
  requirements: []
2903
2884
  rubygems_version: 3.5.3
2904
- signing_key:
2885
+ signing_key:
2905
2886
  specification_version: 4
2906
2887
  summary: Playbook Design System
2907
2888
  test_files: []
@@ -1,278 +0,0 @@
1
- export const MOCK_DATA = [
2
- {
3
- year: "2021",
4
- quarter: null,
5
- month: null,
6
- day: null,
7
- newEnrollments: "20",
8
- scheduledMeetings: "10",
9
- attendanceRate: "51%",
10
- completedClasses: "3",
11
- classCompletionRate: "33%",
12
- graduatedStudents: "19",
13
- children: [
14
- {
15
- year: "2021",
16
- quarter: "Q1",
17
- month: null,
18
- day: null,
19
- newEnrollments: "2",
20
- scheduledMeetings: "35",
21
- attendanceRate: "32%",
22
- completedClasses: "15",
23
- classCompletionRate: "52%",
24
- graduatedStudents: "36",
25
- children: [
26
- {
27
- year: "2021",
28
- quarter: "Q1",
29
- month: "January",
30
- day: null,
31
- newEnrollments: "16",
32
- scheduledMeetings: "20",
33
- attendanceRate: "11%",
34
- completedClasses: "13",
35
- classCompletionRate: "47%",
36
- graduatedStudents: "28",
37
- children: [
38
- {
39
- year: "2021",
40
- quarter: "Q1",
41
- month: "January",
42
- day: "10",
43
- newEnrollments: "34",
44
- scheduledMeetings: "28",
45
- attendanceRate: "97%",
46
- completedClasses: "20",
47
- classCompletionRate: "15%",
48
- graduatedStudents: "17",
49
- },
50
- {
51
- year: "2021",
52
- quarter: "Q1",
53
- month: "January",
54
- day: "20",
55
- newEnrollments: "43",
56
- scheduledMeetings: "23",
57
- attendanceRate: "66%",
58
- completedClasses: "26",
59
- classCompletionRate: "47%",
60
- graduatedStudents: "9",
61
- },
62
- ],
63
- },
64
- {
65
- year: "2021",
66
- quarter: "Q1",
67
- month: "February",
68
- day: null,
69
- newEnrollments: "20",
70
- scheduledMeetings: "41",
71
- attendanceRate: "95%",
72
- completedClasses: "26",
73
- classCompletionRate: "83%",
74
- graduatedStudents: "43",
75
- children: [
76
- {
77
- year: "2011",
78
- quarter: "Q1",
79
- month: "February",
80
- day: "15",
81
- newEnrollments: "19",
82
- scheduledMeetings: "35",
83
- attendanceRate: "69%",
84
- completedClasses: "8",
85
- classCompletionRate: "75%",
86
- graduatedStudents: "23",
87
- },
88
- ],
89
- },
90
- ],
91
- },
92
- ],
93
- },
94
- {
95
- year: "2022",
96
- quarter: null,
97
- month: null,
98
- day: null,
99
- newEnrollments: "25",
100
- scheduledMeetings: "17",
101
- attendanceRate: "75%",
102
- completedClasses: "5",
103
- classCompletionRate: "45%",
104
- graduatedStudents: "32",
105
- children: [
106
- {
107
- year: "2022",
108
- quarter: "Q1",
109
- month: null,
110
- day: null,
111
- newEnrollments: "2",
112
- scheduledMeetings: "35",
113
- attendanceRate: "32%",
114
- completedClasses: "15",
115
- classCompletionRate: "52%",
116
- graduatedStudents: "36",
117
- children: [
118
- {
119
- year: "2022",
120
- quarter: "Q1",
121
- month: "January",
122
- day: null,
123
- newEnrollments: "16",
124
- scheduledMeetings: "20",
125
- attendanceRate: "11%",
126
- completedClasses: "13",
127
- classCompletionRate: "47%",
128
- graduatedStudents: "28",
129
- children: [
130
- {
131
- year: "2022",
132
- quarter: "Q1",
133
- month: "January",
134
- day: "15",
135
- newEnrollments: "34",
136
- scheduledMeetings: "28",
137
- attendanceRate: "97%",
138
- completedClasses: "20",
139
- classCompletionRate: "15%",
140
- graduatedStudents: "17",
141
- },
142
- {
143
- year: "2022",
144
- quarter: "Q1",
145
- month: "January",
146
- day: "25",
147
- newEnrollments: "43",
148
- scheduledMeetings: "23",
149
- attendanceRate: "66%",
150
- completedClasses: "26",
151
- classCompletionRate: "47%",
152
- graduatedStudents: "9",
153
- },
154
- ],
155
- },
156
- {
157
- year: "2022",
158
- quarter: "Q1",
159
- month: "May",
160
- day: null,
161
- newEnrollments: "20",
162
- scheduledMeetings: "41",
163
- attendanceRate: "95%",
164
- completedClasses: "26",
165
- classCompletionRate: "83%",
166
- graduatedStudents: "43",
167
- children: [
168
- {
169
- year: "2011",
170
- quarter: "Q1",
171
- month: "May",
172
- day: "2",
173
- newEnrollments: "19",
174
- scheduledMeetings: "35",
175
- attendanceRate: "69%",
176
- completedClasses: "8",
177
- classCompletionRate: "75%",
178
- graduatedStudents: "23",
179
- },
180
- ],
181
- },
182
- ],
183
- },
184
- ],
185
- },
186
- {
187
- year: "2023",
188
- quarter: null,
189
- month: null,
190
- day: null,
191
- newEnrollments: "10",
192
- scheduledMeetings: "15",
193
- attendanceRate: "65%",
194
- completedClasses: "4",
195
- classCompletionRate: "49%",
196
- graduatedStudents: "29",
197
- children: [
198
- {
199
- year: "2023",
200
- quarter: "Q1",
201
- month: null,
202
- day: null,
203
- newEnrollments: "2",
204
- scheduledMeetings: "35",
205
- attendanceRate: "32%",
206
- completedClasses: "15",
207
- classCompletionRate: "52%",
208
- graduatedStudents: "36",
209
- children: [
210
- {
211
- year: "2023",
212
- quarter: "Q1",
213
- month: "March",
214
- day: null,
215
- newEnrollments: "16",
216
- scheduledMeetings: "20",
217
- attendanceRate: "11%",
218
- completedClasses: "13",
219
- classCompletionRate: "47%",
220
- graduatedStudents: "28",
221
- children: [
222
- {
223
- year: "2023",
224
- quarter: "Q1",
225
- month: "March",
226
- day: "10",
227
- newEnrollments: "34",
228
- scheduledMeetings: "28",
229
- attendanceRate: "97%",
230
- completedClasses: "20",
231
- classCompletionRate: "15%",
232
- graduatedStudents: "17",
233
- },
234
- {
235
- year: "2023",
236
- quarter: "Q1",
237
- month: "March",
238
- day: "11",
239
- newEnrollments: "43",
240
- scheduledMeetings: "23",
241
- attendanceRate: "66%",
242
- completedClasses: "26",
243
- classCompletionRate: "47%",
244
- graduatedStudents: "9",
245
- },
246
- ],
247
- },
248
- {
249
- year: "2023",
250
- quarter: "Q1",
251
- month: "April",
252
- day: null,
253
- newEnrollments: "20",
254
- scheduledMeetings: "41",
255
- attendanceRate: "95%",
256
- completedClasses: "26",
257
- classCompletionRate: "83%",
258
- graduatedStudents: "43",
259
- children: [
260
- {
261
- year: "2023",
262
- quarter: "Q1",
263
- month: "April",
264
- day: "15",
265
- newEnrollments: "19",
266
- scheduledMeetings: "35",
267
- attendanceRate: "69%",
268
- completedClasses: "8",
269
- classCompletionRate: "75%",
270
- graduatedStudents: "23",
271
- },
272
- ],
273
- },
274
- ],
275
- },
276
- ],
277
- },
278
- ]