@uh-design-system/component-library 0.2.4 → 0.4.0

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 (116) hide show
  1. package/dist/cjs/attributes-f7831329.js +78 -0
  2. package/dist/cjs/component-library.cjs.js +3 -3
  3. package/dist/cjs/{ds-accordion_2.cjs.entry.js → ds-accordion_3.cjs.entry.js} +419 -241
  4. package/dist/cjs/ds-link-with-arrow.cjs.entry.js +47 -0
  5. package/dist/cjs/ds-link.cjs.entry.js +54 -0
  6. package/dist/cjs/ds-text-input.cjs.entry.js +12 -16
  7. package/dist/cjs/ds-visually-hidden.cjs.entry.js +20 -0
  8. package/dist/cjs/{index-fd4f6cd2.js → index-bfa0f441.js} +17 -11
  9. package/dist/cjs/linkUtils-695da37c.js +16 -0
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/utils-8b73aa91.js +10 -0
  12. package/dist/collection/collection-manifest.json +3 -1
  13. package/dist/collection/components/00-foundations/icons/categories/arrows.js +6 -0
  14. package/dist/collection/components/00-foundations/icons/categories/information.js +12 -0
  15. package/dist/collection/components/00-foundations/icons/categories/media.js +4 -0
  16. package/dist/collection/components/00-foundations/icons/categories/social.js +17 -0
  17. package/dist/collection/components/00-foundations/icons/iconList.js +2 -0
  18. package/dist/collection/components/00-foundations/typography/stories/typography.stories.js +110 -0
  19. package/dist/collection/components/01-base-components/ds-accordion/ds-accordion.css +101 -82
  20. package/dist/collection/components/01-base-components/ds-accordion/ds-accordion.js +41 -9
  21. package/dist/collection/components/01-base-components/ds-accordion/stories/ds-accordion.examples.stories.js +15 -0
  22. package/dist/collection/components/01-base-components/ds-accordion/stories/ds-accordion.features.stories.js +1 -1
  23. package/dist/collection/components/01-base-components/ds-accordion/stories/ds-accordion.stories.js +10 -1
  24. package/dist/collection/components/01-base-components/ds-button/ds-button.css +168 -104
  25. package/dist/collection/components/01-base-components/ds-button/ds-button.js +23 -2
  26. package/dist/collection/components/01-base-components/ds-button/stories/ds-button.examples.stories.js +6 -0
  27. package/dist/collection/components/01-base-components/ds-button/stories/ds-button.features.stories.js +13 -7
  28. package/dist/collection/components/01-base-components/ds-icon/ds-icon.css +5 -1
  29. package/dist/collection/components/01-base-components/ds-icon/ds-icon.js +8 -5
  30. package/dist/collection/components/01-base-components/ds-icon/ds-icon.stories.js +2 -2
  31. package/dist/collection/components/01-base-components/ds-link/ds-link.css +224 -0
  32. package/dist/collection/components/01-base-components/ds-link/ds-link.js +281 -0
  33. package/dist/collection/components/01-base-components/ds-link/stories/ds-link.examples.stories.js +53 -0
  34. package/dist/collection/components/01-base-components/ds-link/stories/ds-link.features.stories.js +73 -0
  35. package/dist/collection/components/01-base-components/ds-link/stories/ds-link.stories.js +72 -0
  36. package/dist/collection/components/01-base-components/ds-link-with-arrow/ds-link-with-arrow.css +208 -0
  37. package/dist/collection/components/01-base-components/ds-link-with-arrow/ds-link-with-arrow.js +161 -0
  38. package/dist/collection/components/01-base-components/ds-link-with-arrow/stories/ds-arrow-link.examples.stories.js +33 -0
  39. package/dist/collection/components/01-base-components/ds-link-with-arrow/stories/ds-arrow-link.features.stories.js +19 -0
  40. package/dist/collection/components/01-base-components/ds-link-with-arrow/stories/ds-arrow-link.stories.js +40 -0
  41. package/dist/collection/components/01-base-components/ds-text-input/ds-text-input.css +72 -48
  42. package/dist/collection/components/01-base-components/ds-text-input/ds-text-input.js +44 -4
  43. package/dist/collection/components/01-base-components/ds-text-input/{ds-text-input.examples.stories.js → stories/ds-text-input.examples.stories.js} +13 -0
  44. package/dist/collection/components/01-base-components/ds-text-input/{ds-text-input.features.stories.js → stories/ds-text-input.features.stories.js} +18 -4
  45. package/dist/collection/components/01-base-components/ds-text-input/{ds-text-input.stories.js → stories/ds-text-input.stories.js} +2 -2
  46. package/dist/collection/components/01-base-components/ds-visually-hidden/ds-visually-hidden.js +1 -1
  47. package/dist/collection/introduction/introduction.stories.js +9 -0
  48. package/dist/collection/utils/link/linkUtils.js +11 -0
  49. package/dist/collection/utils/typography/typographyUtils.js +21 -0
  50. package/dist/collection/utils/utils.js +5 -0
  51. package/dist/component-library/attributes-9419ac39.js +1 -0
  52. package/dist/component-library/component-library.css +1 -1
  53. package/dist/component-library/component-library.esm.js +1 -1
  54. package/dist/component-library/ds-accordion_3.entry.js +1 -0
  55. package/dist/component-library/ds-link-with-arrow.entry.js +1 -0
  56. package/dist/component-library/ds-link.entry.js +1 -0
  57. package/dist/component-library/ds-text-input.entry.js +1 -1
  58. package/dist/component-library/ds-visually-hidden.entry.js +1 -0
  59. package/dist/component-library/{index-4200d514.js → index-42701395.js} +2 -2
  60. package/dist/component-library/linkUtils-3d1b28cf.js +1 -0
  61. package/dist/component-library/utils-cca2a41a.js +1 -0
  62. package/dist/components/attributes.js +154 -0
  63. package/dist/components/ds-accordion.js +31 -12
  64. package/dist/components/ds-button2.js +6 -78
  65. package/dist/components/ds-icon2.js +320 -231
  66. package/dist/components/ds-link-with-arrow.d.ts +11 -0
  67. package/dist/components/ds-link-with-arrow.js +78 -0
  68. package/dist/components/ds-link.d.ts +11 -0
  69. package/dist/components/ds-link.js +90 -0
  70. package/dist/components/ds-text-input.js +11 -13
  71. package/dist/components/ds-visually-hidden2.js +1 -1
  72. package/dist/components/index2.js +7 -10
  73. package/dist/components/linkUtils.js +13 -0
  74. package/dist/components/utils.js +8 -0
  75. package/dist/esm/attributes-9419ac39.js +75 -0
  76. package/dist/esm/component-library.js +4 -4
  77. package/dist/esm/{ds-accordion_2.entry.js → ds-accordion_3.entry.js} +419 -242
  78. package/dist/esm/ds-link-with-arrow.entry.js +43 -0
  79. package/dist/esm/ds-link.entry.js +50 -0
  80. package/dist/esm/ds-text-input.entry.js +8 -12
  81. package/dist/esm/ds-visually-hidden.entry.js +16 -0
  82. package/dist/esm/{index-4200d514.js → index-42701395.js} +17 -11
  83. package/dist/esm/linkUtils-3d1b28cf.js +13 -0
  84. package/dist/esm/loader.js +3 -3
  85. package/dist/esm/utils-cca2a41a.js +8 -0
  86. package/dist/types/components/00-foundations/icons/categories/social.d.ts +5 -0
  87. package/dist/types/components/00-foundations/typography/stories/typography.stories.d.ts +9 -0
  88. package/dist/types/components/01-base-components/ds-accordion/ds-accordion.d.ts +2 -0
  89. package/dist/types/components/01-base-components/ds-accordion/stories/ds-accordion.examples.stories.d.ts +1 -0
  90. package/dist/types/components/01-base-components/ds-button/ds-button.d.ts +1 -0
  91. package/dist/types/components/01-base-components/ds-button/stories/ds-button.examples.stories.d.ts +1 -0
  92. package/dist/types/components/01-base-components/ds-button/stories/ds-button.features.stories.d.ts +3 -0
  93. package/dist/types/components/01-base-components/ds-icon/ds-icon.d.ts +1 -1
  94. package/dist/types/components/01-base-components/ds-link/ds-link.d.ts +25 -0
  95. package/dist/types/components/01-base-components/ds-link/stories/ds-link.examples.stories.d.ts +11 -0
  96. package/dist/types/components/01-base-components/ds-link/stories/ds-link.features.stories.d.ts +11 -0
  97. package/dist/types/components/01-base-components/ds-link/stories/ds-link.stories.d.ts +7 -0
  98. package/dist/types/components/01-base-components/ds-link-with-arrow/ds-link-with-arrow.d.ts +18 -0
  99. package/dist/types/components/01-base-components/ds-link-with-arrow/stories/ds-arrow-link.examples.stories.d.ts +7 -0
  100. package/dist/types/components/01-base-components/ds-link-with-arrow/stories/ds-arrow-link.features.stories.d.ts +7 -0
  101. package/dist/types/components/01-base-components/ds-link-with-arrow/stories/ds-arrow-link.stories.d.ts +7 -0
  102. package/dist/types/components/01-base-components/ds-text-input/ds-text-input.d.ts +2 -0
  103. package/dist/types/components/01-base-components/ds-text-input/{ds-text-input.examples.stories.d.ts → stories/ds-text-input.examples.stories.d.ts} +2 -1
  104. package/dist/types/components/01-base-components/ds-text-input/{ds-text-input.features.stories.d.ts → stories/ds-text-input.features.stories.d.ts} +4 -1
  105. package/dist/types/components/01-base-components/ds-text-input/{ds-text-input.stories.d.ts → stories/ds-text-input.stories.d.ts} +1 -1
  106. package/dist/types/components.d.ts +66 -2
  107. package/dist/types/introduction/introduction.stories.d.ts +10 -0
  108. package/dist/types/utils/link/linkUtils.d.ts +2 -0
  109. package/dist/types/utils/typography/typographyUtils.d.ts +1 -0
  110. package/dist/types/utils/utils.d.ts +1 -0
  111. package/package.json +2 -4
  112. package/dist/cjs/ds-button_2.cjs.entry.js +0 -170
  113. package/dist/component-library/ds-accordion_2.entry.js +0 -1
  114. package/dist/component-library/ds-button_2.entry.js +0 -1
  115. package/dist/components/index3.js +0 -80
  116. package/dist/esm/ds-button_2.entry.js +0 -165
@@ -0,0 +1,43 @@
1
+ import { r as registerInstance, g as getElement, h } from './index-42701395.js';
2
+ import { c as classNames } from './index-72ac5051.js';
3
+ import { i as inheritAriaAttributes } from './attributes-9419ac39.js';
4
+ import { i as idGenerator } from './utils-cca2a41a.js';
5
+ import { o as opensInNewTab, v as visuallyHiddenAssistiveText } from './linkUtils-3d1b28cf.js';
6
+
7
+ const dsLinkWithArrowCss = ":root{--ds-breakpoint-xSmall:20rem;--ds-breakpoint-small:30rem;--ds-breakpoint-medium:60rem;--ds-breakpoint-large:75rem;--ds-breakpoint-xLarge:90rem}:root{--ds-borderWidth-none:0px;--ds-borderWidth-hairline:1px;--ds-borderWidth-thin:2px;--ds-borderWidth-thick:4px;--ds-borderWidth-xThick:8px;--ds-borderRadius-none:0px}:root{--ds-breakpoint-xSmall:20rem;--ds-breakpoint-small:30rem;--ds-breakpoint-medium:60rem;--ds-breakpoint-large:75rem;--ds-breakpoint-xLarge:90rem}:root{--ds-fontFamily-heading:\"Open Sans\", sans-serif;--ds-fontFamily-body:\"Open Sans\", sans-serif;--ds-fontSize-12:12px;--ds-fontSize-14:14px;--ds-fontSize-16:16px;--ds-fontSize-18:18px;--ds-fontSize-20:20px;--ds-fontSize-22:22px;--ds-fontSize-24:24px;--ds-fontSize-26:26px;--ds-fontSize-30:30px;--ds-fontSize-32:32px;--ds-fontSize-36:36px;--ds-fontSize-40:40px;--ds-fontSize-48:48px;--ds-fontSize-56:56px;--ds-fontSize-64:64px;--ds-fontWeight-regular:400;--ds-fontWeight-semibold:600;--ds-fontWeight-semiboldPlus:650;--ds-fontWeight-bold:700;--ds-letterSpacing-xTight:-2;--ds-letterSpacing-tight:-1.4;--ds-letterSpacing-normal:-0.4;--ds-letterSpacing-wide:0;--ds-letterSpacing-xWide:0.4;--ds-lineHeight-small:1;--ds-lineHeight-medium:1.2;--ds-lineHeight-large:1.5;--ds-lineHeight-xLarge:1.75;--ds-fontWidth-normal:100;--ds-fontWidth-condense:90;--ds-number-style:proportional-figures;}@supports (font-variation-settings: normal){:root{--ds-fontFamily-heading:\"Open Sans Variable\", sans-serif;--ds-fontFamily-body:\"Open Sans Variable\", sans-serif}}:root{--ds-breakpoint-xSmall:20rem;--ds-breakpoint-small:30rem;--ds-breakpoint-medium:60rem;--ds-breakpoint-large:75rem;--ds-breakpoint-xLarge:90rem}.ds-bodyText--2xLarge{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--2xLarge{font-size:var(--ds-fontSize-22)}}.ds-bodyText--xLarge{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--xLarge{font-size:var(--ds-fontSize-20)}}.ds-bodyText--large{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--large{font-size:var(--ds-fontSize-18)}}.ds-bodyText--medium{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--medium{font-size:var(--ds-fontSize-16)}}.ds-bodyText--small{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-12);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--small{font-size:var(--ds-fontSize-14)}}:host{display:inline-block}.ds-link-with-arrow{display:inline-flex;align-items:center;color:var(--ds-textColor-link);letter-spacing:var(--ds-letterSpacing-wide);font-weight:var(--ds-fontWeight-semibold);font-size:var(--ds-fontSize-16);text-decoration-line:none}.ds-link-with-arrow:focus-visible,.ds-link-with-arrow:focus-within{box-shadow:0 0 0 var(--ds-borderWidth-thin) var(--ds-borderColor-white);outline-color:var(--ds-borderColor-black);outline-offset:var(--ds-borderWidth-thin);outline-style:solid;outline-width:var(--ds-borderWidth-thin)}@media (min-width: 30rem){.ds-link-with-arrow{font-size:var(--ds-fontSize-18)}}.ds-link-with-arrow__icon{display:inline-flex;width:2em;height:2em;line-height:0;align-items:center;justify-content:center;color:var(--ds-textColor-white);background-color:var(--ds-bgColor-primary)}.ds-link-with-arrow__icon--start{margin-right:var(--ds-spacing-xSmall)}.ds-link-with-arrow__icon--end{margin-left:var(--ds-spacing-xSmall)}:hover slot>.ds-link-with-arrow__icon{outline:10px solid;background-color:var(--ds-bgColor-primary-hover)}:active slot>.ds-link-with-arrow__icon{background-color:var(--ds-bgColor-primary-active)}.ds-link-with-arrow:hover,.ds-link-with-arrow:active{text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:7%;text-underline-offset:12%;text-underline-position:from-font}.ds-link-with-arrow:hover{color:var(--ds-textColor-link-hover)}.ds-link-with-arrow:active,.ds-link-with-arrow:focus-visible{color:var(--ds-textColor-link-active)}";
8
+ const DsLinkWithArrowStyle0 = dsLinkWithArrowCss;
9
+
10
+ const visuallyHiddenAssistiveTextIdGenerator = idGenerator('visually-hidden-assistive-text');
11
+ const DsLinkWithArrow = class {
12
+ constructor(hostRef) {
13
+ registerInstance(this, hostRef);
14
+ }
15
+ inheritedAttributes = {};
16
+ icon = 'arrow_forward';
17
+ rel;
18
+ visuallyHiddenAssistiveTextId = visuallyHiddenAssistiveTextIdGenerator.next().value;
19
+ get el() { return getElement(this); }
20
+ text;
21
+ iconPosition = 'start';
22
+ href;
23
+ target;
24
+ language;
25
+ componentWillLoad() {
26
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
27
+ if (opensInNewTab(this.target)) {
28
+ this.icon = 'arrow_outward';
29
+ this.rel = 'noopener noreferrer';
30
+ }
31
+ }
32
+ render() {
33
+ const classes = classNames('ds-link-with-arrow');
34
+ const iconClasses = classNames('ds-link-with-arrow__icon', {
35
+ 'ds-link-with-arrow__icon--start': this.iconPosition === 'start',
36
+ 'ds-link-with-arrow__icon--end': this.iconPosition === 'end',
37
+ });
38
+ return (h("a", { key: 'aa1a1272c0323f286e590f1a366f2101410a58c3', href: this.href, class: classes, rel: this.rel, target: this.target, ...this.inheritedAttributes }, h("slot", { key: 'e348b24c8c5418cf0f33e18c5337066b6eb579a2', name: "iconStart" }, this.iconPosition === 'start' && h("ds-icon", { key: 'e523092b3dc32f936139c53e74195b927a219c0f', name: this.icon, class: iconClasses, size: "1.4em" })), this.text, h("slot", { key: '0ec9d65ee348aa75108f9d87474551b6b3c4a0bb', name: "iconStart" }, this.iconPosition === 'end' && h("ds-icon", { key: '55b5ef6cc061bea9f68d784e4e9fb0ebdac0002c', name: this.icon, class: iconClasses, size: "1.4em" })), opensInNewTab(this.target) && (h("ds-visually-hidden", { key: '8c92b801ac0a1d52e12fead3c89703d41f90fa6a', id: this.visuallyHiddenAssistiveTextId }, visuallyHiddenAssistiveText(this.language ?? document.documentElement.lang)))));
39
+ }
40
+ };
41
+ DsLinkWithArrow.style = DsLinkWithArrowStyle0;
42
+
43
+ export { DsLinkWithArrow as ds_link_with_arrow };
@@ -0,0 +1,50 @@
1
+ import { r as registerInstance, g as getElement, h } from './index-42701395.js';
2
+ import { c as classNames } from './index-72ac5051.js';
3
+ import { i as inheritAriaAttributes } from './attributes-9419ac39.js';
4
+ import { i as idGenerator } from './utils-cca2a41a.js';
5
+ import { o as opensInNewTab, v as visuallyHiddenAssistiveText } from './linkUtils-3d1b28cf.js';
6
+
7
+ const dsLinkCss = ":root{--ds-breakpoint-xSmall:20rem;--ds-breakpoint-small:30rem;--ds-breakpoint-medium:60rem;--ds-breakpoint-large:75rem;--ds-breakpoint-xLarge:90rem}:root{--ds-borderWidth-none:0px;--ds-borderWidth-hairline:1px;--ds-borderWidth-thin:2px;--ds-borderWidth-thick:4px;--ds-borderWidth-xThick:8px;--ds-borderRadius-none:0px}:root{--ds-breakpoint-xSmall:20rem;--ds-breakpoint-small:30rem;--ds-breakpoint-medium:60rem;--ds-breakpoint-large:75rem;--ds-breakpoint-xLarge:90rem}:root{--ds-fontFamily-heading:\"Open Sans\", sans-serif;--ds-fontFamily-body:\"Open Sans\", sans-serif;--ds-fontSize-12:12px;--ds-fontSize-14:14px;--ds-fontSize-16:16px;--ds-fontSize-18:18px;--ds-fontSize-20:20px;--ds-fontSize-22:22px;--ds-fontSize-24:24px;--ds-fontSize-26:26px;--ds-fontSize-30:30px;--ds-fontSize-32:32px;--ds-fontSize-36:36px;--ds-fontSize-40:40px;--ds-fontSize-48:48px;--ds-fontSize-56:56px;--ds-fontSize-64:64px;--ds-fontWeight-regular:400;--ds-fontWeight-semibold:600;--ds-fontWeight-semiboldPlus:650;--ds-fontWeight-bold:700;--ds-letterSpacing-xTight:-2;--ds-letterSpacing-tight:-1.4;--ds-letterSpacing-normal:-0.4;--ds-letterSpacing-wide:0;--ds-letterSpacing-xWide:0.4;--ds-lineHeight-small:1;--ds-lineHeight-medium:1.2;--ds-lineHeight-large:1.5;--ds-lineHeight-xLarge:1.75;--ds-fontWidth-normal:100;--ds-fontWidth-condense:90;--ds-number-style:proportional-figures;}@supports (font-variation-settings: normal){:root{--ds-fontFamily-heading:\"Open Sans Variable\", sans-serif;--ds-fontFamily-body:\"Open Sans Variable\", sans-serif}}:root{--ds-breakpoint-xSmall:20rem;--ds-breakpoint-small:30rem;--ds-breakpoint-medium:60rem;--ds-breakpoint-large:75rem;--ds-breakpoint-xLarge:90rem}.ds-bodyText--2xLarge{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--2xLarge{font-size:var(--ds-fontSize-22)}}.ds-bodyText--xLarge{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--xLarge{font-size:var(--ds-fontSize-20)}}.ds-bodyText--large{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--large{font-size:var(--ds-fontSize-18)}}.ds-bodyText--medium{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--medium{font-size:var(--ds-fontSize-16)}}.ds-bodyText--small{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-12);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--small{font-size:var(--ds-fontSize-14)}}:host{display:inline-block}.ds-link{display:inline-flex;align-items:center;color:var(--ds-textColor-link);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:7%;text-underline-offset:12%;text-underline-position:from-font}.ds-link:focus-visible,.ds-link:focus-within{box-shadow:0 0 0 var(--ds-borderWidth-thin) var(--ds-borderColor-white);outline-color:var(--ds-borderColor-black);outline-offset:var(--ds-borderWidth-thin);outline-style:solid;outline-width:var(--ds-borderWidth-thin)}.ds-link--semibold{font-weight:var(--ds-fontWeight-semibold)}.ds-link--bold{font-weight:var(--ds-fontWeight-bold)}.ds-link__icon{height:1em;width:1em}.ds-link__icon--start-inline{margin-right:var(--ds-spacing-3xSmall)}.ds-link__icon--start-standalone{margin-right:var(--ds-spacing-2xSmall)}.ds-link__icon--end-inline{margin-left:var(--ds-spacing-3xSmall)}.ds-link__icon--end-standalone{margin-left:var(--ds-spacing-2xSmall)}.ds-link:hover,.ds-link:active{text-decoration-thickness:13%;text-underline-offset:12%}.ds-link:hover{color:var(--ds-textColor-link-hover)}.ds-link:active{color:var(--ds-textColor-link-active)}.ds-link:visited{color:var(--ds-textColor-link-visited)}.ds-link--standalone{color:var(--ds-textColor-link);text-decoration-line:none}.ds-link--standalone:hover,.ds-link--standalone:active{text-decoration-line:underline}.ds-link--standalone:hover{color:var(--ds-textColor-link-hover)}.ds-link--standalone:active{color:var(--ds-textColor-link-active)}.ds-link--standalone:focus-visible{color:var(--ds-textColor-link)}.ds-link--standalone:visited{color:var(--ds-textColor-link)}";
8
+ const DsLinkStyle0 = dsLinkCss;
9
+
10
+ const visuallyHiddenAssistiveTextIdGenerator = idGenerator('visually-hidden-assistive-text');
11
+ const DsLink = class {
12
+ constructor(hostRef) {
13
+ registerInstance(this, hostRef);
14
+ }
15
+ inheritedAttributes = {};
16
+ rel;
17
+ visuallyHiddenAssistiveTextId = visuallyHiddenAssistiveTextIdGenerator.next().value;
18
+ get el() { return getElement(this); }
19
+ text;
20
+ size;
21
+ variant = 'inline';
22
+ weight = 'regular';
23
+ icon = '';
24
+ iconPosition = 'end';
25
+ href;
26
+ target;
27
+ download;
28
+ language;
29
+ componentWillLoad() {
30
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
31
+ if (opensInNewTab(this.target)) {
32
+ this.icon = 'open_in_new';
33
+ this.iconPosition = 'end';
34
+ this.rel = 'noopener noreferrer';
35
+ }
36
+ }
37
+ render() {
38
+ const classes = classNames('ds-link', `ds-link--${this.weight}`, `ds-link--${this.variant}`, {
39
+ [`bodyText--${this.size}`]: Boolean(this.size),
40
+ });
41
+ const iconClasses = classNames('ds-link__icon', {
42
+ [`ds-link__icon--start-${this.variant}`]: this.iconPosition === 'start',
43
+ [`ds-link__icon--end-${this.variant}`]: this.iconPosition === 'end',
44
+ });
45
+ return (h("a", { key: 'd8922731378178b2c927796fdc636fc26d4cbaea', href: this.href, class: classes, rel: this.rel, target: this.target, download: this.download, ...this.inheritedAttributes }, h("slot", { key: 'dfbd079b80132f7751501da7e47bb0f1aec4590a', name: "iconStart" }, this.icon && this.iconPosition === 'start' && h("ds-icon", { key: '2b3d864df8c04b340b0251c9ac185be918f7bb16', name: this.icon, class: iconClasses, size: "1em" })), this.text, h("slot", { key: '2fc2e4a3be8b83d545b27ae19096ffc5fbb72c0e', name: "iconEnd" }, this.icon && this.iconPosition === 'end' && h("ds-icon", { key: '9592ce7c0222bd3c739943fb9b6a37b92e67618c', name: this.icon, class: iconClasses, size: "1em" })), opensInNewTab(this.target) && (h("ds-visually-hidden", { key: '43c55dded281f4e3a084ceb64edf695707309494', id: this.visuallyHiddenAssistiveTextId }, visuallyHiddenAssistiveText(this.language ?? document.documentElement.lang)))));
46
+ }
47
+ };
48
+ DsLink.style = DsLinkStyle0;
49
+
50
+ export { DsLink as ds_link };
@@ -1,14 +1,8 @@
1
- import { r as registerInstance, h, F as Fragment } from './index-4200d514.js';
1
+ import { r as registerInstance, h, F as Fragment } from './index-42701395.js';
2
2
  import { c as classNames } from './index-72ac5051.js';
3
+ import { i as idGenerator } from './utils-cca2a41a.js';
3
4
 
4
- function* idGenerator(id) {
5
- let currentId = 1;
6
- while (true) {
7
- yield `${id}-${currentId++}`;
8
- }
9
- }
10
-
11
- const dsTextInputCss = ".sc-ds-text-input:root{--ds-breakpoint-xSmall:20rem;--ds-breakpoint-small:30rem;--ds-breakpoint-medium:60rem;--ds-breakpoint-large:75rem;--ds-breakpoint-xLarge:90rem}.sc-ds-text-input-h{display:block;width:288px}@media (min-width: 75rem){.sc-ds-text-input-h{width:320px}}.label-container.sc-ds-text-input{margin-block-end:var(--ds-spacing-2xSmall)}.label-container.sc-ds-text-input label.sc-ds-text-input{font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-semibold);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large);color:var(--ds-textColor-default)}.label-container.sc-ds-text-input label.required.sc-ds-text-input::after{content:\" *\";color:var(--ds-textColor-secondary)}.label-container.sc-ds-text-input small.sc-ds-text-input{font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large);display:block;margin-block-start:var(--ds-spacing-3xSmall);color:var(--ds-textColor-secondary)}.input-container.sc-ds-text-input{box-sizing:border-box;width:100%;display:inline-flex;position:relative;align-items:center;border-width:var(--ds-borderWidth-thin);border-style:solid;border-color:var(--ds-borderColor-default);padding-inline:var(--ds-spacing-xSmall)}.input-container.invalid.sc-ds-text-input{background-color:var(--ds-palette-danger-light);border-color:var(--ds-borderColor-danger)}.input-container.valid.sc-ds-text-input{background-color:var(--ds-palette-success-light);border-color:var(--ds-borderColor-success)}.input-container.readonly.sc-ds-text-input,.input-container.disabled.sc-ds-text-input{background-color:var(--ds-bgColor-disabled-onLight);border-color:var(--ds-borderColor-disabled-onLight)}.input-container.sc-ds-text-input:has(input:active){outline:none}.input-container.sc-ds-text-input:has(input:active):not:has(input:disabled,input.sc-ds-text-input:readonly){border-color:var(--ds-borderColor-primary)}.input-container.active.sc-ds-text-input:not(.input-container.disabled,.input-container.readonly).sc-ds-text-input{border-color:var(--ds-borderColor-primary)}.input-container.sc-ds-text-input:hover:not(.input-container.disabled,.input-container.readonly.sc-ds-text-input,.input-container.active).sc-ds-text-input{border-color:var(--ds-borderColor-black)}.input-container.sc-ds-text-input:focus-within{outline-width:var(--ds-borderWidth-thin);outline-offset:1px;outline-style:solid;outline-color:var(--ds-palette-black)}.input-container.sc-ds-text-input:focus-within:not(.input-container:focus-within.invalid,.input-container.sc-ds-text-input:focus-within.valid,.input-container.sc-ds-text-input:focus-within.readonly){border-color:var(--ds-borderColor-primary)}.input-container.sc-ds-text-input:focus-within *.sc-ds-text-input>ds-button.suffix.sc-ds-text-input>button.sc-ds-text-input:focus-visible{background-clip:padding-box;outline-offset:-5px;box-shadow:none;height:var(--ds-spacing-xLarge);background-color:var(--ds-bgColor-transparent-onLight-hover)}.input-container.sc-ds-text-input>input.sc-ds-text-input{font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large);width:100%;box-sizing:border-box;background-color:unset;flex-grow:1;height:var(--ds-spacing-xLarge);line-height:var(--ds-fontSize-24);color:var(--ds-textColor-default);padding-block:var(--ds-spacing-4xSmall);border:none}.input-container.sc-ds-text-input>input.sc-ds-text-input:disabled{color:var(--ds-textColor-disabled-onLight)}.input-container.sc-ds-text-input>input.sc-ds-text-input:disabled::placeholder{color:var(--ds-textColor-disabled-onLight)}.input-container.sc-ds-text-input>input.sc-ds-text-input::placeholder{font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large);color:var(--ds-textColor-secondary)}.input-container.sc-ds-text-input>input.sc-ds-text-input:focus{outline:none;border:none}.input-container.sc-ds-text-input>input[type=number].sc-ds-text-input{-moz-appearance:textfield}.input-container.sc-ds-text-input>input.sc-ds-text-input::-webkit-search-decoration,.input-container.sc-ds-text-input>input.sc-ds-text-input::-webkit-search-cancel-button,.input-container.sc-ds-text-input>input.sc-ds-text-input::-webkit-search-results-button,.input-container.sc-ds-text-input>input.sc-ds-text-input::-webkit-search-results-decoration,.input-container.sc-ds-text-input>input.sc-ds-text-input::-webkit-inner-spin-button,.input-container.sc-ds-text-input>input.sc-ds-text-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-container.sc-ds-text-input:has(span.prefix,ds-icon.prefix).sc-ds-text-input{padding-inline-start:var(--ds-spacing-2xSmall)}.input-container.sc-ds-text-input:has(span.prefix,ds-icon.prefix).sc-ds-text-input>input.sc-ds-text-input{padding-inline-start:var(--ds-spacing-2xSmall)}.input-container.sc-ds-text-input:has(ds-button.suffix){padding-inline-end:unset}.input-container.sc-ds-text-input span.prefix.sc-ds-text-input,.input-container.sc-ds-text-input span.suffix.sc-ds-text-input{color:var(--ds-palette-black-70)}.input-container.sc-ds-text-input ds-icon.prefix.sc-ds-text-input,.input-container.sc-ds-text-input-s>[slot=prefix],.input-container .sc-ds-text-input-s>[slot=prefix]{height:1.5rem;color:var(--ds-textColor-default)}.input-container.sc-ds-text-input ds-button.suffix.sc-ds-text-input{margin-top:calc(var(--ds-spacing-3xSmall) * -1);margin-right:calc(var(--ds-spacing-4xSmall) * -1);max-height:40px}.error-text-container.sc-ds-text-input,.success-text-container.sc-ds-text-input{display:flex;align-items:center;margin-top:var(--ds-spacing-2xSmall);gap:var(--ds-spacing-2xSmall)}.error-text-container.sc-ds-text-input ds-icon.sc-ds-text-input,.success-text-container.sc-ds-text-input ds-icon.sc-ds-text-input{display:block;height:1.5rem}.error-text-container.sc-ds-text-input small.sc-ds-text-input,.success-text-container.sc-ds-text-input small.sc-ds-text-input{font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}.error-text-container.sc-ds-text-input{color:var(--ds-textColor-danger)}.success-text-container.sc-ds-text-input{color:var(--ds-textColor-success)}";
5
+ const dsTextInputCss = ".sc-ds-text-input:root{--ds-breakpoint-xSmall:20rem;--ds-breakpoint-small:30rem;--ds-breakpoint-medium:60rem;--ds-breakpoint-large:75rem;--ds-breakpoint-xLarge:90rem}.sc-ds-text-input-h{display:block;width:288px}@media (min-width: 75rem){.sc-ds-text-input-h{width:320px}}.ds-input--label-container.sc-ds-text-input{margin-block-end:var(--ds-spacing-2xSmall)}.ds-input--label-container.sc-ds-text-input label.sc-ds-text-input{font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-semibold);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large);color:var(--ds-textColor-default)}.ds-input--label-container.sc-ds-text-input label.required.sc-ds-text-input::after{content:\" *\";color:var(--ds-textColor-secondary)}.ds-input--label-container.sc-ds-text-input label.optional.sc-ds-text-input::after{content:\" (\" attr(data-optional-text, \"optional\") \")\";color:var(--ds-textColor-secondary);font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-regular)}.ds-input--label-container.sc-ds-text-input small.sc-ds-text-input{font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large);display:block;margin-block-start:var(--ds-spacing-3xSmall);color:var(--ds-textColor-secondary)}.ds-input--container.sc-ds-text-input{box-sizing:border-box;width:100%;display:inline-flex;position:relative;align-items:center;border-width:var(--ds-borderWidth-thin);border-style:solid;border-color:var(--ds-borderColor-default);padding-inline:var(--ds-spacing-xSmall)}.ds-input--container.sc-ds-text-input:focus-visible,.ds-input--container.sc-ds-text-input:focus-within{box-shadow:0 0 0 var(--ds-borderWidth-thin) var(--ds-borderColor-white);outline-color:var(--ds-borderColor-black);outline-offset:var(--ds-borderWidth-thin);outline-style:solid;outline-width:var(--ds-borderWidth-thin)}.ds-input--container.invalid.sc-ds-text-input{background-color:var(--ds-bgColor-danger);border-color:var(--ds-borderColor-danger)}.ds-input--container.invalid.sc-ds-text-input:hover:not(.ds-input--container.invalid:focus-within){background-color:var(--ds-bgColor-danger-hover);border-color:var(--ds-borderColor-danger)}.ds-input--container.invalid.active.sc-ds-text-input{background-color:var(--ds-bgColor-danger-active);border-color:var(--ds-borderColor-danger)}.ds-input--container.valid.sc-ds-text-input{background-color:var(--ds-bgColor-success);border-color:var(--ds-borderColor-success)}.ds-input--container.valid.sc-ds-text-input:hover:not(.ds-input--container.valid:focus-within){background-color:var(--ds-bgColor-success-hover);border-color:var(--ds-borderColor-success)}.ds-input--container.valid.active.sc-ds-text-input{background-color:var(--ds-bgColor-success-active);border-color:var(--ds-borderColor-success)}.ds-input--container.readonly.sc-ds-text-input,.ds-input--container.disabled.sc-ds-text-input{background-color:var(--ds-bgColor-disabled-onLight);border-color:var(--ds-borderColor-disabled-onLight)}.ds-input--container.sc-ds-text-input:has(input:active){outline:none}.ds-input--container.sc-ds-text-input:has(input:active):not:has(input:disabled,input.sc-ds-text-input:readonly){border-color:var(--ds-borderColor-default)}.ds-input--container.active.sc-ds-text-input:not(.ds-input--container.disabled,.ds-input--container.readonly.sc-ds-text-input,.ds-input--container.invalid.sc-ds-text-input,.ds-input--container.valid).sc-ds-text-input{border-color:var(--ds-borderColor-default);background-color:var(--ds-bgColor-white-active)}.ds-input--container.sc-ds-text-input:hover:not(.ds-input--container.disabled,.ds-input--container.readonly.sc-ds-text-input,.ds-input--container.active.sc-ds-text-input,.ds-input--container.invalid.sc-ds-text-input,.ds-input--container.valid.sc-ds-text-input,.ds-input--container.sc-ds-text-input:focus-within){border-color:var(--ds-borderColor-default);background-color:var(--ds-bgColor-white-hover)}.ds-input--container.sc-ds-text-input:focus-within:not(.ds-input--container:focus-within.invalid,.ds-input--container.sc-ds-text-input:focus-within.valid,.ds-input--container.sc-ds-text-input:focus-within.readonly){border-color:var(--ds-borderColor-primary)}.ds-input--container.sc-ds-text-input:focus-within *.sc-ds-text-input>ds-button.suffix.sc-ds-text-input>button.sc-ds-text-input:focus-visible{background-clip:padding-box;outline-offset:-5px;box-shadow:none;height:var(--ds-spacing-xLarge);background-color:var(--ds-bgColor-transparent-onLight-hover)}.ds-input--container.sc-ds-text-input>input.sc-ds-text-input{font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large);width:100%;box-sizing:border-box;background-color:unset;flex-grow:1;height:var(--ds-spacing-xLarge);line-height:var(--ds-fontSize-24);color:var(--ds-textColor-default);border:none;padding-block:var(--ds-spacing-4xSmall)}.ds-input--container.sc-ds-text-input>input.sc-ds-text-input:disabled{color:var(--ds-textColor-disabled-onLight)}.ds-input--container.sc-ds-text-input>input.sc-ds-text-input:disabled::placeholder{color:var(--ds-textColor-disabled-onLight)}.ds-input--container.sc-ds-text-input>input.sc-ds-text-input::placeholder{font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large);color:var(--ds-textColor-secondary)}.ds-input--container.sc-ds-text-input>input.sc-ds-text-input:focus{outline:none;border:none}.ds-input--container.sc-ds-text-input>input[type=number].sc-ds-text-input{-moz-appearance:textfield}.ds-input--container.sc-ds-text-input>input.sc-ds-text-input::-webkit-search-decoration,.ds-input--container.sc-ds-text-input>input.sc-ds-text-input::-webkit-search-cancel-button,.ds-input--container.sc-ds-text-input>input.sc-ds-text-input::-webkit-search-results-button,.ds-input--container.sc-ds-text-input>input.sc-ds-text-input::-webkit-search-results-decoration,.ds-input--container.sc-ds-text-input>input.sc-ds-text-input::-webkit-inner-spin-button,.ds-input--container.sc-ds-text-input>input.sc-ds-text-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ds-input--container.sc-ds-text-input:has(span.prefix,ds-icon.prefix).sc-ds-text-input{padding-inline-start:var(--ds-spacing-2xSmall)}.ds-input--container.sc-ds-text-input:has(span.prefix,ds-icon.prefix).sc-ds-text-input>input.sc-ds-text-input{padding-inline-start:var(--ds-spacing-2xSmall)}.ds-input--container.sc-ds-text-input:has(ds-button.suffix){padding-inline-end:unset}.ds-input--container.sc-ds-text-input span.prefix.sc-ds-text-input,.ds-input--container.sc-ds-text-input span.suffix.sc-ds-text-input{color:var(--ds-palette-black-70)}.ds-input--container.sc-ds-text-input ds-icon.prefix.sc-ds-text-input,.ds-input--container.sc-ds-text-input-s>[slot=prefix],.ds-input--container .sc-ds-text-input-s>[slot=prefix]{height:1.5rem;color:var(--ds-textColor-default)}.ds-input--container.sc-ds-text-input ds-button.suffix.sc-ds-text-input{margin-top:calc(var(--ds-spacing-3xSmall) * -1);margin-right:calc(var(--ds-spacing-4xSmall) * -1);max-height:40px}.error-text--container.sc-ds-text-input,.success-text--container.sc-ds-text-input{display:flex;align-items:center;margin-top:var(--ds-spacing-2xSmall);gap:var(--ds-spacing-2xSmall)}.error-text--container.sc-ds-text-input ds-icon.sc-ds-text-input,.success-text--container.sc-ds-text-input ds-icon.sc-ds-text-input{display:block;height:1.5rem}.error-text--container.sc-ds-text-input small.sc-ds-text-input,.success-text--container.sc-ds-text-input small.sc-ds-text-input{font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}.error-text--container.sc-ds-text-input{color:var(--ds-textColor-danger)}.success-text--container.sc-ds-text-input{color:var(--ds-textColor-success)}";
12
6
  const DsTextInputStyle0 = dsTextInputCss;
13
7
 
14
8
  const INPUT_TYPE_ICONS_MAP = {
@@ -37,6 +31,7 @@ const DsTextInput = class {
37
31
  dsId = 'input';
38
32
  name;
39
33
  disabled;
34
+ optional;
40
35
  required;
41
36
  readonly;
42
37
  value;
@@ -45,6 +40,7 @@ const DsTextInput = class {
45
40
  maxlength;
46
41
  pattern;
47
42
  autocomplete;
43
+ optionalText;
48
44
  errorText;
49
45
  successText;
50
46
  assistiveText;
@@ -85,7 +81,7 @@ const DsTextInput = class {
85
81
  const text = type === 'success' ? this.successText : this.errorText;
86
82
  const icon = type === 'success' ? 'check_circle_fill' : 'warning_fill';
87
83
  const className = type + '-text';
88
- return (h("slot", { name: className }, text && (h("div", { class: `${className}-container` }, h("ds-icon", { name: icon }), h("small", { id: textId, class: className }, text)))));
84
+ return (h("slot", { name: className }, text && (h("div", { class: `${className}--container` }, h("ds-icon", { name: icon }), h("small", { id: textId, class: className }, text)))));
89
85
  }
90
86
  renderPrefixContent() {
91
87
  if (this.prefixText) {
@@ -115,14 +111,14 @@ const DsTextInput = class {
115
111
  }
116
112
  render() {
117
113
  const inputType = this.type === 'password' && this.passwordInputVisible ? 'text' : this.type;
118
- return (h(Fragment, { key: 'b36b842382f0f0635c5372a856b140f05f7f5cff' }, h("div", { key: '4cedfdd4a891b8317f8b948824c5fe18b8f2c345', class: "label-container" }, h("slot", { key: '5072f7cab04c4c6dcf3bc2a72f88c83f3da5c74b', name: "label" }, h("label", { key: '513249ab30b24df9ad204ec533eb5b0714a5b36e', class: classNames({ required: this.required }), htmlFor: this.dsId }, this.label)), h("slot", { key: 'c3e05ad3e51365c7e8df7a276b4fc089af4edba7', name: "help-text" }, h("small", { key: 'fdf1904fe96fd22b4ba650e693db0d3fcecdf33a', id: this.assistiveTextId }, this.assistiveText), h("ds-visually-hidden", { key: 'd9726a8a031a786169ff47a809f8309117d00eaa', id: this.visuallyHiddenAssistiveTextId }, this.hiddenAssistiveText))), h("div", { key: 'c0fb788b2f35f478015169d2fc558885fc9c205a', onMouseDown: () => (this.inputActive = true), onMouseUp: () => (this.inputActive = false), onClick: e => this.handleInputContainerClick(e), class: classNames('input-container', {
114
+ return (h(Fragment, { key: 'fe9d038685d4912e0b760bed83e21a6ae8582535' }, h("div", { key: '4c4a662fcbcbf2c9a04986ad44b018736c8ba0d7', class: "ds-input--label-container" }, h("slot", { key: '8fea3c6a05e3f5314eae43c2f2eeedc47735278a', name: "label" }, h("label", { key: '33aa9fa1ab0eba6c36b0e882d8a71000a2a2ff40', "data-optional-text": this.optionalText, class: classNames({ required: this.required, optional: this.optional }), htmlFor: this.dsId }, this.label)), h("slot", { key: '13f7adf5a85a2f2d8d5f3e7b829ff86707f75a3d', name: "help-text" }, h("small", { key: '3595ee7deb43919aeabb938a2f0cc0ce78ca181d', id: this.assistiveTextId }, this.assistiveText), h("ds-visually-hidden", { key: '001fd7a38ef2034f7e650e86d00d5a30ee217c17', id: this.visuallyHiddenAssistiveTextId }, this.hiddenAssistiveText))), h("div", { key: 'ec9f2c0d6ff40bd6c8a4618ec238e966a0756c19', onMouseDown: () => (this.inputActive = true), onMouseUp: () => (this.inputActive = false), onClick: e => this.handleInputContainerClick(e), class: classNames('ds-input--container', {
119
115
  disabled: this.disabled,
120
116
  readonly: this.readonly,
121
117
  valid: !!this.successText,
122
118
  invalid: !!this.errorText,
123
119
  focus: this.hasFocus,
124
120
  active: !!this.inputActive,
125
- }) }, this.renderPrefixContent(), h("input", { key: 'adb2aa8a54d45aeeca8e209f0c0a28d2aa0141f8', ref: e => (this.inputElement = e), id: this.dsId, name: this.name, "aria-label": this.ariaLabel, "aria-labelledby": this.ariaLabelledBy, "aria-describedby": this.ariaDescribedby ||
121
+ }) }, this.renderPrefixContent(), h("input", { key: '1cd22b415c330cb50c4c9663f6dec3a1e99e256b', ref: e => (this.inputElement = e), id: this.dsId, name: this.name, "aria-label": this.ariaLabel, "aria-labelledby": this.ariaLabelledBy, "aria-describedby": this.ariaDescribedby ||
126
122
  classNames(this.assistiveTextId, this.visuallyHiddenAssistiveTextId, {
127
123
  [this.successTextId]: this.successText,
128
124
  [this.errorTextId]: this.errorText,
@@ -0,0 +1,16 @@
1
+ import { r as registerInstance, h } from './index-42701395.js';
2
+
3
+ const dsVisuallyHiddenCss = ":host{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}";
4
+ const DsVisuallyHiddenStyle0 = dsVisuallyHiddenCss;
5
+
6
+ const DsVisuallyHidden = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ }
10
+ render() {
11
+ return (h("slot", { key: '3a7edab043d1612c06a4eb6fedacec27216f3be3' }));
12
+ }
13
+ };
14
+ DsVisuallyHidden.style = DsVisuallyHiddenStyle0;
15
+
16
+ export { DsVisuallyHidden as ds_visually_hidden };
@@ -1,8 +1,8 @@
1
1
  const NAMESPACE = 'component-library';
2
- const BUILD = /* component-library */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, modernPropertyDecls: true, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: false, scoped: true, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
2
+ const BUILD = /* component-library */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, modernPropertyDecls: true, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: false, scoped: true, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
3
3
 
4
4
  /*
5
- Stencil Client Platform v4.25.1 | MIT Licensed | https://stenciljs.com
5
+ Stencil Client Platform v4.26.0 | MIT Licensed | https://stenciljs.com
6
6
  */
7
7
  var __defProp = Object.defineProperty;
8
8
  var __export = (target, all) => {
@@ -483,7 +483,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
483
483
  styleContainerNode.append(styleElm);
484
484
  }
485
485
  }
486
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
486
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
487
487
  styleContainerNode.insertBefore(styleElm, null);
488
488
  }
489
489
  }
@@ -508,7 +508,7 @@ var attachStyles = (hostRef) => {
508
508
  const scopeId2 = addStyle(
509
509
  elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
510
510
  cmpMeta);
511
- if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
511
+ if ((flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */ || flags & 128 /* shadowNeedsScopedCss */)) {
512
512
  elm["s-sc"] = scopeId2;
513
513
  elm.classList.add(scopeId2 + "-h");
514
514
  }
@@ -1010,13 +1010,13 @@ var insertBefore = (parent, newNode, reference) => {
1010
1010
  }
1011
1011
  };
1012
1012
  function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
1013
- var _a;
1013
+ var _a, _b;
1014
1014
  let scopeId2;
1015
1015
  if (reference && typeof slotNode["s-sn"] === "string" && !!slotNode["s-sr"] && reference.parentNode && reference.parentNode["s-sc"] && (scopeId2 = slotNode["s-si"] || reference.parentNode["s-sc"])) {
1016
1016
  const scopeName = slotNode["s-sn"];
1017
1017
  const hostName = slotNode["s-hn"];
1018
1018
  (_a = newParent.classList) == null ? void 0 : _a.add(scopeId2 + "-s");
1019
- if (oldParent && oldParent.classList.contains(scopeId2 + "-s")) {
1019
+ if (oldParent && ((_b = oldParent.classList) == null ? void 0 : _b.contains(scopeId2 + "-s"))) {
1020
1020
  let child = (oldParent.__childNodes || oldParent.childNodes)[0];
1021
1021
  let found = false;
1022
1022
  while (child) {
@@ -1051,7 +1051,7 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1051
1051
  {
1052
1052
  scopeId = hostElm["s-sc"];
1053
1053
  }
1054
- useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
1054
+ useNativeShadowDom = !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && !(cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */);
1055
1055
  {
1056
1056
  contentRef = hostElm["s-cr"];
1057
1057
  checkSlotFallbackVisibility = false;
@@ -1259,9 +1259,6 @@ var postUpdateComponent = (hostRef) => {
1259
1259
  }
1260
1260
  };
1261
1261
  var appDidLoad = (who) => {
1262
- {
1263
- addHydratedFlag(doc.documentElement);
1264
- }
1265
1262
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
1266
1263
  };
1267
1264
  var safeCall = (instance, method, arg, elm) => {
@@ -1457,7 +1454,8 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1457
1454
  let Cstr;
1458
1455
  if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
1459
1456
  hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1460
- {
1457
+ const bundleId = cmpMeta.$lazyBundleId$;
1458
+ if (bundleId) {
1461
1459
  const CstrImport = loadModule(cmpMeta, hostRef);
1462
1460
  if (CstrImport && "then" in CstrImport) {
1463
1461
  const endLoad = uniqueTime();
@@ -1492,6 +1490,10 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1492
1490
  hostRef.$flags$ |= 128 /* isWatchReady */;
1493
1491
  }
1494
1492
  endNewInstance();
1493
+ } else {
1494
+ Cstr = elm.constructor;
1495
+ const cmpTag = elm.localName;
1496
+ customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
1495
1497
  }
1496
1498
  if (Cstr && Cstr.style) {
1497
1499
  let style;
@@ -1662,6 +1664,10 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1662
1664
  plt.raf(() => {
1663
1665
  var _a3;
1664
1666
  const hostRef = getHostRef(this);
1667
+ const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
1668
+ if (i2 > -1) {
1669
+ deferredConnectedCallbacks.splice(i2, 1);
1670
+ }
1665
1671
  if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
1666
1672
  delete hostRef.$vnode$.$elm$;
1667
1673
  }
@@ -0,0 +1,13 @@
1
+ const opensInNewTab = (target) => target === '_blank';
2
+ const visuallyHiddenAssistiveText = (lang) => {
3
+ switch (lang) {
4
+ case 'fi':
5
+ return 'Avautuu uuteen välilehteen';
6
+ case 'sv':
7
+ return 'Öppnas i en ny flik';
8
+ default:
9
+ return 'Opens in a new tab';
10
+ }
11
+ };
12
+
13
+ export { opensInNewTab as o, visuallyHiddenAssistiveText as v };
@@ -1,11 +1,11 @@
1
- import { b as bootstrapLazy } from './index-4200d514.js';
2
- export { s as setNonce } from './index-4200d514.js';
1
+ import { b as bootstrapLazy } from './index-42701395.js';
2
+ export { s as setNonce } from './index-42701395.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["ds-accordion_2",[[1,"ds-accordion",{"variant":[1],"borderAligned":[4,"border-aligned"],"openByDefault":[4,"open-by-default"],"accordionId":[1,"accordion-id"],"headingLevel":[2,"heading-level"],"useCloseButton":[4,"use-close-button"],"closeButtonLabel":[1,"close-button-label"],"isExpanded":[32]},null,{"isExpanded":["watchHandler"]}],[1,"ds-icon",{"name":[1],"colour":[1],"size":[1],"title":[1],"role":[1],"hidden":[4],"message":[32]}]]],["ds-button_2",[[6,"ds-button",{"value":[1],"variant":[1],"colour":[1],"size":[1],"fontWeight":[1,"font-weight"],"icon":[1],"iconPosition":[1,"icon-position"],"type":[1],"disabled":[4],"ariaDisabled":[1,"aria-disabled"]}],[1,"ds-visually-hidden"]]],["ds-text-input",[[6,"ds-text-input",{"label":[1],"placeholder":[1],"dsId":[1,"ds-id"],"name":[1],"disabled":[4],"required":[4],"readonly":[4],"value":[1],"min":[2],"max":[2],"maxlength":[2],"pattern":[1],"autocomplete":[1],"errorText":[1,"error-text"],"successText":[1,"success-text"],"assistiveText":[1,"assistive-text"],"actionButtonAriaLabel":[1,"action-button-aria-label"],"hiddenAssistiveText":[1,"hidden-assistive-text"],"prefixText":[1,"prefix-text"],"suffixText":[1,"suffix-text"],"icon":[1],"type":[1],"ariaLabel":[1,"aria-label"],"ariaLabelledBy":[1,"aria-labelledby"],"ariaDescribedby":[1,"aria-describedby"],"hasFocus":[32],"clearButtonVisible":[32],"passwordInputVisible":[32],"inputActive":[32],"togglePasswordVisibility":[64],"clearInput":[64]}]]]], options);
8
+ return bootstrapLazy([["ds-visually-hidden",[[1,"ds-visually-hidden"]]],["ds-accordion_3",[[1,"ds-accordion",{"variant":[1],"borderAligned":[4,"border-aligned"],"openByDefault":[4,"open-by-default"],"accordionId":[1,"accordion-id"],"headingLevel":[2,"heading-level"],"useCloseButton":[4,"use-close-button"],"closeButtonLabel":[1,"close-button-label"],"hideTopBorder":[4,"hide-top-border"],"isExpanded":[32]},null,{"isExpanded":["watchHandler"]}],[6,"ds-button",{"value":[1],"variant":[1],"colour":[1],"size":[1],"fontWeight":[1,"font-weight"],"icon":[1],"iconPosition":[1,"icon-position"],"type":[1],"disabled":[4],"fullWidth":[4,"full-width"],"ariaDisabled":[1,"aria-disabled"]}],[1,"ds-icon",{"name":[1],"colour":[1],"size":[1],"dsTitle":[1,"title"],"role":[1],"hidden":[4],"message":[32]}]]],["ds-text-input",[[6,"ds-text-input",{"label":[1],"placeholder":[1],"dsId":[1,"id"],"name":[1],"disabled":[4],"optional":[4],"required":[4],"readonly":[4],"value":[1],"min":[2],"max":[2],"maxlength":[2],"pattern":[1],"autocomplete":[1],"optionalText":[1,"optional-text"],"errorText":[1,"error-text"],"successText":[1,"success-text"],"assistiveText":[1,"assistive-text"],"actionButtonAriaLabel":[1,"action-button-aria-label"],"hiddenAssistiveText":[1,"hidden-assistive-text"],"prefixText":[1,"prefix-text"],"suffixText":[1,"suffix-text"],"icon":[1],"type":[1],"ariaLabel":[1,"aria-label"],"ariaLabelledBy":[1,"aria-labelledby"],"ariaDescribedby":[1,"aria-describedby"],"hasFocus":[32],"clearButtonVisible":[32],"passwordInputVisible":[32],"inputActive":[32],"togglePasswordVisibility":[64],"clearInput":[64]}]]],["ds-link",[[1,"ds-link",{"text":[1],"size":[1],"variant":[1],"weight":[1],"icon":[1025],"iconPosition":[1025,"icon-position"],"href":[1],"target":[1],"download":[4],"language":[1,"lang"]}]]],["ds-link-with-arrow",[[1,"ds-link-with-arrow",{"text":[1],"iconPosition":[1,"icon-position"],"href":[1],"target":[1],"language":[1,"lang"]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -0,0 +1,8 @@
1
+ function* idGenerator(id) {
2
+ let currentId = 1;
3
+ while (true) {
4
+ yield `${id}-${currentId++}`;
5
+ }
6
+ }
7
+
8
+ export { idGenerator as i };
@@ -0,0 +1,5 @@
1
+ export declare const icons: {
2
+ name: string;
3
+ component: string;
4
+ category: string;
5
+ }[];
@@ -0,0 +1,9 @@
1
+ import '../_typography.scss';
2
+ import '../_base.scss';
3
+ import '../_headings.scss';
4
+ import '../_bodyText.scss';
5
+ import { Meta, StoryObj } from '@storybook/web-components';
6
+ declare const meta: Meta;
7
+ export default meta;
8
+ export declare const TokenClasses: StoryObj;
9
+ export declare const Typography: StoryObj;
@@ -6,10 +6,12 @@ export declare class DsAccordion {
6
6
  headingLevel: number;
7
7
  useCloseButton: boolean;
8
8
  closeButtonLabel: string;
9
+ hideTopBorder: boolean;
9
10
  isExpanded: boolean;
10
11
  host: HTMLElement;
11
12
  private headerButtonRef?;
12
13
  private shouldMoveFocus;
14
+ componentWillLoad(): void;
13
15
  watchHandler(isExpanded: boolean): void;
14
16
  private handleClick;
15
17
  private handleKeyDown;
@@ -6,3 +6,4 @@ type Story = StoryObj;
6
6
  export declare const WithLinkInBody: Story;
7
7
  export declare const WithInputInBody: Story;
8
8
  export declare const MultipleAccordions: Story;
9
+ export declare const LongTitles: Story;
@@ -12,6 +12,7 @@ export declare class DsButton {
12
12
  iconPosition: 'start' | 'end';
13
13
  type: 'button' | 'submit' | 'reset';
14
14
  disabled: boolean;
15
+ fullWidth: boolean;
15
16
  ariaDisabled: string;
16
17
  componentWillLoad(): void;
17
18
  private handleKeyDown;
@@ -4,3 +4,4 @@ declare const meta: Meta<typeof DsButton.prototype>;
4
4
  export default meta;
5
5
  export declare const ButtonGroup: StoryObj;
6
6
  export declare const ResetAndSubmitButton: StoryObj;
7
+ export declare const FullWidthWithIconsUsingSlots: StoryObj;
@@ -14,3 +14,6 @@ export declare const Small: Story;
14
14
  export declare const Disabled: Story;
15
15
  export declare const IconStart: Story;
16
16
  export declare const IconEnd: Story;
17
+ export declare const FullWidth: Story;
18
+ export declare const FullWidthWithStartIcon: Story;
19
+ export declare const FullWidthWithEndIcon: Story;
@@ -2,7 +2,7 @@ export declare class DsIcon {
2
2
  name: string;
3
3
  colour: string;
4
4
  size: string;
5
- title: string;
5
+ dsTitle: string;
6
6
  role: string;
7
7
  hidden: boolean;
8
8
  message: string;
@@ -0,0 +1,25 @@
1
+ type LinkSize = '2xLarge' | 'xLarge' | 'large' | 'medium' | 'small' | 'xSmall';
2
+ type LinkVariant = 'inline' | 'standalone';
3
+ type LinkWeight = 'regular' | 'semibold' | 'bold';
4
+ type LinkIconPosition = 'start' | 'end';
5
+ type LinkTarget = '_blank' | '_self' | '_parent' | '_top' | '_unfencedTop';
6
+ type LinkLang = 'fi' | 'sv' | 'en';
7
+ export declare class DsLink {
8
+ private inheritedAttributes;
9
+ private rel?;
10
+ private readonly visuallyHiddenAssistiveTextId;
11
+ el: HTMLElement;
12
+ text?: string;
13
+ size?: LinkSize;
14
+ variant: LinkVariant;
15
+ weight: LinkWeight;
16
+ icon: string;
17
+ iconPosition: LinkIconPosition;
18
+ href: string;
19
+ target?: LinkTarget;
20
+ download?: boolean;
21
+ language?: LinkLang;
22
+ componentWillLoad(): void;
23
+ render(): any;
24
+ }
25
+ export {};
@@ -0,0 +1,11 @@
1
+ import { Meta, StoryObj } from '@storybook/web-components';
2
+ import { DsLink } from '../ds-link';
3
+ declare const meta: Meta<typeof DsLink.prototype>;
4
+ export default meta;
5
+ type Story = StoryObj;
6
+ export declare const Inline: Story;
7
+ export declare const OpenInANewTab: Story;
8
+ export declare const Back: Story;
9
+ export declare const Download: Story;
10
+ export declare const StandaloneBoldLinkWithIcon: Story;
11
+ export declare const NavigationLink: Story;
@@ -0,0 +1,11 @@
1
+ import { Meta, StoryObj } from '@storybook/web-components';
2
+ import { DsLink } from '../ds-link';
3
+ declare const meta: Meta<typeof DsLink.prototype>;
4
+ export default meta;
5
+ type Story = StoryObj;
6
+ export declare const Inline: Story;
7
+ export declare const Standalone: Story;
8
+ export declare const Size: Story;
9
+ export declare const Weight: Story;
10
+ export declare const OpensInANewTab: Story;
11
+ export declare const IconPosition: Story;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/web-components';
2
+ import { DsLink } from '../ds-link';
3
+ declare const meta: Meta<typeof DsLink.prototype>;
4
+ export default meta;
5
+ type Story = StoryObj;
6
+ export declare const Default: Story;
7
+ export declare const Playground: Story;
@@ -0,0 +1,18 @@
1
+ type LinkIconPosition = 'start' | 'end';
2
+ type LinkTarget = '_blank' | '_self' | '_parent' | '_top' | '_unfencedTop';
3
+ type LinkLang = 'fi' | 'sv' | 'en';
4
+ export declare class DsLinkWithArrow {
5
+ private inheritedAttributes;
6
+ private icon;
7
+ private rel?;
8
+ private readonly visuallyHiddenAssistiveTextId;
9
+ el: HTMLElement;
10
+ text?: string;
11
+ iconPosition: LinkIconPosition;
12
+ href: string;
13
+ target?: LinkTarget;
14
+ language?: LinkLang;
15
+ componentWillLoad(): void;
16
+ render(): any;
17
+ }
18
+ export {};
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/web-components';
2
+ import { DsLinkWithArrow } from '../ds-link-with-arrow';
3
+ declare const meta: Meta<typeof DsLinkWithArrow.prototype>;
4
+ export default meta;
5
+ type Story = StoryObj;
6
+ export declare const OpenInANewTab: Story;
7
+ export declare const IconAtTheEnd: Story;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/web-components';
2
+ import { DsLinkWithArrow } from '../ds-link-with-arrow';
3
+ declare const meta: Meta<typeof DsLinkWithArrow.prototype>;
4
+ export default meta;
5
+ type Story = StoryObj;
6
+ export declare const IconPositionStart: Story;
7
+ export declare const IconPositionEnd: Story;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/web-components';
2
+ import { DsLinkWithArrow } from '../ds-link-with-arrow';
3
+ declare const meta: Meta<typeof DsLinkWithArrow.prototype>;
4
+ export default meta;
5
+ type Story = StoryObj;
6
+ export declare const Default: Story;
7
+ export declare const Playground: Story;
@@ -11,6 +11,7 @@ export declare class DsTextInput {
11
11
  dsId?: string;
12
12
  name: string;
13
13
  disabled?: boolean;
14
+ optional?: boolean;
14
15
  required?: boolean;
15
16
  readonly?: boolean;
16
17
  value?: string;
@@ -19,6 +20,7 @@ export declare class DsTextInput {
19
20
  maxlength?: number;
20
21
  pattern?: string;
21
22
  autocomplete?: string;
23
+ optionalText?: string;
22
24
  errorText?: string;
23
25
  successText?: string;
24
26
  assistiveText?: string;
@@ -1,7 +1,8 @@
1
1
  import { Meta, StoryObj } from '@storybook/web-components';
2
- import { DsTextInput } from './ds-text-input';
2
+ import { DsTextInput } from '../ds-text-input';
3
3
  declare const meta: Meta<typeof DsTextInput.prototype>;
4
4
  export default meta;
5
5
  type Story = StoryObj;
6
6
  export declare const CustomWidth: Story;
7
7
  export declare const UsingSlots: Story;
8
+ export declare const FormValidation: Story;
@@ -1,5 +1,5 @@
1
1
  import { Meta, StoryObj } from '@storybook/web-components';
2
- import { DsTextInput } from './ds-text-input';
2
+ import { DsTextInput } from '../ds-text-input';
3
3
  declare const meta: Meta<typeof DsTextInput.prototype>;
4
4
  export default meta;
5
5
  type Story = StoryObj;
@@ -8,6 +8,9 @@ export declare const WithAssistiveText: Story;
8
8
  export declare const Disabled: Story;
9
9
  export declare const ReadOnly: Story;
10
10
  export declare const Required: Story;
11
+ export declare const Optional: Story;
12
+ export declare const OptionalWithCustomText: Story;
13
+ export declare const MaxLength: Story;
11
14
  export declare const Valid: Story;
12
15
  export declare const Invalid: Story;
13
16
  export declare const WithIcon: Story;
@@ -1,5 +1,5 @@
1
1
  import { Meta, StoryObj } from '@storybook/web-components';
2
- import { DsTextInput } from './ds-text-input';
2
+ import { DsTextInput } from '../ds-text-input';
3
3
  declare const meta: Meta<typeof DsTextInput.prototype>;
4
4
  export default meta;
5
5
  type Story = StoryObj;