playbook_ui 13.22.0 → 13.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) 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_date_picker/docs/_date_picker_default_date.html.erb +0 -7
  17. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +0 -7
  18. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +7 -0
  19. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +7 -0
  20. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +2 -2
  21. data/app/pb_kits/playbook/pb_dialog/dialog_footer.html.erb +1 -1
  22. data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +2 -2
  23. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.html.erb +2 -0
  24. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +34 -0
  25. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.html.erb +17 -1
  26. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +18 -2
  27. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +14 -0
  28. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.tsx +1 -1
  29. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes.html.erb +5 -0
  30. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes.jsx +6 -0
  31. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  32. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.test.js +1 -0
  33. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.rb +0 -2
  34. data/app/pb_kits/playbook/pb_list/list.rb +0 -2
  35. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.md +2 -2
  36. 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
  37. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.md +5 -0
  38. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +1 -1
  39. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -1
  40. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +1 -10
  41. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  42. data/app/pb_kits/playbook/pb_online_status/_online_status_mixins.scss +7 -13
  43. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.html.erb +6 -9
  44. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.jsx +18 -7
  45. data/app/pb_kits/playbook/pb_online_status/online_status.rb +1 -1
  46. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default.html.erb +2 -1
  47. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.html.erb +2 -2
  48. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +39 -6
  49. data/app/pb_kits/playbook/pb_toggle/_toggle.tsx +17 -12
  50. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.html.erb +11 -0
  51. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.jsx +21 -0
  52. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +3 -1
  53. data/app/pb_kits/playbook/pb_toggle/docs/index.js +1 -0
  54. data/app/pb_kits/playbook/pb_toggle/toggle.rb +2 -1
  55. data/app/pb_kits/playbook/pb_toggle/toggle.test.js +7 -0
  56. data/app/pb_kits/playbook/utilities/_positioning.scss +23 -10
  57. data/app/pb_kits/playbook/utilities/globalProps.ts +26 -8
  58. data/dist/menu.yml +4 -0
  59. data/dist/playbook-rails.js +7 -7
  60. data/lib/playbook/bottom.rb +6 -3
  61. data/lib/playbook/kit_base.rb +1 -1
  62. data/lib/playbook/left.rb +6 -3
  63. data/lib/playbook/pb_doc_helper.rb +1 -1
  64. data/lib/playbook/position_props_css.rb +17 -0
  65. data/lib/playbook/props/percentage.rb +2 -2
  66. data/lib/playbook/right.rb +6 -3
  67. data/lib/playbook/top.rb +6 -3
  68. data/lib/playbook/version.rb +2 -2
  69. metadata +38 -38
  70. 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
@@ -88,7 +88,7 @@ module Playbook
88
88
  {
89
89
  data: data,
90
90
  aria: aria,
91
- }.transform_keys { |key| key.to_s.gsub("_", "-") }
91
+ }.transform_keys { |key| key.to_s.tr("_", "-") }
92
92
  end
93
93
  end
94
94
  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.22.0"
5
+ VERSION = "13.23.0"
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: 13.22.0
4
+ version: 13.23.0
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: 2024-03-27 00:00:00.000000000 Z
12
+ date: 2024-04-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -18,6 +18,9 @@ dependencies:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: 5.2.4.5
21
+ - - "<="
22
+ - !ruby/object:Gem::Version
23
+ version: 7.0.8.1
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -25,6 +28,9 @@ dependencies:
25
28
  - - ">="
26
29
  - !ruby/object:Gem::Version
27
30
  version: 5.2.4.5
31
+ - - "<="
32
+ - !ruby/object:Gem::Version
33
+ version: 7.0.8.1
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: actionview
30
36
  requirement: !ruby/object:Gem::Requirement
@@ -32,6 +38,9 @@ dependencies:
32
38
  - - ">="
33
39
  - !ruby/object:Gem::Version
34
40
  version: 5.2.4.5
41
+ - - "<="
42
+ - !ruby/object:Gem::Version
43
+ version: 7.0.8.1
35
44
  type: :runtime
36
45
  prerelease: false
37
46
  version_requirements: !ruby/object:Gem::Requirement
@@ -39,6 +48,9 @@ dependencies:
39
48
  - - ">="
40
49
  - !ruby/object:Gem::Version
41
50
  version: 5.2.4.5
51
+ - - "<="
52
+ - !ruby/object:Gem::Version
53
+ version: 7.0.8.1
42
54
  - !ruby/object:Gem::Dependency
43
55
  name: activesupport
44
56
  requirement: !ruby/object:Gem::Requirement
@@ -46,6 +58,9 @@ dependencies:
46
58
  - - ">="
47
59
  - !ruby/object:Gem::Version
48
60
  version: 5.2.4.5
61
+ - - "<="
62
+ - !ruby/object:Gem::Version
63
+ version: 7.0.8.1
49
64
  type: :runtime
50
65
  prerelease: false
51
66
  version_requirements: !ruby/object:Gem::Requirement
@@ -53,6 +68,9 @@ dependencies:
53
68
  - - ">="
54
69
  - !ruby/object:Gem::Version
55
70
  version: 5.2.4.5
71
+ - - "<="
72
+ - !ruby/object:Gem::Version
73
+ version: 7.0.8.1
56
74
  - !ruby/object:Gem::Dependency
57
75
  name: react-rails
58
76
  requirement: !ruby/object:Gem::Requirement
@@ -99,14 +117,14 @@ dependencies:
99
117
  name: byebug
100
118
  requirement: !ruby/object:Gem::Requirement
101
119
  requirements:
102
- - - '='
120
+ - - ">="
103
121
  - !ruby/object:Gem::Version
104
122
  version: 11.0.0
105
123
  type: :development
106
124
  prerelease: false
107
125
  version_requirements: !ruby/object:Gem::Requirement
108
126
  requirements:
109
- - - '='
127
+ - - ">="
110
128
  - !ruby/object:Gem::Version
111
129
  version: 11.0.0
112
130
  - !ruby/object:Gem::Dependency
@@ -130,6 +148,9 @@ dependencies:
130
148
  - - ">="
131
149
  - !ruby/object:Gem::Version
132
150
  version: 5.2.4.5
151
+ - - "<="
152
+ - !ruby/object:Gem::Version
153
+ version: 7.0.8.1
133
154
  type: :development
134
155
  prerelease: false
135
156
  version_requirements: !ruby/object:Gem::Requirement
@@ -137,6 +158,9 @@ dependencies:
137
158
  - - ">="
138
159
  - !ruby/object:Gem::Version
139
160
  version: 5.2.4.5
161
+ - - "<="
162
+ - !ruby/object:Gem::Version
163
+ version: 7.0.8.1
140
164
  - !ruby/object:Gem::Dependency
141
165
  name: rspec-html-matchers
142
166
  requirement: !ruby/object:Gem::Requirement
@@ -175,16 +199,16 @@ dependencies:
175
199
  name: rubocop
176
200
  requirement: !ruby/object:Gem::Requirement
177
201
  requirements:
178
- - - '='
202
+ - - ">="
179
203
  - !ruby/object:Gem::Version
180
- version: 1.23.0
204
+ version: '0'
181
205
  type: :development
182
206
  prerelease: false
183
207
  version_requirements: !ruby/object:Gem::Requirement
184
208
  requirements:
185
- - - '='
209
+ - - ">="
186
210
  - !ruby/object:Gem::Version
187
- version: 1.23.0
211
+ version: '0'
188
212
  - !ruby/object:Gem::Dependency
189
213
  name: rubocop-performance
190
214
  requirement: !ruby/object:Gem::Requirement
@@ -199,34 +223,6 @@ dependencies:
199
223
  - - "~>"
200
224
  - !ruby/object:Gem::Version
201
225
  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
226
  - !ruby/object:Gem::Dependency
231
227
  name: tzinfo-data
232
228
  requirement: !ruby/object:Gem::Requirement
@@ -310,8 +306,8 @@ files:
310
306
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx
311
307
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.md
312
308
  - app/pb_kits/playbook/pb_advanced_table/docs/_description.md
313
- - app/pb_kits/playbook/pb_advanced_table/docs/_mock_data.js
314
309
  - app/pb_kits/playbook/pb_advanced_table/docs/_mock_data_inline_loading.js
310
+ - app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data.json
315
311
  - app/pb_kits/playbook/pb_advanced_table/docs/example.yml
316
312
  - app/pb_kits/playbook/pb_advanced_table/docs/index.js
317
313
  - app/pb_kits/playbook/pb_advanced_table/scss_partials/_chrome_styles.scss
@@ -1635,8 +1631,9 @@ files:
1635
1631
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.jsx
1636
1632
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.md
1637
1633
  - 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
1634
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.md
1635
+ - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.jsx
1636
+ - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.md
1640
1637
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.html.erb
1641
1638
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.jsx
1642
1639
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.md
@@ -2557,6 +2554,8 @@ files:
2557
2554
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_default.html.erb
2558
2555
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_default.jsx
2559
2556
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_default_swift.md
2557
+ - app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.html.erb
2558
+ - app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.jsx
2560
2559
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_name.html.erb
2561
2560
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_name.jsx
2562
2561
  - app/pb_kits/playbook/pb_toggle/docs/_toggle_name_swift.md
@@ -2857,6 +2856,7 @@ files:
2857
2856
  - lib/playbook/pb_forms_helper.rb
2858
2857
  - lib/playbook/pb_kit_helper.rb
2859
2858
  - lib/playbook/position.rb
2859
+ - lib/playbook/position_props_css.rb
2860
2860
  - lib/playbook/props.rb
2861
2861
  - lib/playbook/props/array.rb
2862
2862
  - lib/playbook/props/base.rb
@@ -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
- ]