Module: Weft::Presets
- Defined in:
- lib/weft/presets.rb
Overview
Registry for named interaction presets. Each preset is a bundle of trigger/swap/target defaults that Context expands via loads:.
Shipped presets are registered at the bottom of this file. Users will be able to register custom presets in v1.x via the same API.
Constant Summary collapse
- RESERVED_KWARGS =
Weft's own element-kwarg vocabulary (keep in sync with Context::Expansion's grammar; :prompt reserved ahead of its arrival). A preset by one of these names would shadow the expansion grammar.
%i[action navigate loads trigger push_url swap target with confirm prompt].freeze
- HTML_ATTRIBUTE_NAMES =
HTML attribute names a preset would shadow: a registered preset claims its kwarg whenever the value is a Class or String, so
title: "..."would stop rendering the HTML attribute. Global attributes plus the commonly-passed per-element ones. %i[ accesskey autocapitalize autofocus class contenteditable dir draggable enterkeyhint hidden id inert inputmode lang nonce popover role slot spellcheck style tabindex title translate href src alt name value type placeholder disabled readonly required checked selected multiple method rel download media width height ].freeze
Class Method Summary collapse
-
.lookup(name) ⇒ Object
Look up a registered preset by name.
-
.register(name, **defaults) ⇒ Object
Register a named interaction preset.
-
.registered ⇒ Object
All registered preset names.
Class Method Details
.lookup(name) ⇒ Object
Look up a registered preset by name. Returns the defaults hash or nil.
39 40 41 |
# File 'lib/weft/presets.rb', line 39 def lookup(name) registry[name] end |
.register(name, **defaults) ⇒ Object
33 34 35 36 |
# File 'lib/weft/presets.rb', line 33 def register(name, **defaults) validate_name!(name) registry[name] = defaults end |
.registered ⇒ Object
All registered preset names.
44 45 46 |
# File 'lib/weft/presets.rb', line 44 def registered registry.keys end |