@xoopah-designsystem/design-system-scss 1.0.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/README.md +133 -0
- package/components/README.md +62 -0
- package/package.json +1 -0
- package/scss/design-system-core.scss +7 -0
- package/scss/design-system.scss +13 -0
- package/scss/mapped/_index.scss +2879 -0
- package/scss/mixins/_index.scss +275 -0
- package/scss/typography/_index.scss +115 -0
- package/scss/variables/_colors.scss +125 -0
- package/scss/variables/_index.scss +3 -0
- package/scss/variables/_spacings.scss +42 -0
- package/scss/variables/_typography.scss +168 -0
package/README.md
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# @xoopah-designsystem/design-system-scss
|
|
2
|
+
|
|
3
|
+
Company-wide design system SCSS package. Figma-aligned tokens (colors, spacing, typography), mixins, typography utilities, and **component styles** (buttons, cards, form fields, etc.). Override variables to theme.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @xoopah-designsystem/design-system-scss
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Full design system (tokens + typography + component/utility classes)
|
|
14
|
+
|
|
15
|
+
Import once in your app (e.g. `styles.scss` or `angular.json` styles):
|
|
16
|
+
|
|
17
|
+
```scss
|
|
18
|
+
@import '@xoopah-designsystem/design-system-scss/scss/design-system';
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Core only (tokens + mixins + typography, no component classes)
|
|
22
|
+
|
|
23
|
+
```scss
|
|
24
|
+
@import '@xoopah-designsystem/design-system-scss/scss/design-system-core';
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Theming (override before import)
|
|
28
|
+
|
|
29
|
+
Override variables **before** importing. All token variables use `!default`.
|
|
30
|
+
|
|
31
|
+
```scss
|
|
32
|
+
// your-app/theme-overrides.scss
|
|
33
|
+
$color-brand-500: #your-brand;
|
|
34
|
+
$type-font-family-primary: 'Your Font', sans-serif;
|
|
35
|
+
|
|
36
|
+
@import '@xoopah-designsystem/design-system-scss/scss/design-system';
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Package contents
|
|
40
|
+
|
|
41
|
+
| Path | Description |
|
|
42
|
+
|------|-------------|
|
|
43
|
+
| `scss/design-system.scss` | Full entry: variables, mixins, typography, **mapped** (component + utility classes) |
|
|
44
|
+
| `scss/design-system-core.scss` | Variables, mixins, typography only |
|
|
45
|
+
| `scss/variables/` | Colors, typography, spacing tokens |
|
|
46
|
+
| `scss/mixins/` | Responsive, scrollbar, px-to-rem, etc. |
|
|
47
|
+
| `scss/typography/` | Heading/body/utility classes |
|
|
48
|
+
| `scss/mapped/` | **Component styles**: buttons, cards, form fields, Material overrides, icons, chips, alerts, etc. |
|
|
49
|
+
| `components/` | Component reference (class names and usage) |
|
|
50
|
+
|
|
51
|
+
## Components and their SCSS
|
|
52
|
+
|
|
53
|
+
All component styles live in **`scss/mapped/_index.scss`** (included when you import `design-system.scss`). Main CSS classes:
|
|
54
|
+
|
|
55
|
+
- **Buttons**: `.button`, `.button-primary-default-fill`, `.button-secondary-*`, `.button-error-*`, `.button-link-*`, `.button-tertiary-*`, `.md-button`, `.sm-button`
|
|
56
|
+
- **Cards**: `.cards`, `.goal-card`
|
|
57
|
+
- **Form**: `.form-field-wrapper`, Material form field overrides
|
|
58
|
+
- **Controls**: `.mat-mdc-checkbox`, `.mat-mdc-radio-button`, `.mat-tooltip`, switch, calendar, select/autocomplete panels
|
|
59
|
+
- **Feedback**: Alerts, snackbar, status pills (`.status-pills`), chips
|
|
60
|
+
- **Layout**: `.d-flex`, `.w-100`, padding/margin utilities (`.p-1`, `.mx-2`, etc.), grid (`.col-span-*`)
|
|
61
|
+
- **Icons**: `.icon-icon-*` (neutral, brand, success, error, etc.)
|
|
62
|
+
|
|
63
|
+
See **`components/README.md`** in this package for a full list of component class names and usage.
|
|
64
|
+
|
|
65
|
+
## Angular
|
|
66
|
+
|
|
67
|
+
Use the design system in Angular by adding the main SCSS to `angular.json`:
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
"styles": [
|
|
71
|
+
"node_modules/@xoopah-designsystem/design-system-scss/scss/design-system.scss",
|
|
72
|
+
"src/styles.scss"
|
|
73
|
+
]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Or in `src/styles.scss`:
|
|
77
|
+
|
|
78
|
+
```scss
|
|
79
|
+
@import '@xoopah-designsystem/design-system-scss/scss/design-system';
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Publishing (npm public)
|
|
83
|
+
|
|
84
|
+
Package ko **public npm** par publish karne ke steps:
|
|
85
|
+
|
|
86
|
+
### 1. npm par login
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npm login
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Username, password, aur (agar 2FA on hai) OTP daalo. Agar abhi npm account nahi hai to [npmjs.com](https://www.npmjs.com/signup) se banao.
|
|
93
|
+
|
|
94
|
+
### 2. Scope / org check
|
|
95
|
+
|
|
96
|
+
Package name `@xoopah-designsystem/design-system-scss` (org: xoopah-designsystem). Public publish ke liye:
|
|
97
|
+
- Ya to **npm org** `xoopah` banao aur usme add karo, ya
|
|
98
|
+
- Apne npm user ke under publish karna ho to package name change karo (e.g. `@your-username/design-system-scss`).
|
|
99
|
+
|
|
100
|
+
Org banana: [npmjs.com/org/create](https://www.npmjs.com/org/create) → org name `xoopah` (agar available ho).
|
|
101
|
+
|
|
102
|
+
### 3. Package folder se publish
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
cd packages/xoopah-design-system-scss
|
|
106
|
+
npm publish
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
`package.json` mein `"publishConfig": { "access": "public" }` add hai, isliye ye package **public** publish hoga (scoped packages by default private hote hain).
|
|
110
|
+
|
|
111
|
+
### 4. Version update (next time)
|
|
112
|
+
|
|
113
|
+
Har nayi release pe version badhao, phir publish:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
npm version patch # 1.0.0 → 1.0.1
|
|
117
|
+
# ya
|
|
118
|
+
npm version minor # 1.0.0 → 1.1.0
|
|
119
|
+
npm publish
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Private registry (Azure / GitHub / company)
|
|
123
|
+
|
|
124
|
+
Agar company **private npm registry** use karti hai (Azure Artifacts, GitHub Packages, etc.):
|
|
125
|
+
|
|
126
|
+
- Us project ke `.npmrc` mein registry URL set karo.
|
|
127
|
+
- Publish command same: `npm publish` (registry wahi use hoga jahan `.npmrc` point karega).
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## License
|
|
132
|
+
|
|
133
|
+
UNLICENSED
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Design system components
|
|
2
|
+
|
|
3
|
+
Component **styles** are provided by the SCSS in this package. When you import `@xoopah-designsystem/design-system-scss/scss/design-system`, you get all tokens, typography, and the **mapped** component/utility classes below.
|
|
4
|
+
|
|
5
|
+
Use these **CSS classes** in your HTML/Angular templates. There are no separate Angular components in this package; the design system is SCSS + class names.
|
|
6
|
+
|
|
7
|
+
## Buttons
|
|
8
|
+
|
|
9
|
+
| Class | Use |
|
|
10
|
+
|-------|-----|
|
|
11
|
+
| `.button` | Base button (use with variant classes) |
|
|
12
|
+
| `.button-primary-default-fill` | Primary filled |
|
|
13
|
+
| `.button-primary-hover-fill`, `.button-primary-pressed-fill` | Primary states |
|
|
14
|
+
| `.button-secondary-default-fill`, `.button-secondary-hover-fill`, `.button-secondary-pressed-fill` | Secondary |
|
|
15
|
+
| `.button-error-default-fill`, `.button-error-hover-fill`, `.button-error-pressed-fill` | Error/danger |
|
|
16
|
+
| `.button-link-default`, `.button-link-hover`, `.button-link-pressed` | Link style |
|
|
17
|
+
| `.button-tertiary-*` | Tertiary |
|
|
18
|
+
| `.button-warning-default-fill` | Warning |
|
|
19
|
+
| `.button-primary-text` | Text-only primary |
|
|
20
|
+
| `.button-disabled-fill` | Disabled state |
|
|
21
|
+
| `.md-button`, `.sm-button` | Size variants |
|
|
22
|
+
| `.btn-loader` | Loading spinner on button |
|
|
23
|
+
|
|
24
|
+
## Cards
|
|
25
|
+
|
|
26
|
+
- `.cards` – standard card container
|
|
27
|
+
- `.goal-card` – goal-style card
|
|
28
|
+
|
|
29
|
+
## Form & inputs
|
|
30
|
+
|
|
31
|
+
- `.form-field-wrapper` – wrap Material form fields for design system look
|
|
32
|
+
- Material overrides for input fill, border, hover, disabled (via CSS variables in `:root`)
|
|
33
|
+
|
|
34
|
+
## Controls
|
|
35
|
+
|
|
36
|
+
- `.mat-mdc-checkbox` – checkbox styling
|
|
37
|
+
- `.mat-mdc-radio-button` – radio styling
|
|
38
|
+
- `.mat-tooltip` – tooltip styling
|
|
39
|
+
- Switch, calendar (`.mat-calendar-body-*`), select (`.mat-mdc-select-panel`), autocomplete (`.mat-mdc-autocomplete-panel`)
|
|
40
|
+
|
|
41
|
+
## Feedback & status
|
|
42
|
+
|
|
43
|
+
- `.status-pills` – status pill chips
|
|
44
|
+
- Alert/snackbar styles
|
|
45
|
+
- Chips (suggestion, input, ad status)
|
|
46
|
+
|
|
47
|
+
## Icons
|
|
48
|
+
|
|
49
|
+
- `.icon-icon-neutral-strong`, `.icon-icon-neutral-weak`, `.icon-icon-brand`, `.icon-icon-success`, `.icon-icon-error`, `.icon-icon-warning`, `.icon-icon-white`, `.icon-icon-disabled`
|
|
50
|
+
- `.main-icon`, `.main-icon-16px`, `.main-icon-20px` (sizes)
|
|
51
|
+
|
|
52
|
+
## Layout & utilities
|
|
53
|
+
|
|
54
|
+
- Flex: `.d-flex`, `.flex-1`, `.flex-column`, `.align-items-center`, `.justify-content-center`, etc.
|
|
55
|
+
- Grid: `.d-grid`, `.col-span-1` … `.col-span-6`
|
|
56
|
+
- Width/height: `.w-100`, `.w-50`, `.h-100`
|
|
57
|
+
- Spacing: `.p-1`, `.p-2`, `.px-0`, `.py-2`, `.m-*`, `.mb-*`, `.mt-*`, etc.
|
|
58
|
+
- Other: `.cursor-pointer`, `.d-none`, `.text-center`, `.position-relative`, `.hide`
|
|
59
|
+
|
|
60
|
+
## Theming
|
|
61
|
+
|
|
62
|
+
CSS variables are set on `:root` and `[data-theme='dark']`. Override SCSS variables before importing the design system to change the generated token values.
|
package/package.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"@xoopah-designsystem/design-system-scss","version":"1.0.0","description":"Company-wide design system SCSS package. Figma-aligned tokens (colors, spacing, typography) and component styles. Override variables to theme.","style":"scss/design-system.scss","main":"scss/design-system.scss","files":["scss","components","README.md"],"keywords":["design-system","scss","figma","tokens","angular"],"author":"","license":"UNLICENSED","repository":{"type":"git","url":""},"publishConfig":{"access":"public"}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// @xoopah-designsystem/design-system-scss (core only)
|
|
2
|
+
/// Tokens + variables + mixins + typography utilities. No component/button/card classes.
|
|
3
|
+
/// Use this if you only want design tokens and typography, and will build your own components.
|
|
4
|
+
|
|
5
|
+
@import 'variables/index';
|
|
6
|
+
@import 'mixins/index';
|
|
7
|
+
@import 'typography/index';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// @xoopah-designsystem/design-system-scss
|
|
2
|
+
/// Full design system: tokens (CSS variables), typography, mixins, and component/utility classes.
|
|
3
|
+
/// Import this once in your app (e.g. in styles.scss or main.scss).
|
|
4
|
+
/// To override Figma tokens, import your overrides file *before* this file.
|
|
5
|
+
///
|
|
6
|
+
/// Example with overrides:
|
|
7
|
+
/// @import 'your-app/theme-overrides';
|
|
8
|
+
/// @import '@xoopah/design-system-scss/scss/design-system';
|
|
9
|
+
|
|
10
|
+
@import 'variables/index';
|
|
11
|
+
@import 'mixins/index';
|
|
12
|
+
@import 'typography/index';
|
|
13
|
+
@import 'mapped/index';
|