atomic_view 0.0.1 → 0.0.3
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/README.md +32 -5
- data/lib/atomic_view/component.rb +21 -0
- data/lib/atomic_view/components/button_component.rb +26 -0
- data/lib/atomic_view/components/check_box_component.rb +9 -0
- data/lib/atomic_view/components/collection_check_boxes_component.rb +6 -0
- data/lib/atomic_view/components/collection_radio_buttons_component.rb +6 -0
- data/lib/atomic_view/components/collection_select_component.rb +14 -0
- data/lib/atomic_view/components/color_field_component.rb +6 -0
- data/lib/atomic_view/components/date_field_component.rb +17 -0
- data/lib/atomic_view/components/date_select_component.rb +6 -0
- data/lib/atomic_view/components/datetime_local_field_component.rb +6 -0
- data/lib/atomic_view/components/datetime_select_component.rb +6 -0
- data/lib/atomic_view/components/email_field_component.rb +15 -0
- data/lib/atomic_view/components/field_component.erb +25 -0
- data/lib/atomic_view/components/field_component.rb +65 -0
- data/lib/atomic_view/components/grouped_collection_select_component.rb +6 -0
- data/lib/atomic_view/components/label_component.rb +9 -0
- data/lib/atomic_view/components/month_field_component.rb +6 -0
- data/lib/atomic_view/components/number_field_component.rb +15 -0
- data/lib/atomic_view/components/password_field_component.rb +15 -0
- data/lib/atomic_view/components/radio_button_component.rb +6 -0
- data/lib/atomic_view/components/range_field_component.rb +6 -0
- data/lib/atomic_view/components/search_field_component.rb +15 -0
- data/lib/atomic_view/components/select_component.rb +17 -0
- data/lib/atomic_view/components/submit_component.rb +9 -0
- data/lib/atomic_view/components/telephone_field_component.rb +15 -0
- data/lib/atomic_view/components/text_area_component.rb +6 -0
- data/lib/atomic_view/components/text_field_component.rb +14 -0
- data/lib/atomic_view/components/time_select_component.rb +6 -0
- data/lib/atomic_view/components/time_zone_select_component.rb +6 -0
- data/lib/atomic_view/components/url_field_component.rb +15 -0
- data/lib/atomic_view/components/week_field_component.rb +6 -0
- data/lib/atomic_view/components/weekday_select_component.rb +6 -0
- data/lib/atomic_view/form_builder.rb +7 -0
- data/lib/atomic_view/railtie.rb +6 -0
- data/lib/atomic_view/version.rb +1 -1
- data/lib/atomic_view.rb +23 -2
- metadata +114 -23
- data/.rspec +0 -3
- data/.rubocop.yml +0 -13
- data/Gemfile +0 -9
- data/Gemfile.lock +0 -67
- data/Rakefile +0 -12
- data/atomic_view.gemspec +0 -35
- data/changelogs/codelog.yml +0 -16
- data/changelogs/header.txt +0 -3
- data/changelogs/releases/.gitkeep +0 -0
- data/changelogs/releases/0.0.1.md +0 -5
- data/changelogs/template.yml +0 -20
- data/changelogs/unreleased/.gitkeep +0 -0
- data/sig/atomic_view.rbs +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d0e83bc2d812d1f662860a4eccc80a1b0c6566d3cd7cdc7d23d03d60a1425c1e
|
4
|
+
data.tar.gz: bbe5303fef21b6ab301b813995bed4f340260cfe4880d20cc38df4082564e734
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 721dc4dd8b9fd0f96e3f6ab4c45e35a51cb5066552423fb532ac25278bf6a363664464f4a93a54c5194c770563b74731aeb17af587fbf0eca57accf5dd2d055f
|
7
|
+
data.tar.gz: aaac9f8deaee0ad1088d6073f9851d96408434886275f34e294894f5020f2d971d0440ea6cdd724762d0b1366399f8ca757358c5d508f5a0993474b1c185b725
|
data/README.md
CHANGED
@@ -4,15 +4,42 @@ Component library built for [Ruby on Rails](https://rubyonrails.org/) with first
|
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
-
|
7
|
+
Install AtomicView from [RubyGems](https://rubygems.org/) by adding it to your `Gemfile`, and then bundling.
|
8
8
|
|
9
|
-
|
9
|
+
```ruby
|
10
|
+
# Gemfile
|
11
|
+
gem "atomic_view"
|
12
|
+
```
|
10
13
|
|
11
|
-
|
14
|
+
```shell
|
15
|
+
bundle install
|
16
|
+
```
|
12
17
|
|
13
|
-
|
18
|
+
In your `tailwind.config.js`, add:
|
14
19
|
|
15
|
-
|
20
|
+
```js
|
21
|
+
const execSync = require("child_process").execSync;
|
22
|
+
const atomicViewPath =
|
23
|
+
execSync("bundle show atomic_view", { encoding: "utf-8" }).trim() +
|
24
|
+
"/lib/atomic_view/components/**/*.{erb,rb}";
|
25
|
+
|
26
|
+
module.exports = {
|
27
|
+
content: [
|
28
|
+
// other paths...
|
29
|
+
atomicViewPath,
|
30
|
+
],
|
31
|
+
};
|
32
|
+
```
|
33
|
+
|
34
|
+
## Getting Started
|
35
|
+
|
36
|
+
There isn't anything to get started on yet!
|
37
|
+
|
38
|
+
## Leading principles
|
39
|
+
|
40
|
+
1. Work with Ruby on Rails out of the box by supporting ActionView and it's helpers
|
41
|
+
2. Build with accessibility and responsiveness at the forefront
|
42
|
+
3. Provide really good defaults, but allow flexibility with theming and styling
|
16
43
|
|
17
44
|
## License
|
18
45
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AtomicView
|
4
|
+
class Component < ViewComponent::Base
|
5
|
+
include Heroicons::Engine.helpers
|
6
|
+
|
7
|
+
def icon(name, variant: Heroicons.configuration.variant, options: {}, path_options: {})
|
8
|
+
Heroicons::Icon.render(
|
9
|
+
name: name,
|
10
|
+
variant: variant,
|
11
|
+
options: options,
|
12
|
+
path_options: path_options
|
13
|
+
)
|
14
|
+
end
|
15
|
+
|
16
|
+
def class_names(...)
|
17
|
+
classes = super
|
18
|
+
TailwindMerge::Merger.new.merge(classes)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AtomicView
|
4
|
+
module Components
|
5
|
+
# Button
|
6
|
+
class ButtonComponent < ViewComponent::Form::ButtonComponent
|
7
|
+
attr_reader :label
|
8
|
+
|
9
|
+
def initialize(form, label_or_options = nil, options = nil)
|
10
|
+
super
|
11
|
+
|
12
|
+
if label_or_options.is_a?(String)
|
13
|
+
@label = label_or_options
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def call
|
18
|
+
if content?
|
19
|
+
content_tag(:button, @options) { content }
|
20
|
+
else
|
21
|
+
content_tag(:button, label, @options)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class CollectionSelectComponent < ViewComponent::Form::CollectionSelectComponent
|
4
|
+
def html_class
|
5
|
+
class_names(
|
6
|
+
*%W[block w-full h-9 min-w-0 flex-1 rounded-md border-0 py-1 text-sm shadow-sm ring-1],
|
7
|
+
"disabled:cursor-not-allowed disabled:bg-gray-50 disabled:text-zinc-500 disabled:ring-zinc-200",
|
8
|
+
"bg-transparent dark:bg-white/5 text-zinc-950 ring-zinc-950/10 dark:ring-white/10 placeholder:text-zinc-500 dark:text-white focus:ring-neutral-700 focus:border-zinc-950/20 dark:focus:ring-white/20",
|
9
|
+
"text-red-900 ring-red-300 placeholder:text-red-300 focus:ring-red-500" => method_errors?
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class DateFieldComponent < ViewComponent::Form::DateFieldComponent
|
4
|
+
def html_class
|
5
|
+
class_names(
|
6
|
+
class_names(
|
7
|
+
*%W[block w-full h-9 min-w-0 flex-1 rounded-md border-0 py-1 text-sm shadow-sm ring-1],
|
8
|
+
"disabled:cursor-not-allowed disabled:bg-gray-50 disabled:text-zinc-500 disabled:ring-zinc-200",
|
9
|
+
"bg-transparent dark:bg-white/5 text-zinc-950 ring-zinc-950/10 dark:ring-white/10 placeholder:text-zinc-500 dark:text-white focus:ring-neutral-700 focus:border-zinc-950/20 dark:focus:ring-white/20",
|
10
|
+
"text-red-900 ring-red-300 placeholder:text-red-300 focus:ring-red-500" => method_errors?,
|
11
|
+
),
|
12
|
+
options[:class]
|
13
|
+
)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class EmailFieldComponent < ViewComponent::Form::EmailFieldComponent
|
4
|
+
def call
|
5
|
+
render FieldComponent.new(
|
6
|
+
form,
|
7
|
+
object_name,
|
8
|
+
method_name,
|
9
|
+
options,
|
10
|
+
ActionView::Helpers::Tags::EmailField
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<%= content_tag :div, class: container_html_class do %>
|
2
|
+
<% if left_section? %>
|
3
|
+
<% if left_section_addon? %>
|
4
|
+
<span class="inline-flex items-center rounded-l-lg bg-transparent dark:bg-white/5 ring-1 ring-zinc-950/10 dark:ring-white/10 px-3 text-zinc-950 dark:text-white sm:text-sm"><%= left_section %></span>
|
5
|
+
<% elsif left_section_interaction? %>
|
6
|
+
<%= left_section %>
|
7
|
+
<% else %>
|
8
|
+
<div class="pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3">
|
9
|
+
<%= left_section %>
|
10
|
+
</div>
|
11
|
+
<% end %>
|
12
|
+
<% end %>
|
13
|
+
<%= tag_klass.new(@object_name, @method_name, @view_context, @options).render %>
|
14
|
+
<% if right_section? %>
|
15
|
+
<% if right_section_addon? %>
|
16
|
+
<span class="inline-flex items-center rounded-r-lg bg-transparent dark:bg-white/5 ring-1 ring-zinc-950/10 dark:ring-white/10 px-3 text-zinc-950 dark:text-white sm:text-sm"><%= right_section %></span>
|
17
|
+
<% elsif right_section_interaction? %>
|
18
|
+
<%= right_section %>
|
19
|
+
<% else %>
|
20
|
+
<div class="pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3">
|
21
|
+
<%= right_section %>
|
22
|
+
</div>
|
23
|
+
<% end %>
|
24
|
+
<% end %>
|
25
|
+
<% end %>
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class FieldComponent < ViewComponent::Form::FieldComponent
|
4
|
+
attr_reader :tag_klass
|
5
|
+
|
6
|
+
def initialize(form, object_name, method_name, options = {}, tag_klass = ActionView::Helpers::Tags::TextField)
|
7
|
+
super(form, object_name, method_name, options)
|
8
|
+
@tag_klass = tag_klass
|
9
|
+
end
|
10
|
+
|
11
|
+
def html_class
|
12
|
+
class_names(
|
13
|
+
*%W[block w-full appearance-none h-9 min-w-0 z-10 flex-1 rounded-lg border-0 py-1 text-base shadow-sm ring-1],
|
14
|
+
"disabled:cursor-not-allowed disabled:bg-gray-50 disabled:text-zinc-500 disabled:ring-zinc-200",
|
15
|
+
"bg-transparent dark:bg-white/5 text-zinc-950 ring-zinc-950/10 dark:ring-white/10 placeholder:text-zinc-500 dark:text-white focus:ring-neutral-700 focus:border-zinc-950/20 dark:focus:ring-white/20",
|
16
|
+
"pl-10" => left_section? && !(left_section_addon? || left_section_interaction?),
|
17
|
+
"pr-10" => right_section? && !(right_section_addon? || right_section_interaction?),
|
18
|
+
"shadow-none rounded-none rounded-r-lg" => left_section_addon? || left_section_interaction?,
|
19
|
+
"shadow-none rounded-none rounded-l-lg" => right_section_addon? || right_section_interaction?,
|
20
|
+
"text-red-900 ring-red-300 placeholder:text-red-300 focus:ring-red-500" => method_errors?
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
def container_html_class
|
25
|
+
class_names(
|
26
|
+
"relative rounded-lg shadow-sm",
|
27
|
+
{"flex" => left_section_addon? || left_section_interaction? || right_section_addon? || right_section_interaction?},
|
28
|
+
options[:container_class]
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
def left_section
|
33
|
+
options[:left_section]
|
34
|
+
end
|
35
|
+
|
36
|
+
def left_section?
|
37
|
+
left_section.present?
|
38
|
+
end
|
39
|
+
|
40
|
+
def left_section_addon?
|
41
|
+
options[:left_section_as_addon].present?
|
42
|
+
end
|
43
|
+
|
44
|
+
def left_section_interaction?
|
45
|
+
options[:left_section_as_interaction].present?
|
46
|
+
end
|
47
|
+
|
48
|
+
def right_section
|
49
|
+
options[:right_section] || method_errors? && raw(icon("exclamation-circle", variant: :mini, options: {class: "size-5 text-red-500"}))
|
50
|
+
end
|
51
|
+
|
52
|
+
def right_section?
|
53
|
+
right_section.present?
|
54
|
+
end
|
55
|
+
|
56
|
+
def right_section_addon?
|
57
|
+
options[:right_section_as_addon].present?
|
58
|
+
end
|
59
|
+
|
60
|
+
def right_section_interaction?
|
61
|
+
options[:right_section_as_interaction].present?
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class NumberFieldComponent < ViewComponent::Form::NumberFieldComponent
|
4
|
+
def call
|
5
|
+
render FieldComponent.new(
|
6
|
+
form,
|
7
|
+
object_name,
|
8
|
+
method_name,
|
9
|
+
options,
|
10
|
+
ActionView::Helpers::Tags::NumberField
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class PasswordFieldComponent < ViewComponent::Form::PasswordFieldComponent
|
4
|
+
def call
|
5
|
+
render FieldComponent.new(
|
6
|
+
form,
|
7
|
+
object_name,
|
8
|
+
method_name,
|
9
|
+
options,
|
10
|
+
ActionView::Helpers::Tags::PasswordField
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class SearchFieldComponent < ViewComponent::Form::SearchFieldComponent
|
4
|
+
def call
|
5
|
+
render FieldComponent.new(
|
6
|
+
form,
|
7
|
+
object_name,
|
8
|
+
method_name,
|
9
|
+
options,
|
10
|
+
ActionView::Helpers::Tags::SearchField
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class SelectComponent < ViewComponent::Form::SelectComponent
|
4
|
+
def html_class
|
5
|
+
class_names(
|
6
|
+
class_names(
|
7
|
+
*%W[block w-full h-9 min-w-0 flex-1 rounded-md border-0 py-1 text-sm shadow-sm ring-1],
|
8
|
+
"disabled:cursor-not-allowed disabled:bg-gray-50 disabled:text-zinc-500 disabled:ring-zinc-200",
|
9
|
+
"bg-transparent dark:bg-white/5 text-zinc-950 ring-zinc-950/10 dark:ring-white/10 placeholder:text-zinc-500 dark:text-white focus:ring-neutral-700 focus:border-zinc-950/20 dark:focus:ring-white/20",
|
10
|
+
"text-red-900 ring-red-300 placeholder:text-red-300 focus:ring-red-500" => method_errors?,
|
11
|
+
),
|
12
|
+
options[:class]
|
13
|
+
)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class SubmitComponent < ViewComponent::Form::SubmitComponent
|
4
|
+
def html_class
|
5
|
+
"cursor-pointer rounded-md bg-green-600 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-green-600/90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-green-700"
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class TelephoneFieldComponent < ViewComponent::Form::TelephoneFieldComponent
|
4
|
+
def call
|
5
|
+
render FieldComponent.new(
|
6
|
+
form,
|
7
|
+
object_name,
|
8
|
+
method_name,
|
9
|
+
options,
|
10
|
+
ActionView::Helpers::Tags::TelField
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module AtomicView
|
2
|
+
module Components
|
3
|
+
class UrlFieldComponent < ViewComponent::Form::UrlFieldComponent
|
4
|
+
def call
|
5
|
+
render FieldComponent.new(
|
6
|
+
form,
|
7
|
+
object_name,
|
8
|
+
method_name,
|
9
|
+
options,
|
10
|
+
ActionView::Helpers::Tags::UrlField
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/atomic_view/version.rb
CHANGED
data/lib/atomic_view.rb
CHANGED
@@ -1,5 +1,26 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require "rails"
|
4
|
+
require "view_component"
|
5
|
+
require "tailwind_merge"
|
6
|
+
require "heroicons"
|
7
|
+
require "view_component/form"
|
4
8
|
|
5
|
-
|
9
|
+
require "zeitwerk"
|
10
|
+
loader = Zeitwerk::Loader.for_gem
|
11
|
+
|
12
|
+
vcf_gem_dir = Gem::Specification.find_by_name("view_component-form").gem_dir
|
13
|
+
loader.push_dir File.join(vcf_gem_dir, "app", "components")
|
14
|
+
loader.push_dir File.join(vcf_gem_dir, "app", "components", "concerns")
|
15
|
+
|
16
|
+
loader.setup
|
17
|
+
|
18
|
+
# Component library built for Ruby on Rails with first-class support for ActionView using ViewComponent.
|
19
|
+
module AtomicView
|
20
|
+
end
|
21
|
+
|
22
|
+
ViewComponent::Form.configure do |config|
|
23
|
+
config.parent_component = "AtomicView::Component"
|
24
|
+
end
|
25
|
+
|
26
|
+
loader.eager_load
|
metadata
CHANGED
@@ -1,29 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: atomic_view
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Warrington
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-02-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: zeitwerk
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
type: :
|
19
|
+
version: 2.7.2
|
20
|
+
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.7.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 8.0.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 8.0.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: view_component
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.21'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.21'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: tailwindcss-rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 4.1.0
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 4.1.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: tailwind_merge
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.12'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.12'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: heroicons
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.0'
|
27
97
|
description:
|
28
98
|
email:
|
29
99
|
- joelw@hey.com
|
@@ -31,24 +101,45 @@ executables: []
|
|
31
101
|
extensions: []
|
32
102
|
extra_rdoc_files: []
|
33
103
|
files:
|
34
|
-
- ".rspec"
|
35
|
-
- ".rubocop.yml"
|
36
104
|
- CHANGELOG.md
|
37
|
-
- Gemfile
|
38
|
-
- Gemfile.lock
|
39
105
|
- LICENSE.txt
|
40
106
|
- README.md
|
41
|
-
- Rakefile
|
42
|
-
- atomic_view.gemspec
|
43
|
-
- changelogs/codelog.yml
|
44
|
-
- changelogs/header.txt
|
45
|
-
- changelogs/releases/.gitkeep
|
46
|
-
- changelogs/releases/0.0.1.md
|
47
|
-
- changelogs/template.yml
|
48
|
-
- changelogs/unreleased/.gitkeep
|
49
107
|
- lib/atomic_view.rb
|
108
|
+
- lib/atomic_view/component.rb
|
109
|
+
- lib/atomic_view/components/button_component.rb
|
110
|
+
- lib/atomic_view/components/check_box_component.rb
|
111
|
+
- lib/atomic_view/components/collection_check_boxes_component.rb
|
112
|
+
- lib/atomic_view/components/collection_radio_buttons_component.rb
|
113
|
+
- lib/atomic_view/components/collection_select_component.rb
|
114
|
+
- lib/atomic_view/components/color_field_component.rb
|
115
|
+
- lib/atomic_view/components/date_field_component.rb
|
116
|
+
- lib/atomic_view/components/date_select_component.rb
|
117
|
+
- lib/atomic_view/components/datetime_local_field_component.rb
|
118
|
+
- lib/atomic_view/components/datetime_select_component.rb
|
119
|
+
- lib/atomic_view/components/email_field_component.rb
|
120
|
+
- lib/atomic_view/components/field_component.erb
|
121
|
+
- lib/atomic_view/components/field_component.rb
|
122
|
+
- lib/atomic_view/components/grouped_collection_select_component.rb
|
123
|
+
- lib/atomic_view/components/label_component.rb
|
124
|
+
- lib/atomic_view/components/month_field_component.rb
|
125
|
+
- lib/atomic_view/components/number_field_component.rb
|
126
|
+
- lib/atomic_view/components/password_field_component.rb
|
127
|
+
- lib/atomic_view/components/radio_button_component.rb
|
128
|
+
- lib/atomic_view/components/range_field_component.rb
|
129
|
+
- lib/atomic_view/components/search_field_component.rb
|
130
|
+
- lib/atomic_view/components/select_component.rb
|
131
|
+
- lib/atomic_view/components/submit_component.rb
|
132
|
+
- lib/atomic_view/components/telephone_field_component.rb
|
133
|
+
- lib/atomic_view/components/text_area_component.rb
|
134
|
+
- lib/atomic_view/components/text_field_component.rb
|
135
|
+
- lib/atomic_view/components/time_select_component.rb
|
136
|
+
- lib/atomic_view/components/time_zone_select_component.rb
|
137
|
+
- lib/atomic_view/components/url_field_component.rb
|
138
|
+
- lib/atomic_view/components/week_field_component.rb
|
139
|
+
- lib/atomic_view/components/weekday_select_component.rb
|
140
|
+
- lib/atomic_view/form_builder.rb
|
141
|
+
- lib/atomic_view/railtie.rb
|
50
142
|
- lib/atomic_view/version.rb
|
51
|
-
- sig/atomic_view.rbs
|
52
143
|
homepage: https://github.com/joelzwarrington/atomic_view
|
53
144
|
licenses:
|
54
145
|
- MIT
|
@@ -73,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
164
|
- !ruby/object:Gem::Version
|
74
165
|
version: '0'
|
75
166
|
requirements: []
|
76
|
-
rubygems_version: 3.
|
167
|
+
rubygems_version: 3.5.3
|
77
168
|
signing_key:
|
78
169
|
specification_version: 4
|
79
170
|
summary: Component library built for Ruby on Rails with first-class support for ActionView
|
data/.rspec
DELETED
data/.rubocop.yml
DELETED
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
atomic_view (0.0.1)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
ast (2.4.2)
|
10
|
-
codelog (0.8.0)
|
11
|
-
thor (~> 0.19)
|
12
|
-
diff-lcs (1.5.1)
|
13
|
-
json (2.7.2)
|
14
|
-
language_server-protocol (3.17.0.3)
|
15
|
-
parallel (1.25.1)
|
16
|
-
parser (3.3.3.0)
|
17
|
-
ast (~> 2.4.1)
|
18
|
-
racc
|
19
|
-
racc (1.8.0)
|
20
|
-
rainbow (3.1.1)
|
21
|
-
rake (13.2.1)
|
22
|
-
regexp_parser (2.9.2)
|
23
|
-
rexml (3.3.1)
|
24
|
-
strscan
|
25
|
-
rspec (3.13.0)
|
26
|
-
rspec-core (~> 3.13.0)
|
27
|
-
rspec-expectations (~> 3.13.0)
|
28
|
-
rspec-mocks (~> 3.13.0)
|
29
|
-
rspec-core (3.13.0)
|
30
|
-
rspec-support (~> 3.13.0)
|
31
|
-
rspec-expectations (3.13.1)
|
32
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
33
|
-
rspec-support (~> 3.13.0)
|
34
|
-
rspec-mocks (3.13.1)
|
35
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
36
|
-
rspec-support (~> 3.13.0)
|
37
|
-
rspec-support (3.13.1)
|
38
|
-
rubocop (1.64.1)
|
39
|
-
json (~> 2.3)
|
40
|
-
language_server-protocol (>= 3.17.0)
|
41
|
-
parallel (~> 1.10)
|
42
|
-
parser (>= 3.3.0.2)
|
43
|
-
rainbow (>= 2.2.2, < 4.0)
|
44
|
-
regexp_parser (>= 1.8, < 3.0)
|
45
|
-
rexml (>= 3.2.5, < 4.0)
|
46
|
-
rubocop-ast (>= 1.31.1, < 2.0)
|
47
|
-
ruby-progressbar (~> 1.7)
|
48
|
-
unicode-display_width (>= 2.4.0, < 3.0)
|
49
|
-
rubocop-ast (1.31.3)
|
50
|
-
parser (>= 3.3.1.0)
|
51
|
-
ruby-progressbar (1.13.0)
|
52
|
-
strscan (3.1.0)
|
53
|
-
thor (0.20.3)
|
54
|
-
unicode-display_width (2.5.0)
|
55
|
-
|
56
|
-
PLATFORMS
|
57
|
-
arm64-darwin-21
|
58
|
-
|
59
|
-
DEPENDENCIES
|
60
|
-
atomic_view!
|
61
|
-
codelog
|
62
|
-
rake (~> 13.0)
|
63
|
-
rspec (~> 3.0)
|
64
|
-
rubocop (~> 1.21)
|
65
|
-
|
66
|
-
BUNDLED WITH
|
67
|
-
2.4.12
|
data/Rakefile
DELETED
data/atomic_view.gemspec
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "lib/atomic_view/version"
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = "atomic_view"
|
7
|
-
spec.version = AtomicView::VERSION
|
8
|
-
spec.authors = ["Joel Warrington"]
|
9
|
-
spec.email = ["joelw@hey.com"]
|
10
|
-
|
11
|
-
spec.summary = "Component library built for Ruby on Rails with first-class support for ActionView using ViewComponent."
|
12
|
-
spec.homepage = "https://github.com/joelzwarrington/atomic_view"
|
13
|
-
spec.license = "MIT"
|
14
|
-
spec.required_ruby_version = ">= 2.6.0"
|
15
|
-
|
16
|
-
spec.metadata = {
|
17
|
-
"homepage_uri" => "https://github.com/joelzwarrington/atomic_view",
|
18
|
-
"changelog_uri" => "https://github.com/joelzwarrington/atomic_view/blob/master/CHANGELOG.md",
|
19
|
-
"source_code_uri" => "https://github.com/joelzwarrington/atomic_view",
|
20
|
-
"bug_tracker_uri" => "https://github.com/joelzwarrington/atomic_view/issues",
|
21
|
-
"rubygems_mfa_required" => "true",
|
22
|
-
}
|
23
|
-
|
24
|
-
spec.files = Dir.chdir(__dir__) do
|
25
|
-
`git ls-files -z`.split("\x0").reject do |f|
|
26
|
-
(File.expand_path(f) == __FILE__) || f.start_with?(*%w[bin/ test/ spec/ features/ .git .circleci appveyor])
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
spec.bindir = "exe"
|
31
|
-
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
32
|
-
spec.require_paths = ["lib"]
|
33
|
-
|
34
|
-
spec.add_development_dependency "codelog"
|
35
|
-
end
|
data/changelogs/codelog.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
# Changelog Header -------------------------------------------------
|
2
|
-
|
3
|
-
header_textfile: changelogs/header.txt
|
4
|
-
default_changelog_filename: CHANGELOG.md
|
5
|
-
|
6
|
-
# Tag formatting ---------------------------------------------------
|
7
|
-
|
8
|
-
version_prefix: ""
|
9
|
-
version_suffix: ""
|
10
|
-
date_prefix: ""
|
11
|
-
|
12
|
-
# Date formatting --------------------------------------------------
|
13
|
-
|
14
|
-
show_date: true
|
15
|
-
date_input_format: "%Y-%m-%d"
|
16
|
-
date_output_format: "%Y-%m-%d"
|
data/changelogs/header.txt
DELETED
File without changes
|
data/changelogs/template.yml
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
"Added":
|
2
|
-
- New features implemented
|
3
|
-
|
4
|
-
"Changed":
|
5
|
-
- Changes to existing feature
|
6
|
-
|
7
|
-
"Deprecated":
|
8
|
-
- Features that are soon to be removed
|
9
|
-
|
10
|
-
"Removed":
|
11
|
-
- Features that were removed
|
12
|
-
|
13
|
-
"Fixed":
|
14
|
-
- Changes to broken code
|
15
|
-
|
16
|
-
"Security":
|
17
|
-
- Changes that fix vulnerabilities
|
18
|
-
|
19
|
-
"Deploy notes":
|
20
|
-
- Changes that should impact the deploy process and what should be made before it
|
File without changes
|
data/sig/atomic_view.rbs
DELETED