coveragebook_components 0.10.1.beta.1 → 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.
- checksums.yaml +4 -4
- data/app/assets/build/coco/app.css +3968 -3053
- data/app/assets/build/coco/app.js +5 -4
- data/app/assets/build/coco/book.css +1609 -627
- data/app/assets/build/coco/book.js +2 -2
- data/app/assets/css/app/tippy.css +1 -1
- data/app/assets/css/base.css +0 -4
- data/app/assets/css/shared/tippy.css +2 -2
- data/app/assets/css/shared/utils/text.css +323 -66
- data/app/components/coco/app/blocks/sidebar_nav/item/item.css +3 -3
- data/app/components/coco/app/blocks/sidebar_nav/menu/menu.css +3 -3
- data/app/components/coco/app/elements/alert/alert.css +7 -7
- data/app/components/coco/app/elements/color_picker/color_picker.css +2 -2
- data/app/components/coco/app/elements/confirm_panel/confirm_panel.css +1 -1
- data/app/components/coco/app/elements/image_picker/image_picker.css +4 -4
- data/app/components/coco/app/elements/menu/menu.css +2 -2
- data/app/components/coco/app/elements/menu_items/user_profile/user_profile.css +1 -1
- data/app/components/coco/app/elements/snackbar/snackbar.css +1 -1
- data/app/components/coco/app/layouts/page/page.css +1 -5
- data/app/components/coco/app/layouts/page/page.html.erb +3 -9
- data/app/components/coco/app/layouts/page/page.rb +18 -3
- data/app/components/coco/shared/button/button.css +31 -31
- data/app/components/coco/shared/button/button.rb +2 -2
- data/app/components/coco/shared/link/link.css +67 -0
- data/app/components/coco/shared/link/link.rb +20 -1
- data/app/components/coco/shared/prose/prose.css +28 -0
- data/app/components/coco/shared/prose/prose.rb +14 -0
- data/app/components/coco/shared/spacer/spacer.css +201 -0
- data/app/components/coco/shared/spacer/spacer.rb +23 -0
- data/app/components/coco/shared/stack/stack.css +4 -0
- data/app/components/coco/shared/stack/stack.html.erb +4 -0
- data/app/components/coco/shared/stack/stack.rb +47 -0
- data/app/helpers/coco/app_helper.rb +1 -1
- data/app/helpers/coco/shared_helper.rb +13 -0
- data/config/tailwind.base.config.cjs +3 -1
- data/config/tokens.cjs +1 -0
- data/lib/coco.rb +1 -1
- metadata +12 -7
- data/app/components/coco/app/elements/link/link.css +0 -70
- data/app/components/coco/app/elements/link/link.rb +0 -33
@@ -0,0 +1,47 @@
|
|
1
|
+
module Coco
|
2
|
+
class Stack < Coco::Component
|
3
|
+
include Concerns::AcceptsOptions
|
4
|
+
|
5
|
+
accepts_option :spacing, from: Coco::Spacer::SIZES, default: Coco::Spacer::DEFAULT, private: true
|
6
|
+
accepts_option :direction, from: %i[vertical], default: :vertical
|
7
|
+
|
8
|
+
renders_many :items, types: {
|
9
|
+
element: ->(tag_name = :div, **kwargs) do
|
10
|
+
with_space if items.any? && !ends_with_spacer?
|
11
|
+
@_last_item_type = :element
|
12
|
+
kwargs[:class] = class_names(kwargs[:class], "stack-item")
|
13
|
+
Coco::Tag.new(tag_name, **kwargs)
|
14
|
+
end,
|
15
|
+
|
16
|
+
stack: ->(size = spacing, **kwargs) do
|
17
|
+
with_space if items.any? && !ends_with_spacer?
|
18
|
+
@_last_item_type = :stack
|
19
|
+
kwargs[:class] = class_names(kwargs[:class], "stack-substack")
|
20
|
+
Coco::Stack.new(spacing: size, **kwargs)
|
21
|
+
end,
|
22
|
+
|
23
|
+
spacer: ->(size = spacing, **kwargs) do
|
24
|
+
@_starts_with_spacer = true if items.none?
|
25
|
+
@_last_item_type = :spacer
|
26
|
+
kwargs[:class] = class_names(kwargs[:class], "stack-spacer")
|
27
|
+
Coco::Spacer.new(size:, **kwargs)
|
28
|
+
end
|
29
|
+
}
|
30
|
+
|
31
|
+
def initialize(**)
|
32
|
+
@_items = []
|
33
|
+
@_starts_with_spacer = false
|
34
|
+
@_last_item_type = nil
|
35
|
+
end
|
36
|
+
|
37
|
+
def spacing = get_option_value(:spacing)
|
38
|
+
|
39
|
+
def starts_with_spacer? = @_starts_with_spacer
|
40
|
+
|
41
|
+
def ends_with_spacer? = @_last_item_type == :spacer
|
42
|
+
|
43
|
+
alias_method :with_item, :with_item_element
|
44
|
+
alias_method :with_substack, :with_item_stack
|
45
|
+
alias_method :with_space, :with_item_spacer
|
46
|
+
end
|
47
|
+
end
|
@@ -7,7 +7,7 @@ module Coco
|
|
7
7
|
(args.size == 1) ? [nil, args.first] : args[0..2].reverse!
|
8
8
|
end
|
9
9
|
|
10
|
-
link = Coco::
|
10
|
+
link = Coco::Link.new(href: href, **)
|
11
11
|
link = link.with_content(content) if !block && content.present?
|
12
12
|
|
13
13
|
render(link, &block)
|
@@ -4,6 +4,19 @@ module Coco
|
|
4
4
|
render Coco::Tag.new(*, **), &block
|
5
5
|
end
|
6
6
|
|
7
|
+
def coco_spacer(size = Coco::Spacer::DEFAULT, **)
|
8
|
+
render Coco::Spacer.new(size:, **)
|
9
|
+
end
|
10
|
+
alias_method :space, :coco_spacer
|
11
|
+
|
12
|
+
def coco_stack(spacing: Coco::Spacer::DEFAULT, **, &block)
|
13
|
+
render Coco::Stack.new(spacing:, **), &block
|
14
|
+
end
|
15
|
+
|
16
|
+
def coco_prose(**, &block)
|
17
|
+
render Coco::Prose.new(**), &block
|
18
|
+
end
|
19
|
+
|
7
20
|
def coco_svg(path = nil, **)
|
8
21
|
render Coco::Svg.new(path: path, **)
|
9
22
|
end
|
data/config/tokens.cjs
CHANGED
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.11.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
|
+
date: 2023-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -1522,8 +1522,6 @@ files:
|
|
1522
1522
|
- app/components/coco/app/elements/layout_picker_button/layout_picker_button.html.erb
|
1523
1523
|
- app/components/coco/app/elements/layout_picker_button/layout_picker_button.js
|
1524
1524
|
- app/components/coco/app/elements/layout_picker_button/layout_picker_button.rb
|
1525
|
-
- app/components/coco/app/elements/link/link.css
|
1526
|
-
- app/components/coco/app/elements/link/link.rb
|
1527
1525
|
- app/components/coco/app/elements/menu/menu.css
|
1528
1526
|
- app/components/coco/app/elements/menu/menu.html.erb
|
1529
1527
|
- app/components/coco/app/elements/menu/menu.rb
|
@@ -1685,6 +1683,13 @@ files:
|
|
1685
1683
|
- app/components/coco/shared/poll_controller/poll_controller.html.erb
|
1686
1684
|
- app/components/coco/shared/poll_controller/poll_controller.js
|
1687
1685
|
- app/components/coco/shared/poll_controller/poll_controller.rb
|
1686
|
+
- app/components/coco/shared/prose/prose.css
|
1687
|
+
- app/components/coco/shared/prose/prose.rb
|
1688
|
+
- app/components/coco/shared/spacer/spacer.css
|
1689
|
+
- app/components/coco/shared/spacer/spacer.rb
|
1690
|
+
- app/components/coco/shared/stack/stack.css
|
1691
|
+
- app/components/coco/shared/stack/stack.html.erb
|
1692
|
+
- app/components/coco/shared/stack/stack.rb
|
1688
1693
|
- app/components/coco/shared/svg/svg.html.erb
|
1689
1694
|
- app/components/coco/shared/svg/svg.rb
|
1690
1695
|
- app/components/coco/tag.rb
|
@@ -1745,11 +1750,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1745
1750
|
version: 3.2.0
|
1746
1751
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1747
1752
|
requirements:
|
1748
|
-
- - "
|
1753
|
+
- - ">="
|
1749
1754
|
- !ruby/object:Gem::Version
|
1750
|
-
version:
|
1755
|
+
version: '0'
|
1751
1756
|
requirements: []
|
1752
|
-
rubygems_version: 3.4.
|
1757
|
+
rubygems_version: 3.4.19
|
1753
1758
|
signing_key:
|
1754
1759
|
specification_version: 4
|
1755
1760
|
summary: CoverageBook component library
|
@@ -1,70 +0,0 @@
|
|
1
|
-
@layer components {
|
2
|
-
[data-coco][data-component="app-link"] {
|
3
|
-
&[data-theme] {
|
4
|
-
@apply no-underline hover:underline;
|
5
|
-
}
|
6
|
-
|
7
|
-
&[data-underline="true"] {
|
8
|
-
@apply underline;
|
9
|
-
}
|
10
|
-
|
11
|
-
&[data-underline="false"] {
|
12
|
-
@apply no-underline;
|
13
|
-
}
|
14
|
-
|
15
|
-
&[data-theme="primary"] {
|
16
|
-
@apply app-link-primary;
|
17
|
-
}
|
18
|
-
|
19
|
-
&[data-theme="positive"] {
|
20
|
-
@apply app-link-positive;
|
21
|
-
}
|
22
|
-
|
23
|
-
&[data-theme="negative"] {
|
24
|
-
@apply app-link-negative;
|
25
|
-
}
|
26
|
-
|
27
|
-
&[data-theme="warning"] {
|
28
|
-
@apply app-link-warning;
|
29
|
-
}
|
30
|
-
|
31
|
-
&[data-theme="info"] {
|
32
|
-
@apply app-link-info;
|
33
|
-
}
|
34
|
-
|
35
|
-
&[data-theme="neutral-dark"] {
|
36
|
-
@apply app-link-neutral-dark;
|
37
|
-
}
|
38
|
-
|
39
|
-
&[data-theme="neutral-light"] {
|
40
|
-
@apply app-link-neutral-light;
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
@layer utilities {
|
46
|
-
.app-link-primary,
|
47
|
-
.app-link-positive {
|
48
|
-
@apply text-content-primary active:text-green-700;
|
49
|
-
}
|
50
|
-
|
51
|
-
.app-link-negative {
|
52
|
-
@apply text-content-negative active:text-red-800;
|
53
|
-
}
|
54
|
-
|
55
|
-
.app-link-warning {
|
56
|
-
@apply text-content-warning active:text-amber-800;
|
57
|
-
}
|
58
|
-
|
59
|
-
.app-link-info {
|
60
|
-
@apply text-content-info active:text-info-800;
|
61
|
-
}
|
62
|
-
|
63
|
-
.app-link-neutral-dark {
|
64
|
-
@apply text-content-dark-1;
|
65
|
-
}
|
66
|
-
|
67
|
-
.app-link-neutral-light {
|
68
|
-
@apply text-content-light-1;
|
69
|
-
}
|
70
|
-
}
|
@@ -1,33 +0,0 @@
|
|
1
|
-
module Coco
|
2
|
-
module App
|
3
|
-
module Elements
|
4
|
-
class Link < Coco::Link
|
5
|
-
include Concerns::AcceptsOptions
|
6
|
-
include Concerns::AcceptsTheme
|
7
|
-
|
8
|
-
THEMES = %W[positive primary warning negative info neutral-dark neutral-light] << nil
|
9
|
-
|
10
|
-
accepts_option :theme, from: THEMES
|
11
|
-
accepts_option :underline, from: [true, false]
|
12
|
-
|
13
|
-
before_initialize do |kwargs|
|
14
|
-
if kwargs.key?(:modal)
|
15
|
-
modal_name = (kwargs[:modal] == true) ? "default" : kwargs[:modal]
|
16
|
-
kwargs[:data] = kwargs.fetch(:data, {}).merge(coco_modal_data_attributes(modal_name))
|
17
|
-
kwargs.delete(:modal)
|
18
|
-
end
|
19
|
-
if kwargs.key?(:frame)
|
20
|
-
turbo_data = {turbo: true, turbo_frame: kwargs[:frame]}
|
21
|
-
kwargs[:data] = kwargs.fetch(:data, {}).merge(turbo_data)
|
22
|
-
kwargs.delete(:frame)
|
23
|
-
end
|
24
|
-
kwargs
|
25
|
-
end
|
26
|
-
|
27
|
-
class << self
|
28
|
-
include Coco::SharedHelper
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|