playbook_ui 8.1.0 → 8.2.0.pre.alpha3

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 (110) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -0
  3. data/app/pb_kits/playbook/_playbook.scss +1 -0
  4. data/app/pb_kits/playbook/data/menu.yml +2 -1
  5. data/app/pb_kits/playbook/index.js +1 -0
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +14 -2
  7. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +1 -1
  8. data/app/pb_kits/playbook/pb_avatar/avatar.rb +5 -2
  9. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +5 -2
  10. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.html.erb +5 -0
  11. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +5 -0
  12. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.html.erb +4 -0
  13. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx +4 -0
  14. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.jsx +6 -0
  15. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +2 -1
  16. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.rb +2 -0
  17. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +4 -0
  18. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +4 -0
  19. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +2 -0
  20. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +2 -0
  21. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +2 -0
  22. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +2 -0
  23. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +8 -0
  24. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +8 -0
  25. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +2 -0
  26. data/app/pb_kits/playbook/pb_avatar_action_button/pb_avatar_action_button.test.js +31 -0
  27. data/app/pb_kits/playbook/pb_button/_button.jsx +6 -0
  28. data/app/pb_kits/playbook/pb_button/button.test.js +91 -0
  29. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +0 -1
  30. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +46 -0
  31. data/app/pb_kits/playbook/pb_caption/_caption.jsx +3 -2
  32. data/app/pb_kits/playbook/pb_caption/caption.rb +1 -1
  33. data/app/pb_kits/playbook/pb_card/_card.jsx +18 -3
  34. data/app/pb_kits/playbook/pb_card/card.html.erb +1 -1
  35. data/app/pb_kits/playbook/pb_card/card.rb +3 -0
  36. data/app/pb_kits/playbook/pb_card/docs/_card_tag.html.erb +25 -0
  37. data/app/pb_kits/playbook/pb_card/docs/_card_tag.jsx +59 -0
  38. data/app/pb_kits/playbook/pb_card/docs/example.yml +2 -0
  39. data/app/pb_kits/playbook/pb_card/docs/index.js +1 -0
  40. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +31 -9
  41. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +28 -19
  42. data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +11 -3
  43. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +6 -1
  44. data/app/pb_kits/playbook/pb_checkbox/checkbox.test.js +94 -0
  45. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_custom.jsx +0 -1
  46. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.html.erb +7 -0
  47. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.jsx +16 -0
  48. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +2 -0
  49. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
  50. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +17 -0
  51. data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +2 -2
  52. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +2 -2
  53. data/app/pb_kits/playbook/pb_dialog/_close_icon.jsx +23 -0
  54. data/app/pb_kits/playbook/pb_dialog/_dialog.html.erb +10 -0
  55. data/app/pb_kits/playbook/pb_dialog/_dialog.jsx +142 -0
  56. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +133 -0
  57. data/app/pb_kits/playbook/pb_dialog/_dialog_context.jsx +3 -0
  58. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_body.jsx +21 -0
  59. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_footer.jsx +36 -0
  60. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_header.jsx +68 -0
  61. data/app/pb_kits/playbook/pb_dialog/dialog.rb +47 -0
  62. data/app/pb_kits/playbook/pb_dialog/dialog.test.jsx +23 -0
  63. data/app/pb_kits/playbook/pb_dialog/dialog_header.rb +31 -0
  64. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.jsx +53 -0
  65. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.md +2 -0
  66. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default.jsx +27 -0
  67. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.jsx +27 -0
  68. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.md +2 -0
  69. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_separators.jsx +119 -0
  70. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_separators.md +2 -0
  71. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_should_close_on_overlay.jsx +28 -0
  72. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_should_close_on_overlay.md +2 -0
  73. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_sizes.jsx +93 -0
  74. data/app/pb_kits/playbook/pb_dialog/docs/example.yml +10 -0
  75. data/app/pb_kits/playbook/pb_dialog/docs/index.js +6 -0
  76. data/app/pb_kits/playbook/pb_form/_form.scss +5 -1
  77. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  78. data/app/pb_kits/playbook/pb_form/form_builder.rb +4 -2
  79. data/app/pb_kits/playbook/pb_form/form_builder/action_area.rb +14 -7
  80. data/app/pb_kits/playbook/pb_form/form_with.rb +0 -1
  81. data/app/pb_kits/playbook/pb_form/simple_form.html.erb +2 -4
  82. data/app/pb_kits/playbook/pb_form/simple_form.rb +4 -0
  83. data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +2 -0
  84. data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +1 -1
  85. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +1 -1
  86. data/app/pb_kits/playbook/plugins/pb_chart.js +1 -1
  87. data/app/pb_kits/playbook/react_rails_kits.js +4 -0
  88. data/app/pb_kits/playbook/tokens/_border_radius.scss +0 -10
  89. data/app/pb_kits/playbook/tokens/_colors.scss +0 -25
  90. data/app/pb_kits/playbook/tokens/_line_height.scss +0 -9
  91. data/app/pb_kits/playbook/tokens/_opacity.scss +0 -9
  92. data/app/pb_kits/playbook/tokens/_positioning.scss +0 -9
  93. data/app/pb_kits/playbook/tokens/_screen_sizes.scss +0 -9
  94. data/app/pb_kits/playbook/tokens/_shadows.scss +0 -9
  95. data/app/pb_kits/playbook/tokens/_spacing.scss +0 -10
  96. data/app/pb_kits/playbook/tokens/_typography.scss +0 -25
  97. data/app/pb_kits/playbook/tokens/exports/_border_radius.scss +10 -0
  98. data/app/pb_kits/playbook/tokens/exports/_colors.scss +26 -0
  99. data/app/pb_kits/playbook/tokens/exports/_line_height.scss +10 -0
  100. data/app/pb_kits/playbook/tokens/exports/_opacity.scss +10 -0
  101. data/app/pb_kits/playbook/tokens/exports/_positioning.scss +10 -0
  102. data/app/pb_kits/playbook/tokens/exports/_screen_sizes.scss +10 -0
  103. data/app/pb_kits/playbook/tokens/exports/_shadows.scss +10 -0
  104. data/app/pb_kits/playbook/tokens/exports/_spacing.scss +10 -0
  105. data/app/pb_kits/playbook/tokens/exports/_typography.scss +24 -0
  106. data/app/pb_kits/playbook/utilities/test-utils.js +6 -0
  107. data/dist/reset.css +1 -0
  108. data/lib/playbook/version.rb +2 -1
  109. metadata +56 -16
  110. data/app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb +0 -3
@@ -0,0 +1,10 @@
1
+ examples:
2
+
3
+ rails:
4
+
5
+ react:
6
+ - dialog_default: Simple
7
+ - dialog_compound_components: Complex
8
+ - dialog_sizes: Sizes
9
+ - dialog_scrollable: Scrollable
10
+ - dialog_should_close_on_overlay: Overlay Click
@@ -0,0 +1,6 @@
1
+ export { default as DialogDefault } from './_dialog_default.jsx'
2
+ export { default as DialogCompoundComponents } from './_dialog_compound_components.jsx'
3
+ export { default as DialogSizes } from './_dialog_sizes.jsx'
4
+ export { default as DialogScrollable } from './_dialog_scrollable.jsx'
5
+ export { default as DialogSeparators } from './_dialog_separators.jsx'
6
+ export { default as DialogShouldCloseOnOverlay } from './_dialog_should_close_on_overlay.jsx'
@@ -1,8 +1,12 @@
1
1
  .pb-form {
2
2
  .pb-form-actions {
3
3
  list-style: none;
4
- margin: 8px;
4
+ margin: 0;
5
5
  padding: 0;
6
+ display: flex;
7
+ justify-content: space-between;
8
+ align-items: flex-start;
9
+ flex-direction: row;
6
10
 
7
11
  > li {
8
12
  display: inline-flex;
@@ -14,7 +14,7 @@
14
14
  %>
15
15
 
16
16
  <%= pb_rails("form/form_with", props: {
17
- scope: :example, method: :get, url: "",
17
+ options: { scope: :example, method: :get, url: "" },
18
18
  validate: true
19
19
  }) do |form| %>
20
20
  <%= form.text_field :example_text_field, props: { label: true, required: true } %>
@@ -19,9 +19,11 @@ module Playbook
19
19
  prepend(CollectionSelectField)
20
20
  prepend(CheckboxField)
21
21
  prepend(DatePickerField)
22
+ end
22
23
 
23
- def actions(&block)
24
- @template.render_component ActionArea.new(submit_default_value: submit_default_value, children: block)
24
+ def actions
25
+ @template.send(:view_context).content_tag :ol, class: "pb-form-actions" do
26
+ yield ActionArea.new(@template, submit_default_value)
25
27
  end
26
28
  end
27
29
  end
@@ -3,22 +3,29 @@
3
3
  module Playbook
4
4
  module PbForm
5
5
  module FormBuilder
6
- class ActionArea < Playbook::KitBase
7
- prop :submit_default_value, type: Playbook::Props::String
6
+ class ActionArea
7
+ def initialize(view_context, submit_default_value)
8
+ self.view_context = view_context
9
+ self.submit_default_value = submit_default_value
10
+ end
8
11
 
9
12
  def submit(value = nil, props: {})
10
13
  props[:type] ||= "submit"
14
+ props[:text] ||= value || submit_default_value
15
+
11
16
  button(value, props: props)
12
17
  end
13
18
 
14
19
  def button(value = nil, props:)
15
- props[:text] ||= value || submit_default_value
16
-
17
- content_tag(:li) do
18
- pb_rails("button", props: props)
20
+ view_context.content_tag(:li) do
21
+ view_context.pb_rails("button", props: props)
19
22
  end
20
23
  end
24
+
25
+ private
26
+
27
+ attr_accessor :view_context, :submit_default_value
21
28
  end
22
29
  end
23
30
  end
24
- end
31
+ end
@@ -16,7 +16,6 @@ module Playbook
16
16
 
17
17
  def form_options
18
18
  {
19
- url: "",
20
19
  id: id,
21
20
  aria: aria,
22
21
  class: classname,
@@ -1,6 +1,4 @@
1
- <%= simple_form_for model, options do |form| %>
2
- <% instance_exec form, &children %>
3
- <% end %>
1
+ <%= simple_form_for model, options, &method(:render_form) %>
4
2
 
5
3
  <% if validate %>
6
4
  <% content_for :pb_js do %>
@@ -10,4 +8,4 @@
10
8
  })
11
9
  <% end %>
12
10
  <% end %>
13
- <% end %>
11
+ <% end %>
@@ -48,6 +48,10 @@ module Playbook
48
48
  prop(:options).fetch(:html, {})
49
49
  end
50
50
 
51
+ def render_form(builder)
52
+ view_context.capture(builder, &children)
53
+ end
54
+
51
55
  def render_in(view_context, &_block)
52
56
  super(view_context, &nil)
53
57
  end
@@ -23,6 +23,8 @@ const OnlineStatus = (props: OnlineStatusProps) => {
23
23
  status = 'offline',
24
24
  } = props
25
25
 
26
+ aria.label = status
27
+
26
28
  const ariaProps = buildAriaProps(aria)
27
29
  const dataProps = buildDataProps(data)
28
30
  const classes = classnames(buildCss('pb_online_status_kit', status), globalProps(props), className)
@@ -1,5 +1,5 @@
1
1
  <%= content_tag(:div,
2
- aria: object.aria,
2
+ aria: object.aria.merge!(label: object.status),
3
3
  class: object.classname,
4
4
  data: object.data,
5
5
  id: object.id) do %>
@@ -23,7 +23,7 @@ const UserBadge = (props: UserBadgeProps) => {
23
23
  size = 'md',
24
24
  } = props
25
25
 
26
- const image = require(`./badges/_${badge}.svg`)
26
+ const image = require(`./badges/${badge}.svg`)
27
27
  const ariaProps = buildAriaProps(aria)
28
28
  const dataProps = buildDataProps(data)
29
29
  const classes = classnames(
@@ -1,7 +1,7 @@
1
1
  import Highcharts from 'highcharts'
2
2
 
3
3
  import { highchartsTheme } from '../pb_dashboard/pbChartsLightTheme.js'
4
- import colors from '../tokens/_colors.scss'
4
+ import colors from '../tokens/exports/_colors.scss'
5
5
 
6
6
  require('highcharts/modules/variable-pie')(Highcharts)
7
7
  import highchartsMore from 'highcharts/highcharts-more.js'
@@ -5,4 +5,8 @@ export { default as Legend } from './pb_legend/_legend.jsx'
5
5
  export { default as LineGraph } from './pb_line_graph/_line_graph.jsx'
6
6
  export { default as Typeahead } from './pb_typeahead/_typeahead.jsx'
7
7
  export { default as RichTextEditor } from './pb_rich_text_editor/_rich_text_editor.jsx'
8
+ export { default as Dialog } from './pb_dialog/_dialog.jsx'
9
+ export { default as DialogHeader } from './pb_dialog/child_kits/_dialog_header.jsx'
10
+ export { default as DialogBody } from './pb_dialog/child_kits/_dialog_body.jsx'
11
+ export { default as DialogFooter } from './pb_dialog/child_kits/_dialog_footer.jsx'
8
12
  export { KitSearch, SnippetToggle, DarkModeToggle } from './docs_components'
@@ -32,13 +32,3 @@ $border_radius: (
32
32
  border_radius_none: $border_radius_none,
33
33
  border_radius_rounded: $border_radius_rounded
34
34
  );
35
-
36
-
37
- :export {
38
- @mixin export_border_radius($border_radius_list) {
39
- @each $name, $size in $border_radius_list {
40
- #{$name}: $size;
41
- }
42
- }
43
- @include export_border_radius($border_radius);
44
- }
@@ -250,28 +250,3 @@ $transparent: transparent;
250
250
  background: linear-gradient(135deg, $start 0%, $end 100%);
251
251
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$start}', endColorstr='#{$end}', GradientType=1);
252
252
  }
253
-
254
- :export {
255
- @mixin export-colors($colors-list) {
256
- @each $name, $color in $colors-list {
257
- #{$name}: $color;
258
- }
259
- }
260
- @include export-colors($product_colors);
261
- @include export-colors($status_colors);
262
- @include export-colors($data_colors);
263
- @include export-colors($shadow_colors);
264
- @include export-colors($colors);
265
- @include export-colors($interface_colors);
266
- @include export-colors($main_colors);
267
- @include export-colors($background_colors);
268
- @include export-colors($card_colors);
269
- @include export-colors($active_colors);
270
- @include export-colors($action_colors);
271
- @include export-colors($hover_colors);
272
- @include export-colors($border_colors);
273
- @include export-colors($text_colors);
274
- @include export-colors($category_colors);
275
- gradient_start: $gradient_start;
276
- gradient_end: $gradient_end;
277
- }
@@ -14,12 +14,3 @@ $line_height: (
14
14
  looser: $lh_looser,
15
15
  loosest: $lh_loosest
16
16
  );
17
-
18
- :export {
19
- @mixin export_line_height($line_height_list) {
20
- @each $name, $settings in $line_height_list {
21
- #{$name}: $settings;
22
- }
23
- }
24
- @include export_line_height($line_height);
25
- }
@@ -19,12 +19,3 @@ $opacity: (
19
19
  opacity_8: $opacity_8,
20
20
  opacity_9: $opacity_9,
21
21
  );
22
-
23
- :export {
24
- @mixin export_opacity($opacity_list) {
25
- @each $name, $settings in $opacity_list {
26
- #{$name}: $settings;
27
- }
28
- }
29
- @include export_opacity($opacity);
30
- }
@@ -34,12 +34,3 @@ $offscreen: -9999px;
34
34
  }
35
35
  @return map-get($z_layers, $layer);
36
36
  }
37
-
38
- :export {
39
- @mixin export_z_index($z_index_list) {
40
- @each $name, $settings in $z_index_list {
41
- #{$name}: $settings;
42
- }
43
- }
44
- @include export_z_index($z_index);
45
- }
@@ -28,12 +28,3 @@ $breakpoints: (
28
28
  @content;
29
29
  }
30
30
  }
31
-
32
- :export {
33
- @mixin export_breakpoints($breakpoints_list) {
34
- @each $name, $settings in $breakpoints_list {
35
- #{$name}: $settings;
36
- }
37
- }
38
- @include export_breakpoints($breakpoints);
39
- }
@@ -11,12 +11,3 @@ $box_shadows: (
11
11
  shadow_deeper: $shadow_deeper,
12
12
  shadow_deepest: $shadow_deepest
13
13
  );
14
-
15
- :export {
16
- @mixin export_shadows($shadows_list) {
17
- @each $name, $settings in $shadows_list {
18
- #{$name}: $settings;
19
- }
20
- }
21
- @include export_shadows($box_shadows);
22
- }
@@ -11,13 +11,3 @@ $spaces:(
11
11
  space_xl: $space_xl,
12
12
  none: 0
13
13
  );
14
-
15
-
16
- :export {
17
- @mixin export_spacing($spacing_list) {
18
- @each $name, $size in $spacing_list {
19
- #{$name}: $size;
20
- }
21
- }
22
- @include export_spacing($spaces);
23
- }
@@ -62,28 +62,3 @@ $boldest: 800;
62
62
  $bolder: 700;
63
63
  $light: 300;
64
64
  $lighter: 100;
65
-
66
-
67
-
68
- :export {
69
- font_family_base: $font_family_base;
70
- text_jumbo: $text_jumbo;
71
- text_largest: $text_largest;
72
- text_larger: $text_larger;
73
- text_large: $text_large;
74
- text_base: $text_base;
75
- text_default: $text_default;
76
- text_normal: $text_normal;
77
- text_medium: $text_medium;
78
- text_small: $text_small;
79
- text_smaller: $text_smaller;
80
- text_smallest: $text_smallest;
81
- heading_1: $heading_1;
82
- heading_2: $heading_2;
83
- heading_3: $heading_3;
84
- heading_4: $heading_4;
85
- lighter: $lighter;
86
- light: $light;
87
- bold: $bold;
88
- regular: $regular;
89
- }
@@ -0,0 +1,10 @@
1
+ @import "../border_radius";
2
+
3
+ :export {
4
+ @mixin export_border_radius($border_radius_list) {
5
+ @each $name, $size in $border_radius_list {
6
+ #{$name}: $size;
7
+ }
8
+ }
9
+ @include export_border_radius($border_radius);
10
+ }
@@ -0,0 +1,26 @@
1
+ @import "../colors";
2
+
3
+ :export {
4
+ @mixin export-colors($colors-list) {
5
+ @each $name, $color in $colors-list {
6
+ #{$name}: $color;
7
+ }
8
+ }
9
+ @include export-colors($product_colors);
10
+ @include export-colors($status_colors);
11
+ @include export-colors($data_colors);
12
+ @include export-colors($shadow_colors);
13
+ @include export-colors($colors);
14
+ @include export-colors($interface_colors);
15
+ @include export-colors($main_colors);
16
+ @include export-colors($background_colors);
17
+ @include export-colors($card_colors);
18
+ @include export-colors($active_colors);
19
+ @include export-colors($action_colors);
20
+ @include export-colors($hover_colors);
21
+ @include export-colors($border_colors);
22
+ @include export-colors($text_colors);
23
+ @include export-colors($category_colors);
24
+ gradient_start: $gradient_start;
25
+ gradient_end: $gradient_end;
26
+ }
@@ -0,0 +1,10 @@
1
+ @import "../line_height";
2
+
3
+ :export {
4
+ @mixin export_line_height($line_height_list) {
5
+ @each $name, $settings in $line_height_list {
6
+ #{$name}: $settings;
7
+ }
8
+ }
9
+ @include export_line_height($line_height);
10
+ }
@@ -0,0 +1,10 @@
1
+ @import "../opacity";
2
+
3
+ :export {
4
+ @mixin export_opacity($opacity_list) {
5
+ @each $name, $settings in $opacity_list {
6
+ #{$name}: $settings;
7
+ }
8
+ }
9
+ @include export_opacity($opacity);
10
+ }
@@ -0,0 +1,10 @@
1
+ @import "../positioning";
2
+
3
+ :export {
4
+ @mixin export_z_index($z_index_list) {
5
+ @each $name, $settings in $z_index_list {
6
+ #{$name}: $settings;
7
+ }
8
+ }
9
+ @include export_z_index($z_index);
10
+ }
@@ -0,0 +1,10 @@
1
+ @import "../screen_sizes";
2
+
3
+ :export {
4
+ @mixin export_breakpoints($breakpoints_list) {
5
+ @each $name, $settings in $breakpoints_list {
6
+ #{$name}: $settings;
7
+ }
8
+ }
9
+ @include export_breakpoints($breakpoints);
10
+ }
@@ -0,0 +1,10 @@
1
+ @import "../shadows";
2
+
3
+ :export {
4
+ @mixin export_shadows($shadows_list) {
5
+ @each $name, $settings in $shadows_list {
6
+ #{$name}: $settings;
7
+ }
8
+ }
9
+ @include export_shadows($box_shadows);
10
+ }