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.
- package/.github/workflows/deploy.yml +15 -1
- package/README.md +16 -24
- package/css/dga-ui.css +4146 -1055
- package/css/dga-ui.css.map +1 -1
- package/demo-angular/README.md +34 -2
- package/demo-angular/angular.json +6 -1
- package/demo-angular/package-lock.json +191 -50
- package/demo-angular/package.json +14 -11
- package/demo-angular/public/404.html +35 -0
- package/demo-angular/public/i18n/ar.json +50 -0
- package/demo-angular/public/i18n/en.json +50 -0
- package/demo-angular/src/app/app.routes.ts +12 -4
- package/demo-angular/src/app/app.ts +8 -2
- package/demo-angular/src/app/views/alerts/alerts.component.html +10 -10
- package/demo-angular/src/app/views/alerts/alerts.component.ts +10 -10
- package/demo-angular/src/app/views/buttons/buttons.component.html +23 -23
- package/demo-angular/src/app/views/buttons/buttons.component.ts +14 -14
- package/demo-angular/src/app/views/cards/cards.component.html +6 -6
- package/demo-angular/src/app/views/cards/cards.component.ts +10 -10
- package/demo-angular/src/app/views/contexts/contexts.component.html +204 -0
- package/demo-angular/src/app/views/contexts/contexts.component.ts +10 -0
- package/demo-angular/src/app/views/footer/footer.html +282 -0
- package/demo-angular/src/app/views/footer/footer.spec.ts +23 -0
- package/demo-angular/src/app/views/footer/footer.ts +142 -0
- package/demo-angular/src/app/views/header/header.html +1 -0
- package/demo-angular/src/app/views/header/header.scss +0 -0
- package/demo-angular/src/app/views/header/header.spec.ts +23 -0
- package/demo-angular/src/app/views/header/header.ts +11 -0
- package/demo-angular/src/app/views/home/home.component.html +0 -5
- package/demo-angular/src/app/views/links/links.component.html +11 -130
- package/demo-angular/src/app/views/links/links.component.scss +1 -50
- package/demo-angular/src/app/views/links/links.component.ts +5 -109
- package/demo-angular/src/app/views/toasts/toasts.component.html +7 -7
- package/demo-angular/src/app/views/toasts/toasts.component.ts +7 -7
- package/demo-angular/src/index.html +15 -1
- package/package.json +3 -2
- package/sdga-ui/README.md +45 -0
- package/sdga-ui/content/docs/components/alerts.mdx +475 -0
- package/sdga-ui/content/docs/index.mdx +239 -0
- package/sdga-ui/next.config.mjs +10 -0
- package/sdga-ui/package-lock.json +5851 -0
- package/sdga-ui/package.json +32 -0
- package/sdga-ui/postcss.config.mjs +5 -0
- package/sdga-ui/source.config.ts +27 -0
- package/sdga-ui/src/app/(home)/layout.tsx +6 -0
- package/sdga-ui/src/app/(home)/page.tsx +202 -0
- package/sdga-ui/src/app/api/search/route.ts +7 -0
- package/sdga-ui/src/app/docs/[[...slug]]/page.tsx +54 -0
- package/sdga-ui/src/app/docs/layout.tsx +11 -0
- package/sdga-ui/src/app/global.css +3 -0
- package/sdga-ui/src/app/layout.tsx +25 -0
- package/sdga-ui/src/app/llms-full.txt/route.ts +10 -0
- package/sdga-ui/src/app/og/docs/[...slug]/route.tsx +34 -0
- package/sdga-ui/src/app/sdga-scoped.css +7 -0
- package/sdga-ui/src/components/sdga-preview.tsx +105 -0
- package/sdga-ui/src/lib/layout.shared.tsx +9 -0
- package/sdga-ui/src/lib/source.ts +27 -0
- package/sdga-ui/src/mdx-components.tsx +9 -0
- package/sdga-ui/tsconfig.json +46 -0
- package/theme/_variables.scss +7 -5
- package/theme/components/_buttons.scss +105 -0
- package/theme/components/_cards.scss +0 -1
- package/theme/components/_pagination.scss +2 -2
- package/theme/config/_base.scss +4 -33
- package/theme/config/_contexts.scss +471 -0
- package/theme/customizations/_alerts.scss +105 -125
- package/theme/customizations/_badges.scss +15 -0
- package/theme/customizations/_buttons.scss +288 -146
- package/theme/customizations/_cards.scss +52 -0
- package/theme/customizations/_contexts.scss +432 -0
- package/theme/customizations/_footer.scss +83 -0
- package/theme/customizations/_links.scss +88 -84
- package/theme/customizations/_toasts.scss +81 -101
- package/theme/dga-ui.scss +3 -2
- package/demo-angular/src/app/views/bootstrap/bootstrap.component.html +0 -14
- package/demo-angular/src/app/views/bootstrap/bootstrap.component.scss +0 -91
- package/demo-angular/src/app/views/bootstrap/bootstrap.component.ts +0 -23
- package/theme/customizations/_utilities.scss +0 -138
- /package/demo-angular/{public/.nojekyll → src/app/views/footer/footer.scss} +0 -0
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
"nav": {
|
|
8
8
|
"getting_started": "البدء",
|
|
9
9
|
"components": "المكونات",
|
|
10
|
+
"layout": "التخطيط",
|
|
10
11
|
"home": "الرئيسية",
|
|
11
12
|
"alerts": "التنبيهات",
|
|
12
13
|
"buttons": "الأزرار",
|
|
@@ -15,6 +16,9 @@
|
|
|
15
16
|
"tables": "الجداول",
|
|
16
17
|
"toasts": "الإشعارات",
|
|
17
18
|
"links": "الروابط",
|
|
19
|
+
"header": "الرأس",
|
|
20
|
+
"footer": "التذييل",
|
|
21
|
+
"contexts": "السياقات",
|
|
18
22
|
"utilities": "الأدوات",
|
|
19
23
|
"all_components": "جميع المكونات"
|
|
20
24
|
},
|
|
@@ -209,6 +213,9 @@
|
|
|
209
213
|
"danger_link": "رابط خطر",
|
|
210
214
|
"warning_link": "رابط تحذير",
|
|
211
215
|
"info_link": "رابط معلومات",
|
|
216
|
+
"neutral_link": "رابط محايد",
|
|
217
|
+
"oncolor_link": "رابط على لون خلفية",
|
|
218
|
+
"disabled_link": "رابط معطل",
|
|
212
219
|
"underline_link": "رابط مع تسطير",
|
|
213
220
|
"no_underline": "رابط بدون تسطير",
|
|
214
221
|
"underline_25": "رابط مع شفافية تسطير 25%",
|
|
@@ -227,6 +234,49 @@
|
|
|
227
234
|
"bold_link": "نمط رابط عريض",
|
|
228
235
|
"decorated_link": "رابط مع تسطير متحرك"
|
|
229
236
|
},
|
|
237
|
+
"header": {
|
|
238
|
+
"title": "الرأس",
|
|
239
|
+
"subtitle": "مكون رأس متجاوب مع التنقل والعلامة التجارية",
|
|
240
|
+
"section_default": "الرأس الافتراضي",
|
|
241
|
+
"section_variants": "أنواع الرأس"
|
|
242
|
+
},
|
|
243
|
+
"footer": {
|
|
244
|
+
"title": "التذييل",
|
|
245
|
+
"subtitle": "مكون تذييل متجاوب مع الروابط ووسائل التواصل الاجتماعي",
|
|
246
|
+
"section_primary": "التذييل الرئيسي (خلفية on-primary)",
|
|
247
|
+
"section_secondary": "التذييل الثانوي (خلفية on-secondary)",
|
|
248
|
+
"group_label": "عنوان المجموعة",
|
|
249
|
+
"footer_link": "رابط التذييل",
|
|
250
|
+
"social_media": "وسائل التواصل الاجتماعي",
|
|
251
|
+
"accessibility_tools": "أدوات إمكانية الوصول",
|
|
252
|
+
"all_rights_reserved": "جميع الحقوق محفوظة للهيئة الرقمية للحكومة © 2024",
|
|
253
|
+
"terms_conditions": "الشروط والأحكام",
|
|
254
|
+
"privacy_policy": "سياسة الخصوصية"
|
|
255
|
+
},
|
|
256
|
+
"contexts": {
|
|
257
|
+
"title": "السياقات",
|
|
258
|
+
"subtitle": "نظام تخصيص حسب السياق لألوان المكونات التكيفية",
|
|
259
|
+
"section_intro": "مقدمة",
|
|
260
|
+
"intro_text": "يقوم نظام السياق بتكييف ألوان المكونات تلقائيًا بناءً على خلفية العنصر الأب. قم بلف المكونات في فئات السياق لضمان التباين المناسب وسهولة الوصول.",
|
|
261
|
+
"section_primary": "السياق الرئيسي (on-primary)",
|
|
262
|
+
"section_dark": "السياق الداكن (on-dark)",
|
|
263
|
+
"section_danger": "سياق الخطر (on-danger)",
|
|
264
|
+
"section_success": "سياق النجاح (on-success)",
|
|
265
|
+
"section_warning": "سياق التحذير (on-warning)",
|
|
266
|
+
"section_light": "السياق الفاتح (on-light)",
|
|
267
|
+
"section_neutral": "السياق المحايد (on-neutral)",
|
|
268
|
+
"section_info": "سياق المعلومات (on-info)",
|
|
269
|
+
"section_lavender": "سياق اللافندر (on-lavender)",
|
|
270
|
+
"section_secondary": "السياق الثانوي (on-secondary)",
|
|
271
|
+
"demo_heading": "عرض توضيحي للسياق",
|
|
272
|
+
"demo_text": "يتكيف هذا المحتوى تلقائيًا مع ألوانه بناءً على غلاف السياق.",
|
|
273
|
+
"button_primary": "زر رئيسي",
|
|
274
|
+
"button_secondary": "زر ثانوي",
|
|
275
|
+
"button_outline": "زر محدد",
|
|
276
|
+
"link_text": "هذا رابط",
|
|
277
|
+
"link_primary": "رابط رئيسي",
|
|
278
|
+
"link_neutral": "رابط محايد"
|
|
279
|
+
},
|
|
230
280
|
"code": {
|
|
231
281
|
"show": "إظهار الكود",
|
|
232
282
|
"hide": "إخفاء الكود",
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
"nav": {
|
|
8
8
|
"getting_started": "Getting Started",
|
|
9
9
|
"components": "Components",
|
|
10
|
+
"layout": "Layout",
|
|
10
11
|
"home": "Home",
|
|
11
12
|
"alerts": "Alerts",
|
|
12
13
|
"buttons": "Buttons",
|
|
@@ -15,6 +16,9 @@
|
|
|
15
16
|
"tables": "Tables",
|
|
16
17
|
"toasts": "Toasts",
|
|
17
18
|
"links": "Links",
|
|
19
|
+
"header": "Header",
|
|
20
|
+
"footer": "Footer",
|
|
21
|
+
"contexts": "Contexts",
|
|
18
22
|
"utilities": "Utilities",
|
|
19
23
|
"all_components": "All Components"
|
|
20
24
|
},
|
|
@@ -209,6 +213,9 @@
|
|
|
209
213
|
"danger_link": "Danger link",
|
|
210
214
|
"warning_link": "Warning link",
|
|
211
215
|
"info_link": "Info link",
|
|
216
|
+
"neutral_link": "Neutral link",
|
|
217
|
+
"oncolor_link": "Link on colored background",
|
|
218
|
+
"disabled_link": "Disabled link",
|
|
212
219
|
"underline_link": "Link with underline",
|
|
213
220
|
"no_underline": "Link without underline",
|
|
214
221
|
"underline_25": "Link with 25% underline opacity",
|
|
@@ -227,6 +234,49 @@
|
|
|
227
234
|
"bold_link": "Bold link style",
|
|
228
235
|
"decorated_link": "Animated underline link"
|
|
229
236
|
},
|
|
237
|
+
"header": {
|
|
238
|
+
"title": "Header",
|
|
239
|
+
"subtitle": "Responsive header component with navigation and branding",
|
|
240
|
+
"section_default": "Default Header",
|
|
241
|
+
"section_variants": "Header Variants"
|
|
242
|
+
},
|
|
243
|
+
"footer": {
|
|
244
|
+
"title": "Footer",
|
|
245
|
+
"subtitle": "Responsive footer component with links and social media",
|
|
246
|
+
"section_primary": "Primary Footer (on-primary background)",
|
|
247
|
+
"section_secondary": "Secondary Footer (on-secondary background)",
|
|
248
|
+
"group_label": "Group Label",
|
|
249
|
+
"footer_link": "Footer Link",
|
|
250
|
+
"social_media": "Social Media",
|
|
251
|
+
"accessibility_tools": "Accessibility Tools",
|
|
252
|
+
"all_rights_reserved": "All Rights Reserved For Digital Government Authority © 2024",
|
|
253
|
+
"terms_conditions": "Terms and Conditions",
|
|
254
|
+
"privacy_policy": "Privacy Policy"
|
|
255
|
+
},
|
|
256
|
+
"contexts": {
|
|
257
|
+
"title": "Contexts",
|
|
258
|
+
"subtitle": "Context-aware theming system for adaptive component colors",
|
|
259
|
+
"section_intro": "Introduction",
|
|
260
|
+
"intro_text": "The context system automatically adapts component colors based on their parent background. Wrap components in context classes to ensure proper contrast and accessibility.",
|
|
261
|
+
"section_primary": "Primary Context (on-primary)",
|
|
262
|
+
"section_dark": "Dark Context (on-dark)",
|
|
263
|
+
"section_danger": "Danger Context (on-danger)",
|
|
264
|
+
"section_success": "Success Context (on-success)",
|
|
265
|
+
"section_warning": "Warning Context (on-warning)",
|
|
266
|
+
"section_light": "Light Context (on-light)",
|
|
267
|
+
"section_neutral": "Neutral Context (on-neutral)",
|
|
268
|
+
"section_info": "Info Context (on-info)",
|
|
269
|
+
"section_lavender": "Lavender Context (on-lavender)",
|
|
270
|
+
"section_secondary": "Secondary Context (on-secondary)",
|
|
271
|
+
"demo_heading": "Context Demo",
|
|
272
|
+
"demo_text": "This content automatically adapts its colors based on the context wrapper.",
|
|
273
|
+
"button_primary": "Primary Button",
|
|
274
|
+
"button_secondary": "Secondary Button",
|
|
275
|
+
"button_outline": "Outline Button",
|
|
276
|
+
"link_text": "This is a link",
|
|
277
|
+
"link_primary": "Primary Link",
|
|
278
|
+
"link_neutral": "Neutral Link"
|
|
279
|
+
},
|
|
230
280
|
"code": {
|
|
231
281
|
"show": "Show Code",
|
|
232
282
|
"hide": "Hide Code",
|
|
@@ -14,6 +14,10 @@ export const routes: Routes = [
|
|
|
14
14
|
path: 'alerts',
|
|
15
15
|
loadComponent: () => import('./views/alerts/alerts.component').then(m => m.AlertsComponent)
|
|
16
16
|
},
|
|
17
|
+
{
|
|
18
|
+
path: 'contexts',
|
|
19
|
+
loadComponent: () => import('./views/contexts/contexts.component').then(m => m.ContextsComponent)
|
|
20
|
+
},
|
|
17
21
|
{
|
|
18
22
|
path: 'buttons',
|
|
19
23
|
loadComponent: () => import('./views/buttons/buttons.component').then(m => m.ButtonsComponent)
|
|
@@ -34,12 +38,16 @@ export const routes: Routes = [
|
|
|
34
38
|
path: 'toasts',
|
|
35
39
|
loadComponent: () => import('./views/toasts/toasts.component').then(m => m.ToastsComponent)
|
|
36
40
|
},
|
|
37
|
-
{
|
|
38
|
-
path: 'bootstrap',
|
|
39
|
-
loadComponent: () => import('./views/bootstrap/bootstrap.component').then(m => m.BootstrapComponent)
|
|
40
|
-
},
|
|
41
41
|
{
|
|
42
42
|
path: 'links',
|
|
43
43
|
loadComponent: () => import('./views/links/links.component').then(m => m.LinksComponent)
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
path: 'header',
|
|
47
|
+
loadComponent: () => import('./views/header/header').then(m => m.Header)
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
path: 'footer',
|
|
51
|
+
loadComponent: () => import('./views/footer/footer').then(m => m.Footer)
|
|
44
52
|
}
|
|
45
53
|
];
|
|
@@ -40,18 +40,24 @@ export class App {
|
|
|
40
40
|
{ id: 'home', labelKey: 'nav.home', icon: '🏠', route: '/home' }
|
|
41
41
|
]
|
|
42
42
|
},
|
|
43
|
+
{
|
|
44
|
+
groupKey: 'nav.layout',
|
|
45
|
+
items: [
|
|
46
|
+
{ id: 'header', labelKey: 'nav.header', icon: '📋', route: '/header' },
|
|
47
|
+
{ id: 'footer', labelKey: 'nav.footer', icon: '📄', route: '/footer' }
|
|
48
|
+
]
|
|
49
|
+
},
|
|
43
50
|
{
|
|
44
51
|
groupKey: 'nav.components',
|
|
45
52
|
items: [
|
|
46
53
|
{ id: 'alerts', labelKey: 'nav.alerts', icon: '⚠️', route: '/alerts' },
|
|
54
|
+
{ id: 'contexts', labelKey: 'nav.contexts', icon: '🧩', route: '/contexts' },
|
|
47
55
|
{ id: 'buttons', labelKey: 'nav.buttons', icon: '🔘', route: '/buttons' },
|
|
48
56
|
{ id: 'cards', labelKey: 'nav.cards', icon: '🃏', route: '/cards' },
|
|
49
57
|
{ id: 'forms', labelKey: 'nav.forms', icon: '📝', route: '/forms' },
|
|
50
58
|
{ id: 'tables', labelKey: 'nav.tables', icon: '📊', route: '/tables' },
|
|
51
59
|
{ id: 'toasts', labelKey: 'nav.toasts', icon: '🔔', route: '/toasts' },
|
|
52
60
|
{ id: 'links', labelKey: 'nav.links', icon: '🔗', route: '/links' },
|
|
53
|
-
{ id: 'utilities', labelKey: 'nav.utilities', icon: '🛠️', route: '/utilities' },
|
|
54
|
-
{ id: 'bootstrap', labelKey: 'nav.all_components', icon: '🎨', route: '/bootstrap' }
|
|
55
61
|
]
|
|
56
62
|
}
|
|
57
63
|
];
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<section>
|
|
9
9
|
<h3 class="h5 mb-3">Standard Alerts</h3>
|
|
10
10
|
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
|
11
|
-
<i class="
|
|
11
|
+
<i class="bi bi-check alert-icon"></i>
|
|
12
12
|
<div>
|
|
13
13
|
<strong class="alert-title">{{ 'alerts.success' | translate }}</strong> {{ 'alerts.success_text' | translate }}
|
|
14
14
|
<div class="alert-footer">
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<app-code-example [htmlCode]="successAlertCode"></app-code-example>
|
|
23
23
|
|
|
24
24
|
<div class="alert alert-danger alert-dismissible fade show" role="alert">
|
|
25
|
-
<i class="
|
|
25
|
+
<i class="bi bi-exclamation-circle alert-icon"></i>
|
|
26
26
|
<div>
|
|
27
27
|
<strong class="alert-title">{{ 'alerts.danger' | translate }}</strong> {{ 'alerts.danger_text' | translate }}
|
|
28
28
|
<div class="alert-footer">
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<app-code-example [htmlCode]="dangerAlertCode"></app-code-example>
|
|
37
37
|
|
|
38
38
|
<div class="alert alert-warning alert-dismissible fade show" role="alert">
|
|
39
|
-
<i class="
|
|
39
|
+
<i class="bi bi-exclamation-triangle alert-icon"></i>
|
|
40
40
|
<div>
|
|
41
41
|
<strong class="alert-title">{{ 'alerts.warning' | translate }}</strong> {{ 'alerts.warning_text' | translate }}
|
|
42
42
|
<div class="alert-footer">
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
<app-code-example [htmlCode]="warningAlertCode"></app-code-example>
|
|
51
51
|
|
|
52
52
|
<div class="alert alert-info alert-dismissible fade show" role="alert">
|
|
53
|
-
<i class="
|
|
53
|
+
<i class="bi bi-info-circle alert-icon"></i>
|
|
54
54
|
<div>
|
|
55
55
|
<strong class="alert-title">{{ 'alerts.info' | translate }}</strong> {{ 'alerts.info_text' | translate }}
|
|
56
56
|
<div class="alert-footer">
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
<app-code-example [htmlCode]="infoAlertCode"></app-code-example>
|
|
65
65
|
|
|
66
66
|
<div class="alert alert-neutral alert-dismissible fade show" role="alert">
|
|
67
|
-
<i class="
|
|
67
|
+
<i class="bi bi-info-circle alert-icon"></i>
|
|
68
68
|
<div>
|
|
69
69
|
<strong class="alert-title">{{ 'alerts.neutral' | translate }}</strong> {{ 'alerts.neutral_text' | translate }}
|
|
70
70
|
<div class="alert-footer">
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
<section>
|
|
82
82
|
<h3 class="h5 mb-3">Side-bordered Alerts</h3>
|
|
83
83
|
<div class="alert alert-side alert-success alert-dismissible fade show" role="alert">
|
|
84
|
-
<i class="
|
|
84
|
+
<i class="bi bi-check alert-icon"></i>
|
|
85
85
|
<div>
|
|
86
86
|
<strong class="alert-title">{{ 'alerts.success' | translate }}</strong> {{ 'alerts.success_text' | translate }}
|
|
87
87
|
<div class="alert-footer">
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
<app-code-example [htmlCode]="sideSuccessAlertCode"></app-code-example>
|
|
96
96
|
|
|
97
97
|
<div class="alert alert-side alert-danger alert-dismissible fade show" role="alert">
|
|
98
|
-
<i class="
|
|
98
|
+
<i class="bi bi-exclamation-circle alert-icon"></i>
|
|
99
99
|
<div>
|
|
100
100
|
<strong class="alert-title">{{ 'alerts.danger' | translate }}</strong> {{ 'alerts.danger_text' | translate }}
|
|
101
101
|
<div class="alert-footer">
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
<app-code-example [htmlCode]="sideDangerAlertCode"></app-code-example>
|
|
110
110
|
|
|
111
111
|
<div class="alert alert-side alert-warning alert-dismissible fade show" role="alert">
|
|
112
|
-
<i class="
|
|
112
|
+
<i class="bi bi-exclamation-triangle alert-icon"></i>
|
|
113
113
|
<div>
|
|
114
114
|
<strong class="alert-title">{{ 'alerts.warning' | translate }}</strong> {{ 'alerts.warning_text' | translate }}
|
|
115
115
|
<div class="alert-footer">
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
<app-code-example [htmlCode]="sideWarningAlertCode"></app-code-example>
|
|
124
124
|
|
|
125
125
|
<div class="alert alert-side alert-info alert-dismissible fade show" role="alert">
|
|
126
|
-
<i class="
|
|
126
|
+
<i class="bi bi-info-circle alert-icon"></i>
|
|
127
127
|
<div>
|
|
128
128
|
<strong class="alert-title">{{ 'alerts.info' | translate }}</strong> {{ 'alerts.info_text' | translate }}
|
|
129
129
|
<div class="alert-footer">
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
<app-code-example [htmlCode]="sideInfoAlertCode"></app-code-example>
|
|
138
138
|
|
|
139
139
|
<div class="alert alert-side alert-neutral alert-dismissible fade show" role="alert">
|
|
140
|
-
<i class="
|
|
140
|
+
<i class="bi bi-info-circle alert-icon"></i>
|
|
141
141
|
<div>
|
|
142
142
|
<strong class="alert-title">{{ 'alerts.neutral' | translate }}</strong> {{ 'alerts.neutral_text' | translate }}
|
|
143
143
|
<div class="alert-footer">
|
|
@@ -12,7 +12,7 @@ import { CodeExampleComponent } from '../../shared/code-example/code-example.com
|
|
|
12
12
|
export class AlertsComponent {
|
|
13
13
|
// Standard Dismissible Alerts
|
|
14
14
|
successAlertCode = `<div class="alert alert-success alert-dismissible fade show" role="alert">
|
|
15
|
-
<i class="
|
|
15
|
+
<i class="bi bi-check alert-icon"></i>
|
|
16
16
|
<div>
|
|
17
17
|
<strong class="alert-title">Success!</strong> Your action completed successfully.
|
|
18
18
|
<div class="alert-footer">
|
|
@@ -24,7 +24,7 @@ export class AlertsComponent {
|
|
|
24
24
|
</div>`;
|
|
25
25
|
|
|
26
26
|
dangerAlertCode = `<div class="alert alert-danger alert-dismissible fade show" role="alert">
|
|
27
|
-
<i class="
|
|
27
|
+
<i class="bi bi-exclamation-circle alert-icon"></i>
|
|
28
28
|
<div>
|
|
29
29
|
<strong class="alert-title">Error!</strong> Something went wrong with your request.
|
|
30
30
|
<div class="alert-footer">
|
|
@@ -36,7 +36,7 @@ export class AlertsComponent {
|
|
|
36
36
|
</div>`;
|
|
37
37
|
|
|
38
38
|
warningAlertCode = `<div class="alert alert-warning alert-dismissible fade show" role="alert">
|
|
39
|
-
<i class="
|
|
39
|
+
<i class="bi bi-exclamation-triangle alert-icon"></i>
|
|
40
40
|
<div>
|
|
41
41
|
<strong class="alert-title">Warning!</strong> Please review before proceeding.
|
|
42
42
|
<div class="alert-footer">
|
|
@@ -48,7 +48,7 @@ export class AlertsComponent {
|
|
|
48
48
|
</div>`;
|
|
49
49
|
|
|
50
50
|
infoAlertCode = `<div class="alert alert-info alert-dismissible fade show" role="alert">
|
|
51
|
-
<i class="
|
|
51
|
+
<i class="bi bi-info-circle alert-icon"></i>
|
|
52
52
|
<div>
|
|
53
53
|
<strong class="alert-title">Info</strong> Here's some helpful information.
|
|
54
54
|
<div class="alert-footer">
|
|
@@ -60,7 +60,7 @@ export class AlertsComponent {
|
|
|
60
60
|
</div>`;
|
|
61
61
|
|
|
62
62
|
neutralAlertCode = `<div class="alert alert-neutral alert-dismissible fade show" role="alert">
|
|
63
|
-
<i class="
|
|
63
|
+
<i class="bi bi-info-circle alert-icon"></i>
|
|
64
64
|
<div>
|
|
65
65
|
<strong class="alert-title">Neutral</strong> Standard notification message.
|
|
66
66
|
<div class="alert-footer">
|
|
@@ -73,7 +73,7 @@ export class AlertsComponent {
|
|
|
73
73
|
|
|
74
74
|
// Side-bordered Alerts
|
|
75
75
|
sideSuccessAlertCode = `<div class="alert alert-side alert-success alert-dismissible fade show" role="alert">
|
|
76
|
-
<i class="
|
|
76
|
+
<i class="bi bi-check alert-icon"></i>
|
|
77
77
|
<div>
|
|
78
78
|
<strong class="alert-title">Success!</strong> Your action completed successfully.
|
|
79
79
|
<div class="alert-footer">
|
|
@@ -85,7 +85,7 @@ export class AlertsComponent {
|
|
|
85
85
|
</div>`;
|
|
86
86
|
|
|
87
87
|
sideDangerAlertCode = `<div class="alert alert-side alert-danger alert-dismissible fade show" role="alert">
|
|
88
|
-
<i class="
|
|
88
|
+
<i class="bi bi-exclamation-circle alert-icon"></i>
|
|
89
89
|
<div>
|
|
90
90
|
<strong class="alert-title">Error!</strong> Something went wrong with your request.
|
|
91
91
|
<div class="alert-footer">
|
|
@@ -97,7 +97,7 @@ export class AlertsComponent {
|
|
|
97
97
|
</div>`;
|
|
98
98
|
|
|
99
99
|
sideWarningAlertCode = `<div class="alert alert-side alert-warning alert-dismissible fade show" role="alert">
|
|
100
|
-
<i class="
|
|
100
|
+
<i class="bi bi-exclamation-triangle alert-icon"></i>
|
|
101
101
|
<div>
|
|
102
102
|
<strong class="alert-title">Warning!</strong> Please review before proceeding.
|
|
103
103
|
<div class="alert-footer">
|
|
@@ -109,7 +109,7 @@ export class AlertsComponent {
|
|
|
109
109
|
</div>`;
|
|
110
110
|
|
|
111
111
|
sideInfoAlertCode = `<div class="alert alert-side alert-info alert-dismissible fade show" role="alert">
|
|
112
|
-
<i class="
|
|
112
|
+
<i class="bi bi-info-circle alert-icon"></i>
|
|
113
113
|
<div>
|
|
114
114
|
<strong class="alert-title">Info</strong> Here's some helpful information.
|
|
115
115
|
<div class="alert-footer">
|
|
@@ -121,7 +121,7 @@ export class AlertsComponent {
|
|
|
121
121
|
</div>`;
|
|
122
122
|
|
|
123
123
|
sideNeutralAlertCode = `<div class="alert alert-side alert-neutral alert-dismissible fade show" role="alert">
|
|
124
|
-
<i class="
|
|
124
|
+
<i class="bi bi-info-circle alert-icon"></i>
|
|
125
125
|
<div>
|
|
126
126
|
<strong class="alert-title">Neutral</strong> Standard notification message.
|
|
127
127
|
<div class="alert-footer">
|
|
@@ -56,78 +56,78 @@
|
|
|
56
56
|
<h3 class="mt-5">{{ 'buttons.section_icons' | translate }}</h3>
|
|
57
57
|
<div class="component-showcase mb-3">
|
|
58
58
|
<button type="button" class="btn btn-primary btn-icon">
|
|
59
|
-
<i class="
|
|
59
|
+
<i class="bi bi-download"></i>{{ 'buttons.download' | translate }}
|
|
60
60
|
</button>
|
|
61
61
|
<button type="button" class="btn btn-neutral btn-icon">
|
|
62
|
-
<i class="
|
|
62
|
+
<i class="bi bi-upload"></i>{{ 'buttons.upload' | translate }}
|
|
63
63
|
</button>
|
|
64
64
|
<button type="button" class="btn btn-secondary btn-icon">
|
|
65
|
-
<i class="
|
|
65
|
+
<i class="bi bi-pencil"></i>{{ 'buttons.edit' | translate }}
|
|
66
66
|
</button>
|
|
67
67
|
<button type="button" class="btn btn-danger btn-icon">
|
|
68
|
-
<i class="
|
|
68
|
+
<i class="bi bi-trash"></i>{{ 'buttons.delete' | translate }}
|
|
69
69
|
</button>
|
|
70
70
|
</div>
|
|
71
71
|
<app-code-example [htmlCode]="buttonIconLeftCode"></app-code-example>
|
|
72
72
|
<div class="component-showcase mb-3">
|
|
73
73
|
<button type="button" class="btn btn-primary btn-icon">
|
|
74
|
-
{{ 'buttons.save' | translate }}<i class="
|
|
74
|
+
{{ 'buttons.save' | translate }}<i class="bi bi-check"></i>
|
|
75
75
|
</button>
|
|
76
76
|
<button type="button" class="btn btn-neutral btn-icon">
|
|
77
|
-
{{ 'buttons.search' | translate }}<i class="
|
|
77
|
+
{{ 'buttons.search' | translate }}<i class="bi bi-search"></i>
|
|
78
78
|
</button>
|
|
79
79
|
<button type="button" class="btn btn-secondary btn-icon">
|
|
80
|
-
{{ 'buttons.settings' | translate }}<i class="
|
|
80
|
+
{{ 'buttons.settings' | translate }}<i class="bi bi-gear"></i>
|
|
81
81
|
</button>
|
|
82
82
|
</div>
|
|
83
83
|
<app-code-example [htmlCode]="buttonIconRightCode"></app-code-example>
|
|
84
84
|
<div class="component-showcase mb-3">
|
|
85
85
|
<button type="button" class="btn btn-primary btn-icon btn-sm">
|
|
86
|
-
<i class="
|
|
86
|
+
<i class="bi bi-plus-circle"></i>{{ 'buttons.add' | translate }}
|
|
87
87
|
</button>
|
|
88
88
|
<button type="button" class="btn btn-outline-primary btn-icon">
|
|
89
|
-
<i class="
|
|
89
|
+
<i class="bi bi-arrow-right"></i>{{ 'buttons.next' | translate }}
|
|
90
90
|
</button>
|
|
91
91
|
<button type="button" class="btn btn-outline-secondary btn-icon">
|
|
92
|
-
<i class="
|
|
92
|
+
<i class="bi bi-arrow-left"></i>{{ 'buttons.previous' | translate }}
|
|
93
93
|
</button>
|
|
94
94
|
</div>
|
|
95
95
|
|
|
96
96
|
<h3 class="mt-5">{{ 'buttons.section_icon_only' | translate }}</h3>
|
|
97
97
|
<div class="component-showcase mb-3">
|
|
98
98
|
<button type="button" class="btn btn-primary btn-icon" aria-label="{{ 'buttons.download' | translate }}">
|
|
99
|
-
<i class="
|
|
99
|
+
<i class="bi bi-download"></i>
|
|
100
100
|
</button>
|
|
101
101
|
<button type="button" class="btn btn-neutral btn-icon" aria-label="{{ 'buttons.upload' | translate }}">
|
|
102
|
-
<i class="
|
|
102
|
+
<i class="bi bi-upload"></i>
|
|
103
103
|
</button>
|
|
104
104
|
<button type="button" class="btn btn-secondary btn-icon" aria-label="{{ 'buttons.edit' | translate }}">
|
|
105
|
-
<i class="
|
|
105
|
+
<i class="bi bi-pencil"></i>
|
|
106
106
|
</button>
|
|
107
107
|
<button type="button" class="btn btn-danger btn-icon" aria-label="{{ 'buttons.delete' | translate }}">
|
|
108
|
-
<i class="
|
|
108
|
+
<i class="bi bi-trash"></i>
|
|
109
109
|
</button>
|
|
110
110
|
</div>
|
|
111
111
|
<div class="component-showcase mb-3">
|
|
112
112
|
<button type="button" class="btn btn-outline-primary btn-icon" aria-label="{{ 'buttons.search' | translate }}">
|
|
113
|
-
<i class="
|
|
113
|
+
<i class="bi bi-search"></i>
|
|
114
114
|
</button>
|
|
115
115
|
<button type="button" class="btn btn-outline-secondary btn-icon" aria-label="{{ 'buttons.settings' | translate }}">
|
|
116
|
-
<i class="
|
|
116
|
+
<i class="bi bi-gear"></i>
|
|
117
117
|
</button>
|
|
118
118
|
<button type="button" class="btn btn-outline-neutral btn-icon" aria-label="{{ 'buttons.add' | translate }}">
|
|
119
|
-
<i class="
|
|
119
|
+
<i class="bi bi-plus-circle"></i>
|
|
120
120
|
</button>
|
|
121
121
|
</div>
|
|
122
122
|
<div class="component-showcase">
|
|
123
123
|
<button type="button" class="btn btn-primary btn-icon" aria-label="{{ 'buttons.search' | translate }}">
|
|
124
|
-
<i class="
|
|
124
|
+
<i class="bi bi-search"></i>
|
|
125
125
|
</button>
|
|
126
126
|
<button type="button" class="btn btn-neutral btn-icon btn-sm" aria-label="{{ 'buttons.settings' | translate }}">
|
|
127
|
-
<i class="
|
|
127
|
+
<i class="bi bi-gear"></i>
|
|
128
128
|
</button>
|
|
129
129
|
<button type="button" class="btn btn-secondary btn-icon btn-xs" aria-label="{{ 'buttons.add' | translate }}">
|
|
130
|
-
<i class="
|
|
130
|
+
<i class="bi bi-plus-circle"></i>
|
|
131
131
|
</button>
|
|
132
132
|
</div>
|
|
133
133
|
<app-code-example [htmlCode]="buttonIconOnlyCode"></app-code-example>
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
<div class="component-showcase">
|
|
254
254
|
<div class="dropdown">
|
|
255
255
|
<button class="btn btn-primary dropdown-toggle btn-lg" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
256
|
-
<i class="
|
|
256
|
+
<i class="bi bi-gear"></i>
|
|
257
257
|
</button>
|
|
258
258
|
<ul class="dropdown-menu">
|
|
259
259
|
<li><button class="dropdown-item" type="button">{{ 'buttons.dropdown_action' | translate }}</button></li>
|
|
@@ -264,7 +264,7 @@
|
|
|
264
264
|
|
|
265
265
|
<div class="dropdown">
|
|
266
266
|
<button class="btn btn-neutral dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
267
|
-
<i class="
|
|
267
|
+
<i class="bi bi-gear"></i>
|
|
268
268
|
</button>
|
|
269
269
|
<ul class="dropdown-menu">
|
|
270
270
|
<li><button class="dropdown-item" type="button">{{ 'buttons.dropdown_action' | translate }}</button></li>
|
|
@@ -275,7 +275,7 @@
|
|
|
275
275
|
|
|
276
276
|
<div class="dropdown">
|
|
277
277
|
<button class="btn btn-secondary dropdown-toggle btn-sm" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
278
|
-
<i class="
|
|
278
|
+
<i class="bi bi-gear"></i>
|
|
279
279
|
</button>
|
|
280
280
|
<ul class="dropdown-menu">
|
|
281
281
|
<li><button class="dropdown-item" type="button">{{ 'buttons.dropdown_action' | translate }}</button></li>
|
|
@@ -30,39 +30,39 @@ export class ButtonsComponent {
|
|
|
30
30
|
<button type="button" class="btn btn-primary" disabled>Disabled</button>`;
|
|
31
31
|
|
|
32
32
|
buttonIconLeftCode = `<button type="button" class="btn btn-primary btn-icon">
|
|
33
|
-
<i class="
|
|
33
|
+
<i class="bi bi-download"></i>Download
|
|
34
34
|
</button>
|
|
35
35
|
<button type="button" class="btn btn-neutral btn-icon">
|
|
36
|
-
<i class="
|
|
36
|
+
<i class="bi bi-upload"></i>Upload
|
|
37
37
|
</button>
|
|
38
38
|
<button type="button" class="btn btn-secondary btn-icon">
|
|
39
|
-
<i class="
|
|
39
|
+
<i class="bi bi-pencil"></i>Edit
|
|
40
40
|
</button>
|
|
41
41
|
<button type="button" class="btn btn-danger btn-icon">
|
|
42
|
-
<i class="
|
|
42
|
+
<i class="bi bi-trash"></i>Delete
|
|
43
43
|
</button>`;
|
|
44
44
|
|
|
45
45
|
buttonIconRightCode = `<button type="button" class="btn btn-primary btn-icon">
|
|
46
|
-
Save<i class="
|
|
46
|
+
Save<i class="bi bi-check"></i>
|
|
47
47
|
</button>
|
|
48
48
|
<button type="button" class="btn btn-neutral btn-icon">
|
|
49
|
-
Search<i class="
|
|
49
|
+
Search<i class="bi bi-search"></i>
|
|
50
50
|
</button>
|
|
51
51
|
<button type="button" class="btn btn-secondary btn-icon">
|
|
52
|
-
Settings<i class="
|
|
52
|
+
Settings<i class="bi bi-gear"></i>
|
|
53
53
|
</button>`;
|
|
54
54
|
|
|
55
55
|
buttonIconOnlyCode = `<button type="button" class="btn btn-primary btn-icon" aria-label="Download">
|
|
56
|
-
<i class="
|
|
56
|
+
<i class="bi bi-download"></i>
|
|
57
57
|
</button>
|
|
58
58
|
<button type="button" class="btn btn-neutral btn-icon" aria-label="Upload">
|
|
59
|
-
<i class="
|
|
59
|
+
<i class="bi bi-upload"></i>
|
|
60
60
|
</button>
|
|
61
61
|
<button type="button" class="btn btn-secondary btn-icon" aria-label="Edit">
|
|
62
|
-
<i class="
|
|
62
|
+
<i class="bi bi-pencil"></i>
|
|
63
63
|
</button>
|
|
64
64
|
<button type="button" class="btn btn-danger btn-icon" aria-label="Delete">
|
|
65
|
-
<i class="
|
|
65
|
+
<i class="bi bi-trash"></i>
|
|
66
66
|
</button>`;
|
|
67
67
|
|
|
68
68
|
dropdownButtonCode = `<div class="dropdown">
|
|
@@ -122,7 +122,7 @@ export class ButtonsComponent {
|
|
|
122
122
|
|
|
123
123
|
iconDropdownCode = `<div class="dropdown">
|
|
124
124
|
<button class="btn btn-primary dropdown-toggle btn-lg" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
125
|
-
<i class="
|
|
125
|
+
<i class="bi bi-gear"></i>
|
|
126
126
|
</button>
|
|
127
127
|
<ul class="dropdown-menu">
|
|
128
128
|
<li><button class="dropdown-item" type="button">Action</button></li>
|
|
@@ -133,7 +133,7 @@ export class ButtonsComponent {
|
|
|
133
133
|
|
|
134
134
|
<div class="dropdown">
|
|
135
135
|
<button class="btn btn-neutral dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
136
|
-
<i class="
|
|
136
|
+
<i class="bi bi-gear"></i>
|
|
137
137
|
</button>
|
|
138
138
|
<ul class="dropdown-menu">
|
|
139
139
|
<li><button class="dropdown-item" type="button">Action</button></li>
|
|
@@ -144,7 +144,7 @@ export class ButtonsComponent {
|
|
|
144
144
|
|
|
145
145
|
<div class="dropdown">
|
|
146
146
|
<button class="btn btn-secondary dropdown-toggle btn-sm" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
147
|
-
<i class="
|
|
147
|
+
<i class="bi bi-gear"></i>
|
|
148
148
|
</button>
|
|
149
149
|
<ul class="dropdown-menu">
|
|
150
150
|
<li><button class="dropdown-item" type="button">Action</button></li>
|