nibula 1.6.0 → 1.6.1

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 (99) hide show
  1. package/.eleventy.js +81 -81
  2. package/CHANGELOG.md +384 -377
  3. package/LICENSE +169 -169
  4. package/NOTICE +4 -4
  5. package/README.md +110 -110
  6. package/bin/create.js +505 -505
  7. package/bin/delegate.js +57 -57
  8. package/bin/nibula.js +302 -302
  9. package/docs/Assistant CLI.md +65 -65
  10. package/docs/Backend.md +201 -201
  11. package/docs/Components.md +140 -140
  12. package/docs/Creating pages.md +69 -69
  13. package/docs/Deploy.md +210 -210
  14. package/docs/Head and SEO.md +139 -139
  15. package/docs/Javascript.md +126 -126
  16. package/docs/Styling with SCSS.md +139 -139
  17. package/nginx.conf +113 -113
  18. package/package.json +69 -69
  19. package/src/backend/.htaccess +6 -6
  20. package/src/backend/_core/composer.json +5 -5
  21. package/src/backend/_core/composer.lock +492 -492
  22. package/src/backend/_core/index.js +267 -267
  23. package/src/backend/_core/index.php +160 -160
  24. package/src/backend/_core/init.js +52 -52
  25. package/src/backend/_core/init.php +33 -33
  26. package/src/backend/_core/modules/RateLimiter.js +58 -58
  27. package/src/backend/_core/modules/RateLimiter.php +30 -30
  28. package/src/backend/_core/modules/Response.js +59 -59
  29. package/src/backend/_core/modules/Response.php +48 -48
  30. package/src/backend/api/protected/example-protected.js +23 -23
  31. package/src/backend/api/protected/example-protected.php +16 -16
  32. package/src/backend/api/public/example-public.js +24 -24
  33. package/src/backend/api/public/example-public.php +16 -16
  34. package/src/backend/database/Database.js +46 -46
  35. package/src/backend/database/Database.php +23 -23
  36. package/src/backend/example.config.js +37 -37
  37. package/src/backend/example.config.php +37 -37
  38. package/src/backend/package.json +17 -17
  39. package/src/backend/web.config +43 -43
  40. package/src/frontend/.htaccess +51 -51
  41. package/src/frontend/404.njk +17 -17
  42. package/src/frontend/assets/brand/favicon.svg +54 -54
  43. package/src/frontend/assets/brand/logo.svg +54 -54
  44. package/src/frontend/components/global/footer.njk +25 -25
  45. package/src/frontend/components/global/header.njk +6 -6
  46. package/src/frontend/components/welcome.njk +115 -115
  47. package/src/frontend/index.njk +8 -8
  48. package/src/frontend/js/global.js +10 -10
  49. package/src/frontend/js/modules/exampleModule.js +2 -2
  50. package/src/frontend/js/pages/404.js +8 -8
  51. package/src/frontend/js/pages/homepage.js +8 -8
  52. package/src/frontend/layouts/base.njk +136 -136
  53. package/src/frontend/layouts/page-components.njk +13 -13
  54. package/src/frontend/llms.njk +17 -17
  55. package/src/frontend/robots.njk +7 -7
  56. package/src/frontend/scss/_global.scss +46 -46
  57. package/src/frontend/scss/_root.scss +13 -13
  58. package/src/frontend/scss/modules/_animations.scss +24 -24
  59. package/src/frontend/scss/modules/_footer.scss +28 -28
  60. package/src/frontend/scss/modules/_header.scss +26 -26
  61. package/src/frontend/scss/modules/_mobile.scss +29 -29
  62. package/src/frontend/scss/modules/_typography.scss +18 -18
  63. package/src/frontend/scss/modules/frameworks/_bootstrap.scss +109 -109
  64. package/src/frontend/scss/modules/frameworks/_bulma.scss +108 -108
  65. package/src/frontend/scss/modules/frameworks/_foundation.scss +137 -137
  66. package/src/frontend/scss/modules/frameworks/_uikit.scss +109 -109
  67. package/src/frontend/scss/pages/404.scss +27 -27
  68. package/src/frontend/scss/pages/homepage.scss +22 -22
  69. package/src/frontend/sitemap.njk +17 -17
  70. package/src/frontend/ts/global.ts +11 -11
  71. package/src/frontend/ts/modules/exampleModule.ts +2 -2
  72. package/src/frontend/ts/pages/404.ts +8 -8
  73. package/src/frontend/ts/pages/homepage.ts +8 -8
  74. package/src/frontend/web.config +51 -51
  75. package/tools/assistant.js +122 -122
  76. package/tools/buildJs.js +39 -39
  77. package/tools/cleanOutput.js +23 -23
  78. package/tools/cli/prompt.js +40 -40
  79. package/tools/cli/ui.js +87 -87
  80. package/tools/config/messages.json +80 -80
  81. package/tools/config/settings.json +130 -130
  82. package/tools/lib/colors.js +17 -17
  83. package/tools/lib/files.js +75 -75
  84. package/tools/lib/logger.js +22 -22
  85. package/tools/lib/outputPath.js +141 -141
  86. package/tools/lib/pageActions.js +146 -146
  87. package/tools/lib/pageArtifacts.js +46 -46
  88. package/tools/lib/pageComponents.js +88 -88
  89. package/tools/lib/pagesData.js +87 -87
  90. package/tools/lib/paths.js +63 -63
  91. package/tools/lib/project.js +54 -54
  92. package/tools/lib/text.js +47 -47
  93. package/tools/lib/validation.js +40 -40
  94. package/tools/res/templates/template.js +7 -7
  95. package/tools/res/templates/template.njk +8 -8
  96. package/tools/res/templates/template.scss +22 -22
  97. package/tools/res/templates/template.ts +8 -8
  98. package/tsconfig.json +24 -24
  99. package/src/frontend/scss/pages/prova.scss +0 -23
@@ -1,18 +1,18 @@
1
- ---
2
- permalink: /llms.txt
3
- eleventyExcludeFromCollections: true
4
- ---
5
- # {{ site.site_name }}
6
-
7
- > {{ site.description }}
8
-
9
- Built by {{ site.author }} — {{ site.url }}
10
-
11
- ## Pages
12
-
13
- - {{ site.url }}: Homepage
14
-
15
- ## Notes
16
-
17
- - Language: {{ site.lang }}
1
+ ---
2
+ permalink: /llms.txt
3
+ eleventyExcludeFromCollections: true
4
+ ---
5
+ # {{ site.site_name }}
6
+
7
+ > {{ site.description }}
8
+
9
+ Built by {{ site.author }} — {{ site.url }}
10
+
11
+ ## Pages
12
+
13
+ - {{ site.url }}: Homepage
14
+
15
+ ## Notes
16
+
17
+ - Language: {{ site.lang }}
18
18
  - All content may be used for AI indexing unless otherwise stated
@@ -1,8 +1,8 @@
1
- ---
2
- permalink: /robots.txt
3
- eleventyExcludeFromCollections: true
4
- ---
5
- Sitemap: {{ site.url }}/sitemap.xml
6
-
7
- User-agent: *
1
+ ---
2
+ permalink: /robots.txt
3
+ eleventyExcludeFromCollections: true
4
+ ---
5
+ Sitemap: {{ site.url }}/sitemap.xml
6
+
7
+ User-agent: *
8
8
  Disallow:
@@ -1,47 +1,47 @@
1
- //==========================
2
- // CSS RULES FOR THE ENTIRE SITE
3
- //==========================
4
-
5
- // Getting root rules from _root.scss
6
- @use 'root' as root;
7
-
8
- // Frameworks imports
9
- @import "modules/frameworks/bootstrap";
10
- // @import "modules/frameworks/bulma";
11
- // @import "modules/frameworks/foundation";
12
- // @import "modules/frameworks/uikit";
13
-
14
- // Modules imports
15
- @import "modules/typography";
16
-
17
- @import "modules/header";
18
- @import "modules/footer";
19
-
20
- @import "modules/animations";
21
- @import "modules/mobile";
22
-
23
- //==========================
24
- // Global css rules for the entire site
25
- //==========================
26
-
27
- *,
28
- *::before,
29
- *::after {
30
- margin: 0;
31
- padding: 0;
32
- box-sizing: border-box;
33
- }
34
-
35
- body {
36
- display: flex;
37
- flex-direction: column;
38
- min-height: 100svh;
39
- }
40
-
41
- main {
42
- flex: 1;
43
- }
44
-
45
- a {
46
- text-decoration: none !important;
1
+ //==========================
2
+ // CSS RULES FOR THE ENTIRE SITE
3
+ //==========================
4
+
5
+ // Getting root rules from _root.scss
6
+ @use 'root' as root;
7
+
8
+ // Frameworks imports
9
+ @import "modules/frameworks/bootstrap";
10
+ // @import "modules/frameworks/bulma";
11
+ // @import "modules/frameworks/foundation";
12
+ // @import "modules/frameworks/uikit";
13
+
14
+ // Modules imports
15
+ @import "modules/typography";
16
+
17
+ @import "modules/header";
18
+ @import "modules/footer";
19
+
20
+ @import "modules/animations";
21
+ @import "modules/mobile";
22
+
23
+ //==========================
24
+ // Global css rules for the entire site
25
+ //==========================
26
+
27
+ *,
28
+ *::before,
29
+ *::after {
30
+ margin: 0;
31
+ padding: 0;
32
+ box-sizing: border-box;
33
+ }
34
+
35
+ body {
36
+ display: flex;
37
+ flex-direction: column;
38
+ min-height: 100svh;
39
+ }
40
+
41
+ main {
42
+ flex: 1;
43
+ }
44
+
45
+ a {
46
+ text-decoration: none !important;
47
47
  }
@@ -1,14 +1,14 @@
1
- // NOTE: This file contains only Sass variables (no CSS output).
2
- // When imported with @import, all variables are global and may be
3
- // overwritten by other imported files with the same variable names.
4
- // Use @use 'root' as root; to avoid namespace collisions.
5
-
6
-
7
- //==========================
8
- // STRUCTURE
9
- //==========================
10
- $header-height: 10vh;
11
- $header-padding-y: 15px;
12
- $header-padding-x: 15px;
13
-
1
+ // NOTE: This file contains only Sass variables (no CSS output).
2
+ // When imported with @import, all variables are global and may be
3
+ // overwritten by other imported files with the same variable names.
4
+ // Use @use 'root' as root; to avoid namespace collisions.
5
+
6
+
7
+ //==========================
8
+ // STRUCTURE
9
+ //==========================
10
+ $header-height: 10vh;
11
+ $header-padding-y: 15px;
12
+ $header-padding-x: 15px;
13
+
14
14
  $primary-color: rgba(0, 0, 0, 0.5);
@@ -1,25 +1,25 @@
1
- //==========================
2
- // CSS RULES FOR ANIMATIONS
3
- //==========================
4
-
5
- // Getting root rules from _root.scss
6
- @use "../root" as root;
7
-
8
- .fade-in {
9
- animation: fadeIn 1s;
10
- }
11
-
12
- @keyframes fadeIn {
13
- from {
14
- opacity: 0;
15
- }
16
-
17
- to {
18
- opacity: 1;
19
- }
20
- }
21
-
22
- @keyframes spin {
23
- from { transform: rotate(0deg); }
24
- to { transform: rotate(360deg); }
1
+ //==========================
2
+ // CSS RULES FOR ANIMATIONS
3
+ //==========================
4
+
5
+ // Getting root rules from _root.scss
6
+ @use "../root" as root;
7
+
8
+ .fade-in {
9
+ animation: fadeIn 1s;
10
+ }
11
+
12
+ @keyframes fadeIn {
13
+ from {
14
+ opacity: 0;
15
+ }
16
+
17
+ to {
18
+ opacity: 1;
19
+ }
20
+ }
21
+
22
+ @keyframes spin {
23
+ from { transform: rotate(0deg); }
24
+ to { transform: rotate(360deg); }
25
25
  }
@@ -1,29 +1,29 @@
1
- //==========================
2
- // CSS RULES FOR FOOTER
3
- //==========================
4
-
5
- // Getting root rules from _root.scss
6
- @use "../root" as root;
7
-
8
- footer {
9
- display: flex;
10
- justify-content: space-around;
11
- width: 100%;
12
- padding: root.$header-padding-y root.$header-padding-x;
13
- background-color: #2e7253;
14
-
15
- h6 {
16
- margin-bottom: 0.75rem;
17
- }
18
-
19
- ul {
20
- list-style: none;
21
- padding: 0;
22
- margin: 0;
23
- }
24
-
25
- small {
26
- display: flex;
27
- gap: 1rem;
28
- }
1
+ //==========================
2
+ // CSS RULES FOR FOOTER
3
+ //==========================
4
+
5
+ // Getting root rules from _root.scss
6
+ @use "../root" as root;
7
+
8
+ footer {
9
+ display: flex;
10
+ justify-content: space-around;
11
+ width: 100%;
12
+ padding: root.$header-padding-y root.$header-padding-x;
13
+ background-color: #2e7253;
14
+
15
+ h6 {
16
+ margin-bottom: 0.75rem;
17
+ }
18
+
19
+ ul {
20
+ list-style: none;
21
+ padding: 0;
22
+ margin: 0;
23
+ }
24
+
25
+ small {
26
+ display: flex;
27
+ gap: 1rem;
28
+ }
29
29
  }
@@ -1,27 +1,27 @@
1
- //==========================
2
- // CSS RULES FOR HEADER
3
- //==========================
4
-
5
- // Getting root rules from _root.scss
6
- @use "../root" as root;
7
-
8
- header {
9
- height: root.$header-height;
10
- width: 100%;
11
- display: flex;
12
- justify-content: center;
13
- align-items: center;
14
- padding: root.$header-padding-y root.$header-padding-x;
15
- background-color: #2e7253;
16
- }
17
-
18
- nav {
19
- display: flex;
20
- justify-content: space-between;
21
- align-items: center;
22
- width: 100%;
23
- }
24
-
25
- nav .logo {
26
- padding: 10px;
1
+ //==========================
2
+ // CSS RULES FOR HEADER
3
+ //==========================
4
+
5
+ // Getting root rules from _root.scss
6
+ @use "../root" as root;
7
+
8
+ header {
9
+ height: root.$header-height;
10
+ width: 100%;
11
+ display: flex;
12
+ justify-content: center;
13
+ align-items: center;
14
+ padding: root.$header-padding-y root.$header-padding-x;
15
+ background-color: #2e7253;
16
+ }
17
+
18
+ nav {
19
+ display: flex;
20
+ justify-content: space-between;
21
+ align-items: center;
22
+ width: 100%;
23
+ }
24
+
25
+ nav .logo {
26
+ padding: 10px;
27
27
  }
@@ -1,30 +1,30 @@
1
- //==========================
2
- // CSS RULES FOR RESPONSIVE
3
- //==========================
4
-
5
- // Getting root rules from _root.scss
6
- @use "../root" as root;
7
-
8
- //==========================
9
- // MEDIA QUERIES
10
- //==========================
11
-
12
- @media (max-width: 1400px) {
13
-
14
- }
15
-
16
- @media (max-width: 1200px) {
17
-
18
- }
19
-
20
- @media (max-width: 992px) {
21
-
22
- }
23
-
24
- @media (max-width: 768px) {
25
-
26
- }
27
-
28
- @media (max-width: 576px) {
29
-
1
+ //==========================
2
+ // CSS RULES FOR RESPONSIVE
3
+ //==========================
4
+
5
+ // Getting root rules from _root.scss
6
+ @use "../root" as root;
7
+
8
+ //==========================
9
+ // MEDIA QUERIES
10
+ //==========================
11
+
12
+ @media (max-width: 1400px) {
13
+
14
+ }
15
+
16
+ @media (max-width: 1200px) {
17
+
18
+ }
19
+
20
+ @media (max-width: 992px) {
21
+
22
+ }
23
+
24
+ @media (max-width: 768px) {
25
+
26
+ }
27
+
28
+ @media (max-width: 576px) {
29
+
30
30
  }
@@ -1,19 +1,19 @@
1
- //==========================
2
- // CSS RULES FOR TYPOGRAPHY
3
- //==========================
4
-
5
- // Getting root rules from _root.scss
6
- @use "../root" as root;
7
-
8
- html {
9
- font-size: 16px;
10
- scroll-behavior: smooth;
11
- }
12
-
13
- body {
14
- font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
15
- }
16
-
17
- a {
18
- text-decoration: none;
1
+ //==========================
2
+ // CSS RULES FOR TYPOGRAPHY
3
+ //==========================
4
+
5
+ // Getting root rules from _root.scss
6
+ @use "../root" as root;
7
+
8
+ html {
9
+ font-size: 16px;
10
+ scroll-behavior: smooth;
11
+ }
12
+
13
+ body {
14
+ font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
15
+ }
16
+
17
+ a {
18
+ text-decoration: none;
19
19
  }
@@ -1,110 +1,110 @@
1
- // ╔══════════════════════════════════════════════════════╗
2
- // ║ BOOTSTRAP MODULES ║
3
- // ║ Comment out any module you don't need to improve ║
4
- // ║ performance. Core section is required by all others ║
5
- // ╚══════════════════════════════════════════════════════╝
6
-
7
- // Imports can be filtered by commenting them
8
- // Example:
9
- // @import "bootstrap/scss/example-bootstrap-module";
10
-
11
- //==========================
12
- // 1️⃣ CORE – Functions and variables
13
- // ⚠️ Do not comment these out — required by all other modules
14
- //==========================
15
- @import "bootstrap/scss/functions"; // Bootstrap SCSS functions
16
- @import "bootstrap/scss/variables"; // Core variables (colors, spacing, fonts)
17
- @import "bootstrap/scss/variables-dark"; // Dark theme variables
18
- @import "bootstrap/scss/maps"; // Maps for spacing, colors, breakpoints
19
- @import "bootstrap/scss/mixins"; // Reusable SCSS mixins
20
- @import "bootstrap/scss/utilities"; // Utility helpers
21
- @import "bootstrap/scss/root"; // Root CSS (custom properties)
22
- @import "bootstrap/scss/placeholders"; // Placeholder selectors
23
-
24
- //==========================
25
- // 2️⃣ VENDOR
26
- //==========================
27
- @import "bootstrap/scss/vendor/rfs"; // Responsive font sizes
28
-
29
- //==========================
30
- // 3️⃣ BASE – Base styles
31
- //==========================
32
- @import "bootstrap/scss/reboot"; // CSS reset / normalize
33
- @import "bootstrap/scss/type"; // Typography (headings, paragraphs)
34
- @import "bootstrap/scss/images"; // Image styles
35
- @import "bootstrap/scss/containers"; // Containers
36
- @import "bootstrap/scss/transitions"; // CSS transitions
37
-
38
- //==========================
39
- // 4️⃣ LAYOUT – Layout helpers
40
- //==========================
41
- @import "bootstrap/scss/grid"; // Grid system
42
- @import "bootstrap/scss/helpers"; // Helper classes
43
-
44
- //==========================
45
- // 5️⃣ HELPERS – Sub-modules
46
- //==========================
47
- @import "bootstrap/scss/helpers/clearfix"; // Clearfix
48
- @import "bootstrap/scss/helpers/color-bg"; // Color background
49
- @import "bootstrap/scss/helpers/colored-links"; // Colored links
50
- @import "bootstrap/scss/helpers/focus-ring"; // Focus ring
51
- @import "bootstrap/scss/helpers/icon-link"; // Icon links
52
- @import "bootstrap/scss/helpers/position"; // Position helpers
53
- @import "bootstrap/scss/helpers/ratio"; // Aspect ratio
54
- @import "bootstrap/scss/helpers/stacks"; // Stack helpers
55
- @import "bootstrap/scss/helpers/stretched-link"; // Stretched link
56
- @import "bootstrap/scss/helpers/text-truncation"; // Text truncation
57
- @import "bootstrap/scss/helpers/visually-hidden"; // Visually hidden
58
- @import "bootstrap/scss/helpers/vr"; // Vertical rule
59
-
60
- //==========================
61
- // 6️⃣ UTILITIES – Sub-modules
62
- //==========================
63
- @import "bootstrap/scss/utilities/api"; // Utilities API
64
-
65
- //==========================
66
- // 7️⃣ FORMS – Sub-modules
67
- //==========================
68
- @import "bootstrap/scss/forms"; // Forms loader
69
- @import "bootstrap/scss/forms/labels"; // Labels
70
- @import "bootstrap/scss/forms/form-text"; // Form text
71
- @import "bootstrap/scss/forms/form-control"; // Inputs and textareas
72
- @import "bootstrap/scss/forms/form-select"; // Select dropdowns
73
- @import "bootstrap/scss/forms/form-check"; // Checkboxes and radios
74
- @import "bootstrap/scss/forms/form-range"; // Range sliders
75
- @import "bootstrap/scss/forms/floating-labels"; // Floating labels
76
- @import "bootstrap/scss/forms/input-group"; // Input groups
77
- @import "bootstrap/scss/forms/validation"; // Validation states
78
-
79
- //==========================
80
- // 8️⃣ COMPONENTS – All Bootstrap components
81
- //==========================
82
- @import "bootstrap/scss/alert"; // Alerts
83
- @import "bootstrap/scss/badge"; // Badges
84
- @import "bootstrap/scss/breadcrumb"; // Breadcrumbs
85
- @import "bootstrap/scss/buttons"; // Buttons
86
- @import "bootstrap/scss/button-group"; // Button groups
87
- @import "bootstrap/scss/card"; // Cards
88
- @import "bootstrap/scss/carousel"; // Carousel
89
- @import "bootstrap/scss/close"; // Close (×) button
90
- @import "bootstrap/scss/dropdown"; // Dropdowns
91
- @import "bootstrap/scss/list-group"; // List groups
92
- @import "bootstrap/scss/modal"; // Modals
93
- @import "bootstrap/scss/nav"; // Nav
94
- @import "bootstrap/scss/navbar"; // Navbar
95
- @import "bootstrap/scss/offcanvas"; // Offcanvas component
96
- @import "bootstrap/scss/pagination"; // Pagination
97
- @import "bootstrap/scss/popover"; // Popovers
98
- @import "bootstrap/scss/progress"; // Progress bars
99
- @import "bootstrap/scss/spinners"; // Spinners
100
- @import "bootstrap/scss/toasts"; // Toasts
101
- @import "bootstrap/scss/tooltip"; // Tooltips
102
- @import "bootstrap/scss/accordion"; // Accordion
103
- @import "bootstrap/scss/tables"; // Tables
104
-
105
- //==========================
106
- // 9️⃣ ICONS
107
- //==========================
108
- $bootstrap-icons-font-src: url("../fonts/bootstrap-icons.woff2") format("woff2"),
109
- url("../fonts/bootstrap-icons.woff") format("woff");
1
+ // ╔══════════════════════════════════════════════════════╗
2
+ // ║ BOOTSTRAP MODULES ║
3
+ // ║ Comment out any module you don't need to improve ║
4
+ // ║ performance. Core section is required by all others ║
5
+ // ╚══════════════════════════════════════════════════════╝
6
+
7
+ // Imports can be filtered by commenting them
8
+ // Example:
9
+ // @import "bootstrap/scss/example-bootstrap-module";
10
+
11
+ //==========================
12
+ // 1️⃣ CORE – Functions and variables
13
+ // ⚠️ Do not comment these out — required by all other modules
14
+ //==========================
15
+ @import "bootstrap/scss/functions"; // Bootstrap SCSS functions
16
+ @import "bootstrap/scss/variables"; // Core variables (colors, spacing, fonts)
17
+ @import "bootstrap/scss/variables-dark"; // Dark theme variables
18
+ @import "bootstrap/scss/maps"; // Maps for spacing, colors, breakpoints
19
+ @import "bootstrap/scss/mixins"; // Reusable SCSS mixins
20
+ @import "bootstrap/scss/utilities"; // Utility helpers
21
+ @import "bootstrap/scss/root"; // Root CSS (custom properties)
22
+ @import "bootstrap/scss/placeholders"; // Placeholder selectors
23
+
24
+ //==========================
25
+ // 2️⃣ VENDOR
26
+ //==========================
27
+ @import "bootstrap/scss/vendor/rfs"; // Responsive font sizes
28
+
29
+ //==========================
30
+ // 3️⃣ BASE – Base styles
31
+ //==========================
32
+ @import "bootstrap/scss/reboot"; // CSS reset / normalize
33
+ @import "bootstrap/scss/type"; // Typography (headings, paragraphs)
34
+ @import "bootstrap/scss/images"; // Image styles
35
+ @import "bootstrap/scss/containers"; // Containers
36
+ @import "bootstrap/scss/transitions"; // CSS transitions
37
+
38
+ //==========================
39
+ // 4️⃣ LAYOUT – Layout helpers
40
+ //==========================
41
+ @import "bootstrap/scss/grid"; // Grid system
42
+ @import "bootstrap/scss/helpers"; // Helper classes
43
+
44
+ //==========================
45
+ // 5️⃣ HELPERS – Sub-modules
46
+ //==========================
47
+ @import "bootstrap/scss/helpers/clearfix"; // Clearfix
48
+ @import "bootstrap/scss/helpers/color-bg"; // Color background
49
+ @import "bootstrap/scss/helpers/colored-links"; // Colored links
50
+ @import "bootstrap/scss/helpers/focus-ring"; // Focus ring
51
+ @import "bootstrap/scss/helpers/icon-link"; // Icon links
52
+ @import "bootstrap/scss/helpers/position"; // Position helpers
53
+ @import "bootstrap/scss/helpers/ratio"; // Aspect ratio
54
+ @import "bootstrap/scss/helpers/stacks"; // Stack helpers
55
+ @import "bootstrap/scss/helpers/stretched-link"; // Stretched link
56
+ @import "bootstrap/scss/helpers/text-truncation"; // Text truncation
57
+ @import "bootstrap/scss/helpers/visually-hidden"; // Visually hidden
58
+ @import "bootstrap/scss/helpers/vr"; // Vertical rule
59
+
60
+ //==========================
61
+ // 6️⃣ UTILITIES – Sub-modules
62
+ //==========================
63
+ @import "bootstrap/scss/utilities/api"; // Utilities API
64
+
65
+ //==========================
66
+ // 7️⃣ FORMS – Sub-modules
67
+ //==========================
68
+ @import "bootstrap/scss/forms"; // Forms loader
69
+ @import "bootstrap/scss/forms/labels"; // Labels
70
+ @import "bootstrap/scss/forms/form-text"; // Form text
71
+ @import "bootstrap/scss/forms/form-control"; // Inputs and textareas
72
+ @import "bootstrap/scss/forms/form-select"; // Select dropdowns
73
+ @import "bootstrap/scss/forms/form-check"; // Checkboxes and radios
74
+ @import "bootstrap/scss/forms/form-range"; // Range sliders
75
+ @import "bootstrap/scss/forms/floating-labels"; // Floating labels
76
+ @import "bootstrap/scss/forms/input-group"; // Input groups
77
+ @import "bootstrap/scss/forms/validation"; // Validation states
78
+
79
+ //==========================
80
+ // 8️⃣ COMPONENTS – All Bootstrap components
81
+ //==========================
82
+ @import "bootstrap/scss/alert"; // Alerts
83
+ @import "bootstrap/scss/badge"; // Badges
84
+ @import "bootstrap/scss/breadcrumb"; // Breadcrumbs
85
+ @import "bootstrap/scss/buttons"; // Buttons
86
+ @import "bootstrap/scss/button-group"; // Button groups
87
+ @import "bootstrap/scss/card"; // Cards
88
+ @import "bootstrap/scss/carousel"; // Carousel
89
+ @import "bootstrap/scss/close"; // Close (×) button
90
+ @import "bootstrap/scss/dropdown"; // Dropdowns
91
+ @import "bootstrap/scss/list-group"; // List groups
92
+ @import "bootstrap/scss/modal"; // Modals
93
+ @import "bootstrap/scss/nav"; // Nav
94
+ @import "bootstrap/scss/navbar"; // Navbar
95
+ @import "bootstrap/scss/offcanvas"; // Offcanvas component
96
+ @import "bootstrap/scss/pagination"; // Pagination
97
+ @import "bootstrap/scss/popover"; // Popovers
98
+ @import "bootstrap/scss/progress"; // Progress bars
99
+ @import "bootstrap/scss/spinners"; // Spinners
100
+ @import "bootstrap/scss/toasts"; // Toasts
101
+ @import "bootstrap/scss/tooltip"; // Tooltips
102
+ @import "bootstrap/scss/accordion"; // Accordion
103
+ @import "bootstrap/scss/tables"; // Tables
104
+
105
+ //==========================
106
+ // 9️⃣ ICONS
107
+ //==========================
108
+ $bootstrap-icons-font-src: url("../fonts/bootstrap-icons.woff2") format("woff2"),
109
+ url("../fonts/bootstrap-icons.woff") format("woff");
110
110
  @import "bootstrap-icons/font/bootstrap-icons";