ariadne_view_components 0.0.93.1 → 0.0.94

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +13 -4
  4. data/app/assets/javascripts/ariadne_view_components.js +14 -14
  5. data/app/assets/javascripts/ariadne_view_components.js.br +0 -0
  6. data/app/assets/javascripts/ariadne_view_components.js.gz +0 -0
  7. data/app/assets/javascripts/ariadne_view_components.js.map +1 -1
  8. data/app/assets/stylesheets/ariadne_view_components.css +1 -1
  9. data/app/assets/stylesheets/ariadne_view_components.css.br +0 -0
  10. data/app/assets/stylesheets/ariadne_view_components.css.gz +0 -0
  11. data/app/components/ariadne/base_component.rb +25 -22
  12. data/app/components/ariadne/behaviors/tooltipable.rb +12 -12
  13. data/app/components/ariadne/form/checkbox/component.rb +2 -2
  14. data/app/components/ariadne/form/group/component.rb +1 -1
  15. data/app/components/ariadne/form/radio_button/component.rb +2 -2
  16. data/app/components/ariadne/form/select/component.rb +1 -1
  17. data/app/components/ariadne/form/text_field/component.html.erb +2 -2
  18. data/app/components/ariadne/form/text_field/component.rb +14 -7
  19. data/app/components/ariadne/form/toggle/component.rb +2 -2
  20. data/app/components/ariadne/form/toggle_group/component.rb +1 -1
  21. data/app/components/ariadne/form/toggle_group/option/component.rb +1 -1
  22. data/app/components/ariadne/layout/grid/component.rb +1 -1
  23. data/app/components/ariadne/layout/grid/item/component.rb +2 -2
  24. data/app/components/ariadne/layout/label_block/component.rb +1 -1
  25. data/app/components/ariadne/layout/narrow/component.rb +1 -1
  26. data/app/components/ariadne/ui/accordion/component.rb +3 -1
  27. data/app/components/ariadne/ui/accordion/item/component.html.erb +10 -10
  28. data/app/components/ariadne/ui/accordion/item/component.rb +12 -3
  29. data/app/components/ariadne/ui/avatar/component.html.erb +9 -7
  30. data/app/components/ariadne/ui/avatar/component.rb +55 -7
  31. data/app/components/ariadne/ui/badge/component.rb +35 -16
  32. data/app/components/ariadne/ui/banner/component.html.erb +23 -0
  33. data/app/components/ariadne/ui/banner/component.rb +226 -0
  34. data/app/components/ariadne/ui/banner/component.ts +46 -0
  35. data/app/components/ariadne/ui/blankslate/component.html.erb +2 -2
  36. data/app/components/ariadne/ui/blankslate/component.rb +12 -1
  37. data/app/components/ariadne/ui/button/component.rb +35 -24
  38. data/app/components/ariadne/ui/card/body/component.rb +1 -1
  39. data/app/components/ariadne/ui/card/component.rb +11 -7
  40. data/app/components/ariadne/ui/card/footer/component.rb +1 -1
  41. data/app/components/ariadne/ui/card/header/component.html.erb +2 -2
  42. data/app/components/ariadne/ui/card/header/component.rb +25 -16
  43. data/app/components/ariadne/ui/clipboard_copy/component.html.erb +1 -0
  44. data/app/components/ariadne/ui/clipboard_copy/component.rb +17 -21
  45. data/app/components/ariadne/ui/clipboard_copy/component.ts +15 -0
  46. data/app/components/ariadne/ui/color_dot/component.html.erb +5 -5
  47. data/app/components/ariadne/ui/color_dot/component.rb +19 -4
  48. data/app/components/ariadne/ui/combobox/component.html.erb +1 -1
  49. data/app/components/ariadne/ui/combobox/component.rb +54 -23
  50. data/app/components/ariadne/ui/combobox/component.ts +2 -0
  51. data/app/components/ariadne/ui/dialog/body/component.html.erb +3 -0
  52. data/app/components/ariadne/ui/dialog/body/component.rb +28 -0
  53. data/app/components/ariadne/ui/dialog/component.html.erb +25 -24
  54. data/app/components/ariadne/ui/dialog/component.rb +87 -18
  55. data/app/components/ariadne/ui/dialog/component.ts +5 -1
  56. data/app/components/ariadne/ui/dialog/footer/component.html.erb +3 -0
  57. data/app/components/ariadne/ui/dialog/footer/component.rb +34 -0
  58. data/app/components/ariadne/ui/heroicon/component.rb +21 -21
  59. data/app/components/ariadne/ui/image/component.rb +11 -23
  60. data/app/components/ariadne/ui/link/component.html.erb +1 -3
  61. data/app/components/ariadne/ui/link/component.rb +17 -4
  62. data/app/components/ariadne/ui/list/component.html.erb +5 -9
  63. data/app/components/ariadne/ui/list/component.rb +31 -7
  64. data/app/components/ariadne/ui/list/item/component.rb +6 -5
  65. data/app/components/ariadne/ui/pagination/component.rb +1 -2
  66. data/app/components/ariadne/ui/popover/component.html.erb +1 -1
  67. data/app/components/ariadne/ui/popover/component.rb +31 -26
  68. data/app/components/ariadne/ui/relative_time/component.html.erb +1 -0
  69. data/app/components/ariadne/ui/{time_ago → relative_time}/component.rb +15 -15
  70. data/app/components/ariadne/ui/{time_ago → relative_time}/component.ts +1 -1
  71. data/app/components/ariadne/ui/shortcut/component.html.erb +0 -1
  72. data/app/components/ariadne/ui/shortcut/component.rb +31 -5
  73. data/app/components/ariadne/ui/shortcut/component.ts +1 -1
  74. data/app/components/ariadne/ui/skeleton/component.rb +2 -8
  75. data/app/components/ariadne/ui/stats_panel/component.html.erb +3 -3
  76. data/app/components/ariadne/ui/stats_panel/component.rb +25 -1
  77. data/app/components/ariadne/ui/stats_panel/item/component.html.erb +3 -3
  78. data/app/components/ariadne/ui/stats_panel/item/component.rb +6 -6
  79. data/app/components/ariadne/ui/table/cell/component.rb +1 -1
  80. data/app/components/ariadne/ui/table/row/component.rb +1 -1
  81. data/app/components/ariadne/ui/typography/component.rb +3 -1
  82. data/app/frontend/controllers/tooltip_controller.ts +8 -3
  83. data/app/frontend/stylesheets/ariadne_view_components.css +1 -0
  84. data/app/frontend/stylesheets/theme.css +88 -0
  85. data/app/frontend/utils/createController.ts +9 -0
  86. data/app/helpers/ariadne/color_helper.rb +158 -0
  87. data/app/helpers/ariadne/form_helper.rb +1 -0
  88. data/app/helpers/ariadne/size_helper.rb +7 -0
  89. data/app/lib/ariadne/attributes_helper.rb +4 -4
  90. data/app/lib/ariadne/view_component/style_variants.rb +1 -1
  91. data/app/lib/ariadne/view_helper.rb +0 -6
  92. data/lib/ariadne/accessibility.rb +64 -0
  93. data/lib/ariadne/forms/dsl/form_object.rb +5 -1
  94. data/lib/ariadne/forms/dsl/input.rb +1 -1
  95. data/lib/ariadne/static/generate_arguments.rb +54 -0
  96. data/lib/ariadne/static/generate_audited_at.rb +17 -0
  97. data/lib/ariadne/static/generate_constants.rb +19 -0
  98. data/lib/ariadne/static/generate_previews.rb +53 -0
  99. data/lib/ariadne/static/generate_statuses.rb +17 -0
  100. data/lib/ariadne/static/generate_structure.rb +279 -0
  101. data/lib/ariadne/static.rb +68 -0
  102. data/lib/ariadne/view_components/constants.rb +2 -2
  103. data/lib/ariadne/view_components/version.rb +1 -1
  104. data/lib/ariadne/view_components.rb +0 -51
  105. data/lib/ariadne/yard/component_manifest.rb +81 -81
  106. data/lib/ariadne/yard/component_ref.rb +1 -1
  107. data/lib/ariadne/yard/docs_helper.rb +24 -16
  108. data/lib/ariadne/yard/dry_initializer/common_handler.rb +103 -0
  109. data/lib/ariadne/yard/dry_initializer/option_handler.rb +38 -0
  110. data/lib/ariadne/yard/dry_initializer/param_handler.rb +57 -0
  111. data/lib/ariadne/yard/registry.rb +2 -5
  112. data/lib/ariadne/yard/{info_arch_docs_helper.rb → structure_docs_helper.rb} +5 -5
  113. data/lib/ariadne/yard.rb +20 -8
  114. data/lib/rubocop/config/default.yml +0 -3
  115. metadata +34 -37
  116. data/app/components/ariadne/behaviors/captionable.rb +0 -55
  117. data/app/components/ariadne/turbo/frame/component.html.erb +0 -3
  118. data/app/components/ariadne/turbo/frame/component.rb +0 -16
  119. data/app/components/ariadne/turbo/stream_action/component.html.erb +0 -4
  120. data/app/components/ariadne/turbo/stream_action/component.rb +0 -25
  121. data/app/components/ariadne/ui/data_table/component.html.erb +0 -1
  122. data/app/components/ariadne/ui/data_table/component.rb +0 -11
  123. data/app/components/ariadne/ui/flash/component.html.erb +0 -18
  124. data/app/components/ariadne/ui/flash/component.rb +0 -151
  125. data/app/components/ariadne/ui/flash/component.ts +0 -56
  126. data/app/components/ariadne/ui/overlay/component.html.erb +0 -12
  127. data/app/components/ariadne/ui/overlay/component.rb +0 -54
  128. data/app/components/ariadne/ui/overlay/component.ts +0 -92
  129. data/app/components/ariadne/ui/time_ago/component.html.erb +0 -1
  130. data/lib/ariadne/view_components/commands.rb +0 -90
  131. data/lib/ariadne/view_components/statuses.rb +0 -14
  132. data/lib/ariadne/view_components/upstream.rb +0 -19
  133. data/lib/ariadne/yard/lookbook_pages_backend.rb +0 -235
  134. data/lib/rubocop/cop/ariadne/no_tag_memoize.rb +0 -44
  135. data/static/arguments.yml +0 -879
  136. data/static/assets/view-components.svg +0 -18
  137. data/static/classes.yml +0 -211
  138. data/static/constants.json +0 -743
  139. data/static/statuses.json +0 -58
  140. data/static/tailwindcss.yml +0 -727
  141. /data/app/components/ariadne/ui/{time_ago → relative_time}/en.yml +0 -0
@@ -6,7 +6,7 @@ module Ariadne
6
6
  module Yard
7
7
  # Helper methods to use for yard documentation
8
8
  module DocsHelper
9
- def one_of(enumerable, lower: false, sort: true)
9
+ def one_of(enumerable, lower: false, sort: false)
10
10
  # Sort the array if requested
11
11
  if sort && !enumerable.nil?
12
12
  enumerable = enumerable.sort do |a, b|
@@ -36,8 +36,8 @@ module Ariadne
36
36
  "[Accessibility](#accessibility)"
37
37
  end
38
38
 
39
- def link_to_system_arguments_docs
40
- "[System arguments](/system-arguments)"
39
+ def link_to_html_attrs_docs
40
+ "[HTML attributes](/html-attrs)"
41
41
  end
42
42
 
43
43
  def link_to_typography_docs
@@ -45,32 +45,40 @@ module Ariadne
45
45
  end
46
46
 
47
47
  def link_to_component(component)
48
- status_module, short_name, class_name = status_module_and_short_name(component)
49
- status_path = status_module.nil? ? "" : "#{status_module}/"
48
+ class_name, short_name = component_and_short_name(component)
50
49
 
51
- "[#{class_name}](/components/#{status_path}#{short_name.downcase})"
50
+ "[#{class_name}](/components/#{short_name.downcase})"
52
51
  end
53
52
 
54
- def link_to_octicons
55
- "[Octicon](https://primer.style/octicons/)"
53
+ def link_to_heroicons
54
+ "[Heroicon](https://heroicons.com/)"
56
55
  end
57
56
 
58
57
  def link_to_heading_practices
59
58
  "[Learn more about best heading practices (WAI Headings)](https://www.w3.org/WAI/tutorials/page-structure/headings/)"
60
59
  end
61
60
 
62
- def status_module_and_short_name(component)
63
- name_with_status = component.name.gsub(/Ariadne::|Component/, "")
64
-
65
- m = name_with_status.match(/(?<status>Beta|Alpha|Deprecated)?(?<_colons>::)?(?<name>.*)/)
66
- [m[:status]&.downcase, m[:name].gsub("::", ""), m[:name]]
61
+ def component_and_short_name(component)
62
+ name = component.name.sub("::Preview", "::Component")
63
+ m = name.match(/Ariadne::(?<name>.*)::Component/)
64
+ if m.nil? # e.g. `Ariadne::Behaviors::Caption`; three paths instad of four
65
+ m = name.match(/Ariadne::(?<name>.*)/)
66
+ end
67
+ [name, m[:name]]
67
68
  end
68
69
 
69
70
  def pretty_default_value(tag, component)
70
- params = tag.object.parameters.find { |param| [tag.name.to_s, "#{tag.name}:"].include?(param[0]) }
71
- default = tag.defaults&.first || params&.second
71
+ default = tag.respond_to?(:defaults) ? tag.defaults : nil
72
+
73
+ # For slots; eg.,
74
+ # `renders_one :title, lambda { |type: :subheading, **options|`;
75
+ # `type` has a default value of `:subheading`.
76
+ if default.nil?
77
+ results = /#{tag.name}:\s*([^,\s]+)/.match(tag.object.source)
78
+ default = results[1] if results
79
+ end
72
80
 
73
- return "N/A" unless default
81
+ return "" unless default
74
82
 
75
83
  constant_name = "#{component.name}::#{default}"
76
84
  constant_value = default.safe_constantize || constant_name.safe_constantize
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ariadne
4
+ module Yard
5
+ module DryInitializer
6
+ module CommonHandler
7
+ def process
8
+ return unless reader?
9
+
10
+ # Define reader method
11
+ object = YARD::CodeObjects::MethodObject.new(namespace, reader_name)
12
+ register(object)
13
+ object.visibility = reader_visibility
14
+ object.dynamic = true
15
+ doc = "Reader method for the +#{definition_name}+ initializer parameter."
16
+ object.docstring = [comment, doc].compact.join("\n\n")
17
+
18
+ # Register as attribute unless it is already registered
19
+ return if namespace.attributes[:instance].key?(reader_name.to_sym)
20
+
21
+ namespace.attributes[:instance][reader_name.to_sym] = { read: object }
22
+ end
23
+
24
+ protected
25
+
26
+ def constructor
27
+ return @constructor if defined?(@constructor)
28
+
29
+ existing = namespace.meths.find(&:constructor?)
30
+ unless existing
31
+ @constructor = create_constructor
32
+ return @constructor
33
+ end
34
+
35
+ @constructor = if existing.namespace == namespace
36
+ existing
37
+ else
38
+ copy_parent_constructor(existing)
39
+ end
40
+ end
41
+
42
+ def create_constructor
43
+ YARD::CodeObjects::MethodObject.new(namespace, :initialize)
44
+ end
45
+
46
+ def copy_parent_constructor(existing_constructor)
47
+ YARD::CodeObjects::MethodObject.new(namespace, :initialize) do |new_constructor|
48
+ existing_constructor.copy_to(new_constructor)
49
+
50
+ # To allow replace arguments independent of parent
51
+ new_constructor.parameters = existing_constructor.parameters.map(&:dup)
52
+ # new_constructor.add_tag(*existing_constructor.tags.map(&:dup))
53
+ end
54
+ end
55
+
56
+ def definition_name
57
+ statement.parameters.first.jump(:tstring_content, :ident).source.delete(":") # FIXME: sometimes this randomly returns a symbol
58
+ end
59
+
60
+ def options
61
+ raw_options = statement.parameters[2] || statement.parameters[1]
62
+ return {} unless raw_options
63
+
64
+ raw_options.map do |o|
65
+ [o.first.jump(:tstring_content, :ident).source, o[1]]
66
+ end.to_h
67
+ end
68
+
69
+ def reader?
70
+ return true unless options.key?("reader:")
71
+
72
+ options["reader:"].jump(:tstring_content, :ident).source != "false"
73
+ end
74
+
75
+ def reader_name
76
+ if options.key?("as:")
77
+ options["as:"].jump(:tstring_content, :ident).source
78
+ else
79
+ definition_name
80
+ end
81
+ end
82
+
83
+ def reader_visibility
84
+ return :public unless options.key?("reader:")
85
+
86
+ options["reader:"].jump(:tstring_content, :ident).source.to_sym
87
+ end
88
+
89
+ def comment
90
+ return unless options.key?("comment:")
91
+
92
+ options["comment:"].jump(:tstring_content, :ident).source
93
+ end
94
+
95
+ def default_string
96
+ return options["default:"][1].source if options.key?("default:")
97
+
98
+ "nil" if options.key?("optional:") && options["optional:"].jump(:tstring_content, :ident).source == "true"
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ariadne
4
+ module Yard
5
+ module DryInitializer
6
+ # :nodoc:
7
+ class OptionHandler < ::YARD::Handlers::Ruby::Base
8
+ include CommonHandler
9
+
10
+ handles method_call(:option)
11
+ namespace_only
12
+
13
+ def process
14
+ super
15
+
16
+ parsed_docstring = YARD::DocstringParser.new.parse(statement.docstring)
17
+ existing_tag = parsed_docstring.tags.find { |t| t.name == definition_name }
18
+
19
+ # missing documentation
20
+ if existing_tag.nil?
21
+
22
+ else
23
+ defaults = existing_tag.defaults
24
+ defaults = defaults.join if defaults
25
+
26
+ # only docstring has complete description past newlines
27
+ docstring = statement.docstring.tr("\n", " ")
28
+
29
+ # strip out everything except description
30
+ docstring = docstring[docstring.index(existing_tag.text)..]
31
+
32
+ constructor.add_tag(YARD::Tags::DefaultTag.new(:param, docstring, existing_tag.types, existing_tag.name, defaults))
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ariadne
4
+ module Yard
5
+ module DryInitializer
6
+ class ParamHandler < ::YARD::Handlers::Ruby::Base
7
+ include CommonHandler
8
+
9
+ handles method_call(:param)
10
+ namespace_only
11
+
12
+ def process
13
+ super
14
+
15
+ add_constructor_param
16
+ add_constructor_tag
17
+ end
18
+
19
+ protected
20
+
21
+ def add_constructor_param
22
+ existing_index = constructor.parameters.index do |name, _default|
23
+ name == definition_name
24
+ end
25
+ if existing_index
26
+ constructor.parameters[existing_index] = [definition_name, default_string]
27
+ else
28
+ constructor.parameters.insert(last_param_index, [definition_name, default_string])
29
+ end
30
+ end
31
+
32
+ def last_param_index
33
+ return -1 if constructor.parameters.empty?
34
+
35
+ constructor.parameters.last.first.start_with?("**") ? -2 : -1
36
+ end
37
+
38
+ def add_constructor_tag
39
+ if existing_tag
40
+ existing_tag.text = comment
41
+ existing_tag.instance_variable_set(:@defaults, default_string && [default_string])
42
+ else
43
+ param = YARD::Tags::DefaultTag.new(:param, comment, nil, definition_name, [default_string])
44
+ constructor.add_tag(param)
45
+ end
46
+ end
47
+
48
+ def existing_tag
49
+ @existing_tag ||=
50
+ constructor.tags.find do |tag|
51
+ tag.name == definition_name && tag.tag_name == "param"
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -22,16 +22,13 @@ module Ariadne
22
22
 
23
23
  def metadata
24
24
  @metadata ||= begin
25
- status_module, short_name, class_name = status_module_and_short_name(component)
26
- status = component.status.to_s
25
+ class_name, short_name = component_and_short_name(component)
27
26
  a11y_reviewed = component.audited_at.nil? ? "false" : "true"
28
27
 
29
28
  {
30
29
  title: class_name,
31
30
  class_name: class_name,
32
31
  component_id: short_name.underscore,
33
- status: status.capitalize,
34
- status_module: status_module,
35
32
  short_name: short_name,
36
33
  a11y_reviewed: a11y_reviewed,
37
34
  }
@@ -99,7 +96,7 @@ module Ariadne
99
96
  # documentation.
100
97
  class Registry
101
98
  class << self
102
- include ViewComponent::TestHelpers
99
+ include ::ViewComponent::TestHelpers
103
100
  include Ariadne::ViewHelper
104
101
  include Ariadne::Yard::DocsHelper
105
102
 
@@ -4,15 +4,15 @@
4
4
  module Ariadne
5
5
  module Yard
6
6
  # Helper methods to use for info arch yard documentation
7
- module InfoArchDocsHelper
7
+ module StructureDocsHelper
8
8
  include DocsHelper
9
9
 
10
10
  def link_to_component(component)
11
11
  "{{#link_to_component}}#{component}{{/link_to_component}}"
12
12
  end
13
13
 
14
- def link_to_system_arguments_docs
15
- "{{link_to_system_arguments_docs}}"
14
+ def link_to_html_attrs_docs
15
+ "{{link_to_html_attrs_docs}}"
16
16
  end
17
17
 
18
18
  def link_to_typography_docs
@@ -23,8 +23,8 @@ module Ariadne
23
23
  "{{link_to_accessibility}}"
24
24
  end
25
25
 
26
- def link_to_octicons
27
- "{{link_to_octicons}}"
26
+ def link_to_heroicons
27
+ "{{link_to_heroicons}}"
28
28
  end
29
29
  end
30
30
  end
data/lib/ariadne/yard.rb CHANGED
@@ -1,18 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "rails"
3
4
  require "yard"
5
+ require "ariadne/yard/renders_one_handler"
6
+ require "ariadne/yard/renders_many_handler"
7
+ require "ariadne/yard/dry_initializer/common_handler"
8
+ require "ariadne/yard/dry_initializer/param_handler"
9
+ require "ariadne/yard/dry_initializer/option_handler"
10
+ require "view_component-contrib"
4
11
 
5
12
  module Ariadne
6
13
  # :nodoc:
7
14
  module Yard
8
- autoload :Backend, "primer/yard/backend"
9
- autoload :ComponentManifest, "primer/yard/component_manifest"
10
- autoload :ComponentRef, "primer/yard/component_ref"
11
- autoload :DocsHelper, "primer/yard/docs_helper"
12
- autoload :InfoArchDocsHelper, "primer/yard/info_arch_docs_helper"
13
- autoload :Registry, "primer/yard/registry"
14
- autoload :RendersManyHandler, "primer/yard/renders_many_handler"
15
- autoload :RendersOneHandler, "primer/yard/renders_one_handler"
15
+ autoload :Backend, "ariadne/yard/backend"
16
+ autoload :ComponentManifest, "ariadne/yard/component_manifest"
17
+ autoload :ComponentRef, "ariadne/yard/component_ref"
18
+ autoload :DocsHelper, "ariadne/yard/docs_helper"
19
+ autoload :StructureDocsHelper, "ariadne/yard/structure_docs_helper"
20
+ autoload :Registry, "ariadne/yard/registry"
21
+ autoload :RendersManyHandler, "ariadne/yard/renders_many_handler"
22
+ autoload :RendersOneHandler, "ariadne/yard/renders_one_handler"
23
+
24
+ # for dry-initializer
25
+ autoload :CommonHandler, "ariadne/yard/dry_initializer/common_handler"
26
+ autoload :OptionHandler, "ariadne/yard/dry_initializer/option_handler"
27
+ autoload :ParamHandler, "ariadne/yard/dry_initializer/param_handler"
16
28
 
17
29
  ::YARD::Tags::Library.define_tag("Snapshot preview", :snapshot)
18
30
  end
@@ -3,6 +3,3 @@ require:
3
3
 
4
4
  AllCops:
5
5
  DisabledByDefault: true
6
-
7
- Ariadne/NoTagMemoize:
8
- Enabled: false
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ariadne_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.93.1
4
+ version: 0.0.94
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen J. Torikian
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-20 00:00:00.000000000 Z
11
+ date: 2025-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tailwind_merge
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.11'
19
+ version: '0.13'
20
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: '0.11'
26
+ version: '0.13'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: actionview
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -108,7 +108,7 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0.2'
111
- description:
111
+ description:
112
112
  email:
113
113
  - gjtorikian@yetto.app
114
114
  executables: []
@@ -127,7 +127,6 @@ files:
127
127
  - app/assets/stylesheets/ariadne_view_components.css.gz
128
128
  - app/components/ariadne/ariadne-form.ts
129
129
  - app/components/ariadne/base_component.rb
130
- - app/components/ariadne/behaviors/captionable.rb
131
130
  - app/components/ariadne/behaviors/tooltipable.rb
132
131
  - app/components/ariadne/conditional_wrapper.rb
133
132
  - app/components/ariadne/form/base_component.rb
@@ -182,10 +181,6 @@ files:
182
181
  - app/components/ariadne/layout/two_panel/component.rb
183
182
  - app/components/ariadne/layout/wide/component.html.erb
184
183
  - app/components/ariadne/layout/wide/component.rb
185
- - app/components/ariadne/turbo/frame/component.html.erb
186
- - app/components/ariadne/turbo/frame/component.rb
187
- - app/components/ariadne/turbo/stream_action/component.html.erb
188
- - app/components/ariadne/turbo/stream_action/component.rb
189
184
  - app/components/ariadne/ui/accordion/component.html.erb
190
185
  - app/components/ariadne/ui/accordion/component.rb
191
186
  - app/components/ariadne/ui/accordion/component.ts
@@ -195,6 +190,9 @@ files:
195
190
  - app/components/ariadne/ui/avatar/component.rb
196
191
  - app/components/ariadne/ui/badge/component.html.erb
197
192
  - app/components/ariadne/ui/badge/component.rb
193
+ - app/components/ariadne/ui/banner/component.html.erb
194
+ - app/components/ariadne/ui/banner/component.rb
195
+ - app/components/ariadne/ui/banner/component.ts
198
196
  - app/components/ariadne/ui/blankslate/component.html.erb
199
197
  - app/components/ariadne/ui/blankslate/component.rb
200
198
  - app/components/ariadne/ui/button/component.html.erb
@@ -215,14 +213,13 @@ files:
215
213
  - app/components/ariadne/ui/combobox/component.html.erb
216
214
  - app/components/ariadne/ui/combobox/component.rb
217
215
  - app/components/ariadne/ui/combobox/component.ts
218
- - app/components/ariadne/ui/data_table/component.html.erb
219
- - app/components/ariadne/ui/data_table/component.rb
216
+ - app/components/ariadne/ui/dialog/body/component.html.erb
217
+ - app/components/ariadne/ui/dialog/body/component.rb
220
218
  - app/components/ariadne/ui/dialog/component.html.erb
221
219
  - app/components/ariadne/ui/dialog/component.rb
222
220
  - app/components/ariadne/ui/dialog/component.ts
223
- - app/components/ariadne/ui/flash/component.html.erb
224
- - app/components/ariadne/ui/flash/component.rb
225
- - app/components/ariadne/ui/flash/component.ts
221
+ - app/components/ariadne/ui/dialog/footer/component.html.erb
222
+ - app/components/ariadne/ui/dialog/footer/component.rb
226
223
  - app/components/ariadne/ui/heroicon/component.html.erb
227
224
  - app/components/ariadne/ui/heroicon/component.rb
228
225
  - app/components/ariadne/ui/image/component.rb
@@ -233,14 +230,15 @@ files:
233
230
  - app/components/ariadne/ui/list/component.ts
234
231
  - app/components/ariadne/ui/list/item/component.html.erb
235
232
  - app/components/ariadne/ui/list/item/component.rb
236
- - app/components/ariadne/ui/overlay/component.html.erb
237
- - app/components/ariadne/ui/overlay/component.rb
238
- - app/components/ariadne/ui/overlay/component.ts
239
233
  - app/components/ariadne/ui/pagination/component.html.erb
240
234
  - app/components/ariadne/ui/pagination/component.rb
241
235
  - app/components/ariadne/ui/popover/component.html.erb
242
236
  - app/components/ariadne/ui/popover/component.rb
243
237
  - app/components/ariadne/ui/popover/component.ts
238
+ - app/components/ariadne/ui/relative_time/component.html.erb
239
+ - app/components/ariadne/ui/relative_time/component.rb
240
+ - app/components/ariadne/ui/relative_time/component.ts
241
+ - app/components/ariadne/ui/relative_time/en.yml
244
242
  - app/components/ariadne/ui/shortcut/component.html.erb
245
243
  - app/components/ariadne/ui/shortcut/component.rb
246
244
  - app/components/ariadne/ui/shortcut/component.ts
@@ -260,10 +258,6 @@ files:
260
258
  - app/components/ariadne/ui/table/header/component.rb
261
259
  - app/components/ariadne/ui/table/row/component.html.erb
262
260
  - app/components/ariadne/ui/table/row/component.rb
263
- - app/components/ariadne/ui/time_ago/component.html.erb
264
- - app/components/ariadne/ui/time_ago/component.rb
265
- - app/components/ariadne/ui/time_ago/component.ts
266
- - app/components/ariadne/ui/time_ago/en.yml
267
261
  - app/components/ariadne/ui/typography/component.html.erb
268
262
  - app/components/ariadne/ui/typography/component.rb
269
263
  - app/frontend/ariadne/index.ts
@@ -275,9 +269,12 @@ files:
275
269
  - app/frontend/entrypoints/application.ts
276
270
  - app/frontend/stylesheets/ariadne_view_components.css
277
271
  - app/frontend/stylesheets/scrollbar.css
272
+ - app/frontend/stylesheets/theme.css
278
273
  - app/frontend/utils/createController.ts
279
274
  - app/frontend/utils/isMac.ts
275
+ - app/helpers/ariadne/color_helper.rb
280
276
  - app/helpers/ariadne/form_helper.rb
277
+ - app/helpers/ariadne/size_helper.rb
281
278
  - app/lib/ariadne/attributes_helper.rb
282
279
  - app/lib/ariadne/class_name_helper.rb
283
280
  - app/lib/ariadne/fetch_or_fallback_helper.rb
@@ -287,6 +284,7 @@ files:
287
284
  - app/lib/ariadne/view_component/html_attrs.rb
288
285
  - app/lib/ariadne/view_component/style_variants.rb
289
286
  - app/lib/ariadne/view_helper.rb
287
+ - lib/ariadne/accessibility.rb
290
288
  - lib/ariadne/forms/acts_as_component.rb
291
289
  - lib/ariadne/forms/base.html.erb
292
290
  - lib/ariadne/forms/base.rb
@@ -307,8 +305,14 @@ files:
307
305
  - lib/ariadne/forms/dsl/submit_button_input.rb
308
306
  - lib/ariadne/forms/dsl/text_field_input.rb
309
307
  - lib/ariadne/forms/utils.rb
308
+ - lib/ariadne/static.rb
309
+ - lib/ariadne/static/generate_arguments.rb
310
+ - lib/ariadne/static/generate_audited_at.rb
311
+ - lib/ariadne/static/generate_constants.rb
312
+ - lib/ariadne/static/generate_previews.rb
313
+ - lib/ariadne/static/generate_statuses.rb
314
+ - lib/ariadne/static/generate_structure.rb
310
315
  - lib/ariadne/view_components.rb
311
- - lib/ariadne/view_components/commands.rb
312
316
  - lib/ariadne/view_components/constants.rb
313
317
  - lib/ariadne/view_components/engine.rb
314
318
  - lib/ariadne/view_components/linters.rb
@@ -316,35 +320,28 @@ files:
316
320
  - lib/ariadne/view_components/linters/autocorrectable.rb
317
321
  - lib/ariadne/view_components/linters/base_linter.rb
318
322
  - lib/ariadne/view_components/linters/tag_tree_helpers.rb
319
- - lib/ariadne/view_components/statuses.rb
320
- - lib/ariadne/view_components/upstream.rb
321
323
  - lib/ariadne/view_components/version.rb
322
324
  - lib/ariadne/yard.rb
323
325
  - lib/ariadne/yard/backend.rb
324
326
  - lib/ariadne/yard/component_manifest.rb
325
327
  - lib/ariadne/yard/component_ref.rb
326
328
  - lib/ariadne/yard/docs_helper.rb
327
- - lib/ariadne/yard/info_arch_docs_helper.rb
329
+ - lib/ariadne/yard/dry_initializer/common_handler.rb
330
+ - lib/ariadne/yard/dry_initializer/option_handler.rb
331
+ - lib/ariadne/yard/dry_initializer/param_handler.rb
328
332
  - lib/ariadne/yard/lookbook_docs_helper.rb
329
- - lib/ariadne/yard/lookbook_pages_backend.rb
330
333
  - lib/ariadne/yard/registry.rb
331
334
  - lib/ariadne/yard/renders_many_handler.rb
332
335
  - lib/ariadne/yard/renders_one_handler.rb
336
+ - lib/ariadne/yard/structure_docs_helper.rb
333
337
  - lib/rubocop/config/default.yml
334
338
  - lib/rubocop/cop/ariadne.rb
335
- - lib/rubocop/cop/ariadne/no_tag_memoize.rb
336
- - static/arguments.yml
337
- - static/assets/view-components.svg
338
- - static/classes.yml
339
- - static/constants.json
340
- - static/statuses.json
341
- - static/tailwindcss.yml
342
339
  homepage: https://github.com/yettoapp/ariadne
343
340
  licenses:
344
341
  - AGPL-3.0-or-later
345
342
  metadata:
346
343
  allowed_push_host: https://rubygems.org
347
- post_install_message:
344
+ post_install_message:
348
345
  rdoc_options: []
349
346
  require_paths:
350
347
  - lib
@@ -360,7 +357,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
360
357
  version: '0'
361
358
  requirements: []
362
359
  rubygems_version: 3.5.22
363
- signing_key:
360
+ signing_key:
364
361
  specification_version: 4
365
362
  summary: ViewComponents + TailwindCSS + Stimulus
366
363
  test_files: []
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Ariadne
4
- module Behaviors
5
- module Captionable
6
- def with_caption(text, **options)
7
- @caption_id = ::Ariadne::ViewHelper.generate_id
8
-
9
- Ariadne::Behaviors::Caption.new(id: @caption_id, text: text, component: self, **options)
10
- end
11
- end
12
-
13
- class Caption < Ariadne::BaseComponent
14
- option :id
15
- option :text
16
- option :component
17
- option :size, default: -> { :sm }
18
-
19
- erb_template <<~ERB
20
- <div data-controller="ariadne-tooltip",>
21
- <%= render(component) { content } %>
22
- <p class="<%= style(:text) %>"><%= text %></p>
23
- </div>
24
- ERB
25
-
26
- style do
27
- base do
28
- [
29
- "ariadne-text-gray-500",
30
- ]
31
- end
32
-
33
- variants do
34
- size do
35
- # w-36
36
- sm { "max-w-[min(144px,90vw)]" }
37
- # w-52
38
- md { "max-w-[min(208px,90vw)]" }
39
- # w-96
40
- lg { "max-w-[min(384px,90vw)]" }
41
- end
42
- end
43
- end
44
-
45
- style :text do
46
- base do
47
- [
48
- "text-sm",
49
- "ariadne-text-gray-500",
50
- ]
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,3 +0,0 @@
1
- <turbo-frame class="contents" id="<%= target %>">
2
- <%= render component %>
3
- </turbo-frame>
@@ -1,16 +0,0 @@
1
- # typed: false
2
- # frozen_string_literal: true
3
-
4
- module Ariadne
5
- module Turbo
6
- module Frame
7
- class Component < Ariadne::BaseComponent
8
- option :component
9
-
10
- def target
11
- @target ||= component.component_id
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,4 +0,0 @@
1
- <%= helpers.turbo_stream_action_tag(
2
- turbo_action,
3
- target:, template: (empty? ? "" : render(component)),
4
- ) %>