stimeo-ui 0.11.0 → 0.13.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/CHANGELOG.md +107 -0
- data/dist/cable/index.js +461 -154
- data/dist/controllers/calendar_controller.js +10 -2
- data/dist/controllers/carousel_controller.js +1 -1
- data/dist/controllers/command_palette_controller.js +2 -2
- data/dist/controllers/count_up_controller.js +74 -35
- data/dist/controllers/date_range_picker_controller.js +10 -10
- data/dist/controllers/drawer_controller.js +2 -2
- data/dist/controllers/intersection_controller.js +55 -8
- data/dist/controllers/lazy_frame_controller.js +81 -19
- data/dist/controllers/optimistic_controller.js +141 -20
- data/dist/controllers/pointer_drag_controller.js +4 -0
- data/dist/controllers/reading_progress_controller.js +177 -6
- data/dist/controllers/scrollspy_controller.js +13 -2
- data/dist/controllers/smart_sticky_header_controller.js +52 -10
- data/dist/controllers/sortable_controller.js +241 -67
- data/dist/controllers/sticky_observer_controller.js +13 -2
- data/dist/controllers/toast_controller.js +1 -1
- data/dist/index.js +587 -183
- data/lib/stimeo/ui/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9270fc3c010e18a652ab837ecec7b712bbdd78e9859b0690409fff8b5623f640
|
|
4
|
+
data.tar.gz: 8920d26834c8c2444f35c0f6d04cc2c21835163414a62f7339e95608130dc29a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8da3b269a404ca927d73e19a3be176b8fe7ce094a3d2742055bdb0675c2a1862fda1b20667aed527a2a7848dedaf568617b01824d7bd90819171a7d3bbd49e2e
|
|
7
|
+
data.tar.gz: 0141d8fec6cc63786a1e0dc348350670236c54129969dfebbc93538c23dea48945bb2080d5e692e7219d092304cf07725a93a7539e3185bbf56198e544f0fd46
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,111 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
While the version is `0.x`, the public API (the `stimeo--*` data attributes) may
|
|
8
8
|
change between releases.
|
|
9
9
|
|
|
10
|
+
## [0.13.0] - 2026-09-13
|
|
11
|
+
|
|
12
|
+
Minor release with no new components. The three server-bound components are
|
|
13
|
+
reworked — live-counter, presence, and optimistic — and each changed a contract,
|
|
14
|
+
so read Changed before upgrading. The Inspector manifest stays on schema v12.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- live-counter: a broadcast whose `count` or `delta` is not an integer is
|
|
19
|
+
ignored, a `delta` param that is not an integer falls back to `1`, and a
|
|
20
|
+
declared `channel` keeps the gate closed until the subscription is confirmed.
|
|
21
|
+
A delta carrying your own `id` is applied unless an optimistic add of the same
|
|
22
|
+
size is still outstanding. Runtime changes to `channel` / `params`
|
|
23
|
+
re-subscribe.
|
|
24
|
+
- presence: a leave notice is sent by the last element claiming that `id` rather
|
|
25
|
+
than by every element, a `channel` key in `params` no longer overrides the
|
|
26
|
+
declared `channel`, `heartbeat` / `timeout` fall back to their defaults unless
|
|
27
|
+
finite, positive and at most 2147483647 — typing-indicator's `timeout` takes
|
|
28
|
+
the same bound — and `template` clones only its root element.
|
|
29
|
+
- optimistic: `turbo:submit-end` is matched to the submission it names instead of
|
|
30
|
+
to any ending that reaches the element, so a submission whose ending never
|
|
31
|
+
arrives no longer strands the element. The `data-optimistic-toggled` marker
|
|
32
|
+
carries the authored value to restore instead of `"true"`, `aria-busy` gets the
|
|
33
|
+
same record (`data-optimistic-busy`), and a rollback writes those records back
|
|
34
|
+
rather than inverting the current value — `hidden="until-found"` no longer
|
|
35
|
+
degrades to a bare `hidden`, and an element registered for both `show` and
|
|
36
|
+
`hide` returns to its authored state.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- calendar: a malformed `<html lang>` (an `en_US`-style tag that `Intl` rejects)
|
|
41
|
+
no longer stops the month grid from painting. The month label falls back to
|
|
42
|
+
English while the 42 cells, the single tab stop, and the `monthchange` /
|
|
43
|
+
`select` conditions stay as they were; any other failure of the label
|
|
44
|
+
formatter still propagates.
|
|
45
|
+
|
|
46
|
+
## [0.12.0] - 2026-09-06
|
|
47
|
+
|
|
48
|
+
Minor release with no new components. Six existing ones are reworked — count-up,
|
|
49
|
+
intersection, lazy-frame, reading-progress, smart-sticky-header, and sortable —
|
|
50
|
+
and the number reading count-up gained reaches live-counter too. Most of them
|
|
51
|
+
changed a contract, so read Removed and Changed before upgrading. The Inspector
|
|
52
|
+
manifest stays on schema v12.
|
|
53
|
+
|
|
54
|
+
### Removed
|
|
55
|
+
|
|
56
|
+
- sortable: the `status` target, its `data-grabbed` / `data-moved` /
|
|
57
|
+
`data-dropped` / `data-canceled` templates, and the English fallback wording.
|
|
58
|
+
Seat a `stimeo--announcer` on the page and set `announceGrabbedText` /
|
|
59
|
+
`announceMovedText` / `announceDroppedText` / `announceCanceledText`
|
|
60
|
+
(`{name}` / `{position}` / `{total}`); an unset one announces nothing.
|
|
61
|
+
`stimeo check` stops asking for the live region and warns when no announcer
|
|
62
|
+
is seated.
|
|
63
|
+
|
|
64
|
+
### Changed
|
|
65
|
+
|
|
66
|
+
- count-up: only the text node holding the number is animated, and while it
|
|
67
|
+
ticks it is wrapped in a `role="img"` element named with the authored text —
|
|
68
|
+
the host's own `aria-label` and `role` are never touched, and sibling markup
|
|
69
|
+
stays where it was.
|
|
70
|
+
- count-up and live-counter read a formatted number by one rule: the first
|
|
71
|
+
numeric token, group separators dropped, the fraction truncated, and a hyphen
|
|
72
|
+
a sign only where it opens the token — `"Sign-ups: 1,200"` reads 1200, not
|
|
73
|
+
-1200.
|
|
74
|
+
- intersection: `0` is always among the observed lines, so a non-zero
|
|
75
|
+
`threshold` also reports the element leaving for good (one more `change`;
|
|
76
|
+
`data-passed` and the ratio property follow the departure to its end), and an
|
|
77
|
+
exit across the start edge reports `position: "before"` while the element
|
|
78
|
+
still overlaps the root.
|
|
79
|
+
- lazy-frame: a re-fetch needs a genuine re-entry — the frame is seen inside the
|
|
80
|
+
observed area, leaves it, and comes back; where a connection or a
|
|
81
|
+
focus-started load first finds it is the baseline. A frame with `once` off is
|
|
82
|
+
armed again after a cache restore, and `load` names the URL that was fetched.
|
|
83
|
+
- reading-progress: an article with no layout box is not measured, the
|
|
84
|
+
article's own box is watched so late-settling content re-measures, and the
|
|
85
|
+
connect frame is the baseline — a restored scroll position does not fire
|
|
86
|
+
`complete`. Both faces of the custom property are leased: the element's copy
|
|
87
|
+
is returned on `disconnect()` too, an authored `:root` declaration comes back,
|
|
88
|
+
and a later writer is left alone.
|
|
89
|
+
- smart-sticky-header: `change` fires on transitions only (connecting is
|
|
90
|
+
silent), and the `offset` zone is decided ahead of the jitter guard.
|
|
91
|
+
- sortable: insertion is relative to the neighbouring item — the `list`-less
|
|
92
|
+
markup works and the last slot is after the last item — and a drag signal from
|
|
93
|
+
a pointer-drag nested inside an item no longer moves the card. The pickup slot
|
|
94
|
+
is remembered as neighbours, so rows inserted or removed mid-drag shift neither
|
|
95
|
+
the restore nor `from`; only laid-out siblings take part in pointer following;
|
|
96
|
+
and a session whose item leaves the item set ends instead of refusing every
|
|
97
|
+
later grab. pointer-drag consumes `Home` / `End` while grabbed.
|
|
98
|
+
- A declaration that cannot be read falls back to its default: count-up's
|
|
99
|
+
`duration` / `from`, smart-sticky-header's `offset`, and a `rootSelector` /
|
|
100
|
+
`containerSelector` that does not parse (intersection, sticky-observer,
|
|
101
|
+
smart-sticky-header) observes the viewport or the window. Runtime changes to
|
|
102
|
+
intersection's `threshold`, lazy-frame's `url` / `rootMargin`, and
|
|
103
|
+
smart-sticky-header's `offset` are followed.
|
|
104
|
+
|
|
105
|
+
### Fixed
|
|
106
|
+
|
|
107
|
+
- lazy-frame: focus moving inside a loaded frame no longer re-fetches it, the
|
|
108
|
+
first intersection after a focus-started load is not a re-entry, and an empty
|
|
109
|
+
`url` is never written to `src`.
|
|
110
|
+
- intersection: with `once`, a handler calling `refresh()` from `enter` no longer
|
|
111
|
+
clears the one-shot marker, so a cache restore does not fire `enter` again.
|
|
112
|
+
- reading-progress: hiding a half-read article no longer publishes `1` and
|
|
113
|
+
`complete`.
|
|
114
|
+
|
|
10
115
|
## [0.11.0] - 2026-09-05
|
|
11
116
|
|
|
12
117
|
Minor release with no new components. Eight existing ones are reworked — the three
|
|
@@ -930,6 +1035,8 @@ Initial public alpha: 101 behavior-only, accessible Stimulus controllers driven
|
|
|
930
1035
|
by `data-*` attributes, shipping no CSS. Published to npm (with provenance) and
|
|
931
1036
|
RubyGems.
|
|
932
1037
|
|
|
1038
|
+
[0.13.0]: https://github.com/taiyaky/stimeo-ui/releases/tag/v0.13.0
|
|
1039
|
+
[0.12.0]: https://github.com/taiyaky/stimeo-ui/releases/tag/v0.12.0
|
|
933
1040
|
[0.11.0]: https://github.com/taiyaky/stimeo-ui/releases/tag/v0.11.0
|
|
934
1041
|
[0.10.0]: https://github.com/taiyaky/stimeo-ui/releases/tag/v0.10.0
|
|
935
1042
|
[0.9.0]: https://github.com/taiyaky/stimeo-ui/releases/tag/v0.9.0
|