sdga-ui 1.0.6 → 1.0.8

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 (73) hide show
  1. package/README.md +4 -4
  2. package/css/dga-ui.css +571 -220
  3. package/css/dga-ui.css.map +1 -1
  4. package/demo-angular/angular.json +3 -0
  5. package/demo-angular/package-lock.json +41 -41
  6. package/demo-angular/package.json +8 -8
  7. package/demo-angular/public/404.html +35 -0
  8. package/demo-angular/public/i18n/ar.json +47 -0
  9. package/demo-angular/public/i18n/en.json +47 -0
  10. package/demo-angular/src/app/app.html +1 -1
  11. package/demo-angular/src/app/app.routes.ts +8 -4
  12. package/demo-angular/src/app/app.ts +11 -2
  13. package/demo-angular/src/app/shared/code-example/code-example.component.html +1 -1
  14. package/demo-angular/src/app/shared/code-example/code-example.component.ts +12 -1
  15. package/demo-angular/src/app/views/alerts/alerts.component.html +10 -10
  16. package/demo-angular/src/app/views/alerts/alerts.component.ts +10 -10
  17. package/demo-angular/src/app/views/buttons/buttons.component.html +118 -47
  18. package/demo-angular/src/app/views/buttons/buttons.component.scss +0 -3
  19. package/demo-angular/src/app/views/buttons/buttons.component.ts +91 -21
  20. package/demo-angular/src/app/views/cards/cards.component.html +6 -6
  21. package/demo-angular/src/app/views/cards/cards.component.ts +10 -10
  22. package/demo-angular/src/app/views/footer/footer.html +270 -0
  23. package/demo-angular/src/app/views/footer/footer.ts +276 -0
  24. package/demo-angular/src/app/views/header/header.html +1 -0
  25. package/demo-angular/src/app/views/header/header.scss +0 -0
  26. package/demo-angular/src/app/views/header/header.spec.ts +23 -0
  27. package/demo-angular/src/app/views/header/header.ts +11 -0
  28. package/demo-angular/src/app/views/home/home.component.html +0 -5
  29. package/demo-angular/src/app/views/links/links.component.html +2 -2
  30. package/demo-angular/src/app/views/links/links.component.ts +1 -1
  31. package/demo-angular/src/app/views/toasts/toasts.component.html +7 -7
  32. package/demo-angular/src/app/views/toasts/toasts.component.ts +7 -7
  33. package/demo-angular/src/index.html +15 -1
  34. package/demo-angular/tsconfig.app.json +2 -1
  35. package/package.json +2 -2
  36. package/sdga-ui/README.md +45 -0
  37. package/sdga-ui/content/docs/components/alerts.mdx +475 -0
  38. package/sdga-ui/content/docs/index.mdx +239 -0
  39. package/sdga-ui/next.config.mjs +10 -0
  40. package/sdga-ui/package-lock.json +5851 -0
  41. package/sdga-ui/package.json +32 -0
  42. package/sdga-ui/postcss.config.mjs +5 -0
  43. package/sdga-ui/source.config.ts +27 -0
  44. package/sdga-ui/src/app/(home)/layout.tsx +6 -0
  45. package/sdga-ui/src/app/(home)/page.tsx +202 -0
  46. package/sdga-ui/src/app/api/search/route.ts +7 -0
  47. package/sdga-ui/src/app/docs/[[...slug]]/page.tsx +54 -0
  48. package/sdga-ui/src/app/docs/layout.tsx +11 -0
  49. package/sdga-ui/src/app/global.css +3 -0
  50. package/sdga-ui/src/app/layout.tsx +25 -0
  51. package/sdga-ui/src/app/llms-full.txt/route.ts +10 -0
  52. package/sdga-ui/src/app/og/docs/[...slug]/route.tsx +34 -0
  53. package/sdga-ui/src/app/sdga-scoped.css +7 -0
  54. package/sdga-ui/src/components/sdga-preview.tsx +105 -0
  55. package/sdga-ui/src/lib/layout.shared.tsx +9 -0
  56. package/sdga-ui/src/lib/source.ts +27 -0
  57. package/sdga-ui/src/mdx-components.tsx +9 -0
  58. package/sdga-ui/tsconfig.json +46 -0
  59. package/theme/_variables.scss +6 -5
  60. package/theme/components/_buttons.scss +1 -197
  61. package/theme/config/_base.scss +11 -1
  62. package/theme/customizations/_alerts.scss +115 -126
  63. package/theme/customizations/_badges.scss +15 -0
  64. package/theme/customizations/_buttons.scss +349 -146
  65. package/theme/customizations/_cards.scss +52 -0
  66. package/theme/customizations/_footer.scss +160 -0
  67. package/theme/customizations/_global.scss +20 -2
  68. package/theme/customizations/_links.scss +62 -45
  69. package/theme/customizations/_toasts.scss +92 -114
  70. package/theme/dga-ui.scss +2 -1
  71. package/demo-angular/src/app/views/bootstrap/bootstrap.component.html +0 -14
  72. package/demo-angular/src/app/views/bootstrap/bootstrap.component.scss +0 -91
  73. package/demo-angular/src/app/views/bootstrap/bootstrap.component.ts +0 -23
@@ -0,0 +1,11 @@
1
+ import { Component } from "@angular/core";
2
+ import { TranslateModule } from "@ngx-translate/core";
3
+
4
+ @Component({
5
+ selector: 'app-header',
6
+ imports: [TranslateModule],
7
+ templateUrl: './header.html',
8
+ styleUrl: './header.scss',
9
+ })
10
+ export class Header {
11
+ }
@@ -29,10 +29,5 @@
29
29
  <h3>{{ 'nav.tables' | translate }}</h3>
30
30
  <p>{{ 'home.tables_desc' | translate }}</p>
31
31
  </a>
32
-
33
- <a routerLink="/utilities" class="component-card">
34
- <h3>{{ 'nav.utilities' | translate }}</h3>
35
- <p>{{ 'home.utilities_desc' | translate }}</p>
36
- </a>
37
32
  </div>
38
33
  </div>
@@ -10,8 +10,8 @@
10
10
  <!-- Neutral link -->
11
11
  <a href="javascript:void(0);" class="link-neutral link-offset-2">{{ 'links.neutral_link' | translate }}</a>
12
12
  <!-- On-color link displayed on a primary background -->
13
- <div class="p-3 bg-primary rounded-2" style="width:max-content;">
14
- <a href="javascript:void(0);" class="link-oncolor link-offset-2">{{ 'links.oncolor_link' | translate }}</a>
13
+ <div class="p-3 on-primary rounded-2" style="width:max-content;">
14
+ <a href="javascript:void(0);" class="link-neutral link-offset-2">{{ 'links.neutral_link' | translate }}</a>
15
15
  </div>
16
16
  <!-- Disabled link (non-interactive) -->
17
17
  <a href="javascript:void(0);" class="link-primary disabled link-offset-2" aria-disabled="true" tabindex="-1">{{ 'links.disabled_link' | translate }}</a>
@@ -13,7 +13,7 @@ export class LinksComponent {
13
13
  // Basic link variants (primary, neutral, on-color, disabled)
14
14
  basicLinksCode = `<a href=\"javascript:void(0);\" class=\"link-primary link-offset-2\">Primary link</a>
15
15
  <a href=\"javascript:void(0);\" class=\"link-neutral link-offset-2\">Neutral link</a>
16
- <div class=\"p-3 bg-primary rounded-2\"><a href=\"javascript:void(0);\" class=\"link-oncolor link-offset-2\">On-color link</a></div>
16
+ <div class=\"p-3 on-primary rounded-2\"><a href=\"javascript:void(0);\" class=\"link-neutral link-offset-2\">Neutral link</a></div>
17
17
  <a href=\"javascript:void(0);\" class=\"link-primary disabled link-offset-2\" aria-disabled=\"true\" tabindex=\"-1\">Disabled link</a>`;
18
18
 
19
19
  }
@@ -11,7 +11,7 @@
11
11
  <div class="toast-container">
12
12
  <div class="toast show fade toast-success" role="alert" aria-live="polite" aria-atomic="true">
13
13
  <div class="toast-icon">
14
- <i class="hgi hgi-stroke hgi-checkmark-circle-02 toast-icon"></i>
14
+ <i class="bi bi-check-circle toast-icon"></i>
15
15
  </div>
16
16
  <div class="toast-content">
17
17
  <div class="toast-header">
@@ -39,7 +39,7 @@
39
39
  <div class="d-flex flex-wrap gap-3 mb-3">
40
40
  <div class="toast show fade toast-danger" role="alert" aria-live="polite" aria-atomic="true">
41
41
  <div class="toast-icon">
42
- <i class="hgi hgi-stroke hgi-help-circle toast-icon"></i>
42
+ <i class="bi bi-exclamation-circle toast-icon"></i>
43
43
  </div>
44
44
  <div class="toast-content">
45
45
  <div class="toast-header">
@@ -66,7 +66,7 @@
66
66
  <div class="d-flex flex-wrap gap-3 mb-3">
67
67
  <div class="toast show fade toast-warning" role="alert" aria-live="polite" aria-atomic="true">
68
68
  <div class="toast-icon">
69
- <i class="hgi hgi-stroke hgi-alert-02 toast-icon"></i>
69
+ <i class="bi bi-exclamation-triangle toast-icon"></i>
70
70
  </div>
71
71
  <div class="toast-content">
72
72
  <div class="toast-header">
@@ -93,7 +93,7 @@
93
93
  <div class="d-flex flex-wrap gap-3 mb-3">
94
94
  <div class="toast show fade toast-info" role="alert" aria-live="polite" aria-atomic="true">
95
95
  <div class="toast-icon">
96
- <i class="hgi hgi-stroke hgi-help-circle toast-icon"></i>
96
+ <i class="bi bi-info-circle toast-icon"></i>
97
97
  </div>
98
98
  <div class="toast-content">
99
99
  <div class="toast-header">
@@ -120,7 +120,7 @@
120
120
  <div class="d-flex flex-wrap gap-3 mb-3">
121
121
  <div class="toast show fade toast-neutral" role="alert" aria-live="polite" aria-atomic="true">
122
122
  <div class="toast-icon">
123
- <i class="hgi hgi-stroke hgi-help-circle toast-icon"></i>
123
+ <i class="bi bi-info-circle toast-icon"></i>
124
124
  </div>
125
125
  <div class="toast-content">
126
126
  <div class="toast-header">
@@ -148,7 +148,7 @@
148
148
  <div class="toast-container">
149
149
  <div class="toast show fade toast-success" role="alert" aria-live="polite" aria-atomic="true">
150
150
  <div class="toast-icon">
151
- <i class="hgi hgi-stroke hgi-checkmark-circle-02 toast-icon"></i>
151
+ <i class="bi bi-check-circle toast-icon"></i>
152
152
  </div>
153
153
  <div class="toast-content">
154
154
  <div class="toast-header">
@@ -176,7 +176,7 @@
176
176
  <div class="d-flex flex-wrap gap-3 mb-3">
177
177
  <div class="toast show fade toast-success" role="alert" aria-live="polite" aria-atomic="true">
178
178
  <div class="toast-icon">
179
- <i class="hgi hgi-stroke hgi-checkmark-circle-02 toast-icon"></i>
179
+ <i class="bi bi-check-circle toast-icon"></i>
180
180
  </div>
181
181
  <div class="toast-content">
182
182
  <div class="toast-header">
@@ -21,7 +21,7 @@ export class ToastsComponent {
21
21
  // Success Toast with Icon
22
22
  successToastCode = `<div class="toast show fade toast-success" role="alert" aria-live="polite" aria-atomic="true">
23
23
  <div class="toast-icon">
24
- <i class="hgi hgi-stroke hgi-checkmark-circle-02 toast-icon"></i>
24
+ <i class="bi bi-check-circle toast-icon"></i>
25
25
  </div>
26
26
  <div class="toast-content">
27
27
  <div class="toast-header">
@@ -41,7 +41,7 @@ export class ToastsComponent {
41
41
  // Danger Toast with Icon
42
42
  dangerToastCode = `<div class="toast show fade toast-danger" role="alert" aria-live="polite" aria-atomic="true">
43
43
  <div class="toast-icon">
44
- <i class="hgi hgi-stroke hgi-help-circle toast-icon"></i>
44
+ <i class="bi bi-exclamation-circle toast-icon"></i>
45
45
  </div>
46
46
  <div class="toast-content">
47
47
  <div class="toast-header">
@@ -61,7 +61,7 @@ export class ToastsComponent {
61
61
  // Warning Toast with Icon
62
62
  warningToastCode = `<div class="toast show fade toast-warning" role="alert" aria-live="polite" aria-atomic="true">
63
63
  <div class="toast-icon">
64
- <i class="hgi hgi-stroke hgi-alert-02 toast-icon"></i>
64
+ <i class="bi bi-exclamation-triangle toast-icon"></i>
65
65
  </div>
66
66
  <div class="toast-content">
67
67
  <div class="toast-header">
@@ -81,7 +81,7 @@ export class ToastsComponent {
81
81
  // Info Toast with Icon
82
82
  infoToastCode = `<div class="toast show fade toast-info" role="alert" aria-live="polite" aria-atomic="true">
83
83
  <div class="toast-icon">
84
- <i class="hgi hgi-stroke hgi-help-circle toast-icon"></i>
84
+ <i class="bi bi-info-circle toast-icon"></i>
85
85
  </div>
86
86
  <div class="toast-content">
87
87
  <div class="toast-header">
@@ -101,7 +101,7 @@ export class ToastsComponent {
101
101
  // Neutral Toast with Icon
102
102
  neutralToastCode = `<div class="toast show fade toast-neutral" role="alert" aria-live="polite" aria-atomic="true">
103
103
  <div class="toast-icon">
104
- <i class="hgi hgi-stroke hgi-help-circle toast-icon"></i>
104
+ <i class="bi bi-info-circle toast-icon"></i>
105
105
  </div>
106
106
  <div class="toast-content">
107
107
  <div class="toast-header">
@@ -122,7 +122,7 @@ export class ToastsComponent {
122
122
  fullToastCode = `<div class="toast-container">
123
123
  <div class="toast show fade toast-success" role="alert" aria-live="polite" aria-atomic="true">
124
124
  <div class="toast-icon">
125
- <i class="hgi hgi-stroke hgi-checkmark-circle-02 toast-icon"></i>
125
+ <i class="bi bi-check-circle toast-icon"></i>
126
126
  </div>
127
127
  <div class="toast-content">
128
128
  <div class="toast-header">
@@ -143,7 +143,7 @@ export class ToastsComponent {
143
143
  // Dismissible Toast
144
144
  dismissibleToastCode = `<div class="toast show fade toast-success" role="alert" aria-live="polite" aria-atomic="true">
145
145
  <div class="toast-icon">
146
- <i class="hgi hgi-stroke hgi-checkmark-circle-02 toast-icon"></i>
146
+ <i class="bi bi-check-circle toast-icon"></i>
147
147
  </div>
148
148
  <div class="toast-content">
149
149
  <div class="toast-header">
@@ -5,8 +5,22 @@
5
5
  <title>DemoAngular</title>
6
6
  <base href="/">
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1">
8
- <link rel="stylesheet" href="https://cdn.hugeicons.com/font/hgi-stroke-rounded.css" />
8
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
9
9
  <link rel="icon" type="image/x-icon" href="favicon.ico">
10
+ <script>
11
+ // Handle redirect from 404.html on GitHub Pages for SPA routes
12
+ (function() {
13
+ var redirect = sessionStorage.getItem('ghspa-redirect');
14
+ if (redirect) {
15
+ sessionStorage.removeItem('ghspa-redirect');
16
+ var data = JSON.parse(redirect);
17
+ if (data.path) {
18
+ var newUrl = data.path + (data.query || '') + (data.hash || '');
19
+ history.replaceState(null, '', newUrl);
20
+ }
21
+ }
22
+ })();
23
+ </script>
10
24
  </head>
11
25
  <body>
12
26
  <app-root></app-root>
@@ -4,7 +4,8 @@
4
4
  "extends": "./tsconfig.json",
5
5
  "compilerOptions": {
6
6
  "outDir": "./out-tsc/app",
7
- "types": []
7
+ "types": [],
8
+ "resolveJsonModule": true
8
9
  },
9
10
  "include": [
10
11
  "src/**/*.ts"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdga-ui",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "DGA UI - Government-Style Bootstrap Theme",
5
5
  "keywords": [
6
6
  "sdga",
@@ -32,7 +32,7 @@
32
32
  "format:check": "prettier --check \"**/*.{js,json,md,css,scss}\"",
33
33
  "build-css": "sass --load-path=node_modules theme/dga-ui.scss css/dga-ui.css",
34
34
  "watch-css": "sass --load-path=node_modules --watch theme/dga-ui.scss css/dga-ui.css",
35
- "update-demo-version": "node -e \"const fs=require('fs');const pkg=JSON.parse(fs.readFileSync('package.json'));const demoPkg=JSON.parse(fs.readFileSync('demo-angular/package.json'));demoPkg.dependencies['sdga-ui']='^'+pkg.version;fs.writeFileSync('demo-angular/package.json',JSON.stringify(demoPkg,null,2)+'\\n');\"",
35
+ "update-demo-version": "node -e \"const fs=require('fs');const pkg=JSON.parse(fs.readFileSync('package.json'));const demoPkg=JSON.parse(fs.readFileSync('demo-angular/package.json'));demoPkg.version=pkg.version;demoPkg.dependencies['sdga-ui']='^'+pkg.version;fs.writeFileSync('demo-angular/package.json',JSON.stringify(demoPkg,null,2)+'\\n');console.log('Synced demo-angular version to',pkg.version);\"",
36
36
  "prepublishOnly": "npm run build-css",
37
37
  "preversion": "npm run build-css",
38
38
  "version": "npm run update-demo-version && git add .",
@@ -0,0 +1,45 @@
1
+ # sdga-ui
2
+
3
+ This is a Next.js application generated with
4
+ [Create Fumadocs](https://github.com/fuma-nama/fumadocs).
5
+
6
+ Run development server:
7
+
8
+ ```bash
9
+ npm run dev
10
+ # or
11
+ pnpm dev
12
+ # or
13
+ yarn dev
14
+ ```
15
+
16
+ Open http://localhost:3000 with your browser to see the result.
17
+
18
+ ## Explore
19
+
20
+ In the project, you can see:
21
+
22
+ - `lib/source.ts`: Code for content source adapter, [`loader()`](https://fumadocs.dev/docs/headless/source-api) provides the interface to access your content.
23
+ - `lib/layout.shared.tsx`: Shared options for layouts, optional but preferred to keep.
24
+
25
+ | Route | Description |
26
+ | ------------------------- | ------------------------------------------------------ |
27
+ | `app/(home)` | The route group for your landing page and other pages. |
28
+ | `app/docs` | The documentation layout and pages. |
29
+ | `app/api/search/route.ts` | The Route Handler for search. |
30
+
31
+ ### Fumadocs MDX
32
+
33
+ A `source.config.ts` config file has been included, you can customise different options like frontmatter schema.
34
+
35
+ Read the [Introduction](https://fumadocs.dev/docs/mdx) for further details.
36
+
37
+ ## Learn More
38
+
39
+ To learn more about Next.js and Fumadocs, take a look at the following
40
+ resources:
41
+
42
+ - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js
43
+ features and API.
44
+ - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
45
+ - [Fumadocs](https://fumadocs.dev) - learn about Fumadocs