lumina-sass 1.6.0
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/LICENSE +21 -0
- package/README.md +137 -0
- package/package.json +47 -0
- package/src/_index.sass +5 -0
- package/src/color/_alerts.sass +2 -0
- package/src/color/_index.sass +7 -0
- package/src/color/accents/_index.sass +3 -0
- package/src/color/base/_index.sass +17 -0
- package/src/color/brands/_github.sass +4 -0
- package/src/color/brands/_index.sass +29 -0
- package/src/color/brands/_lumina.sass +7 -0
- package/src/color/brands/_social.sass +24 -0
- package/src/color/icons/_index.sass +6 -0
- package/src/color/misc/_index.sass +10 -0
- package/src/color/neutral/_index.sass +11 -0
- package/src/color/palette/groovy-70s/_index.sass +16 -0
- package/src/color/stacks/_index.sass +39 -0
- package/src/flexbox/_flexbox-column.sass +30 -0
- package/src/flexbox/_flexbox-reversed-row.sass +21 -0
- package/src/flexbox/_flexbox-row.sass +37 -0
- package/src/flexbox/_flexbox-wrap-row.sass +35 -0
- package/src/flexbox/_index.sass +40 -0
- package/src/flexbox/column-align-justify-mix/column-justify-items.sass +12 -0
- package/src/flexbox/row-align-justify-mix/_flexbox-wrap-row-align-justify.sass +36 -0
- package/src/map/_devices-breakpoints.sass +31 -0
- package/src/map/_flexbox.sass +20 -0
- package/src/map/_icons.sass +21 -0
- package/src/mix/_generators.sass +27 -0
- package/src/mix/_index.sass +3 -0
- package/src/mix/_media.sass +24 -0
- package/src/mix/_typography.sass +33 -0
- package/src/utils/_flexbox.sass +32 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Kristoffer
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Lumina SASS
|
|
2
|
+
|
|
3
|
+
A descriptive SASS color and utility library.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Lumina SASS provides a comprehensive set of standardized color variables and utility mixins designed for modern web development. The library focuses on descriptive naming conventions and easy integration.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **Standardized Color Naming:** Uses a consistent `[brand]-[color]` or `[category]-[color]` pattern.
|
|
12
|
+
- **Brand Colors:** Pre-defined colors for social media platforms and operating systems.
|
|
13
|
+
- **Tech Colors:** Specifically curated colors for programming languages and development categories.
|
|
14
|
+
- **Flexbox Utilities:** Comprehensive set of flexbox maps and utility classes.
|
|
15
|
+
- **Utility Mixins:** Includes media query breakpoints, font handling, typography, figure/image styling, and button generation.
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Clone the repository
|
|
21
|
+
git clone https://github.com/your-username/lumina-sass.git
|
|
22
|
+
|
|
23
|
+
# Navigate to the project
|
|
24
|
+
cd lumina-sass
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Usage
|
|
28
|
+
|
|
29
|
+
### Colors
|
|
30
|
+
|
|
31
|
+
All color variables follow a descriptive naming convention:
|
|
32
|
+
|
|
33
|
+
```sass
|
|
34
|
+
@use 'src/color' as *
|
|
35
|
+
|
|
36
|
+
.social-button
|
|
37
|
+
background-color: $discord-blue
|
|
38
|
+
&:hover
|
|
39
|
+
background-color: $discord-blue-hover
|
|
40
|
+
|
|
41
|
+
.tech-tag
|
|
42
|
+
color: $typescript-blue
|
|
43
|
+
border: 1px solid $accent-slate-blue
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Flexbox & Mixins
|
|
47
|
+
|
|
48
|
+
You can import the entire library or specific modules:
|
|
49
|
+
|
|
50
|
+
```sass
|
|
51
|
+
// Import everything
|
|
52
|
+
@use 'src' as *
|
|
53
|
+
|
|
54
|
+
// Or import specific modules
|
|
55
|
+
@use 'src/flexbox' as flex
|
|
56
|
+
@use 'src/mixins' as mix
|
|
57
|
+
|
|
58
|
+
.container
|
|
59
|
+
+mix.flex-center
|
|
60
|
+
|
|
61
|
+
.row
|
|
62
|
+
+flex.flex-row
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Demo
|
|
66
|
+
|
|
67
|
+
A live demo is available in the `demo/` directory.
|
|
68
|
+
|
|
69
|
+
### Viewing the Demo
|
|
70
|
+
You can build and serve the demo using the included npm scripts:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# Install dependencies
|
|
74
|
+
npm install
|
|
75
|
+
|
|
76
|
+
# Build and serve the demo locally
|
|
77
|
+
npm start
|
|
78
|
+
```
|
|
79
|
+
This will compile the SASS and start a local web server at `http://localhost:8080`.
|
|
80
|
+
|
|
81
|
+
Alternatively, you can run the tasks separately:
|
|
82
|
+
```bash
|
|
83
|
+
# Just build the styles
|
|
84
|
+
npm run build:demo
|
|
85
|
+
|
|
86
|
+
# Watch for changes and rebuild
|
|
87
|
+
npm run build:demo:watch
|
|
88
|
+
|
|
89
|
+
# Serve the demo folder
|
|
90
|
+
npm run serve
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Directory Structure
|
|
94
|
+
|
|
95
|
+
- `src/color/`: Contains all color definitions.
|
|
96
|
+
- `src/flexbox/`: Comprehensive flexbox utilities and mappings.
|
|
97
|
+
- `src/mixins/`: Utility mixins (layout, media queries, typography, buttons).
|
|
98
|
+
- `src/map/`: SASS maps for configuration (icons, devices, flexbox).
|
|
99
|
+
- `src/_index.sass`: Main entry point for the entire library.
|
|
100
|
+
- `src/_variables.sass`: Global configuration variables.
|
|
101
|
+
|
|
102
|
+
## Naming Conventions
|
|
103
|
+
|
|
104
|
+
Colors are named using the following patterns:
|
|
105
|
+
- **Brand/Tag:** `$[brand]-[color]` (e.g., `$linux-orange`)
|
|
106
|
+
- **Category:** `$[category]-[color]` (e.g., `$compiled-orange`)
|
|
107
|
+
- **States:** `$[brand]-[color]-[state]` (e.g., `$facebook-blue-hover`)
|
|
108
|
+
|
|
109
|
+
## Releases & Publishing
|
|
110
|
+
|
|
111
|
+
This project uses GitHub Actions to automate releases and publishing to NPM via **Trusted Publishing (OIDC)**.
|
|
112
|
+
|
|
113
|
+
### Dependency Updates
|
|
114
|
+
Dependabot is configured to check for npm and GitHub Action updates **monthly**.
|
|
115
|
+
|
|
116
|
+
### How to Release
|
|
117
|
+
1. Update the version in `package.json`.
|
|
118
|
+
2. Push a new tag following the `v*` pattern (e.g., `v1.0.1`):
|
|
119
|
+
```bash
|
|
120
|
+
git tag v1.0.1
|
|
121
|
+
git push origin v1.0.1
|
|
122
|
+
```
|
|
123
|
+
3. The GitHub Action will automatically:
|
|
124
|
+
- Create a GitHub Release with generated release notes.
|
|
125
|
+
- Publish the package to NPM with **SLSA Provenance**.
|
|
126
|
+
|
|
127
|
+
### Trusted Publishing Setup
|
|
128
|
+
To enable secretless publishing, you must configure **Trusted Publishers** on npmjs.com:
|
|
129
|
+
1. Go to your package settings on npm.
|
|
130
|
+
2. Under **Publishing access**, add **GitHub Actions** as a Trusted Publisher.
|
|
131
|
+
3. Link your repository (`Krigjo25/lumina-sass`) and the workflow file (`.github/workflows/release.yml`).
|
|
132
|
+
|
|
133
|
+
> **Benefits:** This setup eliminates the need for manual `NPM_TOKEN` management and provides a "Provenance" badge on npm, allowing users to verify that the package was built directly from this repository.
|
|
134
|
+
|
|
135
|
+
## License
|
|
136
|
+
|
|
137
|
+
MIT
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "lumina-sass",
|
|
3
|
+
"version": "1.6.0",
|
|
4
|
+
"description": "Lumina Sass design tokens and mixins",
|
|
5
|
+
"main": "src/_index.sass",
|
|
6
|
+
"sass": "src/_index.sass",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"sass": "./src/_index.sass",
|
|
10
|
+
"default": "./src/_index.sass"
|
|
11
|
+
},
|
|
12
|
+
"./flexbox": {
|
|
13
|
+
"sass": "./src/flexbox/_index.sass",
|
|
14
|
+
"default": "./src/flexbox/_index.sass"
|
|
15
|
+
},
|
|
16
|
+
"./color": {
|
|
17
|
+
"sass": "./src/color/_index.sass",
|
|
18
|
+
"default": "./src/color/_index.sass"
|
|
19
|
+
},
|
|
20
|
+
"./mixins": {
|
|
21
|
+
"sass": "./src/mixins/_index.sass",
|
|
22
|
+
"default": "./src/mixins/_index.sass"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://github.com/Krigjo25/lumina-sass.git"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
31
|
+
"build:demo": "sass demo/style.sass demo/style.css",
|
|
32
|
+
"build:demo:watch": "sass demo/style.sass demo/style.css --watch",
|
|
33
|
+
"serve": "http-server demo",
|
|
34
|
+
"start": "npm run build:demo && npm run serve",
|
|
35
|
+
"release": "standard-version"
|
|
36
|
+
},
|
|
37
|
+
"files": [
|
|
38
|
+
"src"
|
|
39
|
+
],
|
|
40
|
+
"author": "",
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"http-server": "^14.1.1",
|
|
44
|
+
"sass": "^1.85.1",
|
|
45
|
+
"standard-version": "^9.5.0"
|
|
46
|
+
}
|
|
47
|
+
}
|
package/src/_index.sass
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Color palette Light
|
|
2
|
+
|
|
3
|
+
$dark-grey: rgb(64, 64, 64)
|
|
4
|
+
|
|
5
|
+
$white: rgb(245, 245, 245)
|
|
6
|
+
$soft-white: rgb(244, 246, 249)
|
|
7
|
+
$off-white: rgb(252, 252, 252)
|
|
8
|
+
|
|
9
|
+
$light-blue: rgb(52, 152, 216)
|
|
10
|
+
$deep-midnight-blue: rgb(29, 46, 84)
|
|
11
|
+
|
|
12
|
+
$logo-red: rgb(179, 34, 20)
|
|
13
|
+
|
|
14
|
+
$sea-green: rgb(95, 158, 160)
|
|
15
|
+
|
|
16
|
+
$light-orange: rgb(231, 113, 125)
|
|
17
|
+
$dark-orange: rgb(204, 85, 102)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
$github-gray: rgba(105, 105, 105, 1)
|
|
2
|
+
$github-gray-active: rgba(45, 45, 45, 1)
|
|
3
|
+
$github-gray-hover: rgba(120, 120, 120, 1)
|
|
4
|
+
$github-light-green: rgba(231, 243, 243, 1)
|
|
5
|
+
|
|
6
|
+
// Social media colors
|
|
7
|
+
$discord-blue: rgba(88, 101, 242, 1)
|
|
8
|
+
$discord-blue-hover: rgba(88, 101, 242, 0.8)
|
|
9
|
+
$discord-blue-active: rgba(88, 101, 242, 0.6)
|
|
10
|
+
|
|
11
|
+
$facebook-blue: rgba(59, 89, 152, 1)
|
|
12
|
+
$facebook-blue-hover: rgba(59, 89, 152, 0.8)
|
|
13
|
+
$facebook-blue-active: rgba(59, 89, 152, 0.6)
|
|
14
|
+
|
|
15
|
+
$instagram-purple: rgba(193, 53, 132, 1)
|
|
16
|
+
$instagram-purple-hover: rgba(193, 53, 132, 0.8)
|
|
17
|
+
$instagram-purple-active: rgba(193, 53, 132, 0.6)
|
|
18
|
+
|
|
19
|
+
$messenger-blue: rgba(0, 132, 255, 1)
|
|
20
|
+
$messenger-blue-hover: rgba(0, 132, 255, 0.8)
|
|
21
|
+
$messenger-blue-active: rgba(0, 132, 255, 0.6)
|
|
22
|
+
|
|
23
|
+
$youtube-red: rgba(255, 0, 0, 1)
|
|
24
|
+
$youtube-red-hover: rgba(120, 6, 6, 1)
|
|
25
|
+
$youtube-red-active: rgba(255, 0, 0, 0.6)
|
|
26
|
+
|
|
27
|
+
$linked-in-blue: rgba(0, 0, 128, 1)
|
|
28
|
+
$linked-in-blue-active: rgba(0, 0, 115, 1)
|
|
29
|
+
$linked-in-blue-hover: rgba(25, 25, 140, 1)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Social media colors
|
|
2
|
+
$brand-discord-blue: rgba(88, 101, 242, 1)
|
|
3
|
+
$brand-discord-blue-hover: rgba(88, 101, 242, 0.8)
|
|
4
|
+
$brand-discord-blue-active: rgba(88, 101, 242, 0.6)
|
|
5
|
+
|
|
6
|
+
$brand-facebook-blue: rgba(59, 89, 152, 1)
|
|
7
|
+
$brand-facebook-blue-hover: rgba(59, 89, 152, 0.8)
|
|
8
|
+
$brand-facebook-blue-active: rgba(59, 89, 152, 0.6)
|
|
9
|
+
|
|
10
|
+
$brand-instagram-purple: rgba(193, 53, 132, 1)
|
|
11
|
+
$brand-instagram-purple-hover: rgba(193, 53, 132, 0.8)
|
|
12
|
+
$brand-instagram-purple-active: rgba(193, 53, 132, 0.6)
|
|
13
|
+
|
|
14
|
+
$brand-messenger-blue: rgba(0, 132, 255, 1)
|
|
15
|
+
$brand-messenger-blue-hover: rgba(0, 132, 255, 0.8)
|
|
16
|
+
$brand-messenger-blue-active: rgba(0, 132, 255, 0.6)
|
|
17
|
+
|
|
18
|
+
$brand-youtube-red: rgba(255, 0, 0, 1)
|
|
19
|
+
$brand-youtube-red-hover: rgba(120, 6, 6, 1)
|
|
20
|
+
$brand-youtube-red-active: rgba(255, 0, 0, 0.6)
|
|
21
|
+
|
|
22
|
+
$brand-linked-in-blue: rgba(0, 0, 128, 1)
|
|
23
|
+
$brand-linked-in-blue-active: rgba(0, 0, 115, 1)
|
|
24
|
+
$brand-linked-in-blue-hover: rgba(25, 25, 140, 1)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
$linux-orange: rgb(233, 84, 32)
|
|
2
|
+
$windows-blue: rgb(0, 120, 212)
|
|
3
|
+
$macos-silver: rgb(245, 245, 247)
|
|
4
|
+
|
|
5
|
+
$misc-purple: rgb(155, 89, 182)
|
|
6
|
+
$rd-lime-green: rgb(160, 255, 0)
|
|
7
|
+
$fullstack-vibrant-orange: rgb(255, 140, 0)
|
|
8
|
+
|
|
9
|
+
$human-emerald-glow: rgb(0, 255, 159)
|
|
10
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Neutral palette
|
|
2
|
+
$neutral-white: rgb(245, 245, 245)
|
|
3
|
+
$neutral-soft-white: rgb(255, 248, 241)
|
|
4
|
+
$neutral-white-mute: rgb(242, 242, 242)
|
|
5
|
+
$neutral-off-white: rgb(252, 252, 252)
|
|
6
|
+
|
|
7
|
+
// Text palette
|
|
8
|
+
$text-light-1: rgb(60, 60, 60)
|
|
9
|
+
$text-light-2: rgba(60, 60, 60, 0.66)
|
|
10
|
+
$text-dark-grey: rgb(40, 40, 40)
|
|
11
|
+
$text-base-dark-grey: rgb(64, 64, 64)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Groovy 70's palette
|
|
2
|
+
// Naming convention: $groovy-70s-[descriptive-color-name]
|
|
3
|
+
|
|
4
|
+
$groovy-70s-earth-brown: rgb(89, 61, 43)
|
|
5
|
+
$groovy-70s-avocado-green: rgb(181, 215, 81)
|
|
6
|
+
$groovy-70s-burnt-orange: rgb(229, 119, 30)
|
|
7
|
+
$groovy-70s-mustard-yellow: rgb(230, 193, 92)
|
|
8
|
+
|
|
9
|
+
$groovy-70s-cream: rgb(252, 245, 235)
|
|
10
|
+
|
|
11
|
+
$groovy-70s-off-white: rgb(245, 245, 245)
|
|
12
|
+
$groovy-70s-warm-white: rgb(255, 248, 241)
|
|
13
|
+
$groovy-70s-muted-white: rgb(242, 242, 242)
|
|
14
|
+
|
|
15
|
+
$groovy-70s-charcoal: rgb(60, 60, 60)
|
|
16
|
+
$groovy-70s-charcoal-muted: rgba(60, 60, 60, 0.66)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Theme color | Compiled language
|
|
2
|
+
$c-silver: rgb(168, 185, 204)
|
|
3
|
+
$cplus-blue: rgb(0, 89, 156)
|
|
4
|
+
$fortran-purple: rgb(115, 79, 150)
|
|
5
|
+
|
|
6
|
+
$compiled-orange: rgba(238, 140, 43, 1)
|
|
7
|
+
$compiled-light-orange: rgba(238, 177, 138, 1)
|
|
8
|
+
|
|
9
|
+
// Theme colors | Interpreted language
|
|
10
|
+
$go-teal: rgb(0, 173, 216)
|
|
11
|
+
$microsoft-green: rgb(23, 134, 0)
|
|
12
|
+
$typescript-blue: rgb(81, 43, 212)
|
|
13
|
+
$microsoft-purple: rgb(81, 43, 212)
|
|
14
|
+
$cyan-blue-azure: rgb(55, 118, 171)
|
|
15
|
+
$javascript-yellow:rgb(247, 223, 30)
|
|
16
|
+
$interpreted-light-green: rgb(109, 222, 157)
|
|
17
|
+
|
|
18
|
+
// Theme colors | Database
|
|
19
|
+
$db-red: rgba(204, 41, 39, .8)
|
|
20
|
+
$db-light-red: rgba(255, 0, 0, .6)
|
|
21
|
+
|
|
22
|
+
// Theme colors | WorkFlow
|
|
23
|
+
$workflow-blue: rgba(110, 147, 171, 1)
|
|
24
|
+
$jupyter-peach: rgb(255, 204, 152)
|
|
25
|
+
$workflow-light-blue: rgba(0, 191, 255, 0.6)
|
|
26
|
+
|
|
27
|
+
// Theme colors | Scripting
|
|
28
|
+
$lua-blue: rgb(0, 0, 128)
|
|
29
|
+
$powershell-blue: rgb(1, 36, 86)
|
|
30
|
+
$shell-green: rgb(78, 254, 9)
|
|
31
|
+
$scripting-light-yellow: rgb(255, 227, 128)
|
|
32
|
+
|
|
33
|
+
// Theme Colors | Templating
|
|
34
|
+
$meson-red: rgb(179, 32, 36)
|
|
35
|
+
$jinja-red: rgb(179, 32, 36)
|
|
36
|
+
$roff-grey: rgb(110, 110, 110)
|
|
37
|
+
$smarty-orange: rgb(245, 185, 69)
|
|
38
|
+
|
|
39
|
+
$frontend-sky-blue: rgb(92, 201, 238)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
@use '../mix/generators' as mix
|
|
2
|
+
|
|
3
|
+
.flex-column-align-items-center
|
|
4
|
+
align-items: center
|
|
5
|
+
@include mix.flexbox-generator('flex-column')
|
|
6
|
+
|
|
7
|
+
.flex-column-justify-center
|
|
8
|
+
justify-content: center
|
|
9
|
+
@include mix.flexbox-generator('flex-column')
|
|
10
|
+
|
|
11
|
+
.flex-column-justify-space-evenly
|
|
12
|
+
justify-content: space-evenly
|
|
13
|
+
@include mix.flexbox-generator('flex-column')
|
|
14
|
+
|
|
15
|
+
.flex-wrap-column-align-content-center
|
|
16
|
+
align-content: center
|
|
17
|
+
@include mix.flexbox-generator('flex-wrap-column')
|
|
18
|
+
|
|
19
|
+
.flex-wrap-column-align-center-justify-space-evenly
|
|
20
|
+
align-content: center
|
|
21
|
+
justify-content: space-evenly
|
|
22
|
+
@include mix.flexbox-generator('flex-wrap-column')
|
|
23
|
+
|
|
24
|
+
.flex-column-align-items-end
|
|
25
|
+
align-items: flex-end
|
|
26
|
+
@include mix.flexbox-generator('flex-column')
|
|
27
|
+
|
|
28
|
+
.flex-wrap-column-align-content-center
|
|
29
|
+
align-content: center
|
|
30
|
+
@include mix.flexbox-generator('flex-wrap-column')
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@use '../mix/generators' as mix
|
|
2
|
+
|
|
3
|
+
.flex-row-reversed-justify-center-align-content-center
|
|
4
|
+
align-content: center
|
|
5
|
+
justify-content: center
|
|
6
|
+
@include mix.flexbox-generator('flex-wrap-reversed-row')
|
|
7
|
+
|
|
8
|
+
.flex-row-reversed-justify-space-around-align-content-center
|
|
9
|
+
align-content: center
|
|
10
|
+
justify-content: space-around
|
|
11
|
+
@include mix.flexbox-generator('flex-wrap-reversed-row')
|
|
12
|
+
|
|
13
|
+
.flex-row-reversed-justify-space-between-align-content-center
|
|
14
|
+
align-content: center
|
|
15
|
+
justify-content: space-between
|
|
16
|
+
@include mix.flexbox-generator('flex-wrap-reversed-row')
|
|
17
|
+
|
|
18
|
+
.flex-row-reversed-justify-space-evenly-align-content-centerW
|
|
19
|
+
align-content: center
|
|
20
|
+
justify-content: space-evenly
|
|
21
|
+
@include mix.flexbox-generator('flex-wrap-reversed-row')
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
@use '../mix/generators' as mix
|
|
2
|
+
.flex-row
|
|
3
|
+
@include mix.flexbox-generator('flex-row')
|
|
4
|
+
|
|
5
|
+
.flex-row-align-items-center
|
|
6
|
+
align-items: center
|
|
7
|
+
@include mix.flexbox-generator('flex-row')
|
|
8
|
+
|
|
9
|
+
.inline-flex-row
|
|
10
|
+
@include mix.flexbox-generator('inline-flex-row')
|
|
11
|
+
|
|
12
|
+
.inline-flex-center
|
|
13
|
+
align-items: center
|
|
14
|
+
justify-content: center
|
|
15
|
+
@include mix.flexbox-generator('inline-flex')
|
|
16
|
+
|
|
17
|
+
.flex-row-justify-space-between
|
|
18
|
+
justify-content: space-between
|
|
19
|
+
@include mix.flexbox-generator('flex-row')
|
|
20
|
+
|
|
21
|
+
.flex-row-align-items-flex-end-justify-center
|
|
22
|
+
align-items: flex-end
|
|
23
|
+
justify-content: center
|
|
24
|
+
@include mix.flexbox-generator('flex-row')
|
|
25
|
+
|
|
26
|
+
.flex-row-align-items-center-justify-content-space-between
|
|
27
|
+
justify-content: space-between
|
|
28
|
+
@include mix.flexbox-generator('flex-row')
|
|
29
|
+
|
|
30
|
+
.flex-row-justify-center
|
|
31
|
+
justify-content: center
|
|
32
|
+
@include mix.flexbox-generator('flex-row')
|
|
33
|
+
|
|
34
|
+
.flex-row-align-items-center
|
|
35
|
+
align-items: center
|
|
36
|
+
@include mix.flexbox-generator('flex-row')
|
|
37
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@use '../mix/generators' as mix
|
|
2
|
+
|
|
3
|
+
.flex-wrap-row-justify-center
|
|
4
|
+
justify-content: center
|
|
5
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
6
|
+
|
|
7
|
+
.flex-wrap-row-justify-flex-end
|
|
8
|
+
justify-content: flex-end
|
|
9
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
10
|
+
|
|
11
|
+
.flex-wrap-row-justify-flex-start
|
|
12
|
+
justify-content: flex-start
|
|
13
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
14
|
+
|
|
15
|
+
.flex-wrap-row-justify-space-evenly
|
|
16
|
+
justify-content: space-evenly
|
|
17
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
18
|
+
|
|
19
|
+
.flex-wrap-row-justify-space-between
|
|
20
|
+
justify-content: space-between
|
|
21
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
22
|
+
|
|
23
|
+
.flex-wrap-row-justify-space-around
|
|
24
|
+
justify-content: space-around
|
|
25
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
26
|
+
|
|
27
|
+
// Align items
|
|
28
|
+
|
|
29
|
+
.flex-wrap-row-align-items-end
|
|
30
|
+
align-items: flex-end
|
|
31
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
32
|
+
|
|
33
|
+
.flex-wrap-row-align-items-center
|
|
34
|
+
align-items: center
|
|
35
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@use '../mix/generators' as mix
|
|
2
|
+
|
|
3
|
+
@forward '../flexbox/flexbox-row'
|
|
4
|
+
@forward '../flexbox/flexbox-column'
|
|
5
|
+
@forward '../flexbox/flexbox-wrap-row'
|
|
6
|
+
@forward '../flexbox/flexbox-reversed-row'
|
|
7
|
+
@forward '../flexbox/row-align-justify-mix/flexbox-wrap-row-align-justify'
|
|
8
|
+
|
|
9
|
+
.flex
|
|
10
|
+
@include mix.flexbox-generator('flex')
|
|
11
|
+
|
|
12
|
+
.flex-center
|
|
13
|
+
@include mix.flexbox-generator('flex-center')
|
|
14
|
+
|
|
15
|
+
.flex-row
|
|
16
|
+
@include mix.flexbox-generator('flex-row')
|
|
17
|
+
|
|
18
|
+
.flex-column
|
|
19
|
+
@include mix.flexbox-generator('flex-column')
|
|
20
|
+
|
|
21
|
+
.flex-wrap-row
|
|
22
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
23
|
+
|
|
24
|
+
.flex-wrap-column
|
|
25
|
+
@include mix.flexbox-generator('flex-wrap-column')
|
|
26
|
+
|
|
27
|
+
.flex-wrap-reversed-row
|
|
28
|
+
@include mix.flexbox-generator('flex-wrap-reversed-row')
|
|
29
|
+
|
|
30
|
+
.flex-wrap-reversed-column
|
|
31
|
+
@include mix.flexbox-generator('flex-wrap-reversed-column')
|
|
32
|
+
|
|
33
|
+
.inline-flex
|
|
34
|
+
@include mix.flexbox-generator('inline-flex')
|
|
35
|
+
|
|
36
|
+
.inline-flex-row
|
|
37
|
+
@include mix.flexbox-generator('inline-flex-row')
|
|
38
|
+
|
|
39
|
+
.inline-flex-column
|
|
40
|
+
@include mix.flexbox-generator('inline-flex-column')
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Align-content and Justify-content gen
|
|
2
|
+
@use '../../mix/generators' as gen
|
|
3
|
+
|
|
4
|
+
.flex-column-justify-space-evenly-items-center
|
|
5
|
+
align-items: center
|
|
6
|
+
justify-content: space-evenly
|
|
7
|
+
@include gen.flexbox-generator('flex-column')
|
|
8
|
+
|
|
9
|
+
.flex-column-align-items-center-justify-center
|
|
10
|
+
align-items: center
|
|
11
|
+
justify-content: center
|
|
12
|
+
@include gen.flexbox-generator('flex-column')
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
@use '../../mix/generators' as mix
|
|
2
|
+
|
|
3
|
+
.flex-wrap-row-align-content-start-justify-space-evenly
|
|
4
|
+
align-content: flex-start
|
|
5
|
+
justify-content: space-evenly
|
|
6
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
7
|
+
|
|
8
|
+
.flex-wrap-row-align-items-center-justify-center
|
|
9
|
+
align-items: center
|
|
10
|
+
justify-content: center
|
|
11
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
12
|
+
|
|
13
|
+
.flex-wrap-row-align-items-center-justify-space-evenly
|
|
14
|
+
align-items: center
|
|
15
|
+
justify-content: space-evenly
|
|
16
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
17
|
+
|
|
18
|
+
.flex-wrap-row-align-items-center-justify-space-around
|
|
19
|
+
align-items: center
|
|
20
|
+
justify-content: space-around
|
|
21
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
22
|
+
|
|
23
|
+
.flex-wrap-row-align-items-center-justify-space-between
|
|
24
|
+
align-items: center
|
|
25
|
+
justify-content: space-between
|
|
26
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
27
|
+
|
|
28
|
+
.flex-wrap-row-align-items-end-justify-space-between
|
|
29
|
+
align-items: flex-end
|
|
30
|
+
justify-content: space-between
|
|
31
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
32
|
+
|
|
33
|
+
.flex-wrap-row-align-items-end-justify-space-evenly
|
|
34
|
+
align-items: flex-end
|
|
35
|
+
justify-content: space-evenly
|
|
36
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
@use 'sass:map'
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
$breakpoints:(
|
|
5
|
+
'xs': 30rem, 'sm': 48rem, 'md': 64rem,
|
|
6
|
+
'lg': 80rem, 'xl': 90rem, 'S': 12.5rem,
|
|
7
|
+
'M': 31.25rem, 'L': 50rem, 'XL': 64rem,
|
|
8
|
+
'2XL': 80rem, '3XL': 81.25rem,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
$motorola: ('mobility-milestone': (block-size: 35.625rem, inline-size: map.get(map.get($htc, 'desire'), 'inline-size')))
|
|
12
|
+
$sony-ericson: ('u': (block-size: 53.375rem, inline-size: map.get(map.get($motorola, 'mobility-milestone'),'inline-size')))
|
|
13
|
+
$misc-breakpoints: ('tablet': (block-size: 50rem, inline-size: 37.5rem), 'wideScreen': (block-size: 48rem, inline-size: 79.625rem))
|
|
14
|
+
$amazon: ('kindle-fire': (inline-size: 37.5rem, block-size: map.get($breakpoints, 'XL')), 'kindle-fire-hd': (inline-size: 50rem, block-size: map.get($breakpoints, '2XL')))
|
|
15
|
+
$microsoft: ('surface-pro': (block-size: 85.5rem, inline-size: 57rem), 'surface-duoc': (block-size: 45rem, inline-size: map.get(map.get($htc, 'sensation'), 'inline-size')))
|
|
16
|
+
$display: ('hd-720p': (block-size: 45rem, inline-size: 80rem), 'hd-1080i': (block-size: 67.5rem, inline-size: 90rem), 'hd-1080p': (block-size: 52.875rem, inline-size: 114.938rem))
|
|
17
|
+
$asus: ('zbc': (inline-size: 53.3125rem, block-size: map.get(map.get($amazon, 'kindle-fire-hd'), 'block-size')), 'zbf': (inline-size: 106.625rem, block-size: map.get(map.get($amazon, 'kindle-fire-hd'), 'block-size')))
|
|
18
|
+
$black-berry: ('bt': (inline-size: map.get(map.get($apple, 'iphone'),'block-size'), block-size: 40rem), 'curve': (inline-size: 22.5rem, block-size: map.get(map.get($apple, 'iphone'),'block-size')), 'original': (block-size: 50rem, inline-size: map.get(map.get($apple, 'iphone'),'block-size')))
|
|
19
|
+
$htc: ('desire': (block-size: 33.3125rem, inline-size: map.get(map.get($google, 'nest-hub-max'), 'inline-size')), 'sensation': (block-size: 60rem, inline-size: 33.75rem), 'one': (block-size: map.get(map.get($black-berry, 'original'), 'block-size'), inline-size: map.get(map.get($google, 'nest-hub-max'), 'inline-size')))
|
|
20
|
+
$google: ('pixel': (block-size: 57.1875rem, inline-size: map.get(map.get($black-berry, 'original'), 'inline-size')), 'nest-hub': (block-size: 37.5rem, inline-size: map.get($breakpoints, 'XL')), 'nest-hub-max': (block-size: map.get($breakpoints, 'XL'), inline-size: map.get(map.get($black-berry, 'original'), 'inline-size')))
|
|
21
|
+
$sharp: ('is03': (block-size: map.get(map.get($htc, 'one'), 'block-size'), inline-size: map.get(map.get($samsung, 'gs8'), 'inline-size')), '941sh': (block-size: map.get($breakpoints, 'XL'), inline-size: map.get(map.get($sony-ericson, 'u'), 'inline-size')), 'sx862': (block-size: map.get(map.get($sony-ericson, 'u'), 'block-size'), inline-size: map.get(map.get($sony-ericson, 'u'), 'inline-size')))
|
|
22
|
+
$samsung: ('gcz5': (block-size: 46.25rem, inline-size: 21.5rem), 'gs8': (block-size: 46.25rem, inline-size: map.get(map.get($black-berry, 'curve'), 'inline-size')), 'gfz5': (block-size: 51.8125rem, inline-size: map.get(map.get($black-berry, 'curve'), 'inline-size')), 'ga5171': (block-size: 57.125rem, inline-size: map.get(map.get($apple, 'iphone-plus'), 'inline-size')), 'tab': (block-size: 42.6875rem, inline-size: 25rem), 'gs20u': (block-size: map.get(map.get($google, 'pixel'), 'block-size'), inline-size: map.get(map.get($apple, 'iphone-plus'), 'inline-size')))
|
|
23
|
+
$apple: ('ipad': (inline-size: 48rem, block-size: map.get($breakpoints, 'XL')), 'ipad-air': (block-size: 73.75rem, inline-size: 51.25rem), 'ipad-pro': (block-size: 85.375rem, inline-size: 64rem), 'tv-cd': (block-size: 160rem, inline-size: 100rem), 'iphone': (block-size: 30rem, inline-size: 20rem), 'iphone-7': (block-size: 41.6875rem, inline-size: 23.4375rem), 'iphone-xr': (block-size: 56rem, inline-size: 25.875rem), 'iphone-pro': (block-size: 52.75rem, inline-size: 24.375rem), 'iphone-pro-height': 52.75rem, 'iphone-plus': (block-size: 46rem, inline-size: 25.75rem), 'iphone-pro-max': (block-size: 57.875rem, inline-size: 26.875rem))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
$devices:(
|
|
27
|
+
'htc': $htc, 'sharp': $sharp, 'apple': $apple,
|
|
28
|
+
'google': $google, 'display': $display, 'samsung': $samsung,
|
|
29
|
+
'motorola': $motorola, 'misc': $misc-breakpoints,
|
|
30
|
+
'black-berry': $black-berry, 'sony-ericson': $sony-ericson,
|
|
31
|
+
)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$flex: ('display': flex)
|
|
2
|
+
$inline-flex: ('display': inline-flex)
|
|
3
|
+
$flex-row: ('display': flex, 'flex-wrap': nowrap, 'flex-direction': row)
|
|
4
|
+
$flex-wrap-row: ('display': flex, 'flex-wrap': wrap, 'flex-direction': row)
|
|
5
|
+
$flex-column: ('display': flex, 'flex-wrap': nowrap, 'flex-direction': column)
|
|
6
|
+
$flex-wrap-column: ('display': flex, 'flex-wrap': wrap, 'flex-direction': column)
|
|
7
|
+
$flex-center: ('display': flex, 'justify-content': center, 'align-items': center)
|
|
8
|
+
$inline-flex-row: ('flex-wrap': nowrap, 'flex-direction': row, 'display': inline-flex)
|
|
9
|
+
$inline-flex-column: ('flex-wrap': nowrap, 'display': inline-flex, 'flex-direction': column)
|
|
10
|
+
$flex-wrap-reversed-row: ('display': flex, 'flex-wrap': wrap, 'flex-direction': row-reverse)
|
|
11
|
+
$flex-wrap-reversed-column: ('display': flex, 'flex-wrap': wrap, 'flex-direction': column-reverse)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
$flexbox:(
|
|
15
|
+
'flex': $flex, 'flex-row': $flex-row, 'flex-center': $flex-center,
|
|
16
|
+
'flex-column': $flex-column, 'inline-flex': $inline-flex, 'flex-wrap-row': $flex-wrap-row,
|
|
17
|
+
'inline-flex-row': $inline-flex-row, 'flex-wrap-column': $flex-wrap-column,
|
|
18
|
+
'inline-flex-column': $inline-flex-column, 'flex-wrap-reversed-row': $flex-wrap-reversed-row,
|
|
19
|
+
'flex-wrap-reversed-column': $flex-wrap-reversed-column,
|
|
20
|
+
)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Combined and structured icons map
|
|
2
|
+
@use '../color/_index' as color
|
|
3
|
+
|
|
4
|
+
$academic: ('school': (icon: "\F62F"), 'diploma': (icon: "\F153"))
|
|
5
|
+
$boolean-controls: ('radio': (icon: '\F1D0'), 'checkbox': (icon: '\F272'))
|
|
6
|
+
$utility-inputs: ('range': (icon: '\F0E7'), 'color': (icon: '\F4B0'), 'hidden': (icon: '\F0E7'))
|
|
7
|
+
$documents: ('pdf': (icon: "\F63F"), 'default': (icon: ""), 'word': (icon: "\F641"), 'excel': (icon: "\F642"))
|
|
8
|
+
$buttons: ('file': (icon: '\F0E7'), 'submit': (icon: '\F0E7'), 'reset': (icon: '\F0E7'), 'button': (icon: '\F0E7'))
|
|
9
|
+
$datetime-pickers: ('date': (icon: '\F073'), 'time': (icon: '\F017'), 'week': (icon: '\F4C0'), 'month': (icon: '\F4C1'), 'datetime-local': (icon: '\F017'))
|
|
10
|
+
$input-controls: ('tel': (icon: '\F5BB'), 'url': (icon: '\F882'), 'text': (icon: '\F435'), 'search': (icon: '\F52A'), 'number': (icon: ' \F67F'), 'password': (icon: '\F44E'))
|
|
11
|
+
$misc-icons: ('dir': (icon: "\F3D7"), 'globe': (icon: "\F882"), 'map-pin': (icon: "\F64B"), 'calendar': (icon: "\F1E7"), 'internship': (icon: "\F0E7"), 'collaborator': (icon: "\F4D0"))
|
|
12
|
+
$misc: ('pdf': (icon: "\F63D"), 'dot': (icon: "\F309"), 'email': (icon: "\F84B"), 'default': (icon: "\F82E"), 'calendar': (icon: "\F1F6"), 'telephone': (icon: "\F5C1"), 'external-link': (icon: "\F35D"))
|
|
13
|
+
$communication: ('mail': (icon: "\F32F"), 'github': (icon: "\F3ED"), 'ytube': (icon: "\F62B"), 'facebook': (icon: "\F344"), 'linkedin': (icon: "\F472"), 'instagram': (icon: "\F437"), 'twitter': (icon: "\F519"))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
$icons: (
|
|
17
|
+
'misc': $misc, 'buttons': $buttons, 'utility-inputs': $utility-inputs,
|
|
18
|
+
'input-controls': $input-controls, 'boolean-controls': $boolean-controls,
|
|
19
|
+
'datetime-pickers': $datetime-pickers, 'document': $documents,
|
|
20
|
+
'communication': $communication, 'academic': $academic,
|
|
21
|
+
'misc-icons': $misc-icons)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@use 'sass:map' as map
|
|
2
|
+
@use './mixins' as mix
|
|
3
|
+
|
|
4
|
+
@use '../map/icons' as icon-map
|
|
5
|
+
@use '../map/flexbox' as flexbox-mapping
|
|
6
|
+
|
|
7
|
+
@mixin icon-generator($color: null, $font-family: 'bootstrap-icons')
|
|
8
|
+
@if icon-map.$icons
|
|
9
|
+
@each $category, $maps in icon-map.$icons
|
|
10
|
+
@each $icon, $props in $maps
|
|
11
|
+
.#{$icon}
|
|
12
|
+
font-family: $font-family
|
|
13
|
+
&:before
|
|
14
|
+
content: map.get($props, icon)
|
|
15
|
+
@if $color
|
|
16
|
+
color: $color
|
|
17
|
+
@else
|
|
18
|
+
@error 'Icon mapping not found.'
|
|
19
|
+
|
|
20
|
+
@mixin flexbox-generator($name)
|
|
21
|
+
$props: map.get(flexbox-mapping.$flexbox, $name)
|
|
22
|
+
|
|
23
|
+
@if $props
|
|
24
|
+
@each $property, $value in $props
|
|
25
|
+
#{$property}: $value
|
|
26
|
+
@else
|
|
27
|
+
@error '"#{$name}" not found in flexbox mapping.'
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@use '../map/devices-breakpoints' as bp
|
|
2
|
+
@use 'sass:map'
|
|
3
|
+
|
|
4
|
+
@mixin media($breakpoint)
|
|
5
|
+
$value: if(map.has-key(bp.$breakpoints, $breakpoint), map.get(bp.$breakpoints, $breakpoint), $breakpoint)
|
|
6
|
+
|
|
7
|
+
@media (max-width: $value)
|
|
8
|
+
@content
|
|
9
|
+
|
|
10
|
+
@mixin figure-and-image($object-fit: cover, $size: null, $style: null)
|
|
11
|
+
figure
|
|
12
|
+
picture, img
|
|
13
|
+
inline-size: 100%
|
|
14
|
+
object-fit: $object-fit
|
|
15
|
+
|
|
16
|
+
picture
|
|
17
|
+
img
|
|
18
|
+
inline-size: 100%
|
|
19
|
+
object-fit: $object-fit
|
|
20
|
+
figcaption
|
|
21
|
+
@if $size != null & $style != null
|
|
22
|
+
@include mix.font($size, $style)
|
|
23
|
+
|
|
24
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@use 'sass:list'
|
|
2
|
+
|
|
3
|
+
@mixin text-wrap-safe()
|
|
4
|
+
p, h1, h2, h3, h4, h5, h6, figcaption, a, li
|
|
5
|
+
hyphens: auto
|
|
6
|
+
min-inline-size: 0
|
|
7
|
+
word-wrap: anywhere
|
|
8
|
+
white-space: pre-wrap
|
|
9
|
+
overflow-wrap: anywhere
|
|
10
|
+
|
|
11
|
+
@mixin font-style($font, $family: null)
|
|
12
|
+
$sans-serif: ('Roboto', 'Work Sans', 'Nunito')
|
|
13
|
+
|
|
14
|
+
@if list.index($sans-serif, $font)
|
|
15
|
+
$family: sans-serif
|
|
16
|
+
|
|
17
|
+
font-family: $font, $family
|
|
18
|
+
|
|
19
|
+
@mixin font($size: null, $weight: null, $font: null, $family: null, $style: null)
|
|
20
|
+
@if $font != null
|
|
21
|
+
@include font-style($font, $family)
|
|
22
|
+
@else if $family != null
|
|
23
|
+
font-family: $family
|
|
24
|
+
|
|
25
|
+
@if $size != null
|
|
26
|
+
font-size: $size
|
|
27
|
+
|
|
28
|
+
@if $weight != null
|
|
29
|
+
font-weight: $weight
|
|
30
|
+
|
|
31
|
+
@if $style != null
|
|
32
|
+
font-style: $style
|
|
33
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
@use '../mix/generators' as mix
|
|
2
|
+
|
|
3
|
+
@forward '../flexbox/flexbox-row'
|
|
4
|
+
@forward '../flexbox/flexbox-column'
|
|
5
|
+
@forward '../flexbox/flexbox-wrap-row'
|
|
6
|
+
@forward '../flexbox/flexbox-reversed-row'
|
|
7
|
+
@forward '../flexbox/row-align-justify-mix/flexbox-wrap-row-align-justify'
|
|
8
|
+
|
|
9
|
+
.flex-inline
|
|
10
|
+
@include mix.flexbox-generator('inline-flex')
|
|
11
|
+
|
|
12
|
+
.flex
|
|
13
|
+
@include mix.flexbox-generator('flex')
|
|
14
|
+
|
|
15
|
+
.flex-row
|
|
16
|
+
@include mix.flexbox-generator('flex-row')
|
|
17
|
+
|
|
18
|
+
.flex-wrap-row
|
|
19
|
+
@include mix.flexbox-generator('flex-wrap-row')
|
|
20
|
+
|
|
21
|
+
.flex-wrap-reversed-row
|
|
22
|
+
@include mix.flexbox-generator('flex-wrap-reversed-row')
|
|
23
|
+
|
|
24
|
+
.flex-column
|
|
25
|
+
@include mix.flexbox-generator('flex-column')
|
|
26
|
+
|
|
27
|
+
.flex-wrap-column
|
|
28
|
+
@include mix.flexbox-generator('flex-wrap-column')
|
|
29
|
+
|
|
30
|
+
.flex-wrap-reversed-column
|
|
31
|
+
@include mix.flexbox-generator('flex-wrap-reversed-column')
|
|
32
|
+
|