البوابة وعرض الطبقات العلوية لـ Angular | ng-hub-ui-portal

مكتبة portal لـ Angular لعرض المكوّنات والقوالب والطبقات العلوية الديناميكية خارج شجرة DOM الحالية مع التحكّم في الموضع.

مرجع API

إليك العقد الكامل لـ portal: كل ما يمكنك ربطه والاستماع إليه وإسقاطه وتنسيقه، مجموعاً في مكان واحد. اربط ما تحتاجه ونسّق ما تريده — إنه standalone وملائم للـ Signals.

المدخلات

اضبط portal عبر 15 مدخلات. اربطها مثل أي @Input في Angular.

الاسمالنوعالافتراضيالوصف
animationbooleanإذا كانت true، سيُحرَّك فتح وإغلاق portal. الافتراضي: true
ariaLabelledBystringقيمة السمة `aria-labelledby` لضبطها على نافذة portal
ariaDescribedBystringقيمة السمة `aria-describedby` لضبطها على نافذة portal
beforeDismiss() => boolean | Promise<boolean>دالة استدعاء قبل صرف portal مباشرة. أرجِع false لمنع الصرف.
containerstring | HTMLElementمحدِّد يعيّن العنصر الذي يجب إلحاق جميع نوافذ portal الجديدة به. إذا لم يُحدَّد، سيكون `body`.
injectorInjector`Injector` المراد استخدامه لمحتوى portal لتفعيل حقن الاعتماديات.
keyboardbooleanإذا كانت true، سيُغلَق portal عند الضغط على مفتاح Escape. الافتراضي: true
scrollablebooleanمحتوى portal قابل للتمرير (false افتراضيًا).
windowClassstringفئة مخصصة لإلحاقها بنافذة portal للتنسيق والتموضع المخصصين.
portalDialogClassstringفئة مخصصة لإلحاقها بحاوية مربع حوار portal.
portalContentClassstringفئة مخصصة لإلحاقها بغلاف محتوى portal.
headerSelectorstringمحدِّد مخصص لعنصر رأس نافذة portal. مفيد لاستهداف أقسام portal محددة.
footerSelectorstringمحدِّد مخصص لعنصر تذييل نافذة portal. مفيد لاستهداف أقسام portal محددة.
dismissSelectorstringمحدِّد مخصص للعناصر التي يمكنها تشغيل صرف نافذة portal. الافتراضي: `[data-dismiss="portal"]`
closeSelectorstringمحدِّد مخصص للعناصر التي يمكنها تشغيل إغلاق نافذة portal. الافتراضي: `[data-close="portal"]`

المخرجات

لم يتم توثيق أي مخرجات بعد.

القوالب

اجعله خاصاً بك — 1 فتحات قوالب تتيح لك إسقاط ترميز مخصّص.

الاسمالوصفمثال
Portal Templateمرجع قالب يمكن تمريره إلى خدمة HubPortal للعرض الديناميكي<ng-template #portalTemplate> <div class="portal-content"> <div class="portal-header"> <h4>Portal Title</h4> <button data-dismiss="portal">×</button> </div> <div class="portal-body"> Portal content goes here </div> <div class="portal-footer"> <button data-dismiss="portal">Cancel</button> <button data-close="portal">OK</button> </div> </div> </ng-template> <!-- Open the portal --> <button (click)="portal.open(portalTemplate)">Open Portal</button>

متغيّرات CSS

نسّق كل بكسل عبر 15 متغيّرات CSS. تجاوزها عند :root أو حدّد نطاقها على غلاف.

متغيرات Portal الأساسية

متغيّرات التنسيق الأساسية لبنية portal وتموضعه

المتغيّرالافتراضيالنوعالوصف
--portal-zindex1050number Z-index الخاص بطبقة تراكب portal
--portal-padding1remlength الحشو الافتراضي لمحتوى portal
--portal-margin0.5remlength الهامش حول مربع حوار portal

مظهر Portal

متغيّرات تتحكم في ألوان portal وحدوده وتأثيراته المرئية

المتغيّرالافتراضيالنوعالوصف
--portal-bg#ffffffcolor لون خلفية محتوى portal
--portal-color#212529color لون نص محتوى portal
--portal-border-color#dee2e6color لون حد portal
--portal-border-width1pxborder عرض حد portal
--portal-border-radius0.375remborder نصف قطر زوايا portal
--portal-box-shadow0 0.5rem 1rem rgba(0, 0, 0, 0.15)shadow ظل صندوق لارتفاع portal

رأس وتذييل Portal

متغيّرات التنسيق لقسمي رأس وتذييل portal

المتغيّرالافتراضيالنوعالوصف
--portal-header-padding1remlength حشو رأس portal
--portal-header-border-color#dee2e6color لون حد رأس portal
--portal-footer-padding1remlength حشو تذييل portal
--portal-footer-border-color#dee2e6color لون حد تذييل portal

الخلفية والتراكب

متغيّرات تتحكم في مظهر الخلفية وسلوكها

المتغيّرالافتراضيالنوعالوصف
--portal-backdrop-bgrgba(0, 0, 0, 0.5)color لون خلفية portal الخلفية
--portal-backdrop-zindex1040number Z-index الخاص بالخلفية (يجب أن يكون أقل من Z-index الخاص بـ portal)

التنسيق والسمات

لم يتم توثيق أي أمثلة تنسيق بعد. سيتضمّن هذا القسم وصفات التخصيص وأمثلة السمات.