الأزرار

استخدم أزرار Platformscode Core لتنفيذ الإجراءات.

الاستخدام الأساسي

كل زر يُبنى من الكلاس الأساسي pfc-btn.

HTML
<button type="button" class="pfc-btn pfc-btn--primary-brand pfc-btn--md">
  <span class="pfc-btn-label">Primary button</span>
</button>
JSX
import { DgaButton } from 'platformscode-new-react';

<DgaButton label="Primary button" variant="primary-brand" size="md" />

الأنواع اللونية

تشمل المكتبة عدة أنواع لونية.

HTML
<button class="pfc-btn pfc-btn--primary-brand pfc-btn--md"><span class="pfc-btn-label">Brand</span></button>
<button class="pfc-btn pfc-btn--primary-neutral pfc-btn--md"><span class="pfc-btn-label">Neutral</span></button>
<button class="pfc-btn pfc-btn--secondary pfc-btn--md"><span class="pfc-btn-label">Secondary</span></button>
<button class="pfc-btn pfc-btn--secondary-outline pfc-btn--md"><span class="pfc-btn-label">Outline</span></button>
<button class="pfc-btn pfc-btn--subtle pfc-btn--md"><span class="pfc-btn-label">Subtle</span></button>
<button class="pfc-btn pfc-btn--transparent pfc-btn--md"><span class="pfc-btn-label">Transparent</span></button>
JSX
import { DgaButton } from 'platformscode-new-react';

<DgaButton label="Brand" variant="primary-brand" size="md" />
<DgaButton label="Neutral" variant="primary-neutral" size="md" />
<DgaButton label="Secondary" variant="secondary" size="md" />
<DgaButton label="Outline" variant="secondary-outline" size="md" />
<DgaButton label="Subtle" variant="subtle" size="md" />
<DgaButton label="Transparent" variant="transparent" size="md" />

الأحجام

تتوفر ثلاثة أحجام.

HTML
<button class="pfc-btn pfc-btn--primary-brand pfc-btn--sm">…</button>
<button class="pfc-btn pfc-btn--primary-brand pfc-btn--md">…</button>
<button class="pfc-btn pfc-btn--primary-brand pfc-btn--lg">…</button>
JSX
import { DgaButton } from 'platformscode-new-react';

<DgaButton label="Small" variant="primary-brand" size="sm" />
<DgaButton label="Medium" variant="primary-brand" size="md" />
<DgaButton label="Large" variant="primary-brand" size="lg" />

الحالات

ست حالات معتمدة للزر.

HTML
<!-- الحالات التلقائية: لا تحتاج أصنافاً -->
<button class="pfc-btn pfc-btn--primary-brand pfc-btn--md">افتراضي</button>
<button class="pfc-btn pfc-btn--primary-brand pfc-btn--md" disabled>مُعطّل</button>

<!-- المُختار: حالة يديرها التطبيق -->
<button class="pfc-btn pfc-btn--primary-brand pfc-btn--md pfc-state-selected"
        aria-pressed="true">مُختار</button>

<!-- لعرض حالة مثبّتة في التوثيق فقط -->
<!-- pfc-state-hover / pfc-state-pressed / pfc-state-focus -->
JSX
import { DgaButton } from 'platformscode-new-react';

// dga-button
<DgaButton
  variant="primary-brand"
  size="md"
  label="افتراضي"
/>

الأزرار مع الأيقونات

أضف أيقونة داخل الزر عبر pfc-btn-icon.

HTML
<button class="pfc-btn pfc-btn--primary-brand pfc-btn--md">
  <i class="hgi-stroke hgi-add-01 pfc-btn-icon" aria-hidden="true"></i>
  <span class="pfc-btn-label">Add item</span>
</button>

<button class="pfc-btn pfc-btn--primary-brand pfc-btn--md pfc-btn--icon-only" aria-label="Add">
  <i class="hgi-stroke hgi-add-01 pfc-btn-icon" aria-hidden="true"></i>
</button>
JSX
import { DgaButton } from 'platformscode-new-react';

<DgaButton
  label="Add item"
  variant="primary-brand"
  size="md"
  leadIcon
  leadIconType="add-01"
  leadIconProps={{ variant: 'stroke', type: 'rounded' }} />

<DgaButton
  label="Next"
  variant="secondary-outline"
  size="md"
  trailIcon
  trailIconType="arrow-left-01"
  trailIconProps={{ variant: 'stroke', type: 'rounded' }} />

// iconOnly hides the label but still uses it as the accessible name
<DgaButton
  label="Add"
  variant="primary-brand"
  size="md"
  iconOnly
  iconType="add-01"
  iconProps={{ variant: 'stroke', type: 'rounded' }} />

ملاحظة الاتجاه.

الأزرار التحذيرية

للإجراءات الخطيرة استخدم pfc-btn--des-*.

HTML
<button class="pfc-btn pfc-btn--des-primary pfc-btn--md">…</button>
<button class="pfc-btn pfc-btn--des-secondary-outline pfc-btn--md">…</button>
<button class="pfc-btn pfc-btn--des-subtle pfc-btn--md">…</button>

<!-- زر معطّل: أضف السمة disabled -->
<button class="pfc-btn pfc-btn--primary-brand pfc-btn--md" disabled>…</button>
JSX
import { DgaButton } from 'platformscode-new-react';

<DgaButton label="Delete" variant="des-primary" size="md" />
<DgaButton label="Delete" variant="des-secondary-outline" size="md" />
<DgaButton label="Delete" variant="des-subtle" size="md" />
<DgaButton label="Delete link" variant="des-transparent" size="md" />

<DgaButton label="Disabled" variant="primary-brand" size="md" disabled />

الأزرار على خلفية ملونة

فوق خلفية ملونة أضف pfc-btn--on-color.

HTML
<div style="background:#1b8354; padding:16px;">
  <button class="pfc-btn pfc-btn--primary-brand pfc-btn--on-color pfc-btn--md">…</button>
  <button class="pfc-btn pfc-btn--transparent pfc-btn--on-color pfc-btn--md">…</button>
</div>
JSX
import { DgaButton } from 'platformscode-new-react';

<DgaButton label="Primary" variant="primary-brand" size="md" onColor />
<DgaButton label="Outline" variant="secondary-outline" size="md" onColor />
<DgaButton label="Transparent" variant="transparent" size="md" onColor />

واجهة React

الخصائص مستخرجة من المصدر مباشرة.

<DgaButton /> dga-button

الخاصيةالنوعالافتراضي
variant"des-primary" | "des-secondary" | "des-secondary-outline" | "des-subtle" | "des-transparent" | "primary-brand" | "primary-neutral" | "secondary" | "secondary-outline" | "subtle" | "transparent"primary-neutral
size"lg" | "md" | "sm"md
labelstring-
iconOnlyboolean-
iconTypestring-
iconProps{ [key: string]: any; }-
leadIconboolean-
leadIconTypestring-
leadIconProps{ [key: string]: any; }-
trailIconboolean-
trailIconTypestring-
trailIconProps{ [key: string]: any; }-
disabledboolean-
btnIdstring-
type"button" | "reset" | "submit"button
onColorbooleanfalse
sxstring | { [x: string]: any; }-

الأحداث: onOnClick

<DgaButtonV2 /> dga-button-v2

الخاصيةالنوعالافتراضي
variant"neutral" | "primary" | "secondary-outline" | "secondary-solid" | "subtle" | "transparent"primary
size"lg" | "md" | "sm"md
labelstring-
iconOnlyboolean-
leadIconboolean-
leadIconPropsIcon-
trailIconboolean-
trailIconPropsIcon-
disabledboolean-
btnIdstring-
type"button" | "reset" | "submit"button
onColorbooleanfalse
destructivebooleanfalse

الأحداث: onOnClick

<NdsButton /> nds-button

الخاصيةالنوعالافتراضي
variant"primary-brand" | "primary-neutral" | "secondary-outline" | "secondary-solid" | "subtle" | "transparent"primary-brand
size"lg" | "md" | "sm"md
labelstring-
iconOnlyboolean-
leadingIconstring-
leadingIconProps{ color?: string; type?: "rounded" | "sharp" | "standard"; size?: number; variant?: "stroke" | "solid" | "duotone" | "twotone" | "bulk"; }-
trailingIconstring-
trailingIconProps{ color?: string; type?: "rounded" | "sharp" | "standard"; size?: number; variant?: "stroke" | "solid" | "duotone" | "twotone" | "bulk"; }-
disabledboolean-
type"button" | "reset" | "submit"button
invertedbooleanfalse
destructivebooleanfalse
selectedbooleanfalse

الأحداث: onOnClick

<DgaActions /> dga-actions

الخاصيةالنوعالافتراضي
direction"column" | "row"row
gapstring8px
align"center" | "end" | "start" | "stretch"start
justify"between" | "center" | "end" | "start"start
wrapbooleanfalse

مرجع الكلاسات

جميع الكلاسات المتاحة لمكوّن الأزرار:

الكلاس النوع الوصف
pfc-btnأساسيالكلاس الأساسي المطلوب لكل زر.
pfc-btn-labelأساسيغلاف نص الزر.
pfc-btn-iconأساسييُطبّق على عنصر الأيقونة.
pfc-btn--primary-brandنوعالزر الأساسي بلون العلامة.
pfc-btn--secondary-outlineنوعزر ثانوي بحدود فقط.
pfc-btn--subtleنوعزر خفيف بخلفية باهتة.
pfc-btn--des-*نوعالنسخ التحذيرية.
pfc-btn--sm / --md / --lgحجمحجم الزر.
pfc-btn--icon-onlyمعدّلزر مربّع بأيقونة فقط.
pfc-btn--on-colorمعدّللضبط التباين فوق خلفية ملوّنة.
disabledسمةسمة HTML لتعطيل الزر.