fleetio_spark 0.2.48 → 1.0.0.rc.1

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 (189) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spark/_icons.js +1 -1
  3. data/app/assets/javascripts/spark/components/app/sidebar/_fix.js +4 -4
  4. data/app/assets/javascripts/spark/components/app/sidebar/_toggle.js +1 -1
  5. data/app/assets/javascripts/spark/components/layout/_auto-grid.js +5 -5
  6. data/app/assets/javascripts/spark/components/nav/_toggle.js +16 -7
  7. data/app/assets/javascripts/spark/components/ui/_sticky_panel.js +2 -2
  8. data/app/assets/javascripts/spark/components/ui/_toast.js +3 -6
  9. data/app/assets/javascripts/spark/shims/_dataset.js +241 -0
  10. data/app/assets/javascripts/spark/spark.js +18 -16
  11. data/app/assets/stylesheets/spark/_index.scss +0 -1
  12. data/app/assets/stylesheets/spark/components/_index.scss +11 -5
  13. data/app/assets/stylesheets/spark/components/app/_header.scss +15 -28
  14. data/app/assets/stylesheets/spark/components/app/_layout.scss +2 -2
  15. data/app/assets/stylesheets/spark/components/app/_sidebar.scss +19 -47
  16. data/app/assets/stylesheets/spark/components/app/sidebar/_header.scss +44 -48
  17. data/app/assets/stylesheets/spark/components/app/sidebar/_toggle.scss +5 -2
  18. data/app/assets/stylesheets/spark/components/button/_button.scss +48 -53
  19. data/app/assets/stylesheets/spark/components/button/_button_group.scss +10 -16
  20. data/app/assets/stylesheets/spark/components/button/_size.scss +17 -8
  21. data/app/assets/stylesheets/spark/components/icon/_badge.scss +41 -0
  22. data/app/assets/stylesheets/spark/{_icons.scss → components/icon/_icon.scss} +0 -0
  23. data/app/assets/stylesheets/spark/components/{form → input}/_switch.scss +20 -20
  24. data/app/assets/stylesheets/spark/components/layout/_block.scss +44 -0
  25. data/app/assets/stylesheets/spark/components/layout/_grid.scss +26 -29
  26. data/app/assets/stylesheets/spark/components/layout/_media_block.scss +76 -0
  27. data/app/assets/stylesheets/spark/components/layout/_page.scss +54 -0
  28. data/app/assets/stylesheets/spark/components/{app → messaging}/_banner.scss +3 -3
  29. data/app/assets/stylesheets/spark/components/messaging/_trial-notice.scss +20 -0
  30. data/app/assets/stylesheets/spark/components/nav/_item.scss +6 -30
  31. data/app/assets/stylesheets/spark/components/nav/_sidebar.scss +11 -48
  32. data/app/assets/stylesheets/spark/components/nav/_tabs.scss +5 -5
  33. data/app/assets/stylesheets/spark/components/nav/sidebar/_theme-default.scss +59 -0
  34. data/app/assets/stylesheets/spark/components/nav/sidebar/_theme-primary.scss +69 -0
  35. data/app/assets/stylesheets/spark/components/nav/tree/_group.scss +1 -6
  36. data/app/assets/stylesheets/spark/components/ui/_card.scss +57 -0
  37. data/app/assets/stylesheets/spark/components/ui/_header.scss +55 -55
  38. data/app/assets/stylesheets/spark/components/ui/_placeholder.scss +8 -22
  39. data/app/assets/stylesheets/spark/components/ui/_toolbar.scss +1 -27
  40. data/app/assets/stylesheets/spark/components_old/_dropdown.scss +117 -114
  41. data/app/assets/stylesheets/spark/components_old/_index.scss +1 -1
  42. data/app/assets/stylesheets/spark/components_old/header/_index.scss +0 -1
  43. data/app/assets/stylesheets/spark/components_old/header/_search.scss +2 -0
  44. data/app/assets/stylesheets/spark/core/_vars.scss +6 -3
  45. data/app/components/spark/badge.html.slim +4 -0
  46. data/app/components/spark/badge.rb +15 -0
  47. data/app/components/spark/banner.html.slim +7 -0
  48. data/app/components/spark/banner.rb +28 -0
  49. data/app/components/spark/button.html.slim +9 -0
  50. data/app/components/spark/button.rb +68 -0
  51. data/app/components/spark/button/group.html.slim +4 -0
  52. data/app/components/spark/button/group.rb +22 -0
  53. data/app/components/spark/card.html.slim +7 -0
  54. data/app/components/spark/card.rb +13 -0
  55. data/app/components/spark/checklist.html.slim +14 -0
  56. data/app/components/spark/checklist.rb +49 -0
  57. data/app/components/spark/checklist/container.html.slim +14 -0
  58. data/app/components/spark/checklist/container.rb +51 -0
  59. data/app/components/spark/checklist/item.html.slim +9 -0
  60. data/app/components/spark/checklist/item.rb +24 -0
  61. data/app/components/spark/checklist/trigger.html.slim +6 -0
  62. data/app/components/spark/checklist/trigger.rb +13 -0
  63. data/app/components/spark/component/base.rb +27 -0
  64. data/app/components/spark/embed/wistia_media.html.slim +11 -0
  65. data/app/components/spark/embed/wistia_media.rb +22 -0
  66. data/app/components/spark/embed/wistia_media_component.rb +22 -36
  67. data/app/components/spark/grid.html.slim +4 -0
  68. data/app/components/spark/grid.rb +31 -0
  69. data/app/components/spark/grid/column.html.slim +1 -0
  70. data/app/components/spark/grid/column.rb +34 -0
  71. data/app/components/spark/icon.html.slim +1 -0
  72. data/app/components/spark/icon.rb +34 -0
  73. data/app/components/spark/icon/placeholder.html.slim +20 -0
  74. data/app/components/spark/icon/placeholder.rb +139 -0
  75. data/app/components/spark/input/base.html.slim +1 -0
  76. data/app/components/spark/input/base.rb +17 -0
  77. data/app/components/spark/input/checkbox.html.slim +2 -0
  78. data/app/components/spark/input/checkbox.rb +14 -0
  79. data/app/components/spark/input/label.html.slim +4 -0
  80. data/app/components/spark/input/label.rb +13 -0
  81. data/app/components/spark/input/switch.html.slim +5 -0
  82. data/app/components/spark/input/switch.rb +24 -0
  83. data/app/components/spark/layout/block.html.slim +13 -0
  84. data/app/components/spark/layout/block.rb +62 -0
  85. data/app/components/spark/layout/media_block.html.slim +11 -0
  86. data/app/components/spark/layout/media_block.rb +29 -0
  87. data/app/components/spark/layout/page.html.slim +15 -0
  88. data/app/components/spark/layout/page.rb +37 -0
  89. data/app/components/spark/nav/group.html.slim +5 -0
  90. data/app/components/spark/nav/group.rb +31 -0
  91. data/app/components/spark/nav/item.html.slim +12 -0
  92. data/app/components/spark/nav/item.rb +36 -0
  93. data/app/components/spark/nav/sidebar.html.slim +14 -0
  94. data/app/components/spark/nav/sidebar.rb +60 -0
  95. data/app/components/spark/nav/tab_panels.html.slim +6 -0
  96. data/app/components/spark/nav/tab_panels.rb +42 -0
  97. data/app/components/spark/nav/tabs.html.slim +8 -0
  98. data/app/components/spark/nav/tabs.rb +36 -0
  99. data/app/components/spark/nav/toggle.html.slim +9 -0
  100. data/app/components/spark/nav/toggle.rb +20 -0
  101. data/app/components/spark/nav/tree.html.slim +9 -0
  102. data/app/components/spark/nav/tree.rb +53 -0
  103. data/app/components/spark/nav/tree/group.html.slim +9 -0
  104. data/app/components/spark/nav/tree/group.rb +26 -0
  105. data/app/components/spark/sticky_panel.html.slim +2 -0
  106. data/app/components/spark/sticky_panel.rb +12 -0
  107. data/app/components/spark/toolbar.html.slim +7 -0
  108. data/app/components/spark/toolbar.rb +14 -0
  109. data/app/components/spark/tooltip.html.slim +3 -0
  110. data/app/components/spark/tooltip.rb +13 -0
  111. data/app/components/spark/trial_notice.html.slim +3 -0
  112. data/app/components/spark/trial_notice.rb +35 -0
  113. data/app/components/spark/widget_card.html.slim +5 -0
  114. data/app/components/spark/widget_card.rb +12 -0
  115. data/app/helpers/spark/application_helper.rb +9 -0
  116. data/lib/fleetio_spark.rb +6 -6
  117. data/lib/fleetio_spark/version.rb +1 -1
  118. data/public/code-1.0.0.rc.1.js +2 -0
  119. data/public/code-1.0.0.rc.1.js.gz +0 -0
  120. data/public/code-1.0.0.rc.1.js.map +1 -0
  121. data/public/spark-1.0.0.rc.1.css +1 -0
  122. data/public/spark-1.0.0.rc.1.css.gz +0 -0
  123. data/public/spark-1.0.0.rc.1.js +2 -0
  124. data/public/spark-1.0.0.rc.1.js.gz +0 -0
  125. data/public/spark-1.0.0.rc.1.js.map +1 -0
  126. metadata +110 -75
  127. data/app/assets/stylesheets/spark/components/layout/_base.scss +0 -0
  128. data/app/assets/stylesheets/spark/components/layout/_header.scss +0 -55
  129. data/app/assets/stylesheets/spark/components/page/_header.scss +0 -9
  130. data/app/assets/stylesheets/spark/components/page/_main.scss +0 -62
  131. data/app/assets/stylesheets/spark/components_old/header/_trial-status.scss +0 -61
  132. data/app/components/spark/app/banner_component.rb +0 -32
  133. data/app/components/spark/app/content_component.rb +0 -32
  134. data/app/components/spark/app/header_component.rb +0 -59
  135. data/app/components/spark/app/layout_component.rb +0 -92
  136. data/app/components/spark/app/modal_component.rb +0 -5
  137. data/app/components/spark/app/sidebar/header_component.rb +0 -39
  138. data/app/components/spark/app/sidebar_component.rb +0 -20
  139. data/app/components/spark/button/add_component.rb +0 -9
  140. data/app/components/spark/button/base_component.rb +0 -39
  141. data/app/components/spark/button/cancel_component.rb +0 -8
  142. data/app/components/spark/button/danger_component.rb +0 -8
  143. data/app/components/spark/button/group_component.rb +0 -24
  144. data/app/components/spark/button/icon_component.rb +0 -14
  145. data/app/components/spark/button/primary_component.rb +0 -8
  146. data/app/components/spark/button/text_component.rb +0 -8
  147. data/app/components/spark/form/checkbox_component.rb +0 -16
  148. data/app/components/spark/form/input_component.rb +0 -9
  149. data/app/components/spark/form/label_component.rb +0 -12
  150. data/app/components/spark/form/switch_component.rb +0 -32
  151. data/app/components/spark/layout/base_component.rb +0 -2
  152. data/app/components/spark/layout/grid/column_component.rb +0 -32
  153. data/app/components/spark/layout/grid_component.rb +0 -37
  154. data/app/components/spark/layout/header_component.rb +0 -26
  155. data/app/components/spark/layout/page_component.rb +0 -31
  156. data/app/components/spark/nav/breadcrumbs_component.rb +0 -2
  157. data/app/components/spark/nav/group_component.rb +0 -36
  158. data/app/components/spark/nav/item_component.rb +0 -44
  159. data/app/components/spark/nav/pills_component.rb +0 -28
  160. data/app/components/spark/nav/sidebar_component.rb +0 -59
  161. data/app/components/spark/nav/tab_panels/panel_component.rb +0 -37
  162. data/app/components/spark/nav/tab_panels/tab_component.rb +0 -13
  163. data/app/components/spark/nav/tab_panels_component.rb +0 -28
  164. data/app/components/spark/nav/tabs_component.rb +0 -59
  165. data/app/components/spark/nav/toggle_component.rb +0 -28
  166. data/app/components/spark/nav/tree/group_component.rb +0 -35
  167. data/app/components/spark/nav/tree_component.rb +0 -56
  168. data/app/components/spark/page/layout_component.rb +0 -32
  169. data/app/components/spark/page/main_component.rb +0 -39
  170. data/app/components/spark/ui/card_component.rb +0 -16
  171. data/app/components/spark/ui/checklist/container_component.rb +0 -56
  172. data/app/components/spark/ui/checklist/item_component.rb +0 -37
  173. data/app/components/spark/ui/checklist_trigger_component.rb +0 -20
  174. data/app/components/spark/ui/icon/_icon.html.erb +0 -0
  175. data/app/components/spark/ui/icon_component.rb +0 -30
  176. data/app/components/spark/ui/placeholder_component.rb +0 -105
  177. data/app/components/spark/ui/sticky_panel_component.rb +0 -9
  178. data/app/components/spark/ui/toolbar_component.rb +0 -17
  179. data/app/components/spark/ui/tooltip_component.rb +0 -13
  180. data/app/components/spark/ui/widget_card_component.rb +0 -13
  181. data/lib/fleetio_spark/component.rb +0 -36
  182. data/public/code-0.2.48.js +0 -2
  183. data/public/code-0.2.48.js.gz +0 -0
  184. data/public/code-0.2.48.js.map +0 -1
  185. data/public/spark-0.2.48.css +0 -1
  186. data/public/spark-0.2.48.css.gz +0 -0
  187. data/public/spark-0.2.48.js +0 -2
  188. data/public/spark-0.2.48.js.gz +0 -0
  189. data/public/spark-0.2.48.js.map +0 -1
@@ -1,28 +0,0 @@
1
- class Nav::PillsComponent < SparkComponents::Component
2
- base_class "spark-nav-pills"
3
- root_attr role: "navigation"
4
- attribute layout: :flush
5
-
6
- aria_attr :label
7
- validates :label, presence: true
8
- validates_choice :layout, %i[padded flush]
9
-
10
- element :item, multiple: true, component: "nav/item"
11
-
12
- def before_render
13
- add_class %(layout-#{layout})
14
- end
15
-
16
- def render
17
- return if items.empty?
18
- content_tag(:nav, tag_attrs) do
19
- content_tag(:div, class: "nav-pills-wrapper") {
20
- concat content_tag(:ul, class: "spark-nav-group") {
21
- items.each { |item|
22
- concat content_tag(:li, item, class: "nav-pill-wrapper #{item.active? ? "active" : nil}")
23
- }
24
- }
25
- }
26
- end
27
- end
28
- end
@@ -1,59 +0,0 @@
1
- class Nav::SidebarComponent < SparkComponents::Component
2
- aria_attr :label
3
- validates :label, presence: true
4
-
5
- base_class "spark-nav-sidebar"
6
-
7
- element :header
8
- element :footer
9
- element :group, component: "nav/group", multiple: true do
10
- attribute :title
11
-
12
- def render
13
- @view.capture do
14
- concat content_tag(:h4, title, class: parent.join_class("title")) unless title.blank?
15
- concat super
16
- end
17
- end
18
- end
19
-
20
- def before_render
21
- data_attr nav_id: unique_id
22
- end
23
-
24
- def render
25
- content_tag(:nav, tag_attrs) do
26
- concat sidebar_toggle_tag
27
- concat content_tag(:div, class: join_class("wrapper")) {
28
- concat header_tag unless header.blank?
29
- groups.each { |group| concat group }
30
- concat footer_tag unless footer.blank?
31
- }
32
- end
33
- end
34
-
35
- private
36
-
37
- def header_tag
38
- content_tag(:div, header, class: join_class("header"))
39
- end
40
-
41
- def footer_tag
42
- content_tag(:div, footer, class: join_class("footer"))
43
- end
44
-
45
- def sidebar_toggle_tag
46
- component("nav/toggle", target: selector(:data, :nav_id), class: join_class("toggle"), text: sidebar_button_text)
47
- end
48
-
49
- # Tries to find the text for the active nav item, otherwise shows sidebar label text
50
- def sidebar_button_text
51
- # Find any navs which have active items
52
- active_nav = groups.find { |group|
53
- group.active_item
54
- }
55
-
56
- # Use the active item text or the label for the sidebar
57
- active_nav&.active_item&.text || label
58
- end
59
- end
@@ -1,37 +0,0 @@
1
- class Nav::TabPanels::PanelComponent < SparkComponents::Component
2
- attribute :href, :text, :icon
3
-
4
- element :tab, component: "nav/tab_panels/tab"
5
-
6
- def after_init
7
- root_attr id: unique_id("panel"), role: "tabpanel"
8
- aria_attr labeledby: tab_id
9
- end
10
-
11
- def active=(bool)
12
- if bool
13
- add_class 'active'
14
- else
15
- root_attr(hidden: true)
16
- end
17
- end
18
-
19
- def tab_id
20
- "tab-for-#{root_attr[:id]}"
21
- end
22
-
23
- def tab_wrapper_id
24
- "wrapper-for-#{tab_id}"
25
- end
26
-
27
- def new_tab(active: false)
28
- tab = Nav::TabPanels::TabComponent.new(@view, text: text, href: href, icon: icon, active: active)
29
- tab.parent = self
30
- tab.before_render
31
- tab.render
32
- end
33
-
34
- def render
35
- @yield
36
- end
37
- end
@@ -1,13 +0,0 @@
1
- class Nav::TabPanels::TabComponent < Nav::ItemComponent
2
- root_attr role: 'tab', href: "#"
3
-
4
- def before_render
5
- aria_attr controls: parent.tag_attrs[:id], selected: !!active
6
- data_attr anchor: href, add_class: "active"
7
- add_class "active" if active
8
- end
9
-
10
- def render
11
- content_tag(:li, id: parent.tab_wrapper_id, class: "nav-tab-wrapper #{active ? "active" : nil}") { super }
12
- end
13
- end
@@ -1,28 +0,0 @@
1
- class Nav::TabPanelsComponent < Nav::TabsComponent
2
- element :panel, multiple: true, component: "nav/tab_panels/panel"
3
-
4
- def render
5
- panels.each_with_index { |panel, index|
6
- items << panel.new_tab(active: index == 0)
7
- }
8
-
9
- content_tag(:div, class: "nav-tab-panels") do
10
- concat super
11
- panels.each_with_index { |panel, index|
12
- panel.active = index == 0
13
- concat content_tag(:div, panel.yield, panel.tag_attrs)
14
- }
15
- end
16
- end
17
-
18
- def active_item_text
19
- panels.first.text
20
- end
21
-
22
- private
23
-
24
- def tab_group(options={}, &block)
25
- options.merge!({ role: "tablist" })
26
- super(options, &block)
27
- end
28
- end
@@ -1,59 +0,0 @@
1
- class Nav::TabsComponent < SparkComponents::Component
2
- LAYOUT = %i[flush padded]
3
-
4
- base_class "spark-nav-tabs"
5
- root_attr role: "navigation"
6
- attribute layout: :flush
7
-
8
- aria_attr :label
9
- validates :label, presence: true
10
- validates_choice :layout, LAYOUT
11
-
12
- element :item, multiple: true, component: "nav/item" do
13
- def render
14
- content_tag(:li, class: "nav-tab-wrapper") { super }
15
- end
16
- end
17
-
18
- def before_render
19
- add_class %(layout-#{layout})
20
- data_attr nav_id: unique_id
21
- end
22
-
23
- def render
24
- return if items.empty?
25
-
26
- content_tag(:nav, tag_attrs) do
27
- concat toggle_button
28
- concat content_tag(:div, class: "nav-tabs-wrapper") {
29
- concat tab_group {
30
- items.each { |item| concat item }
31
- }
32
- }
33
- end
34
- end
35
-
36
- private
37
-
38
- def toggle_button
39
- component("nav/toggle", target: selector(:data, :nav_id), class: join_class("toggle"), text: active_item_text)
40
- end
41
-
42
- def active_item_text
43
- if active_item = items.find(&:active?)
44
- active_item.text
45
- else
46
- "Menu"
47
- end
48
- end
49
-
50
- def tab_wrapper(options={}, &block)
51
- options[:class] = "nav-tab-wrapper #{options[:class]}"
52
- content_tag(:li, options, &block)
53
- end
54
-
55
- def tab_group(options={}, &block)
56
- options[:class] = "spark-nav-group #{options[:class]}"
57
- content_tag(:ul, options, &block)
58
- end
59
- end
@@ -1,28 +0,0 @@
1
- class Nav::ToggleComponent < SparkComponents::Component
2
- base_class "nav-toggle"
3
-
4
- attribute :target, :text, :id, :menu_icon, icon: 'chevron-down'
5
- validates :target, presence: true
6
-
7
- def render
8
- root_attr type: "button", id: @id || unique_id
9
- aria_attr hidden: true
10
-
11
- # When toggled on, adds an active class to itself and `nav-active` to `target` selector.
12
- data_attr nav_toggle: "#{target}"
13
-
14
- content_tag(:button, tag_attrs) do
15
- concat content_tag(:span, text, class: join_class("text")) if text
16
- if icon == 'nav-menu'
17
- concat content_tag(:span, class: join_class("icon-wrapper")) {
18
- content_tag(:span, nil, class: join_class("menu-icon"))
19
- }
20
- else
21
- concat content_tag(:span, class: join_class("icon")) {
22
- @view.use_svg(icon, width: '12px', class: join_class("svg")) if icon
23
- }
24
- end
25
- end
26
- end
27
- end
28
-
@@ -1,35 +0,0 @@
1
- class Nav::Tree::GroupComponent < Nav::GroupComponent
2
- attribute :icon, :text, expanded: false
3
- attribute :group_icon_size
4
- base_class "nav-item-wrapper"
5
-
6
- def before_render
7
- super
8
- add_class "tree-node"
9
- data_attr(node: node)
10
- aria_attr(expanded: expanded?)
11
- @item_role = item.respond_to?(:href) ? "none" : "treeitem"
12
- end
13
-
14
- def render
15
- unless items.empty?
16
- root_attr role: "treeitem"
17
- content_tag(:li, tag_attrs) do
18
- concat component("nav/item", text: text, icon: icon, icon_size: group_icon_size, class: "tree-trigger", tabindex: 0, href: "#") { expand_icon }
19
- concat super
20
- end
21
- end
22
- end
23
-
24
- def expand_icon
25
- @view.use_svg( 'chevron-down', class: "expand-icon", width: "9px" )
26
- end
27
-
28
- def node
29
- @node ||= text.strip.downcase.gsub(/[\W,-]+/, '_')
30
- end
31
-
32
- def expanded?
33
- @expanded || active?
34
- end
35
- end
@@ -1,56 +0,0 @@
1
- class Nav::TreeComponent < SparkComponents::Component
2
- base_class "nav-tree"
3
- root_attr :id, role: "tree"
4
- aria_attr :label
5
- attribute root_icon_size: :small
6
-
7
- def before_render
8
- data_attr tree: id
9
- end
10
-
11
- element :item, multiple: true, component: "nav/item" do
12
- add_class "tree-node"
13
-
14
- def before_render
15
- @icon_size = parent.root_icon_size
16
- super
17
- end
18
- end
19
-
20
- element :group, component: "nav/tree/group" do
21
-
22
- def before_render
23
- @group_icon_size = parent.root_icon_size
24
- add_class "active" if active?
25
- super
26
- end
27
-
28
- def render
29
- parent.items << super unless items.empty?
30
- end
31
-
32
- def expanded?
33
- parent.group_expanded?(node) || active? || expanded
34
- end
35
- end
36
-
37
- def render
38
- content_tag(:ul, tag_attrs) do
39
- items.each { |item|
40
- # Wrap links in `<li>`s if it's a link
41
- item = content_tag(:li, item, class: "nav-item-wrapper", role: "none") if item.respond_to?(:href)
42
- concat item
43
- }
44
- end
45
- end
46
-
47
- def group_expanded?(node)
48
- @_cookie ||= begin
49
- @view.parse_cookie( id )
50
- rescue
51
- nil
52
- end
53
-
54
- @_cookie && !!@_cookie[ node ]
55
- end
56
- end
@@ -1,32 +0,0 @@
1
- class Page::LayoutComponent < SparkComponents::Component
2
- base_class "spark-page"
3
- element :nav
4
- element :title
5
- element :header
6
- element :body
7
- element :footer
8
- element :main, component: "page/main"
9
- element :action, multiple: true
10
-
11
- def render
12
- @view.capture do
13
- if title || nav || header
14
- concat content_tag(:div, class: join_class("header")) {
15
- concat if_content_tag(:div, nav, join_class: "header-nav")
16
- concat(component("layout/header", title: title) { |h|
17
- actions.each { |a| h.action { a.yield }}
18
- })
19
- concat if_content_tag(:div, header, join_class: "header-body")
20
- }
21
- end
22
- concat if_content_tag(:div, main, join_class: "main-wrapper")
23
- concat if_content_tag(:div, body, join_class: "body")
24
- concat if_content_tag(:div, footer, join_class: "footer")
25
- concat content_for(:modal)
26
- end
27
- end
28
-
29
- def modal(&block)
30
- content_for(:modals, &block)
31
- end
32
- end
@@ -1,39 +0,0 @@
1
- class Page::MainComponent < SparkComponents::Component
2
- base_class "spark-page-main"
3
- element :nav
4
- element :header
5
- element :sidebar
6
- element :column, multiple: true
7
- element :body
8
- element :footer
9
-
10
- def render
11
- add_class("with-sidebar") unless sidebar.blank?
12
-
13
- content_tag(:div, tag_attrs) do
14
- unless sidebar.blank?
15
- concat content_tag(:div, class: join_class("sidebar")) {
16
- concat sidebar
17
- }
18
- end
19
- concat content_tag(:div, class: join_class("content")) {
20
- concat element_template("nav", nav)
21
- concat element_template("header", header)
22
-
23
- unless columns.empty?
24
- concat content_tag(:div, class: join_class("columns")) {
25
- columns.each { |column| concat element_template("column", column) }
26
- }
27
- end
28
-
29
- concat content_tag(:div, body, class: join_class("body")) unless body.blank?
30
- concat element_template("footer", footer)
31
- }
32
- end
33
- end
34
-
35
- # Simplify wrapping elements in divs with modular classnames if content is passed
36
- def element_template(name, content)
37
- content_tag(:div, content, class: join_class(name)) unless content.blank?
38
- end
39
- end
@@ -1,16 +0,0 @@
1
- class Ui::CardComponent < SparkComponents::Component
2
- base_class "spark-card"
3
-
4
- element :header, component: "layout/header" do
5
- add_class "spark-card-header"
6
- end
7
-
8
- element :body
9
-
10
- def render
11
- content_tag(:div, tag_attrs) do
12
- concat header
13
- concat if_content_tag(:div, body, join_class: 'content')
14
- end
15
- end
16
- end