@a.nemreen/dga-ui 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -411,7 +411,15 @@ Compose the official home template with library primitives only - no page-local
411
411
  </dga-card>
412
412
 
413
413
  <dga-logo-tile label="شريك" />
414
- <dga-footer [columns]="footerColumns" copyright="…" />
414
+ <dga-footer
415
+ appearance="brand"
416
+ [columns]="footerColumns"
417
+ [iconGroups]="footerIconGroups"
418
+ [bottomLinks]="footerBottomLinks"
419
+ [logos]="footerLogos"
420
+ copyright="جميع الحقوق محفوظة © 2026"
421
+ meta="آخر تحديث للموقع في 11 سبتمبر 2026 7:30 ص"
422
+ />
415
423
  ```
416
424
 
417
425
  Portal tokens (layout sizes): `--size-hero-portal` (491px), `--size-header-portal` (72px), `--size-icon-badge` (40px), `--size-dot` (16px).
@@ -6193,17 +6193,14 @@ import{DOCUMENT as nt,NgTemplateOutlet as Xa,APP_BASE_HREF as mt,PlatformLocatio
6193
6193
  </div>
6194
6194
  </div>
6195
6195
  </div>
6196
- `,changeDetection:g.OnPush,host:{"[class]":"hostClasses()","[attr.data-open]":"open() || null","[attr.data-calendar]":"calendar()","[attr.data-time-format]":"timeFormat()"}}]}],ctorParameters:()=>[],propDecorators:{open:[{type:a.Input,args:[{isSignal:!0,alias:"open",required:!1}]},{type:a.Output,args:["openChange"]}],calendar:[{type:a.Input,args:[{isSignal:!0,alias:"calendar",required:!1}]},{type:a.Output,args:["calendarChange"]}],timeFormat:[{type:a.Input,args:[{isSignal:!0,alias:"timeFormat",required:!1}]},{type:a.Output,args:["timeFormatChange"]}],showDate:[{type:a.Input,args:[{isSignal:!0,alias:"showDate",required:!1}]}],showTime:[{type:a.Input,args:[{isSignal:!0,alias:"showTime",required:!1}]}],locale:[{type:a.Input,args:[{isSignal:!0,alias:"locale",required:!1}]}],regionLabel:[{type:a.Input,args:[{isSignal:!0,alias:"regionLabel",required:!1}]}],stampLabel:[{type:a.Input,args:[{isSignal:!0,alias:"stampLabel",required:!1}]}],tabTextLg:[{type:a.Input,args:[{isSignal:!0,alias:"tabTextLg",required:!1}]}],tabTextSm:[{type:a.Input,args:[{isSignal:!0,alias:"tabTextSm",required:!1}]}],verifyText:[{type:a.Input,args:[{isSignal:!0,alias:"verifyText",required:!1}]}],registrationLabel:[{type:a.Input,args:[{isSignal:!0,alias:"registrationLabel",required:!1}]}],registrationId:[{type:a.Input,args:[{isSignal:!0,alias:"registrationId",required:!1}]}],registrationHref:[{type:a.Input,args:[{isSignal:!0,alias:"registrationHref",required:!1}]}],notices:[{type:a.Input,args:[{isSignal:!0,alias:"notices",required:!1}]}]}});function Rs(u,e){const t=new Intl.DateTimeFormat("en-US-u-ca-islamic-umalqura",{day:"numeric",month:"numeric",year:"numeric",timeZone:"Asia/Riyadh"}).formatToParts(u),s=w=>parseInt(t.find(x=>x.type===w)?.value??"0",10),r=s("day"),l=s("month"),o=s("year"),p=de(e)?"ar":"en",f=Fs[p][Math.max(0,l-1)]??"";return de(e)?`${r} ${f} ${o} هـ`:`${f} ${r}, ${o} AH`}function Os(u,e){return new Intl.DateTimeFormat(de(e)?"ar-SA":"en-US",{weekday:"long",year:"numeric",month:"long",day:"numeric",timeZone:"Asia/Riyadh"}).format(u)}function Vs(u,e,t){return new Intl.DateTimeFormat(de(e)?"ar-SA":"en-US",{hour:"numeric",minute:"2-digit",hour12:t==="12",timeZone:"Asia/Riyadh"}).format(u)}class qa{baseHref=h(mt,{optional:!0})??h(ft).getBaseHrefFromDOM()??"/";brand=i("",...ngDevMode?[{debugName:"brand"}]:[]);title=i("",...ngDevMode?[{debugName:"title"}]:[]);links=i([],...ngDevMode?[{debugName:"links"}]:[]);columns=i([],...ngDevMode?[{debugName:"columns"}]:[]);iconGroups=i([],...ngDevMode?[{debugName:"iconGroups"}]:[]);bottomLinks=i([],...ngDevMode?[{debugName:"bottomLinks"}]:[]);policyLinks=i([],...ngDevMode?[{debugName:"policyLinks"}]:[]);logos=i([],...ngDevMode?[{debugName:"logos"}]:[]);copyright=i("",...ngDevMode?[{debugName:"copyright"}]:[]);meta=i("",...ngDevMode?[{debugName:"meta"}]:[]);appearance=i("default",...ngDevMode?[{debugName:"appearance"}]:[]);navLabel=i("",...ngDevMode?[{debugName:"navLabel"}]:[]);ariaLabel=i("",...ngDevMode?[{debugName:"ariaLabel"}]:[]);appHref(e){return $(e,this.baseHref)}showBottom=n(()=>!!(this.copyright()||this.meta()||this.bottomLinks().length||this.policyLinks().length||this.logos().length),...ngDevMode?[{debugName:"showBottom"}]:[]);hostClass=n(()=>d("block",this.appearance()==="brand"?"border-0 bg-footer text-on-color":"border-t border-border bg-surface text-fg"),...ngDevMode?[{debugName:"hostClass"}]:[]);headingClass=n(()=>d("m-0 border-b pb-md text-body-md font-semibold",this.appearance()==="brand"?"border-white/25 text-on-color":"border-border text-display"),...ngDevMode?[{debugName:"headingClass"}]:[]);textLinkClass=n(()=>d("inline-flex items-center gap-sm text-body-sm underline-offset-2","focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",this.appearance()==="brand"?"text-on-color hover:text-on-color-muted hover:underline":"text-paragraph hover:text-fg-primary hover:underline"),...ngDevMode?[{debugName:"textLinkClass"}]:[]);metaLinkClass=n(()=>d("text-body-xs underline-offset-2","focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",this.appearance()==="brand"?"text-on-color-muted hover:text-on-color hover:underline":"text-muted hover:text-fg-primary hover:underline"),...ngDevMode?[{debugName:"metaLinkClass"}]:[]);copyrightClass=n(()=>d("m-0 text-body-xs",this.appearance()==="brand"?"text-on-color-muted":"text-muted"),...ngDevMode?[{debugName:"copyrightClass"}]:[]);dividerClass=n(()=>d("my-3xl border-0 border-t",this.appearance()==="brand"?"border-white/20":"border-border"),...ngDevMode?[{debugName:"dividerClass"}]:[]);iconBtnClass=n(()=>d("inline-flex size-10 items-center justify-center rounded-md border transition-colors","focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",this.appearance()==="brand"?"border-white/30 text-on-color hover:border-white/55 hover:bg-white/10":"border-border text-fg hover:bg-neutral-light"),...ngDevMode?[{debugName:"iconBtnClass"}]:[]);static ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"22.1.5",ngImport:a,type:qa,deps:[],target:a.ɵɵFactoryTarget.Component});static ɵcmp=a.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"22.1.5",type:qa,isStandalone:!0,selector:"dga-footer",inputs:{brand:{classPropertyName:"brand",publicName:"brand",isSignal:!0,isRequired:!1,transformFunction:null},title:{classPropertyName:"title",publicName:"title",isSignal:!0,isRequired:!1,transformFunction:null},links:{classPropertyName:"links",publicName:"links",isSignal:!0,isRequired:!1,transformFunction:null},columns:{classPropertyName:"columns",publicName:"columns",isSignal:!0,isRequired:!1,transformFunction:null},iconGroups:{classPropertyName:"iconGroups",publicName:"iconGroups",isSignal:!0,isRequired:!1,transformFunction:null},bottomLinks:{classPropertyName:"bottomLinks",publicName:"bottomLinks",isSignal:!0,isRequired:!1,transformFunction:null},policyLinks:{classPropertyName:"policyLinks",publicName:"policyLinks",isSignal:!0,isRequired:!1,transformFunction:null},logos:{classPropertyName:"logos",publicName:"logos",isSignal:!0,isRequired:!1,transformFunction:null},copyright:{classPropertyName:"copyright",publicName:"copyright",isSignal:!0,isRequired:!1,transformFunction:null},meta:{classPropertyName:"meta",publicName:"meta",isSignal:!0,isRequired:!1,transformFunction:null},appearance:{classPropertyName:"appearance",publicName:"appearance",isSignal:!0,isRequired:!1,transformFunction:null},navLabel:{classPropertyName:"navLabel",publicName:"navLabel",isSignal:!0,isRequired:!1,transformFunction:null},ariaLabel:{classPropertyName:"ariaLabel",publicName:"ariaLabel",isSignal:!0,isRequired:!1,transformFunction:null}},host:{attributes:{role:"contentinfo"},properties:{class:"hostClass()","attr.aria-label":"ariaLabel() || null","attr.data-appearance":"appearance()"}},ngImport:a,template:`
6196
+ `,changeDetection:g.OnPush,host:{"[class]":"hostClasses()","[attr.data-open]":"open() || null","[attr.data-calendar]":"calendar()","[attr.data-time-format]":"timeFormat()"}}]}],ctorParameters:()=>[],propDecorators:{open:[{type:a.Input,args:[{isSignal:!0,alias:"open",required:!1}]},{type:a.Output,args:["openChange"]}],calendar:[{type:a.Input,args:[{isSignal:!0,alias:"calendar",required:!1}]},{type:a.Output,args:["calendarChange"]}],timeFormat:[{type:a.Input,args:[{isSignal:!0,alias:"timeFormat",required:!1}]},{type:a.Output,args:["timeFormatChange"]}],showDate:[{type:a.Input,args:[{isSignal:!0,alias:"showDate",required:!1}]}],showTime:[{type:a.Input,args:[{isSignal:!0,alias:"showTime",required:!1}]}],locale:[{type:a.Input,args:[{isSignal:!0,alias:"locale",required:!1}]}],regionLabel:[{type:a.Input,args:[{isSignal:!0,alias:"regionLabel",required:!1}]}],stampLabel:[{type:a.Input,args:[{isSignal:!0,alias:"stampLabel",required:!1}]}],tabTextLg:[{type:a.Input,args:[{isSignal:!0,alias:"tabTextLg",required:!1}]}],tabTextSm:[{type:a.Input,args:[{isSignal:!0,alias:"tabTextSm",required:!1}]}],verifyText:[{type:a.Input,args:[{isSignal:!0,alias:"verifyText",required:!1}]}],registrationLabel:[{type:a.Input,args:[{isSignal:!0,alias:"registrationLabel",required:!1}]}],registrationId:[{type:a.Input,args:[{isSignal:!0,alias:"registrationId",required:!1}]}],registrationHref:[{type:a.Input,args:[{isSignal:!0,alias:"registrationHref",required:!1}]}],notices:[{type:a.Input,args:[{isSignal:!0,alias:"notices",required:!1}]}]}});function Rs(u,e){const t=new Intl.DateTimeFormat("en-US-u-ca-islamic-umalqura",{day:"numeric",month:"numeric",year:"numeric",timeZone:"Asia/Riyadh"}).formatToParts(u),s=w=>parseInt(t.find(x=>x.type===w)?.value??"0",10),r=s("day"),l=s("month"),o=s("year"),p=de(e)?"ar":"en",f=Fs[p][Math.max(0,l-1)]??"";return de(e)?`${r} ${f} ${o} هـ`:`${f} ${r}, ${o} AH`}function Os(u,e){return new Intl.DateTimeFormat(de(e)?"ar-SA":"en-US",{weekday:"long",year:"numeric",month:"long",day:"numeric",timeZone:"Asia/Riyadh"}).format(u)}function Vs(u,e,t){return new Intl.DateTimeFormat(de(e)?"ar-SA":"en-US",{hour:"numeric",minute:"2-digit",hour12:t==="12",timeZone:"Asia/Riyadh"}).format(u)}class qa{baseHref=h(mt,{optional:!0})??h(ft).getBaseHrefFromDOM()??"/";brand=i("",...ngDevMode?[{debugName:"brand"}]:[]);title=i("",...ngDevMode?[{debugName:"title"}]:[]);links=i([],...ngDevMode?[{debugName:"links"}]:[]);columns=i([],...ngDevMode?[{debugName:"columns"}]:[]);iconGroups=i([],...ngDevMode?[{debugName:"iconGroups"}]:[]);bottomLinks=i([],...ngDevMode?[{debugName:"bottomLinks"}]:[]);policyLinks=i([],...ngDevMode?[{debugName:"policyLinks"}]:[]);logos=i([],...ngDevMode?[{debugName:"logos"}]:[]);copyright=i("",...ngDevMode?[{debugName:"copyright"}]:[]);meta=i("",...ngDevMode?[{debugName:"meta"}]:[]);appearance=i("default",...ngDevMode?[{debugName:"appearance"}]:[]);navLabel=i("",...ngDevMode?[{debugName:"navLabel"}]:[]);ariaLabel=i("",...ngDevMode?[{debugName:"ariaLabel"}]:[]);appHref(e){return $(e,this.baseHref)}showBottom=n(()=>!!(this.copyright()||this.meta()||this.bottomLinks().length||this.policyLinks().length||this.logos().length),...ngDevMode?[{debugName:"showBottom"}]:[]);navGridClass=n(()=>d("dga-footer__nav grid gap-3xl sm:grid-cols-2",this.iconGroups().length?"lg:grid-cols-5":"lg:grid-cols-4"),...ngDevMode?[{debugName:"navGridClass"}]:[]);hostClass=n(()=>d("block",this.appearance()==="brand"?"border-0 bg-footer text-on-color":"border-t border-border bg-surface text-fg"),...ngDevMode?[{debugName:"hostClass"}]:[]);headingClass=n(()=>d("m-0 border-b pb-md text-body-md font-semibold",this.appearance()==="brand"?"border-white/25 text-on-color":"border-border text-display"),...ngDevMode?[{debugName:"headingClass"}]:[]);textLinkClass=n(()=>d("inline-flex items-center gap-sm text-body-sm underline-offset-2","focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",this.appearance()==="brand"?"text-on-color hover:text-on-color-muted hover:underline":"text-paragraph hover:text-fg-primary hover:underline"),...ngDevMode?[{debugName:"textLinkClass"}]:[]);bottomLinkClass=n(()=>d("text-body-sm leading-6 no-underline underline-offset-[0.2em]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",this.appearance()==="brand"?"text-on-color hover:underline":"text-muted hover:text-fg-primary hover:underline"),...ngDevMode?[{debugName:"bottomLinkClass"}]:[]);copyrightClass=n(()=>d("m-0 text-body-sm leading-5",this.appearance()==="brand"?"text-on-color/60":"text-muted"),...ngDevMode?[{debugName:"copyrightClass"}]:[]);metaClass=n(()=>d(this.copyrightClass(),"dga-footer__meta"),...ngDevMode?[{debugName:"metaClass"}]:[]);dividerClass=n(()=>d("my-3xl border-0 border-t",this.appearance()==="brand"?"border-white/20":"border-border"),...ngDevMode?[{debugName:"dividerClass"}]:[]);iconBtnClass=n(()=>d("inline-flex size-10 items-center justify-center rounded-md border transition-colors","focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus",this.appearance()==="brand"?"border-white/30 text-on-color hover:border-white/55 hover:bg-white/10":"border-border text-fg hover:bg-neutral-light"),...ngDevMode?[{debugName:"iconBtnClass"}]:[]);static ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"22.1.5",ngImport:a,type:qa,deps:[],target:a.ɵɵFactoryTarget.Component});static ɵcmp=a.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"22.1.5",type:qa,isStandalone:!0,selector:"dga-footer",inputs:{brand:{classPropertyName:"brand",publicName:"brand",isSignal:!0,isRequired:!1,transformFunction:null},title:{classPropertyName:"title",publicName:"title",isSignal:!0,isRequired:!1,transformFunction:null},links:{classPropertyName:"links",publicName:"links",isSignal:!0,isRequired:!1,transformFunction:null},columns:{classPropertyName:"columns",publicName:"columns",isSignal:!0,isRequired:!1,transformFunction:null},iconGroups:{classPropertyName:"iconGroups",publicName:"iconGroups",isSignal:!0,isRequired:!1,transformFunction:null},bottomLinks:{classPropertyName:"bottomLinks",publicName:"bottomLinks",isSignal:!0,isRequired:!1,transformFunction:null},policyLinks:{classPropertyName:"policyLinks",publicName:"policyLinks",isSignal:!0,isRequired:!1,transformFunction:null},logos:{classPropertyName:"logos",publicName:"logos",isSignal:!0,isRequired:!1,transformFunction:null},copyright:{classPropertyName:"copyright",publicName:"copyright",isSignal:!0,isRequired:!1,transformFunction:null},meta:{classPropertyName:"meta",publicName:"meta",isSignal:!0,isRequired:!1,transformFunction:null},appearance:{classPropertyName:"appearance",publicName:"appearance",isSignal:!0,isRequired:!1,transformFunction:null},navLabel:{classPropertyName:"navLabel",publicName:"navLabel",isSignal:!0,isRequired:!1,transformFunction:null},ariaLabel:{classPropertyName:"ariaLabel",publicName:"ariaLabel",isSignal:!0,isRequired:!1,transformFunction:null}},host:{attributes:{role:"contentinfo"},properties:{class:"hostClass()","attr.aria-label":"ariaLabel() || null","attr.data-appearance":"appearance()"}},ngImport:a,template:`
6197
6197
  <div class="w-full px-(--wrapper-padding) py-4xl lg:py-8xl">
6198
6198
  <div class="empty:hidden mb-3xl">
6199
6199
  <ng-content select="[dgaFooterBrand]" />
6200
6200
  </div>
6201
6201
 
6202
6202
  @if (columns().length || iconGroups().length) {
6203
- <nav
6204
- class="grid gap-3xl sm:grid-cols-2 lg:grid-cols-4"
6205
- [attr.aria-label]="navLabel() || null"
6206
- >
6203
+ <nav [class]="navGridClass()" [attr.aria-label]="navLabel() || null">
6207
6204
  @for (col of columns(); track col.title) {
6208
6205
  <div class="flex flex-col gap-lg">
6209
6206
  <h3 [class]="headingClass()">{{ col.title }}</h3>
@@ -6228,7 +6225,7 @@ import{DOCUMENT as nt,NgTemplateOutlet as Xa,APP_BASE_HREF as mt,PlatformLocatio
6228
6225
  }
6229
6226
 
6230
6227
  @if (iconGroups().length) {
6231
- <div class="flex flex-col gap-3xl">
6228
+ <div class="dga-footer__tools flex flex-col gap-3xl">
6232
6229
  @for (group of iconGroups(); track group.title) {
6233
6230
  <div class="flex flex-col gap-lg">
6234
6231
  <h3 [class]="headingClass()">{{ group.title }}</h3>
@@ -6284,34 +6281,36 @@ import{DOCUMENT as nt,NgTemplateOutlet as Xa,APP_BASE_HREF as mt,PlatformLocatio
6284
6281
  >
6285
6282
  <div class="flex min-w-0 flex-1 flex-col gap-xl">
6286
6283
  @if (bottomLinks().length) {
6287
- <div class="flex flex-wrap gap-x-xl gap-y-md">
6284
+ <div class="dga-footer__bottom-links flex flex-wrap">
6288
6285
  @for (link of bottomLinks(); track link.href + link.label) {
6289
- <a [class]="metaLinkClass()" [href]="appHref(link.href)">{{ link.label }}</a>
6286
+ <a [class]="bottomLinkClass()" [href]="appHref(link.href)">{{
6287
+ link.label
6288
+ }}</a>
6290
6289
  }
6291
6290
  </div>
6292
6291
  }
6293
6292
 
6294
- <div
6295
- class="flex flex-col gap-md sm:flex-row sm:flex-wrap sm:items-center sm:gap-x-xl sm:gap-y-md"
6296
- >
6293
+ <div class="dga-footer__legal flex flex-col items-start">
6297
6294
  @if (copyright()) {
6298
6295
  <p [class]="copyrightClass()">{{ copyright() }}</p>
6299
6296
  }
6300
6297
  @if (policyLinks().length) {
6301
- <div class="flex flex-wrap gap-x-xl gap-y-md">
6298
+ <div class="dga-footer__bottom-links flex flex-wrap">
6302
6299
  @for (link of policyLinks(); track link.href + link.label) {
6303
- <a [class]="metaLinkClass()" [href]="appHref(link.href)">{{ link.label }}</a>
6300
+ <a [class]="bottomLinkClass()" [href]="appHref(link.href)">{{
6301
+ link.label
6302
+ }}</a>
6304
6303
  }
6305
6304
  </div>
6306
6305
  }
6307
6306
  @if (meta()) {
6308
- <p [class]="copyrightClass()">{{ meta() }}</p>
6307
+ <p [class]="metaClass()">{{ meta() }}</p>
6309
6308
  }
6310
6309
  </div>
6311
6310
  </div>
6312
6311
 
6313
6312
  @if (logos().length) {
6314
- <div class="dga-footer__logos flex shrink-0 flex-wrap items-center gap-xl">
6313
+ <div class="dga-footer__logos flex shrink-0 flex-wrap items-center">
6315
6314
  @for (logo of logos(); track logo.src + logo.alt) {
6316
6315
  <a
6317
6316
  class="inline-flex items-center"
@@ -6320,7 +6319,7 @@ import{DOCUMENT as nt,NgTemplateOutlet as Xa,APP_BASE_HREF as mt,PlatformLocatio
6320
6319
  [attr.rel]="logo.external ? 'noopener noreferrer nofollow' : null"
6321
6320
  >
6322
6321
  <img
6323
- class="h-10 w-auto object-contain"
6322
+ class="w-auto object-contain"
6324
6323
  [class.brightness-0]="appearance() === 'brand'"
6325
6324
  [class.invert]="appearance() === 'brand'"
6326
6325
  [src]="logo.src"
@@ -6336,17 +6335,14 @@ import{DOCUMENT as nt,NgTemplateOutlet as Xa,APP_BASE_HREF as mt,PlatformLocatio
6336
6335
  </div>
6337
6336
  }
6338
6337
  </div>
6339
- `,isInline:!0,dependencies:[{kind:"component",type:y,selector:"dga-icon",inputs:["name","glyph","size","tone","label"]}],changeDetection:a.ChangeDetectionStrategy.OnPush})}a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"22.1.5",ngImport:a,type:qa,decorators:[{type:m,args:[{selector:"dga-footer",standalone:!0,imports:[y],template:`
6338
+ `,isInline:!0,styles:[":host .dga-footer__bottom-links{column-gap:0;row-gap:.5rem;align-items:center}:host .dga-footer__bottom-links>a:not(:last-child):after{content:\"|\";margin-inline:.75rem;pointer-events:none}:host[data-appearance=brand] .dga-footer__bottom-links>a:not(:last-child):after{color:#fff}:host .dga-footer__legal p{margin:0;white-space:pre-line}:host .dga-footer__meta{padding-block:1rem}:host .dga-footer__logos{gap:1.5rem}:host .dga-footer__logos img{height:2.75rem;max-height:48px}\n"],dependencies:[{kind:"component",type:y,selector:"dga-icon",inputs:["name","glyph","size","tone","label"]}],changeDetection:a.ChangeDetectionStrategy.OnPush})}a.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"22.1.5",ngImport:a,type:qa,decorators:[{type:m,args:[{selector:"dga-footer",standalone:!0,imports:[y],template:`
6340
6339
  <div class="w-full px-(--wrapper-padding) py-4xl lg:py-8xl">
6341
6340
  <div class="empty:hidden mb-3xl">
6342
6341
  <ng-content select="[dgaFooterBrand]" />
6343
6342
  </div>
6344
6343
 
6345
6344
  @if (columns().length || iconGroups().length) {
6346
- <nav
6347
- class="grid gap-3xl sm:grid-cols-2 lg:grid-cols-4"
6348
- [attr.aria-label]="navLabel() || null"
6349
- >
6345
+ <nav [class]="navGridClass()" [attr.aria-label]="navLabel() || null">
6350
6346
  @for (col of columns(); track col.title) {
6351
6347
  <div class="flex flex-col gap-lg">
6352
6348
  <h3 [class]="headingClass()">{{ col.title }}</h3>
@@ -6371,7 +6367,7 @@ import{DOCUMENT as nt,NgTemplateOutlet as Xa,APP_BASE_HREF as mt,PlatformLocatio
6371
6367
  }
6372
6368
 
6373
6369
  @if (iconGroups().length) {
6374
- <div class="flex flex-col gap-3xl">
6370
+ <div class="dga-footer__tools flex flex-col gap-3xl">
6375
6371
  @for (group of iconGroups(); track group.title) {
6376
6372
  <div class="flex flex-col gap-lg">
6377
6373
  <h3 [class]="headingClass()">{{ group.title }}</h3>
@@ -6427,34 +6423,36 @@ import{DOCUMENT as nt,NgTemplateOutlet as Xa,APP_BASE_HREF as mt,PlatformLocatio
6427
6423
  >
6428
6424
  <div class="flex min-w-0 flex-1 flex-col gap-xl">
6429
6425
  @if (bottomLinks().length) {
6430
- <div class="flex flex-wrap gap-x-xl gap-y-md">
6426
+ <div class="dga-footer__bottom-links flex flex-wrap">
6431
6427
  @for (link of bottomLinks(); track link.href + link.label) {
6432
- <a [class]="metaLinkClass()" [href]="appHref(link.href)">{{ link.label }}</a>
6428
+ <a [class]="bottomLinkClass()" [href]="appHref(link.href)">{{
6429
+ link.label
6430
+ }}</a>
6433
6431
  }
6434
6432
  </div>
6435
6433
  }
6436
6434
 
6437
- <div
6438
- class="flex flex-col gap-md sm:flex-row sm:flex-wrap sm:items-center sm:gap-x-xl sm:gap-y-md"
6439
- >
6435
+ <div class="dga-footer__legal flex flex-col items-start">
6440
6436
  @if (copyright()) {
6441
6437
  <p [class]="copyrightClass()">{{ copyright() }}</p>
6442
6438
  }
6443
6439
  @if (policyLinks().length) {
6444
- <div class="flex flex-wrap gap-x-xl gap-y-md">
6440
+ <div class="dga-footer__bottom-links flex flex-wrap">
6445
6441
  @for (link of policyLinks(); track link.href + link.label) {
6446
- <a [class]="metaLinkClass()" [href]="appHref(link.href)">{{ link.label }}</a>
6442
+ <a [class]="bottomLinkClass()" [href]="appHref(link.href)">{{
6443
+ link.label
6444
+ }}</a>
6447
6445
  }
6448
6446
  </div>
6449
6447
  }
6450
6448
  @if (meta()) {
6451
- <p [class]="copyrightClass()">{{ meta() }}</p>
6449
+ <p [class]="metaClass()">{{ meta() }}</p>
6452
6450
  }
6453
6451
  </div>
6454
6452
  </div>
6455
6453
 
6456
6454
  @if (logos().length) {
6457
- <div class="dga-footer__logos flex shrink-0 flex-wrap items-center gap-xl">
6455
+ <div class="dga-footer__logos flex shrink-0 flex-wrap items-center">
6458
6456
  @for (logo of logos(); track logo.src + logo.alt) {
6459
6457
  <a
6460
6458
  class="inline-flex items-center"
@@ -6463,7 +6461,7 @@ import{DOCUMENT as nt,NgTemplateOutlet as Xa,APP_BASE_HREF as mt,PlatformLocatio
6463
6461
  [attr.rel]="logo.external ? 'noopener noreferrer nofollow' : null"
6464
6462
  >
6465
6463
  <img
6466
- class="h-10 w-auto object-contain"
6464
+ class="w-auto object-contain"
6467
6465
  [class.brightness-0]="appearance() === 'brand'"
6468
6466
  [class.invert]="appearance() === 'brand'"
6469
6467
  [src]="logo.src"
@@ -6479,7 +6477,7 @@ import{DOCUMENT as nt,NgTemplateOutlet as Xa,APP_BASE_HREF as mt,PlatformLocatio
6479
6477
  </div>
6480
6478
  }
6481
6479
  </div>
6482
- `,changeDetection:g.OnPush,host:{role:"contentinfo","[class]":"hostClass()","[attr.aria-label]":"ariaLabel() || null","[attr.data-appearance]":"appearance()"}}]}],propDecorators:{brand:[{type:a.Input,args:[{isSignal:!0,alias:"brand",required:!1}]}],title:[{type:a.Input,args:[{isSignal:!0,alias:"title",required:!1}]}],links:[{type:a.Input,args:[{isSignal:!0,alias:"links",required:!1}]}],columns:[{type:a.Input,args:[{isSignal:!0,alias:"columns",required:!1}]}],iconGroups:[{type:a.Input,args:[{isSignal:!0,alias:"iconGroups",required:!1}]}],bottomLinks:[{type:a.Input,args:[{isSignal:!0,alias:"bottomLinks",required:!1}]}],policyLinks:[{type:a.Input,args:[{isSignal:!0,alias:"policyLinks",required:!1}]}],logos:[{type:a.Input,args:[{isSignal:!0,alias:"logos",required:!1}]}],copyright:[{type:a.Input,args:[{isSignal:!0,alias:"copyright",required:!1}]}],meta:[{type:a.Input,args:[{isSignal:!0,alias:"meta",required:!1}]}],appearance:[{type:a.Input,args:[{isSignal:!0,alias:"appearance",required:!1}]}],navLabel:[{type:a.Input,args:[{isSignal:!0,alias:"navLabel",required:!1}]}],ariaLabel:[{type:a.Input,args:[{isSignal:!0,alias:"ariaLabel",required:!1}]}]}});const Ts={primary:"bg-primary-strong/80",dark:"bg-overlay",none:""},$s={none:{},fade:{"mask-image":"linear-gradient(to bottom, #000 65%, transparent 100%)","-webkit-mask-image":"linear-gradient(to bottom, #000 65%, transparent 100%)"},angle:{"clip-path":"polygon(0 0, 100% 0, 100% 100%, 0 88%)"},wave:{"clip-path":"polygon(0% 0%,100% 0%,100% 86%,92% 91%,84% 86%,76% 93%,68% 86%,60% 91%,52% 85%,44% 92%,36% 86%,28% 91%,20% 85%,12% 91%,4% 86%,0% 89%)"}};class za{destroyRef=h(D);autoplayTimer=null;autoplayPaused=b(!1,...ngDevMode?[{debugName:"autoplayPaused"}]:[]);motionReady=b(!1,...ngDevMode?[{debugName:"motionReady"}]:[]);title=i("",...ngDevMode?[{debugName:"title"}]:[]);description=i("",...ngDevMode?[{debugName:"description"}]:[]);subtitle=i("",...ngDevMode?[{debugName:"subtitle"}]:[]);primaryCta=i("",...ngDevMode?[{debugName:"primaryCta"}]:[]);secondaryCta=i("",...ngDevMode?[{debugName:"secondaryCta"}]:[]);primaryHref=i("",...ngDevMode?[{debugName:"primaryHref"}]:[]);secondaryHref=i("",...ngDevMode?[{debugName:"secondaryHref"}]:[]);imageDesktop=i("",...ngDevMode?[{debugName:"imageDesktop"}]:[]);imageMobile=i("",...ngDevMode?[{debugName:"imageMobile"}]:[]);imageUrl=i("",...ngDevMode?[{debugName:"imageUrl"}]:[]);imageOverlay=i("primary",...ngDevMode?[{debugName:"imageOverlay"}]:[]);imageMaskVariant=i("none",...ngDevMode?[{debugName:"imageMaskVariant"}]:[]);slides=i([],...ngDevMode?[{debugName:"slides"}]:[]);activeIndex=N(0,...ngDevMode?[{debugName:"activeIndex"}]:[]);appearance=i("default",...ngDevMode?[{debugName:"appearance"}]:[]);transition=i("push",...ngDevMode?[{debugName:"transition"}]:[]);autoplay=i(!1,{...ngDevMode?{debugName:"autoplay"}:{},transform:c});autoplayMs=i(6e3,...ngDevMode?[{debugName:"autoplayMs"}]:[]);showDots=i(!0,{...ngDevMode?{debugName:"showDots"}:{},transform:c});showArrows=i(!1,{...ngDevMode?{debugName:"showArrows"}:{},transform:c});dotsLabel=i("شرائح القسم الرئيسي",...ngDevMode?[{debugName:"dotsLabel"}]:[]);prevLabel=i("الشريحة السابقة",...ngDevMode?[{debugName:"prevLabel"}]:[]);nextLabel=i("الشريحة التالية",...ngDevMode?[{debugName:"nextLabel"}]:[]);primaryClick=v();secondaryClick=v();slideChange=v();slideCount=n(()=>this.slides().length,...ngDevMode?[{debugName:"slideCount"}]:[]);isCarousel=n(()=>this.appearance()==="portal"&&this.slideCount()>0,...ngDevMode?[{debugName:"isCarousel"}]:[]);isCompactBand=n(()=>this.appearance()==="sub"||this.appearance()==="flat",...ngDevMode?[{debugName:"isCompactBand"}]:[]);slideIndexes=n(()=>Array.from({length:this.slideCount()},(e,t)=>t),...ngDevMode?[{debugName:"slideIndexes"}]:[]);hostClasses=n(()=>d("relative block w-full max-w-full min-w-0 overflow-hidden text-fg",(this.appearance()==="default"||this.appearance()==="aside"||this.appearance()==="brief")&&"bg-linear-to-b from-primary-faint to-body",this.appearance()==="portal"&&"min-h-(--size-hero-portal) bg-primary-strong text-on-color",this.appearance()==="sub"&&"bg-primary-faint",this.appearance()==="flat"&&"border-b border-border bg-body"),...ngDevMode?[{debugName:"hostClasses"}]:[]);innerClasses=n(()=>d("dga-hero__inner relative z-[1] flex w-full flex-col gap-3xl px-(--wrapper-padding)",this.appearance()==="default"&&"py-4xl md:flex-row md:items-center lg:py-11xl",this.appearance()==="portal"&&"min-h-(--size-hero-portal) justify-center py-8xl md:py-11xl",this.appearance()==="aside"&&"gap-4xl py-4xl md:flex-row md:items-center lg:py-8xl",this.appearance()==="brief"&&"gap-lg py-3xl md:py-4xl",this.isCompactBand()&&"min-h-(--size-hero-sub) justify-center gap-lg py-2xl md:py-3xl"),...ngDevMode?[{debugName:"innerClasses"}]:[]);titleClasses=n(()=>d("m-0 font-semibold",(this.appearance()==="default"||this.appearance()==="aside")&&"text-display-lg text-display md:text-display-xl",this.appearance()==="portal"&&"text-display-xl text-on-color",this.appearance()==="brief"&&"text-display-md text-display md:text-display-lg",this.isCompactBand()&&"text-display-sm text-display md:text-display-md"),...ngDevMode?[{debugName:"titleClasses"}]:[]);subtitleClasses=n(()=>d("m-0 max-w-(--container-3xl) text-body-lg",(this.appearance()==="default"||this.appearance()==="aside")&&"text-paragraph",this.appearance()==="portal"&&"text-on-color opacity-90",(this.appearance()==="brief"||this.isCompactBand())&&"max-w-(--container-2xl) text-body-md text-paragraph"),...ngDevMode?[{debugName:"subtitleClasses"}]:[]);imageMaskStyle=n(()=>$s[this.imageMaskVariant()],...ngDevMode?[{debugName:"imageMaskStyle"}]:[]);constructor(){S(()=>{const e=this.autoplay()&&this.slideCount()>1,t=this.autoplayMs(),s=this.autoplayPaused();this.clearAutoplay(),!(!e||s)&&(this.autoplayTimer=setInterval(()=>this.nextSlide(),Math.max(2e3,t)))}),queueMicrotask(()=>{const e=typeof window<"u"?window:null;e?.requestAnimationFrame(()=>{e.requestAnimationFrame(()=>this.motionReady.set(!0))})}),this.destroyRef.onDestroy(()=>this.clearAutoplay())}portalCtaVariant(){return this.appearance()==="portal"?"inverse":"primary"}secondaryCtaVariant(){return this.appearance()==="portal"?"outlineInverse":"outline"}slideShellClass(e){const t=this.clampedIndex()===e,s=this.motionReady();return this.transition()==="fade"?d("absolute inset-0 min-h-(--size-hero-portal)",s&&"transition-opacity duration-500 ease-[cubic-bezier(0.4,0,0.2,1)]",t?"z-[1] opacity-100":"z-0 opacity-0 pointer-events-none"):d("absolute inset-0 z-[1] min-h-(--size-hero-portal)",s&&"transition-transform duration-500 ease-[cubic-bezier(0.4,0,0.2,1)] will-change-transform",!t&&"pointer-events-none")}clampedIndex(){const e=this.slideCount();return e<=0?0:Math.min(Math.max(0,this.activeIndex()),e-1)}activeTitle(){return this.title()}activeDescription(){return this.description()||this.subtitle()}singleDesktopImage(){return this.imageDesktop()||this.imageUrl()}singleMobileImage(){return this.imageMobile()||this.singleDesktopImage()}slideTitle(e){return e.title??""}slideDescription(e){return e.description||e.subtitle||""}slideDesktop(e){return e.imageDesktop||e.imageUrl||""}slideMobile(e){return e.imageMobile||this.slideDesktop(e)}ctaPrimary(e){return e.primaryCta||""}ctaSecondary(e){return e.secondaryCta||""}ctaPrimaryHref(e){return e.primaryHref||""}ctaSecondaryHref(e){return e.secondaryHref||""}dotLabel(e){return`الشريحة ${e+1}`}dotClass(e){return this.activeIndex()===e?"bg-primary":"bg-disabled hover:bg-border"}overlayClass(e){return Ts[e??this.imageOverlay()]}slideOverlayClass(e){return this.overlayClass(e.overlay??this.imageOverlay())}pushOffset(e){const t=e-this.clampedIndex(),s=typeof document<"u"&&getComputedStyle(document.documentElement).direction==="rtl"?-1:1;return`translate3d(${t*s*100}%, 0, 0)`}goSlide(e){const t=this.slideCount();if(t<=0)return;const s=Math.min(Math.max(0,e),t-1);s!==this.activeIndex()&&(this.activeIndex.set(s),this.slideChange.emit(s))}nextSlide(){const e=this.slideCount();e<=1||this.goSlide((this.clampedIndex()+1)%e)}prevSlide(){const e=this.slideCount();e<=1||this.goSlide((this.clampedIndex()-1+e)%e)}pauseAutoplay(){this.autoplayPaused.set(!0)}resumeAutoplay(){this.autoplayPaused.set(!1)}onPrimary(e){this.primaryClick.emit(e??void 0)}onSecondary(e){this.secondaryClick.emit(e??void 0)}clearAutoplay(){this.autoplayTimer!==null&&(clearInterval(this.autoplayTimer),this.autoplayTimer=null)}safeHref(e){return $(e)}static ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"22.1.5",ngImport:a,type:za,deps:[],target:a.ɵɵFactoryTarget.Component});static ɵcmp=a.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"22.1.5",type:za,isStandalone:!0,selector:"dga-hero",inputs:{title:{classPropertyName:"title",publicName:"title",isSignal:!0,isRequired:!1,transformFunction:null},description:{classPropertyName:"description",publicName:"description",isSignal:!0,isRequired:!1,transformFunction:null},subtitle:{classPropertyName:"subtitle",publicName:"subtitle",isSignal:!0,isRequired:!1,transformFunction:null},primaryCta:{classPropertyName:"primaryCta",publicName:"primaryCta",isSignal:!0,isRequired:!1,transformFunction:null},secondaryCta:{classPropertyName:"secondaryCta",publicName:"secondaryCta",isSignal:!0,isRequired:!1,transformFunction:null},primaryHref:{classPropertyName:"primaryHref",publicName:"primaryHref",isSignal:!0,isRequired:!1,transformFunction:null},secondaryHref:{classPropertyName:"secondaryHref",publicName:"secondaryHref",isSignal:!0,isRequired:!1,transformFunction:null},imageDesktop:{classPropertyName:"imageDesktop",publicName:"imageDesktop",isSignal:!0,isRequired:!1,transformFunction:null},imageMobile:{classPropertyName:"imageMobile",publicName:"imageMobile",isSignal:!0,isRequired:!1,transformFunction:null},imageUrl:{classPropertyName:"imageUrl",publicName:"imageUrl",isSignal:!0,isRequired:!1,transformFunction:null},imageOverlay:{classPropertyName:"imageOverlay",publicName:"imageOverlay",isSignal:!0,isRequired:!1,transformFunction:null},imageMaskVariant:{classPropertyName:"imageMaskVariant",publicName:"imageMaskVariant",isSignal:!0,isRequired:!1,transformFunction:null},slides:{classPropertyName:"slides",publicName:"slides",isSignal:!0,isRequired:!1,transformFunction:null},activeIndex:{classPropertyName:"activeIndex",publicName:"activeIndex",isSignal:!0,isRequired:!1,transformFunction:null},appearance:{classPropertyName:"appearance",publicName:"appearance",isSignal:!0,isRequired:!1,transformFunction:null},transition:{classPropertyName:"transition",publicName:"transition",isSignal:!0,isRequired:!1,transformFunction:null},autoplay:{classPropertyName:"autoplay",publicName:"autoplay",isSignal:!0,isRequired:!1,transformFunction:null},autoplayMs:{classPropertyName:"autoplayMs",publicName:"autoplayMs",isSignal:!0,isRequired:!1,transformFunction:null},showDots:{classPropertyName:"showDots",publicName:"showDots",isSignal:!0,isRequired:!1,transformFunction:null},showArrows:{classPropertyName:"showArrows",publicName:"showArrows",isSignal:!0,isRequired:!1,transformFunction:null},dotsLabel:{classPropertyName:"dotsLabel",publicName:"dotsLabel",isSignal:!0,isRequired:!1,transformFunction:null},prevLabel:{classPropertyName:"prevLabel",publicName:"prevLabel",isSignal:!0,isRequired:!1,transformFunction:null},nextLabel:{classPropertyName:"nextLabel",publicName:"nextLabel",isSignal:!0,isRequired:!1,transformFunction:null}},outputs:{activeIndex:"activeIndexChange",primaryClick:"primaryClick",secondaryClick:"secondaryClick",slideChange:"slideChange"},host:{properties:{class:"hostClasses()","attr.data-appearance":"appearance()","attr.data-transition":"isCarousel() ? transition() : null","attr.data-dots":'isCarousel() && showDots() ? "" : null',"attr.data-arrows":'isCarousel() && showArrows() ? "" : null'}},ngImport:a,template:`
6480
+ `,changeDetection:g.OnPush,host:{role:"contentinfo","[class]":"hostClass()","[attr.aria-label]":"ariaLabel() || null","[attr.data-appearance]":"appearance()"},styles:[":host .dga-footer__bottom-links{column-gap:0;row-gap:.5rem;align-items:center}:host .dga-footer__bottom-links>a:not(:last-child):after{content:\"|\";margin-inline:.75rem;pointer-events:none}:host[data-appearance=brand] .dga-footer__bottom-links>a:not(:last-child):after{color:#fff}:host .dga-footer__legal p{margin:0;white-space:pre-line}:host .dga-footer__meta{padding-block:1rem}:host .dga-footer__logos{gap:1.5rem}:host .dga-footer__logos img{height:2.75rem;max-height:48px}\n"]}]}],propDecorators:{brand:[{type:a.Input,args:[{isSignal:!0,alias:"brand",required:!1}]}],title:[{type:a.Input,args:[{isSignal:!0,alias:"title",required:!1}]}],links:[{type:a.Input,args:[{isSignal:!0,alias:"links",required:!1}]}],columns:[{type:a.Input,args:[{isSignal:!0,alias:"columns",required:!1}]}],iconGroups:[{type:a.Input,args:[{isSignal:!0,alias:"iconGroups",required:!1}]}],bottomLinks:[{type:a.Input,args:[{isSignal:!0,alias:"bottomLinks",required:!1}]}],policyLinks:[{type:a.Input,args:[{isSignal:!0,alias:"policyLinks",required:!1}]}],logos:[{type:a.Input,args:[{isSignal:!0,alias:"logos",required:!1}]}],copyright:[{type:a.Input,args:[{isSignal:!0,alias:"copyright",required:!1}]}],meta:[{type:a.Input,args:[{isSignal:!0,alias:"meta",required:!1}]}],appearance:[{type:a.Input,args:[{isSignal:!0,alias:"appearance",required:!1}]}],navLabel:[{type:a.Input,args:[{isSignal:!0,alias:"navLabel",required:!1}]}],ariaLabel:[{type:a.Input,args:[{isSignal:!0,alias:"ariaLabel",required:!1}]}]}});const Ts={primary:"bg-primary-strong/80",dark:"bg-overlay",none:""},$s={none:{},fade:{"mask-image":"linear-gradient(to bottom, #000 65%, transparent 100%)","-webkit-mask-image":"linear-gradient(to bottom, #000 65%, transparent 100%)"},angle:{"clip-path":"polygon(0 0, 100% 0, 100% 100%, 0 88%)"},wave:{"clip-path":"polygon(0% 0%,100% 0%,100% 86%,92% 91%,84% 86%,76% 93%,68% 86%,60% 91%,52% 85%,44% 92%,36% 86%,28% 91%,20% 85%,12% 91%,4% 86%,0% 89%)"}};class za{destroyRef=h(D);autoplayTimer=null;autoplayPaused=b(!1,...ngDevMode?[{debugName:"autoplayPaused"}]:[]);motionReady=b(!1,...ngDevMode?[{debugName:"motionReady"}]:[]);title=i("",...ngDevMode?[{debugName:"title"}]:[]);description=i("",...ngDevMode?[{debugName:"description"}]:[]);subtitle=i("",...ngDevMode?[{debugName:"subtitle"}]:[]);primaryCta=i("",...ngDevMode?[{debugName:"primaryCta"}]:[]);secondaryCta=i("",...ngDevMode?[{debugName:"secondaryCta"}]:[]);primaryHref=i("",...ngDevMode?[{debugName:"primaryHref"}]:[]);secondaryHref=i("",...ngDevMode?[{debugName:"secondaryHref"}]:[]);imageDesktop=i("",...ngDevMode?[{debugName:"imageDesktop"}]:[]);imageMobile=i("",...ngDevMode?[{debugName:"imageMobile"}]:[]);imageUrl=i("",...ngDevMode?[{debugName:"imageUrl"}]:[]);imageOverlay=i("primary",...ngDevMode?[{debugName:"imageOverlay"}]:[]);imageMaskVariant=i("none",...ngDevMode?[{debugName:"imageMaskVariant"}]:[]);slides=i([],...ngDevMode?[{debugName:"slides"}]:[]);activeIndex=N(0,...ngDevMode?[{debugName:"activeIndex"}]:[]);appearance=i("default",...ngDevMode?[{debugName:"appearance"}]:[]);transition=i("push",...ngDevMode?[{debugName:"transition"}]:[]);autoplay=i(!1,{...ngDevMode?{debugName:"autoplay"}:{},transform:c});autoplayMs=i(6e3,...ngDevMode?[{debugName:"autoplayMs"}]:[]);showDots=i(!0,{...ngDevMode?{debugName:"showDots"}:{},transform:c});showArrows=i(!1,{...ngDevMode?{debugName:"showArrows"}:{},transform:c});dotsLabel=i("شرائح القسم الرئيسي",...ngDevMode?[{debugName:"dotsLabel"}]:[]);prevLabel=i("الشريحة السابقة",...ngDevMode?[{debugName:"prevLabel"}]:[]);nextLabel=i("الشريحة التالية",...ngDevMode?[{debugName:"nextLabel"}]:[]);primaryClick=v();secondaryClick=v();slideChange=v();slideCount=n(()=>this.slides().length,...ngDevMode?[{debugName:"slideCount"}]:[]);isCarousel=n(()=>this.appearance()==="portal"&&this.slideCount()>0,...ngDevMode?[{debugName:"isCarousel"}]:[]);isCompactBand=n(()=>this.appearance()==="sub"||this.appearance()==="flat",...ngDevMode?[{debugName:"isCompactBand"}]:[]);slideIndexes=n(()=>Array.from({length:this.slideCount()},(e,t)=>t),...ngDevMode?[{debugName:"slideIndexes"}]:[]);hostClasses=n(()=>d("relative block w-full max-w-full min-w-0 overflow-hidden text-fg",(this.appearance()==="default"||this.appearance()==="aside"||this.appearance()==="brief")&&"bg-linear-to-b from-primary-faint to-body",this.appearance()==="portal"&&"min-h-(--size-hero-portal) bg-primary-strong text-on-color",this.appearance()==="sub"&&"bg-primary-faint",this.appearance()==="flat"&&"border-b border-border bg-body"),...ngDevMode?[{debugName:"hostClasses"}]:[]);innerClasses=n(()=>d("dga-hero__inner relative z-[1] flex w-full flex-col gap-3xl px-(--wrapper-padding)",this.appearance()==="default"&&"py-4xl md:flex-row md:items-center lg:py-11xl",this.appearance()==="portal"&&"min-h-(--size-hero-portal) justify-center py-8xl md:py-11xl",this.appearance()==="aside"&&"gap-4xl py-4xl md:flex-row md:items-center lg:py-8xl",this.appearance()==="brief"&&"gap-lg py-3xl md:py-4xl",this.isCompactBand()&&"min-h-(--size-hero-sub) justify-center gap-lg py-2xl md:py-3xl"),...ngDevMode?[{debugName:"innerClasses"}]:[]);titleClasses=n(()=>d("m-0 font-semibold",(this.appearance()==="default"||this.appearance()==="aside")&&"text-display-lg text-display md:text-display-xl",this.appearance()==="portal"&&"text-display-xl text-on-color",this.appearance()==="brief"&&"text-display-md text-display md:text-display-lg",this.isCompactBand()&&"text-display-sm text-display md:text-display-md"),...ngDevMode?[{debugName:"titleClasses"}]:[]);subtitleClasses=n(()=>d("m-0 max-w-(--container-3xl) text-body-lg",(this.appearance()==="default"||this.appearance()==="aside")&&"text-paragraph",this.appearance()==="portal"&&"text-on-color opacity-90",(this.appearance()==="brief"||this.isCompactBand())&&"max-w-(--container-2xl) text-body-md text-paragraph"),...ngDevMode?[{debugName:"subtitleClasses"}]:[]);imageMaskStyle=n(()=>$s[this.imageMaskVariant()],...ngDevMode?[{debugName:"imageMaskStyle"}]:[]);constructor(){S(()=>{const e=this.autoplay()&&this.slideCount()>1,t=this.autoplayMs(),s=this.autoplayPaused();this.clearAutoplay(),!(!e||s)&&(this.autoplayTimer=setInterval(()=>this.nextSlide(),Math.max(2e3,t)))}),queueMicrotask(()=>{const e=typeof window<"u"?window:null;e?.requestAnimationFrame(()=>{e.requestAnimationFrame(()=>this.motionReady.set(!0))})}),this.destroyRef.onDestroy(()=>this.clearAutoplay())}portalCtaVariant(){return this.appearance()==="portal"?"inverse":"primary"}secondaryCtaVariant(){return this.appearance()==="portal"?"outlineInverse":"outline"}slideShellClass(e){const t=this.clampedIndex()===e,s=this.motionReady();return this.transition()==="fade"?d("absolute inset-0 min-h-(--size-hero-portal)",s&&"transition-opacity duration-500 ease-[cubic-bezier(0.4,0,0.2,1)]",t?"z-[1] opacity-100":"z-0 opacity-0 pointer-events-none"):d("absolute inset-0 z-[1] min-h-(--size-hero-portal)",s&&"transition-transform duration-500 ease-[cubic-bezier(0.4,0,0.2,1)] will-change-transform",!t&&"pointer-events-none")}clampedIndex(){const e=this.slideCount();return e<=0?0:Math.min(Math.max(0,this.activeIndex()),e-1)}activeTitle(){return this.title()}activeDescription(){return this.description()||this.subtitle()}singleDesktopImage(){return this.imageDesktop()||this.imageUrl()}singleMobileImage(){return this.imageMobile()||this.singleDesktopImage()}slideTitle(e){return e.title??""}slideDescription(e){return e.description||e.subtitle||""}slideDesktop(e){return e.imageDesktop||e.imageUrl||""}slideMobile(e){return e.imageMobile||this.slideDesktop(e)}ctaPrimary(e){return e.primaryCta||""}ctaSecondary(e){return e.secondaryCta||""}ctaPrimaryHref(e){return e.primaryHref||""}ctaSecondaryHref(e){return e.secondaryHref||""}dotLabel(e){return`الشريحة ${e+1}`}dotClass(e){return this.activeIndex()===e?"bg-primary":"bg-disabled hover:bg-border"}overlayClass(e){return Ts[e??this.imageOverlay()]}slideOverlayClass(e){return this.overlayClass(e.overlay??this.imageOverlay())}pushOffset(e){const t=e-this.clampedIndex(),s=typeof document<"u"&&getComputedStyle(document.documentElement).direction==="rtl"?-1:1;return`translate3d(${t*s*100}%, 0, 0)`}goSlide(e){const t=this.slideCount();if(t<=0)return;const s=Math.min(Math.max(0,e),t-1);s!==this.activeIndex()&&(this.activeIndex.set(s),this.slideChange.emit(s))}nextSlide(){const e=this.slideCount();e<=1||this.goSlide((this.clampedIndex()+1)%e)}prevSlide(){const e=this.slideCount();e<=1||this.goSlide((this.clampedIndex()-1+e)%e)}pauseAutoplay(){this.autoplayPaused.set(!0)}resumeAutoplay(){this.autoplayPaused.set(!1)}onPrimary(e){this.primaryClick.emit(e??void 0)}onSecondary(e){this.secondaryClick.emit(e??void 0)}clearAutoplay(){this.autoplayTimer!==null&&(clearInterval(this.autoplayTimer),this.autoplayTimer=null)}safeHref(e){return $(e)}static ɵfac=a.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"22.1.5",ngImport:a,type:za,deps:[],target:a.ɵɵFactoryTarget.Component});static ɵcmp=a.ɵɵngDeclareComponent({minVersion:"17.0.0",version:"22.1.5",type:za,isStandalone:!0,selector:"dga-hero",inputs:{title:{classPropertyName:"title",publicName:"title",isSignal:!0,isRequired:!1,transformFunction:null},description:{classPropertyName:"description",publicName:"description",isSignal:!0,isRequired:!1,transformFunction:null},subtitle:{classPropertyName:"subtitle",publicName:"subtitle",isSignal:!0,isRequired:!1,transformFunction:null},primaryCta:{classPropertyName:"primaryCta",publicName:"primaryCta",isSignal:!0,isRequired:!1,transformFunction:null},secondaryCta:{classPropertyName:"secondaryCta",publicName:"secondaryCta",isSignal:!0,isRequired:!1,transformFunction:null},primaryHref:{classPropertyName:"primaryHref",publicName:"primaryHref",isSignal:!0,isRequired:!1,transformFunction:null},secondaryHref:{classPropertyName:"secondaryHref",publicName:"secondaryHref",isSignal:!0,isRequired:!1,transformFunction:null},imageDesktop:{classPropertyName:"imageDesktop",publicName:"imageDesktop",isSignal:!0,isRequired:!1,transformFunction:null},imageMobile:{classPropertyName:"imageMobile",publicName:"imageMobile",isSignal:!0,isRequired:!1,transformFunction:null},imageUrl:{classPropertyName:"imageUrl",publicName:"imageUrl",isSignal:!0,isRequired:!1,transformFunction:null},imageOverlay:{classPropertyName:"imageOverlay",publicName:"imageOverlay",isSignal:!0,isRequired:!1,transformFunction:null},imageMaskVariant:{classPropertyName:"imageMaskVariant",publicName:"imageMaskVariant",isSignal:!0,isRequired:!1,transformFunction:null},slides:{classPropertyName:"slides",publicName:"slides",isSignal:!0,isRequired:!1,transformFunction:null},activeIndex:{classPropertyName:"activeIndex",publicName:"activeIndex",isSignal:!0,isRequired:!1,transformFunction:null},appearance:{classPropertyName:"appearance",publicName:"appearance",isSignal:!0,isRequired:!1,transformFunction:null},transition:{classPropertyName:"transition",publicName:"transition",isSignal:!0,isRequired:!1,transformFunction:null},autoplay:{classPropertyName:"autoplay",publicName:"autoplay",isSignal:!0,isRequired:!1,transformFunction:null},autoplayMs:{classPropertyName:"autoplayMs",publicName:"autoplayMs",isSignal:!0,isRequired:!1,transformFunction:null},showDots:{classPropertyName:"showDots",publicName:"showDots",isSignal:!0,isRequired:!1,transformFunction:null},showArrows:{classPropertyName:"showArrows",publicName:"showArrows",isSignal:!0,isRequired:!1,transformFunction:null},dotsLabel:{classPropertyName:"dotsLabel",publicName:"dotsLabel",isSignal:!0,isRequired:!1,transformFunction:null},prevLabel:{classPropertyName:"prevLabel",publicName:"prevLabel",isSignal:!0,isRequired:!1,transformFunction:null},nextLabel:{classPropertyName:"nextLabel",publicName:"nextLabel",isSignal:!0,isRequired:!1,transformFunction:null}},outputs:{activeIndex:"activeIndexChange",primaryClick:"primaryClick",secondaryClick:"secondaryClick",slideChange:"slideChange"},host:{properties:{class:"hostClasses()","attr.data-appearance":"appearance()","attr.data-transition":"isCarousel() ? transition() : null","attr.data-dots":'isCarousel() && showDots() ? "" : null',"attr.data-arrows":'isCarousel() && showArrows() ? "" : null'}},ngImport:a,template:`
6483
6481
  @if (isCarousel()) {
6484
6482
  <div
6485
6483
  class="relative min-h-(--size-hero-portal) w-full"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a.nemreen/dga-ui",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "DGA Angular UI library — standalone forms, overlays, navigation, and portal shell with RTL-first Tailwind styling",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -258,7 +258,7 @@ declare class DgaProgress {
258
258
  readonly clamped: _angular_core.Signal<number>;
259
259
  readonly dashOffset: _angular_core.Signal<number>;
260
260
  readonly displayValue: _angular_core.Signal<string>;
261
- readonly hostClasses: _angular_core.Signal<"block w-full" | "inline-flex">;
261
+ readonly hostClasses: _angular_core.Signal<"inline-flex" | "block w-full">;
262
262
  readonly trackClasses: _angular_core.Signal<string>;
263
263
  readonly barClasses: _angular_core.Signal<string>;
264
264
  readonly radialWrapClasses: _angular_core.Signal<string>;
@@ -2294,7 +2294,7 @@ declare class DgaSideNav {
2294
2294
  /**
2295
2295
  * `auto` = horizontal chips below lg; `vertical` = always sidebar (use in drawers).
2296
2296
  */
2297
- readonly layout: _angular_core.InputSignal<"auto" | "vertical">;
2297
+ readonly layout: _angular_core.InputSignal<"vertical" | "auto">;
2298
2298
  readonly label: _angular_core.InputSignal<string>;
2299
2299
  readonly toggleLabel: _angular_core.InputSignal<string>;
2300
2300
  readonly select: _angular_core.OutputEmitterRef<DgaSideNavItem>;
@@ -2793,25 +2793,27 @@ declare class DgaFooter {
2793
2793
  readonly title: _angular_core.InputSignal<string>;
2794
2794
  readonly links: _angular_core.InputSignal<DgaFooterLink[]>;
2795
2795
  readonly columns: _angular_core.InputSignal<DgaFooterColumn[]>;
2796
- /** Social and app-store icon groups. */
2796
+ /** Social, accessibility, and app-store icon groups (stacked in the last column). */
2797
2797
  readonly iconGroups: _angular_core.InputSignal<DgaFooterIconGroup[]>;
2798
- /** Utility links shown above the copyright row. */
2798
+ /** Utility links shown above the copyright row (piped: Privacy | Terms | Sitemap). */
2799
2799
  readonly bottomLinks: _angular_core.InputSignal<DgaFooterLink[]>;
2800
2800
  readonly policyLinks: _angular_core.InputSignal<DgaFooterLink[]>;
2801
2801
  readonly logos: _angular_core.InputSignal<DgaFooterLogo[]>;
2802
2802
  readonly copyright: _angular_core.InputSignal<string>;
2803
2803
  readonly meta: _angular_core.InputSignal<string>;
2804
- /** `brand` = portal shell footer (primary in light, neutral in dark). */
2804
+ /** `brand` = portal shell footer (green #074D31 in light, dark chrome in dark). */
2805
2805
  readonly appearance: _angular_core.InputSignal<DgaFooterAppearance>;
2806
2806
  readonly navLabel: _angular_core.InputSignal<string>;
2807
2807
  readonly ariaLabel: _angular_core.InputSignal<string>;
2808
2808
  appHref(href: string | undefined | null): string;
2809
2809
  readonly showBottom: _angular_core.Signal<boolean>;
2810
+ readonly navGridClass: _angular_core.Signal<string>;
2810
2811
  readonly hostClass: _angular_core.Signal<string>;
2811
2812
  readonly headingClass: _angular_core.Signal<string>;
2812
2813
  readonly textLinkClass: _angular_core.Signal<string>;
2813
- readonly metaLinkClass: _angular_core.Signal<string>;
2814
+ readonly bottomLinkClass: _angular_core.Signal<string>;
2814
2815
  readonly copyrightClass: _angular_core.Signal<string>;
2816
+ readonly metaClass: _angular_core.Signal<string>;
2815
2817
  readonly dividerClass: _angular_core.Signal<string>;
2816
2818
  readonly iconBtnClass: _angular_core.Signal<string>;
2817
2819
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaFooter, never>;
@@ -3521,7 +3523,7 @@ interface DgaCarouselSlide {
3521
3523
  */
3522
3524
  declare class DgaCarouselSlideDirective {
3523
3525
  private readonly uiLocale;
3524
- readonly slideRole: _angular_core.Signal<"شريحة" | "slide">;
3526
+ readonly slideRole: _angular_core.Signal<"slide" | "شريحة">;
3525
3527
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DgaCarouselSlideDirective, never>;
3526
3528
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DgaCarouselSlideDirective, "[dgaCarouselSlide]", never, {}, {}, never, never, true, never>;
3527
3529
  }
@@ -3561,7 +3563,7 @@ declare class DgaCarousel {
3561
3563
  readonly emptyLabel: _angular_core.InputSignal<string | undefined>;
3562
3564
  private readonly uiLocale;
3563
3565
  private readonly ar;
3564
- readonly slideRole: _angular_core.Signal<"شريحة" | "slide">;
3566
+ readonly slideRole: _angular_core.Signal<"slide" | "شريحة">;
3565
3567
  readonly resolvedLabel: _angular_core.Signal<string>;
3566
3568
  readonly resolvedPrevLabel: _angular_core.Signal<string>;
3567
3569
  readonly resolvedNextLabel: _angular_core.Signal<string>;