anchor_view_components 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +5 -0
- data/LICENSE.txt +21 -0
- data/README.md +61 -0
- data/app/assets/builds/anchor-view-components.css +1 -0
- data/app/assets/stylesheets/anchor-view-components.tailwind.css +8 -0
- data/app/assets/stylesheets/components/button.css +29 -0
- data/app/assets/stylesheets/components/toast.css +21 -0
- data/app/components/anchor/action_menu_component.html.erb +19 -0
- data/app/components/anchor/action_menu_component.rb +23 -0
- data/app/components/anchor/action_menu_controller.ts +21 -0
- data/app/components/anchor/anchor_view_components.ts +13 -0
- data/app/components/anchor/autocomplete_component.en.yml +3 -0
- data/app/components/anchor/autocomplete_component.html.erb +36 -0
- data/app/components/anchor/autocomplete_component.rb +42 -0
- data/app/components/anchor/autocomplete_controller.ts +37 -0
- data/app/components/anchor/badge_component.html.erb +8 -0
- data/app/components/anchor/badge_component.rb +27 -0
- data/app/components/anchor/banner_component.html.erb +9 -0
- data/app/components/anchor/banner_component.rb +28 -0
- data/app/components/anchor/breadcrumbs/item_component.html.erb +16 -0
- data/app/components/anchor/breadcrumbs/item_component.rb +15 -0
- data/app/components/anchor/breadcrumbs_component.html.erb +10 -0
- data/app/components/anchor/breadcrumbs_component.rb +17 -0
- data/app/components/anchor/button_component.html.erb +22 -0
- data/app/components/anchor/button_component.rb +76 -0
- data/app/components/anchor/component.rb +21 -0
- data/app/components/anchor/dialog_component.html.erb +42 -0
- data/app/components/anchor/dialog_component.rb +25 -0
- data/app/components/anchor/dialog_controller.ts +15 -0
- data/app/components/anchor/icon_component.html.erb +6 -0
- data/app/components/anchor/icon_component.rb +9 -0
- data/app/components/anchor/loading_indicator_component.html.erb +6 -0
- data/app/components/anchor/loading_indicator_component.rb +23 -0
- data/app/components/anchor/panel/body_component.html.erb +8 -0
- data/app/components/anchor/panel/body_component.rb +6 -0
- data/app/components/anchor/panel/footer_component.html.erb +9 -0
- data/app/components/anchor/panel/footer_component.rb +17 -0
- data/app/components/anchor/panel/header_component.html.erb +9 -0
- data/app/components/anchor/panel/header_component.rb +15 -0
- data/app/components/anchor/panel_component.html.erb +8 -0
- data/app/components/anchor/panel_component.rb +20 -0
- data/app/components/anchor/prose_component.html.erb +3 -0
- data/app/components/anchor/prose_component.rb +9 -0
- data/app/components/anchor/tab_bar/tab_component.html.erb +11 -0
- data/app/components/anchor/tab_bar/tab_component.rb +12 -0
- data/app/components/anchor/tab_bar_component.html.erb +10 -0
- data/app/components/anchor/tab_bar_component.rb +17 -0
- data/app/components/anchor/text_component.html.erb +8 -0
- data/app/components/anchor/text_component.rb +43 -0
- data/app/components/anchor/toast_component.html.erb +28 -0
- data/app/components/anchor/toast_component.rb +32 -0
- data/app/components/anchor/toast_controller.ts +21 -0
- data/app/helpers/anchor/fetch_or_fallback_helper.rb +20 -0
- data/app/helpers/anchor/view_helper.rb +35 -0
- data/lib/anchor/view_components/engine.rb +23 -0
- data/lib/anchor/view_components/version.rb +5 -0
- data/lib/anchor/view_components.rb +8 -0
- data/previews/anchor/action_menu_component_preview.rb +22 -0
- data/previews/anchor/badge_component_preview.rb +40 -0
- data/previews/anchor/banner_component_preview.rb +41 -0
- data/previews/anchor/banner_preview/with_banner.html.erb +11 -0
- data/previews/anchor/breadcrumbs_component_preview.rb +15 -0
- data/previews/anchor/button_component_preview.rb +81 -0
- data/previews/anchor/dialog_component_preview.rb +19 -0
- data/previews/anchor/dialog_preview/with_footer.html.erb +16 -0
- data/previews/anchor/icon_component_preview.rb +7 -0
- data/previews/anchor/loading_indicator_component_preview.rb +26 -0
- data/previews/anchor/panel_component_preview.rb +48 -0
- data/previews/anchor/tab_bar_component_preview.rb +15 -0
- data/previews/anchor/table_preview/default.html.erb +35 -0
- data/previews/anchor/text_component_preview.rb +76 -0
- data/previews/anchor/toast_component_preview.rb +34 -0
- metadata +156 -0
@@ -0,0 +1,11 @@
|
|
1
|
+
<%= render Anchor::PanelComponent.new(active: true) do |panel| %>
|
2
|
+
<% panel.with_header.with_content("Test Results") %>
|
3
|
+
|
4
|
+
<% panel.with_body do %>
|
5
|
+
<%= render Anchor::BannerComponent.new(variant: :critical) do %>
|
6
|
+
<%= tag.p "Additional testing is required.", class: "text-critical font-semibold" %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= tag.p "Panel body", class: "mt-3" %>
|
10
|
+
<% end %>
|
11
|
+
<% end %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Anchor
|
2
|
+
class BreadcrumbsComponentPreview < ViewComponent::Preview
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
# @param label text "A brief description of the purpose of the navigation, omitting the term ‘navigation’, as the screen reader will read both the role and the contents of the label. Defaults to ‘Breadcrumb’."
|
5
|
+
# @param number_of_breadcrumbs number
|
6
|
+
# rubocop:enable Layout/LineLength
|
7
|
+
def playground(label: "Accessible label", number_of_breadcrumbs: 3)
|
8
|
+
render(Anchor::BreadcrumbsComponent.new(label:)) do |c|
|
9
|
+
Array.new(number_of_breadcrumbs || 3) do |i|
|
10
|
+
c.with_item(href: "#").with_content("Breadcrumb #{i + 1}")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
module Anchor
|
2
|
+
class ButtonComponentPreview < ViewComponent::Preview
|
3
|
+
# @param content text
|
4
|
+
# @param tag select {{ Anchor::ButtonComponent::TAG_OPTIONS }}
|
5
|
+
# @param type select {{ Anchor::ButtonComponent::TYPE_OPTIONS }}
|
6
|
+
# @param size [Symbol] select {{ Anchor::ButtonComponent::SIZE_OPTIONS }}
|
7
|
+
# @param variant select {{ Anchor::ButtonComponent::VARIANT_OPTIONS }}
|
8
|
+
def playground(
|
9
|
+
content: "Button",
|
10
|
+
tag: Anchor::ButtonComponent::TAG_DEFAULT,
|
11
|
+
type: Anchor::ButtonComponent::TYPE_DEFAULT,
|
12
|
+
size: Anchor::ButtonComponent::SIZE_DEFAULT,
|
13
|
+
variant: Anchor::ButtonComponent::VARIANT_DEFAULT
|
14
|
+
)
|
15
|
+
render(Anchor::ButtonComponent.new(
|
16
|
+
tag:,
|
17
|
+
type:,
|
18
|
+
size:,
|
19
|
+
variant:
|
20
|
+
).with_content(content))
|
21
|
+
end
|
22
|
+
|
23
|
+
# @!group Sizes
|
24
|
+
|
25
|
+
def default
|
26
|
+
render(Anchor::ButtonComponent.new.with_content("Button"))
|
27
|
+
end
|
28
|
+
|
29
|
+
def small
|
30
|
+
render(Anchor::ButtonComponent.new(size: :small).with_content("Button"))
|
31
|
+
end
|
32
|
+
|
33
|
+
# @!endgroup
|
34
|
+
|
35
|
+
# @!group Variants
|
36
|
+
|
37
|
+
def basic
|
38
|
+
render(Anchor::ButtonComponent.new.with_content("Button"))
|
39
|
+
end
|
40
|
+
|
41
|
+
def primary
|
42
|
+
render(Anchor::ButtonComponent.new(variant: :primary)
|
43
|
+
.with_content("Button"))
|
44
|
+
end
|
45
|
+
|
46
|
+
def critical
|
47
|
+
render(Anchor::ButtonComponent.new(variant: :critical)
|
48
|
+
.with_content("Button"))
|
49
|
+
end
|
50
|
+
|
51
|
+
def text
|
52
|
+
render(Anchor::ButtonComponent.new(variant: :text)
|
53
|
+
.with_content("Button"))
|
54
|
+
end
|
55
|
+
|
56
|
+
# @!endgroup
|
57
|
+
|
58
|
+
# @!group With Icons
|
59
|
+
|
60
|
+
def starting_icon
|
61
|
+
render(Anchor::ButtonComponent.new) do |c|
|
62
|
+
c.with_starting_icon(icon: "nav-arrow-left")
|
63
|
+
"Button"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def ending_icon
|
68
|
+
render(Anchor::ButtonComponent.new) do |c|
|
69
|
+
c.with_ending_icon(icon: "nav-arrow-right")
|
70
|
+
"Button"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
# @!endgroup
|
75
|
+
|
76
|
+
def link
|
77
|
+
render(Anchor::ButtonComponent.new(tag: :a, href: "#")
|
78
|
+
.with_content("Button"))
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Anchor
|
2
|
+
class DialogComponentPreview < ViewComponent::Preview
|
3
|
+
# @param title text
|
4
|
+
# @param body_text textarea
|
5
|
+
def playground(
|
6
|
+
body_text: "Content",
|
7
|
+
title: "Dialog Title"
|
8
|
+
)
|
9
|
+
render Anchor::DialogComponent.new(title:) do |c|
|
10
|
+
c.with_show_button.with_content("Show Dialog")
|
11
|
+
c.with_body.with_content(body_text)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def with_footer
|
16
|
+
render_with_template(template: "anchor_ui/dialog_preview/with_footer")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%= render Anchor::DialogComponent.new(
|
2
|
+
title: "Dialog Title",
|
3
|
+
) do |dialog| %>
|
4
|
+
<% dialog.with_show_button.with_content("Show Dialog") %>
|
5
|
+
|
6
|
+
<% dialog.with_body do %>
|
7
|
+
<%= tag.p "Content" %>
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
<% dialog.with_footer do %>
|
11
|
+
<%= render Anchor::ButtonComponent.new(
|
12
|
+
data: { action: "dialog#close" }
|
13
|
+
).with_content("Cancel") %>
|
14
|
+
<%= render Anchor::ButtonComponent.new(variant: :primary).with_content("Save") %>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Anchor
|
2
|
+
class LoadingIndicatorComponentPreview < ViewComponent::Preview
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
# @param variant [Symbol] select {{ Anchor::LoadingIndicatorComponent::VARIANT_OPTIONS }}
|
5
|
+
# rubocop:enable Layout/LineLength
|
6
|
+
def playground(
|
7
|
+
variant: Anchor::LoadingIndicatorComponent::VARIANT_DEFAULT
|
8
|
+
)
|
9
|
+
render Anchor::LoadingIndicatorComponent.new(variant:)
|
10
|
+
end
|
11
|
+
|
12
|
+
# @!group Variants
|
13
|
+
def sm
|
14
|
+
render Anchor::LoadingIndicatorComponent.new(variant: :sm)
|
15
|
+
end
|
16
|
+
|
17
|
+
def md
|
18
|
+
render Anchor::LoadingIndicatorComponent.new(variant: :md)
|
19
|
+
end
|
20
|
+
|
21
|
+
def lg
|
22
|
+
render Anchor::LoadingIndicatorComponent.new(variant: :lg)
|
23
|
+
end
|
24
|
+
# @!endgroup
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Anchor
|
2
|
+
class PanelComponentPreview < ViewComponent::Preview
|
3
|
+
def inactive
|
4
|
+
render Anchor::PanelComponent.new(active: false) do |component|
|
5
|
+
component.with_header.with_content("My Panel")
|
6
|
+
component.with_body.with_content("I'm hidden")
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def active
|
11
|
+
render Anchor::PanelComponent.new(active: true) do |component|
|
12
|
+
component.with_header.with_content("My Panel")
|
13
|
+
component.with_body do
|
14
|
+
"The panel contents are displayed when it is active."
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def with_footer
|
20
|
+
render Anchor::PanelComponent.new(active: true) do |component|
|
21
|
+
component.with_header.with_content("My Panel")
|
22
|
+
component.with_body.with_content("Panel with footer")
|
23
|
+
component
|
24
|
+
.with_footer
|
25
|
+
.with_primary_action(form: "example", label: "Save")
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def with_footer_with_supporting_text
|
30
|
+
render Anchor::PanelComponent.new(active: true) do |component|
|
31
|
+
component.with_header.with_content("My Panel")
|
32
|
+
|
33
|
+
component
|
34
|
+
.with_body
|
35
|
+
.with_content("Panel with footer and supporting text")
|
36
|
+
|
37
|
+
component.with_footer do |footer|
|
38
|
+
footer.with_supporting_text.with_content("1 of 2")
|
39
|
+
footer.with_primary_action(form: "example", label: "Save")
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def with_banner
|
45
|
+
render_with_template(template: "anchor_ui/banner_preview/with_banner")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Anchor
|
2
|
+
class TabBarComponentPreview < ViewComponent::Preview
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
# @param label text "A brief description of the purpose of the navigation, omitting the term ‘navigation’, as the screen reader will read both the role and the contents of the label."
|
5
|
+
# @param number_of_tabs number
|
6
|
+
# rubocop:enable Layout/LineLength
|
7
|
+
def playground(label: "Accessible label", number_of_tabs: 3)
|
8
|
+
render(Anchor::TabBarComponent.new(label:)) do |c|
|
9
|
+
Array.new(number_of_tabs || 3) do |i|
|
10
|
+
c.with_tab(href: "#", active: i.zero?).with_content("Label")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<%= render Anchor::TableComponent.new(data:) do |table| %>
|
2
|
+
<% table.with_column(header: "Donor ID", data_key: :id) do %>
|
3
|
+
<%#= row[:id] %>
|
4
|
+
<%# foo %>
|
5
|
+
<% end %>
|
6
|
+
|
7
|
+
<%# table.with_column("Price", numeric: true) do |row| %>
|
8
|
+
<%#= row[:price] %>
|
9
|
+
<%# end %>
|
10
|
+
|
11
|
+
<% table.with_column(header: "Donor Name") do %>
|
12
|
+
:donor_name
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<% table.with_column(header: "Donor Phone Number") do %>
|
16
|
+
:donor_phone_number
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<% table.with_column(header: "Actions") do %>
|
20
|
+
<%= render Anchor::ActionMenuComponent.new do |menu| %>
|
21
|
+
<% menu.with_show_button do |button| %>
|
22
|
+
<% button.with_ending_icon(icon: "nav-arrow-down") %>
|
23
|
+
Actions
|
24
|
+
<% end %>
|
25
|
+
|
26
|
+
<% menu.with_item do %>
|
27
|
+
<%= link_to("Edit", "#") %>
|
28
|
+
<% end %>
|
29
|
+
|
30
|
+
<% menu.with_item do %>
|
31
|
+
<%= link_to("Delete", "#") %>
|
32
|
+
<% end %>
|
33
|
+
<% end %>
|
34
|
+
<% end %>
|
35
|
+
<% end %>
|
@@ -0,0 +1,76 @@
|
|
1
|
+
module Anchor
|
2
|
+
class TextComponentPreview < ViewComponent::Preview
|
3
|
+
TEXT = "The quick brown fox jumps over the lazy dog.".freeze
|
4
|
+
|
5
|
+
# rubocop:disable Layout/LineLength
|
6
|
+
# @param content text
|
7
|
+
# @param tag text
|
8
|
+
# @param variant [Symbol] select {{ Anchor::TextComponent::VARIANT_OPTIONS }}
|
9
|
+
# rubocop:enable Layout/LineLength
|
10
|
+
def playground(
|
11
|
+
content: TEXT,
|
12
|
+
tag: Anchor::TextComponent::TAG_DEFAULT,
|
13
|
+
variant: Anchor::TextComponent::VARIANT_DEFAULT
|
14
|
+
)
|
15
|
+
render Anchor::TextComponent.new(variant:, tag:)
|
16
|
+
.with_content(content)
|
17
|
+
end
|
18
|
+
|
19
|
+
# @!group Variants
|
20
|
+
def body_sm
|
21
|
+
render Anchor::TextComponent.new(variant: :body_sm, tag: :div)
|
22
|
+
.with_content(TEXT)
|
23
|
+
end
|
24
|
+
|
25
|
+
def body_base
|
26
|
+
render Anchor::TextComponent.new(variant: :body_base, tag: :div)
|
27
|
+
.with_content(TEXT)
|
28
|
+
end
|
29
|
+
|
30
|
+
def body_lg
|
31
|
+
render Anchor::TextComponent.new(variant: :body_lg, tag: :div)
|
32
|
+
.with_content(TEXT)
|
33
|
+
end
|
34
|
+
|
35
|
+
def subheading_sm
|
36
|
+
render Anchor::TextComponent.new(variant: :subheading_sm)
|
37
|
+
.with_content(TEXT)
|
38
|
+
end
|
39
|
+
|
40
|
+
def subheading_xs
|
41
|
+
render Anchor::TextComponent.new(variant: :subheading_xs)
|
42
|
+
.with_content(TEXT)
|
43
|
+
end
|
44
|
+
|
45
|
+
def heading_base
|
46
|
+
render Anchor::TextComponent.new(variant: :heading_base, tag: :h3)
|
47
|
+
.with_content(TEXT)
|
48
|
+
end
|
49
|
+
|
50
|
+
def heading_lg
|
51
|
+
render Anchor::TextComponent.new(variant: :heading_lg, tag: :h3)
|
52
|
+
.with_content(TEXT)
|
53
|
+
end
|
54
|
+
|
55
|
+
def heading_xl
|
56
|
+
render Anchor::TextComponent.new(variant: :heading_xl, tag: :h3)
|
57
|
+
.with_content(TEXT)
|
58
|
+
end
|
59
|
+
|
60
|
+
def heading_2xl
|
61
|
+
render Anchor::TextComponent.new(variant: :heading_2xl, tag: :h3)
|
62
|
+
.with_content(TEXT)
|
63
|
+
end
|
64
|
+
|
65
|
+
def heading_3xl
|
66
|
+
render Anchor::TextComponent.new(variant: :heading_3xl, tag: :h3)
|
67
|
+
.with_content(TEXT)
|
68
|
+
end
|
69
|
+
|
70
|
+
def heading_4xl
|
71
|
+
render Anchor::TextComponent.new(variant: :heading_4xl, tag: :h3)
|
72
|
+
.with_content(TEXT)
|
73
|
+
end
|
74
|
+
# @!endgroup
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Anchor
|
2
|
+
class ToastComponentPreview < ViewComponent::Preview
|
3
|
+
def variant_notice
|
4
|
+
render(Anchor::ToastComponent.new(variant: :notice).with_content(
|
5
|
+
"Questionnaire created"
|
6
|
+
))
|
7
|
+
end
|
8
|
+
|
9
|
+
def variant_success
|
10
|
+
render(Anchor::ToastComponent.new(variant: :success).with_content(
|
11
|
+
"Questionnaire created"
|
12
|
+
))
|
13
|
+
end
|
14
|
+
|
15
|
+
def variant_error
|
16
|
+
render(Anchor::ToastComponent.new(variant: :error).with_content(
|
17
|
+
"Questionnaire deleted"
|
18
|
+
))
|
19
|
+
end
|
20
|
+
|
21
|
+
def variant_alert
|
22
|
+
render(Anchor::ToastComponent.new(variant: :alert).with_content(
|
23
|
+
"Questionnaire created"
|
24
|
+
))
|
25
|
+
end
|
26
|
+
|
27
|
+
def with_icon
|
28
|
+
render(Anchor::ToastComponent.new) do |component|
|
29
|
+
component.with_icon(icon: "actions-check-circle-base")
|
30
|
+
"Confirmed"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
metadata
ADDED
@@ -0,0 +1,156 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: anchor_view_components
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Buoy Software
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-07-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: inline_svg
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: view_component
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description:
|
56
|
+
email:
|
57
|
+
executables: []
|
58
|
+
extensions: []
|
59
|
+
extra_rdoc_files: []
|
60
|
+
files:
|
61
|
+
- CHANGELOG.md
|
62
|
+
- LICENSE.txt
|
63
|
+
- README.md
|
64
|
+
- app/assets/builds/anchor-view-components.css
|
65
|
+
- app/assets/stylesheets/anchor-view-components.tailwind.css
|
66
|
+
- app/assets/stylesheets/components/button.css
|
67
|
+
- app/assets/stylesheets/components/toast.css
|
68
|
+
- app/components/anchor/action_menu_component.html.erb
|
69
|
+
- app/components/anchor/action_menu_component.rb
|
70
|
+
- app/components/anchor/action_menu_controller.ts
|
71
|
+
- app/components/anchor/anchor_view_components.ts
|
72
|
+
- app/components/anchor/autocomplete_component.en.yml
|
73
|
+
- app/components/anchor/autocomplete_component.html.erb
|
74
|
+
- app/components/anchor/autocomplete_component.rb
|
75
|
+
- app/components/anchor/autocomplete_controller.ts
|
76
|
+
- app/components/anchor/badge_component.html.erb
|
77
|
+
- app/components/anchor/badge_component.rb
|
78
|
+
- app/components/anchor/banner_component.html.erb
|
79
|
+
- app/components/anchor/banner_component.rb
|
80
|
+
- app/components/anchor/breadcrumbs/item_component.html.erb
|
81
|
+
- app/components/anchor/breadcrumbs/item_component.rb
|
82
|
+
- app/components/anchor/breadcrumbs_component.html.erb
|
83
|
+
- app/components/anchor/breadcrumbs_component.rb
|
84
|
+
- app/components/anchor/button_component.html.erb
|
85
|
+
- app/components/anchor/button_component.rb
|
86
|
+
- app/components/anchor/component.rb
|
87
|
+
- app/components/anchor/dialog_component.html.erb
|
88
|
+
- app/components/anchor/dialog_component.rb
|
89
|
+
- app/components/anchor/dialog_controller.ts
|
90
|
+
- app/components/anchor/icon_component.html.erb
|
91
|
+
- app/components/anchor/icon_component.rb
|
92
|
+
- app/components/anchor/loading_indicator_component.html.erb
|
93
|
+
- app/components/anchor/loading_indicator_component.rb
|
94
|
+
- app/components/anchor/panel/body_component.html.erb
|
95
|
+
- app/components/anchor/panel/body_component.rb
|
96
|
+
- app/components/anchor/panel/footer_component.html.erb
|
97
|
+
- app/components/anchor/panel/footer_component.rb
|
98
|
+
- app/components/anchor/panel/header_component.html.erb
|
99
|
+
- app/components/anchor/panel/header_component.rb
|
100
|
+
- app/components/anchor/panel_component.html.erb
|
101
|
+
- app/components/anchor/panel_component.rb
|
102
|
+
- app/components/anchor/prose_component.html.erb
|
103
|
+
- app/components/anchor/prose_component.rb
|
104
|
+
- app/components/anchor/tab_bar/tab_component.html.erb
|
105
|
+
- app/components/anchor/tab_bar/tab_component.rb
|
106
|
+
- app/components/anchor/tab_bar_component.html.erb
|
107
|
+
- app/components/anchor/tab_bar_component.rb
|
108
|
+
- app/components/anchor/text_component.html.erb
|
109
|
+
- app/components/anchor/text_component.rb
|
110
|
+
- app/components/anchor/toast_component.html.erb
|
111
|
+
- app/components/anchor/toast_component.rb
|
112
|
+
- app/components/anchor/toast_controller.ts
|
113
|
+
- app/helpers/anchor/fetch_or_fallback_helper.rb
|
114
|
+
- app/helpers/anchor/view_helper.rb
|
115
|
+
- lib/anchor/view_components.rb
|
116
|
+
- lib/anchor/view_components/engine.rb
|
117
|
+
- lib/anchor/view_components/version.rb
|
118
|
+
- previews/anchor/action_menu_component_preview.rb
|
119
|
+
- previews/anchor/badge_component_preview.rb
|
120
|
+
- previews/anchor/banner_component_preview.rb
|
121
|
+
- previews/anchor/banner_preview/with_banner.html.erb
|
122
|
+
- previews/anchor/breadcrumbs_component_preview.rb
|
123
|
+
- previews/anchor/button_component_preview.rb
|
124
|
+
- previews/anchor/dialog_component_preview.rb
|
125
|
+
- previews/anchor/dialog_preview/with_footer.html.erb
|
126
|
+
- previews/anchor/icon_component_preview.rb
|
127
|
+
- previews/anchor/loading_indicator_component_preview.rb
|
128
|
+
- previews/anchor/panel_component_preview.rb
|
129
|
+
- previews/anchor/tab_bar_component_preview.rb
|
130
|
+
- previews/anchor/table_preview/default.html.erb
|
131
|
+
- previews/anchor/text_component_preview.rb
|
132
|
+
- previews/anchor/toast_component_preview.rb
|
133
|
+
homepage: https://github.com/BuoySoftware/anchor_view_components
|
134
|
+
licenses:
|
135
|
+
- MIT
|
136
|
+
metadata: {}
|
137
|
+
post_install_message:
|
138
|
+
rdoc_options: []
|
139
|
+
require_paths:
|
140
|
+
- lib
|
141
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 3.0.6
|
146
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
requirements: []
|
152
|
+
rubygems_version: 3.4.17
|
153
|
+
signing_key:
|
154
|
+
specification_version: 4
|
155
|
+
summary: ViewComponents for Buoy’s design system, Anchor
|
156
|
+
test_files: []
|