DataView: expose classNames for filter-chip internals and loader rows
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 65/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- react, typescript
- Ambito
- frontend
Direzione di ricerca
Inizia da DataView.List e dall’implementazione di FilterChip, quindi traccia come Filters.classNames.filterChips e DataViewListClassNames vengono applicati agli elementi renderizzati. Aggiungi hook agli elementi interni di filter-chip elencati e al contenitore di caricamento o alle righe, mantenendo invariati i pattern esistenti di classNames; il lavoro è completo quando entrambe le aree possono essere tematizzate senza selettori CSS-module con hash.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
DataView.List renders its rows, cells, and group headers internally, and exposes classNames hooks for them (root, header, headerCell, row, cell, groupHeader, plus per-column cell/header and Filters.classNames.filterChips/addFilter). Two rendered parts still have no hook, so theming them means targeting hashed CSS-module classes ([class*="data-view-module_…"]), which are internal and can change between releases.
What has no hook
-
Filter-chip internals.
Filters.classNames.filterChipslands on the chip root only. The inner parts can't be reached:chip-label,operationText,operationValue,selectValue,removeIcon,removeIconContainer,leadingIcon. -
Loader / skeleton rows. When
isLoadingrenders placeholder rows, there's no hook on the loader container or its rows —DataViewListClassNamescovers real rows, not the loading state.
Proposed change
- Add a
classNamesobject toFilterChip(surfaced throughFilters) covering its inner parts. - Add a
loader(and/or loader-row) key toDataViewListClassNames.
Both follow the pattern the existing hooks already use: read an optional string from props, apply it to the element DataView already renders.
Willing to contribute
Happy to open a PR if the approach looks right.
- Lingua principale
- TypeScript
- Stelle
- 70
- Fork
- 13
- Merge medio
- 4g 6h
- PR unite (30g)
- 10
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di raystack/apsara
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 75/100
-
Docs: hand-duplicated props tables drift risk, missing a11y sections, no per-component changelog Apertaenhancement global
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
bug global
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Tutte le issue di raystack/apsara
Issue simili
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Crush Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
ElementsProject/cln-application#167 · 1 commento · 1 reazione ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Quantco/pnpm-licenses#17 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100