playbook_ui 10.25.1 → 10.26.0.pre.alpha5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/data/menu.yml +1 -0
  4. data/app/pb_kits/playbook/index.js +2 -1
  5. data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +3 -3
  6. data/app/pb_kits/playbook/pb_background/{_background.jsx → _background.tsx} +20 -13
  7. data/app/pb_kits/playbook/pb_badge/{_badge.jsx → _badge.tsx} +14 -15
  8. data/app/pb_kits/playbook/pb_badge/docs/_badge_colors.jsx +1 -1
  9. data/app/pb_kits/playbook/pb_badge/docs/_badge_default.jsx +1 -1
  10. data/app/pb_kits/playbook/pb_badge/docs/_badge_rounded.jsx +1 -1
  11. data/app/pb_kits/playbook/pb_badge/docs/index.js +3 -3
  12. data/app/pb_kits/playbook/pb_body/_body.tsx +9 -9
  13. data/app/pb_kits/playbook/pb_button/{_button.jsx → _button.tsx} +65 -46
  14. data/app/pb_kits/playbook/pb_button/docs/_button_default.html.erb +1 -0
  15. data/app/pb_kits/playbook/pb_button/docs/_button_options.jsx +1 -1
  16. data/app/pb_kits/playbook/pb_caption/{_caption.jsx → _caption.tsx} +7 -8
  17. data/app/pb_kits/playbook/pb_card/{_card.jsx → _card.tsx} +23 -21
  18. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -0
  19. data/app/pb_kits/playbook/pb_card/docs/_card_background.jsx +1 -1
  20. data/app/pb_kits/playbook/pb_card/docs/_card_border_none.jsx +1 -1
  21. data/app/pb_kits/playbook/pb_card/docs/_card_border_radius.jsx +1 -1
  22. data/app/pb_kits/playbook/pb_card/docs/_card_light.jsx +17 -2
  23. data/app/pb_kits/playbook/pb_card/docs/_card_selected.jsx +1 -1
  24. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.jsx +4 -2
  25. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +1 -1
  26. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.js +37 -0
  27. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +37 -0
  28. data/app/pb_kits/playbook/pb_flex/{_flex.jsx → _flex.tsx} +5 -5
  29. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +2 -2
  30. data/app/pb_kits/playbook/pb_highlight/_highlight.tsx +1 -1
  31. data/app/pb_kits/playbook/pb_icon/{_icon.jsx → _icon.tsx} +40 -30
  32. data/app/pb_kits/playbook/pb_image/_image.tsx +1 -1
  33. data/app/pb_kits/playbook/pb_pill/{_pill.jsx → _pill.tsx} +6 -8
  34. data/app/pb_kits/playbook/pb_pill/docs/_pill_default.jsx +1 -1
  35. data/app/pb_kits/playbook/pb_pill/docs/_pill_variants.jsx +1 -1
  36. data/app/pb_kits/playbook/pb_table/_table.jsx +3 -0
  37. data/app/pb_kits/playbook/pb_table/docs/_table_sticky.html.erb +83 -0
  38. data/app/pb_kits/playbook/pb_table/docs/_table_sticky.jsx +94 -0
  39. data/app/pb_kits/playbook/pb_table/docs/_table_sticky.md +10 -0
  40. data/app/pb_kits/playbook/pb_table/docs/example.yml +2 -0
  41. data/app/pb_kits/playbook/pb_table/docs/index.js +1 -0
  42. data/app/pb_kits/playbook/pb_table/styles/_all.scss +1 -0
  43. data/app/pb_kits/playbook/pb_table/styles/_sticky_header.scss +23 -0
  44. data/app/pb_kits/playbook/pb_table/table.rb +7 -1
  45. data/app/pb_kits/playbook/pb_table/table.test.js +17 -0
  46. data/app/pb_kits/playbook/pb_title/{_title.jsx → _title.tsx} +10 -12
  47. data/app/pb_kits/playbook/pb_title/title.test.js +2 -2
  48. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.jsx +79 -0
  49. data/app/pb_kits/playbook/pb_treemap_chart/docs/_description.md +5 -0
  50. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.html.erb +37 -0
  51. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.jsx +48 -0
  52. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.md +2 -0
  53. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.html.erb +37 -0
  54. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.jsx +47 -0
  55. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.md +3 -0
  56. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.html.erb +79 -0
  57. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.jsx +90 -0
  58. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.md +1 -0
  59. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.html.erb +54 -0
  60. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.jsx +65 -0
  61. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.md +3 -0
  62. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.html.erb +37 -0
  63. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.jsx +48 -0
  64. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.md +3 -0
  65. data/app/pb_kits/playbook/pb_treemap_chart/docs/example.yml +15 -0
  66. data/app/pb_kits/playbook/pb_treemap_chart/docs/index.js +5 -0
  67. data/app/pb_kits/playbook/pb_treemap_chart/treemap_chart.html.erb +1 -0
  68. data/app/pb_kits/playbook/pb_treemap_chart/treemap_chart.rb +43 -0
  69. data/app/pb_kits/playbook/pb_user/{_user.jsx → _user.tsx} +20 -24
  70. data/app/pb_kits/playbook/playbook-doc.js +2 -0
  71. data/app/pb_kits/playbook/playbook-rails-react-bindings.js +2 -0
  72. data/app/pb_kits/playbook/plugins/pb_chart.js +34 -0
  73. data/app/pb_kits/playbook/tokens/_colors.scss +2 -1
  74. data/app/pb_kits/playbook/tokens/_display.scss +13 -0
  75. data/app/pb_kits/playbook/tokens/_screen_sizes.scss +36 -0
  76. data/app/pb_kits/playbook/utilities/_align_content.scss +10 -29
  77. data/app/pb_kits/playbook/utilities/_align_items.scss +11 -35
  78. data/app/pb_kits/playbook/utilities/_align_self.scss +10 -29
  79. data/app/pb_kits/playbook/utilities/_display.scss +26 -2
  80. data/app/pb_kits/playbook/utilities/_flex.scss +19 -14
  81. data/app/pb_kits/playbook/utilities/_flex_direction.scss +7 -18
  82. data/app/pb_kits/playbook/utilities/_flex_grow.scss +5 -8
  83. data/app/pb_kits/playbook/utilities/_flex_shrink.scss +5 -8
  84. data/app/pb_kits/playbook/utilities/_flex_wrap.scss +6 -13
  85. data/app/pb_kits/playbook/utilities/_justify_content.scss +10 -23
  86. data/app/pb_kits/playbook/utilities/_justify_self.scss +9 -19
  87. data/app/pb_kits/playbook/utilities/_mixins.scss +26 -0
  88. data/app/pb_kits/playbook/utilities/_order.scss +17 -55
  89. data/app/pb_kits/playbook/utilities/globalProps.ts +150 -121
  90. data/app/pb_kits/playbook/utilities/test/globalProps/alignContent.test.js +37 -0
  91. data/app/pb_kits/playbook/utilities/test/globalProps/alignItems.test.js +36 -0
  92. data/app/pb_kits/playbook/utilities/test/globalProps/alignSelf.test.js +37 -0
  93. data/app/pb_kits/playbook/utilities/test/globalProps/display.test.js +38 -0
  94. data/app/pb_kits/playbook/utilities/test/globalProps/flex.test.js +64 -0
  95. data/app/pb_kits/playbook/utilities/test/globalProps/flexDirection.test.js +37 -0
  96. data/app/pb_kits/playbook/utilities/test/globalProps/flexGrow.test.js +35 -0
  97. data/app/pb_kits/playbook/utilities/test/globalProps/flexShrink.test.js +35 -0
  98. data/app/pb_kits/playbook/utilities/test/globalProps/flexWrap.test.js +37 -0
  99. data/app/pb_kits/playbook/utilities/test/globalProps/justifyContent.test.js +37 -0
  100. data/app/pb_kits/playbook/utilities/test/globalProps/justifySelf.test.js +37 -0
  101. data/app/pb_kits/playbook/utilities/test/globalProps/order.test.js +35 -0
  102. data/app/pb_kits/playbook/utilities/test-utils.js +2 -0
  103. data/app/pb_kits/playbook/utilities/text.ts +22 -0
  104. data/dist/reset.css +60 -1
  105. data/lib/playbook/align_content.rb +11 -3
  106. data/lib/playbook/align_items.rb +10 -2
  107. data/lib/playbook/align_self.rb +9 -1
  108. data/lib/playbook/display.rb +19 -7
  109. data/lib/playbook/flex.rb +9 -1
  110. data/lib/playbook/flex_direction.rb +10 -2
  111. data/lib/playbook/flex_grow.rb +9 -1
  112. data/lib/playbook/flex_shrink.rb +9 -1
  113. data/lib/playbook/flex_wrap.rb +10 -2
  114. data/lib/playbook/justify_content.rb +10 -2
  115. data/lib/playbook/justify_self.rb +9 -1
  116. data/lib/playbook/order.rb +10 -2
  117. data/lib/playbook/version.rb +2 -2
  118. metadata +55 -15
  119. data/app/pb_kits/playbook/utilities/text.js +0 -15
@@ -0,0 +1,48 @@
1
+ import React from 'react'
2
+
3
+ import TreemapChart from '../_treemap_chart'
4
+
5
+ const chartData = [
6
+ {
7
+ name: "Pepperoni",
8
+ parent: "Toppings",
9
+ value: 600,
10
+ }, {
11
+ name: "Cheese",
12
+ parent: "Toppings",
13
+ value: 510,
14
+ }, {
15
+ name: "Mushroom",
16
+ parent: "Toppings",
17
+ value: 330,
18
+ },{
19
+ name: "Onions",
20
+ parent: "Toppings",
21
+ value: 250,
22
+ }, {
23
+ name: "Olives",
24
+ parent: "Toppings",
25
+ value: 204,
26
+ }, {
27
+ name: "Pineapple",
28
+ parent: "Toppings",
29
+ value: 90,
30
+ }, {
31
+ name: "Pizza Toppings",
32
+ id: "Toppings",
33
+ },
34
+ ]
35
+
36
+ const TreemapChartTooltip = (props) => (
37
+ <div>
38
+ <TreemapChart
39
+ chartData={chartData}
40
+ id="treemap-tooltip"
41
+ title="Favored Pizza Toppings"
42
+ tooltipHtml={"<p>Custom tooltip for {point.name} <br/>with value: {point.value}</p>"}
43
+ {...props}
44
+ />
45
+ </div>
46
+ )
47
+
48
+ export default TreemapChartTooltip
@@ -0,0 +1,3 @@
1
+ A custom tooltip format can be specified. The desired format can be passed as a `string` of custom HTML to the `tooltipHtml` prop.
2
+
3
+ `{point.name}` and `{point.value}` are useful values that can be referenced for each point in the graph.
@@ -0,0 +1,15 @@
1
+ examples:
2
+
3
+ rails:
4
+ - treemap_chart_default: Default
5
+ - treemap_chart_grouped_data: Grouped Data
6
+ - treemap_chart_drillable: Drillable
7
+ - treemap_chart_colors: Color Overrides
8
+ - treemap_chart_tooltip: Tooltip Customization
9
+
10
+ react:
11
+ - treemap_chart_default: Default
12
+ - treemap_chart_grouped_data: Grouped Data
13
+ - treemap_chart_drillable: Drillable
14
+ - treemap_chart_colors: Color Overrides
15
+ - treemap_chart_tooltip: Tooltip Customization
@@ -0,0 +1,5 @@
1
+ export { default as TreemapChartDefault } from './_treemap_chart_default.jsx'
2
+ export { default as TreemapChartGroupedData } from './_treemap_chart_grouped_data.jsx'
3
+ export { default as TreemapChartDrillable } from './_treemap_chart_drillable.jsx'
4
+ export { default as TreemapChartColors } from './_treemap_chart_colors.jsx'
5
+ export { default as TreemapChartTooltip } from './_treemap_chart_tooltip.jsx'
@@ -0,0 +1 @@
1
+ <%= react_component('TreemapChart', object.chart_options) %>
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module PbTreemapChart
5
+ class TreemapChart < Playbook::KitBase
6
+ prop :chart_data, type: Playbook::Props::Array,
7
+ default: []
8
+ prop :colors, type: Playbook::Props::Array,
9
+ default: []
10
+ prop :drillable, type: Playbook::Props::Boolean, default: false
11
+ prop :grouped, type: Playbook::Props::Boolean, default: false
12
+ prop :height
13
+ prop :title, default: ""
14
+ prop :tooltip_html, default: '<span style="font-weight: bold; color:{point.color};">&#9679; </span>
15
+ {point.name}: ' + '<b>{point.value}
16
+ </b>'
17
+
18
+ def chart_type
19
+ "treemap"
20
+ end
21
+
22
+ def chart_options
23
+ {
24
+ chartData: chart_data,
25
+ className: classname,
26
+ colors: colors,
27
+ dark: dark ? "dark" : "",
28
+ drillable: drillable,
29
+ grouped: grouped,
30
+ height: height,
31
+ id: id,
32
+ title: title,
33
+ tooltipHtml: tooltip_html,
34
+ type: chart_type,
35
+ }
36
+ end
37
+
38
+ def classname
39
+ generate_classname("pb_treemap_chart")
40
+ end
41
+ end
42
+ end
43
+ end
@@ -1,10 +1,9 @@
1
- /* @flow */
2
1
 
3
2
  import React from 'react'
4
3
  import classnames from 'classnames'
5
4
 
6
5
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
7
- import { globalProps } from '../utilities/globalProps'
6
+ import { GlobalProps, globalProps } from '../utilities/globalProps'
8
7
 
9
8
  import Avatar from '../pb_avatar/_avatar'
10
9
  import Body from '../pb_body/_body'
@@ -12,19 +11,19 @@ import Title from '../pb_title/_title'
12
11
 
13
12
  type UserProps = {
14
13
  align?: "left" | "center" | "right",
15
- aria?: object,
16
- avatar?: Boolean,
17
- avatarUrl?: String,
18
- className?: String,
14
+ aria?: {[key: string]: string},
15
+ avatar?: boolean,
16
+ avatarUrl?: string,
17
+ className?: string,
19
18
  dark?: boolean,
20
- data?: object,
21
- id?: String,
22
- name?: String,
19
+ data?: {[key: string]: string},
20
+ id?: string,
21
+ name?: string,
23
22
  orientation?: "horiztonal" | "vertical",
24
23
  size?: "sm" | "md" | "lg",
25
- territory?: String,
26
- title?: String,
27
- }
24
+ territory?: string,
25
+ title?: string,
26
+ } & GlobalProps
28
27
 
29
28
  const User = (props: UserProps) => {
30
29
  const {
@@ -43,14 +42,8 @@ const User = (props: UserProps) => {
43
42
  title = '',
44
43
  } = props
45
44
 
46
- const avatarSizeMap = {
47
- lg: 'xl',
48
- md: 'md',
49
- sm: 'sm',
50
- }
51
-
52
- const ariaProps = buildAriaProps(aria)
53
- const dataProps = buildDataProps(data)
45
+ const dataProps: {[key: string]: string} = buildDataProps(data)
46
+ const ariaProps: {[key: string]: string} = buildAriaProps(aria)
54
47
 
55
48
  const classes = classnames(
56
49
  buildCss('pb_user_kit', align, orientation, size),
@@ -58,6 +51,8 @@ const User = (props: UserProps) => {
58
51
  className,
59
52
  )
60
53
 
54
+ const avatarPresent = avatar || avatarUrl
55
+
61
56
  return (
62
57
  <div
63
58
  {...ariaProps}
@@ -65,14 +60,14 @@ const User = (props: UserProps) => {
65
60
  className={classes}
66
61
  id={id}
67
62
  >
68
- <If condition={avatar || avatarUrl}>
63
+ { avatarPresent &&
69
64
  <Avatar
70
65
  imageUrl={avatarUrl}
71
66
  name={name}
72
- size={avatarSizeMap[size]}
67
+ size={size}
68
+ status={null}
73
69
  />
74
- </If>
75
-
70
+ }
76
71
  <div className="content_wrapper">
77
72
  <Title
78
73
  dark={dark}
@@ -82,6 +77,7 @@ const User = (props: UserProps) => {
82
77
  <Body
83
78
  color="light"
84
79
  dark={dark}
80
+ variant={null}
85
81
  >
86
82
  {territory === '' ? title : `${territory} • ${title}`}
87
83
  </Body>
@@ -91,6 +91,7 @@ import * as Title from 'pb_title/docs'
91
91
  import * as TitleCount from 'pb_title_count/docs'
92
92
  import * as TitleDetail from 'pb_title_detail/docs'
93
93
  import * as Toggle from 'pb_toggle/docs'
94
+ import * as TreemapChart from 'pb_treemap_chart/docs'
94
95
  import * as Typeahead from 'pb_typeahead/docs'
95
96
  import * as User from 'pb_user/docs'
96
97
  import * as UserBadge from 'pb_user_badge/docs'
@@ -185,6 +186,7 @@ WebpackerReact.setup({
185
186
  ...TitleCount,
186
187
  ...TitleDetail,
187
188
  ...Toggle,
189
+ ...TreemapChart,
188
190
  ...Typeahead,
189
191
  ...User,
190
192
  ...UserBadge,
@@ -13,6 +13,7 @@ import Legend from './pb_legend/_legend'
13
13
  import LineGraph from './pb_line_graph/_line_graph'
14
14
  import Passphrase from './pb_passphrase/_passphrase'
15
15
  import RichTextEditor from './pb_rich_text_editor/_rich_text_editor'
16
+ import TreemapChart from './pb_treemap_chart/_treemap_chart'
16
17
  import Typeahead from './pb_typeahead/_typeahead'
17
18
 
18
19
  WebpackerReact.registerComponents({
@@ -26,6 +27,7 @@ WebpackerReact.registerComponents({
26
27
  LineGraph,
27
28
  Passphrase,
28
29
  RichTextEditor,
30
+ TreemapChart,
29
31
  Typeahead,
30
32
  })
31
33
 
@@ -7,6 +7,7 @@ import colors from '../tokens/exports/_colors.scss'
7
7
  import pie from 'highcharts/modules/variable-pie'
8
8
  import highchartsMore from 'highcharts/highcharts-more'
9
9
  import solidGauge from 'highcharts/modules/solid-gauge'
10
+ import treemap from 'highcharts/modules/treemap'
10
11
 
11
12
  pie(Highcharts)
12
13
 
@@ -63,6 +64,8 @@ class pbChart {
63
64
  this.setupPieChart(options)
64
65
  } else if (this.options.type == 'gauge') {
65
66
  this.setupGauge(options)
67
+ } else if (this.options.type == 'treemap') {
68
+ this.setupTreemap(options)
66
69
  } else {
67
70
  this.setupChart(options)
68
71
  }
@@ -191,6 +194,37 @@ class pbChart {
191
194
  })
192
195
  }
193
196
 
197
+ setupTreemap(options) {
198
+ treemap(Highcharts)
199
+ this.setupTheme()
200
+ options.dark ? Highcharts.setOptions(highchartsDarkTheme) : Highcharts.setOptions(highchartsTheme)
201
+
202
+ Highcharts.chart(this.defaults.id, {
203
+ title: {
204
+ text: this.defaults.title,
205
+ },
206
+ chart: {
207
+ height: this.defaults.height,
208
+ type: this.defaults.type,
209
+ },
210
+ credits: false,
211
+ series: [{
212
+ data: this.defaults.chartData,
213
+ }],
214
+ plotOptions: {
215
+ treemap: {
216
+ allowTraversingTree: this.defaults.drillable,
217
+ colorByPoint: !this.defaults.grouped,
218
+ colors: options.colors !== undefined && options.colors.length > 0 ? mapColors(options.colors) : highchartsTheme.colors,
219
+ },
220
+ },
221
+ tooltip: {
222
+ pointFormat: this.defaults.tooltipHtml,
223
+ useHTML: true,
224
+ },
225
+ })
226
+ }
227
+
194
228
  setupChart(options) {
195
229
  this.setupTheme()
196
230
  const configOptions = {
@@ -9,6 +9,7 @@ $royal: #0056CF;
9
9
  $purple: #9E64E9;
10
10
  $teal: #00C4D7;
11
11
  $red: #FF2229;
12
+ $red_dark: #ff4a50;
12
13
  $yellow: #F9BB00;
13
14
  $green: #00CA74;
14
15
  $orange: #FD804C;
@@ -154,7 +155,7 @@ $data_colors: (
154
155
  $success: $green;
155
156
  $warning: $yellow;
156
157
  $error: $red;
157
- $error_dark: lighten($error, 5%);
158
+ $error_dark: $red_dark;
158
159
  $error_dark_body: lighten($error_dark, 2%);
159
160
  $info: $teal;
160
161
  $neutral: $slate;
@@ -0,0 +1,13 @@
1
+ $display_inline: inline;
2
+ $display_block: block;
3
+ $display_inline_block: inline-block;
4
+ $display_flex: flex;
5
+ $display_none: none;
6
+ $display_inline_flex: inline-flex;
7
+ $displays: (
8
+ display_none: $display_none,
9
+ display_flex: $display_flex,
10
+ display_inline: $display_inline,
11
+ display_inline_block: $display_inline_block,
12
+ display_block: $display_block
13
+ );
@@ -17,6 +17,26 @@ $breakpoints: (
17
17
  xl: $screen-xl-min
18
18
  );
19
19
 
20
+ $breakpoints_grid: (
21
+ xs: (
22
+ max: $screen-xs-min
23
+ ),
24
+ sm: (
25
+ min: $screen-sm-min,
26
+ max: $screen-md-max
27
+ ),
28
+ md: (
29
+ min: $screen-md-min,
30
+ max: $screen-lg-max
31
+ ),
32
+ lg: (
33
+ min: $screen-lg-min,
34
+ max: $screen-xl-max
35
+ ),
36
+ xl: (
37
+ min: $screen-xl-min,
38
+ )
39
+ );
20
40
 
21
41
  @function breakpoint($breakpoint_name) {
22
42
  @return map-get($breakpoints, $breakpoint_name);
@@ -28,3 +48,19 @@ $breakpoints: (
28
48
  @content;
29
49
  }
30
50
  }
51
+
52
+ @mixin break_on($min: null, $max: null) {
53
+ @if not $max {
54
+ @media screen and (min-width: $min) {
55
+ @content;
56
+ }
57
+ } @else if not $min {
58
+ @media screen and (max-width: $max) {
59
+ @content;
60
+ }
61
+ } @else {
62
+ @media screen and (min-width: $min) and (max-width: $max) {
63
+ @content;
64
+ }
65
+ }
66
+ }
@@ -1,29 +1,10 @@
1
- .align_content_start {
2
- display: flex;
3
- align-content: start !important;
4
- }
5
-
6
- .align_content_end {
7
- display: flex;
8
- align-content: end !important;
9
- }
10
-
11
- .align_content_center {
12
- display: flex;
13
- align-content: center !important;
14
- }
15
-
16
- .align_content_space_between {
17
- display: flex;
18
- align-content: space-between !important;
19
- }
20
-
21
- .align_content_space_around {
22
- display: flex;
23
- align-content: space-around !important;
24
- }
25
-
26
- .align_content_space_evenly {
27
- display: flex;
28
- align-content: space-evenly !important;
29
- }
1
+ $align_content_values: (
2
+ start: start,
3
+ end: end,
4
+ center: center,
5
+ space_between: space-between,
6
+ space_around: space-around,
7
+ space_evenly: space-evenly
8
+ );
9
+
10
+ @include global_props_responsive_css($align_content_values, 'align_content', 'align-content');
@@ -1,35 +1,11 @@
1
- .align_items_flex_start {
2
- display: flex;
3
- align-items: flex-start !important;
4
- }
5
-
6
- .align_items_flex_end {
7
- display: flex;
8
- align-items: flex-end !important;
9
- }
10
-
11
- .align_items_start {
12
- display: flex;
13
- align-items: start !important;
14
- }
15
-
16
- .align_items_end {
17
- display: flex;
18
- align-items: end !important;
19
- }
20
-
21
-
22
- .align_items_center {
23
- display: flex;
24
- align-items: center !important;
25
- }
26
-
27
- .align_items_baseline {
28
- display: flex;
29
- align-items: baseline !important;
30
- }
31
-
32
- .align_items_stretch {
33
- display: flex;
34
- align-items: stretch !important;
35
- }
1
+ $align_items_values: (
2
+ flex_start: flex-start,
3
+ flex_end: flex-end,
4
+ start: start,
5
+ center: center,
6
+ end: end,
7
+ baseline: baseline,
8
+ stretch: stretch,
9
+ );
10
+
11
+ @include global_props_responsive_css($align_items_values, 'align_items', 'align-items');
@@ -1,29 +1,10 @@
1
- .align_self_start {
2
- display: flex;
3
- align-self: start !important;
4
- }
5
-
6
- .align_self_end {
7
- display: flex;
8
- align-self: end !important;
9
- }
10
-
11
- .align_self_auto {
12
- display: flex;
13
- align-self: auto !important;
14
- }
15
-
16
- .align_self_center {
17
- display: flex;
18
- align-self: center !important;
19
- }
20
-
21
- .align_self_stretch {
22
- display: flex;
23
- align-self: stretch !important;
24
- }
25
-
26
- .align_self_baseline {
27
- display: flex;
28
- align-self: baseline !important;
29
- }
1
+ $align_self_values: (
2
+ auto: auto,
3
+ start: start,
4
+ center: center,
5
+ end: end,
6
+ baseline: baseline,
7
+ stretch: stretch,
8
+ );
9
+
10
+ @include global_props_responsive_css($align_self_values, 'align_self', 'align-self');
@@ -1,3 +1,5 @@
1
+ @import "../tokens/display";
2
+
1
3
  .display_block {
2
4
  display: block;
3
5
  }
@@ -18,6 +20,28 @@
18
20
  display: inline-flex;
19
21
  }
20
22
 
21
- .display_hidden {
23
+ .display_none {
22
24
  display: none;
23
- }
25
+ }
26
+
27
+ $display_values: (
28
+ none: $display_none,
29
+ flex: $display_flex,
30
+ inline: $display_inline,
31
+ inline_block: $display_inline_block,
32
+ inline_flex: $display_inline_flex,
33
+ block: $display_block
34
+ );
35
+
36
+ // using a grid here
37
+ @each $size, $size_value in $breakpoints_grid {
38
+ @each $display, $display_value in $display_values {
39
+ $min_size: map-get($size_value, "min");
40
+ $max_size: map-get($size_value, "max");
41
+ .display_#{$size}_#{$display} {
42
+ @include break_on($min_size, $max_size) {
43
+ display: #{$display_value} !important;
44
+ }
45
+ }
46
+ }
47
+ }
@@ -1,15 +1,20 @@
1
- .flex_auto {
2
- flex: auto !important;
3
- }
1
+ $flex_values: (
2
+ auto: auto,
3
+ initial: initial,
4
+ none: none,
5
+ 0: 0,
6
+ 1: 1,
7
+ 2: 2,
8
+ 3: 3,
9
+ 4: 4,
10
+ 5: 5,
11
+ 6: 6,
12
+ 7: 7,
13
+ 8: 8,
14
+ 9: 9,
15
+ 10: 10,
16
+ 11: 11,
17
+ 12: 12,
18
+ );
4
19
 
5
- .flex_initial {
6
- flex: initial !important;
7
- }
8
-
9
- .flex_none {
10
- flex: none !important;
11
- }
12
-
13
- .flex_1 {
14
- flex: 1 !important;
15
- }
20
+ @include global_props_responsive_css($flex_values, 'flex', 'flex');
@@ -1,19 +1,8 @@
1
- .flex_direction_row {
2
- display: flex;
3
- flex-direction: row !important;
4
- }
1
+ $flex_direction_values: (
2
+ row: row,
3
+ column: column,
4
+ row_reverse: row-reverse,
5
+ column_reverse: column-reverse
6
+ );
5
7
 
6
- .flex_direction_column {
7
- display: flex;
8
- flex-direction: column !important;
9
- }
10
-
11
- .flex_direction_row_reverse {
12
- display: flex;
13
- flex-direction: row-reverse !important;
14
- }
15
-
16
- .flex_direction_column_reverse {
17
- display: flex;
18
- flex-direction: column-reverse !important;
19
- }
8
+ @include global_props_responsive_css($flex_direction_values, 'flex_direction', 'flex-direction');
@@ -1,9 +1,6 @@
1
- .flex_grow_1 {
2
- display: flex;
3
- flex-grow: 1 !important;
4
- }
1
+ $flex_grow_values: (
2
+ 0: 0,
3
+ 1: 1,
4
+ );
5
5
 
6
- .flex_grow_0 {
7
- display: flex;
8
- flex-grow: 0 !important;
9
- }
6
+ @include global_props_responsive_css($flex_grow_values, 'flex_grow', 'flex-grow');
@@ -1,9 +1,6 @@
1
- .flex_shrink_1 {
2
- display: flex;
3
- flex-shrink: 1 !important;
4
- }
1
+ $flex_shrink_values: (
2
+ 0: 0,
3
+ 1: 1,
4
+ );
5
5
 
6
- .flex_shrink_0 {
7
- display: flex;
8
- flex-shrink: 0 !important;
9
- }
6
+ @include global_props_responsive_css($flex_shrink_values, 'flex_shrink', 'flex-shrink');
@@ -1,14 +1,7 @@
1
- .flex_wrap_wrap {
2
- display: flex;
3
- flex-wrap: wrap !important;
4
- }
1
+ $flex_wrap_values: (
2
+ wrap: wrap,
3
+ nowrap: nowrap,
4
+ wrap_reverse: wrap-reverse,
5
+ );
5
6
 
6
- .flex_wrap_nowrap {
7
- display: flex;
8
- flex-wrap: nowrap !important;
9
- }
10
-
11
- .flex_wrap_wrap_reverse {
12
- display: flex;
13
- flex-wrap: wrap-reverse !important;
14
- }
7
+ @include global_props_responsive_css($flex_wrap_values, 'flex_wrap', 'flex-wrap');