coveragebook_components 0.8.9 → 0.9.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.
- checksums.yaml +4 -4
- data/app/assets/build/coco/app.css +254 -242
- data/app/assets/build/coco/app.js +64 -34
- data/app/assets/build/coco/book.css +23 -16
- data/app/assets/build/coco/book.js +50 -21
- data/app/assets/js/libs/alpine/directives/dropdown.js +5 -2
- data/app/components/coco/app/elements/alert/alert.css +1 -1
- data/app/components/coco/app/elements/button/button.css +38 -58
- data/app/components/coco/app/elements/button/button.rb +2 -3
- data/app/components/coco/app/elements/button_group/button_group.css +7 -2
- data/app/components/coco/app/elements/button_group/button_group.html.erb +2 -1
- data/app/components/coco/app/elements/button_group/button_group.js +28 -14
- data/app/components/coco/app/elements/button_to/button_to.css +4 -8
- data/app/components/coco/app/elements/color_picker_button/color_picker_button.css +1 -2
- data/app/components/coco/app/elements/image_picker_button/image_picker_button.css +1 -2
- data/app/components/coco/app/elements/layout_picker_button/layout_picker_button.css +1 -2
- data/app/components/coco/app/elements/menu/menu.css +7 -5
- data/app/components/coco/app/elements/menu_button/menu_button.css +1 -2
- data/app/components/coco/app/elements/snackbar/snackbar.css +3 -3
- data/app/components/coco/base/button/button.css +9 -9
- data/app/components/coco/base/button/button.html.erb +16 -18
- data/app/components/coco/base/button/button.js +6 -18
- data/app/components/coco/base/button/button.rb +38 -58
- data/app/components/coco/base/button/button_dropdown.js +27 -0
- data/lib/coco.rb +1 -1
- metadata +3 -6
- data/app/assets/build/coco/app.dev.css +0 -5535
- data/app/assets/build/coco/app.dev.js +0 -27473
- data/app/assets/build/coco/book.dev.css +0 -2009
- data/app/assets/build/coco/book.dev.js +0 -15801
@@ -16,10 +16,7 @@ module Coco
|
|
16
16
|
|
17
17
|
DEFAULT_THEME = nil
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
tag_name :button
|
22
|
-
tag_attr(*BUTTON_ATTRS)
|
19
|
+
tag_attr :type, :value, :name, :disabled, :href, :target
|
23
20
|
|
24
21
|
accepts_option :disabled, from: [true, false]
|
25
22
|
accepts_option :confirm, from: [true, false, nil], default: nil
|
@@ -58,34 +55,22 @@ module Coco
|
|
58
55
|
set_option_value(:state, "active")
|
59
56
|
end
|
60
57
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
if disabled?
|
65
|
-
button_attrs[:disabled] = true
|
66
|
-
end
|
67
|
-
|
68
|
-
if dropdown?
|
69
|
-
set_option_value(:dropdown, :placement, "bottom-start") unless get_option(:dropdown, :placement).present?
|
70
|
-
end
|
58
|
+
set_tag_attr(:disabled, true) if disabled?
|
59
|
+
set_tag_attr(:type, "button") unless tag_attr?(:type) || link?
|
71
60
|
|
72
|
-
|
73
|
-
|
61
|
+
if dropdown? || confirm? && get_option(:dropdown, :placement).blank?
|
62
|
+
set_option_value(:dropdown, :placement, "bottom-start")
|
74
63
|
end
|
75
64
|
end
|
76
65
|
|
77
|
-
attr_reader :on_click, :resize
|
66
|
+
attr_reader :on_click, :resize
|
78
67
|
|
79
|
-
def initialize(click: nil, resize: nil, states: nil, loading: false, active: false,
|
68
|
+
def initialize(click: nil, resize: nil, states: nil, loading: false, active: false, tooltip: nil, **kwargs)
|
80
69
|
@on_click = click
|
81
70
|
@resize = resize.to_h
|
82
71
|
@states = states.to_h
|
83
72
|
@loading = loading
|
84
73
|
@active = active
|
85
|
-
@alpine_data = {}
|
86
|
-
@button_element_attrs = button_element
|
87
|
-
|
88
|
-
super(**kwargs)
|
89
74
|
end
|
90
75
|
|
91
76
|
def toggle?
|
@@ -96,8 +81,8 @@ module Coco
|
|
96
81
|
get_option_value(:toggle)
|
97
82
|
end
|
98
83
|
|
99
|
-
def
|
100
|
-
|
84
|
+
def button_tag
|
85
|
+
tag_attr(:href).present? ? :a : :button
|
101
86
|
end
|
102
87
|
|
103
88
|
def button_text
|
@@ -121,11 +106,11 @@ module Coco
|
|
121
106
|
end
|
122
107
|
|
123
108
|
def link?
|
124
|
-
|
109
|
+
button_tag == :a
|
125
110
|
end
|
126
111
|
|
127
112
|
def button?
|
128
|
-
|
113
|
+
button_tag == :button
|
129
114
|
end
|
130
115
|
|
131
116
|
def icon_only?
|
@@ -136,25 +121,17 @@ module Coco
|
|
136
121
|
false
|
137
122
|
end
|
138
123
|
|
139
|
-
def
|
140
|
-
if dropdown?
|
141
|
-
jsify_data({
|
142
|
-
appendTo: "parent",
|
143
|
-
offset: [0, 1],
|
144
|
-
placement: get_option_value(:dropdown, :placement)
|
145
|
-
}.compact)
|
146
|
-
end
|
147
|
-
end
|
148
|
-
|
149
|
-
def component_classes
|
150
|
-
[
|
151
|
-
"coco-button",
|
152
|
-
tag_attrs[:class],
|
124
|
+
def alpine_wrapper_attrs
|
125
|
+
if dropdown? || confirm?
|
153
126
|
{
|
154
|
-
"
|
155
|
-
|
127
|
+
data: x_data("buttonDropdown"),
|
128
|
+
dropdown: jsify_data({offset: [0, 1], placement: get_option_value(:dropdown, :placement)}.compact),
|
129
|
+
"@dropdown:show": ("button.setState('active')" if dropdown?),
|
130
|
+
"@dropdown:hide": ("button.resetState()" if dropdown?),
|
131
|
+
"@confirmation:confirm": ("button.approveAndRun($event)" if confirm?),
|
132
|
+
"@confirmation:cancel": ("button.cancelConfirmation($event)" if confirm?)
|
156
133
|
}
|
157
|
-
|
134
|
+
end
|
158
135
|
end
|
159
136
|
|
160
137
|
def states
|
@@ -188,23 +165,26 @@ module Coco
|
|
188
165
|
private
|
189
166
|
|
190
167
|
def default_states
|
191
|
-
|
192
|
-
default:
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
}
|
197
|
-
}
|
168
|
+
{
|
169
|
+
default: default_state,
|
170
|
+
loading: (loading_state if @states&.key?(:loading))
|
171
|
+
}.compact
|
172
|
+
end
|
198
173
|
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
174
|
+
def default_state
|
175
|
+
{
|
176
|
+
text: button_text,
|
177
|
+
icon: icon,
|
178
|
+
tooltip: get_option_value(:tooltip, :content)
|
179
|
+
}
|
180
|
+
end
|
206
181
|
|
207
|
-
|
182
|
+
def loading_state
|
183
|
+
{
|
184
|
+
text: "Loading...",
|
185
|
+
icon: :loader_2,
|
186
|
+
tooltip: nil
|
187
|
+
}
|
208
188
|
end
|
209
189
|
|
210
190
|
def render_icon(icon)
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { CocoComponent } from "@js/coco.js";
|
2
|
+
import { getComponent } from "@helpers/alpine";
|
3
|
+
|
4
|
+
export default CocoComponent("buttonDropdown", (data = {}) => {
|
5
|
+
return {
|
6
|
+
dropdown: null,
|
7
|
+
button: null,
|
8
|
+
|
9
|
+
init() {
|
10
|
+
this.$nextTick(() => {
|
11
|
+
this.button = getComponent(this.$el.querySelector(".coco-button"));
|
12
|
+
});
|
13
|
+
},
|
14
|
+
|
15
|
+
hideDropdown() {
|
16
|
+
if (this.dropdown) {
|
17
|
+
this.dropdown.hide();
|
18
|
+
}
|
19
|
+
},
|
20
|
+
|
21
|
+
showDropdown() {
|
22
|
+
if (this.dropdown) {
|
23
|
+
this.dropdown.show();
|
24
|
+
}
|
25
|
+
},
|
26
|
+
};
|
27
|
+
});
|
data/lib/coco.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coveragebook_components
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Perkins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-11-
|
11
|
+
date: 2023-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -74,12 +74,8 @@ extensions: []
|
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
76
|
- app/assets/build/coco/app.css
|
77
|
-
- app/assets/build/coco/app.dev.css
|
78
|
-
- app/assets/build/coco/app.dev.js
|
79
77
|
- app/assets/build/coco/app.js
|
80
78
|
- app/assets/build/coco/book.css
|
81
|
-
- app/assets/build/coco/book.dev.css
|
82
|
-
- app/assets/build/coco/book.dev.js
|
83
79
|
- app/assets/build/coco/book.js
|
84
80
|
- app/assets/build/coco/icons/accessibility.svg
|
85
81
|
- app/assets/build/coco/icons/activity-square.svg
|
@@ -1622,6 +1618,7 @@ files:
|
|
1622
1618
|
- app/components/coco/base/button/button.html.erb
|
1623
1619
|
- app/components/coco/base/button/button.js
|
1624
1620
|
- app/components/coco/base/button/button.rb
|
1621
|
+
- app/components/coco/base/button/button_dropdown.js
|
1625
1622
|
- app/components/coco/base/content/content.rb
|
1626
1623
|
- app/components/coco/base/dropdown/dropdown.css
|
1627
1624
|
- app/components/coco/base/dropdown/dropdown.html.erb
|