Skip to main content

Popup

shadow

wje-popup je nízkoúrovňový overlay, ktorý používa napríklad wje-dropdown a wje-select. Okrem klasického plávajúceho panelu pri anchor elemente podporuje aj responzívnu mobilnú prezentáciu ako bottom sheet.

Mobilný bottom sheet

Nastavte mobile-presentation="bottom-sheet" a mobile-break-point, ak sa má popup pod zadanou šírkou zobraziť ako sheet zospodu. V tomto režime popup presunie obsah do portálu, zobrazí backdrop a vypne Floating UI pozicionovanie, aby panel držal spodnú hranu viewportu.

<wje-popup mobile-presentation="bottom-sheet" mobile-break-point="768">
<wje-button slot="anchor">Open</wje-button>
<wje-menu variant="context">
<wje-menu-item>Confirm</wje-menu-item>
<wje-menu-item>Cancel</wje-menu-item>
</wje-menu>
</wje-popup>

Backdrop je dostupný cez ::part(backdrop) a panel cez ::part(native). Pre mobile sheet sú dostupné CSS premenné --wje-popup-backdrop-background, --wje-popup-backdrop-opacity, --wje-popup-mobile-background, --wje-popup-mobile-border-radius, --wje-popup-mobile-box-shadow, --wje-popup-mobile-max-height, --wje-popup-mobile-transition-duration a --wje-popup-mobile-transition-easing.

Ak je popup označený size, predvolene sa drží šírky anchor elementu. Komponenty, ktoré potrebujú širší obsah počas načítavania, môžu interne zapnúť contentAwareSize, aby popup rástol podľa obsahu.

Kedy použiť

Použite wje-popup, keď staviate vlastný overlay naviazaný na trigger alebo potrebujete zdieľaný základ pre menu, select či kontextový panel.

Kedy nepoužiť

Nepoužívajte viacero konkurenčných feedback kanálov naraz pre jednu udalosť.

Prístupnosť

Trigger musí mať zrozumiteľný názov a pri menu obsahu nastavte vhodné roly na vnorených položkách. Pri mobile sheet režime overte, že backdrop dismiss nie je jediný spôsob zatvorenia.

Odporúčané postupy

  • Pri bežných dropdown scenároch používajte vyššie komponenty ako wje-dropdown alebo wje-select.
  • Pri portal režime overte, že udalosti a router linky ostávajú naviazané aj po presune obsahu.
  • Pri mobile sheet režime dolaďte backdrop a max-height cez CSS premenné podľa konkrétneho layoutu.

Atribúty a vlastnosti

loader

PopisUrčuje, či je voľba loader zapnutá a ovplyvňuje správanie komponentu.
Atribútloader
Typboolean
Predvolenéfalse

manual

PopisUrčuje, či je voľba manual zapnutá a ovplyvňuje správanie komponentu.
Atribútmanual
Typboolean
Predvolenéfalse

mobileBreakPoint

PopisNastavuje textovú hodnotu uloženú vo voľbe mobile-break-point.
Atribútmobile-break-point
Typstring
Predvolené768

mobilePresentation

PopisNastavuje textovú hodnotu uloženú vo voľbe mobile-presentation.
Atribútmobile-presentation
Typstring
Predvolené-

portal

PopisUrčuje, či je voľba portal zapnutá a ovplyvňuje správanie komponentu.
Atribútportal
Typboolean
Predvolenéfalse

Udalosti

NázovPopis
wje-portal:restoredVyvolá sa pri odoslaní udalosti wje-portal:restored.
wje-popup:repositionVyvolá sa pri odoslaní udalosti wje-popup:reposition.
wje-popup:showVyvolá sa pri odoslaní udalosti wje-popup:show.
wje-popup:hideVyvolá sa pri odoslaní udalosti wje-popup:hide.
wje-popup:beforeshowVyvolá sa pri odoslaní udalosti wje-popup:beforeshow.
wje-popup:aftershowVyvolá sa pri odoslaní udalosti wje-popup:aftershow.
wje-router:rebindVyvolá sa pri odoslaní udalosti wje-router:rebind.
wje-popup:openedVyvolá sa pri otvorení komponentu.

Metódy

setAnchor

PopisNastaví anchor a aplikuje súvisiace zmeny stavu.
Signatúra() => void

clearBottomSheetRestoreTimeout

PopisVyčistí bottom sheet restore timeout a obnoví súvisiace hodnoty.
Signatúra() => void

isBottomSheetActive

PopisOverí, či je bottom sheet active aktuálne pravda.
Signatúra() => void

setBottomSheetState

PopisNastaví bottom sheet state a aplikuje súvisiace zmeny stavu.
Signatúra(isActive: any) => void

clearBottomSheetState

PopisVyčistí bottom sheet state a obnoví súvisiace hodnoty.
Signatúra() => void

rebindPortaledRouter

PopisSpustí metódu rebindPortaledRouter na vykonanie logiky komponentu a aktualizáciu jeho stavu.
Signatúra() => void

syncResponsivePresentation

PopisSynchronizuje responsive presentation s externým alebo interným zdrojom stavu.
Signatúra() => void

getBottomSheetTransitionDurationMs

PopisVráti bottom sheet transition duration ms z aktuálneho stavu komponentu.
Signatúra() => void

show

PopisZobrazí show v používateľskom rozhraní komponentu.
Signatúra(dispatchEvent?: boolean) => void

hide

PopisSkryje hide v používateľskom rozhraní komponentu.
Signatúra(dispatchEvent: any) => void

CSS tieňové časti

NázovPopis
nativeŠtýluje koreňovú shadow časť komponentu.
backdropŠtýluje shadow časť backdrop.

CSS vlastné premenné

NázovPopis
--wje-popup-backdrop-backgroundVlastná CSS premenná na štýlovanie komponentu (backdrop background).
--wje-popup-backdrop-opacityVlastná CSS premenná, ktorá riadi úroveň priehľadnosti.
--wje-popup-mobile-backgroundVlastná CSS premenná na štýlovanie komponentu (mobile background).
--wje-popup-mobile-border-radiusVlastná CSS premenná, ktorá riadi zaoblenie rohov.
--wje-popup-mobile-box-shadowVlastná CSS premenná, ktorá riadi tieň.
--wje-popup-mobile-max-heightVlastná CSS premenná, ktorá riadi mobile max height.
--wje-popup-mobile-transition-durationVlastná CSS premenná, ktorá riadi časovanie animácie a prechodov.
--wje-popup-mobile-transition-easingVlastná CSS premenná, ktorá riadi časovanie animácie a prechodov.
--wje-popup-loader-insetVlastná CSS premenná na štýlovanie komponentu (loader inset).

Sloty

NázovPopis
anchorSlot pre kotviaci alebo referenčný prvok.
arrowSlot pre vlastný prvok šípky.
defaultPredvolený slot pre hlavný obsah komponentu.