@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 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';