coveragebook_components 0.10.0 → 0.10.1.beta.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 +4339 -3025
- data/app/assets/build/coco/app.js +116 -104
- data/app/assets/build/coco/book.css +1492 -92
- data/app/assets/build/coco/book.js +278 -17
- data/app/assets/css/app/tippy.css +1 -1
- data/app/assets/css/app.css +3 -3
- data/app/assets/css/{base/base.css → base.css} +14 -7
- data/app/assets/css/book.css +2 -2
- data/app/assets/css/{libs → shared}/tippy.css +20 -1
- data/app/assets/css/shared/utils/text.css +143 -0
- data/app/assets/js/app.js +2 -2
- data/app/assets/js/book.js +2 -2
- data/app/assets/js/libs/alpine/directives/dropdown.js +1 -1
- data/app/assets/js/libs/alpine/directives/tooltip.js +1 -1
- data/app/assets/js/shared/components.js +4 -0
- data/app/components/coco/app/blocks/header/header.js +1 -1
- data/app/components/coco/app/blocks/header/header.rb +2 -2
- data/app/components/coco/app/blocks/nav_drawer/nav_drawer.css +4 -0
- data/app/components/coco/app/blocks/nav_drawer/nav_drawer.js +1 -1
- data/app/components/coco/app/blocks/sidebar_nav/item/item.css +3 -3
- data/app/components/coco/app/blocks/sidebar_nav/item/item.js +2 -2
- data/app/components/coco/app/blocks/sidebar_nav/menu/menu.css +3 -3
- data/app/components/coco/app/blocks/sidebar_nav/menu/menu.js +1 -1
- data/app/components/coco/app/blocks/sidebar_nav/navbar/navbar.js +1 -1
- data/app/components/coco/app/blocks/slide_editor/slide_editor.js +1 -1
- data/app/components/coco/app/elements/alert/alert.css +4 -4
- data/app/components/coco/app/elements/alert/alert.js +1 -1
- data/app/components/coco/app/elements/color_picker/color_picker.css +2 -2
- data/app/components/coco/app/elements/color_picker/color_picker.js +1 -1
- data/app/components/coco/app/elements/color_picker_button/color_picker_button.js +1 -1
- data/app/components/coco/app/elements/color_picker_button/color_picker_button.rb +3 -3
- data/app/components/coco/app/elements/confirm_panel/confirm_panel.css +1 -1
- data/app/components/coco/app/elements/confirm_panel/confirm_panel.js +1 -1
- data/app/components/coco/app/elements/image_picker/image_picker.css +4 -4
- data/app/components/coco/app/elements/image_picker/image_picker.js +1 -1
- data/app/components/coco/app/elements/image_picker_button/image_picker_button.js +1 -1
- data/app/components/coco/app/elements/image_picker_button/image_picker_button.rb +3 -3
- data/app/components/coco/app/elements/layout_picker_button/layout_picker_button.js +1 -1
- data/app/components/coco/app/elements/layout_picker_button/layout_picker_button.rb +3 -3
- data/app/components/coco/app/elements/link/link.rb +1 -1
- data/app/components/coco/app/elements/menu/menu.css +5 -5
- data/app/components/coco/app/elements/menu_button/menu_button.js +1 -1
- data/app/components/coco/app/elements/menu_button/menu_button.rb +3 -3
- data/app/components/coco/app/elements/menu_items/user_profile/user_profile.css +1 -1
- data/app/components/coco/app/elements/notice/notice.js +1 -1
- data/app/components/coco/app/elements/seamless_textarea/seamless_textarea.js +1 -1
- data/app/components/coco/app/elements/snackbar/snackbar.css +1 -1
- data/app/components/coco/app/elements/snackbar/snackbar.js +1 -1
- data/app/components/coco/app/elements/system_banner/system_banner.js +1 -1
- data/app/components/coco/app/elements/toast/toast.js +1 -1
- data/app/components/coco/app/elements/toolbar/toolbar.js +1 -1
- data/app/components/coco/app/elements/toolbar/toolbar.rb +1 -1
- data/app/components/coco/app/fields/button_component.rb +1 -1
- data/app/components/coco/app/fields/submit_component.rb +1 -0
- data/app/components/coco/app/layouts/application/application.js +1 -1
- data/app/components/coco/app/layouts/page/page.js +1 -1
- data/app/components/coco/{app/elements → shared}/button/button.css +104 -32
- data/app/components/coco/shared/button/button.html.erb +83 -0
- data/app/components/coco/{base → shared}/button/button.js +2 -1
- data/app/components/coco/{base → shared}/button/button.rb +107 -42
- data/app/components/coco/{base → shared}/button/button_dropdown.js +11 -2
- data/app/components/coco/{app/elements → shared}/button_group/button_group.css +1 -1
- data/app/components/coco/{app/elements → shared}/button_group/button_group.js +12 -4
- data/app/components/coco/shared/button_group/button_group.rb +40 -0
- data/app/components/coco/{app/elements → shared}/button_to/button_to.css +1 -1
- data/app/components/coco/shared/button_to/button_to.rb +50 -0
- data/app/components/coco/{base → shared}/dropdown/dropdown.js +1 -1
- data/app/components/coco/{base → shared}/icon/icon.js +1 -1
- data/app/components/coco/{base → shared}/image_uploader/image_uploader.js +1 -1
- data/app/components/coco/{base → shared}/modal/modal.js +2 -2
- data/app/components/coco/{base → shared}/modal_dialog/modal_dialog.js +1 -1
- data/app/components/coco/{base → shared}/modal_lightbox/modal_lightbox.js +1 -1
- data/app/components/coco/{base → shared}/poll_controller/poll_controller.js +1 -1
- data/app/helpers/coco/app_helper.rb +0 -23
- data/app/helpers/coco/component_helper.rb +1 -1
- data/app/helpers/coco/{base_helper.rb → shared_helper.rb} +24 -1
- data/app/helpers/coco/url_helper.rb +1 -1
- data/lib/coco/engine.rb +2 -2
- data/lib/coco.rb +1 -1
- data/lib/generators/coco/coco_generator.rb +1 -1
- metadata +74 -79
- data/app/assets/css/base/components/coco.css +0 -5
- data/app/assets/css/base/components/dropdown.css +0 -7
- data/app/assets/css/base/components/tooltip.css +0 -19
- data/app/assets/css/base/utils/text.css +0 -79
- data/app/assets/js/base/components.js +0 -4
- data/app/components/coco/app/elements/button/button.rb +0 -87
- data/app/components/coco/app/elements/button_group/button_group.rb +0 -42
- data/app/components/coco/app/elements/button_to/button_to.rb +0 -54
- data/app/components/coco/base/button/button.css +0 -75
- data/app/components/coco/base/button/button.html.erb +0 -71
- /data/app/assets/css/app/{utilities.css → utils.css} +0 -0
- /data/app/assets/css/{base → shared}/utils/colors.css +0 -0
- /data/app/assets/css/{base → shared}/utils/icons.css +0 -0
- /data/app/assets/js/{coco.js → shared/coco.js} +0 -0
- /data/app/components/coco/{base → shared}/avatar/avatar.css +0 -0
- /data/app/components/coco/{base → shared}/avatar/avatar.rb +0 -0
- /data/app/components/coco/{app/elements → shared}/button_group/button_group.html.erb +0 -0
- /data/app/components/coco/{app/elements → shared}/button_to/button_to.html.erb +0 -0
- /data/app/components/coco/{base → shared}/content/content.rb +0 -0
- /data/app/components/coco/{base → shared}/dropdown/dropdown.css +0 -0
- /data/app/components/coco/{base → shared}/dropdown/dropdown.html.erb +0 -0
- /data/app/components/coco/{base → shared}/dropdown/dropdown.rb +0 -0
- /data/app/components/coco/{base → shared}/embeds/youtube/youtube.css +0 -0
- /data/app/components/coco/{base → shared}/embeds/youtube/youtube.html.erb +0 -0
- /data/app/components/coco/{base → shared}/embeds/youtube/youtube.rb +0 -0
- /data/app/components/coco/{base → shared}/icon/icon.css +0 -0
- /data/app/components/coco/{base → shared}/icon/icon.html.erb +0 -0
- /data/app/components/coco/{base → shared}/icon/icon.rb +0 -0
- /data/app/components/coco/{base → shared}/image/image.css +0 -0
- /data/app/components/coco/{base → shared}/image/image.rb +0 -0
- /data/app/components/coco/{base → shared}/image_uploader/image_uploader.css +0 -0
- /data/app/components/coco/{base → shared}/image_uploader/image_uploader.html.erb +0 -0
- /data/app/components/coco/{base → shared}/image_uploader/image_uploader.rb +0 -0
- /data/app/components/coco/{base → shared}/link/link.css +0 -0
- /data/app/components/coco/{base → shared}/link/link.rb +0 -0
- /data/app/components/coco/{base → shared}/modal/modal.css +0 -0
- /data/app/components/coco/{base → shared}/modal/modal.html.erb +0 -0
- /data/app/components/coco/{base → shared}/modal/modal.rb +0 -0
- /data/app/components/coco/{base → shared}/modal_dialog/modal_dialog.css +0 -0
- /data/app/components/coco/{base → shared}/modal_dialog/modal_dialog.html.erb +0 -0
- /data/app/components/coco/{base → shared}/modal_dialog/modal_dialog.rb +0 -0
- /data/app/components/coco/{base → shared}/modal_lightbox/modal_lightbox.css +0 -0
- /data/app/components/coco/{base → shared}/modal_lightbox/modal_lightbox.html.erb +0 -0
- /data/app/components/coco/{base → shared}/modal_lightbox/modal_lightbox.rb +0 -0
- /data/app/components/coco/{base → shared}/pager_link/pager_link.css +0 -0
- /data/app/components/coco/{base → shared}/pager_link/pager_link.html.erb +0 -0
- /data/app/components/coco/{base → shared}/pager_link/pager_link.rb +0 -0
- /data/app/components/coco/{base → shared}/panel/panel.css +0 -0
- /data/app/components/coco/{base → shared}/panel/panel.html.erb +0 -0
- /data/app/components/coco/{base → shared}/panel/panel.rb +0 -0
- /data/app/components/coco/{base → shared}/placeholder/placeholder.css +0 -0
- /data/app/components/coco/{base → shared}/placeholder/placeholder.html.erb +0 -0
- /data/app/components/coco/{base → shared}/placeholder/placeholder.rb +0 -0
- /data/app/components/coco/{base → shared}/poll_controller/poll_controller.css +0 -0
- /data/app/components/coco/{base → shared}/poll_controller/poll_controller.html.erb +0 -0
- /data/app/components/coco/{base → shared}/poll_controller/poll_controller.rb +0 -0
- /data/app/components/coco/{base → shared}/svg/svg.html.erb +0 -0
- /data/app/components/coco/{base → shared}/svg/svg.rb +0 -0
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
module Coco
|
|
2
|
-
module App
|
|
3
|
-
module Elements
|
|
4
|
-
class ButtonGroup < Coco::Component
|
|
5
|
-
include Concerns::ActsAsButtonGroup
|
|
6
|
-
include Concerns::AcceptsOptions
|
|
7
|
-
|
|
8
|
-
accepts_option :size, default: :default, private: true
|
|
9
|
-
accepts_option :theme, default: :primary, private: true
|
|
10
|
-
accepts_option :segmented, from: [true, false], default: false
|
|
11
|
-
accepts_option :floating, from: [true, false], default: false
|
|
12
|
-
accepts_option :collapsible, from: [true, false, nil]
|
|
13
|
-
|
|
14
|
-
before_initialize do |kwargs|
|
|
15
|
-
if kwargs[:floating] == true
|
|
16
|
-
kwargs[:segmented] = true
|
|
17
|
-
kwargs[:theme] = :toolbar_floating
|
|
18
|
-
end
|
|
19
|
-
kwargs
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def button_kwargs(kwargs, type = nil)
|
|
23
|
-
args = {
|
|
24
|
-
theme: get_option_value(:theme),
|
|
25
|
-
size: get_option_value(:size),
|
|
26
|
-
**kwargs
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if component_args.key?(:resize)
|
|
30
|
-
args[:resize] = component_args[:resize]
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
if get_option_value(:collapsible) == false
|
|
34
|
-
args[:collapsible] = false
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
args
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
module Coco
|
|
2
|
-
module App
|
|
3
|
-
module Elements
|
|
4
|
-
class ButtonTo < Coco::Component
|
|
5
|
-
include Concerns::WrapsComponent
|
|
6
|
-
include Concerns::AcceptsOptions
|
|
7
|
-
|
|
8
|
-
accepts_option :fit, from: [:auto, :full]
|
|
9
|
-
|
|
10
|
-
wraps_component :button do |args|
|
|
11
|
-
Coco::App::Elements::Button.new(
|
|
12
|
-
type: :submit,
|
|
13
|
-
fit: get_option_value(:fit) || :auto,
|
|
14
|
-
**args
|
|
15
|
-
)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
%i[confirmation].each do |slot_name|
|
|
19
|
-
renders_one slot_name, ->(**kwargs, &block) do
|
|
20
|
-
button.send("with_#{slot_name}".to_sym, **kwargs, &block)
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
attr_reader :method, :turbo
|
|
25
|
-
|
|
26
|
-
def initialize(form: nil, params: nil, method: :post, action: nil, href: nil, turbo: false, **kwargs)
|
|
27
|
-
@form_args = form.to_h
|
|
28
|
-
@action = action || href
|
|
29
|
-
@method = method
|
|
30
|
-
@params = params.to_h
|
|
31
|
-
@turbo = turbo
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def params
|
|
35
|
-
to_form_params(@params)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def form_args
|
|
39
|
-
{
|
|
40
|
-
url: action,
|
|
41
|
-
method: method,
|
|
42
|
-
data: {
|
|
43
|
-
turbo: ("false" if !turbo)
|
|
44
|
-
}
|
|
45
|
-
}.deep_merge(@form_args)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def action
|
|
49
|
-
@action.is_a?(String) ? @action : helpers.url_for(@action)
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
@layer components {
|
|
2
|
-
.coco-button-wrapper {
|
|
3
|
-
@apply !contents;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
[data-coco].coco-button {
|
|
7
|
-
@apply flex transition-colors w-auto bg-transparent text-current border border-transparent select-none flex-none no-underline outline-none focus-visible:outline-0;
|
|
8
|
-
width: min-content;
|
|
9
|
-
|
|
10
|
-
.button-inner {
|
|
11
|
-
@apply inline-flex items-center text-center mx-auto gap-2;
|
|
12
|
-
width: fit-content;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.button-content {
|
|
16
|
-
@apply whitespace-nowrap relative leading-none inline-flex items-center order-2;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.button-state-content {
|
|
20
|
-
@apply contents;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.button-icon {
|
|
24
|
-
@apply inline-flex items-center order-1;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.button-dropdown {
|
|
28
|
-
@apply contents rounded-md;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.button-toggle {
|
|
32
|
-
@apply order-3;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/* disabled */
|
|
36
|
-
|
|
37
|
-
&[data-disabled="true"] {
|
|
38
|
-
@apply cursor-not-allowed pointer-events-none;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/* loading */
|
|
42
|
-
|
|
43
|
-
&[data-state="loading"] .button-icon {
|
|
44
|
-
@apply animate-spin;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/* Fit */
|
|
48
|
-
|
|
49
|
-
&[data-fit="full"] {
|
|
50
|
-
@apply w-full;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/* Icons */
|
|
54
|
-
|
|
55
|
-
&[data-icon-position="end"] {
|
|
56
|
-
.button-content {
|
|
57
|
-
@apply order-1;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.button-icon {
|
|
61
|
-
@apply order-2;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.button-toggle {
|
|
65
|
-
@apply order-3;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
&.with-icon[data-collapsed="true"] {
|
|
70
|
-
.button-content {
|
|
71
|
-
display: none;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
<%= coco_tag(:div, class: "coco-button-wrapper", x: alpine_wrapper_attrs || {}) do %>
|
|
2
|
-
<%= render component_tag(button_tag,
|
|
3
|
-
class: {
|
|
4
|
-
"coco-button": true,
|
|
5
|
-
"icon-only": icon_only?,
|
|
6
|
-
"with-icon": (icon? && !icon_only?)
|
|
7
|
-
},
|
|
8
|
-
x: {
|
|
9
|
-
data: x_data("button", alpine_data),
|
|
10
|
-
bind: "root",
|
|
11
|
-
":disabled": "disabled",
|
|
12
|
-
"dropdown:trigger": (true if dropdown?),
|
|
13
|
-
"dropdown:anchor": (true if dropdown?),
|
|
14
|
-
"@click": ("#{"checkConfirmation($event);" if confirm?} #{on_click}" if confirm? || on_click.present?)
|
|
15
|
-
}
|
|
16
|
-
) do %>
|
|
17
|
-
<span class="button-inner">
|
|
18
|
-
<% states.each do |name, props| %>
|
|
19
|
-
<% if props[:icon].present? %>
|
|
20
|
-
<% if states.many? %>
|
|
21
|
-
<span
|
|
22
|
-
class="button-icon"
|
|
23
|
-
x-ref="<%= name %>Icon"
|
|
24
|
-
x-show="showIcon('<%= name %>')"
|
|
25
|
-
<%= "x-cloak" unless name.to_sym == :default %>>
|
|
26
|
-
<%= props[:icon] %>
|
|
27
|
-
</span>
|
|
28
|
-
<% else %>
|
|
29
|
-
<span class="button-icon" x-ref="defaultIcon">
|
|
30
|
-
<%= props[:icon] %>
|
|
31
|
-
</span>
|
|
32
|
-
<% end %>
|
|
33
|
-
<% end %>
|
|
34
|
-
<% end %>
|
|
35
|
-
|
|
36
|
-
<% unless icon_only? %>
|
|
37
|
-
<% states.each do |name, props| %>
|
|
38
|
-
<% if states.many? %>
|
|
39
|
-
<span
|
|
40
|
-
class="button-content"
|
|
41
|
-
x-ref="<%= name %>Content"
|
|
42
|
-
x-show="showContent('<%= name %>')"
|
|
43
|
-
<%= "x-cloak" unless name.to_sym == :default %>>
|
|
44
|
-
<%= props[:text] %>
|
|
45
|
-
</span>
|
|
46
|
-
<% else %>
|
|
47
|
-
<span class="button-content" x-ref="defaultContent">
|
|
48
|
-
<%= props[:text] %>
|
|
49
|
-
</span>
|
|
50
|
-
<% end %>
|
|
51
|
-
<% end %>
|
|
52
|
-
<% end %>
|
|
53
|
-
|
|
54
|
-
<% if toggle? %>
|
|
55
|
-
<% if toggle_direction == :horizontal %>
|
|
56
|
-
<%= coco_icon(:chevron_right, class: "button-toggle") %>
|
|
57
|
-
<% else %>
|
|
58
|
-
<%= coco_icon(:chevron_down, class: "button-toggle") %>
|
|
59
|
-
<% end %>
|
|
60
|
-
<% end %>
|
|
61
|
-
</span>
|
|
62
|
-
<% end %>
|
|
63
|
-
|
|
64
|
-
<% if dropdown? %>
|
|
65
|
-
<div x-dropdown:content>
|
|
66
|
-
<div class="button-dropdown">
|
|
67
|
-
<%= dropdown %>
|
|
68
|
-
</div>
|
|
69
|
-
</div>
|
|
70
|
-
<% end %>
|
|
71
|
-
<% end %>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|