playbook_ui 15.8.0.pre.rc.1 → 16.0.0

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 (180) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -4
  3. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_description.md +6 -1
  4. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_description.md +6 -1
  5. data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.test.jsx +1 -1
  6. data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_description.md +6 -1
  7. data/app/pb_kits/playbook/pb_pb_gauge_chart/pb_gauge_chart.test.jsx +1 -1
  8. data/app/pb_kits/playbook/pb_pb_line_graph/docs/_description.md +6 -1
  9. data/app/pb_kits/playbook/pb_pb_line_graph/pb_line_graph.test.jsx +1 -1
  10. data/app/pb_kits/playbook/utilities/test/globalProps/alignContent.test.js +37 -50
  11. data/app/pb_kits/playbook/utilities/test/globalProps/alignItems.test.js +38 -50
  12. data/app/pb_kits/playbook/utilities/test/globalProps/alignSelf.test.js +37 -50
  13. data/app/pb_kits/playbook/utilities/test/globalProps/display.test.js +37 -51
  14. data/app/pb_kits/playbook/utilities/test/globalProps/flex.test.js +44 -76
  15. data/app/pb_kits/playbook/utilities/test/globalProps/flexDirection.test.js +37 -50
  16. data/app/pb_kits/playbook/utilities/test/globalProps/flexGrow.test.js +35 -48
  17. data/app/pb_kits/playbook/utilities/test/globalProps/flexShrink.test.js +35 -48
  18. data/app/pb_kits/playbook/utilities/test/globalProps/flexWrap.test.js +37 -50
  19. data/app/pb_kits/playbook/utilities/test/globalProps/globalPropsTestHelper.js +373 -0
  20. data/app/pb_kits/playbook/utilities/test/globalProps/justifyContent.test.js +37 -50
  21. data/app/pb_kits/playbook/utilities/test/globalProps/justifySelf.test.js +37 -50
  22. data/app/pb_kits/playbook/utilities/test/globalProps/order.test.js +36 -48
  23. data/app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js +30 -18
  24. data/dist/chunks/_pb_line_graph-ByQFYuFO.js +1 -0
  25. data/dist/chunks/_typeahead-Bl8_gWmz.js +1 -0
  26. data/dist/chunks/componentRegistry-DzmmLR2x.js +1 -0
  27. data/dist/chunks/globalProps-D6R2eJnp.js +6 -0
  28. data/dist/chunks/lib-C8h70OzX.js +29 -0
  29. data/dist/chunks/vendor.js +4 -4
  30. data/dist/menu.yml +0 -29
  31. data/dist/playbook-rails-react-bindings.js +1 -1
  32. data/dist/playbook-rails.js +1 -1
  33. data/dist/playbook.css +1 -1
  34. data/lib/playbook/version.rb +1 -1
  35. metadata +8 -147
  36. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.scss +0 -6
  37. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +0 -196
  38. data/app/pb_kits/playbook/pb_bar_graph/barGraph.test.js +0 -31
  39. data/app/pb_kits/playbook/pb_bar_graph/barGraphSettings.js +0 -32
  40. data/app/pb_kits/playbook/pb_bar_graph/barGraphTheme.ts +0 -106
  41. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.html.erb +0 -1
  42. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +0 -98
  43. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.html.erb +0 -26
  44. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +0 -55
  45. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.md +0 -2
  46. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom_rails.html.erb +0 -42
  47. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom_rails.md +0 -2
  48. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.html.erb +0 -26
  49. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +0 -55
  50. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.html.erb +0 -26
  51. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +0 -69
  52. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +0 -3
  53. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.html.erb +0 -58
  54. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +0 -64
  55. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.html.erb +0 -14
  56. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +0 -40
  57. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.html.erb +0 -15
  58. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +0 -48
  59. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.html.erb +0 -62
  60. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +0 -136
  61. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +0 -17
  62. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.html.erb +0 -23
  63. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +0 -52
  64. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.html.erb +0 -26
  65. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +0 -86
  66. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +0 -3
  67. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.html.erb +0 -20
  68. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx +0 -46
  69. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.md +0 -2
  70. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.html.erb +0 -22
  71. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +0 -55
  72. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.md +0 -1
  73. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +0 -1
  74. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +0 -28
  75. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +0 -11
  76. data/app/pb_kits/playbook/pb_circle_chart/ChartsTypes.ts +0 -2
  77. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss +0 -16
  78. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +0 -228
  79. data/app/pb_kits/playbook/pb_circle_chart/circleChart.test.js +0 -45
  80. data/app/pb_kits/playbook/pb_circle_chart/circleChartTheme.ts +0 -88
  81. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.html.erb +0 -10
  82. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +0 -99
  83. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.html.erb +0 -26
  84. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +0 -88
  85. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.html.erb +0 -20
  86. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +0 -44
  87. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_rails.md +0 -2
  88. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_react.md +0 -2
  89. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.html.erb +0 -20
  90. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +0 -43
  91. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.md +0 -5
  92. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.html.erb +0 -19
  93. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +0 -38
  94. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.html.erb +0 -136
  95. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +0 -152
  96. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.html.erb +0 -86
  97. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +0 -142
  98. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +0 -14
  99. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +0 -63
  100. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.html.erb +0 -22
  101. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +0 -45
  102. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.html.erb +0 -37
  103. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +0 -61
  104. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.html.erb +0 -22
  105. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +0 -41
  106. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.html.erb +0 -38
  107. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +0 -55
  108. data/app/pb_kits/playbook/pb_circle_chart/docs/_description.md +0 -1
  109. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +0 -26
  110. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +0 -11
  111. data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +0 -104
  112. data/app/pb_kits/playbook/pb_dashboard/pbChartsColorsHelper.ts +0 -16
  113. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +0 -174
  114. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +0 -173
  115. data/app/pb_kits/playbook/pb_dashboard/themeTypes.ts +0 -20
  116. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +0 -49
  117. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +0 -215
  118. data/app/pb_kits/playbook/pb_gauge/docs/_description.md +0 -1
  119. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.html.erb +0 -12
  120. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +0 -36
  121. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_rails.md +0 -2
  122. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +0 -2
  123. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.html.erb +0 -32
  124. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +0 -146
  125. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_rails.md +0 -1
  126. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +0 -1
  127. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.html.erb +0 -11
  128. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +0 -30
  129. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.html.erb +0 -12
  130. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +0 -36
  131. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.html.erb +0 -14
  132. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +0 -49
  133. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.html.erb +0 -15
  134. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +0 -62
  135. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +0 -76
  136. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.html.erb +0 -15
  137. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +0 -54
  138. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.md +0 -1
  139. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +0 -27
  140. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +0 -80
  141. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.md +0 -2
  142. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.html.erb +0 -14
  143. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +0 -38
  144. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.html.erb +0 -29
  145. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +0 -72
  146. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +0 -1
  147. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +0 -27
  148. data/app/pb_kits/playbook/pb_gauge/docs/index.js +0 -11
  149. data/app/pb_kits/playbook/pb_gauge/gauge.html.erb +0 -2
  150. data/app/pb_kits/playbook/pb_gauge/gauge.rb +0 -56
  151. data/app/pb_kits/playbook/pb_gauge/gauge.test.js +0 -35
  152. data/app/pb_kits/playbook/pb_gauge/gaugeTheme.ts +0 -91
  153. data/app/pb_kits/playbook/pb_line_graph/_line_graph.scss +0 -3
  154. data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +0 -166
  155. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +0 -1
  156. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.html.erb +0 -26
  157. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +0 -56
  158. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_rails.md +0 -2
  159. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +0 -3
  160. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.html.erb +0 -26
  161. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +0 -52
  162. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.html.erb +0 -26
  163. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +0 -70
  164. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +0 -3
  165. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.html.erb +0 -15
  166. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +0 -43
  167. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.html.erb +0 -16
  168. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +0 -49
  169. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.html.erb +0 -62
  170. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +0 -129
  171. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +0 -14
  172. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +0 -18
  173. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +0 -6
  174. data/app/pb_kits/playbook/pb_line_graph/lineGraph.test.js +0 -52
  175. data/app/pb_kits/playbook/pb_line_graph/lineGraphSettings.js +0 -30
  176. data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +0 -125
  177. data/app/pb_kits/playbook/pb_line_graph/line_graph.html.erb +0 -1
  178. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +0 -93
  179. data/dist/chunks/_typeahead-D0GNUBXn.js +0 -6
  180. data/dist/chunks/lib-DxCgrqqG.js +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0177497af81bb89af7b26046f27197942cb10b7a6640df32234376c1f7cedcb
4
- data.tar.gz: 164f59f14bfffc0a889b4859363c311d09dafddf5c1fce518000a42c4e647623
3
+ metadata.gz: 375e5a9a2040cbf190b9ed83ef91adb015b7347eff80afd264b3423996f9efdb
4
+ data.tar.gz: 26f03e82a99ac0e51a20674952021e5acd7237f12b64184c02c465a4d1b203f6
5
5
  SHA512:
6
- metadata.gz: 6c3ead358396ac6c1adf2c5a2a5af3409513bfc0a944fa7298d74135b66ea59f865e30a51167b6f81247967b5ac2be7326aa5717d5b3d0c2993a2a2a96831d48
7
- data.tar.gz: 4a5d41bdcc5e01b9dc0a3ffbaba5292702873902e5325dfeba5759e54049e03c95ce6ba760a0c0e8b1c9bd35c0ca6958bbec137fe7a33da7d978148cc6bc5b2f
6
+ metadata.gz: 7dcc49c34e7d3623cd943c7136ca99b1a58cb5bb479bf13377ea013f0e5ae67a0c83b25252aeab89e7ca2d7296b31ea0b719563fe1d8ee6955f02fff52827412
7
+ data.tar.gz: 73943f8daa01fec691f0ebcfb3e2c6d1e6f2ae47dc073ba862fda8aad8d0f0c08f7e92bf54bda7531f0ba12cb9d3bcd87b3322cd9feb092782694ff562b1fdd1
@@ -2,7 +2,6 @@
2
2
  @import 'pb_avatar/avatar';
3
3
  @import 'pb_background/background';
4
4
  @import 'pb_badge/badge';
5
- @import 'pb_bar_graph/bar_graph';
6
5
  @import 'pb_body/body';
7
6
  @import 'pb_bread_crumbs/bread_crumbs';
8
7
  @import 'pb_button/button';
@@ -10,7 +9,6 @@
10
9
  @import 'pb_caption/caption';
11
10
  @import 'pb_card/card';
12
11
  @import 'pb_checkbox/checkbox';
13
- @import 'pb_circle_chart/circle_chart';
14
12
  @import 'pb_circle_icon_button/circle_icon_button';
15
13
  @import 'pb_collapsible/collapsible';
16
14
  @import 'pb_contact/contact';
@@ -38,7 +36,6 @@
38
36
  @import 'pb_form/form';
39
37
  @import 'pb_form_group/form_group';
40
38
  @import 'pb_form_pill/form_pill';
41
- @import 'pb_gauge/gauge';
42
39
  @import 'pb_hashtag/hashtag';
43
40
  @import 'pb_highlight/highlight';
44
41
  @import 'pb_home_address_street/home_address_street';
@@ -53,7 +50,6 @@
53
50
  @import 'pb_layout/layout';
54
51
  @import 'pb_legend/legend';
55
52
  @import 'pb_lightbox/lightbox';
56
- @import 'pb_line_graph/line_graph';
57
53
  @import 'pb_link/link';
58
54
  @import 'pb_list/list';
59
55
  @import 'pb_loading_inline/loading_inline';
@@ -2,4 +2,9 @@
2
2
 
3
3
  This kit is a wrapper around the Highcharts library. It applies styling and default settings but does NOT ship Highcharts. Once 'highcharts' and 'highcharts-react-official are installed into your repo, any prop or functionality provided by Highcharts can be used with this kit without requiring specific props from Playbook. The doc examples below showcase a few common usecases but are not a comprehensive list of all the functionalities possible.
4
4
 
5
- See the [highcharts API docs](https://api.highcharts.com/highcharts/) for a comprehensive look at what is possible.
5
+ See the [highcharts API docs](https://api.highcharts.com/highcharts/) for a comprehensive look at what is possible.
6
+
7
+ **NOTE**: All chart kits are available through a separate entrypoint to keep Highcharts optional. Import them using:
8
+ ```javascript
9
+ import { PbBarGraph } from 'playbook-ui/charts'
10
+ ```
@@ -2,4 +2,9 @@
2
2
 
3
3
  This kit is a wrapper around the Highcharts library. It applies styling and default settings but does NOT ship Highcharts. Once 'highcharts' and 'highcharts-react-official are installed into your repo, any prop or functionality provided by Highcharts can be used with this kit without requiring specific props from Playbook. The doc examples below showcase a few common usecases but are not a comprehensive list of all the functionalities possible.
4
4
 
5
- See the [highcharts API docs](https://api.highcharts.com/highcharts/) for a comprehensive look at what is possible.
5
+ See the [highcharts API docs](https://api.highcharts.com/highcharts/) for a comprehensive look at what is possible.
6
+
7
+ **NOTE**: All chart kits are available through a separate entrypoint to keep Highcharts optional. Import them using:
8
+ ```javascript
9
+ import { PbCircleChart } from 'playbook-ui/charts'
10
+ ```
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { render, screen } from '../utilities/test-utils'
3
3
 
4
- import { PbCircleChart } from 'playbook-ui'
4
+ import PbCircleChart from './_pb_circle_chart'
5
5
 
6
6
  beforeEach(() => {
7
7
  // Silences error logs within the test suite.
@@ -2,4 +2,9 @@
2
2
 
3
3
  This kit is a wrapper around the Highcharts library. It applies styling and default settings but does NOT ship Highcharts. Once 'highcharts' and 'highcharts-react-official are installed into your repo, any prop or functionality provided by Highcharts can be used with this kit without requiring specific props from Playbook. The doc examples below showcase a few common usecases but are not a comprehensive list of all the functionalities possible.
4
4
 
5
- See the [highcharts API docs](https://api.highcharts.com/highcharts/) for a comprehensive look at what is possible.
5
+ See the [highcharts API docs](https://api.highcharts.com/highcharts/) for a comprehensive look at what is possible.
6
+
7
+ **NOTE**: All chart kits are available through a separate entrypoint to keep Highcharts optional. Import them using:
8
+ ```javascript
9
+ import { PbGaugeChart } from 'playbook-ui/charts'
10
+ ```
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { render, screen } from '../utilities/test-utils'
3
3
 
4
- import { PbGaugeChart } from 'playbook-ui'
4
+ import PbGaugeChart from './_pb_gauge_chart'
5
5
 
6
6
  beforeEach(() => {
7
7
  // Silences error logs within the test suite.
@@ -2,4 +2,9 @@
2
2
 
3
3
  This kit is a wrapper around the Highcharts library. It applies styling and default settings but does NOT ship Highcharts. Once 'highcharts' and 'highcharts-react-official are installed into your repo, any prop or functionality provided by Highcharts can be used with this kit without requiring specific props from Playbook. The doc examples below showcase a few common usecases but are not a comprehensive list of all the functionalities possible.
4
4
 
5
- See the [highcharts API docs](https://api.highcharts.com/highcharts/) for a comprehensive look at what is possible.
5
+ See the [highcharts API docs](https://api.highcharts.com/highcharts/) for a comprehensive look at what is possible.
6
+
7
+ **NOTE**: All chart kits are available through a separate entrypoint to keep Highcharts optional. Import them using:
8
+ ```javascript
9
+ import { PbLineGraph } from 'playbook-ui/charts'
10
+ ```
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { render, screen } from '../utilities/test-utils'
3
3
 
4
- import { PbLineGraph } from 'playbook-ui'
4
+ import PbLineGraph from './_pb_line_graph'
5
5
 
6
6
  beforeEach(() => {
7
7
  // Silences error logs within the test suite.
@@ -1,55 +1,42 @@
1
- import React from 'react'
2
- import { render, screen } from '../../test-utils'
3
-
4
- import Body from '../../../pb_body/_body'
1
+ import { testGlobalProp, testGlobalPropResponsiveWithDefault, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
5
2
  import { camelToSnakeCase } from '../../../utilities/text'
6
- import { SCREEN_SIZES } from '../../test-utils'
3
+ import Body from '../../../pb_body/_body'
4
+ import Button from '../../../pb_button/_button'
5
+ import Card from '../../../pb_card/_card'
6
+ import Title from '../../../pb_title/_title'
7
+ import Flex from '../../../pb_flex/_flex'
8
+ import Link from '../../../pb_link/_link'
9
+ import Badge from '../../../pb_badge/_badge'
7
10
 
8
- const testSubject = 'body'
11
+ // Note: TextInput excluded - alignContent is a flexbox property that doesn't apply to form inputs
12
+ testGlobalProp(
13
+ 'alignContent',
14
+ ['start', 'center', 'end', 'spaceBetween', 'spaceAround', 'spaceEvenly'],
15
+ (v) => `align_content_${camelToSnakeCase(v)}`,
16
+ (size, v) => `align_content_${size}_${camelToSnakeCase(v)}`,
17
+ [Body, Button, Card, Title, Flex, Link, Badge]
18
+ )
9
19
 
10
- test('Global Props: returns proper class name', () => {
11
- const propValues = ["start", "center", "end", "spaceBetween", "spaceAround", "spaceEvenly"]
12
- for(let x = 0, y = propValues.length; x < y; ++x) {
13
- const testId = `${testSubject}-${propValues[x]}`
14
- render(
15
- <Body
16
- alignContent={`${propValues[x]}`}
17
- data={{ testid: testId }}
18
- text="Hi"
19
- />
20
- )
21
- const kit = screen.getByTestId(testId)
22
- expect(kit).toHaveClass(`align_content_${camelToSnakeCase(propValues[x])}`)
20
+ testGlobalPropResponsiveWithDefault(
21
+ 'alignContent',
22
+ { default: "spaceAround", xs: "center", sm: "spaceAround", md: "center" },
23
+ (v) => `align_content_${camelToSnakeCase(v)}`,
24
+ (size, v) => `align_content_${size}_${camelToSnakeCase(v)}`
25
+ )
23
26
 
24
- SCREEN_SIZES.forEach((size) => {
25
- const testId = `${testSubject}-${propValues[x]}-${size}`
26
- render(
27
- <Body
28
- alignContent={{ [size]: propValues[x] }}
29
- data={{ testid: testId }}
30
- text="Hi"
31
- />
32
- )
33
- const kit = screen.getByTestId(testId)
34
- expect(kit).toHaveClass(`align_content_${size}_${camelToSnakeCase(propValues[x])}`)
35
- })
36
- }
37
- })
27
+ testGlobalPropAbsence(
28
+ 'alignContent',
29
+ ['align_content_start', 'align_content_center', 'align_content_end', 'align_content_space_between', 'align_content_space_around', 'align_content_space_evenly'],
30
+ undefined,
31
+ { skipNull: true }
32
+ )
38
33
 
39
- test('Global Props: returns proper class name with default key', () => {
40
- const testId = `${testSubject}-default-responsive`
41
- render(
42
- <Body
43
- alignContent={{ default: "spaceAround", xs: "center", sm: "spaceAround", md: "center" }}
44
- data={{ testid: testId }}
45
- text="Hi"
46
- />
47
- )
48
- const kit = screen.getByTestId(testId)
49
- // Should have base class for default value
50
- expect(kit).toHaveClass(`align_content_space_around`)
51
- // Should have responsive classes for screen sizes
52
- expect(kit).toHaveClass(`align_content_xs_center`)
53
- expect(kit).toHaveClass(`align_content_sm_space_around`)
54
- expect(kit).toHaveClass(`align_content_md_center`)
55
- })
34
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
35
+ // NOTE: Using allowRenderingErrors: true because invalid types (like numbers) cause rendering errors with camelToSnakeCase
36
+ testGlobalPropInvalidValues(
37
+ 'alignContent',
38
+ ['invalid', 'bad_value', 'not_an_align_value', 'special-chars!@#'],
39
+ ['align_content_invalid', 'align_content_bad_value', 'align_content_not_an_align_value', 'align_content_special-chars!@#'],
40
+ undefined,
41
+ { skipKnownIssues: true, allowRenderingErrors: true }
42
+ )
@@ -1,54 +1,42 @@
1
- import React from 'react'
2
- import { render, screen } from '../../test-utils'
3
-
4
- import Body from '../../../pb_body/_body'
1
+ import { testGlobalProp, testGlobalPropResponsiveWithDefault, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
5
2
  import { camelToSnakeCase } from '../../../utilities/text'
6
- import { SCREEN_SIZES } from '../../test-utils'
3
+ import Body from '../../../pb_body/_body'
4
+ import Button from '../../../pb_button/_button'
5
+ import Card from '../../../pb_card/_card'
6
+ import Title from '../../../pb_title/_title'
7
+ import Flex from '../../../pb_flex/_flex'
8
+ import Link from '../../../pb_link/_link'
9
+ import Badge from '../../../pb_badge/_badge'
10
+
11
+ // Note: TextInput excluded - alignItems is a flexbox property that doesn't apply to form inputs
12
+ testGlobalProp(
13
+ 'alignItems',
14
+ ['start', 'center', 'end', 'baseline', 'stretch', 'flexStart', 'flexEnd'],
15
+ (v) => `align_items_${camelToSnakeCase(v)}`,
16
+ (size, v) => `align_items_${size}_${camelToSnakeCase(v)}`,
17
+ [Body, Button, Card, Title, Flex, Link, Badge]
18
+ )
7
19
 
8
- const testSubject = 'body'
20
+ testGlobalPropResponsiveWithDefault(
21
+ 'alignItems',
22
+ { default: 'end', xs: 'center', sm: 'end', md: 'center' },
23
+ (v) => `align_items_${camelToSnakeCase(v)}`,
24
+ (size, v) => `align_items_${size}_${camelToSnakeCase(v)}`
25
+ )
9
26
 
10
- test('Global Props: returns proper class name', () => {
11
- const propValues = ["start", "center", "end", "baseline", "stretch", "flexStart", "flexEnd"]
12
- for(let x = 0, y = propValues.length; x < y; ++x) {
13
- const testId = `${testSubject}-${propValues[x]}`
14
- render(
15
- <Body
16
- alignItems={`${propValues[x]}`}
17
- data={{ testid: testId }}
18
- text="Hi"
19
- />
20
- )
21
- const kit = screen.getByTestId(testId)
22
- expect(kit).toHaveClass(`align_items_${camelToSnakeCase(propValues[x])}`)
23
- SCREEN_SIZES.forEach((size) => {
24
- const testId = `${testSubject}-${propValues[x]}-${size}`
25
- render(
26
- <Body
27
- alignItems={{ [size]: propValues[x] }}
28
- data={{ testid: testId }}
29
- text="Hi"
30
- />
31
- )
32
- const kit = screen.getByTestId(testId)
33
- expect(kit).toHaveClass(`align_items_${size}_${camelToSnakeCase(propValues[x])}`)
34
- })
35
- }
36
- })
27
+ testGlobalPropAbsence(
28
+ 'alignItems',
29
+ ['align_items_start', 'align_items_center', 'align_items_end', 'align_items_baseline', 'align_items_stretch', 'align_items_flex_start', 'align_items_flex_end'],
30
+ undefined,
31
+ { skipNull: true }
32
+ )
37
33
 
38
- test('Global Props: returns proper class name with default key', () => {
39
- const testId = `${testSubject}-default-responsive`
40
- render(
41
- <Body
42
- alignItems={{ default: "end", xs: "center", sm: "end", md: "center" }}
43
- data={{ testid: testId }}
44
- text="Hi"
45
- />
46
- )
47
- const kit = screen.getByTestId(testId)
48
- // Should have base class for default value
49
- expect(kit).toHaveClass(`align_items_end`)
50
- // Should have responsive classes for screen sizes
51
- expect(kit).toHaveClass(`align_items_xs_center`)
52
- expect(kit).toHaveClass(`align_items_sm_end`)
53
- expect(kit).toHaveClass(`align_items_md_center`)
54
- })
34
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
35
+ // NOTE: Using allowRenderingErrors: true because invalid types (like numbers) cause rendering errors with camelToSnakeCase
36
+ testGlobalPropInvalidValues(
37
+ 'alignItems',
38
+ ['invalid', 'bad_value', 'not_an_align_value', 'special-chars!@#'],
39
+ ['align_items_invalid', 'align_items_bad_value', 'align_items_not_an_align_value', 'align_items_special-chars!@#'],
40
+ undefined,
41
+ { skipKnownIssues: true, allowRenderingErrors: true }
42
+ )
@@ -1,55 +1,42 @@
1
- import React from 'react'
2
- import { render, screen } from '../../test-utils'
3
-
4
- import Body from '../../../pb_body/_body'
1
+ import { testGlobalProp, testGlobalPropResponsiveWithDefault, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
5
2
  import { camelToSnakeCase } from '../../../utilities/text'
6
- import { SCREEN_SIZES } from '../../test-utils'
3
+ import Body from '../../../pb_body/_body'
4
+ import Button from '../../../pb_button/_button'
5
+ import Card from '../../../pb_card/_card'
6
+ import Title from '../../../pb_title/_title'
7
+ import Flex from '../../../pb_flex/_flex'
8
+ import Link from '../../../pb_link/_link'
9
+ import Badge from '../../../pb_badge/_badge'
7
10
 
8
- const testSubject = 'body'
11
+ // Note: TextInput excluded - alignSelf is a flexbox property that doesn't apply to form inputs
12
+ testGlobalProp(
13
+ 'alignSelf',
14
+ ['start', 'center', 'end', 'stretch', 'baseline', 'auto'],
15
+ (v) => `align_self_${camelToSnakeCase(v)}`,
16
+ (size, v) => `align_self_${size}_${camelToSnakeCase(v)}`,
17
+ [Body, Button, Card, Title, Flex, Link, Badge]
18
+ )
9
19
 
10
- test('Global Props: returns proper class name', () => {
11
- const propValues = ["start", "center", "end", "stretch", "baseline", "auto"]
12
- for(let x = 0, y = propValues.length; x < y; ++x) {
13
- const testId = `${testSubject}-${propValues[x]}`
14
- render(
15
- <Body
16
- alignSelf={`${propValues[x]}`}
17
- data={{ testid: testId }}
18
- text="Hi"
19
- />
20
- )
21
- const kit = screen.getByTestId(testId)
22
- expect(kit).toHaveClass(`align_self_${camelToSnakeCase(propValues[x])}`)
20
+ testGlobalPropResponsiveWithDefault(
21
+ 'alignSelf',
22
+ { default: 'end', xs: 'center', sm: 'end', md: 'center' },
23
+ (v) => `align_self_${camelToSnakeCase(v)}`,
24
+ (size, v) => `align_self_${size}_${camelToSnakeCase(v)}`
25
+ )
23
26
 
24
- SCREEN_SIZES.forEach((size) => {
25
- const testId = `${testSubject}-${propValues[x]}-${size}`
26
- render(
27
- <Body
28
- alignSelf={{ [size]: propValues[x] }}
29
- data={{ testid: testId }}
30
- text="Hi"
31
- />
32
- )
33
- const kit = screen.getByTestId(testId)
34
- expect(kit).toHaveClass(`align_self_${size}_${camelToSnakeCase(propValues[x])}`)
35
- })
36
- }
37
- })
27
+ testGlobalPropAbsence(
28
+ 'alignSelf',
29
+ ['align_self_start', 'align_self_center', 'align_self_end', 'align_self_stretch', 'align_self_baseline', 'align_self_auto'],
30
+ undefined,
31
+ { skipNull: true }
32
+ )
38
33
 
39
- test('Global Props: returns proper class name with default key', () => {
40
- const testId = `${testSubject}-default-responsive`
41
- render(
42
- <Body
43
- alignSelf={{ default: "end", xs: "center", sm: "end", md: "center" }}
44
- data={{ testid: testId }}
45
- text="Hi"
46
- />
47
- )
48
- const kit = screen.getByTestId(testId)
49
- // Should have base class for default value
50
- expect(kit).toHaveClass(`align_self_end`)
51
- // Should have responsive classes for screen sizes
52
- expect(kit).toHaveClass(`align_self_xs_center`)
53
- expect(kit).toHaveClass(`align_self_sm_end`)
54
- expect(kit).toHaveClass(`align_self_md_center`)
55
- })
34
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
35
+ // NOTE: Using allowRenderingErrors: true because invalid types (like numbers) cause rendering errors with camelToSnakeCase
36
+ testGlobalPropInvalidValues(
37
+ 'alignSelf',
38
+ ['invalid', 'bad_value', 'not_an_align_value', 'special-chars!@#'],
39
+ ['align_self_invalid', 'align_self_bad_value', 'align_self_not_an_align_value', 'align_self_special-chars!@#'],
40
+ undefined,
41
+ { skipKnownIssues: true, allowRenderingErrors: true }
42
+ )
@@ -1,56 +1,42 @@
1
- import React from 'react'
2
- import { render, screen } from '../../test-utils'
3
-
4
- import Body from '../../../pb_body/_body'
1
+ import { testGlobalProp, testGlobalPropResponsiveWithDefault, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
5
2
  import { camelToSnakeCase } from '../../../utilities/text'
6
- import { SCREEN_SIZES } from '../../test-utils'
3
+ import Body from '../../../pb_body/_body'
4
+ import Button from '../../../pb_button/_button'
5
+ import Card from '../../../pb_card/_card'
6
+ import Title from '../../../pb_title/_title'
7
+ import TextInput from '../../../pb_text_input/_text_input'
8
+ import Flex from '../../../pb_flex/_flex'
9
+ import Link from '../../../pb_link/_link'
10
+ import Badge from '../../../pb_badge/_badge'
7
11
 
8
- const testSubject = 'body'
12
+ testGlobalProp(
13
+ 'display',
14
+ ['block', 'inline', 'inline_block', 'flex', 'inline_flex', 'none', 'grid'],
15
+ (v) => `display_${camelToSnakeCase(v)}`,
16
+ (size, v) => `display_${size}_${camelToSnakeCase(v)}`,
17
+ [Body, Button, Card, Title, TextInput, Flex, Link, Badge]
18
+ )
9
19
 
10
- // %w[block inline_block inline flex inline_flex none]
11
- test('Global Props: returns proper class name', () => {
12
- const propValues = ["block", "inline", "inline_block", "flex", "inline_flex", "none", "grid" ]
13
- for(let x = 0, y = propValues.length; x < y; ++x) {
14
- const testId = `${testSubject}-${propValues[x]}`
15
- render(
16
- <Body
17
- data={{ testid: testId }}
18
- display={`${propValues[x]}`}
19
- text="Hi"
20
- />
21
- )
22
- const kit = screen.getByTestId(testId)
23
- expect(kit).toHaveClass(`display_${camelToSnakeCase(propValues[x])}`)
20
+ testGlobalPropResponsiveWithDefault(
21
+ 'display',
22
+ { default: 'none', xs: 'block', sm: 'none', md: 'block' },
23
+ (v) => `display_${camelToSnakeCase(v)}`,
24
+ (size, v) => `display_${size}_${camelToSnakeCase(v)}`
25
+ )
24
26
 
25
- SCREEN_SIZES.forEach((size) => {
26
- const testId = `${testSubject}-${propValues[x]}-${size}`
27
- render(
28
- <Body
29
- data={{ testid: testId }}
30
- display={{ [size]: propValues[x] }}
31
- text="Hi"
32
- />
33
- )
34
- const kit = screen.getByTestId(testId)
35
- expect(kit).toHaveClass(`display_${size}_${camelToSnakeCase(propValues[x])}`)
36
- })
37
- }
38
- })
27
+ testGlobalPropAbsence(
28
+ 'display',
29
+ ['display_block', 'display_inline', 'display_flex', 'display_none', 'display_grid'],
30
+ undefined,
31
+ { skipNull: true },
32
+ )
39
33
 
40
- test('Global Props: returns proper class name with default key', () => {
41
- const testId = `${testSubject}-default-responsive`
42
- render(
43
- <Body
44
- data={{ testid: testId }}
45
- display={{ default: "none", xs: "block", sm: "none", md: "block" }}
46
- text="Hi"
47
- />
48
- )
49
- const kit = screen.getByTestId(testId)
50
- // Should have base class for default value
51
- expect(kit).toHaveClass(`display_none`)
52
- // Should have responsive classes for screen sizes
53
- expect(kit).toHaveClass(`display_xs_block`)
54
- expect(kit).toHaveClass(`display_sm_none`)
55
- expect(kit).toHaveClass(`display_md_block`)
56
- })
34
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
35
+ // NOTE: Using allowRenderingErrors: true because invalid types (like numbers) cause rendering errors with camelToSnakeCase
36
+ testGlobalPropInvalidValues(
37
+ 'display',
38
+ ['invalid', 'bad_value', 'not_a_display_value', 'special-chars!@#', 'display_with_underscores'],
39
+ ['display_invalid', 'display_bad_value', 'display_not_a_display_value', 'display_special-chars!@#', 'display_display_with_underscores'],
40
+ undefined,
41
+ { skipKnownIssues: true, allowRenderingErrors: true }
42
+ )
@@ -1,82 +1,50 @@
1
- import React from 'react'
2
- import { render, screen } from '../../test-utils'
3
-
1
+ import { testGlobalProp, testGlobalPropResponsiveWithDefault, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
4
2
  import Body from '../../../pb_body/_body'
5
- import { SCREEN_SIZES } from '../../test-utils'
6
-
7
- const testSubject = 'body'
3
+ import Button from '../../../pb_button/_button'
4
+ import Card from '../../../pb_card/_card'
5
+ import Title from '../../../pb_title/_title'
6
+ import TextInput from '../../../pb_text_input/_text_input'
7
+ import Flex from '../../../pb_flex/_flex'
8
+ import Link from '../../../pb_link/_link'
9
+ import Badge from '../../../pb_badge/_badge'
8
10
 
9
- test('Global Props: Returns ordinal suffixed class name', () => {
10
- for(let x = 0, y = 13; x < y; ++x) {
11
- const testId = `${testSubject}-${x}`
12
- render(
13
- <Body
14
- data={{ testid: testId }}
15
- flex={`${x}`}
16
- text="Hi"
17
- />
18
- )
19
- const kit = screen.getByTestId(testId)
20
- expect(kit).toHaveClass(`flex_${x}`)
11
+ // Test numeric values (0-12) - flex prop expects strings
12
+ testGlobalProp(
13
+ 'flex',
14
+ Array.from({ length: 13 }, (_, i) => String(i)),
15
+ (v) => `flex_${v}`,
16
+ (size, v) => `flex_${size}_${v}`,
17
+ [Body, Button, Card, Title, TextInput, Flex, Link, Badge]
18
+ )
21
19
 
22
- SCREEN_SIZES.forEach((size) => {
23
- const testId = `${testSubject}-${x}-${size}`
24
- render(
25
- <Body
26
- data={{ testid: testId }}
27
- flex={{ [size]: x }}
28
- text="Hi"
29
- />
30
- )
31
- const kit = screen.getByTestId(testId)
32
- expect(kit).toHaveClass(`flex_${size}_${x}`)
33
- })
34
- }
35
- })
20
+ // Test string values
21
+ testGlobalProp(
22
+ 'flex',
23
+ ['auto', 'initial', 'none'],
24
+ (v) => `flex_${v}`,
25
+ (size, v) => `flex_${size}_${v}`,
26
+ [Body, Button, Card, Title, TextInput, Flex, Link, Badge]
27
+ )
36
28
 
37
- test('Global Props: returns proper class name', () => {
38
- const propValues = ["auto", "initial", "none"]
39
- for(let x = 0, y = propValues.length; x < y; ++x) {
40
- const testId = `${testSubject}-${propValues[x]}`
41
- render(
42
- <Body
43
- data={{ testid: testId }}
44
- flex={`${propValues[x]}`}
45
- text="Hi"
46
- />
47
- )
48
- const kit = screen.getByTestId(testId)
49
- expect(kit).toHaveClass(`flex_${propValues[x]}`)
29
+ testGlobalPropResponsiveWithDefault(
30
+ 'flex',
31
+ { default: '3', xs: '1', sm: '3', md: '1' },
32
+ (v) => `flex_${v}`,
33
+ (size, v) => `flex_${size}_${v}`
34
+ )
50
35
 
51
- SCREEN_SIZES.forEach((size) => {
52
- const testId = `${testSubject}-${propValues[x]}-${size}`
53
- render(
54
- <Body
55
- data={{ testid: testId }}
56
- flex={{ [size]: propValues[x] }}
57
- text="Hi"
58
- />
59
- )
60
- const kit = screen.getByTestId(testId)
61
- expect(kit).toHaveClass(`flex_${size}_${propValues[x]}`)
62
- })
63
- }
64
- })
36
+ testGlobalPropAbsence(
37
+ 'flex',
38
+ ['flex_0', 'flex_1', 'flex_12', 'flex_auto', 'flex_initial', 'flex_none'],
39
+ undefined,
40
+ { skipNull: true }
41
+ )
65
42
 
66
- test('Global Props: returns proper class name with default key', () => {
67
- const testId = `${testSubject}-default-responsive`
68
- render(
69
- <Body
70
- data={{ testid: testId }}
71
- flex={{ default: "3", xs: "1", sm: "3", md: "1" }}
72
- text="Hi"
73
- />
74
- )
75
- const kit = screen.getByTestId(testId)
76
- // Should have base class for default value
77
- expect(kit).toHaveClass(`flex_3`)
78
- // Should have responsive classes for screen sizes
79
- expect(kit).toHaveClass(`flex_xs_1`)
80
- expect(kit).toHaveClass(`flex_sm_3`)
81
- expect(kit).toHaveClass(`flex_md_1`)
82
- })
43
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
44
+ testGlobalPropInvalidValues(
45
+ 'flex',
46
+ [999, -1, 'invalid', 'out_of_range', 'bad_string', 13, 'special-chars!@#'],
47
+ ['flex_999', 'flex_-1', 'flex_invalid', 'flex_out_of_range', 'flex_bad_string', 'flex_13', 'flex_special-chars!@#'],
48
+ undefined,
49
+ { skipKnownIssues: true }
50
+ )