layered-ui-rails 0.10.0 → 0.11.0
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 +4 -4
- data/.claude/skills/layered-ui-rails/references/CSS.md +5 -0
- data/.claude/skills/layered-ui-rails/references/HELPERS.md +1 -1
- data/CHANGELOG.md +11 -0
- data/app/assets/tailwind/layered/ui/styles.css +14 -8
- data/app/helpers/layered/ui/form_helper.rb +1 -1
- data/lib/layered/ui/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7b8624e106b7699524fb79136daa1fca817909d6d35937c08d1488829265f1cc
|
|
4
|
+
data.tar.gz: 690fc99b3a4c5a18aed1b301839264ff14d21ceb4a58d1047561baf8853a5231
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '058e550042712d33577ebd0336eb4be4da804c22464a441c6fe234122284f2f2abe7208a247c42622669329520facda8b51669179e17c7d0bae95d9c1483723f'
|
|
7
|
+
data.tar.gz: 5db1adea650826e3b76d6e1a106be48c5ff8af5e1062fbcd100fab95ebd436597ece3318edf3fd1faaf582ee499ca04d1b357f2908b6433e6d854a8f8ba16416
|
|
@@ -268,6 +268,11 @@ WCAG 2.2 AA table pattern:
|
|
|
268
268
|
.l-ui-message__body Message content
|
|
269
269
|
.l-ui-message__footer Metadata footer
|
|
270
270
|
.l-ui-message__timestamp Timestamp
|
|
271
|
+
|
|
272
|
+
.l-ui-stream-fade Fade-in for streamed chunks as they arrive (0.5s ease-out)
|
|
273
|
+
.l-ui-stream-fade-word Per-word staggered fade-in for completed responses
|
|
274
|
+
(0.5s ease-out; set --i to the word index for a 25ms
|
|
275
|
+
stagger, capped at 1s)
|
|
271
276
|
```
|
|
272
277
|
|
|
273
278
|
## Markdown
|
|
@@ -220,7 +220,7 @@ Renders a complete form with all fields, error summary, and submit button via th
|
|
|
220
220
|
|
|
221
221
|
Field options:
|
|
222
222
|
- `attribute` (Symbol) - model attribute
|
|
223
|
-
- `as` (Symbol, optional) - field type; auto-detected from column type. Supported: `:string`, `:text`, `:email`, `:number`, `:date`, `:datetime`, `:select`, `:checkbox`, `:hidden`
|
|
223
|
+
- `as` (Symbol, optional) - field type; auto-detected from column type. Supported: `:string`, `:text`, `:email`, `:password`, `:number`, `:date`, `:datetime`, `:select`, `:checkbox`, `:hidden`
|
|
224
224
|
- `label` (String, optional) - custom label text; defaults to humanised attribute
|
|
225
225
|
- `required` (Boolean, optional) - marks field as required; default false
|
|
226
226
|
- `hint` (String, optional) - help text below the field
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. This project follows [Semantic Versioning](https://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [0.11.0] - 2026-05-07
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- `l-ui-stream-fade` animation classes for fading in streamed chat output token-by-token
|
|
10
|
+
- `:password` form field type support in `l_ui_form` for `password_field` inputs via `as: :password`
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Form fields now have an explicit background colour
|
|
15
|
+
|
|
5
16
|
## [0.10.0] - 2026-05-03
|
|
6
17
|
|
|
7
18
|
### Added
|
|
@@ -934,8 +934,7 @@
|
|
|
934
934
|
/* Surface */
|
|
935
935
|
|
|
936
936
|
@utility surface {
|
|
937
|
-
@apply
|
|
938
|
-
p-4
|
|
937
|
+
@apply p-4
|
|
939
938
|
rounded-sm overflow-x-auto;
|
|
940
939
|
}
|
|
941
940
|
|
|
@@ -1061,7 +1060,7 @@ pre.l-ui-surface {
|
|
|
1061
1060
|
w-full px-3 py-2.5 min-h-[44px]
|
|
1062
1061
|
/* text-base at mobile; text-sm at md+ */
|
|
1063
1062
|
text-base font-inter
|
|
1064
|
-
text-foreground
|
|
1063
|
+
bg-background text-foreground
|
|
1065
1064
|
border border-border-control rounded-sm
|
|
1066
1065
|
focus-ring;
|
|
1067
1066
|
|
|
@@ -1792,19 +1791,26 @@ pre.l-ui-surface {
|
|
|
1792
1791
|
animation-delay: 0.3s;
|
|
1793
1792
|
}
|
|
1794
1793
|
|
|
1795
|
-
/*
|
|
1794
|
+
/* Stream fade-in */
|
|
1796
1795
|
|
|
1797
|
-
@keyframes l-ui-
|
|
1796
|
+
@keyframes l-ui-stream-fade-in {
|
|
1798
1797
|
from { opacity: 0; transform: translateY(4px); }
|
|
1799
1798
|
to { opacity: 1; transform: translateY(0); }
|
|
1800
1799
|
}
|
|
1801
1800
|
|
|
1802
|
-
.l-ui-
|
|
1803
|
-
animation: l-ui-
|
|
1801
|
+
.l-ui-stream-fade {
|
|
1802
|
+
animation: l-ui-stream-fade-in 0.5s ease-out both;
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
.l-ui-stream-fade-word {
|
|
1806
|
+
display: inline-block;
|
|
1807
|
+
animation: l-ui-stream-fade-in 0.5s ease-out both;
|
|
1808
|
+
animation-delay: min(calc(var(--i, 0) * 25ms), 1s);
|
|
1804
1809
|
}
|
|
1805
1810
|
|
|
1806
1811
|
@media (prefers-reduced-motion: reduce) {
|
|
1807
|
-
.l-ui-
|
|
1812
|
+
.l-ui-stream-fade,
|
|
1813
|
+
.l-ui-stream-fade-word {
|
|
1808
1814
|
animation: none;
|
|
1809
1815
|
}
|
|
1810
1816
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module Layered
|
|
2
2
|
module Ui
|
|
3
3
|
module FormHelper
|
|
4
|
-
FIELD_TYPES = %i[string text email number date datetime select checkbox hidden].freeze
|
|
4
|
+
FIELD_TYPES = %i[string text email password number date datetime select checkbox hidden].freeze
|
|
5
5
|
|
|
6
6
|
# Renders a complete form with all fields, error summary,
|
|
7
7
|
# and submit button.
|
data/lib/layered/ui/version.rb
CHANGED