@sd-angular/core 19.0.0-beta.89 → 19.0.0-beta.91
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/assets/scss/README.md +524 -0
- package/assets/scss/core/bootstrap.scss +0 -125
- package/assets/scss/core/utilities/_base.scss +333 -0
- package/assets/scss/core/utilities/_border.scss +22 -0
- package/assets/scss/core/utilities/_display.scss +10 -0
- package/assets/scss/core/utilities/_elevation.scss +80 -0
- package/assets/scss/core/utilities/_flexbox.scss +54 -0
- package/assets/scss/core/utilities/_gap.scss +9 -0
- package/assets/scss/core/utilities/_grid.scss +142 -0
- package/assets/scss/core/utilities/_index.scss +17 -0
- package/assets/scss/core/utilities/_misc.scss +20 -0
- package/assets/scss/core/utilities/_overflow.scss +9 -0
- package/assets/scss/core/utilities/_position.scss +8 -0
- package/assets/scss/core/utilities/_sizing.scss +28 -0
- package/assets/scss/core/utilities/_spacing.scss +31 -0
- package/assets/scss/core/utilities/_typography.scss +99 -0
- package/assets/scss/sd-core.scss +4 -6
- package/components/anchor/index.d.ts +1 -2
- package/components/anchor/src/components/anchor-vertical/{anchor-list/anchor-list.component.d.ts → anchor-vertical-list.component.d.ts} +4 -4
- package/components/anchor/src/components/index.d.ts +1 -1
- package/components/anchor/src/index.d.ts +2 -0
- package/components/anchor/src/models/index.d.ts +1 -1
- package/components/anchor/src/models/{anchor.model.d.ts → sd-anchor.model.d.ts} +0 -5
- package/fesm2022/sd-angular-core-components-anchor.mjs +9 -9
- package/fesm2022/sd-angular-core-components-anchor.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-import-excel.mjs +2 -2
- package/fesm2022/sd-angular-core-components-import-excel.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-modal.mjs +2 -2
- package/fesm2022/sd-angular-core-components-modal.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-table.mjs +4 -4
- package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-upload-file.mjs +4 -4
- package/fesm2022/sd-angular-core-components-upload-file.mjs.map +1 -1
- package/fesm2022/sd-angular-core-components-workflow.mjs +9 -9
- package/fesm2022/sd-angular-core-components-workflow.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-autocomplete.mjs +2 -2
- package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-date-range.mjs +2 -2
- package/fesm2022/sd-angular-core-forms-date-range.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-date.mjs +2 -2
- package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-datetime.mjs +428 -70
- package/fesm2022/sd-angular-core-forms-datetime.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-input-number.mjs +13 -5
- package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
- package/fesm2022/sd-angular-core-forms-select.mjs +2 -2
- package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
- package/fesm2022/sd-angular-core-modules-layout.mjs +2 -2
- package/fesm2022/sd-angular-core-modules-layout.mjs.map +1 -1
- package/fesm2022/sd-angular-core-pipes.mjs +3 -4
- package/fesm2022/sd-angular-core-pipes.mjs.map +1 -1
- package/fesm2022/sd-angular-core-services-api.mjs +2 -1
- package/fesm2022/sd-angular-core-services-api.mjs.map +1 -1
- package/forms/datetime/src/datetime.component.d.ts +16 -6
- package/forms/datetime/src/popup/sd-datetime-picker.component.d.ts +38 -0
- package/forms/datetime/src/popup/sd-time-spinner.component.d.ts +41 -0
- package/forms/input-number/src/input-number.component.d.ts +2 -1
- package/package.json +52 -52
- package/pipes/src/format-number.pipe.d.ts +1 -1
- package/sd-angular-core-19.0.0-beta.91.tgz +0 -0
- package/services/api/src/api.model.d.ts +1 -0
- package/assets/img/1D UX System.zip +0 -0
- package/assets/img/Popup/Vector.png +0 -0
- package/assets/img/empty.png +0 -0
- package/assets/img/empty.svg +0 -27
- package/assets/img/file-types/eps/001-file.eps +0 -143
- package/assets/img/file-types/eps/002-file-1.eps +0 -136
- package/assets/img/file-types/eps/003-file-2.eps +0 -130
- package/assets/img/file-types/eps/004-file-3.eps +0 -127
- package/assets/img/file-types/eps/005-file-4.eps +0 -120
- package/assets/img/file-types/eps/006-file-5.eps +0 -133
- package/assets/img/file-types/eps/007-file-6.eps +0 -133
- package/assets/img/file-types/eps/008-file-7.eps +0 -144
- package/assets/img/file-types/eps/009-file-8.eps +0 -150
- package/assets/img/file-types/eps/010-file-9.eps +0 -155
- package/assets/img/file-types/eps/011-file-10.eps +0 -124
- package/assets/img/file-types/eps/012-file-11.eps +0 -147
- package/assets/img/file-types/eps/013-file-12.eps +0 -125
- package/assets/img/file-types/eps/014-file-13.eps +0 -129
- package/assets/img/file-types/eps/015-file-14.eps +0 -143
- package/assets/img/file-types/eps/016-file-15.eps +0 -130
- package/assets/img/file-types/eps/017-file-16.eps +0 -197
- package/assets/img/file-types/eps/018-file-17.eps +0 -146
- package/assets/img/file-types/eps/019-file-18.eps +0 -131
- package/assets/img/file-types/eps/020-file-19.eps +0 -137
- package/assets/img/file-types/eps/021-file-20.eps +0 -134
- package/assets/img/file-types/eps/022-file-21.eps +0 -130
- package/assets/img/file-types/eps/023-file-22.eps +0 -161
- package/assets/img/file-types/eps/024-file-23.eps +0 -144
- package/assets/img/file-types/eps/025-file-24.eps +0 -164
- package/assets/img/file-types/eps/026-file-25.eps +0 -135
- package/assets/img/file-types/eps/027-file-26.eps +0 -124
- package/assets/img/file-types/eps/028-file-27.eps +0 -120
- package/assets/img/file-types/eps/029-file-28.eps +0 -141
- package/assets/img/file-types/eps/030-file-29.eps +0 -130
- package/assets/img/file-types/eps/031-file-30.eps +0 -157
- package/assets/img/file-types/eps/032-file-31.eps +0 -139
- package/assets/img/file-types/eps/033-file-32.eps +0 -139
- package/assets/img/file-types/eps/034-file-33.eps +0 -189
- package/assets/img/file-types/eps/035-file-34.eps +0 -162
- package/assets/img/file-types/eps/036-file-35.eps +0 -142
- package/assets/img/file-types/eps/037-file-36.eps +0 -123
- package/assets/img/file-types/eps/038-file-37.eps +0 -127
- package/assets/img/file-types/eps/039-file-38.eps +0 -146
- package/assets/img/file-types/eps/040-file-39.eps +0 -126
- package/assets/img/file-types/eps/041-file-40.eps +0 -117
- package/assets/img/file-types/eps/042-file-41.eps +0 -156
- package/assets/img/file-types/eps/043-file-42.eps +0 -118
- package/assets/img/file-types/eps/044-file-43.eps +0 -172
- package/assets/img/file-types/eps/045-file-44.eps +0 -201
- package/assets/img/file-types/eps/046-file-45.eps +0 -94
- package/assets/img/file-types/eps/047-file-46.eps +0 -176
- package/assets/img/file-types/eps/048-file-47.eps +0 -238
- package/assets/img/file-types/eps/049-file-48.eps +0 -187
- package/assets/img/file-types/eps/050-file-49.eps +0 -137
- package/assets/img/file-types/license/license.pdf +0 -0
- package/assets/img/file-types/png/3ds.png +0 -0
- package/assets/img/file-types/png/ai.png +0 -0
- package/assets/img/file-types/png/asp.png +0 -0
- package/assets/img/file-types/png/avi.png +0 -0
- package/assets/img/file-types/png/bin.png +0 -0
- package/assets/img/file-types/png/com.png +0 -0
- package/assets/img/file-types/png/css.png +0 -0
- package/assets/img/file-types/png/csv.png +0 -0
- package/assets/img/file-types/png/dbf.png +0 -0
- package/assets/img/file-types/png/dll.png +0 -0
- package/assets/img/file-types/png/doc.png +0 -0
- package/assets/img/file-types/png/docx.png +0 -0
- package/assets/img/file-types/png/dwg.png +0 -0
- package/assets/img/file-types/png/eml.png +0 -0
- package/assets/img/file-types/png/eps.png +0 -0
- package/assets/img/file-types/png/exe.png +0 -0
- package/assets/img/file-types/png/file.png +0 -0
- package/assets/img/file-types/png/fla.png +0 -0
- package/assets/img/file-types/png/gif.png +0 -0
- package/assets/img/file-types/png/htm.png +0 -0
- package/assets/img/file-types/png/ico.png +0 -0
- package/assets/img/file-types/png/ini.png +0 -0
- package/assets/img/file-types/png/iso.png +0 -0
- package/assets/img/file-types/png/jar.png +0 -0
- package/assets/img/file-types/png/jpg.png +0 -0
- package/assets/img/file-types/png/js.png +0 -0
- package/assets/img/file-types/png/mkv.png +0 -0
- package/assets/img/file-types/png/mov.png +0 -0
- package/assets/img/file-types/png/mp3.png +0 -0
- package/assets/img/file-types/png/mp4.png +0 -0
- package/assets/img/file-types/png/nfo.png +0 -0
- package/assets/img/file-types/png/obj.png +0 -0
- package/assets/img/file-types/png/otf.png +0 -0
- package/assets/img/file-types/png/pdf.png +0 -0
- package/assets/img/file-types/png/pkg.png +0 -0
- package/assets/img/file-types/png/png.png +0 -0
- package/assets/img/file-types/png/ppt.png +0 -0
- package/assets/img/file-types/png/pptx.png +0 -0
- package/assets/img/file-types/png/psd.png +0 -0
- package/assets/img/file-types/png/rtf.png +0 -0
- package/assets/img/file-types/png/svg.png +0 -0
- package/assets/img/file-types/png/tiff.png +0 -0
- package/assets/img/file-types/png/ttf.png +0 -0
- package/assets/img/file-types/png/txt.png +0 -0
- package/assets/img/file-types/png/vcf.png +0 -0
- package/assets/img/file-types/png/wav.png +0 -0
- package/assets/img/file-types/png/wmv.png +0 -0
- package/assets/img/file-types/png/xls.png +0 -0
- package/assets/img/file-types/png/xlsx.png +0 -0
- package/assets/img/file-types/png/xml.png +0 -0
- package/assets/img/file-types/png/zip.png +0 -0
- package/assets/img/file-types/psd/001-file.psd +0 -0
- package/assets/img/file-types/psd/002-file-1.psd +0 -0
- package/assets/img/file-types/psd/003-file-2.psd +0 -0
- package/assets/img/file-types/psd/004-file-3.psd +0 -0
- package/assets/img/file-types/psd/005-file-4.psd +0 -0
- package/assets/img/file-types/psd/006-file-5.psd +0 -0
- package/assets/img/file-types/psd/007-file-6.psd +0 -0
- package/assets/img/file-types/psd/008-file-7.psd +0 -0
- package/assets/img/file-types/psd/009-file-8.psd +0 -0
- package/assets/img/file-types/psd/010-file-9.psd +0 -0
- package/assets/img/file-types/psd/011-file-10.psd +0 -0
- package/assets/img/file-types/psd/012-file-11.psd +0 -0
- package/assets/img/file-types/psd/013-file-12.psd +0 -0
- package/assets/img/file-types/psd/014-file-13.psd +0 -0
- package/assets/img/file-types/psd/015-file-14.psd +0 -0
- package/assets/img/file-types/psd/016-file-15.psd +0 -0
- package/assets/img/file-types/psd/017-file-16.psd +0 -0
- package/assets/img/file-types/psd/018-file-17.psd +0 -0
- package/assets/img/file-types/psd/019-file-18.psd +0 -0
- package/assets/img/file-types/psd/020-file-19.psd +0 -0
- package/assets/img/file-types/psd/021-file-20.psd +0 -0
- package/assets/img/file-types/psd/022-file-21.psd +0 -0
- package/assets/img/file-types/psd/023-file-22.psd +0 -0
- package/assets/img/file-types/psd/024-file-23.psd +0 -0
- package/assets/img/file-types/psd/025-file-24.psd +0 -0
- package/assets/img/file-types/psd/026-file-25.psd +0 -0
- package/assets/img/file-types/psd/027-file-26.psd +0 -0
- package/assets/img/file-types/psd/028-file-27.psd +0 -0
- package/assets/img/file-types/psd/029-file-28.psd +0 -0
- package/assets/img/file-types/psd/030-file-29.psd +0 -0
- package/assets/img/file-types/psd/031-file-30.psd +0 -0
- package/assets/img/file-types/psd/032-file-31.psd +0 -0
- package/assets/img/file-types/psd/033-file-32.psd +0 -0
- package/assets/img/file-types/psd/034-file-33.psd +0 -0
- package/assets/img/file-types/psd/035-file-34.psd +0 -0
- package/assets/img/file-types/psd/036-file-35.psd +0 -0
- package/assets/img/file-types/psd/037-file-36.psd +0 -0
- package/assets/img/file-types/psd/038-file-37.psd +0 -0
- package/assets/img/file-types/psd/039-file-38.psd +0 -0
- package/assets/img/file-types/psd/040-file-39.psd +0 -0
- package/assets/img/file-types/psd/041-file-40.psd +0 -0
- package/assets/img/file-types/psd/042-file-41.psd +0 -0
- package/assets/img/file-types/psd/043-file-42.psd +0 -0
- package/assets/img/file-types/psd/044-file-43.psd +0 -0
- package/assets/img/file-types/psd/045-file-44.psd +0 -0
- package/assets/img/file-types/psd/046-file-45.psd +0 -0
- package/assets/img/file-types/psd/047-file-46.psd +0 -0
- package/assets/img/file-types/psd/048-file-47.psd +0 -0
- package/assets/img/file-types/psd/049-file-48.psd +0 -0
- package/assets/img/file-types/psd/050-file-49.psd +0 -0
- package/assets/img/file-types/svg/001-file.svg +0 -1
- package/assets/img/file-types/svg/002-file-1.svg +0 -1
- package/assets/img/file-types/svg/003-file-2.svg +0 -1
- package/assets/img/file-types/svg/004-file-3.svg +0 -1
- package/assets/img/file-types/svg/005-file-4.svg +0 -1
- package/assets/img/file-types/svg/006-file-5.svg +0 -1
- package/assets/img/file-types/svg/007-file-6.svg +0 -1
- package/assets/img/file-types/svg/008-file-7.svg +0 -1
- package/assets/img/file-types/svg/009-file-8.svg +0 -1
- package/assets/img/file-types/svg/010-file-9.svg +0 -1
- package/assets/img/file-types/svg/011-file-10.svg +0 -1
- package/assets/img/file-types/svg/012-file-11.svg +0 -1
- package/assets/img/file-types/svg/013-file-12.svg +0 -1
- package/assets/img/file-types/svg/014-file-13.svg +0 -1
- package/assets/img/file-types/svg/015-file-14.svg +0 -1
- package/assets/img/file-types/svg/016-file-15.svg +0 -1
- package/assets/img/file-types/svg/017-file-16.svg +0 -1
- package/assets/img/file-types/svg/018-file-17.svg +0 -1
- package/assets/img/file-types/svg/019-file-18.svg +0 -1
- package/assets/img/file-types/svg/020-file-19.svg +0 -1
- package/assets/img/file-types/svg/021-file-20.svg +0 -1
- package/assets/img/file-types/svg/022-file-21.svg +0 -1
- package/assets/img/file-types/svg/023-file-22.svg +0 -1
- package/assets/img/file-types/svg/024-file-23.svg +0 -1
- package/assets/img/file-types/svg/025-file-24.svg +0 -1
- package/assets/img/file-types/svg/026-file-25.svg +0 -1
- package/assets/img/file-types/svg/027-file-26.svg +0 -1
- package/assets/img/file-types/svg/028-file-27.svg +0 -1
- package/assets/img/file-types/svg/029-file-28.svg +0 -1
- package/assets/img/file-types/svg/030-file-29.svg +0 -1
- package/assets/img/file-types/svg/031-file-30.svg +0 -1
- package/assets/img/file-types/svg/032-file-31.svg +0 -1
- package/assets/img/file-types/svg/033-file-32.svg +0 -1
- package/assets/img/file-types/svg/034-file-33.svg +0 -1
- package/assets/img/file-types/svg/035-file-34.svg +0 -1
- package/assets/img/file-types/svg/036-file-35.svg +0 -1
- package/assets/img/file-types/svg/037-file-36.svg +0 -1
- package/assets/img/file-types/svg/038-file-37.svg +0 -1
- package/assets/img/file-types/svg/039-file-38.svg +0 -1
- package/assets/img/file-types/svg/040-file-39.svg +0 -1
- package/assets/img/file-types/svg/041-file-40.svg +0 -1
- package/assets/img/file-types/svg/042-file-41.svg +0 -1
- package/assets/img/file-types/svg/043-file-42.svg +0 -1
- package/assets/img/file-types/svg/044-file-43.svg +0 -1
- package/assets/img/file-types/svg/045-file-44.svg +0 -1
- package/assets/img/file-types/svg/046-file-45.svg +0 -1
- package/assets/img/file-types/svg/047-file-46.svg +0 -1
- package/assets/img/file-types/svg/048-file-47.svg +0 -1
- package/assets/img/file-types/svg/049-file-48.svg +0 -1
- package/assets/img/file-types/svg/050-file-49.svg +0 -1
- package/assets/img/plus-search-zoom-white.png +0 -0
- package/assets/scss/core/cursor.scss +0 -3
- package/assets/scss/core/elevation.scss +0 -57
- package/assets/scss/core/grid.scss +0 -40
- package/assets/scss/core/print.scss +0 -47
- package/assets/scss/core/typography.scss +0 -121
- package/sd-angular-core-19.0.0-beta.89.tgz +0 -0
- /package/components/anchor/src/components/{main/main.component.d.ts → anchor/anchor.component.d.ts} +0 -0
|
@@ -0,0 +1,524 @@
|
|
|
1
|
+
# SD Angular — SCSS Documentation
|
|
2
|
+
|
|
3
|
+
## Mục lục
|
|
4
|
+
|
|
5
|
+
1. [Cài đặt vào Angular](#1-cài-đặt-vào-angular)
|
|
6
|
+
2. [Hệ thống màu sắc](#2-hệ-thống-màu-sắc)
|
|
7
|
+
3. [Custom theme](#3-custom-theme)
|
|
8
|
+
4. [Utility classes](#4-utility-classes)
|
|
9
|
+
- [Spacing](#spacing--margin--padding)
|
|
10
|
+
- [Sizing](#sizing--width--height)
|
|
11
|
+
- [Border](#border)
|
|
12
|
+
- [Grid & Layout](#grid--layout)
|
|
13
|
+
- [Flexbox](#flexbox)
|
|
14
|
+
- [Display](#display)
|
|
15
|
+
- [Gap](#gap)
|
|
16
|
+
- [Typography](#typography)
|
|
17
|
+
- [Overflow](#overflow)
|
|
18
|
+
- [Position](#position)
|
|
19
|
+
- [Elevation](#elevation)
|
|
20
|
+
- [Misc](#misc)
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 1. Cài đặt vào Angular
|
|
25
|
+
|
|
26
|
+
Thêm vào `angular.json` (trong phần `styles` của build target):
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
"styles": [
|
|
30
|
+
"./node_modules/@sd-angular/core/assets/scss/sd-core.scss",
|
|
31
|
+
"src/styles.scss"
|
|
32
|
+
]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
`sd-core.scss` bao gồm toàn bộ: reset CSS, utilities, màu theme, form overrides, scrollbar, và Angular Material theme.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 2. Hệ thống màu sắc
|
|
40
|
+
|
|
41
|
+
Màu được định nghĩa dưới dạng **CSS custom properties** có tiền tố `--sd-*`, cho phép override runtime (không cần recompile SCSS).
|
|
42
|
+
|
|
43
|
+
### Màu mặc định
|
|
44
|
+
|
|
45
|
+
| Token | CSS Variable | Giá trị mặc định | Dùng cho |
|
|
46
|
+
|---|---|---|---|
|
|
47
|
+
| `primary` | `--sd-primary` | `#2A66F4` | Màu chủ đạo — button, checkbox, accent |
|
|
48
|
+
| `primary-light` | `--sd-primary-light` | `#EAF1FF` | Background nhẹ của primary |
|
|
49
|
+
| `primary-dark` | `--sd-primary-dark` | `#1C4AD9` | Hover/active state của primary |
|
|
50
|
+
| `info` | `--sd-info` | `#2962FF` | Link, thông tin, badge info |
|
|
51
|
+
| `info-light` | `--sd-info-light` | `#E7E9FF` | Background nhẹ của info |
|
|
52
|
+
| `info-dark` | `--sd-info-dark` | `#2240CC` | Hover state của info |
|
|
53
|
+
| `success` | `--sd-success` | `#4CAF50` | Trạng thái thành công, validation OK |
|
|
54
|
+
| `success-light` | `--sd-success-light` | `#DBEFDC` | Background nhẹ của success |
|
|
55
|
+
| `success-dark` | `--sd-success-dark` | `#39833C` | Hover state của success |
|
|
56
|
+
| `warning` | `--sd-warning` | `#FF9600` | Cảnh báo, trạng thái cần chú ý |
|
|
57
|
+
| `warning-light` | `--sd-warning-light` | `#FFEACC` | Background nhẹ của warning |
|
|
58
|
+
| `warning-dark` | `--sd-warning-dark` | `#BF7000` | Hover state của warning |
|
|
59
|
+
| `error` | `--sd-error` | `#F82C13` | Lỗi, validation fail, trạng thái nguy hiểm |
|
|
60
|
+
| `error-light` | `--sd-error-light` | `#FED5D0` | Background nhẹ của error |
|
|
61
|
+
| `error-dark` | `--sd-error-dark` | `#BA200E` | Hover state của error |
|
|
62
|
+
| `secondary` | `--sd-secondary` | `#212121` | Text phụ, icon secondary |
|
|
63
|
+
| `secondary-light` | `--sd-secondary-light` | `#E9E9E9` | Background nhẹ |
|
|
64
|
+
| `secondary-dark` | `--sd-secondary-dark` | `#000000` | — |
|
|
65
|
+
| `light` | `--sd-light` | `#F8F9FA` | Background trang, surface nhẹ |
|
|
66
|
+
| `dark` | `--sd-dark` | `#343A40` | Text đậm, dark surface |
|
|
67
|
+
| `black500` | `--sd-black500` | `#212121` | Text chính |
|
|
68
|
+
| `black400` | `--sd-black400` | `#757575` | Text phụ, placeholder |
|
|
69
|
+
| `black300` | `--sd-black300` | `#BFBFBF` | Divider, border nhẹ |
|
|
70
|
+
| `black200` | `--sd-black200` | `#E6E6E6` | Border mặc định, separator |
|
|
71
|
+
| `black100` | `--sd-black100` | `#F2F2F2` | Background disabled, row hover |
|
|
72
|
+
|
|
73
|
+
### Dùng màu trong SCSS component
|
|
74
|
+
|
|
75
|
+
```scss
|
|
76
|
+
@use '@sd-angular/core/assets/scss/core/color.scss' as color;
|
|
77
|
+
@use 'sass:map';
|
|
78
|
+
|
|
79
|
+
.my-element {
|
|
80
|
+
color: map.get(color.$color_map, 'primary');
|
|
81
|
+
background: map.get(color.$color_map, 'primary-light');
|
|
82
|
+
border-color: map.get(color.$color_map, 'black200');
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Dùng màu qua utility class trong template
|
|
87
|
+
|
|
88
|
+
```html
|
|
89
|
+
<!-- Text color -->
|
|
90
|
+
<span class="text-primary">Primary</span>
|
|
91
|
+
<span class="text-error">Lỗi</span>
|
|
92
|
+
<span class="text-secondary">Phụ</span>
|
|
93
|
+
<span class="text-success">Thành công</span>
|
|
94
|
+
<span class="text-warning">Cảnh báo</span>
|
|
95
|
+
|
|
96
|
+
<!-- Background color -->
|
|
97
|
+
<div class="bg-primary-light">...</div>
|
|
98
|
+
<div class="bg-error-light">...</div>
|
|
99
|
+
<div class="bg-white">...</div>
|
|
100
|
+
|
|
101
|
+
<!-- Border color -->
|
|
102
|
+
<div class="border-primary">...</div>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Tất cả token đều có class: `.text-{token}`, `.bg-{token}`, `.border-{token}`.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 3. Custom theme
|
|
110
|
+
|
|
111
|
+
Trong `styles.scss` của ứng dụng, import theme mixin và Angular Material, sau đó gọi `sd.theme()` với các màu muốn override.
|
|
112
|
+
|
|
113
|
+
Chỉ cần khai báo các màu muốn **thay đổi** — màu không khai báo sẽ dùng giá trị mặc định.
|
|
114
|
+
|
|
115
|
+
```scss
|
|
116
|
+
@use '@sd-angular/core/assets/scss/themes/default' as sd;
|
|
117
|
+
@use '@angular/material' as mat;
|
|
118
|
+
@include mat.core();
|
|
119
|
+
|
|
120
|
+
html {
|
|
121
|
+
@include sd.theme(
|
|
122
|
+
(
|
|
123
|
+
primary: #AE7129,
|
|
124
|
+
primary-light: #F4F2F1,
|
|
125
|
+
primary-dark: #6B4414,
|
|
126
|
+
)
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// --- Angular Material M2 Palette ---
|
|
131
|
+
|
|
132
|
+
$custom-primary-palette: mat.m2-define-palette((
|
|
133
|
+
50: #F4F2F1,
|
|
134
|
+
100: #E7E1DA,
|
|
135
|
+
200: #DAC8B4,
|
|
136
|
+
300: #D1AC80,
|
|
137
|
+
400: #CD9450,
|
|
138
|
+
500: #AE7129,
|
|
139
|
+
600: #8D5A1E,
|
|
140
|
+
700: #6B4414,
|
|
141
|
+
800: #4B2F0E,
|
|
142
|
+
900: #34210A,
|
|
143
|
+
contrast: (
|
|
144
|
+
600: white,
|
|
145
|
+
700: white,
|
|
146
|
+
800: white,
|
|
147
|
+
900: white,
|
|
148
|
+
)
|
|
149
|
+
));
|
|
150
|
+
|
|
151
|
+
$custom-accent-palette: mat.m2-define-palette((
|
|
152
|
+
50: #F1F3F1,
|
|
153
|
+
100: #DCE5DD,
|
|
154
|
+
200: #BBD3BC,
|
|
155
|
+
300: #8FC291,
|
|
156
|
+
400: #67B76A,
|
|
157
|
+
500: #4CAF50,
|
|
158
|
+
600: #3A8C3D,
|
|
159
|
+
700: #29692C,
|
|
160
|
+
800: #1C471E,
|
|
161
|
+
900: #132F14,
|
|
162
|
+
contrast: (
|
|
163
|
+
700: white,
|
|
164
|
+
800: white,
|
|
165
|
+
900: white,
|
|
166
|
+
)
|
|
167
|
+
));
|
|
168
|
+
|
|
169
|
+
$custom-warn-palette: mat.m2-define-palette((
|
|
170
|
+
50: #F5F0F0,
|
|
171
|
+
100: #EAD9D6,
|
|
172
|
+
200: #E4B0AA,
|
|
173
|
+
300: #E6786B,
|
|
174
|
+
400: #EE4430,
|
|
175
|
+
500: #F82C13,
|
|
176
|
+
600: #D11801,
|
|
177
|
+
700: #9A1100,
|
|
178
|
+
800: #680B00,
|
|
179
|
+
900: #440700,
|
|
180
|
+
contrast: (
|
|
181
|
+
600: white,
|
|
182
|
+
700: white,
|
|
183
|
+
800: white,
|
|
184
|
+
900: white,
|
|
185
|
+
)
|
|
186
|
+
));
|
|
187
|
+
|
|
188
|
+
$custom-theme: mat.m2-define-light-theme((
|
|
189
|
+
color: (
|
|
190
|
+
primary: $custom-primary-palette,
|
|
191
|
+
accent: $custom-accent-palette,
|
|
192
|
+
warn: $custom-warn-palette,
|
|
193
|
+
),
|
|
194
|
+
density: -3,
|
|
195
|
+
));
|
|
196
|
+
|
|
197
|
+
@include mat.all-component-themes($custom-theme);
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
> **Lưu ý:** `sd.theme()` và `mat.all-component-themes()` đều cần được gọi trong `styles.scss`, không phải trong component SCSS.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 4. Utility classes
|
|
205
|
+
|
|
206
|
+
Tất cả utility classes đều có `!important` để đảm bảo override được khi kết hợp với Angular Material.
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
### Spacing — Margin & Padding
|
|
211
|
+
|
|
212
|
+
Hệ thống spacing theo đơn vị **px**, range từ 0 đến 200.
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
m-{n} mt-{n} mr-{n} mb-{n} ml-{n} mx-{n} my-{n}
|
|
216
|
+
p-{n} pt-{n} pr-{n} pb-{n} pl-{n} px-{n} py-{n}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Ví dụ: `m-0`, `mt-8`, `px-16`, `py-24`, `mb-4`
|
|
220
|
+
|
|
221
|
+
**Auto margin:**
|
|
222
|
+
```
|
|
223
|
+
m-auto mt-auto mr-auto mb-auto ml-auto mx-auto my-auto
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
### Sizing — Width & Height
|
|
229
|
+
|
|
230
|
+
**Theo px** (0–200): `w-{n}`, `h-{n}`
|
|
231
|
+
|
|
232
|
+
**Theo %/keyword:**
|
|
233
|
+
|
|
234
|
+
| Class | CSS |
|
|
235
|
+
|---|---|
|
|
236
|
+
| `w-full` | `width: 100%` |
|
|
237
|
+
| `w-100` | `width: 100%` (alias) |
|
|
238
|
+
| `w-auto` | `width: auto` |
|
|
239
|
+
| `w-screen` | `width: 100vw` |
|
|
240
|
+
| `w-fit` | `width: fit-content` |
|
|
241
|
+
| `h-full` | `height: 100%` |
|
|
242
|
+
| `h-100` | `height: 100%` (alias) |
|
|
243
|
+
| `h-auto` | `height: auto` |
|
|
244
|
+
| `h-screen` | `height: 100vh` |
|
|
245
|
+
| `h-fit` | `height: fit-content` |
|
|
246
|
+
| `min-h-full` | `min-height: 100%` |
|
|
247
|
+
| `min-h-screen` | `min-height: 100vh` |
|
|
248
|
+
| `min-w-full` | `min-width: 100%` |
|
|
249
|
+
| `max-h-full` | `max-height: 100%` |
|
|
250
|
+
| `max-w-full` | `max-width: 100%` |
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
### Border
|
|
255
|
+
|
|
256
|
+
**Border-radius** (0–200px): `rounded-{n}`, `rounded-full` (9999px)
|
|
257
|
+
|
|
258
|
+
**Border utilities:**
|
|
259
|
+
|
|
260
|
+
| Class | CSS |
|
|
261
|
+
|---|---|
|
|
262
|
+
| `border` | `border: 1px solid var(--sd-black200)` |
|
|
263
|
+
| `border-0` | `border: 0` |
|
|
264
|
+
| `border-top` | `border-top: 1px solid var(--sd-black200)` |
|
|
265
|
+
| `border-bottom` | `border-bottom: 1px solid var(--sd-black200)` |
|
|
266
|
+
| `border-left` | `border-left: 1px solid var(--sd-black200)` |
|
|
267
|
+
| `border-right` | `border-right: 1px solid var(--sd-black200)` |
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
### Grid & Layout
|
|
272
|
+
|
|
273
|
+
#### Flexbox row/col
|
|
274
|
+
|
|
275
|
+
```html
|
|
276
|
+
<div class="row">
|
|
277
|
+
<div class="col-6">50%</div>
|
|
278
|
+
<div class="col-6">50%</div>
|
|
279
|
+
</div>
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
`.row` là flex container có gutter `16px`. Các class `.col-{1-12}` chia theo 12 cột.
|
|
283
|
+
|
|
284
|
+
**Gutter variants:**
|
|
285
|
+
|
|
286
|
+
| Class | Gutter |
|
|
287
|
+
|---|---|
|
|
288
|
+
| `row` | 16px (mặc định) |
|
|
289
|
+
| `row-md` | 8px |
|
|
290
|
+
| `row-sm` | 4px |
|
|
291
|
+
| `row-xs` | 2px |
|
|
292
|
+
|
|
293
|
+
**Responsive columns** (mobile-first — áp dụng từ breakpoint trở lên):
|
|
294
|
+
|
|
295
|
+
| Class | Min-width |
|
|
296
|
+
|---|---|
|
|
297
|
+
| `col-sm-{1-12}` | ≥ 576px |
|
|
298
|
+
| `col-md-{1-12}` | ≥ 768px |
|
|
299
|
+
| `col-lg-{1-12}` | ≥ 992px |
|
|
300
|
+
| `col-xl-{1-12}` | ≥ 1200px |
|
|
301
|
+
|
|
302
|
+
Ví dụ:
|
|
303
|
+
```html
|
|
304
|
+
<div class="row">
|
|
305
|
+
<!-- Full width trên mobile, 50% từ md trở lên, 33% từ lg trở lên -->
|
|
306
|
+
<div class="col-md-6 col-lg-4">...</div>
|
|
307
|
+
</div>
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
#### CSS Grid container
|
|
311
|
+
|
|
312
|
+
```html
|
|
313
|
+
<div class="grid-container grid-cols-3">
|
|
314
|
+
<div class="col-span-2">Chiếm 2 cột</div>
|
|
315
|
+
<div class="col-span-1">Chiếm 1 cột</div>
|
|
316
|
+
<div class="col-span-full">Full width</div>
|
|
317
|
+
</div>
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
| Class | Mô tả |
|
|
321
|
+
|---|---|
|
|
322
|
+
| `grid-container` | `display: grid`, gutter cột 8px |
|
|
323
|
+
| `grid-cols-{1-12}` | Số cột của grid |
|
|
324
|
+
| `col-span-{1-12}` | Chiếm n cột |
|
|
325
|
+
| `col-span-full` | Chiếm toàn bộ chiều ngang |
|
|
326
|
+
| `row-span-{1-12}` | Chiếm n hàng |
|
|
327
|
+
| `row-span-full` | Chiếm toàn bộ chiều dọc |
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
### Flexbox
|
|
332
|
+
|
|
333
|
+
**Flex shorthand:**
|
|
334
|
+
|
|
335
|
+
| Class | CSS |
|
|
336
|
+
|---|---|
|
|
337
|
+
| `flex-1` | `flex: 1` |
|
|
338
|
+
| `flex-none` | `flex: none` |
|
|
339
|
+
| `flex-auto` | `flex: auto` |
|
|
340
|
+
|
|
341
|
+
**Direction:**
|
|
342
|
+
```
|
|
343
|
+
flex-row flex-column flex-row-reverse flex-column-reverse
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
**Wrap:**
|
|
347
|
+
```
|
|
348
|
+
flex-wrap flex-nowrap
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
**Grow & shrink:**
|
|
352
|
+
```
|
|
353
|
+
flex-grow-0 flex-grow-1 flex-shrink-0 flex-shrink-1
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
**Align items:**
|
|
357
|
+
```
|
|
358
|
+
align-items-start align-items-end align-items-center
|
|
359
|
+
align-items-baseline align-items-stretch
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
**Align self:**
|
|
363
|
+
```
|
|
364
|
+
align-self-start align-self-end align-self-center
|
|
365
|
+
align-self-stretch align-self-auto
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**Align content:**
|
|
369
|
+
```
|
|
370
|
+
align-content-start align-content-end align-content-center
|
|
371
|
+
align-content-between align-content-around align-content-stretch
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
**Justify content:**
|
|
375
|
+
```
|
|
376
|
+
justify-content-start justify-content-end justify-content-center
|
|
377
|
+
justify-content-between justify-content-around justify-content-evenly
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
### Display
|
|
383
|
+
|
|
384
|
+
| Class | CSS |
|
|
385
|
+
|---|---|
|
|
386
|
+
| `d-none` | `display: none` |
|
|
387
|
+
| `d-block` | `display: block` |
|
|
388
|
+
| `d-inline` | `display: inline` |
|
|
389
|
+
| `d-inline-block` | `display: inline-block` |
|
|
390
|
+
| `d-flex` | `display: flex` |
|
|
391
|
+
| `d-inline-flex` | `display: inline-flex` |
|
|
392
|
+
| `d-grid` | `display: grid` |
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
### Gap
|
|
397
|
+
|
|
398
|
+
Hệ thống gap theo đơn vị **px**, range từ 0 đến 200.
|
|
399
|
+
|
|
400
|
+
| Class | CSS |
|
|
401
|
+
|---|---|
|
|
402
|
+
| `gap-{n}` | `gap: npx` |
|
|
403
|
+
| `gap-x-{n}` | `column-gap: npx` |
|
|
404
|
+
| `gap-y-{n}` | `row-gap: npx` |
|
|
405
|
+
|
|
406
|
+
Ví dụ: `gap-8`, `gap-x-16`, `gap-y-4`
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
### Typography
|
|
411
|
+
|
|
412
|
+
#### Design token classes
|
|
413
|
+
|
|
414
|
+
Hệ thống typography theo quy ước `T{size}{weight}` — `M` = Medium (500), `R` = Regular (400).
|
|
415
|
+
|
|
416
|
+
| Class | Font size | Weight | Line height |
|
|
417
|
+
|---|---|---|---|
|
|
418
|
+
| `T48M` / `T48R` | 48px | 500 / 400 | 56px |
|
|
419
|
+
| `T32M` / `T32R` | 32px | 500 / 400 | 48px |
|
|
420
|
+
| `T24M` / `T24R` | 24px / 20px | 500 / 400 | 28px |
|
|
421
|
+
| `T20M` / `T20R` | 20px | 500 / 400 | 28px |
|
|
422
|
+
| `T18M` / `T18R` | 18px | 500 / 400 | 28px |
|
|
423
|
+
| `T16M` / `T16R` | 16px | 500 / 400 | 24px |
|
|
424
|
+
| `T14M` / `T14R` | 14px | 500 / 400 | 20px |
|
|
425
|
+
| `T12M` / `T12R` | 12px | 500 / 400 | 16px |
|
|
426
|
+
| `T10M` / `T10R` | 10px | 500 / 400 | 12px |
|
|
427
|
+
|
|
428
|
+
#### Font-size utilities (px-based, 0–200)
|
|
429
|
+
|
|
430
|
+
```
|
|
431
|
+
fs-0 fs-12 fs-14 fs-16 ... fs-200
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
#### Font-weight utilities
|
|
435
|
+
|
|
436
|
+
```
|
|
437
|
+
font-weight-light (300)
|
|
438
|
+
font-weight-normal (400)
|
|
439
|
+
font-weight-medium (500)
|
|
440
|
+
font-weight-bold (600)
|
|
441
|
+
font-weight-bolder (700)
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
#### Text alignment
|
|
445
|
+
|
|
446
|
+
```
|
|
447
|
+
text-left text-center text-right text-justify
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
#### Text wrapping & overflow
|
|
451
|
+
|
|
452
|
+
| Class | CSS |
|
|
453
|
+
|---|---|
|
|
454
|
+
| `text-wrap` | `white-space: normal` |
|
|
455
|
+
| `text-nowrap` | `white-space: nowrap` |
|
|
456
|
+
| `text-ellipsis` | `overflow: hidden; text-overflow: ellipsis; white-space: nowrap` |
|
|
457
|
+
| `text-break` | `overflow-wrap: break-word; word-break: break-word` |
|
|
458
|
+
|
|
459
|
+
#### Text transform
|
|
460
|
+
|
|
461
|
+
```
|
|
462
|
+
text-uppercase text-lowercase text-capitalize
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
### Overflow
|
|
468
|
+
|
|
469
|
+
| Class | CSS |
|
|
470
|
+
|---|---|
|
|
471
|
+
| `overflow-auto` | `overflow: auto` |
|
|
472
|
+
| `overflow-hidden` | `overflow: hidden` |
|
|
473
|
+
| `overflow-visible` | `overflow: visible` |
|
|
474
|
+
| `overflow-scroll` | `overflow: scroll` |
|
|
475
|
+
| `overflow-x-auto` | `overflow-x: auto` |
|
|
476
|
+
| `overflow-y-auto` | `overflow-y: auto` |
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
### Position
|
|
481
|
+
|
|
482
|
+
```
|
|
483
|
+
position-relative position-absolute position-fixed
|
|
484
|
+
position-sticky position-static
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
---
|
|
488
|
+
|
|
489
|
+
### Elevation
|
|
490
|
+
|
|
491
|
+
CSS shadow tĩnh tương đương Angular Material `mat-elevation-z{n}`.
|
|
492
|
+
|
|
493
|
+
| Class | Dùng cho |
|
|
494
|
+
|---|---|
|
|
495
|
+
| `mat-elevation-z0` | Reset shadow |
|
|
496
|
+
| `mat-elevation-z1` | Card, chip |
|
|
497
|
+
| `mat-elevation-z2` | Button raised |
|
|
498
|
+
| `mat-elevation-z3` | Card hover |
|
|
499
|
+
| `mat-elevation-z4` | App bar |
|
|
500
|
+
| `mat-elevation-z5` | — |
|
|
501
|
+
| `mat-elevation-z6` | Floating action button |
|
|
502
|
+
| `mat-elevation-z7` | — |
|
|
503
|
+
| `mat-elevation-z8` | Dialog, drawer |
|
|
504
|
+
|
|
505
|
+
---
|
|
506
|
+
|
|
507
|
+
### Misc
|
|
508
|
+
|
|
509
|
+
**Vertical align:**
|
|
510
|
+
```
|
|
511
|
+
align-middle align-top align-bottom align-baseline
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
**Cursor:**
|
|
515
|
+
```
|
|
516
|
+
cursor-pointer cursor-default cursor-not-allowed
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
**Visibility:**
|
|
520
|
+
|
|
521
|
+
| Class | CSS |
|
|
522
|
+
|---|---|
|
|
523
|
+
| `visible` | `visibility: visible` |
|
|
524
|
+
| `invisible` | `visibility: hidden` |
|
|
@@ -11,128 +11,3 @@
|
|
|
11
11
|
@import '../bootstrap-4.6.2/reboot';
|
|
12
12
|
@import '../bootstrap-4.6.2/utilities';
|
|
13
13
|
@import '../bootstrap-4.6.2/grid';
|
|
14
|
-
|
|
15
|
-
// Custom spacing utilities for any number (0-999)
|
|
16
|
-
@for $i from 0 through 200 {
|
|
17
|
-
// Margin
|
|
18
|
-
.m-#{$i} {
|
|
19
|
-
margin: #{$i}px !important;
|
|
20
|
-
}
|
|
21
|
-
.mt-#{$i} {
|
|
22
|
-
margin-top: #{$i}px !important;
|
|
23
|
-
}
|
|
24
|
-
.mr-#{$i} {
|
|
25
|
-
margin-right: #{$i}px !important;
|
|
26
|
-
}
|
|
27
|
-
.mb-#{$i} {
|
|
28
|
-
margin-bottom: #{$i}px !important;
|
|
29
|
-
}
|
|
30
|
-
.ml-#{$i} {
|
|
31
|
-
margin-left: #{$i}px !important;
|
|
32
|
-
}
|
|
33
|
-
.mx-#{$i} {
|
|
34
|
-
margin-left: #{$i}px !important;
|
|
35
|
-
margin-right: #{$i}px !important;
|
|
36
|
-
}
|
|
37
|
-
.my-#{$i} {
|
|
38
|
-
margin-top: #{$i}px !important;
|
|
39
|
-
margin-bottom: #{$i}px !important;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// Padding
|
|
43
|
-
.p-#{$i} {
|
|
44
|
-
padding: #{$i}px !important;
|
|
45
|
-
}
|
|
46
|
-
.pt-#{$i} {
|
|
47
|
-
padding-top: #{$i}px !important;
|
|
48
|
-
}
|
|
49
|
-
.pr-#{$i} {
|
|
50
|
-
padding-right: #{$i}px !important;
|
|
51
|
-
}
|
|
52
|
-
.pb-#{$i} {
|
|
53
|
-
padding-bottom: #{$i}px !important;
|
|
54
|
-
}
|
|
55
|
-
.pl-#{$i} {
|
|
56
|
-
padding-left: #{$i}px !important;
|
|
57
|
-
}
|
|
58
|
-
.px-#{$i} {
|
|
59
|
-
padding-left: #{$i}px !important;
|
|
60
|
-
padding-right: #{$i}px !important;
|
|
61
|
-
}
|
|
62
|
-
.py-#{$i} {
|
|
63
|
-
padding-top: #{$i}px !important;
|
|
64
|
-
padding-bottom: #{$i}px !important;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// Border radius
|
|
68
|
-
.rounded-#{$i} {
|
|
69
|
-
border-radius: #{$i}px !important;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// Width height
|
|
73
|
-
.w-#{$i} {
|
|
74
|
-
width: #{$i}px !important;
|
|
75
|
-
}
|
|
76
|
-
.h-#{$i} {
|
|
77
|
-
height: #{$i}px !important;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// Font size
|
|
81
|
-
.fs-#{$i} {
|
|
82
|
-
font-size: #{$i}px !important;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// Gap
|
|
86
|
-
.gap-#{$i} {
|
|
87
|
-
gap: #{$i}px !important;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.gap-y-#{$i} {
|
|
91
|
-
row-gap: #{$i}px !important;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.gap-x-#{$i} {
|
|
95
|
-
column-gap: #{$i}px !important;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.flex-1 {
|
|
100
|
-
flex: 1;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
.w-full {
|
|
104
|
-
width: 100% !important;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.h-full {
|
|
108
|
-
height: 100% !important;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.font-weight-medium {
|
|
112
|
-
font-weight: 500 !important;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// Custom grid
|
|
116
|
-
.row-md {
|
|
117
|
-
@include make-row(16px);
|
|
118
|
-
|
|
119
|
-
> * {
|
|
120
|
-
@include make-col-ready(16px);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.row-sm {
|
|
125
|
-
@include make-row(8px);
|
|
126
|
-
|
|
127
|
-
> * {
|
|
128
|
-
@include make-col-ready(8px);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
.row-xs {
|
|
133
|
-
@include make-row(4px);
|
|
134
|
-
|
|
135
|
-
> * {
|
|
136
|
-
@include make-col-ready(4px);
|
|
137
|
-
}
|
|
138
|
-
}
|