poetry-ui 0.1.2 → 0.1.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: cfaee0a24a3a61b10a2bf12f2afb0dd5a0b8f93117392f8deb4fbb81da36c984
4
- data.tar.gz: bf5011451e6d6bd7fe2c7bed1ebc1150f3503d04fc04687f8bd0463d6a1612e4
3
+ metadata.gz: 1dc3d057d2a1fd8016bbf07932226f34cc1cb43ae92fab30787e8111790d7737
4
+ data.tar.gz: dc55e865b56c2616c1b3bc071aebb6b6ef1d597159e468972be626b45242e65d
5
5
  SHA512:
6
- metadata.gz: 11db0fc73021f75632fbf927e3f807043c7091eeaa049b5d58b90561910e2d521a94abe0f871333484f9f0292e3cc2f25c262c578d4dfb5d43a12591cb33159a
7
- data.tar.gz: d27e5cb320b82e7f40fca65b3e3898350a5ec6ac8778c88b95fb7f8a11fca29861783a1bc016322e5dab9a583b82586fccc7fd48d905f4f0603029fed700f866
6
+ metadata.gz: '011951d31c612220f1b733879608a7c47fba2e713b293b651cd615fe240018000eae5118a391aeb87141c0c20132b9a55fa96a9fb205c8090e5896ca7f7b11a8'
7
+ data.tar.gz: 43ffba5aa6ee261bfee9f0b7d6e8283069672f62fc38666c9572a76ce18720a6d9622f84a1db07d155f7e6bf427fe5594ae69b71d15170110442eec1465d57b1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.4] - 2026-09-15
4
+
5
+ ### Fixed
6
+
7
+ - The Autocomplete popup opens 4 pixels below the input, like Combobox, Select and the menus, instead of flush against it; `side_offset:` sets the gap.
8
+
9
+ ## [0.1.3] - 2026-09-13
10
+
11
+ ### Fixed
12
+
13
+ - `poetry_webmcp_form ... do |form|` is no longer a yieldless block to `poetry check`: the registry's helpers section now says the helper yields the form builder, as the helper's own example always showed.
14
+ - `bin/rails poetry:check` accepts the app's own `poetry_*` helper methods (the adapter `poetry:pagination` copies in, a wrapper of the host's own): their names come from `app/helpers` boot-free, their options and blocks are their own, and the wiring rules still apply. A composed trigger's `do |wiring|` is no longer flagged either (poetry-core 0.1.3).
15
+
3
16
  ## [0.1.2] - 2026-09-13
4
17
 
5
18
  ### Added
@@ -34,7 +34,10 @@ module Poetry
34
34
  register
35
35
  value :open_on_focus, "false", if: -> { !open_on_focus }
36
36
  end
37
- controller(:popper) { register }
37
+ controller :popper do
38
+ register
39
+ value :side_offset
40
+ end
38
41
  end
39
42
  on :input do
40
43
  controller :autocomplete do
@@ -73,6 +76,8 @@ module Poetry
73
76
  doc: "The no-matches message; hidden while anything matches."
74
77
  option :open, :boolean, default: false, doc: "Server-renders the suggestion popup open."
75
78
  option :open_on_focus, :boolean, default: true, doc: "Opens the suggestions on focus; false waits for typing."
79
+ option :side_offset, :integer, default: 4,
80
+ doc: "Gap in px between the input and the suggestion popup (Combobox's default)."
76
81
 
77
82
  part "autocomplete", "Root wrapper carrying the controller + popper pair"
78
83
  part "autocomplete-input", "The REAL text input - role=combobox with aria-expanded " \
@@ -982,6 +982,10 @@ module Poetry
982
982
  { "name" => "value", "type" => "object" }
983
983
  ]
984
984
  },
985
+ "poetry_webmcp_form" => {
986
+ "yields" => "the form builder (Poetry::Ui::FormBuilder unless builder: says otherwise) - " \
987
+ "form.field and form.input author the tool's parameters; every standard field helper works"
988
+ },
985
989
  "poetry_input_group_addon" => {
986
990
  "options" => [{ "name" => "align", "type" => "symbol", "default" => "inline-start",
987
991
  "variants" => INPUT_GROUP_ALIGNS.map(&:to_s) }]
@@ -578,6 +578,11 @@ components:
578
578
  - name: placeholder
579
579
  type: string
580
580
  description: Placeholder text shown while the input is empty.
581
+ - name: side_offset
582
+ type: integer
583
+ default: 4
584
+ description: Gap in px between the input and the suggestion popup (Combobox's
585
+ default).
581
586
  - name: value
582
587
  type: string
583
588
  description: The initial input text.
@@ -682,6 +687,8 @@ components:
682
687
  conditional: if
683
688
  - identifier: poetry--core--popper
684
689
  registers: true
690
+ values:
691
+ - name: side_offset
685
692
  - element: input
686
693
  controllers:
687
694
  - identifier: poetry--core--autocomplete
@@ -12155,7 +12162,10 @@ helpers:
12155
12162
  poetry_table_header: {}
12156
12163
  poetry_table_row: {}
12157
12164
  poetry_tooltip_provider: {}
12158
- poetry_webmcp_form: {}
12165
+ poetry_webmcp_form:
12166
+ yields: 'the form builder (Poetry::Ui::FormBuilder unless builder: says otherwise)
12167
+ - form.field and form.input author the tool''s parameters; every standard field
12168
+ helper works'
12159
12169
  blocks:
12160
12170
  action-bar:
12161
12171
  title: Action bar
@@ -48,6 +48,7 @@ module Poetry
48
48
  AGENT_LINE = %(@import "./poetry/agent.css" layer(base);)
49
49
  # The reset floor, vendored only for hosts that opted out of preflight.
50
50
  RESET_FILE = "app/assets/tailwind/poetry/reset.css"
51
+ # The entry line that imports the floor, beside the theme in layer(base).
51
52
  RESET_LINE = %(@import "./poetry/reset.css" layer(base);)
52
53
  # The theme slot: --theme swaps its CONTENT, the filename stays put.
53
54
  STYLE_SLOT = "app/assets/tailwind/poetry/style-default.css"
@@ -3,6 +3,6 @@
3
3
  module Poetry
4
4
  module Ui
5
5
  # The gem version.
6
- VERSION = "0.1.2"
6
+ VERSION = "0.1.4"
7
7
  end
8
8
  end
@@ -43,7 +43,12 @@ namespace :poetry do
43
43
  # helpers join the valid set and their contracts are checked like the
44
44
  # gems' - built live from the loaded classes, never a committed file.
45
45
  host = Poetry::Core::HostComponents.registry(root: Rails.root)
46
- catalog = Poetry::Core::Check::Catalog.from_registries(roots, icon_names: icon_names, host_registry: host)
46
+ # The app's own poetry_* helper METHODS (app/helpers: the adapter
47
+ # poetry:pagination copies in, a wrapper the host wrote) are valid
48
+ # names with contracts of their own - the wiring rules still apply.
49
+ host_helpers = Poetry::Core::HostComponents.helper_methods(root: Rails.root)
50
+ catalog = Poetry::Core::Check::Catalog.from_registries(roots, icon_names: icon_names, host_registry: host,
51
+ host_helpers: host_helpers)
47
52
  findings = Poetry::Core::Check::Runner.new(catalog).run(paths, root: Rails.root)
48
53
 
49
54
  # The taste tier: design-slop warnings join the mechanical
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poetry-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Solt
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.1.2
18
+ version: 0.1.4
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 0.1.2
25
+ version: 0.1.4
26
26
  description: 'Poetry''s components for the AI-native UI component library: accessible,
27
27
  themeable, agent-legible ViewComponents built entirely on poetry-core''s public
28
28
  DSL.'
@@ -504,7 +504,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
504
504
  - !ruby/object:Gem::Version
505
505
  version: '0'
506
506
  requirements: []
507
- rubygems_version: 4.0.16
507
+ rubygems_version: 4.0.20
508
508
  specification_version: 4
509
509
  summary: 'The Poetry component library: AI-native UI components for Rails'
510
510
  test_files: []