ق
منظومة قاهرة v1.5.0
Qahera UI Kit · Living Showcase
نمط معماري تفاعلي UX Pattern WCAG 2.1 AA 100% Logical CSS

شريط أدوات جدول البيانات Data Table Toolbar

مكون عالي الأداء مبني وفق ميثاق قاهرة الموحد مع التزام تام بالوصولية والأداء.

renderers/html/native/patterns/DataTableToolbar.html المتغيرات: default, primary, secondary
renderers/html/native/patterns/DataTableToolbar.html · HTML5 Strict Markup
<!-- Qahera UI Kit - Data Table Toolbar Pattern (Native HTML) -->
<div class="qhr-data-table-toolbar" style="display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--qhr-space-3); padding-bottom: var(--qhr-space-4);">
  <!-- Search and Filters on Start -->
  <div style="display: flex; flex-wrap: wrap; align-items: center; gap: var(--qhr-space-3); flex: 1;">
    <div style="position: relative; min-width: 240px; display: flex; align-items: center;">
      <span style="position: absolute; inset-inline-start: var(--qhr-space-3); color: var(--qhr-color-neutral-400); pointer-events: none; display: inline-flex;">
        <svg class="qhr-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
          <path d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
        </svg>
      </span>
      <input 
        type="search" 
        class="qhr-input qhr-input--sm" 
        placeholder="بحث في الجدول..." 
        style="width: 100%; padding-inline-start: var(--qhr-space-8);" />
    </div>

    <div style="min-width: 130px;">
      <select class="qhr-select qhr-select--sm" aria-label="تصفية حسب الحالة">
        <option value="">كافة الحالات</option>
        <option value="active">نشط</option>
        <option value="pending">معلق</option>
        <option value="suspended">موقوف</option>
      </select>
    </div>
  </div>

  <!-- Actions on End -->
  <div style="display: flex; align-items: center; gap: var(--qhr-space-2);">
    <button type="button" class="qhr-btn qhr-btn--secondary qhr-btn--sm">
      <svg class="qhr-icon" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
        <path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4m4-5l5 5 5-5m-5 5V3" />
      </svg>
      <span>تصدير البيانات</span>
    </button>
    <button type="button" class="qhr-btn qhr-btn--primary qhr-btn--sm">
      <svg class="qhr-icon" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
        <path d="M12 5v14m-7-7h14" />
      </svg>
      <span>إضافة سجل جديد</span>
    </button>
  </div>
</div>

مواصفات الميثاق المعماري (Architectural Contract)

التصنيف والهدف (Role & Category)

التصنيف: نمط معماري تفاعلي

الغرض: مكون عالي الأداء مبني وفق ميثاق قاهرة الموحد مع التزام تام بالوصولية والأداء.

المتغيرات المدعومة (Variants)

default, primary, secondary

تعتمد كلياً على فئات CSS المعيارية --qhr-* دون انحراف مفرداتي.

المقاسات المعيارية (Sizes)

sm, md, lg

متناسقة بصرياً وتدعم التكبير الهرمي المتوازن.

إمكانية الوصول (A11y Standards)

متوافق مع WCAG 2.1 AA بنسبة تباين تتجاوز 4.5:1.

دعم كامل للوحة المفاتيح ومؤشرات التركيز focus-visible.