@rcarls/rc-list 0.0.0-next-20260921045401
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.
- package/CHANGELOG.md +120 -0
- package/README.md +86 -0
- package/dist/custom-elements.json +746 -0
- package/dist/rc-list-Cr-0wTvJ.js +370 -0
- package/dist/rc-list-Cr-0wTvJ.js.map +1 -0
- package/dist/rc-list-define.js +8 -0
- package/dist/rc-list-define.js.map +1 -0
- package/dist/rc-list.js +6 -0
- package/dist/rc-list.js.map +1 -0
- package/dist/types/packages/rc-list/src/define.d.ts +1 -0
- package/dist/types/packages/rc-list/src/index.d.ts +2 -0
- package/dist/types/packages/rc-list/src/rc-list-item.d.ts +109 -0
- package/dist/types/packages/rc-list/src/rc-list-item.styles.d.ts +2 -0
- package/dist/types/packages/rc-list/src/rc-list.d.ts +65 -0
- package/dist/types/packages/rc-list/src/rc-list.styles.d.ts +2 -0
- package/package.json +65 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# @rcarls/rc-list
|
|
2
|
+
|
|
3
|
+
## 0.0.0-next-20260921045401
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 079e025: Standardize component styling contracts for the breaking 0.7 release.
|
|
8
|
+
|
|
9
|
+
BREAKING CHANGE: Rename the Markdown editor's `--rme-*` properties to
|
|
10
|
+
`--rc-markdown-editor-*`, `--rc-app-bar-background` to `--rc-app-bar-bg`,
|
|
11
|
+
`--rc-textarea-radius` to `--rc-textarea-border-radius`, the transfer-list
|
|
12
|
+
`--rc-transfer-list-panel-*` properties to `--rc-transfer-list-listbox-*`,
|
|
13
|
+
`--rc-chip-group-webkit-scrollbar-display` to
|
|
14
|
+
`--rc-chip-group-scrollbar-display`, and `--rc-text` to `--rc-field-text`.
|
|
15
|
+
Compatibility aliases are intentionally not provided.
|
|
16
|
+
|
|
17
|
+
BREAKING CHANGE: Replace `--rc-select-chip-padding-inline` and
|
|
18
|
+
`--rc-combobox-chip-padding-inline` with explicit `*-padding-inline-start` and
|
|
19
|
+
`*-padding-inline-end` tokens. Generated removable chips now reserve the full
|
|
20
|
+
remove target and its edge offset, so their indicator cannot overlap label text.
|
|
21
|
+
|
|
22
|
+
Add canonical app-bar elevation, transfer-list listbox radius, and textarea
|
|
23
|
+
line-action tokens. Add logical `rc-chip` inline-padding properties so themes
|
|
24
|
+
can implement Material's icon-aware spacing without overriding authored child
|
|
25
|
+
styles. Make `rc-field` consume the shared semantic token layer,
|
|
26
|
+
and place the `rc-chip` and `rc-search-bar` light-DOM structural styles in the
|
|
27
|
+
`rc-base` cascade layer so normal consumer rules override them.
|
|
28
|
+
|
|
29
|
+
Prevent decorative, `aria-hidden` trailing list content from intercepting a
|
|
30
|
+
whole-row action target, and keep segmented-list item geometry from leaking
|
|
31
|
+
into nested standard lists.
|
|
32
|
+
|
|
33
|
+
Remove unused Material navigation-rail toggle tokens and obsolete list-item
|
|
34
|
+
theme tokens. Register the segmented-button private theme seam and enforce
|
|
35
|
+
token ownership, documentation, removed-name, selector-budget, and cascade
|
|
36
|
+
layer contracts through the component architecture audit.
|
|
37
|
+
|
|
38
|
+
- 6e548d9: Several components handle `prefers-reduced-motion: reduce` in their own
|
|
39
|
+
shadow styles, outside a theme's reach, and refine it the same way the theme
|
|
40
|
+
layer already does: spatial motion (`translate`, `scale`, `transform`,
|
|
41
|
+
`inline-size`, `block-size`) goes fully to zero, while effects motion (color,
|
|
42
|
+
opacity) shortens instead of disappearing.
|
|
43
|
+
|
|
44
|
+
`rc-app-bar` zeros its host's hide/show `translate` but shortens the
|
|
45
|
+
expanded title's fade-in. `rc-disclosure` keeps its panel's expand/collapse
|
|
46
|
+
zeroed, but its summary/content backstop for a theme-added transition now
|
|
47
|
+
shortens instead of zeroing it outright. `rc-list-item`'s row and
|
|
48
|
+
state-layer transition only color and opacity, so the whole sweep shortens.
|
|
49
|
+
`rc-fab-menu`'s popup mixes `scale` with opacity/overlay/display under one
|
|
50
|
+
shared duration; reduced motion now zeros the scale and shortens the rest.
|
|
51
|
+
`rc-switch`'s thumb mixes background-color with inline-size/block-size/
|
|
52
|
+
transform the same way; the icons and track, which each transition only one
|
|
53
|
+
kind of property, needed only the zero-or-shorten call. `rc-fab`'s
|
|
54
|
+
scroll-reveal is opacity/visibility only with no time-based duration to
|
|
55
|
+
shorten in its scroll-linked path, so reduced motion narrows the scroll
|
|
56
|
+
window instead of collapsing it to zero; its JS-transition fallback path
|
|
57
|
+
shortens the same fade rather than removing it. `rc-progress`'s determinate
|
|
58
|
+
fill transition, previously unguarded under reduced motion, is now zeroed;
|
|
59
|
+
its indeterminate loop, a continuous sweep with no meaningful shortened
|
|
60
|
+
form, stays fully stopped rather than shortened.
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- Updated dependencies [50d5610]
|
|
65
|
+
- Updated dependencies [4341311]
|
|
66
|
+
- @rcarls/rc-common@0.0.0-next-20260921045401
|
|
67
|
+
|
|
68
|
+
## 0.6.0
|
|
69
|
+
|
|
70
|
+
### Minor Changes
|
|
71
|
+
|
|
72
|
+
- b639e04: Add coordinated list and list-item layout tokens so container queries can
|
|
73
|
+
stack unchanged content regions while preserving shared subgrid alignment.
|
|
74
|
+
|
|
75
|
+
Breaking for the pre-1.0 carousel API: remove the redundant
|
|
76
|
+
`variant="hero|multi-browse"` attribute and property. The variant only
|
|
77
|
+
changed slide geometry, which is already controlled by
|
|
78
|
+
`--rc-carousel-slide-size`. Remove `variant="hero"` without replacement;
|
|
79
|
+
replace `variant="multi-browse"` with
|
|
80
|
+
`--rc-carousel-slide-size: min(75%, 300px)`.
|
|
81
|
+
|
|
82
|
+
- a108336: Add shared-column `rc-list` and `rc-list-item` elements with standard and
|
|
83
|
+
segmented appearances, default content truncation, and native-backed single or
|
|
84
|
+
multiple selection coordination. Restore author-owned item state when native
|
|
85
|
+
selection coordination ends.
|
|
86
|
+
- 6683eb9: Add shared, lifecycle-safe click delegation and let interactive list items
|
|
87
|
+
forward plain surface clicks to same-root native action targets while
|
|
88
|
+
preserving nested and modified clicks.
|
|
89
|
+
|
|
90
|
+
### Patch Changes
|
|
91
|
+
|
|
92
|
+
- a108336: Warn in development when `rc-card`/`rc-list-item` has `interactive` set but
|
|
93
|
+
no way to resolve a click target: no `action-target`, and for
|
|
94
|
+
`rc-list-item`, no native child checkbox/radio either. Surface clicks
|
|
95
|
+
silently go nowhere in that state; the warning now says so at the point
|
|
96
|
+
the row or card is set up wrong, instead of leaving it to be discovered
|
|
97
|
+
by a user tapping a dead row or card.
|
|
98
|
+
- 7382c71: Add a priority-aware action toolbar that moves original controls into an
|
|
99
|
+
overflow menu. Which actions are promoted is a purely declarative computation
|
|
100
|
+
from `max-shown` and each action's `data-priority`/authored `slot`, with no
|
|
101
|
+
runtime measurement of the toolbar's or its children's rendered size: a
|
|
102
|
+
consumer whose promoted count needs to react to available space owns that
|
|
103
|
+
decision and writes the resulting `max-shown` value down. Include controlled
|
|
104
|
+
and uncontrolled open state, keyboard navigation, light dismissal, and a
|
|
105
|
+
non-Popover fallback.
|
|
106
|
+
|
|
107
|
+
Fix `--rc-adaptive-menu-touch-target-overlap-inline-start`/`-end`: the host's
|
|
108
|
+
own `max-inline-size: 100%` self-referenced a shrink-to-fit ancestor's
|
|
109
|
+
already-margin-reduced auto size (an app bar's own trailing group, for
|
|
110
|
+
example), quietly clamping the host back down and canceling the overlap out
|
|
111
|
+
from under it. The cap now grows by the overlap amount so it only ever bounds
|
|
112
|
+
the host's real content.
|
|
113
|
+
|
|
114
|
+
- 57370e4: Align component metadata, aggregate framework typings, development-time native-child
|
|
115
|
+
validation, controlled menu state, package declarations, and public documentation before the
|
|
116
|
+
next release.
|
|
117
|
+
- Updated dependencies [6683eb9]
|
|
118
|
+
- Updated dependencies [ee7ba6c]
|
|
119
|
+
- Updated dependencies [30eb232]
|
|
120
|
+
- @rcarls/rc-common@0.6.0
|
package/README.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# @rcarls/rc-list
|
|
2
|
+
|
|
3
|
+
Shared-column list rows with optional native-backed single or multiple
|
|
4
|
+
selection.
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<rc-list selection="single" aria-label="Delivery speed">
|
|
8
|
+
<rc-list-item>
|
|
9
|
+
<input slot="leading" type="radio" name="speed" value="standard" checked />
|
|
10
|
+
<span>Standard</span>
|
|
11
|
+
<span slot="trailing">Free</span>
|
|
12
|
+
</rc-list-item>
|
|
13
|
+
<rc-list-item>
|
|
14
|
+
<input slot="leading" type="radio" name="speed" value="express" />
|
|
15
|
+
<span>Express</span>
|
|
16
|
+
<span slot="trailing">$12</span>
|
|
17
|
+
</rc-list-item>
|
|
18
|
+
</rc-list>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
`rc-list` owns the shared leading, content, and trailing columns. Each direct
|
|
22
|
+
`rc-list-item` participates through CSS subgrid, so optional content aligns
|
|
23
|
+
across rows and unused columns collapse for the whole list.
|
|
24
|
+
|
|
25
|
+
The default `standard` variant is suited to continuous lists. Use
|
|
26
|
+
`variant="segmented"` for discrete settings-style rows. Theme packages own
|
|
27
|
+
their appearance.
|
|
28
|
+
|
|
29
|
+
`selection` accepts `none` (the default), `single`, or `multiple`. Selecting
|
|
30
|
+
lists require one direct native radio or checkbox in each row. The native input
|
|
31
|
+
remains the source of truth for checked and disabled state; the list mirrors
|
|
32
|
+
that state to its item and makes a non-interactive row surface activate the
|
|
33
|
+
input. Links, buttons, inputs, and other interactive descendants retain their
|
|
34
|
+
own behavior. Radios in a single-selection list should share a `name`, just as
|
|
35
|
+
they would in an unenhanced native radio group.
|
|
36
|
+
|
|
37
|
+
## Action targets
|
|
38
|
+
|
|
39
|
+
For a row whose primary action is not its selection input, set `interactive`
|
|
40
|
+
and point `action-target` at a same-root native anchor or button. Plain primary
|
|
41
|
+
clicks on the row surface activate that target; clicks on nested interactive
|
|
42
|
+
content and modifier-qualified or non-primary clicks keep their native
|
|
43
|
+
behavior.
|
|
44
|
+
|
|
45
|
+
```html
|
|
46
|
+
<rc-list aria-label="Theme settings">
|
|
47
|
+
<rc-list-item interactive action-target="open-theme">
|
|
48
|
+
Theme
|
|
49
|
+
<button id="open-theme" type="button" slot="trailing">Choose</button>
|
|
50
|
+
</rc-list-item>
|
|
51
|
+
</rc-list>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The target remains its own keyboard tab stop. `action-target` extends pointer
|
|
55
|
+
reach only and does not turn the row itself into a second button or link.
|
|
56
|
+
|
|
57
|
+
Content truncates with an ellipsis by default. Set
|
|
58
|
+
`--rc-list-item-content-white-space: normal` where multi-line content is
|
|
59
|
+
intended.
|
|
60
|
+
|
|
61
|
+
The shared column sizes and each item's region placement are CSS custom
|
|
62
|
+
properties. Consumers can coordinate them from a container query without
|
|
63
|
+
changing the row's source order, interaction, or semantics. For example,
|
|
64
|
+
collapse the shared trailing track and place trailing metadata below content:
|
|
65
|
+
|
|
66
|
+
```css
|
|
67
|
+
.list-region {
|
|
68
|
+
container-type: inline-size;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@container (max-width: 24rem) {
|
|
72
|
+
.list-region rc-list {
|
|
73
|
+
--rc-list-trailing-size: 0;
|
|
74
|
+
--rc-list-trailing-gap: 0;
|
|
75
|
+
--rc-list-item-grid-template-rows: auto auto;
|
|
76
|
+
--rc-list-item-leading-grid-row: 1 / -1;
|
|
77
|
+
--rc-list-item-content-grid-row: 1;
|
|
78
|
+
--rc-list-item-trailing-grid-column: content-start / content-end;
|
|
79
|
+
--rc-list-item-trailing-grid-row: 2;
|
|
80
|
+
--rc-list-item-trailing-justify-self: start;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Import `@rcarls/rc-list` to use the classes without registering them, or import
|
|
86
|
+
`@rcarls/rc-list/define` to register `<rc-list>` and `<rc-list-item>`.
|