@ks-digital/designsystem-angular 0.0.1-alpha.6 → 0.0.1-alpha.61
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 +23 -11
- package/__internals/README.md +3 -0
- package/alert/README.md +3 -0
- package/breadcrumbs/README.md +3 -0
- package/button/README.md +3 -0
- package/card/README.md +3 -0
- package/details/README.md +3 -0
- package/dialog/README.md +3 -0
- package/dropdown/README.md +3 -0
- package/error-summary/README.md +3 -0
- package/fesm2022/ks-digital-designsystem-angular-__internals.mjs +82 -0
- package/fesm2022/ks-digital-designsystem-angular-__internals.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-alert.mjs +40 -0
- package/fesm2022/ks-digital-designsystem-angular-alert.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-breadcrumbs.mjs +51 -0
- package/fesm2022/ks-digital-designsystem-angular-breadcrumbs.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-button.mjs +75 -0
- package/fesm2022/ks-digital-designsystem-angular-button.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-card.mjs +86 -0
- package/fesm2022/ks-digital-designsystem-angular-card.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-chip.mjs +43 -0
- package/fesm2022/ks-digital-designsystem-angular-chip.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-details.mjs +64 -0
- package/fesm2022/ks-digital-designsystem-angular-details.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-dialog.mjs +48 -0
- package/fesm2022/ks-digital-designsystem-angular-dialog.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-dropdown.mjs +46 -0
- package/fesm2022/ks-digital-designsystem-angular-dropdown.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-error-summary.mjs +49 -0
- package/fesm2022/ks-digital-designsystem-angular-error-summary.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-forms.mjs +227 -0
- package/fesm2022/ks-digital-designsystem-angular-forms.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-heading.mjs +40 -0
- package/fesm2022/ks-digital-designsystem-angular-heading.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-link.mjs +31 -0
- package/fesm2022/ks-digital-designsystem-angular-link.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-pagination.mjs +143 -0
- package/fesm2022/ks-digital-designsystem-angular-pagination.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-paragraph.mjs +25 -0
- package/fesm2022/ks-digital-designsystem-angular-paragraph.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-popover.mjs +46 -0
- package/fesm2022/ks-digital-designsystem-angular-popover.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-search.mjs +183 -0
- package/fesm2022/ks-digital-designsystem-angular-search.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-spinner.mjs +87 -0
- package/fesm2022/ks-digital-designsystem-angular-spinner.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-suggestion.mjs +281 -0
- package/fesm2022/ks-digital-designsystem-angular-suggestion.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-table.mjs +105 -0
- package/fesm2022/ks-digital-designsystem-angular-table.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-tabs.mjs +148 -0
- package/fesm2022/ks-digital-designsystem-angular-tabs.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-tag.mjs +38 -0
- package/fesm2022/ks-digital-designsystem-angular-tag.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular-validation-message.mjs +25 -0
- package/fesm2022/ks-digital-designsystem-angular-validation-message.mjs.map +1 -0
- package/fesm2022/ks-digital-designsystem-angular.mjs +7 -0
- package/fesm2022/ks-digital-designsystem-angular.mjs.map +1 -0
- package/forms/README.md +3 -0
- package/heading/README.md +3 -0
- package/link/README.md +3 -0
- package/package.json +108 -26
- package/pagination/README.md +3 -0
- package/paragraph/README.md +3 -0
- package/popover/README.md +3 -0
- package/search/README.md +3 -0
- package/spinner/README.md +3 -0
- package/suggestion/README.md +3 -0
- package/table/README.md +3 -0
- package/tabs/README.md +3 -0
- package/tag/README.md +3 -0
- package/types/ks-digital-designsystem-angular-__internals.d.ts +50 -0
- package/types/ks-digital-designsystem-angular-alert.d.ts +12 -0
- package/types/ks-digital-designsystem-angular-breadcrumbs.d.ts +13 -0
- package/types/ks-digital-designsystem-angular-button.d.ts +32 -0
- package/types/ks-digital-designsystem-angular-card.d.ts +24 -0
- package/types/ks-digital-designsystem-angular-chip.d.ts +15 -0
- package/types/ks-digital-designsystem-angular-details.d.ts +20 -0
- package/types/ks-digital-designsystem-angular-dialog.d.ts +18 -0
- package/types/ks-digital-designsystem-angular-dropdown.d.ts +13 -0
- package/types/ks-digital-designsystem-angular-error-summary.d.ts +14 -0
- package/types/ks-digital-designsystem-angular-forms.d.ts +81 -0
- package/types/ks-digital-designsystem-angular-heading.d.ts +19 -0
- package/types/ks-digital-designsystem-angular-link.d.ts +9 -0
- package/types/ks-digital-designsystem-angular-pagination.d.ts +58 -0
- package/types/ks-digital-designsystem-angular-paragraph.d.ts +8 -0
- package/types/ks-digital-designsystem-angular-popover.d.ts +13 -0
- package/types/ks-digital-designsystem-angular-search.d.ts +84 -0
- package/types/ks-digital-designsystem-angular-spinner.d.ts +22 -0
- package/types/ks-digital-designsystem-angular-suggestion.d.ts +97 -0
- package/types/ks-digital-designsystem-angular-table.d.ts +43 -0
- package/types/ks-digital-designsystem-angular-tabs.d.ts +65 -0
- package/types/ks-digital-designsystem-angular-tag.d.ts +15 -0
- package/types/ks-digital-designsystem-angular-validation-message.d.ts +8 -0
- package/types/ks-digital-designsystem-angular.d.ts +2 -0
- package/validation-message/README.md +3 -0
- package/dist/README.md +0 -43
- package/dist/fesm2022/ks-digital-designsystem-angular.mjs +0 -195
- package/dist/fesm2022/ks-digital-designsystem-angular.mjs.map +0 -1
- package/dist/index.d.ts +0 -75
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
declare class Heading {
|
|
4
|
+
id: _angular_core.WritableSignal<string | undefined>;
|
|
5
|
+
/**
|
|
6
|
+
* Changes text sizing
|
|
7
|
+
* @default 'md'
|
|
8
|
+
*/
|
|
9
|
+
readonly dataSize: _angular_core.InputSignal<"2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | undefined>;
|
|
10
|
+
/**
|
|
11
|
+
* Set the id of the heading
|
|
12
|
+
* @param id
|
|
13
|
+
*/
|
|
14
|
+
setId(id: string): void;
|
|
15
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Heading, never>;
|
|
16
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Heading, "h1[ksd-heading], h2[ksd-heading], h3[ksd-heading], h4[ksd-heading], h5[ksd-heading], h6[ksd-heading]", never, { "dataSize": { "alias": "data-size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { Heading };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import * as i1 from '@ks-digital/designsystem-angular/__internals';
|
|
3
|
+
|
|
4
|
+
declare class Link {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Link, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Link, "a[ksd-link]", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { Link };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as i1 from '@ks-digital/designsystem-angular/__internals';
|
|
3
|
+
|
|
4
|
+
interface PaginationPage {
|
|
5
|
+
page: number;
|
|
6
|
+
current: boolean;
|
|
7
|
+
key: string;
|
|
8
|
+
}
|
|
9
|
+
interface PaginationPages {
|
|
10
|
+
pages: PaginationPage[];
|
|
11
|
+
prev: number;
|
|
12
|
+
next: number;
|
|
13
|
+
}
|
|
14
|
+
declare class Pagination {
|
|
15
|
+
/**
|
|
16
|
+
* The current page
|
|
17
|
+
*/
|
|
18
|
+
readonly current: _angular_core.InputSignalWithTransform<number, string | number>;
|
|
19
|
+
/**
|
|
20
|
+
* The total number of pages
|
|
21
|
+
*/
|
|
22
|
+
readonly total: _angular_core.InputSignalWithTransform<number, string | number>;
|
|
23
|
+
/**
|
|
24
|
+
* Sets the screen reader label for the pagination
|
|
25
|
+
*/
|
|
26
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
27
|
+
/**
|
|
28
|
+
* How many pages to show. Default is 7
|
|
29
|
+
*/
|
|
30
|
+
readonly show: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
31
|
+
/**
|
|
32
|
+
* E.g if "?page=%d" all the links will set href to "?page=1", "?page=2".
|
|
33
|
+
*/
|
|
34
|
+
readonly href: _angular_core.InputSignal<string | undefined>;
|
|
35
|
+
/**
|
|
36
|
+
* Emits the page number when a page is clicked
|
|
37
|
+
*/
|
|
38
|
+
readonly pageClicked: _angular_core.OutputEmitterRef<number>;
|
|
39
|
+
/**
|
|
40
|
+
* Exposes pagination data for consumer use
|
|
41
|
+
*/
|
|
42
|
+
readonly pages: _angular_core.Signal<PaginationPages>;
|
|
43
|
+
protected onClick(e: Event): void;
|
|
44
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Pagination, never>;
|
|
45
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Pagination, "ksd-pagination", never, { "current": { "alias": "current"; "required": true; "isSignal": true; }; "total": { "alias": "total"; "required": true; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "show": { "alias": "show"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; }, { "pageClicked": "pageClicked"; }, never, ["*"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
declare class PaginationButton {
|
|
49
|
+
private el;
|
|
50
|
+
private destroyRef;
|
|
51
|
+
constructor();
|
|
52
|
+
private updateVariant;
|
|
53
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaginationButton, never>;
|
|
54
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PaginationButton, "[ksdPaginationButton]", never, {}, {}, never, never, true, never>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { Pagination, PaginationButton };
|
|
58
|
+
export type { PaginationPage, PaginationPages };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
|
|
3
|
+
declare class Paragraph {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Paragraph, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Paragraph, "p[ksd-paragraph]", never, {}, {}, never, ["*"], true, never>;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export { Paragraph };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as i1 from '@ks-digital/designsystem-angular/__internals';
|
|
3
|
+
|
|
4
|
+
declare class Popover {
|
|
5
|
+
readonly autoPlacement: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
6
|
+
readonly variant: _angular_core.InputSignal<"tinted" | "default">;
|
|
7
|
+
readonly placement: _angular_core.InputSignal<"bottom" | "bottom-end" | "bottom-start" | "left" | "left-end" | "left-start" | "right" | "right-end" | "right-start" | "top" | "top-end" | "top-start">;
|
|
8
|
+
readonly popover: _angular_core.InputSignal<"auto" | "manual">;
|
|
9
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Popover, never>;
|
|
10
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Popover, "[ksd-popover]", never, { "autoPlacement": { "alias": "autoPlacement"; "required": false; "isSignal": true; }; "variant": { "alias": "data-variant"; "required": false; "isSignal": true; }; "placement": { "alias": "data-placement"; "required": false; "isSignal": true; }; "popover": { "alias": "popover"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { Popover };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import * as i1 from '@ks-digital/designsystem-angular/__internals';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Search Component
|
|
6
|
+
*
|
|
7
|
+
* Use to contain the search input and buttons.
|
|
8
|
+
* Only `SearchInput` is required, while `SearchClear` and `SearchButton` are optional.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <div ksd-search>
|
|
12
|
+
* <input ksd-search-input />
|
|
13
|
+
* <button ksd-search-clear></button>
|
|
14
|
+
* <button ksd-search-button></button>
|
|
15
|
+
* </div>
|
|
16
|
+
*/
|
|
17
|
+
declare class Search {
|
|
18
|
+
private readonly input;
|
|
19
|
+
constructor();
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Search, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Search, "ksd-search", never, {}, {}, ["input"], ["[ksd-search-input]", "[ksd-search-clear]", "[ksd-search-button]"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Search button
|
|
26
|
+
*
|
|
27
|
+
* Used within Search to provide a submit button.
|
|
28
|
+
*
|
|
29
|
+
* @param {('primary' | 'secondary')} [variant] - Specify which button variant to use
|
|
30
|
+
* @param {string} [aria-label] - Aria label for the button
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
declare class SearchButton {
|
|
34
|
+
/**
|
|
35
|
+
* Specify which button variant to use
|
|
36
|
+
*
|
|
37
|
+
* @default 'primary'
|
|
38
|
+
*/
|
|
39
|
+
readonly variant: i0.InputSignal<"primary" | "secondary">;
|
|
40
|
+
/**
|
|
41
|
+
* Aria label for the button
|
|
42
|
+
*/
|
|
43
|
+
readonly ariaLabel: i0.InputSignal<string>;
|
|
44
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SearchButton, never>;
|
|
45
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SearchButton, "button[ksd-search-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Search clear button
|
|
50
|
+
*
|
|
51
|
+
* Used within Search to provide a clear button.
|
|
52
|
+
*
|
|
53
|
+
* @param {string} [aria-label] - Aria label for the button.
|
|
54
|
+
*
|
|
55
|
+
* @event clearInput - Emitted when the clear button is clicked.
|
|
56
|
+
* Use this to notify controlled forms that the input should be cleared.
|
|
57
|
+
*
|
|
58
|
+
*/
|
|
59
|
+
declare class SearchClear {
|
|
60
|
+
/**
|
|
61
|
+
* Aria label for the button
|
|
62
|
+
* @default 'Tøm'
|
|
63
|
+
*/
|
|
64
|
+
readonly ariaLabel: i0.InputSignal<string>;
|
|
65
|
+
/**
|
|
66
|
+
* Output to notify controlled forms that input should be cleared
|
|
67
|
+
*/
|
|
68
|
+
clearInput: i0.OutputEmitterRef<void>;
|
|
69
|
+
handleClear(e: Event): void;
|
|
70
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SearchClear, never>;
|
|
71
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SearchClear, "button[ksd-search-clear]", never, { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, { "clearInput": "clearInput"; }, never, never, true, never>;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Search input
|
|
76
|
+
*
|
|
77
|
+
* Used within Search to provide a search input.
|
|
78
|
+
*/
|
|
79
|
+
declare class SearchInput {
|
|
80
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SearchInput, never>;
|
|
81
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SearchInput, "input[ksd-search-input]", never, {}, {}, never, never, true, never>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { Search, SearchButton, SearchClear, SearchInput };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as i1 from '@ks-digital/designsystem-angular/__internals';
|
|
3
|
+
|
|
4
|
+
declare class Spinner {
|
|
5
|
+
/**
|
|
6
|
+
* Aria-label for the spinner
|
|
7
|
+
*/
|
|
8
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
9
|
+
/**
|
|
10
|
+
* Aria-hidden for the spinner
|
|
11
|
+
*/
|
|
12
|
+
readonly ariaHidden: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
|
|
13
|
+
/**
|
|
14
|
+
* Changes size for descendant Designsystemet components. Select from predefined sizes.
|
|
15
|
+
* @attribute data-size
|
|
16
|
+
*/
|
|
17
|
+
readonly dataSize: _angular_core.InputSignal<any>;
|
|
18
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Spinner, never>;
|
|
19
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Spinner, "ksd-spinner", never, { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaHidden": { "alias": "aria-hidden"; "required": false; "isSignal": true; }; "dataSize": { "alias": "data-size"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { Spinner };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { TemplateRef } from '@angular/core';
|
|
3
|
+
import * as i1 from '@ks-digital/designsystem-angular/__internals';
|
|
4
|
+
|
|
5
|
+
type SuggestionItem = {
|
|
6
|
+
label: string;
|
|
7
|
+
value: string;
|
|
8
|
+
};
|
|
9
|
+
type SuggestionFilterArgs = {
|
|
10
|
+
index: number;
|
|
11
|
+
label: string;
|
|
12
|
+
text: string;
|
|
13
|
+
value: string;
|
|
14
|
+
optionElement: HTMLOptionElement;
|
|
15
|
+
input: HTMLInputElement;
|
|
16
|
+
};
|
|
17
|
+
type SuggestionFilter = (args: SuggestionFilterArgs) => boolean;
|
|
18
|
+
|
|
19
|
+
declare class Suggestion {
|
|
20
|
+
/**
|
|
21
|
+
* Allows the user to select multiple items
|
|
22
|
+
*
|
|
23
|
+
* @default false
|
|
24
|
+
*/
|
|
25
|
+
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* Allows the user to create new items
|
|
28
|
+
*
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
creatable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Filter options; boolean or a custom callback.
|
|
34
|
+
*
|
|
35
|
+
* @default true
|
|
36
|
+
*/
|
|
37
|
+
filter: _angular_core.InputSignal<boolean | SuggestionFilter>;
|
|
38
|
+
/**
|
|
39
|
+
* Model for the selected item(s).
|
|
40
|
+
*
|
|
41
|
+
* @default undefined
|
|
42
|
+
*/
|
|
43
|
+
selected: _angular_core.ModelSignal<SuggestionItem | SuggestionItem[] | undefined>;
|
|
44
|
+
protected selectedArray: _angular_core.Signal<SuggestionItem[]>;
|
|
45
|
+
private readonly suggestionElement;
|
|
46
|
+
private readonly suggestionList;
|
|
47
|
+
constructor();
|
|
48
|
+
protected onSelect(event: Event): void;
|
|
49
|
+
protected onKeyDown(event: Event): void;
|
|
50
|
+
protected onInput(event: Event): void;
|
|
51
|
+
private syncOptions;
|
|
52
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Suggestion, never>;
|
|
53
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Suggestion, "ksd-suggestion", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "creatable": { "alias": "creatable"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, { "selected": "selectedChange"; }, ["suggestionList"], ["*"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
declare class SuggestionListEmpty {
|
|
57
|
+
/**
|
|
58
|
+
* Hack to get the content from parent component so that we can
|
|
59
|
+
* keep the dom structure needed without additional host elements
|
|
60
|
+
*/
|
|
61
|
+
templateRef: _angular_core.Signal<TemplateRef<unknown> | undefined>;
|
|
62
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuggestionListEmpty, never>;
|
|
63
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuggestionListEmpty, "ksd-suggestion-list-empty", never, {}, {}, never, ["*"], true, never>;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
declare class SuggestionListOption {
|
|
67
|
+
/**
|
|
68
|
+
* Hack to get the content from parent component so that we can
|
|
69
|
+
* keep the dom structure needed without additional host elements
|
|
70
|
+
*/
|
|
71
|
+
templateRef: _angular_core.Signal<TemplateRef<unknown> | undefined>;
|
|
72
|
+
value: _angular_core.InputSignal<string>;
|
|
73
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuggestionListOption, never>;
|
|
74
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuggestionListOption, "ksd-suggestion-list-option", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
declare class SuggestionList {
|
|
78
|
+
/**
|
|
79
|
+
* Screen reader announcement template for singular result count.
|
|
80
|
+
*
|
|
81
|
+
* @default '%d forslag'
|
|
82
|
+
*/
|
|
83
|
+
readonly singular: _angular_core.InputSignal<string>;
|
|
84
|
+
/**
|
|
85
|
+
* Screen reader announcement template for plural result count.
|
|
86
|
+
*
|
|
87
|
+
* @default '%d forslag'
|
|
88
|
+
*/
|
|
89
|
+
readonly plural: _angular_core.InputSignal<string>;
|
|
90
|
+
readonly options: _angular_core.Signal<readonly SuggestionListOption[]>;
|
|
91
|
+
protected readonly empty: _angular_core.Signal<SuggestionListEmpty | undefined>;
|
|
92
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuggestionList, never>;
|
|
93
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuggestionList, "ksd-suggestion-list", never, { "singular": { "alias": "singular"; "required": false; "isSignal": true; }; "plural": { "alias": "plural"; "required": false; "isSignal": true; }; }, {}, ["options", "empty"], never, true, never>;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export { Suggestion, SuggestionList, SuggestionListEmpty, SuggestionListOption };
|
|
97
|
+
export type { SuggestionFilter, SuggestionFilterArgs, SuggestionItem };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
declare class Table {
|
|
4
|
+
/**
|
|
5
|
+
* Will give the table a hover effect on rows
|
|
6
|
+
* @default false
|
|
7
|
+
*/
|
|
8
|
+
readonly hover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
9
|
+
/**
|
|
10
|
+
* Will give the table a rounded border
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
readonly border: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
14
|
+
/**
|
|
15
|
+
* Will make the table header sticky
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
readonly stickyHeader: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* Will give the table zebra striping
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
readonly zebra: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
24
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Table, never>;
|
|
25
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Table, "table[ksd-table]", never, { "hover": { "alias": "data-hover"; "required": false; "isSignal": true; }; "border": { "alias": "data-border"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "data-sticky-header"; "required": false; "isSignal": true; }; "zebra": { "alias": "data-zebra"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
declare class TableHeaderCell {
|
|
29
|
+
/**
|
|
30
|
+
* If 'none' | 'ascending' | 'descending' will add a button to the header cell and change aria-sort and icon
|
|
31
|
+
* @default undefined
|
|
32
|
+
*/
|
|
33
|
+
readonly sort: _angular_core.InputSignal<"none" | "ascending" | "descending" | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* Emitted when the sort button is clicked
|
|
36
|
+
* @emits void
|
|
37
|
+
*/
|
|
38
|
+
readonly sortChange: _angular_core.OutputEmitterRef<void>;
|
|
39
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableHeaderCell, never>;
|
|
40
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableHeaderCell, "th[ksd-header-cell]", never, { "sort": { "alias": "aria-sort"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; }, never, ["*"], true, never>;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export { Table, TableHeaderCell };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { TemplateRef } from '@angular/core';
|
|
3
|
+
import * as i1 from '@ks-digital/designsystem-angular/__internals';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Payload emitted from `tabClicked` on both `ksd-tabs` and `ksd-tabs-tab`.
|
|
7
|
+
*/
|
|
8
|
+
interface TabClickEvent {
|
|
9
|
+
/**
|
|
10
|
+
* Zero-based index of the clicked tab in its current render order.
|
|
11
|
+
*/
|
|
12
|
+
index: number;
|
|
13
|
+
/**
|
|
14
|
+
* Consumer-provided stable tab identifier from `tabId`.
|
|
15
|
+
*
|
|
16
|
+
* `undefined` when `tabId` is not provided.
|
|
17
|
+
*/
|
|
18
|
+
tabId: string | undefined;
|
|
19
|
+
}
|
|
20
|
+
declare class TabsTab {
|
|
21
|
+
/**
|
|
22
|
+
* Stable identifier for this tab.
|
|
23
|
+
*
|
|
24
|
+
* Recommended for logic such as analytics, routing and persisted state.
|
|
25
|
+
*
|
|
26
|
+
* If omitted, `tabClicked` emits `tabId: undefined`.
|
|
27
|
+
*/
|
|
28
|
+
readonly tabId: i0.InputSignal<string | undefined>;
|
|
29
|
+
/**
|
|
30
|
+
* Emits tab click details when this tab is clicked.
|
|
31
|
+
*/
|
|
32
|
+
readonly tabClicked: i0.OutputEmitterRef<TabClickEvent>;
|
|
33
|
+
/**
|
|
34
|
+
* Hack to get the content of the tab from outside so that we can
|
|
35
|
+
* keep the dom structure needed without additional host elements
|
|
36
|
+
*/
|
|
37
|
+
templateRef: i0.Signal<TemplateRef<unknown> | undefined>;
|
|
38
|
+
emitTabClicked(event: TabClickEvent): void;
|
|
39
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TabsTab, never>;
|
|
40
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TabsTab, "ksd-tabs-tab", never, { "tabId": { "alias": "tabId"; "required": false; "isSignal": true; }; }, { "tabClicked": "tabClicked"; }, never, ["*"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
declare class Tabs {
|
|
44
|
+
/**
|
|
45
|
+
* Emits tab click details when any tab is clicked.
|
|
46
|
+
*/
|
|
47
|
+
readonly tabClicked: i0.OutputEmitterRef<TabClickEvent>;
|
|
48
|
+
readonly tabs: i0.Signal<readonly TabsTab[]>;
|
|
49
|
+
protected onTabClick(index: number, tab: TabsTab): void;
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Tabs, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Tabs, "ksd-tabs", never, {}, { "tabClicked": "tabClicked"; }, ["tabs"], ["ksd-tabs-panel"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
declare class TabsList {
|
|
55
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TabsList, never>;
|
|
56
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TabsList, "ksd-tabs-list", never, {}, {}, never, ["*"], true, never>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
declare class TabsPanel {
|
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TabsPanel, never>;
|
|
61
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TabsPanel, "ksd-tabs-panel", never, {}, {}, never, ["*"], true, never>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { Tabs, TabsList, TabsPanel, TabsTab };
|
|
65
|
+
export type { TabClickEvent };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import * as i1 from '@ks-digital/designsystem-angular/__internals';
|
|
3
|
+
|
|
4
|
+
declare class Tag {
|
|
5
|
+
/**
|
|
6
|
+
* The visual variant of the tag
|
|
7
|
+
*
|
|
8
|
+
* @default 'default'
|
|
9
|
+
*/
|
|
10
|
+
readonly variant: i0.InputSignal<"default" | "outline">;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Tag, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Tag, "ksd-tag", never, { "variant": { "alias": "data-variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { Tag };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
|
|
3
|
+
declare class ValidationMessage {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ValidationMessage, never>;
|
|
5
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ValidationMessage, "[ksd-validation-message]", never, {}, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export { ValidationMessage };
|
package/dist/README.md
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# 🚧 KS Digital Designsystem for Angular
|
|
2
|
-
|
|
3
|
-
> This is an experimental POC as for now
|
|
4
|
-
|
|
5
|
-
This library provides Angular components for KS Digital, designed to align closely with the components from [Designsystemet.no](https://www.designsystemet.no/komponenter).
|
|
6
|
-
|
|
7
|
-
## Installation (WIP)
|
|
8
|
-
|
|
9
|
-
Install the required packages using your preferred package manager:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
pnpm add @ks-digital/designsystem-angular @ks-digital/designsystem-themes
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Setup
|
|
16
|
-
|
|
17
|
-
### 1. Include the Inter Font
|
|
18
|
-
|
|
19
|
-
Add the Inter font to your `index.html`. This API supports the same parameters as the Google Fonts API, allowing you to customize the font weights as needed:
|
|
20
|
-
|
|
21
|
-
```html
|
|
22
|
-
<link
|
|
23
|
-
href="https://static.fiks.ks.no/googlefonts/googleapis/css2?family=Inter&display=swap"
|
|
24
|
-
rel="stylesheet"
|
|
25
|
-
/>
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### 2. Import Base Styles and Themes
|
|
29
|
-
|
|
30
|
-
Import the base styles and the theme you want to use in your application:
|
|
31
|
-
|
|
32
|
-
```javascript
|
|
33
|
-
import '@ks-digital/designsystem-themes/base.css'
|
|
34
|
-
import '@ks-digital/designsystem-themes/ledsagerbevis.css'
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### 3. Use Components
|
|
38
|
-
|
|
39
|
-
To be written.
|
|
40
|
-
|
|
41
|
-
## Example
|
|
42
|
-
|
|
43
|
-
A complete example setup is available in the `angular-demo` located under the `apps` folder.
|