Skip to content

CSS: tray

.instui-tray — פאנל מוצמד לקצה שמחליק פנימה מכל צד; [popover] או <dialog> מובנה.

מיקומי התחלה/סיום נקבעים ביחס ל-inset-inline (לוגי, רגיש לכיוון); הטרנספורמציה של המחליק משתקפת אוטומטית כאשר יש רכיב אב מסוג [dir="rtl"], ולכן לא נדרש סימון נוסף לפריסות ימין-לשמאל.

Source: tray.css

נגישות

המגש הוא משטח דיאלוג או פופ-אובר, לכן יש לקרוא לו aria-label או aria-labelledby, ובקרת הסגירה שלו נושאת aria-label (ה-.instui-close-button בדוגמה משתמש ב-aria-label="Close").

שימוש

css
@import "@pantoken/components/components.css";
@import "@pantoken/components/tray.css";

דוגמאות

html
<div class="instui-tray -placement-end -size-sm">
  <span class="instui-heading -level-h3">Filters</span>
  <p class="-size-sm">A tray slides in from the start edge and fills the viewport height.</p>
</div>
<button class="instui-button -toggle">toggle tray</button>

מבנה

text
.instui-tray
  close-button (component, 0..1)
  ‹content›
flowchart TD n0[".instui-tray"]:::cssdoc-root n1(["close-button"]):::cssdoc-component n2[/"‹content›"/]:::cssdoc-slot n0 -.->|0..1| n1 n0 --> n2 click n1 "/api/css/close-button.md" classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

מחליפים

מחליףתיאור
.-placement-bottomהצמד לקצה התחתון.
.-placement-endהצמד לקצה הסיום (inline-end).
.-placement-start(ברירת מחדל) הצמד לקצה ההתחלה (inline-start).
.-placement-topהצמד לקצה העליון.
.-size-largeגדול. שם מורחב של -size-lg.
.-size-lgגדול.
.-size-md(ברירת מחדל) בינוני.
.-size-medium(ברירת מחדל) בינוני. כינוי ארוך ל־-size-md.
.-size-regularמופרט — use .-size-md.
.-size-smקטן.
.-size-smallקטן. שם מורחב של -size-sm.
.-size-x-largeגדול מאוד. שם מורחב של -size-xl.
.-size-x-smallקטן מאוד. שם מורחב של -size-xs.
.-size-xlגדול מאוד.
.-size-xsקטן מאוד.

תנאים

סוגשאילתהתיאור
supports(transition-behavior: allow-discrete)

אסימוני צריכה

Tokenסוגערך
--instui-component-tray-background-color<color>LightDarklight-dark(#ffffff, #1C222B)
--instui-component-tray-border-color<color>LightDarklight-dark(#E8EAEC, #334450)
--instui-component-tray-border-width<length>0.0625rem
--instui-component-tray-padding<length>1.5rem
--instui-component-tray-width-lg<length>48em
--instui-component-tray-width-md<length>30em
--instui-component-tray-width-sm<length>20em
--instui-component-tray-width-xl<length>62em
--instui-component-tray-width-xs<length>16em
--instui-component-tray-z-index<integer>9999
--instui-elevation-topmostnone | <shadow>#
--tray-slide-x-100%
--tray-slide-y0%

תמיכה בדפדפן

  • נפתח בעזרת ה-API המובנה [popover] ו-@starting-style; החלק המחליק נמצא מאחורי מגן @supports (transition-behavior: allow-discrete), לכן דפדפנים שאין בהם תמיכה עדיין פותחים את המגש, אך ללא אפקט החלקה.

תת־רכיבים

קשור

  • modal — אותו דפוס שכבה הניתנת לסגירה, ממורכז במקום מוצמד לקצה.
  • popover — משטח שכבה עליונה כללי שעליו זה מבוסס.