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.