ariadne_view_components 0.0.93.2 → 0.0.94

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.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -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.2
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: 2025-01-04 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
- ) %>