@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 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.