card-mod-bar_and_box 0.11.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b7ae413ff2d6c14e0f8f2b04e2d393ce8aa047f07a2e0c6317b0513d8ca924f8
4
+ data.tar.gz: 4a3777d434f5a8fd4db04d7cb97c9f90bbf3429258e3f1cff9fac8d009017c69
5
+ SHA512:
6
+ metadata.gz: 9a97cdb229fea762a1576e2a5df90b15aabba3a93f5bb6dfbfb3d45d67a240613a4e24a1074a5fd5626236fa4ef6c7851ce5d437233b5d1bbebf1ac912a236ea
7
+ data.tar.gz: 594751797ff184ef4684500e5b59f11726e9f10d7ca8d781641d5f427c32cb6b9eebb6d7c5672af6e95219214008bbf131242a132b00a99b544cd729f135b5ab
@@ -0,0 +1,79 @@
1
+ //images
2
+
3
+ @mixin image-box-size($sizename, $sidelength) {
4
+ &.#{$sizename} {
5
+ width: $sidelength;
6
+ height: $sidelength;
7
+ min-width: $sidelength;
8
+ min-height: $sidelength;
9
+ i {
10
+ font-size: $sidelength / 2;
11
+ }
12
+ }
13
+ }
14
+
15
+ .image-box {
16
+ display: flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+
20
+ width: 94px;
21
+ height: 94px;
22
+ min-width: 94px;
23
+ min-height: 94px;
24
+
25
+ box-sizing: border-box;
26
+ -webkit-box-sizing: border-box;
27
+ -moz-box-sizing: border-box;
28
+
29
+ border: 1px solid #eee;
30
+ border-radius: 0;
31
+
32
+ background-color: #f8f9fa;
33
+
34
+ margin-right: 0.5rem;
35
+ overflow: hidden;
36
+
37
+ //text-align: center;
38
+ @include image-box-size(icon, 16px);
39
+ @include image-box-size(small, 40px);
40
+ @include image-box-size(medium, 64px);
41
+ @include image-box-size(large, 94px);
42
+ @include image-box-size(xlarge, 150px);
43
+
44
+ a, i {
45
+ width: 100%;
46
+ text-align: center;
47
+ }
48
+ i {
49
+ color: $text-muted;
50
+ }
51
+ &.icon a {
52
+ line-height: 0;
53
+ height: 8px;
54
+ }
55
+ img {
56
+ max-width: 100%;
57
+ max-height: 100%;
58
+ height: auto;
59
+ }
60
+ }
61
+
62
+ @media (max-width: 1260px) {
63
+ .image-box {
64
+ @include image-box-size(large, 120px);
65
+ }
66
+ .media-body {
67
+ padding: 6px;
68
+ }
69
+ }
70
+
71
+ @include media-breakpoint-down(sm) {
72
+ .image-box {
73
+ @include image-box-size(xlarge, 100px);
74
+ @include image-box-size(large, 80px);
75
+ }
76
+ .media-body {
77
+ padding: 4px;
78
+ }
79
+ }
@@ -0,0 +1,17 @@
1
+ format :html do
2
+ def image_card
3
+ @image_card ||= card.fetch(:image, new: {})
4
+ end
5
+
6
+ def text_with_image opts={}
7
+ class_up "media-left", "m-2"
8
+ @image_card = Card.cardish(opts[:image]) if opts[:image]
9
+ haml :media_snippet, normalized_text_with_image_opts(opts)
10
+ end
11
+
12
+ private
13
+
14
+ def normalized_text_with_image_opts opts
15
+ opts.reverse_merge! title: _render_title, text: "", size: voo.size, media_opts: {}
16
+ end
17
+ end
@@ -0,0 +1,9 @@
1
+ .media{media_opts}
2
+ .media-left
3
+ = nest image_card, view: :boxed, size: size
4
+ .media-body{ class: "media-body-#{size}" }
5
+ - if title.present?
6
+ %h5{ class: classy("media-heading") }
7
+ = title
8
+ .media-text
9
+ = text
@@ -0,0 +1,12 @@
1
+ .collapsed-bar.nodblclick{ class: classy("bar") }
2
+ %div{ class: classy("bar-body") }
3
+ - if voo.show? :bar_left
4
+ %div{ class: classy("bar-left") }
5
+ = render :bar_left
6
+ - if voo.show? :bar_middle
7
+ %div{ class: classy("bar-middle") }
8
+ = render :bar_middle
9
+ - if voo.show? :bar_right
10
+ %div{ class: classy("bar-right") }
11
+ = render :bar_right
12
+ = render :bar_nav
@@ -0,0 +1,103 @@
1
+ format :html do
2
+ setting :bar_cols
3
+ setting :info_bar_cols
4
+
5
+ view :info_bar do
6
+ render_bar show: :bar_middle
7
+ end
8
+
9
+ before :bar do
10
+ class_up "bar", card.safe_set_keys
11
+ voo.hide! :bar_collapse_link
12
+ voo.hide :edit_link, :full_page_link, :bridge_link
13
+ end
14
+
15
+ view :bar, unknown: :unknown_bar do
16
+ voo.hide :bar_middle
17
+ voo.hide :bar_bottom # needed for toggle
18
+ class_up_bar_sides(voo.show?(:bar_middle))
19
+ # note: above cannot be in `before`, because before blocks run before viz processing
20
+ wrap { haml :bar }
21
+ end
22
+
23
+ bar_cols 9, 3
24
+ info_bar_cols 5, 4, 3
25
+
26
+ view :unknown_bar, unknown: true do
27
+ voo.hide! :bar_middle, :bar_bottom, :bar_nav
28
+ wrap { haml :bar }
29
+ end
30
+
31
+ before :expanded_bar do
32
+ class_up "bar", card.safe_set_keys
33
+ voo.hide! :bar_expand_link
34
+ end
35
+
36
+ view :expanded_bar do
37
+ class_up_bar_sides(false)
38
+ wrap { haml :expanded_bar }
39
+ end
40
+
41
+ def class_up_bar_sides middle
42
+ class_up_cols %w[bar-left bar-right], bar_cols
43
+ class_up_cols %w[bar-left bar-middle bar-right], info_bar_cols, "md" if middle
44
+ end
45
+
46
+ def class_up_cols classes, cols, context=nil
47
+ classes.each_with_index do |cls, i|
48
+ class_up cls, ["col", context, cols[i]].compact.join("-")
49
+ end
50
+ end
51
+
52
+ view :bar_left do
53
+ bar_title
54
+ end
55
+
56
+ def bar_title
57
+ return render_missing if card.unknown?
58
+
59
+ if voo.show?(:toggle)
60
+ link_to_view bar_title_toggle_view, render_title
61
+ else
62
+ render_title
63
+ end
64
+ end
65
+
66
+ def bar_title_toggle_view
67
+ voo.show?(:bar_bottom) ? :bar : :expanded_bar
68
+ end
69
+
70
+ view :bar_right, unknown: :blank do
71
+ [(render(:short_content) unless voo.show?(:bar_middle)),
72
+ render(:edit_button, optional: :hide)]
73
+ end
74
+
75
+ view :bar_middle, unknown: :blank do
76
+ render :short_content
77
+ end
78
+
79
+ view :bar_bottom do
80
+ render(nest_mode == :edit ? :edit : :core)
81
+ end
82
+
83
+ view :bar_nav, unknown: true, wrap: { div: { class: "bar-nav" } } do
84
+ [render_bar_expand_link,
85
+ render_bar_collapse_link,
86
+ render_full_page_link,
87
+ render_edit_link,
88
+ render_bridge_link]
89
+ end
90
+
91
+ view :bar_expand_link, unknown: true do
92
+ link_to_view :expanded_bar, icon_tag(:keyboard_arrow_down)
93
+ end
94
+
95
+ view :bar_collapse_link, unknown: true do
96
+ link_to_view :bar, icon_tag(:keyboard_arrow_up)
97
+ end
98
+
99
+ view :edit_button do
100
+ view = voo.edit == :inline ? :edit_inline : :edit
101
+ link_to_view view, "Edit", class: "btn btn-sm btn-outline-primary mr-2"
102
+ end
103
+ end
@@ -0,0 +1,12 @@
1
+ - box_classes = css_classes classy("box"), card.safe_set_keys
2
+ .card.p-0.drop-shadow.rounded-0.mb-4.nodblclick{class: box_classes}
3
+ - if voo.show? :box_top
4
+ .card-header.text-center{class: classy("box-top")}
5
+ = render :box_top
6
+ = render :menu
7
+ - if voo.show? :box_middle
8
+ .card-body{class: classy("box-middle")}
9
+ = render :box_middle
10
+ - if voo.show? :box_bottom
11
+ .card-footer.text-center{class: classy("box-bottom")}
12
+ = render :box_bottom
@@ -0,0 +1,16 @@
1
+ view :box, template: :haml do
2
+ voo.hide :menu
3
+ end
4
+
5
+ view :box_top do
6
+ render_title_link
7
+ end
8
+
9
+ view :box_middle do
10
+ _render_content
11
+ end
12
+
13
+ view :box_bottom do
14
+ [_render_creator_credit,
15
+ _render_updated_by]
16
+ end
@@ -0,0 +1,10 @@
1
+ .expanded-bar
2
+ %div{ class: classy("bar-body") }
3
+ .nodblclick{ class: classy("bar") }
4
+ %div{ class: classy("bar-left") }
5
+ = naming { render :bar_left }
6
+ %div{ class: classy("bar-right") }
7
+ = render :bar_right, hide: :short_content
8
+ .bar-bottom
9
+ = render :bar_bottom
10
+ = render :bar_nav
@@ -0,0 +1,6 @@
1
+ include_set Abstract::CodeFile
2
+ Self::StyleMods.add_item :style_media
3
+
4
+ def source_files
5
+ scss_files [:image_box]
6
+ end
@@ -0,0 +1,38 @@
1
+ IMAGE_BOX_SIZE_MAP = {
2
+ icon: :icon, small: :small, medium: :small, large: :medium, xlarge: :medium
3
+ }.freeze
4
+
5
+ format :html do
6
+ view :boxed, unknown: true do
7
+ image_box { |size| render_core size: size }
8
+ end
9
+
10
+ view :boxed_link, unknown: true do
11
+ image_box { |size| link_to_card image_box_link_target, render_core(size: size) }
12
+ end
13
+
14
+ def image_box
15
+ voo.size ||= :medium
16
+ wrap_with :div, title: image_box_title, class: "image-box #{voo.size}" do
17
+ yield image_box_size
18
+ end
19
+ end
20
+
21
+ ## METHODS FOR OVERRIDE
22
+
23
+ def image_box_size
24
+ IMAGE_BOX_SIZE_MAP[voo.size.to_sym] || :medium
25
+ end
26
+
27
+ def image_box_card_name
28
+ card.name.junction? ? card.name.left : card.name
29
+ end
30
+
31
+ def image_box_link_target
32
+ image_box_card_name
33
+ end
34
+
35
+ def image_box_title
36
+ voo.title || image_box_card_name
37
+ end
38
+ end
metadata ADDED
@@ -0,0 +1,84 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: card-mod-bar_and_box
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.11.0
5
+ platform: ruby
6
+ authors:
7
+ - Ethan McCutchen
8
+ - Philipp Kühl
9
+ - Gerry Gleason
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2020-12-24 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: card
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - '='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.101.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - '='
27
+ - !ruby/object:Gem::Version
28
+ version: 1.101.0
29
+ - !ruby/object:Gem::Dependency
30
+ name: card-mod-style
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - '='
34
+ - !ruby/object:Gem::Version
35
+ version: 0.11.0
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '='
41
+ - !ruby/object:Gem::Version
42
+ version: 0.11.0
43
+ description: ''
44
+ email:
45
+ - info@decko.org
46
+ executables: []
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - lib/stylesheets/style_image_box.scss
51
+ - set/abstract/media.rb
52
+ - set/abstract/media/media_snippet.haml
53
+ - set/all/bar.haml
54
+ - set/all/bar.rb
55
+ - set/all/box.haml
56
+ - set/all/box.rb
57
+ - set/all/expanded_bar.haml
58
+ - set/self/style_media.rb
59
+ - set/type/image.rb
60
+ homepage: http://decko.org
61
+ licenses:
62
+ - GPL-3.0
63
+ metadata:
64
+ card-mod: bar_and_box
65
+ post_install_message:
66
+ rdoc_options: []
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '2.5'
74
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ requirements: []
80
+ rubygems_version: 3.0.3
81
+ signing_key:
82
+ specification_version: 4
83
+ summary: bar and box views
84
+ test_files: []