phlexi-display 0.0.3 → 0.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3de078e9bdc0e066c1b4f3af7b9b8ef966faf1fec3779358b79fb969ff6ebdf8
4
- data.tar.gz: 3ac581e38926c8adaf04ce1b312741d1978d7223aa83df42c18723db7be8382b
3
+ metadata.gz: b0c24a5fa14dc380439a665f86ab750dce0dfc4533960518e2ebd62c4a4a3a38
4
+ data.tar.gz: c3a8f5f8c11819831b77a43b30b6ddebce4cdc349b0a1087407b1cb3ca9e8860
5
5
  SHA512:
6
- metadata.gz: a90ec354ee5aa5a18156b6dff6e5c4b0b5220adf2a11e94004595cba305723d8398de25d6e356e0381305378800e48b188404c0c13fd42c597ead9937760eea1
7
- data.tar.gz: 3f7a054aa04d8b3862e618370035fed1d89725fcde4ae13792122085c6301f0ea664c8c7064986ad629a7caab367617200f1677f84ef4fd473bd62393edde3d4
6
+ metadata.gz: 35e8e3cb43b9949317ed4ea0df9ff5fa98e408a3fd78f8ce16315343a91aed8748f6a987f068927f73c1c682e4f3c560d28f9876176de841987ef932f5afe0ec
7
+ data.tar.gz: 6a0016904df13b9c35e5463a0f5f5e72963c2766be0513e76b21d4bfd1c94258ced23e1a0d23487d6feb6ec1ed555556df8f01de5d73692d84d3e5a30e7f3181
@@ -15,10 +15,18 @@ module Phlexi
15
15
  #
16
16
  # @attr_reader [Symbol] key The display's key, derived from the record or explicitly set
17
17
  # @attr_reader [ActiveModel::Model, nil] object The display's associated object
18
- class Base < COMPONENT_BASE
18
+ class Base < Phlexi::Display::HTML
19
19
  class Namespace < Phlexi::Field::Structure::Namespace; end
20
20
 
21
- class Builder < Builder; end
21
+ class Builder < Phlexi::Display::Builder; end
22
+
23
+ def self.inline(*, **, &block)
24
+ raise ArgumentError, "block is required" unless block
25
+
26
+ new(*, **) do |f|
27
+ f.instance_exec(&block)
28
+ end
29
+ end
22
30
 
23
31
  attr_reader :key, :object
24
32
 
@@ -33,7 +41,6 @@ module Phlexi
33
41
  # @option options [Class] :namespace_klass Custom namespace class
34
42
  # @option options [Class] :builder_klass Custom field builder class
35
43
  def initialize(record, attributes: {}, **options)
36
- @display_class = options.delete(:class)
37
44
  @attributes = attributes
38
45
  @namespace_klass = options.delete(:namespace_klass) || self.class::Namespace
39
46
  @builder_klass = options.delete(:builder_klass) || self.class::Builder
@@ -46,8 +53,8 @@ module Phlexi
46
53
  # Renders the display template.
47
54
  #
48
55
  # @return [void]
49
- def view_template
50
- display_template
56
+ def view_template(&)
57
+ display_wrapper { display_template(&) }
51
58
  end
52
59
 
53
60
  # Executes the display's content block.
@@ -55,7 +62,7 @@ module Phlexi
55
62
  #
56
63
  # @return [void]
57
64
  def display_template
58
- instance_exec(&@_content_block) if @_content_block
65
+ yield if block_given?
59
66
  end
60
67
 
61
68
  protected
@@ -92,10 +99,13 @@ module Phlexi
92
99
  def initialize_namespace
93
100
  @namespace = namespace_klass.root(key, object: object, builder_klass: builder_klass)
94
101
  end
102
+
95
103
  # Retrieves the display's CSS classes.
96
104
  #
97
105
  # @return [String] The display's CSS classes
98
- attr_reader :display_class
106
+ def display_class
107
+ themed(:base)
108
+ end
99
109
 
100
110
  # Generates the display attributes hash.
101
111
  #
@@ -106,6 +116,12 @@ module Phlexi
106
116
  class: display_class
107
117
  }, attributes)
108
118
  end
119
+
120
+ def display_wrapper(&)
121
+ div(**display_attributes) do
122
+ yield
123
+ end
124
+ end
109
125
  end
110
126
  end
111
127
  end
@@ -5,13 +5,9 @@ require "phlex"
5
5
  module Phlexi
6
6
  module Display
7
7
  # Builder class is responsible for building display fields with various options and components.
8
- #
9
- # @attr_reader [Structure::DOM] dom The DOM structure for the field.
10
- # @attr_reader [Hash] options Options for the field.
11
- # @attr_reader [Object] object The object associated with the field.
12
- # @attr_reader [Hash] attributes Attributes for the field.
13
- # @attr_accessor [Object] value The value of the field.
14
8
  class Builder < Phlexi::Field::Builder
9
+ include Phlexi::Display::Options::InferredTypes
10
+
15
11
  # Creates a label tag for the field.
16
12
  #
17
13
  # @param attributes [Hash] Additional attributes for the label.
@@ -43,14 +39,15 @@ module Phlexi
43
39
  def string_tag(**, &)
44
40
  create_component(Components::String, :string, **, &)
45
41
  end
42
+ alias_method :search_tag, :string_tag
46
43
 
47
- # # Creates a text display tag for the field.
48
- # #
49
- # # @param attributes [Hash] Additional attributes for the text display.
50
- # # @return [Components::Text] The text component.
51
- # def text_tag(**, &)
52
- # create_component(Components::Text, :text, **, &)
53
- # end
44
+ def text_tag(**, &)
45
+ create_component(Components::String, :text, **, &)
46
+ end
47
+
48
+ def phone_tag(**, &)
49
+ create_component(Components::String, :phone, **, &)
50
+ end
54
51
 
55
52
  # Creates a number display tag for the field.
56
53
  #
@@ -60,6 +57,18 @@ module Phlexi
60
57
  create_component(Components::Number, :number, **, &)
61
58
  end
62
59
 
60
+ def integer_tag(**, &)
61
+ create_component(Components::Integer, :integer, **, &)
62
+ end
63
+
64
+ def json_tag(**, &)
65
+ create_component(Components::JSON, :json, **, &)
66
+ end
67
+
68
+ def hstore_tag(**, &)
69
+ create_component(Components::JSON, :hstore, **, &)
70
+ end
71
+
63
72
  # Creates a datetime display for the field.
64
73
  #
65
74
  # @param attributes [Hash] Additional attributes for the datetime display.
@@ -68,6 +77,14 @@ module Phlexi
68
77
  create_component(Components::DateTime, :datetime, **, &)
69
78
  end
70
79
 
80
+ def date_tag(**, &)
81
+ create_component(Components::DateTime, :date, **, &)
82
+ end
83
+
84
+ def time_tag(**, &)
85
+ create_component(Components::Time, :time, **, &)
86
+ end
87
+
71
88
  # # Creates a boolean display tag for the field.
72
89
  # #
73
90
  # # @param attributes [Hash] Additional attributes for the boolean display.
@@ -76,13 +93,53 @@ module Phlexi
76
93
  # create_component(Components::Boolean, :boolean, **, &)
77
94
  # end
78
95
 
79
- # # Creates an association display tag for the field.
80
- # #
81
- # # @param attributes [Hash] Additional attributes for the association display.
82
- # # @return [Components::Association] The association component.
83
- # def association_tag(**, &)
84
- # create_component(Components::Association, :association, **, &)
85
- # end
96
+ # Creates a color display tag for the field.
97
+ #
98
+ # @param attributes [Hash] Additional attributes for the color display.
99
+ # @return [Components::Color] The color component.
100
+ def color_tag(**, &)
101
+ create_component(Components::Color, :color, **, &)
102
+ end
103
+
104
+ # Creates a password display tag for the field.
105
+ #
106
+ # @param attributes [Hash] Additional attributes for the password display.
107
+ # @return [Components::Password] The password component.
108
+ def password_tag(**, &)
109
+ create_component(Components::Password, :password, **, &)
110
+ end
111
+
112
+ # Creates a enum display tag for the field.
113
+ #
114
+ # @param attributes [Hash] Additional attributes for the enum display.
115
+ # @return [Components::Enum] The enum component.
116
+ def enum_tag(**, &)
117
+ create_component(Components::Enum, :enum, **, &)
118
+ end
119
+
120
+ # Creates a email display tag for the field.
121
+ #
122
+ # @param attributes [Hash] Additional attributes for the email display.
123
+ # @return [Components::Email] The email component.
124
+ def email_tag(**, &)
125
+ create_component(Components::Email, :email, **, &)
126
+ end
127
+
128
+ # Creates a url display tag for the field.
129
+ #
130
+ # @param attributes [Hash] Additional attributes for the url display.
131
+ # @return [Components::Url] The url component.
132
+ def url_tag(**, &)
133
+ create_component(Components::Url, :url, **, &)
134
+ end
135
+
136
+ # Creates an association display tag for the field.
137
+ #
138
+ # @param attributes [Hash] Additional attributes for the association display.
139
+ # @return [Components::Association] The association component.
140
+ def association_tag(**, &)
141
+ create_component(Components::Association, :association, **, &)
142
+ end
86
143
 
87
144
  # # Creates an attachment display tag for the field.
88
145
  # #
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlexi
4
+ module Display
5
+ module Components
6
+ class Association < Base
7
+ include Concerns::DisplaysValue
8
+
9
+ def render_value(value)
10
+ p(**attributes) {
11
+ display_name_of(value)
12
+ }
13
+ end
14
+
15
+ protected
16
+
17
+ def display_name_of(obj, separator: ", ")
18
+ return unless obj.present?
19
+
20
+ # Retrieve the value from a predefined list
21
+ %i[to_label name title].each do |method|
22
+ name = obj.public_send(method) if obj.respond_to?(method)
23
+ return name if name.present?
24
+ end
25
+
26
+ # Maybe this is a record?
27
+ if (primary_key = Phlexi::Field.object_primary_key(obj))
28
+ return "#{obj.class.model_name.human} ##{primary_key}"
29
+ end
30
+
31
+ # Oh well. Just convert it to a string.
32
+ obj.to_s
33
+ end
34
+
35
+ def normalize_value(value)
36
+ value
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -4,6 +4,7 @@ module Phlexi
4
4
  module Display
5
5
  module Components
6
6
  class Base < Phlexi::Field::Components::Base
7
+ include Phlexi::Display::HTML::Behaviour
7
8
  end
8
9
  end
9
10
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlexi
4
+ module Display
5
+ module Components
6
+ class Color < Base
7
+ include Concerns::DisplaysValue
8
+
9
+ def render_value(value)
10
+ div(**attributes) {
11
+ div(class: themed(:color_indicator), style: "background-color: #{value};") {
12
+ whitespace
13
+ }
14
+ p { value }
15
+ }
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -6,11 +6,11 @@ module Phlexi
6
6
  module Concerns
7
7
  module DisplaysValue
8
8
  def view_template
9
- value = normalize_value(field.value)
10
- if value.blank?
11
- render field.placeholder_tag(**@placeholder_attributes)
12
- else
13
- render_value(value)
9
+ return render(field.placeholder_tag(**@placeholder_attributes)) unless field.has_value?
10
+
11
+ values = (field.multiple? && field.value.respond_to?(:each)) ? field.value : [field.value]
12
+ values.each do |value|
13
+ render_value(normalize_value(value))
14
14
  end
15
15
  end
16
16
 
@@ -19,7 +19,6 @@ module Phlexi
19
19
  # @return [String] the formatted field value for display.
20
20
  def render_value(value)
21
21
  raise NotImplementedError, "#{self.class}#render_value"
22
- # format_value()
23
22
  end
24
23
 
25
24
  protected
@@ -31,19 +30,6 @@ module Phlexi
31
30
  attributes[:id] = field.dom.id if attributes[:id] == "#{field.dom.id}_#{component_name}"
32
31
  end
33
32
 
34
- # def format_value(value)
35
- # case value
36
- # when Array
37
- # format_array_value(value)
38
- # else
39
- # format_single_value(value)
40
- # end
41
- # end
42
-
43
- # def format_array_value(array)
44
- # array.map { |item| format_single_value(item) }.join(", ")
45
- # end
46
-
47
33
  def normalize_value(value)
48
34
  value.to_s
49
35
  end
@@ -11,8 +11,7 @@ module Phlexi
11
11
  # @param value [String, Date, Time, DateTime] The value to be rendered
12
12
  # @return [void]
13
13
  def render_value(value)
14
- formatted_value = format_date_time(value)
15
- p(**attributes) { formatted_value }
14
+ p(**attributes) { value }
16
15
  end
17
16
 
18
17
  protected
@@ -20,27 +19,28 @@ module Phlexi
20
19
  def build_attributes
21
20
  super
22
21
 
23
- @options = {
24
- format: default_format
25
- }.merge(attributes.delete(:options) || {}).compact
22
+ @options = attributes.delete(:options) || {}
23
+ @formats = Array(@options.delete(:format)).compact + default_formats
26
24
  end
27
25
 
28
- private
29
-
30
- def format_date_time(value)
31
- I18n.l(value, **@options)
26
+ def format_value(value)
27
+ @formats.each do |fmt|
28
+ return I18n.l(value, **@options, format: fmt)
29
+ rescue
30
+ nil
31
+ end
32
32
  end
33
33
 
34
- def default_format
35
- :long
34
+ def default_formats
35
+ [:long]
36
36
  end
37
37
 
38
38
  def normalize_value(value)
39
39
  case value
40
- when Date, DateTime, Time, nil
41
- value
40
+ when ::DateTime, ::Date, ::Time
41
+ format_value(value)
42
42
  else
43
- raise ArgumentError, "Value must be a Date, DateTime or Time object. #{value.inspect} given."
43
+ value.to_s
44
44
  end
45
45
  end
46
46
  end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlexi
4
+ module Display
5
+ module Components
6
+ class Email < Base
7
+ include Concerns::DisplaysValue
8
+
9
+ def render_value(value)
10
+ a(**attributes, href: "mailto:#{value}", target: "_blank") {
11
+ icon
12
+ plain value
13
+ }
14
+ end
15
+
16
+ protected
17
+
18
+ def icon
19
+ icon_theme = themed(:prefixed_icon)
20
+ svg(
21
+ xmlns: "http://www.w3.org/2000/svg",
22
+ width: icon_theme || "24",
23
+ height: icon_theme || "24",
24
+ class: icon_theme,
25
+ viewbox: "0 0 24 24",
26
+ fill: "none",
27
+ stroke: "currentColor",
28
+ stroke_width: "2",
29
+ stroke_linecap: "round",
30
+ stroke_linejoin: "round"
31
+ ) do |s|
32
+ s.path(stroke: "none", d: "M0 0h24v24H0z", fill: "none")
33
+ s.path(
34
+ d:
35
+ "M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z"
36
+ )
37
+ s.path(d: "M3 7l9 6l9 -6")
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlexi
4
+ module Display
5
+ module Components
6
+ class Enum < Base
7
+ include Concerns::DisplaysValue
8
+
9
+ def render_value(value)
10
+ p(**attributes) {
11
+ value
12
+ }
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/number_helper"
4
+
5
+ module Phlexi
6
+ module Display
7
+ module Components
8
+ class Integer < Number
9
+ private
10
+
11
+ def normalize_value(value)
12
+ value.to_i
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module Phlexi
6
+ module Display
7
+ module Components
8
+ class JSON < Base
9
+ include Concerns::DisplaysValue
10
+
11
+ def render_value(value)
12
+ pre(**attributes) {
13
+ value
14
+ }
15
+ end
16
+
17
+ private
18
+
19
+ def normalize_value(value)
20
+ ::JSON.pretty_generate(value)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlexi
4
+ module Display
5
+ module Components
6
+ class Password < Base
7
+ include Concerns::DisplaysValue
8
+
9
+ def render_value(value)
10
+ p(**attributes) {
11
+ value
12
+ }
13
+ end
14
+
15
+ protected
16
+
17
+ def normalize_value(value)
18
+ "••••••••"
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -6,7 +6,7 @@ module Phlexi
6
6
  class Placeholder < Base
7
7
  def view_template
8
8
  p(**attributes) {
9
- field.placeholder
9
+ field.placeholder || "-"
10
10
  }
11
11
  end
12
12
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlexi
4
+ module Display
5
+ module Components
6
+ class Time < DateTime
7
+ protected
8
+
9
+ def default_formats
10
+ [:time, "%H:%M"]
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlexi
4
+ module Display
5
+ module Components
6
+ class Url < Base
7
+ include Concerns::DisplaysValue
8
+
9
+ def render_value(value)
10
+ a(**attributes, href: value, target: "_blank") {
11
+ icon
12
+ plain value
13
+ }
14
+ end
15
+
16
+ protected
17
+
18
+ def icon
19
+ icon_theme = themed(:prefixed_icon)
20
+ svg(
21
+ xmlns: "http://www.w3.org/2000/svg",
22
+ width: icon_theme || "24",
23
+ height: icon_theme || "24",
24
+ class: icon_theme,
25
+ viewbox: "0 0 24 24",
26
+ fill: "none",
27
+ stroke: "currentColor",
28
+ stroke_width: "2",
29
+ stroke_linecap: "round",
30
+ stroke_linejoin: "round"
31
+ ) do |s|
32
+ s.path(stroke: "none", d: "M0 0h24v24H0z", fill: "none")
33
+ s.path(d: "M9 15l6 -6")
34
+ s.path(d: "M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464")
35
+ s.path(
36
+ d:
37
+ "M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463"
38
+ )
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,15 @@
1
+ module Phlexi
2
+ module Display
3
+ class HTML < (defined?(::ApplicationComponent) ? ::ApplicationComponent : Phlex::HTML)
4
+ module Behaviour
5
+ protected
6
+
7
+ def themed(component)
8
+ Phlexi::Display::Theme.instance.resolve_theme(component)
9
+ end
10
+ end
11
+
12
+ include Behaviour
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlexi
4
+ module Display
5
+ module Options
6
+ module InferredTypes
7
+ private
8
+
9
+ def infer_field_component
10
+ case inferred_field_type
11
+ when :string, :text
12
+ infer_string_field_type || inferred_field_type
13
+ when :float, :decimal
14
+ :number
15
+ when :json, :jsonb
16
+ :json
17
+ # when :attachment, :binary
18
+ # :attachment
19
+ # end
20
+ when :integer, :association, :hstore, :date, :time, :datetime
21
+ inferred_field_type
22
+ else
23
+ :string
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,21 +1,34 @@
1
1
  module Phlexi
2
2
  module Display
3
- class Theme
4
- include Phlexi::Field::Theme
5
-
6
- DEFAULT_THEME = {
7
- label: nil,
8
- description: nil,
9
- placeholder: nil,
10
- string: nil,
11
- number: :string,
12
- datetime: :string,
13
- attachment: :string,
14
- wrapper: nil
15
- }.freeze
16
-
17
- def theme
18
- DEFAULT_THEME
3
+ class Theme < Phlexi::Field::Theme
4
+ def self.theme
5
+ @theme ||= {
6
+ base: nil,
7
+ label: nil,
8
+ description: nil,
9
+ placeholder: nil,
10
+ string: nil,
11
+ text: :string,
12
+ phone: :string,
13
+ number: :string,
14
+ integer: :string,
15
+ datetime: :string,
16
+ date: :datetime,
17
+ time: :datetime,
18
+ association: :string,
19
+ attachment: :string,
20
+ color: :string,
21
+ color_icon: :string,
22
+ email: :string,
23
+ url: :email,
24
+ json: :string,
25
+ hstore: :json,
26
+ password: :string,
27
+ enum: :string,
28
+ prefixed_icon: nil,
29
+ link: nil,
30
+ wrapper: nil
31
+ }.freeze
19
32
  end
20
33
  end
21
34
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Phlexi
4
4
  module Display
5
- VERSION = "0.0.3"
5
+ VERSION = "0.0.4"
6
6
  end
7
7
  end
@@ -12,20 +12,17 @@ module Phlexi
12
12
  loader.inflector.inflect(
13
13
  "phlexi-display" => "Phlexi",
14
14
  "phlexi" => "Phlexi",
15
- "dom" => "DOM"
15
+ "html" => "HTML",
16
+ "json" => "JSON"
16
17
  )
17
18
  loader.push_dir(File.expand_path("..", __dir__))
18
19
  loader.setup
19
20
  end
20
21
 
21
- COMPONENT_BASE = (defined?(::ApplicationComponent) ? ::ApplicationComponent : Phlex::HTML)
22
-
23
- NIL_VALUE = :__i_phlexi_display_nil_value_i__
24
-
25
22
  class Error < StandardError; end
26
23
  end
27
24
  end
28
25
 
29
26
  def Phlexi.Display(...)
30
- Phlexi::Display::Base.new(...)
27
+ Phlexi::Display::Base.inline(...)
31
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phlexi-display
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Froelich
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-07 00:00:00.000000000 Z
11
+ date: 2024-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: phlex
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.11'
27
27
  - !ruby/object:Gem::Dependency
28
- name: activesupport
28
+ name: phlexi-field
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: zeitwerk
42
+ name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: phlexi-field
56
+ name: zeitwerk
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -200,16 +200,27 @@ files:
200
200
  - lib/phlexi/display.rb
201
201
  - lib/phlexi/display/base.rb
202
202
  - lib/phlexi/display/builder.rb
203
+ - lib/phlexi/display/components/association.rb
203
204
  - lib/phlexi/display/components/base.rb
205
+ - lib/phlexi/display/components/color.rb
204
206
  - lib/phlexi/display/components/concerns/displays_value.rb
205
207
  - lib/phlexi/display/components/date_time.rb
206
208
  - lib/phlexi/display/components/description.rb
209
+ - lib/phlexi/display/components/email.rb
210
+ - lib/phlexi/display/components/enum.rb
207
211
  - lib/phlexi/display/components/hint.rb
212
+ - lib/phlexi/display/components/integer.rb
213
+ - lib/phlexi/display/components/json.rb
208
214
  - lib/phlexi/display/components/label.rb
209
215
  - lib/phlexi/display/components/number.rb
216
+ - lib/phlexi/display/components/password.rb
210
217
  - lib/phlexi/display/components/placeholder.rb
211
218
  - lib/phlexi/display/components/string.rb
219
+ - lib/phlexi/display/components/time.rb
220
+ - lib/phlexi/display/components/url.rb
212
221
  - lib/phlexi/display/components/wrapper.rb
222
+ - lib/phlexi/display/html.rb
223
+ - lib/phlexi/display/options/inferred_types.rb
213
224
  - lib/phlexi/display/theme.rb
214
225
  - lib/phlexi/display/version.rb
215
226
  - sig/phlexi/display.rbs