@ks-digital/designsystem-angular 0.0.1-alpha.33 → 0.0.1-alpha.37

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.
Files changed (50) hide show
  1. package/fesm2022/ks-digital-designsystem-angular-__internals.mjs +77 -13
  2. package/fesm2022/ks-digital-designsystem-angular-__internals.mjs.map +1 -1
  3. package/fesm2022/ks-digital-designsystem-angular-alert.mjs +11 -12
  4. package/fesm2022/ks-digital-designsystem-angular-alert.mjs.map +1 -1
  5. package/fesm2022/ks-digital-designsystem-angular-button.mjs +17 -12
  6. package/fesm2022/ks-digital-designsystem-angular-button.mjs.map +1 -1
  7. package/fesm2022/ks-digital-designsystem-angular-card.mjs +13 -9
  8. package/fesm2022/ks-digital-designsystem-angular-card.mjs.map +1 -1
  9. package/fesm2022/ks-digital-designsystem-angular-chip.mjs +11 -7
  10. package/fesm2022/ks-digital-designsystem-angular-chip.mjs.map +1 -1
  11. package/fesm2022/ks-digital-designsystem-angular-details.mjs +22 -27
  12. package/fesm2022/ks-digital-designsystem-angular-details.mjs.map +1 -1
  13. package/fesm2022/ks-digital-designsystem-angular-forms.mjs +60 -46
  14. package/fesm2022/ks-digital-designsystem-angular-forms.mjs.map +1 -1
  15. package/fesm2022/ks-digital-designsystem-angular-link.mjs +31 -0
  16. package/fesm2022/ks-digital-designsystem-angular-link.mjs.map +1 -0
  17. package/fesm2022/ks-digital-designsystem-angular-pagination.mjs +36 -0
  18. package/fesm2022/ks-digital-designsystem-angular-pagination.mjs.map +1 -0
  19. package/fesm2022/ks-digital-designsystem-angular-paragraph.mjs +3 -3
  20. package/fesm2022/ks-digital-designsystem-angular-popover.mjs +20 -18
  21. package/fesm2022/ks-digital-designsystem-angular-popover.mjs.map +1 -1
  22. package/fesm2022/ks-digital-designsystem-angular-search.mjs +21 -17
  23. package/fesm2022/ks-digital-designsystem-angular-search.mjs.map +1 -1
  24. package/fesm2022/ks-digital-designsystem-angular-spinner.mjs +19 -20
  25. package/fesm2022/ks-digital-designsystem-angular-spinner.mjs.map +1 -1
  26. package/fesm2022/ks-digital-designsystem-angular-tabs.mjs +26 -18
  27. package/fesm2022/ks-digital-designsystem-angular-tabs.mjs.map +1 -1
  28. package/fesm2022/ks-digital-designsystem-angular-validation-message.mjs +3 -3
  29. package/link/README.md +3 -0
  30. package/package.json +26 -18
  31. package/pagination/README.md +3 -0
  32. package/types/ks-digital-designsystem-angular-__internals.d.ts +69 -0
  33. package/{alert/index.d.ts → types/ks-digital-designsystem-angular-alert.d.ts} +1 -5
  34. package/{button/index.d.ts → types/ks-digital-designsystem-angular-button.d.ts} +1 -1
  35. package/{card/index.d.ts → types/ks-digital-designsystem-angular-card.d.ts} +1 -1
  36. package/{chip/index.d.ts → types/ks-digital-designsystem-angular-chip.d.ts} +1 -1
  37. package/types/ks-digital-designsystem-angular-details.d.ts +25 -0
  38. package/{forms/index.d.ts → types/ks-digital-designsystem-angular-forms.d.ts} +5 -4
  39. package/types/ks-digital-designsystem-angular-link.d.ts +9 -0
  40. package/types/ks-digital-designsystem-angular-pagination.d.ts +9 -0
  41. package/{popover/index.d.ts → types/ks-digital-designsystem-angular-popover.d.ts} +2 -4
  42. package/{search/index.d.ts → types/ks-digital-designsystem-angular-search.d.ts} +1 -1
  43. package/types/ks-digital-designsystem-angular-spinner.d.ts +25 -0
  44. package/{tabs/index.d.ts → types/ks-digital-designsystem-angular-tabs.d.ts} +2 -2
  45. package/__internals/index.d.ts +0 -28
  46. package/details/index.d.ts +0 -26
  47. package/spinner/index.d.ts +0 -25
  48. /package/{paragraph/index.d.ts → types/ks-digital-designsystem-angular-paragraph.d.ts} +0 -0
  49. /package/{validation-message/index.d.ts → types/ks-digital-designsystem-angular-validation-message.d.ts} +0 -0
  50. /package/{index.d.ts → types/ks-digital-designsystem-angular.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ks-digital-designsystem-angular-tabs.mjs","sources":["../../../../packages/angular/tabs/src/tabs-tab.ts","../../../../packages/angular/tabs/src/tabs.ts","../../../../packages/angular/tabs/src/tabs-list.ts","../../../../packages/angular/tabs/src/tabs-panel.ts","../../../../packages/angular/tabs/src/ks-digital-designsystem-angular-tabs.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n signal,\n} from '@angular/core'\nimport {\n CommonInputs,\n randomId,\n} from '@ks-digital/designsystem-angular/__internals'\nimport { Tabs } from './tabs'\n\n@Component({\n selector: `button[ksd-tabs-tab]`,\n template: ` <ng-content /> `,\n host: {\n role: 'tab',\n class: 'ds-button',\n '[id]': 'buttonId()',\n '[attr.aria-controls]': 'ariaControls()',\n '[attr.aria-selected]': 'isSelected()',\n '[attr.tab-index]': 'isFocused() ? 0 : -1',\n '(click)': 'tabs.changeTab(value())',\n '(keydown)': 'tabs.onKeyDown($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n hostDirectives: [\n {\n directive: CommonInputs,\n inputs: ['data-size', 'data-color'],\n },\n ],\n})\nexport class TabsTab {\n /**\n * Unique value that will be set in the Tabs components state when the tab is activated\n */\n readonly value = input.required<string>()\n readonly id = input<string>()\n readonly elementRef = inject(ElementRef)\n readonly ariaControls = signal<string | undefined>(undefined)\n readonly buttonId = computed(() => this.id() ?? 'tab-' + randomId())\n\n protected tabs = inject(Tabs)\n protected isFocused = computed(\n () => this.tabs.focusedValue() === this.value(),\n )\n protected isSelected = computed(() => this.tabs.value() === this.value())\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n effect,\n input,\n model,\n signal,\n} from '@angular/core'\nimport { CommonInputs } from '@ks-digital/designsystem-angular/__internals'\nimport { TabsTab } from './tabs-tab'\n\n@Component({\n selector: `ksd-tabs`,\n template: `\n <div class=\"ds-tabs\">\n <ng-content select=\"ksd-tabs-list\" />\n <ng-content select=\"ksd-tabs-panel\" />\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: CommonInputs,\n inputs: ['data-size', 'data-color'],\n },\n ],\n})\nexport class Tabs {\n readonly defaultValue = input<string>()\n readonly value = model<string>('')\n readonly focusedValue = computed(() =>\n this.tabs()[this.focusedIndex()]?.value(),\n )\n readonly tabs = contentChildren(TabsTab, { descendants: true })\n private focusedIndex = signal<number>(0)\n\n constructor() {\n effect(() => {\n if (!this.value()) {\n const value = this.defaultValue()\n if (undefined !== value) {\n this.changeTab(value)\n }\n }\n })\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowLeft':\n case 'ArrowUp':\n this.focusTab(\n (this.focusedIndex() + this.tabs().length - 1) % this.tabs().length,\n )\n event.preventDefault()\n break\n case 'ArrowRight':\n case 'ArrowDown':\n this.focusTab((this.focusedIndex() + 1) % this.tabs().length)\n event.preventDefault()\n break\n case 'Enter':\n case 'Space':\n {\n const value = this.focusedValue()\n if (value) {\n this.changeTab(value)\n }\n }\n event.preventDefault()\n break\n case 'Home':\n this.focusTab(0)\n event.preventDefault()\n break\n case 'End':\n this.focusTab(this.tabs().length - 1)\n event.preventDefault()\n break\n }\n }\n\n public changeTab(value: string) {\n const index = this.tabs().findIndex((tab) => tab.value() === value)\n this.value.set(value)\n this.focusTab(index)\n }\n\n private focusTab(index: number) {\n this.focusedIndex.set(index)\n this.tabs()[index]?.elementRef.nativeElement.focus()\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: `ksd-tabs-list`,\n template: `<ng-content select=\"button[ksd-tabs-tab]\" />`,\n host: {\n role: 'tablist',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsList {}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n inject,\n input,\n signal,\n} from '@angular/core'\nimport { randomId } from '@ks-digital/designsystem-angular/__internals'\nimport { Tabs } from './tabs'\n\n@Component({\n selector: `ksd-tabs-panel`,\n template: `<ng-content />`,\n host: {\n role: 'tabpanel',\n '[id]': 'panelId()',\n '[hidden]': '!isSelected()',\n '[attr.aria-labelledby]': 'labelledBy()',\n '[tabIndex]': 'tabIndex()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsPanel implements AfterContentInit {\n private elementRef = inject(ElementRef)\n private group = inject(Tabs)\n private hasTabbableElement = signal(false)\n\n /**\n * When this value is selected as the current state, render this TabsPanel component. Must match the value of a Tabs.Tab component.\n */\n readonly value = input.required<string>()\n readonly id = input<string>()\n\n protected readonly labelledBy = computed(() =>\n this.group\n .tabs()\n .find((tab) => tab.value() === this.value())\n ?.buttonId(),\n )\n protected readonly panelId = computed(\n () => this.id() ?? 'tabpanel-' + randomId(),\n )\n protected isSelected = computed(() => this.group.value() === this.value())\n protected tabIndex = computed(() => (this.hasTabbableElement() ? -1 : 0))\n\n constructor() {\n effect(() => {\n this.group\n .tabs()\n .find((tab) => tab.value() === this.value())\n ?.ariaControls.set(this.panelId())\n })\n }\n\n ngAfterContentInit(): void {\n this.hasTabbableElement.set(\n this.elementRef.nativeElement.querySelector(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n ),\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ks-digital-designsystem-angular-tabs.mjs","sources":["../../../../packages/angular/tabs/src/tabs-tab.ts","../../../../packages/angular/tabs/src/tabs.ts","../../../../packages/angular/tabs/src/tabs-list.ts","../../../../packages/angular/tabs/src/tabs-panel.ts","../../../../packages/angular/tabs/src/ks-digital-designsystem-angular-tabs.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n signal,\n} from '@angular/core'\nimport {\n HostColor,\n HostSize,\n randomId,\n} from '@ks-digital/designsystem-angular/__internals'\nimport { Tabs } from './tabs'\n\n@Component({\n selector: `button[ksd-tabs-tab]`,\n template: ` <ng-content /> `,\n host: {\n role: 'tab',\n class: 'ds-button',\n '[id]': 'buttonId()',\n '[attr.aria-controls]': 'ariaControls()',\n '[attr.aria-selected]': 'isSelected()',\n '[attr.tab-index]': 'isFocused() ? 0 : -1',\n '(click)': 'tabs.changeTab(value())',\n '(keydown)': 'tabs.onKeyDown($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n hostDirectives: [\n {\n directive: HostSize,\n inputs: ['data-size'],\n },\n {\n directive: HostColor,\n inputs: ['data-color'],\n },\n ],\n})\nexport class TabsTab {\n /**\n * Unique value that will be set in the Tabs components state when the tab is activated\n */\n readonly value = input.required<string>()\n readonly id = input<string>()\n readonly elementRef = inject(ElementRef)\n readonly ariaControls = signal<string | undefined>(undefined)\n readonly buttonId = computed(() => this.id() ?? 'tab-' + randomId())\n\n protected tabs = inject(Tabs)\n protected isFocused = computed(\n () => this.tabs.focusedValue() === this.value(),\n )\n protected isSelected = computed(() => this.tabs.value() === this.value())\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n effect,\n input,\n model,\n signal,\n} from '@angular/core'\nimport {\n HostColor,\n HostSize,\n} from '@ks-digital/designsystem-angular/__internals'\nimport { TabsTab } from './tabs-tab'\n\n@Component({\n selector: `ksd-tabs`,\n template: `\n <div class=\"ds-tabs\">\n <ng-content select=\"ksd-tabs-list\" />\n <ng-content select=\"ksd-tabs-panel\" />\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: HostSize,\n inputs: ['data-size'],\n },\n {\n directive: HostColor,\n inputs: ['data-color'],\n },\n ],\n})\nexport class Tabs {\n readonly defaultValue = input<string>()\n readonly value = model<string>('')\n readonly focusedValue = computed(() =>\n this.tabs()[this.focusedIndex()]?.value(),\n )\n readonly tabs = contentChildren(TabsTab, { descendants: true })\n private focusedIndex = signal<number>(0)\n\n constructor() {\n effect(() => {\n if (!this.value()) {\n const value = this.defaultValue()\n if (undefined !== value) {\n this.changeTab(value)\n }\n }\n })\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowLeft':\n case 'ArrowUp':\n this.focusTab(\n (this.focusedIndex() + this.tabs().length - 1) % this.tabs().length,\n )\n event.preventDefault()\n break\n case 'ArrowRight':\n case 'ArrowDown':\n this.focusTab((this.focusedIndex() + 1) % this.tabs().length)\n event.preventDefault()\n break\n case 'Enter':\n case 'Space':\n {\n const value = this.focusedValue()\n if (value) {\n this.changeTab(value)\n }\n }\n event.preventDefault()\n break\n case 'Home':\n this.focusTab(0)\n event.preventDefault()\n break\n case 'End':\n this.focusTab(this.tabs().length - 1)\n event.preventDefault()\n break\n }\n }\n\n public changeTab(value: string) {\n const index = this.tabs().findIndex((tab) => tab.value() === value)\n this.value.set(value)\n this.focusTab(index)\n }\n\n private focusTab(index: number) {\n this.focusedIndex.set(index)\n this.tabs()[index]?.elementRef.nativeElement.focus()\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: `ksd-tabs-list`,\n template: `<ng-content select=\"button[ksd-tabs-tab]\" />`,\n host: {\n role: 'tablist',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsList {}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n inject,\n input,\n signal,\n} from '@angular/core'\nimport { randomId } from '@ks-digital/designsystem-angular/__internals'\nimport { Tabs } from './tabs'\n\n@Component({\n selector: `ksd-tabs-panel`,\n template: `<ng-content />`,\n host: {\n role: 'tabpanel',\n '[id]': 'panelId()',\n '[hidden]': '!isSelected()',\n '[attr.aria-labelledby]': 'labelledBy()',\n '[tabIndex]': 'tabIndex()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsPanel implements AfterContentInit {\n private elementRef = inject(ElementRef)\n private group = inject(Tabs)\n private hasTabbableElement = signal(false)\n\n /**\n * When this value is selected as the current state, render this TabsPanel component. Must match the value of a Tabs.Tab component.\n */\n readonly value = input.required<string>()\n readonly id = input<string>()\n\n protected readonly labelledBy = computed(() =>\n this.group\n .tabs()\n .find((tab) => tab.value() === this.value())\n ?.buttonId(),\n )\n protected readonly panelId = computed(\n () => this.id() ?? 'tabpanel-' + randomId(),\n )\n protected isSelected = computed(() => this.group.value() === this.value())\n protected tabIndex = computed(() => (this.hasTabbableElement() ? -1 : 0))\n\n constructor() {\n effect(() => {\n this.group\n .tabs()\n .find((tab) => tab.value() === this.value())\n ?.ariaControls.set(this.panelId())\n })\n }\n\n ngAfterContentInit(): void {\n this.hasTabbableElement.set(\n this.elementRef.nativeElement.querySelector(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n ),\n )\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@ import * as i0 from '@angular/core';
2
2
  import { Directive } from '@angular/core';
3
3
 
4
4
  class ValidationMessage {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ValidationMessage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: ValidationMessage, isStandalone: true, selector: "[ksd-validation-message]", host: { attributes: { "data-field": "validation" }, classAttribute: "ds-validation-message" }, ngImport: i0 });
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ValidationMessage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: ValidationMessage, isStandalone: true, selector: "[ksd-validation-message]", host: { attributes: { "data-field": "validation" }, classAttribute: "ds-validation-message" }, ngImport: i0 });
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ValidationMessage, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ValidationMessage, decorators: [{
9
9
  type: Directive,
10
10
  args: [{
11
11
  // eslint-disable-next-line @angular-eslint/directive-selector
package/link/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/link
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/link`.
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "url": "https://github.com/ks-no/designsystem.git",
6
6
  "directory": "packages/angular"
7
7
  },
8
- "version": "0.0.1-alpha.33",
8
+ "version": "0.0.1-alpha.37",
9
9
  "license": "MIT",
10
10
  "private": false,
11
11
  "publishConfig": {
@@ -17,69 +17,77 @@
17
17
  "tslib": "^2.3.0"
18
18
  },
19
19
  "peerDependencies": {
20
- "@angular/common": ">= 20.0.0 < 21.0.0",
21
- "@angular/core": ">= 20.0.0 < 21.0.0"
20
+ "@angular/common": ">= 21.0.0",
21
+ "@angular/core": ">= 21.0.0"
22
22
  },
23
23
  "module": "fesm2022/ks-digital-designsystem-angular.mjs",
24
- "typings": "index.d.ts",
24
+ "typings": "types/ks-digital-designsystem-angular.d.ts",
25
25
  "exports": {
26
26
  "./package.json": {
27
27
  "default": "./package.json"
28
28
  },
29
29
  ".": {
30
- "types": "./index.d.ts",
30
+ "types": "./types/ks-digital-designsystem-angular.d.ts",
31
31
  "default": "./fesm2022/ks-digital-designsystem-angular.mjs"
32
32
  },
33
33
  "./__internals": {
34
- "types": "./__internals/index.d.ts",
34
+ "types": "./types/ks-digital-designsystem-angular-__internals.d.ts",
35
35
  "default": "./fesm2022/ks-digital-designsystem-angular-__internals.mjs"
36
36
  },
37
37
  "./alert": {
38
- "types": "./alert/index.d.ts",
38
+ "types": "./types/ks-digital-designsystem-angular-alert.d.ts",
39
39
  "default": "./fesm2022/ks-digital-designsystem-angular-alert.mjs"
40
40
  },
41
41
  "./button": {
42
- "types": "./button/index.d.ts",
42
+ "types": "./types/ks-digital-designsystem-angular-button.d.ts",
43
43
  "default": "./fesm2022/ks-digital-designsystem-angular-button.mjs"
44
44
  },
45
45
  "./card": {
46
- "types": "./card/index.d.ts",
46
+ "types": "./types/ks-digital-designsystem-angular-card.d.ts",
47
47
  "default": "./fesm2022/ks-digital-designsystem-angular-card.mjs"
48
48
  },
49
49
  "./chip": {
50
- "types": "./chip/index.d.ts",
50
+ "types": "./types/ks-digital-designsystem-angular-chip.d.ts",
51
51
  "default": "./fesm2022/ks-digital-designsystem-angular-chip.mjs"
52
52
  },
53
53
  "./details": {
54
- "types": "./details/index.d.ts",
54
+ "types": "./types/ks-digital-designsystem-angular-details.d.ts",
55
55
  "default": "./fesm2022/ks-digital-designsystem-angular-details.mjs"
56
56
  },
57
57
  "./forms": {
58
- "types": "./forms/index.d.ts",
58
+ "types": "./types/ks-digital-designsystem-angular-forms.d.ts",
59
59
  "default": "./fesm2022/ks-digital-designsystem-angular-forms.mjs"
60
60
  },
61
+ "./link": {
62
+ "types": "./types/ks-digital-designsystem-angular-link.d.ts",
63
+ "default": "./fesm2022/ks-digital-designsystem-angular-link.mjs"
64
+ },
65
+ "./pagination": {
66
+ "types": "./types/ks-digital-designsystem-angular-pagination.d.ts",
67
+ "default": "./fesm2022/ks-digital-designsystem-angular-pagination.mjs"
68
+ },
61
69
  "./paragraph": {
62
- "types": "./paragraph/index.d.ts",
70
+ "types": "./types/ks-digital-designsystem-angular-paragraph.d.ts",
63
71
  "default": "./fesm2022/ks-digital-designsystem-angular-paragraph.mjs"
64
72
  },
65
73
  "./popover": {
66
- "types": "./popover/index.d.ts",
74
+ "types": "./types/ks-digital-designsystem-angular-popover.d.ts",
67
75
  "default": "./fesm2022/ks-digital-designsystem-angular-popover.mjs"
68
76
  },
69
77
  "./search": {
70
- "types": "./search/index.d.ts",
78
+ "types": "./types/ks-digital-designsystem-angular-search.d.ts",
71
79
  "default": "./fesm2022/ks-digital-designsystem-angular-search.mjs"
72
80
  },
73
81
  "./spinner": {
74
- "types": "./spinner/index.d.ts",
82
+ "types": "./types/ks-digital-designsystem-angular-spinner.d.ts",
75
83
  "default": "./fesm2022/ks-digital-designsystem-angular-spinner.mjs"
76
84
  },
77
85
  "./tabs": {
78
- "types": "./tabs/index.d.ts",
86
+ "types": "./types/ks-digital-designsystem-angular-tabs.d.ts",
79
87
  "default": "./fesm2022/ks-digital-designsystem-angular-tabs.mjs"
80
88
  },
81
89
  "./validation-message": {
82
- "types": "./validation-message/index.d.ts",
90
+ "types": "./types/ks-digital-designsystem-angular-validation-message.d.ts",
83
91
  "default": "./fesm2022/ks-digital-designsystem-angular-validation-message.mjs"
84
92
  }
85
93
  },
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/pagination
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/pagination`.
@@ -0,0 +1,69 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ColorDefinitions, SeverityColorDefinitions } from '@ks-digital/designsystem-themes/types';
3
+ export { ColorDefinitions as Color, SeverityColorDefinitions as SeverityColors, SizeDefinition as Size } from '@ks-digital/designsystem-themes/types';
4
+
5
+ /**
6
+ * @deprecated Use individual directives instead
7
+ */
8
+ declare class CommonInputs {
9
+ /**
10
+ * Changes size for descendant Designsystemet components. Select from predefined sizes.
11
+ * @attribute data-size
12
+ */
13
+ readonly dataSize: i0.InputSignal<string | number | symbol | undefined>;
14
+ /**
15
+ * Changes color for descendant Designsystemet components.
16
+ * Select from predefined colors and colors defined in theme.
17
+ * @attribute data-color
18
+ */
19
+ readonly dataColor: i0.InputSignal<keyof ColorDefinitions | undefined>;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<CommonInputs, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CommonInputs, never, never, { "dataSize": { "alias": "data-size"; "required": false; "isSignal": true; }; "dataColor": { "alias": "data-color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
22
+ }
23
+ /**
24
+ * Applies data-size attribute to host-element.
25
+ */
26
+ declare class HostSize {
27
+ /**
28
+ * Changes size for descendant Designsystemet components. Select from predefined sizes.
29
+ * @attribute data-size
30
+ */
31
+ readonly dataSize: i0.InputSignal<string | number | symbol | undefined>;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<HostSize, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HostSize, never, never, { "dataSize": { "alias": "data-size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
34
+ }
35
+ /**
36
+ * Applies data-color attribute to host-element for all colors, including severity colors.
37
+ */
38
+ declare class HostColor {
39
+ /**
40
+ * Changes color for descendant Designsystemet components.
41
+ * Select from predefined colors and colors defined in theme.
42
+ * @attribute data-color
43
+ */
44
+ readonly dataColor: i0.InputSignal<keyof ColorDefinitions | keyof SeverityColorDefinitions | undefined>;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<HostColor, never>;
46
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HostColor, never, never, { "dataColor": { "alias": "data-color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
47
+ }
48
+ /**
49
+ * Applies data-color attribute to host-element for severity colors.
50
+ */
51
+ declare class HostSeverityColors {
52
+ /**
53
+ * Changes color for descendant Designsystemet components.
54
+ * Select from predefined colors and colors defined in theme.
55
+ * @attribute data-color
56
+ */
57
+ readonly dataColor: i0.InputSignal<keyof SeverityColorDefinitions | undefined>;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<HostSeverityColors, never>;
59
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HostSeverityColors, never, never, { "dataColor": { "alias": "data-color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
60
+ }
61
+
62
+ declare const logIfDevMode: ({ component, message, }: {
63
+ component: string;
64
+ message: string;
65
+ }) => void;
66
+
67
+ declare const randomId: () => string;
68
+
69
+ export { CommonInputs, HostColor, HostSeverityColors, HostSize, logIfDevMode, randomId };
@@ -5,12 +5,8 @@ import * as i1 from '@ks-digital/designsystem-angular/__internals';
5
5
  * Alerts are used to inform users about important information, warnings, errors, or success.
6
6
  */
7
7
  declare class Alert {
8
- /**
9
- * The color variant of the alert.
10
- */
11
- dataColor: i0.InputSignal<string | undefined>;
12
8
  static ɵfac: i0.ɵɵFactoryDeclaration<Alert, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<Alert, "ksd-alert", never, { "dataColor": { "alias": "data-color"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CommonInputs; inputs: { "data-size": "data-size"; }; outputs: {}; }]>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<Alert, "ksd-alert", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostSeverityColors; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
14
10
  }
15
11
 
16
12
  export { Alert };
@@ -23,7 +23,7 @@ declare class Button {
23
23
  */
24
24
  readonly icon: _angular_core.InputSignalWithTransform<boolean, unknown>;
25
25
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<Button, never>;
26
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Button, "button[ksd-button], a[ksd-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CommonInputs; inputs: { "data-size": "data-size"; "data-color": "data-color"; }; outputs: {}; }]>;
26
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Button, "button[ksd-button], a[ksd-button]", never, { "variant": { "alias": "data-variant"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "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: {}; }]>;
27
27
  }
28
28
 
29
29
  export { Button };
@@ -11,7 +11,7 @@ declare class Card {
11
11
  private projectedLink;
12
12
  protected handleClick: (event: MouseEvent) => void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<Card, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<Card, "[ksd-card]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CommonInputs; inputs: { "data-size": "data-size"; "data-color": "data-color"; }; outputs: {}; }]>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<Card, "[ksd-card]", never, { "variant": { "alias": "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: {}; }]>;
15
15
  }
16
16
 
17
17
  declare class CardBlock {
@@ -9,7 +9,7 @@ declare class Chip {
9
9
  */
10
10
  dataRemovable: i0.InputSignal<boolean>;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<Chip, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<Chip, "label[ksd-chip], button[ksd-chip]", never, { "dataRemovable": { "alias": "data-removable"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CommonInputs; inputs: { "data-size": "data-size"; "data-color": "data-color"; }; outputs: {}; }]>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<Chip, "label[ksd-chip], button[ksd-chip]", never, { "dataRemovable": { "alias": "data-removable"; "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
13
  }
14
14
 
15
15
  export { Chip };
@@ -0,0 +1,25 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
3
+
4
+ declare class Details {
5
+ readonly variant: i0.InputSignal<"tinted" | "default">;
6
+ readonly defaultOpen: i0.InputSignal<boolean>;
7
+ readonly open: i0.InputSignal<boolean | undefined>;
8
+ readonly toggled: i0.OutputEmitterRef<Event>;
9
+ private detailsRef;
10
+ onToggle(event: Event): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<Details, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<Details, "ksd-details", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "toggled": "toggled"; }, never, ["ksd-details-summary", "ksd-details-content"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
13
+ }
14
+
15
+ declare class DetailsContent {
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<DetailsContent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<DetailsContent, "ksd-details-content", never, {}, {}, never, ["*"], true, never>;
18
+ }
19
+
20
+ declare class DetailsSummary {
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<DetailsSummary, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<DetailsSummary, "ksd-details-summary", never, {}, {}, never, ["*"], true, never>;
23
+ }
24
+
25
+ export { Details, DetailsContent, DetailsSummary };
@@ -20,7 +20,7 @@ declare class Field {
20
20
  protected readonly hasCounter: i0.Signal<any>;
21
21
  constructor();
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<Field, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<Field, "ksd-field", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, ["input", "projectedErrors"], ["*"], true, [{ directive: typeof i1.CommonInputs; inputs: { "data-size": "data-size"; "data-color": "data-color"; }; outputs: {}; }]>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<Field, "ksd-field", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, ["input", "projectedErrors"], ["*"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
24
24
  }
25
25
 
26
26
  declare class FieldDescription {
@@ -69,7 +69,7 @@ declare class Input {
69
69
  /**
70
70
  * The value of the input
71
71
  */
72
- value: i0.WritableSignal<string>;
72
+ value: i0.WritableSignal<string | undefined>;
73
73
  /**
74
74
  * Whether the input is readonly
75
75
  */
@@ -88,13 +88,14 @@ declare class Input {
88
88
  counter: i0.InputSignalWithTransform<number, unknown>;
89
89
  protected fieldState: FieldState | null;
90
90
  onClick(event: Event): void;
91
+ onInput(event: Event): void;
91
92
  static ɵfac: i0.ɵɵFactoryDeclaration<Input, never>;
92
- static ɵdir: i0.ɵɵDirectiveDeclaration<Input, "input[ksd-input], textarea[ksd-input], select[ksd-input]", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaInvalid": { "alias": "aria-invalid"; "required": false; "isSignal": true; }; "counter": { "alias": "counter"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CommonInputs; inputs: { "data-size": "data-size"; "data-color": "data-color"; }; outputs: {}; }]>;
93
+ static ɵdir: i0.ɵɵDirectiveDeclaration<Input, "input[ksd-input], textarea[ksd-input], select[ksd-input]", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaInvalid": { "alias": "aria-invalid"; "required": false; "isSignal": true; }; "counter": { "alias": "counter"; "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: {}; }]>;
93
94
  }
94
95
 
95
96
  declare class Label {
96
97
  static ɵfac: i0.ɵɵFactoryDeclaration<Label, never>;
97
- static ɵcmp: i0.ɵɵComponentDeclaration<Label, "ksd-label", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.CommonInputs; inputs: { "data-size": "data-size"; "data-color": "data-color"; }; outputs: {}; }]>;
98
+ static ɵcmp: i0.ɵɵComponentDeclaration<Label, "ksd-label", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
98
99
  }
99
100
 
100
101
  export { Field, FieldDescription, FieldError, FieldState, Fieldset, FieldsetDescription, FieldsetLegend, Input, Label };
@@ -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,9 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
3
+
4
+ declare class Pagination {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<Pagination, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<Pagination, "[ksd-pagination]", 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 { Pagination };
@@ -1,6 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Placement } from '@floating-ui/dom';
3
- import { Size } from '@ks-digital/designsystem-angular/__internals';
3
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
4
4
 
5
5
  declare class Popover {
6
6
  readonly popoverId: _angular_core.InputSignal<string>;
@@ -12,14 +12,12 @@ declare class Popover {
12
12
  protected readonly internalOpen: _angular_core.WritableSignal<boolean>;
13
13
  protected readonly controlledOpen: _angular_core.Signal<boolean>;
14
14
  readonly variant: _angular_core.InputSignal<"tinted" | "default">;
15
- readonly dataSize: _angular_core.InputSignal<Size>;
16
- readonly dataColor: _angular_core.InputSignal<string>;
17
15
  private popoverRef;
18
16
  controlledComponent: _angular_core.EffectRef;
19
17
  positionPopover: _angular_core.EffectRef;
20
18
  arrowPseudoElement: any;
21
19
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<Popover, never>;
22
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Popover, "ksd-popover", never, { "popoverId": { "alias": "popoverId"; "required": true; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "autoPlacement": { "alias": "autoPlacement"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "dataSize": { "alias": "data-size"; "required": false; "isSignal": true; }; "dataColor": { "alias": "data-color"; "required": false; "isSignal": true; }; }, { "triggeredClose": "triggeredClose"; "triggeredOpen": "triggeredOpen"; }, never, ["*"], true, never>;
20
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Popover, "ksd-popover", never, { "popoverId": { "alias": "popoverId"; "required": true; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "autoPlacement": { "alias": "autoPlacement"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "triggeredClose": "triggeredClose"; "triggeredOpen": "triggeredOpen"; }, never, ["*"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
23
21
  }
24
22
 
25
23
  export { Popover };
@@ -18,7 +18,7 @@ declare class Search {
18
18
  private readonly input;
19
19
  constructor();
20
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.CommonInputs; inputs: { "data-size": "data-size"; "data-color": "data-color"; }; outputs: {}; }]>;
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
22
  }
23
23
 
24
24
  /**
@@ -0,0 +1,25 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { SizeDefinition } from '@ks-digital/designsystem-themes/types';
3
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
4
+
5
+ type SpinnerSize = keyof SizeDefinition | 'xs' | 'xl' | '2xs';
6
+
7
+ declare class Spinner {
8
+ /**
9
+ * Aria-label for the spinner
10
+ */
11
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
12
+ /**
13
+ * Aria-hidden for the spinner
14
+ */
15
+ readonly ariaHidden: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
16
+ /**
17
+ * Changes size for descendant Designsystemet components. Select from predefined sizes.
18
+ * @attribute data-size
19
+ */
20
+ readonly dataSize: _angular_core.InputSignal<SpinnerSize | undefined>;
21
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Spinner, never>;
22
+ 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: {}; }]>;
23
+ }
24
+
25
+ export { Spinner };
@@ -15,7 +15,7 @@ declare class TabsTab {
15
15
  protected isFocused: _angular_core.Signal<boolean>;
16
16
  protected isSelected: _angular_core.Signal<boolean>;
17
17
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabsTab, never>;
18
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsTab, "button[ksd-tabs-tab]", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CommonInputs; inputs: { "data-size": "data-size"; "data-color": "data-color"; }; outputs: {}; }]>;
18
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsTab, "button[ksd-tabs-tab]", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "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: {}; }]>;
19
19
  }
20
20
 
21
21
  declare class Tabs {
@@ -29,7 +29,7 @@ declare class Tabs {
29
29
  changeTab(value: string): void;
30
30
  private focusTab;
31
31
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<Tabs, never>;
32
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Tabs, "ksd-tabs", never, { "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["tabs"], ["ksd-tabs-list", "ksd-tabs-panel"], true, [{ directive: typeof i1.CommonInputs; inputs: { "data-size": "data-size"; "data-color": "data-color"; }; outputs: {}; }]>;
32
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Tabs, "ksd-tabs", never, { "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["tabs"], ["ksd-tabs-list", "ksd-tabs-panel"], true, [{ directive: typeof i1.HostSize; inputs: { "data-size": "data-size"; }; outputs: {}; }, { directive: typeof i1.HostColor; inputs: { "data-color": "data-color"; }; outputs: {}; }]>;
33
33
  }
34
34
 
35
35
  declare class TabsList {
@@ -1,28 +0,0 @@
1
- import * as _angular_core from '@angular/core';
2
- import { Size } from '@digdir/designsystemet/types';
3
- export { Color, SeverityColors, Size } from '@digdir/designsystemet/types';
4
-
5
- declare class CommonInputs {
6
- /**
7
- * Changes size for descendant Designsystemet components. Select from predefined sizes.
8
- * @attribute data-size
9
- */
10
- dataSize: _angular_core.InputSignal<Size | undefined>;
11
- /**
12
- * Changes color for descendant Designsystemet components.
13
- * Select from predefined colors and colors defined using theme.designsystemet.no.
14
- * @attribute data-color
15
- */
16
- dataColor: _angular_core.InputSignal<string | undefined>;
17
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommonInputs, never>;
18
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CommonInputs, never, never, { "dataSize": { "alias": "data-size"; "required": false; "isSignal": true; }; "dataColor": { "alias": "data-color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
19
- }
20
-
21
- declare const logIfDevMode: ({ component, message, }: {
22
- component: string;
23
- message: string;
24
- }) => void;
25
-
26
- declare const randomId: () => string;
27
-
28
- export { CommonInputs, logIfDevMode, randomId };
@@ -1,26 +0,0 @@
1
- import * as _angular_core from '@angular/core';
2
-
3
- declare class Details {
4
- readonly dataSize: _angular_core.InputSignal<"sm" | "md" | "lg" | undefined>;
5
- readonly dataColor: _angular_core.InputSignal<string | undefined>;
6
- readonly variant: _angular_core.InputSignal<"tinted" | "default">;
7
- readonly defaultOpen: _angular_core.InputSignal<boolean>;
8
- readonly open: _angular_core.InputSignal<boolean | undefined>;
9
- readonly toggled: _angular_core.OutputEmitterRef<Event>;
10
- private detailsRef;
11
- onToggle(event: Event): void;
12
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<Details, never>;
13
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Details, "ksd-details", never, { "dataSize": { "alias": "data-size"; "required": false; "isSignal": true; }; "dataColor": { "alias": "data-color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "toggled": "toggled"; }, never, ["ksd-details-summary", "ksd-details-content"], true, never>;
14
- }
15
-
16
- declare class DetailsContent {
17
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetailsContent, never>;
18
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DetailsContent, "ksd-details-content", never, {}, {}, never, ["*"], true, never>;
19
- }
20
-
21
- declare class DetailsSummary {
22
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetailsSummary, never>;
23
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DetailsSummary, "ksd-details-summary", never, {}, {}, never, ["*"], true, never>;
24
- }
25
-
26
- export { Details, DetailsContent, DetailsSummary };
@@ -1,25 +0,0 @@
1
- import * as _angular_core from '@angular/core';
2
- import { Size } 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-label for the spinner
11
- */
12
- readonly dataSize: _angular_core.InputSignal<Size | undefined>;
13
- /**
14
- * Aria-label for the spinner
15
- */
16
- readonly dataColor: _angular_core.InputSignal<Size | undefined>;
17
- /**
18
- * Aria-hidden for the spinner
19
- */
20
- readonly ariaHidden: _angular_core.InputSignalWithTransform<boolean | undefined, unknown>;
21
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<Spinner, never>;
22
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Spinner, "ksd-spinner", never, { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "dataSize": { "alias": "data-size"; "required": false; "isSignal": true; }; "dataColor": { "alias": "data-color"; "required": false; "isSignal": true; }; "ariaHidden": { "alias": "aria-hidden"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
23
- }
24
-
25
- export { Spinner };