@ks-digital/designsystem-angular 0.0.1-alpha.25 → 0.0.1-alpha.28

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 (140) hide show
  1. package/__internals/index.d.ts +54 -0
  2. package/alert/index.d.ts +17 -0
  3. package/button/index.d.ts +29 -0
  4. package/card/index.d.ts +22 -0
  5. package/details/index.d.ts +26 -0
  6. package/fesm2022/ks-digital-designsystem-angular-__internals.mjs +50 -0
  7. package/fesm2022/ks-digital-designsystem-angular-__internals.mjs.map +1 -0
  8. package/fesm2022/ks-digital-designsystem-angular-alert.mjs +35 -0
  9. package/fesm2022/ks-digital-designsystem-angular-alert.mjs.map +1 -0
  10. package/fesm2022/ks-digital-designsystem-angular-button.mjs +63 -0
  11. package/fesm2022/ks-digital-designsystem-angular-button.mjs.map +1 -0
  12. package/fesm2022/ks-digital-designsystem-angular-card.mjs +70 -0
  13. package/fesm2022/ks-digital-designsystem-angular-card.mjs.map +1 -0
  14. package/fesm2022/ks-digital-designsystem-angular-details.mjs +100 -0
  15. package/fesm2022/ks-digital-designsystem-angular-details.mjs.map +1 -0
  16. package/fesm2022/ks-digital-designsystem-angular-forms.mjs +408 -0
  17. package/fesm2022/ks-digital-designsystem-angular-forms.mjs.map +1 -0
  18. package/fesm2022/ks-digital-designsystem-angular-paragraph.mjs +24 -0
  19. package/fesm2022/ks-digital-designsystem-angular-paragraph.mjs.map +1 -0
  20. package/fesm2022/ks-digital-designsystem-angular-popover.mjs +165 -0
  21. package/fesm2022/ks-digital-designsystem-angular-popover.mjs.map +1 -0
  22. package/fesm2022/ks-digital-designsystem-angular-search.mjs +181 -0
  23. package/fesm2022/ks-digital-designsystem-angular-search.mjs.map +1 -0
  24. package/fesm2022/ks-digital-designsystem-angular-spinner.mjs +89 -0
  25. package/fesm2022/ks-digital-designsystem-angular-spinner.mjs.map +1 -0
  26. package/fesm2022/ks-digital-designsystem-angular-validation-message.mjs +25 -0
  27. package/fesm2022/ks-digital-designsystem-angular-validation-message.mjs.map +1 -0
  28. package/fesm2022/ks-digital-designsystem-angular.mjs +7 -0
  29. package/fesm2022/ks-digital-designsystem-angular.mjs.map +1 -0
  30. package/forms/index.d.ts +100 -0
  31. package/index.d.ts +2 -0
  32. package/package.json +59 -20
  33. package/paragraph/index.d.ts +8 -0
  34. package/popover/index.d.ts +25 -0
  35. package/search/index.d.ts +84 -0
  36. package/spinner/index.d.ts +25 -0
  37. package/validation-message/index.d.ts +8 -0
  38. package/.storybook/customTheme.ts +0 -15
  39. package/.storybook/default-args.ts +0 -18
  40. package/.storybook/main.ts +0 -27
  41. package/.storybook/manager.ts +0 -10
  42. package/.storybook/preview-head.html +0 -16
  43. package/.storybook/preview.ts +0 -70
  44. package/.storybook/themes.ts +0 -9
  45. package/.storybook/tsconfig.json +0 -16
  46. package/.storybook/vite.config.mts +0 -5
  47. package/eslint.config.mjs +0 -28
  48. package/ng-package.json +0 -9
  49. package/project.json +0 -81
  50. package/src/components/alert/alert.mdx +0 -46
  51. package/src/components/alert/alert.spec.ts +0 -33
  52. package/src/components/alert/alert.stories.ts +0 -138
  53. package/src/components/alert/alert.ts +0 -46
  54. package/src/components/alert/index.ts +0 -1
  55. package/src/components/button/button.mdx +0 -40
  56. package/src/components/button/button.spec.ts +0 -86
  57. package/src/components/button/button.stories.ts +0 -123
  58. package/src/components/button/button.ts +0 -60
  59. package/src/components/button/index.ts +0 -1
  60. package/src/components/card/card-block.ts +0 -10
  61. package/src/components/card/card.mdx +0 -100
  62. package/src/components/card/card.spec.ts +0 -70
  63. package/src/components/card/card.stories.ts +0 -101
  64. package/src/components/card/card.ts +0 -44
  65. package/src/components/card/index.ts +0 -2
  66. package/src/components/checkbox/README.md +0 -13
  67. package/src/components/checkbox/checkbox.mdx +0 -50
  68. package/src/components/checkbox/checkbox.spec.ts +0 -21
  69. package/src/components/checkbox/checkbox.stories.ts +0 -182
  70. package/src/components/checkbox/index.ts +0 -0
  71. package/src/components/colors.ts +0 -36
  72. package/src/components/common-inputs.ts +0 -30
  73. package/src/components/details/controlled-details.ts +0 -63
  74. package/src/components/details/details-content.ts +0 -7
  75. package/src/components/details/details-summary.ts +0 -7
  76. package/src/components/details/details.mdx +0 -89
  77. package/src/components/details/details.spec.ts +0 -56
  78. package/src/components/details/details.stories.ts +0 -129
  79. package/src/components/details/details.ts +0 -69
  80. package/src/components/details/index.ts +0 -3
  81. package/src/components/field/field-counter.ts +0 -56
  82. package/src/components/field/field-description.ts +0 -10
  83. package/src/components/field/field-error.ts +0 -13
  84. package/src/components/field/field-observer.ts +0 -121
  85. package/src/components/field/field-state.ts +0 -21
  86. package/src/components/field/field.mdx +0 -40
  87. package/src/components/field/field.spec.ts +0 -131
  88. package/src/components/field/field.stories.ts +0 -98
  89. package/src/components/field/field.ts +0 -70
  90. package/src/components/field/index.ts +0 -3
  91. package/src/components/fieldset/fieldset-description.ts +0 -8
  92. package/src/components/fieldset/fieldset-legend.ts +0 -11
  93. package/src/components/fieldset/fieldset.spec.ts +0 -80
  94. package/src/components/fieldset/fieldset.ts +0 -11
  95. package/src/components/fieldset/index.ts +0 -3
  96. package/src/components/input/index.ts +0 -1
  97. package/src/components/input/input.mdx +0 -11
  98. package/src/components/input/input.spec.ts +0 -25
  99. package/src/components/input/input.stories.ts +0 -72
  100. package/src/components/input/input.ts +0 -67
  101. package/src/components/label/index.ts +0 -1
  102. package/src/components/label/label.ts +0 -17
  103. package/src/components/paragraph/index.ts +0 -1
  104. package/src/components/paragraph/paragraph.ts +0 -10
  105. package/src/components/popover/controlled-popover.ts +0 -62
  106. package/src/components/popover/index.ts +0 -1
  107. package/src/components/popover/popover.mdx +0 -81
  108. package/src/components/popover/popover.spec.ts +0 -143
  109. package/src/components/popover/popover.stories.ts +0 -63
  110. package/src/components/popover/popover.ts +0 -186
  111. package/src/components/radio/radio.mdx +0 -117
  112. package/src/components/radio/radio.stories.ts +0 -226
  113. package/src/components/search/index.ts +0 -4
  114. package/src/components/search/search-button.ts +0 -35
  115. package/src/components/search/search-clear.ts +0 -57
  116. package/src/components/search/search-input.ts +0 -18
  117. package/src/components/search/search.mdx +0 -56
  118. package/src/components/search/search.spec.ts +0 -48
  119. package/src/components/search/search.stories.ts +0 -205
  120. package/src/components/search/search.ts +0 -50
  121. package/src/components/spinner/index.ts +0 -1
  122. package/src/components/spinner/spinner.mdx +0 -24
  123. package/src/components/spinner/spinner.spec.ts +0 -13
  124. package/src/components/spinner/spinner.stories.ts +0 -54
  125. package/src/components/spinner/spinner.ts +0 -62
  126. package/src/components/switch/switch.mdx +0 -82
  127. package/src/components/switch/switch.stories.ts +0 -94
  128. package/src/components/textarea/textarea.mdx +0 -14
  129. package/src/components/textarea/textarea.stories.ts +0 -52
  130. package/src/components/validation-message/index.ts +0 -1
  131. package/src/components/validation-message/validation-message.ts +0 -11
  132. package/src/index.ts +0 -14
  133. package/src/test-setup.ts +0 -12
  134. package/src/utils/log-if-devmode.ts +0 -13
  135. package/src/utils/random-id.ts +0 -3
  136. package/tsconfig.json +0 -34
  137. package/tsconfig.lib.json +0 -28
  138. package/tsconfig.lib.prod.json +0 -9
  139. package/tsconfig.spec.json +0 -30
  140. package/vite.config.mts +0 -35
@@ -0,0 +1,54 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ Lifted from https://github.com/digdir/designsystemet/blob/main/packages/react/src/colors.ts
5
+ **/
6
+ declare const emptyObjectSymbol: unique symbol;
7
+ type EmptyObject = {
8
+ [emptyObjectSymbol]?: never;
9
+ };
10
+ /**
11
+ * Base interface for available colors in the design system.
12
+ * The CLI will generate augmentations of this interface to allow
13
+ * type safety of custom color names.
14
+ */
15
+ interface MainAndSupportColors {
16
+ }
17
+ /**
18
+ * If {@link MainAndSupportColors} has been extended to include color names, return T,
19
+ * otherwise return the arbitrary string type.
20
+ */
21
+ type ColorWithFallback<T> = MainAndSupportColors extends EmptyObject ? string : T;
22
+ type SeverityInfo = 'info';
23
+ type SeveritySuccess = 'success';
24
+ type SeverityWarning = 'warning';
25
+ type SeverityDanger = 'danger';
26
+ type SeverityColors = SeverityInfo | SeveritySuccess | SeverityWarning | SeverityDanger;
27
+ type Color = ColorWithFallback<'neutral' | keyof MainAndSupportColors>;
28
+
29
+ type Size = 'sm' | 'md' | 'lg';
30
+ declare class CommonInputs {
31
+ /**
32
+ * Changes size for descendant Designsystemet components. Select from predefined sizes.
33
+ * @attribute data-size
34
+ */
35
+ dataSize: _angular_core.InputSignal<Size | undefined>;
36
+ /**
37
+ * Changes color for descendant Designsystemet components.
38
+ * Select from predefined colors and colors defined using theme.designsystemet.no.
39
+ * @attribute data-color
40
+ */
41
+ dataColor: _angular_core.InputSignal<string | undefined>;
42
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommonInputs, never>;
43
+ 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>;
44
+ }
45
+
46
+ declare const logIfDevMode: ({ component, message, }: {
47
+ component: string;
48
+ message: string;
49
+ }) => void;
50
+
51
+ declare const randomId: () => string;
52
+
53
+ export { CommonInputs, logIfDevMode, randomId };
54
+ export type { Color, MainAndSupportColors, SeverityColors, SeverityDanger, SeverityInfo, SeveritySuccess, SeverityWarning, Size };
@@ -0,0 +1,17 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
3
+ import { SeverityColors } from '@ks-digital/designsystem-angular/__internals';
4
+
5
+ /**
6
+ * Alerts are used to inform users about important information, warnings, errors, or success.
7
+ */
8
+ declare class Alert {
9
+ /**
10
+ * The color variant of the alert.
11
+ */
12
+ dataColor: i0.InputSignal<SeverityColors | undefined>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<Alert, never>;
14
+ 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: {}; }]>;
15
+ }
16
+
17
+ export { Alert };
@@ -0,0 +1,29 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
3
+
4
+ declare class Button {
5
+ /**
6
+ * Specify which variant to use
7
+ * @default 'primary'
8
+ */
9
+ readonly variant: _angular_core.InputSignal<"primary" | "secondary" | "tertiary">;
10
+ /**
11
+ * Toggle loading state.
12
+ * Pass an element if you want to display a custom loader.
13
+ *
14
+ * @default false
15
+ */
16
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
17
+ /**
18
+ * Disables element
19
+ */
20
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
21
+ /**
22
+ * If this is a button with only an icon
23
+ */
24
+ readonly icon: _angular_core.InputSignalWithTransform<boolean, unknown>;
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: {}; }]>;
27
+ }
28
+
29
+ export { Button };
@@ -0,0 +1,22 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
3
+
4
+ declare class Card {
5
+ /**
6
+ * Change the background color of the card
7
+ * @default 'default'
8
+ */
9
+ variant: i0.InputSignal<"tinted" | "default">;
10
+ private elementRef;
11
+ private projectedLink;
12
+ protected handleClick: (event: MouseEvent) => void;
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: {}; }]>;
15
+ }
16
+
17
+ declare class CardBlock {
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<CardBlock, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<CardBlock, "[ksd-card-block]", never, {}, {}, never, ["*"], true, never>;
20
+ }
21
+
22
+ export { Card, CardBlock };
@@ -0,0 +1,26 @@
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 };
@@ -0,0 +1,50 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Directive, isDevMode } from '@angular/core';
3
+
4
+ /**
5
+ Lifted from https://github.com/digdir/designsystemet/blob/main/packages/react/src/colors.ts
6
+ **/
7
+
8
+ /* eslint-disable @angular-eslint/no-input-rename */
9
+ /**
10
+ * We use input aliasing to bridge the gap between Angular's camelCase property naming convention and our HTML data attributes.
11
+ * This approach allows us to use valid HTML data attributes as documented by Designsystemet while maintaining
12
+ * proper TypeScript intellisense support.
13
+ *
14
+ * Todo: Some components are using only a subset of colors, e.g., SeverityColors for Alert. We should reconsider this directive
15
+ */
16
+ class CommonInputs {
17
+ /**
18
+ * Changes size for descendant Designsystemet components. Select from predefined sizes.
19
+ * @attribute data-size
20
+ */
21
+ dataSize = input(undefined, ...(ngDevMode ? [{ debugName: "dataSize", alias: 'data-size' }] : [{ alias: 'data-size' }]));
22
+ /**
23
+ * Changes color for descendant Designsystemet components.
24
+ * Select from predefined colors and colors defined using theme.designsystemet.no.
25
+ * @attribute data-color
26
+ */
27
+ dataColor = input(undefined, ...(ngDevMode ? [{ debugName: "dataColor", alias: 'data-color' }] : [{ alias: 'data-color' }]));
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: CommonInputs, deps: [], target: i0.ɵɵFactoryTarget.Directive });
29
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: CommonInputs, isStandalone: true, inputs: { dataSize: { classPropertyName: "dataSize", publicName: "data-size", isSignal: true, isRequired: false, transformFunction: null }, dataColor: { classPropertyName: "dataColor", publicName: "data-color", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: CommonInputs, decorators: [{
32
+ type: Directive
33
+ }], propDecorators: { dataSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-size", required: false }] }], dataColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-color", required: false }] }] } });
34
+
35
+ const logIfDevMode = ({ component, message, }) => {
36
+ if (isDevMode()) {
37
+ console.log(`[${component}] ${message}`);
38
+ }
39
+ };
40
+
41
+ const randomId = () => {
42
+ return `:${Math.random().toString(36).slice(2, 7)}`;
43
+ };
44
+
45
+ /**
46
+ * Generated bundle index. Do not edit.
47
+ */
48
+
49
+ export { CommonInputs, logIfDevMode, randomId };
50
+ //# sourceMappingURL=ks-digital-designsystem-angular-__internals.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ks-digital-designsystem-angular-__internals.mjs","sources":["../../../../packages/angular/__internals/src/colors.ts","../../../../packages/angular/__internals/src/common-inputs.ts","../../../../packages/angular/__internals/src/log-if-devmode.ts","../../../../packages/angular/__internals/src/random-id.ts","../../../../packages/angular/__internals/src/ks-digital-designsystem-angular-__internals.ts"],"sourcesContent":["/**\nLifted from https://github.com/digdir/designsystemet/blob/main/packages/react/src/colors.ts\n**/\n\n// EmptyObject implementation from https://github.com/sindresorhus/type-fest/blob/main/source/empty-object.d.ts\ndeclare const emptyObjectSymbol: unique symbol\ntype EmptyObject = { [emptyObjectSymbol]?: never }\n\n/**\n * Base interface for available colors in the design system.\n * The CLI will generate augmentations of this interface to allow\n * type safety of custom color names.\n */\n\n// eslint-disable-next-line\nexport interface MainAndSupportColors {}\n\n/**\n * If {@link MainAndSupportColors} has been extended to include color names, return T,\n * otherwise return the arbitrary string type.\n */\ntype ColorWithFallback<T> = MainAndSupportColors extends EmptyObject\n ? string\n : T\n\nexport type SeverityInfo = 'info'\nexport type SeveritySuccess = 'success'\nexport type SeverityWarning = 'warning'\nexport type SeverityDanger = 'danger'\nexport type SeverityColors =\n | SeverityInfo\n | SeveritySuccess\n | SeverityWarning\n | SeverityDanger\n\nexport type Color = ColorWithFallback<'neutral' | keyof MainAndSupportColors>\n","/* eslint-disable @angular-eslint/no-input-rename */\n\n/**\n * We use input aliasing to bridge the gap between Angular's camelCase property naming convention and our HTML data attributes.\n * This approach allows us to use valid HTML data attributes as documented by Designsystemet while maintaining\n * proper TypeScript intellisense support.\n *\n * Todo: Some components are using only a subset of colors, e.g., SeverityColors for Alert. We should reconsider this directive\n */\n\nimport { Directive, input } from '@angular/core'\nimport { Color } from './colors'\n\nexport type Size = 'sm' | 'md' | 'lg'\n\n@Directive()\nexport class CommonInputs {\n /**\n * Changes size for descendant Designsystemet components. Select from predefined sizes.\n * @attribute data-size\n */\n dataSize = input<Size>(undefined, { alias: 'data-size' })\n\n /**\n * Changes color for descendant Designsystemet components.\n * Select from predefined colors and colors defined using theme.designsystemet.no.\n * @attribute data-color\n */\n dataColor = input<Color>(undefined, { alias: 'data-color' })\n}\n","import { isDevMode } from '@angular/core'\n\nexport const logIfDevMode = ({\n component,\n message,\n}: {\n component: string\n message: string\n}) => {\n if (isDevMode()) {\n console.log(`[${component}] ${message}`)\n }\n}\n","export const randomId = () => {\n return `:${Math.random().toString(36).slice(2, 7)}`\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;AAEG;;ACFH;AAEA;;;;;;AAMG;MAQU,YAAY,CAAA;AACvB;;;AAGG;AACH,IAAA,QAAQ,GAAG,KAAK,CAAO,SAAS,4CAAI,KAAK,EAAE,WAAW,EAAA,CAAA,GAAA,CAApB,EAAE,KAAK,EAAE,WAAW,EAAE,GAAC;AAEzD;;;;AAIG;AACH,IAAA,SAAS,GAAG,KAAK,CAAQ,SAAS,6CAAI,KAAK,EAAE,YAAY,EAAA,CAAA,GAAA,CAArB,EAAE,KAAK,EAAE,YAAY,EAAE,GAAC;uGAZjD,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB;;;ACbM,MAAM,YAAY,GAAG,CAAC,EAC3B,SAAS,EACT,OAAO,GAIR,KAAI;IACH,IAAI,SAAS,EAAE,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,SAAS,CAAA,EAAA,EAAK,OAAO,CAAA,CAAE,CAAC;IAC1C;AACF;;ACZO,MAAM,QAAQ,GAAG,MAAK;AAC3B,IAAA,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AACrD;;ACFA;;AAEG;;;;"}
@@ -0,0 +1,35 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Component } from '@angular/core';
3
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
4
+ import { CommonInputs } from '@ks-digital/designsystem-angular/__internals';
5
+
6
+ /**
7
+ * Alerts are used to inform users about important information, warnings, errors, or success.
8
+ */
9
+ class Alert {
10
+ /**
11
+ * The color variant of the alert.
12
+ */
13
+ /* eslint-disable-next-line @angular-eslint/no-input-rename */
14
+ dataColor = input(undefined, ...(ngDevMode ? [{ debugName: "dataColor", alias: 'data-color' }] : [{ alias: 'data-color' }]));
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Alert, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.9", type: Alert, isStandalone: true, selector: "ksd-alert", inputs: { dataColor: { classPropertyName: "dataColor", publicName: "data-color", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ds-alert" }, hostDirectives: [{ directive: i1.CommonInputs, inputs: ["data-size", "data-size"] }], ngImport: i0, template: ` <ng-content />`, isInline: true, styles: [":host{display:block;--dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128A104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z'/%3E%3C/svg%3E\")}:host[data-color=warning]{--dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M120,136V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0ZM232,91.55v72.9a15.86,15.86,0,0,1-4.69,11.31l-51.55,51.55A15.86,15.86,0,0,1,164.45,232H91.55a15.86,15.86,0,0,1-11.31-4.69L28.69,175.76A15.86,15.86,0,0,1,24,164.45V91.55a15.86,15.86,0,0,1,4.69-11.31L80.24,28.69A15.86,15.86,0,0,1,91.55,24h72.9a15.86,15.86,0,0,1,11.31,4.69l51.55,51.55A15.86,15.86,0,0,1,232,91.55Zm-16,0L164.45,40H91.55L40,91.55v72.9L91.55,216h72.9L216,164.45ZM128,160a12,12,0,1,0,12,12A12,12,0,0,0,128,160Z'/%3E%3C/svg%3E\")}:host[data-color=success]{--dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'%3E%3C/path%3E%3C/svg%3E\")}:host[data-color=danger]{--dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M165.66,101.66,139.31,128l26.35,26.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'%3E%3C/path%3E%3C/svg%3E\")}\n"] });
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Alert, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'ksd-alert', template: ` <ng-content />`, host: {
21
+ class: 'ds-alert',
22
+ }, hostDirectives: [
23
+ {
24
+ directive: CommonInputs,
25
+ inputs: ['data-size'],
26
+ },
27
+ ], styles: [":host{display:block;--dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128A104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z'/%3E%3C/svg%3E\")}:host[data-color=warning]{--dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M120,136V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0ZM232,91.55v72.9a15.86,15.86,0,0,1-4.69,11.31l-51.55,51.55A15.86,15.86,0,0,1,164.45,232H91.55a15.86,15.86,0,0,1-11.31-4.69L28.69,175.76A15.86,15.86,0,0,1,24,164.45V91.55a15.86,15.86,0,0,1,4.69-11.31L80.24,28.69A15.86,15.86,0,0,1,91.55,24h72.9a15.86,15.86,0,0,1,11.31,4.69l51.55,51.55A15.86,15.86,0,0,1,232,91.55Zm-16,0L164.45,40H91.55L40,91.55v72.9L91.55,216h72.9L216,164.45ZM128,160a12,12,0,1,0,12,12A12,12,0,0,0,128,160Z'/%3E%3C/svg%3E\")}:host[data-color=success]{--dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'%3E%3C/path%3E%3C/svg%3E\")}:host[data-color=danger]{--dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M165.66,101.66,139.31,128l26.35,26.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'%3E%3C/path%3E%3C/svg%3E\")}\n"] }]
28
+ }], propDecorators: { dataColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-color", required: false }] }] } });
29
+
30
+ /**
31
+ * Generated bundle index. Do not edit.
32
+ */
33
+
34
+ export { Alert };
35
+ //# sourceMappingURL=ks-digital-designsystem-angular-alert.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ks-digital-designsystem-angular-alert.mjs","sources":["../../../../packages/angular/alert/src/alert.ts","../../../../packages/angular/alert/src/ks-digital-designsystem-angular-alert.ts"],"sourcesContent":["import { Component, input } from '@angular/core'\nimport {\n CommonInputs,\n SeverityColors,\n} from '@ks-digital/designsystem-angular/__internals'\n\n/**\n * Alerts are used to inform users about important information, warnings, errors, or success.\n */\n@Component({\n selector: 'ksd-alert',\n template: ` <ng-content />`,\n host: {\n class: 'ds-alert',\n },\n /**\n * Use Phosphor Icons\n */\n styles: `\n :host {\n display: block;\n --dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128A104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z'/%3E%3C/svg%3E\");\n }\n :host[data-color='warning'] {\n --dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M120,136V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0ZM232,91.55v72.9a15.86,15.86,0,0,1-4.69,11.31l-51.55,51.55A15.86,15.86,0,0,1,164.45,232H91.55a15.86,15.86,0,0,1-11.31-4.69L28.69,175.76A15.86,15.86,0,0,1,24,164.45V91.55a15.86,15.86,0,0,1,4.69-11.31L80.24,28.69A15.86,15.86,0,0,1,91.55,24h72.9a15.86,15.86,0,0,1,11.31,4.69l51.55,51.55A15.86,15.86,0,0,1,232,91.55Zm-16,0L164.45,40H91.55L40,91.55v72.9L91.55,216h72.9L216,164.45ZM128,160a12,12,0,1,0,12,12A12,12,0,0,0,128,160Z'/%3E%3C/svg%3E\");\n }\n\n :host[data-color='success'] {\n --dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'%3E%3C/path%3E%3C/svg%3E\");\n }\n\n :host[data-color='danger'] {\n --dsc-alert-icon-url: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M165.66,101.66,139.31,128l26.35,26.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'%3E%3C/path%3E%3C/svg%3E\");\n }\n `,\n hostDirectives: [\n {\n directive: CommonInputs,\n inputs: ['data-size'],\n },\n ],\n})\nexport class Alert {\n /**\n * The color variant of the alert.\n */\n /* eslint-disable-next-line @angular-eslint/no-input-rename */\n dataColor = input<SeverityColors>(undefined, { alias: 'data-color' })\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMA;;AAEG;MAkCU,KAAK,CAAA;AAChB;;AAEG;;AAEH,IAAA,SAAS,GAAG,KAAK,CAAiB,SAAS,6CAAI,KAAK,EAAE,YAAY,EAAA,CAAA,GAAA,CAArB,EAAE,KAAK,EAAE,YAAY,EAAE,GAAC;uGAL1D,KAAK,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAL,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAK,kVA/BN,CAAA,eAAA,CAAiB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,85DAAA,CAAA,EAAA,CAAA;;2FA+BhB,KAAK,EAAA,UAAA,EAAA,CAAA;kBAjCjB,SAAS;+BACE,WAAW,EAAA,QAAA,EACX,iBAAiB,EAAA,IAAA,EACrB;AACJ,wBAAA,KAAK,EAAE,UAAU;qBAClB,EAAA,cAAA,EAqBe;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,YAAY;4BACvB,MAAM,EAAE,CAAC,WAAW,CAAC;AACtB,yBAAA;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,85DAAA,CAAA,EAAA;;;ACxCH;;AAEG;;;;"}
@@ -0,0 +1,63 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, booleanAttribute, Component } from '@angular/core';
3
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
4
+ import { CommonInputs } from '@ks-digital/designsystem-angular/__internals';
5
+ import { Spinner } from '@ks-digital/designsystem-angular/spinner';
6
+
7
+ class Button {
8
+ /**
9
+ * Specify which variant to use
10
+ * @default 'primary'
11
+ */
12
+ variant = input('primary', ...(ngDevMode ? [{ debugName: "variant" }] : []));
13
+ /**
14
+ * Toggle loading state.
15
+ * Pass an element if you want to display a custom loader.
16
+ *
17
+ * @default false
18
+ */
19
+ loading = input(false, ...(ngDevMode ? [{ debugName: "loading", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
20
+ /**
21
+ * Disables element
22
+ */
23
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
24
+ /**
25
+ * If this is a button with only an icon
26
+ */
27
+ icon = input(false, ...(ngDevMode ? [{ debugName: "icon", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Button, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: Button, isStandalone: true, selector: "button[ksd-button], a[ksd-button]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, properties: { "attr.data-variant": "variant()", "attr.data-icon": "icon() || null", "attr.disabled": "disabled() ? true : null", "attr.aria-busy": "loading() ? true : null" }, classAttribute: "ds-button" }, hostDirectives: [{ directive: i1.CommonInputs, inputs: ["data-size", "data-size", "data-color", "data-color"] }], ngImport: i0, template: `
30
+ @if (loading()) {
31
+ <ksd-spinner aria-hidden="true" />
32
+ }
33
+ <ng-content />
34
+ `, isInline: true, styles: [":host ::ng-deep>*{display:inline-flex}\n"], dependencies: [{ kind: "component", type: Spinner, selector: "ksd-spinner", inputs: ["aria-label", "data-size", "data-color", "aria-hidden"] }] });
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Button, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'button[ksd-button], a[ksd-button]', hostDirectives: [
39
+ {
40
+ directive: CommonInputs,
41
+ inputs: ['data-size', 'data-color'],
42
+ },
43
+ ], imports: [Spinner], host: {
44
+ class: 'ds-button',
45
+ type: 'button',
46
+ '[attr.data-variant]': 'variant()',
47
+ '[attr.data-icon]': 'icon() || null',
48
+ '[attr.disabled]': 'disabled() ? true : null',
49
+ '[attr.aria-busy]': 'loading() ? true : null',
50
+ }, template: `
51
+ @if (loading()) {
52
+ <ksd-spinner aria-hidden="true" />
53
+ }
54
+ <ng-content />
55
+ `, styles: [":host ::ng-deep>*{display:inline-flex}\n"] }]
56
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }] } });
57
+
58
+ /**
59
+ * Generated bundle index. Do not edit.
60
+ */
61
+
62
+ export { Button };
63
+ //# sourceMappingURL=ks-digital-designsystem-angular-button.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ks-digital-designsystem-angular-button.mjs","sources":["../../../../packages/angular/button/src/button.ts","../../../../packages/angular/button/src/ks-digital-designsystem-angular-button.ts"],"sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core'\nimport { CommonInputs } from '@ks-digital/designsystem-angular/__internals'\nimport { Spinner } from '@ks-digital/designsystem-angular/spinner'\n\n@Component({\n selector: 'button[ksd-button], a[ksd-button]',\n hostDirectives: [\n {\n directive: CommonInputs,\n inputs: ['data-size', 'data-color'],\n },\n ],\n imports: [Spinner],\n host: {\n class: 'ds-button',\n type: 'button',\n '[attr.data-variant]': 'variant()',\n '[attr.data-icon]': 'icon() || null',\n '[attr.disabled]': 'disabled() ? true : null',\n '[attr.aria-busy]': 'loading() ? true : null',\n },\n styles: `\n /* Ensure transcluded icons are aligned properly */\n :host ::ng-deep > * {\n display: inline-flex;\n }\n `,\n\n template: `\n @if (loading()) {\n <ksd-spinner aria-hidden=\"true\" />\n }\n <ng-content />\n `,\n})\nexport class Button {\n /**\n * Specify which variant to use\n * @default 'primary'\n */\n readonly variant = input<'primary' | 'secondary' | 'tertiary'>('primary')\n\n /**\n * Toggle loading state.\n * Pass an element if you want to display a custom loader.\n *\n * @default false\n */\n readonly loading = input(false, { transform: booleanAttribute })\n\n /**\n * Disables element\n */\n readonly disabled = input(false, { transform: booleanAttribute })\n\n /**\n * If this is a button with only an icon\n */\n readonly icon = input(false, { transform: booleanAttribute })\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, inject, ElementRef, Component } from '@angular/core';
3
+ import * as i1 from '@ks-digital/designsystem-angular/__internals';
4
+ import { CommonInputs } from '@ks-digital/designsystem-angular/__internals';
5
+
6
+ class Card {
7
+ /**
8
+ * Change the background color of the card
9
+ * @default 'default'
10
+ */
11
+ variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
12
+ elementRef = inject(ElementRef);
13
+ projectedLink() {
14
+ const el = this.elementRef.nativeElement;
15
+ return el?.querySelector('h1 a, h2 a, h3 a, h4 a, h5 a, h6 a');
16
+ }
17
+ handleClick = (event) => {
18
+ const link = this.projectedLink();
19
+ if (!link)
20
+ return;
21
+ if (event.metaKey || event.ctrlKey) {
22
+ window.open(link.href, '_blank', 'noopener,noreferrer');
23
+ }
24
+ else {
25
+ link.click();
26
+ }
27
+ };
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Card, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.9", type: Card, isStandalone: true, selector: "[ksd-card]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClick($event)" }, properties: { "attr.data-variant": "variant()" }, classAttribute: "ds-card" }, hostDirectives: [{ directive: i1.CommonInputs, inputs: ["data-size", "data-size", "data-color", "data-color"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Card, decorators: [{
32
+ type: Component,
33
+ args: [{
34
+ selector: '[ksd-card]',
35
+ template: ` <ng-content /> `,
36
+ hostDirectives: [
37
+ {
38
+ directive: CommonInputs,
39
+ inputs: ['data-size', 'data-color'],
40
+ },
41
+ ],
42
+ host: {
43
+ class: 'ds-card',
44
+ '[attr.data-variant]': 'variant()',
45
+ '(click)': 'handleClick($event)',
46
+ },
47
+ }]
48
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
49
+
50
+ class CardBlock {
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: CardBlock, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: CardBlock, isStandalone: true, selector: "[ksd-card-block]", host: { classAttribute: "ds-card__block" }, ngImport: i0, template: `<ng-content />`, isInline: true });
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: CardBlock, decorators: [{
55
+ type: Component,
56
+ args: [{
57
+ selector: '[ksd-card-block]',
58
+ host: {
59
+ class: 'ds-card__block',
60
+ },
61
+ template: `<ng-content />`,
62
+ }]
63
+ }] });
64
+
65
+ /**
66
+ * Generated bundle index. Do not edit.
67
+ */
68
+
69
+ export { Card, CardBlock };
70
+ //# sourceMappingURL=ks-digital-designsystem-angular-card.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ks-digital-designsystem-angular-card.mjs","sources":["../../../../packages/angular/card/src/card.ts","../../../../packages/angular/card/src/card-block.ts","../../../../packages/angular/card/src/ks-digital-designsystem-angular-card.ts"],"sourcesContent":["import { Component, ElementRef, inject, input } from '@angular/core'\nimport { CommonInputs } from '@ks-digital/designsystem-angular/__internals'\n\n@Component({\n selector: '[ksd-card]',\n template: ` <ng-content /> `,\n hostDirectives: [\n {\n directive: CommonInputs,\n inputs: ['data-size', 'data-color'],\n },\n ],\n host: {\n class: 'ds-card',\n '[attr.data-variant]': 'variant()',\n '(click)': 'handleClick($event)',\n },\n})\nexport class Card {\n /**\n * Change the background color of the card\n * @default 'default'\n */\n public variant = input<'tinted' | 'default'>('default')\n private elementRef = inject(ElementRef)\n\n private projectedLink() {\n const el = this.elementRef.nativeElement\n return el?.querySelector(\n 'h1 a, h2 a, h3 a, h4 a, h5 a, h6 a',\n ) as HTMLAnchorElement | null\n }\n\n protected handleClick = (event: MouseEvent) => {\n const link = this.projectedLink()\n if (!link) return\n\n if (event.metaKey || event.ctrlKey) {\n window.open(link.href, '_blank', 'noopener,noreferrer')\n } else {\n link.click()\n }\n }\n}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: '[ksd-card-block]',\n host: {\n class: 'ds-card__block',\n },\n template: `<ng-content />`,\n})\nexport class CardBlock {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAkBa,IAAI,CAAA;AACf;;;AAGG;AACI,IAAA,OAAO,GAAG,KAAK,CAAuB,SAAS,mDAAC;AAC/C,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAE/B,aAAa,GAAA;AACnB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AACxC,QAAA,OAAO,EAAE,EAAE,aAAa,CACtB,oCAAoC,CACT;IAC/B;AAEU,IAAA,WAAW,GAAG,CAAC,KAAiB,KAAI;AAC5C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE;AACjC,QAAA,IAAI,CAAC,IAAI;YAAE;QAEX,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;YAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,qBAAqB,CAAC;QACzD;aAAO;YACL,IAAI,CAAC,KAAK,EAAE;QACd;AACF,IAAA,CAAC;uGAxBU,IAAI,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAJ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAI,wcAbL,CAAA,gBAAA,CAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAajB,IAAI,EAAA,UAAA,EAAA,CAAA;kBAfhB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,CAAA,gBAAA,CAAkB;AAC5B,oBAAA,cAAc,EAAE;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,YAAY;AACvB,4BAAA,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;AACpC,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,SAAS,EAAE,qBAAqB;AACjC,qBAAA;AACF,iBAAA;;;MCRY,SAAS,CAAA;uGAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,wHAFV,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEf,SAAS,EAAA,UAAA,EAAA,CAAA;kBAPrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,gBAAgB;AACxB,qBAAA;AACD,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC3B,iBAAA;;;ACRD;;AAEG;;;;"}
@@ -0,0 +1,100 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, output, viewChild, CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
3
+ import '@u-elements/u-details';
4
+
5
+ class Details {
6
+ dataSize = input(undefined, ...(ngDevMode ? [{ debugName: "dataSize",
7
+ // eslint-disable-next-line @angular-eslint/no-input-rename
8
+ alias: 'data-size' }] : [{
9
+ // eslint-disable-next-line @angular-eslint/no-input-rename
10
+ alias: 'data-size',
11
+ }]));
12
+ dataColor = input(undefined, ...(ngDevMode ? [{ debugName: "dataColor",
13
+ // eslint-disable-next-line @angular-eslint/no-input-rename
14
+ alias: 'data-color' }] : [{
15
+ // eslint-disable-next-line @angular-eslint/no-input-rename
16
+ alias: 'data-color',
17
+ }]));
18
+ variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
19
+ defaultOpen = input(false, ...(ngDevMode ? [{ debugName: "defaultOpen" }] : []));
20
+ open = input(undefined, ...(ngDevMode ? [{ debugName: "open" }] : []));
21
+ toggled = output();
22
+ detailsRef = viewChild('detailsRef', ...(ngDevMode ? [{ debugName: "detailsRef" }] : []));
23
+ onToggle(event) {
24
+ const details = this.detailsRef()?.nativeElement;
25
+ if (details && details.open !== this.open()) {
26
+ this.toggled.emit(event);
27
+ }
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Details, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.9", type: Details, isStandalone: true, selector: "ksd-details", inputs: { dataSize: { classPropertyName: "dataSize", publicName: "data-size", isSignal: true, isRequired: false, transformFunction: null }, dataColor: { classPropertyName: "dataColor", publicName: "data-color", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggled: "toggled" }, viewQueries: [{ propertyName: "detailsRef", first: true, predicate: ["detailsRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
31
+ <u-details
32
+ #detailsRef
33
+ class="ds-details"
34
+ [attr.data-variant]="variant()"
35
+ [attr.open]="(open() ?? defaultOpen()) || undefined"
36
+ [attr.data-color]="dataColor()"
37
+ [attr.data-size]="dataSize()"
38
+ (toggle)="onToggle($event)"
39
+ >
40
+ <u-summary>
41
+ <ng-content select="ksd-details-summary" />
42
+ </u-summary>
43
+ <div>
44
+ <ng-content select="ksd-details-content" />
45
+ </div>
46
+ </u-details>
47
+ `, isInline: true, styles: [".ds-card>:host(:last-of-type)>.ds-details{border-bottom:0}.ds-card>:host(:first-of-type)>.ds-details{border-top:0}:host(:not(:first-of-type))>.ds-details{border-top:0;margin-top:0}\n"] });
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: Details, decorators: [{
50
+ type: Component,
51
+ args: [{ selector: 'ksd-details', schemas: [CUSTOM_ELEMENTS_SCHEMA], template: `
52
+ <u-details
53
+ #detailsRef
54
+ class="ds-details"
55
+ [attr.data-variant]="variant()"
56
+ [attr.open]="(open() ?? defaultOpen()) || undefined"
57
+ [attr.data-color]="dataColor()"
58
+ [attr.data-size]="dataSize()"
59
+ (toggle)="onToggle($event)"
60
+ >
61
+ <u-summary>
62
+ <ng-content select="ksd-details-summary" />
63
+ </u-summary>
64
+ <div>
65
+ <ng-content select="ksd-details-content" />
66
+ </div>
67
+ </u-details>
68
+ `, styles: [".ds-card>:host(:last-of-type)>.ds-details{border-bottom:0}.ds-card>:host(:first-of-type)>.ds-details{border-top:0}:host(:not(:first-of-type))>.ds-details{border-top:0;margin-top:0}\n"] }]
69
+ }], propDecorators: { dataSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-size", required: false }] }], dataColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "data-color", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], defaultOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpen", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], toggled: [{ type: i0.Output, args: ["toggled"] }], detailsRef: [{ type: i0.ViewChild, args: ['detailsRef', { isSignal: true }] }] } });
70
+
71
+ class DetailsContent {
72
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DetailsContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
73
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: DetailsContent, isStandalone: true, selector: "ksd-details-content", ngImport: i0, template: `<ng-content />`, isInline: true });
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DetailsContent, decorators: [{
76
+ type: Component,
77
+ args: [{
78
+ selector: 'ksd-details-content',
79
+ template: `<ng-content />`,
80
+ }]
81
+ }] });
82
+
83
+ class DetailsSummary {
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DetailsSummary, deps: [], target: i0.ɵɵFactoryTarget.Component });
85
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: DetailsSummary, isStandalone: true, selector: "ksd-details-summary", ngImport: i0, template: `<ng-content />`, isInline: true });
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DetailsSummary, decorators: [{
88
+ type: Component,
89
+ args: [{
90
+ selector: 'ksd-details-summary',
91
+ template: `<ng-content />`,
92
+ }]
93
+ }] });
94
+
95
+ /**
96
+ * Generated bundle index. Do not edit.
97
+ */
98
+
99
+ export { Details, DetailsContent, DetailsSummary };
100
+ //# sourceMappingURL=ks-digital-designsystem-angular-details.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ks-digital-designsystem-angular-details.mjs","sources":["../../../../packages/angular/details/src/details.ts","../../../../packages/angular/details/src/details-content.ts","../../../../packages/angular/details/src/details-summary.ts","../../../../packages/angular/details/src/ks-digital-designsystem-angular-details.ts"],"sourcesContent":["import {\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n ElementRef,\n input,\n output,\n viewChild,\n} from '@angular/core'\nimport '@u-elements/u-details'\n\n@Component({\n selector: 'ksd-details',\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: `\n <u-details\n #detailsRef\n class=\"ds-details\"\n [attr.data-variant]=\"variant()\"\n [attr.open]=\"(open() ?? defaultOpen()) || undefined\"\n [attr.data-color]=\"dataColor()\"\n [attr.data-size]=\"dataSize()\"\n (toggle)=\"onToggle($event)\"\n >\n <u-summary>\n <ng-content select=\"ksd-details-summary\" />\n </u-summary>\n <div>\n <ng-content select=\"ksd-details-content\" />\n </div>\n </u-details>\n `,\n styles: `\n /* Styles needed since Designsystemet styles doesnt expect an element wrapping .ds-details, which we have */\n .ds-card > :host(:last-of-type) > .ds-details {\n border-bottom: 0;\n }\n\n .ds-card > :host(:first-of-type) > .ds-details {\n border-top: 0;\n }\n\n :host(:not(:first-of-type)) > .ds-details {\n border-top: 0;\n margin-top: 0;\n }\n `,\n})\nexport class Details {\n readonly dataSize = input<'sm' | 'md' | 'lg' | undefined>(undefined, {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n alias: 'data-size',\n })\n readonly dataColor = input<string | undefined>(undefined, {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n alias: 'data-color',\n })\n readonly variant = input<'tinted' | 'default'>('default')\n readonly defaultOpen = input<boolean>(false)\n readonly open = input<boolean | undefined>(undefined)\n readonly toggled = output<Event>()\n private detailsRef = viewChild<ElementRef<HTMLDetailsElement>>('detailsRef')\n\n onToggle(event: Event) {\n const details = this.detailsRef()?.nativeElement\n if (details && details.open !== this.open()) {\n this.toggled.emit(event)\n }\n }\n}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'ksd-details-content',\n template: `<ng-content />`,\n})\nexport class DetailsContent {}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'ksd-details-summary',\n template: `<ng-content />`,\n})\nexport class DetailsSummary {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MA+Ca,OAAO,CAAA;IACT,QAAQ,GAAG,KAAK,CAAiC,SAAS,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA;;YAEjE,KAAK,EAAE,WAAW,EAAA,CAAA,GAAA,CAFiD;;AAEnE,YAAA,KAAK,EAAE,WAAW;AACnB,SAAA,CAAA,CAAA,CAAC;IACO,SAAS,GAAG,KAAK,CAAqB,SAAS,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,WAAA;;YAEtD,KAAK,EAAE,YAAY,EAAA,CAAA,GAAA,CAFqC;;AAExD,YAAA,KAAK,EAAE,YAAY;AACpB,SAAA,CAAA,CAAA,CAAC;AACO,IAAA,OAAO,GAAG,KAAK,CAAuB,SAAS,mDAAC;AAChD,IAAA,WAAW,GAAG,KAAK,CAAU,KAAK,uDAAC;AACnC,IAAA,IAAI,GAAG,KAAK,CAAsB,SAAS,gDAAC;IAC5C,OAAO,GAAG,MAAM,EAAS;AAC1B,IAAA,UAAU,GAAG,SAAS,CAAiC,YAAY,sDAAC;AAE5E,IAAA,QAAQ,CAAC,KAAY,EAAA;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa;QAChD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE;AAC3C,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B;IACF;uGApBW,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlCR;;;;;;;;;;;;;;;;;AAiBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wLAAA,CAAA,EAAA,CAAA;;2FAiBU,OAAO,EAAA,UAAA,EAAA,CAAA;kBArCnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,OAAA,EACd,CAAC,sBAAsB,CAAC,EAAA,QAAA,EACvB;;;;;;;;;;;;;;;;;AAiBT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,wLAAA,CAAA,EAAA;2lBA8B8D,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MCtDhE,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,+EAFf,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEf,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC3B,iBAAA;;;MCCY,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,+EAFf,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEf,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC3B,iBAAA;;;ACLD;;AAEG;;;;"}