sdga-ui 1.0.5 → 1.0.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.
Files changed (79) hide show
  1. package/.github/workflows/deploy.yml +15 -1
  2. package/README.md +16 -24
  3. package/css/dga-ui.css +4146 -1055
  4. package/css/dga-ui.css.map +1 -1
  5. package/demo-angular/README.md +34 -2
  6. package/demo-angular/angular.json +6 -1
  7. package/demo-angular/package-lock.json +191 -50
  8. package/demo-angular/package.json +14 -11
  9. package/demo-angular/public/404.html +35 -0
  10. package/demo-angular/public/i18n/ar.json +50 -0
  11. package/demo-angular/public/i18n/en.json +50 -0
  12. package/demo-angular/src/app/app.routes.ts +12 -4
  13. package/demo-angular/src/app/app.ts +8 -2
  14. package/demo-angular/src/app/views/alerts/alerts.component.html +10 -10
  15. package/demo-angular/src/app/views/alerts/alerts.component.ts +10 -10
  16. package/demo-angular/src/app/views/buttons/buttons.component.html +23 -23
  17. package/demo-angular/src/app/views/buttons/buttons.component.ts +14 -14
  18. package/demo-angular/src/app/views/cards/cards.component.html +6 -6
  19. package/demo-angular/src/app/views/cards/cards.component.ts +10 -10
  20. package/demo-angular/src/app/views/contexts/contexts.component.html +204 -0
  21. package/demo-angular/src/app/views/contexts/contexts.component.ts +10 -0
  22. package/demo-angular/src/app/views/footer/footer.html +282 -0
  23. package/demo-angular/src/app/views/footer/footer.spec.ts +23 -0
  24. package/demo-angular/src/app/views/footer/footer.ts +142 -0
  25. package/demo-angular/src/app/views/header/header.html +1 -0
  26. package/demo-angular/src/app/views/header/header.scss +0 -0
  27. package/demo-angular/src/app/views/header/header.spec.ts +23 -0
  28. package/demo-angular/src/app/views/header/header.ts +11 -0
  29. package/demo-angular/src/app/views/home/home.component.html +0 -5
  30. package/demo-angular/src/app/views/links/links.component.html +11 -130
  31. package/demo-angular/src/app/views/links/links.component.scss +1 -50
  32. package/demo-angular/src/app/views/links/links.component.ts +5 -109
  33. package/demo-angular/src/app/views/toasts/toasts.component.html +7 -7
  34. package/demo-angular/src/app/views/toasts/toasts.component.ts +7 -7
  35. package/demo-angular/src/index.html +15 -1
  36. package/package.json +3 -2
  37. package/sdga-ui/README.md +45 -0
  38. package/sdga-ui/content/docs/components/alerts.mdx +475 -0
  39. package/sdga-ui/content/docs/index.mdx +239 -0
  40. package/sdga-ui/next.config.mjs +10 -0
  41. package/sdga-ui/package-lock.json +5851 -0
  42. package/sdga-ui/package.json +32 -0
  43. package/sdga-ui/postcss.config.mjs +5 -0
  44. package/sdga-ui/source.config.ts +27 -0
  45. package/sdga-ui/src/app/(home)/layout.tsx +6 -0
  46. package/sdga-ui/src/app/(home)/page.tsx +202 -0
  47. package/sdga-ui/src/app/api/search/route.ts +7 -0
  48. package/sdga-ui/src/app/docs/[[...slug]]/page.tsx +54 -0
  49. package/sdga-ui/src/app/docs/layout.tsx +11 -0
  50. package/sdga-ui/src/app/global.css +3 -0
  51. package/sdga-ui/src/app/layout.tsx +25 -0
  52. package/sdga-ui/src/app/llms-full.txt/route.ts +10 -0
  53. package/sdga-ui/src/app/og/docs/[...slug]/route.tsx +34 -0
  54. package/sdga-ui/src/app/sdga-scoped.css +7 -0
  55. package/sdga-ui/src/components/sdga-preview.tsx +105 -0
  56. package/sdga-ui/src/lib/layout.shared.tsx +9 -0
  57. package/sdga-ui/src/lib/source.ts +27 -0
  58. package/sdga-ui/src/mdx-components.tsx +9 -0
  59. package/sdga-ui/tsconfig.json +46 -0
  60. package/theme/_variables.scss +7 -5
  61. package/theme/components/_buttons.scss +105 -0
  62. package/theme/components/_cards.scss +0 -1
  63. package/theme/components/_pagination.scss +2 -2
  64. package/theme/config/_base.scss +4 -33
  65. package/theme/config/_contexts.scss +471 -0
  66. package/theme/customizations/_alerts.scss +105 -125
  67. package/theme/customizations/_badges.scss +15 -0
  68. package/theme/customizations/_buttons.scss +288 -146
  69. package/theme/customizations/_cards.scss +52 -0
  70. package/theme/customizations/_contexts.scss +432 -0
  71. package/theme/customizations/_footer.scss +83 -0
  72. package/theme/customizations/_links.scss +88 -84
  73. package/theme/customizations/_toasts.scss +81 -101
  74. package/theme/dga-ui.scss +3 -2
  75. package/demo-angular/src/app/views/bootstrap/bootstrap.component.html +0 -14
  76. package/demo-angular/src/app/views/bootstrap/bootstrap.component.scss +0 -91
  77. package/demo-angular/src/app/views/bootstrap/bootstrap.component.ts +0 -23
  78. package/theme/customizations/_utilities.scss +0 -138
  79. /package/demo-angular/{public/.nojekyll → src/app/views/footer/footer.scss} +0 -0
@@ -1,6 +1,38 @@
1
- # DemoAngular
1
+ # DGA UI - Angular Demo
2
2
 
3
- This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.0.1.
3
+ This is the demo application showcasing the DGA UI theme components and features.
4
+
5
+ ## Development vs Production Library Usage
6
+
7
+ ### Local Development
8
+ During development, the demo uses the **local version** of `sdga-ui` from the parent directory:
9
+
10
+ ```bash
11
+ npm start
12
+ ```
13
+
14
+ This automatically runs `npm run use:local` which installs the library from `file:..`, allowing you to test changes immediately.
15
+
16
+ ### Production Build / Deployment
17
+ For production builds and GitHub Pages deployment, the demo uses the **published npm package**:
18
+
19
+ ```bash
20
+ npm run build:prod
21
+ ```
22
+
23
+ This automatically runs `npm run use:npm` which installs the library from the npm registry.
24
+
25
+ ### Manual Switching
26
+
27
+ You can manually switch between local and npm versions:
28
+
29
+ ```bash
30
+ # Use local development version
31
+ npm run use:local
32
+
33
+ # Use published npm version
34
+ npm run use:npm
35
+ ```
4
36
 
5
37
  ## Development server
6
38
 
@@ -33,7 +33,12 @@
33
33
  "styles": [
34
34
  "src/styles.scss"
35
35
  ],
36
- "preserveSymlinks": true
36
+ "preserveSymlinks": true,
37
+ "stylePreprocessorOptions": {
38
+ "includePaths": [
39
+ "../../node_modules"
40
+ ]
41
+ }
37
42
  },
38
43
  "configurations": {
39
44
  "production": {
@@ -8,17 +8,18 @@
8
8
  "name": "demo-angular",
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
- "@angular/common": "^21.0.0",
12
- "@angular/compiler": "^21.0.0",
13
- "@angular/core": "^21.0.0",
14
- "@angular/forms": "^21.0.0",
15
- "@angular/platform-browser": "^21.0.0",
16
- "@angular/router": "^21.0.0",
11
+ "@angular/common": "^21.0.2",
12
+ "@angular/compiler": "^21.0.2",
13
+ "@angular/core": "^21.0.2",
14
+ "@angular/forms": "^21.0.2",
15
+ "@angular/platform-browser": "^21.0.2",
16
+ "@angular/router": "^21.0.2",
17
17
  "@ngx-translate/core": "^17.0.0",
18
18
  "@ngx-translate/http-loader": "^17.0.0",
19
+ "bootstrap": "^5.3.8",
19
20
  "highlight.js": "^11.11.1",
20
21
  "rxjs": "~7.8.0",
21
- "sdga-ui": "^1.0.3",
22
+ "sdga-ui": "^1.0.6",
22
23
  "tslib": "^2.3.0"
23
24
  },
24
25
  "devDependencies": {
@@ -31,6 +32,21 @@
31
32
  "vitest": "^4.0.8"
32
33
  }
33
34
  },
35
+ "..": {
36
+ "name": "sdga-ui",
37
+ "version": "1.0.6",
38
+ "license": "MIT",
39
+ "devDependencies": {
40
+ "autoprefixer": "^10.4.19",
41
+ "bootstrap": "^5.3.8",
42
+ "postcss": "^8.4.38",
43
+ "prettier": "^3.7.3",
44
+ "sass": "^1.69.5"
45
+ },
46
+ "peerDependencies": {
47
+ "bootstrap": "^5.3.8"
48
+ }
49
+ },
34
50
  "node_modules/@acemir/cssom": {
35
51
  "version": "0.9.24",
36
52
  "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.24.tgz",
@@ -461,10 +477,11 @@
461
477
  }
462
478
  },
463
479
  "node_modules/@angular/common": {
464
- "version": "21.0.1",
465
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.1.tgz",
466
- "integrity": "sha512-EqdTGpFp7PVdTVztO7TB6+QxdzUbYXKKT2jwG2Gg+PIQZ2A8XrLPRmGXyH/DLlc5IhnoJlLbngmBRCLCO4xWog==",
480
+ "version": "21.0.2",
481
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.2.tgz",
482
+ "integrity": "sha512-dOi7w0dsUCJ5ZFnXD2eR/8LWy9/XAzXuo9zU6zu7qP4vimjTQRs11IawnuC+jaAQtCFiySshzEPPsuAw9bPkOA==",
467
483
  "license": "MIT",
484
+ "peer": true,
468
485
  "dependencies": {
469
486
  "tslib": "^2.3.0"
470
487
  },
@@ -472,15 +489,16 @@
472
489
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
473
490
  },
474
491
  "peerDependencies": {
475
- "@angular/core": "21.0.1",
492
+ "@angular/core": "21.0.2",
476
493
  "rxjs": "^6.5.3 || ^7.4.0"
477
494
  }
478
495
  },
479
496
  "node_modules/@angular/compiler": {
480
- "version": "21.0.1",
481
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.0.1.tgz",
482
- "integrity": "sha512-YRzHpThgCaC9b3xzK1Wx859ePeHEPR7ewQklUB5TYbpzVacvnJo38PcSAx/nzOmgX9y4mgyros6LzECmBb8d8w==",
497
+ "version": "21.0.2",
498
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.0.2.tgz",
499
+ "integrity": "sha512-Rs69yqT1M+l0DqAAZcGDt2TntKAPyldEViq3GQHbkM1W4f/hoRgBRsE6StxvP6wszW6VVHH3uQQdyeZV8Z4rpw==",
483
500
  "license": "MIT",
501
+ "peer": true,
484
502
  "dependencies": {
485
503
  "tslib": "^2.3.0"
486
504
  },
@@ -489,11 +507,12 @@
489
507
  }
490
508
  },
491
509
  "node_modules/@angular/compiler-cli": {
492
- "version": "21.0.1",
493
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.0.1.tgz",
494
- "integrity": "sha512-BxGLtL5bxlaaAs/kSN4oyXhMfvzqsj1Gc4Jauz39R4xtgOF5cIvjBtj6dJ9mD3PK0s6zaFi7WYd0YwWkxhjgMA==",
510
+ "version": "21.0.2",
511
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.0.2.tgz",
512
+ "integrity": "sha512-+6lyvDV0rY1qbc9+rzFCBZDGCfJU0ah3p+4Tu0YYgKRbpbwvqj/O4cG1mLknEuQ2G61Y/tTKnTa4ng1XNtqVyw==",
495
513
  "dev": true,
496
514
  "license": "MIT",
515
+ "peer": true,
497
516
  "dependencies": {
498
517
  "@babel/core": "7.28.4",
499
518
  "@jridgewell/sourcemap-codec": "^1.4.14",
@@ -512,7 +531,7 @@
512
531
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
513
532
  },
514
533
  "peerDependencies": {
515
- "@angular/compiler": "21.0.1",
534
+ "@angular/compiler": "21.0.2",
516
535
  "typescript": ">=5.9 <6.0"
517
536
  },
518
537
  "peerDependenciesMeta": {
@@ -522,10 +541,11 @@
522
541
  }
523
542
  },
524
543
  "node_modules/@angular/core": {
525
- "version": "21.0.1",
526
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.0.1.tgz",
527
- "integrity": "sha512-z0G9Bwzgqr0fQVbtMgqwl+SbbiqtJD7I2xT6U5p45LetKHojcfigH29dxi/vqALPwEdgb2nSIx7RqVhoyynraQ==",
544
+ "version": "21.0.2",
545
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.0.2.tgz",
546
+ "integrity": "sha512-jj2lYmwMKYY7tmZ7ml8rXJRKwkVMJamFIf6VQuIlSFK79Pmn6AeUhZwDlrAmK7sY9kakEKUmslSg0XLL3bfiyw==",
528
547
  "license": "MIT",
548
+ "peer": true,
529
549
  "dependencies": {
530
550
  "tslib": "^2.3.0"
531
551
  },
@@ -533,7 +553,7 @@
533
553
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
534
554
  },
535
555
  "peerDependencies": {
536
- "@angular/compiler": "21.0.1",
556
+ "@angular/compiler": "21.0.2",
537
557
  "rxjs": "^6.5.3 || ^7.4.0",
538
558
  "zone.js": "~0.15.0 || ~0.16.0"
539
559
  },
@@ -547,9 +567,9 @@
547
567
  }
548
568
  },
549
569
  "node_modules/@angular/forms": {
550
- "version": "21.0.1",
551
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.0.1.tgz",
552
- "integrity": "sha512-BVFPuKjxkzjzKMmpc6KxUKICpVs6J2/KzA4HjtPp/UKvdZPe8dj8vIXuc9pGf8DA4XdkjCwvv8szCgzTWi02LQ==",
570
+ "version": "21.0.2",
571
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.0.2.tgz",
572
+ "integrity": "sha512-QZHGKmYlyiQMXyAcuWgQ93kTi9OvoD9tzLX+iQt8O3O8sJT1kEKiANmKR6jKihTG1W3Ckmti804kcbpjCeoGyg==",
553
573
  "license": "MIT",
554
574
  "dependencies": {
555
575
  "tslib": "^2.3.0"
@@ -558,18 +578,19 @@
558
578
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
559
579
  },
560
580
  "peerDependencies": {
561
- "@angular/common": "21.0.1",
562
- "@angular/core": "21.0.1",
563
- "@angular/platform-browser": "21.0.1",
581
+ "@angular/common": "21.0.2",
582
+ "@angular/core": "21.0.2",
583
+ "@angular/platform-browser": "21.0.2",
564
584
  "@standard-schema/spec": "^1.0.0",
565
585
  "rxjs": "^6.5.3 || ^7.4.0"
566
586
  }
567
587
  },
568
588
  "node_modules/@angular/platform-browser": {
569
- "version": "21.0.1",
570
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.0.1.tgz",
571
- "integrity": "sha512-68StH9HILKUqNhQKz6KKNHzpgk1n88CIusWlmJvnb0l6iWGf3ydq5lTMKAKiZQmSDAVP5unTGfNvIkh59GRyVg==",
589
+ "version": "21.0.2",
590
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.0.2.tgz",
591
+ "integrity": "sha512-Qygk215mRK2S1tvD6B5dy3ekMidGmmLktxr5i01YC8synHYcex7HK18JcWuCrFbY6NbCnHsMD3bYi0mwhag+Sg==",
572
592
  "license": "MIT",
593
+ "peer": true,
573
594
  "dependencies": {
574
595
  "tslib": "^2.3.0"
575
596
  },
@@ -577,9 +598,9 @@
577
598
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
578
599
  },
579
600
  "peerDependencies": {
580
- "@angular/animations": "21.0.1",
581
- "@angular/common": "21.0.1",
582
- "@angular/core": "21.0.1"
601
+ "@angular/animations": "21.0.2",
602
+ "@angular/common": "21.0.2",
603
+ "@angular/core": "21.0.2"
583
604
  },
584
605
  "peerDependenciesMeta": {
585
606
  "@angular/animations": {
@@ -588,9 +609,9 @@
588
609
  }
589
610
  },
590
611
  "node_modules/@angular/router": {
591
- "version": "21.0.1",
592
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.0.1.tgz",
593
- "integrity": "sha512-EnNbiScESZ0op9XS9qUNncWc1UcSYy90uCbDMVTTChikZt9b+e19OusFMf50zecb96VMMz+BzNY1see7Rmvx4g==",
612
+ "version": "21.0.2",
613
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.0.2.tgz",
614
+ "integrity": "sha512-fm02ICYhqY+0xO+Skn7UsMRepgbh6vermKRLf2mVZYZl6bNWvq0WiolB2y34ntOkh3ZsbRbmMNhL8auLMU8mPA==",
594
615
  "license": "MIT",
595
616
  "dependencies": {
596
617
  "tslib": "^2.3.0"
@@ -599,9 +620,9 @@
599
620
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
600
621
  },
601
622
  "peerDependencies": {
602
- "@angular/common": "21.0.1",
603
- "@angular/core": "21.0.1",
604
- "@angular/platform-browser": "21.0.1",
623
+ "@angular/common": "21.0.2",
624
+ "@angular/core": "21.0.2",
625
+ "@angular/platform-browser": "21.0.2",
605
626
  "rxjs": "^6.5.3 || ^7.4.0"
606
627
  }
607
628
  },
@@ -691,6 +712,7 @@
691
712
  "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==",
692
713
  "dev": true,
693
714
  "license": "MIT",
715
+ "peer": true,
694
716
  "dependencies": {
695
717
  "@babel/code-frame": "^7.27.1",
696
718
  "@babel/generator": "^7.28.3",
@@ -1041,6 +1063,7 @@
1041
1063
  }
1042
1064
  ],
1043
1065
  "license": "MIT",
1066
+ "peer": true,
1044
1067
  "engines": {
1045
1068
  "node": ">=18"
1046
1069
  },
@@ -1084,6 +1107,7 @@
1084
1107
  }
1085
1108
  ],
1086
1109
  "license": "MIT",
1110
+ "peer": true,
1087
1111
  "engines": {
1088
1112
  "node": ">=18"
1089
1113
  }
@@ -1800,6 +1824,7 @@
1800
1824
  "integrity": "sha512-X7/+dG9SLpSzRkwgG5/xiIzW0oMrV3C0HOa7YHG1WnrLK+vCQHfte4k/T80059YBdei29RBC3s+pSMvPJDU9/A==",
1801
1825
  "dev": true,
1802
1826
  "license": "MIT",
1827
+ "peer": true,
1803
1828
  "dependencies": {
1804
1829
  "@inquirer/checkbox": "^4.3.0",
1805
1830
  "@inquirer/confirm": "^5.1.19",
@@ -3927,7 +3952,8 @@
3927
3952
  "version": "1.0.0",
3928
3953
  "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz",
3929
3954
  "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==",
3930
- "license": "MIT"
3955
+ "license": "MIT",
3956
+ "peer": true
3931
3957
  },
3932
3958
  "node_modules/@tufjs/canonical-json": {
3933
3959
  "version": "2.0.0",
@@ -4557,6 +4583,34 @@
4557
4583
  "url": "https://github.com/sponsors/jonschlinkert"
4558
4584
  }
4559
4585
  },
4586
+ "node_modules/angular-cli-ghpages/node_modules/readdirp": {
4587
+ "version": "3.6.0",
4588
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
4589
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
4590
+ "dev": true,
4591
+ "license": "MIT",
4592
+ "optional": true,
4593
+ "dependencies": {
4594
+ "picomatch": "^2.2.1"
4595
+ },
4596
+ "engines": {
4597
+ "node": ">=8.10.0"
4598
+ }
4599
+ },
4600
+ "node_modules/angular-cli-ghpages/node_modules/readdirp/node_modules/picomatch": {
4601
+ "version": "2.3.1",
4602
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
4603
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
4604
+ "dev": true,
4605
+ "license": "MIT",
4606
+ "optional": true,
4607
+ "engines": {
4608
+ "node": ">=8.6"
4609
+ },
4610
+ "funding": {
4611
+ "url": "https://github.com/sponsors/jonschlinkert"
4612
+ }
4613
+ },
4560
4614
  "node_modules/angular-cli-ghpages/node_modules/restore-cursor": {
4561
4615
  "version": "3.1.0",
4562
4616
  "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
@@ -4653,6 +4707,35 @@
4653
4707
  "url": "https://github.com/chalk/ansi-styles?sponsor=1"
4654
4708
  }
4655
4709
  },
4710
+ "node_modules/anymatch": {
4711
+ "version": "3.1.3",
4712
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
4713
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
4714
+ "dev": true,
4715
+ "license": "ISC",
4716
+ "optional": true,
4717
+ "dependencies": {
4718
+ "normalize-path": "^3.0.0",
4719
+ "picomatch": "^2.0.4"
4720
+ },
4721
+ "engines": {
4722
+ "node": ">= 8"
4723
+ }
4724
+ },
4725
+ "node_modules/anymatch/node_modules/picomatch": {
4726
+ "version": "2.3.1",
4727
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
4728
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
4729
+ "dev": true,
4730
+ "license": "MIT",
4731
+ "optional": true,
4732
+ "engines": {
4733
+ "node": ">=8.6"
4734
+ },
4735
+ "funding": {
4736
+ "url": "https://github.com/sponsors/jonschlinkert"
4737
+ }
4738
+ },
4656
4739
  "node_modules/array-union": {
4657
4740
  "version": "1.0.2",
4658
4741
  "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
@@ -4764,6 +4847,20 @@
4764
4847
  "require-from-string": "^2.0.2"
4765
4848
  }
4766
4849
  },
4850
+ "node_modules/binary-extensions": {
4851
+ "version": "2.3.0",
4852
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
4853
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
4854
+ "dev": true,
4855
+ "license": "MIT",
4856
+ "optional": true,
4857
+ "engines": {
4858
+ "node": ">=8"
4859
+ },
4860
+ "funding": {
4861
+ "url": "https://github.com/sponsors/sindresorhus"
4862
+ }
4863
+ },
4767
4864
  "node_modules/bl": {
4768
4865
  "version": "4.1.0",
4769
4866
  "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
@@ -4823,7 +4920,6 @@
4823
4920
  }
4824
4921
  ],
4825
4922
  "license": "MIT",
4826
- "peer": true,
4827
4923
  "peerDependencies": {
4828
4924
  "@popperjs/core": "^2.11.8"
4829
4925
  }
@@ -4872,6 +4968,7 @@
4872
4968
  }
4873
4969
  ],
4874
4970
  "license": "MIT",
4971
+ "peer": true,
4875
4972
  "dependencies": {
4876
4973
  "baseline-browser-mapping": "^2.8.25",
4877
4974
  "caniuse-lite": "^1.0.30001754",
@@ -5062,6 +5159,7 @@
5062
5159
  "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
5063
5160
  "dev": true,
5064
5161
  "license": "MIT",
5162
+ "peer": true,
5065
5163
  "dependencies": {
5066
5164
  "readdirp": "^4.0.1"
5067
5165
  },
@@ -5821,6 +5919,7 @@
5821
5919
  "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==",
5822
5920
  "dev": true,
5823
5921
  "license": "MIT",
5922
+ "peer": true,
5824
5923
  "dependencies": {
5825
5924
  "accepts": "^2.0.0",
5826
5925
  "body-parser": "^2.2.0",
@@ -6250,6 +6349,20 @@
6250
6349
  "url": "https://github.com/sponsors/isaacs"
6251
6350
  }
6252
6351
  },
6352
+ "node_modules/glob-parent": {
6353
+ "version": "5.1.2",
6354
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
6355
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
6356
+ "dev": true,
6357
+ "license": "ISC",
6358
+ "optional": true,
6359
+ "dependencies": {
6360
+ "is-glob": "^4.0.1"
6361
+ },
6362
+ "engines": {
6363
+ "node": ">= 6"
6364
+ }
6365
+ },
6253
6366
  "node_modules/glob-to-regexp": {
6254
6367
  "version": "0.4.1",
6255
6368
  "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
@@ -6627,6 +6740,20 @@
6627
6740
  "node": ">= 0.10"
6628
6741
  }
6629
6742
  },
6743
+ "node_modules/is-binary-path": {
6744
+ "version": "2.1.0",
6745
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
6746
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
6747
+ "dev": true,
6748
+ "license": "MIT",
6749
+ "optional": true,
6750
+ "dependencies": {
6751
+ "binary-extensions": "^2.0.0"
6752
+ },
6753
+ "engines": {
6754
+ "node": ">=8"
6755
+ }
6756
+ },
6630
6757
  "node_modules/is-core-module": {
6631
6758
  "version": "2.16.1",
6632
6759
  "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
@@ -6782,6 +6909,7 @@
6782
6909
  "integrity": "sha512-454TI39PeRDW1LgpyLPyURtB4Zx1tklSr6+OFOipsxGUH1WMTvk6C65JQdrj455+DP2uJ1+veBEHTGFKWVLFoA==",
6783
6910
  "dev": true,
6784
6911
  "license": "MIT",
6912
+ "peer": true,
6785
6913
  "dependencies": {
6786
6914
  "@acemir/cssom": "^0.9.23",
6787
6915
  "@asamuzakjp/dom-selector": "^6.7.4",
@@ -6895,6 +7023,7 @@
6895
7023
  "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==",
6896
7024
  "dev": true,
6897
7025
  "license": "MIT",
7026
+ "peer": true,
6898
7027
  "dependencies": {
6899
7028
  "cli-truncate": "^5.0.0",
6900
7029
  "colorette": "^2.0.20",
@@ -7642,6 +7771,17 @@
7642
7771
  "node": "^20.17.0 || >=22.9.0"
7643
7772
  }
7644
7773
  },
7774
+ "node_modules/normalize-path": {
7775
+ "version": "3.0.0",
7776
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
7777
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
7778
+ "dev": true,
7779
+ "license": "MIT",
7780
+ "optional": true,
7781
+ "engines": {
7782
+ "node": ">=0.10.0"
7783
+ }
7784
+ },
7645
7785
  "node_modules/npm-bundled": {
7646
7786
  "version": "4.0.0",
7647
7787
  "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz",
@@ -8548,6 +8688,7 @@
8548
8688
  "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
8549
8689
  "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
8550
8690
  "license": "Apache-2.0",
8691
+ "peer": true,
8551
8692
  "dependencies": {
8552
8693
  "tslib": "^2.1.0"
8553
8694
  }
@@ -8615,13 +8756,8 @@
8615
8756
  }
8616
8757
  },
8617
8758
  "node_modules/sdga-ui": {
8618
- "version": "1.0.3",
8619
- "resolved": "https://registry.npmjs.org/sdga-ui/-/sdga-ui-1.0.3.tgz",
8620
- "integrity": "sha512-9WTnr7Tu37mxPH1TxHIknmNx/imH09MOGuef4z2UL0akiJzdsy7jNDjc1XXYZhdWBpuyvJntbKbSwzqQxPGlNg==",
8621
- "license": "MIT",
8622
- "peerDependencies": {
8623
- "bootstrap": "^5.3.8"
8624
- }
8759
+ "resolved": "..",
8760
+ "link": true
8625
8761
  },
8626
8762
  "node_modules/semver": {
8627
8763
  "version": "7.7.3",
@@ -9248,7 +9384,8 @@
9248
9384
  "version": "2.8.1",
9249
9385
  "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
9250
9386
  "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
9251
- "license": "0BSD"
9387
+ "license": "0BSD",
9388
+ "peer": true
9252
9389
  },
9253
9390
  "node_modules/tuf-js": {
9254
9391
  "version": "4.0.0",
@@ -9286,6 +9423,7 @@
9286
9423
  "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
9287
9424
  "dev": true,
9288
9425
  "license": "Apache-2.0",
9426
+ "peer": true,
9289
9427
  "bin": {
9290
9428
  "tsc": "bin/tsc",
9291
9429
  "tsserver": "bin/tsserver"
@@ -9435,6 +9573,7 @@
9435
9573
  "integrity": "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==",
9436
9574
  "dev": true,
9437
9575
  "license": "MIT",
9576
+ "peer": true,
9438
9577
  "dependencies": {
9439
9578
  "esbuild": "^0.25.0",
9440
9579
  "fdir": "^6.5.0",
@@ -9994,6 +10133,7 @@
9994
10133
  "integrity": "sha512-d9B2J9Cm9dN9+6nxMnnNJKJCtcyKfnHj15N6YNJfaFHRLua/d3sRKU9RuKmO9mB0XdFtUizlxfz/VPbd3OxGhw==",
9995
10134
  "dev": true,
9996
10135
  "license": "MIT",
10136
+ "peer": true,
9997
10137
  "dependencies": {
9998
10138
  "@vitest/expect": "4.0.14",
9999
10139
  "@vitest/mocker": "4.0.14",
@@ -10441,6 +10581,7 @@
10441
10581
  "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
10442
10582
  "dev": true,
10443
10583
  "license": "MIT",
10584
+ "peer": true,
10444
10585
  "funding": {
10445
10586
  "url": "https://github.com/sponsors/colinhacks"
10446
10587
  }
@@ -1,14 +1,16 @@
1
1
  {
2
2
  "name": "demo-angular",
3
- "version": "0.0.0",
3
+ "version": "1.0.7",
4
4
  "scripts": {
5
5
  "ng": "ng",
6
- "start": "ng serve -o",
6
+ "start": "npm run use:local && ng serve -o",
7
7
  "build": "ng build",
8
- "build:prod": "ng build --configuration production",
8
+ "build:prod": "npm run use:npm && ng build --configuration production",
9
9
  "deploy": "ng deploy --base-href=/dga-ui/",
10
10
  "watch": "ng build --watch --configuration development",
11
- "test": "ng test"
11
+ "test": "ng test",
12
+ "use:local": "npm install --no-save file:.. && echo Using local sdga-ui",
13
+ "use:npm": "node -e \"const fs=require('fs');const pkg=JSON.parse(fs.readFileSync('package.json'));const version=pkg.dependencies['sdga-ui'];console.log('Installing sdga-ui@'+version);\" && npm install && echo Using npm sdga-ui"
12
14
  },
13
15
  "prettier": {
14
16
  "printWidth": 100,
@@ -25,17 +27,18 @@
25
27
  "private": true,
26
28
  "packageManager": "npm@11.6.3",
27
29
  "dependencies": {
28
- "@angular/common": "^21.0.0",
29
- "@angular/compiler": "^21.0.0",
30
- "@angular/core": "^21.0.0",
31
- "@angular/forms": "^21.0.0",
32
- "@angular/platform-browser": "^21.0.0",
33
- "@angular/router": "^21.0.0",
30
+ "@angular/common": "^21.0.2",
31
+ "@angular/compiler": "^21.0.2",
32
+ "@angular/core": "^21.0.2",
33
+ "@angular/forms": "^21.0.2",
34
+ "@angular/platform-browser": "^21.0.2",
35
+ "@angular/router": "^21.0.2",
34
36
  "@ngx-translate/core": "^17.0.0",
35
37
  "@ngx-translate/http-loader": "^17.0.0",
38
+ "bootstrap": "^5.3.8",
36
39
  "highlight.js": "^11.11.1",
37
40
  "rxjs": "~7.8.0",
38
- "sdga-ui": "^1.0.3",
41
+ "sdga-ui": "^1.0.7",
39
42
  "tslib": "^2.3.0"
40
43
  },
41
44
  "devDependencies": {
@@ -0,0 +1,35 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Redirecting...</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1">
7
+ <meta http-equiv="refresh" content="0; url=/dga-ui/">
8
+ <script>
9
+ // GitHub Pages SPA fallback
10
+ // For project pages, the first path segment is the repo name.
11
+ (function() {
12
+ var segmentCount = 1; // keep '/dga-ui'
13
+ var l = window.location;
14
+ var path = l.pathname.split('/').slice(0, 1 + segmentCount).join('/') + '/';
15
+ var rest = l.pathname.split('/').slice(1 + segmentCount).join('/');
16
+ var query = l.search || '';
17
+ var hash = l.hash || '';
18
+ // Persist the intended route for index.html to restore
19
+ var data = {
20
+ path: path + rest.replace(/\/?$/, ''),
21
+ query: query,
22
+ hash: hash
23
+ };
24
+ try {
25
+ sessionStorage.setItem('ghspa-redirect', JSON.stringify(data));
26
+ } catch (e) {}
27
+ // Navigate to the app root so the SPA can boot
28
+ l.replace(path);
29
+ })();
30
+ </script>
31
+ </head>
32
+ <body>
33
+ Redirecting...
34
+ </body>
35
+ </html>