@helsevestikt/hviktor-angular 0.0.17 → 0.0.18

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/package.json CHANGED
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "name": "@helsevestikt/hviktor-angular",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=17.0.0 <22.0.0",
7
7
  "@angular/core": ">=17.0.0 <22.0.0"
8
8
  },
9
+ "schematics": "./schematics/collection.json",
10
+ "ng-add": {
11
+ "save": "dependencies"
12
+ },
9
13
  "dependencies": {
10
- "@digdir/designsystemet-css": "^1.12.1",
11
- "@floating-ui/dom": "^1.7.6",
14
+ "@digdir/designsystemet-css": "^1.13.1",
15
+ "@digdir/designsystemet-web": "^1.13.1",
12
16
  "@u-elements/u-details": "^0.1.5",
13
17
  "@u-elements/u-tabs": "^0.1.2",
14
18
  "tslib": "^2.3.0"
@@ -25,6 +29,7 @@
25
29
  },
26
30
  "files": [
27
31
  "fesm2022/",
32
+ "schematics/",
28
33
  "types/",
29
34
  "index.d.ts",
30
35
  "styles.css",
@@ -36,5 +41,6 @@
36
41
  "**/*.css"
37
42
  ],
38
43
  "module": "fesm2022/helsevestikt-hviktor-angular.mjs",
39
- "typings": "types/helsevestikt-hviktor-angular.d.ts"
44
+ "typings": "types/helsevestikt-hviktor-angular.d.ts",
45
+ "type": "module"
40
46
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
+ "schematics": {
4
+ "ng-add": {
5
+ "description": "Legg til hviktor i applikasjonen",
6
+ "factory": "./ng-add/index#ngAdd",
7
+ "schema": "./ng-add/schema.json"
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,3 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { Schema } from './schema';
3
+ export declare function ngAdd(options: Schema): Rule;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ngAdd = ngAdd;
4
+ const tasks_1 = require("@angular-devkit/schematics/tasks");
5
+ const HVIKTOR_PACKAGE = '@helsevestikt/hviktor-angular';
6
+ const HVIKTOR_IMPORT = `@import '${HVIKTOR_PACKAGE}/styles.css';`;
7
+ const TAILWIND_IMPORT = `@import 'tailwindcss';`;
8
+ function getStylesPath(tree, project) {
9
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
10
+ const angularJsonContent = tree.read('/angular.json');
11
+ if (!angularJsonContent) {
12
+ return 'src/styles.css';
13
+ }
14
+ const angularJson = JSON.parse(angularJsonContent.toString('utf-8'));
15
+ const projectName = (_a = project !== null && project !== void 0 ? project : angularJson.defaultProject) !== null && _a !== void 0 ? _a : Object.keys((_b = angularJson.projects) !== null && _b !== void 0 ? _b : {})[0];
16
+ const projectConfig = (_c = angularJson.projects) === null || _c === void 0 ? void 0 : _c[projectName];
17
+ if (!projectConfig) {
18
+ return 'src/styles.css';
19
+ }
20
+ const buildTarget = (_e = (_d = projectConfig.architect) === null || _d === void 0 ? void 0 : _d.build) !== null && _e !== void 0 ? _e : (_f = projectConfig.targets) === null || _f === void 0 ? void 0 : _f.build;
21
+ const styles = (_h = (_g = buildTarget === null || buildTarget === void 0 ? void 0 : buildTarget.options) === null || _g === void 0 ? void 0 : _g.styles) !== null && _h !== void 0 ? _h : [];
22
+ for (const style of styles) {
23
+ const stylePath = typeof style === 'string' ? style : style.input;
24
+ if (stylePath.endsWith('.css') || stylePath.endsWith('.scss')) {
25
+ return stylePath;
26
+ }
27
+ }
28
+ const sourceRoot = (_j = projectConfig.sourceRoot) !== null && _j !== void 0 ? _j : 'src';
29
+ return `${sourceRoot}/styles.css`;
30
+ }
31
+ function addPackageJsonDependency(tree, name, version, devDependency) {
32
+ const packageJsonPath = '/package.json';
33
+ const content = tree.read(packageJsonPath);
34
+ if (!content) {
35
+ throw new Error('Fant ikke package.json i prosjektet.');
36
+ }
37
+ const json = JSON.parse(content.toString('utf-8'));
38
+ const key = devDependency ? 'devDependencies' : 'dependencies';
39
+ if (!json[key]) {
40
+ json[key] = {};
41
+ }
42
+ if (json[key][name]) {
43
+ return;
44
+ }
45
+ json[key][name] = version;
46
+ tree.overwrite(packageJsonPath, JSON.stringify(json, null, 2) + '\n');
47
+ }
48
+ function updateStylesCss(tree, stylesPath, imports) {
49
+ const existing = tree.read(stylesPath);
50
+ const content = existing ? existing.toString('utf-8') : '';
51
+ const newImports = imports.filter((imp) => !content.includes(imp));
52
+ if (newImports.length === 0) {
53
+ return;
54
+ }
55
+ const updatedContent = newImports.join('\n') + '\n' + content;
56
+ if (existing) {
57
+ tree.overwrite(stylesPath, updatedContent);
58
+ }
59
+ else {
60
+ tree.create(stylesPath, updatedContent);
61
+ }
62
+ }
63
+ function createPostcssConfig(tree) {
64
+ const configPath = '/.postcssrc.json';
65
+ if (tree.exists(configPath)) {
66
+ return;
67
+ }
68
+ const config = {
69
+ plugins: {
70
+ '@tailwindcss/postcss': {},
71
+ },
72
+ };
73
+ tree.create(configPath, JSON.stringify(config, null, 2) + '\n');
74
+ }
75
+ function ngAdd(options) {
76
+ return (tree, context) => {
77
+ const styleImports = [];
78
+ // Conditionally: set up Tailwind CSS
79
+ if (options.tailwind) {
80
+ addPackageJsonDependency(tree, 'tailwindcss', '^4.0.0', true);
81
+ addPackageJsonDependency(tree, '@tailwindcss/postcss', '^4.0.0', true);
82
+ addPackageJsonDependency(tree, 'postcss', '^8.5.0', true);
83
+ createPostcssConfig(tree);
84
+ styleImports.push(TAILWIND_IMPORT);
85
+ }
86
+ // Hviktor import always comes after tailwind
87
+ styleImports.push(HVIKTOR_IMPORT);
88
+ const stylesPath = getStylesPath(tree, options.project);
89
+ updateStylesCss(tree, stylesPath, styleImports);
90
+ // Schedule npm install
91
+ context.addTask(new tasks_1.NodePackageInstallTask());
92
+ return tree;
93
+ };
94
+ }
95
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/hviktor/schematics/ng-add/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface Schema {
2
+ project?: string;
3
+ tailwind?: boolean;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../projects/hviktor/schematics/ng-add/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "HviktorNgAdd",
4
+ "title": "Hviktor ng-add schematic",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Prosjektet som hviktor skal legges til i.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ },
14
+ "tailwind": {
15
+ "type": "boolean",
16
+ "description": "Installer og konfigurer Tailwind CSS.",
17
+ "default": false,
18
+ "x-prompt": "Vil du installere Tailwind CSS?"
19
+ }
20
+ },
21
+ "required": []
22
+ }
package/styles.css CHANGED
@@ -30,6 +30,11 @@ body {
30
30
  font-feature-settings: 'cv05' 1;
31
31
  }
32
32
 
33
+ /* Automatic vertical spacing between direct children in hviForm, matching ds-fieldset */
34
+ form[hviForm] > * + * {
35
+ margin-block-start: var(--ds-size-4);
36
+ }
37
+
33
38
  /* adding styling to lists that tailwind has removed */
34
39
  ol.ds-list {
35
40
  list-style-type: decimal;