@ks-digital/designsystem-angular 0.0.1-alpha.5 → 0.0.1-alpha.50

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 (127) hide show
  1. package/README.md +23 -11
  2. package/__internals/README.md +3 -0
  3. package/alert/README.md +3 -0
  4. package/breadcrumbs/README.md +3 -0
  5. package/button/README.md +3 -0
  6. package/card/README.md +3 -0
  7. package/details/README.md +3 -0
  8. package/error-summary/README.md +3 -0
  9. package/fesm2022/ks-digital-designsystem-angular-__internals.mjs +82 -0
  10. package/fesm2022/ks-digital-designsystem-angular-__internals.mjs.map +1 -0
  11. package/fesm2022/ks-digital-designsystem-angular-alert.mjs +34 -0
  12. package/fesm2022/ks-digital-designsystem-angular-alert.mjs.map +1 -0
  13. package/fesm2022/ks-digital-designsystem-angular-breadcrumbs.mjs +59 -0
  14. package/fesm2022/ks-digital-designsystem-angular-breadcrumbs.mjs.map +1 -0
  15. package/fesm2022/ks-digital-designsystem-angular-button.mjs +72 -0
  16. package/fesm2022/ks-digital-designsystem-angular-button.mjs.map +1 -0
  17. package/fesm2022/ks-digital-designsystem-angular-card.mjs +86 -0
  18. package/fesm2022/ks-digital-designsystem-angular-card.mjs.map +1 -0
  19. package/fesm2022/ks-digital-designsystem-angular-chip.mjs +43 -0
  20. package/fesm2022/ks-digital-designsystem-angular-chip.mjs.map +1 -0
  21. package/fesm2022/ks-digital-designsystem-angular-details.mjs +64 -0
  22. package/fesm2022/ks-digital-designsystem-angular-details.mjs.map +1 -0
  23. package/fesm2022/ks-digital-designsystem-angular-error-summary.mjs +49 -0
  24. package/fesm2022/ks-digital-designsystem-angular-error-summary.mjs.map +1 -0
  25. package/fesm2022/ks-digital-designsystem-angular-forms.mjs +209 -0
  26. package/fesm2022/ks-digital-designsystem-angular-forms.mjs.map +1 -0
  27. package/fesm2022/ks-digital-designsystem-angular-heading.mjs +40 -0
  28. package/fesm2022/ks-digital-designsystem-angular-heading.mjs.map +1 -0
  29. package/fesm2022/ks-digital-designsystem-angular-link.mjs +31 -0
  30. package/fesm2022/ks-digital-designsystem-angular-link.mjs.map +1 -0
  31. package/fesm2022/ks-digital-designsystem-angular-pagination.mjs +143 -0
  32. package/fesm2022/ks-digital-designsystem-angular-pagination.mjs.map +1 -0
  33. package/fesm2022/ks-digital-designsystem-angular-paragraph.mjs +25 -0
  34. package/fesm2022/ks-digital-designsystem-angular-paragraph.mjs.map +1 -0
  35. package/fesm2022/ks-digital-designsystem-angular-popover.mjs +46 -0
  36. package/fesm2022/ks-digital-designsystem-angular-popover.mjs.map +1 -0
  37. package/fesm2022/ks-digital-designsystem-angular-search.mjs +183 -0
  38. package/fesm2022/ks-digital-designsystem-angular-search.mjs.map +1 -0
  39. package/fesm2022/ks-digital-designsystem-angular-spinner.mjs +87 -0
  40. package/fesm2022/ks-digital-designsystem-angular-spinner.mjs.map +1 -0
  41. package/fesm2022/ks-digital-designsystem-angular-suggestion.mjs +281 -0
  42. package/fesm2022/ks-digital-designsystem-angular-suggestion.mjs.map +1 -0
  43. package/fesm2022/ks-digital-designsystem-angular-table.mjs +105 -0
  44. package/fesm2022/ks-digital-designsystem-angular-table.mjs.map +1 -0
  45. package/fesm2022/ks-digital-designsystem-angular-tabs.mjs +120 -0
  46. package/fesm2022/ks-digital-designsystem-angular-tabs.mjs.map +1 -0
  47. package/fesm2022/ks-digital-designsystem-angular-tag.mjs +38 -0
  48. package/fesm2022/ks-digital-designsystem-angular-tag.mjs.map +1 -0
  49. package/fesm2022/ks-digital-designsystem-angular-validation-message.mjs +25 -0
  50. package/fesm2022/ks-digital-designsystem-angular-validation-message.mjs.map +1 -0
  51. package/fesm2022/ks-digital-designsystem-angular.mjs +7 -0
  52. package/fesm2022/ks-digital-designsystem-angular.mjs.map +1 -0
  53. package/forms/README.md +3 -0
  54. package/heading/README.md +3 -0
  55. package/link/README.md +3 -0
  56. package/package.json +101 -31
  57. package/pagination/README.md +3 -0
  58. package/paragraph/README.md +3 -0
  59. package/popover/README.md +3 -0
  60. package/search/README.md +3 -0
  61. package/spinner/README.md +3 -0
  62. package/suggestion/README.md +3 -0
  63. package/table/README.md +3 -0
  64. package/tabs/README.md +3 -0
  65. package/tag/README.md +3 -0
  66. package/types/ks-digital-designsystem-angular-__internals.d.ts +51 -0
  67. package/types/ks-digital-designsystem-angular-alert.d.ts +12 -0
  68. package/types/ks-digital-designsystem-angular-breadcrumbs.d.ts +13 -0
  69. package/types/ks-digital-designsystem-angular-button.d.ts +30 -0
  70. package/types/ks-digital-designsystem-angular-card.d.ts +24 -0
  71. package/types/ks-digital-designsystem-angular-chip.d.ts +15 -0
  72. package/types/ks-digital-designsystem-angular-details.d.ts +20 -0
  73. package/types/ks-digital-designsystem-angular-error-summary.d.ts +14 -0
  74. package/types/ks-digital-designsystem-angular-forms.d.ts +71 -0
  75. package/types/ks-digital-designsystem-angular-heading.d.ts +19 -0
  76. package/types/ks-digital-designsystem-angular-link.d.ts +9 -0
  77. package/types/ks-digital-designsystem-angular-pagination.d.ts +58 -0
  78. package/types/ks-digital-designsystem-angular-paragraph.d.ts +8 -0
  79. package/types/ks-digital-designsystem-angular-popover.d.ts +13 -0
  80. package/types/ks-digital-designsystem-angular-search.d.ts +84 -0
  81. package/types/ks-digital-designsystem-angular-spinner.d.ts +22 -0
  82. package/types/ks-digital-designsystem-angular-suggestion.d.ts +97 -0
  83. package/types/ks-digital-designsystem-angular-table.d.ts +43 -0
  84. package/types/ks-digital-designsystem-angular-tabs.d.ts +31 -0
  85. package/types/ks-digital-designsystem-angular-tag.d.ts +15 -0
  86. package/types/ks-digital-designsystem-angular-validation-message.d.ts +8 -0
  87. package/types/ks-digital-designsystem-angular.d.ts +2 -0
  88. package/validation-message/README.md +3 -0
  89. package/dist/README.md +0 -43
  90. package/dist/components/checkbox/checkbox.d.ts +0 -4
  91. package/dist/components/checkbox/checkbox.d.ts.map +0 -1
  92. package/dist/components/checkbox/index.d.ts +0 -2
  93. package/dist/components/checkbox/index.d.ts.map +0 -1
  94. package/dist/components/colors.d.ts +0 -27
  95. package/dist/components/colors.d.ts.map +0 -1
  96. package/dist/components/common-inputs.d.ts +0 -15
  97. package/dist/components/common-inputs.d.ts.map +0 -1
  98. package/dist/components/field/field.d.ts +0 -15
  99. package/dist/components/field/field.d.ts.map +0 -1
  100. package/dist/components/field/index.d.ts +0 -2
  101. package/dist/components/field/index.d.ts.map +0 -1
  102. package/dist/components/fieldset/fieldset-description.d.ts +0 -3
  103. package/dist/components/fieldset/fieldset-description.d.ts.map +0 -1
  104. package/dist/components/fieldset/fieldset-legend.d.ts +0 -3
  105. package/dist/components/fieldset/fieldset-legend.d.ts.map +0 -1
  106. package/dist/components/fieldset/fieldset.d.ts +0 -3
  107. package/dist/components/fieldset/fieldset.d.ts.map +0 -1
  108. package/dist/components/fieldset/index.d.ts +0 -4
  109. package/dist/components/fieldset/index.d.ts.map +0 -1
  110. package/dist/components/label/index.d.ts +0 -2
  111. package/dist/components/label/index.d.ts.map +0 -1
  112. package/dist/components/label/label.d.ts +0 -4
  113. package/dist/components/label/label.d.ts.map +0 -1
  114. package/dist/components/paragraph/index.d.ts +0 -2
  115. package/dist/components/paragraph/index.d.ts.map +0 -1
  116. package/dist/components/paragraph/paragraph.d.ts +0 -3
  117. package/dist/components/paragraph/paragraph.d.ts.map +0 -1
  118. package/dist/components/validation-message/index.d.ts +0 -2
  119. package/dist/components/validation-message/index.d.ts.map +0 -1
  120. package/dist/components/validation-message/validation-message.d.ts +0 -3
  121. package/dist/components/validation-message/validation-message.d.ts.map +0 -1
  122. package/dist/index.d.ts +0 -7
  123. package/dist/index.d.ts.map +0 -1
  124. package/dist/index.js +0 -1
  125. package/dist/package.json +0 -48
  126. package/dist/utils/random-id.d.ts +0 -2
  127. package/dist/utils/random-id.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ks-digital-designsystem-angular-suggestion.mjs","sources":["../../../../packages/angular/suggestion/src/suggestion-list-empty.ts","../../../../packages/angular/suggestion/src/suggestion-list-option.ts","../../../../packages/angular/suggestion/src/suggestion-list.ts","../../../../packages/angular/suggestion/src/suggestion.utils.ts","../../../../packages/angular/suggestion/src/suggestion.ts","../../../../packages/angular/suggestion/src/ks-digital-designsystem-angular-suggestion.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n viewChild,\n} from '@angular/core'\n\n@Component({\n selector: 'ksd-suggestion-list-empty',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` <ng-template #tpl><ng-content /></ng-template> `,\n})\nexport class SuggestionListEmpty {\n /**\n * Hack to get the content from parent component so that we can\n * keep the dom structure needed without additional host elements\n */\n templateRef = viewChild<TemplateRef<unknown>>('tpl')\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n input,\n TemplateRef,\n viewChild,\n} from '@angular/core'\n\n@Component({\n selector: 'ksd-suggestion-list-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n imports: [],\n template: ` <ng-template #tpl><ng-content /></ng-template> `,\n})\nexport class SuggestionListOption {\n /**\n * Hack to get the content from parent component so that we can\n * keep the dom structure needed without additional host elements\n */\n templateRef = viewChild<TemplateRef<unknown>>('tpl')\n\n value = input.required<string>()\n}\n","import { NgTemplateOutlet } from '@angular/common'\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n contentChildren,\n CUSTOM_ELEMENTS_SCHEMA,\n input,\n} from '@angular/core'\nimport { SuggestionListEmpty } from './suggestion-list-empty'\nimport { SuggestionListOption } from './suggestion-list-option'\n\n@Component({\n selector: 'ksd-suggestion-list',\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n imports: [NgTemplateOutlet],\n host: {\n style: 'display: contents;',\n },\n template: `\n <u-datalist\n data-nofilter\n [attr.data-sr-singular]=\"singular()\"\n [attr.data-sr-plural]=\"plural()\"\n >\n @for (option of options(); track option) {\n <u-option [value]=\"option.value()\">\n <ng-container *ngTemplateOutlet=\"option.templateRef()\" />\n </u-option>\n }\n @if (empty()?.templateRef()) {\n <u-option data-empty value=\"\" hidden>\n <ng-container *ngTemplateOutlet=\"empty()?.templateRef()\" />\n </u-option>\n }\n </u-datalist>\n `,\n})\nexport class SuggestionList {\n /**\n * Screen reader announcement template for singular result count.\n *\n * @default '%d forslag'\n */\n readonly singular = input('%d forslag')\n\n /**\n * Screen reader announcement template for plural result count.\n *\n * @default '%d forslag'\n */\n readonly plural = input('%d forslag')\n\n readonly options = contentChildren(SuggestionListOption, {\n descendants: true,\n })\n\n protected readonly empty = contentChild(SuggestionListEmpty)\n}\n","import type { SuggestionItem, SuggestionModelValue } from './suggestion.types'\n\nexport const sanitizeItems = (\n values: SuggestionModelValue,\n): SuggestionItem[] =>\n !values ? [] : Array.isArray(values) ? values : [values]\n\nconst toItem = (data: HTMLDataElement): SuggestionItem => ({\n label: data.textContent?.trim() || data.value,\n value: data.value,\n})\n\nexport const nextSelected = (\n data: HTMLDataElement,\n previous: SuggestionModelValue,\n multiple: boolean,\n): SuggestionItem | SuggestionItem[] | undefined => {\n const item = toItem(data)\n\n if (!multiple) {\n return data.isConnected ? undefined : item\n }\n\n const prevItems = sanitizeItems(previous)\n return data.isConnected\n ? prevItems.filter(({ value }) => value !== item.value)\n : [...prevItems, item]\n}\n","import {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n CUSTOM_ELEMENTS_SCHEMA,\n effect,\n ElementRef,\n input,\n model,\n viewChild,\n} from '@angular/core'\nimport '@digdir/designsystemet-web'\nimport {\n HostColor,\n HostSize,\n} from '@ks-digital/designsystem-angular/__internals'\nimport { SuggestionList } from './suggestion-list'\nimport type {\n SuggestionFilter,\n SuggestionFilterArgs,\n SuggestionItem,\n} from './suggestion.types'\nimport { nextSelected, sanitizeItems } from './suggestion.utils'\n\nconst defaultFilter = ({ label, input }: SuggestionFilterArgs) =>\n label.toLowerCase().includes(input.value.trim().toLowerCase())\n\n@Component({\n selector: 'ksd-suggestion',\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 schemas: [CUSTOM_ELEMENTS_SCHEMA],\n host: {},\n template: `\n <ds-suggestion\n #suggestionElement\n class=\"ds-suggestion\"\n [attr.data-multiple]=\"multiple() || undefined\"\n [attr.data-creatable]=\"creatable() || undefined\"\n (comboboxbeforeselect)=\"onSelect($event)\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n >\n @for (option of selectedArray(); track option.value) {\n <data [attr.value]=\"option.value\">{{ option.label }}</data>\n }\n <ng-content />\n </ds-suggestion>\n `,\n})\nexport class Suggestion {\n /**\n * Allows the user to select multiple items\n *\n * @default false\n */\n multiple = input(false, { transform: booleanAttribute })\n\n /**\n * Allows the user to create new items\n *\n * @default false\n */\n creatable = input(false, { transform: booleanAttribute })\n\n /**\n * Filter options; boolean or a custom callback.\n *\n * @default true\n */\n filter = input<boolean | SuggestionFilter>(true)\n\n /**\n * Model for the selected item(s).\n *\n * @default undefined\n */\n selected = model<SuggestionItem | SuggestionItem[] | undefined>(undefined)\n\n protected selectedArray = computed(() => sanitizeItems(this.selected()))\n private readonly suggestionElement =\n viewChild<ElementRef<HTMLElement>>('suggestionElement')\n private readonly suggestionList = contentChild(SuggestionList)\n\n constructor() {\n afterNextRender(() => this.syncOptions(null))\n\n effect(() => {\n this.suggestionList()?.options()\n queueMicrotask(() => this.syncOptions(null))\n })\n }\n\n protected onSelect(event: Event) {\n const customEvent = event as CustomEvent<HTMLDataElement | undefined>\n customEvent.preventDefault()\n\n const data = customEvent.detail\n if (!data) return\n\n this.selected.set(nextSelected(data, this.selected(), this.multiple()))\n }\n\n protected onKeyDown(event: Event) {\n const keyboardEvent = event as KeyboardEvent\n if (keyboardEvent.key !== 'Escape') return\n\n event.preventDefault()\n }\n\n protected onInput(event: Event) {\n const inputElement = event.target as HTMLInputElement | null\n setTimeout(() => this.syncOptions(inputElement))\n }\n\n private syncOptions(inputElement: HTMLInputElement | null) {\n const suggestionElement = this.suggestionElement()?.nativeElement\n if (!suggestionElement) return\n\n const input =\n inputElement ?? suggestionElement.querySelector<HTMLInputElement>('input')\n\n const options = Array.from(\n suggestionElement.querySelectorAll<HTMLOptionElement>(\n 'u-option:not([data-empty])',\n ),\n )\n\n const filter = this.filter()\n const filterFn = filter === true ? defaultFilter : filter\n\n if (filterFn && input) {\n let index = 0\n for (const option of options) {\n option.disabled = !filterFn({\n index,\n input,\n label: option.label,\n optionElement: option,\n text: option.text,\n value: option.value,\n })\n index++\n }\n } else {\n for (const option of options) {\n option.disabled = false\n }\n }\n\n const visibleOptions = options.filter(\n (option) => !option.disabled && !option.hidden,\n )\n const emptyOption = suggestionElement.querySelector<HTMLOptionElement>(\n 'u-option[data-empty]',\n )\n\n if (!emptyOption) return\n\n if (visibleOptions.length === 0) {\n emptyOption.removeAttribute('hidden')\n return\n }\n\n emptyOption.setAttribute('hidden', '')\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, booleanAttribute, ChangeDetectionStrategy, Component, output } from '@angular/core';
3
+ import { NgTemplateOutlet } from '@angular/common';
4
+
5
+ class Table {
6
+ /**
7
+ * Will give the table a hover effect on rows
8
+ * @default false
9
+ */
10
+ hover = input(false, { ...(ngDevMode ? { debugName: "hover" } : {}), alias: 'data-hover',
11
+ transform: booleanAttribute });
12
+ /**
13
+ * Will give the table a rounded border
14
+ * @default false
15
+ */
16
+ border = input(false, { ...(ngDevMode ? { debugName: "border" } : {}), alias: 'data-border',
17
+ transform: booleanAttribute });
18
+ /**
19
+ * Will make the table header sticky
20
+ * @default false
21
+ */
22
+ stickyHeader = input(false, { ...(ngDevMode ? { debugName: "stickyHeader" } : {}), alias: 'data-sticky-header',
23
+ transform: booleanAttribute });
24
+ /**
25
+ * Will give the table zebra striping
26
+ * @default false
27
+ */
28
+ zebra = input(false, { ...(ngDevMode ? { debugName: "zebra" } : {}), alias: 'data-zebra',
29
+ transform: booleanAttribute });
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: Table, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: Table, isStandalone: true, selector: "table[ksd-table]", inputs: { hover: { classPropertyName: "hover", publicName: "data-hover", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "data-border", isSignal: true, isRequired: false, transformFunction: null }, stickyHeader: { classPropertyName: "stickyHeader", publicName: "data-sticky-header", isSignal: true, isRequired: false, transformFunction: null }, zebra: { classPropertyName: "zebra", publicName: "data-zebra", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-hover": "hover() || undefined", "attr.data-border": "border() || undefined", "attr.data-sticky-header": "stickyHeader() || undefined", "attr.data-zebra": "zebra() || undefined" }, classAttribute: "ds-table" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: Table, decorators: [{
34
+ type: Component,
35
+ args: [{
36
+ selector: 'table[ksd-table]',
37
+ changeDetection: ChangeDetectionStrategy.OnPush,
38
+ template: `<ng-content />`,
39
+ host: {
40
+ class: 'ds-table',
41
+ '[attr.data-hover]': 'hover() || undefined',
42
+ '[attr.data-border]': 'border() || undefined',
43
+ '[attr.data-sticky-header]': 'stickyHeader() || undefined',
44
+ '[attr.data-zebra]': 'zebra() || undefined',
45
+ },
46
+ }]
47
+ }], propDecorators: { hover: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-hover", required: false }] }], border: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-border", required: false }] }], stickyHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-sticky-header", required: false }] }], zebra: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-zebra", required: false }] }] } });
48
+
49
+ class TableHeaderCell {
50
+ /**
51
+ * If 'none' | 'ascending' | 'descending' will add a button to the header cell and change aria-sort and icon
52
+ * @default undefined
53
+ */
54
+ sort = input(undefined, { ...(ngDevMode ? { debugName: "sort" } : {}), alias: 'aria-sort' });
55
+ /**
56
+ * Emitted when the sort button is clicked
57
+ * @emits void
58
+ */
59
+ sortChange = output();
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TableHeaderCell, deps: [], target: i0.ɵɵFactoryTarget.Component });
61
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: TableHeaderCell, isStandalone: true, selector: "th[ksd-header-cell]", inputs: { sort: { classPropertyName: "sort", publicName: "aria-sort", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sortChange: "sortChange" }, host: { properties: { "attr.aria-sort": "sort()" } }, ngImport: i0, template: `
62
+ @if (sort()) {
63
+ <button
64
+ type="button"
65
+ (click)="sortChange.emit(); $event.stopPropagation()"
66
+ >
67
+ <ng-container *ngTemplateOutlet="headerTitle"></ng-container>
68
+ </button>
69
+ } @else {
70
+ <ng-container *ngTemplateOutlet="headerTitle"></ng-container>
71
+ }
72
+
73
+ <ng-template #headerTitle>
74
+ <ng-content />
75
+ </ng-template>
76
+ `, isInline: true, styles: ["button{padding:var(--dsc-table-padding)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TableHeaderCell, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'th[ksd-header-cell]', changeDetection: ChangeDetectionStrategy.OnPush, template: `
81
+ @if (sort()) {
82
+ <button
83
+ type="button"
84
+ (click)="sortChange.emit(); $event.stopPropagation()"
85
+ >
86
+ <ng-container *ngTemplateOutlet="headerTitle"></ng-container>
87
+ </button>
88
+ } @else {
89
+ <ng-container *ngTemplateOutlet="headerTitle"></ng-container>
90
+ }
91
+
92
+ <ng-template #headerTitle>
93
+ <ng-content />
94
+ </ng-template>
95
+ `, imports: [NgTemplateOutlet], host: {
96
+ '[attr.aria-sort]': 'sort()',
97
+ }, styles: ["button{padding:var(--dsc-table-padding)}\n"] }]
98
+ }], propDecorators: { sort: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-sort", required: false }] }], sortChange: [{ type: i0.Output, args: ["sortChange"] }] } });
99
+
100
+ /**
101
+ * Generated bundle index. Do not edit.
102
+ */
103
+
104
+ export { Table, TableHeaderCell };
105
+ //# sourceMappingURL=ks-digital-designsystem-angular-table.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ks-digital-designsystem-angular-table.mjs","sources":["../../../../packages/angular/table/src/table.ts","../../../../packages/angular/table/src/table-header-cell.ts","../../../../packages/angular/table/src/ks-digital-designsystem-angular-table.ts"],"sourcesContent":["import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n input,\n} from '@angular/core'\n\n@Component({\n selector: 'table[ksd-table]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-content />`,\n host: {\n class: 'ds-table',\n '[attr.data-hover]': 'hover() || undefined',\n '[attr.data-border]': 'border() || undefined',\n '[attr.data-sticky-header]': 'stickyHeader() || undefined',\n '[attr.data-zebra]': 'zebra() || undefined',\n },\n})\nexport class Table {\n /**\n * Will give the table a hover effect on rows\n * @default false\n */\n readonly hover = input(false, {\n alias: 'data-hover',\n transform: booleanAttribute,\n })\n /**\n * Will give the table a rounded border\n * @default false\n */\n readonly border = input(false, {\n alias: 'data-border',\n transform: booleanAttribute,\n })\n /**\n * Will make the table header sticky\n * @default false\n */\n readonly stickyHeader = input(false, {\n alias: 'data-sticky-header',\n transform: booleanAttribute,\n })\n /**\n * Will give the table zebra striping\n * @default false\n */\n readonly zebra = input(false, {\n alias: 'data-zebra',\n transform: booleanAttribute,\n })\n}\n","import { NgTemplateOutlet } from '@angular/common'\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n output,\n} from '@angular/core'\n@Component({\n selector: 'th[ksd-header-cell]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @if (sort()) {\n <button\n type=\"button\"\n (click)=\"sortChange.emit(); $event.stopPropagation()\"\n >\n <ng-container *ngTemplateOutlet=\"headerTitle\"></ng-container>\n </button>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerTitle\"></ng-container>\n }\n\n <ng-template #headerTitle>\n <ng-content />\n </ng-template>\n `,\n imports: [NgTemplateOutlet],\n host: {\n '[attr.aria-sort]': 'sort()',\n },\n styles: `\n button {\n padding: var(--dsc-table-padding);\n }\n `,\n})\nexport class TableHeaderCell {\n /**\n * If 'none' | 'ascending' | 'descending' will add a button to the header cell and change aria-sort and icon\n * @default undefined\n */\n readonly sort = input<'none' | 'ascending' | 'descending'>(undefined, {\n alias: 'aria-sort',\n })\n /**\n * Emitted when the sort button is clicked\n * @emits void\n */\n readonly sortChange = output()\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { NgTemplateOutlet } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { viewChild, ChangeDetectionStrategy, CUSTOM_ELEMENTS_SCHEMA, Component, contentChildren } from '@angular/core';
4
+ import '@digdir/designsystemet-web';
5
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
6
+ import { HostSize, HostColor } from '@ks-digital/designsystem-angular/__internals';
7
+
8
+ class TabsTab {
9
+ /**
10
+ * Hack to get the content of the tab from outside so that we can
11
+ * keep the dom structure needed without additional host elements
12
+ */
13
+ templateRef = viewChild('tpl', ...(ngDevMode ? [{ debugName: "templateRef" }] : []));
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TabsTab, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.6", type: TabsTab, isStandalone: true, selector: "ksd-tabs-tab", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["tpl"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.HostSize, inputs: ["data-size", "data-size"] }, { directive: i1.HostColor, inputs: ["data-color", "data-color"] }], ngImport: i0, template: ` <ng-template #tpl><ng-content /></ng-template> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TabsTab, decorators: [{
18
+ type: Component,
19
+ args: [{
20
+ selector: `ksd-tabs-tab`,
21
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
22
+ template: ` <ng-template #tpl><ng-content /></ng-template> `,
23
+ changeDetection: ChangeDetectionStrategy.OnPush,
24
+ imports: [],
25
+ hostDirectives: [
26
+ {
27
+ directive: HostSize,
28
+ inputs: ['data-size'],
29
+ },
30
+ {
31
+ directive: HostColor,
32
+ inputs: ['data-color'],
33
+ },
34
+ ],
35
+ }]
36
+ }], propDecorators: { templateRef: [{ type: i0.ViewChild, args: ['tpl', { isSignal: true }] }] } });
37
+
38
+ class Tabs {
39
+ tabs = contentChildren(TabsTab, { ...(ngDevMode ? { debugName: "tabs" } : {}), descendants: true });
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: Tabs, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: Tabs, isStandalone: true, selector: "ksd-tabs", queries: [{ propertyName: "tabs", predicate: TabsTab, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.HostSize, inputs: ["data-size", "data-size"] }, { directive: i1.HostColor, inputs: ["data-color", "data-color"] }], ngImport: i0, template: `
42
+ <ds-tabs class="ds-tabs">
43
+ <ds-tablist>
44
+ @for (tab of tabs(); track tab) {
45
+ <ds-tab>
46
+ <ng-container *ngTemplateOutlet="tab.templateRef()" />
47
+ </ds-tab>
48
+ }
49
+ </ds-tablist>
50
+ <ng-content select="ksd-tabs-panel" />
51
+ </ds-tabs>
52
+ `, isInline: true, styles: [":host ::ng-deep :is(.ds-tabs [role=tab],.ds-tabs ds-tab,.ds-tabs u-tab)>:where(ng-icon,svg,img){font-size:1.25em;width:1em;height:1em}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: Tabs, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: `ksd-tabs`, imports: [NgTemplateOutlet], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: `
57
+ <ds-tabs class="ds-tabs">
58
+ <ds-tablist>
59
+ @for (tab of tabs(); track tab) {
60
+ <ds-tab>
61
+ <ng-container *ngTemplateOutlet="tab.templateRef()" />
62
+ </ds-tab>
63
+ }
64
+ </ds-tablist>
65
+ <ng-content select="ksd-tabs-panel" />
66
+ </ds-tabs>
67
+ `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
68
+ {
69
+ directive: HostSize,
70
+ inputs: ['data-size'],
71
+ },
72
+ {
73
+ directive: HostColor,
74
+ inputs: ['data-color'],
75
+ },
76
+ ], styles: [":host ::ng-deep :is(.ds-tabs [role=tab],.ds-tabs ds-tab,.ds-tabs u-tab)>:where(ng-icon,svg,img){font-size:1.25em;width:1em;height:1em}\n"] }]
77
+ }], propDecorators: { tabs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => TabsTab), { ...{ descendants: true }, isSignal: true }] }] } });
78
+
79
+ class TabsList {
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TabsList, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: TabsList, isStandalone: true, selector: "ksd-tabs-list", ngImport: i0, template: `<ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TabsList, decorators: [{
84
+ type: Component,
85
+ args: [{
86
+ selector: `ksd-tabs-list`,
87
+ template: `<ng-content /> `,
88
+ changeDetection: ChangeDetectionStrategy.OnPush,
89
+ }]
90
+ }] });
91
+
92
+ class TabsPanel {
93
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TabsPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
94
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: TabsPanel, isStandalone: true, selector: "ksd-tabs-panel", ngImport: i0, template: `
95
+ <ds-tabpanel>
96
+ <ng-content />
97
+ </ds-tabpanel>
98
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TabsPanel, decorators: [{
101
+ type: Component,
102
+ args: [{
103
+ selector: `ksd-tabs-panel`,
104
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
105
+ template: `
106
+ <ds-tabpanel>
107
+ <ng-content />
108
+ </ds-tabpanel>
109
+ `,
110
+ host: {},
111
+ changeDetection: ChangeDetectionStrategy.OnPush,
112
+ }]
113
+ }] });
114
+
115
+ /**
116
+ * Generated bundle index. Do not edit.
117
+ */
118
+
119
+ export { Tabs, TabsList, TabsPanel, TabsTab };
120
+ //# sourceMappingURL=ks-digital-designsystem-angular-tabs.mjs.map
@@ -0,0 +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 CUSTOM_ELEMENTS_SCHEMA,\n TemplateRef,\n viewChild,\n} from '@angular/core'\nimport {\n HostColor,\n HostSize,\n} from '@ks-digital/designsystem-angular/__internals'\n\n@Component({\n selector: `ksd-tabs-tab`,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: ` <ng-template #tpl><ng-content /></ng-template> `,\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 * Hack to get the content of the tab from outside so that we can\n * keep the dom structure needed without additional host elements\n */\n templateRef = viewChild<TemplateRef<unknown>>('tpl')\n}\n","import { NgTemplateOutlet } from '@angular/common'\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n CUSTOM_ELEMENTS_SCHEMA,\n} from '@angular/core'\nimport '@digdir/designsystemet-web'\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 imports: [NgTemplateOutlet],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: `\n <ds-tabs class=\"ds-tabs\">\n <ds-tablist>\n @for (tab of tabs(); track tab) {\n <ds-tab>\n <ng-container *ngTemplateOutlet=\"tab.templateRef()\" />\n </ds-tab>\n }\n </ds-tablist>\n <ng-content select=\"ksd-tabs-panel\" />\n </ds-tabs>\n `,\n styles: `\n :host\n ::ng-deep\n :is(.ds-tabs [role='tab'], .ds-tabs ds-tab, .ds-tabs u-tab)\n > :where(ng-icon, svg, img) {\n font-size: calc(1em * 1.25);\n width: 1em;\n height: 1em;\n }\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 tabs = contentChildren(TabsTab, { descendants: true })\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: `ksd-tabs-list`,\n template: `<ng-content /> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsList {}\n","import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n} from '@angular/core'\n\n@Component({\n selector: `ksd-tabs-panel`,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: `\n <ds-tabpanel>\n <ng-content />\n </ds-tabpanel>\n `,\n host: {},\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabsPanel {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
4
+ import { HostSize, HostColor } from '@ks-digital/designsystem-angular/__internals';
5
+
6
+ class Tag {
7
+ /**
8
+ * The visual variant of the tag
9
+ *
10
+ * @default 'default'
11
+ */
12
+ variant = input('default', { ...(ngDevMode ? { debugName: "variant" } : {}), alias: 'data-variant' });
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: Tag, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: Tag, isStandalone: true, selector: "ksd-tag", inputs: { variant: { classPropertyName: "variant", publicName: "data-variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-variant": "variant()" }, classAttribute: "ds-tag" }, hostDirectives: [{ directive: i1.HostSize, inputs: ["data-size", "data-size"] }, { directive: i1.HostColor, inputs: ["data-color", "data-color"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true, styles: [":host ::ng-deep>*{margin-inline-end:var(--ds-size-1)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: Tag, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'ksd-tag', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
19
+ {
20
+ directive: HostSize,
21
+ inputs: ['data-size'],
22
+ },
23
+ {
24
+ directive: HostColor,
25
+ inputs: ['data-color'],
26
+ },
27
+ ], host: {
28
+ class: 'ds-tag',
29
+ '[attr.data-variant]': 'variant()',
30
+ }, template: ` <ng-content /> `, styles: [":host ::ng-deep>*{margin-inline-end:var(--ds-size-1)}\n"] }]
31
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-variant", required: false }] }] } });
32
+
33
+ /**
34
+ * Generated bundle index. Do not edit.
35
+ */
36
+
37
+ export { Tag };
38
+ //# sourceMappingURL=ks-digital-designsystem-angular-tag.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ks-digital-designsystem-angular-tag.mjs","sources":["../../../../packages/angular/tag/src/tag.ts","../../../../packages/angular/tag/src/ks-digital-designsystem-angular-tag.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core'\nimport {\n HostColor,\n HostSize,\n} from '@ks-digital/designsystem-angular/__internals'\n\n@Component({\n selector: 'ksd-tag',\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 host: {\n class: 'ds-tag',\n '[attr.data-variant]': 'variant()',\n },\n styles: `\n :host ::ng-deep > * {\n margin-inline-end: var(--ds-size-1);\n }\n `,\n template: ` <ng-content /> `,\n})\nexport class Tag {\n /**\n * The visual variant of the tag\n *\n * @default 'default'\n */\n readonly variant = input<'default' | 'outline'>('default', {\n alias: 'data-variant',\n })\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MA8Ba,GAAG,CAAA;AACd;;;;AAIG;IACM,OAAO,GAAG,KAAK,CAAwB,SAAS,oDACvD,KAAK,EAAE,cAAc,EAAA,CACrB;uGARS,GAAG,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAH,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,GAAG,6bAFJ,CAAA,gBAAA,CAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,yDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAEjB,GAAG,EAAA,UAAA,EAAA,CAAA;kBAxBf,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EAAA,eAAA,EACF,uBAAuB,CAAC,MAAM,EAAA,cAAA,EAC/B;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,QAAQ;4BACnB,MAAM,EAAE,CAAC,WAAW,CAAC;AACtB,yBAAA;AACD,wBAAA;AACE,4BAAA,SAAS,EAAE,SAAS;4BACpB,MAAM,EAAE,CAAC,YAAY,CAAC;AACvB,yBAAA;qBACF,EAAA,IAAA,EACK;AACJ,wBAAA,KAAK,EAAE,QAAQ;AACf,wBAAA,qBAAqB,EAAE,WAAW;AACnC,qBAAA,EAAA,QAAA,EAMS,CAAA,gBAAA,CAAkB,EAAA,MAAA,EAAA,CAAA,yDAAA,CAAA,EAAA;;;AC5B9B;;AAEG;;;;"}
@@ -0,0 +1,25 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive } from '@angular/core';
3
+
4
+ class ValidationMessage {
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
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ValidationMessage, decorators: [{
9
+ type: Directive,
10
+ args: [{
11
+ // eslint-disable-next-line @angular-eslint/directive-selector
12
+ selector: '[ksd-validation-message]',
13
+ host: {
14
+ class: 'ds-validation-message',
15
+ 'data-field': 'validation',
16
+ },
17
+ }]
18
+ }] });
19
+
20
+ /**
21
+ * Generated bundle index. Do not edit.
22
+ */
23
+
24
+ export { ValidationMessage };
25
+ //# sourceMappingURL=ks-digital-designsystem-angular-validation-message.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ks-digital-designsystem-angular-validation-message.mjs","sources":["../../../../packages/angular/validation-message/src/validation-message.ts","../../../../packages/angular/validation-message/src/ks-digital-designsystem-angular-validation-message.ts"],"sourcesContent":["import { Directive } from '@angular/core'\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[ksd-validation-message]',\n host: {\n class: 'ds-validation-message',\n 'data-field': 'validation',\n },\n})\nexport class ValidationMessage {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAUa,iBAAiB,CAAA;uGAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,uBAAuB;AAC9B,wBAAA,YAAY,EAAE,YAAY;AAC3B,qBAAA;AACF,iBAAA;;;ACTD;;AAEG;;;;"}
@@ -0,0 +1,7 @@
1
+ // Needs an export to compile
2
+ var index = void 0;
3
+
4
+ /**
5
+ * Generated bundle index. Do not edit.
6
+ */
7
+ //# sourceMappingURL=ks-digital-designsystem-angular.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ks-digital-designsystem-angular.mjs","sources":["../../../../packages/angular/src/index.ts","../../../../packages/angular/src/ks-digital-designsystem-angular.ts"],"sourcesContent":["// Needs an export to compile\nexport default void 0\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AACA,YAAe,KAAK,CAAC;;ACDrB;;AAEG"}
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/forms
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/forms`.
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/heading
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/heading`.
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,44 +5,114 @@
5
5
  "url": "https://github.com/ks-no/designsystem.git",
6
6
  "directory": "packages/angular"
7
7
  },
8
- "version": "0.0.1-alpha.5",
8
+ "version": "0.0.1-alpha.50",
9
9
  "license": "MIT",
10
10
  "private": false,
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
14
- "type": "module",
15
- "main": "./dist/index.js",
16
- "types": "./dist/index.d.ts",
17
- "exports": {
18
- ".": {
19
- "types": "./dist/index.d.ts",
20
- "import": "./dist/index.js",
21
- "require": "./dist/index.js"
22
- }
23
- },
24
- "files": [
25
- "./dist"
26
- ],
27
14
  "dependencies": {
28
- "@digdir/designsystemet-css": "1.0.5"
15
+ "@digdir/designsystemet-web": "1.12.1",
16
+ "tslib": "^2.3.0"
29
17
  },
30
18
  "peerDependencies": {
31
- "@angular/common": ">=19.0.0",
32
- "@angular/core": ">=19.0.0",
33
- "@angular/platform-browser": ">=19.0.0",
34
- "@angular/platform-server": ">=19.0.0"
19
+ "@angular/common": ">= 21.0.0",
20
+ "@angular/core": ">= 21.0.0"
21
+ },
22
+ "module": "fesm2022/ks-digital-designsystem-angular.mjs",
23
+ "typings": "types/ks-digital-designsystem-angular.d.ts",
24
+ "exports": {
25
+ "./package.json": {
26
+ "default": "./package.json"
27
+ },
28
+ ".": {
29
+ "types": "./types/ks-digital-designsystem-angular.d.ts",
30
+ "default": "./fesm2022/ks-digital-designsystem-angular.mjs"
31
+ },
32
+ "./__internals": {
33
+ "types": "./types/ks-digital-designsystem-angular-__internals.d.ts",
34
+ "default": "./fesm2022/ks-digital-designsystem-angular-__internals.mjs"
35
+ },
36
+ "./alert": {
37
+ "types": "./types/ks-digital-designsystem-angular-alert.d.ts",
38
+ "default": "./fesm2022/ks-digital-designsystem-angular-alert.mjs"
39
+ },
40
+ "./breadcrumbs": {
41
+ "types": "./types/ks-digital-designsystem-angular-breadcrumbs.d.ts",
42
+ "default": "./fesm2022/ks-digital-designsystem-angular-breadcrumbs.mjs"
43
+ },
44
+ "./button": {
45
+ "types": "./types/ks-digital-designsystem-angular-button.d.ts",
46
+ "default": "./fesm2022/ks-digital-designsystem-angular-button.mjs"
47
+ },
48
+ "./card": {
49
+ "types": "./types/ks-digital-designsystem-angular-card.d.ts",
50
+ "default": "./fesm2022/ks-digital-designsystem-angular-card.mjs"
51
+ },
52
+ "./chip": {
53
+ "types": "./types/ks-digital-designsystem-angular-chip.d.ts",
54
+ "default": "./fesm2022/ks-digital-designsystem-angular-chip.mjs"
55
+ },
56
+ "./details": {
57
+ "types": "./types/ks-digital-designsystem-angular-details.d.ts",
58
+ "default": "./fesm2022/ks-digital-designsystem-angular-details.mjs"
59
+ },
60
+ "./error-summary": {
61
+ "types": "./types/ks-digital-designsystem-angular-error-summary.d.ts",
62
+ "default": "./fesm2022/ks-digital-designsystem-angular-error-summary.mjs"
63
+ },
64
+ "./forms": {
65
+ "types": "./types/ks-digital-designsystem-angular-forms.d.ts",
66
+ "default": "./fesm2022/ks-digital-designsystem-angular-forms.mjs"
67
+ },
68
+ "./heading": {
69
+ "types": "./types/ks-digital-designsystem-angular-heading.d.ts",
70
+ "default": "./fesm2022/ks-digital-designsystem-angular-heading.mjs"
71
+ },
72
+ "./link": {
73
+ "types": "./types/ks-digital-designsystem-angular-link.d.ts",
74
+ "default": "./fesm2022/ks-digital-designsystem-angular-link.mjs"
75
+ },
76
+ "./pagination": {
77
+ "types": "./types/ks-digital-designsystem-angular-pagination.d.ts",
78
+ "default": "./fesm2022/ks-digital-designsystem-angular-pagination.mjs"
79
+ },
80
+ "./paragraph": {
81
+ "types": "./types/ks-digital-designsystem-angular-paragraph.d.ts",
82
+ "default": "./fesm2022/ks-digital-designsystem-angular-paragraph.mjs"
83
+ },
84
+ "./popover": {
85
+ "types": "./types/ks-digital-designsystem-angular-popover.d.ts",
86
+ "default": "./fesm2022/ks-digital-designsystem-angular-popover.mjs"
87
+ },
88
+ "./search": {
89
+ "types": "./types/ks-digital-designsystem-angular-search.d.ts",
90
+ "default": "./fesm2022/ks-digital-designsystem-angular-search.mjs"
91
+ },
92
+ "./spinner": {
93
+ "types": "./types/ks-digital-designsystem-angular-spinner.d.ts",
94
+ "default": "./fesm2022/ks-digital-designsystem-angular-spinner.mjs"
95
+ },
96
+ "./suggestion": {
97
+ "types": "./types/ks-digital-designsystem-angular-suggestion.d.ts",
98
+ "default": "./fesm2022/ks-digital-designsystem-angular-suggestion.mjs"
99
+ },
100
+ "./table": {
101
+ "types": "./types/ks-digital-designsystem-angular-table.d.ts",
102
+ "default": "./fesm2022/ks-digital-designsystem-angular-table.mjs"
103
+ },
104
+ "./tabs": {
105
+ "types": "./types/ks-digital-designsystem-angular-tabs.d.ts",
106
+ "default": "./fesm2022/ks-digital-designsystem-angular-tabs.mjs"
107
+ },
108
+ "./tag": {
109
+ "types": "./types/ks-digital-designsystem-angular-tag.d.ts",
110
+ "default": "./fesm2022/ks-digital-designsystem-angular-tag.mjs"
111
+ },
112
+ "./validation-message": {
113
+ "types": "./types/ks-digital-designsystem-angular-validation-message.d.ts",
114
+ "default": "./fesm2022/ks-digital-designsystem-angular-validation-message.mjs"
115
+ }
35
116
  },
36
- "devDependencies": {
37
- "@analogjs/vite-plugin-angular": "~1.17.1",
38
- "@analogjs/vitest-angular": "~1.17.1",
39
- "@angular-eslint/builder": "^20.0.0",
40
- "@angular-eslint/bundled-angular-compiler": "^20.0.0",
41
- "@angular-eslint/eslint-plugin": "^20.0.0",
42
- "@angular-eslint/eslint-plugin-template": "^20.0.0",
43
- "@angular-eslint/schematics": "^20.0.0",
44
- "@angular-eslint/template-parser": "^20.0.0",
45
- "@testing-library/angular": "^17.4.0",
46
- "angular-eslint": "^20.0.0"
47
- }
117
+ "sideEffects": false
48
118
  }
@@ -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,3 @@
1
+ # @ks-digital/designsystem-angular/paragraph
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/paragraph`.
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/popover
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/popover`.
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/search
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/search`.
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/spinner
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/spinner`.
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/suggestion
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/suggestion`.
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/table
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/table`.
package/tabs/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/tabs
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/tabs`.
package/tag/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # @ks-digital/designsystem-angular/tag
2
+
3
+ Secondary entry point of `@ks-digital/designsystem-angular`. It can be used by importing from `@ks-digital/designsystem-angular/tag`.