@ids-group-ltd/ids-design-system 0.1.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 +114 -0
- package/fesm2022/ids-group-ltd-ids-design-system.mjs +3170 -0
- package/fesm2022/ids-group-ltd-ids-design-system.mjs.map +1 -0
- package/package.json +46 -0
- package/styles/_dropdown-overlay.scss +117 -0
- package/styles/_fonts.scss +59 -0
- package/styles/_icon-base.scss +9 -0
- package/styles/_layout-utils.scss +14 -0
- package/styles/_link.scss +77 -0
- package/styles/_page-grid.scss +68 -0
- package/styles/_reset.scss +17 -0
- package/styles/_scrollbar.scss +17 -0
- package/styles/_skeleton-shimmer.scss +32 -0
- package/styles/_toast-overlay.scss +6 -0
- package/styles/_tokens-charts.scss +71 -0
- package/styles/_tokens.scss +614 -0
- package/styles/_typography.scss +30 -0
- package/styles/ds.scss +27 -0
- package/styles/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
- package/styles/fonts/jetbrains-mono-latin-500-normal.woff2 +0 -0
- package/styles/fonts/jetbrains-mono-latin-600-normal.woff2 +0 -0
- package/styles/fonts/mulish-latin-400-normal.woff2 +0 -0
- package/styles/fonts/mulish-latin-500-normal.woff2 +0 -0
- package/styles/fonts/mulish-latin-600-normal.woff2 +0 -0
- package/styles/fonts/mulish-latin-700-normal.woff2 +0 -0
- package/styles/fonts/mulish-latin-800-normal.woff2 +0 -0
- package/themes/README.md +96 -0
- package/themes/default/_palette.scss +159 -0
- package/themes/default/_theme.scss +274 -0
- package/types/ids-group-ltd-ids-design-system.d.ts +1398 -0
package/README.md
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# IDS Design System
|
|
2
|
+
|
|
3
|
+
Angular component library, design tokens and themes for IDS Group products.
|
|
4
|
+
|
|
5
|
+
- 45+ standalone components (buttons, forms, overlays, navigation, data display)
|
|
6
|
+
- Three-tier token architecture: palette → semantic theme → geometry/typography/motion tokens
|
|
7
|
+
- Bundled fonts (Mulish, JetBrains Mono) — no external font CDN required
|
|
8
|
+
- Built for Angular 21, zoneless-compatible, `sideEffects: false`
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install @ids-group-ltd/ids-design-system
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Requires Angular `^21.2.0` (`@angular/core`, `common`, `forms`, `router`, `platform-browser`) and `@angular/cdk` as peer dependencies.
|
|
17
|
+
|
|
18
|
+
## Setup
|
|
19
|
+
|
|
20
|
+
### 1. Global styles
|
|
21
|
+
|
|
22
|
+
Add the package to your Sass include paths in `angular.json`:
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
"architect": {
|
|
26
|
+
"build": {
|
|
27
|
+
"options": {
|
|
28
|
+
"stylePreprocessorOptions": {
|
|
29
|
+
"includePaths": ["node_modules/@ids-group-ltd/ids-design-system"]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Then import the design system once at the top of your root `styles.scss`:
|
|
37
|
+
|
|
38
|
+
```scss
|
|
39
|
+
@use 'styles/ds';
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
This brings in the default palette, semantic theme, design tokens, fonts, reset and base typography.
|
|
43
|
+
|
|
44
|
+
Advanced consumers can swap the palette/theme and keep the token layer — global side-effects (fonts, link styles, etc.) become opt-in:
|
|
45
|
+
|
|
46
|
+
```scss
|
|
47
|
+
@use 'themes/default/palette';
|
|
48
|
+
@use 'themes/default/theme';
|
|
49
|
+
@use 'styles/tokens';
|
|
50
|
+
@use 'styles/fonts';
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 2. Components
|
|
54
|
+
|
|
55
|
+
All components are standalone — import them directly:
|
|
56
|
+
|
|
57
|
+
```ts
|
|
58
|
+
import { Component } from '@angular/core';
|
|
59
|
+
import { ButtonComponent } from '@ids-group-ltd/ids-design-system';
|
|
60
|
+
|
|
61
|
+
@Component({
|
|
62
|
+
selector: 'app-example',
|
|
63
|
+
imports: [ButtonComponent],
|
|
64
|
+
template: `<ds-button variant="outline" icon="download">Export</ds-button>`,
|
|
65
|
+
})
|
|
66
|
+
export class ExampleComponent {}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Development
|
|
70
|
+
|
|
71
|
+
This repo contains the library (`src/`) and a documentation app (`ds-docs/`).
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npm run build # build the library into dist/ds
|
|
75
|
+
npm start # serve the docs app
|
|
76
|
+
npm run build:docs # build the docs app
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Releasing
|
|
80
|
+
|
|
81
|
+
Releases follow [SemVer](https://semver.org): `fix` → patch, new backwards-compatible
|
|
82
|
+
features → minor, breaking changes (API or visual) → major. A new Angular major
|
|
83
|
+
always means a new package major. See `CHANGELOG.md` for history.
|
|
84
|
+
|
|
85
|
+
Publishing runs in CI (Bitbucket Pipelines): pushing a `vX.Y.Z` tag builds the
|
|
86
|
+
library and publishes it to npm. To cut a release, with a clean working tree:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npm run release:patch # 0.1.0 -> 0.1.1 bugfixes
|
|
90
|
+
npm run release:minor # 0.1.0 -> 0.2.0 new components/inputs/tokens
|
|
91
|
+
npm run release:major # 0.x -> 1.0.0 breaking changes
|
|
92
|
+
|
|
93
|
+
git push origin main --follow-tags # the tag push triggers CI publish
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Each `release:*` bumps the version and creates a `release: x.y.z` commit plus a
|
|
97
|
+
`vX.Y.Z` git tag locally — it does **not** publish. The tag push to Bitbucket
|
|
98
|
+
runs `bitbucket-pipelines.yml`, which builds and publishes `dist/ds`. Add a
|
|
99
|
+
`CHANGELOG.md` entry before releasing.
|
|
100
|
+
|
|
101
|
+
CI auth uses a Secured repository variable `NPM_TOKEN` (npm granular access
|
|
102
|
+
token, read+write on `@ids-group-ltd`, "Bypass 2FA" enabled).
|
|
103
|
+
|
|
104
|
+
Manual publish (fallback, requires an authenticated npm session):
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
npm run publish:manual
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Pre-releases: `npm version prerelease --preid=beta`, then `npm publish ./dist/ds --tag next`.
|
|
111
|
+
|
|
112
|
+
## License
|
|
113
|
+
|
|
114
|
+
UNLICENSED — proprietary to IDS Group Ltd.
|