katalyst-kpop 3.0.0 → 3.0.1
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/components/kpop/frame_component.rb +1 -1
- data/app/components/kpop/modal/footer_component.rb +1 -1
- data/app/components/kpop/modal/header_component.rb +1 -1
- data/app/components/kpop/modal/title_component.rb +1 -1
- data/app/components/kpop/modal_component.rb +1 -1
- data/lib/katalyst/kpop.rb +1 -2
- metadata +3 -5
- data/app/components/concerns/kpop/has_html_attributes.rb +0 -78
- data/lib/katalyst/kpop/version.rb +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 56bf54429bfb238e72687e0672f8ec6b677c092d1940a593100c3f1afe3676dd
|
|
4
|
+
data.tar.gz: b64fbdc1cd8e6b5798db53ff13808022dbae2cfa0cd8a682d199efb895934638
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bd797cb4d09e3f8539962e2acd3b4bbb928d9613f3b43b16ef0f457b2318ba345fe087e5af562898025bf744d6a5bd10698ffcf57debca463cbf05702bede267
|
|
7
|
+
data.tar.gz: 3a6a920b59893419b34ba6bdeff80fc0e976dbb5f91c5bcd3f7f601d31e09b1e04b732cccbe4c41199aed4f0cb439101a530b0ff86c881e3dbfcb96f6bcb04a1
|
data/lib/katalyst/kpop.rb
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "
|
|
3
|
+
require "katalyst/html_attributes"
|
|
4
4
|
require "view_component"
|
|
5
5
|
|
|
6
6
|
require "katalyst/kpop/engine"
|
|
7
7
|
require "katalyst/kpop/turbo"
|
|
8
|
-
require "katalyst/kpop/version"
|
|
9
8
|
|
|
10
9
|
module Katalyst
|
|
11
10
|
module Kpop
|
metadata
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: katalyst-kpop
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.0.
|
|
4
|
+
version: 3.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Katalyst Interactive
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-12-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: html-attributes
|
|
14
|
+
name: katalyst-html-attributes
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
@@ -72,7 +72,6 @@ files:
|
|
|
72
72
|
- app/assets/stylesheets/katalyst/kpop/_scrim.scss
|
|
73
73
|
- app/assets/stylesheets/katalyst/kpop/_side_panel.scss
|
|
74
74
|
- app/assets/stylesheets/katalyst/kpop/_variables.scss
|
|
75
|
-
- app/components/concerns/kpop/has_html_attributes.rb
|
|
76
75
|
- app/components/kpop/frame_component.html.erb
|
|
77
76
|
- app/components/kpop/frame_component.rb
|
|
78
77
|
- app/components/kpop/modal/footer_component.rb
|
|
@@ -112,7 +111,6 @@ files:
|
|
|
112
111
|
- lib/katalyst/kpop/matchers/title_finder.rb
|
|
113
112
|
- lib/katalyst/kpop/matchers/title_matcher.rb
|
|
114
113
|
- lib/katalyst/kpop/turbo.rb
|
|
115
|
-
- lib/katalyst/kpop/version.rb
|
|
116
114
|
homepage: https://github.com/katalyst/kpop
|
|
117
115
|
licenses:
|
|
118
116
|
- MIT
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "html_attributes_utils"
|
|
4
|
-
|
|
5
|
-
module Kpop
|
|
6
|
-
# Adds HTML attributes to a component.
|
|
7
|
-
# Accepts HTML attributes from the constructor or via `html_attributes=`.
|
|
8
|
-
# These are merged with the default attributes defined in the component.
|
|
9
|
-
# Adds support for custom html attributes for other tags, e.g.:
|
|
10
|
-
# define_html_attribute_methods :table_attributes, default: {}
|
|
11
|
-
# tag.table(**table_attributes)
|
|
12
|
-
module HasHtmlAttributes
|
|
13
|
-
extend ActiveSupport::Concern
|
|
14
|
-
|
|
15
|
-
using HTMLAttributesUtils
|
|
16
|
-
|
|
17
|
-
MERGEABLE_ATTRIBUTES = [
|
|
18
|
-
*HTMLAttributesUtils::DEFAULT_MERGEABLE_ATTRIBUTES,
|
|
19
|
-
%i[data controller],
|
|
20
|
-
%i[data action],
|
|
21
|
-
].freeze
|
|
22
|
-
|
|
23
|
-
FLATTENABLE_ATTRIBUTES = [
|
|
24
|
-
%i[data controller],
|
|
25
|
-
%i[data action],
|
|
26
|
-
].freeze
|
|
27
|
-
|
|
28
|
-
refine NilClass do
|
|
29
|
-
def flatten_html(*)
|
|
30
|
-
self
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
refine Hash do
|
|
35
|
-
def merge_html(attributes)
|
|
36
|
-
result = deep_merge_html_attributes(attributes, mergeable_attributes: MERGEABLE_ATTRIBUTES)
|
|
37
|
-
FLATTENABLE_ATTRIBUTES.each_with_object(result) do |path, flattened|
|
|
38
|
-
flattened.flatten_html(*path)
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def flatten_html(key, *path)
|
|
43
|
-
if path.empty?
|
|
44
|
-
self[key] = self[key].join(" ") if self[key].is_a?(Array)
|
|
45
|
-
else
|
|
46
|
-
self[key].flatten_html(*path)
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
class_methods do
|
|
52
|
-
using HasHtmlAttributes
|
|
53
|
-
|
|
54
|
-
def define_html_attribute_methods(name, default: {})
|
|
55
|
-
define_method("default_#{name}") { default }
|
|
56
|
-
private("default_#{name}")
|
|
57
|
-
|
|
58
|
-
define_method(name) do
|
|
59
|
-
send("default_#{name}").merge_html(instance_variable_get("@#{name}") || {})
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
define_method("#{name}=") do |options|
|
|
63
|
-
instance_variable_set("@#{name}", options.slice(:id, :aria, :class, :data).merge(options.fetch(:html, {})))
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
included do
|
|
69
|
-
define_html_attribute_methods :html_attributes, default: {}
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def initialize(**options)
|
|
73
|
-
super(**options.except(:id, :aria, :class, :data, :html))
|
|
74
|
-
|
|
75
|
-
self.html_attributes = options
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
end
|